Droid 4 charging
Tony Lindgren
tony at atomide.com
Sun Feb 14 23:35:05 EST 2021
Hi,
* Pavel Machek <pavel at ucw.cz> [210206 13:14]:
> Hi!
>
> (I'm using Leste 5.10 kernel here).
>
> When battery is full, green light is off and 0.00A being drawn from
> USB.
>
> But that means that phone is now powered from battery, discharging
> it... And soon charging starts again. (Pretty much immediately, for me)
>
> That's bad ... right? It wears the battery out.
Well maintenance charging at 4.2V sure is better for the battery than
what android is doing charging it at 4.31V contantly..
> If I turn off charging with echo 0 > input_current_limit, 0.2 to 0.4A
> is drawn from USB, and battery is not discharged:
>
> root at devuan-droid4:/sys/class/power_supply/usb# echo 0 > input_current_limit
> root at devuan-droid4:/sys/class/power_supply/usb# cat current_now
> 0
Hmm so have you measured that setting the current limit to 0 actually
draws something from the USB?
I recall clearing the ichrgr bits stops the vbus draw completely, but
I could be wrong.
> Is that a better way to handle full battery?
We could experiment with switching over to usb power when the battery is
full. Looking at the docs for mc1378 it might be possible that setting
CPCAP_REG_CRM_FET_OVRD and clearing CPCAP_REG_CRM_FET_CTRL after the
battery is full disables charging but still keep drawing power from
the usb. I'd assume the current limit still needs to be nonzero there
too? Totally untested..
And switching back to battery power on usb disconnect will potentially
only give us very little time based on the different line length for
vbus and ground pins compared to data pins on the usb connector.. And
uvos had some concerns about the battery capacity putting it back online,
so adding him to Cc also.
Maybe just clearing ichrgr does all this already though and is enough.
It should be measured on the vbus line.
And then we still need to restart the charger at some point, but that
could happen based on much longer timeouts that what we currently have.
Regards,
Tony
More information about the linux-arm-kernel
mailing list