diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh index 1864b11..fa07f39 100755 --- a/target/linux/ar71xx/base-files/etc/diag.sh +++ b/target/linux/ar71xx/base-files/etc/diag.sh @@ -62,6 +62,9 @@ get_status_led() { dir-835-a1) status_led="d-link:amber:power" ;; + dragino2) + status_led="dragino2:red:system" + ;; eap300v2) status_led="engenius:blue:power" ;; diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds index d3b766d..5b9dbe7 100755 --- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds @@ -65,6 +65,12 @@ db120) ucidef_set_led_usbdev "usb" "USB" "db120:green:usb" "1-1" ;; +dragino2) + ucidef_set_led_wlan "wlan" "WLAN" "dragino2:red:wlan" "phy0tpt" + ucidef_set_led_netdev "lan" "LAN" "dragino2:red:lan" "eth0" + ucidef_set_led_netdev "wan" "WAN" "dragino2:red:wan" "eth1" + ;; + eap300v2) ucidef_set_led_netdev "lan" "LAN" "engenius:blue:lan" "eth0" ucidef_set_led_wlan "wlan" "WLAN" "engenius:blue:wlan" "phy0tpt" diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dragino2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dragino2.c index 156fbe5..95bd6f4 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dragino2.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-dragino2.c @@ -3,6 +3,7 @@ * * Copyright (C) 2011-2012 Gabor Juhos * Copyright (C) 2012 Elektra Wagenrad + * Copyright (C) 2014 Vittorio Gambaletta * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 as published @@ -27,12 +28,12 @@ #define DRAGINO2_GPIO_LED_WAN 17 /* - * The following GPIO is actually named "Router" on the board. - * However, since the "Router" feature is not supported as of yet - * we use it to display USB activity. + * The following GPIO is named "SYS" on newer revisions of the the board. + * It was previously used to indicate USB activity, even though it was + * named "Router". */ -#define DRAGINO2_GPIO_LED_USB 28 +#define DRAGINO2_GPIO_LED_SYS 28 #define DRAGINO2_GPIO_BTN_JUMPSTART 11 #define DRAGINO2_GPIO_BTN_RESET 12 @@ -45,24 +46,24 @@ #define DRAGINO2_WMAC_MAC_OFFSET 0x1002 static struct gpio_led dragino2_leds_gpio[] __initdata = { - { - .name = "dragino2:red:lan", - .gpio = DRAGINO2_GPIO_LED_LAN, - .active_low = 0, - }, { .name = "dragino2:red:wlan", .gpio = DRAGINO2_GPIO_LED_WLAN, .active_low = 0, }, - { + { .name = "dragino2:red:wan", .gpio = DRAGINO2_GPIO_LED_WAN, - .active_low = 0, + .active_low = 1, }, { - .name = "dragino2:red:usb", - .gpio = DRAGINO2_GPIO_LED_USB, + .name = "dragino2:red:lan", + .gpio = DRAGINO2_GPIO_LED_LAN, + .active_low = 1, + }, + { + .name = "dragino2:red:system", + .gpio = DRAGINO2_GPIO_LED_SYS, .active_low = 0, }, }; @@ -99,15 +100,23 @@ static void __init dragino2_common_setup(void) ath79_register_mdio(0, 0x0); - /* Enable GPIO15 and GPIO16 and possibly GPIO26 and GPIO27 */ - ath79_gpio_function_disable(AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN | - AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN); + /* Enable GPIO13, GPIO14, GPIO15, GPIO16 and GPIO17 */ + ath79_gpio_function_disable(AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN | + AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN | + AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN | + AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN | + AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN); - /* LAN ports */ + /* LAN port */ ath79_register_eth(1); /* WAN port */ ath79_register_eth(0); + + /* Enable GPIO26 and GPIO27 */ + ath79_reset_wr(AR933X_RESET_REG_BOOTSTRAP, + ath79_reset_rr(AR933X_RESET_REG_BOOTSTRAP) | + AR933X_BOOTSTRAP_MDIO_GPIO_EN); } static void __init dragino2_setup(void)