1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/ 4 * 5 * Based on "omap4.dtsi" 6 */ 7 8#include <dt-bindings/bus/ti-sysc.h> 9#include <dt-bindings/clock/dra7.h> 10#include <dt-bindings/interrupt-controller/arm-gic.h> 11#include <dt-bindings/pinctrl/dra.h> 12#include <dt-bindings/clock/dra7.h> 13 14#define MAX_SOURCES 400 15 16/ { 17 #address-cells = <2>; 18 #size-cells = <2>; 19 20 compatible = "ti,dra7xx"; 21 interrupt-parent = <&crossbar_mpu>; 22 chosen { }; 23 24 aliases { 25 i2c0 = &i2c1; 26 i2c1 = &i2c2; 27 i2c2 = &i2c3; 28 i2c3 = &i2c4; 29 i2c4 = &i2c5; 30 serial0 = &uart1; 31 serial1 = &uart2; 32 serial2 = &uart3; 33 serial3 = &uart4; 34 serial4 = &uart5; 35 serial5 = &uart6; 36 serial6 = &uart7; 37 serial7 = &uart8; 38 serial8 = &uart9; 39 serial9 = &uart10; 40 ethernet0 = &cpsw_port1; 41 ethernet1 = &cpsw_port2; 42 d_can0 = &dcan1; 43 d_can1 = &dcan2; 44 spi0 = &qspi; 45 }; 46 47 timer { 48 compatible = "arm,armv7-timer"; 49 status = "disabled"; /* See ARM architected timer wrap erratum i940 */ 50 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 51 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 52 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 53 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; 54 interrupt-parent = <&gic>; 55 }; 56 57 gic: interrupt-controller@48211000 { 58 compatible = "arm,cortex-a15-gic"; 59 interrupt-controller; 60 #interrupt-cells = <3>; 61 reg = <0x0 0x48211000 0x0 0x1000>, 62 <0x0 0x48212000 0x0 0x2000>, 63 <0x0 0x48214000 0x0 0x2000>, 64 <0x0 0x48216000 0x0 0x2000>; 65 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>; 66 interrupt-parent = <&gic>; 67 }; 68 69 wakeupgen: interrupt-controller@48281000 { 70 compatible = "ti,omap5-wugen-mpu", "ti,omap4-wugen-mpu"; 71 interrupt-controller; 72 #interrupt-cells = <3>; 73 reg = <0x0 0x48281000 0x0 0x1000>; 74 interrupt-parent = <&gic>; 75 }; 76 77 cpus { 78 #address-cells = <1>; 79 #size-cells = <0>; 80 81 cpu0: cpu@0 { 82 device_type = "cpu"; 83 compatible = "arm,cortex-a15"; 84 reg = <0>; 85 86 operating-points-v2 = <&cpu0_opp_table>; 87 88 clocks = <&dpll_mpu_ck>; 89 clock-names = "cpu"; 90 91 clock-latency = <300000>; /* From omap-cpufreq driver */ 92 93 /* cooling options */ 94 #cooling-cells = <2>; /* min followed by max */ 95 96 vbb-supply = <&abb_mpu>; 97 }; 98 }; 99 100 cpu0_opp_table: opp-table { 101 compatible = "operating-points-v2-ti-cpu"; 102 syscon = <&scm_wkup>; 103 104 opp_nom-1000000000 { 105 opp-hz = /bits/ 64 <1000000000>; 106 opp-microvolt = <1060000 850000 1150000>, 107 <1060000 850000 1150000>; 108 opp-supported-hw = <0xFF 0x01>; 109 opp-suspend; 110 }; 111 112 opp_od-1176000000 { 113 opp-hz = /bits/ 64 <1176000000>; 114 opp-microvolt = <1160000 885000 1160000>, 115 <1160000 885000 1160000>; 116 117 opp-supported-hw = <0xFF 0x02>; 118 }; 119 120 opp_high@1500000000 { 121 opp-hz = /bits/ 64 <1500000000>; 122 opp-microvolt = <1210000 950000 1250000>, 123 <1210000 950000 1250000>; 124 opp-supported-hw = <0xFF 0x04>; 125 }; 126 }; 127 128 /* 129 * XXX: Use a flat representation of the SOC interconnect. 130 * The real OMAP interconnect network is quite complex. 131 * Since it will not bring real advantage to represent that in DT for 132 * the moment, just use a fake OCP bus entry to represent the whole bus 133 * hierarchy. 134 */ 135 ocp: ocp { 136 compatible = "simple-pm-bus"; 137 power-domains = <&prm_core>; 138 clocks = <&l3main1_clkctrl DRA7_L3MAIN1_L3_MAIN_1_CLKCTRL 0>, 139 <&l3instr_clkctrl DRA7_L3INSTR_L3_MAIN_2_CLKCTRL 0>; 140 #address-cells = <1>; 141 #size-cells = <1>; 142 ranges = <0x0 0x0 0x0 0xc0000000>; 143 dma-ranges = <0x80000000 0x0 0x80000000 0x80000000>; 144 145 l3-noc@44000000 { 146 compatible = "ti,dra7-l3-noc"; 147 reg = <0x44000000 0x1000>, 148 <0x45000000 0x1000>; 149 interrupts-extended = <&crossbar_mpu GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 150 <&wakeupgen GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 151 }; 152 153 l4_cfg: interconnect@4a000000 { 154 }; 155 l4_wkup: interconnect@4ae00000 { 156 }; 157 l4_per1: interconnect@48000000 { 158 }; 159 160 target-module@48210000 { 161 compatible = "ti,sysc-omap4-simple", "ti,sysc"; 162 power-domains = <&prm_mpu>; 163 clocks = <&mpu_clkctrl DRA7_MPU_MPU_CLKCTRL 0>; 164 clock-names = "fck"; 165 #address-cells = <1>; 166 #size-cells = <1>; 167 ranges = <0 0x48210000 0x1f0000>; 168 169 mpu { 170 compatible = "ti,omap5-mpu"; 171 }; 172 }; 173 174 l4_per2: interconnect@48400000 { 175 }; 176 l4_per3: interconnect@48800000 { 177 }; 178 179 /* 180 * Register access seems to have complex dependencies and also 181 * seems to need an enabled phy. See the TRM chapter for "Table 182 * 26-678. Main Sequence PCIe Controller Global Initialization" 183 * and also dra7xx_pcie_probe(). 184 */ 185 axi0: target-module@51000000 { 186 compatible = "ti,sysc-omap4", "ti,sysc"; 187 power-domains = <&prm_l3init>; 188 resets = <&prm_l3init 0>; 189 reset-names = "rstctrl"; 190 clocks = <&pcie_clkctrl DRA7_PCIE_PCIE1_CLKCTRL 0>, 191 <&pcie_clkctrl DRA7_PCIE_PCIE1_CLKCTRL 9>, 192 <&pcie_clkctrl DRA7_PCIE_PCIE1_CLKCTRL 10>; 193 clock-names = "fck", "phy-clk", "phy-clk-div"; 194 #size-cells = <1>; 195 #address-cells = <1>; 196 ranges = <0x51000000 0x51000000 0x3000>, 197 <0x20000000 0x20000000 0x10000000>; 198 dma-ranges; 199 /** 200 * To enable PCI endpoint mode, disable the pcie1_rc 201 * node and enable pcie1_ep mode. 202 */ 203 pcie1_rc: pcie@51000000 { 204 reg = <0x51000000 0x2000>, 205 <0x51002000 0x14c>, 206 <0x20001000 0x2000>; 207 reg-names = "rc_dbics", "ti_conf", "config"; 208 interrupts = <0 232 0x4>, <0 233 0x4>; 209 #address-cells = <3>; 210 #size-cells = <2>; 211 device_type = "pci"; 212 ranges = <0x81000000 0 0x00000000 0x20003000 0 0x00010000>, 213 <0x82000000 0 0x20013000 0x20013000 0 0x0ffed000>; 214 bus-range = <0x00 0xff>; 215 #interrupt-cells = <1>; 216 num-lanes = <1>; 217 linux,pci-domain = <0>; 218 phys = <&pcie1_phy>; 219 phy-names = "pcie-phy0"; 220 ti,syscon-lane-sel = <&scm_conf_pcie 0x18>; 221 interrupt-map-mask = <0 0 0 7>; 222 interrupt-map = <0 0 0 1 &pcie1_intc 1>, 223 <0 0 0 2 &pcie1_intc 2>, 224 <0 0 0 3 &pcie1_intc 3>, 225 <0 0 0 4 &pcie1_intc 4>; 226 ti,syscon-unaligned-access = <&scm_conf1 0x14 1>; 227 status = "disabled"; 228 pcie1_intc: interrupt-controller { 229 interrupt-controller; 230 #address-cells = <0>; 231 #interrupt-cells = <1>; 232 }; 233 }; 234 235 pcie1_ep: pcie_ep@51000000 { 236 reg = <0x51000000 0x28>, 237 <0x51002000 0x14c>, 238 <0x51001000 0x28>, 239 <0x20001000 0x10000000>; 240 reg-names = "ep_dbics", "ti_conf", "ep_dbics2", "addr_space"; 241 interrupts = <0 232 0x4>; 242 num-lanes = <1>; 243 num-ib-windows = <4>; 244 num-ob-windows = <16>; 245 phys = <&pcie1_phy>; 246 phy-names = "pcie-phy0"; 247 ti,syscon-unaligned-access = <&scm_conf1 0x14 1>; 248 ti,syscon-lane-sel = <&scm_conf_pcie 0x18>; 249 status = "disabled"; 250 }; 251 }; 252 253 /* 254 * Register access seems to have complex dependencies and also 255 * seems to need an enabled phy. See the TRM chapter for "Table 256 * 26-678. Main Sequence PCIe Controller Global Initialization" 257 * and also dra7xx_pcie_probe(). 258 */ 259 axi1: target-module@51800000 { 260 compatible = "ti,sysc-omap4", "ti,sysc"; 261 clocks = <&pcie_clkctrl DRA7_PCIE_PCIE2_CLKCTRL 0>, 262 <&pcie_clkctrl DRA7_PCIE_PCIE2_CLKCTRL 9>, 263 <&pcie_clkctrl DRA7_PCIE_PCIE2_CLKCTRL 10>; 264 clock-names = "fck", "phy-clk", "phy-clk-div"; 265 power-domains = <&prm_l3init>; 266 resets = <&prm_l3init 1>; 267 reset-names = "rstctrl"; 268 #size-cells = <1>; 269 #address-cells = <1>; 270 ranges = <0x51800000 0x51800000 0x3000>, 271 <0x30000000 0x30000000 0x10000000>; 272 dma-ranges; 273 status = "disabled"; 274 pcie2_rc: pcie@51800000 { 275 reg = <0x51800000 0x2000>, 276 <0x51802000 0x14c>, 277 <0x30001000 0x2000>; 278 reg-names = "rc_dbics", "ti_conf", "config"; 279 interrupts = <0 355 0x4>, <0 356 0x4>; 280 #address-cells = <3>; 281 #size-cells = <2>; 282 device_type = "pci"; 283 ranges = <0x81000000 0 0x00000000 0x30003000 0 0x00010000>, 284 <0x82000000 0 0x30013000 0x30013000 0 0x0ffed000>; 285 bus-range = <0x00 0xff>; 286 #interrupt-cells = <1>; 287 num-lanes = <1>; 288 linux,pci-domain = <1>; 289 phys = <&pcie2_phy>; 290 phy-names = "pcie-phy0"; 291 interrupt-map-mask = <0 0 0 7>; 292 interrupt-map = <0 0 0 1 &pcie2_intc 1>, 293 <0 0 0 2 &pcie2_intc 2>, 294 <0 0 0 3 &pcie2_intc 3>, 295 <0 0 0 4 &pcie2_intc 4>; 296 ti,syscon-unaligned-access = <&scm_conf1 0x14 2>; 297 pcie2_intc: interrupt-controller { 298 interrupt-controller; 299 #address-cells = <0>; 300 #interrupt-cells = <1>; 301 }; 302 }; 303 }; 304 305 ocmcram1: ocmcram@40300000 { 306 compatible = "mmio-sram"; 307 reg = <0x40300000 0x80000>; 308 ranges = <0x0 0x40300000 0x80000>; 309 #address-cells = <1>; 310 #size-cells = <1>; 311 /* 312 * This is a placeholder for an optional reserved 313 * region for use by secure software. The size 314 * of this region is not known until runtime so it 315 * is set as zero to either be updated to reserve 316 * space or left unchanged to leave all SRAM for use. 317 * On HS parts that that require the reserved region 318 * either the bootloader can update the size to 319 * the required amount or the node can be overridden 320 * from the board dts file for the secure platform. 321 */ 322 sram-hs@0 { 323 compatible = "ti,secure-ram"; 324 reg = <0x0 0x0>; 325 }; 326 }; 327 328 /* 329 * NOTE: ocmcram2 and ocmcram3 are not available on all 330 * DRA7xx and AM57xx variants. Confirm availability in 331 * the data manual for the exact part number in use 332 * before enabling these nodes in the board dts file. 333 */ 334 ocmcram2: ocmcram@40400000 { 335 status = "disabled"; 336 compatible = "mmio-sram"; 337 reg = <0x40400000 0x100000>; 338 ranges = <0x0 0x40400000 0x100000>; 339 #address-cells = <1>; 340 #size-cells = <1>; 341 }; 342 343 ocmcram3: ocmcram@40500000 { 344 status = "disabled"; 345 compatible = "mmio-sram"; 346 reg = <0x40500000 0x100000>; 347 ranges = <0x0 0x40500000 0x100000>; 348 #address-cells = <1>; 349 #size-cells = <1>; 350 }; 351 352 bandgap: bandgap@4a0021e0 { 353 reg = <0x4a0021e0 0xc 354 0x4a00232c 0xc 355 0x4a002380 0x2c 356 0x4a0023C0 0x3c 357 0x4a002564 0x8 358 0x4a002574 0x50>; 359 compatible = "ti,dra752-bandgap"; 360 interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; 361 #thermal-sensor-cells = <1>; 362 }; 363 364 dsp1_system: dsp_system@40d00000 { 365 compatible = "syscon"; 366 reg = <0x40d00000 0x100>; 367 }; 368 369 dra7_iodelay_core: padconf@4844a000 { 370 compatible = "ti,dra7-iodelay"; 371 reg = <0x4844a000 0x0d1c>; 372 #address-cells = <1>; 373 #size-cells = <0>; 374 #pinctrl-cells = <2>; 375 }; 376 377 target-module@43300000 { 378 compatible = "ti,sysc-omap4", "ti,sysc"; 379 reg = <0x43300000 0x4>, 380 <0x43300010 0x4>; 381 reg-names = "rev", "sysc"; 382 ti,sysc-midle = <SYSC_IDLE_FORCE>, 383 <SYSC_IDLE_NO>, 384 <SYSC_IDLE_SMART>; 385 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 386 <SYSC_IDLE_NO>, 387 <SYSC_IDLE_SMART>; 388 clocks = <&l3main1_clkctrl DRA7_L3MAIN1_TPCC_CLKCTRL 0>; 389 clock-names = "fck"; 390 #address-cells = <1>; 391 #size-cells = <1>; 392 ranges = <0x0 0x43300000 0x100000>; 393 394 edma: dma@0 { 395 compatible = "ti,edma3-tpcc"; 396 reg = <0 0x100000>; 397 reg-names = "edma3_cc"; 398 interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>, 399 <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>, 400 <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>; 401 interrupt-names = "edma3_ccint", "edma3_mperr", 402 "edma3_ccerrint"; 403 dma-requests = <64>; 404 #dma-cells = <2>; 405 406 ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 0>; 407 408 /* 409 * memcpy is disabled, can be enabled with: 410 * ti,edma-memcpy-channels = <20 21>; 411 * for example. Note that these channels need to be 412 * masked in the xbar as well. 413 */ 414 }; 415 }; 416 417 target-module@43400000 { 418 compatible = "ti,sysc-omap4", "ti,sysc"; 419 reg = <0x43400000 0x4>, 420 <0x43400010 0x4>; 421 reg-names = "rev", "sysc"; 422 ti,sysc-midle = <SYSC_IDLE_FORCE>, 423 <SYSC_IDLE_NO>, 424 <SYSC_IDLE_SMART>; 425 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 426 <SYSC_IDLE_NO>, 427 <SYSC_IDLE_SMART>; 428 clocks = <&l3main1_clkctrl DRA7_L3MAIN1_TPTC0_CLKCTRL 0>; 429 clock-names = "fck"; 430 #address-cells = <1>; 431 #size-cells = <1>; 432 ranges = <0x0 0x43400000 0x100000>; 433 434 edma_tptc0: dma@0 { 435 compatible = "ti,edma3-tptc"; 436 reg = <0 0x100000>; 437 interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>; 438 interrupt-names = "edma3_tcerrint"; 439 }; 440 }; 441 442 target-module@43500000 { 443 compatible = "ti,sysc-omap4", "ti,sysc"; 444 reg = <0x43500000 0x4>, 445 <0x43500010 0x4>; 446 reg-names = "rev", "sysc"; 447 ti,sysc-midle = <SYSC_IDLE_FORCE>, 448 <SYSC_IDLE_NO>, 449 <SYSC_IDLE_SMART>; 450 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 451 <SYSC_IDLE_NO>, 452 <SYSC_IDLE_SMART>; 453 clocks = <&l3main1_clkctrl DRA7_L3MAIN1_TPTC1_CLKCTRL 0>; 454 clock-names = "fck"; 455 #address-cells = <1>; 456 #size-cells = <1>; 457 ranges = <0x0 0x43500000 0x100000>; 458 459 edma_tptc1: dma@0 { 460 compatible = "ti,edma3-tptc"; 461 reg = <0 0x100000>; 462 interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>; 463 interrupt-names = "edma3_tcerrint"; 464 }; 465 }; 466 467 target-module@4e000000 { 468 compatible = "ti,sysc-omap2", "ti,sysc"; 469 reg = <0x4e000000 0x4>, 470 <0x4e000010 0x4>; 471 reg-names = "rev", "sysc"; 472 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 473 <SYSC_IDLE_NO>, 474 <SYSC_IDLE_SMART>; 475 ranges = <0x0 0x4e000000 0x2000000>; 476 #size-cells = <1>; 477 #address-cells = <1>; 478 479 dmm@0 { 480 compatible = "ti,omap5-dmm"; 481 reg = <0 0x800>; 482 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 483 }; 484 }; 485 486 ipu1: ipu@58820000 { 487 compatible = "ti,dra7-ipu"; 488 reg = <0x58820000 0x10000>; 489 reg-names = "l2ram"; 490 iommus = <&mmu_ipu1>; 491 status = "disabled"; 492 resets = <&prm_ipu 0>, <&prm_ipu 1>; 493 clocks = <&ipu1_clkctrl DRA7_IPU1_MMU_IPU1_CLKCTRL 0>; 494 firmware-name = "dra7-ipu1-fw.xem4"; 495 }; 496 497 ipu2: ipu@55020000 { 498 compatible = "ti,dra7-ipu"; 499 reg = <0x55020000 0x10000>; 500 reg-names = "l2ram"; 501 iommus = <&mmu_ipu2>; 502 status = "disabled"; 503 resets = <&prm_core 0>, <&prm_core 1>; 504 clocks = <&ipu2_clkctrl DRA7_IPU2_MMU_IPU2_CLKCTRL 0>; 505 firmware-name = "dra7-ipu2-fw.xem4"; 506 }; 507 508 dsp1: dsp@40800000 { 509 compatible = "ti,dra7-dsp"; 510 reg = <0x40800000 0x48000>, 511 <0x40e00000 0x8000>, 512 <0x40f00000 0x8000>; 513 reg-names = "l2ram", "l1pram", "l1dram"; 514 ti,bootreg = <&scm_conf 0x55c 10>; 515 iommus = <&mmu0_dsp1>, <&mmu1_dsp1>; 516 status = "disabled"; 517 resets = <&prm_dsp1 0>; 518 clocks = <&dsp1_clkctrl DRA7_DSP1_MMU0_DSP1_CLKCTRL 0>; 519 firmware-name = "dra7-dsp1-fw.xe66"; 520 }; 521 522 target-module@40d01000 { 523 compatible = "ti,sysc-omap2", "ti,sysc"; 524 reg = <0x40d01000 0x4>, 525 <0x40d01010 0x4>, 526 <0x40d01014 0x4>; 527 reg-names = "rev", "sysc", "syss"; 528 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 529 <SYSC_IDLE_NO>, 530 <SYSC_IDLE_SMART>; 531 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 532 SYSC_OMAP2_SOFTRESET | 533 SYSC_OMAP2_AUTOIDLE)>; 534 clocks = <&dsp1_clkctrl DRA7_DSP1_MMU0_DSP1_CLKCTRL 0>; 535 clock-names = "fck"; 536 resets = <&prm_dsp1 1>; 537 reset-names = "rstctrl"; 538 ranges = <0x0 0x40d01000 0x1000>; 539 #size-cells = <1>; 540 #address-cells = <1>; 541 542 mmu0_dsp1: mmu@0 { 543 compatible = "ti,dra7-dsp-iommu"; 544 reg = <0x0 0x100>; 545 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 546 #iommu-cells = <0>; 547 ti,syscon-mmuconfig = <&dsp1_system 0x0>; 548 }; 549 }; 550 551 target-module@40d02000 { 552 compatible = "ti,sysc-omap2", "ti,sysc"; 553 reg = <0x40d02000 0x4>, 554 <0x40d02010 0x4>, 555 <0x40d02014 0x4>; 556 reg-names = "rev", "sysc", "syss"; 557 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 558 <SYSC_IDLE_NO>, 559 <SYSC_IDLE_SMART>; 560 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 561 SYSC_OMAP2_SOFTRESET | 562 SYSC_OMAP2_AUTOIDLE)>; 563 clocks = <&dsp1_clkctrl DRA7_DSP1_MMU0_DSP1_CLKCTRL 0>; 564 clock-names = "fck"; 565 resets = <&prm_dsp1 1>; 566 reset-names = "rstctrl"; 567 ranges = <0x0 0x40d02000 0x1000>; 568 #size-cells = <1>; 569 #address-cells = <1>; 570 571 mmu1_dsp1: mmu@0 { 572 compatible = "ti,dra7-dsp-iommu"; 573 reg = <0x0 0x100>; 574 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; 575 #iommu-cells = <0>; 576 ti,syscon-mmuconfig = <&dsp1_system 0x1>; 577 }; 578 }; 579 580 target-module@58882000 { 581 compatible = "ti,sysc-omap2", "ti,sysc"; 582 reg = <0x58882000 0x4>, 583 <0x58882010 0x4>, 584 <0x58882014 0x4>; 585 reg-names = "rev", "sysc", "syss"; 586 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 587 <SYSC_IDLE_NO>, 588 <SYSC_IDLE_SMART>; 589 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 590 SYSC_OMAP2_SOFTRESET | 591 SYSC_OMAP2_AUTOIDLE)>; 592 clocks = <&ipu1_clkctrl DRA7_IPU1_MMU_IPU1_CLKCTRL 0>; 593 clock-names = "fck"; 594 resets = <&prm_ipu 2>; 595 reset-names = "rstctrl"; 596 #address-cells = <1>; 597 #size-cells = <1>; 598 ranges = <0x0 0x58882000 0x100>; 599 600 mmu_ipu1: mmu@0 { 601 compatible = "ti,dra7-iommu"; 602 reg = <0x0 0x100>; 603 interrupts = <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>; 604 #iommu-cells = <0>; 605 ti,iommu-bus-err-back; 606 }; 607 }; 608 609 target-module@55082000 { 610 compatible = "ti,sysc-omap2", "ti,sysc"; 611 reg = <0x55082000 0x4>, 612 <0x55082010 0x4>, 613 <0x55082014 0x4>; 614 reg-names = "rev", "sysc", "syss"; 615 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 616 <SYSC_IDLE_NO>, 617 <SYSC_IDLE_SMART>; 618 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 619 SYSC_OMAP2_SOFTRESET | 620 SYSC_OMAP2_AUTOIDLE)>; 621 clocks = <&ipu2_clkctrl DRA7_IPU2_MMU_IPU2_CLKCTRL 0>; 622 clock-names = "fck"; 623 resets = <&prm_core 2>; 624 reset-names = "rstctrl"; 625 #address-cells = <1>; 626 #size-cells = <1>; 627 ranges = <0x0 0x55082000 0x100>; 628 629 mmu_ipu2: mmu@0 { 630 compatible = "ti,dra7-iommu"; 631 reg = <0x0 0x100>; 632 interrupts = <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>; 633 #iommu-cells = <0>; 634 ti,iommu-bus-err-back; 635 }; 636 }; 637 638 abb_mpu: regulator-abb-mpu { 639 compatible = "ti,abb-v3"; 640 regulator-name = "abb_mpu"; 641 #address-cells = <0>; 642 #size-cells = <0>; 643 clocks = <&sys_clkin1>; 644 ti,settling-time = <50>; 645 ti,clock-cycles = <16>; 646 647 reg = <0x4ae07ddc 0x4>, <0x4ae07de0 0x4>, 648 <0x4ae06014 0x4>, <0x4a003b20 0xc>, 649 <0x4ae0c158 0x4>; 650 reg-names = "setup-address", "control-address", 651 "int-address", "efuse-address", 652 "ldo-address"; 653 ti,tranxdone-status-mask = <0x80>; 654 /* LDOVBBMPU_FBB_MUX_CTRL */ 655 ti,ldovbb-override-mask = <0x400>; 656 /* LDOVBBMPU_FBB_VSET_OUT */ 657 ti,ldovbb-vset-mask = <0x1F>; 658 659 /* 660 * NOTE: only FBB mode used but actual vset will 661 * determine final biasing 662 */ 663 ti,abb_info = < 664 /*uV ABB efuse rbb_m fbb_m vset_m*/ 665 1060000 0 0x0 0 0x02000000 0x01F00000 666 1160000 0 0x4 0 0x02000000 0x01F00000 667 1210000 0 0x8 0 0x02000000 0x01F00000 668 >; 669 }; 670 671 abb_ivahd: regulator-abb-ivahd { 672 compatible = "ti,abb-v3"; 673 regulator-name = "abb_ivahd"; 674 #address-cells = <0>; 675 #size-cells = <0>; 676 clocks = <&sys_clkin1>; 677 ti,settling-time = <50>; 678 ti,clock-cycles = <16>; 679 680 reg = <0x4ae07e34 0x4>, <0x4ae07e24 0x4>, 681 <0x4ae06010 0x4>, <0x4a0025cc 0xc>, 682 <0x4a002470 0x4>; 683 reg-names = "setup-address", "control-address", 684 "int-address", "efuse-address", 685 "ldo-address"; 686 ti,tranxdone-status-mask = <0x40000000>; 687 /* LDOVBBIVA_FBB_MUX_CTRL */ 688 ti,ldovbb-override-mask = <0x400>; 689 /* LDOVBBIVA_FBB_VSET_OUT */ 690 ti,ldovbb-vset-mask = <0x1F>; 691 692 /* 693 * NOTE: only FBB mode used but actual vset will 694 * determine final biasing 695 */ 696 ti,abb_info = < 697 /*uV ABB efuse rbb_m fbb_m vset_m*/ 698 1055000 0 0x0 0 0x02000000 0x01F00000 699 1150000 0 0x4 0 0x02000000 0x01F00000 700 1250000 0 0x8 0 0x02000000 0x01F00000 701 >; 702 }; 703 704 abb_dspeve: regulator-abb-dspeve { 705 compatible = "ti,abb-v3"; 706 regulator-name = "abb_dspeve"; 707 #address-cells = <0>; 708 #size-cells = <0>; 709 clocks = <&sys_clkin1>; 710 ti,settling-time = <50>; 711 ti,clock-cycles = <16>; 712 713 reg = <0x4ae07e30 0x4>, <0x4ae07e20 0x4>, 714 <0x4ae06010 0x4>, <0x4a0025e0 0xc>, 715 <0x4a00246c 0x4>; 716 reg-names = "setup-address", "control-address", 717 "int-address", "efuse-address", 718 "ldo-address"; 719 ti,tranxdone-status-mask = <0x20000000>; 720 /* LDOVBBDSPEVE_FBB_MUX_CTRL */ 721 ti,ldovbb-override-mask = <0x400>; 722 /* LDOVBBDSPEVE_FBB_VSET_OUT */ 723 ti,ldovbb-vset-mask = <0x1F>; 724 725 /* 726 * NOTE: only FBB mode used but actual vset will 727 * determine final biasing 728 */ 729 ti,abb_info = < 730 /*uV ABB efuse rbb_m fbb_m vset_m*/ 731 1055000 0 0x0 0 0x02000000 0x01F00000 732 1150000 0 0x4 0 0x02000000 0x01F00000 733 1250000 0 0x8 0 0x02000000 0x01F00000 734 >; 735 }; 736 737 abb_gpu: regulator-abb-gpu { 738 compatible = "ti,abb-v3"; 739 regulator-name = "abb_gpu"; 740 #address-cells = <0>; 741 #size-cells = <0>; 742 clocks = <&sys_clkin1>; 743 ti,settling-time = <50>; 744 ti,clock-cycles = <16>; 745 746 reg = <0x4ae07de4 0x4>, <0x4ae07de8 0x4>, 747 <0x4ae06010 0x4>, <0x4a003b08 0xc>, 748 <0x4ae0c154 0x4>; 749 reg-names = "setup-address", "control-address", 750 "int-address", "efuse-address", 751 "ldo-address"; 752 ti,tranxdone-status-mask = <0x10000000>; 753 /* LDOVBBGPU_FBB_MUX_CTRL */ 754 ti,ldovbb-override-mask = <0x400>; 755 /* LDOVBBGPU_FBB_VSET_OUT */ 756 ti,ldovbb-vset-mask = <0x1F>; 757 758 /* 759 * NOTE: only FBB mode used but actual vset will 760 * determine final biasing 761 */ 762 ti,abb_info = < 763 /*uV ABB efuse rbb_m fbb_m vset_m*/ 764 1090000 0 0x0 0 0x02000000 0x01F00000 765 1210000 0 0x4 0 0x02000000 0x01F00000 766 1280000 0 0x8 0 0x02000000 0x01F00000 767 >; 768 }; 769 770 target-module@4b300000 { 771 compatible = "ti,sysc-omap4", "ti,sysc"; 772 reg = <0x4b300000 0x4>, 773 <0x4b300010 0x4>; 774 reg-names = "rev", "sysc"; 775 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 776 <SYSC_IDLE_NO>, 777 <SYSC_IDLE_SMART>, 778 <SYSC_IDLE_SMART_WKUP>; 779 clocks = <&l4per2_clkctrl DRA7_L4PER2_QSPI_CLKCTRL 0>; 780 clock-names = "fck"; 781 #address-cells = <1>; 782 #size-cells = <1>; 783 ranges = <0x0 0x4b300000 0x1000>, 784 <0x5c000000 0x5c000000 0x4000000>; 785 786 qspi: spi@0 { 787 compatible = "ti,dra7xxx-qspi"; 788 reg = <0 0x100>, 789 <0x5c000000 0x4000000>; 790 reg-names = "qspi_base", "qspi_mmap"; 791 syscon-chipselects = <&scm_conf 0x558>; 792 #address-cells = <1>; 793 #size-cells = <0>; 794 clocks = <&l4per2_clkctrl DRA7_L4PER2_QSPI_CLKCTRL 25>; 795 clock-names = "fck"; 796 num-cs = <4>; 797 interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>; 798 status = "disabled"; 799 }; 800 }; 801 802 /* OCP2SCP1 */ 803 /* IRQ for DWC3_3 and DWC3_4 need IRQ crossbar */ 804 805 target-module@50000000 { 806 compatible = "ti,sysc-omap2", "ti,sysc"; 807 reg = <0x50000000 4>, 808 <0x50000010 4>, 809 <0x50000014 4>; 810 reg-names = "rev", "sysc", "syss"; 811 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 812 <SYSC_IDLE_NO>, 813 <SYSC_IDLE_SMART>; 814 ti,syss-mask = <1>; 815 clocks = <&l3main1_clkctrl DRA7_L3MAIN1_GPMC_CLKCTRL 0>; 816 clock-names = "fck"; 817 #address-cells = <1>; 818 #size-cells = <1>; 819 ranges = <0x50000000 0x50000000 0x00001000>, /* regs */ 820 <0x00000000 0x00000000 0x40000000>; /* data */ 821 822 gpmc: gpmc@50000000 { 823 compatible = "ti,am3352-gpmc"; 824 reg = <0x50000000 0x37c>; /* device IO registers */ 825 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 826 dmas = <&edma_xbar 4 0>; 827 dma-names = "rxtx"; 828 gpmc,num-cs = <8>; 829 gpmc,num-waitpins = <2>; 830 #address-cells = <2>; 831 #size-cells = <1>; 832 interrupt-controller; 833 #interrupt-cells = <2>; 834 gpio-controller; 835 #gpio-cells = <2>; 836 status = "disabled"; 837 }; 838 }; 839 840 target-module@56000000 { 841 compatible = "ti,sysc-omap4", "ti,sysc"; 842 reg = <0x5600fe00 0x4>, 843 <0x5600fe10 0x4>; 844 reg-names = "rev", "sysc"; 845 ti,sysc-midle = <SYSC_IDLE_FORCE>, 846 <SYSC_IDLE_NO>, 847 <SYSC_IDLE_SMART>; 848 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 849 <SYSC_IDLE_NO>, 850 <SYSC_IDLE_SMART>; 851 clocks = <&gpu_clkctrl DRA7_GPU_CLKCTRL 0>; 852 clock-names = "fck"; 853 #address-cells = <1>; 854 #size-cells = <1>; 855 ranges = <0 0x56000000 0x2000000>; 856 }; 857 858 crossbar_mpu: crossbar@4a002a48 { 859 compatible = "ti,irq-crossbar"; 860 reg = <0x4a002a48 0x130>; 861 interrupt-controller; 862 interrupt-parent = <&wakeupgen>; 863 #interrupt-cells = <3>; 864 ti,max-irqs = <160>; 865 ti,max-crossbar-sources = <MAX_SOURCES>; 866 ti,reg-size = <2>; 867 ti,irqs-reserved = <0 1 2 3 5 6 131 132>; 868 ti,irqs-skip = <10 133 139 140>; 869 ti,irqs-safe-map = <0>; 870 }; 871 872 target-module@58000000 { 873 compatible = "ti,sysc-omap2", "ti,sysc"; 874 reg = <0x58000000 4>, 875 <0x58000014 4>; 876 reg-names = "rev", "syss"; 877 ti,syss-mask = <1>; 878 clocks = <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 0>, 879 <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 9>, 880 <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 10>, 881 <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 11>; 882 clock-names = "fck", "hdmi_clk", "sys_clk", "tv_clk"; 883 #address-cells = <1>; 884 #size-cells = <1>; 885 ranges = <0 0x58000000 0x800000>; 886 887 dss: dss@0 { 888 compatible = "ti,dra7-dss"; 889 /* 'reg' defined in dra72x.dtsi and dra74x.dtsi */ 890 /* 'clocks' defined in dra72x.dtsi and dra74x.dtsi */ 891 status = "disabled"; 892 /* CTRL_CORE_DSS_PLL_CONTROL */ 893 syscon-pll-ctrl = <&scm_conf 0x538>; 894 #address-cells = <1>; 895 #size-cells = <1>; 896 ranges = <0 0 0x800000>; 897 898 target-module@1000 { 899 compatible = "ti,sysc-omap2", "ti,sysc"; 900 reg = <0x1000 0x4>, 901 <0x1010 0x4>, 902 <0x1014 0x4>; 903 reg-names = "rev", "sysc", "syss"; 904 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 905 <SYSC_IDLE_NO>, 906 <SYSC_IDLE_SMART>; 907 ti,sysc-midle = <SYSC_IDLE_FORCE>, 908 <SYSC_IDLE_NO>, 909 <SYSC_IDLE_SMART>; 910 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 911 SYSC_OMAP2_ENAWAKEUP | 912 SYSC_OMAP2_SOFTRESET | 913 SYSC_OMAP2_AUTOIDLE)>; 914 ti,syss-mask = <1>; 915 clocks = <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 8>; 916 clock-names = "fck"; 917 #address-cells = <1>; 918 #size-cells = <1>; 919 ranges = <0 0x1000 0x1000>; 920 921 dispc@0 { 922 compatible = "ti,dra7-dispc"; 923 reg = <0 0x1000>; 924 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 925 clocks = <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 8>; 926 clock-names = "fck"; 927 /* CTRL_CORE_SMA_SW_1 */ 928 syscon-pol = <&scm_conf 0x534>; 929 }; 930 }; 931 932 target-module@40000 { 933 compatible = "ti,sysc-omap4", "ti,sysc"; 934 reg = <0x40000 0x4>, 935 <0x40010 0x4>; 936 reg-names = "rev", "sysc"; 937 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 938 <SYSC_IDLE_NO>, 939 <SYSC_IDLE_SMART>, 940 <SYSC_IDLE_SMART_WKUP>; 941 ti,sysc-mask = <(SYSC_OMAP4_SOFTRESET)>; 942 clocks = <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 9>, 943 <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 8>; 944 clock-names = "fck", "dss_clk"; 945 #address-cells = <1>; 946 #size-cells = <1>; 947 ranges = <0 0x40000 0x40000>; 948 949 hdmi: encoder@0 { 950 compatible = "ti,dra7-hdmi"; 951 reg = <0 0x200>, 952 <0x200 0x80>, 953 <0x300 0x80>, 954 <0x20000 0x19000>; 955 reg-names = "wp", "pll", "phy", "core"; 956 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 957 status = "disabled"; 958 clocks = <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 9>, 959 <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 10>; 960 clock-names = "fck", "sys_clk"; 961 dmas = <&sdma_xbar 76>; 962 dma-names = "audio_tx"; 963 }; 964 }; 965 }; 966 }; 967 968 target-module@59000000 { 969 compatible = "ti,sysc-omap4", "ti,sysc"; 970 reg = <0x59000020 0x4>; 971 reg-names = "rev"; 972 clocks = <&dss_clkctrl DRA7_DSS_BB2D_CLKCTRL 0>; 973 clock-names = "fck"; 974 #address-cells = <1>; 975 #size-cells = <1>; 976 ranges = <0x0 0x59000000 0x1000>; 977 978 bb2d: gpu@0 { 979 compatible = "vivante,gc"; 980 reg = <0x0 0x700>; 981 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 982 clocks = <&dss_clkctrl DRA7_DSS_BB2D_CLKCTRL 0>; 983 clock-names = "core"; 984 }; 985 }; 986 987 aes1_target: target-module@4b500000 { 988 compatible = "ti,sysc-omap2", "ti,sysc"; 989 reg = <0x4b500080 0x4>, 990 <0x4b500084 0x4>, 991 <0x4b500088 0x4>; 992 reg-names = "rev", "sysc", "syss"; 993 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | 994 SYSC_OMAP2_AUTOIDLE)>; 995 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 996 <SYSC_IDLE_NO>, 997 <SYSC_IDLE_SMART>, 998 <SYSC_IDLE_SMART_WKUP>; 999 ti,syss-mask = <1>; 1000 /* Domains (P, C): per_pwrdm, l4sec_clkdm */ 1001 clocks = <&l4sec_clkctrl DRA7_L4SEC_AES1_CLKCTRL 0>; 1002 clock-names = "fck"; 1003 #address-cells = <1>; 1004 #size-cells = <1>; 1005 ranges = <0x0 0x4b500000 0x1000>; 1006 1007 aes1: aes@0 { 1008 compatible = "ti,omap4-aes"; 1009 reg = <0 0xa0>; 1010 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 1011 dmas = <&edma_xbar 111 0>, <&edma_xbar 110 0>; 1012 dma-names = "tx", "rx"; 1013 clocks = <&l3_iclk_div>; 1014 clock-names = "fck"; 1015 }; 1016 }; 1017 1018 aes2_target: target-module@4b700000 { 1019 compatible = "ti,sysc-omap2", "ti,sysc"; 1020 reg = <0x4b700080 0x4>, 1021 <0x4b700084 0x4>, 1022 <0x4b700088 0x4>; 1023 reg-names = "rev", "sysc", "syss"; 1024 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | 1025 SYSC_OMAP2_AUTOIDLE)>; 1026 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 1027 <SYSC_IDLE_NO>, 1028 <SYSC_IDLE_SMART>, 1029 <SYSC_IDLE_SMART_WKUP>; 1030 ti,syss-mask = <1>; 1031 /* Domains (P, C): per_pwrdm, l4sec_clkdm */ 1032 clocks = <&l4sec_clkctrl DRA7_L4SEC_AES2_CLKCTRL 0>; 1033 clock-names = "fck"; 1034 #address-cells = <1>; 1035 #size-cells = <1>; 1036 ranges = <0x0 0x4b700000 0x1000>; 1037 1038 aes2: aes@0 { 1039 compatible = "ti,omap4-aes"; 1040 reg = <0 0xa0>; 1041 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 1042 dmas = <&edma_xbar 114 0>, <&edma_xbar 113 0>; 1043 dma-names = "tx", "rx"; 1044 clocks = <&l3_iclk_div>; 1045 clock-names = "fck"; 1046 }; 1047 }; 1048 1049 sham1_target: target-module@4b101000 { 1050 compatible = "ti,sysc-omap3-sham", "ti,sysc"; 1051 reg = <0x4b101100 0x4>, 1052 <0x4b101110 0x4>, 1053 <0x4b101114 0x4>; 1054 reg-names = "rev", "sysc", "syss"; 1055 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | 1056 SYSC_OMAP2_AUTOIDLE)>; 1057 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 1058 <SYSC_IDLE_NO>, 1059 <SYSC_IDLE_SMART>; 1060 ti,syss-mask = <1>; 1061 /* Domains (P, C): l4per_pwrdm, l4sec_clkdm */ 1062 clocks = <&l4sec_clkctrl DRA7_L4SEC_SHAM_CLKCTRL 0>; 1063 clock-names = "fck"; 1064 #address-cells = <1>; 1065 #size-cells = <1>; 1066 ranges = <0x0 0x4b101000 0x1000>; 1067 1068 sham1: sham@0 { 1069 compatible = "ti,omap5-sham"; 1070 reg = <0 0x300>; 1071 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 1072 dmas = <&edma_xbar 119 0>; 1073 dma-names = "rx"; 1074 clocks = <&l3_iclk_div>; 1075 clock-names = "fck"; 1076 }; 1077 }; 1078 1079 sham2_target: target-module@42701000 { 1080 compatible = "ti,sysc-omap3-sham", "ti,sysc"; 1081 reg = <0x42701100 0x4>, 1082 <0x42701110 0x4>, 1083 <0x42701114 0x4>; 1084 reg-names = "rev", "sysc", "syss"; 1085 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | 1086 SYSC_OMAP2_AUTOIDLE)>; 1087 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 1088 <SYSC_IDLE_NO>, 1089 <SYSC_IDLE_SMART>; 1090 ti,syss-mask = <1>; 1091 /* Domains (P, C): l4per_pwrdm, l4sec_clkdm */ 1092 clocks = <&l4sec_clkctrl DRA7_L4SEC_SHAM2_CLKCTRL 0>; 1093 clock-names = "fck"; 1094 #address-cells = <1>; 1095 #size-cells = <1>; 1096 ranges = <0x0 0x42701000 0x1000>; 1097 1098 sham2: sham@0 { 1099 compatible = "ti,omap5-sham"; 1100 reg = <0 0x300>; 1101 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>; 1102 dmas = <&edma_xbar 165 0>; 1103 dma-names = "rx"; 1104 clocks = <&l3_iclk_div>; 1105 clock-names = "fck"; 1106 }; 1107 }; 1108 1109 iva_hd_target: target-module@5a000000 { 1110 compatible = "ti,sysc-omap4", "ti,sysc"; 1111 reg = <0x5a05a400 0x4>, 1112 <0x5a05a410 0x4>; 1113 reg-names = "rev", "sysc"; 1114 ti,sysc-midle = <SYSC_IDLE_FORCE>, 1115 <SYSC_IDLE_NO>, 1116 <SYSC_IDLE_SMART>; 1117 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 1118 <SYSC_IDLE_NO>, 1119 <SYSC_IDLE_SMART>; 1120 power-domains = <&prm_iva>; 1121 resets = <&prm_iva 2>; 1122 reset-names = "rstctrl"; 1123 clocks = <&iva_clkctrl DRA7_IVA_CLKCTRL 0>; 1124 clock-names = "fck"; 1125 #address-cells = <1>; 1126 #size-cells = <1>; 1127 ranges = <0x5a000000 0x5a000000 0x1000000>, 1128 <0x5b000000 0x5b000000 0x1000000>; 1129 1130 iva { 1131 compatible = "ti,ivahd"; 1132 }; 1133 }; 1134 1135 opp_supply_mpu: opp-supply@4a003b20 { 1136 compatible = "ti,omap5-opp-supply"; 1137 reg = <0x4a003b20 0xc>; 1138 ti,efuse-settings = < 1139 /* uV offset */ 1140 1060000 0x0 1141 1160000 0x4 1142 1210000 0x8 1143 >; 1144 ti,absolute-max-voltage-uv = <1500000>; 1145 }; 1146 1147 }; 1148 1149 thermal_zones: thermal-zones { 1150 #include "omap4-cpu-thermal.dtsi" 1151 #include "omap5-gpu-thermal.dtsi" 1152 #include "omap5-core-thermal.dtsi" 1153 #include "dra7-dspeve-thermal.dtsi" 1154 #include "dra7-iva-thermal.dtsi" 1155 }; 1156 1157}; 1158 1159&cpu_thermal { 1160 polling-delay = <500>; /* milliseconds */ 1161 coefficients = <0 2000>; 1162}; 1163 1164&gpu_thermal { 1165 coefficients = <0 2000>; 1166}; 1167 1168&core_thermal { 1169 coefficients = <0 2000>; 1170}; 1171 1172&dspeve_thermal { 1173 coefficients = <0 2000>; 1174}; 1175 1176&iva_thermal { 1177 coefficients = <0 2000>; 1178}; 1179 1180&cpu_crit { 1181 temperature = <120000>; /* milli Celsius */ 1182}; 1183 1184&core_crit { 1185 temperature = <120000>; /* milli Celsius */ 1186}; 1187 1188&gpu_crit { 1189 temperature = <120000>; /* milli Celsius */ 1190}; 1191 1192&dspeve_crit { 1193 temperature = <120000>; /* milli Celsius */ 1194}; 1195 1196&iva_crit { 1197 temperature = <120000>; /* milli Celsius */ 1198}; 1199 1200#include "dra7-l4.dtsi" 1201#include "dra7xx-clocks.dtsi" 1202 1203&prm { 1204 prm_mpu: prm@300 { 1205 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1206 reg = <0x300 0x100>; 1207 #power-domain-cells = <0>; 1208 }; 1209 1210 prm_dsp1: prm@400 { 1211 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1212 reg = <0x400 0x100>; 1213 #reset-cells = <1>; 1214 #power-domain-cells = <0>; 1215 }; 1216 1217 prm_ipu: prm@500 { 1218 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1219 reg = <0x500 0x100>; 1220 #reset-cells = <1>; 1221 #power-domain-cells = <0>; 1222 }; 1223 1224 prm_coreaon: prm@628 { 1225 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1226 reg = <0x628 0xd8>; 1227 #power-domain-cells = <0>; 1228 }; 1229 1230 prm_core: prm@700 { 1231 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1232 reg = <0x700 0x100>; 1233 #reset-cells = <1>; 1234 #power-domain-cells = <0>; 1235 }; 1236 1237 prm_iva: prm@f00 { 1238 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1239 reg = <0xf00 0x100>; 1240 #reset-cells = <1>; 1241 #power-domain-cells = <0>; 1242 }; 1243 1244 prm_cam: prm@1000 { 1245 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1246 reg = <0x1000 0x100>; 1247 #power-domain-cells = <0>; 1248 }; 1249 1250 prm_dss: prm@1100 { 1251 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1252 reg = <0x1100 0x100>; 1253 #power-domain-cells = <0>; 1254 }; 1255 1256 prm_gpu: prm@1200 { 1257 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1258 reg = <0x1200 0x100>; 1259 #power-domain-cells = <0>; 1260 }; 1261 1262 prm_l3init: prm@1300 { 1263 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1264 reg = <0x1300 0x100>; 1265 #reset-cells = <1>; 1266 #power-domain-cells = <0>; 1267 }; 1268 1269 prm_l4per: prm@1400 { 1270 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1271 reg = <0x1400 0x100>; 1272 #power-domain-cells = <0>; 1273 }; 1274 1275 prm_custefuse: prm@1600 { 1276 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1277 reg = <0x1600 0x100>; 1278 #power-domain-cells = <0>; 1279 }; 1280 1281 prm_wkupaon: prm@1724 { 1282 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1283 reg = <0x1724 0x100>; 1284 #power-domain-cells = <0>; 1285 }; 1286 1287 prm_dsp2: prm@1b00 { 1288 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1289 reg = <0x1b00 0x40>; 1290 #reset-cells = <1>; 1291 #power-domain-cells = <0>; 1292 }; 1293 1294 prm_eve1: prm@1b40 { 1295 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1296 reg = <0x1b40 0x40>; 1297 #power-domain-cells = <0>; 1298 }; 1299 1300 prm_eve2: prm@1b80 { 1301 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1302 reg = <0x1b80 0x40>; 1303 #power-domain-cells = <0>; 1304 }; 1305 1306 prm_eve3: prm@1bc0 { 1307 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1308 reg = <0x1bc0 0x40>; 1309 #power-domain-cells = <0>; 1310 }; 1311 1312 prm_eve4: prm@1c00 { 1313 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1314 reg = <0x1c00 0x60>; 1315 #power-domain-cells = <0>; 1316 }; 1317 1318 prm_rtc: prm@1c60 { 1319 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1320 reg = <0x1c60 0x20>; 1321 #power-domain-cells = <0>; 1322 }; 1323 1324 prm_vpe: prm@1c80 { 1325 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; 1326 reg = <0x1c80 0x80>; 1327 #power-domain-cells = <0>; 1328 }; 1329}; 1330 1331/* Preferred always-on timer for clockevent */ 1332&timer1_target { 1333 ti,no-reset-on-init; 1334 ti,no-idle; 1335 timer@0 { 1336 assigned-clocks = <&wkupaon_clkctrl DRA7_WKUPAON_TIMER1_CLKCTRL 24>; 1337 assigned-clock-parents = <&sys_32k_ck>; 1338 }; 1339}; 1340 1341/* Local timers, see ARM architected timer wrap erratum i940 */ 1342&timer15_target { 1343 ti,no-reset-on-init; 1344 ti,no-idle; 1345 timer@0 { 1346 assigned-clocks = <&l4per3_clkctrl DRA7_L4PER3_TIMER15_CLKCTRL 24>; 1347 assigned-clock-parents = <&timer_sys_clk_div>; 1348 }; 1349}; 1350 1351&timer16_target { 1352 ti,no-reset-on-init; 1353 ti,no-idle; 1354 timer@0 { 1355 assigned-clocks = <&l4per3_clkctrl DRA7_L4PER3_TIMER16_CLKCTRL 24>; 1356 assigned-clock-parents = <&timer_sys_clk_div>; 1357 }; 1358}; 1359