From f627315ac4e4b3109dac75701c3242390af5ba57 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Fri, 18 Jan 2013 11:41:36 +0100 Subject: colibri_t30: set DD pins to push/pull set DD pins to push/pull if not used for I2C in open drain mode --- arch/arm/mach-tegra/board-colibri_t30-pinmux.c | 24 ++++++++++++------------ arch/arm/mach-tegra/board-colibri_t30.c | 3 +++ 2 files changed, 15 insertions(+), 12 deletions(-) (limited to 'arch') diff --git a/arch/arm/mach-tegra/board-colibri_t30-pinmux.c b/arch/arm/mach-tegra/board-colibri_t30-pinmux.c index fb9c54de6fce..67a124b460c4 100644 --- a/arch/arm/mach-tegra/board-colibri_t30-pinmux.c +++ b/arch/arm/mach-tegra/board-colibri_t30-pinmux.c @@ -133,15 +133,15 @@ static __initdata struct tegra_drive_pingroup_config colibri_t30_drive_pinmux[] static __initdata struct tegra_pingroup_config colibri_t30_pinmux[] = { //multiplexed KB_ROW_13 #ifdef COLIBRI_T30_SDMMC4B - I2C_PINMUX(CAM_I2C_SCL, POPSDMMC4, PULL_UP, NORMAL, INPUT, DISABLE, DISABLE), + I2C_PINMUX(CAM_I2C_SCL, POPSDMMC4, PULL_UP, NORMAL, INPUT, DEFAULT, DISABLE), #else - DEFAULT_PINMUX(CAM_I2C_SCL, I2C3, NORMAL, TRISTATE, OUTPUT), + I2C_PINMUX(CAM_I2C_SCL, I2C3, NORMAL, TRISTATE, OUTPUT, DEFAULT, DISABLE), #endif //multiplexed KB_ROW_14 #ifdef COLIBRI_T30_SDMMC4B - I2C_PINMUX(CAM_I2C_SDA, POPSDMMC4, PULL_UP, NORMAL, INPUT, DISABLE, DISABLE), + I2C_PINMUX(CAM_I2C_SDA, POPSDMMC4, PULL_UP, NORMAL, INPUT, DEFAULT, DISABLE), #else - DEFAULT_PINMUX(CAM_I2C_SDA, I2C3, NORMAL, TRISTATE, OUTPUT), + I2C_PINMUX(CAM_I2C_SDA, I2C3, NORMAL, TRISTATE, OUTPUT, DEFAULT, DISABLE), #endif //multiplexed KB_ROW_10 #ifdef COLIBRI_T30_SDMMC4B @@ -188,14 +188,14 @@ static __initdata struct tegra_pingroup_config colibri_t30_pinmux[] = { DEFAULT_PINMUX(DAP4_FS, GMI, NORMAL, NORMAL, INPUT), DEFAULT_PINMUX(DAP4_SCLK, GMI, NORMAL, NORMAL, INPUT), - I2C_PINMUX(DDC_SCL, I2C4, NORMAL, NORMAL, INPUT, DISABLE, ENABLE), - I2C_PINMUX(DDC_SDA, I2C4, NORMAL, NORMAL, INPUT, DISABLE, ENABLE), + I2C_PINMUX(DDC_SCL, I2C4, NORMAL, NORMAL, INPUT, DEFAULT, ENABLE), + I2C_PINMUX(DDC_SDA, I2C4, NORMAL, NORMAL, INPUT, DEFAULT, ENABLE), - I2C_PINMUX(GEN1_I2C_SCL, I2C1, NORMAL, NORMAL, INPUT, DISABLE, ENABLE), - I2C_PINMUX(GEN1_I2C_SDA, I2C1, NORMAL, NORMAL, INPUT, DISABLE, ENABLE), + I2C_PINMUX(GEN1_I2C_SCL, I2C1, NORMAL, NORMAL, INPUT, DEFAULT, ENABLE), + I2C_PINMUX(GEN1_I2C_SDA, I2C1, NORMAL, NORMAL, INPUT, DEFAULT, ENABLE), - DEFAULT_PINMUX(GEN2_I2C_SCL, RSVD3, NORMAL, NORMAL, INPUT), - DEFAULT_PINMUX(GEN2_I2C_SDA, RSVD3, NORMAL, NORMAL, INPUT), + I2C_PINMUX(GEN2_I2C_SCL, RSVD3, NORMAL, NORMAL, INPUT, DEFAULT, DISABLE), + I2C_PINMUX(GEN2_I2C_SDA, RSVD3, NORMAL, NORMAL, INPUT, DEFAULT, DISABLE), DEFAULT_PINMUX(GMI_A16, UARTD, NORMAL, NORMAL, INPUT), DEFAULT_PINMUX(GMI_A17, UARTD, NORMAL, NORMAL, INPUT), @@ -461,8 +461,8 @@ static __initdata struct tegra_pingroup_config colibri_t30_pinmux[] = { DEFAULT_PINMUX(PEX_WAKE_N, RSVD2, NORMAL, NORMAL, INPUT), /* Power I2C pinmux */ - I2C_PINMUX(PWR_I2C_SCL, I2CPWR, NORMAL, NORMAL, INPUT, DISABLE, ENABLE), - I2C_PINMUX(PWR_I2C_SDA, I2CPWR, NORMAL, NORMAL, INPUT, DISABLE, ENABLE), + I2C_PINMUX(PWR_I2C_SCL, I2CPWR, NORMAL, NORMAL, INPUT, DEFAULT, ENABLE), + I2C_PINMUX(PWR_I2C_SDA, I2CPWR, NORMAL, NORMAL, INPUT, DEFAULT, ENABLE), #ifdef COLIBRI_T30_VI //multiplexed VI_PCLK diff --git a/arch/arm/mach-tegra/board-colibri_t30.c b/arch/arm/mach-tegra/board-colibri_t30.c index 3f47b53d61dd..4a2778dc5b1f 100644 --- a/arch/arm/mach-tegra/board-colibri_t30.c +++ b/arch/arm/mach-tegra/board-colibri_t30.c @@ -158,6 +158,9 @@ static struct tegra_clk_init_table colibri_t30_clk_init_table[] __initdata = { /* I2C */ +/* Make sure that the pinmuxing enable the 'open drain' feature for pins used + for I2C */ + /* GEN1_I2C: I2C_SDA/SCL on SODIMM pin 194/196 (e.g. RTC on carrier board) */ static struct i2c_board_info colibri_t30_i2c_bus1_board_info[] __initdata = { { -- cgit v1.2.3