[PATCH] arm: dts: sun50i-h6-orangepi-3: disable aldo2 regulator
begs at disroot.org
Tue Sep 7 18:23:26 CEST 2021
Mainline TF-A has a broken behavior - it enables all used AXP regulator
outputs, without much reason.
It breaks PHY on Orange Pi 3 and other boards, because they a specific
power-on sequence is required. aldo2 which is enabled by TF-A is just a
half of PHY's power and the other half that is untouched by TF-A must be
enabled simultaneously (even a small difference may cause a break-down).
If not TF-A, kernel driver would do everything correctly.
However, some boards rely on this behavior, so it's impossible to get
rid of it.
TF-A recently started checking regulator status, and now it enables a
regulator only if it's status is "okay". Disabling regulator in U-Boot's
dts workarounds the problem.
arch/arm/dts/sun50i-h6-orangepi-3.dts | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm/dts/sun50i-h6-orangepi-3.dts b/arch/arm/dts/sun50i-h6-orangepi-3.dts
index 7e83f6146f..9f91e4ec88 100644
@@ -207,6 +207,10 @@
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc33-audio-tv-ephy-mac";
+ /* This regulator must be enabled by the kernel,
+ * not by u-boot or TF-A, otherwise power-on
+ * sequence will be wrong and PHY won't work */
+ status = "disabled";
/* ALDO3 is shorted to CLDO1 */
More information about the U-Boot