[PATCH] ARM: dts: cubieboard4: Fix DCDC5 regulator constraints
Chen-Yu Tsai
wens at csie.org
Fri Oct 25 07:42:14 PDT 2024
On Tue, Oct 8, 2024 at 6:30 AM Andre Przywara <andre.przywara at arm.com> 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 at arm.com>
Maybe
Fixes: 1e1dea72651b ("ARM: dts: sun9i: cubieboard4: Add AXP809 PMIC
device node and regulators")
What do you think? I can add it when applying.
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
>
More information about the linux-arm-kernel
mailing list