summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSheshagiri Shenoy <sshenoy@nvidia.com>2011-09-27 15:20:07 -0700
committerCheryl Jones <chjones@nvidia.com>2011-09-28 15:56:29 -0700
commit2675f16ffa2b7bcf2ec73e491197ad44e319ac83 (patch)
treefe8e5ff1c879ebe4e7be0de9b7352689e4ed12a1
parent3095aed238aec06ce9dc131ddd1b3ff010790523 (diff)
ARM: tegra: whistler: conditionally enable icera PH450 (i450) modem
- Modem related init is done conditionally depending on the board personality. - Debug UART init is also done conditionally since UARTA shares pins with ULPI. bug: 877489 860984 Change-Id: Icb5ffdf67523de3db575e6002eebcd9a6aa9452e Reviewed-on: http://git-master/r/54806 Reviewed-by: Sheshagiri Shenoy <sshenoy@nvidia.com> Tested-by: Sheshagiri Shenoy <sshenoy@nvidia.com> Reviewed-by: Martin Chabot <mchabot@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/board-whistler.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/arch/arm/mach-tegra/board-whistler.c b/arch/arm/mach-tegra/board-whistler.c
index a0dbe78b101f..7ceaf477ad91 100644
--- a/arch/arm/mach-tegra/board-whistler.c
+++ b/arch/arm/mach-tegra/board-whistler.c
@@ -146,6 +146,7 @@ static void __init whistler_uart_init(void)
{
int i;
struct clk *c;
+ unsigned long board_personality;
for (i = 0; i < ARRAY_SIZE(uart_parent_clk); ++i) {
c = tegra_get_clock_by_name(uart_parent_clk[i].name);
@@ -164,9 +165,17 @@ static void __init whistler_uart_init(void)
tegra_uartb_device.dev.platform_data = &whistler_uart_pdata;
tegra_uartc_device.dev.platform_data = &whistler_uart_pdata;
- /* Register low speed only if it is selected */
- if (!is_tegra_debug_uartport_hs())
- uart_debug_init();
+ /* Register low speed only if it is selected
+ * Debug UART can not be hard coded to UARTA.. Modem needs it.
+ * Check if the modem personality indicates a MOdem in use before
+ * before initializing debug uart.
+ */
+ if (!is_tegra_debug_uartport_hs()) {
+ board_personality = get_board_personality();
+ if ((board_personality != 0x0) && (board_personality != 0x2))
+ uart_debug_init();
+ }
+
platform_add_devices(whistler_uart_devices,
ARRAY_SIZE(whistler_uart_devices));
@@ -790,8 +799,9 @@ static void __init tegra_whistler_init(void)
whistler_emc_init();
board_personality = get_board_personality();
- if (board_personality != 0x05)
+ if ((board_personality == 0x0) || (board_personality == 0x2))
whistler_baseband_ph450_init();
+
}
int __init tegra_whistler_protected_aperture_init(void)