diff options
author | Laxman Dewangan <ldewangan@nvidia.com> | 2011-08-31 11:46:43 +0530 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-10-12 14:13:01 -0700 |
commit | 656da1d33b44190dc34073fa2e134772b18a3e14 (patch) | |
tree | 68c3e75ce2a22f559ec0e34c817a9fb2f6089bb6 /arch/arm | |
parent | f50a3f1e801f8c796d6b1b987dd5feab0d14f96f (diff) |
arm: tegra: cardhu: Support for PM311
Adding support for PM311 based system.
bug 870139
Reviewed-on: http://git-master/r/50012
(cherry picked from commit d319d9980b6b225735ac97160fdee18fbabba2f0)
Change-Id: Iaa28921761e035e8fa29956b776f9379ae326b42
Reviewed-on: http://git-master/r/57251
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu-kbc.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu-memory.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu-panel.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu-pinmux.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu-power.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu-sdhci.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu-sensors.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu.h | 1 |
8 files changed, 24 insertions, 8 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu-kbc.c b/arch/arm/mach-tegra/board-cardhu-kbc.c index 666850368e28..1408e5952222 100644 --- a/arch/arm/mach-tegra/board-cardhu-kbc.c +++ b/arch/arm/mach-tegra/board-cardhu-kbc.c @@ -114,7 +114,8 @@ int __init cardhu_kbc_init(void) return 0; if ((board_info.board_id == BOARD_PM269) || - (board_info.board_id == BOARD_PM305)) { + (board_info.board_id == BOARD_PM305) || + (board_info.board_id == BOARD_PM311)) { cardhu_kbc_platform_data.plain_keycode = plain_kbd_keycode_pm269; row_count = CARDHU_PM269_ROW_COUNT; col_count = CARDHU_PM269_COL_COUNT; @@ -244,6 +245,7 @@ int __init cardhu_keys_init(void) if (!((board_info.board_id == BOARD_E1198) || (board_info.board_id == BOARD_E1291) || (board_info.board_id == BOARD_PM305) || + (board_info.board_id == BOARD_PM311) || (board_info.board_id == BOARD_PM269))) return 0; @@ -266,6 +268,7 @@ int __init cardhu_keys_init(void) /* Register on-key through pmu interrupt */ if ((board_info.board_id == BOARD_E1291) || (board_info.board_id == BOARD_PM305) || + (board_info.board_id == BOARD_PM311) || (board_info.board_id == BOARD_PM269)) platform_device_register(&cardhu_int_keys_device); return 0; diff --git a/arch/arm/mach-tegra/board-cardhu-memory.c b/arch/arm/mach-tegra/board-cardhu-memory.c index 885392f62624..905c6f0ee72a 100644 --- a/arch/arm/mach-tegra/board-cardhu-memory.c +++ b/arch/arm/mach-tegra/board-cardhu-memory.c @@ -2534,7 +2534,6 @@ int cardhu_emc_init(void) switch (board.board_id) { case BOARD_PM269: - case BOARD_PM305: if (MEMORY_TYPE(board.sku) == SKU_MEMORY_ELPIDA) tegra_init_emc(cardhu_emc_tables_edb8132b2ma, ARRAY_SIZE(cardhu_emc_tables_edb8132b2ma)); @@ -2542,6 +2541,10 @@ int cardhu_emc_init(void) tegra_init_emc(cardhu_emc_tables_k4p8g304eb, ARRAY_SIZE(cardhu_emc_tables_k4p8g304eb)); break; + + case BOARD_PM305: + case BOARD_PM311: + break; default: if (tegra_get_revision() == TEGRA_REVISION_A01) tegra_init_emc(cardhu_emc_tables_h5tc2g, diff --git a/arch/arm/mach-tegra/board-cardhu-panel.c b/arch/arm/mach-tegra/board-cardhu-panel.c index 3503dd137412..1efc243243b3 100644 --- a/arch/arm/mach-tegra/board-cardhu-panel.c +++ b/arch/arm/mach-tegra/board-cardhu-panel.c @@ -267,7 +267,8 @@ static int cardhu_panel_enable(void) regulator_enable(cardhu_lvds_vdd_panel); } if ((board_info.board_id == BOARD_PM269) || - (board_info.board_id == BOARD_PM305)) + (board_info.board_id == BOARD_PM305) || + (board_info.board_id == BOARD_PM311)) gpio_set_value(pm269_lvds_shutdown, 1); else gpio_set_value(cardhu_lvds_shutdown, 1); @@ -289,7 +290,8 @@ static int cardhu_panel_disable(void) regulator_put(cardhu_lvds_vdd_panel); cardhu_lvds_vdd_panel= NULL; if ((board_info.board_id == BOARD_PM269) || - (board_info.board_id == BOARD_PM305)) + (board_info.board_id == BOARD_PM305) || + (board_info.board_id == BOARD_PM311)) gpio_set_value(pm269_lvds_shutdown, 0); else gpio_set_value(cardhu_lvds_shutdown, 0); @@ -1012,7 +1014,8 @@ int __init cardhu_panel_init(void) } if ((board_info.board_id == BOARD_PM269) || - (board_info.board_id == BOARD_PM305)) { + (board_info.board_id == BOARD_PM305) || + (board_info.board_id == BOARD_PM311)) { gpio_request(pm269_lvds_shutdown, "lvds_shutdown"); gpio_direction_output(pm269_lvds_shutdown, 1); tegra_gpio_enable(pm269_lvds_shutdown); diff --git a/arch/arm/mach-tegra/board-cardhu-pinmux.c b/arch/arm/mach-tegra/board-cardhu-pinmux.c index a478e0f4ac4d..59e2e9715572 100644 --- a/arch/arm/mach-tegra/board-cardhu-pinmux.c +++ b/arch/arm/mach-tegra/board-cardhu-pinmux.c @@ -552,6 +552,7 @@ int __init cardhu_pinmux_init(void) case BOARD_PM269: case BOARD_PM305: + case BOARD_PM311: tegra_pinmux_config_table(cardhu_pinmux_e118x, ARRAY_SIZE(cardhu_pinmux_e118x)); tegra_pinmux_config_table(unused_pins_lowpower, @@ -658,7 +659,8 @@ int __init cardhu_pins_state_init(void) ARRAY_SIZE(pin_lpm_cardhu_common)); if ((board_info.board_id == BOARD_PM269) || - (board_info.board_id == BOARD_PM305)) + (board_info.board_id == BOARD_PM305) || + (board_info.board_id == BOARD_PM311)) set_unused_pin_gpio(&vddio_gmi_pins_pm269[0], ARRAY_SIZE(vddio_gmi_pins_pm269)); return 0; diff --git a/arch/arm/mach-tegra/board-cardhu-power.c b/arch/arm/mach-tegra/board-cardhu-power.c index 7fefda92e374..4df05f0de6d9 100644 --- a/arch/arm/mach-tegra/board-cardhu-power.c +++ b/arch/arm/mach-tegra/board-cardhu-power.c @@ -937,6 +937,7 @@ int __init cardhu_gpio_switch_regulator_init(void) case BOARD_PM269: case BOARD_PM305: + case BOARD_PM311: gswitch_pdata.num_subdevs = ARRAY_SIZE(gswitch_subdevs_pm269); gswitch_pdata.subdevs = gswitch_subdevs_pm269; break; @@ -1006,6 +1007,7 @@ int __init cardhu_suspend_init(void) case BOARD_E1198: case BOARD_PM269: case BOARD_PM305: + case BOARD_PM311: break; case BOARD_E1187: case BOARD_E1186: diff --git a/arch/arm/mach-tegra/board-cardhu-sdhci.c b/arch/arm/mach-tegra/board-cardhu-sdhci.c index ba2b3e996712..37f2713715b0 100644 --- a/arch/arm/mach-tegra/board-cardhu-sdhci.c +++ b/arch/arm/mach-tegra/board-cardhu-sdhci.c @@ -282,7 +282,8 @@ int __init cardhu_sdhci_init(void) struct board_info board_info; tegra_get_board_info(&board_info); if ((board_info.board_id == BOARD_PM269) || - (board_info.board_id == BOARD_PM305)) { + (board_info.board_id == BOARD_PM305) || + (board_info.board_id == BOARD_PM311)) { tegra_sdhci_platform_data0.wp_gpio = PM269_SD_WP; } diff --git a/arch/arm/mach-tegra/board-cardhu-sensors.c b/arch/arm/mach-tegra/board-cardhu-sensors.c index d532f6bf1d0e..9a87e67c6bd8 100644 --- a/arch/arm/mach-tegra/board-cardhu-sensors.c +++ b/arch/arm/mach-tegra/board-cardhu-sensors.c @@ -588,7 +588,8 @@ static int cardhu_nct1008_init(void) if ((board_info.board_id == BOARD_E1198) || (board_info.board_id == BOARD_E1291) || (board_info.board_id == BOARD_PM269) || - (board_info.board_id == BOARD_PM305)) { + (board_info.board_id == BOARD_PM305) || + (board_info.board_id == BOARD_PM311)) { nct1008_port = TEGRA_GPIO_PCC2; } else if ((board_info.board_id == BOARD_E1186) || (board_info.board_id == BOARD_E1187) || diff --git a/arch/arm/mach-tegra/board-cardhu.h b/arch/arm/mach-tegra/board-cardhu.h index 09966e83143a..c414f9dfca97 100644 --- a/arch/arm/mach-tegra/board-cardhu.h +++ b/arch/arm/mach-tegra/board-cardhu.h @@ -35,6 +35,7 @@ #define BOARD_PM269 0x0245 #define BOARD_E1208 0x0C08 #define BOARD_PM305 0x0305 +#define BOARD_PM311 0x030B /* SKU Information */ #define SKU_DCDC_TPS62361_SUPPORT 0x1 |