This source file includes following definitions.
- omap44xx_hwmod_init
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 
  18 
  19 
  20 #include <linux/io.h>
  21 #include <linux/power/smartreflex.h>
  22 
  23 #include <linux/omap-dma.h>
  24 
  25 #include "omap_hwmod.h"
  26 #include "omap_hwmod_common_data.h"
  27 #include "cm1_44xx.h"
  28 #include "cm2_44xx.h"
  29 #include "prm44xx.h"
  30 #include "prm-regbits-44xx.h"
  31 
  32 
  33 #define OMAP44XX_IRQ_GIC_START  32
  34 
  35 
  36 #define OMAP44XX_DMA_REQ_START  1
  37 
  38 
  39 
  40 
  41 
  42 
  43 
  44 
  45 
  46 static struct omap_hwmod_class omap44xx_dmm_hwmod_class = {
  47         .name   = "dmm",
  48 };
  49 
  50 
  51 static struct omap_hwmod omap44xx_dmm_hwmod = {
  52         .name           = "dmm",
  53         .class          = &omap44xx_dmm_hwmod_class,
  54         .clkdm_name     = "l3_emif_clkdm",
  55         .prcm = {
  56                 .omap4 = {
  57                         .clkctrl_offs = OMAP4_CM_MEMIF_DMM_CLKCTRL_OFFSET,
  58                         .context_offs = OMAP4_RM_MEMIF_DMM_CONTEXT_OFFSET,
  59                 },
  60         },
  61 };
  62 
  63 
  64 
  65 
  66 
  67 static struct omap_hwmod_class omap44xx_l3_hwmod_class = {
  68         .name   = "l3",
  69 };
  70 
  71 
  72 static struct omap_hwmod omap44xx_l3_instr_hwmod = {
  73         .name           = "l3_instr",
  74         .class          = &omap44xx_l3_hwmod_class,
  75         .clkdm_name     = "l3_instr_clkdm",
  76         .prcm = {
  77                 .omap4 = {
  78                         .clkctrl_offs = OMAP4_CM_L3INSTR_L3_INSTR_CLKCTRL_OFFSET,
  79                         .context_offs = OMAP4_RM_L3INSTR_L3_INSTR_CONTEXT_OFFSET,
  80                         .modulemode   = MODULEMODE_HWCTRL,
  81                 },
  82         },
  83 };
  84 
  85 
  86 static struct omap_hwmod omap44xx_l3_main_1_hwmod = {
  87         .name           = "l3_main_1",
  88         .class          = &omap44xx_l3_hwmod_class,
  89         .clkdm_name     = "l3_1_clkdm",
  90         .prcm = {
  91                 .omap4 = {
  92                         .clkctrl_offs = OMAP4_CM_L3_1_L3_1_CLKCTRL_OFFSET,
  93                         .context_offs = OMAP4_RM_L3_1_L3_1_CONTEXT_OFFSET,
  94                 },
  95         },
  96 };
  97 
  98 
  99 static struct omap_hwmod omap44xx_l3_main_2_hwmod = {
 100         .name           = "l3_main_2",
 101         .class          = &omap44xx_l3_hwmod_class,
 102         .clkdm_name     = "l3_2_clkdm",
 103         .prcm = {
 104                 .omap4 = {
 105                         .clkctrl_offs = OMAP4_CM_L3_2_L3_2_CLKCTRL_OFFSET,
 106                         .context_offs = OMAP4_RM_L3_2_L3_2_CONTEXT_OFFSET,
 107                 },
 108         },
 109 };
 110 
 111 
 112 static struct omap_hwmod omap44xx_l3_main_3_hwmod = {
 113         .name           = "l3_main_3",
 114         .class          = &omap44xx_l3_hwmod_class,
 115         .clkdm_name     = "l3_instr_clkdm",
 116         .prcm = {
 117                 .omap4 = {
 118                         .clkctrl_offs = OMAP4_CM_L3INSTR_L3_3_CLKCTRL_OFFSET,
 119                         .context_offs = OMAP4_RM_L3INSTR_L3_3_CONTEXT_OFFSET,
 120                         .modulemode   = MODULEMODE_HWCTRL,
 121                 },
 122         },
 123 };
 124 
 125 
 126 
 127 
 128 
 129 static struct omap_hwmod_class omap44xx_l4_hwmod_class = {
 130         .name   = "l4",
 131 };
 132 
 133 
 134 static struct omap_hwmod omap44xx_l4_abe_hwmod = {
 135         .name           = "l4_abe",
 136         .class          = &omap44xx_l4_hwmod_class,
 137         .clkdm_name     = "abe_clkdm",
 138         .prcm = {
 139                 .omap4 = {
 140                         .clkctrl_offs = OMAP4_CM1_ABE_L4ABE_CLKCTRL_OFFSET,
 141                         .context_offs = OMAP4_RM_ABE_AESS_CONTEXT_OFFSET,
 142                         .lostcontext_mask = OMAP4430_LOSTMEM_AESSMEM_MASK,
 143                         .flags        = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT,
 144                 },
 145         },
 146 };
 147 
 148 
 149 static struct omap_hwmod omap44xx_l4_cfg_hwmod = {
 150         .name           = "l4_cfg",
 151         .class          = &omap44xx_l4_hwmod_class,
 152         .clkdm_name     = "l4_cfg_clkdm",
 153         .prcm = {
 154                 .omap4 = {
 155                         .clkctrl_offs = OMAP4_CM_L4CFG_L4_CFG_CLKCTRL_OFFSET,
 156                         .context_offs = OMAP4_RM_L4CFG_L4_CFG_CONTEXT_OFFSET,
 157                 },
 158         },
 159 };
 160 
 161 
 162 static struct omap_hwmod omap44xx_l4_per_hwmod = {
 163         .name           = "l4_per",
 164         .class          = &omap44xx_l4_hwmod_class,
 165         .clkdm_name     = "l4_per_clkdm",
 166         .prcm = {
 167                 .omap4 = {
 168                         .clkctrl_offs = OMAP4_CM_L4PER_L4PER_CLKCTRL_OFFSET,
 169                         .context_offs = OMAP4_RM_L4PER_L4_PER_CONTEXT_OFFSET,
 170                 },
 171         },
 172 };
 173 
 174 
 175 static struct omap_hwmod omap44xx_l4_wkup_hwmod = {
 176         .name           = "l4_wkup",
 177         .class          = &omap44xx_l4_hwmod_class,
 178         .clkdm_name     = "l4_wkup_clkdm",
 179         .prcm = {
 180                 .omap4 = {
 181                         .clkctrl_offs = OMAP4_CM_WKUP_L4WKUP_CLKCTRL_OFFSET,
 182                         .context_offs = OMAP4_RM_WKUP_L4WKUP_CONTEXT_OFFSET,
 183                 },
 184         },
 185 };
 186 
 187 
 188 
 189 
 190 
 191 static struct omap_hwmod_class omap44xx_mpu_bus_hwmod_class = {
 192         .name   = "mpu_bus",
 193 };
 194 
 195 
 196 static struct omap_hwmod omap44xx_mpu_private_hwmod = {
 197         .name           = "mpu_private",
 198         .class          = &omap44xx_mpu_bus_hwmod_class,
 199         .clkdm_name     = "mpuss_clkdm",
 200         .prcm = {
 201                 .omap4 = {
 202                         .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT,
 203                 },
 204         },
 205 };
 206 
 207 
 208 
 209 
 210 
 211 static struct omap_hwmod_class omap44xx_ocp_wp_noc_hwmod_class = {
 212         .name   = "ocp_wp_noc",
 213 };
 214 
 215 
 216 static struct omap_hwmod omap44xx_ocp_wp_noc_hwmod = {
 217         .name           = "ocp_wp_noc",
 218         .class          = &omap44xx_ocp_wp_noc_hwmod_class,
 219         .clkdm_name     = "l3_instr_clkdm",
 220         .prcm = {
 221                 .omap4 = {
 222                         .clkctrl_offs = OMAP4_CM_L3INSTR_OCP_WP1_CLKCTRL_OFFSET,
 223                         .context_offs = OMAP4_RM_L3INSTR_OCP_WP1_CONTEXT_OFFSET,
 224                         .modulemode   = MODULEMODE_HWCTRL,
 225                 },
 226         },
 227 };
 228 
 229 
 230 
 231 
 232 
 233 
 234 
 235 
 236 
 237 
 238 
 239 
 240 
 241 
 242 
 243 
 244 
 245 static struct omap_hwmod_class_sysconfig omap44xx_aess_sysc = {
 246         .rev_offs       = 0x0000,
 247         .sysc_offs      = 0x0010,
 248         .sysc_flags     = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE),
 249         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
 250                            MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART |
 251                            MSTANDBY_SMART_WKUP),
 252         .sysc_fields    = &omap_hwmod_sysc_type2,
 253 };
 254 
 255 static struct omap_hwmod_class omap44xx_aess_hwmod_class = {
 256         .name   = "aess",
 257         .sysc   = &omap44xx_aess_sysc,
 258         .enable_preprogram = omap_hwmod_aess_preprogram,
 259 };
 260 
 261 
 262 static struct omap_hwmod omap44xx_aess_hwmod = {
 263         .name           = "aess",
 264         .class          = &omap44xx_aess_hwmod_class,
 265         .clkdm_name     = "abe_clkdm",
 266         .main_clk       = "aess_fclk",
 267         .prcm = {
 268                 .omap4 = {
 269                         .clkctrl_offs = OMAP4_CM1_ABE_AESS_CLKCTRL_OFFSET,
 270                         .context_offs = OMAP4_RM_ABE_AESS_CONTEXT_OFFSET,
 271                         .lostcontext_mask = OMAP4430_LOSTCONTEXT_DFF_MASK,
 272                         .modulemode   = MODULEMODE_SWCTRL,
 273                 },
 274         },
 275 };
 276 
 277 
 278 
 279 
 280 
 281 
 282 static struct omap_hwmod_class_sysconfig omap44xx_counter_sysc = {
 283         .rev_offs       = 0x0000,
 284         .sysc_offs      = 0x0004,
 285         .sysc_flags     = SYSC_HAS_SIDLEMODE,
 286         .idlemodes      = (SIDLE_FORCE | SIDLE_NO),
 287         .sysc_fields    = &omap_hwmod_sysc_type1,
 288 };
 289 
 290 static struct omap_hwmod_class omap44xx_counter_hwmod_class = {
 291         .name   = "counter",
 292         .sysc   = &omap44xx_counter_sysc,
 293 };
 294 
 295 
 296 static struct omap_hwmod omap44xx_counter_32k_hwmod = {
 297         .name           = "counter_32k",
 298         .class          = &omap44xx_counter_hwmod_class,
 299         .clkdm_name     = "l4_wkup_clkdm",
 300         .flags          = HWMOD_SWSUP_SIDLE,
 301         .main_clk       = "sys_32k_ck",
 302         .prcm = {
 303                 .omap4 = {
 304                         .clkctrl_offs = OMAP4_CM_WKUP_SYNCTIMER_CLKCTRL_OFFSET,
 305                         .context_offs = OMAP4_RM_WKUP_SYNCTIMER_CONTEXT_OFFSET,
 306                 },
 307         },
 308 };
 309 
 310 
 311 
 312 
 313 
 314 
 315 
 316 static struct omap_hwmod_class_sysconfig omap44xx_ctrl_module_sysc = {
 317         .rev_offs       = 0x0000,
 318         .sysc_offs      = 0x0010,
 319         .sysc_flags     = SYSC_HAS_SIDLEMODE,
 320         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
 321                            SIDLE_SMART_WKUP),
 322         .sysc_fields    = &omap_hwmod_sysc_type2,
 323 };
 324 
 325 static struct omap_hwmod_class omap44xx_ctrl_module_hwmod_class = {
 326         .name   = "ctrl_module",
 327         .sysc   = &omap44xx_ctrl_module_sysc,
 328 };
 329 
 330 
 331 static struct omap_hwmod omap44xx_ctrl_module_core_hwmod = {
 332         .name           = "ctrl_module_core",
 333         .class          = &omap44xx_ctrl_module_hwmod_class,
 334         .clkdm_name     = "l4_cfg_clkdm",
 335         .prcm = {
 336                 .omap4 = {
 337                         .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT,
 338                 },
 339         },
 340 };
 341 
 342 
 343 static struct omap_hwmod omap44xx_ctrl_module_pad_core_hwmod = {
 344         .name           = "ctrl_module_pad_core",
 345         .class          = &omap44xx_ctrl_module_hwmod_class,
 346         .clkdm_name     = "l4_cfg_clkdm",
 347         .prcm = {
 348                 .omap4 = {
 349                         .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT,
 350                 },
 351         },
 352 };
 353 
 354 
 355 static struct omap_hwmod omap44xx_ctrl_module_wkup_hwmod = {
 356         .name           = "ctrl_module_wkup",
 357         .class          = &omap44xx_ctrl_module_hwmod_class,
 358         .clkdm_name     = "l4_wkup_clkdm",
 359         .prcm = {
 360                 .omap4 = {
 361                         .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT,
 362                 },
 363         },
 364 };
 365 
 366 
 367 static struct omap_hwmod omap44xx_ctrl_module_pad_wkup_hwmod = {
 368         .name           = "ctrl_module_pad_wkup",
 369         .class          = &omap44xx_ctrl_module_hwmod_class,
 370         .clkdm_name     = "l4_wkup_clkdm",
 371         .prcm = {
 372                 .omap4 = {
 373                         .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT,
 374                 },
 375         },
 376 };
 377 
 378 
 379 
 380 
 381 
 382 
 383 static struct omap_hwmod_class omap44xx_debugss_hwmod_class = {
 384         .name   = "debugss",
 385 };
 386 
 387 
 388 static struct omap_hwmod omap44xx_debugss_hwmod = {
 389         .name           = "debugss",
 390         .class          = &omap44xx_debugss_hwmod_class,
 391         .clkdm_name     = "emu_sys_clkdm",
 392         .main_clk       = "trace_clk_div_ck",
 393         .prcm = {
 394                 .omap4 = {
 395                         .clkctrl_offs = OMAP4_CM_EMU_DEBUGSS_CLKCTRL_OFFSET,
 396                         .context_offs = OMAP4_RM_EMU_DEBUGSS_CONTEXT_OFFSET,
 397                 },
 398         },
 399 };
 400 
 401 
 402 
 403 
 404 
 405 
 406 
 407 static struct omap_hwmod_class_sysconfig omap44xx_dma_sysc = {
 408         .rev_offs       = 0x0000,
 409         .sysc_offs      = 0x002c,
 410         .syss_offs      = 0x0028,
 411         .sysc_flags     = (SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY |
 412                            SYSC_HAS_EMUFREE | SYSC_HAS_MIDLEMODE |
 413                            SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
 414                            SYSS_HAS_RESET_STATUS),
 415         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
 416                            MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
 417         .sysc_fields    = &omap_hwmod_sysc_type1,
 418 };
 419 
 420 static struct omap_hwmod_class omap44xx_dma_hwmod_class = {
 421         .name   = "dma",
 422         .sysc   = &omap44xx_dma_sysc,
 423 };
 424 
 425 
 426 static struct omap_dma_dev_attr dma_dev_attr = {
 427         .dev_caps       = RESERVE_CHANNEL | DMA_LINKED_LCH | GLOBAL_PRIORITY |
 428                           IS_CSSA_32 | IS_CDSA_32 | IS_RW_PRIORITY,
 429         .lch_count      = 32,
 430 };
 431 
 432 
 433 static struct omap_hwmod omap44xx_dma_system_hwmod = {
 434         .name           = "dma_system",
 435         .class          = &omap44xx_dma_hwmod_class,
 436         .clkdm_name     = "l3_dma_clkdm",
 437         .main_clk       = "l3_div_ck",
 438         .prcm = {
 439                 .omap4 = {
 440                         .clkctrl_offs = OMAP4_CM_SDMA_SDMA_CLKCTRL_OFFSET,
 441                         .context_offs = OMAP4_RM_SDMA_SDMA_CONTEXT_OFFSET,
 442                 },
 443         },
 444         .dev_attr       = &dma_dev_attr,
 445 };
 446 
 447 
 448 
 449 
 450 
 451 
 452 static struct omap_hwmod_class_sysconfig omap44xx_dmic_sysc = {
 453         .rev_offs       = 0x0000,
 454         .sysc_offs      = 0x0010,
 455         .sysc_flags     = (SYSC_HAS_EMUFREE | SYSC_HAS_RESET_STATUS |
 456                            SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
 457         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
 458                            SIDLE_SMART_WKUP),
 459         .sysc_fields    = &omap_hwmod_sysc_type2,
 460 };
 461 
 462 static struct omap_hwmod_class omap44xx_dmic_hwmod_class = {
 463         .name   = "dmic",
 464         .sysc   = &omap44xx_dmic_sysc,
 465 };
 466 
 467 
 468 static struct omap_hwmod omap44xx_dmic_hwmod = {
 469         .name           = "dmic",
 470         .class          = &omap44xx_dmic_hwmod_class,
 471         .clkdm_name     = "abe_clkdm",
 472         .main_clk       = "func_dmic_abe_gfclk",
 473         .prcm = {
 474                 .omap4 = {
 475                         .clkctrl_offs = OMAP4_CM1_ABE_DMIC_CLKCTRL_OFFSET,
 476                         .context_offs = OMAP4_RM_ABE_DMIC_CONTEXT_OFFSET,
 477                         .modulemode   = MODULEMODE_SWCTRL,
 478                 },
 479         },
 480 };
 481 
 482 
 483 
 484 
 485 
 486 
 487 static struct omap_hwmod_class omap44xx_dsp_hwmod_class = {
 488         .name   = "dsp",
 489 };
 490 
 491 
 492 static struct omap_hwmod_rst_info omap44xx_dsp_resets[] = {
 493         { .name = "dsp", .rst_shift = 0 },
 494 };
 495 
 496 static struct omap_hwmod omap44xx_dsp_hwmod = {
 497         .name           = "dsp",
 498         .class          = &omap44xx_dsp_hwmod_class,
 499         .clkdm_name     = "tesla_clkdm",
 500         .rst_lines      = omap44xx_dsp_resets,
 501         .rst_lines_cnt  = ARRAY_SIZE(omap44xx_dsp_resets),
 502         .main_clk       = "dpll_iva_m4x2_ck",
 503         .prcm = {
 504                 .omap4 = {
 505                         .clkctrl_offs = OMAP4_CM_TESLA_TESLA_CLKCTRL_OFFSET,
 506                         .rstctrl_offs = OMAP4_RM_TESLA_RSTCTRL_OFFSET,
 507                         .context_offs = OMAP4_RM_TESLA_TESLA_CONTEXT_OFFSET,
 508                         .modulemode   = MODULEMODE_HWCTRL,
 509                 },
 510         },
 511 };
 512 
 513 
 514 
 515 
 516 
 517 
 518 static struct omap_hwmod_class_sysconfig omap44xx_dss_sysc = {
 519         .rev_offs       = 0x0000,
 520         .syss_offs      = 0x0014,
 521         .sysc_flags     = SYSS_HAS_RESET_STATUS,
 522 };
 523 
 524 static struct omap_hwmod_class omap44xx_dss_hwmod_class = {
 525         .name   = "dss",
 526         .sysc   = &omap44xx_dss_sysc,
 527         .reset  = omap_dss_reset,
 528 };
 529 
 530 
 531 static struct omap_hwmod_opt_clk dss_opt_clks[] = {
 532         { .role = "sys_clk", .clk = "dss_sys_clk" },
 533         { .role = "tv_clk", .clk = "dss_tv_clk" },
 534         { .role = "hdmi_clk", .clk = "dss_48mhz_clk" },
 535 };
 536 
 537 static struct omap_hwmod omap44xx_dss_hwmod = {
 538         .name           = "dss_core",
 539         .flags          = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
 540         .class          = &omap44xx_dss_hwmod_class,
 541         .clkdm_name     = "l3_dss_clkdm",
 542         .main_clk       = "dss_dss_clk",
 543         .prcm = {
 544                 .omap4 = {
 545                         .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
 546                         .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
 547                         .modulemode   = MODULEMODE_SWCTRL,
 548                 },
 549         },
 550         .opt_clks       = dss_opt_clks,
 551         .opt_clks_cnt   = ARRAY_SIZE(dss_opt_clks),
 552 };
 553 
 554 
 555 
 556 
 557 
 558 
 559 static struct omap_hwmod_class_sysconfig omap44xx_dispc_sysc = {
 560         .rev_offs       = 0x0000,
 561         .sysc_offs      = 0x0010,
 562         .syss_offs      = 0x0014,
 563         .sysc_flags     = (SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY |
 564                            SYSC_HAS_ENAWAKEUP | SYSC_HAS_MIDLEMODE |
 565                            SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
 566                            SYSS_HAS_RESET_STATUS),
 567         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
 568                            MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
 569         .sysc_fields    = &omap_hwmod_sysc_type1,
 570 };
 571 
 572 static struct omap_hwmod_class omap44xx_dispc_hwmod_class = {
 573         .name   = "dispc",
 574         .sysc   = &omap44xx_dispc_sysc,
 575 };
 576 
 577 
 578 static struct omap_dss_dispc_dev_attr omap44xx_dss_dispc_dev_attr = {
 579         .manager_count          = 3,
 580         .has_framedonetv_irq    = 1
 581 };
 582 
 583 static struct omap_hwmod omap44xx_dss_dispc_hwmod = {
 584         .name           = "dss_dispc",
 585         .class          = &omap44xx_dispc_hwmod_class,
 586         .clkdm_name     = "l3_dss_clkdm",
 587         .main_clk       = "dss_dss_clk",
 588         .prcm = {
 589                 .omap4 = {
 590                         .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
 591                         .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
 592                 },
 593         },
 594         .dev_attr       = &omap44xx_dss_dispc_dev_attr,
 595         .parent_hwmod   = &omap44xx_dss_hwmod,
 596 };
 597 
 598 
 599 
 600 
 601 
 602 
 603 static struct omap_hwmod_class_sysconfig omap44xx_dsi_sysc = {
 604         .rev_offs       = 0x0000,
 605         .sysc_offs      = 0x0010,
 606         .syss_offs      = 0x0014,
 607         .sysc_flags     = (SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY |
 608                            SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE |
 609                            SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
 610         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
 611         .sysc_fields    = &omap_hwmod_sysc_type1,
 612 };
 613 
 614 static struct omap_hwmod_class omap44xx_dsi_hwmod_class = {
 615         .name   = "dsi",
 616         .sysc   = &omap44xx_dsi_sysc,
 617 };
 618 
 619 
 620 static struct omap_hwmod_opt_clk dss_dsi1_opt_clks[] = {
 621         { .role = "sys_clk", .clk = "dss_sys_clk" },
 622 };
 623 
 624 static struct omap_hwmod omap44xx_dss_dsi1_hwmod = {
 625         .name           = "dss_dsi1",
 626         .class          = &omap44xx_dsi_hwmod_class,
 627         .clkdm_name     = "l3_dss_clkdm",
 628         .main_clk       = "dss_dss_clk",
 629         .prcm = {
 630                 .omap4 = {
 631                         .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
 632                         .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
 633                 },
 634         },
 635         .opt_clks       = dss_dsi1_opt_clks,
 636         .opt_clks_cnt   = ARRAY_SIZE(dss_dsi1_opt_clks),
 637         .parent_hwmod   = &omap44xx_dss_hwmod,
 638 };
 639 
 640 
 641 static struct omap_hwmod_opt_clk dss_dsi2_opt_clks[] = {
 642         { .role = "sys_clk", .clk = "dss_sys_clk" },
 643 };
 644 
 645 static struct omap_hwmod omap44xx_dss_dsi2_hwmod = {
 646         .name           = "dss_dsi2",
 647         .class          = &omap44xx_dsi_hwmod_class,
 648         .clkdm_name     = "l3_dss_clkdm",
 649         .main_clk       = "dss_dss_clk",
 650         .prcm = {
 651                 .omap4 = {
 652                         .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
 653                         .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
 654                 },
 655         },
 656         .opt_clks       = dss_dsi2_opt_clks,
 657         .opt_clks_cnt   = ARRAY_SIZE(dss_dsi2_opt_clks),
 658         .parent_hwmod   = &omap44xx_dss_hwmod,
 659 };
 660 
 661 
 662 
 663 
 664 
 665 
 666 static struct omap_hwmod_class_sysconfig omap44xx_hdmi_sysc = {
 667         .rev_offs       = 0x0000,
 668         .sysc_offs      = 0x0010,
 669         .sysc_flags     = (SYSC_HAS_RESET_STATUS | SYSC_HAS_SIDLEMODE |
 670                            SYSC_HAS_SOFTRESET),
 671         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
 672                            SIDLE_SMART_WKUP),
 673         .sysc_fields    = &omap_hwmod_sysc_type2,
 674 };
 675 
 676 static struct omap_hwmod_class omap44xx_hdmi_hwmod_class = {
 677         .name   = "hdmi",
 678         .sysc   = &omap44xx_hdmi_sysc,
 679 };
 680 
 681 
 682 static struct omap_hwmod_opt_clk dss_hdmi_opt_clks[] = {
 683         { .role = "sys_clk", .clk = "dss_sys_clk" },
 684         { .role = "hdmi_clk", .clk = "dss_48mhz_clk" },
 685 };
 686 
 687 static struct omap_hwmod omap44xx_dss_hdmi_hwmod = {
 688         .name           = "dss_hdmi",
 689         .class          = &omap44xx_hdmi_hwmod_class,
 690         .clkdm_name     = "l3_dss_clkdm",
 691         
 692 
 693 
 694 
 695         .flags          = HWMOD_SWSUP_SIDLE | HWMOD_OPT_CLKS_NEEDED,
 696         .main_clk       = "dss_48mhz_clk",
 697         .prcm = {
 698                 .omap4 = {
 699                         .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
 700                         .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
 701                 },
 702         },
 703         .opt_clks       = dss_hdmi_opt_clks,
 704         .opt_clks_cnt   = ARRAY_SIZE(dss_hdmi_opt_clks),
 705         .parent_hwmod   = &omap44xx_dss_hwmod,
 706 };
 707 
 708 
 709 
 710 
 711 
 712 
 713 static struct omap_hwmod_class_sysconfig omap44xx_rfbi_sysc = {
 714         .rev_offs       = 0x0000,
 715         .sysc_offs      = 0x0010,
 716         .syss_offs      = 0x0014,
 717         .sysc_flags     = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SIDLEMODE |
 718                            SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
 719         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
 720         .sysc_fields    = &omap_hwmod_sysc_type1,
 721 };
 722 
 723 static struct omap_hwmod_class omap44xx_rfbi_hwmod_class = {
 724         .name   = "rfbi",
 725         .sysc   = &omap44xx_rfbi_sysc,
 726 };
 727 
 728 
 729 static struct omap_hwmod_opt_clk dss_rfbi_opt_clks[] = {
 730         { .role = "ick", .clk = "l3_div_ck" },
 731 };
 732 
 733 static struct omap_hwmod omap44xx_dss_rfbi_hwmod = {
 734         .name           = "dss_rfbi",
 735         .class          = &omap44xx_rfbi_hwmod_class,
 736         .clkdm_name     = "l3_dss_clkdm",
 737         .main_clk       = "dss_dss_clk",
 738         .prcm = {
 739                 .omap4 = {
 740                         .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
 741                         .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
 742                 },
 743         },
 744         .opt_clks       = dss_rfbi_opt_clks,
 745         .opt_clks_cnt   = ARRAY_SIZE(dss_rfbi_opt_clks),
 746         .parent_hwmod   = &omap44xx_dss_hwmod,
 747 };
 748 
 749 
 750 
 751 
 752 
 753 
 754 static struct omap_hwmod_class omap44xx_venc_hwmod_class = {
 755         .name   = "venc",
 756 };
 757 
 758 
 759 static struct omap_hwmod_opt_clk dss_venc_opt_clks[] = {
 760         { .role = "tv_clk", .clk = "dss_tv_clk" },
 761 };
 762 
 763 static struct omap_hwmod omap44xx_dss_venc_hwmod = {
 764         .name           = "dss_venc",
 765         .class          = &omap44xx_venc_hwmod_class,
 766         .clkdm_name     = "l3_dss_clkdm",
 767         .main_clk       = "dss_tv_clk",
 768         .flags          = HWMOD_OPT_CLKS_NEEDED,
 769         .prcm = {
 770                 .omap4 = {
 771                         .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
 772                         .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
 773                 },
 774         },
 775         .parent_hwmod   = &omap44xx_dss_hwmod,
 776         .opt_clks       = dss_venc_opt_clks,
 777         .opt_clks_cnt   = ARRAY_SIZE(dss_venc_opt_clks),
 778 };
 779 
 780 
 781 static struct omap_hwmod_class_sysconfig omap44xx_sha0_sysc = {
 782         .rev_offs       = 0x100,
 783         .sysc_offs      = 0x110,
 784         .syss_offs      = 0x114,
 785         .sysc_flags     = SYSS_HAS_RESET_STATUS,
 786 };
 787 
 788 static struct omap_hwmod_class omap44xx_sha0_hwmod_class = {
 789         .name           = "sham",
 790         .sysc           = &omap44xx_sha0_sysc,
 791 };
 792 
 793 struct omap_hwmod omap44xx_sha0_hwmod = {
 794         .name           = "sham",
 795         .class          = &omap44xx_sha0_hwmod_class,
 796         .clkdm_name     = "l4_secure_clkdm",
 797         .main_clk       = "l3_div_ck",
 798         .prcm           = {
 799                 .omap4 = {
 800                         .clkctrl_offs = OMAP4_CM_L4SEC_SHA2MD51_CLKCTRL_OFFSET,
 801                         .context_offs = OMAP4_RM_L4SEC_SHA2MD51_CONTEXT_OFFSET,
 802                         .modulemode   = MODULEMODE_SWCTRL,
 803                 },
 804         },
 805 };
 806 
 807 
 808 
 809 
 810 
 811 
 812 static struct omap_hwmod_class_sysconfig omap44xx_elm_sysc = {
 813         .rev_offs       = 0x0000,
 814         .sysc_offs      = 0x0010,
 815         .syss_offs      = 0x0014,
 816         .sysc_flags     = (SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY |
 817                            SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
 818                            SYSS_HAS_RESET_STATUS),
 819         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
 820         .sysc_fields    = &omap_hwmod_sysc_type1,
 821 };
 822 
 823 static struct omap_hwmod_class omap44xx_elm_hwmod_class = {
 824         .name   = "elm",
 825         .sysc   = &omap44xx_elm_sysc,
 826 };
 827 
 828 
 829 static struct omap_hwmod omap44xx_elm_hwmod = {
 830         .name           = "elm",
 831         .class          = &omap44xx_elm_hwmod_class,
 832         .clkdm_name     = "l4_per_clkdm",
 833         .prcm = {
 834                 .omap4 = {
 835                         .clkctrl_offs = OMAP4_CM_L4PER_ELM_CLKCTRL_OFFSET,
 836                         .context_offs = OMAP4_RM_L4PER_ELM_CONTEXT_OFFSET,
 837                 },
 838         },
 839 };
 840 
 841 
 842 
 843 
 844 
 845 
 846 static struct omap_hwmod_class_sysconfig omap44xx_emif_sysc = {
 847         .rev_offs       = 0x0000,
 848 };
 849 
 850 static struct omap_hwmod_class omap44xx_emif_hwmod_class = {
 851         .name   = "emif",
 852         .sysc   = &omap44xx_emif_sysc,
 853 };
 854 
 855 
 856 static struct omap_hwmod omap44xx_emif1_hwmod = {
 857         .name           = "emif1",
 858         .class          = &omap44xx_emif_hwmod_class,
 859         .clkdm_name     = "l3_emif_clkdm",
 860         .flags          = HWMOD_INIT_NO_IDLE,
 861         .main_clk       = "ddrphy_ck",
 862         .prcm = {
 863                 .omap4 = {
 864                         .clkctrl_offs = OMAP4_CM_MEMIF_EMIF_1_CLKCTRL_OFFSET,
 865                         .context_offs = OMAP4_RM_MEMIF_EMIF_1_CONTEXT_OFFSET,
 866                         .modulemode   = MODULEMODE_HWCTRL,
 867                 },
 868         },
 869 };
 870 
 871 
 872 static struct omap_hwmod omap44xx_emif2_hwmod = {
 873         .name           = "emif2",
 874         .class          = &omap44xx_emif_hwmod_class,
 875         .clkdm_name     = "l3_emif_clkdm",
 876         .flags          = HWMOD_INIT_NO_IDLE,
 877         .main_clk       = "ddrphy_ck",
 878         .prcm = {
 879                 .omap4 = {
 880                         .clkctrl_offs = OMAP4_CM_MEMIF_EMIF_2_CLKCTRL_OFFSET,
 881                         .context_offs = OMAP4_RM_MEMIF_EMIF_2_CONTEXT_OFFSET,
 882                         .modulemode   = MODULEMODE_HWCTRL,
 883                 },
 884         },
 885 };
 886 
 887 
 888 
 889 
 890 
 891 
 892 
 893 
 894 static struct omap_hwmod_class_sysconfig omap44xx_aes_sysc = {
 895         .rev_offs       = 0x80,
 896         .sysc_offs      = 0x84,
 897         .syss_offs      = 0x88,
 898         .sysc_flags     = SYSS_HAS_RESET_STATUS,
 899 };
 900 
 901 static struct omap_hwmod_class omap44xx_aes_hwmod_class = {
 902         .name           = "aes",
 903         .sysc           = &omap44xx_aes_sysc,
 904 };
 905 
 906 static struct omap_hwmod omap44xx_aes1_hwmod = {
 907         .name           = "aes1",
 908         .class          = &omap44xx_aes_hwmod_class,
 909         .clkdm_name     = "l4_secure_clkdm",
 910         .main_clk       = "l3_div_ck",
 911         .prcm           = {
 912                 .omap4  = {
 913                         .context_offs   = OMAP4_RM_L4SEC_AES1_CONTEXT_OFFSET,
 914                         .clkctrl_offs   = OMAP4_CM_L4SEC_AES1_CLKCTRL_OFFSET,
 915                         .modulemode     = MODULEMODE_SWCTRL,
 916                 },
 917         },
 918 };
 919 
 920 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__aes1 = {
 921         .master         = &omap44xx_l4_per_hwmod,
 922         .slave          = &omap44xx_aes1_hwmod,
 923         .clk            = "l3_div_ck",
 924         .user           = OCP_USER_MPU | OCP_USER_SDMA,
 925 };
 926 
 927 static struct omap_hwmod omap44xx_aes2_hwmod = {
 928         .name           = "aes2",
 929         .class          = &omap44xx_aes_hwmod_class,
 930         .clkdm_name     = "l4_secure_clkdm",
 931         .main_clk       = "l3_div_ck",
 932         .prcm           = {
 933                 .omap4  = {
 934                         .context_offs   = OMAP4_RM_L4SEC_AES2_CONTEXT_OFFSET,
 935                         .clkctrl_offs   = OMAP4_CM_L4SEC_AES2_CLKCTRL_OFFSET,
 936                         .modulemode     = MODULEMODE_SWCTRL,
 937                 },
 938         },
 939 };
 940 
 941 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__aes2 = {
 942         .master         = &omap44xx_l4_per_hwmod,
 943         .slave          = &omap44xx_aes2_hwmod,
 944         .clk            = "l3_div_ck",
 945         .user           = OCP_USER_MPU | OCP_USER_SDMA,
 946 };
 947 
 948 
 949 
 950 
 951 static struct omap_hwmod_class_sysconfig omap44xx_des_sysc = {
 952         .rev_offs       = 0x30,
 953         .sysc_offs      = 0x34,
 954         .syss_offs      = 0x38,
 955         .sysc_flags     = SYSS_HAS_RESET_STATUS,
 956 };
 957 
 958 static struct omap_hwmod_class omap44xx_des_hwmod_class = {
 959         .name           = "des",
 960         .sysc           = &omap44xx_des_sysc,
 961 };
 962 
 963 static struct omap_hwmod omap44xx_des_hwmod = {
 964         .name           = "des",
 965         .class          = &omap44xx_des_hwmod_class,
 966         .clkdm_name     = "l4_secure_clkdm",
 967         .main_clk       = "l3_div_ck",
 968         .prcm           = {
 969                 .omap4  = {
 970                         .context_offs   = OMAP4_RM_L4SEC_DES3DES_CONTEXT_OFFSET,
 971                         .clkctrl_offs   = OMAP4_CM_L4SEC_DES3DES_CLKCTRL_OFFSET,
 972                         .modulemode     = MODULEMODE_SWCTRL,
 973                 },
 974         },
 975 };
 976 
 977 struct omap_hwmod_ocp_if omap44xx_l3_main_2__des = {
 978         .master         = &omap44xx_l3_main_2_hwmod,
 979         .slave          = &omap44xx_des_hwmod,
 980         .clk            = "l3_div_ck",
 981         .user           = OCP_USER_MPU | OCP_USER_SDMA,
 982 };
 983 
 984 
 985 
 986 
 987 
 988 
 989 static struct omap_hwmod_class_sysconfig omap44xx_fdif_sysc = {
 990         .rev_offs       = 0x0000,
 991         .sysc_offs      = 0x0010,
 992         
 993 
 994 
 995 
 996 
 997 
 998 
 999 
1000         .srst_udelay    = 2,
1001         .sysc_flags     = (SYSC_HAS_MIDLEMODE | SYSC_HAS_RESET_STATUS |
1002                            SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
1003         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
1004                            MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
1005         .sysc_fields    = &omap_hwmod_sysc_type2,
1006 };
1007 
1008 static struct omap_hwmod_class omap44xx_fdif_hwmod_class = {
1009         .name   = "fdif",
1010         .sysc   = &omap44xx_fdif_sysc,
1011 };
1012 
1013 
1014 static struct omap_hwmod omap44xx_fdif_hwmod = {
1015         .name           = "fdif",
1016         .class          = &omap44xx_fdif_hwmod_class,
1017         .clkdm_name     = "iss_clkdm",
1018         .main_clk       = "fdif_fck",
1019         .prcm = {
1020                 .omap4 = {
1021                         .clkctrl_offs = OMAP4_CM_CAM_FDIF_CLKCTRL_OFFSET,
1022                         .context_offs = OMAP4_RM_CAM_FDIF_CONTEXT_OFFSET,
1023                         .modulemode   = MODULEMODE_SWCTRL,
1024                 },
1025         },
1026 };
1027 
1028 
1029 
1030 
1031 
1032 
1033 static struct omap_hwmod_class_sysconfig omap44xx_gpmc_sysc = {
1034         .rev_offs       = 0x0000,
1035         .sysc_offs      = 0x0010,
1036         .syss_offs      = 0x0014,
1037         .sysc_flags     = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SIDLEMODE |
1038                            SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
1039         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
1040         .sysc_fields    = &omap_hwmod_sysc_type1,
1041 };
1042 
1043 static struct omap_hwmod_class omap44xx_gpmc_hwmod_class = {
1044         .name   = "gpmc",
1045         .sysc   = &omap44xx_gpmc_sysc,
1046 };
1047 
1048 
1049 static struct omap_hwmod omap44xx_gpmc_hwmod = {
1050         .name           = "gpmc",
1051         .class          = &omap44xx_gpmc_hwmod_class,
1052         .clkdm_name     = "l3_2_clkdm",
1053         
1054         .flags          = DEBUG_OMAP_GPMC_HWMOD_FLAGS,
1055         .prcm = {
1056                 .omap4 = {
1057                         .clkctrl_offs = OMAP4_CM_L3_2_GPMC_CLKCTRL_OFFSET,
1058                         .context_offs = OMAP4_RM_L3_2_GPMC_CONTEXT_OFFSET,
1059                         .modulemode   = MODULEMODE_HWCTRL,
1060                 },
1061         },
1062 };
1063 
1064 
1065 
1066 
1067 
1068 
1069 static struct omap_hwmod_class_sysconfig omap44xx_hdq1w_sysc = {
1070         .rev_offs       = 0x0000,
1071         .sysc_offs      = 0x0014,
1072         .syss_offs      = 0x0018,
1073         .sysc_flags     = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SOFTRESET |
1074                            SYSS_HAS_RESET_STATUS),
1075         .sysc_fields    = &omap_hwmod_sysc_type1,
1076 };
1077 
1078 static struct omap_hwmod_class omap44xx_hdq1w_hwmod_class = {
1079         .name   = "hdq1w",
1080         .sysc   = &omap44xx_hdq1w_sysc,
1081 };
1082 
1083 
1084 static struct omap_hwmod omap44xx_hdq1w_hwmod = {
1085         .name           = "hdq1w",
1086         .class          = &omap44xx_hdq1w_hwmod_class,
1087         .clkdm_name     = "l4_per_clkdm",
1088         .flags          = HWMOD_INIT_NO_RESET, 
1089         .main_clk       = "func_12m_fclk",
1090         .prcm = {
1091                 .omap4 = {
1092                         .clkctrl_offs = OMAP4_CM_L4PER_HDQ1W_CLKCTRL_OFFSET,
1093                         .context_offs = OMAP4_RM_L4PER_HDQ1W_CONTEXT_OFFSET,
1094                         .modulemode   = MODULEMODE_SWCTRL,
1095                 },
1096         },
1097 };
1098 
1099 
1100 
1101 
1102 
1103 
1104 
1105 static struct omap_hwmod_class_sysconfig omap44xx_hsi_sysc = {
1106         .rev_offs       = 0x0000,
1107         .sysc_offs      = 0x0010,
1108         .syss_offs      = 0x0014,
1109         .sysc_flags     = (SYSC_HAS_AUTOIDLE | SYSC_HAS_EMUFREE |
1110                            SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE |
1111                            SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
1112         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
1113                            SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
1114                            MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
1115         .sysc_fields    = &omap_hwmod_sysc_type1,
1116 };
1117 
1118 static struct omap_hwmod_class omap44xx_hsi_hwmod_class = {
1119         .name   = "hsi",
1120         .sysc   = &omap44xx_hsi_sysc,
1121 };
1122 
1123 
1124 static struct omap_hwmod omap44xx_hsi_hwmod = {
1125         .name           = "hsi",
1126         .class          = &omap44xx_hsi_hwmod_class,
1127         .clkdm_name     = "l3_init_clkdm",
1128         .main_clk       = "hsi_fck",
1129         .prcm = {
1130                 .omap4 = {
1131                         .clkctrl_offs = OMAP4_CM_L3INIT_HSI_CLKCTRL_OFFSET,
1132                         .context_offs = OMAP4_RM_L3INIT_HSI_CONTEXT_OFFSET,
1133                         .modulemode   = MODULEMODE_HWCTRL,
1134                 },
1135         },
1136 };
1137 
1138 
1139 
1140 
1141 
1142 
1143 static struct omap_hwmod_class omap44xx_ipu_hwmod_class = {
1144         .name   = "ipu",
1145 };
1146 
1147 
1148 static struct omap_hwmod_rst_info omap44xx_ipu_resets[] = {
1149         { .name = "cpu0", .rst_shift = 0 },
1150         { .name = "cpu1", .rst_shift = 1 },
1151 };
1152 
1153 static struct omap_hwmod omap44xx_ipu_hwmod = {
1154         .name           = "ipu",
1155         .class          = &omap44xx_ipu_hwmod_class,
1156         .clkdm_name     = "ducati_clkdm",
1157         .rst_lines      = omap44xx_ipu_resets,
1158         .rst_lines_cnt  = ARRAY_SIZE(omap44xx_ipu_resets),
1159         .main_clk       = "ducati_clk_mux_ck",
1160         .prcm = {
1161                 .omap4 = {
1162                         .clkctrl_offs = OMAP4_CM_DUCATI_DUCATI_CLKCTRL_OFFSET,
1163                         .rstctrl_offs = OMAP4_RM_DUCATI_RSTCTRL_OFFSET,
1164                         .context_offs = OMAP4_RM_DUCATI_DUCATI_CONTEXT_OFFSET,
1165                         .modulemode   = MODULEMODE_HWCTRL,
1166                 },
1167         },
1168 };
1169 
1170 
1171 
1172 
1173 
1174 
1175 static struct omap_hwmod_class_sysconfig omap44xx_iss_sysc = {
1176         .rev_offs       = 0x0000,
1177         .sysc_offs      = 0x0010,
1178         
1179 
1180 
1181 
1182 
1183 
1184 
1185 
1186         .srst_udelay    = 2,
1187         .sysc_flags     = (SYSC_HAS_MIDLEMODE | SYSC_HAS_RESET_STATUS |
1188                            SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
1189         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
1190                            SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
1191                            MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
1192         .sysc_fields    = &omap_hwmod_sysc_type2,
1193 };
1194 
1195 static struct omap_hwmod_class omap44xx_iss_hwmod_class = {
1196         .name   = "iss",
1197         .sysc   = &omap44xx_iss_sysc,
1198 };
1199 
1200 
1201 static struct omap_hwmod_opt_clk iss_opt_clks[] = {
1202         { .role = "ctrlclk", .clk = "iss_ctrlclk" },
1203 };
1204 
1205 static struct omap_hwmod omap44xx_iss_hwmod = {
1206         .name           = "iss",
1207         .class          = &omap44xx_iss_hwmod_class,
1208         .clkdm_name     = "iss_clkdm",
1209         .main_clk       = "ducati_clk_mux_ck",
1210         .prcm = {
1211                 .omap4 = {
1212                         .clkctrl_offs = OMAP4_CM_CAM_ISS_CLKCTRL_OFFSET,
1213                         .context_offs = OMAP4_RM_CAM_ISS_CONTEXT_OFFSET,
1214                         .modulemode   = MODULEMODE_SWCTRL,
1215                 },
1216         },
1217         .opt_clks       = iss_opt_clks,
1218         .opt_clks_cnt   = ARRAY_SIZE(iss_opt_clks),
1219 };
1220 
1221 
1222 
1223 
1224 
1225 
1226 static struct omap_hwmod_class omap44xx_iva_hwmod_class = {
1227         .name   = "iva",
1228 };
1229 
1230 
1231 static struct omap_hwmod_rst_info omap44xx_iva_resets[] = {
1232         { .name = "seq0", .rst_shift = 0 },
1233         { .name = "seq1", .rst_shift = 1 },
1234         { .name = "logic", .rst_shift = 2 },
1235 };
1236 
1237 static struct omap_hwmod omap44xx_iva_hwmod = {
1238         .name           = "iva",
1239         .class          = &omap44xx_iva_hwmod_class,
1240         .clkdm_name     = "ivahd_clkdm",
1241         .rst_lines      = omap44xx_iva_resets,
1242         .rst_lines_cnt  = ARRAY_SIZE(omap44xx_iva_resets),
1243         .main_clk       = "dpll_iva_m5x2_ck",
1244         .prcm = {
1245                 .omap4 = {
1246                         .clkctrl_offs = OMAP4_CM_IVAHD_IVAHD_CLKCTRL_OFFSET,
1247                         .rstctrl_offs = OMAP4_RM_IVAHD_RSTCTRL_OFFSET,
1248                         .context_offs = OMAP4_RM_IVAHD_IVAHD_CONTEXT_OFFSET,
1249                         .modulemode   = MODULEMODE_HWCTRL,
1250                 },
1251         },
1252 };
1253 
1254 
1255 
1256 
1257 
1258 
1259 static struct omap_hwmod_class_sysconfig omap44xx_kbd_sysc = {
1260         .rev_offs       = 0x0000,
1261         .sysc_offs      = 0x0010,
1262         .syss_offs      = 0x0014,
1263         .sysc_flags     = (SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY |
1264                            SYSC_HAS_EMUFREE | SYSC_HAS_ENAWAKEUP |
1265                            SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
1266                            SYSS_HAS_RESET_STATUS),
1267         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
1268         .sysc_fields    = &omap_hwmod_sysc_type1,
1269 };
1270 
1271 static struct omap_hwmod_class omap44xx_kbd_hwmod_class = {
1272         .name   = "kbd",
1273         .sysc   = &omap44xx_kbd_sysc,
1274 };
1275 
1276 
1277 static struct omap_hwmod omap44xx_kbd_hwmod = {
1278         .name           = "kbd",
1279         .class          = &omap44xx_kbd_hwmod_class,
1280         .clkdm_name     = "l4_wkup_clkdm",
1281         .main_clk       = "sys_32k_ck",
1282         .prcm = {
1283                 .omap4 = {
1284                         .clkctrl_offs = OMAP4_CM_WKUP_KEYBOARD_CLKCTRL_OFFSET,
1285                         .context_offs = OMAP4_RM_WKUP_KEYBOARD_CONTEXT_OFFSET,
1286                         .modulemode   = MODULEMODE_SWCTRL,
1287                 },
1288         },
1289 };
1290 
1291 
1292 
1293 
1294 
1295 
1296 
1297 static struct omap_hwmod_class_sysconfig omap44xx_mailbox_sysc = {
1298         .rev_offs       = 0x0000,
1299         .sysc_offs      = 0x0010,
1300         .sysc_flags     = (SYSC_HAS_RESET_STATUS | SYSC_HAS_SIDLEMODE |
1301                            SYSC_HAS_SOFTRESET),
1302         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
1303         .sysc_fields    = &omap_hwmod_sysc_type2,
1304 };
1305 
1306 static struct omap_hwmod_class omap44xx_mailbox_hwmod_class = {
1307         .name   = "mailbox",
1308         .sysc   = &omap44xx_mailbox_sysc,
1309 };
1310 
1311 
1312 static struct omap_hwmod omap44xx_mailbox_hwmod = {
1313         .name           = "mailbox",
1314         .class          = &omap44xx_mailbox_hwmod_class,
1315         .clkdm_name     = "l4_cfg_clkdm",
1316         .prcm = {
1317                 .omap4 = {
1318                         .clkctrl_offs = OMAP4_CM_L4CFG_MAILBOX_CLKCTRL_OFFSET,
1319                         .context_offs = OMAP4_RM_L4CFG_MAILBOX_CONTEXT_OFFSET,
1320                 },
1321         },
1322 };
1323 
1324 
1325 
1326 
1327 
1328 
1329 
1330 static struct omap_hwmod_class_sysconfig omap44xx_mcasp_sysc = {
1331         .rev_offs       = 0,
1332         .sysc_offs      = 0x0004,
1333         .sysc_flags     = SYSC_HAS_SIDLEMODE,
1334         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
1335                            SIDLE_SMART_WKUP),
1336         .sysc_fields    = &omap_hwmod_sysc_type_mcasp,
1337 };
1338 
1339 static struct omap_hwmod_class omap44xx_mcasp_hwmod_class = {
1340         .name   = "mcasp",
1341         .sysc   = &omap44xx_mcasp_sysc,
1342 };
1343 
1344 
1345 static struct omap_hwmod omap44xx_mcasp_hwmod = {
1346         .name           = "mcasp",
1347         .class          = &omap44xx_mcasp_hwmod_class,
1348         .clkdm_name     = "abe_clkdm",
1349         .main_clk       = "func_mcasp_abe_gfclk",
1350         .prcm = {
1351                 .omap4 = {
1352                         .clkctrl_offs = OMAP4_CM1_ABE_MCASP_CLKCTRL_OFFSET,
1353                         .context_offs = OMAP4_RM_ABE_MCASP_CONTEXT_OFFSET,
1354                         .modulemode   = MODULEMODE_SWCTRL,
1355                 },
1356         },
1357 };
1358 
1359 
1360 
1361 
1362 
1363 
1364 static struct omap_hwmod_class_sysconfig omap44xx_mcbsp_sysc = {
1365         .rev_offs       = -ENODEV,
1366         .sysc_offs      = 0x008c,
1367         .sysc_flags     = (SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_ENAWAKEUP |
1368                            SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
1369         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
1370         .sysc_fields    = &omap_hwmod_sysc_type1,
1371 };
1372 
1373 static struct omap_hwmod_class omap44xx_mcbsp_hwmod_class = {
1374         .name   = "mcbsp",
1375         .sysc   = &omap44xx_mcbsp_sysc,
1376 };
1377 
1378 
1379 static struct omap_hwmod_opt_clk mcbsp1_opt_clks[] = {
1380         { .role = "pad_fck", .clk = "pad_clks_ck" },
1381         { .role = "prcm_fck", .clk = "mcbsp1_sync_mux_ck" },
1382 };
1383 
1384 static struct omap_hwmod omap44xx_mcbsp1_hwmod = {
1385         .name           = "mcbsp1",
1386         .class          = &omap44xx_mcbsp_hwmod_class,
1387         .clkdm_name     = "abe_clkdm",
1388         .main_clk       = "func_mcbsp1_gfclk",
1389         .prcm = {
1390                 .omap4 = {
1391                         .clkctrl_offs = OMAP4_CM1_ABE_MCBSP1_CLKCTRL_OFFSET,
1392                         .context_offs = OMAP4_RM_ABE_MCBSP1_CONTEXT_OFFSET,
1393                         .modulemode   = MODULEMODE_SWCTRL,
1394                 },
1395         },
1396         .opt_clks       = mcbsp1_opt_clks,
1397         .opt_clks_cnt   = ARRAY_SIZE(mcbsp1_opt_clks),
1398 };
1399 
1400 
1401 static struct omap_hwmod_opt_clk mcbsp2_opt_clks[] = {
1402         { .role = "pad_fck", .clk = "pad_clks_ck" },
1403         { .role = "prcm_fck", .clk = "mcbsp2_sync_mux_ck" },
1404 };
1405 
1406 static struct omap_hwmod omap44xx_mcbsp2_hwmod = {
1407         .name           = "mcbsp2",
1408         .class          = &omap44xx_mcbsp_hwmod_class,
1409         .clkdm_name     = "abe_clkdm",
1410         .main_clk       = "func_mcbsp2_gfclk",
1411         .prcm = {
1412                 .omap4 = {
1413                         .clkctrl_offs = OMAP4_CM1_ABE_MCBSP2_CLKCTRL_OFFSET,
1414                         .context_offs = OMAP4_RM_ABE_MCBSP2_CONTEXT_OFFSET,
1415                         .modulemode   = MODULEMODE_SWCTRL,
1416                 },
1417         },
1418         .opt_clks       = mcbsp2_opt_clks,
1419         .opt_clks_cnt   = ARRAY_SIZE(mcbsp2_opt_clks),
1420 };
1421 
1422 
1423 static struct omap_hwmod_opt_clk mcbsp3_opt_clks[] = {
1424         { .role = "pad_fck", .clk = "pad_clks_ck" },
1425         { .role = "prcm_fck", .clk = "mcbsp3_sync_mux_ck" },
1426 };
1427 
1428 static struct omap_hwmod omap44xx_mcbsp3_hwmod = {
1429         .name           = "mcbsp3",
1430         .class          = &omap44xx_mcbsp_hwmod_class,
1431         .clkdm_name     = "abe_clkdm",
1432         .main_clk       = "func_mcbsp3_gfclk",
1433         .prcm = {
1434                 .omap4 = {
1435                         .clkctrl_offs = OMAP4_CM1_ABE_MCBSP3_CLKCTRL_OFFSET,
1436                         .context_offs = OMAP4_RM_ABE_MCBSP3_CONTEXT_OFFSET,
1437                         .modulemode   = MODULEMODE_SWCTRL,
1438                 },
1439         },
1440         .opt_clks       = mcbsp3_opt_clks,
1441         .opt_clks_cnt   = ARRAY_SIZE(mcbsp3_opt_clks),
1442 };
1443 
1444 
1445 static struct omap_hwmod_opt_clk mcbsp4_opt_clks[] = {
1446         { .role = "pad_fck", .clk = "pad_clks_ck" },
1447         { .role = "prcm_fck", .clk = "mcbsp4_sync_mux_ck" },
1448 };
1449 
1450 static struct omap_hwmod omap44xx_mcbsp4_hwmod = {
1451         .name           = "mcbsp4",
1452         .class          = &omap44xx_mcbsp_hwmod_class,
1453         .clkdm_name     = "l4_per_clkdm",
1454         .main_clk       = "per_mcbsp4_gfclk",
1455         .prcm = {
1456                 .omap4 = {
1457                         .clkctrl_offs = OMAP4_CM_L4PER_MCBSP4_CLKCTRL_OFFSET,
1458                         .context_offs = OMAP4_RM_L4PER_MCBSP4_CONTEXT_OFFSET,
1459                         .modulemode   = MODULEMODE_SWCTRL,
1460                 },
1461         },
1462         .opt_clks       = mcbsp4_opt_clks,
1463         .opt_clks_cnt   = ARRAY_SIZE(mcbsp4_opt_clks),
1464 };
1465 
1466 
1467 
1468 
1469 
1470 
1471 
1472 static struct omap_hwmod_class_sysconfig omap44xx_mcpdm_sysc = {
1473         .rev_offs       = 0x0000,
1474         .sysc_offs      = 0x0010,
1475         .sysc_flags     = (SYSC_HAS_EMUFREE | SYSC_HAS_RESET_STATUS |
1476                            SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
1477         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
1478                            SIDLE_SMART_WKUP),
1479         .sysc_fields    = &omap_hwmod_sysc_type2,
1480 };
1481 
1482 static struct omap_hwmod_class omap44xx_mcpdm_hwmod_class = {
1483         .name   = "mcpdm",
1484         .sysc   = &omap44xx_mcpdm_sysc,
1485 };
1486 
1487 
1488 static struct omap_hwmod omap44xx_mcpdm_hwmod = {
1489         .name           = "mcpdm",
1490         .class          = &omap44xx_mcpdm_hwmod_class,
1491         .clkdm_name     = "abe_clkdm",
1492         
1493 
1494 
1495 
1496 
1497 
1498 
1499 
1500 
1501 
1502 
1503         .flags          = HWMOD_EXT_OPT_MAIN_CLK | HWMOD_SWSUP_SIDLE,
1504         .main_clk       = "pad_clks_ck",
1505         .prcm = {
1506                 .omap4 = {
1507                         .clkctrl_offs = OMAP4_CM1_ABE_PDM_CLKCTRL_OFFSET,
1508                         .context_offs = OMAP4_RM_ABE_PDM_CONTEXT_OFFSET,
1509                         .modulemode   = MODULEMODE_SWCTRL,
1510                 },
1511         },
1512 };
1513 
1514 
1515 
1516 
1517 
1518 
1519 
1520 static struct omap_hwmod_class_sysconfig mmu_sysc = {
1521         .rev_offs       = 0x000,
1522         .sysc_offs      = 0x010,
1523         .syss_offs      = 0x014,
1524         .sysc_flags     = (SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_SIDLEMODE |
1525                            SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
1526         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
1527         .sysc_fields    = &omap_hwmod_sysc_type1,
1528 };
1529 
1530 static struct omap_hwmod_class omap44xx_mmu_hwmod_class = {
1531         .name = "mmu",
1532         .sysc = &mmu_sysc,
1533 };
1534 
1535 
1536 
1537 static struct omap_hwmod omap44xx_mmu_ipu_hwmod;
1538 static struct omap_hwmod_rst_info omap44xx_mmu_ipu_resets[] = {
1539         { .name = "mmu_cache", .rst_shift = 2 },
1540 };
1541 
1542 
1543 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__mmu_ipu = {
1544         .master         = &omap44xx_l3_main_2_hwmod,
1545         .slave          = &omap44xx_mmu_ipu_hwmod,
1546         .clk            = "l3_div_ck",
1547         .user           = OCP_USER_MPU | OCP_USER_SDMA,
1548 };
1549 
1550 static struct omap_hwmod omap44xx_mmu_ipu_hwmod = {
1551         .name           = "mmu_ipu",
1552         .class          = &omap44xx_mmu_hwmod_class,
1553         .clkdm_name     = "ducati_clkdm",
1554         .rst_lines      = omap44xx_mmu_ipu_resets,
1555         .rst_lines_cnt  = ARRAY_SIZE(omap44xx_mmu_ipu_resets),
1556         .main_clk       = "ducati_clk_mux_ck",
1557         .prcm = {
1558                 .omap4 = {
1559                         .clkctrl_offs = OMAP4_CM_DUCATI_DUCATI_CLKCTRL_OFFSET,
1560                         .rstctrl_offs = OMAP4_RM_DUCATI_RSTCTRL_OFFSET,
1561                         .context_offs = OMAP4_RM_DUCATI_DUCATI_CONTEXT_OFFSET,
1562                         .modulemode   = MODULEMODE_HWCTRL,
1563                 },
1564         },
1565 };
1566 
1567 
1568 
1569 static struct omap_hwmod omap44xx_mmu_dsp_hwmod;
1570 static struct omap_hwmod_rst_info omap44xx_mmu_dsp_resets[] = {
1571         { .name = "mmu_cache", .rst_shift = 1 },
1572 };
1573 
1574 
1575 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__mmu_dsp = {
1576         .master         = &omap44xx_l4_cfg_hwmod,
1577         .slave          = &omap44xx_mmu_dsp_hwmod,
1578         .clk            = "l4_div_ck",
1579         .user           = OCP_USER_MPU | OCP_USER_SDMA,
1580 };
1581 
1582 static struct omap_hwmod omap44xx_mmu_dsp_hwmod = {
1583         .name           = "mmu_dsp",
1584         .class          = &omap44xx_mmu_hwmod_class,
1585         .clkdm_name     = "tesla_clkdm",
1586         .rst_lines      = omap44xx_mmu_dsp_resets,
1587         .rst_lines_cnt  = ARRAY_SIZE(omap44xx_mmu_dsp_resets),
1588         .main_clk       = "dpll_iva_m4x2_ck",
1589         .prcm = {
1590                 .omap4 = {
1591                         .clkctrl_offs = OMAP4_CM_TESLA_TESLA_CLKCTRL_OFFSET,
1592                         .rstctrl_offs = OMAP4_RM_TESLA_RSTCTRL_OFFSET,
1593                         .context_offs = OMAP4_RM_TESLA_TESLA_CONTEXT_OFFSET,
1594                         .modulemode   = MODULEMODE_HWCTRL,
1595                 },
1596         },
1597 };
1598 
1599 
1600 
1601 
1602 
1603 
1604 static struct omap_hwmod_class omap44xx_mpu_hwmod_class = {
1605         .name   = "mpu",
1606 };
1607 
1608 
1609 static struct omap_hwmod omap44xx_mpu_hwmod = {
1610         .name           = "mpu",
1611         .class          = &omap44xx_mpu_hwmod_class,
1612         .clkdm_name     = "mpuss_clkdm",
1613         .flags          = HWMOD_INIT_NO_IDLE,
1614         .main_clk       = "dpll_mpu_m2_ck",
1615         .prcm = {
1616                 .omap4 = {
1617                         .clkctrl_offs = OMAP4_CM_MPU_MPU_CLKCTRL_OFFSET,
1618                         .context_offs = OMAP4_RM_MPU_MPU_CONTEXT_OFFSET,
1619                 },
1620         },
1621 };
1622 
1623 
1624 
1625 
1626 
1627 
1628 static struct omap_hwmod_class omap44xx_ocmc_ram_hwmod_class = {
1629         .name   = "ocmc_ram",
1630 };
1631 
1632 
1633 static struct omap_hwmod omap44xx_ocmc_ram_hwmod = {
1634         .name           = "ocmc_ram",
1635         .class          = &omap44xx_ocmc_ram_hwmod_class,
1636         .clkdm_name     = "l3_2_clkdm",
1637         .prcm = {
1638                 .omap4 = {
1639                         .clkctrl_offs = OMAP4_CM_L3_2_OCMC_RAM_CLKCTRL_OFFSET,
1640                         .context_offs = OMAP4_RM_L3_2_OCMC_RAM_CONTEXT_OFFSET,
1641                 },
1642         },
1643 };
1644 
1645 
1646 
1647 
1648 
1649 
1650 
1651 static struct omap_hwmod_class_sysconfig omap44xx_ocp2scp_sysc = {
1652         .rev_offs       = 0x0000,
1653         .sysc_offs      = 0x0010,
1654         .syss_offs      = 0x0014,
1655         .sysc_flags     = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SIDLEMODE |
1656                            SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
1657         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
1658         .sysc_fields    = &omap_hwmod_sysc_type1,
1659 };
1660 
1661 static struct omap_hwmod_class omap44xx_ocp2scp_hwmod_class = {
1662         .name   = "ocp2scp",
1663         .sysc   = &omap44xx_ocp2scp_sysc,
1664 };
1665 
1666 
1667 static struct omap_hwmod omap44xx_ocp2scp_usb_phy_hwmod = {
1668         .name           = "ocp2scp_usb_phy",
1669         .class          = &omap44xx_ocp2scp_hwmod_class,
1670         .clkdm_name     = "l3_init_clkdm",
1671         
1672 
1673 
1674 
1675 
1676 
1677 
1678 
1679 
1680 
1681         .main_clk       = "ocp2scp_usb_phy_phy_48m",
1682         .prcm = {
1683                 .omap4 = {
1684                         .clkctrl_offs = OMAP4_CM_L3INIT_USBPHYOCP2SCP_CLKCTRL_OFFSET,
1685                         .context_offs = OMAP4_RM_L3INIT_USBPHYOCP2SCP_CONTEXT_OFFSET,
1686                         .modulemode   = MODULEMODE_HWCTRL,
1687                 },
1688         },
1689 };
1690 
1691 
1692 
1693 
1694 
1695 
1696 
1697 static struct omap_hwmod_class omap44xx_prcm_hwmod_class = {
1698         .name   = "prcm",
1699 };
1700 
1701 
1702 static struct omap_hwmod omap44xx_prcm_mpu_hwmod = {
1703         .name           = "prcm_mpu",
1704         .class          = &omap44xx_prcm_hwmod_class,
1705         .clkdm_name     = "l4_wkup_clkdm",
1706         .flags          = HWMOD_NO_IDLEST,
1707         .prcm = {
1708                 .omap4 = {
1709                         .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT,
1710                 },
1711         },
1712 };
1713 
1714 
1715 static struct omap_hwmod omap44xx_cm_core_aon_hwmod = {
1716         .name           = "cm_core_aon",
1717         .class          = &omap44xx_prcm_hwmod_class,
1718         .flags          = HWMOD_NO_IDLEST,
1719         .prcm = {
1720                 .omap4 = {
1721                         .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT,
1722                 },
1723         },
1724 };
1725 
1726 
1727 static struct omap_hwmod omap44xx_cm_core_hwmod = {
1728         .name           = "cm_core",
1729         .class          = &omap44xx_prcm_hwmod_class,
1730         .flags          = HWMOD_NO_IDLEST,
1731         .prcm = {
1732                 .omap4 = {
1733                         .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT,
1734                 },
1735         },
1736 };
1737 
1738 
1739 static struct omap_hwmod_rst_info omap44xx_prm_resets[] = {
1740         { .name = "rst_global_warm_sw", .rst_shift = 0 },
1741         { .name = "rst_global_cold_sw", .rst_shift = 1 },
1742 };
1743 
1744 static struct omap_hwmod omap44xx_prm_hwmod = {
1745         .name           = "prm",
1746         .class          = &omap44xx_prcm_hwmod_class,
1747         .rst_lines      = omap44xx_prm_resets,
1748         .rst_lines_cnt  = ARRAY_SIZE(omap44xx_prm_resets),
1749 };
1750 
1751 
1752 
1753 
1754 
1755 
1756 static struct omap_hwmod_class omap44xx_scrm_hwmod_class = {
1757         .name   = "scrm",
1758 };
1759 
1760 
1761 static struct omap_hwmod omap44xx_scrm_hwmod = {
1762         .name           = "scrm",
1763         .class          = &omap44xx_scrm_hwmod_class,
1764         .clkdm_name     = "l4_wkup_clkdm",
1765         .prcm = {
1766                 .omap4 = {
1767                         .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT,
1768                 },
1769         },
1770 };
1771 
1772 
1773 
1774 
1775 
1776 
1777 static struct omap_hwmod_class omap44xx_sl2if_hwmod_class = {
1778         .name   = "sl2if",
1779 };
1780 
1781 
1782 static struct omap_hwmod omap44xx_sl2if_hwmod = {
1783         .name           = "sl2if",
1784         .class          = &omap44xx_sl2if_hwmod_class,
1785         .clkdm_name     = "ivahd_clkdm",
1786         .prcm = {
1787                 .omap4 = {
1788                         .clkctrl_offs = OMAP4_CM_IVAHD_SL2_CLKCTRL_OFFSET,
1789                         .context_offs = OMAP4_RM_IVAHD_SL2_CONTEXT_OFFSET,
1790                         .modulemode   = MODULEMODE_HWCTRL,
1791                 },
1792         },
1793 };
1794 
1795 
1796 
1797 
1798 
1799 
1800 
1801 static struct omap_hwmod_class_sysconfig omap44xx_slimbus_sysc = {
1802         .rev_offs       = 0x0000,
1803         .sysc_offs      = 0x0010,
1804         .sysc_flags     = (SYSC_HAS_RESET_STATUS | SYSC_HAS_SIDLEMODE |
1805                            SYSC_HAS_SOFTRESET),
1806         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
1807                            SIDLE_SMART_WKUP),
1808         .sysc_fields    = &omap_hwmod_sysc_type2,
1809 };
1810 
1811 static struct omap_hwmod_class omap44xx_slimbus_hwmod_class = {
1812         .name   = "slimbus",
1813         .sysc   = &omap44xx_slimbus_sysc,
1814 };
1815 
1816 
1817 static struct omap_hwmod_opt_clk slimbus1_opt_clks[] = {
1818         { .role = "fclk_1", .clk = "slimbus1_fclk_1" },
1819         { .role = "fclk_0", .clk = "slimbus1_fclk_0" },
1820         { .role = "fclk_2", .clk = "slimbus1_fclk_2" },
1821         { .role = "slimbus_clk", .clk = "slimbus1_slimbus_clk" },
1822 };
1823 
1824 static struct omap_hwmod omap44xx_slimbus1_hwmod = {
1825         .name           = "slimbus1",
1826         .class          = &omap44xx_slimbus_hwmod_class,
1827         .clkdm_name     = "abe_clkdm",
1828         .prcm = {
1829                 .omap4 = {
1830                         .clkctrl_offs = OMAP4_CM1_ABE_SLIMBUS_CLKCTRL_OFFSET,
1831                         .context_offs = OMAP4_RM_ABE_SLIMBUS_CONTEXT_OFFSET,
1832                         .modulemode   = MODULEMODE_SWCTRL,
1833                 },
1834         },
1835         .opt_clks       = slimbus1_opt_clks,
1836         .opt_clks_cnt   = ARRAY_SIZE(slimbus1_opt_clks),
1837 };
1838 
1839 
1840 static struct omap_hwmod_opt_clk slimbus2_opt_clks[] = {
1841         { .role = "fclk_1", .clk = "slimbus2_fclk_1" },
1842         { .role = "fclk_0", .clk = "slimbus2_fclk_0" },
1843         { .role = "slimbus_clk", .clk = "slimbus2_slimbus_clk" },
1844 };
1845 
1846 static struct omap_hwmod omap44xx_slimbus2_hwmod = {
1847         .name           = "slimbus2",
1848         .class          = &omap44xx_slimbus_hwmod_class,
1849         .clkdm_name     = "l4_per_clkdm",
1850         .prcm = {
1851                 .omap4 = {
1852                         .clkctrl_offs = OMAP4_CM_L4PER_SLIMBUS2_CLKCTRL_OFFSET,
1853                         .context_offs = OMAP4_RM_L4PER_SLIMBUS2_CONTEXT_OFFSET,
1854                         .modulemode   = MODULEMODE_SWCTRL,
1855                 },
1856         },
1857         .opt_clks       = slimbus2_opt_clks,
1858         .opt_clks_cnt   = ARRAY_SIZE(slimbus2_opt_clks),
1859 };
1860 
1861 
1862 
1863 
1864 
1865 
1866 
1867 
1868 static struct omap_hwmod_class_sysconfig omap44xx_smartreflex_sysc = {
1869         .rev_offs       = -ENODEV,
1870         .sysc_offs      = 0x0038,
1871         .sysc_flags     = (SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE),
1872         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
1873                            SIDLE_SMART_WKUP),
1874         .sysc_fields    = &omap36xx_sr_sysc_fields,
1875 };
1876 
1877 static struct omap_hwmod_class omap44xx_smartreflex_hwmod_class = {
1878         .name   = "smartreflex",
1879         .sysc   = &omap44xx_smartreflex_sysc,
1880 };
1881 
1882 
1883 static struct omap_smartreflex_dev_attr smartreflex_core_dev_attr = {
1884         .sensor_voltdm_name   = "core",
1885 };
1886 
1887 static struct omap_hwmod omap44xx_smartreflex_core_hwmod = {
1888         .name           = "smartreflex_core",
1889         .class          = &omap44xx_smartreflex_hwmod_class,
1890         .clkdm_name     = "l4_ao_clkdm",
1891 
1892         .main_clk       = "smartreflex_core_fck",
1893         .prcm = {
1894                 .omap4 = {
1895                         .clkctrl_offs = OMAP4_CM_ALWON_SR_CORE_CLKCTRL_OFFSET,
1896                         .context_offs = OMAP4_RM_ALWON_SR_CORE_CONTEXT_OFFSET,
1897                         .modulemode   = MODULEMODE_SWCTRL,
1898                 },
1899         },
1900         .dev_attr       = &smartreflex_core_dev_attr,
1901 };
1902 
1903 
1904 static struct omap_smartreflex_dev_attr smartreflex_iva_dev_attr = {
1905         .sensor_voltdm_name     = "iva",
1906 };
1907 
1908 static struct omap_hwmod omap44xx_smartreflex_iva_hwmod = {
1909         .name           = "smartreflex_iva",
1910         .class          = &omap44xx_smartreflex_hwmod_class,
1911         .clkdm_name     = "l4_ao_clkdm",
1912         .main_clk       = "smartreflex_iva_fck",
1913         .prcm = {
1914                 .omap4 = {
1915                         .clkctrl_offs = OMAP4_CM_ALWON_SR_IVA_CLKCTRL_OFFSET,
1916                         .context_offs = OMAP4_RM_ALWON_SR_IVA_CONTEXT_OFFSET,
1917                         .modulemode   = MODULEMODE_SWCTRL,
1918                 },
1919         },
1920         .dev_attr       = &smartreflex_iva_dev_attr,
1921 };
1922 
1923 
1924 static struct omap_smartreflex_dev_attr smartreflex_mpu_dev_attr = {
1925         .sensor_voltdm_name     = "mpu",
1926 };
1927 
1928 static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod = {
1929         .name           = "smartreflex_mpu",
1930         .class          = &omap44xx_smartreflex_hwmod_class,
1931         .clkdm_name     = "l4_ao_clkdm",
1932         .main_clk       = "smartreflex_mpu_fck",
1933         .prcm = {
1934                 .omap4 = {
1935                         .clkctrl_offs = OMAP4_CM_ALWON_SR_MPU_CLKCTRL_OFFSET,
1936                         .context_offs = OMAP4_RM_ALWON_SR_MPU_CONTEXT_OFFSET,
1937                         .modulemode   = MODULEMODE_SWCTRL,
1938                 },
1939         },
1940         .dev_attr       = &smartreflex_mpu_dev_attr,
1941 };
1942 
1943 
1944 
1945 
1946 
1947 
1948 
1949 static struct omap_hwmod_class_sysconfig omap44xx_spinlock_sysc = {
1950         .rev_offs       = 0x0000,
1951         .sysc_offs      = 0x0010,
1952         .syss_offs      = 0x0014,
1953         .sysc_flags     = (SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY |
1954                            SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE |
1955                            SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
1956         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
1957         .sysc_fields    = &omap_hwmod_sysc_type1,
1958 };
1959 
1960 static struct omap_hwmod_class omap44xx_spinlock_hwmod_class = {
1961         .name   = "spinlock",
1962         .sysc   = &omap44xx_spinlock_sysc,
1963 };
1964 
1965 
1966 static struct omap_hwmod omap44xx_spinlock_hwmod = {
1967         .name           = "spinlock",
1968         .class          = &omap44xx_spinlock_hwmod_class,
1969         .clkdm_name     = "l4_cfg_clkdm",
1970         .prcm = {
1971                 .omap4 = {
1972                         .clkctrl_offs = OMAP4_CM_L4CFG_HW_SEM_CLKCTRL_OFFSET,
1973                         .context_offs = OMAP4_RM_L4CFG_HW_SEM_CONTEXT_OFFSET,
1974                 },
1975         },
1976 };
1977 
1978 
1979 
1980 
1981 
1982 
1983 
1984 static struct omap_hwmod_class_sysconfig omap44xx_timer_1ms_sysc = {
1985         .rev_offs       = 0x0000,
1986         .sysc_offs      = 0x0010,
1987         .syss_offs      = 0x0014,
1988         .sysc_flags     = (SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY |
1989                            SYSC_HAS_EMUFREE | SYSC_HAS_ENAWAKEUP |
1990                            SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
1991                            SYSS_HAS_RESET_STATUS),
1992         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
1993         .sysc_fields    = &omap_hwmod_sysc_type1,
1994 };
1995 
1996 static struct omap_hwmod_class omap44xx_timer_1ms_hwmod_class = {
1997         .name   = "timer",
1998         .sysc   = &omap44xx_timer_1ms_sysc,
1999 };
2000 
2001 static struct omap_hwmod_class_sysconfig omap44xx_timer_sysc = {
2002         .rev_offs       = 0x0000,
2003         .sysc_offs      = 0x0010,
2004         .sysc_flags     = (SYSC_HAS_EMUFREE | SYSC_HAS_RESET_STATUS |
2005                            SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
2006         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
2007                            SIDLE_SMART_WKUP),
2008         .sysc_fields    = &omap_hwmod_sysc_type2,
2009 };
2010 
2011 static struct omap_hwmod_class omap44xx_timer_hwmod_class = {
2012         .name   = "timer",
2013         .sysc   = &omap44xx_timer_sysc,
2014 };
2015 
2016 
2017 static struct omap_hwmod omap44xx_timer1_hwmod = {
2018         .name           = "timer1",
2019         .class          = &omap44xx_timer_1ms_hwmod_class,
2020         .clkdm_name     = "l4_wkup_clkdm",
2021         .flags          = HWMOD_SET_DEFAULT_CLOCKACT,
2022         .main_clk       = "dmt1_clk_mux",
2023         .prcm = {
2024                 .omap4 = {
2025                         .clkctrl_offs = OMAP4_CM_WKUP_TIMER1_CLKCTRL_OFFSET,
2026                         .context_offs = OMAP4_RM_WKUP_TIMER1_CONTEXT_OFFSET,
2027                         .modulemode   = MODULEMODE_SWCTRL,
2028                 },
2029         },
2030 };
2031 
2032 
2033 static struct omap_hwmod omap44xx_timer2_hwmod = {
2034         .name           = "timer2",
2035         .class          = &omap44xx_timer_1ms_hwmod_class,
2036         .clkdm_name     = "l4_per_clkdm",
2037         .flags          = HWMOD_SET_DEFAULT_CLOCKACT,
2038         .main_clk       = "cm2_dm2_mux",
2039         .prcm = {
2040                 .omap4 = {
2041                         .clkctrl_offs = OMAP4_CM_L4PER_DMTIMER2_CLKCTRL_OFFSET,
2042                         .context_offs = OMAP4_RM_L4PER_DMTIMER2_CONTEXT_OFFSET,
2043                         .modulemode   = MODULEMODE_SWCTRL,
2044                 },
2045         },
2046 };
2047 
2048 
2049 static struct omap_hwmod omap44xx_timer3_hwmod = {
2050         .name           = "timer3",
2051         .class          = &omap44xx_timer_hwmod_class,
2052         .clkdm_name     = "l4_per_clkdm",
2053         .main_clk       = "cm2_dm3_mux",
2054         .prcm = {
2055                 .omap4 = {
2056                         .clkctrl_offs = OMAP4_CM_L4PER_DMTIMER3_CLKCTRL_OFFSET,
2057                         .context_offs = OMAP4_RM_L4PER_DMTIMER3_CONTEXT_OFFSET,
2058                         .modulemode   = MODULEMODE_SWCTRL,
2059                 },
2060         },
2061 };
2062 
2063 
2064 static struct omap_hwmod omap44xx_timer4_hwmod = {
2065         .name           = "timer4",
2066         .class          = &omap44xx_timer_hwmod_class,
2067         .clkdm_name     = "l4_per_clkdm",
2068         .main_clk       = "cm2_dm4_mux",
2069         .prcm = {
2070                 .omap4 = {
2071                         .clkctrl_offs = OMAP4_CM_L4PER_DMTIMER4_CLKCTRL_OFFSET,
2072                         .context_offs = OMAP4_RM_L4PER_DMTIMER4_CONTEXT_OFFSET,
2073                         .modulemode   = MODULEMODE_SWCTRL,
2074                 },
2075         },
2076 };
2077 
2078 
2079 static struct omap_hwmod omap44xx_timer5_hwmod = {
2080         .name           = "timer5",
2081         .class          = &omap44xx_timer_hwmod_class,
2082         .clkdm_name     = "abe_clkdm",
2083         .main_clk       = "timer5_sync_mux",
2084         .prcm = {
2085                 .omap4 = {
2086                         .clkctrl_offs = OMAP4_CM1_ABE_TIMER5_CLKCTRL_OFFSET,
2087                         .context_offs = OMAP4_RM_ABE_TIMER5_CONTEXT_OFFSET,
2088                         .modulemode   = MODULEMODE_SWCTRL,
2089                 },
2090         },
2091 };
2092 
2093 
2094 static struct omap_hwmod omap44xx_timer6_hwmod = {
2095         .name           = "timer6",
2096         .class          = &omap44xx_timer_hwmod_class,
2097         .clkdm_name     = "abe_clkdm",
2098         .main_clk       = "timer6_sync_mux",
2099         .prcm = {
2100                 .omap4 = {
2101                         .clkctrl_offs = OMAP4_CM1_ABE_TIMER6_CLKCTRL_OFFSET,
2102                         .context_offs = OMAP4_RM_ABE_TIMER6_CONTEXT_OFFSET,
2103                         .modulemode   = MODULEMODE_SWCTRL,
2104                 },
2105         },
2106 };
2107 
2108 
2109 static struct omap_hwmod omap44xx_timer7_hwmod = {
2110         .name           = "timer7",
2111         .class          = &omap44xx_timer_hwmod_class,
2112         .clkdm_name     = "abe_clkdm",
2113         .main_clk       = "timer7_sync_mux",
2114         .prcm = {
2115                 .omap4 = {
2116                         .clkctrl_offs = OMAP4_CM1_ABE_TIMER7_CLKCTRL_OFFSET,
2117                         .context_offs = OMAP4_RM_ABE_TIMER7_CONTEXT_OFFSET,
2118                         .modulemode   = MODULEMODE_SWCTRL,
2119                 },
2120         },
2121 };
2122 
2123 
2124 static struct omap_hwmod omap44xx_timer8_hwmod = {
2125         .name           = "timer8",
2126         .class          = &omap44xx_timer_hwmod_class,
2127         .clkdm_name     = "abe_clkdm",
2128         .main_clk       = "timer8_sync_mux",
2129         .prcm = {
2130                 .omap4 = {
2131                         .clkctrl_offs = OMAP4_CM1_ABE_TIMER8_CLKCTRL_OFFSET,
2132                         .context_offs = OMAP4_RM_ABE_TIMER8_CONTEXT_OFFSET,
2133                         .modulemode   = MODULEMODE_SWCTRL,
2134                 },
2135         },
2136 };
2137 
2138 
2139 static struct omap_hwmod omap44xx_timer9_hwmod = {
2140         .name           = "timer9",
2141         .class          = &omap44xx_timer_hwmod_class,
2142         .clkdm_name     = "l4_per_clkdm",
2143         .main_clk       = "cm2_dm9_mux",
2144         .prcm = {
2145                 .omap4 = {
2146                         .clkctrl_offs = OMAP4_CM_L4PER_DMTIMER9_CLKCTRL_OFFSET,
2147                         .context_offs = OMAP4_RM_L4PER_DMTIMER9_CONTEXT_OFFSET,
2148                         .modulemode   = MODULEMODE_SWCTRL,
2149                 },
2150         },
2151 };
2152 
2153 
2154 static struct omap_hwmod omap44xx_timer10_hwmod = {
2155         .name           = "timer10",
2156         .class          = &omap44xx_timer_1ms_hwmod_class,
2157         .clkdm_name     = "l4_per_clkdm",
2158         .flags          = HWMOD_SET_DEFAULT_CLOCKACT,
2159         .main_clk       = "cm2_dm10_mux",
2160         .prcm = {
2161                 .omap4 = {
2162                         .clkctrl_offs = OMAP4_CM_L4PER_DMTIMER10_CLKCTRL_OFFSET,
2163                         .context_offs = OMAP4_RM_L4PER_DMTIMER10_CONTEXT_OFFSET,
2164                         .modulemode   = MODULEMODE_SWCTRL,
2165                 },
2166         },
2167 };
2168 
2169 
2170 static struct omap_hwmod omap44xx_timer11_hwmod = {
2171         .name           = "timer11",
2172         .class          = &omap44xx_timer_hwmod_class,
2173         .clkdm_name     = "l4_per_clkdm",
2174         .main_clk       = "cm2_dm11_mux",
2175         .prcm = {
2176                 .omap4 = {
2177                         .clkctrl_offs = OMAP4_CM_L4PER_DMTIMER11_CLKCTRL_OFFSET,
2178                         .context_offs = OMAP4_RM_L4PER_DMTIMER11_CONTEXT_OFFSET,
2179                         .modulemode   = MODULEMODE_SWCTRL,
2180                 },
2181         },
2182 };
2183 
2184 
2185 
2186 
2187 
2188 
2189 
2190 static struct omap_hwmod_class_sysconfig omap44xx_usb_host_fs_sysc = {
2191         .rev_offs       = 0x0000,
2192         .sysc_offs      = 0x0210,
2193         .sysc_flags     = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE |
2194                            SYSC_HAS_SOFTRESET),
2195         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
2196                            SIDLE_SMART_WKUP),
2197         .sysc_fields    = &omap_hwmod_sysc_type_usb_host_fs,
2198 };
2199 
2200 static struct omap_hwmod_class omap44xx_usb_host_fs_hwmod_class = {
2201         .name   = "usb_host_fs",
2202         .sysc   = &omap44xx_usb_host_fs_sysc,
2203 };
2204 
2205 
2206 static struct omap_hwmod omap44xx_usb_host_fs_hwmod = {
2207         .name           = "usb_host_fs",
2208         .class          = &omap44xx_usb_host_fs_hwmod_class,
2209         .clkdm_name     = "l3_init_clkdm",
2210         .main_clk       = "usb_host_fs_fck",
2211         .prcm = {
2212                 .omap4 = {
2213                         .clkctrl_offs = OMAP4_CM_L3INIT_USB_HOST_FS_CLKCTRL_OFFSET,
2214                         .context_offs = OMAP4_RM_L3INIT_USB_HOST_FS_CONTEXT_OFFSET,
2215                         .modulemode   = MODULEMODE_SWCTRL,
2216                 },
2217         },
2218 };
2219 
2220 
2221 
2222 
2223 
2224 
2225 static struct omap_hwmod_class_sysconfig omap44xx_usb_host_hs_sysc = {
2226         .rev_offs       = 0x0000,
2227         .sysc_offs      = 0x0010,
2228         .syss_offs      = 0x0014,
2229         .sysc_flags     = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE |
2230                            SYSC_HAS_SOFTRESET | SYSC_HAS_RESET_STATUS),
2231         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
2232                            SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
2233                            MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
2234         .sysc_fields    = &omap_hwmod_sysc_type2,
2235 };
2236 
2237 static struct omap_hwmod_class omap44xx_usb_host_hs_hwmod_class = {
2238         .name   = "usb_host_hs",
2239         .sysc   = &omap44xx_usb_host_hs_sysc,
2240 };
2241 
2242 
2243 static struct omap_hwmod omap44xx_usb_host_hs_hwmod = {
2244         .name           = "usb_host_hs",
2245         .class          = &omap44xx_usb_host_hs_hwmod_class,
2246         .clkdm_name     = "l3_init_clkdm",
2247         .main_clk       = "usb_host_hs_fck",
2248         .prcm = {
2249                 .omap4 = {
2250                         .clkctrl_offs = OMAP4_CM_L3INIT_USB_HOST_CLKCTRL_OFFSET,
2251                         .context_offs = OMAP4_RM_L3INIT_USB_HOST_CONTEXT_OFFSET,
2252                         .modulemode   = MODULEMODE_SWCTRL,
2253                 },
2254         },
2255 
2256         
2257 
2258 
2259 
2260 
2261 
2262 
2263 
2264 
2265 
2266 
2267 
2268 
2269 
2270 
2271 
2272 
2273 
2274 
2275 
2276         
2277 
2278 
2279 
2280 
2281 
2282 
2283 
2284 
2285 
2286 
2287 
2288 
2289 
2290 
2291 
2292 
2293 
2294         .flags          = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
2295 };
2296 
2297 
2298 
2299 
2300 
2301 
2302 static struct omap_hwmod_class_sysconfig omap44xx_usb_otg_hs_sysc = {
2303         .rev_offs       = 0x0400,
2304         .sysc_offs      = 0x0404,
2305         .syss_offs      = 0x0408,
2306         .sysc_flags     = (SYSC_HAS_AUTOIDLE | SYSC_HAS_ENAWAKEUP |
2307                            SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE |
2308                            SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
2309         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
2310                            SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
2311                            MSTANDBY_SMART),
2312         .sysc_fields    = &omap_hwmod_sysc_type1,
2313 };
2314 
2315 static struct omap_hwmod_class omap44xx_usb_otg_hs_hwmod_class = {
2316         .name   = "usb_otg_hs",
2317         .sysc   = &omap44xx_usb_otg_hs_sysc,
2318 };
2319 
2320 
2321 static struct omap_hwmod_opt_clk usb_otg_hs_opt_clks[] = {
2322         { .role = "xclk", .clk = "usb_otg_hs_xclk" },
2323 };
2324 
2325 static struct omap_hwmod omap44xx_usb_otg_hs_hwmod = {
2326         .name           = "usb_otg_hs",
2327         .class          = &omap44xx_usb_otg_hs_hwmod_class,
2328         .clkdm_name     = "l3_init_clkdm",
2329         .flags          = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
2330         .main_clk       = "usb_otg_hs_ick",
2331         .prcm = {
2332                 .omap4 = {
2333                         .clkctrl_offs = OMAP4_CM_L3INIT_USB_OTG_CLKCTRL_OFFSET,
2334                         .context_offs = OMAP4_RM_L3INIT_USB_OTG_CONTEXT_OFFSET,
2335                         .modulemode   = MODULEMODE_HWCTRL,
2336                 },
2337         },
2338         .opt_clks       = usb_otg_hs_opt_clks,
2339         .opt_clks_cnt   = ARRAY_SIZE(usb_otg_hs_opt_clks),
2340 };
2341 
2342 
2343 
2344 
2345 
2346 
2347 static struct omap_hwmod_class_sysconfig omap44xx_usb_tll_hs_sysc = {
2348         .rev_offs       = 0x0000,
2349         .sysc_offs      = 0x0010,
2350         .syss_offs      = 0x0014,
2351         .sysc_flags     = (SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_SIDLEMODE |
2352                            SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
2353                            SYSC_HAS_AUTOIDLE),
2354         .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
2355         .sysc_fields    = &omap_hwmod_sysc_type1,
2356 };
2357 
2358 static struct omap_hwmod_class omap44xx_usb_tll_hs_hwmod_class = {
2359         .name   = "usb_tll_hs",
2360         .sysc   = &omap44xx_usb_tll_hs_sysc,
2361 };
2362 
2363 static struct omap_hwmod omap44xx_usb_tll_hs_hwmod = {
2364         .name           = "usb_tll_hs",
2365         .class          = &omap44xx_usb_tll_hs_hwmod_class,
2366         .clkdm_name     = "l3_init_clkdm",
2367         .main_clk       = "usb_tll_hs_ick",
2368         .prcm = {
2369                 .omap4 = {
2370                         .clkctrl_offs = OMAP4_CM_L3INIT_USB_TLL_CLKCTRL_OFFSET,
2371                         .context_offs = OMAP4_RM_L3INIT_USB_TLL_CONTEXT_OFFSET,
2372                         .modulemode   = MODULEMODE_HWCTRL,
2373                 },
2374         },
2375 };
2376 
2377 
2378 
2379 
2380 
2381 
2382 static struct omap_hwmod_ocp_if omap44xx_l3_main_1__dmm = {
2383         .master         = &omap44xx_l3_main_1_hwmod,
2384         .slave          = &omap44xx_dmm_hwmod,
2385         .clk            = "l3_div_ck",
2386         .user           = OCP_USER_SDMA,
2387 };
2388 
2389 
2390 static struct omap_hwmod_ocp_if omap44xx_mpu__dmm = {
2391         .master         = &omap44xx_mpu_hwmod,
2392         .slave          = &omap44xx_dmm_hwmod,
2393         .clk            = "l3_div_ck",
2394         .user           = OCP_USER_MPU,
2395 };
2396 
2397 
2398 static struct omap_hwmod_ocp_if omap44xx_iva__l3_instr = {
2399         .master         = &omap44xx_iva_hwmod,
2400         .slave          = &omap44xx_l3_instr_hwmod,
2401         .clk            = "l3_div_ck",
2402         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2403 };
2404 
2405 
2406 static struct omap_hwmod_ocp_if omap44xx_l3_main_3__l3_instr = {
2407         .master         = &omap44xx_l3_main_3_hwmod,
2408         .slave          = &omap44xx_l3_instr_hwmod,
2409         .clk            = "l3_div_ck",
2410         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2411 };
2412 
2413 
2414 static struct omap_hwmod_ocp_if omap44xx_ocp_wp_noc__l3_instr = {
2415         .master         = &omap44xx_ocp_wp_noc_hwmod,
2416         .slave          = &omap44xx_l3_instr_hwmod,
2417         .clk            = "l3_div_ck",
2418         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2419 };
2420 
2421 
2422 static struct omap_hwmod_ocp_if omap44xx_dsp__l3_main_1 = {
2423         .master         = &omap44xx_dsp_hwmod,
2424         .slave          = &omap44xx_l3_main_1_hwmod,
2425         .clk            = "l3_div_ck",
2426         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2427 };
2428 
2429 
2430 static struct omap_hwmod_ocp_if omap44xx_dss__l3_main_1 = {
2431         .master         = &omap44xx_dss_hwmod,
2432         .slave          = &omap44xx_l3_main_1_hwmod,
2433         .clk            = "l3_div_ck",
2434         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2435 };
2436 
2437 
2438 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__l3_main_1 = {
2439         .master         = &omap44xx_l3_main_2_hwmod,
2440         .slave          = &omap44xx_l3_main_1_hwmod,
2441         .clk            = "l3_div_ck",
2442         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2443 };
2444 
2445 
2446 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__l3_main_1 = {
2447         .master         = &omap44xx_l4_cfg_hwmod,
2448         .slave          = &omap44xx_l3_main_1_hwmod,
2449         .clk            = "l4_div_ck",
2450         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2451 };
2452 
2453 
2454 static struct omap_hwmod_ocp_if omap44xx_mpu__l3_main_1 = {
2455         .master         = &omap44xx_mpu_hwmod,
2456         .slave          = &omap44xx_l3_main_1_hwmod,
2457         .clk            = "l3_div_ck",
2458         .user           = OCP_USER_MPU,
2459 };
2460 
2461 
2462 static struct omap_hwmod_ocp_if omap44xx_debugss__l3_main_2 = {
2463         .master         = &omap44xx_debugss_hwmod,
2464         .slave          = &omap44xx_l3_main_2_hwmod,
2465         .clk            = "dbgclk_mux_ck",
2466         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2467 };
2468 
2469 
2470 static struct omap_hwmod_ocp_if omap44xx_dma_system__l3_main_2 = {
2471         .master         = &omap44xx_dma_system_hwmod,
2472         .slave          = &omap44xx_l3_main_2_hwmod,
2473         .clk            = "l3_div_ck",
2474         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2475 };
2476 
2477 
2478 static struct omap_hwmod_ocp_if omap44xx_fdif__l3_main_2 = {
2479         .master         = &omap44xx_fdif_hwmod,
2480         .slave          = &omap44xx_l3_main_2_hwmod,
2481         .clk            = "l3_div_ck",
2482         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2483 };
2484 
2485 
2486 static struct omap_hwmod_ocp_if omap44xx_hsi__l3_main_2 = {
2487         .master         = &omap44xx_hsi_hwmod,
2488         .slave          = &omap44xx_l3_main_2_hwmod,
2489         .clk            = "l3_div_ck",
2490         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2491 };
2492 
2493 
2494 static struct omap_hwmod_ocp_if omap44xx_ipu__l3_main_2 = {
2495         .master         = &omap44xx_ipu_hwmod,
2496         .slave          = &omap44xx_l3_main_2_hwmod,
2497         .clk            = "l3_div_ck",
2498         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2499 };
2500 
2501 
2502 static struct omap_hwmod_ocp_if omap44xx_iss__l3_main_2 = {
2503         .master         = &omap44xx_iss_hwmod,
2504         .slave          = &omap44xx_l3_main_2_hwmod,
2505         .clk            = "l3_div_ck",
2506         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2507 };
2508 
2509 
2510 static struct omap_hwmod_ocp_if omap44xx_iva__l3_main_2 = {
2511         .master         = &omap44xx_iva_hwmod,
2512         .slave          = &omap44xx_l3_main_2_hwmod,
2513         .clk            = "l3_div_ck",
2514         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2515 };
2516 
2517 
2518 static struct omap_hwmod_ocp_if omap44xx_l3_main_1__l3_main_2 = {
2519         .master         = &omap44xx_l3_main_1_hwmod,
2520         .slave          = &omap44xx_l3_main_2_hwmod,
2521         .clk            = "l3_div_ck",
2522         .user           = OCP_USER_MPU,
2523 };
2524 
2525 
2526 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__l3_main_2 = {
2527         .master         = &omap44xx_l4_cfg_hwmod,
2528         .slave          = &omap44xx_l3_main_2_hwmod,
2529         .clk            = "l4_div_ck",
2530         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2531 };
2532 
2533 
2534 static struct omap_hwmod_ocp_if __maybe_unused omap44xx_usb_host_fs__l3_main_2 = {
2535         .master         = &omap44xx_usb_host_fs_hwmod,
2536         .slave          = &omap44xx_l3_main_2_hwmod,
2537         .clk            = "l3_div_ck",
2538         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2539 };
2540 
2541 
2542 static struct omap_hwmod_ocp_if omap44xx_usb_host_hs__l3_main_2 = {
2543         .master         = &omap44xx_usb_host_hs_hwmod,
2544         .slave          = &omap44xx_l3_main_2_hwmod,
2545         .clk            = "l3_div_ck",
2546         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2547 };
2548 
2549 
2550 static struct omap_hwmod_ocp_if omap44xx_usb_otg_hs__l3_main_2 = {
2551         .master         = &omap44xx_usb_otg_hs_hwmod,
2552         .slave          = &omap44xx_l3_main_2_hwmod,
2553         .clk            = "l3_div_ck",
2554         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2555 };
2556 
2557 
2558 static struct omap_hwmod_ocp_if omap44xx_l3_main_1__l3_main_3 = {
2559         .master         = &omap44xx_l3_main_1_hwmod,
2560         .slave          = &omap44xx_l3_main_3_hwmod,
2561         .clk            = "l3_div_ck",
2562         .user           = OCP_USER_MPU,
2563 };
2564 
2565 
2566 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__l3_main_3 = {
2567         .master         = &omap44xx_l3_main_2_hwmod,
2568         .slave          = &omap44xx_l3_main_3_hwmod,
2569         .clk            = "l3_div_ck",
2570         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2571 };
2572 
2573 
2574 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__l3_main_3 = {
2575         .master         = &omap44xx_l4_cfg_hwmod,
2576         .slave          = &omap44xx_l3_main_3_hwmod,
2577         .clk            = "l4_div_ck",
2578         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2579 };
2580 
2581 
2582 static struct omap_hwmod_ocp_if __maybe_unused omap44xx_aess__l4_abe = {
2583         .master         = &omap44xx_aess_hwmod,
2584         .slave          = &omap44xx_l4_abe_hwmod,
2585         .clk            = "ocp_abe_iclk",
2586         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2587 };
2588 
2589 
2590 static struct omap_hwmod_ocp_if omap44xx_dsp__l4_abe = {
2591         .master         = &omap44xx_dsp_hwmod,
2592         .slave          = &omap44xx_l4_abe_hwmod,
2593         .clk            = "ocp_abe_iclk",
2594         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2595 };
2596 
2597 
2598 static struct omap_hwmod_ocp_if omap44xx_l3_main_1__l4_abe = {
2599         .master         = &omap44xx_l3_main_1_hwmod,
2600         .slave          = &omap44xx_l4_abe_hwmod,
2601         .clk            = "l3_div_ck",
2602         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2603 };
2604 
2605 
2606 static struct omap_hwmod_ocp_if omap44xx_mpu__l4_abe = {
2607         .master         = &omap44xx_mpu_hwmod,
2608         .slave          = &omap44xx_l4_abe_hwmod,
2609         .clk            = "ocp_abe_iclk",
2610         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2611 };
2612 
2613 
2614 static struct omap_hwmod_ocp_if omap44xx_l3_main_1__l4_cfg = {
2615         .master         = &omap44xx_l3_main_1_hwmod,
2616         .slave          = &omap44xx_l4_cfg_hwmod,
2617         .clk            = "l3_div_ck",
2618         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2619 };
2620 
2621 
2622 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__l4_per = {
2623         .master         = &omap44xx_l3_main_2_hwmod,
2624         .slave          = &omap44xx_l4_per_hwmod,
2625         .clk            = "l3_div_ck",
2626         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2627 };
2628 
2629 
2630 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__l4_wkup = {
2631         .master         = &omap44xx_l4_cfg_hwmod,
2632         .slave          = &omap44xx_l4_wkup_hwmod,
2633         .clk            = "l4_div_ck",
2634         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2635 };
2636 
2637 
2638 static struct omap_hwmod_ocp_if omap44xx_mpu__mpu_private = {
2639         .master         = &omap44xx_mpu_hwmod,
2640         .slave          = &omap44xx_mpu_private_hwmod,
2641         .clk            = "l3_div_ck",
2642         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2643 };
2644 
2645 
2646 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__ocp_wp_noc = {
2647         .master         = &omap44xx_l4_cfg_hwmod,
2648         .slave          = &omap44xx_ocp_wp_noc_hwmod,
2649         .clk            = "l4_div_ck",
2650         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2651 };
2652 
2653 
2654 static struct omap_hwmod_ocp_if __maybe_unused omap44xx_l4_abe__aess = {
2655         .master         = &omap44xx_l4_abe_hwmod,
2656         .slave          = &omap44xx_aess_hwmod,
2657         .clk            = "ocp_abe_iclk",
2658         .user           = OCP_USER_MPU,
2659 };
2660 
2661 
2662 static struct omap_hwmod_ocp_if __maybe_unused omap44xx_l4_abe__aess_dma = {
2663         .master         = &omap44xx_l4_abe_hwmod,
2664         .slave          = &omap44xx_aess_hwmod,
2665         .clk            = "ocp_abe_iclk",
2666         .user           = OCP_USER_SDMA,
2667 };
2668 
2669 
2670 static struct omap_hwmod_ocp_if omap44xx_l4_wkup__counter_32k = {
2671         .master         = &omap44xx_l4_wkup_hwmod,
2672         .slave          = &omap44xx_counter_32k_hwmod,
2673         .clk            = "l4_wkup_clk_mux_ck",
2674         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2675 };
2676 
2677 
2678 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__ctrl_module_core = {
2679         .master         = &omap44xx_l4_cfg_hwmod,
2680         .slave          = &omap44xx_ctrl_module_core_hwmod,
2681         .clk            = "l4_div_ck",
2682         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2683 };
2684 
2685 
2686 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__ctrl_module_pad_core = {
2687         .master         = &omap44xx_l4_cfg_hwmod,
2688         .slave          = &omap44xx_ctrl_module_pad_core_hwmod,
2689         .clk            = "l4_div_ck",
2690         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2691 };
2692 
2693 
2694 static struct omap_hwmod_ocp_if omap44xx_l4_wkup__ctrl_module_wkup = {
2695         .master         = &omap44xx_l4_wkup_hwmod,
2696         .slave          = &omap44xx_ctrl_module_wkup_hwmod,
2697         .clk            = "l4_wkup_clk_mux_ck",
2698         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2699 };
2700 
2701 
2702 static struct omap_hwmod_ocp_if omap44xx_l4_wkup__ctrl_module_pad_wkup = {
2703         .master         = &omap44xx_l4_wkup_hwmod,
2704         .slave          = &omap44xx_ctrl_module_pad_wkup_hwmod,
2705         .clk            = "l4_wkup_clk_mux_ck",
2706         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2707 };
2708 
2709 
2710 static struct omap_hwmod_ocp_if omap44xx_l3_instr__debugss = {
2711         .master         = &omap44xx_l3_instr_hwmod,
2712         .slave          = &omap44xx_debugss_hwmod,
2713         .clk            = "l3_div_ck",
2714         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2715 };
2716 
2717 
2718 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__dma_system = {
2719         .master         = &omap44xx_l4_cfg_hwmod,
2720         .slave          = &omap44xx_dma_system_hwmod,
2721         .clk            = "l4_div_ck",
2722         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2723 };
2724 
2725 
2726 static struct omap_hwmod_ocp_if omap44xx_l4_abe__dmic = {
2727         .master         = &omap44xx_l4_abe_hwmod,
2728         .slave          = &omap44xx_dmic_hwmod,
2729         .clk            = "ocp_abe_iclk",
2730         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2731 };
2732 
2733 
2734 static struct omap_hwmod_ocp_if omap44xx_dsp__iva = {
2735         .master         = &omap44xx_dsp_hwmod,
2736         .slave          = &omap44xx_iva_hwmod,
2737         .clk            = "dpll_iva_m5x2_ck",
2738         .user           = OCP_USER_DSP,
2739 };
2740 
2741 
2742 static struct omap_hwmod_ocp_if __maybe_unused omap44xx_dsp__sl2if = {
2743         .master         = &omap44xx_dsp_hwmod,
2744         .slave          = &omap44xx_sl2if_hwmod,
2745         .clk            = "dpll_iva_m5x2_ck",
2746         .user           = OCP_USER_DSP,
2747 };
2748 
2749 
2750 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__dsp = {
2751         .master         = &omap44xx_l4_cfg_hwmod,
2752         .slave          = &omap44xx_dsp_hwmod,
2753         .clk            = "l4_div_ck",
2754         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2755 };
2756 
2757 
2758 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss = {
2759         .master         = &omap44xx_l3_main_2_hwmod,
2760         .slave          = &omap44xx_dss_hwmod,
2761         .clk            = "l3_div_ck",
2762         .user           = OCP_USER_SDMA,
2763 };
2764 
2765 
2766 static struct omap_hwmod_ocp_if omap44xx_l4_per__dss = {
2767         .master         = &omap44xx_l4_per_hwmod,
2768         .slave          = &omap44xx_dss_hwmod,
2769         .clk            = "l4_div_ck",
2770         .user           = OCP_USER_MPU,
2771 };
2772 
2773 
2774 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dispc = {
2775         .master         = &omap44xx_l3_main_2_hwmod,
2776         .slave          = &omap44xx_dss_dispc_hwmod,
2777         .clk            = "l3_div_ck",
2778         .user           = OCP_USER_SDMA,
2779 };
2780 
2781 
2782 static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_dispc = {
2783         .master         = &omap44xx_l4_per_hwmod,
2784         .slave          = &omap44xx_dss_dispc_hwmod,
2785         .clk            = "l4_div_ck",
2786         .user           = OCP_USER_MPU,
2787 };
2788 
2789 
2790 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dsi1 = {
2791         .master         = &omap44xx_l3_main_2_hwmod,
2792         .slave          = &omap44xx_dss_dsi1_hwmod,
2793         .clk            = "l3_div_ck",
2794         .user           = OCP_USER_SDMA,
2795 };
2796 
2797 
2798 static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_dsi1 = {
2799         .master         = &omap44xx_l4_per_hwmod,
2800         .slave          = &omap44xx_dss_dsi1_hwmod,
2801         .clk            = "l4_div_ck",
2802         .user           = OCP_USER_MPU,
2803 };
2804 
2805 
2806 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dsi2 = {
2807         .master         = &omap44xx_l3_main_2_hwmod,
2808         .slave          = &omap44xx_dss_dsi2_hwmod,
2809         .clk            = "l3_div_ck",
2810         .user           = OCP_USER_SDMA,
2811 };
2812 
2813 
2814 static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_dsi2 = {
2815         .master         = &omap44xx_l4_per_hwmod,
2816         .slave          = &omap44xx_dss_dsi2_hwmod,
2817         .clk            = "l4_div_ck",
2818         .user           = OCP_USER_MPU,
2819 };
2820 
2821 
2822 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_hdmi = {
2823         .master         = &omap44xx_l3_main_2_hwmod,
2824         .slave          = &omap44xx_dss_hdmi_hwmod,
2825         .clk            = "l3_div_ck",
2826         .user           = OCP_USER_SDMA,
2827 };
2828 
2829 
2830 static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_hdmi = {
2831         .master         = &omap44xx_l4_per_hwmod,
2832         .slave          = &omap44xx_dss_hdmi_hwmod,
2833         .clk            = "l4_div_ck",
2834         .user           = OCP_USER_MPU,
2835 };
2836 
2837 
2838 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_rfbi = {
2839         .master         = &omap44xx_l3_main_2_hwmod,
2840         .slave          = &omap44xx_dss_rfbi_hwmod,
2841         .clk            = "l3_div_ck",
2842         .user           = OCP_USER_SDMA,
2843 };
2844 
2845 
2846 static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_rfbi = {
2847         .master         = &omap44xx_l4_per_hwmod,
2848         .slave          = &omap44xx_dss_rfbi_hwmod,
2849         .clk            = "l4_div_ck",
2850         .user           = OCP_USER_MPU,
2851 };
2852 
2853 
2854 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_venc = {
2855         .master         = &omap44xx_l3_main_2_hwmod,
2856         .slave          = &omap44xx_dss_venc_hwmod,
2857         .clk            = "l3_div_ck",
2858         .user           = OCP_USER_SDMA,
2859 };
2860 
2861 
2862 static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_venc = {
2863         .master         = &omap44xx_l4_per_hwmod,
2864         .slave          = &omap44xx_dss_venc_hwmod,
2865         .clk            = "l4_div_ck",
2866         .user           = OCP_USER_MPU,
2867 };
2868 
2869 
2870 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__sha0 = {
2871         .master         = &omap44xx_l3_main_2_hwmod,
2872         .slave          = &omap44xx_sha0_hwmod,
2873         .clk            = "l3_div_ck",
2874         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2875 };
2876 
2877 
2878 static struct omap_hwmod_ocp_if omap44xx_l4_per__elm = {
2879         .master         = &omap44xx_l4_per_hwmod,
2880         .slave          = &omap44xx_elm_hwmod,
2881         .clk            = "l4_div_ck",
2882         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2883 };
2884 
2885 
2886 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__fdif = {
2887         .master         = &omap44xx_l4_cfg_hwmod,
2888         .slave          = &omap44xx_fdif_hwmod,
2889         .clk            = "l4_div_ck",
2890         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2891 };
2892 
2893 
2894 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__gpmc = {
2895         .master         = &omap44xx_l3_main_2_hwmod,
2896         .slave          = &omap44xx_gpmc_hwmod,
2897         .clk            = "l3_div_ck",
2898         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2899 };
2900 
2901 
2902 static struct omap_hwmod_ocp_if omap44xx_l4_per__hdq1w = {
2903         .master         = &omap44xx_l4_per_hwmod,
2904         .slave          = &omap44xx_hdq1w_hwmod,
2905         .clk            = "l4_div_ck",
2906         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2907 };
2908 
2909 
2910 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__hsi = {
2911         .master         = &omap44xx_l4_cfg_hwmod,
2912         .slave          = &omap44xx_hsi_hwmod,
2913         .clk            = "l4_div_ck",
2914         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2915 };
2916 
2917 
2918 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__ipu = {
2919         .master         = &omap44xx_l3_main_2_hwmod,
2920         .slave          = &omap44xx_ipu_hwmod,
2921         .clk            = "l3_div_ck",
2922         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2923 };
2924 
2925 
2926 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__iss = {
2927         .master         = &omap44xx_l3_main_2_hwmod,
2928         .slave          = &omap44xx_iss_hwmod,
2929         .clk            = "l3_div_ck",
2930         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2931 };
2932 
2933 
2934 static struct omap_hwmod_ocp_if __maybe_unused omap44xx_iva__sl2if = {
2935         .master         = &omap44xx_iva_hwmod,
2936         .slave          = &omap44xx_sl2if_hwmod,
2937         .clk            = "dpll_iva_m5x2_ck",
2938         .user           = OCP_USER_IVA,
2939 };
2940 
2941 
2942 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__iva = {
2943         .master         = &omap44xx_l3_main_2_hwmod,
2944         .slave          = &omap44xx_iva_hwmod,
2945         .clk            = "l3_div_ck",
2946         .user           = OCP_USER_MPU,
2947 };
2948 
2949 
2950 static struct omap_hwmod_ocp_if omap44xx_l4_wkup__kbd = {
2951         .master         = &omap44xx_l4_wkup_hwmod,
2952         .slave          = &omap44xx_kbd_hwmod,
2953         .clk            = "l4_wkup_clk_mux_ck",
2954         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2955 };
2956 
2957 
2958 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__mailbox = {
2959         .master         = &omap44xx_l4_cfg_hwmod,
2960         .slave          = &omap44xx_mailbox_hwmod,
2961         .clk            = "l4_div_ck",
2962         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2963 };
2964 
2965 
2966 static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcasp = {
2967         .master         = &omap44xx_l4_abe_hwmod,
2968         .slave          = &omap44xx_mcasp_hwmod,
2969         .clk            = "ocp_abe_iclk",
2970         .user           = OCP_USER_MPU,
2971 };
2972 
2973 
2974 static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcasp_dma = {
2975         .master         = &omap44xx_l4_abe_hwmod,
2976         .slave          = &omap44xx_mcasp_hwmod,
2977         .clk            = "ocp_abe_iclk",
2978         .user           = OCP_USER_SDMA,
2979 };
2980 
2981 
2982 static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp1 = {
2983         .master         = &omap44xx_l4_abe_hwmod,
2984         .slave          = &omap44xx_mcbsp1_hwmod,
2985         .clk            = "ocp_abe_iclk",
2986         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2987 };
2988 
2989 
2990 static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp2 = {
2991         .master         = &omap44xx_l4_abe_hwmod,
2992         .slave          = &omap44xx_mcbsp2_hwmod,
2993         .clk            = "ocp_abe_iclk",
2994         .user           = OCP_USER_MPU | OCP_USER_SDMA,
2995 };
2996 
2997 
2998 static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp3 = {
2999         .master         = &omap44xx_l4_abe_hwmod,
3000         .slave          = &omap44xx_mcbsp3_hwmod,
3001         .clk            = "ocp_abe_iclk",
3002         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3003 };
3004 
3005 
3006 static struct omap_hwmod_ocp_if omap44xx_l4_per__mcbsp4 = {
3007         .master         = &omap44xx_l4_per_hwmod,
3008         .slave          = &omap44xx_mcbsp4_hwmod,
3009         .clk            = "l4_div_ck",
3010         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3011 };
3012 
3013 
3014 static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcpdm = {
3015         .master         = &omap44xx_l4_abe_hwmod,
3016         .slave          = &omap44xx_mcpdm_hwmod,
3017         .clk            = "ocp_abe_iclk",
3018         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3019 };
3020 
3021 
3022 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__ocmc_ram = {
3023         .master         = &omap44xx_l3_main_2_hwmod,
3024         .slave          = &omap44xx_ocmc_ram_hwmod,
3025         .clk            = "l3_div_ck",
3026         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3027 };
3028 
3029 
3030 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__ocp2scp_usb_phy = {
3031         .master         = &omap44xx_l4_cfg_hwmod,
3032         .slave          = &omap44xx_ocp2scp_usb_phy_hwmod,
3033         .clk            = "l4_div_ck",
3034         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3035 };
3036 
3037 
3038 static struct omap_hwmod_ocp_if omap44xx_mpu_private__prcm_mpu = {
3039         .master         = &omap44xx_mpu_private_hwmod,
3040         .slave          = &omap44xx_prcm_mpu_hwmod,
3041         .clk            = "l3_div_ck",
3042         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3043 };
3044 
3045 
3046 static struct omap_hwmod_ocp_if omap44xx_l4_wkup__cm_core_aon = {
3047         .master         = &omap44xx_l4_wkup_hwmod,
3048         .slave          = &omap44xx_cm_core_aon_hwmod,
3049         .clk            = "l4_wkup_clk_mux_ck",
3050         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3051 };
3052 
3053 
3054 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__cm_core = {
3055         .master         = &omap44xx_l4_cfg_hwmod,
3056         .slave          = &omap44xx_cm_core_hwmod,
3057         .clk            = "l4_div_ck",
3058         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3059 };
3060 
3061 
3062 static struct omap_hwmod_ocp_if omap44xx_l4_wkup__prm = {
3063         .master         = &omap44xx_l4_wkup_hwmod,
3064         .slave          = &omap44xx_prm_hwmod,
3065         .clk            = "l4_wkup_clk_mux_ck",
3066         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3067 };
3068 
3069 
3070 static struct omap_hwmod_ocp_if omap44xx_l4_wkup__scrm = {
3071         .master         = &omap44xx_l4_wkup_hwmod,
3072         .slave          = &omap44xx_scrm_hwmod,
3073         .clk            = "l4_wkup_clk_mux_ck",
3074         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3075 };
3076 
3077 
3078 static struct omap_hwmod_ocp_if __maybe_unused omap44xx_l3_main_2__sl2if = {
3079         .master         = &omap44xx_l3_main_2_hwmod,
3080         .slave          = &omap44xx_sl2if_hwmod,
3081         .clk            = "l3_div_ck",
3082         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3083 };
3084 
3085 
3086 static struct omap_hwmod_ocp_if omap44xx_l4_abe__slimbus1 = {
3087         .master         = &omap44xx_l4_abe_hwmod,
3088         .slave          = &omap44xx_slimbus1_hwmod,
3089         .clk            = "ocp_abe_iclk",
3090         .user           = OCP_USER_MPU,
3091 };
3092 
3093 
3094 static struct omap_hwmod_ocp_if omap44xx_l4_abe__slimbus1_dma = {
3095         .master         = &omap44xx_l4_abe_hwmod,
3096         .slave          = &omap44xx_slimbus1_hwmod,
3097         .clk            = "ocp_abe_iclk",
3098         .user           = OCP_USER_SDMA,
3099 };
3100 
3101 
3102 static struct omap_hwmod_ocp_if omap44xx_l4_per__slimbus2 = {
3103         .master         = &omap44xx_l4_per_hwmod,
3104         .slave          = &omap44xx_slimbus2_hwmod,
3105         .clk            = "l4_div_ck",
3106         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3107 };
3108 
3109 
3110 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__smartreflex_core = {
3111         .master         = &omap44xx_l4_cfg_hwmod,
3112         .slave          = &omap44xx_smartreflex_core_hwmod,
3113         .clk            = "l4_div_ck",
3114         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3115 };
3116 
3117 
3118 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__smartreflex_iva = {
3119         .master         = &omap44xx_l4_cfg_hwmod,
3120         .slave          = &omap44xx_smartreflex_iva_hwmod,
3121         .clk            = "l4_div_ck",
3122         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3123 };
3124 
3125 
3126 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__smartreflex_mpu = {
3127         .master         = &omap44xx_l4_cfg_hwmod,
3128         .slave          = &omap44xx_smartreflex_mpu_hwmod,
3129         .clk            = "l4_div_ck",
3130         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3131 };
3132 
3133 
3134 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__spinlock = {
3135         .master         = &omap44xx_l4_cfg_hwmod,
3136         .slave          = &omap44xx_spinlock_hwmod,
3137         .clk            = "l4_div_ck",
3138         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3139 };
3140 
3141 
3142 static struct omap_hwmod_ocp_if omap44xx_l4_wkup__timer1 = {
3143         .master         = &omap44xx_l4_wkup_hwmod,
3144         .slave          = &omap44xx_timer1_hwmod,
3145         .clk            = "l4_wkup_clk_mux_ck",
3146         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3147 };
3148 
3149 
3150 static struct omap_hwmod_ocp_if omap44xx_l4_per__timer2 = {
3151         .master         = &omap44xx_l4_per_hwmod,
3152         .slave          = &omap44xx_timer2_hwmod,
3153         .clk            = "l4_div_ck",
3154         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3155 };
3156 
3157 
3158 static struct omap_hwmod_ocp_if omap44xx_l4_per__timer3 = {
3159         .master         = &omap44xx_l4_per_hwmod,
3160         .slave          = &omap44xx_timer3_hwmod,
3161         .clk            = "l4_div_ck",
3162         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3163 };
3164 
3165 
3166 static struct omap_hwmod_ocp_if omap44xx_l4_per__timer4 = {
3167         .master         = &omap44xx_l4_per_hwmod,
3168         .slave          = &omap44xx_timer4_hwmod,
3169         .clk            = "l4_div_ck",
3170         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3171 };
3172 
3173 
3174 static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer5 = {
3175         .master         = &omap44xx_l4_abe_hwmod,
3176         .slave          = &omap44xx_timer5_hwmod,
3177         .clk            = "ocp_abe_iclk",
3178         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3179 };
3180 
3181 
3182 static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer6 = {
3183         .master         = &omap44xx_l4_abe_hwmod,
3184         .slave          = &omap44xx_timer6_hwmod,
3185         .clk            = "ocp_abe_iclk",
3186         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3187 };
3188 
3189 
3190 static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer7 = {
3191         .master         = &omap44xx_l4_abe_hwmod,
3192         .slave          = &omap44xx_timer7_hwmod,
3193         .clk            = "ocp_abe_iclk",
3194         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3195 };
3196 
3197 
3198 static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer8 = {
3199         .master         = &omap44xx_l4_abe_hwmod,
3200         .slave          = &omap44xx_timer8_hwmod,
3201         .clk            = "ocp_abe_iclk",
3202         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3203 };
3204 
3205 
3206 static struct omap_hwmod_ocp_if omap44xx_l4_per__timer9 = {
3207         .master         = &omap44xx_l4_per_hwmod,
3208         .slave          = &omap44xx_timer9_hwmod,
3209         .clk            = "l4_div_ck",
3210         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3211 };
3212 
3213 
3214 static struct omap_hwmod_ocp_if omap44xx_l4_per__timer10 = {
3215         .master         = &omap44xx_l4_per_hwmod,
3216         .slave          = &omap44xx_timer10_hwmod,
3217         .clk            = "l4_div_ck",
3218         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3219 };
3220 
3221 
3222 static struct omap_hwmod_ocp_if omap44xx_l4_per__timer11 = {
3223         .master         = &omap44xx_l4_per_hwmod,
3224         .slave          = &omap44xx_timer11_hwmod,
3225         .clk            = "l4_div_ck",
3226         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3227 };
3228 
3229 
3230 static struct omap_hwmod_ocp_if __maybe_unused omap44xx_l4_cfg__usb_host_fs = {
3231         .master         = &omap44xx_l4_cfg_hwmod,
3232         .slave          = &omap44xx_usb_host_fs_hwmod,
3233         .clk            = "l4_div_ck",
3234         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3235 };
3236 
3237 
3238 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_host_hs = {
3239         .master         = &omap44xx_l4_cfg_hwmod,
3240         .slave          = &omap44xx_usb_host_hs_hwmod,
3241         .clk            = "l4_div_ck",
3242         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3243 };
3244 
3245 
3246 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_otg_hs = {
3247         .master         = &omap44xx_l4_cfg_hwmod,
3248         .slave          = &omap44xx_usb_otg_hs_hwmod,
3249         .clk            = "l4_div_ck",
3250         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3251 };
3252 
3253 
3254 static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_tll_hs = {
3255         .master         = &omap44xx_l4_cfg_hwmod,
3256         .slave          = &omap44xx_usb_tll_hs_hwmod,
3257         .clk            = "l4_div_ck",
3258         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3259 };
3260 
3261 
3262 static struct omap_hwmod_ocp_if omap44xx_mpu__emif1 = {
3263         .master         = &omap44xx_mpu_hwmod,
3264         .slave          = &omap44xx_emif1_hwmod,
3265         .clk            = "l3_div_ck",
3266         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3267 };
3268 
3269 
3270 static struct omap_hwmod_ocp_if omap44xx_mpu__emif2 = {
3271         .master         = &omap44xx_mpu_hwmod,
3272         .slave          = &omap44xx_emif2_hwmod,
3273         .clk            = "l3_div_ck",
3274         .user           = OCP_USER_MPU | OCP_USER_SDMA,
3275 };
3276 
3277 static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = {
3278         &omap44xx_l3_main_1__dmm,
3279         &omap44xx_mpu__dmm,
3280         &omap44xx_iva__l3_instr,
3281         &omap44xx_l3_main_3__l3_instr,
3282         &omap44xx_ocp_wp_noc__l3_instr,
3283         &omap44xx_dsp__l3_main_1,
3284         &omap44xx_dss__l3_main_1,
3285         &omap44xx_l3_main_2__l3_main_1,
3286         &omap44xx_l4_cfg__l3_main_1,
3287         &omap44xx_mpu__l3_main_1,
3288         &omap44xx_debugss__l3_main_2,
3289         &omap44xx_dma_system__l3_main_2,
3290         &omap44xx_fdif__l3_main_2,
3291         &omap44xx_hsi__l3_main_2,
3292         &omap44xx_ipu__l3_main_2,
3293         &omap44xx_iss__l3_main_2,
3294         &omap44xx_iva__l3_main_2,
3295         &omap44xx_l3_main_1__l3_main_2,
3296         &omap44xx_l4_cfg__l3_main_2,
3297         
3298         &omap44xx_usb_host_hs__l3_main_2,
3299         &omap44xx_usb_otg_hs__l3_main_2,
3300         &omap44xx_l3_main_1__l3_main_3,
3301         &omap44xx_l3_main_2__l3_main_3,
3302         &omap44xx_l4_cfg__l3_main_3,
3303         &omap44xx_aess__l4_abe,
3304         &omap44xx_dsp__l4_abe,
3305         &omap44xx_l3_main_1__l4_abe,
3306         &omap44xx_mpu__l4_abe,
3307         &omap44xx_l3_main_1__l4_cfg,
3308         &omap44xx_l3_main_2__l4_per,
3309         &omap44xx_l4_cfg__l4_wkup,
3310         &omap44xx_mpu__mpu_private,
3311         &omap44xx_l4_cfg__ocp_wp_noc,
3312         &omap44xx_l4_abe__aess,
3313         &omap44xx_l4_abe__aess_dma,
3314         &omap44xx_l4_wkup__counter_32k,
3315         &omap44xx_l4_cfg__ctrl_module_core,
3316         &omap44xx_l4_cfg__ctrl_module_pad_core,
3317         &omap44xx_l4_wkup__ctrl_module_wkup,
3318         &omap44xx_l4_wkup__ctrl_module_pad_wkup,
3319         &omap44xx_l3_instr__debugss,
3320         &omap44xx_l4_cfg__dma_system,
3321         &omap44xx_l4_abe__dmic,
3322         &omap44xx_dsp__iva,
3323         
3324         &omap44xx_l4_cfg__dsp,
3325         &omap44xx_l3_main_2__dss,
3326         &omap44xx_l4_per__dss,
3327         &omap44xx_l3_main_2__dss_dispc,
3328         &omap44xx_l4_per__dss_dispc,
3329         &omap44xx_l3_main_2__dss_dsi1,
3330         &omap44xx_l4_per__dss_dsi1,
3331         &omap44xx_l3_main_2__dss_dsi2,
3332         &omap44xx_l4_per__dss_dsi2,
3333         &omap44xx_l3_main_2__dss_hdmi,
3334         &omap44xx_l4_per__dss_hdmi,
3335         &omap44xx_l3_main_2__dss_rfbi,
3336         &omap44xx_l4_per__dss_rfbi,
3337         &omap44xx_l3_main_2__dss_venc,
3338         &omap44xx_l4_per__dss_venc,
3339         &omap44xx_l4_per__elm,
3340         &omap44xx_l4_cfg__fdif,
3341         &omap44xx_l3_main_2__gpmc,
3342         &omap44xx_l4_per__hdq1w,
3343         &omap44xx_l4_cfg__hsi,
3344         &omap44xx_l3_main_2__ipu,
3345         &omap44xx_l3_main_2__iss,
3346         
3347         &omap44xx_l3_main_2__iva,
3348         &omap44xx_l4_wkup__kbd,
3349         &omap44xx_l4_cfg__mailbox,
3350         &omap44xx_l4_abe__mcasp,
3351         &omap44xx_l4_abe__mcasp_dma,
3352         &omap44xx_l4_abe__mcbsp1,
3353         &omap44xx_l4_abe__mcbsp2,
3354         &omap44xx_l4_abe__mcbsp3,
3355         &omap44xx_l4_per__mcbsp4,
3356         &omap44xx_l4_abe__mcpdm,
3357         &omap44xx_l3_main_2__mmu_ipu,
3358         &omap44xx_l4_cfg__mmu_dsp,
3359         &omap44xx_l3_main_2__ocmc_ram,
3360         &omap44xx_l4_cfg__ocp2scp_usb_phy,
3361         &omap44xx_mpu_private__prcm_mpu,
3362         &omap44xx_l4_wkup__cm_core_aon,
3363         &omap44xx_l4_cfg__cm_core,
3364         &omap44xx_l4_wkup__prm,
3365         &omap44xx_l4_wkup__scrm,
3366         
3367         &omap44xx_l4_abe__slimbus1,
3368         &omap44xx_l4_abe__slimbus1_dma,
3369         &omap44xx_l4_per__slimbus2,
3370         &omap44xx_l4_cfg__smartreflex_core,
3371         &omap44xx_l4_cfg__smartreflex_iva,
3372         &omap44xx_l4_cfg__smartreflex_mpu,
3373         &omap44xx_l4_cfg__spinlock,
3374         &omap44xx_l4_wkup__timer1,
3375         &omap44xx_l4_per__timer2,
3376         &omap44xx_l4_per__timer3,
3377         &omap44xx_l4_per__timer4,
3378         &omap44xx_l4_abe__timer5,
3379         &omap44xx_l4_abe__timer6,
3380         &omap44xx_l4_abe__timer7,
3381         &omap44xx_l4_abe__timer8,
3382         &omap44xx_l4_per__timer9,
3383         &omap44xx_l4_per__timer10,
3384         &omap44xx_l4_per__timer11,
3385         
3386         &omap44xx_l4_cfg__usb_host_hs,
3387         &omap44xx_l4_cfg__usb_otg_hs,
3388         &omap44xx_l4_cfg__usb_tll_hs,
3389         &omap44xx_mpu__emif1,
3390         &omap44xx_mpu__emif2,
3391         &omap44xx_l3_main_2__aes1,
3392         &omap44xx_l3_main_2__aes2,
3393         &omap44xx_l3_main_2__des,
3394         &omap44xx_l3_main_2__sha0,
3395         NULL,
3396 };
3397 
3398 int __init omap44xx_hwmod_init(void)
3399 {
3400         omap_hwmod_init();
3401         return omap_hwmod_register_links(omap44xx_hwmod_ocp_ifs);
3402 }
3403