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