[glsdk/meta-ti-glsdk.git] / recipes-kernel / linux / linux-3.0 / pm-wip / voltdm / 0084-OMAP4-hwmod-data-Add-PRM-context-register-offset.patch
1 From 4f1bf495d3eb576dd032b53cfc863017d6ea1fa2 Mon Sep 17 00:00:00 2001
2 From: Benoit Cousson <b-cousson@ti.com>
3 Date: Sun, 10 Jul 2011 05:56:32 -0600
4 Subject: [PATCH 084/149] OMAP4: hwmod data: Add PRM context register offset
6 Add a 'context_offs' entry in the prcm.omap4 structure to all
7 IPs when applicable.
8 The offset will be used to retrieve the per module context lost
9 information now available on OMAP4.
11 Signed-off-by: Benoit Cousson <b-cousson@ti.com>
12 Cc: Paul Walmsley <paul@pwsan.com>
13 Cc: Rajendra Nayak <rnayak@ti.com>
14 Signed-off-by: Paul Walmsley <paul@pwsan.com>
15 ---
16 arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 74 ++++++++++++++++++++++++++
17 arch/arm/plat-omap/include/plat/omap_hwmod.h | 1 +
18 2 files changed, 75 insertions(+), 0 deletions(-)
20 diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
21 index 6a190f5..d68ef2c 100644
22 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
23 +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
24 @@ -127,6 +127,7 @@ static struct omap_hwmod omap44xx_dmm_hwmod = {
25 .prcm = {
26 .omap4 = {
27 .clkctrl_offs = OMAP4_CM_MEMIF_DMM_CLKCTRL_OFFSET,
28 + .context_offs = OMAP4_RM_MEMIF_DMM_CONTEXT_OFFSET,
29 },
30 },
31 .slaves = omap44xx_dmm_slaves,
32 @@ -183,6 +184,7 @@ static struct omap_hwmod omap44xx_emif_fw_hwmod = {
33 .prcm = {
34 .omap4 = {
35 .clkctrl_offs = OMAP4_CM_MEMIF_EMIF_FW_CLKCTRL_OFFSET,
36 + .context_offs = OMAP4_RM_MEMIF_EMIF_FW_CONTEXT_OFFSET,
37 },
38 },
39 .slaves = omap44xx_emif_fw_slaves,
40 @@ -228,6 +230,7 @@ static struct omap_hwmod omap44xx_l3_instr_hwmod = {
41 .prcm = {
42 .omap4 = {
43 .clkctrl_offs = OMAP4_CM_L3INSTR_L3_INSTR_CLKCTRL_OFFSET,
44 + .context_offs = OMAP4_RM_L3INSTR_L3_INSTR_CONTEXT_OFFSET,
45 },
46 },
47 .slaves = omap44xx_l3_instr_slaves,
48 @@ -327,6 +330,7 @@ static struct omap_hwmod omap44xx_l3_main_1_hwmod = {
49 .prcm = {
50 .omap4 = {
51 .clkctrl_offs = OMAP4_CM_L3_1_L3_1_CLKCTRL_OFFSET,
52 + .context_offs = OMAP4_RM_L3_1_L3_1_CONTEXT_OFFSET,
53 },
54 },
55 .slaves = omap44xx_l3_main_1_slaves,
56 @@ -428,6 +432,7 @@ static struct omap_hwmod omap44xx_l3_main_2_hwmod = {
57 .prcm = {
58 .omap4 = {
59 .clkctrl_offs = OMAP4_CM_L3_2_L3_2_CLKCTRL_OFFSET,
60 + .context_offs = OMAP4_RM_L3_2_L3_2_CONTEXT_OFFSET,
61 },
62 },
63 .slaves = omap44xx_l3_main_2_slaves,
64 @@ -484,6 +489,7 @@ static struct omap_hwmod omap44xx_l3_main_3_hwmod = {
65 .prcm = {
66 .omap4 = {
67 .clkctrl_offs = OMAP4_CM_L3INSTR_L3_3_CLKCTRL_OFFSET,
68 + .context_offs = OMAP4_RM_L3INSTR_L3_3_CONTEXT_OFFSET,
69 },
70 },
71 .slaves = omap44xx_l3_main_3_slaves,
72 @@ -575,6 +581,7 @@ static struct omap_hwmod omap44xx_l4_cfg_hwmod = {
73 .prcm = {
74 .omap4 = {
75 .clkctrl_offs = OMAP4_CM_L4CFG_L4_CFG_CLKCTRL_OFFSET,
76 + .context_offs = OMAP4_RM_L4CFG_L4_CFG_CONTEXT_OFFSET,
77 },
78 },
79 .slaves = omap44xx_l4_cfg_slaves,
80 @@ -603,6 +610,7 @@ static struct omap_hwmod omap44xx_l4_per_hwmod = {
81 .prcm = {
82 .omap4 = {
83 .clkctrl_offs = OMAP4_CM_L4PER_L4PER_CLKCTRL_OFFSET,
84 + .context_offs = OMAP4_RM_L4PER_L4_PER_CONTEXT_OFFSET,
85 },
86 },
87 .slaves = omap44xx_l4_per_slaves,
88 @@ -631,6 +639,7 @@ static struct omap_hwmod omap44xx_l4_wkup_hwmod = {
89 .prcm = {
90 .omap4 = {
91 .clkctrl_offs = OMAP4_CM_WKUP_L4WKUP_CLKCTRL_OFFSET,
92 + .context_offs = OMAP4_RM_WKUP_L4WKUP_CONTEXT_OFFSET,
93 },
94 },
95 .slaves = omap44xx_l4_wkup_slaves,
96 @@ -809,6 +818,7 @@ static struct omap_hwmod omap44xx_aess_hwmod = {
97 .prcm = {
98 .omap4 = {
99 .clkctrl_offs = OMAP4_CM1_ABE_AESS_CLKCTRL_OFFSET,
100 + .context_offs = OMAP4_RM_ABE_AESS_CONTEXT_OFFSET,
101 },
102 },
103 .slaves = omap44xx_aess_slaves,
104 @@ -899,6 +909,7 @@ static struct omap_hwmod omap44xx_counter_32k_hwmod = {
105 .prcm = {
106 .omap4 = {
107 .clkctrl_offs = OMAP4_CM_WKUP_SYNCTIMER_CLKCTRL_OFFSET,
108 + .context_offs = OMAP4_RM_WKUP_SYNCTIMER_CONTEXT_OFFSET,
109 },
110 },
111 .slaves = omap44xx_counter_32k_slaves,
112 @@ -983,6 +994,7 @@ static struct omap_hwmod omap44xx_dma_system_hwmod = {
113 .prcm = {
114 .omap4 = {
115 .clkctrl_offs = OMAP4_CM_SDMA_SDMA_CLKCTRL_OFFSET,
116 + .context_offs = OMAP4_RM_SDMA_SDMA_CONTEXT_OFFSET,
117 },
118 },
119 .dev_attr = &dma_dev_attr,
120 @@ -1077,6 +1089,7 @@ static struct omap_hwmod omap44xx_dmic_hwmod = {
121 .prcm = {
122 .omap4 = {
123 .clkctrl_offs = OMAP4_CM1_ABE_DMIC_CLKCTRL_OFFSET,
124 + .context_offs = OMAP4_RM_ABE_DMIC_CONTEXT_OFFSET,
125 },
126 },
127 .slaves = omap44xx_dmic_slaves,
128 @@ -1162,6 +1175,7 @@ static struct omap_hwmod omap44xx_dsp_hwmod = {
129 .omap4 = {
130 .clkctrl_offs = OMAP4_CM_TESLA_TESLA_CLKCTRL_OFFSET,
131 .rstctrl_offs = OMAP4_RM_TESLA_RSTCTRL_OFFSET,
132 + .context_offs = OMAP4_RM_TESLA_TESLA_CONTEXT_OFFSET,
133 },
134 },
135 .slaves = omap44xx_dsp_slaves,
136 @@ -1250,6 +1264,7 @@ static struct omap_hwmod omap44xx_dss_hwmod = {
137 .prcm = {
138 .omap4 = {
139 .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
140 + .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
141 },
142 },
143 .opt_clks = dss_opt_clks,
144 @@ -1354,6 +1369,7 @@ static struct omap_hwmod omap44xx_dss_dispc_hwmod = {
145 .prcm = {
146 .omap4 = {
147 .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
148 + .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
149 },
150 },
151 .opt_clks = dss_dispc_opt_clks,
152 @@ -1452,6 +1468,7 @@ static struct omap_hwmod omap44xx_dss_dsi1_hwmod = {
153 .prcm = {
154 .omap4 = {
155 .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
156 + .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
157 },
158 },
159 .opt_clks = dss_dsi1_opt_clks,
160 @@ -1529,6 +1546,7 @@ static struct omap_hwmod omap44xx_dss_dsi2_hwmod = {
161 .prcm = {
162 .omap4 = {
163 .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
164 + .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
165 },
166 },
167 .opt_clks = dss_dsi2_opt_clks,
168 @@ -1626,6 +1644,7 @@ static struct omap_hwmod omap44xx_dss_hdmi_hwmod = {
169 .prcm = {
170 .omap4 = {
171 .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
172 + .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
173 },
174 },
175 .opt_clks = dss_hdmi_opt_clks,
176 @@ -1717,6 +1736,7 @@ static struct omap_hwmod omap44xx_dss_rfbi_hwmod = {
177 .prcm = {
178 .omap4 = {
179 .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
180 + .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
181 },
182 },
183 .opt_clks = dss_rfbi_opt_clks,
184 @@ -1787,6 +1807,7 @@ static struct omap_hwmod omap44xx_dss_venc_hwmod = {
185 .prcm = {
186 .omap4 = {
187 .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
188 + .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
189 },
190 },
191 .slaves = omap44xx_dss_venc_slaves,
192 @@ -1866,6 +1887,7 @@ static struct omap_hwmod omap44xx_gpio1_hwmod = {
193 .prcm = {
194 .omap4 = {
195 .clkctrl_offs = OMAP4_CM_WKUP_GPIO1_CLKCTRL_OFFSET,
196 + .context_offs = OMAP4_RM_WKUP_GPIO1_CONTEXT_OFFSET,
197 },
198 },
199 .opt_clks = gpio1_opt_clks,
200 @@ -1920,6 +1942,7 @@ static struct omap_hwmod omap44xx_gpio2_hwmod = {
201 .prcm = {
202 .omap4 = {
203 .clkctrl_offs = OMAP4_CM_L4PER_GPIO2_CLKCTRL_OFFSET,
204 + .context_offs = OMAP4_RM_L4PER_GPIO2_CONTEXT_OFFSET,
205 },
206 },
207 .opt_clks = gpio2_opt_clks,
208 @@ -1974,6 +1997,7 @@ static struct omap_hwmod omap44xx_gpio3_hwmod = {
209 .prcm = {
210 .omap4 = {
211 .clkctrl_offs = OMAP4_CM_L4PER_GPIO3_CLKCTRL_OFFSET,
212 + .context_offs = OMAP4_RM_L4PER_GPIO3_CONTEXT_OFFSET,
213 },
214 },
215 .opt_clks = gpio3_opt_clks,
216 @@ -2028,6 +2052,7 @@ static struct omap_hwmod omap44xx_gpio4_hwmod = {
217 .prcm = {
218 .omap4 = {
219 .clkctrl_offs = OMAP4_CM_L4PER_GPIO4_CLKCTRL_OFFSET,
220 + .context_offs = OMAP4_RM_L4PER_GPIO4_CONTEXT_OFFSET,
221 },
222 },
223 .opt_clks = gpio4_opt_clks,
224 @@ -2082,6 +2107,7 @@ static struct omap_hwmod omap44xx_gpio5_hwmod = {
225 .prcm = {
226 .omap4 = {
227 .clkctrl_offs = OMAP4_CM_L4PER_GPIO5_CLKCTRL_OFFSET,
228 + .context_offs = OMAP4_RM_L4PER_GPIO5_CONTEXT_OFFSET,
229 },
230 },
231 .opt_clks = gpio5_opt_clks,
232 @@ -2136,6 +2162,7 @@ static struct omap_hwmod omap44xx_gpio6_hwmod = {
233 .prcm = {
234 .omap4 = {
235 .clkctrl_offs = OMAP4_CM_L4PER_GPIO6_CLKCTRL_OFFSET,
236 + .context_offs = OMAP4_RM_L4PER_GPIO6_CONTEXT_OFFSET,
237 },
238 },
239 .opt_clks = gpio6_opt_clks,
240 @@ -2215,6 +2242,7 @@ static struct omap_hwmod omap44xx_hsi_hwmod = {
241 .prcm = {
242 .omap4 = {
243 .clkctrl_offs = OMAP4_CM_L3INIT_HSI_CLKCTRL_OFFSET,
244 + .context_offs = OMAP4_RM_L3INIT_HSI_CONTEXT_OFFSET,
245 },
246 },
247 .slaves = omap44xx_hsi_slaves,
248 @@ -2298,6 +2326,7 @@ static struct omap_hwmod omap44xx_i2c1_hwmod = {
249 .prcm = {
250 .omap4 = {
251 .clkctrl_offs = OMAP4_CM_L4PER_I2C1_CLKCTRL_OFFSET,
252 + .context_offs = OMAP4_RM_L4PER_I2C1_CONTEXT_OFFSET,
253 },
254 },
255 .slaves = omap44xx_i2c1_slaves,
256 @@ -2353,6 +2382,7 @@ static struct omap_hwmod omap44xx_i2c2_hwmod = {
257 .prcm = {
258 .omap4 = {
259 .clkctrl_offs = OMAP4_CM_L4PER_I2C2_CLKCTRL_OFFSET,
260 + .context_offs = OMAP4_RM_L4PER_I2C2_CONTEXT_OFFSET,
261 },
262 },
263 .slaves = omap44xx_i2c2_slaves,
264 @@ -2408,6 +2438,7 @@ static struct omap_hwmod omap44xx_i2c3_hwmod = {
265 .prcm = {
266 .omap4 = {
267 .clkctrl_offs = OMAP4_CM_L4PER_I2C3_CLKCTRL_OFFSET,
268 + .context_offs = OMAP4_RM_L4PER_I2C3_CONTEXT_OFFSET,
269 },
270 },
271 .slaves = omap44xx_i2c3_slaves,
272 @@ -2463,6 +2494,7 @@ static struct omap_hwmod omap44xx_i2c4_hwmod = {
273 .prcm = {
274 .omap4 = {
275 .clkctrl_offs = OMAP4_CM_L4PER_I2C4_CLKCTRL_OFFSET,
276 + .context_offs = OMAP4_RM_L4PER_I2C4_CONTEXT_OFFSET,
277 },
278 },
279 .slaves = omap44xx_i2c4_slaves,
280 @@ -2560,6 +2592,7 @@ static struct omap_hwmod omap44xx_ipu_hwmod = {
281 .omap4 = {
282 .clkctrl_offs = OMAP4_CM_DUCATI_DUCATI_CLKCTRL_OFFSET,
283 .rstctrl_offs = OMAP4_RM_DUCATI_RSTCTRL_OFFSET,
284 + .context_offs = OMAP4_RM_DUCATI_DUCATI_CONTEXT_OFFSET,
285 },
286 },
287 .slaves = omap44xx_ipu_slaves,
288 @@ -2646,6 +2679,7 @@ static struct omap_hwmod omap44xx_iss_hwmod = {
289 .prcm = {
290 .omap4 = {
291 .clkctrl_offs = OMAP4_CM_CAM_ISS_CLKCTRL_OFFSET,
292 + .context_offs = OMAP4_RM_CAM_ISS_CONTEXT_OFFSET,
293 },
294 },
295 .opt_clks = iss_opt_clks,
296 @@ -2760,6 +2794,7 @@ static struct omap_hwmod omap44xx_iva_hwmod = {
297 .omap4 = {
298 .clkctrl_offs = OMAP4_CM_IVAHD_IVAHD_CLKCTRL_OFFSET,
299 .rstctrl_offs = OMAP4_RM_IVAHD_RSTCTRL_OFFSET,
300 + .context_offs = OMAP4_RM_IVAHD_IVAHD_CONTEXT_OFFSET,
301 },
302 },
303 .slaves = omap44xx_iva_slaves,
304 @@ -2830,6 +2865,7 @@ static struct omap_hwmod omap44xx_kbd_hwmod = {
305 .prcm = {
306 .omap4 = {
307 .clkctrl_offs = OMAP4_CM_WKUP_KEYBOARD_CLKCTRL_OFFSET,
308 + .context_offs = OMAP4_RM_WKUP_KEYBOARD_CONTEXT_OFFSET,
309 },
310 },
311 .slaves = omap44xx_kbd_slaves,
312 @@ -2895,6 +2931,7 @@ static struct omap_hwmod omap44xx_mailbox_hwmod = {
313 .prcm = {
314 .omap4 = {
315 .clkctrl_offs = OMAP4_CM_L4CFG_MAILBOX_CLKCTRL_OFFSET,
316 + .context_offs = OMAP4_RM_L4CFG_MAILBOX_CONTEXT_OFFSET,
317 },
318 },
319 .slaves = omap44xx_mailbox_slaves,
320 @@ -2988,6 +3025,7 @@ static struct omap_hwmod omap44xx_mcbsp1_hwmod = {
321 .prcm = {
322 .omap4 = {
323 .clkctrl_offs = OMAP4_CM1_ABE_MCBSP1_CLKCTRL_OFFSET,
324 + .context_offs = OMAP4_RM_ABE_MCBSP1_CONTEXT_OFFSET,
325 },
326 },
327 .slaves = omap44xx_mcbsp1_slaves,
328 @@ -3062,6 +3100,7 @@ static struct omap_hwmod omap44xx_mcbsp2_hwmod = {
329 .prcm = {
330 .omap4 = {
331 .clkctrl_offs = OMAP4_CM1_ABE_MCBSP2_CLKCTRL_OFFSET,
332 + .context_offs = OMAP4_RM_ABE_MCBSP2_CONTEXT_OFFSET,
333 },
334 },
335 .slaves = omap44xx_mcbsp2_slaves,
336 @@ -3136,6 +3175,7 @@ static struct omap_hwmod omap44xx_mcbsp3_hwmod = {
337 .prcm = {
338 .omap4 = {
339 .clkctrl_offs = OMAP4_CM1_ABE_MCBSP3_CLKCTRL_OFFSET,
340 + .context_offs = OMAP4_RM_ABE_MCBSP3_CONTEXT_OFFSET,
341 },
342 },
343 .slaves = omap44xx_mcbsp3_slaves,
344 @@ -3189,6 +3229,7 @@ static struct omap_hwmod omap44xx_mcbsp4_hwmod = {
345 .prcm = {
346 .omap4 = {
347 .clkctrl_offs = OMAP4_CM_L4PER_MCBSP4_CLKCTRL_OFFSET,
348 + .context_offs = OMAP4_RM_L4PER_MCBSP4_CONTEXT_OFFSET,
349 },
350 },
351 .slaves = omap44xx_mcbsp4_slaves,
352 @@ -3282,6 +3323,7 @@ static struct omap_hwmod omap44xx_mcpdm_hwmod = {
353 .prcm = {
354 .omap4 = {
355 .clkctrl_offs = OMAP4_CM1_ABE_PDM_CLKCTRL_OFFSET,
356 + .context_offs = OMAP4_RM_ABE_PDM_CONTEXT_OFFSET,
357 },
358 },
359 .slaves = omap44xx_mcpdm_slaves,
360 @@ -3368,6 +3410,7 @@ static struct omap_hwmod omap44xx_mcspi1_hwmod = {
361 .prcm = {
362 .omap4 = {
363 .clkctrl_offs = OMAP4_CM_L4PER_MCSPI1_CLKCTRL_OFFSET,
364 + .context_offs = OMAP4_RM_L4PER_MCSPI1_CONTEXT_OFFSET,
365 },
366 },
367 .dev_attr = &mcspi1_dev_attr,
368 @@ -3429,6 +3472,7 @@ static struct omap_hwmod omap44xx_mcspi2_hwmod = {
369 .prcm = {
370 .omap4 = {
371 .clkctrl_offs = OMAP4_CM_L4PER_MCSPI2_CLKCTRL_OFFSET,
372 + .context_offs = OMAP4_RM_L4PER_MCSPI2_CONTEXT_OFFSET,
373 },
374 },
375 .dev_attr = &mcspi2_dev_attr,
376 @@ -3490,6 +3534,7 @@ static struct omap_hwmod omap44xx_mcspi3_hwmod = {
377 .prcm = {
378 .omap4 = {
379 .clkctrl_offs = OMAP4_CM_L4PER_MCSPI3_CLKCTRL_OFFSET,
380 + .context_offs = OMAP4_RM_L4PER_MCSPI3_CONTEXT_OFFSET,
381 },
382 },
383 .dev_attr = &mcspi3_dev_attr,
384 @@ -3549,6 +3594,7 @@ static struct omap_hwmod omap44xx_mcspi4_hwmod = {
385 .prcm = {
386 .omap4 = {
387 .clkctrl_offs = OMAP4_CM_L4PER_MCSPI4_CLKCTRL_OFFSET,
388 + .context_offs = OMAP4_RM_L4PER_MCSPI4_CONTEXT_OFFSET,
389 },
390 },
391 .dev_attr = &mcspi4_dev_attr,
392 @@ -3634,6 +3680,7 @@ static struct omap_hwmod omap44xx_mmc1_hwmod = {
393 .prcm = {
394 .omap4 = {
395 .clkctrl_offs = OMAP4_CM_L3INIT_MMC1_CLKCTRL_OFFSET,
396 + .context_offs = OMAP4_RM_L3INIT_MMC1_CONTEXT_OFFSET,
397 },
398 },
399 .dev_attr = &mmc1_dev_attr,
400 @@ -3694,6 +3741,7 @@ static struct omap_hwmod omap44xx_mmc2_hwmod = {
401 .prcm = {
402 .omap4 = {
403 .clkctrl_offs = OMAP4_CM_L3INIT_MMC2_CLKCTRL_OFFSET,
404 + .context_offs = OMAP4_RM_L3INIT_MMC2_CONTEXT_OFFSET,
405 },
406 },
407 .slaves = omap44xx_mmc2_slaves,
408 @@ -3749,6 +3797,7 @@ static struct omap_hwmod omap44xx_mmc3_hwmod = {
409 .prcm = {
410 .omap4 = {
411 .clkctrl_offs = OMAP4_CM_L4PER_MMCSD3_CLKCTRL_OFFSET,
412 + .context_offs = OMAP4_RM_L4PER_MMCSD3_CONTEXT_OFFSET,
413 },
414 },
415 .slaves = omap44xx_mmc3_slaves,
416 @@ -3803,6 +3852,7 @@ static struct omap_hwmod omap44xx_mmc4_hwmod = {
417 .prcm = {
418 .omap4 = {
419 .clkctrl_offs = OMAP4_CM_L4PER_MMCSD4_CLKCTRL_OFFSET,
420 + .context_offs = OMAP4_RM_L4PER_MMCSD4_CONTEXT_OFFSET,
421 },
422 },
423 .slaves = omap44xx_mmc4_slaves,
424 @@ -3856,6 +3906,7 @@ static struct omap_hwmod omap44xx_mmc5_hwmod = {
425 .prcm = {
426 .omap4 = {
427 .clkctrl_offs = OMAP4_CM_L4PER_MMCSD5_CLKCTRL_OFFSET,
428 + .context_offs = OMAP4_RM_L4PER_MMCSD5_CONTEXT_OFFSET,
429 },
430 },
431 .slaves = omap44xx_mmc5_slaves,
432 @@ -3897,6 +3948,7 @@ static struct omap_hwmod omap44xx_mpu_hwmod = {
433 .prcm = {
434 .omap4 = {
435 .clkctrl_offs = OMAP4_CM_MPU_MPU_CLKCTRL_OFFSET,
436 + .context_offs = OMAP4_RM_MPU_MPU_CONTEXT_OFFSET,
437 },
438 },
439 .masters = omap44xx_mpu_masters,
440 @@ -3971,6 +4023,7 @@ static struct omap_hwmod omap44xx_smartreflex_core_hwmod = {
441 .prcm = {
442 .omap4 = {
443 .clkctrl_offs = OMAP4_CM_ALWON_SR_CORE_CLKCTRL_OFFSET,
444 + .context_offs = OMAP4_RM_ALWON_SR_CORE_CONTEXT_OFFSET,
445 },
446 },
447 .slaves = omap44xx_smartreflex_core_slaves,
448 @@ -4018,6 +4071,7 @@ static struct omap_hwmod omap44xx_smartreflex_iva_hwmod = {
449 .prcm = {
450 .omap4 = {
451 .clkctrl_offs = OMAP4_CM_ALWON_SR_IVA_CLKCTRL_OFFSET,
452 + .context_offs = OMAP4_RM_ALWON_SR_IVA_CONTEXT_OFFSET,
453 },
454 },
455 .slaves = omap44xx_smartreflex_iva_slaves,
456 @@ -4065,6 +4119,7 @@ static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod = {
457 .prcm = {
458 .omap4 = {
459 .clkctrl_offs = OMAP4_CM_ALWON_SR_MPU_CLKCTRL_OFFSET,
460 + .context_offs = OMAP4_RM_ALWON_SR_MPU_CONTEXT_OFFSET,
461 },
462 },
463 .slaves = omap44xx_smartreflex_mpu_slaves,
464 @@ -4127,6 +4182,7 @@ static struct omap_hwmod omap44xx_spinlock_hwmod = {
465 .prcm = {
466 .omap4 = {
467 .clkctrl_offs = OMAP4_CM_L4CFG_HW_SEM_CLKCTRL_OFFSET,
468 + .context_offs = OMAP4_RM_L4CFG_HW_SEM_CONTEXT_OFFSET,
469 },
470 },
471 .slaves = omap44xx_spinlock_slaves,
472 @@ -4211,6 +4267,7 @@ static struct omap_hwmod omap44xx_timer1_hwmod = {
473 .prcm = {
474 .omap4 = {
475 .clkctrl_offs = OMAP4_CM_WKUP_TIMER1_CLKCTRL_OFFSET,
476 + .context_offs = OMAP4_RM_WKUP_TIMER1_CONTEXT_OFFSET,
477 },
478 },
479 .slaves = omap44xx_timer1_slaves,
480 @@ -4257,6 +4314,7 @@ static struct omap_hwmod omap44xx_timer2_hwmod = {
481 .prcm = {
482 .omap4 = {
483 .clkctrl_offs = OMAP4_CM_L4PER_DMTIMER2_CLKCTRL_OFFSET,
484 + .context_offs = OMAP4_RM_L4PER_DMTIMER2_CONTEXT_OFFSET,
485 },
486 },
487 .slaves = omap44xx_timer2_slaves,
488 @@ -4303,6 +4361,7 @@ static struct omap_hwmod omap44xx_timer3_hwmod = {
489 .prcm = {
490 .omap4 = {
491 .clkctrl_offs = OMAP4_CM_L4PER_DMTIMER3_CLKCTRL_OFFSET,
492 + .context_offs = OMAP4_RM_L4PER_DMTIMER3_CONTEXT_OFFSET,
493 },
494 },
495 .slaves = omap44xx_timer3_slaves,
496 @@ -4349,6 +4408,7 @@ static struct omap_hwmod omap44xx_timer4_hwmod = {
497 .prcm = {
498 .omap4 = {
499 .clkctrl_offs = OMAP4_CM_L4PER_DMTIMER4_CLKCTRL_OFFSET,
500 + .context_offs = OMAP4_RM_L4PER_DMTIMER4_CONTEXT_OFFSET,
501 },
502 },
503 .slaves = omap44xx_timer4_slaves,
504 @@ -4414,6 +4474,7 @@ static struct omap_hwmod omap44xx_timer5_hwmod = {
505 .prcm = {
506 .omap4 = {
507 .clkctrl_offs = OMAP4_CM1_ABE_TIMER5_CLKCTRL_OFFSET,
508 + .context_offs = OMAP4_RM_ABE_TIMER5_CONTEXT_OFFSET,
509 },
510 },
511 .slaves = omap44xx_timer5_slaves,
512 @@ -4480,6 +4541,7 @@ static struct omap_hwmod omap44xx_timer6_hwmod = {
513 .prcm = {
514 .omap4 = {
515 .clkctrl_offs = OMAP4_CM1_ABE_TIMER6_CLKCTRL_OFFSET,
516 + .context_offs = OMAP4_RM_ABE_TIMER6_CONTEXT_OFFSET,
517 },
518 },
519 .slaves = omap44xx_timer6_slaves,
520 @@ -4545,6 +4607,7 @@ static struct omap_hwmod omap44xx_timer7_hwmod = {
521 .prcm = {
522 .omap4 = {
523 .clkctrl_offs = OMAP4_CM1_ABE_TIMER7_CLKCTRL_OFFSET,
524 + .context_offs = OMAP4_RM_ABE_TIMER7_CONTEXT_OFFSET,
525 },
526 },
527 .slaves = omap44xx_timer7_slaves,
528 @@ -4610,6 +4673,7 @@ static struct omap_hwmod omap44xx_timer8_hwmod = {
529 .prcm = {
530 .omap4 = {
531 .clkctrl_offs = OMAP4_CM1_ABE_TIMER8_CLKCTRL_OFFSET,
532 + .context_offs = OMAP4_RM_ABE_TIMER8_CONTEXT_OFFSET,
533 },
534 },
535 .slaves = omap44xx_timer8_slaves,
536 @@ -4656,6 +4720,7 @@ static struct omap_hwmod omap44xx_timer9_hwmod = {
537 .prcm = {
538 .omap4 = {
539 .clkctrl_offs = OMAP4_CM_L4PER_DMTIMER9_CLKCTRL_OFFSET,
540 + .context_offs = OMAP4_RM_L4PER_DMTIMER9_CONTEXT_OFFSET,
541 },
542 },
543 .slaves = omap44xx_timer9_slaves,
544 @@ -4702,6 +4767,7 @@ static struct omap_hwmod omap44xx_timer10_hwmod = {
545 .prcm = {
546 .omap4 = {
547 .clkctrl_offs = OMAP4_CM_L4PER_DMTIMER10_CLKCTRL_OFFSET,
548 + .context_offs = OMAP4_RM_L4PER_DMTIMER10_CONTEXT_OFFSET,
549 },
550 },
551 .slaves = omap44xx_timer10_slaves,
552 @@ -4748,6 +4814,7 @@ static struct omap_hwmod omap44xx_timer11_hwmod = {
553 .prcm = {
554 .omap4 = {
555 .clkctrl_offs = OMAP4_CM_L4PER_DMTIMER11_CLKCTRL_OFFSET,
556 + .context_offs = OMAP4_RM_L4PER_DMTIMER11_CONTEXT_OFFSET,
557 },
558 },
559 .slaves = omap44xx_timer11_slaves,
560 @@ -4823,6 +4890,7 @@ static struct omap_hwmod omap44xx_uart1_hwmod = {
561 .prcm = {
562 .omap4 = {
563 .clkctrl_offs = OMAP4_CM_L4PER_UART1_CLKCTRL_OFFSET,
564 + .context_offs = OMAP4_RM_L4PER_UART1_CONTEXT_OFFSET,
565 },
566 },
567 .slaves = omap44xx_uart1_slaves,
568 @@ -4876,6 +4944,7 @@ static struct omap_hwmod omap44xx_uart2_hwmod = {
569 .prcm = {
570 .omap4 = {
571 .clkctrl_offs = OMAP4_CM_L4PER_UART2_CLKCTRL_OFFSET,
572 + .context_offs = OMAP4_RM_L4PER_UART2_CONTEXT_OFFSET,
573 },
574 },
575 .slaves = omap44xx_uart2_slaves,
576 @@ -4930,6 +4999,7 @@ static struct omap_hwmod omap44xx_uart3_hwmod = {
577 .prcm = {
578 .omap4 = {
579 .clkctrl_offs = OMAP4_CM_L4PER_UART3_CLKCTRL_OFFSET,
580 + .context_offs = OMAP4_RM_L4PER_UART3_CONTEXT_OFFSET,
581 },
582 },
583 .slaves = omap44xx_uart3_slaves,
584 @@ -4983,6 +5053,7 @@ static struct omap_hwmod omap44xx_uart4_hwmod = {
585 .prcm = {
586 .omap4 = {
587 .clkctrl_offs = OMAP4_CM_L4PER_UART4_CLKCTRL_OFFSET,
588 + .context_offs = OMAP4_RM_L4PER_UART4_CONTEXT_OFFSET,
589 },
590 },
591 .slaves = omap44xx_uart4_slaves,
592 @@ -5062,6 +5133,7 @@ static struct omap_hwmod omap44xx_usb_otg_hs_hwmod = {
593 .prcm = {
594 .omap4 = {
595 .clkctrl_offs = OMAP4_CM_L3INIT_USB_OTG_CLKCTRL_OFFSET,
596 + .context_offs = OMAP4_RM_L3INIT_USB_OTG_CONTEXT_OFFSET,
597 },
598 },
599 .opt_clks = usb_otg_hs_opt_clks,
600 @@ -5135,6 +5207,7 @@ static struct omap_hwmod omap44xx_wd_timer2_hwmod = {
601 .prcm = {
602 .omap4 = {
603 .clkctrl_offs = OMAP4_CM_WKUP_WDT2_CLKCTRL_OFFSET,
604 + .context_offs = OMAP4_RM_WKUP_WDT2_CONTEXT_OFFSET,
605 },
606 },
607 .slaves = omap44xx_wd_timer2_slaves,
608 @@ -5200,6 +5273,7 @@ static struct omap_hwmod omap44xx_wd_timer3_hwmod = {
609 .prcm = {
610 .omap4 = {
611 .clkctrl_offs = OMAP4_CM1_ABE_WDT3_CLKCTRL_OFFSET,
612 + .context_offs = OMAP4_RM_ABE_WDT3_CONTEXT_OFFSET,
613 },
614 },
615 .slaves = omap44xx_wd_timer3_slaves,
616 diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h
617 index 9ef4424..16439fa 100644
618 --- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
619 +++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
620 @@ -363,6 +363,7 @@ struct omap_hwmod_omap2_prcm {
621 struct omap_hwmod_omap4_prcm {
622 u16 clkctrl_offs;
623 u16 rstctrl_offs;
624 + u16 context_offs;
625 u8 submodule_wkdep_bit;
626 };
628 --
629 1.6.6.1