[PATCH] arm64: dts: rockchip: Add compatible for Ethernet PHY

Adrian Kossmann posted 1 patch 1 week, 1 day ago
arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts | 1 +
1 file changed, 1 insertion(+)
[PATCH] arm64: dts: rockchip: Add compatible for Ethernet PHY
Posted by Adrian Kossmann 1 week, 1 day ago
Without the compatible string the Ethernet PHY is not bound to the
correct driver. This causes link instability under load, with throughput
eventually dropping to zero.
Add the explicit PHY ID compatible to ensure the proper driver is selected.

Signed-off-by: Adrian Kossmann <adrian.kossmann@posteo.de>
---
 arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
index a4bdd87d0729..4da5ff6f2572 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
@@ -163,6 +163,7 @@ mdio {
 		#size-cells = <0>;
 
 		rtl8211: ethernet-phy@1 {
+			compatible = "ethernet-phy-id001c.c916";
 			reg = <1>;
 			pinctrl-0 = <&eth_phy_int_pin>, <&eth_phy_reset_pin>;
 			pinctrl-names = "default";
-- 
2.52.0
Re: [PATCH] arm64: dts: rockchip: Add compatible for Ethernet PHY
Posted by Andrew Lunn 1 week, 1 day ago
On Tue, Dec 09, 2025 at 09:09:33PM +0000, Adrian Kossmann wrote:
> Without the compatible string the Ethernet PHY is not bound to the
> correct driver. 

Which driver is being bound if you don't have a compatible? genphy?

It is a bit unusual for phylib to get the wrong driver, so i would
like to understand this a bit more.

	Andrew
Re: [PATCH] arm64: dts: rockchip: Add compatible for Ethernet PHY
Posted by Adrian Kossmann 5 days, 4 hours ago
Hi Andrew,

> It is a bit unusual for phylib to get the wrong driver, so i would
like to understand this a bit more.

after double-checking my setup I found that the PHY is in fact always 
bound to the RTL8211F driver, even without the compatible string, and 
this was rather an issue with my setup. 

The link instability I observed was caused by inappropriate RGMII RX/TX 
delay settings in the mainline DTS. With the current values for 
rx_delay and tx_delay in the mainline DTS the link collapsed under load. 
I've troubleshooted this with a known-good DTB and using its rx_delay 
and tx_delay values fixes the issue. 
I will send a v2 patch adjusting the delays instead of adding a compatible.

      Adrian