summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSheshagiri Shenoy <sshenoy@nvidia.com>2011-08-15 16:43:51 -0700
committerCheryl Jones <chjones@nvidia.com>2011-08-29 15:16:07 -0700
commita06d3db94b8ae0b8b8f87c5a46689a68c5905fd0 (patch)
treeedfa655e09000cdc03efd9bd71ad30423d6d0d1f
parent929cb12d8a403ecef92aa09c0f670f963412ae99 (diff)
ARM: tegra: whistler: enable icera PH450 (i450) modem
bug: 856337 Change-Id: Ie50cad7f4fd42495186f119707cc87afeadab748 Reviewed-on: http://git-master/r/47205 Reviewed-by: Sheshagiri Shenoy <sshenoy@nvidia.com> Tested-by: Cheryl Jones <chjones@nvidia.com> Reviewed-by: Cheryl Jones <chjones@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/board-whistler-baseband.c23
-rw-r--r--arch/arm/mach-tegra/board-whistler-baseband.h1
-rw-r--r--arch/arm/mach-tegra/board-whistler.c2
3 files changed, 8 insertions, 18 deletions
diff --git a/arch/arm/mach-tegra/board-whistler-baseband.c b/arch/arm/mach-tegra/board-whistler-baseband.c
index 3841492d92d1..bb974d99cedf 100644
--- a/arch/arm/mach-tegra/board-whistler-baseband.c
+++ b/arch/arm/mach-tegra/board-whistler-baseband.c
@@ -206,8 +206,8 @@ static struct tegra_ulpi_trimmer e951_trimmer = { 10, 1, 1, 1 };
static struct tegra_ulpi_config ehci2_null_ulpi_phy_config = {
.inf_type = TEGRA_USB_NULL_ULPI,
.trimmer = &e951_trimmer,
- .preinit = rainbow_570_reset,
- .postinit = rainbow_570_handshake,
+ .preinit = ph450_reset,
+ .postinit = ph450_handshake,
};
static struct tegra_ehci_platform_data ehci2_null_ulpi_platform_data = {
@@ -336,25 +336,14 @@ static int __init ph450_init(void)
static int ph450_reset(void)
{
- int retry = 100; /* retry for 10 sec */
-
gpio_set_value(AP2MDM_ACK2, 1);
gpio_set_value(MODEM_PWR_ON, 0);
+ gpio_set_value(MODEM_PWR_ON, 1);
+ mdelay(30);
gpio_set_value(MODEM_RESET, 0);
mdelay(200);
gpio_set_value(MODEM_RESET, 1);
mdelay(30);
- gpio_set_value(MODEM_PWR_ON, 1);
-
- while (retry) {
- /* wait for MDM2AP_ACK2 low */
- int val = gpio_get_value(MDM2AP_ACK2);
- if (!val)
- break;
- else
- retry--;
- mdelay(100);
- }
return 1;
}
@@ -367,14 +356,14 @@ static int ph450_handshake(void)
return 0;
}
-int __init whistler_baseband_ph450_init(void)
+int whistler_baseband_ph450_init(void)
{
int ret;
tegra_pinmux_config_table(whistler_null_ulpi_pinmux,
ARRAY_SIZE(whistler_null_ulpi_pinmux));
- ret = rainbow_570_init();
+ ret = ph450_init();
if (ret) {
pr_err("modem init failed\n");
return ret;
diff --git a/arch/arm/mach-tegra/board-whistler-baseband.h b/arch/arm/mach-tegra/board-whistler-baseband.h
index c8f561669468..6336ed77d8d4 100644
--- a/arch/arm/mach-tegra/board-whistler-baseband.h
+++ b/arch/arm/mach-tegra/board-whistler-baseband.h
@@ -68,6 +68,7 @@ struct whistler_baseband {
};
int whistler_baseband_init(void);
+int whistler_baseband_ph450_init(void);
#endif /* BOARD_WHISTLER_BASEBAND_H */
diff --git a/arch/arm/mach-tegra/board-whistler.c b/arch/arm/mach-tegra/board-whistler.c
index 502eaac10417..ab10be1c998e 100644
--- a/arch/arm/mach-tegra/board-whistler.c
+++ b/arch/arm/mach-tegra/board-whistler.c
@@ -786,7 +786,7 @@ static void __init tegra_whistler_init(void)
whistler_codec_init();
whistler_power_off_init();
whistler_emc_init();
- whistler_baseband_init();
+ whistler_baseband_ph450_init();
}
int __init tegra_whistler_protected_aperture_init(void)