diff options
-rw-r--r-- | arch/arm/mach-omap2/omap_twl.c | 20 | ||||
-rw-r--r-- | arch/arm/mach-omap2/vc.c | 35 | ||||
-rw-r--r-- | arch/arm/mach-omap2/vc.h | 7 | ||||
-rw-r--r-- | arch/arm/mach-omap2/vc3xxx_data.c | 22 | ||||
-rw-r--r-- | arch/arm/mach-omap2/vc44xx_data.c | 28 | ||||
-rw-r--r-- | arch/arm/mach-omap2/voltage.h | 18 | ||||
-rw-r--r-- | arch/arm/mach-omap2/voltagedomains3xxx_data.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-omap2/voltagedomains44xx_data.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-omap2/vp.h | 7 | ||||
-rw-r--r-- | arch/arm/mach-omap2/vp3xxx_data.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-omap2/vp44xx_data.c | 15 |
11 files changed, 147 insertions, 28 deletions
diff --git a/arch/arm/mach-omap2/omap_twl.c b/arch/arm/mach-omap2/omap_twl.c index c38a530a7f47..dca1d662d5e0 100644 --- a/arch/arm/mach-omap2/omap_twl.c +++ b/arch/arm/mach-omap2/omap_twl.c | |||
@@ -141,10 +141,6 @@ static u8 twl6030_uv_to_vsel(unsigned long uv) | |||
141 | static struct omap_voltdm_pmic omap3_mpu_pmic = { | 141 | static struct omap_voltdm_pmic omap3_mpu_pmic = { |
142 | .slew_rate = 4000, | 142 | .slew_rate = 4000, |
143 | .step_size = 12500, | 143 | .step_size = 12500, |
144 | .on_volt = 1200000, | ||
145 | .onlp_volt = 1000000, | ||
146 | .ret_volt = 975000, | ||
147 | .off_volt = 600000, | ||
148 | .volt_setup_time = 0xfff, | 144 | .volt_setup_time = 0xfff, |
149 | .vp_erroroffset = OMAP3_VP_CONFIG_ERROROFFSET, | 145 | .vp_erroroffset = OMAP3_VP_CONFIG_ERROROFFSET, |
150 | .vp_vstepmin = OMAP3_VP_VSTEPMIN_VSTEPMIN, | 146 | .vp_vstepmin = OMAP3_VP_VSTEPMIN_VSTEPMIN, |
@@ -162,10 +158,6 @@ static struct omap_voltdm_pmic omap3_mpu_pmic = { | |||
162 | static struct omap_voltdm_pmic omap3_core_pmic = { | 158 | static struct omap_voltdm_pmic omap3_core_pmic = { |
163 | .slew_rate = 4000, | 159 | .slew_rate = 4000, |
164 | .step_size = 12500, | 160 | .step_size = 12500, |
165 | .on_volt = 1200000, | ||
166 | .onlp_volt = 1000000, | ||
167 | .ret_volt = 975000, | ||
168 | .off_volt = 600000, | ||
169 | .volt_setup_time = 0xfff, | 161 | .volt_setup_time = 0xfff, |
170 | .vp_erroroffset = OMAP3_VP_CONFIG_ERROROFFSET, | 162 | .vp_erroroffset = OMAP3_VP_CONFIG_ERROROFFSET, |
171 | .vp_vstepmin = OMAP3_VP_VSTEPMIN_VSTEPMIN, | 163 | .vp_vstepmin = OMAP3_VP_VSTEPMIN_VSTEPMIN, |
@@ -183,10 +175,6 @@ static struct omap_voltdm_pmic omap3_core_pmic = { | |||
183 | static struct omap_voltdm_pmic omap4_mpu_pmic = { | 175 | static struct omap_voltdm_pmic omap4_mpu_pmic = { |
184 | .slew_rate = 4000, | 176 | .slew_rate = 4000, |
185 | .step_size = 12660, | 177 | .step_size = 12660, |
186 | .on_volt = 1375000, | ||
187 | .onlp_volt = 1375000, | ||
188 | .ret_volt = 830000, | ||
189 | .off_volt = 0, | ||
190 | .volt_setup_time = 0, | 178 | .volt_setup_time = 0, |
191 | .vp_erroroffset = OMAP4_VP_CONFIG_ERROROFFSET, | 179 | .vp_erroroffset = OMAP4_VP_CONFIG_ERROROFFSET, |
192 | .vp_vstepmin = OMAP4_VP_VSTEPMIN_VSTEPMIN, | 180 | .vp_vstepmin = OMAP4_VP_VSTEPMIN_VSTEPMIN, |
@@ -205,10 +193,6 @@ static struct omap_voltdm_pmic omap4_mpu_pmic = { | |||
205 | static struct omap_voltdm_pmic omap4_iva_pmic = { | 193 | static struct omap_voltdm_pmic omap4_iva_pmic = { |
206 | .slew_rate = 4000, | 194 | .slew_rate = 4000, |
207 | .step_size = 12660, | 195 | .step_size = 12660, |
208 | .on_volt = 1188000, | ||
209 | .onlp_volt = 1188000, | ||
210 | .ret_volt = 830000, | ||
211 | .off_volt = 0, | ||
212 | .volt_setup_time = 0, | 196 | .volt_setup_time = 0, |
213 | .vp_erroroffset = OMAP4_VP_CONFIG_ERROROFFSET, | 197 | .vp_erroroffset = OMAP4_VP_CONFIG_ERROROFFSET, |
214 | .vp_vstepmin = OMAP4_VP_VSTEPMIN_VSTEPMIN, | 198 | .vp_vstepmin = OMAP4_VP_VSTEPMIN_VSTEPMIN, |
@@ -227,10 +211,6 @@ static struct omap_voltdm_pmic omap4_iva_pmic = { | |||
227 | static struct omap_voltdm_pmic omap4_core_pmic = { | 211 | static struct omap_voltdm_pmic omap4_core_pmic = { |
228 | .slew_rate = 4000, | 212 | .slew_rate = 4000, |
229 | .step_size = 12660, | 213 | .step_size = 12660, |
230 | .on_volt = 1200000, | ||
231 | .onlp_volt = 1200000, | ||
232 | .ret_volt = 830000, | ||
233 | .off_volt = 0, | ||
234 | .volt_setup_time = 0, | 214 | .volt_setup_time = 0, |
235 | .vp_erroroffset = OMAP4_VP_CONFIG_ERROROFFSET, | 215 | .vp_erroroffset = OMAP4_VP_CONFIG_ERROROFFSET, |
236 | .vp_vstepmin = OMAP4_VP_VSTEPMIN_VSTEPMIN, | 216 | .vp_vstepmin = OMAP4_VP_VSTEPMIN_VSTEPMIN, |
diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c index 880249b17012..4c3c41fd2637 100644 --- a/arch/arm/mach-omap2/vc.c +++ b/arch/arm/mach-omap2/vc.c | |||
@@ -135,6 +135,8 @@ int omap_vc_pre_scale(struct voltagedomain *voltdm, | |||
135 | vc_cmdval |= (*target_vsel << vc->common->cmd_on_shift); | 135 | vc_cmdval |= (*target_vsel << vc->common->cmd_on_shift); |
136 | voltdm->write(vc_cmdval, vc->cmdval_reg); | 136 | voltdm->write(vc_cmdval, vc->cmdval_reg); |
137 | 137 | ||
138 | voltdm->vc_param->on = target_volt; | ||
139 | |||
138 | omap_vp_update_errorgain(voltdm, target_volt); | 140 | omap_vp_update_errorgain(voltdm, target_volt); |
139 | 141 | ||
140 | return 0; | 142 | return 0; |
@@ -284,6 +286,30 @@ static void __init omap_vc_i2c_init(struct voltagedomain *voltdm) | |||
284 | initialized = true; | 286 | initialized = true; |
285 | } | 287 | } |
286 | 288 | ||
289 | /** | ||
290 | * omap_vc_calc_vsel - calculate vsel value for a channel | ||
291 | * @voltdm: channel to calculate value for | ||
292 | * @uvolt: microvolt value to convert to vsel | ||
293 | * | ||
294 | * Converts a microvolt value to vsel value for the used PMIC. | ||
295 | * This checks whether the microvolt value is out of bounds, and | ||
296 | * adjusts the value accordingly. If unsupported value detected, | ||
297 | * warning is thrown. | ||
298 | */ | ||
299 | static u8 omap_vc_calc_vsel(struct voltagedomain *voltdm, u32 uvolt) | ||
300 | { | ||
301 | if (voltdm->pmic->vddmin > uvolt) | ||
302 | uvolt = voltdm->pmic->vddmin; | ||
303 | if (voltdm->pmic->vddmax < uvolt) { | ||
304 | WARN(1, "%s: voltage not supported by pmic: %u vs max %u\n", | ||
305 | __func__, uvolt, voltdm->pmic->vddmax); | ||
306 | /* Lets try maximum value anyway */ | ||
307 | uvolt = voltdm->pmic->vddmax; | ||
308 | } | ||
309 | |||
310 | return voltdm->pmic->uv_to_vsel(uvolt); | ||
311 | } | ||
312 | |||
287 | void __init omap_vc_init_channel(struct voltagedomain *voltdm) | 313 | void __init omap_vc_init_channel(struct voltagedomain *voltdm) |
288 | { | 314 | { |
289 | struct omap_vc_channel *vc = voltdm->vc; | 315 | struct omap_vc_channel *vc = voltdm->vc; |
@@ -335,10 +361,11 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm) | |||
335 | } | 361 | } |
336 | 362 | ||
337 | /* Set up the on, inactive, retention and off voltage */ | 363 | /* Set up the on, inactive, retention and off voltage */ |
338 | on_vsel = voltdm->pmic->uv_to_vsel(voltdm->pmic->on_volt); | 364 | on_vsel = omap_vc_calc_vsel(voltdm, voltdm->vc_param->on); |
339 | onlp_vsel = voltdm->pmic->uv_to_vsel(voltdm->pmic->onlp_volt); | 365 | onlp_vsel = omap_vc_calc_vsel(voltdm, voltdm->vc_param->onlp); |
340 | ret_vsel = voltdm->pmic->uv_to_vsel(voltdm->pmic->ret_volt); | 366 | ret_vsel = omap_vc_calc_vsel(voltdm, voltdm->vc_param->ret); |
341 | off_vsel = voltdm->pmic->uv_to_vsel(voltdm->pmic->off_volt); | 367 | off_vsel = omap_vc_calc_vsel(voltdm, voltdm->vc_param->off); |
368 | |||
342 | val = ((on_vsel << vc->common->cmd_on_shift) | | 369 | val = ((on_vsel << vc->common->cmd_on_shift) | |
343 | (onlp_vsel << vc->common->cmd_onlp_shift) | | 370 | (onlp_vsel << vc->common->cmd_onlp_shift) | |
344 | (ret_vsel << vc->common->cmd_ret_shift) | | 371 | (ret_vsel << vc->common->cmd_ret_shift) | |
diff --git a/arch/arm/mach-omap2/vc.h b/arch/arm/mach-omap2/vc.h index 478bf6b432c4..7618b69811d0 100644 --- a/arch/arm/mach-omap2/vc.h +++ b/arch/arm/mach-omap2/vc.h | |||
@@ -111,6 +111,13 @@ extern struct omap_vc_channel omap4_vc_mpu; | |||
111 | extern struct omap_vc_channel omap4_vc_iva; | 111 | extern struct omap_vc_channel omap4_vc_iva; |
112 | extern struct omap_vc_channel omap4_vc_core; | 112 | extern struct omap_vc_channel omap4_vc_core; |
113 | 113 | ||
114 | extern struct omap_vc_param omap3_mpu_vc_data; | ||
115 | extern struct omap_vc_param omap3_core_vc_data; | ||
116 | |||
117 | extern struct omap_vc_param omap4_mpu_vc_data; | ||
118 | extern struct omap_vc_param omap4_iva_vc_data; | ||
119 | extern struct omap_vc_param omap4_core_vc_data; | ||
120 | |||
114 | void omap_vc_init_channel(struct voltagedomain *voltdm); | 121 | void omap_vc_init_channel(struct voltagedomain *voltdm); |
115 | int omap_vc_pre_scale(struct voltagedomain *voltdm, | 122 | int omap_vc_pre_scale(struct voltagedomain *voltdm, |
116 | unsigned long target_volt, | 123 | unsigned long target_volt, |
diff --git a/arch/arm/mach-omap2/vc3xxx_data.c b/arch/arm/mach-omap2/vc3xxx_data.c index 5d8eaf31569c..75bc4aa22b3a 100644 --- a/arch/arm/mach-omap2/vc3xxx_data.c +++ b/arch/arm/mach-omap2/vc3xxx_data.c | |||
@@ -71,3 +71,25 @@ struct omap_vc_channel omap3_vc_core = { | |||
71 | .smps_cmdra_mask = OMAP3430_CMDRA1_MASK, | 71 | .smps_cmdra_mask = OMAP3430_CMDRA1_MASK, |
72 | .cfg_channel_sa_shift = OMAP3430_PRM_VC_SMPS_SA_SA1_SHIFT, | 72 | .cfg_channel_sa_shift = OMAP3430_PRM_VC_SMPS_SA_SA1_SHIFT, |
73 | }; | 73 | }; |
74 | |||
75 | /* | ||
76 | * Voltage levels for different operating modes: on, sleep, retention and off | ||
77 | */ | ||
78 | #define OMAP3_ON_VOLTAGE_UV 1200000 | ||
79 | #define OMAP3_ONLP_VOLTAGE_UV 1000000 | ||
80 | #define OMAP3_RET_VOLTAGE_UV 975000 | ||
81 | #define OMAP3_OFF_VOLTAGE_UV 600000 | ||
82 | |||
83 | struct omap_vc_param omap3_mpu_vc_data = { | ||
84 | .on = OMAP3_ON_VOLTAGE_UV, | ||
85 | .onlp = OMAP3_ONLP_VOLTAGE_UV, | ||
86 | .ret = OMAP3_RET_VOLTAGE_UV, | ||
87 | .off = OMAP3_OFF_VOLTAGE_UV, | ||
88 | }; | ||
89 | |||
90 | struct omap_vc_param omap3_core_vc_data = { | ||
91 | .on = OMAP3_ON_VOLTAGE_UV, | ||
92 | .onlp = OMAP3_ONLP_VOLTAGE_UV, | ||
93 | .ret = OMAP3_RET_VOLTAGE_UV, | ||
94 | .off = OMAP3_OFF_VOLTAGE_UV, | ||
95 | }; | ||
diff --git a/arch/arm/mach-omap2/vc44xx_data.c b/arch/arm/mach-omap2/vc44xx_data.c index d70b930f2739..085e5d6a04fd 100644 --- a/arch/arm/mach-omap2/vc44xx_data.c +++ b/arch/arm/mach-omap2/vc44xx_data.c | |||
@@ -87,3 +87,31 @@ struct omap_vc_channel omap4_vc_core = { | |||
87 | .cfg_channel_sa_shift = OMAP4430_SA_VDD_CORE_L_SHIFT, | 87 | .cfg_channel_sa_shift = OMAP4430_SA_VDD_CORE_L_SHIFT, |
88 | }; | 88 | }; |
89 | 89 | ||
90 | /* | ||
91 | * Voltage levels for different operating modes: on, sleep, retention and off | ||
92 | */ | ||
93 | #define OMAP4_ON_VOLTAGE_UV 1375000 | ||
94 | #define OMAP4_ONLP_VOLTAGE_UV 1375000 | ||
95 | #define OMAP4_RET_VOLTAGE_UV 837500 | ||
96 | #define OMAP4_OFF_VOLTAGE_UV 0 | ||
97 | |||
98 | struct omap_vc_param omap4_mpu_vc_data = { | ||
99 | .on = OMAP4_ON_VOLTAGE_UV, | ||
100 | .onlp = OMAP4_ONLP_VOLTAGE_UV, | ||
101 | .ret = OMAP4_RET_VOLTAGE_UV, | ||
102 | .off = OMAP4_OFF_VOLTAGE_UV, | ||
103 | }; | ||
104 | |||
105 | struct omap_vc_param omap4_iva_vc_data = { | ||
106 | .on = OMAP4_ON_VOLTAGE_UV, | ||
107 | .onlp = OMAP4_ONLP_VOLTAGE_UV, | ||
108 | .ret = OMAP4_RET_VOLTAGE_UV, | ||
109 | .off = OMAP4_OFF_VOLTAGE_UV, | ||
110 | }; | ||
111 | |||
112 | struct omap_vc_param omap4_core_vc_data = { | ||
113 | .on = OMAP4_ON_VOLTAGE_UV, | ||
114 | .onlp = OMAP4_ONLP_VOLTAGE_UV, | ||
115 | .ret = OMAP4_RET_VOLTAGE_UV, | ||
116 | .off = OMAP4_OFF_VOLTAGE_UV, | ||
117 | }; | ||
diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h index a3607b83790d..697095551bb6 100644 --- a/arch/arm/mach-omap2/voltage.h +++ b/arch/arm/mach-omap2/voltage.h | |||
@@ -74,6 +74,8 @@ struct voltagedomain { | |||
74 | const struct omap_vfsm_instance *vfsm; | 74 | const struct omap_vfsm_instance *vfsm; |
75 | struct omap_vp_instance *vp; | 75 | struct omap_vp_instance *vp; |
76 | struct omap_voltdm_pmic *pmic; | 76 | struct omap_voltdm_pmic *pmic; |
77 | struct omap_vp_param *vp_param; | ||
78 | struct omap_vc_param *vc_param; | ||
77 | 79 | ||
78 | /* VC/VP register access functions: SoC specific */ | 80 | /* VC/VP register access functions: SoC specific */ |
79 | u32 (*read) (u8 offset); | 81 | u32 (*read) (u8 offset); |
@@ -125,10 +127,6 @@ struct voltagedomain { | |||
125 | struct omap_voltdm_pmic { | 127 | struct omap_voltdm_pmic { |
126 | int slew_rate; | 128 | int slew_rate; |
127 | int step_size; | 129 | int step_size; |
128 | u32 on_volt; | ||
129 | u32 onlp_volt; | ||
130 | u32 ret_volt; | ||
131 | u32 off_volt; | ||
132 | u16 volt_setup_time; | 130 | u16 volt_setup_time; |
133 | u16 i2c_slave_addr; | 131 | u16 i2c_slave_addr; |
134 | u16 volt_reg_addr; | 132 | u16 volt_reg_addr; |
@@ -145,6 +143,18 @@ struct omap_voltdm_pmic { | |||
145 | u8 (*uv_to_vsel) (unsigned long uV); | 143 | u8 (*uv_to_vsel) (unsigned long uV); |
146 | }; | 144 | }; |
147 | 145 | ||
146 | struct omap_vp_param { | ||
147 | u32 vddmax; | ||
148 | u32 vddmin; | ||
149 | }; | ||
150 | |||
151 | struct omap_vc_param { | ||
152 | u32 on; | ||
153 | u32 onlp; | ||
154 | u32 ret; | ||
155 | u32 off; | ||
156 | }; | ||
157 | |||
148 | void omap_voltage_get_volttable(struct voltagedomain *voltdm, | 158 | void omap_voltage_get_volttable(struct voltagedomain *voltdm, |
149 | struct omap_volt_data **volt_data); | 159 | struct omap_volt_data **volt_data); |
150 | struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm, | 160 | struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm, |
diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c index 63afbfed3cbc..261bb7cb4e60 100644 --- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c +++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c | |||
@@ -117,6 +117,11 @@ void __init omap3xxx_voltagedomains_init(void) | |||
117 | } | 117 | } |
118 | #endif | 118 | #endif |
119 | 119 | ||
120 | omap3_voltdm_mpu.vp_param = &omap3_mpu_vp_data; | ||
121 | omap3_voltdm_core.vp_param = &omap3_core_vp_data; | ||
122 | omap3_voltdm_mpu.vc_param = &omap3_mpu_vc_data; | ||
123 | omap3_voltdm_core.vc_param = &omap3_core_vc_data; | ||
124 | |||
120 | if (soc_is_am35xx()) | 125 | if (soc_is_am35xx()) |
121 | voltdms = voltagedomains_am35xx; | 126 | voltdms = voltagedomains_am35xx; |
122 | else | 127 | else |
diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c b/arch/arm/mach-omap2/voltagedomains44xx_data.c index c3115f6853d4..a2d7d9ca2380 100644 --- a/arch/arm/mach-omap2/voltagedomains44xx_data.c +++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c | |||
@@ -106,6 +106,14 @@ void __init omap44xx_voltagedomains_init(void) | |||
106 | omap4_voltdm_core.volt_data = omap44xx_vdd_core_volt_data; | 106 | omap4_voltdm_core.volt_data = omap44xx_vdd_core_volt_data; |
107 | #endif | 107 | #endif |
108 | 108 | ||
109 | omap4_voltdm_mpu.vp_param = &omap4_mpu_vp_data; | ||
110 | omap4_voltdm_iva.vp_param = &omap4_iva_vp_data; | ||
111 | omap4_voltdm_core.vp_param = &omap4_core_vp_data; | ||
112 | |||
113 | omap4_voltdm_mpu.vc_param = &omap4_mpu_vc_data; | ||
114 | omap4_voltdm_iva.vc_param = &omap4_iva_vc_data; | ||
115 | omap4_voltdm_core.vc_param = &omap4_core_vc_data; | ||
116 | |||
109 | for (i = 0; voltdm = voltagedomains_omap4[i], voltdm; i++) | 117 | for (i = 0; voltdm = voltagedomains_omap4[i], voltdm; i++) |
110 | voltdm->sys_clk.name = sys_clk_name; | 118 | voltdm->sys_clk.name = sys_clk_name; |
111 | 119 | ||
diff --git a/arch/arm/mach-omap2/vp.h b/arch/arm/mach-omap2/vp.h index 7c155d248aa3..0fdf7080e4a6 100644 --- a/arch/arm/mach-omap2/vp.h +++ b/arch/arm/mach-omap2/vp.h | |||
@@ -117,6 +117,13 @@ extern struct omap_vp_instance omap4_vp_mpu; | |||
117 | extern struct omap_vp_instance omap4_vp_iva; | 117 | extern struct omap_vp_instance omap4_vp_iva; |
118 | extern struct omap_vp_instance omap4_vp_core; | 118 | extern struct omap_vp_instance omap4_vp_core; |
119 | 119 | ||
120 | extern struct omap_vp_param omap3_mpu_vp_data; | ||
121 | extern struct omap_vp_param omap3_core_vp_data; | ||
122 | |||
123 | extern struct omap_vp_param omap4_mpu_vp_data; | ||
124 | extern struct omap_vp_param omap4_iva_vp_data; | ||
125 | extern struct omap_vp_param omap4_core_vp_data; | ||
126 | |||
120 | void omap_vp_init(struct voltagedomain *voltdm); | 127 | void omap_vp_init(struct voltagedomain *voltdm); |
121 | void omap_vp_enable(struct voltagedomain *voltdm); | 128 | void omap_vp_enable(struct voltagedomain *voltdm); |
122 | void omap_vp_disable(struct voltagedomain *voltdm); | 129 | void omap_vp_disable(struct voltagedomain *voltdm); |
diff --git a/arch/arm/mach-omap2/vp3xxx_data.c b/arch/arm/mach-omap2/vp3xxx_data.c index bd89f80089f5..1914e026245e 100644 --- a/arch/arm/mach-omap2/vp3xxx_data.c +++ b/arch/arm/mach-omap2/vp3xxx_data.c | |||
@@ -77,3 +77,13 @@ struct omap_vp_instance omap3_vp_core = { | |||
77 | .vstatus = OMAP3_PRM_VP2_STATUS_OFFSET, | 77 | .vstatus = OMAP3_PRM_VP2_STATUS_OFFSET, |
78 | .voltage = OMAP3_PRM_VP2_VOLTAGE_OFFSET, | 78 | .voltage = OMAP3_PRM_VP2_VOLTAGE_OFFSET, |
79 | }; | 79 | }; |
80 | |||
81 | struct omap_vp_param omap3_mpu_vp_data = { | ||
82 | .vddmin = OMAP3430_VP1_VLIMITTO_VDDMIN, | ||
83 | .vddmax = OMAP3430_VP1_VLIMITTO_VDDMAX, | ||
84 | }; | ||
85 | |||
86 | struct omap_vp_param omap3_core_vp_data = { | ||
87 | .vddmin = OMAP3430_VP2_VLIMITTO_VDDMIN, | ||
88 | .vddmax = OMAP3430_VP2_VLIMITTO_VDDMAX, | ||
89 | }; | ||
diff --git a/arch/arm/mach-omap2/vp44xx_data.c b/arch/arm/mach-omap2/vp44xx_data.c index 8c031d16879e..e62f6b018beb 100644 --- a/arch/arm/mach-omap2/vp44xx_data.c +++ b/arch/arm/mach-omap2/vp44xx_data.c | |||
@@ -87,3 +87,18 @@ struct omap_vp_instance omap4_vp_core = { | |||
87 | .vstatus = OMAP4_PRM_VP_CORE_STATUS_OFFSET, | 87 | .vstatus = OMAP4_PRM_VP_CORE_STATUS_OFFSET, |
88 | .voltage = OMAP4_PRM_VP_CORE_VOLTAGE_OFFSET, | 88 | .voltage = OMAP4_PRM_VP_CORE_VOLTAGE_OFFSET, |
89 | }; | 89 | }; |
90 | |||
91 | struct omap_vp_param omap4_mpu_vp_data = { | ||
92 | .vddmin = OMAP4_VP_MPU_VLIMITTO_VDDMIN, | ||
93 | .vddmax = OMAP4_VP_MPU_VLIMITTO_VDDMAX, | ||
94 | }; | ||
95 | |||
96 | struct omap_vp_param omap4_iva_vp_data = { | ||
97 | .vddmin = OMAP4_VP_IVA_VLIMITTO_VDDMIN, | ||
98 | .vddmax = OMAP4_VP_IVA_VLIMITTO_VDDMAX, | ||
99 | }; | ||
100 | |||
101 | struct omap_vp_param omap4_core_vp_data = { | ||
102 | .vddmin = OMAP4_VP_CORE_VLIMITTO_VDDMIN, | ||
103 | .vddmax = OMAP4_VP_CORE_VLIMITTO_VDDMAX, | ||
104 | }; | ||