summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyungwoo Yang <hyungwooy@nvidia.com>2011-09-12 18:28:10 -0700
committerVarun Colbert <vcolbert@nvidia.com>2011-09-13 18:57:10 -0700
commitce437b182464dbcc84b9317ad7b423ad12320f42 (patch)
tree6f01d459f8307a9ae85c6c3c8814087c5d4eb5c0
parent79e47da826efbf362f049ebafc6fa3acdcfcd732 (diff)
tegra: cardhu: support E1198 + PM313
This change supports PM313(reworked) with 19X12 on E1198. Bug ID : 875415 Change-Id: Ia774278c8f652dfb4204bb7c82976f101f0b559e Reviewed-on: http://git-master/r/51929 Reviewed-by: Hyungwoo Yang <hyungwooy@nvidia.com> Tested-by: Hyungwoo Yang <hyungwooy@nvidia.com> Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/board-cardhu-pinmux.c45
1 files changed, 23 insertions, 22 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu-pinmux.c b/arch/arm/mach-tegra/board-cardhu-pinmux.c
index 81fa93d24f19..2e9d859ff352 100644
--- a/arch/arm/mach-tegra/board-cardhu-pinmux.c
+++ b/arch/arm/mach-tegra/board-cardhu-pinmux.c
@@ -600,30 +600,19 @@ struct pin_info_low_power_mode {
struct pin_info_low_power_mode pin_lpm_cardhu_common[] = {
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_AD11", TEGRA_GPIO_PH3, 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),
};
-struct pin_info_low_power_mode vddio_gmi_pins_pm269[] = {
- PIN_GPIO_LPM("GMI_CS2", TEGRA_GPIO_PK3, 1, 0),
- PIN_GPIO_LPM("GMI_CS3_N", TEGRA_GPIO_PK4, 0, 0),
- PIN_GPIO_LPM("GMI_CS4_N", TEGRA_GPIO_PK2, 1, 0),
+/* E1198 without PM313 display board */
+struct pin_info_low_power_mode pin_lpm_cardhu_common_wo_pm313[] = {
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),
+ PIN_GPIO_LPM("GMI_AD11", TEGRA_GPIO_PH3, 0, 0),
};
-struct pin_info_low_power_mode vddio_gmi_pins_pm269_pm313[] = {
+struct pin_info_low_power_mode vddio_gmi_pins_pm269[] = {
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_CS7", TEGRA_GPIO_PI6, 1, 0),
@@ -636,6 +625,12 @@ struct pin_info_low_power_mode vddio_gmi_pins_pm269_pm313[] = {
PIN_GPIO_LPM("GMI_A19", TEGRA_GPIO_PK7, 0, 0),
};
+/* PM269 without PM313 display board */
+struct pin_info_low_power_mode vddio_gmi_pins_pm269_wo_pm313[] = {
+ PIN_GPIO_LPM("GMI_CS2", TEGRA_GPIO_PK3, 1, 0),
+ PIN_GPIO_LPM("GMI_AD9", TEGRA_GPIO_PH1, 0, 0),
+};
+
static void set_unused_pin_gpio(struct pin_info_low_power_mode *lpm_pin_info,
int list_count)
{
@@ -679,20 +674,26 @@ int __init cardhu_pins_state_init(void)
tegra_get_board_info(&board_info);
tegra_get_display_board_info(&display_board_info);
if ((board_info.board_id == BOARD_E1291) ||
- (board_info.board_id == BOARD_E1198))
+ (board_info.board_id == BOARD_E1198)) {
set_unused_pin_gpio(&pin_lpm_cardhu_common[0],
ARRAY_SIZE(pin_lpm_cardhu_common));
+ if (display_board_info.board_id != BOARD_DISPLAY_PM313) {
+ set_unused_pin_gpio(&pin_lpm_cardhu_common_wo_pm313[0],
+ ARRAY_SIZE(pin_lpm_cardhu_common_wo_pm313));
+ }
+ }
+
if ((board_info.board_id == BOARD_PM269) ||
(board_info.board_id == BOARD_PM305) ||
(board_info.board_id == BOARD_PM311)) {
- if (display_board_info.board_id == BOARD_DISPLAY_PM313) {
- set_unused_pin_gpio(&vddio_gmi_pins_pm269_pm313[0],
- ARRAY_SIZE(vddio_gmi_pins_pm269_pm313));
- } else {
set_unused_pin_gpio(&vddio_gmi_pins_pm269[0],
- ARRAY_SIZE(vddio_gmi_pins_pm269));
- }
+ ARRAY_SIZE(vddio_gmi_pins_pm269));
+
+ if (display_board_info.board_id != BOARD_DISPLAY_PM313) {
+ set_unused_pin_gpio(&vddio_gmi_pins_pm269_wo_pm313[0],
+ ARRAY_SIZE(vddio_gmi_pins_pm269_wo_pm313));
+ }
}
return 0;