2 * OMAP4 Clock domains framework
4 * Copyright (C) 2009-2011 Texas Instruments, Inc.
5 * Copyright (C) 2009-2011 Nokia Corporation
7 * Abhijit Pagare (abhijitpagare@ti.com)
8 * Benoit Cousson (b-cousson@ti.com)
9 * Paul Walmsley (paul@pwsan.com)
11 * This file is automatically generated from the OMAP hardware databases.
12 * We respectfully ask that any modifications to this file be coordinated
13 * with the public linux-omap@vger.kernel.org mailing list and the
14 * authors above to ensure that the autogeneration scripts are kept
15 * up-to-date with the file contents.
17 * This program is free software; you can redistribute it and/or modify
18 * it under the terms of the GNU General Public License version 2 as
19 * published by the Free Software Foundation.
22 #include <linux/kernel.h>
25 #include "clockdomain.h"
29 #include "cm-regbits-44xx.h"
32 #include "prcm_mpu44xx.h"
34 /* Static Dependencies for OMAP4 Clock Domains */
36 static struct clkdm_dep d2d_wkup_sleep_deps
[] = {
38 .clkdm_name
= "abe_clkdm",
39 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
42 .clkdm_name
= "ivahd_clkdm",
43 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
46 .clkdm_name
= "l3_1_clkdm",
47 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
50 .clkdm_name
= "l3_2_clkdm",
51 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
54 .clkdm_name
= "l3_emif_clkdm",
55 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
58 .clkdm_name
= "l3_init_clkdm",
59 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
62 .clkdm_name
= "l4_cfg_clkdm",
63 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
66 .clkdm_name
= "l4_per_clkdm",
67 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
72 static struct clkdm_dep ducati_wkup_sleep_deps
[] = {
74 .clkdm_name
= "abe_clkdm",
75 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
78 .clkdm_name
= "ivahd_clkdm",
79 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
82 .clkdm_name
= "l3_1_clkdm",
83 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
86 .clkdm_name
= "l3_2_clkdm",
87 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
90 .clkdm_name
= "l3_dss_clkdm",
91 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
94 .clkdm_name
= "l3_emif_clkdm",
95 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
98 .clkdm_name
= "l3_gfx_clkdm",
99 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
102 .clkdm_name
= "l3_init_clkdm",
103 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
106 .clkdm_name
= "l4_cfg_clkdm",
107 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
110 .clkdm_name
= "l4_per_clkdm",
111 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
114 .clkdm_name
= "l4_secure_clkdm",
115 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
118 .clkdm_name
= "l4_wkup_clkdm",
119 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
122 .clkdm_name
= "tesla_clkdm",
123 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
128 static struct clkdm_dep iss_wkup_sleep_deps
[] = {
130 .clkdm_name
= "ivahd_clkdm",
131 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
134 .clkdm_name
= "l3_1_clkdm",
135 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
138 .clkdm_name
= "l3_emif_clkdm",
139 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
144 static struct clkdm_dep ivahd_wkup_sleep_deps
[] = {
146 .clkdm_name
= "l3_1_clkdm",
147 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
150 .clkdm_name
= "l3_emif_clkdm",
151 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
156 static struct clkdm_dep l3_dma_wkup_sleep_deps
[] = {
158 .clkdm_name
= "abe_clkdm",
159 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
162 .clkdm_name
= "ducati_clkdm",
163 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
166 .clkdm_name
= "ivahd_clkdm",
167 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
170 .clkdm_name
= "l3_1_clkdm",
171 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
174 .clkdm_name
= "l3_dss_clkdm",
175 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
178 .clkdm_name
= "l3_emif_clkdm",
179 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
182 .clkdm_name
= "l3_init_clkdm",
183 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
186 .clkdm_name
= "l4_cfg_clkdm",
187 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
190 .clkdm_name
= "l4_per_clkdm",
191 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
194 .clkdm_name
= "l4_secure_clkdm",
195 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
198 .clkdm_name
= "l4_wkup_clkdm",
199 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
204 static struct clkdm_dep l3_dss_wkup_sleep_deps
[] = {
206 .clkdm_name
= "ivahd_clkdm",
207 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
210 .clkdm_name
= "l3_2_clkdm",
211 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
214 .clkdm_name
= "l3_emif_clkdm",
215 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
220 static struct clkdm_dep l3_gfx_wkup_sleep_deps
[] = {
222 .clkdm_name
= "ivahd_clkdm",
223 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
226 .clkdm_name
= "l3_1_clkdm",
227 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
230 .clkdm_name
= "l3_emif_clkdm",
231 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
236 static struct clkdm_dep l3_init_wkup_sleep_deps
[] = {
238 .clkdm_name
= "abe_clkdm",
239 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
242 .clkdm_name
= "ivahd_clkdm",
243 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
246 .clkdm_name
= "l3_emif_clkdm",
247 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
250 .clkdm_name
= "l4_cfg_clkdm",
251 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
254 .clkdm_name
= "l4_per_clkdm",
255 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
258 .clkdm_name
= "l4_secure_clkdm",
259 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
262 .clkdm_name
= "l4_wkup_clkdm",
263 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
268 static struct clkdm_dep l4_secure_wkup_sleep_deps
[] = {
270 .clkdm_name
= "l3_1_clkdm",
271 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
274 .clkdm_name
= "l3_emif_clkdm",
275 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
278 .clkdm_name
= "l4_per_clkdm",
279 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
284 static struct clkdm_dep mpu_wkup_sleep_deps
[] = {
286 .clkdm_name
= "abe_clkdm",
287 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
290 .clkdm_name
= "ducati_clkdm",
291 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
294 .clkdm_name
= "ivahd_clkdm",
295 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
298 .clkdm_name
= "l3_1_clkdm",
299 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
302 .clkdm_name
= "l3_2_clkdm",
303 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
306 .clkdm_name
= "l3_dss_clkdm",
307 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
310 .clkdm_name
= "l3_emif_clkdm",
311 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
314 .clkdm_name
= "l3_gfx_clkdm",
315 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
318 .clkdm_name
= "l3_init_clkdm",
319 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
322 .clkdm_name
= "l4_cfg_clkdm",
323 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
326 .clkdm_name
= "l4_per_clkdm",
327 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
330 .clkdm_name
= "l4_secure_clkdm",
331 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
334 .clkdm_name
= "l4_wkup_clkdm",
335 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
338 .clkdm_name
= "tesla_clkdm",
339 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
344 static struct clkdm_dep tesla_wkup_sleep_deps
[] = {
346 .clkdm_name
= "abe_clkdm",
347 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
350 .clkdm_name
= "ivahd_clkdm",
351 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
354 .clkdm_name
= "l3_1_clkdm",
355 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
358 .clkdm_name
= "l3_2_clkdm",
359 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
362 .clkdm_name
= "l3_emif_clkdm",
363 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
366 .clkdm_name
= "l3_init_clkdm",
367 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
370 .clkdm_name
= "l4_cfg_clkdm",
371 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
374 .clkdm_name
= "l4_per_clkdm",
375 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
378 .clkdm_name
= "l4_wkup_clkdm",
379 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
)
384 static struct clockdomain l4_cefuse_44xx_clkdm
= {
385 .name
= "l4_cefuse_clkdm",
386 .pwrdm
= { .name
= "cefuse_pwrdm" },
387 .prcm_partition
= OMAP4430_CM2_PARTITION
,
388 .cm_inst
= OMAP4430_CM2_CEFUSE_INST
,
389 .clkdm_offs
= OMAP4430_CM2_CEFUSE_CEFUSE_CDOFFS
,
390 .flags
= CLKDM_CAN_FORCE_WAKEUP
| CLKDM_CAN_HWSUP
,
391 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
394 static struct clockdomain l4_cfg_44xx_clkdm
= {
395 .name
= "l4_cfg_clkdm",
396 .pwrdm
= { .name
= "core_pwrdm" },
397 .prcm_partition
= OMAP4430_CM2_PARTITION
,
398 .cm_inst
= OMAP4430_CM2_CORE_INST
,
399 .clkdm_offs
= OMAP4430_CM2_CORE_L4CFG_CDOFFS
,
400 .dep_bit
= OMAP4430_L4CFG_STATDEP_SHIFT
,
401 .flags
= CLKDM_CAN_HWSUP
,
402 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
405 static struct clockdomain tesla_44xx_clkdm
= {
406 .name
= "tesla_clkdm",
407 .pwrdm
= { .name
= "tesla_pwrdm" },
408 .prcm_partition
= OMAP4430_CM1_PARTITION
,
409 .cm_inst
= OMAP4430_CM1_TESLA_INST
,
410 .clkdm_offs
= OMAP4430_CM1_TESLA_TESLA_CDOFFS
,
411 .dep_bit
= OMAP4430_TESLA_STATDEP_SHIFT
,
412 .wkdep_srcs
= tesla_wkup_sleep_deps
,
413 .sleepdep_srcs
= tesla_wkup_sleep_deps
,
414 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
415 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
418 static struct clockdomain l3_gfx_44xx_clkdm
= {
419 .name
= "l3_gfx_clkdm",
420 .pwrdm
= { .name
= "gfx_pwrdm" },
421 .prcm_partition
= OMAP4430_CM2_PARTITION
,
422 .cm_inst
= OMAP4430_CM2_GFX_INST
,
423 .clkdm_offs
= OMAP4430_CM2_GFX_GFX_CDOFFS
,
424 .dep_bit
= OMAP4430_GFX_STATDEP_SHIFT
,
425 .wkdep_srcs
= l3_gfx_wkup_sleep_deps
,
426 .sleepdep_srcs
= l3_gfx_wkup_sleep_deps
,
427 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
428 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
431 static struct clockdomain ivahd_44xx_clkdm
= {
432 .name
= "ivahd_clkdm",
433 .pwrdm
= { .name
= "ivahd_pwrdm" },
434 .prcm_partition
= OMAP4430_CM2_PARTITION
,
435 .cm_inst
= OMAP4430_CM2_IVAHD_INST
,
436 .clkdm_offs
= OMAP4430_CM2_IVAHD_IVAHD_CDOFFS
,
437 .dep_bit
= OMAP4430_IVAHD_STATDEP_SHIFT
,
438 .wkdep_srcs
= ivahd_wkup_sleep_deps
,
439 .sleepdep_srcs
= ivahd_wkup_sleep_deps
,
440 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
441 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
444 static struct clockdomain l4_secure_44xx_clkdm
= {
445 .name
= "l4_secure_clkdm",
446 .pwrdm
= { .name
= "l4per_pwrdm" },
447 .prcm_partition
= OMAP4430_CM2_PARTITION
,
448 .cm_inst
= OMAP4430_CM2_L4PER_INST
,
449 .clkdm_offs
= OMAP4430_CM2_L4PER_L4SEC_CDOFFS
,
450 .dep_bit
= OMAP4430_L4SEC_STATDEP_SHIFT
,
451 .wkdep_srcs
= l4_secure_wkup_sleep_deps
,
452 .sleepdep_srcs
= l4_secure_wkup_sleep_deps
,
453 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
454 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
457 static struct clockdomain l4_per_44xx_clkdm
= {
458 .name
= "l4_per_clkdm",
459 .pwrdm
= { .name
= "l4per_pwrdm" },
460 .prcm_partition
= OMAP4430_CM2_PARTITION
,
461 .cm_inst
= OMAP4430_CM2_L4PER_INST
,
462 .clkdm_offs
= OMAP4430_CM2_L4PER_L4PER_CDOFFS
,
463 .dep_bit
= OMAP4430_L4PER_STATDEP_SHIFT
,
464 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
465 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
468 static struct clockdomain abe_44xx_clkdm
= {
470 .pwrdm
= { .name
= "abe_pwrdm" },
471 .prcm_partition
= OMAP4430_CM1_PARTITION
,
472 .cm_inst
= OMAP4430_CM1_ABE_INST
,
473 .clkdm_offs
= OMAP4430_CM1_ABE_ABE_CDOFFS
,
474 .dep_bit
= OMAP4430_ABE_STATDEP_SHIFT
,
475 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
476 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
479 static struct clockdomain l3_instr_44xx_clkdm
= {
480 .name
= "l3_instr_clkdm",
481 .pwrdm
= { .name
= "core_pwrdm" },
482 .prcm_partition
= OMAP4430_CM2_PARTITION
,
483 .cm_inst
= OMAP4430_CM2_CORE_INST
,
484 .clkdm_offs
= OMAP4430_CM2_CORE_L3INSTR_CDOFFS
,
485 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
488 static struct clockdomain l3_init_44xx_clkdm
= {
489 .name
= "l3_init_clkdm",
490 .pwrdm
= { .name
= "l3init_pwrdm" },
491 .prcm_partition
= OMAP4430_CM2_PARTITION
,
492 .cm_inst
= OMAP4430_CM2_L3INIT_INST
,
493 .clkdm_offs
= OMAP4430_CM2_L3INIT_L3INIT_CDOFFS
,
494 .dep_bit
= OMAP4430_L3INIT_STATDEP_SHIFT
,
495 .wkdep_srcs
= l3_init_wkup_sleep_deps
,
496 .sleepdep_srcs
= l3_init_wkup_sleep_deps
,
497 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
498 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
501 static struct clockdomain d2d_44xx_clkdm
= {
503 .pwrdm
= { .name
= "core_pwrdm" },
504 .prcm_partition
= OMAP4430_CM2_PARTITION
,
505 .cm_inst
= OMAP4430_CM2_CORE_INST
,
506 .clkdm_offs
= OMAP4430_CM2_CORE_D2D_CDOFFS
,
507 .wkdep_srcs
= d2d_wkup_sleep_deps
,
508 .sleepdep_srcs
= d2d_wkup_sleep_deps
,
509 .flags
= CLKDM_CAN_FORCE_WAKEUP
| CLKDM_CAN_HWSUP
,
510 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
513 static struct clockdomain mpu0_44xx_clkdm
= {
514 .name
= "mpu0_clkdm",
515 .pwrdm
= { .name
= "cpu0_pwrdm" },
516 .prcm_partition
= OMAP4430_PRCM_MPU_PARTITION
,
517 .cm_inst
= OMAP4430_PRCM_MPU_CPU0_INST
,
518 .clkdm_offs
= OMAP4430_PRCM_MPU_CPU0_CPU0_CDOFFS
,
519 .flags
= CLKDM_CAN_FORCE_WAKEUP
| CLKDM_CAN_HWSUP
,
520 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
523 static struct clockdomain mpu1_44xx_clkdm
= {
524 .name
= "mpu1_clkdm",
525 .pwrdm
= { .name
= "cpu1_pwrdm" },
526 .prcm_partition
= OMAP4430_PRCM_MPU_PARTITION
,
527 .cm_inst
= OMAP4430_PRCM_MPU_CPU1_INST
,
528 .clkdm_offs
= OMAP4430_PRCM_MPU_CPU1_CPU1_CDOFFS
,
529 .flags
= CLKDM_CAN_FORCE_WAKEUP
| CLKDM_CAN_HWSUP
,
530 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
533 static struct clockdomain l3_emif_44xx_clkdm
= {
534 .name
= "l3_emif_clkdm",
535 .pwrdm
= { .name
= "core_pwrdm" },
536 .prcm_partition
= OMAP4430_CM2_PARTITION
,
537 .cm_inst
= OMAP4430_CM2_CORE_INST
,
538 .clkdm_offs
= OMAP4430_CM2_CORE_MEMIF_CDOFFS
,
539 .dep_bit
= OMAP4430_MEMIF_STATDEP_SHIFT
,
540 .flags
= CLKDM_CAN_FORCE_WAKEUP
| CLKDM_CAN_HWSUP
,
541 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
544 static struct clockdomain l4_ao_44xx_clkdm
= {
545 .name
= "l4_ao_clkdm",
546 .pwrdm
= { .name
= "always_on_core_pwrdm" },
547 .prcm_partition
= OMAP4430_CM2_PARTITION
,
548 .cm_inst
= OMAP4430_CM2_ALWAYS_ON_INST
,
549 .clkdm_offs
= OMAP4430_CM2_ALWAYS_ON_ALWON_CDOFFS
,
550 .flags
= CLKDM_CAN_FORCE_WAKEUP
| CLKDM_CAN_HWSUP
,
551 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
554 static struct clockdomain ducati_44xx_clkdm
= {
555 .name
= "ducati_clkdm",
556 .pwrdm
= { .name
= "core_pwrdm" },
557 .prcm_partition
= OMAP4430_CM2_PARTITION
,
558 .cm_inst
= OMAP4430_CM2_CORE_INST
,
559 .clkdm_offs
= OMAP4430_CM2_CORE_DUCATI_CDOFFS
,
560 .dep_bit
= OMAP4430_DUCATI_STATDEP_SHIFT
,
561 .wkdep_srcs
= ducati_wkup_sleep_deps
,
562 .sleepdep_srcs
= ducati_wkup_sleep_deps
,
563 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
564 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
567 static struct clockdomain mpu_44xx_clkdm
= {
568 .name
= "mpuss_clkdm",
569 .pwrdm
= { .name
= "mpu_pwrdm" },
570 .prcm_partition
= OMAP4430_CM1_PARTITION
,
571 .cm_inst
= OMAP4430_CM1_MPU_INST
,
572 .clkdm_offs
= OMAP4430_CM1_MPU_MPU_CDOFFS
,
573 .wkdep_srcs
= mpu_wkup_sleep_deps
,
574 .sleepdep_srcs
= mpu_wkup_sleep_deps
,
575 .flags
= CLKDM_CAN_FORCE_WAKEUP
| CLKDM_CAN_HWSUP
,
576 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
579 static struct clockdomain l3_2_44xx_clkdm
= {
580 .name
= "l3_2_clkdm",
581 .pwrdm
= { .name
= "core_pwrdm" },
582 .prcm_partition
= OMAP4430_CM2_PARTITION
,
583 .cm_inst
= OMAP4430_CM2_CORE_INST
,
584 .clkdm_offs
= OMAP4430_CM2_CORE_L3_2_CDOFFS
,
585 .dep_bit
= OMAP4430_L3_2_STATDEP_SHIFT
,
586 .flags
= CLKDM_CAN_HWSUP
,
587 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
590 static struct clockdomain l3_1_44xx_clkdm
= {
591 .name
= "l3_1_clkdm",
592 .pwrdm
= { .name
= "core_pwrdm" },
593 .prcm_partition
= OMAP4430_CM2_PARTITION
,
594 .cm_inst
= OMAP4430_CM2_CORE_INST
,
595 .clkdm_offs
= OMAP4430_CM2_CORE_L3_1_CDOFFS
,
596 .dep_bit
= OMAP4430_L3_1_STATDEP_SHIFT
,
597 .flags
= CLKDM_CAN_HWSUP
,
598 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
601 static struct clockdomain iss_44xx_clkdm
= {
603 .pwrdm
= { .name
= "cam_pwrdm" },
604 .prcm_partition
= OMAP4430_CM2_PARTITION
,
605 .cm_inst
= OMAP4430_CM2_CAM_INST
,
606 .clkdm_offs
= OMAP4430_CM2_CAM_CAM_CDOFFS
,
607 .wkdep_srcs
= iss_wkup_sleep_deps
,
608 .sleepdep_srcs
= iss_wkup_sleep_deps
,
609 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
610 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
613 static struct clockdomain l3_dss_44xx_clkdm
= {
614 .name
= "l3_dss_clkdm",
615 .pwrdm
= { .name
= "dss_pwrdm" },
616 .prcm_partition
= OMAP4430_CM2_PARTITION
,
617 .cm_inst
= OMAP4430_CM2_DSS_INST
,
618 .clkdm_offs
= OMAP4430_CM2_DSS_DSS_CDOFFS
,
619 .dep_bit
= OMAP4430_DSS_STATDEP_SHIFT
,
620 .wkdep_srcs
= l3_dss_wkup_sleep_deps
,
621 .sleepdep_srcs
= l3_dss_wkup_sleep_deps
,
622 .flags
= CLKDM_CAN_HWSUP_SWSUP
,
623 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
626 static struct clockdomain l4_wkup_44xx_clkdm
= {
627 .name
= "l4_wkup_clkdm",
628 .pwrdm
= { .name
= "wkup_pwrdm" },
629 .prcm_partition
= OMAP4430_PRM_PARTITION
,
630 .cm_inst
= OMAP4430_PRM_WKUP_CM_INST
,
631 .clkdm_offs
= OMAP4430_PRM_WKUP_CM_WKUP_CDOFFS
,
632 .dep_bit
= OMAP4430_L4WKUP_STATDEP_SHIFT
,
633 .flags
= CLKDM_CAN_HWSUP
,
634 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
637 static struct clockdomain emu_sys_44xx_clkdm
= {
638 .name
= "emu_sys_clkdm",
639 .pwrdm
= { .name
= "emu_pwrdm" },
640 .prcm_partition
= OMAP4430_PRM_PARTITION
,
641 .cm_inst
= OMAP4430_PRM_EMU_CM_INST
,
642 .clkdm_offs
= OMAP4430_PRM_EMU_CM_EMU_CDOFFS
,
643 .flags
= CLKDM_CAN_HWSUP
,
644 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
647 static struct clockdomain l3_dma_44xx_clkdm
= {
648 .name
= "l3_dma_clkdm",
649 .pwrdm
= { .name
= "core_pwrdm" },
650 .prcm_partition
= OMAP4430_CM2_PARTITION
,
651 .cm_inst
= OMAP4430_CM2_CORE_INST
,
652 .clkdm_offs
= OMAP4430_CM2_CORE_SDMA_CDOFFS
,
653 .wkdep_srcs
= l3_dma_wkup_sleep_deps
,
654 .sleepdep_srcs
= l3_dma_wkup_sleep_deps
,
655 .flags
= CLKDM_CAN_FORCE_WAKEUP
| CLKDM_CAN_HWSUP
,
656 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP4430
),
659 /* As clockdomains are added or removed above, this list must also be changed */
660 static struct clockdomain
*clockdomains_omap44xx
[] __initdata
= {
661 &l4_cefuse_44xx_clkdm
,
666 &l4_secure_44xx_clkdm
,
669 &l3_instr_44xx_clkdm
,
688 void __init
omap44xx_clockdomains_init(void)
690 clkdm_init(clockdomains_omap44xx
, NULL
, &omap4_clkdm_operations
);