diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2012-01-31 18:37:24 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2012-01-31 18:37:24 +0000 |
commit | dd47afc197394f9ce1ebe106092c3ac999e9d8bf (patch) | |
tree | 7cbf8d94df23cd18ef0e4e65f9ce8ee06f64c7ca | |
parent | 8200f0c61a12d3319e89da80f87f770170588111 (diff) | |
download | upstream-dd47afc197394f9ce1ebe106092c3ac999e9d8bf.tar.gz upstream-dd47afc197394f9ce1ebe106092c3ac999e9d8bf.tar.bz2 upstream-dd47afc197394f9ce1ebe106092c3ac999e9d8bf.zip |
ar71xx: fix ethernet LEDs on the DIR-600-A1 board
SVN-Revision: 29975
3 files changed, 73 insertions, 0 deletions
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/leds b/target/linux/ar71xx/base-files/etc/uci-defaults/leds index 5b5aea35a4..05c2f27b55 100755 --- a/target/linux/ar71xx/base-files/etc/uci-defaults/leds +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/leds @@ -118,6 +118,7 @@ rb750) set_led_switch "port5" "port5" "rb750:green:port5" "switch0" "0x02" ;; +dir-600-a1|\ dir-615-e4) set_led_netdev "wan" "WAN" "d-link:green:wan" "eth1" set_led_switch "lan1" "LAN1" "d-link:green:lan1" "switch0" "0x02" diff --git a/target/linux/ar71xx/files-2.6.39/arch/mips/ar71xx/mach-dir-600-a1.c b/target/linux/ar71xx/files-2.6.39/arch/mips/ar71xx/mach-dir-600-a1.c index e0da86752d..211985ed04 100644 --- a/target/linux/ar71xx/files-2.6.39/arch/mips/ar71xx/mach-dir-600-a1.c +++ b/target/linux/ar71xx/files-2.6.39/arch/mips/ar71xx/mach-dir-600-a1.c @@ -24,6 +24,12 @@ #define DIR_600_A1_GPIO_LED_WPS 0 #define DIR_600_A1_GPIO_LED_POWER_AMBER 1 #define DIR_600_A1_GPIO_LED_POWER_GREEN 6 +#define DIR_600_A1_GPIO_LED_LAN1 13 +#define DIR_600_A1_GPIO_LED_LAN2 14 +#define DIR_600_A1_GPIO_LED_LAN3 15 +#define DIR_600_A1_GPIO_LED_LAN4 16 +#define DIR_600_A1_GPIO_LED_WAN_AMBER 7 +#define DIR_600_A1_GPIO_LED_WAN_GREEN 17 #define DIR_600_A1_GPIO_BTN_RESET 8 #define DIR_600_A1_GPIO_BTN_WPS 12 @@ -86,6 +92,29 @@ static struct gpio_led dir_600_a1_leds_gpio[] __initdata = { .name = "d-link:amber:power", .gpio = DIR_600_A1_GPIO_LED_POWER_AMBER, }, { + .name = "d-link:amber:wan", + .gpio = DIR_600_A1_GPIO_LED_WAN_AMBER, + }, { + .name = "d-link:green:wan", + .gpio = DIR_600_A1_GPIO_LED_WAN_GREEN, + .active_low = 1, + }, { + .name = "d-link:green:lan1", + .gpio = DIR_600_A1_GPIO_LED_LAN1, + .active_low = 1, + }, { + .name = "d-link:green:lan2", + .gpio = DIR_600_A1_GPIO_LED_LAN2, + .active_low = 1, + }, { + .name = "d-link:green:lan3", + .gpio = DIR_600_A1_GPIO_LED_LAN3, + .active_low = 1, + }, { + .name = "d-link:green:lan4", + .gpio = DIR_600_A1_GPIO_LED_LAN4, + .active_low = 1, + }, { .name = "d-link:blue:wps", .gpio = DIR_600_A1_GPIO_LED_WPS, .active_low = 1, @@ -126,6 +155,12 @@ static void __init dir_600_a1_setup(void) ar71xx_add_device_m25p80(&dir_600_a1_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(dir_600_a1_leds_gpio), dir_600_a1_leds_gpio); diff --git a/target/linux/ar71xx/files-3.2/arch/mips/ath79/mach-dir-600-a1.c b/target/linux/ar71xx/files-3.2/arch/mips/ath79/mach-dir-600-a1.c index 9eca411a61..6c50832029 100644 --- a/target/linux/ar71xx/files-3.2/arch/mips/ath79/mach-dir-600-a1.c +++ b/target/linux/ar71xx/files-3.2/arch/mips/ath79/mach-dir-600-a1.c @@ -12,7 +12,9 @@ #include <linux/mtd/partitions.h> #include <asm/mach-ath79/ath79.h> +#include <asm/mach-ath79/ar71xx_regs.h> +#include "common.h" #include "dev-ap9x-pci.h" #include "dev-eth.h" #include "dev-gpio-buttons.h" @@ -24,6 +26,12 @@ #define DIR_600_A1_GPIO_LED_WPS 0 #define DIR_600_A1_GPIO_LED_POWER_AMBER 1 #define DIR_600_A1_GPIO_LED_POWER_GREEN 6 +#define DIR_600_A1_GPIO_LED_LAN1 13 +#define DIR_600_A1_GPIO_LED_LAN2 14 +#define DIR_600_A1_GPIO_LED_LAN3 15 +#define DIR_600_A1_GPIO_LED_LAN4 16 +#define DIR_600_A1_GPIO_LED_WAN_AMBER 7 +#define DIR_600_A1_GPIO_LED_WAN_GREEN 17 #define DIR_600_A1_GPIO_BTN_RESET 8 #define DIR_600_A1_GPIO_BTN_WPS 12 @@ -82,6 +90,29 @@ static struct gpio_led dir_600_a1_leds_gpio[] __initdata = { .name = "d-link:amber:power", .gpio = DIR_600_A1_GPIO_LED_POWER_AMBER, }, { + .name = "d-link:amber:wan", + .gpio = DIR_600_A1_GPIO_LED_WAN_AMBER, + }, { + .name = "d-link:green:wan", + .gpio = DIR_600_A1_GPIO_LED_WAN_GREEN, + .active_low = 1, + }, { + .name = "d-link:green:lan1", + .gpio = DIR_600_A1_GPIO_LED_LAN1, + .active_low = 1, + }, { + .name = "d-link:green:lan2", + .gpio = DIR_600_A1_GPIO_LED_LAN2, + .active_low = 1, + }, { + .name = "d-link:green:lan3", + .gpio = DIR_600_A1_GPIO_LED_LAN3, + .active_low = 1, + }, { + .name = "d-link:green:lan4", + .gpio = DIR_600_A1_GPIO_LED_LAN4, + .active_low = 1, + }, { .name = "d-link:blue:wps", .gpio = DIR_600_A1_GPIO_LED_WPS, .active_low = 1, @@ -122,6 +153,12 @@ static void __init dir_600_a1_setup(void) ath79_register_m25p80(&dir_600_a1_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(dir_600_a1_leds_gpio), dir_600_a1_leds_gpio); |