[PATCH] qi: initialize PMU GPIOs

Werner Almesberger werner at openmoko.org
Sat Jan 24 17:26:03 CET 2009

Joerg Reisenweber wrote:
> I seem to remember the calypso TESTRSTZ input isn't used as 
> a simple powerup reset. Instead it triggers reset of bootloader (to start 
> firmware flashing for example).

As far as I know, TESTRSTZ does a full reset the whole GSM subsystem.
The boot loader always runs after reset, be it caused by TESTRSTZ or
by powering on. (That's also why you get those ticking sounds right
after powering up if you didn't disable DL_GSM. It's the boot loader,
trying to call the mothership.)

> That's why the driver transistor is NC in GTA02.

Ah, that's a long story ;-) What happened in GTA01 was that at the
time of entering PMU.Suspend the GPIOs would become unstable. This
would then send enough current into MODEM_RST to make the transistor
pull TESTRSTZ, which in turn would reset the modem that we've
previously sent to bed by software. The reset would wake the modem
and since there was nobody around to tell it otherwise, it would stay
up, making full use of its privileged access to the battery.

In GTA02, we have the PMU-controlled modem power switch to keep the
modem from doing such things. We might also be less susceptible to
GPIO instability on MODEM_RST during power down because we've reduced
leakage currents into the CPU, which may have played a role in the
original problem.

- Werner

More information about the openmoko-kernel mailing list