diff options
author | John Stultz <john.stultz@linaro.org> | 2011-11-11 15:29:25 -0800 |
---|---|---|
committer | John Stultz <john.stultz@linaro.org> | 2011-11-11 15:29:25 -0800 |
commit | c3e5127312f97482a6a09c0df602c726675eff5b (patch) | |
tree | 9082d8201a1daac5ff019ef50322d551711eb250 /arch/arm/mach-exynos4/sleep.S | |
parent | 5e537f041bd05cddee0d2a2fb3013ee642064cc6 (diff) | |
parent | f171dfebbdf1de4b6ca267285739e190f95f84cc (diff) |
Merge branch 'upstream/linaro-3.1' into linaro-android-3.1-agreen-rebaselinux-linaro-3.1-2011.11-0-android-0
Diffstat (limited to 'arch/arm/mach-exynos4/sleep.S')
-rw-r--r-- | arch/arm/mach-exynos4/sleep.S | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/arch/arm/mach-exynos4/sleep.S b/arch/arm/mach-exynos4/sleep.S index 0984078f1eb..3284213a1a3 100644 --- a/arch/arm/mach-exynos4/sleep.S +++ b/arch/arm/mach-exynos4/sleep.S @@ -27,8 +27,8 @@ */ #include <linux/linkage.h> -#include <asm/assembler.h> -#include <asm/memory.h> +#include <asm/asm-offsets.h> +#include <asm/hardware/cache-l2x0.h> .text @@ -49,6 +49,31 @@ * other way of restoring the stack pointer after sleep, and we * must not write to the code segment (code is read-only) */ + .align + .data ENTRY(s3c_cpu_resume) + adr r0, l2x0_regs_phys + ldr r0, [r0] + ldr r1, [r0, #L2X0_R_PHY_BASE] + ldr r2, [r1, #L2X0_CTRL] + tst r2, #0x1 + bne resume_l2on + ldr r2, [r0, #L2X0_R_AUX_CTRL] + str r2, [r1, #L2X0_AUX_CTRL] + ldr r2, [r0, #L2X0_R_TAG_LATENCY] + str r2, [r1, #L2X0_TAG_LATENCY_CTRL] + ldr r2, [r0, #L2X0_R_DATA_LATENCY] + str r2, [r1, #L2X0_DATA_LATENCY_CTRL] + ldr r2, [r0, #L2X0_R_PREFETCH_CTRL] + str r2, [r1, #L2X0_PREFETCH_CTRL] + ldr r2, [r0, #L2X0_R_PWR_CTRL] + str r2, [r1, #L2X0_POWER_CTRL] + mov r2, #1 + str r2, [r1, #L2X0_CTRL] +resume_l2on: b cpu_resume +ENDPROC(s3c_cpu_resume) + .globl l2x0_regs_phys +l2x0_regs_phys: + .long 0 |