summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-tegra/reset.c
diff options
context:
space:
mode:
authorJoseph Lo <josephl@nvidia.com>2013-08-12 11:40:00 +0200
committerStephen Warren <swarren@nvidia.com>2013-08-12 20:22:38 +0200
commit5b795d051c61862cebf4f1d55edab6e9b3383b44 (patch)
treec91e4a8aa4d89e65753ae383d9c9b3b99022f268 /arch/arm/mach-tegra/reset.c
parentARM: tegra: unify Tegra's Kconfig a bit more (diff)
downloadlinux-5b795d051c61862cebf4f1d55edab6e9b3383b44.tar.xz
linux-5b795d051c61862cebf4f1d55edab6e9b3383b44.zip
ARM: tegra: add common resume handling code for LP1 resuming
Add support to the Tegra CPU reset vector to detect whether the CPU is resuming from LP1 suspend state. If it is, branch to the LP1-specific resume code. When Tegra enters the LP1 suspend state, the SDRAM controller is placed into a self-refresh state. For this reason, we must place the LP1 resume code into IRAM, so that it is accessible before SDRAM access has been re-enabled. Signed-off-by: Joseph Lo <josephl@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/reset.c')
-rw-r--r--arch/arm/mach-tegra/reset.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/reset.c b/arch/arm/mach-tegra/reset.c
index 1ac434e0068f..fd0bbf8a6c94 100644
--- a/arch/arm/mach-tegra/reset.c
+++ b/arch/arm/mach-tegra/reset.c
@@ -81,6 +81,8 @@ void __init tegra_cpu_reset_handler_init(void)
#endif
#ifdef CONFIG_PM_SLEEP
+ __tegra_cpu_reset_handler_data[TEGRA_RESET_STARTUP_LP1] =
+ TEGRA_IRAM_CODE_AREA;
__tegra_cpu_reset_handler_data[TEGRA_RESET_STARTUP_LP2] =
virt_to_phys((void *)tegra_resume);
#endif