summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board.h
diff options
context:
space:
mode:
authorGary King <gking@nvidia.com>2010-05-26 21:40:35 -0700
committerGary King <gking@nvidia.com>2010-05-26 21:49:08 -0700
commit8a4c20e35a435e8744618a19fd51d3d23ac5d16b (patch)
tree254ceae0e2f238db74df715b1831d9ac9a6c6b88 /arch/arm/mach-tegra/board.h
parent6e046b849857d08142c00a1febc6c34e778007cc (diff)
[ARM/tegra] suspend: add suspend to LP2
implement basic support for system suspend operations using LP2 (CPU power-gating) platform-specific data (power good times, PMU capabilities, etc.) must be specified when registering the suspend operations, and a helper function for mapping from wakeup pad and PMU property data from the ODM kit to the platform_data structure is provided. AVP & RM suspend is performed in the prepare_late callback, ensuring that these operations are executed after all drivers have suspended, to eliminate ordering conflicts on RM dependencies since all device interrupts (except timers) are disabled in the suspend path, the wakeup interrupts need to be manually unmasked before entering into a suspend state or the processor will never wake up; these forced-unmask interrupts are re-masked immediately in the resume path to prevent the kernel from live-locking prior to driver resume. Change-Id: Ibe4d594d450b253744d803a0a15d66ae275029e8
Diffstat (limited to 'arch/arm/mach-tegra/board.h')
-rw-r--r--arch/arm/mach-tegra/board.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/board.h b/arch/arm/mach-tegra/board.h
index 85195a8cc87d..702a52ff1936 100644
--- a/arch/arm/mach-tegra/board.h
+++ b/arch/arm/mach-tegra/board.h
@@ -23,11 +23,13 @@
#include <linux/types.h>
+struct tegra_suspend_platform_data;
+
void __init tegra_common_init(void);
void __init tegra_map_common_io(void);
void __init tegra_init_irq(void);
void __init tegra_init_clock(void);
-void __init tegra_init_suspend(void);
+void __init tegra_init_suspend(struct tegra_suspend_platform_data *plat);
#ifdef CONFIG_CPU_FREQ
int tegra_start_dvfsd(void);