]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
airoha: an7581: move internal PHY interrupt to specific device DTS
authorChristian Marangi <ansuelsmth@gmail.com>
Thu, 14 May 2026 20:02:00 +0000 (22:02 +0200)
committerChristian Marangi <ansuelsmth@gmail.com>
Thu, 14 May 2026 20:02:00 +0000 (22:02 +0200)
It was discovered that the internal PHY interrupt are not always connected
and PHY link up/down is not correctly detected.

This is the case of the Nokia Valyrian board that suffer from this problem.

To handle this, drop the internal PHY interrupt property from DTSI and add
it only to the Gemtek W1700K DTS where it was reported to work correctly.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
target/linux/airoha/dts/an7581-w1700k-ubi.dts
target/linux/airoha/dts/an7581.dtsi

index 1ec5f0320a6fdf42ef3d8eb126d37fb9dc061f9f..f845dcad869be6a3853898b6886d560485eaefce 100644 (file)
 
 &gsw_phy1 {
        status = "okay";
+       interrupts = <1>;
        pinctrl-names = "gbe-led";
        pinctrl-0 = <&gswp1_led0_pins>;
 };
 
 &gsw_phy2 {
        status = "okay";
+       interrupts = <2>;
        pinctrl-names = "gbe-led";
        pinctrl-0 = <&gswp2_led0_pins>;
 };
index c00eaa5c324e215d1230dc8ea5d01873c1a8a937..efbb4ca54e42cda3268f3ad72359073469ad593c 100644 (file)
                                gsw_phy1: ethernet-phy@9 {
                                        compatible = "ethernet-phy-ieee802.3-c22";
                                        reg = <9>;
-                                       interrupts = <1>;
                                        phy-mode = "internal";
                                        status = "disabled";
 
                                gsw_phy2: ethernet-phy@a {
                                        compatible = "ethernet-phy-ieee802.3-c22";
                                        reg = <10>;
-                                       interrupts = <2>;
                                        phy-mode = "internal";
                                        status = "disabled";
 
                                gsw_phy3: ethernet-phy@b {
                                        compatible = "ethernet-phy-ieee802.3-c22";
                                        reg = <11>;
-                                       interrupts = <3>;
                                        phy-mode = "internal";
                                        status = "disabled";
 
                                gsw_phy4: ethernet-phy@c {
                                        compatible = "ethernet-phy-ieee802.3-c22";
                                        reg = <12>;
-                                       interrupts = <4>;
                                        phy-mode = "internal";
                                        status = "disabled";