diff options
author | Sheshagiri Shenoy <sshenoy@nvidia.com> | 2012-02-21 18:49:54 -0800 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-02-28 20:42:30 -0800 |
commit | 96006ccd516e23262a5de607d43f9e0061422887 (patch) | |
tree | a7408c8a2e3b10a9b8cff9e75dd9a6a86478da75 /arch/arm | |
parent | 5eb3549c24371e0d2ed72c8417892c859fe02efc (diff) |
arm: tegra: kai: enable modem related gpio pins
bug 937956
Change-Id: I15e9314c1dce0892fc2d047c6c52a5d3cf437be8
Signed-off-by: Sheshagiri Shenoy <sshenoy@nvidia.com>
Reviewed-on: http://git-master/r/85064
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-tegra/board-kai.c | 36 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-kai.h | 5 |
2 files changed, 41 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-kai.c b/arch/arm/mach-tegra/board-kai.c index cd1d2d4d19d3..7c67b98c8041 100644 --- a/arch/arm/mach-tegra/board-kai.c +++ b/arch/arm/mach-tegra/board-kai.c @@ -668,8 +668,43 @@ static void kai_usb_init(void) tegra_ehci2_device.dev.platform_data = &tegra_ehci_pdata[1]; platform_device_register(&tegra_ehci2_device); } + +static void kai_modem_init(void) +{ + int ret; + + tegra_gpio_enable(TEGRA_GPIO_W_DISABLE); + tegra_gpio_enable(TEGRA_GPIO_MODEM_RSVD1); + tegra_gpio_enable(TEGRA_GPIO_MODEM_RSVD2); + + ret = gpio_request(TEGRA_GPIO_W_DISABLE, "w_disable_gpio"); + if (ret < 0) + pr_err("%s: gpio_request failed for gpio %d\n", + __func__, TEGRA_GPIO_W_DISABLE); + else + gpio_direction_output(TEGRA_GPIO_W_DISABLE, 1); + + + ret = gpio_request(TEGRA_GPIO_MODEM_RSVD1, "Port_V_PIN_0"); + if (ret < 0) + pr_err("%s: gpio_request failed for gpio %d\n", + __func__, TEGRA_GPIO_MODEM_RSVD1); + else + gpio_direction_input(TEGRA_GPIO_MODEM_RSVD1); + + + ret = gpio_request(TEGRA_GPIO_MODEM_RSVD2, "Port_H_PIN_7"); + if (ret < 0) + pr_err("%s: gpio_request failed for gpio %d\n", + __func__, TEGRA_GPIO_MODEM_RSVD2); + else + gpio_direction_output(TEGRA_GPIO_MODEM_RSVD2, 1); + +} + #else static void kai_usb_init(void) { } +static void kai_modem_init(void) { } #endif static void kai_audio_init(void) @@ -710,6 +745,7 @@ static void __init tegra_kai_init(void) kai_sensors_init(); kai_pins_state_init(); tegra_release_bootloader_fb(); + kai_modem_init(); #ifdef CONFIG_TEGRA_WDT_RECOVERY tegra_wdt_recovery_init(); #endif diff --git a/arch/arm/mach-tegra/board-kai.h b/arch/arm/mach-tegra/board-kai.h index c2fb3d0d28e3..448099ac8a47 100644 --- a/arch/arm/mach-tegra/board-kai.h +++ b/arch/arm/mach-tegra/board-kai.h @@ -50,6 +50,11 @@ #define TEGRA_GPIO_HP_DET TEGRA_GPIO_PW2 #define TEGRA_GPIO_INT_MIC_EN TEGRA_GPIO_PK3 #define TEGRA_GPIO_EXT_MIC_EN TEGRA_GPIO_PK4 +/* Tegra Modem related GPIOs */ +#define TEGRA_GPIO_W_DISABLE TEGRA_GPIO_PDD7 +#define TEGRA_GPIO_MODEM_RSVD1 TEGRA_GPIO_PV0 +#define TEGRA_GPIO_MODEM_RSVD2 TEGRA_GPIO_PH7 + /*****************Interrupt tables ******************/ /* External peripheral act as interrupt controller */ |