Re: [PATCH net-next v2 06/10] arm64: dts: allwinner: a527: cubie-a5e: Add ethernet PHY reset setting
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
Date: 2025-08-13 16:39:27
Also in:
linux-devicetree, linux-sunxi, lkml, netdev
On Wed, Aug 13, 2025 at 11:51:18PM +0800, Chen-Yu Tsai wrote:
On Wed, Aug 13, 2025 at 11:12 PM Russell King (Oracle) [off-list ref] wrote:quoted
On Wed, Aug 13, 2025 at 10:55:36PM +0800, Chen-Yu Tsai wrote:quoted
diff --git a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts index 70d439bc845c..d4cee2222104 100644 --- a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts +++ b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts@@ -94,6 +94,9 @@ &mdio0 { ext_rgmii_phy: ethernet-phy@1 { compatible = "ethernet-phy-ieee802.3-c22"; reg = <1>; + reset-gpios = <&pio 7 8 GPIO_ACTIVE_LOW>; /* PH8 */ + reset-assert-us = <10000>; + reset-deassert-us = <150000>;Please verify that kexec works with this, as if the calling kernel places the PHY in reset and then kexec's, and the reset remains asserted, the PHY will not be detected.I found this to be a bit confusing to be honest. If I put the reset description in the PHY (where I think it belongs), then it wouldn't work if the reset isn't by default deasserted (through some pull-up). This would be similar to the kexec scenario.
The reason for this is quite simple. While it's logical to put it in there, the problem is that the PHY doesn't respond on the MDIO bus while it's reset pin is asserted. Consequently, when we probe the MDIO bus to detect PHYs and discover the PHY IDs, we get no response, and thus we believe there isn't a device at the address. That means we don't create a device, and thus there's no mdio device for the address. There is a work-around, which is to encode the PHY ID in the DT compatible (check the ethernet-phy binding). However, note that we will then not read the actual PHY ID (maybe we should?) which means if the driver wants to know e.g. the revision, or during production the PHY changes, it will require DT to change. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!