1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Device Tree Include file for Freescale Layerscape-1043A family SoC.
5 * Copyright 2014-2015 Freescale Semiconductor, Inc.
8 * Mingkai Hu <Mingkai.hu@freescale.com>
11 #include <dt-bindings/thermal/thermal.h>
12 #include <dt-bindings/interrupt-controller/arm-gic.h>
15 compatible = "fsl,ls1043a";
16 interrupt-parent = <&gic>;
37 * We expect the enable-method for cpu's to be "psci", but this
38 * is dependent on the SoC FW, which will fill this in.
40 * Currently supported enable-method is psci v0.2
44 compatible = "arm,cortex-a53";
46 clocks = <&clockgen 1 0>;
47 next-level-cache = <&l2>;
48 cpu-idle-states = <&CPU_PH20>;
54 compatible = "arm,cortex-a53";
56 clocks = <&clockgen 1 0>;
57 next-level-cache = <&l2>;
58 cpu-idle-states = <&CPU_PH20>;
64 compatible = "arm,cortex-a53";
66 clocks = <&clockgen 1 0>;
67 next-level-cache = <&l2>;
68 cpu-idle-states = <&CPU_PH20>;
74 compatible = "arm,cortex-a53";
76 clocks = <&clockgen 1 0>;
77 next-level-cache = <&l2>;
78 cpu-idle-states = <&CPU_PH20>;
89 * PSCI node is not added default, U-boot will add missing
90 * parts if it determines to use PSCI.
92 entry-method = "psci";
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>;
105 device_type = "memory";
106 reg = <0x0 0x80000000 0 0x80000000>;
107 /* DRAM space 1, size: 2GiB DRAM */
111 #address-cells = <2>;
115 bman_fbpr: bman-fbpr {
116 compatible = "shared-dma-pool";
117 size = <0 0x1000000>;
118 alignment = <0 0x1000000>;
123 compatible = "shared-dma-pool";
125 alignment = <0 0x400000>;
129 qman_pfdr: qman-pfdr {
130 compatible = "shared-dma-pool";
131 size = <0 0x2000000>;
132 alignment = <0 0x2000000>;
138 compatible = "fixed-clock";
140 clock-frequency = <100000000>;
141 clock-output-names = "sysclk";
145 compatible ="syscon-reboot";
152 cpu_thermal: cpu-thermal {
153 polling-delay-passive = <1000>;
154 polling-delay = <5000>;
156 thermal-sensors = <&tmu 3>;
159 cpu_alert: cpu-alert {
160 temperature = <85000>;
165 temperature = <95000>;
175 <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
176 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
177 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
178 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
185 compatible = "arm,armv8-timer";
186 interrupts = <1 13 0xf08>, /* Physical Secure PPI */
187 <1 14 0xf08>, /* Physical Non-Secure PPI */
188 <1 11 0xf08>, /* Virtual PPI */
189 <1 10 0xf08>; /* Hypervisor PPI */
194 compatible = "arm,armv8-pmuv3";
195 interrupts = <0 106 0x4>,
199 interrupt-affinity = <&cpu0>,
205 gic: interrupt-controller@1400000 {
206 compatible = "arm,gic-400";
207 #interrupt-cells = <3>;
208 interrupt-controller;
209 reg = <0x0 0x1401000 0 0x1000>, /* GICD */
210 <0x0 0x1402000 0 0x2000>, /* GICC */
211 <0x0 0x1404000 0 0x2000>, /* GICH */
212 <0x0 0x1406000 0 0x2000>; /* GICV */
213 interrupts = <1 9 0xf08>;
217 compatible = "simple-bus";
218 #address-cells = <2>;
222 clockgen: clocking@1ee1000 {
223 compatible = "fsl,ls1043a-clockgen";
224 reg = <0x0 0x1ee1000 0x0 0x1000>;
230 compatible = "fsl,ls1043a-scfg", "syscon";
231 reg = <0x0 0x1570000 0x0 0x10000>;
235 crypto: crypto@1700000 {
236 compatible = "fsl,sec-v5.4", "fsl,sec-v5.0",
239 #address-cells = <1>;
241 ranges = <0x0 0x00 0x1700000 0x100000>;
242 reg = <0x00 0x1700000 0x0 0x100000>;
243 interrupts = <0 75 0x4>;
247 compatible = "fsl,sec-v5.4-job-ring",
248 "fsl,sec-v5.0-job-ring",
249 "fsl,sec-v4.0-job-ring";
250 reg = <0x10000 0x10000>;
251 interrupts = <0 71 0x4>;
255 compatible = "fsl,sec-v5.4-job-ring",
256 "fsl,sec-v5.0-job-ring",
257 "fsl,sec-v4.0-job-ring";
258 reg = <0x20000 0x10000>;
259 interrupts = <0 72 0x4>;
263 compatible = "fsl,sec-v5.4-job-ring",
264 "fsl,sec-v5.0-job-ring",
265 "fsl,sec-v4.0-job-ring";
266 reg = <0x30000 0x10000>;
267 interrupts = <0 73 0x4>;
271 compatible = "fsl,sec-v5.4-job-ring",
272 "fsl,sec-v5.0-job-ring",
273 "fsl,sec-v4.0-job-ring";
274 reg = <0x40000 0x10000>;
275 interrupts = <0 74 0x4>;
280 compatible = "fsl,ls1043a-dcfg", "syscon";
281 reg = <0x0 0x1ee0000 0x0 0x10000>;
286 compatible = "fsl,ifc", "simple-bus";
287 reg = <0x0 0x1530000 0x0 0x10000>;
288 interrupts = <0 43 0x4>;
292 compatible = "fsl,ls1043a-qspi", "fsl,ls1021a-qspi";
293 #address-cells = <1>;
295 reg = <0x0 0x1550000 0x0 0x10000>,
296 <0x0 0x40000000 0x0 0x4000000>;
297 reg-names = "QuadSPI", "QuadSPI-memory";
298 interrupts = <0 99 0x4>;
299 clock-names = "qspi_en", "qspi";
300 clocks = <&clockgen 4 0>, <&clockgen 4 0>;
304 esdhc: esdhc@1560000 {
305 compatible = "fsl,ls1043a-esdhc", "fsl,esdhc";
306 reg = <0x0 0x1560000 0x0 0x10000>;
307 interrupts = <0 62 0x4>;
308 clock-frequency = <0>;
309 voltage-ranges = <1800 1800 3300 3300>;
315 ddr: memory-controller@1080000 {
316 compatible = "fsl,qoriq-memory-controller";
317 reg = <0x0 0x1080000 0x0 0x1000>;
318 interrupts = <0 144 0x4>;
323 compatible = "fsl,qoriq-tmu";
324 reg = <0x0 0x1f00000 0x0 0x10000>;
325 interrupts = <0 33 0x4>;
326 fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x30062>;
327 fsl,tmu-calibration = <0x00000000 0x00000026
328 0x00000001 0x0000002d
329 0x00000002 0x00000032
330 0x00000003 0x00000039
331 0x00000004 0x0000003f
332 0x00000005 0x00000046
333 0x00000006 0x0000004d
334 0x00000007 0x00000054
335 0x00000008 0x0000005a
336 0x00000009 0x00000061
337 0x0000000a 0x0000006a
338 0x0000000b 0x00000071
340 0x00010000 0x00000025
341 0x00010001 0x0000002c
342 0x00010002 0x00000035
343 0x00010003 0x0000003d
344 0x00010004 0x00000045
345 0x00010005 0x0000004e
346 0x00010006 0x00000057
347 0x00010007 0x00000061
348 0x00010008 0x0000006b
349 0x00010009 0x00000076
351 0x00020000 0x00000029
352 0x00020001 0x00000033
353 0x00020002 0x0000003d
354 0x00020003 0x00000049
355 0x00020004 0x00000056
356 0x00020005 0x00000061
357 0x00020006 0x0000006d
359 0x00030000 0x00000021
360 0x00030001 0x0000002a
361 0x00030002 0x0000003c
362 0x00030003 0x0000004e>;
363 #thermal-sensor-cells = <1>;
367 compatible = "fsl,qman";
368 reg = <0x0 0x1880000 0x0 0x10000>;
369 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
370 memory-region = <&qman_fqd &qman_pfdr>;
374 compatible = "fsl,bman";
375 reg = <0x0 0x1890000 0x0 0x10000>;
376 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
377 memory-region = <&bman_fbpr>;
380 bportals: bman-portals@508000000 {
381 ranges = <0x0 0x5 0x08000000 0x8000000>;
384 qportals: qman-portals@500000000 {
385 ranges = <0x0 0x5 0x00000000 0x8000000>;
389 compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-dspi";
390 #address-cells = <1>;
392 reg = <0x0 0x2100000 0x0 0x10000>;
393 interrupts = <0 64 0x4>;
394 clock-names = "dspi";
395 clocks = <&clockgen 4 0>;
396 spi-num-chipselects = <5>;
402 compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-dspi";
403 #address-cells = <1>;
405 reg = <0x0 0x2110000 0x0 0x10000>;
406 interrupts = <0 65 0x4>;
407 clock-names = "dspi";
408 clocks = <&clockgen 4 0>;
409 spi-num-chipselects = <5>;
415 compatible = "fsl,vf610-i2c";
416 #address-cells = <1>;
418 reg = <0x0 0x2180000 0x0 0x10000>;
419 interrupts = <0 56 0x4>;
421 clocks = <&clockgen 4 0>;
422 dmas = <&edma0 1 39>,
424 dma-names = "tx", "rx";
429 compatible = "fsl,vf610-i2c";
430 #address-cells = <1>;
432 reg = <0x0 0x2190000 0x0 0x10000>;
433 interrupts = <0 57 0x4>;
435 clocks = <&clockgen 4 0>;
440 compatible = "fsl,vf610-i2c";
441 #address-cells = <1>;
443 reg = <0x0 0x21a0000 0x0 0x10000>;
444 interrupts = <0 58 0x4>;
446 clocks = <&clockgen 4 0>;
451 compatible = "fsl,vf610-i2c";
452 #address-cells = <1>;
454 reg = <0x0 0x21b0000 0x0 0x10000>;
455 interrupts = <0 59 0x4>;
457 clocks = <&clockgen 4 0>;
461 duart0: serial@21c0500 {
462 compatible = "fsl,ns16550", "ns16550a";
463 reg = <0x00 0x21c0500 0x0 0x100>;
464 interrupts = <0 54 0x4>;
465 clocks = <&clockgen 4 0>;
468 duart1: serial@21c0600 {
469 compatible = "fsl,ns16550", "ns16550a";
470 reg = <0x00 0x21c0600 0x0 0x100>;
471 interrupts = <0 54 0x4>;
472 clocks = <&clockgen 4 0>;
475 duart2: serial@21d0500 {
476 compatible = "fsl,ns16550", "ns16550a";
477 reg = <0x0 0x21d0500 0x0 0x100>;
478 interrupts = <0 55 0x4>;
479 clocks = <&clockgen 4 0>;
482 duart3: serial@21d0600 {
483 compatible = "fsl,ns16550", "ns16550a";
484 reg = <0x0 0x21d0600 0x0 0x100>;
485 interrupts = <0 55 0x4>;
486 clocks = <&clockgen 4 0>;
489 gpio1: gpio@2300000 {
490 compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
491 reg = <0x0 0x2300000 0x0 0x10000>;
492 interrupts = <0 66 0x4>;
495 interrupt-controller;
496 #interrupt-cells = <2>;
499 gpio2: gpio@2310000 {
500 compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
501 reg = <0x0 0x2310000 0x0 0x10000>;
502 interrupts = <0 67 0x4>;
505 interrupt-controller;
506 #interrupt-cells = <2>;
509 gpio3: gpio@2320000 {
510 compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
511 reg = <0x0 0x2320000 0x0 0x10000>;
512 interrupts = <0 68 0x4>;
515 interrupt-controller;
516 #interrupt-cells = <2>;
519 gpio4: gpio@2330000 {
520 compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
521 reg = <0x0 0x2330000 0x0 0x10000>;
522 interrupts = <0 134 0x4>;
525 interrupt-controller;
526 #interrupt-cells = <2>;
529 lpuart0: serial@2950000 {
530 compatible = "fsl,ls1021a-lpuart";
531 reg = <0x0 0x2950000 0x0 0x1000>;
532 interrupts = <0 48 0x4>;
533 clocks = <&clockgen 0 0>;
538 lpuart1: serial@2960000 {
539 compatible = "fsl,ls1021a-lpuart";
540 reg = <0x0 0x2960000 0x0 0x1000>;
541 interrupts = <0 49 0x4>;
542 clocks = <&clockgen 4 0>;
547 lpuart2: serial@2970000 {
548 compatible = "fsl,ls1021a-lpuart";
549 reg = <0x0 0x2970000 0x0 0x1000>;
550 interrupts = <0 50 0x4>;
551 clocks = <&clockgen 4 0>;
556 lpuart3: serial@2980000 {
557 compatible = "fsl,ls1021a-lpuart";
558 reg = <0x0 0x2980000 0x0 0x1000>;
559 interrupts = <0 51 0x4>;
560 clocks = <&clockgen 4 0>;
565 lpuart4: serial@2990000 {
566 compatible = "fsl,ls1021a-lpuart";
567 reg = <0x0 0x2990000 0x0 0x1000>;
568 interrupts = <0 52 0x4>;
569 clocks = <&clockgen 4 0>;
574 lpuart5: serial@29a0000 {
575 compatible = "fsl,ls1021a-lpuart";
576 reg = <0x0 0x29a0000 0x0 0x1000>;
577 interrupts = <0 53 0x4>;
578 clocks = <&clockgen 4 0>;
583 wdog0: wdog@2ad0000 {
584 compatible = "fsl,ls1043a-wdt", "fsl,imx21-wdt";
585 reg = <0x0 0x2ad0000 0x0 0x10000>;
586 interrupts = <0 83 0x4>;
587 clocks = <&clockgen 4 0>;
588 clock-names = "wdog";
592 edma0: edma@2c00000 {
594 compatible = "fsl,vf610-edma";
595 reg = <0x0 0x2c00000 0x0 0x10000>,
596 <0x0 0x2c10000 0x0 0x10000>,
597 <0x0 0x2c20000 0x0 0x10000>;
598 interrupts = <0 103 0x4>,
600 interrupt-names = "edma-tx", "edma-err";
603 clock-names = "dmamux0", "dmamux1";
604 clocks = <&clockgen 4 0>,
609 compatible = "snps,dwc3";
610 reg = <0x0 0x2f00000 0x0 0x10000>;
611 interrupts = <0 60 0x4>;
613 snps,quirk-frame-length-adjustment = <0x20>;
614 snps,dis_rxdet_inp3_quirk;
615 snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
619 compatible = "snps,dwc3";
620 reg = <0x0 0x3000000 0x0 0x10000>;
621 interrupts = <0 61 0x4>;
623 snps,quirk-frame-length-adjustment = <0x20>;
624 snps,dis_rxdet_inp3_quirk;
625 snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
629 compatible = "snps,dwc3";
630 reg = <0x0 0x3100000 0x0 0x10000>;
631 interrupts = <0 63 0x4>;
633 snps,quirk-frame-length-adjustment = <0x20>;
634 snps,dis_rxdet_inp3_quirk;
635 snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
639 compatible = "fsl,ls1043a-ahci";
640 reg = <0x0 0x3200000 0x0 0x10000>,
641 <0x0 0x20140520 0x0 0x4>;
642 reg-names = "ahci", "sata-ecc";
643 interrupts = <0 69 0x4>;
644 clocks = <&clockgen 4 0>;
648 msi1: msi-controller1@1571000 {
649 compatible = "fsl,ls1043a-msi";
650 reg = <0x0 0x1571000 0x0 0x8>;
652 interrupts = <0 116 0x4>;
655 msi2: msi-controller2@1572000 {
656 compatible = "fsl,ls1043a-msi";
657 reg = <0x0 0x1572000 0x0 0x8>;
659 interrupts = <0 126 0x4>;
662 msi3: msi-controller3@1573000 {
663 compatible = "fsl,ls1043a-msi";
664 reg = <0x0 0x1573000 0x0 0x8>;
666 interrupts = <0 160 0x4>;
670 compatible = "fsl,ls1043a-pcie";
671 reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */
672 0x40 0x00000000 0x0 0x00002000>; /* configuration space */
673 reg-names = "regs", "config";
674 interrupts = <0 118 0x4>, /* controller interrupt */
675 <0 117 0x4>; /* PME interrupt */
676 interrupt-names = "intr", "pme";
677 #address-cells = <3>;
682 bus-range = <0x0 0xff>;
683 ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */
684 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
685 msi-parent = <&msi1>, <&msi2>, <&msi3>;
686 #interrupt-cells = <1>;
687 interrupt-map-mask = <0 0 0 7>;
688 interrupt-map = <0000 0 0 1 &gic 0 110 0x4>,
689 <0000 0 0 2 &gic 0 111 0x4>,
690 <0000 0 0 3 &gic 0 112 0x4>,
691 <0000 0 0 4 &gic 0 113 0x4>;
696 compatible = "fsl,ls1043a-pcie";
697 reg = <0x00 0x03500000 0x0 0x00100000 /* controller registers */
698 0x48 0x00000000 0x0 0x00002000>; /* configuration space */
699 reg-names = "regs", "config";
700 interrupts = <0 128 0x4>,
702 interrupt-names = "intr", "pme";
703 #address-cells = <3>;
708 bus-range = <0x0 0xff>;
709 ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000 /* downstream I/O */
710 0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
711 msi-parent = <&msi1>, <&msi2>, <&msi3>;
712 #interrupt-cells = <1>;
713 interrupt-map-mask = <0 0 0 7>;
714 interrupt-map = <0000 0 0 1 &gic 0 120 0x4>,
715 <0000 0 0 2 &gic 0 121 0x4>,
716 <0000 0 0 3 &gic 0 122 0x4>,
717 <0000 0 0 4 &gic 0 123 0x4>;
722 compatible = "fsl,ls1043a-pcie";
723 reg = <0x00 0x03600000 0x0 0x00100000 /* controller registers */
724 0x50 0x00000000 0x0 0x00002000>; /* configuration space */
725 reg-names = "regs", "config";
726 interrupts = <0 162 0x4>,
728 interrupt-names = "intr", "pme";
729 #address-cells = <3>;
734 bus-range = <0x0 0xff>;
735 ranges = <0x81000000 0x0 0x00000000 0x50 0x00010000 0x0 0x00010000 /* downstream I/O */
736 0x82000000 0x0 0x40000000 0x50 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
737 msi-parent = <&msi1>, <&msi2>, <&msi3>;
738 #interrupt-cells = <1>;
739 interrupt-map-mask = <0 0 0 7>;
740 interrupt-map = <0000 0 0 1 &gic 0 154 0x4>,
741 <0000 0 0 2 &gic 0 155 0x4>,
742 <0000 0 0 3 &gic 0 156 0x4>,
743 <0000 0 0 4 &gic 0 157 0x4>;
747 qdma: dma-controller@8380000 {
748 compatible = "fsl,ls1021a-qdma", "fsl,ls1043a-qdma";
749 reg = <0x0 0x8380000 0x0 0x1000>, /* Controller regs */
750 <0x0 0x8390000 0x0 0x10000>, /* Status regs */
751 <0x0 0x83a0000 0x0 0x40000>; /* Block regs */
752 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
753 <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
754 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
755 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
756 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
757 interrupt-names = "qdma-error", "qdma-queue0",
758 "qdma-queue1", "qdma-queue2", "qdma-queue3";
761 block-offset = <0x10000>;
762 fsl,dma-queues = <2>;
764 queue-sizes = <64 64>;
772 compatible = "linaro,optee-tz";
779 #include "qoriq-qman-portals.dtsi"
780 #include "qoriq-bman-portals.dtsi"