diff options
Diffstat (limited to 'arch/arm/mach-pxa/sleep.S')
-rw-r--r-- | arch/arm/mach-pxa/sleep.S | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/mach-pxa/sleep.S b/arch/arm/mach-pxa/sleep.S index 5786ccad938c..c9862688ff3d 100644 --- a/arch/arm/mach-pxa/sleep.S +++ b/arch/arm/mach-pxa/sleep.S | |||
@@ -28,7 +28,9 @@ | |||
28 | /* | 28 | /* |
29 | * pxa_cpu_suspend() | 29 | * pxa_cpu_suspend() |
30 | * | 30 | * |
31 | * Forces CPU into sleep state | 31 | * Forces CPU into sleep state. |
32 | * | ||
33 | * r0 = value for PWRMODE M field for desired sleep state | ||
32 | */ | 34 | */ |
33 | 35 | ||
34 | ENTRY(pxa_cpu_suspend) | 36 | ENTRY(pxa_cpu_suspend) |
@@ -53,6 +55,7 @@ ENTRY(pxa_cpu_suspend) | |||
53 | mov r10, sp | 55 | mov r10, sp |
54 | stmfd sp!, {r3 - r10} | 56 | stmfd sp!, {r3 - r10} |
55 | 57 | ||
58 | mov r5, r0 @ save sleep mode | ||
56 | @ preserve phys address of stack | 59 | @ preserve phys address of stack |
57 | mov r0, sp | 60 | mov r0, sp |
58 | bl sleep_phys_sp | 61 | bl sleep_phys_sp |
@@ -66,7 +69,7 @@ ENTRY(pxa_cpu_suspend) | |||
66 | @ (also workaround for sighting 28071) | 69 | @ (also workaround for sighting 28071) |
67 | 70 | ||
68 | @ prepare value for sleep mode | 71 | @ prepare value for sleep mode |
69 | mov r1, #3 @ sleep mode | 72 | mov r1, r5 @ sleep mode |
70 | 73 | ||
71 | @ prepare pointer to physical address 0 (virtual mapping in generic.c) | 74 | @ prepare pointer to physical address 0 (virtual mapping in generic.c) |
72 | mov r2, #UNCACHED_PHYS_0 | 75 | mov r2, #UNCACHED_PHYS_0 |