Neil Brown neilb at suse.de
Wed Apr 15 09:10:12 CEST 2009

On Tuesday April 14, werner at openmoko.org wrote:
> NeilBrown wrote:
> > So I cannot program the GTA02 to wake on either
> > a shake or an double-tap, and these have to be programmed on different
> > interrupt lines.
> I have to admit that it was me who was pushing that "simplification".
> For some reason, I didn't catch that you couldn't combine free fall
> and click, so I thought it was fine to have only one interrupt :-(

I didn't get it either until Andy pointed it out to me.

With 2 accelerometers it isn't too bad as one can be programmed for
WU_FF events and the other can be programmed for CLICK events.

Only of them is apparently routed to a interrupt that can be used for
wakeup.  So you cannot wakeup on either.
But then I cannot manage to wake up on accelerometer interrupts at
all, despite there being code in the kernel that claims to support

Whenever I try, the interrupt (16) is immediately asserted as soon as
I suspend, so it just wakes straight up again.

It seems that the accelerometers are not powered during suspend - so
the interrupt line is always low.

Is there a reason that the accelerometers cannot be powered during
suspend? or is it just a "simple matter of coding" to support it
(presumably modelled on similar code that can keep the GPS powered
during suspend).
I guess this is getting a bit off context for the list - sorry about

> > One area might be in reviewing a detailed design to look for
> > details like this:
> I think an open review process would be great. If I understand the
> direction where Steve wants to take the hardware development process,
> public reviews would in fact become a fairly natural thing to do.

I'll look forward to it :-)

> >   - AUX button cannot wake from suspend (Though I don't know why this
> >         is the case for GTA02 yet...)
> Ah, it's because AUX switches between NAND and NOR. The status of this
> "switch" is not latched by the CPU, so anytime you press or release
> AUX, you interchange NOR and the memory used for NAND booting.
> We can avoid touching this memory except when booting. Unfortunately,
> also resume-from-suspend executes part of the boot sequence. So if
> AUX is used as a wakeup source, there's a high risk that it will
> "bounce" while you're somewhere in that critical section, which would
> have largely unpredictable consequences.

Ahhh, that makes sense.  Thanks.
Suppose we could get those bytes use by resume-from-suspend to be
identical on the NAND and the NOR  - would that be sufficient, or
would the noise on the line be likely to cause failed reads?


More information about the Gta03 mailing list