Linux Audio

Check our new training course

In-person Linux kernel drivers training

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