diff mbox series

arm64: dts: allwinner: a64: sopine-baseboard: Add PHY regulator delay

Message ID 20190929085259.76462-1-jernej.skrabec@siol.net (mailing list archive)
State Mainlined
Commit ccdf3aaa27ded6db9a93eed3ca7468bb2353b8fe
Headers show
Series arm64: dts: allwinner: a64: sopine-baseboard: Add PHY regulator delay | expand

Commit Message

Jernej Škrabec Sept. 29, 2019, 8:52 a.m. UTC
It turns out that sopine-baseboard needs same fix as pine64-plus
for ethernet PHY. Here too Realtek ethernet PHY chip needs additional
power on delay to properly initialize. Datasheet mentions that chip
needs 30 ms to be properly powered on and that it needs some more time
to be initialized.

Fix that by adding 100ms ramp delay to regulator responsible for
powering PHY.

Note that issue was found out and fix tested on pine64-lts, but it's
basically the same as sopine-baseboard, only layout and connectors
differ.

Fixes: bdfe4cebea11 ("arm64: allwinner: a64: add Ethernet PHY regulator for several boards")
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
---
 .../boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts      | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

mripard@kernel.org Sept. 30, 2019, 2:21 p.m. UTC | #1
On Sun, Sep 29, 2019 at 10:52:59AM +0200, Jernej Skrabec wrote:
> It turns out that sopine-baseboard needs same fix as pine64-plus
> for ethernet PHY. Here too Realtek ethernet PHY chip needs additional
> power on delay to properly initialize. Datasheet mentions that chip
> needs 30 ms to be properly powered on and that it needs some more time
> to be initialized.
>
> Fix that by adding 100ms ramp delay to regulator responsible for
> powering PHY.
>
> Note that issue was found out and fix tested on pine64-lts, but it's
> basically the same as sopine-baseboard, only layout and connectors
> differ.
>
> Fixes: bdfe4cebea11 ("arm64: allwinner: a64: add Ethernet PHY regulator for several boards")
> Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>

Applied as a fix for 5.4, thanks!
Maxime
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
index e6fb9683f213..25099202c52c 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
@@ -159,6 +159,12 @@ 
 };
 
 &reg_dc1sw {
+	/*
+	 * Ethernet PHY needs 30ms to properly power up and some more
+	 * to initialize. 100ms should be plenty of time to finish
+	 * whole process.
+	 */
+	regulator-enable-ramp-delay = <100000>;
 	regulator-name = "vcc-phy";
 };