2 * OMAP4 Clock domains framework
4 * Copyright (C) 2009 Texas Instruments, Inc.
5 * Copyright (C) 2009 Nokia Corporation
7 * Abhijit Pagare (abhijitpagare@ti.com)
8 * Benoit Cousson (b-cousson@ti.com)
10 * This file is automatically generated from the OMAP hardware databases.
11 * We respectfully ask that any modifications to this file be coordinated
12 * with the public linux-omap@vger.kernel.org mailing list and the
13 * authors above to ensure that the autogeneration scripts are kept
14 * up-to-date with the file contents.
16 * This program is free software; you can redistribute it and/or modify
17 * it under the terms of the GNU General Public License version 2 as
18 * published by the Free Software Foundation.
23 * -> Populate the Sleep/Wakeup dependencies for the domains
26 #include <linux/kernel.h>
29 #include "clockdomain.h"
33 #include "cm-regbits-44xx.h"
36 #include "prcm_mpu44xx.h"
39 static struct clockdomain l4_cefuse_44xx_clkdm
= {
40 .name
= "l4_cefuse_clkdm",
41 .pwrdm
= { .name
= "cefuse_pwrdm" },
42 .prcm_partition
= OMAP4430_CM2_PARTITION
,
43 .cm_inst
= OMAP4430_CM2_CEFUSE_INST
,
44 .clkdm_offs
= OMAP4430_CM2_CEFUSE_CEFUSE_CDOFFS
,
45 .flags
= CLKDM_CAN_FORCE_WAKEUP
| CLKDM_CAN_HWSUP
,
46 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
49 static struct clockdomain l4_cfg_44xx_clkdm
= {
50 .name
= "l4_cfg_clkdm",
51 .pwrdm
= { .name
= "core_pwrdm" },
52 .prcm_partition
= OMAP4430_CM2_PARTITION
,
53 .cm_inst
= OMAP4430_CM2_CORE_INST
,
54 .clkdm_offs
= OMAP4430_CM2_CORE_L4CFG_CDOFFS
,
55 .flags
= CLKDM_CAN_HWSUP
,
56 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
59 static struct clockdomain tesla_44xx_clkdm
= {
60 .name
= "tesla_clkdm",
61 .pwrdm
= { .name
= "tesla_pwrdm" },
62 .prcm_partition
= OMAP4430_CM1_PARTITION
,
63 .cm_inst
= OMAP4430_CM1_TESLA_INST
,
64 .clkdm_offs
= OMAP4430_CM1_TESLA_TESLA_CDOFFS
,
65 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
66 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
69 static struct clockdomain l3_gfx_44xx_clkdm
= {
70 .name
= "l3_gfx_clkdm",
71 .pwrdm
= { .name
= "gfx_pwrdm" },
72 .prcm_partition
= OMAP4430_CM2_PARTITION
,
73 .cm_inst
= OMAP4430_CM2_GFX_INST
,
74 .clkdm_offs
= OMAP4430_CM2_GFX_GFX_CDOFFS
,
75 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
76 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
79 static struct clockdomain ivahd_44xx_clkdm
= {
80 .name
= "ivahd_clkdm",
81 .pwrdm
= { .name
= "ivahd_pwrdm" },
82 .prcm_partition
= OMAP4430_CM2_PARTITION
,
83 .cm_inst
= OMAP4430_CM2_IVAHD_INST
,
84 .clkdm_offs
= OMAP4430_CM2_IVAHD_IVAHD_CDOFFS
,
85 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
86 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
89 static struct clockdomain l4_secure_44xx_clkdm
= {
90 .name
= "l4_secure_clkdm",
91 .pwrdm
= { .name
= "l4per_pwrdm" },
92 .prcm_partition
= OMAP4430_CM2_PARTITION
,
93 .cm_inst
= OMAP4430_CM2_L4PER_INST
,
94 .clkdm_offs
= OMAP4430_CM2_L4PER_L4SEC_CDOFFS
,
95 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
96 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
99 static struct clockdomain l4_per_44xx_clkdm
= {
100 .name
= "l4_per_clkdm",
101 .pwrdm
= { .name
= "l4per_pwrdm" },
102 .prcm_partition
= OMAP4430_CM2_PARTITION
,
103 .cm_inst
= OMAP4430_CM2_L4PER_INST
,
104 .clkdm_offs
= OMAP4430_CM2_L4PER_L4PER_CDOFFS
,
105 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
106 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
109 static struct clockdomain abe_44xx_clkdm
= {
111 .pwrdm
= { .name
= "abe_pwrdm" },
112 .prcm_partition
= OMAP4430_CM1_PARTITION
,
113 .cm_inst
= OMAP4430_CM1_ABE_INST
,
114 .clkdm_offs
= OMAP4430_CM1_ABE_ABE_CDOFFS
,
115 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
116 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
119 static struct clockdomain l3_instr_44xx_clkdm
= {
120 .name
= "l3_instr_clkdm",
121 .pwrdm
= { .name
= "core_pwrdm" },
122 .prcm_partition
= OMAP4430_CM2_PARTITION
,
123 .cm_inst
= OMAP4430_CM2_CORE_INST
,
124 .clkdm_offs
= OMAP4430_CM2_CORE_L3INSTR_CDOFFS
,
125 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
128 static struct clockdomain l3_init_44xx_clkdm
= {
129 .name
= "l3_init_clkdm",
130 .pwrdm
= { .name
= "l3init_pwrdm" },
131 .prcm_partition
= OMAP4430_CM2_PARTITION
,
132 .cm_inst
= OMAP4430_CM2_L3INIT_INST
,
133 .clkdm_offs
= OMAP4430_CM2_L3INIT_L3INIT_CDOFFS
,
134 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
135 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
138 static struct clockdomain mpuss_44xx_clkdm
= {
139 .name
= "mpuss_clkdm",
140 .pwrdm
= { .name
= "mpu_pwrdm" },
141 .prcm_partition
= OMAP4430_CM1_PARTITION
,
142 .cm_inst
= OMAP4430_CM1_MPU_INST
,
143 .clkdm_offs
= OMAP4430_CM1_MPU_MPU_CDOFFS
,
144 .flags
= CLKDM_CAN_FORCE_WAKEUP
| CLKDM_CAN_HWSUP
,
145 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
148 static struct clockdomain mpu0_44xx_clkdm
= {
149 .name
= "mpu0_clkdm",
150 .pwrdm
= { .name
= "cpu0_pwrdm" },
151 .prcm_partition
= OMAP4430_PRCM_MPU_PARTITION
,
152 .cm_inst
= OMAP4430_PRCM_MPU_CPU0_INST
,
153 .clkdm_offs
= OMAP4430_PRCM_MPU_CPU0_MPU_CDOFFS
,
154 .flags
= CLKDM_CAN_FORCE_WAKEUP
| CLKDM_CAN_HWSUP
,
155 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
158 static struct clockdomain mpu1_44xx_clkdm
= {
159 .name
= "mpu1_clkdm",
160 .pwrdm
= { .name
= "cpu1_pwrdm" },
161 .prcm_partition
= OMAP4430_PRCM_MPU_PARTITION
,
162 .cm_inst
= OMAP4430_PRCM_MPU_CPU1_INST
,
163 .clkdm_offs
= OMAP4430_PRCM_MPU_CPU1_MPU_CDOFFS
,
164 .flags
= CLKDM_CAN_FORCE_WAKEUP
| CLKDM_CAN_HWSUP
,
165 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
168 static struct clockdomain l3_emif_44xx_clkdm
= {
169 .name
= "l3_emif_clkdm",
170 .pwrdm
= { .name
= "core_pwrdm" },
171 .prcm_partition
= OMAP4430_CM2_PARTITION
,
172 .cm_inst
= OMAP4430_CM2_CORE_INST
,
173 .clkdm_offs
= OMAP4430_CM2_CORE_MEMIF_CDOFFS
,
174 .flags
= CLKDM_CAN_FORCE_WAKEUP
| CLKDM_CAN_HWSUP
,
175 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
178 static struct clockdomain l4_ao_44xx_clkdm
= {
179 .name
= "l4_ao_clkdm",
180 .pwrdm
= { .name
= "always_on_core_pwrdm" },
181 .prcm_partition
= OMAP4430_CM2_PARTITION
,
182 .cm_inst
= OMAP4430_CM2_ALWAYS_ON_INST
,
183 .clkdm_offs
= OMAP4430_CM2_ALWAYS_ON_ALWON_CDOFFS
,
184 .flags
= CLKDM_CAN_FORCE_WAKEUP
| CLKDM_CAN_HWSUP
,
185 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
188 static struct clockdomain ducati_44xx_clkdm
= {
189 .name
= "ducati_clkdm",
190 .pwrdm
= { .name
= "core_pwrdm" },
191 .prcm_partition
= OMAP4430_CM2_PARTITION
,
192 .cm_inst
= OMAP4430_CM2_CORE_INST
,
193 .clkdm_offs
= OMAP4430_CM2_CORE_DUCATI_CDOFFS
,
194 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
195 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
198 static struct clockdomain l3_2_44xx_clkdm
= {
199 .name
= "l3_2_clkdm",
200 .pwrdm
= { .name
= "core_pwrdm" },
201 .prcm_partition
= OMAP4430_CM2_PARTITION
,
202 .cm_inst
= OMAP4430_CM2_CORE_INST
,
203 .clkdm_offs
= OMAP4430_CM2_CORE_L3_2_CDOFFS
,
204 .flags
= CLKDM_CAN_HWSUP
,
205 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
208 static struct clockdomain l3_1_44xx_clkdm
= {
209 .name
= "l3_1_clkdm",
210 .pwrdm
= { .name
= "core_pwrdm" },
211 .prcm_partition
= OMAP4430_CM2_PARTITION
,
212 .cm_inst
= OMAP4430_CM2_CORE_INST
,
213 .clkdm_offs
= OMAP4430_CM2_CORE_L3_1_CDOFFS
,
214 .flags
= CLKDM_CAN_HWSUP
,
215 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
218 static struct clockdomain l3_d2d_44xx_clkdm
= {
219 .name
= "l3_d2d_clkdm",
220 .pwrdm
= { .name
= "core_pwrdm" },
221 .prcm_partition
= OMAP4430_CM2_PARTITION
,
222 .cm_inst
= OMAP4430_CM2_CORE_INST
,
223 .clkdm_offs
= OMAP4430_CM2_CORE_D2D_CDOFFS
,
224 .flags
= CLKDM_CAN_FORCE_WAKEUP
| CLKDM_CAN_HWSUP
,
225 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
228 static struct clockdomain iss_44xx_clkdm
= {
230 .pwrdm
= { .name
= "cam_pwrdm" },
231 .prcm_partition
= OMAP4430_CM2_PARTITION
,
232 .cm_inst
= OMAP4430_CM2_CAM_INST
,
233 .clkdm_offs
= OMAP4430_CM2_CAM_CAM_CDOFFS
,
234 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
235 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
238 static struct clockdomain l3_dss_44xx_clkdm
= {
239 .name
= "l3_dss_clkdm",
240 .pwrdm
= { .name
= "dss_pwrdm" },
241 .prcm_partition
= OMAP4430_CM2_PARTITION
,
242 .cm_inst
= OMAP4430_CM2_DSS_INST
,
243 .clkdm_offs
= OMAP4430_CM2_DSS_DSS_CDOFFS
,
244 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
245 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
248 static struct clockdomain l4_wkup_44xx_clkdm
= {
249 .name
= "l4_wkup_clkdm",
250 .pwrdm
= { .name
= "wkup_pwrdm" },
251 .prcm_partition
= OMAP4430_PRM_PARTITION
,
252 .cm_inst
= OMAP4430_PRM_WKUP_CM_INST
,
253 .clkdm_offs
= OMAP4430_PRM_WKUP_CM_WKUP_CDOFFS
,
254 .flags
= CLKDM_CAN_HWSUP
,
255 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
258 static struct clockdomain emu_sys_44xx_clkdm
= {
259 .name
= "emu_sys_clkdm",
260 .pwrdm
= { .name
= "emu_pwrdm" },
261 .prcm_partition
= OMAP4430_PRM_PARTITION
,
262 .cm_inst
= OMAP4430_PRM_EMU_CM_INST
,
263 .clkdm_offs
= OMAP4430_PRM_EMU_CM_EMU_CDOFFS
,
264 .flags
= CLKDM_CAN_HWSUP
,
265 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
268 static struct clockdomain l3_dma_44xx_clkdm
= {
269 .name
= "l3_dma_clkdm",
270 .pwrdm
= { .name
= "core_pwrdm" },
271 .prcm_partition
= OMAP4430_CM2_PARTITION
,
272 .cm_inst
= OMAP4430_CM2_CORE_INST
,
273 .clkdm_offs
= OMAP4430_CM2_CORE_SDMA_CDOFFS
,
274 .flags
= CLKDM_CAN_FORCE_WAKEUP
| CLKDM_CAN_HWSUP
,
275 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
278 static struct clockdomain
*clockdomains_omap44xx
[] __initdata
= {
279 &l4_cefuse_44xx_clkdm
,
284 &l4_secure_44xx_clkdm
,
287 &l3_instr_44xx_clkdm
,
306 void __init
omap44xx_clockdomains_init(void)
308 clkdm_init(clockdomains_omap44xx
, NULL
);