aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/control.c
diff options
context:
space:
mode:
authorTero Kristo <tero.kristo@nokia.com>2008-10-13 06:15:00 -0400
committerKevin Hilman <khilman@deeprootsystems.com>2009-11-11 17:42:25 -0500
commit27d59a4a2def42307349079f2e3538d96934c379 (patch)
treed581f0960d280dbe0f8c8ee03e111cadbfcf59db /arch/arm/mach-omap2/control.c
parentf2d1185824fd3ed631f3164daeff59d0b4e55d79 (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.c8
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
88void *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;