xref: /linux/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi (revision 460e462d22542adfafd8a5bc979437df73f1cbf3)
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"
1011