summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-ventana-power.c
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2011-07-18 11:47:13 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:47:44 -0800
commitf0ff768ec946a3755f7593db4f9366bcfd8307be (patch)
tree91fed5fd09fc75cdca0c5ea946e143204227ad84 /arch/arm/mach-tegra/board-ventana-power.c
parente414c8f50e0b0e5944e8e343c8640f050902c939 (diff)
arm: tegra: Console suspend for all boards
Added the board level suspend/resume and call the console suspend from board level suspend/resume. bug 820536 Original-Change-Id: I246265241246dc0682870571c927bd23023e5aca Reviewed-on: http://git-master/r/41448 Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Tested-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> Reviewed-by: Narendra Damahe <ndamahe@nvidia.com> Rebase-Id: Re1f3dd4f75ee05456899d9a67f74ae84f9572654
Diffstat (limited to 'arch/arm/mach-tegra/board-ventana-power.c')
-rw-r--r--arch/arm/mach-tegra/board-ventana-power.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-ventana-power.c b/arch/arm/mach-tegra/board-ventana-power.c
index 14c5748fc50d..656ffc5aa7c9 100644
--- a/arch/arm/mach-tegra/board-ventana-power.c
+++ b/arch/arm/mach-tegra/board-ventana-power.c
@@ -201,6 +201,18 @@ static struct i2c_board_info __initdata ventana_regulators[] = {
},
};
+static void ventana_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 ventana_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 ventana_suspend_data = {
/*
* Check power on time and crystal oscillator start time
@@ -213,6 +225,8 @@ static struct tegra_suspend_platform_data ventana_suspend_data = {
.core_off_timer = 0xf,
.corereq_high = false,
.sysclkreq_high = true,
+ .board_suspend = ventana_board_suspend,
+ .board_resume = ventana_board_resume,
};
int __init ventana_regulator_init(void)