u-boot low-battery handling
mail at mmontour.net
Mon Aug 25 10:34:42 CEST 2008
I have been experimenting with deeply-discharged batteries on my
Freerunner. When the battery was very low (but not low enough to trigger
the battery's internal cutoff) I was not able to boot reliably when
plugged into the wall charger. I was more successful when using a USB
cable connected to my PC.
I found a problem in u-boot where wait_for_power() was not properly
setting the 1000mA current limit - it would set it, but then immediately
put the PMU into "USB suspend" mode based on the value of
udc_usb_maxcurrent (at least I think that's what was happening).
The first attached patch improves this situation, but it is not yet
ready to be applied to the stable tree. I changed the udc callback to
set a udc_usb_maxcurrent of 100mA rather than 0 when connected to an
unpowered usb hub, but I don't know if there are situations where
udc_usb_maxcurrent is actually supposed to be 0mA. Also the patch is
resetting a bit in PCF50633_REG_OOCSHDWN but I do not know yet why this
The second patch is debugging code that flashes the power LEDs to
indicate the status of the battery and the USB current limit. It may be
useful to others who are investigating this problem.
Comments are welcome.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
More information about the openmoko-kernel