diff options
author | Tero Kristo <tero.kristo@nokia.com> | 2008-10-13 06:15:00 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@deeprootsystems.com> | 2009-11-11 17:42:25 -0500 |
commit | 27d59a4a2def42307349079f2e3538d96934c379 (patch) | |
tree | d581f0960d280dbe0f8c8ee03e111cadbfcf59db /arch/arm/mach-omap2/control.c | |
parent | f2d1185824fd3ed631f3164daeff59d0b4e55d79 (diff) |
OMAP3 PM: off-mode support for HS/EMU devices
For HS/EMU devices, some additional resources need to be
saved/restored for off-mode support. Namely, saving the secure RAM
and a pointer to it in the scratchpad.
Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm/mach-omap2/control.c')
-rw-r--r-- | arch/arm/mach-omap2/control.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/control.c b/arch/arm/mach-omap2/control.c index 3ea417d7a1b5..b84cff7087b0 100644 --- a/arch/arm/mach-omap2/control.c +++ b/arch/arm/mach-omap2/control.c | |||
@@ -85,6 +85,8 @@ struct omap3_scratchpad_sdrc_block { | |||
85 | u32 block_size; | 85 | u32 block_size; |
86 | }; | 86 | }; |
87 | 87 | ||
88 | void *omap3_secure_ram_storage; | ||
89 | |||
88 | /* | 90 | /* |
89 | * This is used to store ARM registers in SDRAM before attempting | 91 | * This is used to store ARM registers in SDRAM before attempting |
90 | * an MPU OFF. The save and restore happens from the SRAM sleep code. | 92 | * an MPU OFF. The save and restore happens from the SRAM sleep code. |
@@ -209,7 +211,11 @@ void omap3_save_scratchpad_contents(void) | |||
209 | scratchpad_contents.boot_config_ptr = 0x0; | 211 | scratchpad_contents.boot_config_ptr = 0x0; |
210 | scratchpad_contents.public_restore_ptr = | 212 | scratchpad_contents.public_restore_ptr = |
211 | virt_to_phys(get_restore_pointer()); | 213 | virt_to_phys(get_restore_pointer()); |
212 | scratchpad_contents.secure_ram_restore_ptr = 0x0; | 214 | if (omap_type() == OMAP2_DEVICE_TYPE_GP) |
215 | scratchpad_contents.secure_ram_restore_ptr = 0x0; | ||
216 | else | ||
217 | scratchpad_contents.secure_ram_restore_ptr = | ||
218 | (u32) __pa(omap3_secure_ram_storage); | ||
213 | scratchpad_contents.sdrc_module_semaphore = 0x0; | 219 | scratchpad_contents.sdrc_module_semaphore = 0x0; |
214 | scratchpad_contents.prcm_block_offset = 0x2C; | 220 | scratchpad_contents.prcm_block_offset = 0x2C; |
215 | scratchpad_contents.sdrc_block_offset = 0x64; | 221 | scratchpad_contents.sdrc_block_offset = 0x64; |