3 * Copyright (C) 2013 Texas Instruments Incorporated
5 * Interconnects common for AM335x and AM43x
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License as
9 * published by the Free Software Foundation version 2.
11 * This program is distributed "as is" WITHOUT ANY WARRANTY of any
12 * kind, whether express or implied; without even the implied warranty
13 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
17 #include <linux/sizes.h>
18 #include "omap_hwmod.h"
19 #include "omap_hwmod_33xx_43xx_common_data.h"
22 struct omap_hwmod_ocp_if am33xx_mpu__l3_main
= {
23 .master
= &am33xx_mpu_hwmod
,
24 .slave
= &am33xx_l3_main_hwmod
,
25 .clk
= "dpll_mpu_m2_ck",
30 struct omap_hwmod_ocp_if am33xx_l3_main__l3_s
= {
31 .master
= &am33xx_l3_main_hwmod
,
32 .slave
= &am33xx_l3_s_hwmod
,
34 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,
37 /* l3 s -> l4 per/ls */
38 struct omap_hwmod_ocp_if am33xx_l3_s__l4_ls
= {
39 .master
= &am33xx_l3_s_hwmod
,
40 .slave
= &am33xx_l4_ls_hwmod
,
42 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,
46 struct omap_hwmod_ocp_if am33xx_l3_s__l4_wkup
= {
47 .master
= &am33xx_l3_s_hwmod
,
48 .slave
= &am33xx_l4_wkup_hwmod
,
50 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,
53 /* l3 main -> l3 instr */
54 struct omap_hwmod_ocp_if am33xx_l3_main__l3_instr
= {
55 .master
= &am33xx_l3_main_hwmod
,
56 .slave
= &am33xx_l3_instr_hwmod
,
58 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,
62 struct omap_hwmod_ocp_if am33xx_mpu__prcm
= {
63 .master
= &am33xx_mpu_hwmod
,
64 .slave
= &am33xx_prcm_hwmod
,
65 .clk
= "dpll_mpu_m2_ck",
66 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,
70 struct omap_hwmod_ocp_if am33xx_l3_s__l3_main
= {
71 .master
= &am33xx_l3_s_hwmod
,
72 .slave
= &am33xx_l3_main_hwmod
,
74 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,
77 /* pru-icss -> l3 main */
78 struct omap_hwmod_ocp_if am33xx_pruss__l3_main
= {
79 .master
= &am33xx_pruss_hwmod
,
80 .slave
= &am33xx_l3_main_hwmod
,
82 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,
86 struct omap_hwmod_ocp_if am33xx_gfx__l3_main
= {
87 .master
= &am33xx_gfx_hwmod
,
88 .slave
= &am33xx_l3_main_hwmod
,
89 .clk
= "dpll_core_m4_ck",
90 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,
94 struct omap_hwmod_ocp_if am33xx_l3_main__gfx
= {
95 .master
= &am33xx_l3_main_hwmod
,
96 .slave
= &am33xx_gfx_hwmod
,
97 .clk
= "dpll_core_m4_ck",
98 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,
102 struct omap_hwmod_ocp_if am33xx_l4_wkup__rtc
= {
103 .master
= &am33xx_l4_wkup_hwmod
,
104 .slave
= &am33xx_rtc_hwmod
,
105 .clk
= "clkdiv32k_ick",
106 .user
= OCP_USER_MPU
,
109 /* l4 per/ls -> DCAN0 */
110 struct omap_hwmod_ocp_if am33xx_l4_per__dcan0
= {
111 .master
= &am33xx_l4_ls_hwmod
,
112 .slave
= &am33xx_dcan0_hwmod
,
114 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,
117 /* l4 per/ls -> DCAN1 */
118 struct omap_hwmod_ocp_if am33xx_l4_per__dcan1
= {
119 .master
= &am33xx_l4_ls_hwmod
,
120 .slave
= &am33xx_dcan1_hwmod
,
122 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,
125 struct omap_hwmod_ocp_if am33xx_l4_ls__elm
= {
126 .master
= &am33xx_l4_ls_hwmod
,
127 .slave
= &am33xx_elm_hwmod
,
129 .user
= OCP_USER_MPU
,
132 struct omap_hwmod_ocp_if am33xx_l4_ls__epwmss0
= {
133 .master
= &am33xx_l4_ls_hwmod
,
134 .slave
= &am33xx_epwmss0_hwmod
,
136 .user
= OCP_USER_MPU
,
139 struct omap_hwmod_ocp_if am33xx_l4_ls__epwmss1
= {
140 .master
= &am33xx_l4_ls_hwmod
,
141 .slave
= &am33xx_epwmss1_hwmod
,
143 .user
= OCP_USER_MPU
,
146 struct omap_hwmod_ocp_if am33xx_l4_ls__epwmss2
= {
147 .master
= &am33xx_l4_ls_hwmod
,
148 .slave
= &am33xx_epwmss2_hwmod
,
150 .user
= OCP_USER_MPU
,
153 /* l3s cfg -> gpmc */
154 struct omap_hwmod_ocp_if am33xx_l3_s__gpmc
= {
155 .master
= &am33xx_l3_s_hwmod
,
156 .slave
= &am33xx_gpmc_hwmod
,
158 .user
= OCP_USER_MPU
,
161 /* l4 ls -> spinlock */
162 struct omap_hwmod_ocp_if am33xx_l4_ls__spinlock
= {
163 .master
= &am33xx_l4_ls_hwmod
,
164 .slave
= &am33xx_spinlock_hwmod
,
166 .user
= OCP_USER_MPU
,
169 /* l4 ls -> mcspi0 */
170 struct omap_hwmod_ocp_if am33xx_l4_ls__mcspi0
= {
171 .master
= &am33xx_l4_ls_hwmod
,
172 .slave
= &am33xx_spi0_hwmod
,
174 .user
= OCP_USER_MPU
,
177 /* l4 ls -> mcspi1 */
178 struct omap_hwmod_ocp_if am33xx_l4_ls__mcspi1
= {
179 .master
= &am33xx_l4_ls_hwmod
,
180 .slave
= &am33xx_spi1_hwmod
,
182 .user
= OCP_USER_MPU
,
185 /* l4 per -> timer2 */
186 struct omap_hwmod_ocp_if am33xx_l4_ls__timer2
= {
187 .master
= &am33xx_l4_ls_hwmod
,
188 .slave
= &am33xx_timer2_hwmod
,
190 .user
= OCP_USER_MPU
,
193 /* l4 per -> timer3 */
194 struct omap_hwmod_ocp_if am33xx_l4_ls__timer3
= {
195 .master
= &am33xx_l4_ls_hwmod
,
196 .slave
= &am33xx_timer3_hwmod
,
198 .user
= OCP_USER_MPU
,
201 /* l4 per -> timer4 */
202 struct omap_hwmod_ocp_if am33xx_l4_ls__timer4
= {
203 .master
= &am33xx_l4_ls_hwmod
,
204 .slave
= &am33xx_timer4_hwmod
,
206 .user
= OCP_USER_MPU
,
209 /* l4 per -> timer5 */
210 struct omap_hwmod_ocp_if am33xx_l4_ls__timer5
= {
211 .master
= &am33xx_l4_ls_hwmod
,
212 .slave
= &am33xx_timer5_hwmod
,
214 .user
= OCP_USER_MPU
,
217 /* l4 per -> timer6 */
218 struct omap_hwmod_ocp_if am33xx_l4_ls__timer6
= {
219 .master
= &am33xx_l4_ls_hwmod
,
220 .slave
= &am33xx_timer6_hwmod
,
222 .user
= OCP_USER_MPU
,
225 /* l4 per -> timer7 */
226 struct omap_hwmod_ocp_if am33xx_l4_ls__timer7
= {
227 .master
= &am33xx_l4_ls_hwmod
,
228 .slave
= &am33xx_timer7_hwmod
,
230 .user
= OCP_USER_MPU
,
233 /* l3 main -> tpcc */
234 struct omap_hwmod_ocp_if am33xx_l3_main__tpcc
= {
235 .master
= &am33xx_l3_main_hwmod
,
236 .slave
= &am33xx_tpcc_hwmod
,
238 .user
= OCP_USER_MPU
,
241 /* l3 main -> tpcc0 */
242 struct omap_hwmod_ocp_if am33xx_l3_main__tptc0
= {
243 .master
= &am33xx_l3_main_hwmod
,
244 .slave
= &am33xx_tptc0_hwmod
,
246 .user
= OCP_USER_MPU
,
249 /* l3 main -> tpcc1 */
250 struct omap_hwmod_ocp_if am33xx_l3_main__tptc1
= {
251 .master
= &am33xx_l3_main_hwmod
,
252 .slave
= &am33xx_tptc1_hwmod
,
254 .user
= OCP_USER_MPU
,
257 /* l3 main -> tpcc2 */
258 struct omap_hwmod_ocp_if am33xx_l3_main__tptc2
= {
259 .master
= &am33xx_l3_main_hwmod
,
260 .slave
= &am33xx_tptc2_hwmod
,
262 .user
= OCP_USER_MPU
,
265 /* l3 main -> ocmc */
266 struct omap_hwmod_ocp_if am33xx_l3_main__ocmc
= {
267 .master
= &am33xx_l3_main_hwmod
,
268 .slave
= &am33xx_ocmcram_hwmod
,
269 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,
272 /* l3 main -> sha0 HIB2 */
273 struct omap_hwmod_ocp_if am33xx_l3_main__sha0
= {
274 .master
= &am33xx_l3_main_hwmod
,
275 .slave
= &am33xx_sha0_hwmod
,
277 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,
280 /* l3 main -> AES0 HIB2 */
281 struct omap_hwmod_ocp_if am33xx_l3_main__aes0
= {
282 .master
= &am33xx_l3_main_hwmod
,
283 .slave
= &am33xx_aes0_hwmod
,
285 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,