GTA04 PMU / Core arch block diagram v1

Werner Almesberger werner at
Wed Apr 2 16:36:24 CEST 2008

Andy Green wrote:
> Consequently though if the backlight goes down, quite often I think we
> find that any reason for the CPU to be up just evaporated as well.

Yes, but keeping the CPU turned off shouldn't be a goal per se. If it
briefly powers on to handle a volume control or mute event, that has
no real effect on our battery life.

> What is "usage policy"?  The user defines "usage" when he interacts with
> the device.

Things like "what does this button do". E.g., you may use button X
(AUX, POWER, RIGHT, ...) to hang up. But then someone may want to
make a GUI that asks for confirmation. So if the MPU doesn't only
report the button press to the CPU but also takes further actions,
that GUI change would need a different MPU firmware, or the MPU
firmware would need to have a configurable action.

Similarly, volume control: some user interface designs give you
acoustic or even visual feedback when the volume changes. And they
may differ in how they handle changes at the end of the range.
Again, if the MPU tries to handle this autonomously, each different
UI needs to change MPU behaviour.

Right now, we have three UIs, OpenMoko, Qtopia, and moko-underground,
each with its own style. And once one of these is in a shape where it
actually works for daily use, people will probably make their own
variants. The MPU should not constrain that.

> So "policy" and fulfilment lives on the CPU in userspace, enforcement
> lives on the MPU, there is nothing there about having to flash new
> firmware on the MPU to change it.

Yup, that sounds good.

> Yeah right, as in the example above, we need to use it straegically, not
> necessarily deeply.  We shouldn't assume if we do that, that the MPU
> makes trouble -- the always-on, fast reaction aspect of the MPU is a big
> advantage is we are smart about how we build it in.

Exactly. By the way, another use are simple logic functions. E.g., you
wouldn't believe how much engineering time we sank into the USB pullup
logic. Just for that alone, an MPU would have been worth ten times its

- Werner

More information about the openmoko-kernel mailing list