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>
This commit is contained in:
Christian Lamparter 2020-08-13 18:26:19 +02:00
parent e9335c2920
commit 8b0c053671
10 changed files with 273 additions and 122 deletions

View File

@ -7,40 +7,40 @@ board=$(board_name)
case "$board" in case "$board" in
meraki,mr24) meraki,mr24)
ucidef_set_led_netdev "wan" "WAN" "mr24:green:wan" "eth0" ucidef_set_led_netdev "wan" "WAN" "green:wan" "eth0"
ucidef_set_led_wlan "wlan5g_1" "WIFI 5GHz-1" "mr24:green:wifi1" "phy1tpt" ucidef_set_led_wlan "wlan5g_1" "WIFI 5GHz-1" "green:wlan-0" "phy1tpt"
ucidef_set_led_wlan "wlan5g_0" "WIFI 5GHz-0" "mr24:green:wifi2" "phy1radio" ucidef_set_led_wlan "wlan5g_0" "WIFI 5GHz-0" "green:wlan-1" "phy1radio"
ucidef_set_led_wlan "wlan2g_1" "WIFI 2.4GHz-1" "mr24:green:wifi3" "phy0tpt" ucidef_set_led_wlan "wlan2g_1" "WIFI 2.4GHz-1" "green:wlan-2" "phy0tpt"
ucidef_set_led_wlan "wlan2g_0" "WIFI 2.4GHz-0" "mr24:green:wifi4" "phy0radio" ucidef_set_led_wlan "wlan2g_0" "WIFI 2.4GHz-0" "green:wlan-3" "phy0radio"
;; ;;
meraki,mx60) meraki,mx60)
ucidef_set_led_switch "wan" "WAN" "mx60:green:wan" "switch0" "0x20" ucidef_set_led_switch "wan" "WAN" "green:wan" "switch0" "0x20"
ucidef_set_led_switch "lan1" "LAN1" "mx60:green:lan1" "switch0" "0x10" ucidef_set_led_switch "lan1" "LAN1" "green:lan-0" "switch0" "0x10"
ucidef_set_led_switch "lan2" "LAN2" "mx60:green:lan2" "switch0" "0x08" ucidef_set_led_switch "lan2" "LAN2" "green:lan-1" "switch0" "0x08"
ucidef_set_led_switch "lan3" "LAN3" "mx60:green:lan3" "switch0" "0x04" ucidef_set_led_switch "lan3" "LAN3" "green:lan-2" "switch0" "0x04"
ucidef_set_led_switch "lan4" "LAN4" "mx60:green:lan4" "switch0" "0x02" ucidef_set_led_switch "lan4" "LAN4" "green:lan-3" "switch0" "0x02"
;; ;;
netgear,wndap620) netgear,wndap620)
ucidef_set_led_switch "lan_act" "LAN (Activity)" "wndap6x0:green:activity" "switch0" "0x04" "0x0f" "rx tx" ucidef_set_led_switch "lan_act" "LAN (Activity)" "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_100" "LAN 100Mbps" "amber:lan" "switch0" "0x04" "0x04" "link"
ucidef_set_led_switch "lan_1000" "LAN 1000Mbps" "wndap620:green:link1000" "switch0" "0x04" "0x08" "link" ucidef_set_led_switch "lan_1000" "LAN 1000Mbps" "green:lan" "switch0" "0x04" "0x08" "link"
;; ;;
netgear,wndap660) netgear,wndap660)
ucidef_set_led_netdev "lan_act" "LAN (Activity)" "wndap6x0:green:activity" "eth0" ucidef_set_led_netdev "lan_act" "LAN (Activity)" "green:activity" "eth0"
ucidef_set_led_switch "lan1_100" "LAN 100Mbps" "wndap660:amber:lan1-link100" "switch0" "0x04" "0x04" "link" ucidef_set_led_switch "lan1_100" "LAN 100Mbps" "amber:lan-0" "switch0" "0x04" "0x04" "link"
ucidef_set_led_switch "lan1_1000" "LAN 1000Mbps" "wndap660:green:lan1-link1000" "switch0" "0x04" "0x08" "link" ucidef_set_led_switch "lan1_1000" "LAN 1000Mbps" "green:lan-0" "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_100" "LAN 100Mbps" "amber:lan-1" "switch0" "0x02" "0x04" "link"
ucidef_set_led_switch "lan2_1000" "LAN 1000Mbps" "wndap660:green:lan2-link1000" "switch0" "0x02" "0x08" "link" ucidef_set_led_switch "lan2_1000" "LAN 1000Mbps" "green:lan-1" "switch0" "0x02" "0x08" "link"
ucidef_set_led_wlan "wlan2g" "WLAN2G" "wndap6x0:green:wlan2g" "phy0tpt" ucidef_set_led_wlan "wlan2g" "WLAN2G" "green:wlan-0" "phy0tpt"
ucidef_set_led_wlan "wlan5g" "WLAN5G" "wndap6x0:green:wlan5g" "phy1tpt" ucidef_set_led_wlan "wlan5g" "WLAN5G" "green:wlan-1" "phy1tpt"
;; ;;
netgear,wndr4700) netgear,wndr4700)
ucidef_set_led_switch "wan_green" "WAN (green)" "wndr4700:green:wan" "switch0" "0x20" ucidef_set_led_switch "wan_green" "WAN (green)" "green:wan" "switch0" "0x20"
ucidef_set_led_netdev "wan_yellow" "WAN (yellow)" "wndr4700:yellow:wan" "eth0.2" "tx rx" ucidef_set_led_netdev "wan_yellow" "WAN (yellow)" "yellow:wan" "eth0.2" "tx rx"
;; ;;
esac esac

View File

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

View File

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

View File

@ -9,6 +9,7 @@
/dts-v1/; /dts-v1/;
#include <dt-bindings/leds/common.h>
#include "apm82181.dtsi" #include "apm82181.dtsi"
/ { / {
@ -17,10 +18,6 @@
aliases { aliases {
serial0 = &UART1; serial0 = &UART1;
led-boot = &status;
led-failsafe = &failsafe;
led-running = &status;
led-upgrade = &status;
}; };
chosen { chosen {
@ -128,38 +125,50 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
status: power-green { led-0 {
label = "mr24:green:power"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_POWER;
gpios = <&GPIO0 18 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 18 GPIO_ACTIVE_LOW>;
}; };
failsafe: power-orange { led-1 {
label = "mr24:orange:power"; color = <LED_COLOR_ID_AMBER>;
function = LED_FUNCTION_FAULT;
gpios = <&GPIO0 19 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 19 GPIO_ACTIVE_LOW>;
panic-indicator;
}; };
lan { led-2 {
label = "mr24:green:wan"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_WAN;
gpios = <&GPIO0 17 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 17 GPIO_ACTIVE_LOW>;
}; };
ssi-0 { led-3 {
label = "mr24:green:wifi1"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_WLAN;
function-enumerator = <0>;
gpios = <&GPIO0 23 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 23 GPIO_ACTIVE_LOW>;
}; };
ssi-1 { led-4 {
label = "mr24:green:wifi2"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_WLAN;
function-enumerator = <1>;
gpios = <&GPIO0 22 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 22 GPIO_ACTIVE_LOW>;
}; };
ssi-2 { led-5 {
label = "mr24:green:wifi3"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_WLAN;
function-enumerator = <2>;
gpios = <&GPIO0 21 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 21 GPIO_ACTIVE_LOW>;
}; };
ssi-3 { led-6 {
label = "mr24:green:wifi4"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_WLAN;
function-enumerator = <3>;
gpios = <&GPIO0 20 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 20 GPIO_ACTIVE_LOW>;
}; };
}; };

View File

@ -9,6 +9,7 @@
/dts-v1/; /dts-v1/;
#include <dt-bindings/leds/common.h>
#include "apm82181.dtsi" #include "apm82181.dtsi"
/ { / {
@ -17,10 +18,6 @@
aliases { aliases {
serial0 = &UART1; serial0 = &UART1;
led-boot = &status;
led-failsafe = &failsafe;
led-running = &status;
led-upgrade = &status;
}; };
chosen { chosen {
@ -116,43 +113,56 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
status: power-green { led-0 {
label = "mx60:green:power"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_POWER;
gpios = <&GPIO0 18 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 18 GPIO_ACTIVE_LOW>;
}; };
failsafe: power-orange { led-1 {
label = "mx60:orange:power"; color = <LED_COLOR_ID_AMBER>;
function = LED_FUNCTION_FAULT;
gpios = <&GPIO0 19 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 19 GPIO_ACTIVE_LOW>;
panic-indicator;
}; };
wan-green { led-2 {
label = "mx60:green:wan"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_WAN;
gpios = <&GPIO0 17 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 17 GPIO_ACTIVE_LOW>;
}; };
wan-orange { led-3 {
label = "mx60:orange:wan"; color = <LED_COLOR_ID_AMBER>;
function = LED_FUNCTION_WAN;
gpios = <&GPIO0 15 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 15 GPIO_ACTIVE_LOW>;
}; };
lan1 { led-4 {
label = "mx60:green:lan1"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <0>;
gpios = <&GPIO0 20 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 20 GPIO_ACTIVE_LOW>;
}; };
lan2 { led-5 {
label = "mx60:green:lan2"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <1>;
gpios = <&GPIO0 21 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 21 GPIO_ACTIVE_LOW>;
}; };
lan3 { led-6 {
label = "mx60:green:lan3"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <2>;
gpios = <&GPIO0 22 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 22 GPIO_ACTIVE_LOW>;
}; };
lan4 { led-7 {
label = "mx60:green:lan4"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <3>;
gpios = <&GPIO0 23 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 23 GPIO_ACTIVE_LOW>;
}; };
}; };

View File

@ -10,13 +10,16 @@
}; };
&LEDS { &LEDS {
link1000 { led-5 {
label = "wndap620:green:link1000"; function = LED_FUNCTION_LAN;
function-enumerator = <1>;
color = <LED_COLOR_ID_GREEN>;
gpios = <&GPIO0 9 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 9 GPIO_ACTIVE_HIGH>;
}; };
link100 { led-6 {
label = "wndap620:amber:link100"; function = LED_FUNCTION_LAN;
color = <LED_COLOR_ID_AMBER>;
gpios = <&GPIO0 10 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 10 GPIO_ACTIVE_HIGH>;
}; };
}; };

View File

@ -10,23 +10,31 @@
}; };
&LEDS { &LEDS {
lan1-link1000 { led-5 {
label = "wndap660:green:lan1-link1000"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <1>;
gpios = <&GPIO0 22 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 22 GPIO_ACTIVE_HIGH>;
}; };
lan1-link100 { led-6 {
label = "wndap660:amber:lan1-link100"; color = <LED_COLOR_ID_AMBER>;
function = LED_FUNCTION_LAN;
function-enumerator = <0>;
gpios = <&GPIO0 23 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 23 GPIO_ACTIVE_HIGH>;
}; };
lan2-link1000 { led-7 {
label = "wndap660:green:lan2-link1000"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <2>;
gpios = <&GPIO0 9 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 9 GPIO_ACTIVE_HIGH>;
}; };
lan2-link100 { led-8 {
label = "wndap660:amber:lan2-link100"; color = <LED_COLOR_ID_AMBER>;
function = LED_FUNCTION_LAN;
function-enumerator = <1>;
gpios = <&GPIO0 10 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 10 GPIO_ACTIVE_HIGH>;
}; };
}; };

View File

@ -3,15 +3,12 @@
* Device Tree Source for Netgear WNDAP620 and WNDAP660 * Device Tree Source for Netgear WNDAP620 and WNDAP660
*/ */
#include <dt-bindings/leds/common.h>
#include "apm82181.dtsi" #include "apm82181.dtsi"
/ { / {
aliases { aliases {
serial0 = &UART0; serial0 = &UART0;
led-boot = &status;
led-failsafe = &failsafe;
led-running = &status;
led-upgrade = &status;
}; };
chosen { chosen {
@ -137,29 +134,37 @@
LEDS: leds { LEDS: leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
status: power { led-0 {
label = "wndap6x0:green:power"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_POWER;
gpios = <&GPIO0 18 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 18 GPIO_ACTIVE_HIGH>;
}; };
failsafe: test { led-1 {
label = "wndap6x0:amber:test"; color = <LED_COLOR_ID_AMBER>;
function = LED_FUNCTION_FAULT;
gpios = <&GPIO0 17 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 17 GPIO_ACTIVE_HIGH>;
panic-indicator; panic-indicator;
}; };
activity { led-2 {
label = "wndap6x0:green:activity"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <0>;
gpios = <&GPIO0 21 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 21 GPIO_ACTIVE_HIGH>;
}; };
wlan2g { led-3 {
label = "wndap6x0:green:wlan2g"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_WLAN;
function-enumerator = <0>;
gpios = <&GPIO0 19 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 19 GPIO_ACTIVE_HIGH>;
}; };
wlan5g { led-4 {
label = "wndap6x0:green:wlan5g"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_WLAN;
function-enumerator = <1>;
gpios = <&GPIO0 20 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 20 GPIO_ACTIVE_HIGH>;
}; };
}; };
@ -216,4 +221,3 @@
read-only; read-only;
}; };
}; };

View File

@ -7,8 +7,9 @@
/dts-v1/; /dts-v1/;
#include "apm82181.dtsi"
#include <dt-bindings/thermal/thermal.h> #include <dt-bindings/thermal/thermal.h>
#include <dt-bindings/leds/common.h>
#include "apm82181.dtsi"
/ { / {
model = "Netgear WNDR4700/WNDR4720 Series"; model = "Netgear WNDR4700/WNDR4720 Series";
@ -16,10 +17,6 @@
aliases { aliases {
serial0 = &UART0; serial0 = &UART0;
led-boot = &status;
led-failsafe = &failsafe;
led-running = &status;
led-upgrade = &status;
}; };
chosen { chosen {
@ -367,53 +364,63 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
status: power-green {
label = "wndr4700:green:power"; led-0 {
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_POWER;
gpios = <&GPIO0 8 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 8 GPIO_ACTIVE_HIGH>;
}; };
failsafe: power-orange { led-1 {
label = "wndr4700:orange:power"; color = <LED_COLOR_ID_AMBER>;
function = LED_FUNCTION_FAULT;
gpios = <&GPIO0 9 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 9 GPIO_ACTIVE_LOW>;
linux,default-trigger = "panic"; panic-indicator;
}; };
usb-blue { led-2 {
label = "wndr4700:blue:usb"; color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_USB;
gpios = <&GPIO0 10 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 10 GPIO_ACTIVE_HIGH>;
trigger-sources = <&usb2_port 1>, <&usb2_port 2>, trigger-sources = <&usb2_port 1>, <&usb2_port 2>,
<&usb3_port 1>, <&usb3_port 2>; <&usb3_port 1>, <&usb3_port 2>;
linux,default-trigger = "usbport"; linux,default-trigger = "usbport";
}; };
logo-white { led-3 {
label = "wndr4700:white:logo"; color = <LED_COLOR_ID_WHITE>;
function = LED_FUNCTION_INDICATOR;
gpios = <&GPIO0 11 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 11 GPIO_ACTIVE_HIGH>;
}; };
wan-yellow { led-4 {
label = "wndr4700:yellow:wan"; color = <LED_COLOR_ID_YELLOW>;
function = LED_FUNCTION_WAN;
gpios = <&GPIO0 3 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 3 GPIO_ACTIVE_HIGH>;
}; };
wan-green { led-5 {
label = "wndr4700:green:wan"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_WAN;
gpios = <&GPIO0 12 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 12 GPIO_ACTIVE_HIGH>;
}; };
hd-green { led-6 {
label = "wndr4700:green:hd"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_DISK;
gpios = <&GPIO0 14 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 14 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "disk-activity"; linux,default-trigger = "disk-activity";
}; };
hd-red { led-7 {
label = "wndr4700:red:hd"; color = <LED_COLOR_ID_RED>;
function = LED_FUNCTION_DISK_ERR;
gpios = <&GPIO0 17 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 17 GPIO_ACTIVE_HIGH>;
}; };
wlan-blue { led-8 {
label = "wndr4700:blue:wlan"; color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_WLAN;
gpios = <&GPIO0 18 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 18 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "phy0tpt"; linux,default-trigger = "phy0tpt";
}; };

View File

@ -6,6 +6,7 @@
/dts-v1/; /dts-v1/;
#include <dt-bindings/leds/common.h>
#include "apm82181.dtsi" #include "apm82181.dtsi"
/ { / {
@ -14,10 +15,6 @@
aliases { aliases {
serial0 = &UART0; serial0 = &UART0;
led-boot = &status;
led-failsafe = &status;
led-running = &status;
led-upgrade = &status;
}; };
}; };
@ -86,19 +83,26 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
failsafe: power-red { /* There's just one tri-color LED with three separate pins.
label = "mbl:red:power"; * One pin for each color (red, green and blue). Each has
* a different meaning.
*/
led-0 {
color = <LED_COLOR_ID_RED>;
function = LED_FUNCTION_FAULT;
gpios = <&GPIO1 4 GPIO_ACTIVE_HIGH>; gpios = <&GPIO1 4 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "panic"; panic-indicator;
}; };
status: power-green { led-1 {
label = "mbl:green:power"; color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_POWER;
gpios = <&GPIO1 5 GPIO_ACTIVE_HIGH>; gpios = <&GPIO1 5 GPIO_ACTIVE_HIGH>;
}; };
power-blue { led-2 {
label = "mbl:blue:power"; color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_DISK;
gpios = <&GPIO1 6 GPIO_ACTIVE_HIGH>; gpios = <&GPIO1 6 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "disk-activity"; linux,default-trigger = "disk-activity";
}; };