The power management unit in Macintosh computers is an independent Mitsubishi M16C/62F microprocessor. The Apple name for the unit is the PMU99. This little low-power embedded microcontroller controls the parts of the Mac that have to operate while the CPU is turned off (or suspended).

Because it's also a convenient chip with lots of I/O pins, it's also often used to control blinkenlights and do odd jobs in the Mac's main package. On a PowerBook, the PMU99 provides an ADB interface to the internal trackpad and keyboard (those devices aren't USB), as well as controlling the caps lock, num lock, and sleep indicators. (Specialized circuitry is used to make the sleep indicator pulsate - if you know how to access this, please tell me!) It's also responsible for charging batteries and turning things on and off on the motherboard.

The PMU99 is especially interesting in Open Firmware because it controls so much. The methods wink and winks cutely blink the sleep indicator. It's also the interface to the backlight. Of course, being a power management unit, it also controls shutdowns and restarts, both manual (because it owns the power button) and timed automatic (because it is the real-time clock). Open Firmware knows the PMU99 as a node named "via-pmu."

In OF, the ls command shows the following child nodes to the PMU99 on a Lombard PowerBook:

Because it's an independent processor, it would be interesting to figure out how to run programs on this chip. I wonder whether you can control its flash memory from software. It only has a few kilobytes of RAM, though, so there probably aren't many possibilities (and a bug would kill the machine). Still, it would be cool to bring it above the level of auxiliary processor.

Log in or register to write something here or to contact authors.