summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-enterprise.c
diff options
context:
space:
mode:
authorRaj Jayaraman <rjayaraman@nvidia.com>2011-10-14 13:50:36 -0700
committerVarun Wadekar <vwadekar@nvidia.com>2011-12-15 11:51:37 +0530
commit6f0badd09cbf100b21746cd5dcc6434b9906f25b (patch)
tree0e64702a65bce208facac251a57b149964305024 /arch/arm/mach-tegra/board-enterprise.c
parent0396dc3981cefdf9c980674194ef9bfb9b26a441 (diff)
arm: tegra: enterprise: Add support for M7400 modem.
Bug 878736 Bug 886459 (cherry picked from commit b840e235505829d7e11f2a984fb39d34bfb8f8d9) Signed-off-by: Raj Jayaraman <rjayaraman@nvidia.com> Change-Id: I08e48d03eced6e24f2b005d6f6a73cd4fec5c368 Reviewed-on: http://git-master/r/68295 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-enterprise.c')
-rw-r--r--arch/arm/mach-tegra/board-enterprise.c42
1 files changed, 39 insertions, 3 deletions
diff --git a/arch/arm/mach-tegra/board-enterprise.c b/arch/arm/mach-tegra/board-enterprise.c
index fdf1e522b9df..f27f0a7817a0 100644
--- a/arch/arm/mach-tegra/board-enterprise.c
+++ b/arch/arm/mach-tegra/board-enterprise.c
@@ -53,7 +53,7 @@
#include <mach/i2s.h>
#include <mach/tegra_max98088_pdata.h>
#include <mach/thermal.h>
-
+#include <mach/tegra-bb-power.h>
#include "board.h"
#include "clock.h"
#include "board-enterprise.h"
@@ -825,15 +825,44 @@ static struct platform_device tegra_baseband_power2_device = {
},
};
+#ifdef CONFIG_TEGRA_BB_M7400
+static union tegra_bb_gpio_id m7400_gpio_id = {
+ .m7400 = {
+ .pwr_status = GPIO_BB_RESET,
+ .pwr_on = GPIO_BB_PWRON,
+ .uart_awr = GPIO_BB_APACK,
+ .uart_cwr = GPIO_BB_CPACK,
+ .usb_awr = GPIO_BB_APACK2,
+ .usb_cwr = GPIO_BB_CPACK2,
+ .service = GPIO_BB_RSVD2,
+ .resout2 = GPIO_BB_RSVD1,
+ },
+};
+
+static struct tegra_bb_pdata m7400_pdata = {
+ .id = &m7400_gpio_id,
+ .device = &tegra_ehci2_device,
+ .bb_id = TEGRA_BB_M7400,
+};
+
+static struct platform_device tegra_baseband_m7400_device = {
+ .name = "tegra_baseband_power",
+ .id = -1,
+ .dev = {
+ .platform_data = &m7400_pdata,
+ },
+};
+#endif
+
static void enterprise_baseband_init(void)
{
int modem_id = tegra_get_modem_id();
switch (modem_id) {
- case 1: /* PH450 ULPI */
+ case TEGRA_BB_PH450: /* PH450 ULPI */
enterprise_modem_init();
break;
- case 2: /* XMM6260 HSIC */
+ case TEGRA_BB_XMM6260: /* XMM6260 HSIC */
/* xmm baseband - do not switch off phy during suspend */
tegra_ehci_uhsic_pdata.power_down_on_bus_suspend = 0;
uhsic_phy_config.postsuspend = enterprise_usb_hsic_postsupend;
@@ -860,6 +889,13 @@ static void enterprise_baseband_init(void)
platform_device_register(&tegra_baseband_power_device);
platform_device_register(&tegra_baseband_power2_device);
break;
+#ifdef CONFIG_TEGRA_BB_M7400
+ case TEGRA_BB_M7400: /* M7400 HSIC */
+ tegra_ehci2_device.dev.platform_data
+ = &tegra_ehci_uhsic_pdata;
+ platform_device_register(&tegra_baseband_m7400_device);
+ break;
+#endif
}
}