ARM: tegra: paz00: enable wifi led
authorMarc Dietrich <marvin24@gmx.de>
Sun, 7 Aug 2011 19:00:53 +0000 (21:00 +0200)
committerOlof Johansson <olof@lixom.net>
Tue, 9 Aug 2011 19:07:40 +0000 (12:07 -0700)
This adds support for the wifi led. It is automaticly triggered by
the rfkill0 event.

Signed-off-by: Marc Dietrich <marvin24@gmx.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
arch/arm/mach-tegra/board-paz00-pinmux.c
arch/arm/mach-tegra/board-paz00.c
arch/arm/mach-tegra/board-paz00.h

index 70c5710..2225769 100644 (file)
@@ -147,6 +147,7 @@ static struct tegra_gpio_table gpio_table[] = {
        { .gpio = TEGRA_ULPI_RST,       .enable = true },
        { .gpio = TEGRA_WIFI_PWRN,      .enable = true },
        { .gpio = TEGRA_WIFI_RST,       .enable = true },
+       { .gpio = TEGRA_WIFI_LED,       .enable = true },
 };
 
 void paz00_pinmux_init(void)
index 6b798e7..45111f6 100644 (file)
@@ -91,11 +91,33 @@ static struct platform_device wifi_rfkill_device = {
        },
 };
 
+static struct gpio_led gpio_leds[] = {
+       {
+               .name                   = "wifi-led",
+               .default_trigger        = "rfkill0",
+               .gpio                   = TEGRA_WIFI_LED,
+       },
+};
+
+static struct gpio_led_platform_data gpio_led_info = {
+       .leds           = gpio_leds,
+       .num_leds       = ARRAY_SIZE(gpio_leds),
+};
+
+static struct platform_device leds_gpio = {
+       .name   = "leds-gpio",
+       .id     = -1,
+       .dev    = {
+               .platform_data = &gpio_led_info,
+        },
+};
+
 static struct platform_device *paz00_devices[] __initdata = {
        &debug_uart,
        &tegra_sdhci_device1,
        &tegra_sdhci_device4,
        &wifi_rfkill_device,
+       &leds_gpio,
 };
 
 static void paz00_i2c_init(void)
index e780f30..86057c3 100644 (file)
@@ -28,6 +28,7 @@
 /* WIFI */
 #define TEGRA_WIFI_PWRN                TEGRA_GPIO_PK5
 #define TEGRA_WIFI_RST         TEGRA_GPIO_PD1
+#define TEGRA_WIFI_LED         TEGRA_GPIO_PD0
 
 void paz00_pinmux_init(void);