qualcommax: ipq807x: mx4200v2: fix LED controller
authorManuel Fombuena <fombuena@outlook.com>
Thu, 2 Jan 2025 18:28:16 +0000 (18:28 +0000)
committerRobert Marko <robimarko@gmail.com>
Sun, 5 Jan 2025 11:12:12 +0000 (12:12 +0100)
The Linksys MX4200v2 doesn't have the same LED controller as the MX4200v1 or MX4300.  It comes with the STMicroelectronics LED1202 while the others come with the NXP PCA9633.

This LED controller has a driver under development which is currently being reviewed by the respective kernel maintainers. They are currently on v11.

Apart from the changes needed on the MX4200v2, this commit also amends the configuration of other devices affected by this change as the LED controller is no common to all of them as it was originally thought.

Signed-off-by: Manuel Fombuena <fombuena@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/17451
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8174-mx4200v1.dts
target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8174-mx4200v2.dts
target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8174-mx4300.dts
target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8174-mx4x00.dtsi
target/linux/qualcommax/image/ipq807x.mk

index 7946e5c54d3d44c2b175e9051780640d6a6f08b3..12897419bbd23de5a851887eabd6a7d5ce408477 100644 (file)
        compatible = "linksys,mx4200v1", "qcom,ipq8074";
 };
 
+&blsp1_i2c2 {
+
+       led-controller@62 {
+               compatible = "nxp,pca9633";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               reg = <0x62>;
+               nxp,hw-blink;
+
+               led_system_red: led@0 {
+                       reg = <0>;
+                       color = <LED_COLOR_ID_RED>;
+                       function = LED_FUNCTION_STATUS;
+               };
+
+               led_system_green: led@1 {
+                       reg = <1>;
+                       color = <LED_COLOR_ID_GREEN>;
+                       function = LED_FUNCTION_STATUS;
+               };
+
+               led_system_blue: led@2 {
+                       reg = <2>;
+                       color = <LED_COLOR_ID_BLUE>;
+                       function = LED_FUNCTION_STATUS;
+               };
+       };
+};
+
 &wifi {
        status = "okay";
 
index 44e1b72f16a7cb03cecc9abee3f5e4c26abba487..c1779a2d4882d8e463646b7796100eaaa5bba159 100644 (file)
        compatible = "linksys,mx4200v2", "qcom,ipq8074";
 };
 
+&blsp1_i2c2 {
+
+       led-controller@58 {
+               compatible = "st,led1202";
+               reg = <0x58>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               led_system_green: led@0 {
+                       reg = <0>;
+                       color = <LED_COLOR_ID_GREEN>;
+                       function = LED_FUNCTION_STATUS;
+               };
+               led_system_red: led@1 {
+                       reg = <1>;
+                       color = <LED_COLOR_ID_RED>;
+                       function = LED_FUNCTION_STATUS;
+               };
+               led_system_blue: led@2 {
+                       reg = <2>;
+                       color = <LED_COLOR_ID_BLUE>;
+                       function = LED_FUNCTION_STATUS;
+               };
+       };
+};
+
 &wifi {
        status = "okay";
 
index 1477019ab941d098ac54567ef6a1039763906efd..d09710b9c4799b8c950045af9c0fd2082adaa3f1 100644 (file)
        };
 };
 
+&blsp1_i2c2 {
+
+       led-controller@62 {
+               compatible = "nxp,pca9633";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               reg = <0x62>;
+               nxp,hw-blink;
+
+               led_system_red: led@0 {
+                       reg = <0>;
+                       color = <LED_COLOR_ID_RED>;
+                       function = LED_FUNCTION_STATUS;
+               };
+
+               led_system_green: led@1 {
+                       reg = <1>;
+                       color = <LED_COLOR_ID_GREEN>;
+                       function = LED_FUNCTION_STATUS;
+               };
+
+               led_system_blue: led@2 {
+                       reg = <2>;
+                       color = <LED_COLOR_ID_BLUE>;
+                       function = LED_FUNCTION_STATUS;
+               };
+       };
+};
+
 &dp2 {
        status = "okay";
        phy-handle = <&qca8075_1>;
index 84e68dae356bac7e73d1bf87e04b82eb35509129..2dca7ffd3bf1611493e64e21faab1b639755543d 100644 (file)
 
 &blsp1_i2c2 {
        status = "okay";
-
-       led-controller@62 {
-               compatible = "nxp,pca9633";
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0x62>;
-               nxp,hw-blink;
-
-               led_system_red: led@0 {
-                       reg = <0>;
-                       color = <LED_COLOR_ID_RED>;
-                       function = LED_FUNCTION_STATUS;
-               };
-
-               led_system_green: led@1 {
-                       reg = <1>;
-                       color = <LED_COLOR_ID_GREEN>;
-                       function = LED_FUNCTION_STATUS;
-               };
-
-               led_system_blue: led@2 {
-                       reg = <2>;
-                       color = <LED_COLOR_ID_BLUE>;
-                       function = LED_FUNCTION_STATUS;
-               };
-       };
 };
 
 &mdio {
index 260b358ce896555cf55bbc42be9e2fda53009055..731c2ba0caa1289e62db490e1163eeafcd8231fc 100644 (file)
@@ -167,7 +167,6 @@ define Device/linksys_mx
        SOC := ipq8072
        IMAGES += factory.bin
        IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=$$$$(DEVICE_MODEL)
-       DEVICE_PACKAGES := kmod-leds-pca963x
 endef
 
 define Device/linksys_mx4x00
@@ -180,13 +179,15 @@ define Device/linksys_mx4200v1
        $(call Device/linksys_mx4x00)
        DEVICE_MODEL := MX4200
        DEVICE_VARIANT := v1
-       DEVICE_PACKAGES += kmod-bluetooth
+       DEVICE_PACKAGES += kmod-bluetooth kmod-leds-pca963x
 endef
 TARGET_DEVICES += linksys_mx4200v1
 
 define Device/linksys_mx4200v2
-       $(call Device/linksys_mx4200v1)
+       $(call Device/linksys_mx4x00)
+       DEVICE_MODEL := MX4200
        DEVICE_VARIANT := v2
+       DEVICE_PACKAGES += kmod-bluetooth kmod-leds-st1202
 endef
 TARGET_DEVICES += linksys_mx4200v2
 
@@ -198,6 +199,7 @@ define Device/linksys_mx4300
        KERNEL_SIZE := 8192k
        IMAGE_SIZE := 171264k
        NAND_SIZE := 1024m
+       DEVICE_PACKAGES += kmod-leds-pca963x
 endef
 TARGET_DEVICES += linksys_mx4300
 
@@ -205,7 +207,7 @@ define Device/linksys_mx5300
        $(call Device/linksys_mx)
        DEVICE_MODEL := MX5300
        DEVICE_PACKAGES += kmod-rtc-ds1307 ipq-wifi-linksys_mx5300 \
-               kmod-ath10k-ct ath10k-firmware-qca9984-ct
+               kmod-ath10k-ct ath10k-firmware-qca9984-ct kmod-leds-pca963x
 endef
 TARGET_DEVICES += linksys_mx5300
 
@@ -213,7 +215,7 @@ define Device/linksys_mx8500
        $(call Device/linksys_mx)
        DEVICE_MODEL := MX8500
        DEVICE_PACKAGES += ipq-wifi-linksys_mx8500 kmod-ath11k-pci \
-               ath11k-firmware-qcn9074 kmod-bluetooth
+               ath11k-firmware-qcn9074 kmod-bluetooth kmod-leds-pca963x
 endef
 TARGET_DEVICES += linksys_mx8500