[Gta04-owner] various powermanagement issues
H. Nikolaus Schaller
hns at goldelico.com
Sun Oct 18 14:53:40 CEST 2015
Am 18.10.2015 um 14:36 schrieb Thomas Munker <t.munker at gmx.net>:
> i would suggest to simply deactivate automatic starting after the
> battery voltage stepped above 3.3 volt.
> Another approach would be to wait something around 10 minutes after the
> voltage stepped above 3.3 volt. But why should the device boot without
> the owner nearby?
> It even isn't guaranteed that the usb-host can
> deliver 500mA, so negotiation may fail and the device has to die
> So imho the automatic booting should be deactivated below 3.3 V
> battery voltage, and above activated, but always only be triggered by
> the plugging in event, not by the rising of the battery voltage.
Well, the tps65950 hardware does that automatically...
I.e. you can't really deactivate it.
What is possible is that the MLO reprograms the USB charger logic in the PMIC
to charge with up to 500 mA . The usb-host will either simply provide it w/o
negotiation or shut down. And a dumb charger always ignores negotiation.
This is not exactly within spec but would work (AFAIK the OpenPandora has
such a patch to MLO).
> So my 2 cents, but since i don't have any clue how to implement
> anything, i don't know if this helps...
> By the way, what abbreviates MLO?
MLO = MMC Loader (a variant of the first stage boot loader called X-Loader).
So this is the 30 kByte that are loaded right after the PMIC decides to
power on into RAM on the SoC. It then looks for an U-Boot image to load
> kind regards,
> Am Sun, 18 Oct 2015 13:04:50 +0200
> schrieb xdrudis at tinet.cat:
>> On Sun, Oct 18, 2015 at 08:20:13AM +0200, H. Nikolaus Schaller wrote:
>>> Yes, that is indeed a known problem for a long time. It could be
>>> solved by modifying the MLO so that it turns on 500mA charging
>>> within the first 1-2 seconds.
>>> Currently, Linux must boot up to a point to enable 500 mA charging.
>>> This takes 30-60 seconds.
>>> Now a discharged battery is charged by ~50mA (trickle charge) until
>>> the device turns on as soon as the battery voltage reaches 3.3V. At
>>> that point it may be charged for just 1%.
>>> If this is not enough for booting to Linux (30-60 seconds @ 400 mA)
>>> full charging will fail.
>> I haven't refreshed my memory, but I assume the reason is linux has a
>> complete enough USB stack to negotiate 500mA but MLO has a very more
>> basic USB stack (or none).
>> Could MLO implement some simple means to detect the battery is
>> unlikely to last until linux can negotiate 500mA and in that case
>> simply let the phone charge at 50 mA with as low as possible
>> consumption, and wait until there's enough charge to boot ?. My
>> impression is that the multiple failed attempts to boot drain the
>> battery too much, so simply refusing to boot would be faster (slower
>> than getting 500mA early, but faster than retrying booting too much
>> while charging only at 50mA).
>> If this is undetectable, could MLO simply have some manual option to
>> let the phone charge without spending energy (a manual option not to
>> boot, just wait idle while charging) ?
>> Sorry if this is too basic or obvious, I haven't really thought about
>> For instance, 400mA during 60 seconds would require 7mAh. If MLO
>> starts with less than 7mAh in the battery it could try to turn
>> everything off and just let the battery charge at 50 mA. It would
>> take aprox 9 minutes or less to get 7mAh and then it could boot
>> normally hoping linux has a chance to activate 500mA charging. In my
>> experience when it fails to boot with a flat battery it takes much
>> more than 9 minutes to boot because each attempt drains the battery.
>> So this would improve the situation without a USB negotiation. But I
>> don't know how easy it is to let the phone charge with everything
>> turned off. It may be more difficult than implementing USB negotiation
>> Gta04-owner mailing list
>> Gta04-owner at goldelico.com
> Gta04-owner mailing list
> Gta04-owner at goldelico.com
More information about the Gta04-owner