diff options
author | Christian Lamparter <chunkeey@gmail.com> | 2020-08-13 18:26:19 +0200 |
---|---|---|
committer | Christian Lamparter <chunkeey@gmail.com> | 2021-10-22 21:25:18 +0200 |
commit | 8b0c053671e5fb7f36c123a281c51a8071bf96e3 (patch) | |
tree | a0a6816131fed9d37221da6e25f5ec0c6eef1815 /target/linux/apm821xx/base-files | |
parent | e9335c292003e15901ef5f665750f9493132eb28 (diff) | |
download | upstream-8b0c053671e5fb7f36c123a281c51a8071bf96e3.tar.gz upstream-8b0c053671e5fb7f36c123a281c51a8071bf96e3.tar.bz2 upstream-8b0c053671e5fb7f36c123a281c51a8071bf96e3.zip |
apm821xx: implement new LED label naming scheme
This patch updates all current APM82181 devices over to that
"new LED naming scheme". This includes many updates to the
device-tree:
- dropped the deprecated, but beloved "label" property.
- rename all DT leds node names to led-#.
- add function and color properties.
- utilized panic-indicator property.
- dropped led- aliases (see below).
migration scripts for all devices are included.
For more information. See:
<https://www.kernel.org/doc/html/latest/leds/leds-class.html>
For the future: It looks like the color+function properties
won over the dt-alias / label. This will need to be wired up
into openwrt eventually. For APM821xx the situation is that
all devices have a dedicated power and fault indicator.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Diffstat (limited to 'target/linux/apm821xx/base-files')
3 files changed, 128 insertions, 22 deletions
diff --git a/target/linux/apm821xx/base-files/etc/board.d/01_leds b/target/linux/apm821xx/base-files/etc/board.d/01_leds index c6f855cd2d..0b203fd8a7 100644 --- a/target/linux/apm821xx/base-files/etc/board.d/01_leds +++ b/target/linux/apm821xx/base-files/etc/board.d/01_leds @@ -7,40 +7,40 @@ board=$(board_name) case "$board" in meraki,mr24) - ucidef_set_led_netdev "wan" "WAN" "mr24:green:wan" "eth0" - ucidef_set_led_wlan "wlan5g_1" "WIFI 5GHz-1" "mr24:green:wifi1" "phy1tpt" - ucidef_set_led_wlan "wlan5g_0" "WIFI 5GHz-0" "mr24:green:wifi2" "phy1radio" - ucidef_set_led_wlan "wlan2g_1" "WIFI 2.4GHz-1" "mr24:green:wifi3" "phy0tpt" - ucidef_set_led_wlan "wlan2g_0" "WIFI 2.4GHz-0" "mr24:green:wifi4" "phy0radio" + ucidef_set_led_netdev "wan" "WAN" "green:wan" "eth0" + ucidef_set_led_wlan "wlan5g_1" "WIFI 5GHz-1" "green:wlan-0" "phy1tpt" + ucidef_set_led_wlan "wlan5g_0" "WIFI 5GHz-0" "green:wlan-1" "phy1radio" + ucidef_set_led_wlan "wlan2g_1" "WIFI 2.4GHz-1" "green:wlan-2" "phy0tpt" + ucidef_set_led_wlan "wlan2g_0" "WIFI 2.4GHz-0" "green:wlan-3" "phy0radio" ;; meraki,mx60) - ucidef_set_led_switch "wan" "WAN" "mx60:green:wan" "switch0" "0x20" - ucidef_set_led_switch "lan1" "LAN1" "mx60:green:lan1" "switch0" "0x10" - ucidef_set_led_switch "lan2" "LAN2" "mx60:green:lan2" "switch0" "0x08" - ucidef_set_led_switch "lan3" "LAN3" "mx60:green:lan3" "switch0" "0x04" - ucidef_set_led_switch "lan4" "LAN4" "mx60:green:lan4" "switch0" "0x02" + ucidef_set_led_switch "wan" "WAN" "green:wan" "switch0" "0x20" + ucidef_set_led_switch "lan1" "LAN1" "green:lan-0" "switch0" "0x10" + ucidef_set_led_switch "lan2" "LAN2" "green:lan-1" "switch0" "0x08" + ucidef_set_led_switch "lan3" "LAN3" "green:lan-2" "switch0" "0x04" + ucidef_set_led_switch "lan4" "LAN4" "green:lan-3" "switch0" "0x02" ;; netgear,wndap620) - ucidef_set_led_switch "lan_act" "LAN (Activity)" "wndap6x0:green:activity" "switch0" "0x04" "0x0f" "rx tx" - ucidef_set_led_switch "lan_100" "LAN 100Mbps" "wndap620:amber:link100" "switch0" "0x04" "0x04" "link" - ucidef_set_led_switch "lan_1000" "LAN 1000Mbps" "wndap620:green:link1000" "switch0" "0x04" "0x08" "link" + ucidef_set_led_switch "lan_act" "LAN (Activity)" "green:activity" "switch0" "0x04" "0x0f" "rx tx" + ucidef_set_led_switch "lan_100" "LAN 100Mbps" "amber:lan" "switch0" "0x04" "0x04" "link" + ucidef_set_led_switch "lan_1000" "LAN 1000Mbps" "green:lan" "switch0" "0x04" "0x08" "link" ;; netgear,wndap660) - ucidef_set_led_netdev "lan_act" "LAN (Activity)" "wndap6x0:green:activity" "eth0" - ucidef_set_led_switch "lan1_100" "LAN 100Mbps" "wndap660:amber:lan1-link100" "switch0" "0x04" "0x04" "link" - ucidef_set_led_switch "lan1_1000" "LAN 1000Mbps" "wndap660:green:lan1-link1000" "switch0" "0x04" "0x08" "link" - ucidef_set_led_switch "lan2_100" "LAN 100Mbps" "wndap660:amber:lan2-link100" "switch0" "0x02" "0x04" "link" - ucidef_set_led_switch "lan2_1000" "LAN 1000Mbps" "wndap660:green:lan2-link1000" "switch0" "0x02" "0x08" "link" - ucidef_set_led_wlan "wlan2g" "WLAN2G" "wndap6x0:green:wlan2g" "phy0tpt" - ucidef_set_led_wlan "wlan5g" "WLAN5G" "wndap6x0:green:wlan5g" "phy1tpt" + ucidef_set_led_netdev "lan_act" "LAN (Activity)" "green:activity" "eth0" + ucidef_set_led_switch "lan1_100" "LAN 100Mbps" "amber:lan-0" "switch0" "0x04" "0x04" "link" + ucidef_set_led_switch "lan1_1000" "LAN 1000Mbps" "green:lan-0" "switch0" "0x04" "0x08" "link" + ucidef_set_led_switch "lan2_100" "LAN 100Mbps" "amber:lan-1" "switch0" "0x02" "0x04" "link" + ucidef_set_led_switch "lan2_1000" "LAN 1000Mbps" "green:lan-1" "switch0" "0x02" "0x08" "link" + ucidef_set_led_wlan "wlan2g" "WLAN2G" "green:wlan-0" "phy0tpt" + ucidef_set_led_wlan "wlan5g" "WLAN5G" "green:wlan-1" "phy1tpt" ;; netgear,wndr4700) - ucidef_set_led_switch "wan_green" "WAN (green)" "wndr4700:green:wan" "switch0" "0x20" - ucidef_set_led_netdev "wan_yellow" "WAN (yellow)" "wndr4700:yellow:wan" "eth0.2" "tx rx" + ucidef_set_led_switch "wan_green" "WAN (green)" "green:wan" "switch0" "0x20" + ucidef_set_led_netdev "wan_yellow" "WAN (yellow)" "yellow:wan" "eth0.2" "tx rx" ;; esac diff --git a/target/linux/apm821xx/base-files/etc/diag.sh b/target/linux/apm821xx/base-files/etc/diag.sh new file mode 100644 index 0000000000..9a2f4202bb --- /dev/null +++ b/target/linux/apm821xx/base-files/etc/diag.sh @@ -0,0 +1,50 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0-only + +. /lib/functions/leds.sh + +get_status_led() { + local status_led_file + + status_led_file=$(find /sys/class/leds/ -name "*:power" | head -n1) + if [ -d "$status_led_file" ]; then + basename $status_led_file + return + fi; +} + +get_failsafe_led() { + local status_led_file + + status_led_file=$(find /sys/class/leds/ -name "*:fault" | head -n1) + if [ -d "$status_led_file" ]; then + basename $status_led_file + return + fi; +} + +set_state() { + status_led=$(get_status_led) + + [ -z "$status_led" ] && return + + case "$1" in + preinit) + status_led_blink_preinit + ;; + failsafe) + status_led_off + status_led=$(get_failsafe_led) + status_led_blink_failsafe + ;; + preinit_regular) + status_led_blink_preinit_regular + ;; + upgrade) + status_led_blink_preinit_regular + ;; + done) + status_led_on + ;; + esac +} diff --git a/target/linux/apm821xx/base-files/etc/uci-defaults/04_led_migration b/target/linux/apm821xx/base-files/etc/uci-defaults/04_led_migration new file mode 100644 index 0000000000..b15ffa34af --- /dev/null +++ b/target/linux/apm821xx/base-files/etc/uci-defaults/04_led_migration @@ -0,0 +1,56 @@ +. /lib/functions.sh +. /lib/functions/migrations.sh + +board=$(board_name) + +case "$board" in +meraki,mr24) + migrate_leds "orange:power=amber:fault" \ + ":wifi1=:wlan-0" \ + ":wifi2=:wlan-1" \ + ":wifi3=:wlan-2" \ + ":wifi4=:wlan-3" + ;; +meraki,mx60) + migrate_leds ":lan1=:lan-0" \ + ":lan2=:lan-1" \ + ":lan3=:lan-2" \ + ":lan4=:lan-3" \ + "orange:power=amber:power" \ + "orange:wan=amber:wan" + ;; +netgear,wndap620) + migrate_leds ":activity=:lan-0" \ + ":test=:fault" \ + ":wlan2g=:wlan-0" \ + ":wlan5g=:wlan-1" \ + ":link100=:lan" \ + ":link1000=:lan-1" + ;; +netgear,wndap660) + migrate_leds ":activity=:lan-0" \ + ":test=:fault" \ + ":wlan2g=:wlan-0" \ + ":wlan5g=:wlan-1" \ + ":lan1-link100=:lan-0" \ + ":lan1-link1000=:lan-1" \ + ":lan2-link100=:lan-1" \ + ":lan2-link1000=:lan-2" + ;; +netgear,wndr4700) + migrate_leds "orange:power=amber:fault" \ + "white:logo=white:indicator" \ + "green:hd=green:disk" \ + "red:hd=red:disk-err" + ;; +wd,mybooklive) + migrate_leds "red:power=red:fault" \ + "blue:power=blue:disk" + ;; +esac + +remove_devicename_leds + +migrations_apply system + +exit 0 |