• Linus Walleij's avatar
    power: supply: ab8500: Exit maintenance if too low voltage · e08f8a11
    Linus Walleij authored
    The maintenance charging is supposedly designed such that the
    maintenance current compensates for the battery discharge curve,
    and as the charging progress from CC/CV -> maintenance A ->
    maintenance B states, we end up on a reasonable voltage to
    restart ordinary CC/CV charging after the safety timer at the
    maintenance B state exits.
    
    However: old batteries discharge quicker, and in an old
    battery we might not get to the expiration of the maintenance B
    timer before the battery is completely depleted and the system
    powers off with an empty battery.
    
    This is hardly the desire of anyone leaving their phone in the
    charger for a few days!
    
    Introduce a second clause in both maintenance states such that
    we exit the state and return to ordinary CC/CV charging if
    the voltage drops below charge_restart_voltage_uv or 95%
    if this is not defined for the battery.
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Reviewed-by: default avatarMatti Vaittinen <mazziesaccount@gmail.com>
    Signed-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
    e08f8a11
ab8500_chargalg.c 53.7 KB