On Fri, 25 Oct 2024 22:42:14 +0800 Chen-Yu Tsai <wens@xxxxxxxx> wrote: > On Tue, Oct 8, 2024 at 6:30 AM Andre Przywara <andre.przywara@xxxxxxx> wrote: > > > > The DCDC5 voltage rail in the X-Powers AXP809 PMIC has a resolution of > > 50mV, so the currently enforced limits of 1.475 and 1.525 volts cannot > > be set, when the existing regulator value is beyond this range. > > > > This will lead to the whole regulator driver to give up and fail > > probing, which in turn will hang the system, as essential devices depend > > on the PMIC. > > In this case a bug in U-Boot set the voltage to 1.75V (meant for DCDC4), > > and the AXP driver's attempt to correct this lead to this error: > > ================== > > [ 4.447653] axp20x-rsb sunxi-rsb-3a3: AXP20X driver loaded > > [ 4.450066] vcc-dram: Bringing 1750000uV into 1575000-1575000uV > > [ 4.460272] vcc-dram: failed to apply 1575000-1575000uV constraint: -EINVAL > > [ 4.474788] axp20x-regulator axp20x-regulator.0: Failed to register dcdc5 > > [ 4.482276] axp20x-regulator axp20x-regulator.0: probe with driver axp20x-regulator failed with error -22 > > ================== > > > > Set the limits to values that can be programmed, so any correction will > > be successful. > > > > Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> > > Maybe > > Fixes: 1e1dea72651b ("ARM: dts: sun9i: cubieboard4: Add AXP809 PMIC > device node and regulators") > > What do you think? I can add it when applying. Well, I thought about it, but then it's a DT patch, so the Fixes: tag doesn't make much sense here, IMHO. Put it there if you see fit, but for my part I am just waiting for the commit hash, to pull into U-Boot, and then it would be done, even for older kernels. Cheers, Andre. > ChenYu > > > --- > > arch/arm/boot/dts/allwinner/sun9i-a80-cubieboard4.dts | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/arch/arm/boot/dts/allwinner/sun9i-a80-cubieboard4.dts b/arch/arm/boot/dts/allwinner/sun9i-a80-cubieboard4.dts > > index c8ca8cb7f5c94..52ad95a2063aa 100644 > > --- a/arch/arm/boot/dts/allwinner/sun9i-a80-cubieboard4.dts > > +++ b/arch/arm/boot/dts/allwinner/sun9i-a80-cubieboard4.dts > > @@ -280,8 +280,8 @@ reg_dcdc4: dcdc4 { > > > > reg_dcdc5: dcdc5 { > > regulator-always-on; > > - regulator-min-microvolt = <1425000>; > > - regulator-max-microvolt = <1575000>; > > + regulator-min-microvolt = <1450000>; > > + regulator-max-microvolt = <1550000>; > > regulator-name = "vcc-dram"; > > }; > > > > -- > > 2.46.2 > >