diff options
author | Thara Gopinath <thara@ti.com> | 2010-05-29 12:32:21 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@deeprootsystems.com> | 2010-12-22 17:31:02 -0500 |
commit | 2f34ce81b8c05c900e45bd88595cc154f7bb5957 (patch) | |
tree | 9bd5793ea11fef37439cd9a369d22d38ce30b268 /arch/arm/mach-omap2/pm.c | |
parent | f17f9726c27c3921e00a5750e85070e6dd7e1ff7 (diff) |
OMAP3: PM: Adding voltage driver support.
This patch adds voltage driver support for OMAP3. The driver
allows configuring the voltage controller and voltage
processors during init and exports APIs to enable/disable
voltage processors, scale voltage and reset voltage.
The driver maintains the global voltage table on a per
VDD basis which contains the various voltages supported by the
VDD along with per voltage dependent data like smartreflex
efuse offset, errminlimit and voltage processor errorgain.
The driver also allows the voltage parameters dependent on the
PMIC to be passed from the PMIC file through an API.
The driver allows scaling of VDD voltages either through
"vc bypass method" or through "vp forceupdate method" the
choice being configurable through the board file.
This patch contains code originally in linux omap pm branch
smartreflex driver. Major contributors to this driver are
Lesly A M, Rajendra Nayak, Kalle Jokiniemi, Paul Walmsley,
Nishant Menon, Kevin Hilman. The separation of PMIC parameters
into a separate structure which can be populated from
the PMIC file is based on the work of Lun Chang from Motorola
in an internal tree.
Signed-off-by: Thara Gopinath <thara@ti.com>
[khilman: fixed link error for OMAP2-only defconfig]
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm/mach-omap2/pm.c')
-rw-r--r-- | arch/arm/mach-omap2/pm.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c index 9b1db592759f..e828616fa8b9 100644 --- a/arch/arm/mach-omap2/pm.c +++ b/arch/arm/mach-omap2/pm.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <plat/omap-pm.h> | 17 | #include <plat/omap-pm.h> |
18 | #include <plat/omap_device.h> | 18 | #include <plat/omap_device.h> |
19 | #include <plat/common.h> | 19 | #include <plat/common.h> |
20 | #include <plat/voltage.h> | ||
20 | 21 | ||
21 | #include "powerdomain.h" | 22 | #include "powerdomain.h" |
22 | #include "clockdomain.h" | 23 | #include "clockdomain.h" |
@@ -163,3 +164,10 @@ static int __init omap2_common_pm_init(void) | |||
163 | } | 164 | } |
164 | postcore_initcall(omap2_common_pm_init); | 165 | postcore_initcall(omap2_common_pm_init); |
165 | 166 | ||
167 | static int __init omap2_common_pm_late_init(void) | ||
168 | { | ||
169 | omap_voltage_late_init(); | ||
170 | |||
171 | return 0; | ||
172 | } | ||
173 | late_initcall(omap2_common_pm_late_init); | ||