1// SPDX-License-Identifier: GPL-2.0 2#include "juno-clocks.dtsi" 3#include "juno-motherboard.dtsi" 4 5/ { 6 /* 7 * Devices shared by all Juno boards 8 */ 9 10 memtimer: timer@2a810000 { 11 compatible = "arm,armv7-timer-mem"; 12 reg = <0x0 0x2a810000 0x0 0x10000>; 13 clock-frequency = <50000000>; 14 #address-cells = <1>; 15 #size-cells = <1>; 16 ranges = <0 0x0 0x2a820000 0x20000>; 17 status = "disabled"; 18 frame@2a830000 { 19 frame-number = <1>; 20 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 21 reg = <0x10000 0x10000>; 22 }; 23 }; 24 25 mailbox: mhu@2b1f0000 { 26 compatible = "arm,mhu", "arm,primecell"; 27 reg = <0x0 0x2b1f0000 0x0 0x1000>; 28 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, 29 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 30 #mbox-cells = <1>; 31 clocks = <&soc_refclk100mhz>; 32 clock-names = "apb_pclk"; 33 }; 34 35 smmu_gpu: iommu@2b400000 { 36 compatible = "arm,mmu-400", "arm,smmu-v1"; 37 reg = <0x0 0x2b400000 0x0 0x10000>; 38 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>, 39 <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 40 #iommu-cells = <1>; 41 #global-interrupts = <1>; 42 power-domains = <&scpi_devpd 1>; 43 dma-coherent; 44 status = "disabled"; 45 }; 46 47 smmu_pcie: iommu@2b500000 { 48 compatible = "arm,mmu-401", "arm,smmu-v1"; 49 reg = <0x0 0x2b500000 0x0 0x10000>; 50 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 51 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 52 #iommu-cells = <1>; 53 #global-interrupts = <1>; 54 dma-coherent; 55 status = "disabled"; 56 }; 57 58 smmu_etr: iommu@2b600000 { 59 compatible = "arm,mmu-401", "arm,smmu-v1"; 60 reg = <0x0 0x2b600000 0x0 0x10000>; 61 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, 62 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 63 #iommu-cells = <1>; 64 #global-interrupts = <1>; 65 dma-coherent; 66 power-domains = <&scpi_devpd 0>; 67 }; 68 69 gic: interrupt-controller@2c010000 { 70 compatible = "arm,gic-400", "arm,cortex-a15-gic"; 71 reg = <0x0 0x2c010000 0 0x1000>, 72 <0x0 0x2c02f000 0 0x2000>, 73 <0x0 0x2c04f000 0 0x2000>, 74 <0x0 0x2c06f000 0 0x2000>; 75 #address-cells = <1>; 76 #interrupt-cells = <3>; 77 #size-cells = <1>; 78 interrupt-controller; 79 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>; 80 ranges = <0 0 0x2c1c0000 0x40000>; 81 82 v2m_0: v2m@0 { 83 compatible = "arm,gic-v2m-frame"; 84 msi-controller; 85 reg = <0 0x10000>; 86 }; 87 88 v2m@10000 { 89 compatible = "arm,gic-v2m-frame"; 90 msi-controller; 91 reg = <0x10000 0x10000>; 92 }; 93 94 v2m@20000 { 95 compatible = "arm,gic-v2m-frame"; 96 msi-controller; 97 reg = <0x20000 0x10000>; 98 }; 99 100 v2m@30000 { 101 compatible = "arm,gic-v2m-frame"; 102 msi-controller; 103 reg = <0x30000 0x10000>; 104 }; 105 }; 106 107 timer { 108 compatible = "arm,armv8-timer"; 109 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, 110 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, 111 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, 112 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>; 113 }; 114 115 /* 116 * Juno TRMs specify the size for these coresight components as 64K. 117 * The actual size is just 4K though 64K is reserved. Access to the 118 * unmapped reserved region results in a DECERR response. 119 */ 120 etf_sys0: etf@20010000 { /* etf0 */ 121 compatible = "arm,coresight-tmc", "arm,primecell"; 122 reg = <0 0x20010000 0 0x1000>; 123 124 clocks = <&soc_smc50mhz>; 125 clock-names = "apb_pclk"; 126 power-domains = <&scpi_devpd 0>; 127 128 in-ports { 129 port { 130 etf0_in_port: endpoint { 131 remote-endpoint = <&main_funnel_out_port>; 132 }; 133 }; 134 }; 135 136 out-ports { 137 port { 138 etf0_out_port: endpoint { 139 }; 140 }; 141 }; 142 }; 143 144 tpiu_sys: tpiu@20030000 { 145 compatible = "arm,coresight-tpiu", "arm,primecell"; 146 reg = <0 0x20030000 0 0x1000>; 147 148 clocks = <&soc_smc50mhz>; 149 clock-names = "apb_pclk"; 150 power-domains = <&scpi_devpd 0>; 151 in-ports { 152 port { 153 tpiu_in_port: endpoint { 154 remote-endpoint = <&replicator_out_port0>; 155 }; 156 }; 157 }; 158 }; 159 160 /* main funnel on Juno r0, cssys0 funnel on Juno r1/r2 as per TRM*/ 161 main_funnel: funnel@20040000 { 162 compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 163 reg = <0 0x20040000 0 0x1000>; 164 165 clocks = <&soc_smc50mhz>; 166 clock-names = "apb_pclk"; 167 power-domains = <&scpi_devpd 0>; 168 169 out-ports { 170 port { 171 main_funnel_out_port: endpoint { 172 remote-endpoint = <&etf0_in_port>; 173 }; 174 }; 175 }; 176 177 main_funnel_in_ports: in-ports { 178 #address-cells = <1>; 179 #size-cells = <0>; 180 181 port@0 { 182 reg = <0>; 183 main_funnel_in_port0: endpoint { 184 remote-endpoint = <&cluster0_funnel_out_port>; 185 }; 186 }; 187 188 port@1 { 189 reg = <1>; 190 main_funnel_in_port1: endpoint { 191 remote-endpoint = <&cluster1_funnel_out_port>; 192 }; 193 }; 194 }; 195 }; 196 197 etr_sys: etr@20070000 { 198 compatible = "arm,coresight-tmc", "arm,primecell"; 199 reg = <0 0x20070000 0 0x1000>; 200 iommus = <&smmu_etr 0>; 201 202 clocks = <&soc_smc50mhz>; 203 clock-names = "apb_pclk"; 204 power-domains = <&scpi_devpd 0>; 205 arm,scatter-gather; 206 in-ports { 207 port { 208 etr_in_port: endpoint { 209 remote-endpoint = <&replicator_out_port1>; 210 }; 211 }; 212 }; 213 }; 214 215 stm_sys: stm@20100000 { 216 compatible = "arm,coresight-stm", "arm,primecell"; 217 reg = <0 0x20100000 0 0x1000>, 218 <0 0x28000000 0 0x1000000>; 219 reg-names = "stm-base", "stm-stimulus-base"; 220 221 clocks = <&soc_smc50mhz>; 222 clock-names = "apb_pclk"; 223 power-domains = <&scpi_devpd 0>; 224 out-ports { 225 port { 226 stm_out_port: endpoint { 227 }; 228 }; 229 }; 230 }; 231 232 replicator@20120000 { 233 compatible = "arm,coresight-dynamic-replicator", "arm,primecell"; 234 reg = <0 0x20120000 0 0x1000>; 235 236 clocks = <&soc_smc50mhz>; 237 clock-names = "apb_pclk"; 238 power-domains = <&scpi_devpd 0>; 239 240 out-ports { 241 #address-cells = <1>; 242 #size-cells = <0>; 243 244 /* replicator output ports */ 245 port@0 { 246 reg = <0>; 247 replicator_out_port0: endpoint { 248 remote-endpoint = <&tpiu_in_port>; 249 }; 250 }; 251 252 port@1 { 253 reg = <1>; 254 replicator_out_port1: endpoint { 255 remote-endpoint = <&etr_in_port>; 256 }; 257 }; 258 }; 259 in-ports { 260 port { 261 replicator_in_port0: endpoint { 262 }; 263 }; 264 }; 265 }; 266 267 cpu_debug0: cpu-debug@22010000 { 268 compatible = "arm,coresight-cpu-debug", "arm,primecell"; 269 reg = <0x0 0x22010000 0x0 0x1000>; 270 271 clocks = <&soc_smc50mhz>; 272 clock-names = "apb_pclk"; 273 power-domains = <&scpi_devpd 0>; 274 }; 275 276 etm0: etm@22040000 { 277 compatible = "arm,coresight-etm4x", "arm,primecell"; 278 reg = <0 0x22040000 0 0x1000>; 279 280 clocks = <&soc_smc50mhz>; 281 clock-names = "apb_pclk"; 282 power-domains = <&scpi_devpd 0>; 283 out-ports { 284 port { 285 cluster0_etm0_out_port: endpoint { 286 remote-endpoint = <&cluster0_funnel_in_port0>; 287 }; 288 }; 289 }; 290 }; 291 292 cti0: cti@22020000 { 293 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 294 "arm,primecell"; 295 reg = <0 0x22020000 0 0x1000>; 296 297 clocks = <&soc_smc50mhz>; 298 clock-names = "apb_pclk"; 299 power-domains = <&scpi_devpd 0>; 300 301 arm,cs-dev-assoc = <&etm0>; 302 }; 303 304 funnel@220c0000 { /* cluster0 funnel */ 305 compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 306 reg = <0 0x220c0000 0 0x1000>; 307 308 clocks = <&soc_smc50mhz>; 309 clock-names = "apb_pclk"; 310 power-domains = <&scpi_devpd 0>; 311 out-ports { 312 port { 313 cluster0_funnel_out_port: endpoint { 314 remote-endpoint = <&main_funnel_in_port0>; 315 }; 316 }; 317 }; 318 319 in-ports { 320 #address-cells = <1>; 321 #size-cells = <0>; 322 323 port@0 { 324 reg = <0>; 325 cluster0_funnel_in_port0: endpoint { 326 remote-endpoint = <&cluster0_etm0_out_port>; 327 }; 328 }; 329 330 port@1 { 331 reg = <1>; 332 cluster0_funnel_in_port1: endpoint { 333 remote-endpoint = <&cluster0_etm1_out_port>; 334 }; 335 }; 336 }; 337 }; 338 339 cpu_debug1: cpu-debug@22110000 { 340 compatible = "arm,coresight-cpu-debug", "arm,primecell"; 341 reg = <0x0 0x22110000 0x0 0x1000>; 342 343 clocks = <&soc_smc50mhz>; 344 clock-names = "apb_pclk"; 345 power-domains = <&scpi_devpd 0>; 346 }; 347 348 etm1: etm@22140000 { 349 compatible = "arm,coresight-etm4x", "arm,primecell"; 350 reg = <0 0x22140000 0 0x1000>; 351 352 clocks = <&soc_smc50mhz>; 353 clock-names = "apb_pclk"; 354 power-domains = <&scpi_devpd 0>; 355 out-ports { 356 port { 357 cluster0_etm1_out_port: endpoint { 358 remote-endpoint = <&cluster0_funnel_in_port1>; 359 }; 360 }; 361 }; 362 }; 363 364 cti1: cti@22120000 { 365 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 366 "arm,primecell"; 367 reg = <0 0x22120000 0 0x1000>; 368 369 clocks = <&soc_smc50mhz>; 370 clock-names = "apb_pclk"; 371 power-domains = <&scpi_devpd 0>; 372 373 arm,cs-dev-assoc = <&etm1>; 374 }; 375 376 cpu_debug2: cpu-debug@23010000 { 377 compatible = "arm,coresight-cpu-debug", "arm,primecell"; 378 reg = <0x0 0x23010000 0x0 0x1000>; 379 380 clocks = <&soc_smc50mhz>; 381 clock-names = "apb_pclk"; 382 power-domains = <&scpi_devpd 0>; 383 }; 384 385 etm2: etm@23040000 { 386 compatible = "arm,coresight-etm4x", "arm,primecell"; 387 reg = <0 0x23040000 0 0x1000>; 388 389 clocks = <&soc_smc50mhz>; 390 clock-names = "apb_pclk"; 391 power-domains = <&scpi_devpd 0>; 392 out-ports { 393 port { 394 cluster1_etm0_out_port: endpoint { 395 remote-endpoint = <&cluster1_funnel_in_port0>; 396 }; 397 }; 398 }; 399 }; 400 401 cti2: cti@23020000 { 402 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 403 "arm,primecell"; 404 reg = <0 0x23020000 0 0x1000>; 405 406 clocks = <&soc_smc50mhz>; 407 clock-names = "apb_pclk"; 408 power-domains = <&scpi_devpd 0>; 409 410 arm,cs-dev-assoc = <&etm2>; 411 }; 412 413 funnel@230c0000 { /* cluster1 funnel */ 414 compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 415 reg = <0 0x230c0000 0 0x1000>; 416 417 clocks = <&soc_smc50mhz>; 418 clock-names = "apb_pclk"; 419 power-domains = <&scpi_devpd 0>; 420 out-ports { 421 port { 422 cluster1_funnel_out_port: endpoint { 423 remote-endpoint = <&main_funnel_in_port1>; 424 }; 425 }; 426 }; 427 428 in-ports { 429 #address-cells = <1>; 430 #size-cells = <0>; 431 432 port@0 { 433 reg = <0>; 434 cluster1_funnel_in_port0: endpoint { 435 remote-endpoint = <&cluster1_etm0_out_port>; 436 }; 437 }; 438 439 port@1 { 440 reg = <1>; 441 cluster1_funnel_in_port1: endpoint { 442 remote-endpoint = <&cluster1_etm1_out_port>; 443 }; 444 }; 445 port@2 { 446 reg = <2>; 447 cluster1_funnel_in_port2: endpoint { 448 remote-endpoint = <&cluster1_etm2_out_port>; 449 }; 450 }; 451 port@3 { 452 reg = <3>; 453 cluster1_funnel_in_port3: endpoint { 454 remote-endpoint = <&cluster1_etm3_out_port>; 455 }; 456 }; 457 }; 458 }; 459 460 cpu_debug3: cpu-debug@23110000 { 461 compatible = "arm,coresight-cpu-debug", "arm,primecell"; 462 reg = <0x0 0x23110000 0x0 0x1000>; 463 464 clocks = <&soc_smc50mhz>; 465 clock-names = "apb_pclk"; 466 power-domains = <&scpi_devpd 0>; 467 }; 468 469 etm3: etm@23140000 { 470 compatible = "arm,coresight-etm4x", "arm,primecell"; 471 reg = <0 0x23140000 0 0x1000>; 472 473 clocks = <&soc_smc50mhz>; 474 clock-names = "apb_pclk"; 475 power-domains = <&scpi_devpd 0>; 476 out-ports { 477 port { 478 cluster1_etm1_out_port: endpoint { 479 remote-endpoint = <&cluster1_funnel_in_port1>; 480 }; 481 }; 482 }; 483 }; 484 485 cti3: cti@23120000 { 486 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 487 "arm,primecell"; 488 reg = <0 0x23120000 0 0x1000>; 489 490 clocks = <&soc_smc50mhz>; 491 clock-names = "apb_pclk"; 492 power-domains = <&scpi_devpd 0>; 493 494 arm,cs-dev-assoc = <&etm3>; 495 }; 496 497 cpu_debug4: cpu-debug@23210000 { 498 compatible = "arm,coresight-cpu-debug", "arm,primecell"; 499 reg = <0x0 0x23210000 0x0 0x1000>; 500 501 clocks = <&soc_smc50mhz>; 502 clock-names = "apb_pclk"; 503 power-domains = <&scpi_devpd 0>; 504 }; 505 506 etm4: etm@23240000 { 507 compatible = "arm,coresight-etm4x", "arm,primecell"; 508 reg = <0 0x23240000 0 0x1000>; 509 510 clocks = <&soc_smc50mhz>; 511 clock-names = "apb_pclk"; 512 power-domains = <&scpi_devpd 0>; 513 out-ports { 514 port { 515 cluster1_etm2_out_port: endpoint { 516 remote-endpoint = <&cluster1_funnel_in_port2>; 517 }; 518 }; 519 }; 520 }; 521 522 cti4: cti@23220000 { 523 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 524 "arm,primecell"; 525 reg = <0 0x23220000 0 0x1000>; 526 527 clocks = <&soc_smc50mhz>; 528 clock-names = "apb_pclk"; 529 power-domains = <&scpi_devpd 0>; 530 531 arm,cs-dev-assoc = <&etm4>; 532 }; 533 534 cpu_debug5: cpu-debug@23310000 { 535 compatible = "arm,coresight-cpu-debug", "arm,primecell"; 536 reg = <0x0 0x23310000 0x0 0x1000>; 537 538 clocks = <&soc_smc50mhz>; 539 clock-names = "apb_pclk"; 540 power-domains = <&scpi_devpd 0>; 541 }; 542 543 etm5: etm@23340000 { 544 compatible = "arm,coresight-etm4x", "arm,primecell"; 545 reg = <0 0x23340000 0 0x1000>; 546 547 clocks = <&soc_smc50mhz>; 548 clock-names = "apb_pclk"; 549 power-domains = <&scpi_devpd 0>; 550 out-ports { 551 port { 552 cluster1_etm3_out_port: endpoint { 553 remote-endpoint = <&cluster1_funnel_in_port3>; 554 }; 555 }; 556 }; 557 }; 558 559 cti5: cti@23320000 { 560 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 561 "arm,primecell"; 562 reg = <0 0x23320000 0 0x1000>; 563 564 clocks = <&soc_smc50mhz>; 565 clock-names = "apb_pclk"; 566 power-domains = <&scpi_devpd 0>; 567 568 arm,cs-dev-assoc = <&etm5>; 569 }; 570 571 cti_sys0: cti@20020000 { /* sys_cti_0 */ 572 compatible = "arm,coresight-cti", "arm,primecell"; 573 reg = <0 0x20020000 0 0x1000>; 574 575 clocks = <&soc_smc50mhz>; 576 clock-names = "apb_pclk"; 577 power-domains = <&scpi_devpd 0>; 578 579 #address-cells = <1>; 580 #size-cells = <0>; 581 582 trig-conns@0 { 583 reg = <0>; 584 arm,trig-in-sigs = <2 3>; 585 arm,trig-in-types = <SNK_FULL SNK_ACQCOMP>; 586 arm,trig-out-sigs = <0 1>; 587 arm,trig-out-types = <SNK_FLUSHIN SNK_TRIGIN>; 588 arm,cs-dev-assoc = <&etr_sys>; 589 }; 590 591 trig-conns@1 { 592 reg = <1>; 593 arm,trig-in-sigs = <0 1>; 594 arm,trig-in-types = <SNK_FULL SNK_ACQCOMP>; 595 arm,trig-out-sigs = <7 6>; 596 arm,trig-out-types = <SNK_FLUSHIN SNK_TRIGIN>; 597 arm,cs-dev-assoc = <&etf_sys0>; 598 }; 599 600 trig-conns@2 { 601 reg = <2>; 602 arm,trig-in-sigs = <4 5 6 7>; 603 arm,trig-in-types = <STM_TOUT_SPTE STM_TOUT_SW 604 STM_TOUT_HETE STM_ASYNCOUT>; 605 arm,trig-out-sigs = <4 5>; 606 arm,trig-out-types = <STM_HWEVENT STM_HWEVENT>; 607 arm,cs-dev-assoc = <&stm_sys>; 608 }; 609 610 trig-conns@3 { 611 reg = <3>; 612 arm,trig-out-sigs = <2 3>; 613 arm,trig-out-types = <SNK_FLUSHIN SNK_TRIGIN>; 614 arm,cs-dev-assoc = <&tpiu_sys>; 615 }; 616 }; 617 618 cti_sys1: cti@20110000 { /* sys_cti_1 */ 619 compatible = "arm,coresight-cti", "arm,primecell"; 620 reg = <0 0x20110000 0 0x1000>; 621 622 clocks = <&soc_smc50mhz>; 623 clock-names = "apb_pclk"; 624 power-domains = <&scpi_devpd 0>; 625 626 #address-cells = <1>; 627 #size-cells = <0>; 628 629 trig-conns@0 { 630 reg = <0>; 631 arm,trig-in-sigs = <0>; 632 arm,trig-in-types = <GEN_INTREQ>; 633 arm,trig-out-sigs = <0>; 634 arm,trig-out-types = <GEN_HALTREQ>; 635 arm,trig-conn-name = "sys_profiler"; 636 }; 637 638 trig-conns@1 { 639 reg = <1>; 640 arm,trig-out-sigs = <2 3>; 641 arm,trig-out-types = <GEN_HALTREQ GEN_RESTARTREQ>; 642 arm,trig-conn-name = "watchdog"; 643 }; 644 645 trig-conns@2 { 646 reg = <2>; 647 arm,trig-out-sigs = <1 6>; 648 arm,trig-out-types = <GEN_HALTREQ GEN_RESTARTREQ>; 649 arm,trig-conn-name = "g_counter"; 650 }; 651 }; 652 653 gpu: gpu@2d000000 { 654 compatible = "arm,juno-mali", "arm,mali-t624"; 655 reg = <0 0x2d000000 0 0x10000>; 656 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, 657 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, 658 <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 659 interrupt-names = "job", "mmu", "gpu"; 660 clocks = <&scpi_dvfs 2>; 661 power-domains = <&scpi_devpd 1>; 662 dma-coherent; 663 /* The SMMU is only really of interest to bare-metal hypervisors */ 664 /* iommus = <&smmu_gpu 0>; */ 665 status = "disabled"; 666 }; 667 668 sram: sram@2e000000 { 669 compatible = "arm,juno-sram-ns", "mmio-sram"; 670 reg = <0x0 0x2e000000 0x0 0x8000>; 671 672 #address-cells = <1>; 673 #size-cells = <1>; 674 ranges = <0 0x0 0x2e000000 0x8000>; 675 676 cpu_scp_lpri: scp-sram@0 { 677 compatible = "arm,juno-scp-shmem"; 678 reg = <0x0 0x200>; 679 }; 680 681 cpu_scp_hpri: scp-sram@200 { 682 compatible = "arm,juno-scp-shmem"; 683 reg = <0x200 0x200>; 684 }; 685 }; 686 687 pcie_ctlr: pcie@40000000 { 688 compatible = "arm,juno-r1-pcie", "plda,xpressrich3-axi", "pci-host-ecam-generic"; 689 device_type = "pci"; 690 reg = <0 0x40000000 0 0x10000000>; /* ECAM config space */ 691 bus-range = <0 255>; 692 linux,pci-domain = <0>; 693 #address-cells = <3>; 694 #size-cells = <2>; 695 dma-coherent; 696 ranges = <0x01000000 0x00 0x00000000 0x00 0x5f800000 0x0 0x00800000>, 697 <0x02000000 0x00 0x50000000 0x00 0x50000000 0x0 0x08000000>, 698 <0x42000000 0x40 0x00000000 0x40 0x00000000 0x1 0x00000000>; 699 /* Standard AXI Translation entries as programmed by EDK2 */ 700 dma-ranges = <0x02000000 0x0 0x80000000 0x0 0x80000000 0x0 0x80000000>, 701 <0x43000000 0x8 0x00000000 0x8 0x00000000 0x2 0x00000000>; 702 #interrupt-cells = <1>; 703 interrupt-map-mask = <0 0 0 7>; 704 interrupt-map = <0 0 0 1 &gic 0 GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>, 705 <0 0 0 2 &gic 0 GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>, 706 <0 0 0 3 &gic 0 GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, 707 <0 0 0 4 &gic 0 GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; 708 msi-parent = <&v2m_0>; 709 status = "disabled"; 710 iommu-map-mask = <0x0>; /* RC has no means to output PCI RID */ 711 iommu-map = <0x0 &smmu_pcie 0x0 0x1>; 712 }; 713 714 scpi { 715 compatible = "arm,scpi"; 716 mboxes = <&mailbox 1>; 717 shmem = <&cpu_scp_hpri>; 718 719 clocks { 720 compatible = "arm,scpi-clocks"; 721 722 scpi_dvfs: clocks-0 { 723 compatible = "arm,scpi-dvfs-clocks"; 724 #clock-cells = <1>; 725 clock-indices = <0>, <1>, <2>; 726 clock-output-names = "atlclk", "aplclk","gpuclk"; 727 }; 728 scpi_clk: clocks-1 { 729 compatible = "arm,scpi-variable-clocks"; 730 #clock-cells = <1>; 731 clock-indices = <3>; 732 clock-output-names = "pxlclk"; 733 }; 734 }; 735 736 scpi_devpd: power-controller { 737 compatible = "arm,scpi-power-domains"; 738 num-domains = <2>; 739 #power-domain-cells = <1>; 740 }; 741 742 scpi_sensors0: sensors { 743 compatible = "arm,scpi-sensors"; 744 #thermal-sensor-cells = <1>; 745 }; 746 }; 747 748 thermal-zones { 749 pmic { 750 polling-delay = <1000>; 751 polling-delay-passive = <100>; 752 thermal-sensors = <&scpi_sensors0 0>; 753 }; 754 755 soc { 756 polling-delay = <1000>; 757 polling-delay-passive = <100>; 758 thermal-sensors = <&scpi_sensors0 3>; 759 }; 760 761 big_cluster_thermal_zone: big-cluster { 762 polling-delay = <1000>; 763 polling-delay-passive = <100>; 764 thermal-sensors = <&scpi_sensors0 21>; 765 status = "disabled"; 766 }; 767 768 little_cluster_thermal_zone: little-cluster { 769 polling-delay = <1000>; 770 polling-delay-passive = <100>; 771 thermal-sensors = <&scpi_sensors0 22>; 772 status = "disabled"; 773 }; 774 775 gpu0_thermal_zone: gpu0 { 776 polling-delay = <1000>; 777 polling-delay-passive = <100>; 778 thermal-sensors = <&scpi_sensors0 23>; 779 status = "disabled"; 780 }; 781 782 gpu1_thermal_zone: gpu1 { 783 polling-delay = <1000>; 784 polling-delay-passive = <100>; 785 thermal-sensors = <&scpi_sensors0 24>; 786 status = "disabled"; 787 }; 788 }; 789 790 smmu_dma: iommu@7fb00000 { 791 compatible = "arm,mmu-401", "arm,smmu-v1"; 792 reg = <0x0 0x7fb00000 0x0 0x10000>; 793 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, 794 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 795 #iommu-cells = <1>; 796 #global-interrupts = <1>; 797 dma-coherent; 798 }; 799 800 smmu_hdlcd1: iommu@7fb10000 { 801 compatible = "arm,mmu-401", "arm,smmu-v1"; 802 reg = <0x0 0x7fb10000 0x0 0x10000>; 803 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 804 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 805 #iommu-cells = <1>; 806 #global-interrupts = <1>; 807 }; 808 809 smmu_hdlcd0: iommu@7fb20000 { 810 compatible = "arm,mmu-401", "arm,smmu-v1"; 811 reg = <0x0 0x7fb20000 0x0 0x10000>; 812 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 813 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 814 #iommu-cells = <1>; 815 #global-interrupts = <1>; 816 }; 817 818 smmu_usb: iommu@7fb30000 { 819 compatible = "arm,mmu-401", "arm,smmu-v1"; 820 reg = <0x0 0x7fb30000 0x0 0x10000>; 821 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 822 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 823 #iommu-cells = <1>; 824 #global-interrupts = <1>; 825 dma-coherent; 826 }; 827 828 dma-controller@7ff00000 { 829 compatible = "arm,pl330", "arm,primecell"; 830 reg = <0x0 0x7ff00000 0 0x1000>; 831 #dma-cells = <1>; 832 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>, 833 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>, 834 <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>, 835 <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>, 836 <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>, 837 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, 838 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, 839 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 840 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 841 iommus = <&smmu_dma 0>, 842 <&smmu_dma 1>, 843 <&smmu_dma 2>, 844 <&smmu_dma 3>, 845 <&smmu_dma 4>, 846 <&smmu_dma 5>, 847 <&smmu_dma 6>, 848 <&smmu_dma 7>, 849 <&smmu_dma 8>; 850 clocks = <&soc_faxiclk>; 851 clock-names = "apb_pclk"; 852 }; 853 854 hdlcd@7ff50000 { 855 compatible = "arm,hdlcd"; 856 reg = <0 0x7ff50000 0 0x1000>; 857 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 858 iommus = <&smmu_hdlcd1 0>; 859 clocks = <&scpi_clk 3>; 860 clock-names = "pxlclk"; 861 862 port { 863 hdlcd1_output: endpoint { 864 remote-endpoint = <&tda998x_1_input>; 865 }; 866 }; 867 }; 868 869 hdlcd@7ff60000 { 870 compatible = "arm,hdlcd"; 871 reg = <0 0x7ff60000 0 0x1000>; 872 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 873 iommus = <&smmu_hdlcd0 0>; 874 clocks = <&scpi_clk 3>; 875 clock-names = "pxlclk"; 876 877 port { 878 hdlcd0_output: endpoint { 879 remote-endpoint = <&tda998x_0_input>; 880 }; 881 }; 882 }; 883 884 soc_uart0: serial@7ff80000 { 885 compatible = "arm,pl011", "arm,primecell"; 886 reg = <0x0 0x7ff80000 0x0 0x1000>; 887 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 888 clocks = <&soc_uartclk>, <&soc_refclk100mhz>; 889 clock-names = "uartclk", "apb_pclk"; 890 }; 891 892 i2c@7ffa0000 { 893 compatible = "snps,designware-i2c"; 894 reg = <0x0 0x7ffa0000 0x0 0x1000>; 895 #address-cells = <1>; 896 #size-cells = <0>; 897 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 898 clock-frequency = <400000>; 899 i2c-sda-hold-time-ns = <500>; 900 clocks = <&soc_smc50mhz>; 901 902 hdmi-transmitter@70 { 903 compatible = "nxp,tda998x"; 904 reg = <0x70>; 905 port { 906 tda998x_0_input: endpoint { 907 remote-endpoint = <&hdlcd0_output>; 908 }; 909 }; 910 }; 911 912 hdmi-transmitter@71 { 913 compatible = "nxp,tda998x"; 914 reg = <0x71>; 915 port { 916 tda998x_1_input: endpoint { 917 remote-endpoint = <&hdlcd1_output>; 918 }; 919 }; 920 }; 921 }; 922 923 usb@7ffb0000 { 924 compatible = "generic-ohci"; 925 reg = <0x0 0x7ffb0000 0x0 0x10000>; 926 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 927 iommus = <&smmu_usb 0>; 928 clocks = <&soc_usb48mhz>; 929 }; 930 931 usb@7ffc0000 { 932 compatible = "generic-ehci"; 933 reg = <0x0 0x7ffc0000 0x0 0x10000>; 934 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 935 iommus = <&smmu_usb 0>; 936 clocks = <&soc_usb48mhz>; 937 }; 938 939 memory-controller@7ffd0000 { 940 compatible = "arm,pl354", "arm,primecell"; 941 reg = <0 0x7ffd0000 0 0x1000>; 942 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>, 943 <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 944 clocks = <&soc_smc50mhz>; 945 clock-names = "apb_pclk"; 946 }; 947 948 memory@80000000 { 949 device_type = "memory"; 950 /* last 16MB of the first memory area is reserved for secure world use by firmware */ 951 reg = <0x00000000 0x80000000 0x0 0x7f000000>, 952 <0x00000008 0x80000000 0x1 0x80000000>; 953 }; 954 955 bus@8000000 { 956 #interrupt-cells = <1>; 957 interrupt-map-mask = <0 0 15>; 958 interrupt-map = <0 0 0 &gic 0 GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 959 <0 0 1 &gic 0 GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 960 <0 0 2 &gic 0 GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 961 <0 0 3 &gic 0 GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>, 962 <0 0 4 &gic 0 GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>, 963 <0 0 5 &gic 0 GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>, 964 <0 0 6 &gic 0 GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>, 965 <0 0 7 &gic 0 GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>, 966 <0 0 8 &gic 0 GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>, 967 <0 0 9 &gic 0 GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>, 968 <0 0 10 &gic 0 GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>, 969 <0 0 11 &gic 0 GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>, 970 <0 0 12 &gic 0 GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; 971 }; 972 973 site2: tlx-bus@60000000 { 974 compatible = "simple-bus"; 975 #address-cells = <1>; 976 #size-cells = <1>; 977 ranges = <0 0 0x60000000 0x10000000>; 978 #interrupt-cells = <1>; 979 interrupt-map-mask = <0 0>; 980 interrupt-map = <0 0 &gic 0 GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>; 981 }; 982}; 983