Author: Tony Lindgren Date: To: Pavel Machek CC: kernel list, linux-arm-kernel, linux-omap, sre, nekit1000, mpartap, merlijn, martin_rysavy, phone-devel, maemo-leste, Carl Philipp Klemm Subject: Re: [maemo-leste] Droid 4 charging
* Pavel Machek <pavel@???> [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@devuan-droid4:/sys/class/power_supply/usb# echo 0 > input_current_limit
> > > root@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 :)