Wednesday, May 06, 2009

OMAP power management simplified(?)

Background:
Excerpts from the thread here
A detailed presentation done by Richard Woodruff can be found here

To start this discussion, think what OMAP really is.. OMAP is made of multiple small parts inside it (peripherals) - each peripheral can be individually shut off or switched on as need be.

OPP or Operating Points:
In fact OMAP could also be used like a car gear, if you need higher processing power, switch to a different "operating point". Each of these operating points is a set of voltage and frequencies that each peripherals and OMAP functions at -> usually the main peripherals of interest from a speed perspective are ARM and DSP, but like a car, when you speed up, you will consume more power..

[BUT unlike a car, during operation, OMAP's carbon footprint is pretty tiny]

Suspend/Resume:
Since OMAP is also made up of various peripherals, you can switch off many of these peripherals when not in use, in fact you can have many levels of "switch off" = retention and off modes are general terms for which I cannot think of exact equivalents in real world except, maybe - hibernation and suspend in a PC.. In off mode, OMAP is essentially down consuming pretty few uWatts of power or less, but the SDRAM contents are retained - so when you wake back up from off mode, you can "restore" your state precisely where you left it in a matter of few uSec or so.. retention you shut lesser parts of OMAP off, so when you wakeup, you would wakeup even faster (compared to offmode), yet, you wont incur the cost of keeping OMAP running continuously..

[In case you are thinking: why not support hibernation in OMAP linux kernel? unlike a desktop or a laptop PC where you have umpteen amount of disk space, in a typical embedded sytem, you probably have a few megabytes of flash memory for non volatile storage.. that kinda limits what you can put in it.. ofcourse, we can think of compressing the SDRAM contents when we store etc.. but I have'nt heard of anyone doing it (yet)..]

Summary:
time to wakeup: retention < offmode < < << cold boot
power consumption: complete power off < offmode < retention < < < < omap running

3 comments:

Dev.R said...

OPP::Car-Gear nice analogy ;>
and describing OMAP Power Management in 266 words - thats some courage (3.7K pages manual 's out there to fallback)

Nishanth Menon said...

lol.. thanks.. ;)

Shubdev Singh said...

Hello Nishant
can u please tell me how much clock we can get by toggling gpio of OMAP 5912 the internal CPU is working at 192 MHZ.