Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
[linux-2.6] / 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/linkage.h>
13 #include <asm/assembler.h>
14 #include <asm/hardware.h>
15
16 #include <asm/arch/pxa-regs.h>
17
18                 .text
19
20 ENTRY(pxa_cpu_standby)
21         ldr     r0, =PSSR
22         mov     r1, #(PSSR_PH | PSSR_STS)
23         mov     r2, #PWRMODE_STANDBY
24         mov     r3, #UNCACHED_PHYS_0    @ Read mem context in.
25         ldr     ip, [r3]
26         b       1f
27
28         .align  5
29 1:      mcr     p14, 0, r2, c7, c0, 0   @ put the system into Standby
30         str     r1, [r0]                @ make sure PSSR_PH/STS are clear
31         mov     pc, lr