ARM: tegra: stingray: Add wrigley (LTE) to boardfile
authorJames Wylder <james.wylder@motorola.com>
Thu, 10 Feb 2011 17:17:59 +0000 (11:17 -0600)
committerBenoit Goby <benoit@android.com>
Sat, 19 Feb 2011 02:46:27 +0000 (18:46 -0800)
Initialize the Wrigley control device if present.

Change-Id: I78ea018d0f1a71def2e2c56299386ea0cdaeb2c3
Signed-off-by: James Wylder <james.wylder@motorola.com>
arch/arm/mach-tegra/board-stingray-power.c

index ebc69dbc2b6956ca848f3c639d7eae554b45a954..e1dd72d8a03abbdaa93232fc6f3a1d94b586ed24 100644 (file)
@@ -24,8 +24,9 @@
 #include <linux/leds-ld-cpcap.h>
 #include <linux/module.h>
 #include <linux/platform_device.h>
-#include <linux/reboot.h>
 #include <linux/radio_ctrl/mdm6600_ctrl.h>
+#include <linux/radio_ctrl/wrigley_ctrl.h>
+#include <linux/reboot.h>
 #include <linux/regulator/consumer.h>
 #include <linux/regulator/driver.h>
 #include <linux/regulator/machine.h>
@@ -696,6 +697,21 @@ static struct platform_device mdm_ctrl_platform_device = {
        },
 };
 
+static struct wrigley_ctrl_platform_data wrigley_ctrl_pdata = {
+       .gpio_host_wake = TEGRA_GPIO_PW3,
+       .gpio_disable = TEGRA_GPIO_PG0,
+       .gpio_reset = TEGRA_GPIO_PI6,
+       .gpio_force_flash = TEGRA_GPIO_PT5,
+};
+
+static struct platform_device wrigley_ctrl_pdev = {
+       .name = "wrigley",
+       .id = -1,
+       .dev = {
+               .platform_data = &wrigley_ctrl_pdata,
+       },
+};
+
 static void mdm_ctrl_register(void)
 {
        int i;
@@ -716,6 +732,15 @@ static void mdm_ctrl_register(void)
        platform_device_register(&mdm_ctrl_platform_device);
 }
 
+static void wrigley_ctrl_register(void)
+{
+       tegra_gpio_enable(wrigley_ctrl_pdata.gpio_reset);
+       tegra_gpio_enable(wrigley_ctrl_pdata.gpio_host_wake);
+       tegra_gpio_enable(wrigley_ctrl_pdata.gpio_disable);
+       tegra_gpio_enable(wrigley_ctrl_pdata.gpio_force_flash);
+       platform_device_register(&wrigley_ctrl_pdev);
+}
+
 int __init stingray_power_init(void)
 {
        int i;
@@ -754,8 +779,10 @@ int __init stingray_power_init(void)
        i2c_register_board_info(3, stingray_i2c_bus4_power_info,
                ARRAY_SIZE(stingray_i2c_bus4_power_info));
 
-       if (stingray_hw_has_cdma())
+       if (stingray_hw_has_cdma()) {
                mdm_ctrl_register();
+               wrigley_ctrl_register();
+       }
 
        return 0;
 }