summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-apalis_t30-pinmux.c
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2016-01-14 00:53:35 +0100
committerMax Krummenacher <max.krummenacher@toradex.com>2016-03-21 10:50:55 +0100
commit5fc9966aad667f7e4649bb8f74a241492fe3458e (patch)
treed17d2521d64dd345db52bc4a0f2151b1005fc1f6 /arch/arm/mach-tegra/board-apalis_t30-pinmux.c
parentc8ead507f45de63a125b40096f0d59cb0aaa6780 (diff)
apalis_t30: ixora: optionally support leds, switch, foff and wdisable
The Ixora carrier board has a few MXM3 pins repurposed as follows: Functionality MXM3 Pin LED4_RED 146 LED4_GREEN 162 LED5_RED 156 LED5_GREEN 152 PCIE1_WDISABLE_N 144 SW3 160 UART2_3_RS232_FOFF_N 164 This patch allows uncommenting an IXORA define in the board header file in order to make use of those repurposed pins. Please note that those pins are usually used for the 8-bit MMC/SD slot aka Apalis MMC1 and the SDHCI controller/driver unfortunately changes the output driver behaviour in a way preventing any regular GPIO use. This patch therefore explicitly does not register the SDHCI driver on this controller instance in the Ixora case to avoid this. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-apalis_t30-pinmux.c')
-rw-r--r--arch/arm/mach-tegra/board-apalis_t30-pinmux.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-apalis_t30-pinmux.c b/arch/arm/mach-tegra/board-apalis_t30-pinmux.c
index 87d85207b0dd..0e45181fd671 100644
--- a/arch/arm/mach-tegra/board-apalis_t30-pinmux.c
+++ b/arch/arm/mach-tegra/board-apalis_t30-pinmux.c
@@ -242,7 +242,11 @@ static __initdata struct tegra_pingroup_config apalis_t30_pinmux[] = {
DEFAULT_PINMUX(GPIO_PV0, RSVD, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(GPIO_PV1, RSVD, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(GPIO_PV2, RSVD1, NORMAL, NORMAL, INPUT),
+#ifdef IXORA
+ DEFAULT_PINMUX(GPIO_PV3, RSVD1, NORMAL, NORMAL, OUTPUT), /* UART2_3_RS232_FOFF_N */
+#else
DEFAULT_PINMUX(GPIO_PV3, RSVD1, NORMAL, NORMAL, INPUT),
+#endif
DEFAULT_PINMUX(HDMI_CEC, CEC, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(HDMI_INT, RSVD0, NORMAL, NORMAL, INPUT),
@@ -364,6 +368,18 @@ static __initdata struct tegra_pingroup_config apalis_t30_pinmux[] = {
DEFAULT_PINMUX(SDMMC1_DAT2, SDMMC1, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(SDMMC1_DAT3, SDMMC1, NORMAL, NORMAL, INPUT),
+#ifdef IXORA
+ DEFAULT_PINMUX(SDMMC3_CLK, PWM2, PULL_DOWN, TRISTATE, OUTPUT), /* NC */
+ DEFAULT_PINMUX(SDMMC3_CMD, PWM3, PULL_DOWN, TRISTATE, OUTPUT), /* NC */
+ DEFAULT_PINMUX(SDMMC3_DAT0, RSVD1, NORMAL, TRISTATE, INPUT), /* SW3 */
+ DEFAULT_PINMUX(SDMMC3_DAT1, RSVD0, NORMAL, NORMAL, OUTPUT), /* LED4_GREEN */
+ DEFAULT_PINMUX(SDMMC3_DAT2, PWM1, NORMAL, NORMAL, OUTPUT), /* PCIE1_WDISABLE_N */
+ DEFAULT_PINMUX(SDMMC3_DAT3, RSVD0, NORMAL, NORMAL, OUTPUT), /* LED4_RED */
+ DEFAULT_PINMUX(SDMMC3_DAT4, PWM1, PULL_DOWN, TRISTATE, OUTPUT), /* NC */
+ DEFAULT_PINMUX(SDMMC3_DAT5, PWM0, NORMAL, NORMAL, OUTPUT), /* LED5_GREEN */
+ DEFAULT_PINMUX(SDMMC3_DAT6, SPDIF, NORMAL, NORMAL, OUTPUT), /* LED5_RED */
+ DEFAULT_PINMUX(SDMMC3_DAT7, SPDIF, PULL_DOWN, TRISTATE, OUTPUT),/* NC */
+#else /* IXORA */
DEFAULT_PINMUX(SDMMC3_CLK, SDMMC3, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(SDMMC3_CMD, SDMMC3, PULL_UP, NORMAL, INPUT),
DEFAULT_PINMUX(SDMMC3_DAT0, SDMMC3, PULL_UP, NORMAL, INPUT),
@@ -374,6 +390,7 @@ static __initdata struct tegra_pingroup_config apalis_t30_pinmux[] = {
DEFAULT_PINMUX(SDMMC3_DAT5, SDMMC3, PULL_UP, NORMAL, INPUT),
DEFAULT_PINMUX(SDMMC3_DAT6, SDMMC3, PULL_UP, NORMAL, INPUT),
DEFAULT_PINMUX(SDMMC3_DAT7, SDMMC3, PULL_UP, NORMAL, INPUT),
+#endif /* IXORA */
DEFAULT_PINMUX(SDMMC4_CLK, SDMMC4, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(SDMMC4_CMD, SDMMC4, PULL_UP, NORMAL, INPUT),