summaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
Diffstat (limited to 'target')
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr2543n.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr2543n.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr2543n.c
index c650e5a61..d48d8fdd0 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr2543n.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr2543n.c
@@ -24,6 +24,10 @@
#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);