ipq806x: fix Fortinet FAP-421E LAN1 not transmitting

gmac0 used a fixed-link with no phy-handle, so the AR8035 was never
attached and never configured. The PHY comes out of reset with the
RGMII RX delay enabled and the TX delay disabled, and the IPQ8064 MAC
has no internal RGMII delay of its own, so nothing ever enables it and
LAN1 receives but never transmits when booting from flash. Booting via
tftpboot + bootm masked this, as U-Boot leaves the PHY configured.

Point gmac0 at phy1 on mdio0 and use rgmii-id, which is the mode that
makes the at803x driver enable both delays. The fixed-link has to go,
as phylink does not attach a PHY for fixed-link MACs, which also means
the port now autonegotiates instead of being pinned to 1000/full.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/25452
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
Rosen Penev authored and Robert Marko committed 2026-09-29 09:59:20 +02:00
1 parent 8694449c7a
commit 3f1de27621
1 file changed
+2 -6
@@ -391,17 +391,13 @@
&gmac0 {
status = "okay";
phy-mode = "rgmii";
phy-mode = "rgmii-id";
phy-handle = <&phy1>;
qcom,id = <0>;
pinctrl-0 = <&rgmii2_pins>;
pinctrl-names = "default";
nvmem-cells = <&macaddr_appsbl_7ff80 0>;
nvmem-cell-names = "mac-address";
fixed-link {
speed = <1000>;
full-duplex;
};
};
&gmac2 {