diff options
author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-01-31 18:37:24 +0000 |
---|---|---|
committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-01-31 18:37:24 +0000 |
commit | 8be0cce7cceca6ba2d8ceabc6e49b91d55d10280 (patch) | |
tree | cca1325b9b6edc1c13e198f5373d0466745cee27 | |
parent | 01af86f6ed6841ac71090e7c5a2d0edb00b69324 (diff) |
ar71xx: fix ethernet LEDs on the DIR-600-A1 board
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29975 3c298f89-4303-0410-b956-a3cf2f4a3e73
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 5b5aea35a..05c2f27b5 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 e0da86752..211985ed0 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 9eca411a6..6c5083202 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); |