]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
sunxi: power: axp809: Fix DCDC4 programming
authorAndre Przywara <andre.przywara@arm.com>
Mon, 7 Oct 2024 22:09:45 +0000 (23:09 +0100)
committerAndre Przywara <andre.przywara@arm.com>
Wed, 9 Oct 2024 23:23:41 +0000 (00:23 +0100)
When trying to set the DCDC4 regulator, the code was accidentally
setting the voltage register for DCDC5 (VCC-DRAM). The higher voltage
doesn't harm the DRAM chips, but upsets the Linux regulator driver: when
it tried to correct that, it tripped over a separate DT bug.
The DCDC5 DT limits are 1.425 and 1.575V, which cannot bet set with the
rail's resolution of 50mV. The kernel driver gave up, and made in turn
the system hang, as the PMIC powers essential devices.

Fix the copy&paste bug by using the correct PMIC voltage register.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
drivers/power/axp809.c

index 9e38e1a74508469a30eddf1191d90528981a5d0d..ec3eca1ac4b46acd8e6f73666ec4814be6150cdd 100644 (file)
@@ -93,7 +93,7 @@ int axp_set_dcdc4(unsigned int mvolt)
                return pmic_bus_clrbits(AXP809_OUTPUT_CTRL1,
                                        AXP809_OUTPUT_CTRL1_DCDC4_EN);
 
-       ret = pmic_bus_write(AXP809_DCDC5_CTRL, cfg);
+       ret = pmic_bus_write(AXP809_DCDC4_CTRL, cfg);
        if (ret)
                return ret;