sunxi: axp209: fix incorrect limits on ldo3
authorIain Paton <ipaton0@gmail.com>
Wed, 25 Mar 2015 16:03:26 +0000 (16:03 +0000)
committerHans de Goede <hdegoede@redhat.com>
Thu, 26 Mar 2015 12:17:46 +0000 (13:17 +0100)
board/sunxi/board.c tries to set ldo3 to 2.8v however drivers/power/axp209.c
contains an incorrect limit on ldo3 of 2.275v

The origin of the incorrect limit seems likely due to some inconsistencies
in the axp209 datasheet. ldo3 is described with different limits in
different sections. register 0x29 uses 7 bits for voltage configuration
while the 2.275v limit would apply if only 6 bits were used.
Probably this is a cut&paste error from register 0x23

The linux kernel driver has the correct limit and operation up to the 2.8v
required by my board has been physically verified with a multimeter.

Signed-off-by: Iain Paton <ipaton0@gmail.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/power/axp209.c

index 4565398b0bf37d70b55e7f403aef4c3e70877cc3..f8c9b77be081ec26b51124e85a43e2f001d8c0c0 100644 (file)
@@ -119,7 +119,7 @@ int axp209_set_ldo3(int mvolt)
        if (mvolt == -1)
                cfg = 0x80;     /* determined by LDO3IN pin */
        else
-               cfg = axp209_mvolt_to_cfg(mvolt, 700, 2275, 25);
+               cfg = axp209_mvolt_to_cfg(mvolt, 700, 3500, 25);
 
        return axp209_write(AXP209_LDO3_VOLTAGE, cfg);
 }