diff options
Diffstat (limited to 'arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c')
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c | 266 |
1 files changed, 255 insertions, 11 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c index 4f3547c2a49e..5178e40e84f9 100644 --- a/arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c | |||
@@ -15,10 +15,12 @@ | |||
15 | 15 | ||
16 | #include <plat/omap_hwmod.h> | 16 | #include <plat/omap_hwmod.h> |
17 | #include <plat/serial.h> | 17 | #include <plat/serial.h> |
18 | #include <plat/l3_2xxx.h> | ||
19 | #include <plat/l4_2xxx.h> | ||
18 | 20 | ||
19 | #include "omap_hwmod_common_data.h" | 21 | #include "omap_hwmod_common_data.h" |
20 | 22 | ||
21 | struct omap_hwmod_addr_space omap2xxx_uart1_addr_space[] = { | 23 | static struct omap_hwmod_addr_space omap2xxx_uart1_addr_space[] = { |
22 | { | 24 | { |
23 | .pa_start = OMAP2_UART1_BASE, | 25 | .pa_start = OMAP2_UART1_BASE, |
24 | .pa_end = OMAP2_UART1_BASE + SZ_8K - 1, | 26 | .pa_end = OMAP2_UART1_BASE + SZ_8K - 1, |
@@ -27,7 +29,7 @@ struct omap_hwmod_addr_space omap2xxx_uart1_addr_space[] = { | |||
27 | { } | 29 | { } |
28 | }; | 30 | }; |
29 | 31 | ||
30 | struct omap_hwmod_addr_space omap2xxx_uart2_addr_space[] = { | 32 | static struct omap_hwmod_addr_space omap2xxx_uart2_addr_space[] = { |
31 | { | 33 | { |
32 | .pa_start = OMAP2_UART2_BASE, | 34 | .pa_start = OMAP2_UART2_BASE, |
33 | .pa_end = OMAP2_UART2_BASE + SZ_1K - 1, | 35 | .pa_end = OMAP2_UART2_BASE + SZ_1K - 1, |
@@ -36,7 +38,7 @@ struct omap_hwmod_addr_space omap2xxx_uart2_addr_space[] = { | |||
36 | { } | 38 | { } |
37 | }; | 39 | }; |
38 | 40 | ||
39 | struct omap_hwmod_addr_space omap2xxx_uart3_addr_space[] = { | 41 | static struct omap_hwmod_addr_space omap2xxx_uart3_addr_space[] = { |
40 | { | 42 | { |
41 | .pa_start = OMAP2_UART3_BASE, | 43 | .pa_start = OMAP2_UART3_BASE, |
42 | .pa_end = OMAP2_UART3_BASE + SZ_1K - 1, | 44 | .pa_end = OMAP2_UART3_BASE + SZ_1K - 1, |
@@ -45,7 +47,7 @@ struct omap_hwmod_addr_space omap2xxx_uart3_addr_space[] = { | |||
45 | { } | 47 | { } |
46 | }; | 48 | }; |
47 | 49 | ||
48 | struct omap_hwmod_addr_space omap2xxx_timer2_addrs[] = { | 50 | static struct omap_hwmod_addr_space omap2xxx_timer2_addrs[] = { |
49 | { | 51 | { |
50 | .pa_start = 0x4802a000, | 52 | .pa_start = 0x4802a000, |
51 | .pa_end = 0x4802a000 + SZ_1K - 1, | 53 | .pa_end = 0x4802a000 + SZ_1K - 1, |
@@ -54,7 +56,7 @@ struct omap_hwmod_addr_space omap2xxx_timer2_addrs[] = { | |||
54 | { } | 56 | { } |
55 | }; | 57 | }; |
56 | 58 | ||
57 | struct omap_hwmod_addr_space omap2xxx_timer3_addrs[] = { | 59 | static struct omap_hwmod_addr_space omap2xxx_timer3_addrs[] = { |
58 | { | 60 | { |
59 | .pa_start = 0x48078000, | 61 | .pa_start = 0x48078000, |
60 | .pa_end = 0x48078000 + SZ_1K - 1, | 62 | .pa_end = 0x48078000 + SZ_1K - 1, |
@@ -63,7 +65,7 @@ struct omap_hwmod_addr_space omap2xxx_timer3_addrs[] = { | |||
63 | { } | 65 | { } |
64 | }; | 66 | }; |
65 | 67 | ||
66 | struct omap_hwmod_addr_space omap2xxx_timer4_addrs[] = { | 68 | static struct omap_hwmod_addr_space omap2xxx_timer4_addrs[] = { |
67 | { | 69 | { |
68 | .pa_start = 0x4807a000, | 70 | .pa_start = 0x4807a000, |
69 | .pa_end = 0x4807a000 + SZ_1K - 1, | 71 | .pa_end = 0x4807a000 + SZ_1K - 1, |
@@ -72,7 +74,7 @@ struct omap_hwmod_addr_space omap2xxx_timer4_addrs[] = { | |||
72 | { } | 74 | { } |
73 | }; | 75 | }; |
74 | 76 | ||
75 | struct omap_hwmod_addr_space omap2xxx_timer5_addrs[] = { | 77 | static struct omap_hwmod_addr_space omap2xxx_timer5_addrs[] = { |
76 | { | 78 | { |
77 | .pa_start = 0x4807c000, | 79 | .pa_start = 0x4807c000, |
78 | .pa_end = 0x4807c000 + SZ_1K - 1, | 80 | .pa_end = 0x4807c000 + SZ_1K - 1, |
@@ -81,7 +83,7 @@ struct omap_hwmod_addr_space omap2xxx_timer5_addrs[] = { | |||
81 | { } | 83 | { } |
82 | }; | 84 | }; |
83 | 85 | ||
84 | struct omap_hwmod_addr_space omap2xxx_timer6_addrs[] = { | 86 | static struct omap_hwmod_addr_space omap2xxx_timer6_addrs[] = { |
85 | { | 87 | { |
86 | .pa_start = 0x4807e000, | 88 | .pa_start = 0x4807e000, |
87 | .pa_end = 0x4807e000 + SZ_1K - 1, | 89 | .pa_end = 0x4807e000 + SZ_1K - 1, |
@@ -90,7 +92,7 @@ struct omap_hwmod_addr_space omap2xxx_timer6_addrs[] = { | |||
90 | { } | 92 | { } |
91 | }; | 93 | }; |
92 | 94 | ||
93 | struct omap_hwmod_addr_space omap2xxx_timer7_addrs[] = { | 95 | static struct omap_hwmod_addr_space omap2xxx_timer7_addrs[] = { |
94 | { | 96 | { |
95 | .pa_start = 0x48080000, | 97 | .pa_start = 0x48080000, |
96 | .pa_end = 0x48080000 + SZ_1K - 1, | 98 | .pa_end = 0x48080000 + SZ_1K - 1, |
@@ -99,7 +101,7 @@ struct omap_hwmod_addr_space omap2xxx_timer7_addrs[] = { | |||
99 | { } | 101 | { } |
100 | }; | 102 | }; |
101 | 103 | ||
102 | struct omap_hwmod_addr_space omap2xxx_timer8_addrs[] = { | 104 | static struct omap_hwmod_addr_space omap2xxx_timer8_addrs[] = { |
103 | { | 105 | { |
104 | .pa_start = 0x48082000, | 106 | .pa_start = 0x48082000, |
105 | .pa_end = 0x48082000 + SZ_1K - 1, | 107 | .pa_end = 0x48082000 + SZ_1K - 1, |
@@ -108,7 +110,7 @@ struct omap_hwmod_addr_space omap2xxx_timer8_addrs[] = { | |||
108 | { } | 110 | { } |
109 | }; | 111 | }; |
110 | 112 | ||
111 | struct omap_hwmod_addr_space omap2xxx_timer9_addrs[] = { | 113 | static struct omap_hwmod_addr_space omap2xxx_timer9_addrs[] = { |
112 | { | 114 | { |
113 | .pa_start = 0x48084000, | 115 | .pa_start = 0x48084000, |
114 | .pa_end = 0x48084000 + SZ_1K - 1, | 116 | .pa_end = 0x48084000 + SZ_1K - 1, |
@@ -127,4 +129,246 @@ struct omap_hwmod_addr_space omap2xxx_mcbsp2_addrs[] = { | |||
127 | { } | 129 | { } |
128 | }; | 130 | }; |
129 | 131 | ||
132 | /* | ||
133 | * Common interconnect data | ||
134 | */ | ||
135 | |||
136 | /* L3 -> L4_CORE interface */ | ||
137 | struct omap_hwmod_ocp_if omap2xxx_l3_main__l4_core = { | ||
138 | .master = &omap2xxx_l3_main_hwmod, | ||
139 | .slave = &omap2xxx_l4_core_hwmod, | ||
140 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
141 | }; | ||
142 | |||
143 | /* MPU -> L3 interface */ | ||
144 | struct omap_hwmod_ocp_if omap2xxx_mpu__l3_main = { | ||
145 | .master = &omap2xxx_mpu_hwmod, | ||
146 | .slave = &omap2xxx_l3_main_hwmod, | ||
147 | .user = OCP_USER_MPU, | ||
148 | }; | ||
149 | |||
150 | /* DSS -> l3 */ | ||
151 | struct omap_hwmod_ocp_if omap2xxx_dss__l3 = { | ||
152 | .master = &omap2xxx_dss_core_hwmod, | ||
153 | .slave = &omap2xxx_l3_main_hwmod, | ||
154 | .fw = { | ||
155 | .omap2 = { | ||
156 | .l3_perm_bit = OMAP2_L3_CORE_FW_CONNID_DSS, | ||
157 | .flags = OMAP_FIREWALL_L3, | ||
158 | } | ||
159 | }, | ||
160 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
161 | }; | ||
162 | |||
163 | /* L4_CORE -> L4_WKUP interface */ | ||
164 | struct omap_hwmod_ocp_if omap2xxx_l4_core__l4_wkup = { | ||
165 | .master = &omap2xxx_l4_core_hwmod, | ||
166 | .slave = &omap2xxx_l4_wkup_hwmod, | ||
167 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
168 | }; | ||
169 | |||
170 | /* L4 CORE -> UART1 interface */ | ||
171 | struct omap_hwmod_ocp_if omap2_l4_core__uart1 = { | ||
172 | .master = &omap2xxx_l4_core_hwmod, | ||
173 | .slave = &omap2xxx_uart1_hwmod, | ||
174 | .clk = "uart1_ick", | ||
175 | .addr = omap2xxx_uart1_addr_space, | ||
176 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
177 | }; | ||
178 | |||
179 | /* L4 CORE -> UART2 interface */ | ||
180 | struct omap_hwmod_ocp_if omap2_l4_core__uart2 = { | ||
181 | .master = &omap2xxx_l4_core_hwmod, | ||
182 | .slave = &omap2xxx_uart2_hwmod, | ||
183 | .clk = "uart2_ick", | ||
184 | .addr = omap2xxx_uart2_addr_space, | ||
185 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
186 | }; | ||
187 | |||
188 | /* L4 PER -> UART3 interface */ | ||
189 | struct omap_hwmod_ocp_if omap2_l4_core__uart3 = { | ||
190 | .master = &omap2xxx_l4_core_hwmod, | ||
191 | .slave = &omap2xxx_uart3_hwmod, | ||
192 | .clk = "uart3_ick", | ||
193 | .addr = omap2xxx_uart3_addr_space, | ||
194 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
195 | }; | ||
196 | |||
197 | /* l4 core -> mcspi1 interface */ | ||
198 | struct omap_hwmod_ocp_if omap2xxx_l4_core__mcspi1 = { | ||
199 | .master = &omap2xxx_l4_core_hwmod, | ||
200 | .slave = &omap2xxx_mcspi1_hwmod, | ||
201 | .clk = "mcspi1_ick", | ||
202 | .addr = omap2_mcspi1_addr_space, | ||
203 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
204 | }; | ||
205 | |||
206 | /* l4 core -> mcspi2 interface */ | ||
207 | struct omap_hwmod_ocp_if omap2xxx_l4_core__mcspi2 = { | ||
208 | .master = &omap2xxx_l4_core_hwmod, | ||
209 | .slave = &omap2xxx_mcspi2_hwmod, | ||
210 | .clk = "mcspi2_ick", | ||
211 | .addr = omap2_mcspi2_addr_space, | ||
212 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
213 | }; | ||
214 | |||
215 | /* l4_core -> timer2 */ | ||
216 | struct omap_hwmod_ocp_if omap2xxx_l4_core__timer2 = { | ||
217 | .master = &omap2xxx_l4_core_hwmod, | ||
218 | .slave = &omap2xxx_timer2_hwmod, | ||
219 | .clk = "gpt2_ick", | ||
220 | .addr = omap2xxx_timer2_addrs, | ||
221 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
222 | }; | ||
223 | |||
224 | /* l4_core -> timer3 */ | ||
225 | struct omap_hwmod_ocp_if omap2xxx_l4_core__timer3 = { | ||
226 | .master = &omap2xxx_l4_core_hwmod, | ||
227 | .slave = &omap2xxx_timer3_hwmod, | ||
228 | .clk = "gpt3_ick", | ||
229 | .addr = omap2xxx_timer3_addrs, | ||
230 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
231 | }; | ||
232 | |||
233 | /* l4_core -> timer4 */ | ||
234 | struct omap_hwmod_ocp_if omap2xxx_l4_core__timer4 = { | ||
235 | .master = &omap2xxx_l4_core_hwmod, | ||
236 | .slave = &omap2xxx_timer4_hwmod, | ||
237 | .clk = "gpt4_ick", | ||
238 | .addr = omap2xxx_timer4_addrs, | ||
239 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
240 | }; | ||
241 | |||
242 | /* l4_core -> timer5 */ | ||
243 | struct omap_hwmod_ocp_if omap2xxx_l4_core__timer5 = { | ||
244 | .master = &omap2xxx_l4_core_hwmod, | ||
245 | .slave = &omap2xxx_timer5_hwmod, | ||
246 | .clk = "gpt5_ick", | ||
247 | .addr = omap2xxx_timer5_addrs, | ||
248 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
249 | }; | ||
250 | |||
251 | /* l4_core -> timer6 */ | ||
252 | struct omap_hwmod_ocp_if omap2xxx_l4_core__timer6 = { | ||
253 | .master = &omap2xxx_l4_core_hwmod, | ||
254 | .slave = &omap2xxx_timer6_hwmod, | ||
255 | .clk = "gpt6_ick", | ||
256 | .addr = omap2xxx_timer6_addrs, | ||
257 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
258 | }; | ||
259 | |||
260 | /* l4_core -> timer7 */ | ||
261 | struct omap_hwmod_ocp_if omap2xxx_l4_core__timer7 = { | ||
262 | .master = &omap2xxx_l4_core_hwmod, | ||
263 | .slave = &omap2xxx_timer7_hwmod, | ||
264 | .clk = "gpt7_ick", | ||
265 | .addr = omap2xxx_timer7_addrs, | ||
266 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
267 | }; | ||
268 | |||
269 | /* l4_core -> timer8 */ | ||
270 | struct omap_hwmod_ocp_if omap2xxx_l4_core__timer8 = { | ||
271 | .master = &omap2xxx_l4_core_hwmod, | ||
272 | .slave = &omap2xxx_timer8_hwmod, | ||
273 | .clk = "gpt8_ick", | ||
274 | .addr = omap2xxx_timer8_addrs, | ||
275 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
276 | }; | ||
277 | |||
278 | /* l4_core -> timer9 */ | ||
279 | struct omap_hwmod_ocp_if omap2xxx_l4_core__timer9 = { | ||
280 | .master = &omap2xxx_l4_core_hwmod, | ||
281 | .slave = &omap2xxx_timer9_hwmod, | ||
282 | .clk = "gpt9_ick", | ||
283 | .addr = omap2xxx_timer9_addrs, | ||
284 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
285 | }; | ||
286 | |||
287 | /* l4_core -> timer10 */ | ||
288 | struct omap_hwmod_ocp_if omap2xxx_l4_core__timer10 = { | ||
289 | .master = &omap2xxx_l4_core_hwmod, | ||
290 | .slave = &omap2xxx_timer10_hwmod, | ||
291 | .clk = "gpt10_ick", | ||
292 | .addr = omap2_timer10_addrs, | ||
293 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
294 | }; | ||
295 | |||
296 | /* l4_core -> timer11 */ | ||
297 | struct omap_hwmod_ocp_if omap2xxx_l4_core__timer11 = { | ||
298 | .master = &omap2xxx_l4_core_hwmod, | ||
299 | .slave = &omap2xxx_timer11_hwmod, | ||
300 | .clk = "gpt11_ick", | ||
301 | .addr = omap2_timer11_addrs, | ||
302 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
303 | }; | ||
304 | |||
305 | /* l4_core -> timer12 */ | ||
306 | struct omap_hwmod_ocp_if omap2xxx_l4_core__timer12 = { | ||
307 | .master = &omap2xxx_l4_core_hwmod, | ||
308 | .slave = &omap2xxx_timer12_hwmod, | ||
309 | .clk = "gpt12_ick", | ||
310 | .addr = omap2xxx_timer12_addrs, | ||
311 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
312 | }; | ||
313 | |||
314 | /* l4_core -> dss */ | ||
315 | struct omap_hwmod_ocp_if omap2xxx_l4_core__dss = { | ||
316 | .master = &omap2xxx_l4_core_hwmod, | ||
317 | .slave = &omap2xxx_dss_core_hwmod, | ||
318 | .clk = "dss_ick", | ||
319 | .addr = omap2_dss_addrs, | ||
320 | .fw = { | ||
321 | .omap2 = { | ||
322 | .l4_fw_region = OMAP2420_L4_CORE_FW_DSS_CORE_REGION, | ||
323 | .flags = OMAP_FIREWALL_L4, | ||
324 | } | ||
325 | }, | ||
326 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
327 | }; | ||
328 | |||
329 | /* l4_core -> dss_dispc */ | ||
330 | struct omap_hwmod_ocp_if omap2xxx_l4_core__dss_dispc = { | ||
331 | .master = &omap2xxx_l4_core_hwmod, | ||
332 | .slave = &omap2xxx_dss_dispc_hwmod, | ||
333 | .clk = "dss_ick", | ||
334 | .addr = omap2_dss_dispc_addrs, | ||
335 | .fw = { | ||
336 | .omap2 = { | ||
337 | .l4_fw_region = OMAP2420_L4_CORE_FW_DSS_DISPC_REGION, | ||
338 | .flags = OMAP_FIREWALL_L4, | ||
339 | } | ||
340 | }, | ||
341 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
342 | }; | ||
343 | |||
344 | /* l4_core -> dss_rfbi */ | ||
345 | struct omap_hwmod_ocp_if omap2xxx_l4_core__dss_rfbi = { | ||
346 | .master = &omap2xxx_l4_core_hwmod, | ||
347 | .slave = &omap2xxx_dss_rfbi_hwmod, | ||
348 | .clk = "dss_ick", | ||
349 | .addr = omap2_dss_rfbi_addrs, | ||
350 | .fw = { | ||
351 | .omap2 = { | ||
352 | .l4_fw_region = OMAP2420_L4_CORE_FW_DSS_CORE_REGION, | ||
353 | .flags = OMAP_FIREWALL_L4, | ||
354 | } | ||
355 | }, | ||
356 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
357 | }; | ||
358 | |||
359 | /* l4_core -> dss_venc */ | ||
360 | struct omap_hwmod_ocp_if omap2xxx_l4_core__dss_venc = { | ||
361 | .master = &omap2xxx_l4_core_hwmod, | ||
362 | .slave = &omap2xxx_dss_venc_hwmod, | ||
363 | .clk = "dss_ick", | ||
364 | .addr = omap2_dss_venc_addrs, | ||
365 | .fw = { | ||
366 | .omap2 = { | ||
367 | .l4_fw_region = OMAP2420_L4_CORE_FW_DSS_VENC_REGION, | ||
368 | .flags = OMAP_FIREWALL_L4, | ||
369 | } | ||
370 | }, | ||
371 | .flags = OCPIF_SWSUP_IDLE, | ||
372 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
373 | }; | ||
130 | 374 | ||