summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2012-12-17 13:03:25 +0100
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2012-12-17 13:03:25 +0100
commit8ec3b97a69a7aaa9fe0d9e2d977b118a62e03579 (patch)
tree71a61ee02e87a532f36f00baf08d9333f8671971
parentd346f2a59d6f53b3ad9af61619fd2c90c62dfb0c (diff)
colibri_t20: fix power key on EvalBoard v3.1a
As the new Colibri Evaluation carrier board v3.1a uses SODIMM pin 45 as IrDA transceiver SD with a 100 K pull-down we revert to using the power key as high active.
-rw-r--r--arch/arm/mach-tegra/board-colibri_t20-pinmux.c2
-rw-r--r--arch/arm/mach-tegra/board-colibri_t20.c35
2 files changed, 19 insertions, 18 deletions
diff --git a/arch/arm/mach-tegra/board-colibri_t20-pinmux.c b/arch/arm/mach-tegra/board-colibri_t20-pinmux.c
index e6ef08182d4c..471c2150f9c9 100644
--- a/arch/arm/mach-tegra/board-colibri_t20-pinmux.c
+++ b/arch/arm/mach-tegra/board-colibri_t20-pinmux.c
@@ -315,7 +315,7 @@ static __initdata struct tegra_pingroup_config colibri_t20_pinmux[] = {
/* WM9715L RESET#, USB3340 RESETB, WM9715L GENIRQ and GPIO V3 as KEY_POWER */
#ifdef CONFIG_KEYBOARD_GPIO
- {TEGRA_PINGROUP_UAC, TEGRA_MUX_RSVD, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL},
+ {TEGRA_PINGROUP_UAC, TEGRA_MUX_RSVD, TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
#else
{TEGRA_PINGROUP_UAC, TEGRA_MUX_RSVD, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
#endif
diff --git a/arch/arm/mach-tegra/board-colibri_t20.c b/arch/arm/mach-tegra/board-colibri_t20.c
index c2c1d167895d..b85ea6205bd3 100644
--- a/arch/arm/mach-tegra/board-colibri_t20.c
+++ b/arch/arm/mach-tegra/board-colibri_t20.c
@@ -366,28 +366,29 @@ static void colibri_t20_i2c_init(void)
}
/* Keys
- Note: active-low means pull-ups required on carrier board resp. via pin-muxing */
+ Note: active-low means pull-ups required on carrier board resp. via pin-muxing
+ Note2: power-key active-high due to EvalBoard v3.1a having 100 K pull-down on SODIMM pin 45 */
#ifdef CONFIG_KEYBOARD_GPIO
-#define GPIO_KEY(_id, _gpio, _iswake) \
- { \
- .code = _id, \
- .gpio = TEGRA_GPIO_##_gpio, \
- .active_low = 1, \
- .desc = #_id, \
- .type = EV_KEY, \
- .wakeup = _iswake, \
- .debounce_interval = 10, \
+#define GPIO_KEY(_id, _gpio, _lowactive, _iswake) \
+ { \
+ .code = _id, \
+ .gpio = TEGRA_GPIO_##_gpio, \
+ .active_low = _lowactive, \
+ .desc = #_id, \
+ .type = EV_KEY, \
+ .wakeup = _iswake, \
+ .debounce_interval = 10, \
}
static struct gpio_keys_button colibri_t20_keys[] = {
- [0] = GPIO_KEY(KEY_FIND, PT3, 0), /* SODIMM pin 77 */
- [1] = GPIO_KEY(KEY_HOME, PBB3, 0), /* SODIMM pin 127 */
- [2] = GPIO_KEY(KEY_BACK, PBB2, 0), /* SODIMM pin 133, Iris X16-14 */
- [3] = GPIO_KEY(KEY_VOLUMEUP, PBB4, 0), /* SODIMM pin 22 */
- [4] = GPIO_KEY(KEY_VOLUMEDOWN, PBB5, 0), /* SODIMM pin 24 */
- [5] = GPIO_KEY(KEY_POWER, PV3, 1), /* SODIMM pin 45, Iris X16-20 */
- [6] = GPIO_KEY(KEY_MENU, PK6, 0), /* SODIMM pin 135 */
+ [0] = GPIO_KEY(KEY_FIND, PT3, 1, 0), /* SODIMM pin 77 */
+ [1] = GPIO_KEY(KEY_HOME, PBB3, 1, 0), /* SODIMM pin 127 */
+ [2] = GPIO_KEY(KEY_BACK, PBB2, 1, 0), /* SODIMM pin 133, Iris X16-14 */
+ [3] = GPIO_KEY(KEY_VOLUMEUP, PBB4, 1, 0), /* SODIMM pin 22 */
+ [4] = GPIO_KEY(KEY_VOLUMEDOWN, PBB5, 1, 0), /* SODIMM pin 24 */
+ [5] = GPIO_KEY(KEY_POWER, PV3, 0, 1), /* SODIMM pin 45, Iris X16-20 */
+ [6] = GPIO_KEY(KEY_MENU, PK6, 1, 0), /* SODIMM pin 135 */
};
#define PMC_WAKE_STATUS 0x14