qualcommax: enable in-band signalling on the USXGMII ports

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>
This commit is contained in:
Julius Bairaktaris 2026-07-26 11:45:30 +02:00 committed by Robert Marko
parent dd78f34eba
commit f4a7ae107e
8 changed files with 10 additions and 0 deletions

View file

@ -422,6 +422,7 @@
label = "wan"; label = "wan";
phy-handle = <&aqr114c>; phy-handle = <&aqr114c>;
phy-mode = "usxgmii"; phy-mode = "usxgmii";
managed = "in-band-status";
pcs-handle = <&uniphy1 0>; pcs-handle = <&uniphy1 0>;
nvmem-cells = <&hw_mac_addr 0>; nvmem-cells = <&hw_mac_addr 0>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";

View file

@ -498,6 +498,7 @@
label = "10g-1"; label = "10g-1";
phy-handle = <&aqr113c_8>; phy-handle = <&aqr113c_8>;
phy-mode = "usxgmii"; phy-mode = "usxgmii";
managed = "in-band-status";
pcs-handle = <&uniphy1 0>; pcs-handle = <&uniphy1 0>;
}; };
@ -506,6 +507,7 @@
label = "10g-2"; label = "10g-2";
phy-handle = <&aqr113c_0>; phy-handle = <&aqr113c_0>;
phy-mode = "usxgmii"; phy-mode = "usxgmii";
managed = "in-band-status";
pcs-handle = <&uniphy2 0>; pcs-handle = <&uniphy2 0>;
}; };
}; };

View file

@ -254,6 +254,7 @@
label = "wan"; label = "wan";
phy-handle = <&aqr113c>; phy-handle = <&aqr113c>;
phy-mode = "usxgmii"; phy-mode = "usxgmii";
managed = "in-band-status";
pcs-handle = <&uniphy2 0>; pcs-handle = <&uniphy2 0>;
}; };
}; };

View file

@ -472,6 +472,7 @@
label = "wan"; label = "wan";
phy-handle = <&aqr114c>; phy-handle = <&aqr114c>;
phy-mode = "usxgmii"; phy-mode = "usxgmii";
managed = "in-band-status";
pcs-handle = <&uniphy2 0>; pcs-handle = <&uniphy2 0>;
nvmem-cells = <&hw_mac_addr 0>; nvmem-cells = <&hw_mac_addr 0>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";

View file

@ -375,6 +375,7 @@
label = "10g"; label = "10g";
phy-handle = <&aqr113c>; phy-handle = <&aqr113c>;
phy-mode = "usxgmii"; phy-mode = "usxgmii";
managed = "in-band-status";
pcs-handle = <&uniphy2 0>; pcs-handle = <&uniphy2 0>;
nvmem-cells = <&macaddr_lan 0>; nvmem-cells = <&macaddr_lan 0>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";

View file

@ -271,6 +271,7 @@
label = "lan5"; label = "lan5";
phy-handle = <&aqr111b0>; phy-handle = <&aqr111b0>;
phy-mode = "usxgmii"; phy-mode = "usxgmii";
managed = "in-band-status";
pcs-handle = <&uniphy2 0>; pcs-handle = <&uniphy2 0>;
nvmem-cells = <&macaddr_lan>; nvmem-cells = <&macaddr_lan>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";

View file

@ -730,6 +730,7 @@
label = "10g-copper"; label = "10g-copper";
phy-handle = <&aqr113c>; phy-handle = <&aqr113c>;
phy-mode = "usxgmii"; phy-mode = "usxgmii";
managed = "in-band-status";
pcs-handle = <&uniphy2 0>; pcs-handle = <&uniphy2 0>;
nvmem-cells = <&macaddr_ubootenv_ethaddr>; nvmem-cells = <&macaddr_ubootenv_ethaddr>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";

View file

@ -312,6 +312,7 @@
label = "wan"; label = "wan";
phy-handle = <&aqr113c_1>; phy-handle = <&aqr113c_1>;
phy-mode = "usxgmii"; phy-mode = "usxgmii";
managed = "in-band-status";
pcs-handle = <&uniphy1 0>; pcs-handle = <&uniphy1 0>;
nvmem-cells = <&macaddr_appsblenv_ethaddr>; nvmem-cells = <&macaddr_appsblenv_ethaddr>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
@ -322,6 +323,7 @@
label = "lan1"; label = "lan1";
phy-handle = <&aqr113c_2>; phy-handle = <&aqr113c_2>;
phy-mode = "usxgmii"; phy-mode = "usxgmii";
managed = "in-band-status";
pcs-handle = <&uniphy2 0>; pcs-handle = <&uniphy2 0>;
nvmem-cells = <&macaddr_appsblenv_ethaddr>; nvmem-cells = <&macaddr_appsblenv_ethaddr>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";