diff options
author | Sheshagiri Shenoy <sshenoy@nvidia.com> | 2011-09-27 15:20:07 -0700 |
---|---|---|
committer | Cheryl Jones <chjones@nvidia.com> | 2011-09-28 15:56:29 -0700 |
commit | 2675f16ffa2b7bcf2ec73e491197ad44e319ac83 (patch) | |
tree | fe8e5ff1c879ebe4e7be0de9b7352689e4ed12a1 | |
parent | 3095aed238aec06ce9dc131ddd1b3ff010790523 (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.c | 18 |
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) |