manual update from upstream:
[pandora-kernel.git] / arch / arm / mach-pxa / standby.S
1 /*
2  * PXA27x standby mode
3  *
4  * Author: David Burrage
5  *
6  * 2005 (c) MontaVista Software, Inc. This file is licensed under
7  * the terms of the GNU General Public License version 2. This program
8  * is licensed "as is" without any warranty of any kind, whether express
9  * or implied.
10  */
11
12 #include <linux/config.h>
13 #include <linux/linkage.h>
14 #include <asm/assembler.h>
15 #include <asm/hardware.h>
16
17 #include <asm/arch/pxa-regs.h>
18
19                 .text
20
21 ENTRY(pxa_cpu_standby)
22         ldr     r0, =PSSR
23         mov     r1, #(PSSR_PH | PSSR_STS)
24         mov     r2, #PWRMODE_STANDBY
25         mov     r3, #UNCACHED_PHYS_0    @ Read mem context in.
26         ldr     ip, [r3]
27         b       1f
28
29         .align  5
30 1:      mcr     p14, 0, r2, c7, c0, 0   @ put the system into Standby
31         str     r1, [r0]                @ make sure PSSR_PH/STS are clear
32         mov     pc, lr