summaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-05-29 16:39:03 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-05-29 16:39:03 +0000
commit436c9f6d34c31e0173a60953858fe42b238822e4 (patch)
treef6e662a9e85178ff1b582e23915afb896b79ae59 /target
parentb0d06c0492d356308db8f241a4803d1b7c8254c1 (diff)
ramips: WAN LED for D-Link DIR-300-B1
Add led devices for D-Link DIR-300-B1 WAN LED. Note that the GPIO state is also ANDed with the esw switch port 4 LED state, which is why I've set the amber LED to default-on. Closes: https://dev.openwrt.org/ticket/11326 Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> [ juhosg: - fix comment style in mach-dir-300-revb.c, - remove the PPP specific LED setup, not everyone uses a PPP connection on the WAN interface] git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31989 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rwxr-xr-xtarget/linux/ramips/base-files/etc/uci-defaults/leds24
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/rt305x/mach-dir-300-revb.c14
2 files changed, 38 insertions, 0 deletions
diff --git a/target/linux/ramips/base-files/etc/uci-defaults/leds b/target/linux/ramips/base-files/etc/uci-defaults/leds
index ba6ea60cd..f87a64fae 100755
--- a/target/linux/ramips/base-files/etc/uci-defaults/leds
+++ b/target/linux/ramips/base-files/etc/uci-defaults/leds
@@ -30,6 +30,24 @@ commit system
EOF
}
+set_wan_led() {
+ local sysfs="$1"
+ local name="$2"
+ local trigger="$3"
+ local dev="$4"
+ local mode="$5"
+
+ uci batch <<EOF
+set system.${name}_led=led
+set system.${name}_led.name='$name'
+set system.${name}_led.sysfs='$sysfs'
+set system.${name}_led.trigger='$trigger'
+set system.${name}_led.dev='$dev'
+set system.${name}_led.mode='$mode'
+commit system
+EOF
+}
+
board=$(ramips_board_name)
case $board in
@@ -39,6 +57,12 @@ case $board in
bc2)
set_usb_led "bc2:blue:usb"
;;
+ dir-300-b1|\
+ dir-600-b1|\
+ dir-600-b2)
+ # ANDed with vlan switch port 4 led state
+ set_wan_led "d-link:amber:wan" wan_switch default-on
+ ;;
esr-9753)
set_wifi_led "rt2800pci-phy0::radio"
;;
diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-dir-300-revb.c b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-dir-300-revb.c
index 358197286..e4c5c73da 100644
--- a/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-dir-300-revb.c
+++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-dir-300-revb.c
@@ -22,6 +22,12 @@
#define DIR_300B_GPIO_LED_STATUS_AMBER 8
#define DIR_300B_GPIO_LED_STATUS_GREEN 9
#define DIR_300B_GPIO_LED_WPS 13
+/*
+ * NOTE: The wan led is also connected to the switch, both
+ * switch and gpio must be active to make it light up
+ */
+#define DIR_300B_GPIO_LED_WAN_GREEN 12
+#define DIR_300B_GPIO_LED_WAN_AMBER 14
#define DIR_300B_GPIO_BUTTON_WPS 0 /* active low */
#define DIR_300B_GPIO_BUTTON_RESET 10 /* active low */
@@ -39,6 +45,14 @@ static struct gpio_led dir_300b_leds_gpio[] __initdata = {
.gpio = DIR_300B_GPIO_LED_STATUS_GREEN,
.active_low = 1,
}, {
+ .name = "d-link:amber:wan",
+ .gpio = DIR_300B_GPIO_LED_WAN_AMBER,
+ .active_low = 1,
+ }, {
+ .name = "d-link:green:wan",
+ .gpio = DIR_300B_GPIO_LED_WAN_GREEN,
+ .active_low = 1,
+ }, {
.name = "d-link:blue:wps",
.gpio = DIR_300B_GPIO_LED_WPS,
.active_low = 1,