summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2012-12-05 00:59:28 +0100
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2012-12-05 00:59:28 +0100
commitda3238b826f87e4825ecd860cf52e8dad1354eb1 (patch)
tree7b7f6ee8575b16e038d5cd5b2085efe7eee732be
parentbf044d093015caa16b2b5d7bb4a6ca187956ee56 (diff)
colibri_t30: fix pinmuxing for NC balls
Make sure NC balls are not only tri-stating their outputs but also do not drive their inputs but rather have them pulled down in order to prevent any unstable internal values. While at it fix alphabetical order of the pinmuxes.
-rw-r--r--arch/arm/mach-tegra/board-colibri_t30-pinmux.c33
1 files changed, 16 insertions, 17 deletions
diff --git a/arch/arm/mach-tegra/board-colibri_t30-pinmux.c b/arch/arm/mach-tegra/board-colibri_t30-pinmux.c
index 90ffdad83f6c..34a212d25364 100644
--- a/arch/arm/mach-tegra/board-colibri_t30-pinmux.c
+++ b/arch/arm/mach-tegra/board-colibri_t30-pinmux.c
@@ -150,30 +150,29 @@ static __initdata struct tegra_pingroup_config colibri_t30_pinmux[] = {
#endif
DEFAULT_PINMUX(CLK1_OUT, EXTPERIPH1, NORMAL, NORMAL, OUTPUT),
- DEFAULT_PINMUX(CLK1_REQ, RSVD2, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(CLK1_REQ, RSVD2, PULL_DOWN, TRISTATE, OUTPUT), /* NC */
DEFAULT_PINMUX(CLK2_OUT, EXTPERIPH2, NORMAL, NORMAL, OUTPUT),
- DEFAULT_PINMUX(CLK2_REQ, RSVD1, NORMAL, TRISTATE, INPUT),
+ DEFAULT_PINMUX(CLK2_REQ, RSVD1, PULL_DOWN, TRISTATE, OUTPUT), /* NC */
- DEFAULT_PINMUX(CLK3_OUT, RSVD1, NORMAL, TRISTATE, OUTPUT),
- DEFAULT_PINMUX(CLK3_REQ, RSVD1, NORMAL, TRISTATE, INPUT),
+ DEFAULT_PINMUX(CLK3_OUT, RSVD1, PULL_DOWN, TRISTATE, OUTPUT), /* NC */
+ DEFAULT_PINMUX(CLK3_REQ, RSVD1, PULL_DOWN, TRISTATE, OUTPUT), /* NC */
DEFAULT_PINMUX(CLK_32K_OUT, RSVD1, NORMAL, TRISTATE, OUTPUT),
DEFAULT_PINMUX(CRT_HSYNC, CRT, NORMAL, NORMAL, OUTPUT),
DEFAULT_PINMUX(CRT_VSYNC, CRT, NORMAL, NORMAL, OUTPUT),
- DEFAULT_PINMUX(DAP1_FS, GMI, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(DAP1_DIN, GMI, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(DAP1_DOUT, GMI, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(DAP1_FS, GMI, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(DAP1_SCLK, GMI, NORMAL, NORMAL, INPUT),
- DEFAULT_PINMUX(DAP2_FS, RSVD2, NORMAL, NORMAL, INPUT),
-
//NC
DEFAULT_PINMUX(DAP2_DIN, RSVD2, NORMAL, TRISTATE, INPUT),
DEFAULT_PINMUX(DAP2_DOUT, RSVD2, NORMAL, TRISTATE, INPUT),
+ DEFAULT_PINMUX(DAP2_FS, RSVD2, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(DAP2_SCLK, RSVD2, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(DAP3_DIN, I2S2, NORMAL, NORMAL, INPUT),
@@ -224,15 +223,15 @@ static __initdata struct tegra_pingroup_config colibri_t30_pinmux[] = {
DEFAULT_PINMUX(GMI_CS4_N, NAND, NORMAL, NORMAL, OUTPUT),
DEFAULT_PINMUX(GMI_CS6_N, GMI, NORMAL, NORMAL, OUTPUT),
DEFAULT_PINMUX(GMI_CS7_N, GMI, NORMAL, NORMAL, INPUT),
- DEFAULT_PINMUX(GMI_DQS, NAND, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(GMI_DQS, RSVD1, PULL_DOWN, TRISTATE, OUTPUT), /* NC */
DEFAULT_PINMUX(GMI_IORDY, NAND, NORMAL, NORMAL, OUTPUT),
+ DEFAULT_PINMUX(GMI_OE_N, NAND, NORMAL, NORMAL, OUTPUT),
+//???
+ DEFAULT_PINMUX(GMI_RST_N, GMI, NORMAL, NORMAL, OUTPUT),
DEFAULT_PINMUX(GMI_WAIT, NAND, NORMAL, NORMAL, INPUT),
//GPIO C7: eMMC vs. NAND flash detection
DEFAULT_PINMUX(GMI_WP_N, NAND, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(GMI_WR_N, NAND, NORMAL, NORMAL, OUTPUT),
- DEFAULT_PINMUX(GMI_OE_N, NAND, NORMAL, NORMAL, OUTPUT),
-//???
- DEFAULT_PINMUX(GMI_RST_N, GMI, NORMAL, NORMAL, OUTPUT),
//multiplexed KB_ROW_12
#ifdef COLIBRI_T30_SDMMC4B
@@ -284,7 +283,7 @@ static __initdata struct tegra_pingroup_config colibri_t30_pinmux[] = {
DEFAULT_PINMUX(GPIO_PV3, RSVD1, NORMAL, NORMAL, OUTPUT),
#endif
- DEFAULT_PINMUX(HDMI_CEC, RSVD1, NORMAL, TRISTATE, INPUT),
+ DEFAULT_PINMUX(HDMI_CEC, RSVD1, PULL_DOWN, TRISTATE, OUTPUT), /* NC */
//GPIO N7: HOTPLUG_DETECT
DEFAULT_PINMUX(HDMI_INT, RSVD0, NORMAL, NORMAL, INPUT),
@@ -366,7 +365,7 @@ static __initdata struct tegra_pingroup_config colibri_t30_pinmux[] = {
#else
DEFAULT_PINMUX(LCD_PWR1, RSVD1, NORMAL, NORMAL, INPUT),
#endif
- DEFAULT_PINMUX(LCD_PWR2, DISPLAYA, NORMAL, TRISTATE, INPUT),
+ DEFAULT_PINMUX(LCD_PWR2, DISPLAYA, PULL_DOWN, TRISTATE, OUTPUT), /* NC */
DEFAULT_PINMUX(LCD_SCK, DISPLAYA, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(LCD_SDIN, RSVD, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(LCD_SDOUT, DISPLAYA, NORMAL, NORMAL, INPUT),
@@ -386,7 +385,7 @@ static __initdata struct tegra_pingroup_config colibri_t30_pinmux[] = {
#else
DEFAULT_PINMUX(PEX_L1_CLKREQ_N, RSVD2, NORMAL, NORMAL, INPUT),
#endif
- DEFAULT_PINMUX(PEX_L1_PRSNT_N, RSVD2, NORMAL, TRISTATE, INPUT),
+ DEFAULT_PINMUX(PEX_L1_PRSNT_N, RSVD2, PULL_DOWN, TRISTATE, OUTPUT), /* NC */
#ifdef COLIBRI_T30_VI
DEFAULT_PINMUX(PEX_L1_RST_N, RSVD2, NORMAL, TRISTATE, OUTPUT),
DEFAULT_PINMUX(PEX_L2_CLKREQ_N, RSVD2, NORMAL, TRISTATE, INPUT),
@@ -494,10 +493,10 @@ static __initdata struct tegra_pingroup_config colibri_t30_pinmux[] = {
DEFAULT_PINMUX(UART2_RXD, IRDA, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(UART2_TXD, IRDA, NORMAL, NORMAL, OUTPUT),
- DEFAULT_PINMUX(UART3_TXD, RSVD1, NORMAL, NORMAL, OUTPUT),
- DEFAULT_PINMUX(UART3_RXD, RSVD1, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(UART3_CTS_N, RSVD1, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(UART3_RTS_N, RSVD2, NORMAL, NORMAL, OUTPUT),
+ DEFAULT_PINMUX(UART3_RXD, RSVD1, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(UART3_TXD, RSVD1, NORMAL, NORMAL, OUTPUT),
//multiplexed SDMMC3_DAT7
DEFAULT_PINMUX(ULPI_CLK, SPI1, NORMAL, NORMAL, OUTPUT),
@@ -526,10 +525,10 @@ static __initdata struct tegra_pingroup_config colibri_t30_pinmux[] = {
VI_PINMUX(VI_D9, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
VI_PINMUX(VI_D10, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
VI_PINMUX(VI_D11, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
- VI_PINMUX(VI_PCLK, VI, PULL_UP, TRISTATE, INPUT, DISABLE, DISABLE),
VI_PINMUX(VI_HSYNC, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
//GPIO T1: EN_MIC_GND
DEFAULT_PINMUX(VI_MCLK, VI, NORMAL, NORMAL, OUTPUT),
+ VI_PINMUX(VI_PCLK, VI, PULL_UP, TRISTATE, INPUT, DISABLE, DISABLE),
VI_PINMUX(VI_VSYNC, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
};