[PATCH] arm64: dts: rockchip: use rgmii-id for LubanCat 4 gmac1
Pufan Jin
cyan2254650260 at gmail.com
Mon Nov 9 11:15:15 PST 2026
The LubanCat 4 PCB adds ~2ns of trace delay on both TXC and RXC, but
that alone is not sufficient for reliable RGMII operation. With
phy-mode = "rgmii" and zero MAC delays the link comes up at 1Gbps but
drops ~90% of the packets; the PHY's internal TX/RX delay is required.
Use phy-mode = "rgmii-id" and keep the MAC's default delays. With
this configuration a direct link to another 1Gbps NIC passes 2GB in
each direction with iperf3 at ~859-905Mbps, 0% packet loss, and no
CRC or error counters.
Fixes: 6d9430d58714 ("arm64: dts: rockchip: Add EmbedFire LubanCat 4 board")
Signed-off-by: Pufan Jin <cyan2254650260 at gmail.com>
---
arch/arm64/boot/dts/rockchip/rk3588s-lubancat-4.dts | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-lubancat-4.dts b/arch/arm64/boot/dts/rockchip/rk3588s-lubancat-4.dts
index 0d28c6165..a042aa702 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-lubancat-4.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-lubancat-4.dts
@@ -168,12 +168,13 @@ &gmac1 {
clock_in_out = "output";
phy-handle = <&rgmii_phy1>;
/*
- * The PCB adds ~2ns of trace delay on both TXC and RXC, so the
- * required RGMII clock skew is provided by the board itself.
- * Neither the MAC nor the PHY should add any internal delay,
- * hence "rgmii" (not "rgmii-id") is correct here.
+ * The PCB adds ~2ns of trace delay on both TXC and RXC, but that
+ * alone is not sufficient for reliable RGMII operation: with
+ * "rgmii" and zero MAC delays the link shows ~90% packet loss.
+ * The PHY's internal TX/RX delay is required, so use "rgmii-id"
+ * and keep the MAC's default delays.
*/
- phy-mode = "rgmii";
+ phy-mode = "rgmii-id";
pinctrl-0 = <&gmac1_miim
&gmac1_tx_bus2
&gmac1_rx_bus2
--
2.56.0
More information about the Linux-rockchip
mailing list