ar71xx: define LAN/WAN LEDs for the TL-WR741N/ND boards
SVN-Revision: 29631
This commit is contained in:
parent
fff02e6ea8
commit
5c067db8a7
3 changed files with 103 additions and 6 deletions
|
@ -60,6 +60,25 @@ EOF
|
||||||
COMMIT_SYSTEM=1
|
COMMIT_SYSTEM=1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
set_led_switch() {
|
||||||
|
local cfg="led_$1"
|
||||||
|
local name=$2
|
||||||
|
local sysfs=$3
|
||||||
|
local trigger=$4
|
||||||
|
local port_mask=$5
|
||||||
|
|
||||||
|
uci -q get system.$cfg && return 0
|
||||||
|
|
||||||
|
uci batch <<EOF
|
||||||
|
set system.$cfg='led'
|
||||||
|
set system.$cfg.name='$name'
|
||||||
|
set system.$cfg.sysfs='$sysfs'
|
||||||
|
set system.$cfg.trigger='$trigger'
|
||||||
|
set system.$cfg.port_mask='$port_mask'
|
||||||
|
EOF
|
||||||
|
COMMIT_SYSTEM=1
|
||||||
|
}
|
||||||
|
|
||||||
set_led_default() {
|
set_led_default() {
|
||||||
local cfg="led_$1"
|
local cfg="led_$1"
|
||||||
local name=$2
|
local name=$2
|
||||||
|
@ -116,7 +135,22 @@ tl-mr3420 )
|
||||||
set_led_usbdev "usb" "USB" "tp-link:green:3g" "1-1"
|
set_led_usbdev "usb" "USB" "tp-link:green:3g" "1-1"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
tl-wr741nd-v4 | \
|
tl-wr741nd)
|
||||||
|
set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth1"
|
||||||
|
set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x02"
|
||||||
|
set_led_switch "lan2" "LAN2" "tp-link:green:lan2" "switch0" "0x04"
|
||||||
|
set_led_switch "lan3" "LAN3" "tp-link:green:lan3" "switch0" "0x08"
|
||||||
|
set_led_switch "lan4" "LAN4" "tp-link:green:lan4" "switch0" "0x10"
|
||||||
|
;;
|
||||||
|
|
||||||
|
tl-wr741nd-v4)
|
||||||
|
set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth1"
|
||||||
|
set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x04"
|
||||||
|
set_led_switch "lan2" "LAN2" "tp-link:green:lan2" "switch0" "0x08"
|
||||||
|
set_led_switch "lan3" "LAN3" "tp-link:green:lan3" "switch0" "0x10"
|
||||||
|
set_led_switch "lan4" "LAN4" "tp-link:green:lan4" "switch0" "0x02"
|
||||||
|
;;
|
||||||
|
|
||||||
tl-wr941nd)
|
tl-wr941nd)
|
||||||
set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt"
|
set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt"
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -24,6 +24,12 @@
|
||||||
|
|
||||||
#define TL_WR741NDV4_GPIO_LED_WLAN 0
|
#define TL_WR741NDV4_GPIO_LED_WLAN 0
|
||||||
#define TL_WR741NDV4_GPIO_LED_QSS 1
|
#define TL_WR741NDV4_GPIO_LED_QSS 1
|
||||||
|
#define TL_WR741NDV4_GPIO_LED_WAN 13
|
||||||
|
#define TL_WR741NDV4_GPIO_LED_LAN1 14
|
||||||
|
#define TL_WR741NDV4_GPIO_LED_LAN2 15
|
||||||
|
#define TL_WR741NDV4_GPIO_LED_LAN3 16
|
||||||
|
#define TL_WR741NDV4_GPIO_LED_LAN4 17
|
||||||
|
|
||||||
#define TL_WR741NDV4_GPIO_LED_SYSTEM 27
|
#define TL_WR741NDV4_GPIO_LED_SYSTEM 27
|
||||||
|
|
||||||
#define TL_WR741NDV4_KEYS_POLL_INTERVAL 20 /* msecs */
|
#define TL_WR741NDV4_KEYS_POLL_INTERVAL 20 /* msecs */
|
||||||
|
@ -40,13 +46,33 @@ static struct flash_platform_data tl_wr741ndv4_flash_data = {
|
||||||
|
|
||||||
static struct gpio_led tl_wr741ndv4_leds_gpio[] __initdata = {
|
static struct gpio_led tl_wr741ndv4_leds_gpio[] __initdata = {
|
||||||
{
|
{
|
||||||
.name = "tp-link:green:system",
|
.name = "tp-link:green:lan1",
|
||||||
.gpio = TL_WR741NDV4_GPIO_LED_SYSTEM,
|
.gpio = TL_WR741NDV4_GPIO_LED_LAN1,
|
||||||
|
.active_low = 0,
|
||||||
|
}, {
|
||||||
|
.name = "tp-link:green:lan2",
|
||||||
|
.gpio = TL_WR741NDV4_GPIO_LED_LAN2,
|
||||||
|
.active_low = 0,
|
||||||
|
}, {
|
||||||
|
.name = "tp-link:green:lan3",
|
||||||
|
.gpio = TL_WR741NDV4_GPIO_LED_LAN3,
|
||||||
|
.active_low = 0,
|
||||||
|
}, {
|
||||||
|
.name = "tp-link:green:lan4",
|
||||||
|
.gpio = TL_WR741NDV4_GPIO_LED_LAN4,
|
||||||
.active_low = 1,
|
.active_low = 1,
|
||||||
}, {
|
}, {
|
||||||
.name = "tp-link:green:qss",
|
.name = "tp-link:green:qss",
|
||||||
.gpio = TL_WR741NDV4_GPIO_LED_QSS,
|
.gpio = TL_WR741NDV4_GPIO_LED_QSS,
|
||||||
.active_low = 0,
|
.active_low = 0,
|
||||||
|
}, {
|
||||||
|
.name = "tp-link:green:system",
|
||||||
|
.gpio = TL_WR741NDV4_GPIO_LED_SYSTEM,
|
||||||
|
.active_low = 1,
|
||||||
|
}, {
|
||||||
|
.name = "tp-link:green:wan",
|
||||||
|
.gpio = TL_WR741NDV4_GPIO_LED_WAN,
|
||||||
|
.active_low = 0,
|
||||||
}, {
|
}, {
|
||||||
.name = "tp-link:green:wlan",
|
.name = "tp-link:green:wlan",
|
||||||
.gpio = TL_WR741NDV4_GPIO_LED_WLAN,
|
.gpio = TL_WR741NDV4_GPIO_LED_WLAN,
|
||||||
|
@ -93,6 +119,12 @@ static void __init tl_wr741ndv4_setup(void)
|
||||||
|
|
||||||
tl_wr741ndv4_gmac_setup();
|
tl_wr741ndv4_gmac_setup();
|
||||||
|
|
||||||
|
ar71xx_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);
|
||||||
|
|
||||||
ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(tl_wr741ndv4_leds_gpio),
|
ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(tl_wr741ndv4_leds_gpio),
|
||||||
tl_wr741ndv4_leds_gpio);
|
tl_wr741ndv4_leds_gpio);
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,11 @@
|
||||||
|
|
||||||
#define TL_WR741ND_GPIO_LED_QSS 0
|
#define TL_WR741ND_GPIO_LED_QSS 0
|
||||||
#define TL_WR741ND_GPIO_LED_SYSTEM 1
|
#define TL_WR741ND_GPIO_LED_SYSTEM 1
|
||||||
|
#define TL_WR741ND_GPIO_LED_LAN1 13
|
||||||
|
#define TL_WR741ND_GPIO_LED_LAN2 14
|
||||||
|
#define TL_WR741ND_GPIO_LED_LAN3 15
|
||||||
|
#define TL_WR741ND_GPIO_LED_LAN4 16
|
||||||
|
#define TL_WR741ND_GPIO_LED_WAN 17
|
||||||
|
|
||||||
#define TL_WR741ND_GPIO_BTN_RESET 11
|
#define TL_WR741ND_GPIO_BTN_RESET 11
|
||||||
#define TL_WR741ND_GPIO_BTN_QSS 12
|
#define TL_WR741ND_GPIO_BTN_QSS 12
|
||||||
|
@ -37,14 +42,34 @@ static struct flash_platform_data tl_wr741nd_flash_data = {
|
||||||
|
|
||||||
static struct gpio_led tl_wr741nd_leds_gpio[] __initdata = {
|
static struct gpio_led tl_wr741nd_leds_gpio[] __initdata = {
|
||||||
{
|
{
|
||||||
.name = "tp-link:green:system",
|
.name = "tp-link:green:lan1",
|
||||||
.gpio = TL_WR741ND_GPIO_LED_SYSTEM,
|
.gpio = TL_WR741ND_GPIO_LED_LAN1,
|
||||||
|
.active_low = 1,
|
||||||
|
}, {
|
||||||
|
.name = "tp-link:green:lan2",
|
||||||
|
.gpio = TL_WR741ND_GPIO_LED_LAN2,
|
||||||
|
.active_low = 1,
|
||||||
|
}, {
|
||||||
|
.name = "tp-link:green:lan3",
|
||||||
|
.gpio = TL_WR741ND_GPIO_LED_LAN3,
|
||||||
|
.active_low = 1,
|
||||||
|
}, {
|
||||||
|
.name = "tp-link:green:lan4",
|
||||||
|
.gpio = TL_WR741ND_GPIO_LED_LAN4,
|
||||||
.active_low = 1,
|
.active_low = 1,
|
||||||
}, {
|
}, {
|
||||||
.name = "tp-link:green:qss",
|
.name = "tp-link:green:qss",
|
||||||
.gpio = TL_WR741ND_GPIO_LED_QSS,
|
.gpio = TL_WR741ND_GPIO_LED_QSS,
|
||||||
.active_low = 1,
|
.active_low = 1,
|
||||||
}
|
}, {
|
||||||
|
.name = "tp-link:green:system",
|
||||||
|
.gpio = TL_WR741ND_GPIO_LED_SYSTEM,
|
||||||
|
.active_low = 1,
|
||||||
|
}, {
|
||||||
|
.name = "tp-link:green:wan",
|
||||||
|
.gpio = TL_WR741ND_GPIO_LED_WAN,
|
||||||
|
.active_low = 1,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct gpio_keys_button tl_wr741nd_gpio_keys[] __initdata = {
|
static struct gpio_keys_button tl_wr741nd_gpio_keys[] __initdata = {
|
||||||
|
@ -72,6 +97,12 @@ static void __init tl_wr741nd_setup(void)
|
||||||
|
|
||||||
ar71xx_add_device_m25p80(&tl_wr741nd_flash_data);
|
ar71xx_add_device_m25p80(&tl_wr741nd_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(tl_wr741nd_leds_gpio),
|
ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(tl_wr741nd_leds_gpio),
|
||||||
tl_wr741nd_leds_gpio);
|
tl_wr741nd_leds_gpio);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue