diff options
author | Laxman Dewangan <ldewangan@nvidia.com> | 2011-04-20 15:37:17 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:45:49 -0800 |
commit | 3c9da9783531effd5a5fc26dfc39006a7c272173 (patch) | |
tree | 56fe413fd692d3dbf6b7f6055f76d786e59fda7c /arch/arm/mach-tegra/board-cardhu-pinmux.c | |
parent | 98a127e7984a92e1b0dba2e86ecf1cd1649c6ea7 (diff) |
arm: tegra: cardhu: Unused vddio_gmi pins to low power
Configuring the unused pins from VDDIO_GMI io rail to output/pulldown/
tristate mode to have low power consumption from this pins.
bug 807813
Original-Change-Id: I17eac7de6066a551f4729c23c5c7d232ca7881b6
Reviewed-on: http://git-master/r/28320
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Original-Change-Id: I5c7856b8e79625777216b714df7716d4879bb187
Rebase-Id: R9408202b3e78f0be3257ecf584aedb2855547011
Diffstat (limited to 'arch/arm/mach-tegra/board-cardhu-pinmux.c')
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu-pinmux.c | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu-pinmux.c b/arch/arm/mach-tegra/board-cardhu-pinmux.c index 9056887308be..c59d75f2400e 100644 --- a/arch/arm/mach-tegra/board-cardhu-pinmux.c +++ b/arch/arm/mach-tegra/board-cardhu-pinmux.c @@ -406,6 +406,11 @@ static __initdata struct tegra_pingroup_config cardhu_pinmux_cardhu[] = { DEFAULT_PINMUX(GMI_CS2_N, NAND, NORMAL, NORMAL, OUTPUT), DEFAULT_PINMUX(GMI_RST_N, RSVD3, PULL_UP, TRISTATE, INPUT), DEFAULT_PINMUX(GMI_AD15, NAND, PULL_UP, TRISTATE, INPUT), + + DEFAULT_PINMUX(GMI_CS0_N, GMI, NORMAL, NORMAL, OUTPUT), + DEFAULT_PINMUX(GMI_CS1_N, GMI, NORMAL, TRISTATE, OUTPUT), + /*TP_IRQ*/ + DEFAULT_PINMUX(GMI_CS4_N, GMI, NORMAL, NORMAL, INPUT), }; static __initdata struct tegra_pingroup_config cardhu_pinmux_cardhu_a03[] = { @@ -425,6 +430,27 @@ static __initdata struct tegra_pingroup_config cardhu_pinmux_e1198[] = { DEFAULT_PINMUX(SPI2_CS2_N, SPI2, PULL_UP, NORMAL, INPUT), }; +static __initdata struct tegra_pingroup_config unused_pins_lowpower[] = { + DEFAULT_PINMUX(GMI_WAIT, GMI, PULL_UP, TRISTATE, OUTPUT), + DEFAULT_PINMUX(GMI_ADV_N, GMI, PULL_UP, TRISTATE, OUTPUT), + DEFAULT_PINMUX(GMI_CLK, GMI, PULL_DOWN, TRISTATE, OUTPUT), + DEFAULT_PINMUX(GMI_CS3_N, GMI, PULL_UP, TRISTATE, OUTPUT), + DEFAULT_PINMUX(GMI_CS6_N, GMI, PULL_UP, TRISTATE, OUTPUT), + DEFAULT_PINMUX(GMI_AD0, GMI, NORMAL, TRISTATE, OUTPUT), + DEFAULT_PINMUX(GMI_AD1, GMI, NORMAL, TRISTATE, OUTPUT), + DEFAULT_PINMUX(GMI_AD2, GMI, NORMAL, TRISTATE, OUTPUT), + DEFAULT_PINMUX(GMI_AD3, GMI, NORMAL, TRISTATE, OUTPUT), + DEFAULT_PINMUX(GMI_AD4, GMI, NORMAL, TRISTATE, OUTPUT), + DEFAULT_PINMUX(GMI_AD5, GMI, NORMAL, TRISTATE, OUTPUT), + DEFAULT_PINMUX(GMI_AD6, GMI, NORMAL, TRISTATE, OUTPUT), + DEFAULT_PINMUX(GMI_AD7, GMI, NORMAL, TRISTATE, OUTPUT), + DEFAULT_PINMUX(GMI_AD9, GMI, PULL_DOWN, TRISTATE, OUTPUT), + DEFAULT_PINMUX(GMI_AD11, GMI, PULL_DOWN, TRISTATE, OUTPUT), + DEFAULT_PINMUX(GMI_WR_N, GMI, PULL_UP, TRISTATE, OUTPUT), + DEFAULT_PINMUX(GMI_OE_N, GMI, PULL_UP, TRISTATE, OUTPUT), + DEFAULT_PINMUX(GMI_DQS, GMI, PULL_UP, TRISTATE, OUTPUT), +}; + int __init cardhu_pinmux_init(void) { struct board_info board_info; @@ -439,14 +465,19 @@ int __init cardhu_pinmux_init(void) ARRAY_SIZE(cardhu_pinmux_cardhu)); tegra_pinmux_config_table(cardhu_pinmux_e1198, ARRAY_SIZE(cardhu_pinmux_e1198)); + tegra_pinmux_config_table(unused_pins_lowpower, + ARRAY_SIZE(unused_pins_lowpower)); break; case BOARD_E1291: - if (board_info.fab < 0x3) + if (board_info.fab < 0x3) { tegra_pinmux_config_table(cardhu_pinmux_cardhu, ARRAY_SIZE(cardhu_pinmux_cardhu)); - else + tegra_pinmux_config_table(unused_pins_lowpower, + ARRAY_SIZE(unused_pins_lowpower)); + } else { tegra_pinmux_config_table(cardhu_pinmux_cardhu_a03, ARRAY_SIZE(cardhu_pinmux_cardhu_a03)); + } break; default: tegra_pinmux_config_table(cardhu_pinmux_e118x, |