aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/vp.h
diff options
context:
space:
mode:
authorTero Kristo <t-kristo@ti.com>2012-04-11 12:42:25 -0500
committerZiyann <jaraidaniel@gmail.com>2014-10-01 12:58:42 +0200
commit773ad428d94aab36b7696bb0574cb0cefc4e210a (patch)
treef8795f9030ac973f970f48b73c8cd756696ca66d /arch/arm/mach-omap2/vp.h
parentb0d638ca5e5a6768e383a274f05eb6e159bd156b (diff)
downloadkernel_samsung_tuna-773ad428d94aab36b7696bb0574cb0cefc4e210a.zip
kernel_samsung_tuna-773ad428d94aab36b7696bb0574cb0cefc4e210a.tar.gz
kernel_samsung_tuna-773ad428d94aab36b7696bb0574cb0cefc4e210a.tar.bz2
OMAP3+: VP: introduce SoC limit parameters
Introduce Voltage Processor level limit which maps to values per SoC. The actual VP limits are programmed using the following logic: vddmax as the lower value of SoC/PMIC's capability vddmin as the higher value of SoC/PMIC's capability Change-Id: Ib58b41f56f06dfbd59f3e6d1a129fd1496d04d07 [oleksandr.kozaruk@ti.com, nm@ti.com: port for Android] Signed-off-by: Oleksandr Kozaruk <oleksandr.kozaruk@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com> [t-kristo@ti.com: original patch] Signed-off-by: Tero Kristo <t-kristo@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/vp.h')
-rw-r--r--arch/arm/mach-omap2/vp.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/vp.h b/arch/arm/mach-omap2/vp.h
index cb3465a..e7c957b 100644
--- a/arch/arm/mach-omap2/vp.h
+++ b/arch/arm/mach-omap2/vp.h
@@ -79,6 +79,16 @@ struct omap_vp_common {
};
/**
+ * struct omap_vp_volt_limits - Voltage limit Parameters for SoC
+ * @vddmin: Minimum voltage in uV
+ * @vddmax: Maximum voltage in uV
+ */
+struct omap_vp_volt_limits {
+ u32 vddmin;
+ u32 vddmax;
+};
+
+/**
* struct omap_vp_instance - VP register offsets (per-VDD)
* @common: pointer to struct omap_vp_common * for this SoC
* @vpconfig: PRM_VP*_CONFIG reg offset from PRM start
@@ -87,6 +97,7 @@ struct omap_vp_common {
* @vstatus: PRM_VP*_VSTATUS reg offset from PRM start
* @voltage: PRM_VP*_VOLTAGE reg offset from PRM start
* @enabled: flag to keep track of whether vp is enabled or not
+ * @limits: limits to set based off SoC VP capability.
*
* XXX vp_common is probably not needed since it is per-SoC
*/
@@ -100,6 +111,7 @@ struct omap_vp_instance {
u8 voltage;
u8 id;
bool enabled;
+ struct omap_vp_volt_limits *vlimits;
};
extern struct omap_vp_instance omap3_vp_mpu;