diff options
Diffstat (limited to 'recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0132-OMAP3-VP-move-timing-calculation-config-into-VP-init.patch')
-rw-r--r-- | recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0132-OMAP3-VP-move-timing-calculation-config-into-VP-init.patch | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0132-OMAP3-VP-move-timing-calculation-config-into-VP-init.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0132-OMAP3-VP-move-timing-calculation-config-into-VP-init.patch deleted file mode 100644 index 23b4a313..00000000 --- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0132-OMAP3-VP-move-timing-calculation-config-into-VP-init.patch +++ /dev/null | |||
@@ -1,94 +0,0 @@ | |||
1 | From 505468e0ec50f01f1bf37003096d7ae73deb491d Mon Sep 17 00:00:00 2001 | ||
2 | From: Kevin Hilman <khilman@ti.com> | ||
3 | Date: Thu, 14 Jul 2011 11:10:27 -0700 | ||
4 | Subject: [PATCH 132/149] OMAP3+: VP: move timing calculation/config into VP init | ||
5 | |||
6 | Move VP timing calcluation (based on sys clock) and register programming | ||
7 | into VP init. | ||
8 | |||
9 | Signed-off-by: Kevin Hilman <khilman@ti.com> | ||
10 | --- | ||
11 | arch/arm/mach-omap2/voltage.c | 22 ---------------------- | ||
12 | arch/arm/mach-omap2/vp.c | 23 ++++++++++++++++++++++- | ||
13 | 2 files changed, 22 insertions(+), 23 deletions(-) | ||
14 | |||
15 | diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c | ||
16 | index 533ea38..4a15668 100644 | ||
17 | --- a/arch/arm/mach-omap2/voltage.c | ||
18 | +++ b/arch/arm/mach-omap2/voltage.c | ||
19 | @@ -46,31 +46,9 @@ static LIST_HEAD(voltdm_list); | ||
20 | static int __init _config_common_vdd_data(struct voltagedomain *voltdm) | ||
21 | { | ||
22 | struct omap_vdd_info *vdd = voltdm->vdd; | ||
23 | - u32 sys_clk_rate, timeout_val, waittime; | ||
24 | - | ||
25 | - /* Divide to avoid overflow */ | ||
26 | - sys_clk_rate = voltdm->sys_clk.rate / 1000; | ||
27 | - WARN_ON(!sys_clk_rate); | ||
28 | |||
29 | /* Generic voltage parameters */ | ||
30 | vdd->volt_scale = omap_vp_forceupdate_scale; | ||
31 | - voltdm->vp->enabled = false; | ||
32 | - | ||
33 | - vdd->vp_rt_data.vpconfig_erroroffset = | ||
34 | - (voltdm->pmic->vp_erroroffset << | ||
35 | - __ffs(voltdm->vp->common->vpconfig_erroroffset_mask)); | ||
36 | - | ||
37 | - timeout_val = (sys_clk_rate * voltdm->pmic->vp_timeout_us) / 1000; | ||
38 | - vdd->vp_rt_data.vlimitto_timeout = timeout_val; | ||
39 | - vdd->vp_rt_data.vlimitto_vddmin = voltdm->pmic->vp_vddmin; | ||
40 | - vdd->vp_rt_data.vlimitto_vddmax = voltdm->pmic->vp_vddmax; | ||
41 | - | ||
42 | - waittime = ((voltdm->pmic->step_size / voltdm->pmic->slew_rate) * | ||
43 | - sys_clk_rate) / 1000; | ||
44 | - vdd->vp_rt_data.vstepmin_smpswaittimemin = waittime; | ||
45 | - vdd->vp_rt_data.vstepmax_smpswaittimemax = waittime; | ||
46 | - vdd->vp_rt_data.vstepmin_stepmin = voltdm->pmic->vp_vstepmin; | ||
47 | - vdd->vp_rt_data.vstepmax_stepmax = voltdm->pmic->vp_vstepmax; | ||
48 | |||
49 | return 0; | ||
50 | } | ||
51 | diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c | ||
52 | index 297d094..ea61a47 100644 | ||
53 | --- a/arch/arm/mach-omap2/vp.c | ||
54 | +++ b/arch/arm/mach-omap2/vp.c | ||
55 | @@ -50,7 +50,7 @@ void __init omap_vp_init(struct voltagedomain *voltdm) | ||
56 | { | ||
57 | struct omap_vp_instance *vp = voltdm->vp; | ||
58 | struct omap_vdd_info *vdd = voltdm->vdd; | ||
59 | - u32 vp_val; | ||
60 | + u32 vp_val, sys_clk_rate, timeout_val, waittime; | ||
61 | |||
62 | if (!voltdm->read || !voltdm->write) { | ||
63 | pr_err("%s: No read/write API for accessing vdd_%s regs\n", | ||
64 | @@ -58,6 +58,27 @@ void __init omap_vp_init(struct voltagedomain *voltdm) | ||
65 | return; | ||
66 | } | ||
67 | |||
68 | + vp->enabled = false; | ||
69 | + | ||
70 | + /* Divide to avoid overflow */ | ||
71 | + sys_clk_rate = voltdm->sys_clk.rate / 1000; | ||
72 | + | ||
73 | + vdd->vp_rt_data.vpconfig_erroroffset = | ||
74 | + (voltdm->pmic->vp_erroroffset << | ||
75 | + __ffs(voltdm->vp->common->vpconfig_erroroffset_mask)); | ||
76 | + | ||
77 | + timeout_val = (sys_clk_rate * voltdm->pmic->vp_timeout_us) / 1000; | ||
78 | + vdd->vp_rt_data.vlimitto_timeout = timeout_val; | ||
79 | + vdd->vp_rt_data.vlimitto_vddmin = voltdm->pmic->vp_vddmin; | ||
80 | + vdd->vp_rt_data.vlimitto_vddmax = voltdm->pmic->vp_vddmax; | ||
81 | + | ||
82 | + waittime = ((voltdm->pmic->step_size / voltdm->pmic->slew_rate) * | ||
83 | + sys_clk_rate) / 1000; | ||
84 | + vdd->vp_rt_data.vstepmin_smpswaittimemin = waittime; | ||
85 | + vdd->vp_rt_data.vstepmax_smpswaittimemax = waittime; | ||
86 | + vdd->vp_rt_data.vstepmin_stepmin = voltdm->pmic->vp_vstepmin; | ||
87 | + vdd->vp_rt_data.vstepmax_stepmax = voltdm->pmic->vp_vstepmax; | ||
88 | + | ||
89 | vp_val = vdd->vp_rt_data.vpconfig_erroroffset | | ||
90 | (vdd->vp_rt_data.vpconfig_errorgain << | ||
91 | __ffs(vp->common->vpconfig_errorgain_mask)) | | ||
92 | -- | ||
93 | 1.7.2.5 | ||
94 | |||