diff options
author | Sonic Zhang <sonic.zhang@analog.com> | 2012-07-23 11:35:30 +0800 |
---|---|---|
committer | Bob Liu <lliubbo@gmail.com> | 2012-07-24 13:39:49 +0800 |
commit | c7e48e1e3e926de21605f959c31689d56fb639e3 (patch) | |
tree | 4a598fd55ed79fdcf63077318e04d6f39be594d0 /arch/blackfin/include/asm/context.S | |
parent | a5b4d4be6ce7939d1604fae05786833fffae02f9 (diff) | |
download | linux-c7e48e1e3e926de21605f959c31689d56fb639e3.tar.bz2 |
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/context.S')
-rw-r--r-- | arch/blackfin/include/asm/context.S | 9 |
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 + |