From 8ec3b97a69a7aaa9fe0d9e2d977b118a62e03579 Mon Sep 17 00:00:00 2001 From: Marcel Ziswiler Date: Mon, 17 Dec 2012 13:03:25 +0100 Subject: 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. --- arch/arm/mach-tegra/board-colibri_t20-pinmux.c | 2 +- arch/arm/mach-tegra/board-colibri_t20.c | 35 +++++++++++++------------- 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 -- cgit v1.2.3