[Gta04-owner] wakeup on incoming call can work (was: GTA04A4 PCBs for "From Stock" units have arrived)

Dr. H. Nikolaus Schaller hns at goldelico.com
Wed Dec 7 20:49:53 CET 2011


Am 07.12.2011 um 21:12 schrieb Radek Polak:

> On Wednesday 07 December 2011 18:40:03 Dr. H. Nikolaus Schaller wrote:
> 
>> And again good news (to update the non-existing list
>> and to tell others about the progress):
>> 
>> it is possible to trigger a CPU interrupt (GPIO176 on
>> GTA04A3 boards and GPIO10 on GTA04A4) on
>> incoming calls or SMS. This interrupt may also wake
>> up the CPU from power down if supported by the kernel.
>> 
>> So it appears possible to suspend the device into lowest
>> power mode (some 3-10 mA according to the data sheet)
>> and trigger on incoming calls. That is what we need to
>> achieve a long standby time.
> 
> This is great news. Will it be difficult to implement it?

I don't know how it can be done in the kernel.

The key hardware features of the CPU are the Sleep-Wakeup
states as described in chapters "4.8 PRCM Idle and Wake-Up
Management" and "24.4.1 Interrupt and Wake-Up Features",
"24.5.3 Interrupt and Wakeup"

This means it is possible to shut down the CPU clocks
and reduce the voltages to retention level so that the
registers don't loose their state. And to program
GPIOs to either wake-up on a low-to-high or high-to-low
transition.

So the work to be done is to unserstand how far this OMAP
hardware feature is supported by the kernel (and potentially
drivers) and how to program the GPIOs and Power Domains
to do what we expect.

The reason why we changed the GPIO from 176 to 10 is
that the GPIO176 itself can be powered down (if not needed).
But then we can't use it as a wakeup input any more. Or
we can't save some more uAmperes...

So in total this is a feature that can be almost hidden in
the kernel. We just need some trigger from user space to
put the device into "sleep" mode. And the kernel must have
configured the GPIOs and timers etc. so that the CPU wakes
up.

I hope someone with more OMAP kernel expertise knows
what to do :)

Nikolaus



More information about the Gta04-owner mailing list