apm821xx: convert to dt based diag LED script

Please note that users with a Netgear WNDR4700
will need to update the device-tree partition
manually.

For instructions, please refere to commit 49856a4bb5
("apm821xx: make it possible to update the dtb partition on the WNDR4700")

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This commit is contained in:
Christian Lamparter 2017-11-28 22:51:07 +01:00 committed by John Crispin
parent da6fdce365
commit 6ad56fb34c
5 changed files with 52 additions and 34 deletions

View file

@ -3,40 +3,42 @@
. /lib/functions.sh . /lib/functions.sh
. /lib/functions/leds.sh . /lib/functions/leds.sh
get_status_led() { boot="$(get_dt_led boot)"
local board=$(board_name) failsafe="$(get_dt_led failsafe)"
running="$(get_dt_led running)"
case $board in upgrade="$(get_dt_led upgrade)"
mbl|\
mr24|\
mx60|\
wndr4700)
status_led="$board:green:power"
;;
*)
;;
esac
}
set_state() { set_state() {
get_status_led status_led="$boot"
case "$1" in case "$1" in
preinit)
status_led_blink_preinit
;;
failsafe)
status_led_blink_failsafe
;;
preinit_regular) preinit_regular)
status_led_blink_preinit_regular status_led_blink_preinit_regular
;; ;;
preinit)
status_led_blink_preinit
;;
failsafe)
status_led_off
[ -n "$running" ] && {
status_led="$running"
status_led_off
}
status_led="$failsafe"
status_led_blink_failsafe
;;
upgrade)
[ -n "$running" ] && {
status_led="$upgrade"
status_led_blink_preinit_regular
}
;;
done) done)
status_led_on status_led_off
[ -n "$running" ] && {
status_led="$running"
status_led_on
}
;; ;;
esac esac
} }

View file

@ -20,6 +20,10 @@
aliases { aliases {
serial0 = &UART1; serial0 = &UART1;
led-boot = &status;
led-failsafe = &failsafe;
led-running = &status;
led-upgrade = &status;
}; };
chosen { chosen {
@ -91,12 +95,12 @@
gpio-leds { gpio-leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
power-green { status: power-green {
label = "mr24:green:power"; label = "mr24:green:power";
gpios = <&GPIO0 18 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 18 GPIO_ACTIVE_LOW>;
}; };
power-orange { failsafe: power-orange {
label = "mr24:orange:power"; label = "mr24:orange:power";
gpios = <&GPIO0 19 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 19 GPIO_ACTIVE_LOW>;
}; };

View file

@ -20,6 +20,10 @@
aliases { aliases {
serial0 = &UART1; serial0 = &UART1;
led-boot = &status;
led-failsafe = &failsafe;
led-running = &status;
led-upgrade = &status;
}; };
chosen { chosen {
@ -120,12 +124,12 @@
gpio-leds { gpio-leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
power-green { status: power-green {
label = "mx60:green:power"; label = "mx60:green:power";
gpios = <&GPIO0 18 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 18 GPIO_ACTIVE_LOW>;
}; };
power-orange { failsafe: power-orange {
label = "mx60:orange:power"; label = "mx60:orange:power";
gpios = <&GPIO0 19 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 19 GPIO_ACTIVE_LOW>;
}; };

View file

@ -14,6 +14,10 @@
aliases { aliases {
serial0 = &UART0; serial0 = &UART0;
led-boot = &status;
led-failsafe = &status;
led-running = &status;
led-upgrade = &status;
}; };
}; };
@ -113,13 +117,13 @@
gpio-leds { gpio-leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
power-red { failsafe: power-red {
label = "mbl:red:power"; label = "mbl:red:power";
gpios = <&GPIO1 4 GPIO_ACTIVE_HIGH>; gpios = <&GPIO1 4 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "panic"; linux,default-trigger = "panic";
}; };
power-green { status: power-green {
label = "mbl:green:power"; label = "mbl:green:power";
gpios = <&GPIO1 5 GPIO_ACTIVE_HIGH>; gpios = <&GPIO1 5 GPIO_ACTIVE_HIGH>;
}; };

View file

@ -19,6 +19,10 @@
aliases { aliases {
serial0 = &UART0; serial0 = &UART0;
led-boot = &status;
led-failsafe = &failsafe;
led-running = &status;
led-upgrade = &status;
}; };
chosen { chosen {
@ -348,12 +352,12 @@
gpio-leds { gpio-leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
power-green { status: power-green {
label = "wndr4700:green:power"; label = "wndr4700:green:power";
gpios = <&GPIO0 8 GPIO_ACTIVE_HIGH>; gpios = <&GPIO0 8 GPIO_ACTIVE_HIGH>;
}; };
power-orange { failsafe: power-orange {
label = "wndr4700:orange:power"; label = "wndr4700:orange:power";
gpios = <&GPIO0 9 GPIO_ACTIVE_LOW>; gpios = <&GPIO0 9 GPIO_ACTIVE_LOW>;
linux,default-trigger = "panic"; linux,default-trigger = "panic";