2 #include <plat/omap_hwmod.h>
7 #include "omap_hwmod_common_data.h"
9 #include "prm-regbits-24xx.h"
12 * OMAP2420 hardware module integration data
14 * ALl of the data in this section should be autogeneratable from the
15 * TI hardware database or other technical documentation. Data that
16 * is driver-specific or driver-kernel integration-specific belongs
20 static struct omap_hwmod omap2420_mpu_hwmod
;
21 static struct omap_hwmod omap2420_iva_hwmod
;
22 static struct omap_hwmod omap2420_l3_main_hwmod
;
23 static struct omap_hwmod omap2420_l4_core_hwmod
;
25 /* L3 -> L4_CORE interface */
26 static struct omap_hwmod_ocp_if omap2420_l3_main__l4_core
= {
27 .master
= &omap2420_l3_main_hwmod
,
28 .slave
= &omap2420_l4_core_hwmod
,
29 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,
32 /* MPU -> L3 interface */
33 static struct omap_hwmod_ocp_if omap2420_mpu__l3_main
= {
34 .master
= &omap2420_mpu_hwmod
,
35 .slave
= &omap2420_l3_main_hwmod
,
39 /* Slave interfaces on the L3 interconnect */
40 static struct omap_hwmod_ocp_if
*omap2420_l3_main_slaves
[] = {
41 &omap2420_mpu__l3_main
,
44 /* Master interfaces on the L3 interconnect */
45 static struct omap_hwmod_ocp_if
*omap2420_l3_main_masters
[] = {
46 &omap2420_l3_main__l4_core
,
50 static struct omap_hwmod omap2420_l3_main_hwmod
= {
52 .class = &l3_hwmod_class
,
53 .masters
= omap2420_l3_main_masters
,
54 .masters_cnt
= ARRAY_SIZE(omap2420_l3_main_masters
),
55 .slaves
= omap2420_l3_main_slaves
,
56 .slaves_cnt
= ARRAY_SIZE(omap2420_l3_main_slaves
),
57 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP2420
),
58 .flags
= HWMOD_NO_IDLEST
,
61 static struct omap_hwmod omap2420_l4_wkup_hwmod
;
63 /* L4_CORE -> L4_WKUP interface */
64 static struct omap_hwmod_ocp_if omap2420_l4_core__l4_wkup
= {
65 .master
= &omap2420_l4_core_hwmod
,
66 .slave
= &omap2420_l4_wkup_hwmod
,
67 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,
70 /* Slave interfaces on the L4_CORE interconnect */
71 static struct omap_hwmod_ocp_if
*omap2420_l4_core_slaves
[] = {
72 &omap2420_l3_main__l4_core
,
75 /* Master interfaces on the L4_CORE interconnect */
76 static struct omap_hwmod_ocp_if
*omap2420_l4_core_masters
[] = {
77 &omap2420_l4_core__l4_wkup
,
81 static struct omap_hwmod omap2420_l4_core_hwmod
= {
83 .class = &l4_hwmod_class
,
84 .masters
= omap2420_l4_core_masters
,
85 .masters_cnt
= ARRAY_SIZE(omap2420_l4_core_masters
),
86 .slaves
= omap2420_l4_core_slaves
,
87 .slaves_cnt
= ARRAY_SIZE(omap2420_l4_core_slaves
),
88 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP2420
),
89 .flags
= HWMOD_NO_IDLEST
,
92 /* Slave interfaces on the L4_WKUP interconnect */
93 static struct omap_hwmod_ocp_if
*omap2420_l4_wkup_slaves
[] = {
94 &omap2420_l4_core__l4_wkup
,
97 /* Master interfaces on the L4_WKUP interconnect */
98 static struct omap_hwmod_ocp_if
*omap2420_l4_wkup_masters
[] = {
102 static struct omap_hwmod omap2420_l4_wkup_hwmod
= {
104 .class = &l4_hwmod_class
,
105 .masters
= omap2420_l4_wkup_masters
,
106 .masters_cnt
= ARRAY_SIZE(omap2420_l4_wkup_masters
),
107 .slaves
= omap2420_l4_wkup_slaves
,
108 .slaves_cnt
= ARRAY_SIZE(omap2420_l4_wkup_slaves
),
109 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP2420
),
110 .flags
= HWMOD_NO_IDLEST
,
113 /* Master interfaces on the MPU device */
114 static struct omap_hwmod_ocp_if
*omap2420_mpu_masters
[] = {
115 &omap2420_mpu__l3_main
,
119 static struct omap_hwmod omap2420_mpu_hwmod
= {
121 .class = &mpu_hwmod_class
,
122 .main_clk
= "mpu_ck",
123 .masters
= omap2420_mpu_masters
,
124 .masters_cnt
= ARRAY_SIZE(omap2420_mpu_masters
),
125 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP2420
),
129 * IVA1 interface data
132 /* IVA <- L3 interface */
133 static struct omap_hwmod_ocp_if omap2420_l3__iva
= {
134 .master
= &omap2420_l3_main_hwmod
,
135 .slave
= &omap2420_iva_hwmod
,
137 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,
140 static struct omap_hwmod_ocp_if
*omap2420_iva_masters
[] = {
148 static struct omap_hwmod omap2420_iva_hwmod
= {
150 .class = &iva_hwmod_class
,
151 .masters
= omap2420_iva_masters
,
152 .masters_cnt
= ARRAY_SIZE(omap2420_iva_masters
),
153 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP2420
)
156 static __initdata
struct omap_hwmod
*omap2420_hwmods
[] = {
157 &omap2420_l3_main_hwmod
,
158 &omap2420_l4_core_hwmod
,
159 &omap2420_l4_wkup_hwmod
,
165 int __init
omap2420_hwmod_init(void)
167 return omap_hwmod_init(omap2420_hwmods
);