summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-cardhu-pinmux.c
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2011-04-20 15:37:17 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:45:49 -0800
commit3c9da9783531effd5a5fc26dfc39006a7c272173 (patch)
tree56fe413fd692d3dbf6b7f6055f76d786e59fda7c /arch/arm/mach-tegra/board-cardhu-pinmux.c
parent98a127e7984a92e1b0dba2e86ecf1cd1649c6ea7 (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.c35
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,