|
@@ -35,9 +35,11 @@ ENTRY(pxa3xx_cpu_suspend)
|
|
|
#endif
|
|
|
stmfd sp!, {r2 - r12, lr} @ save registers on stack
|
|
|
mov r1, r0
|
|
|
- ldr r3, =pxa_cpu_resume @ resume function
|
|
|
+ adr r3, BSYM(pxa3xx_finish_suspend)
|
|
|
bl cpu_suspend
|
|
|
+ b pxa_cpu_resume
|
|
|
|
|
|
+pxa3xx_finish_suspend:
|
|
|
mov r0, #0x06 @ S2D3C4 mode
|
|
|
mcr p14, 0, r0, c7, c0, 0 @ enter sleep
|
|
|
|
|
@@ -60,9 +62,11 @@ ENTRY(pxa27x_cpu_suspend)
|
|
|
#endif
|
|
|
stmfd sp!, {r2 - r12, lr} @ save registers on stack
|
|
|
mov r2, r0 @ save sleep mode
|
|
|
- ldr r3, =pxa_cpu_resume @ resume function
|
|
|
+ adr r3, BSYM(pxa27x_finish_suspend)
|
|
|
bl cpu_suspend
|
|
|
+ b pxa_cpu_resume
|
|
|
|
|
|
+pxa27x_finish_suspend:
|
|
|
@ Put the processor to sleep
|
|
|
@ (also workaround for sighting 28071)
|
|
|
|
|
@@ -110,8 +114,11 @@ ENTRY(pxa27x_cpu_suspend)
|
|
|
ENTRY(pxa25x_cpu_suspend)
|
|
|
stmfd sp!, {r2 - r12, lr} @ save registers on stack
|
|
|
mov r2, r0 @ save sleep mode
|
|
|
- ldr r3, =pxa_cpu_resume @ resume function
|
|
|
+ adr r3, BSYM(pxa25x_finish_suspend)
|
|
|
bl cpu_suspend
|
|
|
+ b pxa_cpu_resume
|
|
|
+
|
|
|
+pxa25x_finish_suspend:
|
|
|
@ prepare value for sleep mode
|
|
|
mov r1, r0 @ sleep mode
|
|
|
|