summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-cardhu.c
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2011-07-14 14:38:02 +0530
committerRohan Somvanshi <rsomvanshi@nvidia.com>2011-08-23 07:48:33 -0700
commit9f71aaf67ff5c7414d3bbe38c259ae8d59f723ff (patch)
tree2dfaacf66491519b5efa1d390992357d451c13c0 /arch/arm/mach-tegra/board-cardhu.c
parent0ef115904285e4b3a0da700767ab5ff18ba17138 (diff)
arm: tegra: cardhu: Reset Modem during init
Resetting the modem during the kernel boot for E1291-A04. bug 817238 Change-Id: Id0862d39306b87a04a28abd205455d97dd05109e Reviewed-on: http://git-master/r/38693 Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-cardhu.c')
-rw-r--r--arch/arm/mach-tegra/board-cardhu.c14
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 0afb30967992..0c53d0e378a8 100644
--- a/arch/arm/mach-tegra/board-cardhu.c
+++ b/arch/arm/mach-tegra/board-cardhu.c
@@ -938,7 +938,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;
@@ -950,6 +950,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(