1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Device Tree Include file for NXP Layerscape-1046A family SoC. 4 * 5 * Copyright 2016 Freescale Semiconductor, Inc. 6 * Copyright 2018, 2020 NXP 7 * 8 * Mingkai Hu <mingkai.hu@nxp.com> 9 */ 10 11#include <dt-bindings/clock/fsl,qoriq-clockgen.h> 12#include <dt-bindings/interrupt-controller/arm-gic.h> 13#include <dt-bindings/thermal/thermal.h> 14#include <dt-bindings/gpio/gpio.h> 15 16/ { 17 compatible = "fsl,ls1046a"; 18 interrupt-parent = <&gic>; 19 #address-cells = <2>; 20 #size-cells = <2>; 21 22 aliases { 23 crypto = &crypto; 24 fman0 = &fman0; 25 ethernet0 = &enet0; 26 ethernet1 = &enet1; 27 ethernet2 = &enet2; 28 ethernet3 = &enet3; 29 ethernet4 = &enet4; 30 ethernet5 = &enet5; 31 ethernet6 = &enet6; 32 ethernet7 = &enet7; 33 rtc1 = &ftm_alarm0; 34 }; 35 36 cpus { 37 #address-cells = <1>; 38 #size-cells = <0>; 39 40 cpu0: cpu@0 { 41 device_type = "cpu"; 42 compatible = "arm,cortex-a72"; 43 reg = <0x0>; 44 clocks = <&clockgen QORIQ_CLK_CMUX 0>; 45 next-level-cache = <&l2>; 46 cpu-idle-states = <&CPU_PH20>; 47 #cooling-cells = <2>; 48 }; 49 50 cpu1: cpu@1 { 51 device_type = "cpu"; 52 compatible = "arm,cortex-a72"; 53 reg = <0x1>; 54 clocks = <&clockgen QORIQ_CLK_CMUX 0>; 55 next-level-cache = <&l2>; 56 cpu-idle-states = <&CPU_PH20>; 57 #cooling-cells = <2>; 58 }; 59 60 cpu2: cpu@2 { 61 device_type = "cpu"; 62 compatible = "arm,cortex-a72"; 63 reg = <0x2>; 64 clocks = <&clockgen QORIQ_CLK_CMUX 0>; 65 next-level-cache = <&l2>; 66 cpu-idle-states = <&CPU_PH20>; 67 #cooling-cells = <2>; 68 }; 69 70 cpu3: cpu@3 { 71 device_type = "cpu"; 72 compatible = "arm,cortex-a72"; 73 reg = <0x3>; 74 clocks = <&clockgen QORIQ_CLK_CMUX 0>; 75 next-level-cache = <&l2>; 76 cpu-idle-states = <&CPU_PH20>; 77 #cooling-cells = <2>; 78 }; 79 80 l2: l2-cache { 81 compatible = "cache"; 82 cache-level = <2>; 83 cache-unified; 84 }; 85 }; 86 87 idle-states { 88 /* 89 * PSCI node is not added default, U-boot will add missing 90 * parts if it determines to use PSCI. 91 */ 92 entry-method = "psci"; 93 94 CPU_PH20: cpu-ph20 { 95 compatible = "arm,idle-state"; 96 idle-state-name = "PH20"; 97 arm,psci-suspend-param = <0x0>; 98 entry-latency-us = <1000>; 99 exit-latency-us = <1000>; 100 min-residency-us = <3000>; 101 }; 102 }; 103 104 memory@80000000 { 105 device_type = "memory"; 106 /* Real size will be filled by bootloader */ 107 reg = <0x0 0x80000000 0x0 0x0>; 108 }; 109 110 sysclk: sysclk { 111 compatible = "fixed-clock"; 112 #clock-cells = <0>; 113 clock-frequency = <100000000>; 114 clock-output-names = "sysclk"; 115 }; 116 117 reboot { 118 compatible = "syscon-reboot"; 119 regmap = <&dcfg>; 120 offset = <0xb0>; 121 mask = <0x02>; 122 }; 123 124 thermal-zones { 125 ddr-thermal { 126 polling-delay-passive = <1000>; 127 polling-delay = <5000>; 128 thermal-sensors = <&tmu 0>; 129 130 trips { 131 ddr-ctrler-alert { 132 temperature = <85000>; 133 hysteresis = <2000>; 134 type = "passive"; 135 }; 136 137 ddr-ctrler-crit { 138 temperature = <95000>; 139 hysteresis = <2000>; 140 type = "critical"; 141 }; 142 }; 143 }; 144 145 serdes-thermal { 146 polling-delay-passive = <1000>; 147 polling-delay = <5000>; 148 thermal-sensors = <&tmu 1>; 149 150 trips { 151 serdes-alert { 152 temperature = <85000>; 153 hysteresis = <2000>; 154 type = "passive"; 155 }; 156 157 serdes-crit { 158 temperature = <95000>; 159 hysteresis = <2000>; 160 type = "critical"; 161 }; 162 }; 163 }; 164 165 fman-thermal { 166 polling-delay-passive = <1000>; 167 polling-delay = <5000>; 168 thermal-sensors = <&tmu 2>; 169 170 trips { 171 fman-alert { 172 temperature = <85000>; 173 hysteresis = <2000>; 174 type = "passive"; 175 }; 176 177 fman-crit { 178 temperature = <95000>; 179 hysteresis = <2000>; 180 type = "critical"; 181 }; 182 }; 183 }; 184 185 cluster-thermal { 186 polling-delay-passive = <1000>; 187 polling-delay = <5000>; 188 thermal-sensors = <&tmu 3>; 189 190 trips { 191 core_cluster_alert: core-cluster-alert { 192 temperature = <85000>; 193 hysteresis = <2000>; 194 type = "passive"; 195 }; 196 197 core_cluster_crit: core-cluster-crit { 198 temperature = <95000>; 199 hysteresis = <2000>; 200 type = "critical"; 201 }; 202 }; 203 204 cooling-maps { 205 map0 { 206 trip = <&core_cluster_alert>; 207 cooling-device = 208 <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 209 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 210 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 211 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 212 }; 213 }; 214 }; 215 216 sec-thermal { 217 polling-delay-passive = <1000>; 218 polling-delay = <5000>; 219 thermal-sensors = <&tmu 4>; 220 221 trips { 222 sec-alert { 223 temperature = <85000>; 224 hysteresis = <2000>; 225 type = "passive"; 226 }; 227 228 sec-crit { 229 temperature = <95000>; 230 hysteresis = <2000>; 231 type = "critical"; 232 }; 233 }; 234 }; 235 }; 236 237 timer { 238 compatible = "arm,armv8-timer"; 239 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(0xf) | 240 IRQ_TYPE_LEVEL_LOW)>, 241 <GIC_PPI 14 (GIC_CPU_MASK_RAW(0xf) | 242 IRQ_TYPE_LEVEL_LOW)>, 243 <GIC_PPI 11 (GIC_CPU_MASK_RAW(0xf) | 244 IRQ_TYPE_LEVEL_LOW)>, 245 <GIC_PPI 10 (GIC_CPU_MASK_RAW(0xf) | 246 IRQ_TYPE_LEVEL_LOW)>; 247 }; 248 249 pmu { 250 compatible = "arm,cortex-a72-pmu"; 251 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, 252 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, 253 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, 254 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 255 interrupt-affinity = <&cpu0>, 256 <&cpu1>, 257 <&cpu2>, 258 <&cpu3>; 259 }; 260 261 gic: interrupt-controller@1400000 { 262 compatible = "arm,gic-400"; 263 #address-cells = <0>; 264 #interrupt-cells = <3>; 265 interrupt-controller; 266 reg = <0x0 0x1410000 0 0x10000>, /* GICD */ 267 <0x0 0x1420000 0 0x20000>, /* GICC */ 268 <0x0 0x1440000 0 0x20000>, /* GICH */ 269 <0x0 0x1460000 0 0x20000>; /* GICV */ 270 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_RAW(0xf) | 271 IRQ_TYPE_LEVEL_LOW)>; 272 }; 273 274 soc: soc { 275 compatible = "simple-bus"; 276 #address-cells = <2>; 277 #size-cells = <2>; 278 ranges; 279 dma-ranges = <0x0 0x0 0x0 0x0 0x10000 0x00000000>; 280 dma-coherent; 281 282 ddr: memory-controller@1080000 { 283 compatible = "fsl,qoriq-memory-controller"; 284 reg = <0x0 0x1080000 0x0 0x1000>; 285 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; 286 }; 287 288 ifc: memory-controller@1530000 { 289 compatible = "fsl,ifc"; 290 reg = <0x0 0x1530000 0x0 0x10000>; 291 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 292 status = "disabled"; 293 }; 294 295 qspi: spi@1550000 { 296 compatible = "fsl,ls1021a-qspi"; 297 #address-cells = <1>; 298 #size-cells = <0>; 299 reg = <0x0 0x1550000 0x0 0x10000>, 300 <0x0 0x40000000 0x0 0x10000000>; 301 reg-names = "QuadSPI", "QuadSPI-memory"; 302 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 303 clock-names = "qspi_en", "qspi"; 304 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 305 QORIQ_CLK_PLL_DIV(2)>, 306 <&clockgen QORIQ_CLK_PLATFORM_PLL 307 QORIQ_CLK_PLL_DIV(2)>; 308 status = "disabled"; 309 }; 310 311 esdhc: mmc@1560000 { 312 compatible = "fsl,ls1046a-esdhc", "fsl,esdhc"; 313 reg = <0x0 0x1560000 0x0 0x10000>; 314 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 315 clocks = <&clockgen QORIQ_CLK_HWACCEL 1>; 316 voltage-ranges = <1800 1800 3300 3300>; 317 sdhci,auto-cmd12; 318 bus-width = <4>; 319 }; 320 321 scfg: scfg@1570000 { 322 compatible = "fsl,ls1046a-scfg", "syscon"; 323 reg = <0x0 0x1570000 0x0 0x10000>; 324 big-endian; 325 #address-cells = <1>; 326 #size-cells = <1>; 327 ranges = <0x0 0x0 0x1570000 0x10000>; 328 329 extirq: interrupt-controller@1ac { 330 compatible = "fsl,ls1046a-extirq", "fsl,ls1043a-extirq"; 331 #interrupt-cells = <2>; 332 #address-cells = <0>; 333 interrupt-controller; 334 reg = <0x1ac 4>; 335 interrupt-map = 336 <0 0 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, 337 <1 0 &gic GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>, 338 <2 0 &gic GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>, 339 <3 0 &gic GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>, 340 <4 0 &gic GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>, 341 <5 0 &gic GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>, 342 <6 0 &gic GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 343 <7 0 &gic GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>, 344 <8 0 &gic GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>, 345 <9 0 &gic GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>, 346 <10 0 &gic GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>, 347 <11 0 &gic GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>; 348 interrupt-map-mask = <0xf 0x0>; 349 }; 350 }; 351 352 crypto: crypto@1700000 { 353 compatible = "fsl,sec-v5.4", "fsl,sec-v5.0", 354 "fsl,sec-v4.0"; 355 fsl,sec-era = <8>; 356 #address-cells = <1>; 357 #size-cells = <1>; 358 ranges = <0x0 0x00 0x1700000 0x100000>; 359 reg = <0x00 0x1700000 0x0 0x100000>; 360 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 361 362 sec_jr0: jr@10000 { 363 compatible = "fsl,sec-v5.4-job-ring", 364 "fsl,sec-v5.0-job-ring", 365 "fsl,sec-v4.0-job-ring"; 366 reg = <0x10000 0x10000>; 367 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 368 }; 369 370 sec_jr1: jr@20000 { 371 compatible = "fsl,sec-v5.4-job-ring", 372 "fsl,sec-v5.0-job-ring", 373 "fsl,sec-v4.0-job-ring"; 374 reg = <0x20000 0x10000>; 375 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 376 }; 377 378 sec_jr2: jr@30000 { 379 compatible = "fsl,sec-v5.4-job-ring", 380 "fsl,sec-v5.0-job-ring", 381 "fsl,sec-v4.0-job-ring"; 382 reg = <0x30000 0x10000>; 383 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 384 }; 385 386 sec_jr3: jr@40000 { 387 compatible = "fsl,sec-v5.4-job-ring", 388 "fsl,sec-v5.0-job-ring", 389 "fsl,sec-v4.0-job-ring"; 390 reg = <0x40000 0x10000>; 391 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 392 }; 393 }; 394 395 qman: qman@1880000 { 396 compatible = "fsl,qman"; 397 reg = <0x0 0x1880000 0x0 0x10000>; 398 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 399 memory-region = <&qman_fqd &qman_pfdr>; 400 401 }; 402 403 bman: bman@1890000 { 404 compatible = "fsl,bman"; 405 reg = <0x0 0x1890000 0x0 0x10000>; 406 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 407 memory-region = <&bman_fbpr>; 408 409 }; 410 411 qportals: qman-portals-bus@500000000 { 412 ranges = <0x0 0x5 0x00000000 0x8000000>; 413 }; 414 415 bportals: bman-portals-bus@508000000 { 416 ranges = <0x0 0x5 0x08000000 0x8000000>; 417 }; 418 419 sfp: efuse@1e80000 { 420 compatible = "fsl,ls1021a-sfp"; 421 reg = <0x0 0x1e80000 0x0 0x10000>; 422 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 423 QORIQ_CLK_PLL_DIV(4)>; 424 clock-names = "sfp"; 425 }; 426 427 dcfg: dcfg@1ee0000 { 428 compatible = "fsl,ls1046a-dcfg", "syscon"; 429 reg = <0x0 0x1ee0000 0x0 0x1000>; 430 big-endian; 431 }; 432 433 clockgen: clocking@1ee1000 { 434 compatible = "fsl,ls1046a-clockgen"; 435 reg = <0x0 0x1ee1000 0x0 0x1000>; 436 #clock-cells = <2>; 437 clocks = <&sysclk>; 438 }; 439 440 tmu: tmu@1f00000 { 441 compatible = "fsl,qoriq-tmu"; 442 reg = <0x0 0x1f00000 0x0 0x10000>; 443 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 444 fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x70062>; 445 fsl,tmu-calibration = 446 /* Calibration data group 1 */ 447 <0x00000000 0x00000023>, 448 <0x00000001 0x00000029>, 449 <0x00000002 0x0000002f>, 450 <0x00000003 0x00000036>, 451 <0x00000004 0x0000003c>, 452 <0x00000005 0x00000042>, 453 <0x00000006 0x00000049>, 454 <0x00000007 0x0000004f>, 455 <0x00000008 0x00000055>, 456 <0x00000009 0x0000005c>, 457 <0x0000000a 0x00000062>, 458 <0x0000000b 0x00000068>, 459 /* Calibration data group 2 */ 460 <0x00010000 0x00000022>, 461 <0x00010001 0x0000002a>, 462 <0x00010002 0x00000032>, 463 <0x00010003 0x0000003a>, 464 <0x00010004 0x00000042>, 465 <0x00010005 0x0000004a>, 466 <0x00010006 0x00000052>, 467 <0x00010007 0x0000005a>, 468 <0x00010008 0x00000062>, 469 <0x00010009 0x0000006a>, 470 /* Calibration data group 3 */ 471 <0x00020000 0x00000021>, 472 <0x00020001 0x0000002b>, 473 <0x00020002 0x00000035>, 474 <0x00020003 0x0000003e>, 475 <0x00020004 0x00000048>, 476 <0x00020005 0x00000052>, 477 <0x00020006 0x0000005c>, 478 /* Calibration data group 4 */ 479 <0x00030000 0x00000011>, 480 <0x00030001 0x0000001a>, 481 <0x00030002 0x00000024>, 482 <0x00030003 0x0000002e>, 483 <0x00030004 0x00000038>, 484 <0x00030005 0x00000042>, 485 <0x00030006 0x0000004c>, 486 <0x00030007 0x00000056>; 487 #thermal-sensor-cells = <1>; 488 }; 489 490 dspi: spi@2100000 { 491 compatible = "fsl,ls1021a-v1.0-dspi"; 492 #address-cells = <1>; 493 #size-cells = <0>; 494 reg = <0x0 0x2100000 0x0 0x10000>; 495 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 496 clock-names = "dspi"; 497 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 498 QORIQ_CLK_PLL_DIV(2)>; 499 spi-num-chipselects = <5>; 500 big-endian; 501 status = "disabled"; 502 }; 503 504 i2c0: i2c@2180000 { 505 compatible = "fsl,ls1046a-i2c", "fsl,vf610-i2c"; 506 #address-cells = <1>; 507 #size-cells = <0>; 508 reg = <0x0 0x2180000 0x0 0x10000>; 509 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 510 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 511 QORIQ_CLK_PLL_DIV(2)>; 512 dmas = <&edma0 1 38>, 513 <&edma0 1 39>; 514 dma-names = "rx", "tx"; 515 status = "disabled"; 516 }; 517 518 i2c1: i2c@2190000 { 519 compatible = "fsl,ls1046a-i2c", "fsl,vf610-i2c"; 520 #address-cells = <1>; 521 #size-cells = <0>; 522 reg = <0x0 0x2190000 0x0 0x10000>; 523 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 524 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 525 QORIQ_CLK_PLL_DIV(2)>; 526 scl-gpios = <&gpio3 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 527 dmas = <&edma0 1 36>, 528 <&edma0 1 37>; 529 dma-names = "rx", "tx"; 530 status = "disabled"; 531 }; 532 533 i2c2: i2c@21a0000 { 534 compatible = "fsl,ls1046a-i2c", "fsl,vf610-i2c"; 535 #address-cells = <1>; 536 #size-cells = <0>; 537 reg = <0x0 0x21a0000 0x0 0x10000>; 538 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 539 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 540 QORIQ_CLK_PLL_DIV(2)>; 541 scl-gpios = <&gpio3 10 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 542 dmas = <&edma0 1 34>, 543 <&edma0 1 35>; 544 dma-names = "rx", "tx"; 545 status = "disabled"; 546 }; 547 548 i2c3: i2c@21b0000 { 549 compatible = "fsl,ls1046a-i2c", "fsl,vf610-i2c"; 550 #address-cells = <1>; 551 #size-cells = <0>; 552 reg = <0x0 0x21b0000 0x0 0x10000>; 553 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 554 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 555 QORIQ_CLK_PLL_DIV(2)>; 556 scl-gpios = <&gpio3 12 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 557 dmas = <&edma0 1 40>, 558 <&edma0 1 41>; 559 dma-names = "rx", "tx"; 560 status = "disabled"; 561 }; 562 563 duart0: serial@21c0500 { 564 compatible = "fsl,ns16550", "ns16550a"; 565 reg = <0x00 0x21c0500 0x0 0x100>; 566 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 567 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 568 QORIQ_CLK_PLL_DIV(2)>; 569 status = "disabled"; 570 }; 571 572 duart1: serial@21c0600 { 573 compatible = "fsl,ns16550", "ns16550a"; 574 reg = <0x00 0x21c0600 0x0 0x100>; 575 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 576 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 577 QORIQ_CLK_PLL_DIV(2)>; 578 status = "disabled"; 579 }; 580 581 duart2: serial@21d0500 { 582 compatible = "fsl,ns16550", "ns16550a"; 583 reg = <0x0 0x21d0500 0x0 0x100>; 584 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 585 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 586 QORIQ_CLK_PLL_DIV(2)>; 587 status = "disabled"; 588 }; 589 590 duart3: serial@21d0600 { 591 compatible = "fsl,ns16550", "ns16550a"; 592 reg = <0x0 0x21d0600 0x0 0x100>; 593 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 594 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 595 QORIQ_CLK_PLL_DIV(2)>; 596 status = "disabled"; 597 }; 598 599 gpio0: gpio@2300000 { 600 compatible = "fsl,ls1046a-gpio", "fsl,qoriq-gpio"; 601 reg = <0x0 0x2300000 0x0 0x10000>; 602 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; 603 gpio-controller; 604 #gpio-cells = <2>; 605 interrupt-controller; 606 #interrupt-cells = <2>; 607 }; 608 609 gpio1: gpio@2310000 { 610 compatible = "fsl,ls1046a-gpio", "fsl,qoriq-gpio"; 611 reg = <0x0 0x2310000 0x0 0x10000>; 612 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 613 gpio-controller; 614 #gpio-cells = <2>; 615 interrupt-controller; 616 #interrupt-cells = <2>; 617 }; 618 619 gpio2: gpio@2320000 { 620 compatible = "fsl,ls1046a-gpio", "fsl,qoriq-gpio"; 621 reg = <0x0 0x2320000 0x0 0x10000>; 622 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 623 gpio-controller; 624 #gpio-cells = <2>; 625 interrupt-controller; 626 #interrupt-cells = <2>; 627 }; 628 629 gpio3: gpio@2330000 { 630 compatible = "fsl,ls1046a-gpio", "fsl,qoriq-gpio"; 631 reg = <0x0 0x2330000 0x0 0x10000>; 632 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>; 633 gpio-controller; 634 #gpio-cells = <2>; 635 interrupt-controller; 636 #interrupt-cells = <2>; 637 }; 638 639 lpuart0: serial@2950000 { 640 compatible = "fsl,ls1021a-lpuart"; 641 reg = <0x0 0x2950000 0x0 0x1000>; 642 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 643 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 644 QORIQ_CLK_PLL_DIV(1)>; 645 clock-names = "ipg"; 646 dmas = <&edma0 1 32>, 647 <&edma0 1 33>; 648 dma-names = "rx", "tx"; 649 status = "disabled"; 650 }; 651 652 lpuart1: serial@2960000 { 653 compatible = "fsl,ls1021a-lpuart"; 654 reg = <0x0 0x2960000 0x0 0x1000>; 655 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 656 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 657 QORIQ_CLK_PLL_DIV(2)>; 658 clock-names = "ipg"; 659 dmas = <&edma0 1 30>, 660 <&edma0 1 31>; 661 dma-names = "rx", "tx"; 662 status = "disabled"; 663 }; 664 665 lpuart2: serial@2970000 { 666 compatible = "fsl,ls1021a-lpuart"; 667 reg = <0x0 0x2970000 0x0 0x1000>; 668 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 669 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 670 QORIQ_CLK_PLL_DIV(2)>; 671 clock-names = "ipg"; 672 dmas = <&edma0 1 28>, 673 <&edma0 1 29>; 674 dma-names = "rx", "tx"; 675 status = "disabled"; 676 }; 677 678 lpuart3: serial@2980000 { 679 compatible = "fsl,ls1021a-lpuart"; 680 reg = <0x0 0x2980000 0x0 0x1000>; 681 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 682 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 683 QORIQ_CLK_PLL_DIV(2)>; 684 clock-names = "ipg"; 685 dmas = <&edma0 1 26>, 686 <&edma0 1 27>; 687 dma-names = "rx", "tx"; 688 status = "disabled"; 689 }; 690 691 lpuart4: serial@2990000 { 692 compatible = "fsl,ls1021a-lpuart"; 693 reg = <0x0 0x2990000 0x0 0x1000>; 694 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 695 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 696 QORIQ_CLK_PLL_DIV(2)>; 697 clock-names = "ipg"; 698 dmas = <&edma0 1 24>, 699 <&edma0 1 25>; 700 dma-names = "rx", "tx"; 701 status = "disabled"; 702 }; 703 704 lpuart5: serial@29a0000 { 705 compatible = "fsl,ls1021a-lpuart"; 706 reg = <0x0 0x29a0000 0x0 0x1000>; 707 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 708 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 709 QORIQ_CLK_PLL_DIV(2)>; 710 clock-names = "ipg"; 711 dmas = <&edma0 1 22>, 712 <&edma0 1 23>; 713 dma-names = "rx", "tx"; 714 status = "disabled"; 715 }; 716 717 wdog0: watchdog@2ad0000 { 718 compatible = "fsl,ls1046a-wdt", "fsl,imx21-wdt"; 719 reg = <0x0 0x2ad0000 0x0 0x10000>; 720 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 721 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 722 QORIQ_CLK_PLL_DIV(2)>; 723 big-endian; 724 }; 725 726 edma0: dma-controller@2c00000 { 727 #dma-cells = <2>; 728 compatible = "fsl,vf610-edma"; 729 reg = <0x0 0x2c00000 0x0 0x10000>, 730 <0x0 0x2c10000 0x0 0x10000>, 731 <0x0 0x2c20000 0x0 0x10000>; 732 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, 733 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 734 interrupt-names = "edma-tx", "edma-err"; 735 dma-channels = <32>; 736 big-endian; 737 clock-names = "dmamux0", "dmamux1"; 738 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 739 QORIQ_CLK_PLL_DIV(2)>, 740 <&clockgen QORIQ_CLK_PLATFORM_PLL 741 QORIQ_CLK_PLL_DIV(2)>; 742 }; 743 744 aux_bus: bus { 745 #address-cells = <2>; 746 #size-cells = <2>; 747 compatible = "simple-bus"; 748 ranges; 749 dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x00000000>; 750 751 usb0: usb@2f00000 { 752 compatible = "snps,dwc3"; 753 reg = <0x0 0x2f00000 0x0 0x10000>; 754 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 755 dr_mode = "host"; 756 snps,quirk-frame-length-adjustment = <0x20>; 757 snps,dis_rxdet_inp3_quirk; 758 snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; 759 usb3-lpm-capable; 760 }; 761 762 usb1: usb@3000000 { 763 compatible = "snps,dwc3"; 764 reg = <0x0 0x3000000 0x0 0x10000>; 765 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 766 dr_mode = "host"; 767 snps,quirk-frame-length-adjustment = <0x20>; 768 snps,dis_rxdet_inp3_quirk; 769 snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; 770 usb3-lpm-capable; 771 }; 772 773 usb2: usb@3100000 { 774 compatible = "snps,dwc3"; 775 reg = <0x0 0x3100000 0x0 0x10000>; 776 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 777 dr_mode = "host"; 778 snps,quirk-frame-length-adjustment = <0x20>; 779 snps,dis_rxdet_inp3_quirk; 780 snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; 781 usb3-lpm-capable; 782 }; 783 784 sata: sata@3200000 { 785 compatible = "fsl,ls1046a-ahci"; 786 reg = <0x0 0x3200000 0x0 0x10000>, 787 <0x0 0x20140520 0x0 0x4>; 788 reg-names = "ahci", "sata-ecc"; 789 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 790 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL 791 QORIQ_CLK_PLL_DIV(2)>; 792 }; 793 }; 794 795 msi1: msi-controller@1580000 { 796 compatible = "fsl,ls1046a-msi"; 797 msi-controller; 798 reg = <0x0 0x1580000 0x0 0x10000>; 799 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 800 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, 801 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, 802 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 803 }; 804 805 msi2: msi-controller@1590000 { 806 compatible = "fsl,ls1046a-msi"; 807 msi-controller; 808 reg = <0x0 0x1590000 0x0 0x10000>; 809 interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>, 810 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 811 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, 812 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; 813 }; 814 815 msi3: msi-controller@15a0000 { 816 compatible = "fsl,ls1046a-msi"; 817 msi-controller; 818 reg = <0x0 0x15a0000 0x0 0x10000>; 819 interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>, 820 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>, 821 <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>, 822 <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>; 823 }; 824 825 pcie1: pcie@3400000 { 826 compatible = "fsl,ls1046a-pcie"; 827 reg = <0x00 0x03400000 0x0 0x00100000>, /* controller registers */ 828 <0x40 0x00000000 0x0 0x00002000>; /* configuration space */ 829 reg-names = "regs", "config"; 830 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */ 831 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */ 832 interrupt-names = "pme", "aer"; 833 #address-cells = <3>; 834 #size-cells = <2>; 835 device_type = "pci"; 836 num-viewport = <8>; 837 bus-range = <0x0 0xff>; 838 ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */ 839 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ 840 msi-parent = <&msi1>, <&msi2>, <&msi3>; 841 #interrupt-cells = <1>; 842 interrupt-map-mask = <0 0 0 7>; 843 interrupt-map = <0000 0 0 1 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 844 <0000 0 0 2 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 845 <0000 0 0 3 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 846 <0000 0 0 4 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 847 big-endian; 848 status = "disabled"; 849 }; 850 851 pcie_ep1: pcie_ep@3400000 { 852 compatible = "fsl,ls1046a-pcie-ep"; 853 reg = <0x00 0x03400000 0x0 0x00100000>, 854 <0x40 0x00000000 0x8 0x00000000>; 855 reg-names = "regs", "addr_space"; 856 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 857 interrupt-names = "pme"; 858 num-ib-windows = <6>; 859 num-ob-windows = <8>; 860 big-endian; 861 status = "disabled"; 862 }; 863 864 pcie2: pcie@3500000 { 865 compatible = "fsl,ls1046a-pcie"; 866 reg = <0x00 0x03500000 0x0 0x00100000>, /* controller registers */ 867 <0x48 0x00000000 0x0 0x00002000>; /* configuration space */ 868 reg-names = "regs", "config"; 869 interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */ 870 <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */ 871 interrupt-names = "pme", "aer"; 872 #address-cells = <3>; 873 #size-cells = <2>; 874 device_type = "pci"; 875 num-viewport = <8>; 876 bus-range = <0x0 0xff>; 877 ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000 /* downstream I/O */ 878 0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ 879 msi-parent = <&msi2>, <&msi3>, <&msi1>; 880 #interrupt-cells = <1>; 881 interrupt-map-mask = <0 0 0 7>; 882 interrupt-map = <0000 0 0 1 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 883 <0000 0 0 2 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 884 <0000 0 0 3 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 885 <0000 0 0 4 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 886 big-endian; 887 status = "disabled"; 888 }; 889 890 pcie_ep2: pcie_ep@3500000 { 891 compatible = "fsl,ls1046a-pcie-ep"; 892 reg = <0x00 0x03500000 0x0 0x00100000>, 893 <0x48 0x00000000 0x8 0x00000000>; 894 reg-names = "regs", "addr_space"; 895 interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 896 interrupt-names = "pme"; 897 num-ib-windows = <6>; 898 num-ob-windows = <8>; 899 big-endian; 900 status = "disabled"; 901 }; 902 903 pcie3: pcie@3600000 { 904 compatible = "fsl,ls1046a-pcie"; 905 reg = <0x00 0x03600000 0x0 0x00100000>, /* controller registers */ 906 <0x50 0x00000000 0x0 0x00002000>; /* configuration space */ 907 reg-names = "regs", "config"; 908 interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */ 909 <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */ 910 interrupt-names = "pme", "aer"; 911 #address-cells = <3>; 912 #size-cells = <2>; 913 device_type = "pci"; 914 num-viewport = <8>; 915 bus-range = <0x0 0xff>; 916 ranges = <0x81000000 0x0 0x00000000 0x50 0x00010000 0x0 0x00010000 /* downstream I/O */ 917 0x82000000 0x0 0x40000000 0x50 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ 918 msi-parent = <&msi3>, <&msi1>, <&msi2>; 919 #interrupt-cells = <1>; 920 interrupt-map-mask = <0 0 0 7>; 921 interrupt-map = <0000 0 0 1 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>, 922 <0000 0 0 2 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>, 923 <0000 0 0 3 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>, 924 <0000 0 0 4 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; 925 big-endian; 926 status = "disabled"; 927 }; 928 929 pcie_ep3: pcie_ep@3600000 { 930 compatible = "fsl,ls1046a-pcie-ep"; 931 reg = <0x00 0x03600000 0x0 0x00100000>, 932 <0x50 0x00000000 0x8 0x00000000>; 933 reg-names = "regs", "addr_space"; 934 interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>; 935 interrupt-names = "pme"; 936 num-ib-windows = <6>; 937 num-ob-windows = <8>; 938 big-endian; 939 status = "disabled"; 940 }; 941 942 qdma: dma-controller@8380000 { 943 compatible = "fsl,ls1046a-qdma", "fsl,ls1021a-qdma"; 944 reg = <0x0 0x8380000 0x0 0x1000>, /* Controller regs */ 945 <0x0 0x8390000 0x0 0x10000>, /* Status regs */ 946 <0x0 0x83a0000 0x0 0x40000>; /* Block regs */ 947 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>, 948 <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 949 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 950 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 951 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 952 interrupt-names = "qdma-error", "qdma-queue0", 953 "qdma-queue1", "qdma-queue2", "qdma-queue3"; 954 #dma-cells = <1>; 955 dma-channels = <8>; 956 block-number = <1>; 957 block-offset = <0x10000>; 958 fsl,dma-queues = <2>; 959 status-sizes = <64>; 960 queue-sizes = <64 64>; 961 big-endian; 962 }; 963 964 rcpm: wakeup-controller@1ee2140 { 965 compatible = "fsl,ls1046a-rcpm", "fsl,qoriq-rcpm-2.1+"; 966 reg = <0x0 0x1ee2140 0x0 0x4>; 967 #fsl,rcpm-wakeup-cells = <1>; 968 }; 969 970 ftm_alarm0: rtc@29d0000 { 971 compatible = "fsl,ls1046a-ftm-alarm"; 972 reg = <0x0 0x29d0000 0x0 0x10000>; 973 fsl,rcpm-wakeup = <&rcpm 0x20000>; 974 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 975 big-endian; 976 }; 977 }; 978 979 reserved-memory { 980 #address-cells = <2>; 981 #size-cells = <2>; 982 ranges; 983 984 bman_fbpr: bman-fbpr { 985 compatible = "shared-dma-pool"; 986 size = <0 0x1000000>; 987 alignment = <0 0x1000000>; 988 no-map; 989 }; 990 991 qman_fqd: qman-fqd { 992 compatible = "shared-dma-pool"; 993 size = <0 0x800000>; 994 alignment = <0 0x800000>; 995 no-map; 996 }; 997 998 qman_pfdr: qman-pfdr { 999 compatible = "shared-dma-pool"; 1000 size = <0 0x2000000>; 1001 alignment = <0 0x2000000>; 1002 no-map; 1003 }; 1004 }; 1005 1006 firmware { 1007 optee { 1008 compatible = "linaro,optee-tz"; 1009 method = "smc"; 1010 }; 1011 }; 1012}; 1013 1014#include "qoriq-qman-portals.dtsi" 1015#include "qoriq-bman-portals.dtsi" 1016