summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2013-01-18 11:41:36 +0100
committerMax Krummenacher <max.krummenacher@toradex.com>2013-01-21 10:33:02 +0100
commitf627315ac4e4b3109dac75701c3242390af5ba57 (patch)
tree99682fcf41511971cfc2655be5402d99f6a0f24b /arch/arm/mach-tegra
parent289ac5ac4d2c2a6363e8dc640c287e6ad073f4ec (diff)
colibri_t30: set DD pins to push/pull
set DD pins to push/pull if not used for I2C in open drain mode
Diffstat (limited to 'arch/arm/mach-tegra')
-rw-r--r--arch/arm/mach-tegra/board-colibri_t30-pinmux.c24
-rw-r--r--arch/arm/mach-tegra/board-colibri_t30.c3
2 files changed, 15 insertions, 12 deletions
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 = {
{