1 /* 2 * 3 * Copyright (C) 2013 Texas Instruments Incorporated 4 * 5 * Interconnects common for AM335x and AM43x 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License as 9 * published by the Free Software Foundation version 2. 10 * 11 * This program is distributed "as is" WITHOUT ANY WARRANTY of any 12 * kind, whether express or implied; without even the implied warranty 13 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 */ 16 17 #include <linux/sizes.h> 18 #include "omap_hwmod.h" 19 #include "omap_hwmod_33xx_43xx_common_data.h" 20 21 /* mpu -> l3 main */ 22 struct omap_hwmod_ocp_if am33xx_mpu__l3_main = { 23 .master = &am33xx_mpu_hwmod, 24 .slave = &am33xx_l3_main_hwmod, 25 .clk = "dpll_mpu_m2_ck", 26 .user = OCP_USER_MPU, 27 }; 28 29 /* l3 main -> l3 s */ 30 struct omap_hwmod_ocp_if am33xx_l3_main__l3_s = { 31 .master = &am33xx_l3_main_hwmod, 32 .slave = &am33xx_l3_s_hwmod, 33 .clk = "l3s_gclk", 34 .user = OCP_USER_MPU | OCP_USER_SDMA, 35 }; 36 37 /* l3 s -> l4 per/ls */ 38 struct omap_hwmod_ocp_if am33xx_l3_s__l4_ls = { 39 .master = &am33xx_l3_s_hwmod, 40 .slave = &am33xx_l4_ls_hwmod, 41 .clk = "l3s_gclk", 42 .user = OCP_USER_MPU | OCP_USER_SDMA, 43 }; 44 45 /* l3 s -> l4 wkup */ 46 struct omap_hwmod_ocp_if am33xx_l3_s__l4_wkup = { 47 .master = &am33xx_l3_s_hwmod, 48 .slave = &am33xx_l4_wkup_hwmod, 49 .clk = "l3s_gclk", 50 .user = OCP_USER_MPU | OCP_USER_SDMA, 51 }; 52 53 /* l3 main -> l3 instr */ 54 struct omap_hwmod_ocp_if am33xx_l3_main__l3_instr = { 55 .master = &am33xx_l3_main_hwmod, 56 .slave = &am33xx_l3_instr_hwmod, 57 .clk = "l3s_gclk", 58 .user = OCP_USER_MPU | OCP_USER_SDMA, 59 }; 60 61 /* mpu -> prcm */ 62 struct omap_hwmod_ocp_if am33xx_mpu__prcm = { 63 .master = &am33xx_mpu_hwmod, 64 .slave = &am33xx_prcm_hwmod, 65 .clk = "dpll_mpu_m2_ck", 66 .user = OCP_USER_MPU | OCP_USER_SDMA, 67 }; 68 69 /* l3 s -> l3 main*/ 70 struct omap_hwmod_ocp_if am33xx_l3_s__l3_main = { 71 .master = &am33xx_l3_s_hwmod, 72 .slave = &am33xx_l3_main_hwmod, 73 .clk = "l3s_gclk", 74 .user = OCP_USER_MPU | OCP_USER_SDMA, 75 }; 76 77 /* pru-icss -> l3 main */ 78 struct omap_hwmod_ocp_if am33xx_pruss__l3_main = { 79 .master = &am33xx_pruss_hwmod, 80 .slave = &am33xx_l3_main_hwmod, 81 .clk = "l3_gclk", 82 .user = OCP_USER_MPU | OCP_USER_SDMA, 83 }; 84 85 /* gfx -> l3 main */ 86 struct omap_hwmod_ocp_if am33xx_gfx__l3_main = { 87 .master = &am33xx_gfx_hwmod, 88 .slave = &am33xx_l3_main_hwmod, 89 .clk = "dpll_core_m4_ck", 90 .user = OCP_USER_MPU | OCP_USER_SDMA, 91 }; 92 93 /* l3 main -> gfx */ 94 struct omap_hwmod_ocp_if am33xx_l3_main__gfx = { 95 .master = &am33xx_l3_main_hwmod, 96 .slave = &am33xx_gfx_hwmod, 97 .clk = "dpll_core_m4_ck", 98 .user = OCP_USER_MPU | OCP_USER_SDMA, 99 }; 100 101 /* l4 wkup -> rtc */ 102 struct omap_hwmod_ocp_if am33xx_l4_wkup__rtc = { 103 .master = &am33xx_l4_wkup_hwmod, 104 .slave = &am33xx_rtc_hwmod, 105 .clk = "clkdiv32k_ick", 106 .user = OCP_USER_MPU, 107 }; 108 109 /* l4 per/ls -> DCAN0 */ 110 struct omap_hwmod_ocp_if am33xx_l4_per__dcan0 = { 111 .master = &am33xx_l4_ls_hwmod, 112 .slave = &am33xx_dcan0_hwmod, 113 .clk = "l4ls_gclk", 114 .user = OCP_USER_MPU | OCP_USER_SDMA, 115 }; 116 117 /* l4 per/ls -> DCAN1 */ 118 struct omap_hwmod_ocp_if am33xx_l4_per__dcan1 = { 119 .master = &am33xx_l4_ls_hwmod, 120 .slave = &am33xx_dcan1_hwmod, 121 .clk = "l4ls_gclk", 122 .user = OCP_USER_MPU | OCP_USER_SDMA, 123 }; 124 125 /* l4 per/ls -> GPIO2 */ 126 struct omap_hwmod_ocp_if am33xx_l4_per__gpio1 = { 127 .master = &am33xx_l4_ls_hwmod, 128 .slave = &am33xx_gpio1_hwmod, 129 .clk = "l4ls_gclk", 130 .user = OCP_USER_MPU | OCP_USER_SDMA, 131 }; 132 133 /* l4 per/ls -> gpio3 */ 134 struct omap_hwmod_ocp_if am33xx_l4_per__gpio2 = { 135 .master = &am33xx_l4_ls_hwmod, 136 .slave = &am33xx_gpio2_hwmod, 137 .clk = "l4ls_gclk", 138 .user = OCP_USER_MPU | OCP_USER_SDMA, 139 }; 140 141 /* l4 per/ls -> gpio4 */ 142 struct omap_hwmod_ocp_if am33xx_l4_per__gpio3 = { 143 .master = &am33xx_l4_ls_hwmod, 144 .slave = &am33xx_gpio3_hwmod, 145 .clk = "l4ls_gclk", 146 .user = OCP_USER_MPU | OCP_USER_SDMA, 147 }; 148 149 struct omap_hwmod_ocp_if am33xx_cpgmac0__mdio = { 150 .master = &am33xx_cpgmac0_hwmod, 151 .slave = &am33xx_mdio_hwmod, 152 .user = OCP_USER_MPU, 153 }; 154 155 static struct omap_hwmod_addr_space am33xx_elm_addr_space[] = { 156 { 157 .pa_start = 0x48080000, 158 .pa_end = 0x48080000 + SZ_8K - 1, 159 .flags = ADDR_TYPE_RT 160 }, 161 { } 162 }; 163 164 struct omap_hwmod_ocp_if am33xx_l4_ls__elm = { 165 .master = &am33xx_l4_ls_hwmod, 166 .slave = &am33xx_elm_hwmod, 167 .clk = "l4ls_gclk", 168 .addr = am33xx_elm_addr_space, 169 .user = OCP_USER_MPU, 170 }; 171 172 static struct omap_hwmod_addr_space am33xx_epwmss0_addr_space[] = { 173 { 174 .pa_start = 0x48300000, 175 .pa_end = 0x48300000 + SZ_16 - 1, 176 .flags = ADDR_TYPE_RT 177 }, 178 { } 179 }; 180 181 struct omap_hwmod_ocp_if am33xx_l4_ls__epwmss0 = { 182 .master = &am33xx_l4_ls_hwmod, 183 .slave = &am33xx_epwmss0_hwmod, 184 .clk = "l4ls_gclk", 185 .addr = am33xx_epwmss0_addr_space, 186 .user = OCP_USER_MPU, 187 }; 188 189 struct omap_hwmod_ocp_if am33xx_epwmss0__ecap0 = { 190 .master = &am33xx_epwmss0_hwmod, 191 .slave = &am33xx_ecap0_hwmod, 192 .clk = "l4ls_gclk", 193 .user = OCP_USER_MPU, 194 }; 195 196 struct omap_hwmod_ocp_if am33xx_epwmss0__eqep0 = { 197 .master = &am33xx_epwmss0_hwmod, 198 .slave = &am33xx_eqep0_hwmod, 199 .clk = "l4ls_gclk", 200 .user = OCP_USER_MPU, 201 }; 202 203 struct omap_hwmod_ocp_if am33xx_epwmss0__ehrpwm0 = { 204 .master = &am33xx_epwmss0_hwmod, 205 .slave = &am33xx_ehrpwm0_hwmod, 206 .clk = "l4ls_gclk", 207 .user = OCP_USER_MPU, 208 }; 209 210 211 static struct omap_hwmod_addr_space am33xx_epwmss1_addr_space[] = { 212 { 213 .pa_start = 0x48302000, 214 .pa_end = 0x48302000 + SZ_16 - 1, 215 .flags = ADDR_TYPE_RT 216 }, 217 { } 218 }; 219 220 struct omap_hwmod_ocp_if am33xx_l4_ls__epwmss1 = { 221 .master = &am33xx_l4_ls_hwmod, 222 .slave = &am33xx_epwmss1_hwmod, 223 .clk = "l4ls_gclk", 224 .addr = am33xx_epwmss1_addr_space, 225 .user = OCP_USER_MPU, 226 }; 227 228 struct omap_hwmod_ocp_if am33xx_epwmss1__ecap1 = { 229 .master = &am33xx_epwmss1_hwmod, 230 .slave = &am33xx_ecap1_hwmod, 231 .clk = "l4ls_gclk", 232 .user = OCP_USER_MPU, 233 }; 234 235 struct omap_hwmod_ocp_if am33xx_epwmss1__eqep1 = { 236 .master = &am33xx_epwmss1_hwmod, 237 .slave = &am33xx_eqep1_hwmod, 238 .clk = "l4ls_gclk", 239 .user = OCP_USER_MPU, 240 }; 241 242 struct omap_hwmod_ocp_if am33xx_epwmss1__ehrpwm1 = { 243 .master = &am33xx_epwmss1_hwmod, 244 .slave = &am33xx_ehrpwm1_hwmod, 245 .clk = "l4ls_gclk", 246 .user = OCP_USER_MPU, 247 }; 248 249 static struct omap_hwmod_addr_space am33xx_epwmss2_addr_space[] = { 250 { 251 .pa_start = 0x48304000, 252 .pa_end = 0x48304000 + SZ_16 - 1, 253 .flags = ADDR_TYPE_RT 254 }, 255 { } 256 }; 257 258 struct omap_hwmod_ocp_if am33xx_l4_ls__epwmss2 = { 259 .master = &am33xx_l4_ls_hwmod, 260 .slave = &am33xx_epwmss2_hwmod, 261 .clk = "l4ls_gclk", 262 .addr = am33xx_epwmss2_addr_space, 263 .user = OCP_USER_MPU, 264 }; 265 266 struct omap_hwmod_ocp_if am33xx_epwmss2__ecap2 = { 267 .master = &am33xx_epwmss2_hwmod, 268 .slave = &am33xx_ecap2_hwmod, 269 .clk = "l4ls_gclk", 270 .user = OCP_USER_MPU, 271 }; 272 273 struct omap_hwmod_ocp_if am33xx_epwmss2__eqep2 = { 274 .master = &am33xx_epwmss2_hwmod, 275 .slave = &am33xx_eqep2_hwmod, 276 .clk = "l4ls_gclk", 277 .user = OCP_USER_MPU, 278 }; 279 280 struct omap_hwmod_ocp_if am33xx_epwmss2__ehrpwm2 = { 281 .master = &am33xx_epwmss2_hwmod, 282 .slave = &am33xx_ehrpwm2_hwmod, 283 .clk = "l4ls_gclk", 284 .user = OCP_USER_MPU, 285 }; 286 287 /* l3s cfg -> gpmc */ 288 static struct omap_hwmod_addr_space am33xx_gpmc_addr_space[] = { 289 { 290 .pa_start = 0x50000000, 291 .pa_end = 0x50000000 + SZ_8K - 1, 292 .flags = ADDR_TYPE_RT, 293 }, 294 { } 295 }; 296 297 struct omap_hwmod_ocp_if am33xx_l3_s__gpmc = { 298 .master = &am33xx_l3_s_hwmod, 299 .slave = &am33xx_gpmc_hwmod, 300 .clk = "l3s_gclk", 301 .addr = am33xx_gpmc_addr_space, 302 .user = OCP_USER_MPU, 303 }; 304 305 /* i2c2 */ 306 struct omap_hwmod_ocp_if am33xx_l4_per__i2c2 = { 307 .master = &am33xx_l4_ls_hwmod, 308 .slave = &am33xx_i2c2_hwmod, 309 .clk = "l4ls_gclk", 310 .user = OCP_USER_MPU, 311 }; 312 313 struct omap_hwmod_ocp_if am33xx_l4_per__i2c3 = { 314 .master = &am33xx_l4_ls_hwmod, 315 .slave = &am33xx_i2c3_hwmod, 316 .clk = "l4ls_gclk", 317 .user = OCP_USER_MPU, 318 }; 319 320 /* l4 ls -> mailbox */ 321 struct omap_hwmod_ocp_if am33xx_l4_per__mailbox = { 322 .master = &am33xx_l4_ls_hwmod, 323 .slave = &am33xx_mailbox_hwmod, 324 .clk = "l4ls_gclk", 325 .user = OCP_USER_MPU, 326 }; 327 328 /* l4 ls -> spinlock */ 329 struct omap_hwmod_ocp_if am33xx_l4_ls__spinlock = { 330 .master = &am33xx_l4_ls_hwmod, 331 .slave = &am33xx_spinlock_hwmod, 332 .clk = "l4ls_gclk", 333 .user = OCP_USER_MPU, 334 }; 335 336 /* l4 ls -> mcasp0 */ 337 static struct omap_hwmod_addr_space am33xx_mcasp0_addr_space[] = { 338 { 339 .pa_start = 0x48038000, 340 .pa_end = 0x48038000 + SZ_8K - 1, 341 .flags = ADDR_TYPE_RT 342 }, 343 { } 344 }; 345 346 struct omap_hwmod_ocp_if am33xx_l4_ls__mcasp0 = { 347 .master = &am33xx_l4_ls_hwmod, 348 .slave = &am33xx_mcasp0_hwmod, 349 .clk = "l4ls_gclk", 350 .addr = am33xx_mcasp0_addr_space, 351 .user = OCP_USER_MPU, 352 }; 353 354 /* l4 ls -> mcasp1 */ 355 static struct omap_hwmod_addr_space am33xx_mcasp1_addr_space[] = { 356 { 357 .pa_start = 0x4803C000, 358 .pa_end = 0x4803C000 + SZ_8K - 1, 359 .flags = ADDR_TYPE_RT 360 }, 361 { } 362 }; 363 364 struct omap_hwmod_ocp_if am33xx_l4_ls__mcasp1 = { 365 .master = &am33xx_l4_ls_hwmod, 366 .slave = &am33xx_mcasp1_hwmod, 367 .clk = "l4ls_gclk", 368 .addr = am33xx_mcasp1_addr_space, 369 .user = OCP_USER_MPU, 370 }; 371 372 /* l4 ls -> mmc0 */ 373 static struct omap_hwmod_addr_space am33xx_mmc0_addr_space[] = { 374 { 375 .pa_start = 0x48060100, 376 .pa_end = 0x48060100 + SZ_4K - 1, 377 .flags = ADDR_TYPE_RT, 378 }, 379 { } 380 }; 381 382 struct omap_hwmod_ocp_if am33xx_l4_ls__mmc0 = { 383 .master = &am33xx_l4_ls_hwmod, 384 .slave = &am33xx_mmc0_hwmod, 385 .clk = "l4ls_gclk", 386 .addr = am33xx_mmc0_addr_space, 387 .user = OCP_USER_MPU, 388 }; 389 390 /* l4 ls -> mmc1 */ 391 static struct omap_hwmod_addr_space am33xx_mmc1_addr_space[] = { 392 { 393 .pa_start = 0x481d8100, 394 .pa_end = 0x481d8100 + SZ_4K - 1, 395 .flags = ADDR_TYPE_RT, 396 }, 397 { } 398 }; 399 400 struct omap_hwmod_ocp_if am33xx_l4_ls__mmc1 = { 401 .master = &am33xx_l4_ls_hwmod, 402 .slave = &am33xx_mmc1_hwmod, 403 .clk = "l4ls_gclk", 404 .addr = am33xx_mmc1_addr_space, 405 .user = OCP_USER_MPU, 406 }; 407 408 /* l3 s -> mmc2 */ 409 static struct omap_hwmod_addr_space am33xx_mmc2_addr_space[] = { 410 { 411 .pa_start = 0x47810100, 412 .pa_end = 0x47810100 + SZ_64K - 1, 413 .flags = ADDR_TYPE_RT, 414 }, 415 { } 416 }; 417 418 struct omap_hwmod_ocp_if am33xx_l3_s__mmc2 = { 419 .master = &am33xx_l3_s_hwmod, 420 .slave = &am33xx_mmc2_hwmod, 421 .clk = "l3s_gclk", 422 .addr = am33xx_mmc2_addr_space, 423 .user = OCP_USER_MPU, 424 }; 425 426 /* l4 ls -> mcspi0 */ 427 struct omap_hwmod_ocp_if am33xx_l4_ls__mcspi0 = { 428 .master = &am33xx_l4_ls_hwmod, 429 .slave = &am33xx_spi0_hwmod, 430 .clk = "l4ls_gclk", 431 .user = OCP_USER_MPU, 432 }; 433 434 /* l4 ls -> mcspi1 */ 435 struct omap_hwmod_ocp_if am33xx_l4_ls__mcspi1 = { 436 .master = &am33xx_l4_ls_hwmod, 437 .slave = &am33xx_spi1_hwmod, 438 .clk = "l4ls_gclk", 439 .user = OCP_USER_MPU, 440 }; 441 442 /* l4 per -> timer2 */ 443 struct omap_hwmod_ocp_if am33xx_l4_ls__timer2 = { 444 .master = &am33xx_l4_ls_hwmod, 445 .slave = &am33xx_timer2_hwmod, 446 .clk = "l4ls_gclk", 447 .user = OCP_USER_MPU, 448 }; 449 450 /* l4 per -> timer3 */ 451 struct omap_hwmod_ocp_if am33xx_l4_ls__timer3 = { 452 .master = &am33xx_l4_ls_hwmod, 453 .slave = &am33xx_timer3_hwmod, 454 .clk = "l4ls_gclk", 455 .user = OCP_USER_MPU, 456 }; 457 458 /* l4 per -> timer4 */ 459 struct omap_hwmod_ocp_if am33xx_l4_ls__timer4 = { 460 .master = &am33xx_l4_ls_hwmod, 461 .slave = &am33xx_timer4_hwmod, 462 .clk = "l4ls_gclk", 463 .user = OCP_USER_MPU, 464 }; 465 466 /* l4 per -> timer5 */ 467 struct omap_hwmod_ocp_if am33xx_l4_ls__timer5 = { 468 .master = &am33xx_l4_ls_hwmod, 469 .slave = &am33xx_timer5_hwmod, 470 .clk = "l4ls_gclk", 471 .user = OCP_USER_MPU, 472 }; 473 474 /* l4 per -> timer6 */ 475 struct omap_hwmod_ocp_if am33xx_l4_ls__timer6 = { 476 .master = &am33xx_l4_ls_hwmod, 477 .slave = &am33xx_timer6_hwmod, 478 .clk = "l4ls_gclk", 479 .user = OCP_USER_MPU, 480 }; 481 482 /* l4 per -> timer7 */ 483 struct omap_hwmod_ocp_if am33xx_l4_ls__timer7 = { 484 .master = &am33xx_l4_ls_hwmod, 485 .slave = &am33xx_timer7_hwmod, 486 .clk = "l4ls_gclk", 487 .user = OCP_USER_MPU, 488 }; 489 490 /* l3 main -> tpcc */ 491 struct omap_hwmod_ocp_if am33xx_l3_main__tpcc = { 492 .master = &am33xx_l3_main_hwmod, 493 .slave = &am33xx_tpcc_hwmod, 494 .clk = "l3_gclk", 495 .user = OCP_USER_MPU, 496 }; 497 498 /* l3 main -> tpcc0 */ 499 static struct omap_hwmod_addr_space am33xx_tptc0_addr_space[] = { 500 { 501 .pa_start = 0x49800000, 502 .pa_end = 0x49800000 + SZ_8K - 1, 503 .flags = ADDR_TYPE_RT, 504 }, 505 { } 506 }; 507 508 struct omap_hwmod_ocp_if am33xx_l3_main__tptc0 = { 509 .master = &am33xx_l3_main_hwmod, 510 .slave = &am33xx_tptc0_hwmod, 511 .clk = "l3_gclk", 512 .addr = am33xx_tptc0_addr_space, 513 .user = OCP_USER_MPU, 514 }; 515 516 /* l3 main -> tpcc1 */ 517 static struct omap_hwmod_addr_space am33xx_tptc1_addr_space[] = { 518 { 519 .pa_start = 0x49900000, 520 .pa_end = 0x49900000 + SZ_8K - 1, 521 .flags = ADDR_TYPE_RT, 522 }, 523 { } 524 }; 525 526 struct omap_hwmod_ocp_if am33xx_l3_main__tptc1 = { 527 .master = &am33xx_l3_main_hwmod, 528 .slave = &am33xx_tptc1_hwmod, 529 .clk = "l3_gclk", 530 .addr = am33xx_tptc1_addr_space, 531 .user = OCP_USER_MPU, 532 }; 533 534 /* l3 main -> tpcc2 */ 535 static struct omap_hwmod_addr_space am33xx_tptc2_addr_space[] = { 536 { 537 .pa_start = 0x49a00000, 538 .pa_end = 0x49a00000 + SZ_8K - 1, 539 .flags = ADDR_TYPE_RT, 540 }, 541 { } 542 }; 543 544 struct omap_hwmod_ocp_if am33xx_l3_main__tptc2 = { 545 .master = &am33xx_l3_main_hwmod, 546 .slave = &am33xx_tptc2_hwmod, 547 .clk = "l3_gclk", 548 .addr = am33xx_tptc2_addr_space, 549 .user = OCP_USER_MPU, 550 }; 551 552 /* l4 ls -> uart2 */ 553 struct omap_hwmod_ocp_if am33xx_l4_ls__uart2 = { 554 .master = &am33xx_l4_ls_hwmod, 555 .slave = &am33xx_uart2_hwmod, 556 .clk = "l4ls_gclk", 557 .user = OCP_USER_MPU, 558 }; 559 560 /* l4 ls -> uart3 */ 561 struct omap_hwmod_ocp_if am33xx_l4_ls__uart3 = { 562 .master = &am33xx_l4_ls_hwmod, 563 .slave = &am33xx_uart3_hwmod, 564 .clk = "l4ls_gclk", 565 .user = OCP_USER_MPU, 566 }; 567 568 /* l4 ls -> uart4 */ 569 struct omap_hwmod_ocp_if am33xx_l4_ls__uart4 = { 570 .master = &am33xx_l4_ls_hwmod, 571 .slave = &am33xx_uart4_hwmod, 572 .clk = "l4ls_gclk", 573 .user = OCP_USER_MPU, 574 }; 575 576 /* l4 ls -> uart5 */ 577 struct omap_hwmod_ocp_if am33xx_l4_ls__uart5 = { 578 .master = &am33xx_l4_ls_hwmod, 579 .slave = &am33xx_uart5_hwmod, 580 .clk = "l4ls_gclk", 581 .user = OCP_USER_MPU, 582 }; 583 584 /* l4 ls -> uart6 */ 585 struct omap_hwmod_ocp_if am33xx_l4_ls__uart6 = { 586 .master = &am33xx_l4_ls_hwmod, 587 .slave = &am33xx_uart6_hwmod, 588 .clk = "l4ls_gclk", 589 .user = OCP_USER_MPU, 590 }; 591 592 /* l3 main -> ocmc */ 593 struct omap_hwmod_ocp_if am33xx_l3_main__ocmc = { 594 .master = &am33xx_l3_main_hwmod, 595 .slave = &am33xx_ocmcram_hwmod, 596 .user = OCP_USER_MPU | OCP_USER_SDMA, 597 }; 598 599 /* l3 main -> sha0 HIB2 */ 600 static struct omap_hwmod_addr_space am33xx_sha0_addrs[] = { 601 { 602 .pa_start = 0x53100000, 603 .pa_end = 0x53100000 + SZ_512 - 1, 604 .flags = ADDR_TYPE_RT 605 }, 606 { } 607 }; 608 609 struct omap_hwmod_ocp_if am33xx_l3_main__sha0 = { 610 .master = &am33xx_l3_main_hwmod, 611 .slave = &am33xx_sha0_hwmod, 612 .clk = "sha0_fck", 613 .addr = am33xx_sha0_addrs, 614 .user = OCP_USER_MPU | OCP_USER_SDMA, 615 }; 616 617 /* l3 main -> AES0 HIB2 */ 618 static struct omap_hwmod_addr_space am33xx_aes0_addrs[] = { 619 { 620 .pa_start = 0x53500000, 621 .pa_end = 0x53500000 + SZ_1M - 1, 622 .flags = ADDR_TYPE_RT 623 }, 624 { } 625 }; 626 627 struct omap_hwmod_ocp_if am33xx_l3_main__aes0 = { 628 .master = &am33xx_l3_main_hwmod, 629 .slave = &am33xx_aes0_hwmod, 630 .clk = "aes0_fck", 631 .addr = am33xx_aes0_addrs, 632 .user = OCP_USER_MPU | OCP_USER_SDMA, 633 }; 634