diff options
author | Furong Xu <xfr@outlook.com> | 2022-12-16 21:21:33 +0800 |
---|---|---|
committer | Chuanhong Guo <gch981213@gmail.com> | 2022-12-16 21:42:02 +0800 |
commit | d9e13625810edf7ca8353ec5c23b47fb59606a3d (patch) | |
tree | 021c6a771f04d62e4179e7ed0f439a0c05428858 | |
parent | 335c1e7cfdfd477a1106ca05c96ff8949ecd953f (diff) | |
download | upstream-d9e13625810edf7ca8353ec5c23b47fb59606a3d.tar.gz upstream-d9e13625810edf7ca8353ec5c23b47fb59606a3d.tar.bz2 upstream-d9e13625810edf7ca8353ec5c23b47fb59606a3d.zip |
mediatek: add LED support for Xiaomi Redmi AX6000
add DT nodes and default package for the LEDs on Redmi AX6000
Signed-off-by: Furong Xu <xfr@outlook.com>
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
-rw-r--r-- | target/linux/mediatek/dts/mt7986a-xiaomi-redmi-router-ax6000.dts | 38 | ||||
-rw-r--r-- | target/linux/mediatek/filogic/base-files/etc/board.d/01_leds | 16 | ||||
-rw-r--r-- | target/linux/mediatek/image/filogic.mk | 1 |
3 files changed, 55 insertions, 0 deletions
diff --git a/target/linux/mediatek/dts/mt7986a-xiaomi-redmi-router-ax6000.dts b/target/linux/mediatek/dts/mt7986a-xiaomi-redmi-router-ax6000.dts index 7c590d22e2..31112664c2 100644 --- a/target/linux/mediatek/dts/mt7986a-xiaomi-redmi-router-ax6000.dts +++ b/target/linux/mediatek/dts/mt7986a-xiaomi-redmi-router-ax6000.dts @@ -3,6 +3,7 @@ /dts-v1/; #include <dt-bindings/input/input.h> #include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/leds/common.h> #include "mt7986a.dtsi" @@ -12,6 +13,10 @@ aliases { serial0 = &uart0; + led-boot = &led_status_rgb; + led-failsafe = &led_status_rgb; + led-running = &led_status_rgb; + led-upgrade = &led_status_rgb; }; chosen { @@ -95,6 +100,13 @@ }; }; + spi_led_pins: spic-pins-29-to-32 { + mux { + function = "spi"; + groups = "spi1_2"; + }; + }; + wf_2g_5g_pins: wf_2g_5g-pins { mux { function = "wifi"; @@ -202,6 +214,32 @@ }; }; +&spi1 { + pinctrl-names = "default"; + pinctrl-0 = <&spi_led_pins>; + status = "okay"; + + ws2812b@0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "worldsemi,ws2812b"; + reg = <0>; + spi-max-frequency = <3000000>; + + led_status_rgb: led@0 { + reg = <0>; + label = "rgb:status"; + color-index = <LED_COLOR_ID_RED LED_COLOR_ID_GREEN LED_COLOR_ID_BLUE>; + }; + + led_network_rgb: led@1 { + reg = <1>; + label = "rgb:network"; + color-index = <LED_COLOR_ID_RED LED_COLOR_ID_GREEN LED_COLOR_ID_BLUE>; + }; + }; +}; + &switch { ports { #address-cells = <1>; diff --git a/target/linux/mediatek/filogic/base-files/etc/board.d/01_leds b/target/linux/mediatek/filogic/base-files/etc/board.d/01_leds new file mode 100644 index 0000000000..f851c7ed54 --- /dev/null +++ b/target/linux/mediatek/filogic/base-files/etc/board.d/01_leds @@ -0,0 +1,16 @@ +. /lib/functions/leds.sh +. /lib/functions/uci-defaults.sh + +board=$(board_name) + +board_config_update + +case $board in +xiaomi,redmi-router-ax6000) + ucidef_set_led_netdev "wan" "wan" "rgb:network" "wan" + ;; +esac + +board_config_flush + +exit 0 diff --git a/target/linux/mediatek/image/filogic.mk b/target/linux/mediatek/image/filogic.mk index 1ece1465c2..5dbeedb64c 100644 --- a/target/linux/mediatek/image/filogic.mk +++ b/target/linux/mediatek/image/filogic.mk @@ -130,6 +130,7 @@ define Device/xiaomi_redmi-router-ax6000 DEVICE_MODEL := Redmi Router AX6000 DEVICE_DTS := mt7986a-xiaomi-redmi-router-ax6000 DEVICE_DTS_DIR := ../dts + DEVICE_PACKAGES := kmod-leds-ws2812b KERNEL_LOADADDR := 0x48000000 UBINIZE_OPTS := -E 5 BLOCKSIZE := 128k |