aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFurong Xu <xfr@outlook.com>2022-12-16 21:21:33 +0800
committerChuanhong Guo <gch981213@gmail.com>2022-12-16 21:42:02 +0800
commitd9e13625810edf7ca8353ec5c23b47fb59606a3d (patch)
tree021c6a771f04d62e4179e7ed0f439a0c05428858
parent335c1e7cfdfd477a1106ca05c96ff8949ecd953f (diff)
downloadupstream-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.dts38
-rw-r--r--target/linux/mediatek/filogic/base-files/etc/board.d/01_leds16
-rw-r--r--target/linux/mediatek/image/filogic.mk1
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