diff options
author | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2012-12-17 10:51:10 +0100 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2012-12-17 10:51:10 +0100 |
commit | d346f2a59d6f53b3ad9af61619fd2c90c62dfb0c (patch) | |
tree | db464ecd9f0b059f039c27e54a614223b86a16a4 /arch/arm/mach-tegra | |
parent | 94315e07e7b250c7546664e3845cd1d907d844c9 (diff) |
colibri_t20: gpio-keys: enable pull-ups
GPIO keys configured as active-low either require pull-ups on the
carrier board or via pin-muxing. We enable the later for now.
Diffstat (limited to 'arch/arm/mach-tegra')
-rw-r--r-- | arch/arm/mach-tegra/board-colibri_t20-pinmux.c | 30 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-colibri_t20.c | 3 |
2 files changed, 27 insertions, 6 deletions
diff --git a/arch/arm/mach-tegra/board-colibri_t20-pinmux.c b/arch/arm/mach-tegra/board-colibri_t20-pinmux.c index 9a3b490bc63b..e6ef08182d4c 100644 --- a/arch/arm/mach-tegra/board-colibri_t20-pinmux.c +++ b/arch/arm/mach-tegra/board-colibri_t20-pinmux.c @@ -151,16 +151,28 @@ static __initdata struct tegra_pingroup_config colibri_t20_pinmux[] = { {TEGRA_PINGROUP_DDRC, TEGRA_MUX_NONE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, /* GPIO D5 */ {TEGRA_PINGROUP_DTA, TEGRA_MUX_VI, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, - /* GPIO T2 and T3 */ + /* GPIO T2 and T3 as KEY_FIND */ +#ifdef CONFIG_KEYBOARD_GPIO + {TEGRA_PINGROUP_DTB, TEGRA_MUX_VI, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, +#else {TEGRA_PINGROUP_DTB, TEGRA_MUX_VI, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, +#endif {TEGRA_PINGROUP_DTC, TEGRA_MUX_VI, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, /* GPIO L0, L1, L2, L3, L6 and L7 GPIO L4 and L5 multiplexed with PWM<A> and PWM<D> */ {TEGRA_PINGROUP_DTD, TEGRA_MUX_VI, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, - /* AX88772B V_BUS, WM9715L PENDOWN, GPIO A0, BB4 and BB5 */ + /* AX88772B V_BUS, WM9715L PENDOWN, GPIO A0, BB4 as KEY_VOLUMEUP and BB5 as KEY_VOLUMEDOWN */ +#ifdef CONFIG_KEYBOARD_GPIO + {TEGRA_PINGROUP_DTE, TEGRA_MUX_RSVD, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, +#else {TEGRA_PINGROUP_DTE, TEGRA_MUX_RSVD, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, - /* GPIO BB2 and BB3 */ +#endif + /* GPIO BB2 as KEY_BACK and BB3 as KEY_HOME */ +#ifdef CONFIG_KEYBOARD_GPIO + {TEGRA_PINGROUP_DTF, TEGRA_MUX_I2C3, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, +#else {TEGRA_PINGROUP_DTF, TEGRA_MUX_I2C3, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, +#endif {TEGRA_PINGROUP_GMA, TEGRA_MUX_SDIO4, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, /* MM_CD */ {TEGRA_PINGROUP_GMB, TEGRA_MUX_GMI_INT, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, @@ -275,8 +287,12 @@ static __initdata struct tegra_pingroup_config colibri_t20_pinmux[] = { {TEGRA_PINGROUP_SLXD, TEGRA_MUX_SPI4, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, {TEGRA_PINGROUP_SLXK, TEGRA_MUX_SPI4, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, - /* GPIO K6 multiplexed ACC1_DETECT */ + /* GPIO K6 as KEY_MENU multiplexed ACC1_DETECT */ +#ifdef CONFIG_KEYBOARD_GPIO + {TEGRA_PINGROUP_SPDI, TEGRA_MUX_RSVD, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, +#else {TEGRA_PINGROUP_SPDI, TEGRA_MUX_RSVD, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, +#endif /* GPIO K5 multiplexed USB1_VBUS */ {TEGRA_PINGROUP_SPDO, TEGRA_MUX_RSVD, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, @@ -297,8 +313,12 @@ static __initdata struct tegra_pingroup_config colibri_t20_pinmux[] = { {TEGRA_PINGROUP_UAA, TEGRA_MUX_ULPI, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, {TEGRA_PINGROUP_UAB, TEGRA_MUX_ULPI, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, - /* WM9715L RESET#, USB3340 RESETB, WM9715L GENIRQ and GPIO V3 */ + /* 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}, +#else {TEGRA_PINGROUP_UAC, TEGRA_MUX_RSVD, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, +#endif /* STD_TXD and STD_RXD */ {TEGRA_PINGROUP_UAD, TEGRA_MUX_IRDA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, /* A2 and A3 */ diff --git a/arch/arm/mach-tegra/board-colibri_t20.c b/arch/arm/mach-tegra/board-colibri_t20.c index 261d11b439af..c2c1d167895d 100644 --- a/arch/arm/mach-tegra/board-colibri_t20.c +++ b/arch/arm/mach-tegra/board-colibri_t20.c @@ -365,7 +365,8 @@ static void colibri_t20_i2c_init(void) i2c_register_board_info(4, colibri_t20_i2c_bus4_board_info, ARRAY_SIZE(colibri_t20_i2c_bus4_board_info)); } -/* Keys */ +/* Keys + Note: active-low means pull-ups required on carrier board resp. via pin-muxing */ #ifdef CONFIG_KEYBOARD_GPIO #define GPIO_KEY(_id, _gpio, _iswake) \ |