summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-cardhu-pinmux.c
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2011-07-01 20:35:49 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:47:18 -0800
commit413b6c91405e5f72ad4048c61e74521d21e30403 (patch)
tree8105f19efafaa458cc330ed1736dc91133706e88 /arch/arm/mach-tegra/board-cardhu-pinmux.c
parent524a1168d335d4c9e21fad1249777822d576aa00 (diff)
arm: tegra: pm269: Low power mode to unused vddio-gmi pins
Putting the unused vddio_gmi pins into the low power mode. bug 833087 Original-Change-Id: I7595d011a61d5993fee167e89ed7eb204d5cb6b6 Reviewed-on: http://git-master/r/37877 Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Tested-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Matthew Longnecker <mlongnecker@nvidia.com> Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> Rebase-Id: R3fa74a5ebc7720b95f91f8da7b665e634522f210
Diffstat (limited to 'arch/arm/mach-tegra/board-cardhu-pinmux.c')
-rw-r--r--arch/arm/mach-tegra/board-cardhu-pinmux.c51
1 files changed, 51 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu-pinmux.c b/arch/arm/mach-tegra/board-cardhu-pinmux.c
index 14c2d5a787c5..3fc317b1fa93 100644
--- a/arch/arm/mach-tegra/board-cardhu-pinmux.c
+++ b/arch/arm/mach-tegra/board-cardhu-pinmux.c
@@ -453,6 +453,29 @@ static __initdata struct tegra_pingroup_config unused_pins_lowpower[] = {
DEFAULT_PINMUX(GMI_DQS, NAND, NORMAL, TRISTATE, OUTPUT),
};
+static __initdata struct tegra_pingroup_config gmi_pins_269[] = {
+ /* Continuation of table unused_pins_lowpower only for PM269 */
+ DEFAULT_PINMUX(GMI_CS0_N, NAND, PULL_UP, NORMAL, OUTPUT),
+ DEFAULT_PINMUX(GMI_CS1_N, NAND, PULL_UP, TRISTATE, OUTPUT),
+ DEFAULT_PINMUX(GMI_CS2_N, RSVD1, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(GMI_CS3_N, NAND, NORMAL, TRISTATE, OUTPUT),
+ DEFAULT_PINMUX(GMI_CS4_N, NAND, PULL_UP, NORMAL, INPUT),
+ DEFAULT_PINMUX(GMI_CS6_N, SATA, NORMAL, TRISTATE, OUTPUT),
+ DEFAULT_PINMUX(GMI_CS7_N, NAND, PULL_UP, NORMAL, INPUT),
+ DEFAULT_PINMUX(GMI_AD8, PWM0, NORMAL, NORMAL, OUTPUT),
+ DEFAULT_PINMUX(GMI_AD9, PWM1, NORMAL, NORMAL, OUTPUT),
+ DEFAULT_PINMUX(GMI_AD10, NAND, NORMAL, NORMAL, OUTPUT),
+ DEFAULT_PINMUX(GMI_AD11, NAND, NORMAL, NORMAL, OUTPUT),
+ DEFAULT_PINMUX(GMI_AD13, NAND, PULL_UP, TRISTATE, OUTPUT),
+ DEFAULT_PINMUX(GMI_AD15, NAND, PULL_UP, TRISTATE, INPUT),
+ DEFAULT_PINMUX(GMI_A16, SPI4, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(GMI_A17, SPI4, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(GMI_A18, SPI4, PULL_UP, NORMAL, INPUT),
+ DEFAULT_PINMUX(GMI_A19, SPI4, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(GMI_RST_N, NAND, PULL_UP, NORMAL, INPUT),
+ DEFAULT_PINMUX(GMI_WP_N, NAND, NORMAL, NORMAL, INPUT),
+};
+
static void __init cardhu_pinmux_audio_init(void)
{
tegra_gpio_enable(TEGRA_GPIO_CDC_IRQ);
@@ -490,6 +513,15 @@ int __init cardhu_pinmux_init(void)
ARRAY_SIZE(cardhu_pinmux_cardhu_a03));
}
break;
+
+ case BOARD_PM269:
+ tegra_pinmux_config_table(cardhu_pinmux_e118x,
+ ARRAY_SIZE(cardhu_pinmux_e118x));
+ tegra_pinmux_config_table(unused_pins_lowpower,
+ ARRAY_SIZE(unused_pins_lowpower));
+ tegra_pinmux_config_table(gmi_pins_269,
+ ARRAY_SIZE(gmi_pins_269));
+ break;
default:
tegra_pinmux_config_table(cardhu_pinmux_e118x,
ARRAY_SIZE(cardhu_pinmux_e118x));
@@ -528,6 +560,21 @@ struct pin_info_low_power_mode pin_lpm_cardhu_common[] = {
PIN_GPIO_LPM("GMI_WP_N", TEGRA_GPIO_PC7, 1, 0),
};
+struct pin_info_low_power_mode vddio_gmi_pins_pm269[] = {
+ PIN_GPIO_LPM("GMI_CS2", TEGRA_GPIO_PK3, 0, 0),
+ PIN_GPIO_LPM("GMI_CS3_N", TEGRA_GPIO_PK4, 0, 0),
+ PIN_GPIO_LPM("GMI_CS4_N", TEGRA_GPIO_PK2, 1, 0),
+ PIN_GPIO_LPM("GMI_AD9", TEGRA_GPIO_PH1, 0, 0),
+ PIN_GPIO_LPM("GMI_CS7", TEGRA_GPIO_PI6, 1, 0),
+ PIN_GPIO_LPM("GMI_CS0", TEGRA_GPIO_PJ0, 1, 0),
+ PIN_GPIO_LPM("GMI_CS1", TEGRA_GPIO_PJ2, 1, 0),
+ PIN_GPIO_LPM("GMI_WP_N", TEGRA_GPIO_PC7, 1, 0),
+ PIN_GPIO_LPM("GMI_A16", TEGRA_GPIO_PJ7, 0, 0),
+ PIN_GPIO_LPM("GMI_A17", TEGRA_GPIO_PB0, 0, 0),
+ PIN_GPIO_LPM("GMI_A18", TEGRA_GPIO_PB1, 1, 0),
+ PIN_GPIO_LPM("GMI_A19", TEGRA_GPIO_PK7, 0, 0),
+};
+
static void set_unused_pin_gpio(struct pin_info_low_power_mode *lpm_pin_info,
int list_count)
{
@@ -572,5 +619,9 @@ int __init cardhu_pins_state_init(void)
(board_info.board_id == BOARD_E1198))
set_unused_pin_gpio(&pin_lpm_cardhu_common[0],
ARRAY_SIZE(pin_lpm_cardhu_common));
+
+ if (board_info.board_id == BOARD_PM269)
+ set_unused_pin_gpio(&vddio_gmi_pins_pm269[0],
+ ARRAY_SIZE(vddio_gmi_pins_pm269));
return 0;
}