[Gta04-owner] Linux 3.5 on GTA04
neilb at suse.de
Fri Aug 24 09:27:47 CEST 2012
On Thu, 23 Aug 2012 17:31:26 +0200 Radek Polak <psonek2 at seznam.cz> wrote:
> On Tuesday, July 24, 2012 08:13:07 AM NeilBrown wrote:
> > I think that is all. Power management seems to be largely unchanged - 25mA
> > when in suspend, about 70mA when idle, awake, screen off, and about 200mA
> > when idle and awake with screen on. I'll be using this on my phone on a
> > regular basis and see how it goes.
> Hi Neil,
> i am now using 3.5 kernel with QtMoko. It looks good. I have implemented the
> jack detection and it works great. I have also adapted the GPS code - it now
> just rfkill blocks/unblock gps.
> While i was working on these new features I have noticed one strange thing.
> The device took in suspend 21..25mA. After reboot it is back at ~35 mA. So i
> wonder what could have triggered the low power in suspend. I cant reproduce it
> anymore ;-(
I wish I knew. I've seen similar things but haven't had a chance to look
into it yet. I'll try to pay a bit more attention and see if I can see a
> One more thing - i was trying to find out how much current is the modem
> drawing. I have A4 version so i powered the modem off with this  script. I
> was expecting that the current will go down, but it's even higher - around
> 45mA in suspend. I wonder what is wrong...
Maybe it is something else altogether. Maybe something turned on at the same
time you turned the modem off, or shortly before/after, so it looked like the
current is due to the modem, but actually it is something else.
> Btw have you noticed that in 3.4 or 3.5 kernel you can wake the device from
> suspend with touchscreen?
No I hadn't. My phone is configured to enter suspend immediately whenever
there is not a good reason to be awake (and e.g. power button press means
there is good reason to be awake for 15 seconds - screen taps extend that
So I would only notice by increased power consumption - which I have noticed
occasionally - or close inspection of the logs - which I haven't.
Having examined the code it doesn't look like it is trivial to fix.
The wakeup-enable is deliberately turned on so that the CPU can go into deep
sleep when idle (if off_mode is enabled) and still be woken up by interrupts.
We do want this.
But that 'wakeup-enable-for-deep-sleep' flag has been confused with the
'wakeup-enable-for-suspend' flag. I'll need to separate them so a screen tap
will wake the CPU if it is sleeping for a few milliseconds between taps, but
not if it is suspended and in my pocket.
This recent patch:
Author: Tarun Kanti DebBarma <tarun.kanti at ti.com>
Date: Fri Apr 27 19:43:33 2012 +0530
gpio/omap: remove suspend_wakeup field from struct gpio_bank
looks interesting. It appears to be removing the functionality that I think
I want to add!! It is a little different though so I isn't simply a case
that someone broke something. I'm not sure when I get to drill into this as
I'll be at conferences in San Diego all next week :-)
Script doesn't seem to match the doco...
Doco (GTA04A4-3_System_Manual_Complete.pdf) says:
0 -> 1 turns it on
1 -> 0 -> 1 -> 0 turns it off:
Power is controlled through GPIO186. Setting the GPIO to “1“ (for at least 200 ms) turns
the module on and it will register itself on the internal USB port. Setting the GPIO to 0 and
1 again prepares for power-down5 and the final edge going to 0 turns the module off. In
that state it draws <100 uA and can be waked up by another switch to 1.
Therefore these pulses should be 0-1-0 for approx. 300 ms.
Don't know how relevant the difference is.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 828 bytes
Desc: not available
More information about the Gta04-owner