From 41bd6bd282aa75e357c9a4eaf27518726301b4dc Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Tue, 31 Jan 2012 20:49:34 +0000 Subject: [PATCH] ar71xx: fix ethernet LEDs on the WHR-{G301N,HP-G300N,HP-GN} boards SVN-Revision: 29978 --- .../ar71xx/base-files/etc/uci-defaults/leds | 10 ++++ .../arch/mips/ar71xx/mach-whr-hp-g300n.c | 47 +++++++++++++++---- .../arch/mips/ath79/mach-whr-hp-g300n.c | 47 ++++++++++++++++--- 3 files changed, 89 insertions(+), 15 deletions(-) diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/leds b/target/linux/ar71xx/base-files/etc/uci-defaults/leds index 05c2f27b55f..450cbc7dcc7 100755 --- a/target/linux/ar71xx/base-files/etc/uci-defaults/leds +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/leds @@ -209,6 +209,16 @@ wndr3700) set_led_usbdev "usb" "USB" "wndr3700:green:usb" "1-1" ;; +whr-g301n |\ +whr-hp-g300n |\ +whr-hp-gn) + set_led_netdev "wan" "WAN" "buffalo:green:wan" "eth1" + set_led_switch "lan1" "LAN1" "buffalo:green:lan1" "switch0" "0x02" + set_led_switch "lan2" "LAN2" "buffalo:green:lan2" "switch0" "0x04" + set_led_switch "lan3" "LAN3" "buffalo:green:lan3" "switch0" "0x08" + set_led_switch "lan4" "LAN4" "buffalo:green:lan4" "switch0" "0x10" + ;; + wzr-hp-g300nh) set_led_wlan "wlan" "Wireless" "buffalo:green:wireless" "phy0tpt" set_led_netdev "router" "Router" "buffalo:green:router" "eth1" diff --git a/target/linux/ar71xx/files-2.6.39/arch/mips/ar71xx/mach-whr-hp-g300n.c b/target/linux/ar71xx/files-2.6.39/arch/mips/ar71xx/mach-whr-hp-g300n.c index ccc36507dfc..aaa8c1052b8 100644 --- a/target/linux/ar71xx/files-2.6.39/arch/mips/ar71xx/mach-whr-hp-g300n.c +++ b/target/linux/ar71xx/files-2.6.39/arch/mips/ar71xx/mach-whr-hp-g300n.c @@ -24,14 +24,19 @@ #include "dev-gpio-buttons.h" #include "dev-leds-gpio.h" -#define WHRHPG300N_GPIO_LED_SECURITY 0 -#define WHRHPG300N_GPIO_LED_DIAG 1 -#define WHRHPG300N_GPIO_LED_ROUTER 6 - -#define WHRHPG300N_GPIO_BTN_ROUTER_ON 7 -#define WHRHPG300N_GPIO_BTN_ROUTER_AUTO 8 -#define WHRHPG300N_GPIO_BTN_RESET 11 -#define WHRHPG300N_GPIO_BTN_AOSS 12 +#define WHRHPG300N_GPIO_LED_SECURITY 0 +#define WHRHPG300N_GPIO_LED_DIAG 1 +#define WHRHPG300N_GPIO_LED_ROUTER 6 + +#define WHRHPG300N_GPIO_BTN_ROUTER_ON 7 +#define WHRHPG300N_GPIO_BTN_ROUTER_AUTO 8 +#define WHRHPG300N_GPIO_BTN_RESET 11 +#define WHRHPG300N_GPIO_BTN_AOSS 12 +#define WHRHPG300N_GPIO_LED_LAN1 13 +#define WHRHPG300N_GPIO_LED_LAN2 14 +#define WHRHPG300N_GPIO_LED_LAN3 15 +#define WHRHPG300N_GPIO_LED_LAN4 16 +#define WHRHPG300N_GPIO_LED_WAN 17 #define WHRHPG300N_KEYS_POLL_INTERVAL 20 /* msecs */ #define WHRHPG300N_KEYS_DEBOUNCE_INTERVAL (3 * WHRHPG300N_KEYS_POLL_INTERVAL) @@ -95,6 +100,26 @@ static struct gpio_led whrhpg300n_leds_gpio[] __initdata = { .name = "buffalo:green:router", .gpio = WHRHPG300N_GPIO_LED_ROUTER, .active_low = 1, + }, { + .name = "buffalo:green:wan", + .gpio = WHRHPG300N_GPIO_LED_WAN, + .active_low = 1, + }, { + .name = "buffalo:green:lan1", + .gpio = WHRHPG300N_GPIO_LED_LAN1, + .active_low = 1, + }, { + .name = "buffalo:green:lan2", + .gpio = WHRHPG300N_GPIO_LED_LAN2, + .active_low = 1, + }, { + .name = "buffalo:green:lan3", + .gpio = WHRHPG300N_GPIO_LED_LAN3, + .active_low = 1, + }, { + .name = "buffalo:green:lan4", + .gpio = WHRHPG300N_GPIO_LED_LAN4, + .active_low = 1, } }; @@ -137,6 +162,12 @@ static void __init whrhpg300n_setup(void) ar71xx_add_device_m25p80(&whrhpg300n_flash_data); + ar71xx_gpio_function_disable(AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN | + AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN | + AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN | + AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN | + AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN); + ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(whrhpg300n_leds_gpio), whrhpg300n_leds_gpio); diff --git a/target/linux/ar71xx/files-3.2/arch/mips/ath79/mach-whr-hp-g300n.c b/target/linux/ar71xx/files-3.2/arch/mips/ath79/mach-whr-hp-g300n.c index 514a69a43f4..3e3924b8777 100644 --- a/target/linux/ar71xx/files-3.2/arch/mips/ath79/mach-whr-hp-g300n.c +++ b/target/linux/ar71xx/files-3.2/arch/mips/ath79/mach-whr-hp-g300n.c @@ -16,7 +16,9 @@ #include #include +#include +#include "common.h" #include "dev-ap9x-pci.h" #include "dev-eth.h" #include "dev-gpio-buttons.h" @@ -24,14 +26,19 @@ #include "dev-m25p80.h" #include "machtypes.h" -#define WHRHPG300N_GPIO_LED_SECURITY 0 -#define WHRHPG300N_GPIO_LED_DIAG 1 -#define WHRHPG300N_GPIO_LED_ROUTER 6 +#define WHRHPG300N_GPIO_LED_SECURITY 0 +#define WHRHPG300N_GPIO_LED_DIAG 1 +#define WHRHPG300N_GPIO_LED_ROUTER 6 -#define WHRHPG300N_GPIO_BTN_ROUTER_ON 7 -#define WHRHPG300N_GPIO_BTN_ROUTER_AUTO 8 -#define WHRHPG300N_GPIO_BTN_RESET 11 -#define WHRHPG300N_GPIO_BTN_AOSS 12 +#define WHRHPG300N_GPIO_BTN_ROUTER_ON 7 +#define WHRHPG300N_GPIO_BTN_ROUTER_AUTO 8 +#define WHRHPG300N_GPIO_BTN_RESET 11 +#define WHRHPG300N_GPIO_BTN_AOSS 12 +#define WHRHPG300N_GPIO_LED_LAN1 13 +#define WHRHPG300N_GPIO_LED_LAN2 14 +#define WHRHPG300N_GPIO_LED_LAN3 15 +#define WHRHPG300N_GPIO_LED_LAN4 16 +#define WHRHPG300N_GPIO_LED_WAN 17 #define WHRHPG300N_KEYS_POLL_INTERVAL 20 /* msecs */ #define WHRHPG300N_KEYS_DEBOUNCE_INTERVAL (3 * WHRHPG300N_KEYS_POLL_INTERVAL) @@ -91,6 +98,26 @@ static struct gpio_led whrhpg300n_leds_gpio[] __initdata = { .name = "buffalo:green:router", .gpio = WHRHPG300N_GPIO_LED_ROUTER, .active_low = 1, + }, { + .name = "buffalo:green:wan", + .gpio = WHRHPG300N_GPIO_LED_WAN, + .active_low = 1, + }, { + .name = "buffalo:green:lan1", + .gpio = WHRHPG300N_GPIO_LED_LAN1, + .active_low = 1, + }, { + .name = "buffalo:green:lan2", + .gpio = WHRHPG300N_GPIO_LED_LAN2, + .active_low = 1, + }, { + .name = "buffalo:green:lan3", + .gpio = WHRHPG300N_GPIO_LED_LAN3, + .active_low = 1, + }, { + .name = "buffalo:green:lan4", + .gpio = WHRHPG300N_GPIO_LED_LAN4, + .active_low = 1, } }; @@ -133,6 +160,12 @@ static void __init whrhpg300n_setup(void) ath79_register_m25p80(&whrhpg300n_flash_data); + ath79_gpio_function_disable(AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN | + AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN | + AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN | + AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN | + AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN); + ath79_register_leds_gpio(-1, ARRAY_SIZE(whrhpg300n_leds_gpio), whrhpg300n_leds_gpio); -- 2.30.2