]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
qualcommax: enable in-band signalling on the USXGMII ports 24420/head
authorJulius Bairaktaris <julius@bairaktaris.de>
Sun, 26 Jul 2026 09:45:30 +0000 (11:45 +0200)
committerRobert Marko <robimarko@gmail.com>
Thu, 6 Aug 2026 10:45:27 +0000 (12:45 +0200)
USXGMII carries the line rate to the MAC in a Clause 37 code word, so the
link needs in-band signalling. Without "managed" the port is PHY managed,
phylink disables in-band on the PHY, and with the PCS now honouring
neg_mode neither end runs autonegotiation, so nothing crosses the system
interface.

Every USXGMII port in this target was missing the property: ten ports
across eight boards, all of them an Aquantia PHY on copper, none of them
an SFP cage. ipq8074-rt-ax89x already carried "in-band-status" on its
SGMII lan8, which is why a file-level search made it look covered.

Only the two ports on ipq8072-301w have been tested on hardware. The
remaining eight are the same PHY family behind the same PCS, are broken
today for the same reason, and cannot regress from a state where they
pass no traffic, but they have not been confirmed on a board.

That test ran on the 6.18 testing kernel, where phylink switches the PHY
side on through phy_config_inband(). On 6.12 the PHY has no such op and
0760-net-phy-aquantia-enable-USXGMII-MAC-autoneg.patch forces the same
bit unconditionally, so the end state matches, but no board has confirmed
it there.

Tested-by: Rudy Andram <rmandrad@gmail.com>
Assisted-by: Claude:claude-opus-5
Signed-off-by: Julius Bairaktaris <julius@bairaktaris.de>
Link: https://github.com/openwrt/openwrt/pull/24420
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/qualcommax/dts/ipq6018-mr7500.dts
target/linux/qualcommax/dts/ipq8072-301w.dts
target/linux/qualcommax/dts/ipq8072-haze.dts
target/linux/qualcommax/dts/ipq8072-mx8500.dts
target/linux/qualcommax/dts/ipq8074-nbg7815.dts
target/linux/qualcommax/dts/ipq8074-rax120v2.dts
target/linux/qualcommax/dts/ipq8074-rt-ax89x.dts
target/linux/qualcommax/dts/ipq8074-wxr-5950ax12.dts

index bb58959c9f3581d37729816104f1c57f34c8145b..4faf8520d4cf366891dc60641f60bdd314edde45 100644 (file)
                        label = "wan";
                        phy-handle = <&aqr114c>;
                        phy-mode = "usxgmii";
+                       managed = "in-band-status";
                        pcs-handle = <&uniphy1 0>;
                        nvmem-cells = <&hw_mac_addr 0>;
                        nvmem-cell-names = "mac-address";
index 0b973b415022194a40a9825d09120d73bb2066c3..2164853a8bb55a1e7f78d561f276c4a0c381f8d6 100644 (file)
                        label = "10g-1";
                        phy-handle = <&aqr113c_8>;
                        phy-mode = "usxgmii";
+                       managed = "in-band-status";
                        pcs-handle = <&uniphy1 0>;
                };
 
                        label = "10g-2";
                        phy-handle = <&aqr113c_0>;
                        phy-mode = "usxgmii";
+                       managed = "in-band-status";
                        pcs-handle = <&uniphy2 0>;
                };
        };
index fc5fd8bd96d5a4795bf0d3adb90b8cd961518482..ed205b22fa7769bce1dfb35cc230ff9da58781fc 100644 (file)
                        label = "wan";
                        phy-handle = <&aqr113c>;
                        phy-mode = "usxgmii";
+                       managed = "in-band-status";
                        pcs-handle = <&uniphy2 0>;
                };
        };
index bdc1c143e74843d22a0c06fb343a638145fea32a..8064f76e41529c9dc7bd13be7e935ce0eb1f384a 100644 (file)
                        label = "wan";
                        phy-handle = <&aqr114c>;
                        phy-mode = "usxgmii";
+                       managed = "in-band-status";
                        pcs-handle = <&uniphy2 0>;
                        nvmem-cells = <&hw_mac_addr 0>;
                        nvmem-cell-names = "mac-address";
index 756008c65b1fb2c60eea9806e31712b83dba2b89..18dcdd4ba10f8067b72ddb27f522f5cba59b60bd 100644 (file)
                        label = "10g";
                        phy-handle = <&aqr113c>;
                        phy-mode = "usxgmii";
+                       managed = "in-band-status";
                        pcs-handle = <&uniphy2 0>;
                        nvmem-cells = <&macaddr_lan 0>;
                        nvmem-cell-names = "mac-address";
index e0fe985bda2255e1aaf71681d9b95f083596790d..4c5b41cedb590145b210daebb5cb03defb0902d8 100644 (file)
                        label = "lan5";
                        phy-handle = <&aqr111b0>;
                        phy-mode = "usxgmii";
+                       managed = "in-band-status";
                        pcs-handle = <&uniphy2 0>;
                        nvmem-cells = <&macaddr_lan>;
                        nvmem-cell-names = "mac-address";
index 66b88a4749e74a499effbdab20ad80de99719267..783ea0b37baa4c3a884adf3a700be874961f52d2 100644 (file)
                        label = "10g-copper";
                        phy-handle = <&aqr113c>;
                        phy-mode = "usxgmii";
+                       managed = "in-band-status";
                        pcs-handle = <&uniphy2 0>;
                        nvmem-cells = <&macaddr_ubootenv_ethaddr>;
                        nvmem-cell-names = "mac-address";
index 8800a9dbcc301585e4b536cf4c40969da0f601e9..51b749e6216d934b4ad832e20c7143139a92b141 100644 (file)
                        label = "wan";
                        phy-handle = <&aqr113c_1>;
                        phy-mode = "usxgmii";
+                       managed = "in-band-status";
                        pcs-handle = <&uniphy1 0>;
                        nvmem-cells = <&macaddr_appsblenv_ethaddr>;
                        nvmem-cell-names = "mac-address";
                        label = "lan1";
                        phy-handle = <&aqr113c_2>;
                        phy-mode = "usxgmii";
+                       managed = "in-band-status";
                        pcs-handle = <&uniphy2 0>;
                        nvmem-cells = <&macaddr_appsblenv_ethaddr>;
                        nvmem-cell-names = "mac-address";