add led defintion for the WR2543 5GHz WLAN LED
authorJohn Crispin <john@openwrt.org>
Wed, 22 Aug 2012 09:10:24 +0000 (09:10 +0000)
committerJohn Crispin <john@openwrt.org>
Wed, 22 Aug 2012 09:10:24 +0000 (09:10 +0000)
Signed-off-by: Andy Leiserson <andy@leiserson.org>
SVN-Revision: 33215

target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr2543n.c

index c650e5a6105e079573f412caca1824ec27923537..d48d8fdd0790f9a9b1b8c3fc27c3e995c9b9adb4 100644 (file)
 #define TL_WR2543N_GPIO_LED_WPS        0
 #define TL_WR2543N_GPIO_LED_USB        8
 
+// The WLAN LEDs use GPIOs on the discrete AR9380 wmac
+#define TL_WR2543N_GPIO_WMAC_LED_WLAN2G 0
+#define TL_WR2543N_GPIO_WMAC_LED_WLAN5G 1
+
 #define TL_WR2543N_GPIO_BTN_RESET      11
 #define TL_WR2543N_GPIO_BTN_WPS        12
 
@@ -54,6 +58,14 @@ static struct gpio_led tl_wr2543n_leds_gpio[] __initdata = {
        }
 };
 
+static struct gpio_led tl_wr2543n_wmac_leds_gpio[] = {
+       {
+               .name           = "tp-link:green:wlan5g",
+               .gpio           = TL_WR2543N_GPIO_WMAC_LED_WLAN5G,
+               .active_low     = 1,
+       },
+};
+
 static struct gpio_keys_button tl_wr2543n_gpio_keys[] __initdata = {
        {
                .desc           = "reset",
@@ -113,7 +125,14 @@ static void __init tl_wr2543n_setup(void)
                                        tl_wr2543n_gpio_keys);
        ath79_register_usb();
 
-       ap9x_pci_setup_wmac_led_pin(0, 0);
+       // The ath9k driver uses this pin for its default led device, which is
+       // named ath9k-phy0, and reflects activity on either the 2 GHz or 5 GHz
+       // bands. This pin is connected to the WR2543's 2GHz WLAN LED.
+       ap9x_pci_setup_wmac_led_pin(0, TL_WR2543N_GPIO_WMAC_LED_WLAN2G);
+       // We also have the driver set up an led device for the WR2543's
+       // separate 5 GHz WLAN LED in case the user wants it.
+       ap9x_pci_setup_wmac_leds(0, tl_wr2543n_wmac_leds_gpio,
+                                ARRAY_SIZE(tl_wr2543n_wmac_leds_gpio));
        ap91_pci_init(eeprom, mac);
 
        ath79_init_mac(ath79_eth0_data.mac_addr, mac, -1);