aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorKevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>2017-04-17 16:06:40 +0100
committerMathias Kresin <dev@kresin.me>2017-04-21 07:50:55 +0200
commite1d433b293ae12037947d8e168f8080534fa3d37 (patch)
treef45f1f0464efa949638b2cd0923013a8c306c7bb /target
parent18618695aedf8cf593ca5bb5a5a0b4c97e53dd2f (diff)
downloadupstream-e1d433b293ae12037947d8e168f8080534fa3d37.tar.gz
upstream-e1d433b293ae12037947d8e168f8080534fa3d37.tar.bz2
upstream-e1d433b293ae12037947d8e168f8080534fa3d37.zip
lantiq: improve DGN3500 LED definitions
Add red:internet led on gpio 30 previously claimed as missing. Wifi led was claimed as blue however there are no blue leds on the board at all. Actually there are two wifi leds, green & amber so add definitions for those. Make the newly discovered green wifi led gpio 14 the default. There is no amber power led on this board. The mention of the amber power led in the manual means power red and power green at the same time. Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk> [removed unnecessary aliases, add migration script] Signed-off-by: Mathias Kresin <dev@kresin.me>
Diffstat (limited to 'target')
-rw-r--r--target/linux/lantiq/base-files/etc/uci-defaults/01_led_migration54
-rw-r--r--target/linux/lantiq/dts/DGN3500.dtsi20
2 files changed, 65 insertions, 9 deletions
diff --git a/target/linux/lantiq/base-files/etc/uci-defaults/01_led_migration b/target/linux/lantiq/base-files/etc/uci-defaults/01_led_migration
new file mode 100644
index 0000000000..130694a62b
--- /dev/null
+++ b/target/linux/lantiq/base-files/etc/uci-defaults/01_led_migration
@@ -0,0 +1,54 @@
+#!/bin/sh
+#
+# Copyright (C) 2013 OpenWrt.org
+#
+
+LED_OPTIONS_CHANGED=0
+
+. /lib/functions.sh
+
+do_led_update_sysfs()
+{
+ local cfg=$1; shift
+ local tuples="$@"
+ local sysfs
+ local name
+
+ config_get sysfs $cfg sysfs
+ config_get name $cfg name
+
+ [ -z "$sysfs" ] && return
+
+ for tuple in $tuples; do
+ local old=${tuple%=*}
+ local new=${tuple#*=}
+ local new_sysfs
+
+ new_sysfs=$(echo ${sysfs} | sed "s/${old}/${new}/")
+
+ [ "$new_sysfs" = "$sysfs" ] && continue
+
+ uci set system.${cfg}.sysfs="${new_sysfs}"
+ LED_OPTIONS_CHANGED=1
+
+ logger -t led-migration "sysfs option of LED \"${name}\" updated to ${new_sysfs}"
+ done;
+}
+
+migrate_leds()
+{
+ config_load system
+ config_foreach do_led_update_sysfs led "$@"
+}
+
+case "$(board_name)" in
+DGN3500*)
+ migrate_leds "dgn3500:blue:wireless=dgn3500:green:wireless"
+ ;;
+*)
+ ;;
+esac
+
+[ "$LED_OPTIONS_CHANGED" = "1" ] && uci commit system
+
+exit 0
diff --git a/target/linux/lantiq/dts/DGN3500.dtsi b/target/linux/lantiq/dts/DGN3500.dtsi
index e155577414..890b49f34f 100644
--- a/target/linux/lantiq/dts/DGN3500.dtsi
+++ b/target/linux/lantiq/dts/DGN3500.dtsi
@@ -15,7 +15,7 @@
led-dsl = &dsl;
led-internet = &internet;
led-usb = &usb;
- led-wifi = &wifi;
+ led-wifi = &wifi_green;
};
memory@0 {
@@ -106,9 +106,10 @@
label = "dgn3500:green:internet";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
- /*
- internet red is missing
- */
+ internet2 {
+ label = "dgn3500:red:internet";
+ gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
+ };
dsl: dsl {
label = "dgn3500:green:dsl";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
@@ -126,11 +127,12 @@
label = "dgn3500:red:power";
gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
};
- /*
- power amber is missing
- */
- wifi: wifi {
- label = "dgn3500:blue:wireless";
+ wifi_green: wifi {
+ label = "dgn3500:green:wireless";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ };
+ wifi2 {
+ label = "dgn3500:amber:wireless";
gpios = <&gpio 51 GPIO_ACTIVE_LOW>;
};
wps {