summaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2/vp.c
diff options
context:
space:
mode:
authorTero Kristo <t-kristo@ti.com>2012-09-25 20:33:40 +0400
committerKevin Hilman <khilman@ti.com>2012-11-06 03:13:13 +0400
commit085b30250041cd485555f547f625ec03341592dd (patch)
tree43dcbac8e1a5561652c1c90360a2b508e812de70 /arch/arm/mach-omap2/vp.c
parent908b75e850c4a6130b680ea7e59b00f80d4cd2d2 (diff)
downloadlinux-085b30250041cd485555f547f625ec03341592dd.tar.xz
ARM: OMAP3+: vp: use new vp_params for calculating vddmin and vddmax
Now we select the vddmin and vddmax values based on both pmic and voltage processor data, this allows usage of different power ICs. Signed-off-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/vp.c')
-rw-r--r--arch/arm/mach-omap2/vp.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c
index c7e0507bfbd3..394a253c4cd4 100644
--- a/arch/arm/mach-omap2/vp.c
+++ b/arch/arm/mach-omap2/vp.c
@@ -58,8 +58,10 @@ void __init omap_vp_init(struct voltagedomain *voltdm)
sys_clk_rate = voltdm->sys_clk.rate / 1000;
timeout = (sys_clk_rate * voltdm->pmic->vp_timeout_us) / 1000;
- vddmin = voltdm->pmic->uv_to_vsel(voltdm->pmic->vddmin);
- vddmax = voltdm->pmic->uv_to_vsel(voltdm->pmic->vddmax);
+ vddmin = max(voltdm->vp_param->vddmin, voltdm->pmic->vddmin);
+ vddmax = min(voltdm->vp_param->vddmax, voltdm->pmic->vddmax);
+ vddmin = voltdm->pmic->uv_to_vsel(vddmin);
+ vddmax = voltdm->pmic->uv_to_vsel(vddmax);
waittime = DIV_ROUND_UP(voltdm->pmic->step_size * sys_clk_rate,
1000 * voltdm->pmic->slew_rate);