diff options
author | Seema Khowala <seemaj@nvidia.com> | 2012-08-22 11:14:29 -0700 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-08-27 17:17:21 -0700 |
commit | b536b496165f0de2e854e6297f54371e27233dd2 (patch) | |
tree | dc7bb9961dedad323185ead38ab07de1b7e1c4be /arch/arm/mach-tegra/board-enterprise.c | |
parent | 59983fe4193541acfd8c7df7bf98139e2ec44d11 (diff) |
ARM: tegra: TAI: Add E1239 support
Bug 1002637
Change-Id: I1271f95e8c174422bcb93eed3cc2bd7df8012479
Signed-off-by: Seema Khowala <seemaj@nvidia.com>
Reviewed-on: http://git-master/r/123537
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Scott Peterson <speterson@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-enterprise.c')
-rw-r--r-- | arch/arm/mach-tegra/board-enterprise.c | 46 |
1 files changed, 37 insertions, 9 deletions
diff --git a/arch/arm/mach-tegra/board-enterprise.c b/arch/arm/mach-tegra/board-enterprise.c index 0a3024f62dab..498f8a176991 100644 --- a/arch/arm/mach-tegra/board-enterprise.c +++ b/arch/arm/mach-tegra/board-enterprise.c @@ -875,18 +875,31 @@ static void enterprise_audio_init(void) tegra_get_board_info(&board_info); - if (board_info.board_id == BOARD_E1197) - enterprise_audio_pdata.i2s_param[HIFI_CODEC].audio_port_id = 1; - else if (board_info.fab == BOARD_FAB_A04) { - enterprise_audio_pdata.i2s_param[BASEBAND].audio_port_id = 4; + if (board_info.board_id == BOARD_E1239) { + enterprise_audio_aic326x_pdata.i2s_param[BASEBAND]. + audio_port_id = 4; + enterprise_audio_aic326x_pdata.i2s_param[BASEBAND]. + i2s_mode = TEGRA_DAIFMT_I2S; + enterprise_audio_aic326x_pdata.i2s_param[BASEBAND]. + channels = 2; platform_device_register(&tegra_i2s_device4); } else { - enterprise_audio_pdata.i2s_param[BASEBAND].audio_port_id = 2; - platform_device_register(&tegra_i2s_device2); - } + if (board_info.board_id == BOARD_E1197) + enterprise_audio_pdata.i2s_param[HIFI_CODEC]. + audio_port_id = 1; + else if (board_info.fab == BOARD_FAB_A04) { + enterprise_audio_pdata.i2s_param[BASEBAND]. + audio_port_id = 4; + platform_device_register(&tegra_i2s_device4); + } else { + enterprise_audio_pdata.i2s_param[BASEBAND]. + audio_port_id = 2; + platform_device_register(&tegra_i2s_device2); + } + } platform_add_devices(enterprise_audio_devices, - ARRAY_SIZE(enterprise_audio_devices)); + ARRAY_SIZE(enterprise_audio_devices)); } @@ -953,8 +966,12 @@ static struct platform_device tegra_baseband_m7400_device = { static void enterprise_baseband_init(void) { + struct board_info board_info; + int modem_id = tegra_get_modem_id(); + tegra_get_board_info(&board_info); + switch (modem_id) { case TEGRA_BB_PH450: /* PH450 ULPI */ enterprise_modem_init(); @@ -967,7 +984,13 @@ static void enterprise_baseband_init(void) &tegra_usb_hsic_host_register; tegra_baseband_power_data.hsic_unregister = &tegra_usb_hsic_host_unregister; - + if ((board_info.board_id == BOARD_E1239) && + (board_info.fab <= BOARD_FAB_A02)) { + tegra_baseband_power_data.modem. + xmm.ipc_hsic_active = BB_GPIO_LCD_PWR2; + tegra_baseband_power_data.modem. + xmm.ipc_hsic_sus_req = BB_GPIO_LCD_PWR1; + } platform_device_register(&tegra_baseband_power_device); platform_device_register(&tegra_baseband_power2_device); break; @@ -989,6 +1012,8 @@ static void enterprise_nfc_init(void) tegra_get_board_info(&bi); if (bi.board_id == BOARD_E1205 && bi.fab >= BOARD_FAB_A03) { nfc_pdata.firm_gpio = TEGRA_GPIO_PX7; + } else if (bi.board_id == BOARD_E1239) { + nfc_pdata.firm_gpio = TEGRA_GPIO_PN6; } } @@ -1009,6 +1034,9 @@ static void __init tegra_enterprise_init(void) enterprise_i2c_init(); enterprise_uart_init(); enterprise_usb_init(); + if (board_info.board_id == BOARD_E1239) + enterprise_bt_rfkill_pdata[0].shutdown_gpio = TEGRA_GPIO_PF4; + platform_add_devices(enterprise_devices, ARRAY_SIZE(enterprise_devices)); tegra_ram_console_debug_init(); enterprise_regulator_init(); |