diff options
author | Laxman Dewangan <ldewangan@nvidia.com> | 2011-07-14 14:38:02 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:48:30 -0800 |
commit | c245eea38509ef54e802ab9ef4ff429bbf69ce03 (patch) | |
tree | 6b2cf669575e8cc5d6c640139e9f7b55a6e74e77 /arch/arm/mach-tegra/board-cardhu.c | |
parent | 66874fbae7627227800424c2a426e0f7287156d7 (diff) |
arm: tegra: cardhu: Reset Modem during init
Resetting the modem during the kernel boot for E1291-A04.
bug 817238
Original-Change-Id: Id0862d39306b87a04a28abd205455d97dd05109e
Reviewed-on: http://git-master/r/38693
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Rebase-Id: Rf42e80598a66f46cd0ef0e2bfacca3917eb86c45
Diffstat (limited to 'arch/arm/mach-tegra/board-cardhu.c')
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu.c b/arch/arm/mach-tegra/board-cardhu.c index ea8cab8a6d10..295303a6efe9 100644 --- a/arch/arm/mach-tegra/board-cardhu.c +++ b/arch/arm/mach-tegra/board-cardhu.c @@ -739,7 +739,7 @@ static void cardhu_modem_init(void) tegra_get_board_info(&board_info); switch (board_info.board_id) { case BOARD_E1291: - if (board_info.fab < 0x3) { + if (board_info.fab < BOARD_FAB_A03) { w_disable_gpio = TEGRA_GPIO_PH5; } else { w_disable_gpio = TEGRA_GPIO_PDD5; @@ -751,6 +751,18 @@ static void cardhu_modem_init(void) __func__, w_disable_gpio); else gpio_direction_input(w_disable_gpio); + + /* E1291-A04: Set PERST signal to low */ + if (board_info.fab >= BOARD_FAB_A04) { + ret = gpio_request(TEGRA_GPIO_PH7, "modem_perst"); + if (ret < 0) { + pr_err("%d(): Error in allocating gpio " + "TEGRA_GPIO_PH7\n", __func__); + break; + } + gpio_direction_output(TEGRA_GPIO_PH7, 0); + tegra_gpio_enable(TEGRA_GPIO_PH7); + } break; case BOARD_E1186: tegra_gpio_enable( |