1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright 2013-2014 Freescale Semiconductor, Inc.
4 */
5
6#include <dt-bindings/interrupt-controller/arm-gic.h>
7#include <dt-bindings/thermal/thermal.h>
8
9/ {
10	#address-cells = <2>;
11	#size-cells = <2>;
12	interrupt-parent = <&gic>;
13
14	aliases {
15		crypto = &crypto;
16		ethernet0 = &enet0;
17		ethernet1 = &enet1;
18		ethernet2 = &enet2;
19		rtc1 = &ftm_alarm0;
20		serial0 = &lpuart0;
21		serial1 = &lpuart1;
22		serial2 = &lpuart2;
23		serial3 = &lpuart3;
24		serial4 = &lpuart4;
25		serial5 = &lpuart5;
26		sysclk = &sysclk;
27	};
28
29	cpus {
30		#address-cells = <1>;
31		#size-cells = <0>;
32
33		cpu0: cpu@f00 {
34			compatible = "arm,cortex-a7";
35			device_type = "cpu";
36			reg = <0xf00>;
37			clocks = <&clockgen 1 0>;
38			#cooling-cells = <2>;
39		};
40
41		cpu1: cpu@f01 {
42			compatible = "arm,cortex-a7";
43			device_type = "cpu";
44			reg = <0xf01>;
45			clocks = <&clockgen 1 0>;
46			#cooling-cells = <2>;
47		};
48	};
49
50	memory@0 {
51		device_type = "memory";
52		reg = <0x0 0x0 0x0 0x0>;
53	};
54
55	sysclk: sysclk {
56		compatible = "fixed-clock";
57		#clock-cells = <0>;
58		clock-frequency = <100000000>;
59		clock-output-names = "sysclk";
60	};
61
62	timer {
63		compatible = "arm,armv7-timer";
64		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
65			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
66			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
67			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
68	};
69
70	pmu {
71		compatible = "arm,cortex-a7-pmu";
72		interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
73			     <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
74		interrupt-affinity = <&cpu0>, <&cpu1>;
75	};
76
77	reboot {
78		compatible = "syscon-reboot";
79		regmap = <&dcfg>;
80		offset = <0xb0>;
81		mask = <0x02>;
82	};
83
84	soc {
85		compatible = "simple-bus";
86		#address-cells = <2>;
87		#size-cells = <2>;
88		device_type = "soc";
89		interrupt-parent = <&gic>;
90		ranges;
91
92		ddr: memory-controller@1080000 {
93			compatible = "fsl,qoriq-memory-controller";
94			reg = <0x0 0x1080000 0x0 0x1000>;
95			interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
96			big-endian;
97		};
98
99		gic: interrupt-controller@1400000 {
100			compatible = "arm,gic-400", "arm,cortex-a7-gic";
101			#interrupt-cells = <3>;
102			interrupt-controller;
103			reg = <0x0 0x1401000 0x0 0x1000>,
104			      <0x0 0x1402000 0x0 0x2000>,
105			      <0x0 0x1404000 0x0 0x2000>,
106			      <0x0 0x1406000 0x0 0x2000>;
107			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
108
109		};
110
111		msi1: msi-controller@1570e00 {
112			compatible = "fsl,ls1021a-msi";
113			reg = <0x0 0x1570e00 0x0 0x8>;
114			msi-controller;
115			interrupts =  <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>;
116		};
117
118		msi2: msi-controller@1570e08 {
119			compatible = "fsl,ls1021a-msi";
120			reg = <0x0 0x1570e08 0x0 0x8>;
121			msi-controller;
122			interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
123		};
124
125		ifc: memory-controller@1530000 {
126			compatible = "fsl,ifc";
127			reg = <0x0 0x1530000 0x0 0x10000>;
128			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
129			status = "disabled";
130		};
131
132		sfp: efuse@1e80000 {
133			compatible = "fsl,ls1021a-sfp";
134			reg = <0x0 0x1e80000 0x0 0x10000>;
135			clocks = <&clockgen 4 3>;
136			clock-names = "sfp";
137		};
138
139		dcfg: dcfg@1ee0000 {
140			compatible = "fsl,ls1021a-dcfg", "syscon";
141			reg = <0x0 0x1ee0000 0x0 0x1000>;
142			big-endian;
143		};
144
145		qspi: spi@1550000 {
146			compatible = "fsl,ls1021a-qspi";
147			#address-cells = <1>;
148			#size-cells = <0>;
149			reg = <0x0 0x1550000 0x0 0x10000>,
150			      <0x0 0x40000000 0x0 0x20000000>;
151			reg-names = "QuadSPI", "QuadSPI-memory";
152			interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
153			clock-names = "qspi_en", "qspi";
154			clocks = <&clockgen 4 1>, <&clockgen 4 1>;
155			status = "disabled";
156		};
157
158		esdhc: esdhc@1560000 {
159			compatible = "fsl,ls1021a-esdhc", "fsl,esdhc";
160			reg = <0x0 0x1560000 0x0 0x10000>;
161			interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
162			clock-frequency = <0>;
163			voltage-ranges = <1800 1800 3300 3300>;
164			sdhci,auto-cmd12;
165			big-endian;
166			bus-width = <4>;
167			status = "disabled";
168		};
169
170		sata: sata@3200000 {
171			compatible = "fsl,ls1021a-ahci";
172			reg = <0x0 0x3200000 0x0 0x10000>,
173			      <0x0 0x20220520 0x0 0x4>;
174			reg-names = "ahci", "sata-ecc";
175			interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
176			clocks = <&clockgen 4 1>;
177			dma-coherent;
178			status = "disabled";
179		};
180
181		scfg: scfg@1570000 {
182			compatible = "fsl,ls1021a-scfg", "syscon";
183			reg = <0x0 0x1570000 0x0 0x10000>;
184			big-endian;
185			#address-cells = <1>;
186			#size-cells = <1>;
187			ranges = <0x0 0x0 0x1570000 0x10000>;
188
189			extirq: interrupt-controller@1ac {
190				compatible = "fsl,ls1021a-extirq";
191				#interrupt-cells = <2>;
192				#address-cells = <0>;
193				interrupt-controller;
194				reg = <0x1ac 4>;
195				interrupt-map =
196					<0 0 &gic GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
197					<1 0 &gic GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
198					<2 0 &gic GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
199					<3 0 &gic GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
200					<4 0 &gic GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
201					<5 0 &gic GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
202				interrupt-map-mask = <0x7 0x0>;
203			};
204		};
205
206		crypto: crypto@1700000 {
207			compatible = "fsl,sec-v5.0", "fsl,sec-v4.0";
208			fsl,sec-era = <7>;
209			#address-cells = <1>;
210			#size-cells = <1>;
211			reg		 = <0x0 0x1700000 0x0 0x100000>;
212			ranges		 = <0x0 0x0 0x1700000 0x100000>;
213			interrupts	 = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
214			dma-coherent;
215
216			sec_jr0: jr@10000 {
217				compatible = "fsl,sec-v5.0-job-ring",
218				     "fsl,sec-v4.0-job-ring";
219				reg = <0x10000 0x10000>;
220				interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
221			};
222
223			sec_jr1: jr@20000 {
224				compatible = "fsl,sec-v5.0-job-ring",
225				     "fsl,sec-v4.0-job-ring";
226				reg = <0x20000 0x10000>;
227				interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
228			};
229
230			sec_jr2: jr@30000 {
231				compatible = "fsl,sec-v5.0-job-ring",
232				     "fsl,sec-v4.0-job-ring";
233				reg = <0x30000 0x10000>;
234				interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
235			};
236
237			sec_jr3: jr@40000 {
238				compatible = "fsl,sec-v5.0-job-ring",
239				     "fsl,sec-v4.0-job-ring";
240				reg = <0x40000 0x10000>;
241				interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
242			};
243
244		};
245
246		clockgen: clocking@1ee1000 {
247			compatible = "fsl,ls1021a-clockgen";
248			reg = <0x0 0x1ee1000 0x0 0x1000>;
249			#clock-cells = <2>;
250			clocks = <&sysclk>;
251		};
252
253		tmu: tmu@1f00000 {
254			compatible = "fsl,qoriq-tmu";
255			reg = <0x0 0x1f00000 0x0 0x10000>;
256			interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
257			fsl,tmu-range = <0xb0000 0x9002c 0x6004e 0x30066>;
258			fsl,tmu-calibration = <0x00000000 0x00000020>,
259					      <0x00000001 0x00000024>,
260					      <0x00000002 0x0000002a>,
261					      <0x00000003 0x00000032>,
262					      <0x00000004 0x00000038>,
263					      <0x00000005 0x0000003e>,
264					      <0x00000006 0x00000043>,
265					      <0x00000007 0x0000004a>,
266					      <0x00000008 0x00000050>,
267					      <0x00000009 0x00000059>,
268					      <0x0000000a 0x0000005f>,
269					      <0x0000000b 0x00000066>,
270
271					      <0x00010000 0x00000023>,
272					      <0x00010001 0x0000002b>,
273					      <0x00010002 0x00000033>,
274					      <0x00010003 0x0000003a>,
275					      <0x00010004 0x00000042>,
276					      <0x00010005 0x0000004a>,
277					      <0x00010006 0x00000054>,
278					      <0x00010007 0x0000005c>,
279					      <0x00010008 0x00000065>,
280					      <0x00010009 0x0000006f>,
281
282					      <0x00020000 0x00000029>,
283					      <0x00020001 0x00000033>,
284					      <0x00020002 0x0000003d>,
285					      <0x00020003 0x00000048>,
286					      <0x00020004 0x00000054>,
287					      <0x00020005 0x00000060>,
288					      <0x00020006 0x0000006c>,
289
290					      <0x00030000 0x00000025>,
291					      <0x00030001 0x00000033>,
292					      <0x00030002 0x00000043>,
293					      <0x00030003 0x00000055>;
294			#thermal-sensor-cells = <1>;
295		};
296
297		dspi0: spi@2100000 {
298			compatible = "fsl,ls1021a-v1.0-dspi";
299			#address-cells = <1>;
300			#size-cells = <0>;
301			reg = <0x0 0x2100000 0x0 0x10000>;
302			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
303			clock-names = "dspi";
304			clocks = <&clockgen 4 1>;
305			spi-num-chipselects = <6>;
306			big-endian;
307			status = "disabled";
308		};
309
310		dspi1: spi@2110000 {
311			compatible = "fsl,ls1021a-v1.0-dspi";
312			#address-cells = <1>;
313			#size-cells = <0>;
314			reg = <0x0 0x2110000 0x0 0x10000>;
315			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
316			clock-names = "dspi";
317			clocks = <&clockgen 4 1>;
318			spi-num-chipselects = <6>;
319			big-endian;
320			status = "disabled";
321		};
322
323		i2c0: i2c@2180000 {
324			compatible = "fsl,vf610-i2c";
325			#address-cells = <1>;
326			#size-cells = <0>;
327			reg = <0x0 0x2180000 0x0 0x10000>;
328			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
329			clocks = <&clockgen 4 1>;
330			dma-names = "rx", "tx";
331			dmas = <&edma0 1 38>, <&edma0 1 39>;
332			status = "disabled";
333		};
334
335		i2c1: i2c@2190000 {
336			compatible = "fsl,vf610-i2c";
337			#address-cells = <1>;
338			#size-cells = <0>;
339			reg = <0x0 0x2190000 0x0 0x10000>;
340			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
341			clocks = <&clockgen 4 1>;
342			dma-names = "rx", "tx";
343			dmas = <&edma0 1 36>, <&edma0 1 37>;
344			status = "disabled";
345		};
346
347		i2c2: i2c@21a0000 {
348			compatible = "fsl,vf610-i2c";
349			#address-cells = <1>;
350			#size-cells = <0>;
351			reg = <0x0 0x21a0000 0x0 0x10000>;
352			interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
353			clocks = <&clockgen 4 1>;
354			dma-names = "rx", "tx";
355			dmas = <&edma0 1 34>, <&edma0 1 35>;
356			status = "disabled";
357		};
358
359		uart0: serial@21c0500 {
360			compatible = "fsl,16550-FIFO64", "ns16550a";
361			reg = <0x0 0x21c0500 0x0 0x100>;
362			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
363			clock-frequency = <0>;
364			fifo-size = <15>;
365			status = "disabled";
366		};
367
368		uart1: serial@21c0600 {
369			compatible = "fsl,16550-FIFO64", "ns16550a";
370			reg = <0x0 0x21c0600 0x0 0x100>;
371			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
372			clock-frequency = <0>;
373			fifo-size = <15>;
374			status = "disabled";
375		};
376
377		uart2: serial@21d0500 {
378			compatible = "fsl,16550-FIFO64", "ns16550a";
379			reg = <0x0 0x21d0500 0x0 0x100>;
380			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
381			clock-frequency = <0>;
382			fifo-size = <15>;
383			status = "disabled";
384		};
385
386		uart3: serial@21d0600 {
387			compatible = "fsl,16550-FIFO64", "ns16550a";
388			reg = <0x0 0x21d0600 0x0 0x100>;
389			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
390			clock-frequency = <0>;
391			fifo-size = <15>;
392			status = "disabled";
393		};
394
395		counter0: counter@29d0000 {
396			compatible = "fsl,ftm-quaddec";
397			reg = <0x0 0x29d0000 0x0 0x10000>;
398			big-endian;
399			status = "disabled";
400		};
401
402		counter1: counter@29e0000 {
403			compatible = "fsl,ftm-quaddec";
404			reg = <0x0 0x29e0000 0x0 0x10000>;
405			big-endian;
406			status = "disabled";
407		};
408
409		counter2: counter@29f0000 {
410			compatible = "fsl,ftm-quaddec";
411			reg = <0x0 0x29f0000 0x0 0x10000>;
412			big-endian;
413			status = "disabled";
414		};
415
416		counter3: counter@2a00000 {
417			compatible = "fsl,ftm-quaddec";
418			reg = <0x0 0x2a00000 0x0 0x10000>;
419			big-endian;
420			status = "disabled";
421		};
422
423		gpio0: gpio@2300000 {
424			compatible = "fsl,ls1021a-gpio", "fsl,qoriq-gpio";
425			reg = <0x0 0x2300000 0x0 0x10000>;
426			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
427			gpio-controller;
428			#gpio-cells = <2>;
429			interrupt-controller;
430			#interrupt-cells = <2>;
431		};
432
433		gpio1: gpio@2310000 {
434			compatible = "fsl,ls1021a-gpio", "fsl,qoriq-gpio";
435			reg = <0x0 0x2310000 0x0 0x10000>;
436			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
437			gpio-controller;
438			#gpio-cells = <2>;
439			interrupt-controller;
440			#interrupt-cells = <2>;
441		};
442
443		gpio2: gpio@2320000 {
444			compatible = "fsl,ls1021a-gpio", "fsl,qoriq-gpio";
445			reg = <0x0 0x2320000 0x0 0x10000>;
446			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
447			gpio-controller;
448			#gpio-cells = <2>;
449			interrupt-controller;
450			#interrupt-cells = <2>;
451		};
452
453		gpio3: gpio@2330000 {
454			compatible = "fsl,ls1021a-gpio", "fsl,qoriq-gpio";
455			reg = <0x0 0x2330000 0x0 0x10000>;
456			interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
457			gpio-controller;
458			#gpio-cells = <2>;
459			interrupt-controller;
460			#interrupt-cells = <2>;
461		};
462
463		lpuart0: serial@2950000 {
464			compatible = "fsl,ls1021a-lpuart";
465			reg = <0x0 0x2950000 0x0 0x1000>;
466			interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
467			clocks = <&sysclk>;
468			clock-names = "ipg";
469			status = "disabled";
470		};
471
472		lpuart1: serial@2960000 {
473			compatible = "fsl,ls1021a-lpuart";
474			reg = <0x0 0x2960000 0x0 0x1000>;
475			interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
476			clocks = <&clockgen 4 1>;
477			clock-names = "ipg";
478			status = "disabled";
479		};
480
481		lpuart2: serial@2970000 {
482			compatible = "fsl,ls1021a-lpuart";
483			reg = <0x0 0x2970000 0x0 0x1000>;
484			interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
485			clocks = <&clockgen 4 1>;
486			clock-names = "ipg";
487			status = "disabled";
488		};
489
490		lpuart3: serial@2980000 {
491			compatible = "fsl,ls1021a-lpuart";
492			reg = <0x0 0x2980000 0x0 0x1000>;
493			interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
494			clocks = <&clockgen 4 1>;
495			clock-names = "ipg";
496			status = "disabled";
497		};
498
499		lpuart4: serial@2990000 {
500			compatible = "fsl,ls1021a-lpuart";
501			reg = <0x0 0x2990000 0x0 0x1000>;
502			interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
503			clocks = <&clockgen 4 1>;
504			clock-names = "ipg";
505			status = "disabled";
506		};
507
508		lpuart5: serial@29a0000 {
509			compatible = "fsl,ls1021a-lpuart";
510			reg = <0x0 0x29a0000 0x0 0x1000>;
511			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
512			clocks = <&clockgen 4 1>;
513			clock-names = "ipg";
514			status = "disabled";
515		};
516
517		pwm0: pwm@29d0000 {
518			compatible = "fsl,vf610-ftm-pwm";
519			#pwm-cells = <3>;
520			reg = <0x0 0x29d0000 0x0 0x10000>;
521			clock-names = "ftm_sys", "ftm_ext",
522				"ftm_fix", "ftm_cnt_clk_en";
523			clocks = <&clockgen 4 1>, <&clockgen 4 1>,
524				<&clockgen 4 1>, <&clockgen 4 1>;
525			big-endian;
526			status = "disabled";
527		};
528
529		pwm1: pwm@29e0000 {
530			compatible = "fsl,vf610-ftm-pwm";
531			#pwm-cells = <3>;
532			reg = <0x0 0x29e0000 0x0 0x10000>;
533			clock-names = "ftm_sys", "ftm_ext",
534				"ftm_fix", "ftm_cnt_clk_en";
535			clocks = <&clockgen 4 1>, <&clockgen 4 1>,
536				<&clockgen 4 1>, <&clockgen 4 1>;
537			big-endian;
538			status = "disabled";
539		};
540
541		pwm2: pwm@29f0000 {
542			compatible = "fsl,vf610-ftm-pwm";
543			#pwm-cells = <3>;
544			reg = <0x0 0x29f0000 0x0 0x10000>;
545			clock-names = "ftm_sys", "ftm_ext",
546				"ftm_fix", "ftm_cnt_clk_en";
547			clocks = <&clockgen 4 1>, <&clockgen 4 1>,
548				<&clockgen 4 1>, <&clockgen 4 1>;
549			big-endian;
550			status = "disabled";
551		};
552
553		pwm3: pwm@2a00000 {
554			compatible = "fsl,vf610-ftm-pwm";
555			#pwm-cells = <3>;
556			reg = <0x0 0x2a00000 0x0 0x10000>;
557			clock-names = "ftm_sys", "ftm_ext",
558				"ftm_fix", "ftm_cnt_clk_en";
559			clocks = <&clockgen 4 1>, <&clockgen 4 1>,
560				<&clockgen 4 1>, <&clockgen 4 1>;
561			big-endian;
562			status = "disabled";
563		};
564
565		pwm4: pwm@2a10000 {
566			compatible = "fsl,vf610-ftm-pwm";
567			#pwm-cells = <3>;
568			reg = <0x0 0x2a10000 0x0 0x10000>;
569			clock-names = "ftm_sys", "ftm_ext",
570				"ftm_fix", "ftm_cnt_clk_en";
571			clocks = <&clockgen 4 1>, <&clockgen 4 1>,
572				<&clockgen 4 1>, <&clockgen 4 1>;
573			big-endian;
574			status = "disabled";
575		};
576
577		pwm5: pwm@2a20000 {
578			compatible = "fsl,vf610-ftm-pwm";
579			#pwm-cells = <3>;
580			reg = <0x0 0x2a20000 0x0 0x10000>;
581			clock-names = "ftm_sys", "ftm_ext",
582				"ftm_fix", "ftm_cnt_clk_en";
583			clocks = <&clockgen 4 1>, <&clockgen 4 1>,
584				<&clockgen 4 1>, <&clockgen 4 1>;
585			big-endian;
586			status = "disabled";
587		};
588
589		pwm6: pwm@2a30000 {
590			compatible = "fsl,vf610-ftm-pwm";
591			#pwm-cells = <3>;
592			reg = <0x0 0x2a30000 0x0 0x10000>;
593			clock-names = "ftm_sys", "ftm_ext",
594				"ftm_fix", "ftm_cnt_clk_en";
595			clocks = <&clockgen 4 1>, <&clockgen 4 1>,
596				<&clockgen 4 1>, <&clockgen 4 1>;
597			big-endian;
598			status = "disabled";
599		};
600
601		pwm7: pwm@2a40000 {
602			compatible = "fsl,vf610-ftm-pwm";
603			#pwm-cells = <3>;
604			reg = <0x0 0x2a40000 0x0 0x10000>;
605			clock-names = "ftm_sys", "ftm_ext",
606				"ftm_fix", "ftm_cnt_clk_en";
607			clocks = <&clockgen 4 1>, <&clockgen 4 1>,
608				<&clockgen 4 1>, <&clockgen 4 1>;
609			big-endian;
610			status = "disabled";
611		};
612
613		wdog0: watchdog@2ad0000 {
614			compatible = "fsl,imx21-wdt";
615			reg = <0x0 0x2ad0000 0x0 0x10000>;
616			interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
617			clocks = <&clockgen 4 1>;
618			clock-names = "wdog-en";
619			big-endian;
620		};
621
622		sai1: sai@2b50000 {
623			#sound-dai-cells = <0>;
624			compatible = "fsl,vf610-sai";
625			reg = <0x0 0x2b50000 0x0 0x10000>;
626			interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
627			clocks = <&clockgen 4 1>, <&clockgen 4 1>,
628				 <&clockgen 4 1>, <&clockgen 4 1>;
629			clock-names = "bus", "mclk1", "mclk2", "mclk3";
630			dma-names = "tx", "rx";
631			dmas = <&edma0 1 47>,
632			       <&edma0 1 46>;
633			status = "disabled";
634		};
635
636		sai2: sai@2b60000 {
637			#sound-dai-cells = <0>;
638			compatible = "fsl,vf610-sai";
639			reg = <0x0 0x2b60000 0x0 0x10000>;
640			interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
641			clocks = <&clockgen 4 1>, <&clockgen 4 1>,
642				 <&clockgen 4 1>, <&clockgen 4 1>;
643			clock-names = "bus", "mclk1", "mclk2", "mclk3";
644			dma-names = "tx", "rx";
645			dmas = <&edma0 1 45>,
646			       <&edma0 1 44>;
647			status = "disabled";
648		};
649
650		edma0: dma-controller@2c00000 {
651			#dma-cells = <2>;
652			compatible = "fsl,vf610-edma";
653			reg = <0x0 0x2c00000 0x0 0x10000>,
654			      <0x0 0x2c10000 0x0 0x10000>,
655			      <0x0 0x2c20000 0x0 0x10000>;
656			interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
657				     <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
658			interrupt-names = "edma-tx", "edma-err";
659			dma-channels = <32>;
660			big-endian;
661			clock-names = "dmamux0", "dmamux1";
662			clocks = <&clockgen 4 1>,
663				 <&clockgen 4 1>;
664		};
665
666		dcu: dcu@2ce0000 {
667			compatible = "fsl,ls1021a-dcu";
668			reg = <0x0 0x2ce0000 0x0 0x10000>;
669			interrupts = <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>;
670			clocks = <&clockgen 4 0>,
671				<&clockgen 4 0>;
672			clock-names = "dcu", "pix";
673			big-endian;
674			status = "disabled";
675		};
676
677		mdio0: mdio@2d24000 {
678			compatible = "gianfar";
679			device_type = "mdio";
680			#address-cells = <1>;
681			#size-cells = <0>;
682			reg = <0x0 0x2d24000 0x0 0x4000>,
683			      <0x0 0x2d10030 0x0 0x4>;
684		};
685
686		mdio1: mdio@2d64000 {
687			compatible = "gianfar";
688			device_type = "mdio";
689			#address-cells = <1>;
690			#size-cells = <0>;
691			reg = <0x0 0x2d64000 0x0 0x4000>,
692			      <0x0 0x2d50030 0x0 0x4>;
693		};
694
695		ptp_clock@2d10e00 {
696			compatible = "fsl,etsec-ptp";
697			reg = <0x0 0x2d10e00 0x0 0xb0>;
698			interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
699			fsl,tclk-period = <5>;
700			fsl,tmr-prsc    = <2>;
701			fsl,tmr-add     = <0xaaaaaaab>;
702			fsl,tmr-fiper1  = <999999995>;
703			fsl,tmr-fiper2  = <999999995>;
704			fsl,max-adj     = <499999999>;
705			fsl,extts-fifo;
706		};
707
708		enet0: ethernet@2d10000 {
709			compatible = "fsl,etsec2";
710			device_type = "network";
711			#address-cells = <2>;
712			#size-cells = <2>;
713			interrupt-parent = <&gic>;
714			model = "eTSEC";
715			fsl,magic-packet;
716			ranges;
717			dma-coherent;
718
719			queue-group@2d10000 {
720				#address-cells = <2>;
721				#size-cells = <2>;
722				reg = <0x0 0x2d10000 0x0 0x1000>;
723				interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
724					<GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
725					<GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
726			};
727
728			queue-group@2d14000  {
729				#address-cells = <2>;
730				#size-cells = <2>;
731				reg = <0x0 0x2d14000 0x0 0x1000>;
732				interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
733					<GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
734					<GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
735			};
736		};
737
738		enet1: ethernet@2d50000 {
739			compatible = "fsl,etsec2";
740			device_type = "network";
741			#address-cells = <2>;
742			#size-cells = <2>;
743			interrupt-parent = <&gic>;
744			model = "eTSEC";
745			ranges;
746			dma-coherent;
747
748			queue-group@2d50000  {
749				#address-cells = <2>;
750				#size-cells = <2>;
751				reg = <0x0 0x2d50000 0x0 0x1000>;
752				interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
753					<GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,
754					<GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
755			};
756
757			queue-group@2d54000  {
758				#address-cells = <2>;
759				#size-cells = <2>;
760				reg = <0x0 0x2d54000 0x0 0x1000>;
761				interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
762					<GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
763					<GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
764			};
765		};
766
767		enet2: ethernet@2d90000 {
768			compatible = "fsl,etsec2";
769			device_type = "network";
770			#address-cells = <2>;
771			#size-cells = <2>;
772			interrupt-parent = <&gic>;
773			model = "eTSEC";
774			ranges;
775			dma-coherent;
776
777			queue-group@2d90000  {
778				#address-cells = <2>;
779				#size-cells = <2>;
780				reg = <0x0 0x2d90000 0x0 0x1000>;
781				interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
782					<GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
783					<GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
784			};
785
786			queue-group@2d94000  {
787				#address-cells = <2>;
788				#size-cells = <2>;
789				reg = <0x0 0x2d94000 0x0 0x1000>;
790				interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
791					<GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
792					<GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
793			};
794		};
795
796		usb2: usb@8600000 {
797			compatible = "fsl-usb2-dr-v2.5", "fsl-usb2-dr";
798			reg = <0x0 0x8600000 0x0 0x1000>;
799			interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
800			dr_mode = "host";
801			phy_type = "ulpi";
802		};
803
804		usb3: usb@3100000 {
805			compatible = "snps,dwc3";
806			reg = <0x0 0x3100000 0x0 0x10000>;
807			interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
808			dr_mode = "host";
809			snps,quirk-frame-length-adjustment = <0x20>;
810			snps,dis_rxdet_inp3_quirk;
811			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
812		};
813
814		pcie@3400000 {
815			compatible = "fsl,ls1021a-pcie";
816			reg = <0x00 0x03400000 0x0 0x00010000>, /* controller registers */
817			      <0x40 0x00000000 0x0 0x00002000>; /* configuration space */
818			reg-names = "regs", "config";
819			interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
820			fsl,pcie-scfg = <&scfg 0>;
821			#address-cells = <3>;
822			#size-cells = <2>;
823			device_type = "pci";
824			num-viewport = <6>;
825			bus-range = <0x0 0xff>;
826			ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000>, /* downstream I/O */
827				 <0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
828			msi-parent = <&msi1>, <&msi2>;
829			#interrupt-cells = <1>;
830			interrupt-map-mask = <0 0 0 7>;
831			interrupt-map = <0000 0 0 1 &gic GIC_SPI 91  IRQ_TYPE_LEVEL_HIGH>,
832					<0000 0 0 2 &gic GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
833					<0000 0 0 3 &gic GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
834					<0000 0 0 4 &gic GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
835			status = "disabled";
836		};
837
838		pcie@3500000 {
839			compatible = "fsl,ls1021a-pcie";
840			reg = <0x00 0x03500000 0x0 0x00010000>, /* controller registers */
841			      <0x48 0x00000000 0x0 0x00002000>; /* configuration space */
842			reg-names = "regs", "config";
843			interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
844			fsl,pcie-scfg = <&scfg 1>;
845			#address-cells = <3>;
846			#size-cells = <2>;
847			device_type = "pci";
848			num-viewport = <6>;
849			bus-range = <0x0 0xff>;
850			ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000>, /* downstream I/O */
851				 <0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
852			msi-parent = <&msi1>, <&msi2>;
853			#interrupt-cells = <1>;
854			interrupt-map-mask = <0 0 0 7>;
855			interrupt-map = <0000 0 0 1 &gic GIC_SPI 92  IRQ_TYPE_LEVEL_HIGH>,
856					<0000 0 0 2 &gic GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
857					<0000 0 0 3 &gic GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
858					<0000 0 0 4 &gic GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
859			status = "disabled";
860		};
861
862		can0: can@2a70000 {
863			compatible = "fsl,ls1021ar2-flexcan";
864			reg = <0x0 0x2a70000 0x0 0x1000>;
865			interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
866			clocks = <&clockgen 4 1>, <&clockgen 4 1>;
867			clock-names = "ipg", "per";
868			big-endian;
869		};
870
871		can1: can@2a80000 {
872			compatible = "fsl,ls1021ar2-flexcan";
873			reg = <0x0 0x2a80000 0x0 0x1000>;
874			interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
875			clocks = <&clockgen 4 1>, <&clockgen 4 1>;
876			clock-names = "ipg", "per";
877			big-endian;
878		};
879
880		can2: can@2a90000 {
881			compatible = "fsl,ls1021ar2-flexcan";
882			reg = <0x0 0x2a90000 0x0 0x1000>;
883			interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
884			clocks = <&clockgen 4 1>, <&clockgen 4 1>;
885			clock-names = "ipg", "per";
886			big-endian;
887		};
888
889		can3: can@2aa0000 {
890			compatible = "fsl,ls1021ar2-flexcan";
891			reg = <0x0 0x2aa0000 0x0 0x1000>;
892			interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
893			clocks = <&clockgen 4 1>, <&clockgen 4 1>;
894			clock-names = "ipg", "per";
895			big-endian;
896		};
897
898		ocram1: sram@10000000 {
899			compatible = "mmio-sram";
900			reg = <0x0 0x10000000 0x0 0x10000>;
901			#address-cells = <1>;
902			#size-cells = <1>;
903			ranges = <0x0 0x0 0x10000000 0x10000>;
904		};
905
906		ocram2: sram@10010000 {
907			compatible = "mmio-sram";
908			reg = <0x0 0x10010000 0x0 0x10000>;
909			#address-cells = <1>;
910			#size-cells = <1>;
911			ranges = <0x0 0x0 0x10010000 0x10000>;
912		};
913
914		qdma: dma-controller@8390000 {
915			compatible = "fsl,ls1021a-qdma";
916			reg = <0x0 0x8388000 0x0 0x1000>, /* Controller regs */
917			      <0x0 0x8389000 0x0 0x1000>, /* Status regs */
918			      <0x0 0x838a000 0x0 0x2000>; /* Block regs */
919			interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
920				     <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
921				     <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
922			interrupt-names = "qdma-error",
923				"qdma-queue0", "qdma-queue1";
924			#dma-cells = <2>;
925			dma-channels = <8>;
926			block-number = <1>;
927			block-offset = <0x1000>;
928			fsl,dma-queues = <2>;
929			status-sizes = <64>;
930			queue-sizes = <64 64>;
931			big-endian;
932		};
933
934		rcpm: power-controller@1ee2140 {
935			compatible = "fsl,ls1021a-rcpm", "fsl,qoriq-rcpm-2.1+";
936			reg = <0x0 0x1ee2140 0x0 0x8>;
937			#fsl,rcpm-wakeup-cells = <2>;
938			#power-domain-cells = <0>;
939		};
940
941		ftm_alarm0: timer0@29d0000 {
942			compatible = "fsl,ls1021a-ftm-alarm";
943			reg = <0x0 0x29d0000 0x0 0x10000>;
944			reg-names = "ftm";
945			fsl,rcpm-wakeup = <&rcpm 0x0 0x20000000>;
946			interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
947			big-endian;
948		};
949	};
950
951	thermal-zones {
952		cpu_thermal: cpu-thermal {
953			polling-delay-passive = <1000>;
954			polling-delay = <5000>;
955
956			thermal-sensors = <&tmu 0>;
957
958			trips {
959				cpu_alert: cpu-alert {
960					temperature = <85000>;
961					hysteresis = <2000>;
962					type = "passive";
963				};
964				cpu_crit: cpu-crit {
965					temperature = <95000>;
966					hysteresis = <2000>;
967					type = "critical";
968				};
969			};
970
971			cooling-maps {
972				map0 {
973					trip = <&cpu_alert>;
974					cooling-device =
975						<&cpu0 THERMAL_NO_LIMIT
976						THERMAL_NO_LIMIT>,
977						<&cpu1 THERMAL_NO_LIMIT
978						THERMAL_NO_LIMIT>;
979				};
980			};
981		};
982	};
983};
984