diff options
author | Martin Chi <mchi@nvidia.com> | 2014-01-29 17:00:04 +0800 |
---|---|---|
committer | Martin Chi <mchi@nvidia.com> | 2014-01-29 22:52:50 -0800 |
commit | ee36ef529ed5f41752e472eb591ce9f133cc42f9 (patch) | |
tree | 154afb2d418f7b440c4df492072653ad2fdbd57e /arch | |
parent | 9a0ba9ffdf8d4aeb9078497a037020b54b0cc6f5 (diff) |
arm:tegra:TN7C: set gyro irq pin PULL_DOWN in LP0
For TN7C, set PULL_DOWN for gyro irq pin (KB_ROW3)
in LP0 to avoid current leakage
bug 1437281
Change-Id: Icfce785d06bed5769155342154aedfb5a8725d9a
Signed-off-by: Martin Chi <mchi@nvidia.com>
Reviewed-on: http://git-master/r/355908
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-tegra/board-tegranote7c-power.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-tegranote7c-power.c b/arch/arm/mach-tegra/board-tegranote7c-power.c index f4ac98e9de4e..3b98ca69d7d1 100644 --- a/arch/arm/mach-tegra/board-tegranote7c-power.c +++ b/arch/arm/mach-tegra/board-tegranote7c-power.c @@ -43,6 +43,7 @@ #include <mach/hardware.h> #include <mach/edp.h> #include <mach/gpio-tegra.h> +#include <mach/pinmux-t11.h> #include "cpu-tegra.h" #include "pm.h" @@ -697,6 +698,18 @@ static struct platform_device tegranote7c_pda_power_device = { }, }; +static struct tegra_pingroup_config tegranote7c_sleep_pinmux[] = { + GPIO_PINMUX(KB_ROW3, PULL_DOWN, NORMAL, INPUT, DISABLE), +}; + +static void tegranote7c_board_suspend(int state, enum suspend_stage stage) +{ + if (TEGRA_SUSPEND_LP0 == state && + TEGRA_SUSPEND_BEFORE_PERIPHERAL == stage) + tegra_pinmux_config_table(tegranote7c_sleep_pinmux, + ARRAY_SIZE(tegranote7c_sleep_pinmux)); +} + static struct tegra_suspend_platform_data tegranote7c_suspend_data = { .cpu_timer = 300, .cpu_off_timer = 300, @@ -715,6 +728,7 @@ static struct tegra_suspend_platform_data tegranote7c_suspend_data = { .lp1_core_volt_low = 0, .lp1_core_volt_high = 0, #endif + .board_suspend = tegranote7c_board_suspend, }; #ifdef CONFIG_ARCH_TEGRA_HAS_CL_DVFS /* board parameters for cpu dfll */ |