diff options
author | Sheshagiri Shenoy <sshenoy@nvidia.com> | 2011-08-15 16:43:51 -0700 |
---|---|---|
committer | Cheryl Jones <chjones@nvidia.com> | 2011-08-29 15:16:07 -0700 |
commit | a06d3db94b8ae0b8b8f87c5a46689a68c5905fd0 (patch) | |
tree | edfa655e09000cdc03efd9bd71ad30423d6d0d1f | |
parent | 929cb12d8a403ecef92aa09c0f670f963412ae99 (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.c | 23 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-whistler-baseband.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-whistler.c | 2 |
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) |