summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-whistler-power.c
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2012-01-30 19:00:34 +0530
committerRohan Somvanshi <rsomvanshi@nvidia.com>2012-03-13 02:08:15 -0700
commit075cbabcd03e9550d58bd2b3309e1f815fa801d1 (patch)
treea28822814f1e13620366599ffbedb06ab8290123 /arch/arm/mach-tegra/board-whistler-power.c
parent9d550b07f3bda9cd90559138f7d9248d8aed99f9 (diff)
arm: tegra: whistler: Add board suspend/resume
Adding board suspend/resume functionality for whistler. bug 907612 Change-Id: Ibb4178bbed7e4fa5f0d8b0080a34e85a3fe5aefc Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/88278 Reviewed-by: Shridhar Rasal <srasal@nvidia.com> Tested-by: Shridhar Rasal <srasal@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-whistler-power.c')
-rw-r--r--arch/arm/mach-tegra/board-whistler-power.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-whistler-power.c b/arch/arm/mach-tegra/board-whistler-power.c
index 10f8c3824d0b..72389f181779 100644
--- a/arch/arm/mach-tegra/board-whistler-power.c
+++ b/arch/arm/mach-tegra/board-whistler-power.c
@@ -239,6 +239,18 @@ static struct i2c_board_info __initdata whistler_regulators[] = {
},
};
+static void whistler_board_suspend(int lp_state, enum suspend_stage stg)
+{
+ if ((lp_state == TEGRA_SUSPEND_LP1) && (stg == TEGRA_SUSPEND_BEFORE_CPU))
+ tegra_console_uart_suspend();
+}
+
+static void whistler_board_resume(int lp_state, enum resume_stage stg)
+{
+ if ((lp_state == TEGRA_SUSPEND_LP1) && (stg == TEGRA_RESUME_AFTER_CPU))
+ tegra_console_uart_resume();
+}
+
static struct tegra_suspend_platform_data whistler_suspend_data = {
.cpu_timer = 2000,
.cpu_off_timer = 1000,
@@ -248,6 +260,8 @@ static struct tegra_suspend_platform_data whistler_suspend_data = {
.corereq_high = true,
.sysclkreq_high = true,
.combined_req = true,
+ .board_suspend = whistler_board_suspend,
+ .board_resume = whistler_board_resume,
};
int __init whistler_regulator_init(void)