diff options
author | Tony Lindgren <tony@atomide.com> | 2012-04-19 20:45:33 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2012-04-19 20:45:33 -0400 |
commit | 1df82cd6d7673006ae2ecbe8745bcf44f61c53a8 (patch) | |
tree | 737dbba397924c3b566878012ab6fef7fa7dfafe /arch/arm/mach-omap2 | |
parent | 9c3a3009f1c66f4a758b1e5d31b6977185d70a56 (diff) | |
parent | 96566043b19ae76d3828ce75cbf28dc6d0bcaaf1 (diff) |
Merge tag 'omap-devel-a-for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into devel-hwmod
Add in most of the remaining hwmods (IP block descriptions) for the
OMAP44xx family of SoCs. There still seem to be a few missing, such
as those for the MMU IP blocks, but this seems to cover the bulk of
the remainder.
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r-- | arch/arm/mach-omap2/Makefile | 8 | ||||
-rw-r--r-- | arch/arm/mach-omap2/clockdomain44xx.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-omap2/clockdomains44xx_data.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/clockdomains_common_data.c | 24 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 1416 |
6 files changed, 1418 insertions, 48 deletions
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index 49f92bc1c311..d8604a3e490e 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile | |||
@@ -118,16 +118,18 @@ obj-$(CONFIG_ARCH_OMAP4) += $(powerdomain-common) \ | |||
118 | powerdomains44xx_data.o | 118 | powerdomains44xx_data.o |
119 | 119 | ||
120 | # PRCM clockdomain control | 120 | # PRCM clockdomain control |
121 | obj-$(CONFIG_ARCH_OMAP2) += clockdomain.o \ | 121 | clockdomain-common += clockdomain.o \ |
122 | clockdomains_common_data.o | ||
123 | obj-$(CONFIG_ARCH_OMAP2) += $(clockdomain-common) \ | ||
122 | clockdomain2xxx_3xxx.o \ | 124 | clockdomain2xxx_3xxx.o \ |
123 | clockdomains2xxx_3xxx_data.o | 125 | clockdomains2xxx_3xxx_data.o |
124 | obj-$(CONFIG_SOC_OMAP2420) += clockdomains2420_data.o | 126 | obj-$(CONFIG_SOC_OMAP2420) += clockdomains2420_data.o |
125 | obj-$(CONFIG_SOC_OMAP2430) += clockdomains2430_data.o | 127 | obj-$(CONFIG_SOC_OMAP2430) += clockdomains2430_data.o |
126 | obj-$(CONFIG_ARCH_OMAP3) += clockdomain.o \ | 128 | obj-$(CONFIG_ARCH_OMAP3) += $(clockdomain-common) \ |
127 | clockdomain2xxx_3xxx.o \ | 129 | clockdomain2xxx_3xxx.o \ |
128 | clockdomains2xxx_3xxx_data.o \ | 130 | clockdomains2xxx_3xxx_data.o \ |
129 | clockdomains3xxx_data.o | 131 | clockdomains3xxx_data.o |
130 | obj-$(CONFIG_ARCH_OMAP4) += clockdomain.o \ | 132 | obj-$(CONFIG_ARCH_OMAP4) += $(clockdomain-common) \ |
131 | clockdomain44xx.o \ | 133 | clockdomain44xx.o \ |
132 | clockdomains44xx_data.o | 134 | clockdomains44xx_data.o |
133 | 135 | ||
diff --git a/arch/arm/mach-omap2/clockdomain44xx.c b/arch/arm/mach-omap2/clockdomain44xx.c index 935c7f03dab9..4f04dd11d655 100644 --- a/arch/arm/mach-omap2/clockdomain44xx.c +++ b/arch/arm/mach-omap2/clockdomain44xx.c | |||
@@ -51,6 +51,9 @@ static int omap4_clkdm_clear_all_wkup_sleep_deps(struct clockdomain *clkdm) | |||
51 | struct clkdm_dep *cd; | 51 | struct clkdm_dep *cd; |
52 | u32 mask = 0; | 52 | u32 mask = 0; |
53 | 53 | ||
54 | if (!clkdm->prcm_partition) | ||
55 | return 0; | ||
56 | |||
54 | for (cd = clkdm->wkdep_srcs; cd && cd->clkdm_name; cd++) { | 57 | for (cd = clkdm->wkdep_srcs; cd && cd->clkdm_name; cd++) { |
55 | if (!cd->clkdm) | 58 | if (!cd->clkdm) |
56 | continue; /* only happens if data is erroneous */ | 59 | continue; /* only happens if data is erroneous */ |
@@ -103,6 +106,9 @@ static int omap4_clkdm_clk_disable(struct clockdomain *clkdm) | |||
103 | { | 106 | { |
104 | bool hwsup = false; | 107 | bool hwsup = false; |
105 | 108 | ||
109 | if (!clkdm->prcm_partition) | ||
110 | return 0; | ||
111 | |||
106 | hwsup = omap4_cminst_is_clkdm_in_hwsup(clkdm->prcm_partition, | 112 | hwsup = omap4_cminst_is_clkdm_in_hwsup(clkdm->prcm_partition, |
107 | clkdm->cm_inst, clkdm->clkdm_offs); | 113 | clkdm->cm_inst, clkdm->clkdm_offs); |
108 | 114 | ||
diff --git a/arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c b/arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c index 0a6a04897d89..839145e1cfbe 100644 --- a/arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c +++ b/arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c | |||
@@ -89,13 +89,3 @@ struct clockdomain wkup_common_clkdm = { | |||
89 | .pwrdm = { .name = "wkup_pwrdm" }, | 89 | .pwrdm = { .name = "wkup_pwrdm" }, |
90 | .dep_bit = OMAP_EN_WKUP_SHIFT, | 90 | .dep_bit = OMAP_EN_WKUP_SHIFT, |
91 | }; | 91 | }; |
92 | |||
93 | struct clockdomain prm_common_clkdm = { | ||
94 | .name = "prm_clkdm", | ||
95 | .pwrdm = { .name = "wkup_pwrdm" }, | ||
96 | }; | ||
97 | |||
98 | struct clockdomain cm_common_clkdm = { | ||
99 | .name = "cm_clkdm", | ||
100 | .pwrdm = { .name = "core_pwrdm" }, | ||
101 | }; | ||
diff --git a/arch/arm/mach-omap2/clockdomains44xx_data.c b/arch/arm/mach-omap2/clockdomains44xx_data.c index bd7ed13515cc..c53425847493 100644 --- a/arch/arm/mach-omap2/clockdomains44xx_data.c +++ b/arch/arm/mach-omap2/clockdomains44xx_data.c | |||
@@ -430,6 +430,8 @@ static struct clockdomain *clockdomains_omap44xx[] __initdata = { | |||
430 | &l4_wkup_44xx_clkdm, | 430 | &l4_wkup_44xx_clkdm, |
431 | &emu_sys_44xx_clkdm, | 431 | &emu_sys_44xx_clkdm, |
432 | &l3_dma_44xx_clkdm, | 432 | &l3_dma_44xx_clkdm, |
433 | &prm_common_clkdm, | ||
434 | &cm_common_clkdm, | ||
433 | NULL | 435 | NULL |
434 | }; | 436 | }; |
435 | 437 | ||
diff --git a/arch/arm/mach-omap2/clockdomains_common_data.c b/arch/arm/mach-omap2/clockdomains_common_data.c new file mode 100644 index 000000000000..615b1f04967d --- /dev/null +++ b/arch/arm/mach-omap2/clockdomains_common_data.c | |||
@@ -0,0 +1,24 @@ | |||
1 | /* | ||
2 | * OMAP2+-common clockdomain data | ||
3 | * | ||
4 | * Copyright (C) 2008-2012 Texas Instruments, Inc. | ||
5 | * Copyright (C) 2008-2010 Nokia Corporation | ||
6 | * | ||
7 | * Paul Walmsley, Jouni Högander | ||
8 | */ | ||
9 | |||
10 | #include <linux/kernel.h> | ||
11 | #include <linux/io.h> | ||
12 | |||
13 | #include "clockdomain.h" | ||
14 | |||
15 | /* These are implicit clockdomains - they are never defined as such in TRM */ | ||
16 | struct clockdomain prm_common_clkdm = { | ||
17 | .name = "prm_clkdm", | ||
18 | .pwrdm = { .name = "wkup_pwrdm" }, | ||
19 | }; | ||
20 | |||
21 | struct clockdomain cm_common_clkdm = { | ||
22 | .name = "cm_clkdm", | ||
23 | .pwrdm = { .name = "core_pwrdm" }, | ||
24 | }; | ||
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c index 0d91dec5b4bc..49061295475c 100644 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c | |||
@@ -51,6 +51,27 @@ | |||
51 | */ | 51 | */ |
52 | 52 | ||
53 | /* | 53 | /* |
54 | * 'c2c_target_fw' class | ||
55 | * instance(s): c2c_target_fw | ||
56 | */ | ||
57 | static struct omap_hwmod_class omap44xx_c2c_target_fw_hwmod_class = { | ||
58 | .name = "c2c_target_fw", | ||
59 | }; | ||
60 | |||
61 | /* c2c_target_fw */ | ||
62 | static struct omap_hwmod omap44xx_c2c_target_fw_hwmod = { | ||
63 | .name = "c2c_target_fw", | ||
64 | .class = &omap44xx_c2c_target_fw_hwmod_class, | ||
65 | .clkdm_name = "d2d_clkdm", | ||
66 | .prcm = { | ||
67 | .omap4 = { | ||
68 | .clkctrl_offs = OMAP4_CM_D2D_SAD2D_FW_CLKCTRL_OFFSET, | ||
69 | .context_offs = OMAP4_RM_D2D_SAD2D_FW_CONTEXT_OFFSET, | ||
70 | }, | ||
71 | }, | ||
72 | }; | ||
73 | |||
74 | /* | ||
54 | * 'dmm' class | 75 | * 'dmm' class |
55 | * instance(s): dmm | 76 | * instance(s): dmm |
56 | */ | 77 | */ |
@@ -242,6 +263,28 @@ static struct omap_hwmod omap44xx_mpu_private_hwmod = { | |||
242 | }; | 263 | }; |
243 | 264 | ||
244 | /* | 265 | /* |
266 | * 'ocp_wp_noc' class | ||
267 | * instance(s): ocp_wp_noc | ||
268 | */ | ||
269 | static struct omap_hwmod_class omap44xx_ocp_wp_noc_hwmod_class = { | ||
270 | .name = "ocp_wp_noc", | ||
271 | }; | ||
272 | |||
273 | /* ocp_wp_noc */ | ||
274 | static struct omap_hwmod omap44xx_ocp_wp_noc_hwmod = { | ||
275 | .name = "ocp_wp_noc", | ||
276 | .class = &omap44xx_ocp_wp_noc_hwmod_class, | ||
277 | .clkdm_name = "l3_instr_clkdm", | ||
278 | .prcm = { | ||
279 | .omap4 = { | ||
280 | .clkctrl_offs = OMAP4_CM_L3INSTR_OCP_WP1_CLKCTRL_OFFSET, | ||
281 | .context_offs = OMAP4_RM_L3INSTR_OCP_WP1_CONTEXT_OFFSET, | ||
282 | .modulemode = MODULEMODE_HWCTRL, | ||
283 | }, | ||
284 | }, | ||
285 | }; | ||
286 | |||
287 | /* | ||
245 | * Modules omap_hwmod structures | 288 | * Modules omap_hwmod structures |
246 | * | 289 | * |
247 | * The following IPs are excluded for the moment because: | 290 | * The following IPs are excluded for the moment because: |
@@ -249,41 +292,7 @@ static struct omap_hwmod omap44xx_mpu_private_hwmod = { | |||
249 | * - They still need to be validated with the driver | 292 | * - They still need to be validated with the driver |
250 | * properly adapted to omap_hwmod / omap_device | 293 | * properly adapted to omap_hwmod / omap_device |
251 | * | 294 | * |
252 | * c2c | 295 | * usim |
253 | * c2c_target_fw | ||
254 | * cm_core | ||
255 | * cm_core_aon | ||
256 | * ctrl_module_core | ||
257 | * ctrl_module_pad_core | ||
258 | * ctrl_module_pad_wkup | ||
259 | * ctrl_module_wkup | ||
260 | * debugss | ||
261 | * efuse_ctrl_cust | ||
262 | * efuse_ctrl_std | ||
263 | * elm | ||
264 | * emif1 | ||
265 | * emif2 | ||
266 | * fdif | ||
267 | * gpmc | ||
268 | * gpu | ||
269 | * hdq1w | ||
270 | * mcasp | ||
271 | * mpu_c0 | ||
272 | * mpu_c1 | ||
273 | * ocmc_ram | ||
274 | * ocp2scp_usb_phy | ||
275 | * ocp_wp_noc | ||
276 | * prcm_mpu | ||
277 | * prm | ||
278 | * scrm | ||
279 | * sl2if | ||
280 | * slimbus1 | ||
281 | * slimbus2 | ||
282 | * usb_host_fs | ||
283 | * usb_host_hs | ||
284 | * usb_phy_cm | ||
285 | * usb_tll_hs | ||
286 | * usim | ||
287 | */ | 296 | */ |
288 | 297 | ||
289 | /* | 298 | /* |
@@ -341,6 +350,41 @@ static struct omap_hwmod omap44xx_aess_hwmod = { | |||
341 | }; | 350 | }; |
342 | 351 | ||
343 | /* | 352 | /* |
353 | * 'c2c' class | ||
354 | * chip 2 chip interface used to plug the ape soc (omap) with an external modem | ||
355 | * soc | ||
356 | */ | ||
357 | |||
358 | static struct omap_hwmod_class omap44xx_c2c_hwmod_class = { | ||
359 | .name = "c2c", | ||
360 | }; | ||
361 | |||
362 | /* c2c */ | ||
363 | static struct omap_hwmod_irq_info omap44xx_c2c_irqs[] = { | ||
364 | { .irq = 88 + OMAP44XX_IRQ_GIC_START }, | ||
365 | { .irq = -1 } | ||
366 | }; | ||
367 | |||
368 | static struct omap_hwmod_dma_info omap44xx_c2c_sdma_reqs[] = { | ||
369 | { .dma_req = 68 + OMAP44XX_DMA_REQ_START }, | ||
370 | { .dma_req = -1 } | ||
371 | }; | ||
372 | |||
373 | static struct omap_hwmod omap44xx_c2c_hwmod = { | ||
374 | .name = "c2c", | ||
375 | .class = &omap44xx_c2c_hwmod_class, | ||
376 | .clkdm_name = "d2d_clkdm", | ||
377 | .mpu_irqs = omap44xx_c2c_irqs, | ||
378 | .sdma_reqs = omap44xx_c2c_sdma_reqs, | ||
379 | .prcm = { | ||
380 | .omap4 = { | ||
381 | .clkctrl_offs = OMAP4_CM_D2D_SAD2D_CLKCTRL_OFFSET, | ||
382 | .context_offs = OMAP4_RM_D2D_SAD2D_CONTEXT_OFFSET, | ||
383 | }, | ||
384 | }, | ||
385 | }; | ||
386 | |||
387 | /* | ||
344 | * 'counter' class | 388 | * 'counter' class |
345 | * 32-bit ordinary counter, clocked by the falling edge of the 32 khz clock | 389 | * 32-bit ordinary counter, clocked by the falling edge of the 32 khz clock |
346 | */ | 390 | */ |
@@ -375,6 +419,83 @@ static struct omap_hwmod omap44xx_counter_32k_hwmod = { | |||
375 | }; | 419 | }; |
376 | 420 | ||
377 | /* | 421 | /* |
422 | * 'ctrl_module' class | ||
423 | * attila core control module + core pad control module + wkup pad control | ||
424 | * module + attila wkup control module | ||
425 | */ | ||
426 | |||
427 | static struct omap_hwmod_class_sysconfig omap44xx_ctrl_module_sysc = { | ||
428 | .rev_offs = 0x0000, | ||
429 | .sysc_offs = 0x0010, | ||
430 | .sysc_flags = SYSC_HAS_SIDLEMODE, | ||
431 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
432 | SIDLE_SMART_WKUP), | ||
433 | .sysc_fields = &omap_hwmod_sysc_type2, | ||
434 | }; | ||
435 | |||
436 | static struct omap_hwmod_class omap44xx_ctrl_module_hwmod_class = { | ||
437 | .name = "ctrl_module", | ||
438 | .sysc = &omap44xx_ctrl_module_sysc, | ||
439 | }; | ||
440 | |||
441 | /* ctrl_module_core */ | ||
442 | static struct omap_hwmod_irq_info omap44xx_ctrl_module_core_irqs[] = { | ||
443 | { .irq = 8 + OMAP44XX_IRQ_GIC_START }, | ||
444 | { .irq = -1 } | ||
445 | }; | ||
446 | |||
447 | static struct omap_hwmod omap44xx_ctrl_module_core_hwmod = { | ||
448 | .name = "ctrl_module_core", | ||
449 | .class = &omap44xx_ctrl_module_hwmod_class, | ||
450 | .clkdm_name = "l4_cfg_clkdm", | ||
451 | .mpu_irqs = omap44xx_ctrl_module_core_irqs, | ||
452 | }; | ||
453 | |||
454 | /* ctrl_module_pad_core */ | ||
455 | static struct omap_hwmod omap44xx_ctrl_module_pad_core_hwmod = { | ||
456 | .name = "ctrl_module_pad_core", | ||
457 | .class = &omap44xx_ctrl_module_hwmod_class, | ||
458 | .clkdm_name = "l4_cfg_clkdm", | ||
459 | }; | ||
460 | |||
461 | /* ctrl_module_wkup */ | ||
462 | static struct omap_hwmod omap44xx_ctrl_module_wkup_hwmod = { | ||
463 | .name = "ctrl_module_wkup", | ||
464 | .class = &omap44xx_ctrl_module_hwmod_class, | ||
465 | .clkdm_name = "l4_wkup_clkdm", | ||
466 | }; | ||
467 | |||
468 | /* ctrl_module_pad_wkup */ | ||
469 | static struct omap_hwmod omap44xx_ctrl_module_pad_wkup_hwmod = { | ||
470 | .name = "ctrl_module_pad_wkup", | ||
471 | .class = &omap44xx_ctrl_module_hwmod_class, | ||
472 | .clkdm_name = "l4_wkup_clkdm", | ||
473 | }; | ||
474 | |||
475 | /* | ||
476 | * 'debugss' class | ||
477 | * debug and emulation sub system | ||
478 | */ | ||
479 | |||
480 | static struct omap_hwmod_class omap44xx_debugss_hwmod_class = { | ||
481 | .name = "debugss", | ||
482 | }; | ||
483 | |||
484 | /* debugss */ | ||
485 | static struct omap_hwmod omap44xx_debugss_hwmod = { | ||
486 | .name = "debugss", | ||
487 | .class = &omap44xx_debugss_hwmod_class, | ||
488 | .clkdm_name = "emu_sys_clkdm", | ||
489 | .main_clk = "trace_clk_div_ck", | ||
490 | .prcm = { | ||
491 | .omap4 = { | ||
492 | .clkctrl_offs = OMAP4_CM_EMU_DEBUGSS_CLKCTRL_OFFSET, | ||
493 | .context_offs = OMAP4_RM_EMU_DEBUGSS_CONTEXT_OFFSET, | ||
494 | }, | ||
495 | }, | ||
496 | }; | ||
497 | |||
498 | /* | ||
378 | * 'dma' class | 499 | * 'dma' class |
379 | * dma controller for data exchange between memory to memory (i.e. internal or | 500 | * dma controller for data exchange between memory to memory (i.e. internal or |
380 | * external memory) and gp peripherals to memory or memory to gp peripherals | 501 | * external memory) and gp peripherals to memory or memory to gp peripherals |
@@ -816,6 +937,154 @@ static struct omap_hwmod omap44xx_dss_venc_hwmod = { | |||
816 | }; | 937 | }; |
817 | 938 | ||
818 | /* | 939 | /* |
940 | * 'elm' class | ||
941 | * bch error location module | ||
942 | */ | ||
943 | |||
944 | static struct omap_hwmod_class_sysconfig omap44xx_elm_sysc = { | ||
945 | .rev_offs = 0x0000, | ||
946 | .sysc_offs = 0x0010, | ||
947 | .syss_offs = 0x0014, | ||
948 | .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY | | ||
949 | SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET | | ||
950 | SYSS_HAS_RESET_STATUS), | ||
951 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), | ||
952 | .sysc_fields = &omap_hwmod_sysc_type1, | ||
953 | }; | ||
954 | |||
955 | static struct omap_hwmod_class omap44xx_elm_hwmod_class = { | ||
956 | .name = "elm", | ||
957 | .sysc = &omap44xx_elm_sysc, | ||
958 | }; | ||
959 | |||
960 | /* elm */ | ||
961 | static struct omap_hwmod_irq_info omap44xx_elm_irqs[] = { | ||
962 | { .irq = 4 + OMAP44XX_IRQ_GIC_START }, | ||
963 | { .irq = -1 } | ||
964 | }; | ||
965 | |||
966 | static struct omap_hwmod omap44xx_elm_hwmod = { | ||
967 | .name = "elm", | ||
968 | .class = &omap44xx_elm_hwmod_class, | ||
969 | .clkdm_name = "l4_per_clkdm", | ||
970 | .mpu_irqs = omap44xx_elm_irqs, | ||
971 | .prcm = { | ||
972 | .omap4 = { | ||
973 | .clkctrl_offs = OMAP4_CM_L4PER_ELM_CLKCTRL_OFFSET, | ||
974 | .context_offs = OMAP4_RM_L4PER_ELM_CONTEXT_OFFSET, | ||
975 | }, | ||
976 | }, | ||
977 | }; | ||
978 | |||
979 | /* | ||
980 | * 'emif' class | ||
981 | * external memory interface no1 | ||
982 | */ | ||
983 | |||
984 | static struct omap_hwmod_class_sysconfig omap44xx_emif_sysc = { | ||
985 | .rev_offs = 0x0000, | ||
986 | }; | ||
987 | |||
988 | static struct omap_hwmod_class omap44xx_emif_hwmod_class = { | ||
989 | .name = "emif", | ||
990 | .sysc = &omap44xx_emif_sysc, | ||
991 | }; | ||
992 | |||
993 | /* emif1 */ | ||
994 | static struct omap_hwmod_irq_info omap44xx_emif1_irqs[] = { | ||
995 | { .irq = 110 + OMAP44XX_IRQ_GIC_START }, | ||
996 | { .irq = -1 } | ||
997 | }; | ||
998 | |||
999 | static struct omap_hwmod omap44xx_emif1_hwmod = { | ||
1000 | .name = "emif1", | ||
1001 | .class = &omap44xx_emif_hwmod_class, | ||
1002 | .clkdm_name = "l3_emif_clkdm", | ||
1003 | .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET, | ||
1004 | .mpu_irqs = omap44xx_emif1_irqs, | ||
1005 | .main_clk = "ddrphy_ck", | ||
1006 | .prcm = { | ||
1007 | .omap4 = { | ||
1008 | .clkctrl_offs = OMAP4_CM_MEMIF_EMIF_1_CLKCTRL_OFFSET, | ||
1009 | .context_offs = OMAP4_RM_MEMIF_EMIF_1_CONTEXT_OFFSET, | ||
1010 | .modulemode = MODULEMODE_HWCTRL, | ||
1011 | }, | ||
1012 | }, | ||
1013 | }; | ||
1014 | |||
1015 | /* emif2 */ | ||
1016 | static struct omap_hwmod_irq_info omap44xx_emif2_irqs[] = { | ||
1017 | { .irq = 111 + OMAP44XX_IRQ_GIC_START }, | ||
1018 | { .irq = -1 } | ||
1019 | }; | ||
1020 | |||
1021 | static struct omap_hwmod omap44xx_emif2_hwmod = { | ||
1022 | .name = "emif2", | ||
1023 | .class = &omap44xx_emif_hwmod_class, | ||
1024 | .clkdm_name = "l3_emif_clkdm", | ||
1025 | .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET, | ||
1026 | .mpu_irqs = omap44xx_emif2_irqs, | ||
1027 | .main_clk = "ddrphy_ck", | ||
1028 | .prcm = { | ||
1029 | .omap4 = { | ||
1030 | .clkctrl_offs = OMAP4_CM_MEMIF_EMIF_2_CLKCTRL_OFFSET, | ||
1031 | .context_offs = OMAP4_RM_MEMIF_EMIF_2_CONTEXT_OFFSET, | ||
1032 | .modulemode = MODULEMODE_HWCTRL, | ||
1033 | }, | ||
1034 | }, | ||
1035 | }; | ||
1036 | |||
1037 | /* | ||
1038 | * 'fdif' class | ||
1039 | * face detection hw accelerator module | ||
1040 | */ | ||
1041 | |||
1042 | static struct omap_hwmod_class_sysconfig omap44xx_fdif_sysc = { | ||
1043 | .rev_offs = 0x0000, | ||
1044 | .sysc_offs = 0x0010, | ||
1045 | /* | ||
1046 | * FDIF needs 100 OCP clk cycles delay after a softreset before | ||
1047 | * accessing sysconfig again. | ||
1048 | * The lowest frequency at the moment for L3 bus is 100 MHz, so | ||
1049 | * 1usec delay is needed. Add an x2 margin to be safe (2 usecs). | ||
1050 | * | ||
1051 | * TODO: Indicate errata when available. | ||
1052 | */ | ||
1053 | .srst_udelay = 2, | ||
1054 | .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_RESET_STATUS | | ||
1055 | SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET), | ||
1056 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
1057 | MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART), | ||
1058 | .sysc_fields = &omap_hwmod_sysc_type2, | ||
1059 | }; | ||
1060 | |||
1061 | static struct omap_hwmod_class omap44xx_fdif_hwmod_class = { | ||
1062 | .name = "fdif", | ||
1063 | .sysc = &omap44xx_fdif_sysc, | ||
1064 | }; | ||
1065 | |||
1066 | /* fdif */ | ||
1067 | static struct omap_hwmod_irq_info omap44xx_fdif_irqs[] = { | ||
1068 | { .irq = 69 + OMAP44XX_IRQ_GIC_START }, | ||
1069 | { .irq = -1 } | ||
1070 | }; | ||
1071 | |||
1072 | static struct omap_hwmod omap44xx_fdif_hwmod = { | ||
1073 | .name = "fdif", | ||
1074 | .class = &omap44xx_fdif_hwmod_class, | ||
1075 | .clkdm_name = "iss_clkdm", | ||
1076 | .mpu_irqs = omap44xx_fdif_irqs, | ||
1077 | .main_clk = "fdif_fck", | ||
1078 | .prcm = { | ||
1079 | .omap4 = { | ||
1080 | .clkctrl_offs = OMAP4_CM_CAM_FDIF_CLKCTRL_OFFSET, | ||
1081 | .context_offs = OMAP4_RM_CAM_FDIF_CONTEXT_OFFSET, | ||
1082 | .modulemode = MODULEMODE_SWCTRL, | ||
1083 | }, | ||
1084 | }, | ||
1085 | }; | ||
1086 | |||
1087 | /* | ||
819 | * 'gpio' class | 1088 | * 'gpio' class |
820 | * general purpose io module | 1089 | * general purpose io module |
821 | */ | 1090 | */ |
@@ -1018,6 +1287,135 @@ static struct omap_hwmod omap44xx_gpio6_hwmod = { | |||
1018 | }; | 1287 | }; |
1019 | 1288 | ||
1020 | /* | 1289 | /* |
1290 | * 'gpmc' class | ||
1291 | * general purpose memory controller | ||
1292 | */ | ||
1293 | |||
1294 | static struct omap_hwmod_class_sysconfig omap44xx_gpmc_sysc = { | ||
1295 | .rev_offs = 0x0000, | ||
1296 | .sysc_offs = 0x0010, | ||
1297 | .syss_offs = 0x0014, | ||
1298 | .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SIDLEMODE | | ||
1299 | SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS), | ||
1300 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), | ||
1301 | .sysc_fields = &omap_hwmod_sysc_type1, | ||
1302 | }; | ||
1303 | |||
1304 | static struct omap_hwmod_class omap44xx_gpmc_hwmod_class = { | ||
1305 | .name = "gpmc", | ||
1306 | .sysc = &omap44xx_gpmc_sysc, | ||
1307 | }; | ||
1308 | |||
1309 | /* gpmc */ | ||
1310 | static struct omap_hwmod_irq_info omap44xx_gpmc_irqs[] = { | ||
1311 | { .irq = 20 + OMAP44XX_IRQ_GIC_START }, | ||
1312 | { .irq = -1 } | ||
1313 | }; | ||
1314 | |||
1315 | static struct omap_hwmod_dma_info omap44xx_gpmc_sdma_reqs[] = { | ||
1316 | { .dma_req = 3 + OMAP44XX_DMA_REQ_START }, | ||
1317 | { .dma_req = -1 } | ||
1318 | }; | ||
1319 | |||
1320 | static struct omap_hwmod omap44xx_gpmc_hwmod = { | ||
1321 | .name = "gpmc", | ||
1322 | .class = &omap44xx_gpmc_hwmod_class, | ||
1323 | .clkdm_name = "l3_2_clkdm", | ||
1324 | .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET, | ||
1325 | .mpu_irqs = omap44xx_gpmc_irqs, | ||
1326 | .sdma_reqs = omap44xx_gpmc_sdma_reqs, | ||
1327 | .prcm = { | ||
1328 | .omap4 = { | ||
1329 | .clkctrl_offs = OMAP4_CM_L3_2_GPMC_CLKCTRL_OFFSET, | ||
1330 | .context_offs = OMAP4_RM_L3_2_GPMC_CONTEXT_OFFSET, | ||
1331 | .modulemode = MODULEMODE_HWCTRL, | ||
1332 | }, | ||
1333 | }, | ||
1334 | }; | ||
1335 | |||
1336 | /* | ||
1337 | * 'gpu' class | ||
1338 | * 2d/3d graphics accelerator | ||
1339 | */ | ||
1340 | |||
1341 | static struct omap_hwmod_class_sysconfig omap44xx_gpu_sysc = { | ||
1342 | .rev_offs = 0x1fc00, | ||
1343 | .sysc_offs = 0x1fc10, | ||
1344 | .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE), | ||
1345 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
1346 | SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO | | ||
1347 | MSTANDBY_SMART | MSTANDBY_SMART_WKUP), | ||
1348 | .sysc_fields = &omap_hwmod_sysc_type2, | ||
1349 | }; | ||
1350 | |||
1351 | static struct omap_hwmod_class omap44xx_gpu_hwmod_class = { | ||
1352 | .name = "gpu", | ||
1353 | .sysc = &omap44xx_gpu_sysc, | ||
1354 | }; | ||
1355 | |||
1356 | /* gpu */ | ||
1357 | static struct omap_hwmod_irq_info omap44xx_gpu_irqs[] = { | ||
1358 | { .irq = 21 + OMAP44XX_IRQ_GIC_START }, | ||
1359 | { .irq = -1 } | ||
1360 | }; | ||
1361 | |||
1362 | static struct omap_hwmod omap44xx_gpu_hwmod = { | ||
1363 | .name = "gpu", | ||
1364 | .class = &omap44xx_gpu_hwmod_class, | ||
1365 | .clkdm_name = "l3_gfx_clkdm", | ||
1366 | .mpu_irqs = omap44xx_gpu_irqs, | ||
1367 | .main_clk = "gpu_fck", | ||
1368 | .prcm = { | ||
1369 | .omap4 = { | ||
1370 | .clkctrl_offs = OMAP4_CM_GFX_GFX_CLKCTRL_OFFSET, | ||
1371 | .context_offs = OMAP4_RM_GFX_GFX_CONTEXT_OFFSET, | ||
1372 | .modulemode = MODULEMODE_SWCTRL, | ||
1373 | }, | ||
1374 | }, | ||
1375 | }; | ||
1376 | |||
1377 | /* | ||
1378 | * 'hdq1w' class | ||
1379 | * hdq / 1-wire serial interface controller | ||
1380 | */ | ||
1381 | |||
1382 | static struct omap_hwmod_class_sysconfig omap44xx_hdq1w_sysc = { | ||
1383 | .rev_offs = 0x0000, | ||
1384 | .sysc_offs = 0x0014, | ||
1385 | .syss_offs = 0x0018, | ||
1386 | .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SOFTRESET | | ||
1387 | SYSS_HAS_RESET_STATUS), | ||
1388 | .sysc_fields = &omap_hwmod_sysc_type1, | ||
1389 | }; | ||
1390 | |||
1391 | static struct omap_hwmod_class omap44xx_hdq1w_hwmod_class = { | ||
1392 | .name = "hdq1w", | ||
1393 | .sysc = &omap44xx_hdq1w_sysc, | ||
1394 | }; | ||
1395 | |||
1396 | /* hdq1w */ | ||
1397 | static struct omap_hwmod_irq_info omap44xx_hdq1w_irqs[] = { | ||
1398 | { .irq = 58 + OMAP44XX_IRQ_GIC_START }, | ||
1399 | { .irq = -1 } | ||
1400 | }; | ||
1401 | |||
1402 | static struct omap_hwmod omap44xx_hdq1w_hwmod = { | ||
1403 | .name = "hdq1w", | ||
1404 | .class = &omap44xx_hdq1w_hwmod_class, | ||
1405 | .clkdm_name = "l4_per_clkdm", | ||
1406 | .flags = HWMOD_INIT_NO_RESET, /* XXX temporary */ | ||
1407 | .mpu_irqs = omap44xx_hdq1w_irqs, | ||
1408 | .main_clk = "hdq1w_fck", | ||
1409 | .prcm = { | ||
1410 | .omap4 = { | ||
1411 | .clkctrl_offs = OMAP4_CM_L4PER_HDQ1W_CLKCTRL_OFFSET, | ||
1412 | .context_offs = OMAP4_RM_L4PER_HDQ1W_CONTEXT_OFFSET, | ||
1413 | .modulemode = MODULEMODE_SWCTRL, | ||
1414 | }, | ||
1415 | }, | ||
1416 | }; | ||
1417 | |||
1418 | /* | ||
1021 | * 'hsi' class | 1419 | * 'hsi' class |
1022 | * mipi high-speed synchronous serial interface (multichannel and full-duplex | 1420 | * mipi high-speed synchronous serial interface (multichannel and full-duplex |
1023 | * serial if) | 1421 | * serial if) |
@@ -1441,6 +1839,58 @@ static struct omap_hwmod omap44xx_mailbox_hwmod = { | |||
1441 | }; | 1839 | }; |
1442 | 1840 | ||
1443 | /* | 1841 | /* |
1842 | * 'mcasp' class | ||
1843 | * multi-channel audio serial port controller | ||
1844 | */ | ||
1845 | |||
1846 | /* The IP is not compliant to type1 / type2 scheme */ | ||
1847 | static struct omap_hwmod_sysc_fields omap_hwmod_sysc_type_mcasp = { | ||
1848 | .sidle_shift = 0, | ||
1849 | }; | ||
1850 | |||
1851 | static struct omap_hwmod_class_sysconfig omap44xx_mcasp_sysc = { | ||
1852 | .sysc_offs = 0x0004, | ||
1853 | .sysc_flags = SYSC_HAS_SIDLEMODE, | ||
1854 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
1855 | SIDLE_SMART_WKUP), | ||
1856 | .sysc_fields = &omap_hwmod_sysc_type_mcasp, | ||
1857 | }; | ||
1858 | |||
1859 | static struct omap_hwmod_class omap44xx_mcasp_hwmod_class = { | ||
1860 | .name = "mcasp", | ||
1861 | .sysc = &omap44xx_mcasp_sysc, | ||
1862 | }; | ||
1863 | |||
1864 | /* mcasp */ | ||
1865 | static struct omap_hwmod_irq_info omap44xx_mcasp_irqs[] = { | ||
1866 | { .name = "arevt", .irq = 108 + OMAP44XX_IRQ_GIC_START }, | ||
1867 | { .name = "axevt", .irq = 109 + OMAP44XX_IRQ_GIC_START }, | ||
1868 | { .irq = -1 } | ||
1869 | }; | ||
1870 | |||
1871 | static struct omap_hwmod_dma_info omap44xx_mcasp_sdma_reqs[] = { | ||
1872 | { .name = "axevt", .dma_req = 7 + OMAP44XX_DMA_REQ_START }, | ||
1873 | { .name = "arevt", .dma_req = 10 + OMAP44XX_DMA_REQ_START }, | ||
1874 | { .dma_req = -1 } | ||
1875 | }; | ||
1876 | |||
1877 | static struct omap_hwmod omap44xx_mcasp_hwmod = { | ||
1878 | .name = "mcasp", | ||
1879 | .class = &omap44xx_mcasp_hwmod_class, | ||
1880 | .clkdm_name = "abe_clkdm", | ||
1881 | .mpu_irqs = omap44xx_mcasp_irqs, | ||
1882 | .sdma_reqs = omap44xx_mcasp_sdma_reqs, | ||
1883 | .main_clk = "mcasp_fck", | ||
1884 | .prcm = { | ||
1885 | .omap4 = { | ||
1886 | .clkctrl_offs = OMAP4_CM1_ABE_MCASP_CLKCTRL_OFFSET, | ||
1887 | .context_offs = OMAP4_RM_ABE_MCASP_CONTEXT_OFFSET, | ||
1888 | .modulemode = MODULEMODE_SWCTRL, | ||
1889 | }, | ||
1890 | }, | ||
1891 | }; | ||
1892 | |||
1893 | /* | ||
1444 | * 'mcbsp' class | 1894 | * 'mcbsp' class |
1445 | * multi channel buffered serial port controller | 1895 | * multi channel buffered serial port controller |
1446 | */ | 1896 | */ |
@@ -2017,6 +2467,252 @@ static struct omap_hwmod omap44xx_mpu_hwmod = { | |||
2017 | }; | 2467 | }; |
2018 | 2468 | ||
2019 | /* | 2469 | /* |
2470 | * 'ocmc_ram' class | ||
2471 | * top-level core on-chip ram | ||
2472 | */ | ||
2473 | |||
2474 | static struct omap_hwmod_class omap44xx_ocmc_ram_hwmod_class = { | ||
2475 | .name = "ocmc_ram", | ||
2476 | }; | ||
2477 | |||
2478 | /* ocmc_ram */ | ||
2479 | static struct omap_hwmod omap44xx_ocmc_ram_hwmod = { | ||
2480 | .name = "ocmc_ram", | ||
2481 | .class = &omap44xx_ocmc_ram_hwmod_class, | ||
2482 | .clkdm_name = "l3_2_clkdm", | ||
2483 | .prcm = { | ||
2484 | .omap4 = { | ||
2485 | .clkctrl_offs = OMAP4_CM_L3_2_OCMC_RAM_CLKCTRL_OFFSET, | ||
2486 | .context_offs = OMAP4_RM_L3_2_OCMC_RAM_CONTEXT_OFFSET, | ||
2487 | }, | ||
2488 | }, | ||
2489 | }; | ||
2490 | |||
2491 | /* | ||
2492 | * 'ocp2scp' class | ||
2493 | * bridge to transform ocp interface protocol to scp (serial control port) | ||
2494 | * protocol | ||
2495 | */ | ||
2496 | |||
2497 | static struct omap_hwmod_class omap44xx_ocp2scp_hwmod_class = { | ||
2498 | .name = "ocp2scp", | ||
2499 | }; | ||
2500 | |||
2501 | /* ocp2scp_usb_phy */ | ||
2502 | static struct omap_hwmod_opt_clk ocp2scp_usb_phy_opt_clks[] = { | ||
2503 | { .role = "phy_48m", .clk = "ocp2scp_usb_phy_phy_48m" }, | ||
2504 | }; | ||
2505 | |||
2506 | static struct omap_hwmod omap44xx_ocp2scp_usb_phy_hwmod = { | ||
2507 | .name = "ocp2scp_usb_phy", | ||
2508 | .class = &omap44xx_ocp2scp_hwmod_class, | ||
2509 | .clkdm_name = "l3_init_clkdm", | ||
2510 | .prcm = { | ||
2511 | .omap4 = { | ||
2512 | .clkctrl_offs = OMAP4_CM_L3INIT_USBPHYOCP2SCP_CLKCTRL_OFFSET, | ||
2513 | .context_offs = OMAP4_RM_L3INIT_USBPHYOCP2SCP_CONTEXT_OFFSET, | ||
2514 | .modulemode = MODULEMODE_HWCTRL, | ||
2515 | }, | ||
2516 | }, | ||
2517 | .opt_clks = ocp2scp_usb_phy_opt_clks, | ||
2518 | .opt_clks_cnt = ARRAY_SIZE(ocp2scp_usb_phy_opt_clks), | ||
2519 | }; | ||
2520 | |||
2521 | /* | ||
2522 | * 'prcm' class | ||
2523 | * power and reset manager (part of the prcm infrastructure) + clock manager 2 | ||
2524 | * + clock manager 1 (in always on power domain) + local prm in mpu | ||
2525 | */ | ||
2526 | |||
2527 | static struct omap_hwmod_class omap44xx_prcm_hwmod_class = { | ||
2528 | .name = "prcm", | ||
2529 | }; | ||
2530 | |||
2531 | /* prcm_mpu */ | ||
2532 | static struct omap_hwmod omap44xx_prcm_mpu_hwmod = { | ||
2533 | .name = "prcm_mpu", | ||
2534 | .class = &omap44xx_prcm_hwmod_class, | ||
2535 | .clkdm_name = "l4_wkup_clkdm", | ||
2536 | }; | ||
2537 | |||
2538 | /* cm_core_aon */ | ||
2539 | static struct omap_hwmod omap44xx_cm_core_aon_hwmod = { | ||
2540 | .name = "cm_core_aon", | ||
2541 | .class = &omap44xx_prcm_hwmod_class, | ||
2542 | .clkdm_name = "cm_clkdm", | ||
2543 | }; | ||
2544 | |||
2545 | /* cm_core */ | ||
2546 | static struct omap_hwmod omap44xx_cm_core_hwmod = { | ||
2547 | .name = "cm_core", | ||
2548 | .class = &omap44xx_prcm_hwmod_class, | ||
2549 | .clkdm_name = "cm_clkdm", | ||
2550 | }; | ||
2551 | |||
2552 | /* prm */ | ||
2553 | static struct omap_hwmod_irq_info omap44xx_prm_irqs[] = { | ||
2554 | { .irq = 11 + OMAP44XX_IRQ_GIC_START }, | ||
2555 | { .irq = -1 } | ||
2556 | }; | ||
2557 | |||
2558 | static struct omap_hwmod_rst_info omap44xx_prm_resets[] = { | ||
2559 | { .name = "rst_global_warm_sw", .rst_shift = 0 }, | ||
2560 | { .name = "rst_global_cold_sw", .rst_shift = 1 }, | ||
2561 | }; | ||
2562 | |||
2563 | static struct omap_hwmod omap44xx_prm_hwmod = { | ||
2564 | .name = "prm", | ||
2565 | .class = &omap44xx_prcm_hwmod_class, | ||
2566 | .clkdm_name = "prm_clkdm", | ||
2567 | .mpu_irqs = omap44xx_prm_irqs, | ||
2568 | .rst_lines = omap44xx_prm_resets, | ||
2569 | .rst_lines_cnt = ARRAY_SIZE(omap44xx_prm_resets), | ||
2570 | }; | ||
2571 | |||
2572 | /* | ||
2573 | * 'scrm' class | ||
2574 | * system clock and reset manager | ||
2575 | */ | ||
2576 | |||
2577 | static struct omap_hwmod_class omap44xx_scrm_hwmod_class = { | ||
2578 | .name = "scrm", | ||
2579 | }; | ||
2580 | |||
2581 | /* scrm */ | ||
2582 | static struct omap_hwmod omap44xx_scrm_hwmod = { | ||
2583 | .name = "scrm", | ||
2584 | .class = &omap44xx_scrm_hwmod_class, | ||
2585 | .clkdm_name = "l4_wkup_clkdm", | ||
2586 | }; | ||
2587 | |||
2588 | /* | ||
2589 | * 'sl2if' class | ||
2590 | * shared level 2 memory interface | ||
2591 | */ | ||
2592 | |||
2593 | static struct omap_hwmod_class omap44xx_sl2if_hwmod_class = { | ||
2594 | .name = "sl2if", | ||
2595 | }; | ||
2596 | |||
2597 | /* sl2if */ | ||
2598 | static struct omap_hwmod omap44xx_sl2if_hwmod = { | ||
2599 | .name = "sl2if", | ||
2600 | .class = &omap44xx_sl2if_hwmod_class, | ||
2601 | .clkdm_name = "ivahd_clkdm", | ||
2602 | .prcm = { | ||
2603 | .omap4 = { | ||
2604 | .clkctrl_offs = OMAP4_CM_IVAHD_SL2_CLKCTRL_OFFSET, | ||
2605 | .context_offs = OMAP4_RM_IVAHD_SL2_CONTEXT_OFFSET, | ||
2606 | .modulemode = MODULEMODE_HWCTRL, | ||
2607 | }, | ||
2608 | }, | ||
2609 | }; | ||
2610 | |||
2611 | /* | ||
2612 | * 'slimbus' class | ||
2613 | * bidirectional, multi-drop, multi-channel two-line serial interface between | ||
2614 | * the device and external components | ||
2615 | */ | ||
2616 | |||
2617 | static struct omap_hwmod_class_sysconfig omap44xx_slimbus_sysc = { | ||
2618 | .rev_offs = 0x0000, | ||
2619 | .sysc_offs = 0x0010, | ||
2620 | .sysc_flags = (SYSC_HAS_RESET_STATUS | SYSC_HAS_SIDLEMODE | | ||
2621 | SYSC_HAS_SOFTRESET), | ||
2622 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
2623 | SIDLE_SMART_WKUP), | ||
2624 | .sysc_fields = &omap_hwmod_sysc_type2, | ||
2625 | }; | ||
2626 | |||
2627 | static struct omap_hwmod_class omap44xx_slimbus_hwmod_class = { | ||
2628 | .name = "slimbus", | ||
2629 | .sysc = &omap44xx_slimbus_sysc, | ||
2630 | }; | ||
2631 | |||
2632 | /* slimbus1 */ | ||
2633 | static struct omap_hwmod_irq_info omap44xx_slimbus1_irqs[] = { | ||
2634 | { .irq = 97 + OMAP44XX_IRQ_GIC_START }, | ||
2635 | { .irq = -1 } | ||
2636 | }; | ||
2637 | |||
2638 | static struct omap_hwmod_dma_info omap44xx_slimbus1_sdma_reqs[] = { | ||
2639 | { .name = "tx0", .dma_req = 84 + OMAP44XX_DMA_REQ_START }, | ||
2640 | { .name = "tx1", .dma_req = 85 + OMAP44XX_DMA_REQ_START }, | ||
2641 | { .name = "tx2", .dma_req = 86 + OMAP44XX_DMA_REQ_START }, | ||
2642 | { .name = "tx3", .dma_req = 87 + OMAP44XX_DMA_REQ_START }, | ||
2643 | { .name = "rx0", .dma_req = 88 + OMAP44XX_DMA_REQ_START }, | ||
2644 | { .name = "rx1", .dma_req = 89 + OMAP44XX_DMA_REQ_START }, | ||
2645 | { .name = "rx2", .dma_req = 90 + OMAP44XX_DMA_REQ_START }, | ||
2646 | { .name = "rx3", .dma_req = 91 + OMAP44XX_DMA_REQ_START }, | ||
2647 | { .dma_req = -1 } | ||
2648 | }; | ||
2649 | |||
2650 | static struct omap_hwmod_opt_clk slimbus1_opt_clks[] = { | ||
2651 | { .role = "fclk_1", .clk = "slimbus1_fclk_1" }, | ||
2652 | { .role = "fclk_0", .clk = "slimbus1_fclk_0" }, | ||
2653 | { .role = "fclk_2", .clk = "slimbus1_fclk_2" }, | ||
2654 | { .role = "slimbus_clk", .clk = "slimbus1_slimbus_clk" }, | ||
2655 | }; | ||
2656 | |||
2657 | static struct omap_hwmod omap44xx_slimbus1_hwmod = { | ||
2658 | .name = "slimbus1", | ||
2659 | .class = &omap44xx_slimbus_hwmod_class, | ||
2660 | .clkdm_name = "abe_clkdm", | ||
2661 | .mpu_irqs = omap44xx_slimbus1_irqs, | ||
2662 | .sdma_reqs = omap44xx_slimbus1_sdma_reqs, | ||
2663 | .prcm = { | ||
2664 | .omap4 = { | ||
2665 | .clkctrl_offs = OMAP4_CM1_ABE_SLIMBUS_CLKCTRL_OFFSET, | ||
2666 | .context_offs = OMAP4_RM_ABE_SLIMBUS_CONTEXT_OFFSET, | ||
2667 | .modulemode = MODULEMODE_SWCTRL, | ||
2668 | }, | ||
2669 | }, | ||
2670 | .opt_clks = slimbus1_opt_clks, | ||
2671 | .opt_clks_cnt = ARRAY_SIZE(slimbus1_opt_clks), | ||
2672 | }; | ||
2673 | |||
2674 | /* slimbus2 */ | ||
2675 | static struct omap_hwmod_irq_info omap44xx_slimbus2_irqs[] = { | ||
2676 | { .irq = 98 + OMAP44XX_IRQ_GIC_START }, | ||
2677 | { .irq = -1 } | ||
2678 | }; | ||
2679 | |||
2680 | static struct omap_hwmod_dma_info omap44xx_slimbus2_sdma_reqs[] = { | ||
2681 | { .name = "tx0", .dma_req = 92 + OMAP44XX_DMA_REQ_START }, | ||
2682 | { .name = "tx1", .dma_req = 93 + OMAP44XX_DMA_REQ_START }, | ||
2683 | { .name = "tx2", .dma_req = 94 + OMAP44XX_DMA_REQ_START }, | ||
2684 | { .name = "tx3", .dma_req = 95 + OMAP44XX_DMA_REQ_START }, | ||
2685 | { .name = "rx0", .dma_req = 96 + OMAP44XX_DMA_REQ_START }, | ||
2686 | { .name = "rx1", .dma_req = 97 + OMAP44XX_DMA_REQ_START }, | ||
2687 | { .name = "rx2", .dma_req = 98 + OMAP44XX_DMA_REQ_START }, | ||
2688 | { .name = "rx3", .dma_req = 99 + OMAP44XX_DMA_REQ_START }, | ||
2689 | { .dma_req = -1 } | ||
2690 | }; | ||
2691 | |||
2692 | static struct omap_hwmod_opt_clk slimbus2_opt_clks[] = { | ||
2693 | { .role = "fclk_1", .clk = "slimbus2_fclk_1" }, | ||
2694 | { .role = "fclk_0", .clk = "slimbus2_fclk_0" }, | ||
2695 | { .role = "slimbus_clk", .clk = "slimbus2_slimbus_clk" }, | ||
2696 | }; | ||
2697 | |||
2698 | static struct omap_hwmod omap44xx_slimbus2_hwmod = { | ||
2699 | .name = "slimbus2", | ||
2700 | .class = &omap44xx_slimbus_hwmod_class, | ||
2701 | .clkdm_name = "l4_per_clkdm", | ||
2702 | .mpu_irqs = omap44xx_slimbus2_irqs, | ||
2703 | .sdma_reqs = omap44xx_slimbus2_sdma_reqs, | ||
2704 | .prcm = { | ||
2705 | .omap4 = { | ||
2706 | .clkctrl_offs = OMAP4_CM_L4PER_SLIMBUS2_CLKCTRL_OFFSET, | ||
2707 | .context_offs = OMAP4_RM_L4PER_SLIMBUS2_CONTEXT_OFFSET, | ||
2708 | .modulemode = MODULEMODE_SWCTRL, | ||
2709 | }, | ||
2710 | }, | ||
2711 | .opt_clks = slimbus2_opt_clks, | ||
2712 | .opt_clks_cnt = ARRAY_SIZE(slimbus2_opt_clks), | ||
2713 | }; | ||
2714 | |||
2715 | /* | ||
2020 | * 'smartreflex' class | 2716 | * 'smartreflex' class |
2021 | * smartreflex module (monitor silicon performance and outputs a measure of | 2717 | * smartreflex module (monitor silicon performance and outputs a measure of |
2022 | * performance error) | 2718 | * performance error) |
@@ -2584,6 +3280,55 @@ static struct omap_hwmod omap44xx_uart4_hwmod = { | |||
2584 | }; | 3280 | }; |
2585 | 3281 | ||
2586 | /* | 3282 | /* |
3283 | * 'usb_host_fs' class | ||
3284 | * full-speed usb host controller | ||
3285 | */ | ||
3286 | |||
3287 | /* The IP is not compliant to type1 / type2 scheme */ | ||
3288 | static struct omap_hwmod_sysc_fields omap_hwmod_sysc_type_usb_host_fs = { | ||
3289 | .midle_shift = 4, | ||
3290 | .sidle_shift = 2, | ||
3291 | .srst_shift = 1, | ||
3292 | }; | ||
3293 | |||
3294 | static struct omap_hwmod_class_sysconfig omap44xx_usb_host_fs_sysc = { | ||
3295 | .rev_offs = 0x0000, | ||
3296 | .sysc_offs = 0x0210, | ||
3297 | .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE | | ||
3298 | SYSC_HAS_SOFTRESET), | ||
3299 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
3300 | SIDLE_SMART_WKUP), | ||
3301 | .sysc_fields = &omap_hwmod_sysc_type_usb_host_fs, | ||
3302 | }; | ||
3303 | |||
3304 | static struct omap_hwmod_class omap44xx_usb_host_fs_hwmod_class = { | ||
3305 | .name = "usb_host_fs", | ||
3306 | .sysc = &omap44xx_usb_host_fs_sysc, | ||
3307 | }; | ||
3308 | |||
3309 | /* usb_host_fs */ | ||
3310 | static struct omap_hwmod_irq_info omap44xx_usb_host_fs_irqs[] = { | ||
3311 | { .name = "std", .irq = 89 + OMAP44XX_IRQ_GIC_START }, | ||
3312 | { .name = "smi", .irq = 90 + OMAP44XX_IRQ_GIC_START }, | ||
3313 | { .irq = -1 } | ||
3314 | }; | ||
3315 | |||
3316 | static struct omap_hwmod omap44xx_usb_host_fs_hwmod = { | ||
3317 | .name = "usb_host_fs", | ||
3318 | .class = &omap44xx_usb_host_fs_hwmod_class, | ||
3319 | .clkdm_name = "l3_init_clkdm", | ||
3320 | .mpu_irqs = omap44xx_usb_host_fs_irqs, | ||
3321 | .main_clk = "usb_host_fs_fck", | ||
3322 | .prcm = { | ||
3323 | .omap4 = { | ||
3324 | .clkctrl_offs = OMAP4_CM_L3INIT_USB_HOST_FS_CLKCTRL_OFFSET, | ||
3325 | .context_offs = OMAP4_RM_L3INIT_USB_HOST_FS_CONTEXT_OFFSET, | ||
3326 | .modulemode = MODULEMODE_SWCTRL, | ||
3327 | }, | ||
3328 | }, | ||
3329 | }; | ||
3330 | |||
3331 | /* | ||
2587 | * 'usb_host_hs' class | 3332 | * 'usb_host_hs' class |
2588 | * high-speed multi-port usb host controller | 3333 | * high-speed multi-port usb host controller |
2589 | */ | 3334 | */ |
@@ -2838,6 +3583,32 @@ static struct omap_hwmod omap44xx_wd_timer3_hwmod = { | |||
2838 | * interfaces | 3583 | * interfaces |
2839 | */ | 3584 | */ |
2840 | 3585 | ||
3586 | static struct omap_hwmod_addr_space omap44xx_c2c_target_fw_addrs[] = { | ||
3587 | { | ||
3588 | .pa_start = 0x4a204000, | ||
3589 | .pa_end = 0x4a2040ff, | ||
3590 | .flags = ADDR_TYPE_RT | ||
3591 | }, | ||
3592 | { } | ||
3593 | }; | ||
3594 | |||
3595 | /* c2c -> c2c_target_fw */ | ||
3596 | static struct omap_hwmod_ocp_if omap44xx_c2c__c2c_target_fw = { | ||
3597 | .master = &omap44xx_c2c_hwmod, | ||
3598 | .slave = &omap44xx_c2c_target_fw_hwmod, | ||
3599 | .clk = "div_core_ck", | ||
3600 | .addr = omap44xx_c2c_target_fw_addrs, | ||
3601 | .user = OCP_USER_MPU, | ||
3602 | }; | ||
3603 | |||
3604 | /* l4_cfg -> c2c_target_fw */ | ||
3605 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__c2c_target_fw = { | ||
3606 | .master = &omap44xx_l4_cfg_hwmod, | ||
3607 | .slave = &omap44xx_c2c_target_fw_hwmod, | ||
3608 | .clk = "l4_div_ck", | ||
3609 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3610 | }; | ||
3611 | |||
2841 | /* l3_main_1 -> dmm */ | 3612 | /* l3_main_1 -> dmm */ |
2842 | static struct omap_hwmod_ocp_if omap44xx_l3_main_1__dmm = { | 3613 | static struct omap_hwmod_ocp_if omap44xx_l3_main_1__dmm = { |
2843 | .master = &omap44xx_l3_main_1_hwmod, | 3614 | .master = &omap44xx_l3_main_1_hwmod, |
@@ -2864,6 +3635,14 @@ static struct omap_hwmod_ocp_if omap44xx_mpu__dmm = { | |||
2864 | .user = OCP_USER_MPU, | 3635 | .user = OCP_USER_MPU, |
2865 | }; | 3636 | }; |
2866 | 3637 | ||
3638 | /* c2c -> emif_fw */ | ||
3639 | static struct omap_hwmod_ocp_if omap44xx_c2c__emif_fw = { | ||
3640 | .master = &omap44xx_c2c_hwmod, | ||
3641 | .slave = &omap44xx_emif_fw_hwmod, | ||
3642 | .clk = "div_core_ck", | ||
3643 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3644 | }; | ||
3645 | |||
2867 | /* dmm -> emif_fw */ | 3646 | /* dmm -> emif_fw */ |
2868 | static struct omap_hwmod_ocp_if omap44xx_dmm__emif_fw = { | 3647 | static struct omap_hwmod_ocp_if omap44xx_dmm__emif_fw = { |
2869 | .master = &omap44xx_dmm_hwmod, | 3648 | .master = &omap44xx_dmm_hwmod, |
@@ -2906,6 +3685,14 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_3__l3_instr = { | |||
2906 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3685 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
2907 | }; | 3686 | }; |
2908 | 3687 | ||
3688 | /* ocp_wp_noc -> l3_instr */ | ||
3689 | static struct omap_hwmod_ocp_if omap44xx_ocp_wp_noc__l3_instr = { | ||
3690 | .master = &omap44xx_ocp_wp_noc_hwmod, | ||
3691 | .slave = &omap44xx_l3_instr_hwmod, | ||
3692 | .clk = "l3_div_ck", | ||
3693 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3694 | }; | ||
3695 | |||
2909 | /* dsp -> l3_main_1 */ | 3696 | /* dsp -> l3_main_1 */ |
2910 | static struct omap_hwmod_ocp_if omap44xx_dsp__l3_main_1 = { | 3697 | static struct omap_hwmod_ocp_if omap44xx_dsp__l3_main_1 = { |
2911 | .master = &omap44xx_dsp_hwmod, | 3698 | .master = &omap44xx_dsp_hwmod, |
@@ -2972,6 +3759,22 @@ static struct omap_hwmod_ocp_if omap44xx_mpu__l3_main_1 = { | |||
2972 | .user = OCP_USER_MPU, | 3759 | .user = OCP_USER_MPU, |
2973 | }; | 3760 | }; |
2974 | 3761 | ||
3762 | /* c2c_target_fw -> l3_main_2 */ | ||
3763 | static struct omap_hwmod_ocp_if omap44xx_c2c_target_fw__l3_main_2 = { | ||
3764 | .master = &omap44xx_c2c_target_fw_hwmod, | ||
3765 | .slave = &omap44xx_l3_main_2_hwmod, | ||
3766 | .clk = "l3_div_ck", | ||
3767 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3768 | }; | ||
3769 | |||
3770 | /* debugss -> l3_main_2 */ | ||
3771 | static struct omap_hwmod_ocp_if omap44xx_debugss__l3_main_2 = { | ||
3772 | .master = &omap44xx_debugss_hwmod, | ||
3773 | .slave = &omap44xx_l3_main_2_hwmod, | ||
3774 | .clk = "dbgclk_mux_ck", | ||
3775 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3776 | }; | ||
3777 | |||
2975 | /* dma_system -> l3_main_2 */ | 3778 | /* dma_system -> l3_main_2 */ |
2976 | static struct omap_hwmod_ocp_if omap44xx_dma_system__l3_main_2 = { | 3779 | static struct omap_hwmod_ocp_if omap44xx_dma_system__l3_main_2 = { |
2977 | .master = &omap44xx_dma_system_hwmod, | 3780 | .master = &omap44xx_dma_system_hwmod, |
@@ -2980,6 +3783,22 @@ static struct omap_hwmod_ocp_if omap44xx_dma_system__l3_main_2 = { | |||
2980 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3783 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
2981 | }; | 3784 | }; |
2982 | 3785 | ||
3786 | /* fdif -> l3_main_2 */ | ||
3787 | static struct omap_hwmod_ocp_if omap44xx_fdif__l3_main_2 = { | ||
3788 | .master = &omap44xx_fdif_hwmod, | ||
3789 | .slave = &omap44xx_l3_main_2_hwmod, | ||
3790 | .clk = "l3_div_ck", | ||
3791 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3792 | }; | ||
3793 | |||
3794 | /* gpu -> l3_main_2 */ | ||
3795 | static struct omap_hwmod_ocp_if omap44xx_gpu__l3_main_2 = { | ||
3796 | .master = &omap44xx_gpu_hwmod, | ||
3797 | .slave = &omap44xx_l3_main_2_hwmod, | ||
3798 | .clk = "l3_div_ck", | ||
3799 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3800 | }; | ||
3801 | |||
2983 | /* hsi -> l3_main_2 */ | 3802 | /* hsi -> l3_main_2 */ |
2984 | static struct omap_hwmod_ocp_if omap44xx_hsi__l3_main_2 = { | 3803 | static struct omap_hwmod_ocp_if omap44xx_hsi__l3_main_2 = { |
2985 | .master = &omap44xx_hsi_hwmod, | 3804 | .master = &omap44xx_hsi_hwmod, |
@@ -3038,6 +3857,14 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__l3_main_2 = { | |||
3038 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3857 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
3039 | }; | 3858 | }; |
3040 | 3859 | ||
3860 | /* usb_host_fs -> l3_main_2 */ | ||
3861 | static struct omap_hwmod_ocp_if omap44xx_usb_host_fs__l3_main_2 = { | ||
3862 | .master = &omap44xx_usb_host_fs_hwmod, | ||
3863 | .slave = &omap44xx_l3_main_2_hwmod, | ||
3864 | .clk = "l3_div_ck", | ||
3865 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3866 | }; | ||
3867 | |||
3041 | /* usb_host_hs -> l3_main_2 */ | 3868 | /* usb_host_hs -> l3_main_2 */ |
3042 | static struct omap_hwmod_ocp_if omap44xx_usb_host_hs__l3_main_2 = { | 3869 | static struct omap_hwmod_ocp_if omap44xx_usb_host_hs__l3_main_2 = { |
3043 | .master = &omap44xx_usb_host_hs_hwmod, | 3870 | .master = &omap44xx_usb_host_hs_hwmod, |
@@ -3152,6 +3979,24 @@ static struct omap_hwmod_ocp_if omap44xx_mpu__mpu_private = { | |||
3152 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3979 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
3153 | }; | 3980 | }; |
3154 | 3981 | ||
3982 | static struct omap_hwmod_addr_space omap44xx_ocp_wp_noc_addrs[] = { | ||
3983 | { | ||
3984 | .pa_start = 0x4a102000, | ||
3985 | .pa_end = 0x4a10207f, | ||
3986 | .flags = ADDR_TYPE_RT | ||
3987 | }, | ||
3988 | { } | ||
3989 | }; | ||
3990 | |||
3991 | /* l4_cfg -> ocp_wp_noc */ | ||
3992 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__ocp_wp_noc = { | ||
3993 | .master = &omap44xx_l4_cfg_hwmod, | ||
3994 | .slave = &omap44xx_ocp_wp_noc_hwmod, | ||
3995 | .clk = "l4_div_ck", | ||
3996 | .addr = omap44xx_ocp_wp_noc_addrs, | ||
3997 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3998 | }; | ||
3999 | |||
3155 | static struct omap_hwmod_addr_space omap44xx_aess_addrs[] = { | 4000 | static struct omap_hwmod_addr_space omap44xx_aess_addrs[] = { |
3156 | { | 4001 | { |
3157 | .pa_start = 0x401f1000, | 4002 | .pa_start = 0x401f1000, |
@@ -3188,6 +4033,14 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__aess_dma = { | |||
3188 | .user = OCP_USER_SDMA, | 4033 | .user = OCP_USER_SDMA, |
3189 | }; | 4034 | }; |
3190 | 4035 | ||
4036 | /* l3_main_2 -> c2c */ | ||
4037 | static struct omap_hwmod_ocp_if omap44xx_l3_main_2__c2c = { | ||
4038 | .master = &omap44xx_l3_main_2_hwmod, | ||
4039 | .slave = &omap44xx_c2c_hwmod, | ||
4040 | .clk = "l3_div_ck", | ||
4041 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
4042 | }; | ||
4043 | |||
3191 | static struct omap_hwmod_addr_space omap44xx_counter_32k_addrs[] = { | 4044 | static struct omap_hwmod_addr_space omap44xx_counter_32k_addrs[] = { |
3192 | { | 4045 | { |
3193 | .pa_start = 0x4a304000, | 4046 | .pa_start = 0x4a304000, |
@@ -3206,6 +4059,96 @@ static struct omap_hwmod_ocp_if omap44xx_l4_wkup__counter_32k = { | |||
3206 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4059 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
3207 | }; | 4060 | }; |
3208 | 4061 | ||
4062 | static struct omap_hwmod_addr_space omap44xx_ctrl_module_core_addrs[] = { | ||
4063 | { | ||
4064 | .pa_start = 0x4a002000, | ||
4065 | .pa_end = 0x4a0027ff, | ||
4066 | .flags = ADDR_TYPE_RT | ||
4067 | }, | ||
4068 | { } | ||
4069 | }; | ||
4070 | |||
4071 | /* l4_cfg -> ctrl_module_core */ | ||
4072 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__ctrl_module_core = { | ||
4073 | .master = &omap44xx_l4_cfg_hwmod, | ||
4074 | .slave = &omap44xx_ctrl_module_core_hwmod, | ||
4075 | .clk = "l4_div_ck", | ||
4076 | .addr = omap44xx_ctrl_module_core_addrs, | ||
4077 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
4078 | }; | ||
4079 | |||
4080 | static struct omap_hwmod_addr_space omap44xx_ctrl_module_pad_core_addrs[] = { | ||
4081 | { | ||
4082 | .pa_start = 0x4a100000, | ||
4083 | .pa_end = 0x4a1007ff, | ||
4084 | .flags = ADDR_TYPE_RT | ||
4085 | }, | ||
4086 | { } | ||
4087 | }; | ||
4088 | |||
4089 | /* l4_cfg -> ctrl_module_pad_core */ | ||
4090 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__ctrl_module_pad_core = { | ||
4091 | .master = &omap44xx_l4_cfg_hwmod, | ||
4092 | .slave = &omap44xx_ctrl_module_pad_core_hwmod, | ||
4093 | .clk = "l4_div_ck", | ||
4094 | .addr = omap44xx_ctrl_module_pad_core_addrs, | ||
4095 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
4096 | }; | ||
4097 | |||
4098 | static struct omap_hwmod_addr_space omap44xx_ctrl_module_wkup_addrs[] = { | ||
4099 | { | ||
4100 | .pa_start = 0x4a30c000, | ||
4101 | .pa_end = 0x4a30c7ff, | ||
4102 | .flags = ADDR_TYPE_RT | ||
4103 | }, | ||
4104 | { } | ||
4105 | }; | ||
4106 | |||
4107 | /* l4_wkup -> ctrl_module_wkup */ | ||
4108 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__ctrl_module_wkup = { | ||
4109 | .master = &omap44xx_l4_wkup_hwmod, | ||
4110 | .slave = &omap44xx_ctrl_module_wkup_hwmod, | ||
4111 | .clk = "l4_wkup_clk_mux_ck", | ||
4112 | .addr = omap44xx_ctrl_module_wkup_addrs, | ||
4113 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
4114 | }; | ||
4115 | |||
4116 | static struct omap_hwmod_addr_space omap44xx_ctrl_module_pad_wkup_addrs[] = { | ||
4117 | { | ||
4118 | .pa_start = 0x4a31e000, | ||
4119 | .pa_end = 0x4a31e7ff, | ||
4120 | .flags = ADDR_TYPE_RT | ||
4121 | }, | ||
4122 | { } | ||
4123 | }; | ||
4124 | |||
4125 | /* l4_wkup -> ctrl_module_pad_wkup */ | ||
4126 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__ctrl_module_pad_wkup = { | ||
4127 | .master = &omap44xx_l4_wkup_hwmod, | ||
4128 | .slave = &omap44xx_ctrl_module_pad_wkup_hwmod, | ||
4129 | .clk = "l4_wkup_clk_mux_ck", | ||
4130 | .addr = omap44xx_ctrl_module_pad_wkup_addrs, | ||
4131 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
4132 | }; | ||
4133 | |||
4134 | static struct omap_hwmod_addr_space omap44xx_debugss_addrs[] = { | ||
4135 | { | ||
4136 | .pa_start = 0x54160000, | ||
4137 | .pa_end = 0x54167fff, | ||
4138 | .flags = ADDR_TYPE_RT | ||
4139 | }, | ||
4140 | { } | ||
4141 | }; | ||
4142 | |||
4143 | /* l3_instr -> debugss */ | ||
4144 | static struct omap_hwmod_ocp_if omap44xx_l3_instr__debugss = { | ||
4145 | .master = &omap44xx_l3_instr_hwmod, | ||
4146 | .slave = &omap44xx_debugss_hwmod, | ||
4147 | .clk = "l3_div_ck", | ||
4148 | .addr = omap44xx_debugss_addrs, | ||
4149 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
4150 | }; | ||
4151 | |||
3209 | static struct omap_hwmod_addr_space omap44xx_dma_system_addrs[] = { | 4152 | static struct omap_hwmod_addr_space omap44xx_dma_system_addrs[] = { |
3210 | { | 4153 | { |
3211 | .pa_start = 0x4a056000, | 4154 | .pa_start = 0x4a056000, |
@@ -3270,6 +4213,14 @@ static struct omap_hwmod_ocp_if omap44xx_dsp__iva = { | |||
3270 | .user = OCP_USER_DSP, | 4213 | .user = OCP_USER_DSP, |
3271 | }; | 4214 | }; |
3272 | 4215 | ||
4216 | /* dsp -> sl2if */ | ||
4217 | static struct omap_hwmod_ocp_if omap44xx_dsp__sl2if = { | ||
4218 | .master = &omap44xx_dsp_hwmod, | ||
4219 | .slave = &omap44xx_sl2if_hwmod, | ||
4220 | .clk = "dpll_iva_m5x2_ck", | ||
4221 | .user = OCP_USER_DSP, | ||
4222 | }; | ||
4223 | |||
3273 | /* l4_cfg -> dsp */ | 4224 | /* l4_cfg -> dsp */ |
3274 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__dsp = { | 4225 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__dsp = { |
3275 | .master = &omap44xx_l4_cfg_hwmod, | 4226 | .master = &omap44xx_l4_cfg_hwmod, |
@@ -3530,6 +4481,78 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_venc = { | |||
3530 | .user = OCP_USER_MPU, | 4481 | .user = OCP_USER_MPU, |
3531 | }; | 4482 | }; |
3532 | 4483 | ||
4484 | static struct omap_hwmod_addr_space omap44xx_elm_addrs[] = { | ||
4485 | { | ||
4486 | .pa_start = 0x48078000, | ||
4487 | .pa_end = 0x48078fff, | ||
4488 | .flags = ADDR_TYPE_RT | ||
4489 | }, | ||
4490 | { } | ||
4491 | }; | ||
4492 | |||
4493 | /* l4_per -> elm */ | ||
4494 | static struct omap_hwmod_ocp_if omap44xx_l4_per__elm = { | ||
4495 | .master = &omap44xx_l4_per_hwmod, | ||
4496 | .slave = &omap44xx_elm_hwmod, | ||
4497 | .clk = "l4_div_ck", | ||
4498 | .addr = omap44xx_elm_addrs, | ||
4499 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
4500 | }; | ||
4501 | |||
4502 | static struct omap_hwmod_addr_space omap44xx_emif1_addrs[] = { | ||
4503 | { | ||
4504 | .pa_start = 0x4c000000, | ||
4505 | .pa_end = 0x4c0000ff, | ||
4506 | .flags = ADDR_TYPE_RT | ||
4507 | }, | ||
4508 | { } | ||
4509 | }; | ||
4510 | |||
4511 | /* emif_fw -> emif1 */ | ||
4512 | static struct omap_hwmod_ocp_if omap44xx_emif_fw__emif1 = { | ||
4513 | .master = &omap44xx_emif_fw_hwmod, | ||
4514 | .slave = &omap44xx_emif1_hwmod, | ||
4515 | .clk = "l3_div_ck", | ||
4516 | .addr = omap44xx_emif1_addrs, | ||
4517 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
4518 | }; | ||
4519 | |||
4520 | static struct omap_hwmod_addr_space omap44xx_emif2_addrs[] = { | ||
4521 | { | ||
4522 | .pa_start = 0x4d000000, | ||
4523 | .pa_end = 0x4d0000ff, | ||
4524 | .flags = ADDR_TYPE_RT | ||
4525 | }, | ||
4526 | { } | ||
4527 | }; | ||
4528 | |||
4529 | /* emif_fw -> emif2 */ | ||
4530 | static struct omap_hwmod_ocp_if omap44xx_emif_fw__emif2 = { | ||
4531 | .master = &omap44xx_emif_fw_hwmod, | ||
4532 | .slave = &omap44xx_emif2_hwmod, | ||
4533 | .clk = "l3_div_ck", | ||
4534 | .addr = omap44xx_emif2_addrs, | ||
4535 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
4536 | }; | ||
4537 | |||
4538 | static struct omap_hwmod_addr_space omap44xx_fdif_addrs[] = { | ||
4539 | { | ||
4540 | .pa_start = 0x4a10a000, | ||
4541 | .pa_end = 0x4a10a1ff, | ||
4542 | .flags = ADDR_TYPE_RT | ||
4543 | }, | ||
4544 | { } | ||
4545 | }; | ||
4546 | |||
4547 | /* l4_cfg -> fdif */ | ||
4548 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__fdif = { | ||
4549 | .master = &omap44xx_l4_cfg_hwmod, | ||
4550 | .slave = &omap44xx_fdif_hwmod, | ||
4551 | .clk = "l4_div_ck", | ||
4552 | .addr = omap44xx_fdif_addrs, | ||
4553 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
4554 | }; | ||
4555 | |||
3533 | static struct omap_hwmod_addr_space omap44xx_gpio1_addrs[] = { | 4556 | static struct omap_hwmod_addr_space omap44xx_gpio1_addrs[] = { |
3534 | { | 4557 | { |
3535 | .pa_start = 0x4a310000, | 4558 | .pa_start = 0x4a310000, |
@@ -3638,6 +4661,60 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio6 = { | |||
3638 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4661 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
3639 | }; | 4662 | }; |
3640 | 4663 | ||
4664 | static struct omap_hwmod_addr_space omap44xx_gpmc_addrs[] = { | ||
4665 | { | ||
4666 | .pa_start = 0x50000000, | ||
4667 | .pa_end = 0x500003ff, | ||
4668 | .flags = ADDR_TYPE_RT | ||
4669 | }, | ||
4670 | { } | ||
4671 | }; | ||
4672 | |||
4673 | /* l3_main_2 -> gpmc */ | ||
4674 | static struct omap_hwmod_ocp_if omap44xx_l3_main_2__gpmc = { | ||
4675 | .master = &omap44xx_l3_main_2_hwmod, | ||
4676 | .slave = &omap44xx_gpmc_hwmod, | ||
4677 | .clk = "l3_div_ck", | ||
4678 | .addr = omap44xx_gpmc_addrs, | ||
4679 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
4680 | }; | ||
4681 | |||
4682 | static struct omap_hwmod_addr_space omap44xx_gpu_addrs[] = { | ||
4683 | { | ||
4684 | .pa_start = 0x56000000, | ||
4685 | .pa_end = 0x5600ffff, | ||
4686 | .flags = ADDR_TYPE_RT | ||
4687 | }, | ||
4688 | { } | ||
4689 | }; | ||
4690 | |||
4691 | /* l3_main_2 -> gpu */ | ||
4692 | static struct omap_hwmod_ocp_if omap44xx_l3_main_2__gpu = { | ||
4693 | .master = &omap44xx_l3_main_2_hwmod, | ||
4694 | .slave = &omap44xx_gpu_hwmod, | ||
4695 | .clk = "l3_div_ck", | ||
4696 | .addr = omap44xx_gpu_addrs, | ||
4697 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
4698 | }; | ||
4699 | |||
4700 | static struct omap_hwmod_addr_space omap44xx_hdq1w_addrs[] = { | ||
4701 | { | ||
4702 | .pa_start = 0x480b2000, | ||
4703 | .pa_end = 0x480b201f, | ||
4704 | .flags = ADDR_TYPE_RT | ||
4705 | }, | ||
4706 | { } | ||
4707 | }; | ||
4708 | |||
4709 | /* l4_per -> hdq1w */ | ||
4710 | static struct omap_hwmod_ocp_if omap44xx_l4_per__hdq1w = { | ||
4711 | .master = &omap44xx_l4_per_hwmod, | ||
4712 | .slave = &omap44xx_hdq1w_hwmod, | ||
4713 | .clk = "l4_div_ck", | ||
4714 | .addr = omap44xx_hdq1w_addrs, | ||
4715 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
4716 | }; | ||
4717 | |||
3641 | static struct omap_hwmod_addr_space omap44xx_hsi_addrs[] = { | 4718 | static struct omap_hwmod_addr_space omap44xx_hsi_addrs[] = { |
3642 | { | 4719 | { |
3643 | .pa_start = 0x4a058000, | 4720 | .pa_start = 0x4a058000, |
@@ -3754,6 +4831,14 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_2__iss = { | |||
3754 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4831 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
3755 | }; | 4832 | }; |
3756 | 4833 | ||
4834 | /* iva -> sl2if */ | ||
4835 | static struct omap_hwmod_ocp_if omap44xx_iva__sl2if = { | ||
4836 | .master = &omap44xx_iva_hwmod, | ||
4837 | .slave = &omap44xx_sl2if_hwmod, | ||
4838 | .clk = "dpll_iva_m5x2_ck", | ||
4839 | .user = OCP_USER_IVA, | ||
4840 | }; | ||
4841 | |||
3757 | static struct omap_hwmod_addr_space omap44xx_iva_addrs[] = { | 4842 | static struct omap_hwmod_addr_space omap44xx_iva_addrs[] = { |
3758 | { | 4843 | { |
3759 | .pa_start = 0x5a000000, | 4844 | .pa_start = 0x5a000000, |
@@ -3808,6 +4893,42 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__mailbox = { | |||
3808 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4893 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
3809 | }; | 4894 | }; |
3810 | 4895 | ||
4896 | static struct omap_hwmod_addr_space omap44xx_mcasp_addrs[] = { | ||
4897 | { | ||
4898 | .pa_start = 0x40128000, | ||
4899 | .pa_end = 0x401283ff, | ||
4900 | .flags = ADDR_TYPE_RT | ||
4901 | }, | ||
4902 | { } | ||
4903 | }; | ||
4904 | |||
4905 | /* l4_abe -> mcasp */ | ||
4906 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcasp = { | ||
4907 | .master = &omap44xx_l4_abe_hwmod, | ||
4908 | .slave = &omap44xx_mcasp_hwmod, | ||
4909 | .clk = "ocp_abe_iclk", | ||
4910 | .addr = omap44xx_mcasp_addrs, | ||
4911 | .user = OCP_USER_MPU, | ||
4912 | }; | ||
4913 | |||
4914 | static struct omap_hwmod_addr_space omap44xx_mcasp_dma_addrs[] = { | ||
4915 | { | ||
4916 | .pa_start = 0x49028000, | ||
4917 | .pa_end = 0x490283ff, | ||
4918 | .flags = ADDR_TYPE_RT | ||
4919 | }, | ||
4920 | { } | ||
4921 | }; | ||
4922 | |||
4923 | /* l4_abe -> mcasp (dma) */ | ||
4924 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcasp_dma = { | ||
4925 | .master = &omap44xx_l4_abe_hwmod, | ||
4926 | .slave = &omap44xx_mcasp_hwmod, | ||
4927 | .clk = "ocp_abe_iclk", | ||
4928 | .addr = omap44xx_mcasp_dma_addrs, | ||
4929 | .user = OCP_USER_SDMA, | ||
4930 | }; | ||
4931 | |||
3811 | static struct omap_hwmod_addr_space omap44xx_mcbsp1_addrs[] = { | 4932 | static struct omap_hwmod_addr_space omap44xx_mcbsp1_addrs[] = { |
3812 | { | 4933 | { |
3813 | .name = "mpu", | 4934 | .name = "mpu", |
@@ -4138,6 +5259,174 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc5 = { | |||
4138 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 5259 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4139 | }; | 5260 | }; |
4140 | 5261 | ||
5262 | /* l3_main_2 -> ocmc_ram */ | ||
5263 | static struct omap_hwmod_ocp_if omap44xx_l3_main_2__ocmc_ram = { | ||
5264 | .master = &omap44xx_l3_main_2_hwmod, | ||
5265 | .slave = &omap44xx_ocmc_ram_hwmod, | ||
5266 | .clk = "l3_div_ck", | ||
5267 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
5268 | }; | ||
5269 | |||
5270 | /* l4_cfg -> ocp2scp_usb_phy */ | ||
5271 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__ocp2scp_usb_phy = { | ||
5272 | .master = &omap44xx_l4_cfg_hwmod, | ||
5273 | .slave = &omap44xx_ocp2scp_usb_phy_hwmod, | ||
5274 | .clk = "l4_div_ck", | ||
5275 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
5276 | }; | ||
5277 | |||
5278 | static struct omap_hwmod_addr_space omap44xx_prcm_mpu_addrs[] = { | ||
5279 | { | ||
5280 | .pa_start = 0x48243000, | ||
5281 | .pa_end = 0x48243fff, | ||
5282 | .flags = ADDR_TYPE_RT | ||
5283 | }, | ||
5284 | { } | ||
5285 | }; | ||
5286 | |||
5287 | /* mpu_private -> prcm_mpu */ | ||
5288 | static struct omap_hwmod_ocp_if omap44xx_mpu_private__prcm_mpu = { | ||
5289 | .master = &omap44xx_mpu_private_hwmod, | ||
5290 | .slave = &omap44xx_prcm_mpu_hwmod, | ||
5291 | .clk = "l3_div_ck", | ||
5292 | .addr = omap44xx_prcm_mpu_addrs, | ||
5293 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
5294 | }; | ||
5295 | |||
5296 | static struct omap_hwmod_addr_space omap44xx_cm_core_aon_addrs[] = { | ||
5297 | { | ||
5298 | .pa_start = 0x4a004000, | ||
5299 | .pa_end = 0x4a004fff, | ||
5300 | .flags = ADDR_TYPE_RT | ||
5301 | }, | ||
5302 | { } | ||
5303 | }; | ||
5304 | |||
5305 | /* l4_wkup -> cm_core_aon */ | ||
5306 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__cm_core_aon = { | ||
5307 | .master = &omap44xx_l4_wkup_hwmod, | ||
5308 | .slave = &omap44xx_cm_core_aon_hwmod, | ||
5309 | .clk = "l4_wkup_clk_mux_ck", | ||
5310 | .addr = omap44xx_cm_core_aon_addrs, | ||
5311 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
5312 | }; | ||
5313 | |||
5314 | static struct omap_hwmod_addr_space omap44xx_cm_core_addrs[] = { | ||
5315 | { | ||
5316 | .pa_start = 0x4a008000, | ||
5317 | .pa_end = 0x4a009fff, | ||
5318 | .flags = ADDR_TYPE_RT | ||
5319 | }, | ||
5320 | { } | ||
5321 | }; | ||
5322 | |||
5323 | /* l4_cfg -> cm_core */ | ||
5324 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__cm_core = { | ||
5325 | .master = &omap44xx_l4_cfg_hwmod, | ||
5326 | .slave = &omap44xx_cm_core_hwmod, | ||
5327 | .clk = "l4_div_ck", | ||
5328 | .addr = omap44xx_cm_core_addrs, | ||
5329 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
5330 | }; | ||
5331 | |||
5332 | static struct omap_hwmod_addr_space omap44xx_prm_addrs[] = { | ||
5333 | { | ||
5334 | .pa_start = 0x4a306000, | ||
5335 | .pa_end = 0x4a307fff, | ||
5336 | .flags = ADDR_TYPE_RT | ||
5337 | }, | ||
5338 | { } | ||
5339 | }; | ||
5340 | |||
5341 | /* l4_wkup -> prm */ | ||
5342 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__prm = { | ||
5343 | .master = &omap44xx_l4_wkup_hwmod, | ||
5344 | .slave = &omap44xx_prm_hwmod, | ||
5345 | .clk = "l4_wkup_clk_mux_ck", | ||
5346 | .addr = omap44xx_prm_addrs, | ||
5347 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
5348 | }; | ||
5349 | |||
5350 | static struct omap_hwmod_addr_space omap44xx_scrm_addrs[] = { | ||
5351 | { | ||
5352 | .pa_start = 0x4a30a000, | ||
5353 | .pa_end = 0x4a30a7ff, | ||
5354 | .flags = ADDR_TYPE_RT | ||
5355 | }, | ||
5356 | { } | ||
5357 | }; | ||
5358 | |||
5359 | /* l4_wkup -> scrm */ | ||
5360 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__scrm = { | ||
5361 | .master = &omap44xx_l4_wkup_hwmod, | ||
5362 | .slave = &omap44xx_scrm_hwmod, | ||
5363 | .clk = "l4_wkup_clk_mux_ck", | ||
5364 | .addr = omap44xx_scrm_addrs, | ||
5365 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
5366 | }; | ||
5367 | |||
5368 | /* l3_main_2 -> sl2if */ | ||
5369 | static struct omap_hwmod_ocp_if omap44xx_l3_main_2__sl2if = { | ||
5370 | .master = &omap44xx_l3_main_2_hwmod, | ||
5371 | .slave = &omap44xx_sl2if_hwmod, | ||
5372 | .clk = "l3_div_ck", | ||
5373 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
5374 | }; | ||
5375 | |||
5376 | static struct omap_hwmod_addr_space omap44xx_slimbus1_addrs[] = { | ||
5377 | { | ||
5378 | .pa_start = 0x4012c000, | ||
5379 | .pa_end = 0x4012c3ff, | ||
5380 | .flags = ADDR_TYPE_RT | ||
5381 | }, | ||
5382 | { } | ||
5383 | }; | ||
5384 | |||
5385 | /* l4_abe -> slimbus1 */ | ||
5386 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__slimbus1 = { | ||
5387 | .master = &omap44xx_l4_abe_hwmod, | ||
5388 | .slave = &omap44xx_slimbus1_hwmod, | ||
5389 | .clk = "ocp_abe_iclk", | ||
5390 | .addr = omap44xx_slimbus1_addrs, | ||
5391 | .user = OCP_USER_MPU, | ||
5392 | }; | ||
5393 | |||
5394 | static struct omap_hwmod_addr_space omap44xx_slimbus1_dma_addrs[] = { | ||
5395 | { | ||
5396 | .pa_start = 0x4902c000, | ||
5397 | .pa_end = 0x4902c3ff, | ||
5398 | .flags = ADDR_TYPE_RT | ||
5399 | }, | ||
5400 | { } | ||
5401 | }; | ||
5402 | |||
5403 | /* l4_abe -> slimbus1 (dma) */ | ||
5404 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__slimbus1_dma = { | ||
5405 | .master = &omap44xx_l4_abe_hwmod, | ||
5406 | .slave = &omap44xx_slimbus1_hwmod, | ||
5407 | .clk = "ocp_abe_iclk", | ||
5408 | .addr = omap44xx_slimbus1_dma_addrs, | ||
5409 | .user = OCP_USER_SDMA, | ||
5410 | }; | ||
5411 | |||
5412 | static struct omap_hwmod_addr_space omap44xx_slimbus2_addrs[] = { | ||
5413 | { | ||
5414 | .pa_start = 0x48076000, | ||
5415 | .pa_end = 0x480763ff, | ||
5416 | .flags = ADDR_TYPE_RT | ||
5417 | }, | ||
5418 | { } | ||
5419 | }; | ||
5420 | |||
5421 | /* l4_per -> slimbus2 */ | ||
5422 | static struct omap_hwmod_ocp_if omap44xx_l4_per__slimbus2 = { | ||
5423 | .master = &omap44xx_l4_per_hwmod, | ||
5424 | .slave = &omap44xx_slimbus2_hwmod, | ||
5425 | .clk = "l4_div_ck", | ||
5426 | .addr = omap44xx_slimbus2_addrs, | ||
5427 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
5428 | }; | ||
5429 | |||
4141 | static struct omap_hwmod_addr_space omap44xx_smartreflex_core_addrs[] = { | 5430 | static struct omap_hwmod_addr_space omap44xx_smartreflex_core_addrs[] = { |
4142 | { | 5431 | { |
4143 | .pa_start = 0x4a0dd000, | 5432 | .pa_start = 0x4a0dd000, |
@@ -4552,6 +5841,24 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__uart4 = { | |||
4552 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 5841 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4553 | }; | 5842 | }; |
4554 | 5843 | ||
5844 | static struct omap_hwmod_addr_space omap44xx_usb_host_fs_addrs[] = { | ||
5845 | { | ||
5846 | .pa_start = 0x4a0a9000, | ||
5847 | .pa_end = 0x4a0a93ff, | ||
5848 | .flags = ADDR_TYPE_RT | ||
5849 | }, | ||
5850 | { } | ||
5851 | }; | ||
5852 | |||
5853 | /* l4_cfg -> usb_host_fs */ | ||
5854 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_host_fs = { | ||
5855 | .master = &omap44xx_l4_cfg_hwmod, | ||
5856 | .slave = &omap44xx_usb_host_fs_hwmod, | ||
5857 | .clk = "l4_div_ck", | ||
5858 | .addr = omap44xx_usb_host_fs_addrs, | ||
5859 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
5860 | }; | ||
5861 | |||
4555 | static struct omap_hwmod_addr_space omap44xx_usb_host_hs_addrs[] = { | 5862 | static struct omap_hwmod_addr_space omap44xx_usb_host_hs_addrs[] = { |
4556 | { | 5863 | { |
4557 | .name = "uhh", | 5864 | .name = "uhh", |
@@ -4673,12 +5980,16 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__wd_timer3_dma = { | |||
4673 | }; | 5980 | }; |
4674 | 5981 | ||
4675 | static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | 5982 | static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { |
5983 | &omap44xx_c2c__c2c_target_fw, | ||
5984 | &omap44xx_l4_cfg__c2c_target_fw, | ||
4676 | &omap44xx_l3_main_1__dmm, | 5985 | &omap44xx_l3_main_1__dmm, |
4677 | &omap44xx_mpu__dmm, | 5986 | &omap44xx_mpu__dmm, |
5987 | &omap44xx_c2c__emif_fw, | ||
4678 | &omap44xx_dmm__emif_fw, | 5988 | &omap44xx_dmm__emif_fw, |
4679 | &omap44xx_l4_cfg__emif_fw, | 5989 | &omap44xx_l4_cfg__emif_fw, |
4680 | &omap44xx_iva__l3_instr, | 5990 | &omap44xx_iva__l3_instr, |
4681 | &omap44xx_l3_main_3__l3_instr, | 5991 | &omap44xx_l3_main_3__l3_instr, |
5992 | &omap44xx_ocp_wp_noc__l3_instr, | ||
4682 | &omap44xx_dsp__l3_main_1, | 5993 | &omap44xx_dsp__l3_main_1, |
4683 | &omap44xx_dss__l3_main_1, | 5994 | &omap44xx_dss__l3_main_1, |
4684 | &omap44xx_l3_main_2__l3_main_1, | 5995 | &omap44xx_l3_main_2__l3_main_1, |
@@ -4686,13 +5997,18 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
4686 | &omap44xx_mmc1__l3_main_1, | 5997 | &omap44xx_mmc1__l3_main_1, |
4687 | &omap44xx_mmc2__l3_main_1, | 5998 | &omap44xx_mmc2__l3_main_1, |
4688 | &omap44xx_mpu__l3_main_1, | 5999 | &omap44xx_mpu__l3_main_1, |
6000 | &omap44xx_c2c_target_fw__l3_main_2, | ||
6001 | &omap44xx_debugss__l3_main_2, | ||
4689 | &omap44xx_dma_system__l3_main_2, | 6002 | &omap44xx_dma_system__l3_main_2, |
6003 | &omap44xx_fdif__l3_main_2, | ||
6004 | &omap44xx_gpu__l3_main_2, | ||
4690 | &omap44xx_hsi__l3_main_2, | 6005 | &omap44xx_hsi__l3_main_2, |
4691 | &omap44xx_ipu__l3_main_2, | 6006 | &omap44xx_ipu__l3_main_2, |
4692 | &omap44xx_iss__l3_main_2, | 6007 | &omap44xx_iss__l3_main_2, |
4693 | &omap44xx_iva__l3_main_2, | 6008 | &omap44xx_iva__l3_main_2, |
4694 | &omap44xx_l3_main_1__l3_main_2, | 6009 | &omap44xx_l3_main_1__l3_main_2, |
4695 | &omap44xx_l4_cfg__l3_main_2, | 6010 | &omap44xx_l4_cfg__l3_main_2, |
6011 | &omap44xx_usb_host_fs__l3_main_2, | ||
4696 | &omap44xx_usb_host_hs__l3_main_2, | 6012 | &omap44xx_usb_host_hs__l3_main_2, |
4697 | &omap44xx_usb_otg_hs__l3_main_2, | 6013 | &omap44xx_usb_otg_hs__l3_main_2, |
4698 | &omap44xx_l3_main_1__l3_main_3, | 6014 | &omap44xx_l3_main_1__l3_main_3, |
@@ -4706,13 +6022,21 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
4706 | &omap44xx_l3_main_2__l4_per, | 6022 | &omap44xx_l3_main_2__l4_per, |
4707 | &omap44xx_l4_cfg__l4_wkup, | 6023 | &omap44xx_l4_cfg__l4_wkup, |
4708 | &omap44xx_mpu__mpu_private, | 6024 | &omap44xx_mpu__mpu_private, |
6025 | &omap44xx_l4_cfg__ocp_wp_noc, | ||
4709 | &omap44xx_l4_abe__aess, | 6026 | &omap44xx_l4_abe__aess, |
4710 | &omap44xx_l4_abe__aess_dma, | 6027 | &omap44xx_l4_abe__aess_dma, |
6028 | &omap44xx_l3_main_2__c2c, | ||
4711 | &omap44xx_l4_wkup__counter_32k, | 6029 | &omap44xx_l4_wkup__counter_32k, |
6030 | &omap44xx_l4_cfg__ctrl_module_core, | ||
6031 | &omap44xx_l4_cfg__ctrl_module_pad_core, | ||
6032 | &omap44xx_l4_wkup__ctrl_module_wkup, | ||
6033 | &omap44xx_l4_wkup__ctrl_module_pad_wkup, | ||
6034 | &omap44xx_l3_instr__debugss, | ||
4712 | &omap44xx_l4_cfg__dma_system, | 6035 | &omap44xx_l4_cfg__dma_system, |
4713 | &omap44xx_l4_abe__dmic, | 6036 | &omap44xx_l4_abe__dmic, |
4714 | &omap44xx_l4_abe__dmic_dma, | 6037 | &omap44xx_l4_abe__dmic_dma, |
4715 | &omap44xx_dsp__iva, | 6038 | &omap44xx_dsp__iva, |
6039 | &omap44xx_dsp__sl2if, | ||
4716 | &omap44xx_l4_cfg__dsp, | 6040 | &omap44xx_l4_cfg__dsp, |
4717 | &omap44xx_l3_main_2__dss, | 6041 | &omap44xx_l3_main_2__dss, |
4718 | &omap44xx_l4_per__dss, | 6042 | &omap44xx_l4_per__dss, |
@@ -4728,12 +6052,19 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
4728 | &omap44xx_l4_per__dss_rfbi, | 6052 | &omap44xx_l4_per__dss_rfbi, |
4729 | &omap44xx_l3_main_2__dss_venc, | 6053 | &omap44xx_l3_main_2__dss_venc, |
4730 | &omap44xx_l4_per__dss_venc, | 6054 | &omap44xx_l4_per__dss_venc, |
6055 | &omap44xx_l4_per__elm, | ||
6056 | &omap44xx_emif_fw__emif1, | ||
6057 | &omap44xx_emif_fw__emif2, | ||
6058 | &omap44xx_l4_cfg__fdif, | ||
4731 | &omap44xx_l4_wkup__gpio1, | 6059 | &omap44xx_l4_wkup__gpio1, |
4732 | &omap44xx_l4_per__gpio2, | 6060 | &omap44xx_l4_per__gpio2, |
4733 | &omap44xx_l4_per__gpio3, | 6061 | &omap44xx_l4_per__gpio3, |
4734 | &omap44xx_l4_per__gpio4, | 6062 | &omap44xx_l4_per__gpio4, |
4735 | &omap44xx_l4_per__gpio5, | 6063 | &omap44xx_l4_per__gpio5, |
4736 | &omap44xx_l4_per__gpio6, | 6064 | &omap44xx_l4_per__gpio6, |
6065 | &omap44xx_l3_main_2__gpmc, | ||
6066 | &omap44xx_l3_main_2__gpu, | ||
6067 | &omap44xx_l4_per__hdq1w, | ||
4737 | &omap44xx_l4_cfg__hsi, | 6068 | &omap44xx_l4_cfg__hsi, |
4738 | &omap44xx_l4_per__i2c1, | 6069 | &omap44xx_l4_per__i2c1, |
4739 | &omap44xx_l4_per__i2c2, | 6070 | &omap44xx_l4_per__i2c2, |
@@ -4741,9 +6072,12 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
4741 | &omap44xx_l4_per__i2c4, | 6072 | &omap44xx_l4_per__i2c4, |
4742 | &omap44xx_l3_main_2__ipu, | 6073 | &omap44xx_l3_main_2__ipu, |
4743 | &omap44xx_l3_main_2__iss, | 6074 | &omap44xx_l3_main_2__iss, |
6075 | &omap44xx_iva__sl2if, | ||
4744 | &omap44xx_l3_main_2__iva, | 6076 | &omap44xx_l3_main_2__iva, |
4745 | &omap44xx_l4_wkup__kbd, | 6077 | &omap44xx_l4_wkup__kbd, |
4746 | &omap44xx_l4_cfg__mailbox, | 6078 | &omap44xx_l4_cfg__mailbox, |
6079 | &omap44xx_l4_abe__mcasp, | ||
6080 | &omap44xx_l4_abe__mcasp_dma, | ||
4747 | &omap44xx_l4_abe__mcbsp1, | 6081 | &omap44xx_l4_abe__mcbsp1, |
4748 | &omap44xx_l4_abe__mcbsp1_dma, | 6082 | &omap44xx_l4_abe__mcbsp1_dma, |
4749 | &omap44xx_l4_abe__mcbsp2, | 6083 | &omap44xx_l4_abe__mcbsp2, |
@@ -4762,6 +6096,17 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
4762 | &omap44xx_l4_per__mmc3, | 6096 | &omap44xx_l4_per__mmc3, |
4763 | &omap44xx_l4_per__mmc4, | 6097 | &omap44xx_l4_per__mmc4, |
4764 | &omap44xx_l4_per__mmc5, | 6098 | &omap44xx_l4_per__mmc5, |
6099 | &omap44xx_l3_main_2__ocmc_ram, | ||
6100 | &omap44xx_l4_cfg__ocp2scp_usb_phy, | ||
6101 | &omap44xx_mpu_private__prcm_mpu, | ||
6102 | &omap44xx_l4_wkup__cm_core_aon, | ||
6103 | &omap44xx_l4_cfg__cm_core, | ||
6104 | &omap44xx_l4_wkup__prm, | ||
6105 | &omap44xx_l4_wkup__scrm, | ||
6106 | &omap44xx_l3_main_2__sl2if, | ||
6107 | &omap44xx_l4_abe__slimbus1, | ||
6108 | &omap44xx_l4_abe__slimbus1_dma, | ||
6109 | &omap44xx_l4_per__slimbus2, | ||
4765 | &omap44xx_l4_cfg__smartreflex_core, | 6110 | &omap44xx_l4_cfg__smartreflex_core, |
4766 | &omap44xx_l4_cfg__smartreflex_iva, | 6111 | &omap44xx_l4_cfg__smartreflex_iva, |
4767 | &omap44xx_l4_cfg__smartreflex_mpu, | 6112 | &omap44xx_l4_cfg__smartreflex_mpu, |
@@ -4785,6 +6130,7 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
4785 | &omap44xx_l4_per__uart2, | 6130 | &omap44xx_l4_per__uart2, |
4786 | &omap44xx_l4_per__uart3, | 6131 | &omap44xx_l4_per__uart3, |
4787 | &omap44xx_l4_per__uart4, | 6132 | &omap44xx_l4_per__uart4, |
6133 | &omap44xx_l4_cfg__usb_host_fs, | ||
4788 | &omap44xx_l4_cfg__usb_host_hs, | 6134 | &omap44xx_l4_cfg__usb_host_hs, |
4789 | &omap44xx_l4_cfg__usb_otg_hs, | 6135 | &omap44xx_l4_cfg__usb_otg_hs, |
4790 | &omap44xx_l4_cfg__usb_tll_hs, | 6136 | &omap44xx_l4_cfg__usb_tll_hs, |