aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/include/asm
diff options
context:
space:
mode:
authorSonic Zhang <sonic.zhang@analog.com>2012-07-23 11:35:30 +0800
committerBob Liu <lliubbo@gmail.com>2012-07-24 13:39:49 +0800
commitc7e48e1e3e926de21605f959c31689d56fb639e3 (patch)
tree4a598fd55ed79fdcf63077318e04d6f39be594d0 /arch/blackfin/include/asm
parentirq: set cgu event handle to fasteoi handle (diff)
downloadlinux-dev-c7e48e1e3e926de21605f959c31689d56fb639e3.tar.xz
linux-dev-c7e48e1e3e926de21605f959c31689d56fb639e3.zip
bfin: pm: add deepsleep for bf60x
Add add deepsleep for bf60x. 1. Call DMC init functions to enter and exit DDR self refresh mode. 2. Wait till CGU PLL is locked after wake up and exit DDR self refresh mode. 3. Make asessembly function enter_deepsleep comply with C funtion ABI in order to call other C functions. 4. Switch kernel stack by register EX_SCRATCH_REG. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bob Liu <lliubbo@gmail.com>
Diffstat (limited to 'arch/blackfin/include/asm')
-rw-r--r--arch/blackfin/include/asm/context.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/blackfin/include/asm/context.S b/arch/blackfin/include/asm/context.S
index 1f9060395a0a..507e7aa6a561 100644
--- a/arch/blackfin/include/asm/context.S
+++ b/arch/blackfin/include/asm/context.S
@@ -396,3 +396,12 @@
call \func;
#endif
.endm
+
+#if defined(CONFIG_BFIN_SCRATCH_REG_RETN)
+# define EX_SCRATCH_REG RETN
+#elif defined(CONFIG_BFIN_SCRATCH_REG_RETE)
+# define EX_SCRATCH_REG RETE
+#else
+# define EX_SCRATCH_REG CYCLES
+#endif
+