Droid 4 charging
tony at atomide.com
Mon Feb 22 02:56:07 EST 2021
* Pavel Machek <pavel at ucw.cz> [210219 21:58]:
> > > 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?
> Yes, it does, if I do the echo when charge is done. (I have small USB
> passthrough with volt and amp meters). It has been behaving weirdly in
> other cases.p
OK great, seems like we can just change the charger timeout then.
> > 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..
> I may be able to test patches...
Yeah this too might be worth testing on some donor device..
> > 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.
> You mean, we'd have to take interrupt and switch registers in order to
> switch back to battery power, and system would crash if we did not
> make it in time?
Yes hopefully we don't need to do that. My guess is we should find some
FET_OVRD and FET_CTRL setting we can always keep enabled after charger
negotation. Maybe we already have the right settings based on your tests :)
More information about the linux-arm-kernel