summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-enterprise.c
diff options
context:
space:
mode:
authorSeema Khowala <seemaj@nvidia.com>2012-08-22 11:14:29 -0700
committerSimone Willett <swillett@nvidia.com>2012-08-27 17:17:21 -0700
commitb536b496165f0de2e854e6297f54371e27233dd2 (patch)
treedc7bb9961dedad323185ead38ab07de1b7e1c4be /arch/arm/mach-tegra/board-enterprise.c
parent59983fe4193541acfd8c7df7bf98139e2ec44d11 (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.c46
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();