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