ramips: TP-link archer A6/C6 device tree updates
authorRani Hod <rani.hod@gmail.com>
Fri, 20 Oct 2023 13:15:38 +0000 (16:15 +0300)
committerChristian Lamparter <chunkeey@gmail.com>
Sun, 22 Oct 2023 09:11:43 +0000 (11:11 +0200)
Set correct GPIO (10) for the WPS button. This matches GPIO settings in
vendor GPL sources. Note that GPL sources also mention a USB indicator
LED (GPIO 13) but the device has neither an external USB port nor a USB LED.

In addition, prefixes (button-, led-) are added to relevant DT entries,
as well as color and function specifications for LEDs.

Closes: #13736
Reported-by: Waldemar Czabaj <kaball@wp.pl>
Signed-off-by: Rani Hod <rani.hod@gmail.com>
(added led mitigations for wifi leds)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
target/linux/ramips/dts/mt7621_tplink_archer-x6-v3.dtsi
target/linux/ramips/mt7621/base-files/etc/uci-defaults/04_led_migration [new file with mode: 0644]

index e713b2cfd2a30b54be558aad10e099fb5d9c1628..08867064ed4dcffd98d1f617f124d60458eff471 100644 (file)
@@ -4,6 +4,7 @@
 
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 
 / {
        aliases {
        keys {
                compatible = "gpio-keys";
 
-               wps {
+               button-wps {
                        label = "wps";
-                       gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
+                       gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
                        debounce-interval = <60>;
                        linux,code = <KEY_WPS_BUTTON>;
                };
 
-               reset {
+               button-reset {
                        label = "reset";
                        gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
                        debounce-interval = <60>;
        leds {
                compatible = "gpio-leds";
 
-               led_power: power {
+               led_power: led-power {
                        label = "green:power";
+                       color = <LED_COLOR_ID_GREEN>;
+                       function = LED_FUNCTION_POWER;
                        gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
                };
 
-               wan_orange {
-                       label = "orange:wan";
+               led-wan-amber {
+                       color = <LED_COLOR_ID_AMBER>;
+                       function = LED_FUNCTION_WAN;
                        gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
                };
 
-               lan {
-                       label = "green:lan";
+               led-lan {
+                       color = <LED_COLOR_ID_GREEN>;
+                       function = LED_FUNCTION_LAN;
                        gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
                };
 
-               wifi5g {
-                       label = "green:wifi5g";
+               led-wifi5g {
+                       color = <LED_COLOR_ID_GREEN>;
+                       function = LED_FUNCTION_WLAN;
+                       function-enumerator = <5>;
                        gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
                        linux,default-trigger = "phy1tpt";
                };
 
-               wifi2g {
-                       label = "green:wifi2g";
+               led-wifi2g {
+                       color = <LED_COLOR_ID_GREEN>;
+                       function = LED_FUNCTION_WLAN;
+                       function-enumerator = <2>;
                        gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
                        linux,default-trigger = "phy0tpt";
                };
 
-               wan_green {
-                       label = "green:wan";
+               led-wan-green {
+                       color = <LED_COLOR_ID_GREEN>;
+                       function = LED_FUNCTION_WAN;
                        gpios = <&gpio 45 GPIO_ACTIVE_LOW>;
                };
        };
diff --git a/target/linux/ramips/mt7621/base-files/etc/uci-defaults/04_led_migration b/target/linux/ramips/mt7621/base-files/etc/uci-defaults/04_led_migration
new file mode 100644 (file)
index 0000000..b595ae6
--- /dev/null
@@ -0,0 +1,17 @@
+. /lib/functions.sh
+. /lib/functions/migrations.sh
+
+board=$(board_name)
+
+case "$board" in
+tplink,archer-a6-v3|\
+tplink,archer-c6-v3)
+       migrate_leds ':wifi2g$=:wlan-2' ':wifi5g$=:wlan-5'
+       ;;
+esac
+
+remove_devicename_leds
+
+migrations_apply system
+
+exit 0