• Tony Lindgren's avatar
    power: supply: cpcap-charger: Limit voltage to 4.2V for battery · d4ee021c
    Tony Lindgren authored
    There have been some cases of droid4 battery bulging that seem to be
    related to being left connected to the charger for several weeks.
    
    It is suspected that the 4.35V charge voltage configured for the battery
    is too much in the long run, so lets limit the charge voltage to 4.2V.
    It could also be that the batteries are just getting old.
    
    We don't really want to just change the charge voltage to 4.2V as Android
    may have charged the battery to 4.35V as pointed out by Pavel Machek.
    
    To add checks for battery voltage, the driver needs to understand the
    voltage it's charging at, and also needs to better understand it's
    charger state. Right now it only understands connect and disconnect,
    while now we need to know also a connected state but not charging.
    
    So let's add better charger state handling with help of chrgcurr2 interrupt
    for detecting charge full and retry, and add a check for battery voltage
    before we start charging. And then we finally can lower the charge voltage
    to 4.2V.
    
    Note that we've been using the same register values as the Android distros
    on droid4, so it is suspected that the same problem also exists in Android.
    
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Rob Herring <robh+dt@kernel.org>
    Reported-by: default avatarMerlijn Wajer <merlijn@wizzup.org>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
    d4ee021c
cpcap-charger.c 20.6 KB