summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-colibri_t20-pinmux.c
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2012-12-17 10:51:10 +0100
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2012-12-17 10:51:10 +0100
commitd346f2a59d6f53b3ad9af61619fd2c90c62dfb0c (patch)
treedb464ecd9f0b059f039c27e54a614223b86a16a4 /arch/arm/mach-tegra/board-colibri_t20-pinmux.c
parent94315e07e7b250c7546664e3845cd1d907d844c9 (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/board-colibri_t20-pinmux.c')
-rw-r--r--arch/arm/mach-tegra/board-colibri_t20-pinmux.c30
1 files changed, 25 insertions, 5 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 */