From 8be0cce7cceca6ba2d8ceabc6e49b91d55d10280 Mon Sep 17 00:00:00 2001 From: juhosg Date: Tue, 31 Jan 2012 18:37:24 +0000 Subject: 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 --- .../files-3.2/arch/mips/ath79/mach-dir-600-a1.c | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'target/linux/ar71xx/files-3.2') 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 #include +#include +#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 @@ -81,6 +89,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, @@ -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); -- cgit v1.2.3