summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/timer.c
diff options
context:
space:
mode:
authorGary King <gking@nvidia.com>2010-04-14 20:11:24 -0700
committerGary King <gking@nvidia.com>2010-04-15 20:09:05 -0700
commit69171ba958a221624ccabf08a9cde5ff03b51cf1 (patch)
tree7280a0980cc1496eeddab24ca0ba711114025198 /arch/arm/mach-tegra/timer.c
parent42705eb0a3d53b5c23f9ea439e97099b66320703 (diff)
[ARM] tegra: add LP2 idle-mode support
LP2 idle mode power-gates the main CPU complex, requiring a full processor state save and restore from a reset vector processor context area is allocated during platform initialization from the kernel, and mapped into the hotplug page tables (which also serve as the initial page tables for the LP2 main processor reset) restoring the processor from LP2 requires calculation of a system- and APB-clock-dependent CPU power good timer value. on Harmony, 2ms is a good baseline value for this, and the APB clock is running at 13.5MHz. these values need to be un-hardcoded for other platforms. Change-Id: I70a18a1d995e1d34da64d60fbdcd4568ef442f0c
Diffstat (limited to 'arch/arm/mach-tegra/timer.c')
-rw-r--r--arch/arm/mach-tegra/timer.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/timer.c b/arch/arm/mach-tegra/timer.c
index 5fbf8acf76bb..8b5fe7957969 100644
--- a/arch/arm/mach-tegra/timer.c
+++ b/arch/arm/mach-tegra/timer.c
@@ -185,6 +185,12 @@ static void __init tegra_init_timer(void)
BUG();
}
+ ret = setup_irq(tegra_lp2wake_irq.irq, &tegra_lp2wake_irq);
+ if (ret) {
+ printk(KERN_ERR "Failed to register LP2 timer IRQ: %d\n", ret);
+ BUG();
+ }
+
tegra_clockevent.max_delta_ns =
clockevent_delta2ns(0x1fffffff, &tegra_clockevent);
tegra_clockevent.max_delta_ns =