[Community] [Gta04-owner] GTA04 power management

H. Nikolaus Schaller hns at goldelico.com
Mon Oct 12 19:44:49 CEST 2015


Am 12.10.2015 um 11:29 schrieb H. Nikolaus Schaller <hns at goldelico.com>:

> 
> Am 12.10.2015 um 11:02 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> 
>> Hi all,
>> I have fixed some minor issues in the Letux 4.3-rc5 release and now it is possible
>> to boot (again) on the OpenPandora.
>> 
>> I have also adapted the measurement script so that it uses the bq27500 inside the
>> pandora:
>> 
>> http://git.goldelico.com/?p=gta04-kernel.git;a=blob;f=Letux/root/measure-suspend;h=95f9ebcba688f91002b2da72bbc03f7dfcf1f82d;hb=dae7865eff2e4ce9a2c8375e5f11e2fcb2b8fde6
>> 
>> Setup:
>> * OpenPandora 600MHz
>> * external RS232 (level shifter is externally powered so ther eis no need and mechanism to turn it off)
>> * one LED enabled
>> * USB cable connected
>> * display backlight is turned off
>> * Letux 4.3-rc5 (branch work/hns/pm with omapdrm)
>> * WLAN turned off (ifconfig wlan0 down)
>> * boot from MMC
>> 
>> The two results are:
>> 
>> 72240 uA over 299 seconds
>> 84000 uA over 300 seconds
> 
> Some more results - this time USB cable not connected (!)
> 
> 51985 uA over 277 seconds
> 48160 uA over 299 seconds
> 
> So this makes 20-30 mA difference - even if the script tries to turn off the USB charger (which is broken anyways in this kernel version).
> 
> This will be interesting to compare different devices in different states. Maybe it will reveal clues where the issue is and give a solution for the GTA04 hardware where it is most important.
> 
> So please invest some time, do your own tests and please share the results (describing the setup as good as possible so that we all can draw conclusions).

After adding a minor fix for the backlight DT setup I was also able to run the same kernel uImage
and rootfs on a GTA04A3. GTA04A4 will come.

Here are my first two measurements:

57632 uA over 223 seconds
55692 uA over 300 seconds

The setup was very similar to the OpenPandora (also one LED enabled) - without USB cable being connected.

So we are slightly (6mA) above the Pandora - maybe the 3G modem or some peripherals are not equally turned off.
Or the IrDA which is turned on if RS232 is turned off. But that should only be 2mA according to the data sheet.

These figures are also higher than what Neil reports - but the device has a LIS302 installed and WiFi is broken
(whatever this has as consequences).

So I think we have for the first time a quite good and reproducible setup to
do measurements and comparisons between devices (and users).

Thanks to Neil for sharing the script!

BR,
Nikolaus


> 
> BR,
> Nikolaus
> 
> 
>> 
>> So I would conclude that it is more likely that some component on the SoC is not disabled correctly.
>> Or are MMCs generally not powered down? But they do not draw 50mA in standby mode (no clock).
>> 
>> BR,
>> Nikolaus
>> 
>> 
>> Am 07.10.2015 um 10:06 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
>> 
>>> Hi Neil.
>>> 
>>> Am 03.10.2015 um 05:16 schrieb Neil Brown <neilb at suse.de>:
>>> 
>>>> "H. Nikolaus Schaller" <hns at goldelico.com> writes:
>>>>> 
>>>>> Could you share a complete description of your setup? So that it is reproducible?
>>>>> I.e. which kernel, which user space, command to suspend/wakeup, boot loader
>>>>> version, how you measure suspend current etc.
>>>>> 
>>>> My test board in a GTA04A3, though my GTA04A4 shows much the same sort
>>>> of numbers.
>>> 
>>> There shouldn't be big differences (some A3 boards may have an additional LIS302)
>>> 
>>>> 
>>>> 
>>>> User space is Debian/testing ... possibly with a bit of
>>>> Debian/experimental (it is listed in my sources.list but I don't
>>>> remember why).
>>>> 
>>>> I have a few of my own tools running, but they are all idle while I test
>>>> power usage.
>>>> So screen is blank, sound is off, GPS is off etc.  There is no SIM card
>>>> and I haven't tried to access the GSM module at all.
>>>> 
>>>> I use the following script while connected to the serial console.
>>>> The script disables RS-232 (as the sucks several mA) and turns of the
>>>> power source (my board is powered via a 5V source on the 'AC' pins of
>>>> the serial connector).
>>>> Then it checks the battery, suspends for 5 minutes (default), wakes up
>>>> and checks the power usage.
>>>> I run that several times and discard the outliers.
>>>> 
>>>> With a 4.2 kernel at:
>>>> http://git.neil.brown.name/?p=gta04.git;a=shortlog;h=refs/heads/4.2-gta04
>>>> I get numbers like:
>>>> 
>>>> 46967 uA over 301 seconds
>>>> 46967 uA over 301 seconds
>>>> 46967 uA over 301 seconds
>>>> 46967 uA over 301 seconds
>>>> 46967 uA over 301 seconds
>>>> 46967 uA over 301 seconds
>>>> 46967 uA over 301 seconds
>>>> 46967 uA over 301 seconds
>>>> 47124 uA over 300 seconds
>>>> 47124 uA over 300 seconds
>>>> 47124 uA over 300 seconds
>>>> 47124 uA over 300 seconds
>>>> 47124 uA over 300 seconds
>>>> 47124 uA over 300 seconds
>>>> 47124 uA over 300 seconds
>>>> 47281 uA over 299 seconds
>>>> 47281 uA over 299 seconds
>>>> 47600 uA over 297 seconds
>>>> 
>>>> 
>>>> With the 3.7 kernel
>>>> http://git.neil.brown.name/?p=gta04.git;a=shortlog;h=refs/heads/3.7-gta04
>>>> I get:
>>>> 
>>>> 21420 uA over 300 seconds
>>>> 21420 uA over 300 seconds
>>>> 21420 uA over 300 seconds
>>>> 21420 uA over 300 seconds
>>>> 21420 uA over 300 seconds
>>>> 21420 uA over 300 seconds
>>>> 21420 uA over 300 seconds
>>>> 21420 uA over 300 seconds
>>>> 21420 uA over 300 seconds
>>>> 21709 uA over 296 seconds
>>>> 23556 uA over 300 seconds
>>>> 23568 uA over 300 seconds
>>>> 36420 uA over 300 seconds
>>>> 36420 uA over 300 seconds
>>>> 
>>>> 
>>>> Disabling the RS-232 doesn't work on my 3.7 kernel (because the required
>>>> GPIO isn't exported by the board file) so I have to unplug the RS-232 to
>>>> get proper reading there, but I could easily fix that.
>>>> 
>>>> I'd be interested to hear what other people measure.
>>> 
>>> I have run a quick test with our Letux 4.3-rc4 kernel (on a GTA04A3 with
>>> broken WiFi) and get readings ~170-190 mA.
>>> 
>>> Well, this is with backlight still enabled (we have no proper config for
>>> that in our tree - it remains "white") and the red power button LED stays
>>> on.
>>> 
>>> Backlight needs ~20mA at 18V which translates to ~100 mA (depends
>>> on battery voltage). So this means the core goes down to less than
>>> 70 - 90mA.
>>> 
>>> And, I did not take care of turning off everything yet. Just a first test.
>>> 
>>> Subtracting the red LED and some peripherals which may stay powered
>>> makes you readings reasonable. But to really compare I would need a
>>> better test setup (which also requires to be able to charge the battery without
>>> downgrading the kernel).
>>> 
>>> One observation is that the RTC wakeup does not trigger. I have to wake
>>> up by pressing the power button.
>>> 
>>>> If you don't have a serial port connected you probably need to arrange
>>>> some way to start in from the touch-screen, and then make sure the
>>>> screen turns off.
>>>> 
>>>> NeilBrown
>>>> 
>>>> Script is:
>>>> #!/bin/sh
>>> 
>>> I had to replace by /bin/bash to make $[...] recognised.
>>> 
>>>> 
>>>> # disable charging, suspend for 5 minutes and report apparent
>>>> # power usage by monitoring battery.
>>>> 
>>>> power1=/sys/class/power_supply/twl4030_usb/mode
>>>> power2=/sys/class/power_supply/twl4030_ac/mode
>>>> chg=/sys/class/power_supply/bq27000-battery/charge_now
>>>> rs232=/sys/class/gpio/gpio13/value
>>>> rs232dir=/sys/class/gpio/gpio13/direction
>>>> delay=${1-300}
>>>> [ -f $rs232 ] || { echo 13 > /sys/class/gpio/export; echo high > $rs232dir;}
>>>> 
>>>> stty raw -echo -cread
>>>> echo 0 > $rs232
>>>> echo off > $power1
>>>> echo off > $power2
>>>> before=`cat $chg`
>>>> start=`date '+%s'`
>>>> echo $[start+delay] > /sys/class/rtc/rtc0/wakealarm
>>>> echo mem > /sys/power/state
>>>> after=`cat $chg`
>>>> end=`date '+%s'`
>>>> echo 1 > $rs232
>>>> stty sane
>>>> echo auto > $power1
>>>> echo auto > $power2
>>>> 
>>>> echo $[(before-after)*3600/(end-start)] uA over $[end-start] seconds
>>> 
>>> 
>>> BR and thanks for sharing!
>>> 
>>> Nikolaus
>>> 
>> 
>> _______________________________________________
>> Community mailing list
>> Community at openphoenux.org
>> http://lists.goldelico.com/mailman/listinfo.cgi/community
>> http://www.openphoenux.org
> 
> _______________________________________________
> Gta04-owner mailing list
> Gta04-owner at goldelico.com
> http://lists.goldelico.com/mailman/listinfo.cgi/gta04-owner




More information about the Community mailing list