arm: tegra: roth: add regulator code for WiFi and BT
Narayan Reddy [Fri, 16 Nov 2012 13:23:43 +0000 (05:23 -0800)]
Bug 1176686

Reviewed-on: http://git-master/r/164337
(cherry picked from commit 6ad3de8d621a10cbb6a4df82d27d979d55a4ff1e)
Change-Id: Ib9881ac71d991ad24c7109e3f960a13ffc9d2cd0
Signed-off-by: Narayan Reddy <narayanr@nvidia.com>
Signed-off-by: Vikram Kanigiri <vkanigiri@nvidia.com>
Reviewed-on: http://git-master/r/164901
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>

arch/arm/mach-tegra/board-roth-pinmux-t11x.h
arch/arm/mach-tegra/board-roth-power.c
arch/arm/mach-tegra/board-roth-sdhci.c
arch/arm/mach-tegra/board-roth.c

index c996a6f..c4a6f04 100644 (file)
@@ -214,6 +214,8 @@ static __initdata struct tegra_pingroup_config roth_pinmux_common[] = {
 
        /* nct */
        DEFAULT_PINMUX(GPIO_X6_AUD,   SPI6,        PULL_UP,   TRISTATE, INPUT),
+       DEFAULT_PINMUX(GPIO_X1_AUD,   RSVD1,        PULL_UP,   NORMAL, INPUT),
+       DEFAULT_PINMUX(GPIO_X7_AUD,   RSVD0,        PULL_UP,   NORMAL, INPUT),
 };
 
 static __initdata struct tegra_pingroup_config unused_pins_lowpower[] = {
@@ -225,10 +227,8 @@ static struct gpio_init_pin_info init_gpio_mode_roth_common[] = {
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PX4, false, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PX5, true, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PX6, true, 0),
-       GPIO_INIT_PIN_MODE(TEGRA_GPIO_PX7, false, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PW2, true, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PW3, true, 0),
-       GPIO_INIT_PIN_MODE(TEGRA_GPIO_PX1, true, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PX3, true, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PP1, false, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PP2, false, 0),
index 7d4d326..2dd0c07 100644 (file)
@@ -444,7 +444,7 @@ FIXED_REG(3,        ts_3v3, ts_3v3,
 
 FIXED_REG(4,   com_3v3,        com_3v3,
        palmas_rails(regen1),   0,      0,
-       -1,     false,  true,   0,      3300);
+       TEGRA_GPIO_PX7, false,  true,   0,      3300);
 
 FIXED_REG(5,   sd_3v3, sd_3v3,
        palmas_rails(regen1),   0,      0,
@@ -452,7 +452,7 @@ FIXED_REG(5,        sd_3v3, sd_3v3,
 
 FIXED_REG(6,   com_1v8,        com_1v8,
        palmas_rails(smps3),    0,      0,
-       -1,     false,  true,   0,      1800);
+       TEGRA_GPIO_PX1, false,  true,   0,      1800);
 
 /*
  * Creating the fixed regulator device tables
index e85a73d..ee2dc6f 100644 (file)
@@ -39,7 +39,7 @@
 
 
 #define ROTH_WLAN_PWR  TEGRA_GPIO_PCC5
-#define ROTH_WLAN_RST  TEGRA_GPIO_PX7
+#define ROTH_WLAN_RST  TEGRA_GPIO_INVALID
 #define ROTH_WLAN_WOW  TEGRA_GPIO_PU5
 static void (*wifi_status_cb)(int card_present, void *dev_id);
 static void *wifi_status_cb_devid;
@@ -57,14 +57,14 @@ static struct wifi_platform_data roth_wifi_control = {
 
 static struct resource wifi_resource[] = {
        [0] = {
-               .name   = "bcm4324_wlan_irq",
+               .name   = "bcm4329_wlan_irq",
                .flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL
                                | IORESOURCE_IRQ_SHAREABLE,
        },
 };
 
 static struct platform_device roth_wifi_device = {
-       .name           = "bcm4324_wlan",
+       .name           = "bcm4329_wlan",
        .id             = 1,
        .num_resources  = 1,
        .resource       = wifi_resource,
@@ -386,9 +386,6 @@ static int __init roth_wifi_init(void)
 #ifdef CONFIG_TEGRA_PREPOWER_WIFI
 static int __init roth_wifi_prepower(void)
 {
-       if (!machine_is_roth())
-               return 0;
-
        roth_wifi_power(1);
 
        return 0;
index 5d7e05c..efc4b32 100644 (file)
@@ -114,10 +114,6 @@ static struct platform_device roth_bluesleep_device = {
 
 static noinline void __init roth_setup_bt_rfkill(void)
 {
-       if ((tegra_get_commchip_id() == COMMCHIP_BROADCOM_BCM43241) ||
-               (tegra_get_commchip_id() == COMMCHIP_DEFAULT))
-               roth_bt_rfkill_pdata.reset_gpio = TEGRA_GPIO_INVALID;
-       else
                roth_bt_rfkill_pdata.reset_gpio = TEGRA_GPIO_PQ6;
        platform_device_register(&roth_bt_rfkill_device);
 }