summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorMartin Chi <mchi@nvidia.com>2014-01-29 17:00:04 +0800
committerMartin Chi <mchi@nvidia.com>2014-01-29 22:52:50 -0800
commitee36ef529ed5f41752e472eb591ce9f133cc42f9 (patch)
tree154afb2d418f7b440c4df492072653ad2fdbd57e /arch
parent9a0ba9ffdf8d4aeb9078497a037020b54b0cc6f5 (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.c14
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 */