TI OMAP 3530 Power Management

Download Report

Transcript TI OMAP 3530 Power Management

TI OMAP 3530 power management
TI OMAP 3530
power
management
Gilles Chanteperdrix
Free Electrons
© Copyright 2004-2010, Free Electrons.
Creative Commons BY-SA 3.0 license
Latest update: Nov 3, 2015,
Corrections, suggestions, contributions and translations are welcome!
1
Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com
Introduction
OMAP 3530 features for P.M.
Separately clocked areas: “clock domains”
Separately powered areas: “power domains”
Areas controlled by separate regulators: “voltage
domains”
Power management control companion chip
Goal
These features may be used to implement various
power consumption management techniques,
described in T.I. documentation, show their Linux
counterparts.
2
Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com
OMAP 3530 P.M. techniques
Active power consumption management:
DVFS: Dynamic voltage and frequency scaling
AVS: Adaptive voltage scaling
DPS: Dynamic power switching
Static power consumption management:
SLM: Static leakage management
3
Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com
Dynamic voltage and frequency scaling
Define operating performance points (OPP),
composed of a frequency and the CPU and DSP
voltages needed to reach a certain performance
goal.
Modulate frequency and voltage according to the
OPP needed to handle the current workload.
Under Linux, this is what the cpufreq driver
should do (currently, seems only implemented
on the android fork for omap3).
With help from the OMAP PM API.
4
Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com
Adaptive voltage scaling
There are variations in the characteristics of a
SoC due to several factors
Due to these variations, the operating condition
of a processor can be adjusted
This is what smartreflex does automatically
Under Linux, only implemented in the android
fork, enabled and disabled using files under /sys.
5
Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com
Dynamic power switching
Not all parts of the OMAP SoC are needed at all
times.
Dynamic power switching is switching the
unused parts to a low power state.
Under Linux, matches the PM_RUNTIME option,
but not implemented for OMAP, instead, various
clocks and peripherals have an “auto-idle” mode.
With here again help from the OMAP PM API.
(see Documentation/arm/OMAP/omap_pm)
6
Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com
Static power consumption management
Static leakage management
When the SoC is not needed, put it in standby
or device-off mode completely.
Under Linux, this matches the power
management suspend states.
Linux clocks and regulators framework
Any unused domain can be turned off
7
Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com