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>
This commit is contained in:
Kevin Darbyshire-Bryant 2017-04-17 16:06:40 +01:00 committed by Mathias Kresin
parent 18618695ae
commit e1d433b293
2 changed files with 65 additions and 9 deletions

View file

@ -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

View file

@ -15,7 +15,7 @@
led-dsl = &dsl; led-dsl = &dsl;
led-internet = &internet; led-internet = &internet;
led-usb = &usb; led-usb = &usb;
led-wifi = &wifi; led-wifi = &wifi_green;
}; };
memory@0 { memory@0 {
@ -106,9 +106,10 @@
label = "dgn3500:green:internet"; label = "dgn3500:green:internet";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>; gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
}; };
/* internet2 {
internet red is missing label = "dgn3500:red:internet";
*/ gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
};
dsl: dsl { dsl: dsl {
label = "dgn3500:green:dsl"; label = "dgn3500:green:dsl";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>; gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
@ -126,11 +127,12 @@
label = "dgn3500:red:power"; label = "dgn3500:red:power";
gpios = <&gpio 39 GPIO_ACTIVE_LOW>; gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
}; };
/* wifi_green: wifi {
power amber is missing label = "dgn3500:green:wireless";
*/ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
wifi: wifi { };
label = "dgn3500:blue:wireless"; wifi2 {
label = "dgn3500:amber:wireless";
gpios = <&gpio 51 GPIO_ACTIVE_LOW>; gpios = <&gpio 51 GPIO_ACTIVE_LOW>;
}; };
wps { wps {