1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 3 * Copyright (C) 2011 Texas Instruments Incorporated - https://www.ti.com/ 4 */ 5 6 #include <dt-bindings/bus/ti-sysc.h> 7 #include <dt-bindings/clock/omap4.h> 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/interrupt-controller/arm-gic.h> 10 #include <dt-bindings/pinctrl/omap.h> 11 #include <dt-bindings/clock/omap4.h> 12 13 / { 14 compatible = "ti,omap4430", "ti,omap4"; 15 interrupt-parent = <&wakeupgen>; 16 #address-cells = <1>; 17 #size-cells = <1>; 18 chosen { }; 19 20 aliases { 21 i2c0 = &i2c1; 22 i2c1 = &i2c2; 23 i2c2 = &i2c3; 24 i2c3 = &i2c4; 25 mmc0 = &mmc1; 26 mmc1 = &mmc2; 27 mmc2 = &mmc3; 28 mmc3 = &mmc4; 29 mmc4 = &mmc5; 30 serial0 = &uart1; 31 serial1 = &uart2; 32 serial2 = &uart3; 33 serial3 = &uart4; 34 rproc0 = &dsp; 35 rproc1 = &ipu; 36 }; 37 38 cpus { 39 #address-cells = <1>; 40 #size-cells = <0>; 41 42 cpu@0 { 43 compatible = "arm,cortex-a9"; 44 device_type = "cpu"; 45 next-level-cache = <&L2>; 46 reg = <0x0>; 47 48 clocks = <&dpll_mpu_ck>; 49 clock-names = "cpu"; 50 51 clock-latency = <300000>; /* From omap-cpufreq driver */ 52 }; 53 cpu@1 { 54 compatible = "arm,cortex-a9"; 55 device_type = "cpu"; 56 next-level-cache = <&L2>; 57 reg = <0x1>; 58 }; 59 }; 60 61 /* 62 * Needed early by omap4_sram_init() for barrier, do not move to l3 63 * interconnect as simple-pm-bus probes at module_init() time. 64 */ 65 ocmcram: sram@40304000 { 66 compatible = "mmio-sram"; 67 reg = <0x40304000 0xa000>; /* 40k */ 68 }; 69 70 gic: interrupt-controller@48241000 { 71 compatible = "arm,cortex-a9-gic"; 72 interrupt-controller; 73 #interrupt-cells = <3>; 74 reg = <0x48241000 0x1000>, 75 <0x48240100 0x0100>; 76 interrupt-parent = <&gic>; 77 }; 78 79 L2: cache-controller@48242000 { 80 compatible = "arm,pl310-cache"; 81 reg = <0x48242000 0x1000>; 82 cache-unified; 83 cache-level = <2>; 84 }; 85 86 local-timer@48240600 { 87 compatible = "arm,cortex-a9-twd-timer"; 88 clocks = <&mpu_periphclk>; 89 reg = <0x48240600 0x20>; 90 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_EDGE_RISING)>; 91 interrupt-parent = <&gic>; 92 }; 93 94 wakeupgen: interrupt-controller@48281000 { 95 compatible = "ti,omap4-wugen-mpu"; 96 interrupt-controller; 97 #interrupt-cells = <3>; 98 reg = <0x48281000 0x1000>; 99 interrupt-parent = <&gic>; 100 }; 101 102 /* 103 * XXX: Use a flat representation of the OMAP4 interconnect. 104 * The real OMAP interconnect network is quite complex. 105 * Since it will not bring real advantage to represent that in DT for 106 * the moment, just use a fake OCP bus entry to represent the whole bus 107 * hierarchy. 108 */ 109 ocp { 110 compatible = "simple-pm-bus"; 111 power-domains = <&prm_l4per>; 112 clocks = <&l3_1_clkctrl OMAP4_L3_MAIN_1_CLKCTRL 0>, 113 <&l3_2_clkctrl OMAP4_L3_MAIN_2_CLKCTRL 0>, 114 <&l3_instr_clkctrl OMAP4_L3_MAIN_3_CLKCTRL 0>; 115 #address-cells = <1>; 116 #size-cells = <1>; 117 ranges; 118 119 l3-noc@44000000 { 120 compatible = "ti,omap4-l3-noc"; 121 reg = <0x44000000 0x1000>, 122 <0x44800000 0x2000>, 123 <0x45000000 0x1000>; 124 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 125 <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 126 }; 127 128 l4_wkup: interconnect@4a300000 { 129 }; 130 131 l4_cfg: interconnect@4a000000 { 132 }; 133 134 l4_per: interconnect@48000000 { 135 }; 136 137 target-module@48210000 { 138 compatible = "ti,sysc-omap4-simple", "ti,sysc"; 139 power-domains = <&prm_mpu>; 140 clocks = <&mpuss_clkctrl OMAP4_MPU_CLKCTRL 0>; 141 clock-names = "fck"; 142 #address-cells = <1>; 143 #size-cells = <1>; 144 ranges = <0 0x48210000 0x1f0000>; 145 146 mpu { 147 compatible = "ti,omap4-mpu"; 148 sram = <&ocmcram>; 149 }; 150 }; 151 152 l4_abe: interconnect@40100000 { 153 }; 154 155 target-module@50000000 { 156 compatible = "ti,sysc-omap2", "ti,sysc"; 157 reg = <0x50000000 4>, 158 <0x50000010 4>, 159 <0x50000014 4>; 160 reg-names = "rev", "sysc", "syss"; 161 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 162 <SYSC_IDLE_NO>, 163 <SYSC_IDLE_SMART>; 164 ti,syss-mask = <1>; 165 ti,no-idle-on-init; 166 clocks = <&l3_2_clkctrl OMAP4_GPMC_CLKCTRL 0>; 167 clock-names = "fck"; 168 #address-cells = <1>; 169 #size-cells = <1>; 170 ranges = <0x50000000 0x50000000 0x00001000>, /* regs */ 171 <0x00000000 0x00000000 0x40000000>; /* data */ 172 173 gpmc: gpmc@50000000 { 174 compatible = "ti,omap4430-gpmc"; 175 reg = <0x50000000 0x1000>; 176 #address-cells = <2>; 177 #size-cells = <1>; 178 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 179 dmas = <&sdma 4>; 180 dma-names = "rxtx"; 181 gpmc,num-cs = <8>; 182 gpmc,num-waitpins = <4>; 183 clocks = <&l3_div_ck>; 184 clock-names = "fck"; 185 interrupt-controller; 186 #interrupt-cells = <2>; 187 gpio-controller; 188 #gpio-cells = <2>; 189 }; 190 }; 191 192 target-module@52000000 { 193 compatible = "ti,sysc-omap4", "ti,sysc"; 194 reg = <0x52000000 0x4>, 195 <0x52000010 0x4>; 196 reg-names = "rev", "sysc"; 197 ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 198 ti,sysc-midle = <SYSC_IDLE_FORCE>, 199 <SYSC_IDLE_NO>, 200 <SYSC_IDLE_SMART>, 201 <SYSC_IDLE_SMART_WKUP>; 202 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 203 <SYSC_IDLE_NO>, 204 <SYSC_IDLE_SMART>, 205 <SYSC_IDLE_SMART_WKUP>; 206 ti,sysc-delay-us = <2>; 207 power-domains = <&prm_cam>; 208 clocks = <&iss_clkctrl OMAP4_ISS_CLKCTRL 0>; 209 clock-names = "fck"; 210 #address-cells = <1>; 211 #size-cells = <1>; 212 ranges = <0 0x52000000 0x1000000>; 213 214 /* No child device binding, driver in staging */ 215 }; 216 217 /* 218 * Note that 4430 needs cross trigger interface (CTI) supported 219 * before we can configure the interrupts. This means sampling 220 * events are not supported for pmu. Note that 4460 does not use 221 * CTI, see also 4460.dtsi. 222 */ 223 target-module@54000000 { 224 compatible = "ti,sysc-omap4-simple", "ti,sysc"; 225 power-domains = <&prm_emu>; 226 clocks = <&emu_sys_clkctrl OMAP4_DEBUGSS_CLKCTRL 0>; 227 clock-names = "fck"; 228 #address-cells = <1>; 229 #size-cells = <1>; 230 ranges = <0x0 0x54000000 0x1000000>; 231 232 pmu: pmu { 233 compatible = "arm,cortex-a9-pmu"; 234 }; 235 }; 236 237 target-module@55082000 { 238 compatible = "ti,sysc-omap2", "ti,sysc"; 239 reg = <0x55082000 0x4>, 240 <0x55082010 0x4>, 241 <0x55082014 0x4>; 242 reg-names = "rev", "sysc", "syss"; 243 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 244 <SYSC_IDLE_NO>, 245 <SYSC_IDLE_SMART>; 246 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 247 SYSC_OMAP2_SOFTRESET | 248 SYSC_OMAP2_AUTOIDLE)>; 249 clocks = <&ducati_clkctrl OMAP4_IPU_CLKCTRL 0>; 250 clock-names = "fck"; 251 resets = <&prm_core 2>; 252 reset-names = "rstctrl"; 253 ranges = <0x0 0x55082000 0x100>; 254 #size-cells = <1>; 255 #address-cells = <1>; 256 257 mmu_ipu: mmu@0 { 258 compatible = "ti,omap4-iommu"; 259 reg = <0x0 0x100>; 260 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 261 #iommu-cells = <0>; 262 ti,iommu-bus-err-back; 263 }; 264 }; 265 266 target-module@4012c000 { 267 compatible = "ti,sysc-omap4", "ti,sysc"; 268 reg = <0x4012c000 0x4>, 269 <0x4012c010 0x4>; 270 reg-names = "rev", "sysc"; 271 ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 272 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 273 <SYSC_IDLE_NO>, 274 <SYSC_IDLE_SMART>, 275 <SYSC_IDLE_SMART_WKUP>; 276 clocks = <&abe_clkctrl OMAP4_SLIMBUS1_CLKCTRL 0>; 277 clock-names = "fck"; 278 #address-cells = <1>; 279 #size-cells = <1>; 280 ranges = <0x00000000 0x4012c000 0x1000>, /* MPU */ 281 <0x4902c000 0x4902c000 0x1000>; /* L3 */ 282 283 /* No child device binding or driver in mainline */ 284 }; 285 286 target-module@4e000000 { 287 compatible = "ti,sysc-omap2", "ti,sysc"; 288 reg = <0x4e000000 0x4>, 289 <0x4e000010 0x4>; 290 reg-names = "rev", "sysc"; 291 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 292 <SYSC_IDLE_NO>, 293 <SYSC_IDLE_SMART>; 294 ranges = <0x0 0x4e000000 0x2000000>; 295 #size-cells = <1>; 296 #address-cells = <1>; 297 298 dmm@0 { 299 compatible = "ti,omap4-dmm"; 300 reg = <0 0x800>; 301 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 302 }; 303 }; 304 305 target-module@4c000000 { 306 compatible = "ti,sysc-omap4-simple", "ti,sysc"; 307 reg = <0x4c000000 0x4>; 308 reg-names = "rev"; 309 clocks = <&l3_emif_clkctrl OMAP4_EMIF1_CLKCTRL 0>; 310 clock-names = "fck"; 311 ti,no-idle; 312 #address-cells = <1>; 313 #size-cells = <1>; 314 ranges = <0x0 0x4c000000 0x1000000>; 315 316 emif1: emif@0 { 317 compatible = "ti,emif-4d"; 318 reg = <0 0x100>; 319 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 320 phy-type = <1>; 321 hw-caps-read-idle-ctrl; 322 hw-caps-ll-interface; 323 hw-caps-temp-alert; 324 }; 325 }; 326 327 target-module@4d000000 { 328 compatible = "ti,sysc-omap4-simple", "ti,sysc"; 329 reg = <0x4d000000 0x4>; 330 reg-names = "rev"; 331 clocks = <&l3_emif_clkctrl OMAP4_EMIF2_CLKCTRL 0>; 332 clock-names = "fck"; 333 ti,no-idle; 334 #address-cells = <1>; 335 #size-cells = <1>; 336 ranges = <0x0 0x4d000000 0x1000000>; 337 338 emif2: emif@0 { 339 compatible = "ti,emif-4d"; 340 reg = <0 0x100>; 341 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 342 phy-type = <1>; 343 hw-caps-read-idle-ctrl; 344 hw-caps-ll-interface; 345 hw-caps-temp-alert; 346 }; 347 }; 348 349 dsp: dsp { 350 compatible = "ti,omap4-dsp"; 351 ti,bootreg = <&scm_conf 0x304 0>; 352 iommus = <&mmu_dsp>; 353 resets = <&prm_tesla 0>; 354 clocks = <&tesla_clkctrl OMAP4_DSP_CLKCTRL 0>; 355 firmware-name = "omap4-dsp-fw.xe64T"; 356 mboxes = <&mailbox &mbox_dsp>; 357 status = "disabled"; 358 }; 359 360 ipu: ipu@55020000 { 361 compatible = "ti,omap4-ipu"; 362 reg = <0x55020000 0x10000>; 363 reg-names = "l2ram"; 364 iommus = <&mmu_ipu>; 365 resets = <&prm_core 0>, <&prm_core 1>; 366 clocks = <&ducati_clkctrl OMAP4_IPU_CLKCTRL 0>; 367 firmware-name = "omap4-ipu-fw.xem3"; 368 mboxes = <&mailbox &mbox_ipu>; 369 status = "disabled"; 370 }; 371 372 aes1_target: target-module@4b501000 { 373 compatible = "ti,sysc-omap2", "ti,sysc"; 374 reg = <0x4b501080 0x4>, 375 <0x4b501084 0x4>, 376 <0x4b501088 0x4>; 377 reg-names = "rev", "sysc", "syss"; 378 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | 379 SYSC_OMAP2_AUTOIDLE)>; 380 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 381 <SYSC_IDLE_NO>, 382 <SYSC_IDLE_SMART>, 383 <SYSC_IDLE_SMART_WKUP>; 384 ti,syss-mask = <1>; 385 /* Domains (P, C): l4per_pwrdm, l4_secure_clkdm */ 386 clocks = <&l4_secure_clkctrl OMAP4_AES1_CLKCTRL 0>; 387 clock-names = "fck"; 388 #address-cells = <1>; 389 #size-cells = <1>; 390 ranges = <0x0 0x4b501000 0x1000>; 391 392 aes1: aes@0 { 393 compatible = "ti,omap4-aes"; 394 reg = <0 0xa0>; 395 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 396 dmas = <&sdma 111>, <&sdma 110>; 397 dma-names = "tx", "rx"; 398 }; 399 }; 400 401 aes2_target: target-module@4b701000 { 402 compatible = "ti,sysc-omap2", "ti,sysc"; 403 reg = <0x4b701080 0x4>, 404 <0x4b701084 0x4>, 405 <0x4b701088 0x4>; 406 reg-names = "rev", "sysc", "syss"; 407 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | 408 SYSC_OMAP2_AUTOIDLE)>; 409 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 410 <SYSC_IDLE_NO>, 411 <SYSC_IDLE_SMART>, 412 <SYSC_IDLE_SMART_WKUP>; 413 ti,syss-mask = <1>; 414 /* Domains (P, C): l4per_pwrdm, l4_secure_clkdm */ 415 clocks = <&l4_secure_clkctrl OMAP4_AES2_CLKCTRL 0>; 416 clock-names = "fck"; 417 #address-cells = <1>; 418 #size-cells = <1>; 419 ranges = <0x0 0x4b701000 0x1000>; 420 421 aes2: aes@0 { 422 compatible = "ti,omap4-aes"; 423 reg = <0 0xa0>; 424 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 425 dmas = <&sdma 114>, <&sdma 113>; 426 dma-names = "tx", "rx"; 427 }; 428 }; 429 430 sham_target: target-module@4b100000 { 431 compatible = "ti,sysc-omap3-sham", "ti,sysc"; 432 reg = <0x4b100100 0x4>, 433 <0x4b100110 0x4>, 434 <0x4b100114 0x4>; 435 reg-names = "rev", "sysc", "syss"; 436 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | 437 SYSC_OMAP2_AUTOIDLE)>; 438 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 439 <SYSC_IDLE_NO>, 440 <SYSC_IDLE_SMART>; 441 ti,syss-mask = <1>; 442 /* Domains (P, C): l4per_pwrdm, l4_secure_clkdm */ 443 clocks = <&l4_secure_clkctrl OMAP4_SHA2MD5_CLKCTRL 0>; 444 clock-names = "fck"; 445 #address-cells = <1>; 446 #size-cells = <1>; 447 ranges = <0x0 0x4b100000 0x1000>; 448 449 sham: sham@0 { 450 compatible = "ti,omap4-sham"; 451 reg = <0 0x300>; 452 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 453 dmas = <&sdma 119>; 454 dma-names = "rx"; 455 }; 456 }; 457 458 abb_mpu: regulator-abb-mpu { 459 compatible = "ti,abb-v2"; 460 regulator-name = "abb_mpu"; 461 #address-cells = <0>; 462 #size-cells = <0>; 463 ti,tranxdone-status-mask = <0x80>; 464 clocks = <&sys_clkin_ck>; 465 ti,settling-time = <50>; 466 ti,clock-cycles = <16>; 467 468 status = "disabled"; 469 }; 470 471 abb_iva: regulator-abb-iva { 472 compatible = "ti,abb-v2"; 473 regulator-name = "abb_iva"; 474 #address-cells = <0>; 475 #size-cells = <0>; 476 ti,tranxdone-status-mask = <0x80000000>; 477 clocks = <&sys_clkin_ck>; 478 ti,settling-time = <50>; 479 ti,clock-cycles = <16>; 480 481 status = "disabled"; 482 }; 483 484 sgx_module: target-module@56000000 { 485 compatible = "ti,sysc-omap4", "ti,sysc"; 486 reg = <0x5600fe00 0x4>, 487 <0x5600fe10 0x4>; 488 reg-names = "rev", "sysc"; 489 ti,sysc-midle = <SYSC_IDLE_FORCE>, 490 <SYSC_IDLE_NO>, 491 <SYSC_IDLE_SMART>, 492 <SYSC_IDLE_SMART_WKUP>; 493 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 494 <SYSC_IDLE_NO>, 495 <SYSC_IDLE_SMART>, 496 <SYSC_IDLE_SMART_WKUP>; 497 power-domains = <&prm_gfx>; 498 clocks = <&l3_gfx_clkctrl OMAP4_GPU_CLKCTRL 0>; 499 clock-names = "fck"; 500 #address-cells = <1>; 501 #size-cells = <1>; 502 ranges = <0 0x56000000 0x2000000>; 503 504 gpu@0 { 505 compatible = "ti,omap4430-gpu", "img,powervr-sgx540"; 506 reg = <0x0 0x2000000>; /* 32MB */ 507 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 508 }; 509 }; 510 511 /* 512 * DSS is only using l3 mapping without l4 as noted in the TRM 513 * "10.1.3 DSS Register Manual" for omap4460. 514 */ 515 target-module@58000000 { 516 compatible = "ti,sysc-omap2", "ti,sysc"; 517 reg = <0x58000000 4>, 518 <0x58000014 4>; 519 reg-names = "rev", "syss"; 520 ti,syss-mask = <1>; 521 power-domains = <&prm_dss>; 522 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 0>, 523 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>, 524 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>, 525 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 11>; 526 clock-names = "fck", "hdmi_clk", "sys_clk", "tv_clk"; 527 #address-cells = <1>; 528 #size-cells = <1>; 529 ranges = <0 0x58000000 0x1000000>; 530 531 dss: dss@0 { 532 compatible = "ti,omap4-dss"; 533 reg = <0 0x80>; 534 status = "disabled"; 535 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>; 536 clock-names = "fck"; 537 #address-cells = <1>; 538 #size-cells = <1>; 539 ranges = <0 0 0x1000000>; 540 541 target-module@1000 { 542 compatible = "ti,sysc-omap2", "ti,sysc"; 543 reg = <0x1000 0x4>, 544 <0x1010 0x4>, 545 <0x1014 0x4>; 546 reg-names = "rev", "sysc", "syss"; 547 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 548 <SYSC_IDLE_NO>, 549 <SYSC_IDLE_SMART>; 550 ti,sysc-midle = <SYSC_IDLE_FORCE>, 551 <SYSC_IDLE_NO>, 552 <SYSC_IDLE_SMART>; 553 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 554 SYSC_OMAP2_ENAWAKEUP | 555 SYSC_OMAP2_SOFTRESET | 556 SYSC_OMAP2_AUTOIDLE)>; 557 ti,syss-mask = <1>; 558 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, 559 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>; 560 clock-names = "fck", "sys_clk"; 561 #address-cells = <1>; 562 #size-cells = <1>; 563 ranges = <0 0x1000 0x1000>; 564 565 dispc@0 { 566 compatible = "ti,omap4-dispc"; 567 reg = <0 0x1000>; 568 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 569 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>; 570 clock-names = "fck"; 571 }; 572 }; 573 574 target-module@2000 { 575 compatible = "ti,sysc-omap2", "ti,sysc"; 576 reg = <0x2000 0x4>, 577 <0x2010 0x4>, 578 <0x2014 0x4>; 579 reg-names = "rev", "sysc", "syss"; 580 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 581 <SYSC_IDLE_NO>, 582 <SYSC_IDLE_SMART>; 583 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | 584 SYSC_OMAP2_AUTOIDLE)>; 585 ti,syss-mask = <1>; 586 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, 587 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>; 588 clock-names = "fck", "sys_clk"; 589 #address-cells = <1>; 590 #size-cells = <1>; 591 ranges = <0 0x2000 0x1000>; 592 593 rfbi: encoder@0 { 594 reg = <0 0x1000>; 595 status = "disabled"; 596 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, <&l3_div_ck>; 597 clock-names = "fck", "ick"; 598 }; 599 }; 600 601 target-module@3000 { 602 compatible = "ti,sysc-omap2", "ti,sysc"; 603 reg = <0x3000 0x4>; 604 reg-names = "rev"; 605 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>; 606 clock-names = "sys_clk"; 607 #address-cells = <1>; 608 #size-cells = <1>; 609 ranges = <0 0x3000 0x1000>; 610 611 venc: encoder@0 { 612 compatible = "ti,omap4-venc"; 613 reg = <0 0x1000>; 614 status = "disabled"; 615 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 11>; 616 clock-names = "fck"; 617 }; 618 }; 619 620 target-module@4000 { 621 compatible = "ti,sysc-omap2", "ti,sysc"; 622 reg = <0x4000 0x4>, 623 <0x4010 0x4>, 624 <0x4014 0x4>; 625 reg-names = "rev", "sysc", "syss"; 626 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 627 <SYSC_IDLE_NO>, 628 <SYSC_IDLE_SMART>; 629 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 630 SYSC_OMAP2_ENAWAKEUP | 631 SYSC_OMAP2_SOFTRESET | 632 SYSC_OMAP2_AUTOIDLE)>; 633 ti,syss-mask = <1>; 634 #address-cells = <1>; 635 #size-cells = <1>; 636 ranges = <0 0x4000 0x1000>; 637 638 dsi1: encoder@0 { 639 compatible = "ti,omap4-dsi"; 640 reg = <0 0x200>, 641 <0x200 0x40>, 642 <0x300 0x20>; 643 reg-names = "proto", "phy", "pll"; 644 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 645 status = "disabled"; 646 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, 647 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>; 648 clock-names = "fck", "sys_clk"; 649 650 #address-cells = <1>; 651 #size-cells = <0>; 652 }; 653 }; 654 655 target-module@5000 { 656 compatible = "ti,sysc-omap2", "ti,sysc"; 657 reg = <0x5000 0x4>, 658 <0x5010 0x4>, 659 <0x5014 0x4>; 660 reg-names = "rev", "sysc", "syss"; 661 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 662 <SYSC_IDLE_NO>, 663 <SYSC_IDLE_SMART>; 664 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 665 SYSC_OMAP2_ENAWAKEUP | 666 SYSC_OMAP2_SOFTRESET | 667 SYSC_OMAP2_AUTOIDLE)>; 668 ti,syss-mask = <1>; 669 #address-cells = <1>; 670 #size-cells = <1>; 671 ranges = <0 0x5000 0x1000>; 672 673 dsi2: encoder@0 { 674 compatible = "ti,omap4-dsi"; 675 reg = <0 0x200>, 676 <0x200 0x40>, 677 <0x300 0x20>; 678 reg-names = "proto", "phy", "pll"; 679 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 680 status = "disabled"; 681 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, 682 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>; 683 clock-names = "fck", "sys_clk"; 684 685 #address-cells = <1>; 686 #size-cells = <0>; 687 }; 688 }; 689 690 target-module@6000 { 691 compatible = "ti,sysc-omap4", "ti,sysc"; 692 reg = <0x6000 0x4>, 693 <0x6010 0x4>; 694 reg-names = "rev", "sysc"; 695 /* 696 * Has SYSC_IDLE_SMART and SYSC_IDLE_SMART_WKUP 697 * but HDMI audio will fail with them. 698 */ 699 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 700 <SYSC_IDLE_NO>; 701 ti,sysc-mask = <(SYSC_OMAP4_SOFTRESET)>; 702 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>, 703 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>; 704 clock-names = "fck", "dss_clk"; 705 #address-cells = <1>; 706 #size-cells = <1>; 707 ranges = <0 0x6000 0x2000>; 708 709 hdmi: encoder@0 { 710 compatible = "ti,omap4-hdmi"; 711 reg = <0 0x200>, 712 <0x200 0x100>, 713 <0x300 0x100>, 714 <0x400 0x1000>; 715 reg-names = "wp", "pll", "phy", "core"; 716 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 717 status = "disabled"; 718 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>, 719 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>; 720 clock-names = "fck", "sys_clk"; 721 dmas = <&sdma 76>; 722 dma-names = "audio_tx"; 723 }; 724 }; 725 }; 726 }; 727 728 iva_hd_target: target-module@5a000000 { 729 compatible = "ti,sysc-omap4", "ti,sysc"; 730 reg = <0x5a05a400 0x4>, 731 <0x5a05a410 0x4>; 732 reg-names = "rev", "sysc"; 733 ti,sysc-midle = <SYSC_IDLE_FORCE>, 734 <SYSC_IDLE_NO>, 735 <SYSC_IDLE_SMART>; 736 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 737 <SYSC_IDLE_NO>, 738 <SYSC_IDLE_SMART>; 739 power-domains = <&prm_ivahd>; 740 resets = <&prm_ivahd 2>; 741 reset-names = "rstctrl"; 742 clocks = <&ivahd_clkctrl OMAP4_IVA_CLKCTRL 0>; 743 clock-names = "fck"; 744 #address-cells = <1>; 745 #size-cells = <1>; 746 ranges = <0x5a000000 0x5a000000 0x1000000>, 747 <0x5b000000 0x5b000000 0x1000000>; 748 749 iva { 750 compatible = "ti,ivahd"; 751 }; 752 }; 753 }; 754 }; 755 756 #include "omap4-l4.dtsi" 757 #include "omap4-l4-abe.dtsi" 758 #include "omap44xx-clocks.dtsi" 759 760 &prm { 761 prm_mpu: prm@300 { 762 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst"; 763 reg = <0x300 0x100>; 764 #power-domain-cells = <0>; 765 }; 766 767 prm_tesla: prm@400 { 768 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst"; 769 reg = <0x400 0x100>; 770 #reset-cells = <1>; 771 #power-domain-cells = <0>; 772 }; 773 774 prm_abe: prm@500 { 775 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst"; 776 reg = <0x500 0x100>; 777 #power-domain-cells = <0>; 778 }; 779 780 prm_always_on_core: prm@600 { 781 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst"; 782 reg = <0x600 0x100>; 783 #power-domain-cells = <0>; 784 }; 785 786 prm_core: prm@700 { 787 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst"; 788 reg = <0x700 0x100>; 789 #reset-cells = <1>; 790 #power-domain-cells = <0>; 791 }; 792 793 prm_ivahd: prm@f00 { 794 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst"; 795 reg = <0xf00 0x100>; 796 #reset-cells = <1>; 797 #power-domain-cells = <0>; 798 }; 799 800 prm_cam: prm@1000 { 801 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst"; 802 reg = <0x1000 0x100>; 803 #power-domain-cells = <0>; 804 }; 805 806 prm_dss: prm@1100 { 807 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst"; 808 reg = <0x1100 0x100>; 809 #power-domain-cells = <0>; 810 }; 811 812 prm_gfx: prm@1200 { 813 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst"; 814 reg = <0x1200 0x100>; 815 #power-domain-cells = <0>; 816 }; 817 818 prm_l3init: prm@1300 { 819 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst"; 820 reg = <0x1300 0x100>; 821 #power-domain-cells = <0>; 822 }; 823 824 prm_l4per: prm@1400 { 825 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst"; 826 reg = <0x1400 0x100>; 827 #power-domain-cells = <0>; 828 }; 829 830 prm_cefuse: prm@1600 { 831 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst"; 832 reg = <0x1600 0x100>; 833 #power-domain-cells = <0>; 834 }; 835 836 prm_wkup: prm@1700 { 837 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst"; 838 reg = <0x1700 0x100>; 839 #power-domain-cells = <0>; 840 }; 841 842 prm_emu: prm@1900 { 843 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst"; 844 reg = <0x1900 0x100>; 845 #power-domain-cells = <0>; 846 }; 847 848 prm_dss: prm@1100 { 849 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst"; 850 reg = <0x1100 0x40>; 851 #power-domain-cells = <0>; 852 }; 853 854 prm_device: prm@1b00 { 855 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst"; 856 reg = <0x1b00 0x40>; 857 #reset-cells = <1>; 858 }; 859 }; 860 861 /* Preferred always-on timer for clockevent */ 862 &timer1_target { 863 ti,no-reset-on-init; 864 ti,no-idle; 865 timer@0 { 866 assigned-clocks = <&l4_wkup_clkctrl OMAP4_TIMER1_CLKCTRL 24>; 867 assigned-clock-parents = <&sys_32k_ck>; 868 }; 869 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.