xref: /OK3568_Linux_fs/kernel/scripts/dtc/include-prefixes/arm64/freescale/fsl-ls1012a.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Device Tree Include file for NXP Layerscape-1012A family SoC.
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Copyright 2016 Freescale Semiconductor, Inc.
6*4882a593Smuzhiyun * Copyright 2019-2020 NXP
7*4882a593Smuzhiyun *
8*4882a593Smuzhiyun */
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h>
11*4882a593Smuzhiyun#include <dt-bindings/thermal/thermal.h>
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun/ {
14*4882a593Smuzhiyun	compatible = "fsl,ls1012a";
15*4882a593Smuzhiyun	interrupt-parent = <&gic>;
16*4882a593Smuzhiyun	#address-cells = <2>;
17*4882a593Smuzhiyun	#size-cells = <2>;
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun	aliases {
20*4882a593Smuzhiyun		crypto = &crypto;
21*4882a593Smuzhiyun		rtc1 = &ftm_alarm0;
22*4882a593Smuzhiyun		rtic-a = &rtic_a;
23*4882a593Smuzhiyun		rtic-b = &rtic_b;
24*4882a593Smuzhiyun		rtic-c = &rtic_c;
25*4882a593Smuzhiyun		rtic-d = &rtic_d;
26*4882a593Smuzhiyun		sec-mon = &sec_mon;
27*4882a593Smuzhiyun	};
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun	cpus {
30*4882a593Smuzhiyun		#address-cells = <1>;
31*4882a593Smuzhiyun		#size-cells = <0>;
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun		cpu0: cpu@0 {
34*4882a593Smuzhiyun			device_type = "cpu";
35*4882a593Smuzhiyun			compatible = "arm,cortex-a53";
36*4882a593Smuzhiyun			reg = <0x0>;
37*4882a593Smuzhiyun			clocks = <&clockgen 1 0>;
38*4882a593Smuzhiyun			#cooling-cells = <2>;
39*4882a593Smuzhiyun			cpu-idle-states = <&CPU_PH20>;
40*4882a593Smuzhiyun		};
41*4882a593Smuzhiyun	};
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun	idle-states {
44*4882a593Smuzhiyun		/*
45*4882a593Smuzhiyun		 * PSCI node is not added default, U-boot will add missing
46*4882a593Smuzhiyun		 * parts if it determines to use PSCI.
47*4882a593Smuzhiyun		 */
48*4882a593Smuzhiyun		entry-method = "psci";
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun		CPU_PH20: cpu-ph20 {
51*4882a593Smuzhiyun			compatible = "arm,idle-state";
52*4882a593Smuzhiyun			idle-state-name = "PH20";
53*4882a593Smuzhiyun			arm,psci-suspend-param = <0x0>;
54*4882a593Smuzhiyun			entry-latency-us = <1000>;
55*4882a593Smuzhiyun			exit-latency-us = <1000>;
56*4882a593Smuzhiyun			min-residency-us = <3000>;
57*4882a593Smuzhiyun		};
58*4882a593Smuzhiyun	};
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun	sysclk: sysclk {
61*4882a593Smuzhiyun		compatible = "fixed-clock";
62*4882a593Smuzhiyun		#clock-cells = <0>;
63*4882a593Smuzhiyun		clock-frequency = <125000000>;
64*4882a593Smuzhiyun		clock-output-names = "sysclk";
65*4882a593Smuzhiyun	};
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun	coreclk: coreclk {
68*4882a593Smuzhiyun		compatible = "fixed-clock";
69*4882a593Smuzhiyun		#clock-cells = <0>;
70*4882a593Smuzhiyun		clock-frequency = <100000000>;
71*4882a593Smuzhiyun		clock-output-names = "coreclk";
72*4882a593Smuzhiyun	};
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun	timer {
75*4882a593Smuzhiyun		compatible = "arm,armv8-timer";
76*4882a593Smuzhiyun		interrupts = <1 13 IRQ_TYPE_LEVEL_LOW>,/* Physical Secure PPI */
77*4882a593Smuzhiyun			     <1 14 IRQ_TYPE_LEVEL_LOW>,/* Physical Non-Secure PPI */
78*4882a593Smuzhiyun			     <1 11 IRQ_TYPE_LEVEL_LOW>,/* Virtual PPI */
79*4882a593Smuzhiyun			     <1 10 IRQ_TYPE_LEVEL_LOW>;/* Hypervisor PPI */
80*4882a593Smuzhiyun	};
81*4882a593Smuzhiyun
82*4882a593Smuzhiyun	pmu {
83*4882a593Smuzhiyun		compatible = "arm,armv8-pmuv3";
84*4882a593Smuzhiyun		interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>;
85*4882a593Smuzhiyun	};
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun	gic: interrupt-controller@1400000 {
88*4882a593Smuzhiyun		compatible = "arm,gic-400";
89*4882a593Smuzhiyun		#interrupt-cells = <3>;
90*4882a593Smuzhiyun		interrupt-controller;
91*4882a593Smuzhiyun		reg = <0x0 0x1401000 0 0x1000>, /* GICD */
92*4882a593Smuzhiyun		      <0x0 0x1402000 0 0x2000>, /* GICC */
93*4882a593Smuzhiyun		      <0x0 0x1404000 0 0x2000>, /* GICH */
94*4882a593Smuzhiyun		      <0x0 0x1406000 0 0x2000>; /* GICV */
95*4882a593Smuzhiyun		interrupts = <1 9 IRQ_TYPE_LEVEL_LOW>;
96*4882a593Smuzhiyun	};
97*4882a593Smuzhiyun
98*4882a593Smuzhiyun	reboot {
99*4882a593Smuzhiyun		compatible = "syscon-reboot";
100*4882a593Smuzhiyun		regmap = <&dcfg>;
101*4882a593Smuzhiyun		offset = <0xb0>;
102*4882a593Smuzhiyun		mask = <0x02>;
103*4882a593Smuzhiyun	};
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun	thermal-zones {
106*4882a593Smuzhiyun		cpu_thermal: cpu-thermal {
107*4882a593Smuzhiyun			polling-delay-passive = <1000>;
108*4882a593Smuzhiyun			polling-delay = <5000>;
109*4882a593Smuzhiyun			thermal-sensors = <&tmu 0>;
110*4882a593Smuzhiyun
111*4882a593Smuzhiyun			trips {
112*4882a593Smuzhiyun				cpu_alert: cpu-alert {
113*4882a593Smuzhiyun					temperature = <85000>;
114*4882a593Smuzhiyun					hysteresis = <2000>;
115*4882a593Smuzhiyun					type = "passive";
116*4882a593Smuzhiyun				};
117*4882a593Smuzhiyun
118*4882a593Smuzhiyun				cpu_crit: cpu-crit {
119*4882a593Smuzhiyun					temperature = <95000>;
120*4882a593Smuzhiyun					hysteresis = <2000>;
121*4882a593Smuzhiyun					type = "critical";
122*4882a593Smuzhiyun				};
123*4882a593Smuzhiyun			};
124*4882a593Smuzhiyun
125*4882a593Smuzhiyun			cooling-maps {
126*4882a593Smuzhiyun				map0 {
127*4882a593Smuzhiyun					trip = <&cpu_alert>;
128*4882a593Smuzhiyun					cooling-device =
129*4882a593Smuzhiyun						<&cpu0 THERMAL_NO_LIMIT
130*4882a593Smuzhiyun						THERMAL_NO_LIMIT>;
131*4882a593Smuzhiyun				};
132*4882a593Smuzhiyun			};
133*4882a593Smuzhiyun		};
134*4882a593Smuzhiyun	};
135*4882a593Smuzhiyun
136*4882a593Smuzhiyun	soc {
137*4882a593Smuzhiyun		compatible = "simple-bus";
138*4882a593Smuzhiyun		#address-cells = <2>;
139*4882a593Smuzhiyun		#size-cells = <2>;
140*4882a593Smuzhiyun		ranges;
141*4882a593Smuzhiyun
142*4882a593Smuzhiyun		qspi: spi@1550000 {
143*4882a593Smuzhiyun			compatible = "fsl,ls1021a-qspi";
144*4882a593Smuzhiyun			#address-cells = <1>;
145*4882a593Smuzhiyun			#size-cells = <0>;
146*4882a593Smuzhiyun			reg = <0x0 0x1550000 0x0 0x10000>,
147*4882a593Smuzhiyun				<0x0 0x40000000 0x0 0x10000000>;
148*4882a593Smuzhiyun			reg-names = "QuadSPI", "QuadSPI-memory";
149*4882a593Smuzhiyun			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
150*4882a593Smuzhiyun			clock-names = "qspi_en", "qspi";
151*4882a593Smuzhiyun			clocks = <&clockgen 4 0>, <&clockgen 4 0>;
152*4882a593Smuzhiyun			status = "disabled";
153*4882a593Smuzhiyun		};
154*4882a593Smuzhiyun
155*4882a593Smuzhiyun		esdhc0: esdhc@1560000 {
156*4882a593Smuzhiyun			compatible = "fsl,ls1012a-esdhc", "fsl,esdhc";
157*4882a593Smuzhiyun			reg = <0x0 0x1560000 0x0 0x10000>;
158*4882a593Smuzhiyun			interrupts = <0 62 0x4>;
159*4882a593Smuzhiyun			clocks = <&clockgen 4 0>;
160*4882a593Smuzhiyun			voltage-ranges = <1800 1800 3300 3300>;
161*4882a593Smuzhiyun			sdhci,auto-cmd12;
162*4882a593Smuzhiyun			big-endian;
163*4882a593Smuzhiyun			bus-width = <4>;
164*4882a593Smuzhiyun			status = "disabled";
165*4882a593Smuzhiyun		};
166*4882a593Smuzhiyun
167*4882a593Smuzhiyun		scfg: scfg@1570000 {
168*4882a593Smuzhiyun			compatible = "fsl,ls1012a-scfg", "syscon";
169*4882a593Smuzhiyun			reg = <0x0 0x1570000 0x0 0x10000>;
170*4882a593Smuzhiyun			big-endian;
171*4882a593Smuzhiyun		};
172*4882a593Smuzhiyun
173*4882a593Smuzhiyun		esdhc1: esdhc@1580000 {
174*4882a593Smuzhiyun			compatible = "fsl,ls1012a-esdhc", "fsl,esdhc";
175*4882a593Smuzhiyun			reg = <0x0 0x1580000 0x0 0x10000>;
176*4882a593Smuzhiyun			interrupts = <0 65 0x4>;
177*4882a593Smuzhiyun			clocks = <&clockgen 4 0>;
178*4882a593Smuzhiyun			voltage-ranges = <1800 1800 3300 3300>;
179*4882a593Smuzhiyun			sdhci,auto-cmd12;
180*4882a593Smuzhiyun			big-endian;
181*4882a593Smuzhiyun			broken-cd;
182*4882a593Smuzhiyun			bus-width = <4>;
183*4882a593Smuzhiyun			status = "disabled";
184*4882a593Smuzhiyun		};
185*4882a593Smuzhiyun
186*4882a593Smuzhiyun		crypto: crypto@1700000 {
187*4882a593Smuzhiyun			compatible = "fsl,sec-v5.4", "fsl,sec-v5.0",
188*4882a593Smuzhiyun				     "fsl,sec-v4.0";
189*4882a593Smuzhiyun			fsl,sec-era = <8>;
190*4882a593Smuzhiyun			#address-cells = <1>;
191*4882a593Smuzhiyun			#size-cells = <1>;
192*4882a593Smuzhiyun			ranges = <0x0 0x00 0x1700000 0x100000>;
193*4882a593Smuzhiyun			reg = <0x00 0x1700000 0x0 0x100000>;
194*4882a593Smuzhiyun			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
195*4882a593Smuzhiyun			dma-coherent;
196*4882a593Smuzhiyun
197*4882a593Smuzhiyun			sec_jr0: jr@10000 {
198*4882a593Smuzhiyun				compatible = "fsl,sec-v5.4-job-ring",
199*4882a593Smuzhiyun					     "fsl,sec-v5.0-job-ring",
200*4882a593Smuzhiyun					     "fsl,sec-v4.0-job-ring";
201*4882a593Smuzhiyun				reg	   = <0x10000 0x10000>;
202*4882a593Smuzhiyun				interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
203*4882a593Smuzhiyun			};
204*4882a593Smuzhiyun
205*4882a593Smuzhiyun			sec_jr1: jr@20000 {
206*4882a593Smuzhiyun				compatible = "fsl,sec-v5.4-job-ring",
207*4882a593Smuzhiyun					     "fsl,sec-v5.0-job-ring",
208*4882a593Smuzhiyun					     "fsl,sec-v4.0-job-ring";
209*4882a593Smuzhiyun				reg	   = <0x20000 0x10000>;
210*4882a593Smuzhiyun				interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
211*4882a593Smuzhiyun			};
212*4882a593Smuzhiyun
213*4882a593Smuzhiyun			sec_jr2: jr@30000 {
214*4882a593Smuzhiyun				compatible = "fsl,sec-v5.4-job-ring",
215*4882a593Smuzhiyun					     "fsl,sec-v5.0-job-ring",
216*4882a593Smuzhiyun					     "fsl,sec-v4.0-job-ring";
217*4882a593Smuzhiyun				reg	   = <0x30000 0x10000>;
218*4882a593Smuzhiyun				interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
219*4882a593Smuzhiyun			};
220*4882a593Smuzhiyun
221*4882a593Smuzhiyun			sec_jr3: jr@40000 {
222*4882a593Smuzhiyun				compatible = "fsl,sec-v5.4-job-ring",
223*4882a593Smuzhiyun					     "fsl,sec-v5.0-job-ring",
224*4882a593Smuzhiyun					     "fsl,sec-v4.0-job-ring";
225*4882a593Smuzhiyun				reg	   = <0x40000 0x10000>;
226*4882a593Smuzhiyun				interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
227*4882a593Smuzhiyun			};
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun			rtic@60000 {
230*4882a593Smuzhiyun				compatible = "fsl,sec-v5.4-rtic",
231*4882a593Smuzhiyun					     "fsl,sec-v5.0-rtic",
232*4882a593Smuzhiyun					     "fsl,sec-v4.0-rtic";
233*4882a593Smuzhiyun				#address-cells = <1>;
234*4882a593Smuzhiyun				#size-cells = <1>;
235*4882a593Smuzhiyun				reg = <0x60000 0x100 0x60e00 0x18>;
236*4882a593Smuzhiyun				ranges = <0x0 0x60100 0x500>;
237*4882a593Smuzhiyun
238*4882a593Smuzhiyun				rtic_a: rtic-a@0 {
239*4882a593Smuzhiyun					compatible = "fsl,sec-v5.4-rtic-memory",
240*4882a593Smuzhiyun						     "fsl,sec-v5.0-rtic-memory",
241*4882a593Smuzhiyun						     "fsl,sec-v4.0-rtic-memory";
242*4882a593Smuzhiyun					reg = <0x00 0x20 0x100 0x100>;
243*4882a593Smuzhiyun				};
244*4882a593Smuzhiyun
245*4882a593Smuzhiyun				rtic_b: rtic-b@20 {
246*4882a593Smuzhiyun					compatible = "fsl,sec-v5.4-rtic-memory",
247*4882a593Smuzhiyun						     "fsl,sec-v5.0-rtic-memory",
248*4882a593Smuzhiyun						     "fsl,sec-v4.0-rtic-memory";
249*4882a593Smuzhiyun					reg = <0x20 0x20 0x200 0x100>;
250*4882a593Smuzhiyun				};
251*4882a593Smuzhiyun
252*4882a593Smuzhiyun				rtic_c: rtic-c@40 {
253*4882a593Smuzhiyun					compatible = "fsl,sec-v5.4-rtic-memory",
254*4882a593Smuzhiyun						     "fsl,sec-v5.0-rtic-memory",
255*4882a593Smuzhiyun						     "fsl,sec-v4.0-rtic-memory";
256*4882a593Smuzhiyun					reg = <0x40 0x20 0x300 0x100>;
257*4882a593Smuzhiyun				};
258*4882a593Smuzhiyun
259*4882a593Smuzhiyun				rtic_d: rtic-d@60 {
260*4882a593Smuzhiyun					compatible = "fsl,sec-v5.4-rtic-memory",
261*4882a593Smuzhiyun						     "fsl,sec-v5.0-rtic-memory",
262*4882a593Smuzhiyun						     "fsl,sec-v4.0-rtic-memory";
263*4882a593Smuzhiyun					reg = <0x60 0x20 0x400 0x100>;
264*4882a593Smuzhiyun				};
265*4882a593Smuzhiyun			};
266*4882a593Smuzhiyun		};
267*4882a593Smuzhiyun
268*4882a593Smuzhiyun		sec_mon: sec_mon@1e90000 {
269*4882a593Smuzhiyun			compatible = "fsl,sec-v5.4-mon", "fsl,sec-v5.0-mon",
270*4882a593Smuzhiyun				     "fsl,sec-v4.0-mon";
271*4882a593Smuzhiyun			reg = <0x0 0x1e90000 0x0 0x10000>;
272*4882a593Smuzhiyun			interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
273*4882a593Smuzhiyun				     <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
274*4882a593Smuzhiyun		};
275*4882a593Smuzhiyun
276*4882a593Smuzhiyun		dcfg: dcfg@1ee0000 {
277*4882a593Smuzhiyun			compatible = "fsl,ls1012a-dcfg",
278*4882a593Smuzhiyun				     "syscon";
279*4882a593Smuzhiyun			reg = <0x0 0x1ee0000 0x0 0x10000>;
280*4882a593Smuzhiyun			big-endian;
281*4882a593Smuzhiyun		};
282*4882a593Smuzhiyun
283*4882a593Smuzhiyun		clockgen: clocking@1ee1000 {
284*4882a593Smuzhiyun			compatible = "fsl,ls1012a-clockgen";
285*4882a593Smuzhiyun			reg = <0x0 0x1ee1000 0x0 0x1000>;
286*4882a593Smuzhiyun			#clock-cells = <2>;
287*4882a593Smuzhiyun			clocks = <&sysclk &coreclk>;
288*4882a593Smuzhiyun			clock-names = "sysclk", "coreclk";
289*4882a593Smuzhiyun		};
290*4882a593Smuzhiyun
291*4882a593Smuzhiyun		tmu: tmu@1f00000 {
292*4882a593Smuzhiyun			compatible = "fsl,qoriq-tmu";
293*4882a593Smuzhiyun			reg = <0x0 0x1f00000 0x0 0x10000>;
294*4882a593Smuzhiyun			interrupts = <0 33 0x4>;
295*4882a593Smuzhiyun			fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x30062>;
296*4882a593Smuzhiyun			fsl,tmu-calibration = <0x00000000 0x00000026
297*4882a593Smuzhiyun					       0x00000001 0x0000002d
298*4882a593Smuzhiyun					       0x00000002 0x00000032
299*4882a593Smuzhiyun					       0x00000003 0x00000039
300*4882a593Smuzhiyun					       0x00000004 0x0000003f
301*4882a593Smuzhiyun					       0x00000005 0x00000046
302*4882a593Smuzhiyun					       0x00000006 0x0000004d
303*4882a593Smuzhiyun					       0x00000007 0x00000054
304*4882a593Smuzhiyun					       0x00000008 0x0000005a
305*4882a593Smuzhiyun					       0x00000009 0x00000061
306*4882a593Smuzhiyun					       0x0000000a 0x0000006a
307*4882a593Smuzhiyun					       0x0000000b 0x00000071
308*4882a593Smuzhiyun
309*4882a593Smuzhiyun					       0x00010000 0x00000025
310*4882a593Smuzhiyun					       0x00010001 0x0000002c
311*4882a593Smuzhiyun					       0x00010002 0x00000035
312*4882a593Smuzhiyun					       0x00010003 0x0000003d
313*4882a593Smuzhiyun					       0x00010004 0x00000045
314*4882a593Smuzhiyun					       0x00010005 0x0000004e
315*4882a593Smuzhiyun					       0x00010006 0x00000057
316*4882a593Smuzhiyun					       0x00010007 0x00000061
317*4882a593Smuzhiyun					       0x00010008 0x0000006b
318*4882a593Smuzhiyun					       0x00010009 0x00000076
319*4882a593Smuzhiyun
320*4882a593Smuzhiyun					       0x00020000 0x00000029
321*4882a593Smuzhiyun					       0x00020001 0x00000033
322*4882a593Smuzhiyun					       0x00020002 0x0000003d
323*4882a593Smuzhiyun					       0x00020003 0x00000049
324*4882a593Smuzhiyun					       0x00020004 0x00000056
325*4882a593Smuzhiyun					       0x00020005 0x00000061
326*4882a593Smuzhiyun					       0x00020006 0x0000006d
327*4882a593Smuzhiyun
328*4882a593Smuzhiyun					       0x00030000 0x00000021
329*4882a593Smuzhiyun					       0x00030001 0x0000002a
330*4882a593Smuzhiyun					       0x00030002 0x0000003c
331*4882a593Smuzhiyun					       0x00030003 0x0000004e>;
332*4882a593Smuzhiyun			big-endian;
333*4882a593Smuzhiyun			#thermal-sensor-cells = <1>;
334*4882a593Smuzhiyun		};
335*4882a593Smuzhiyun
336*4882a593Smuzhiyun		i2c0: i2c@2180000 {
337*4882a593Smuzhiyun			compatible = "fsl,vf610-i2c";
338*4882a593Smuzhiyun			#address-cells = <1>;
339*4882a593Smuzhiyun			#size-cells = <0>;
340*4882a593Smuzhiyun			reg = <0x0 0x2180000 0x0 0x10000>;
341*4882a593Smuzhiyun			interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
342*4882a593Smuzhiyun			clocks = <&clockgen 4 3>;
343*4882a593Smuzhiyun			status = "disabled";
344*4882a593Smuzhiyun		};
345*4882a593Smuzhiyun
346*4882a593Smuzhiyun		i2c1: i2c@2190000 {
347*4882a593Smuzhiyun			compatible = "fsl,vf610-i2c";
348*4882a593Smuzhiyun			#address-cells = <1>;
349*4882a593Smuzhiyun			#size-cells = <0>;
350*4882a593Smuzhiyun			reg = <0x0 0x2190000 0x0 0x10000>;
351*4882a593Smuzhiyun			interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
352*4882a593Smuzhiyun			clocks = <&clockgen 4 3>;
353*4882a593Smuzhiyun			status = "disabled";
354*4882a593Smuzhiyun		};
355*4882a593Smuzhiyun
356*4882a593Smuzhiyun		dspi: spi@2100000 {
357*4882a593Smuzhiyun			compatible = "fsl,ls1012a-dspi", "fsl,ls1021a-v1.0-dspi";
358*4882a593Smuzhiyun			#address-cells = <1>;
359*4882a593Smuzhiyun			#size-cells = <0>;
360*4882a593Smuzhiyun			reg = <0x0 0x2100000 0x0 0x10000>;
361*4882a593Smuzhiyun			interrupts = <0 64 IRQ_TYPE_LEVEL_HIGH>;
362*4882a593Smuzhiyun			clock-names = "dspi";
363*4882a593Smuzhiyun			clocks = <&clockgen 4 0>;
364*4882a593Smuzhiyun			spi-num-chipselects = <5>;
365*4882a593Smuzhiyun			big-endian;
366*4882a593Smuzhiyun			status = "disabled";
367*4882a593Smuzhiyun		};
368*4882a593Smuzhiyun
369*4882a593Smuzhiyun		duart0: serial@21c0500 {
370*4882a593Smuzhiyun			compatible = "fsl,ns16550", "ns16550a";
371*4882a593Smuzhiyun			reg = <0x00 0x21c0500 0x0 0x100>;
372*4882a593Smuzhiyun			interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>;
373*4882a593Smuzhiyun			clocks = <&clockgen 4 0>;
374*4882a593Smuzhiyun			status = "disabled";
375*4882a593Smuzhiyun		};
376*4882a593Smuzhiyun
377*4882a593Smuzhiyun		duart1: serial@21c0600 {
378*4882a593Smuzhiyun			compatible = "fsl,ns16550", "ns16550a";
379*4882a593Smuzhiyun			reg = <0x00 0x21c0600 0x0 0x100>;
380*4882a593Smuzhiyun			interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>;
381*4882a593Smuzhiyun			clocks = <&clockgen 4 0>;
382*4882a593Smuzhiyun			status = "disabled";
383*4882a593Smuzhiyun		};
384*4882a593Smuzhiyun
385*4882a593Smuzhiyun		gpio0: gpio@2300000 {
386*4882a593Smuzhiyun			compatible = "fsl,qoriq-gpio";
387*4882a593Smuzhiyun			reg = <0x0 0x2300000 0x0 0x10000>;
388*4882a593Smuzhiyun			interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>;
389*4882a593Smuzhiyun			gpio-controller;
390*4882a593Smuzhiyun			#gpio-cells = <2>;
391*4882a593Smuzhiyun			interrupt-controller;
392*4882a593Smuzhiyun			#interrupt-cells = <2>;
393*4882a593Smuzhiyun		};
394*4882a593Smuzhiyun
395*4882a593Smuzhiyun		gpio1: gpio@2310000 {
396*4882a593Smuzhiyun			compatible = "fsl,qoriq-gpio";
397*4882a593Smuzhiyun			reg = <0x0 0x2310000 0x0 0x10000>;
398*4882a593Smuzhiyun			interrupts = <0 67 IRQ_TYPE_LEVEL_HIGH>;
399*4882a593Smuzhiyun			gpio-controller;
400*4882a593Smuzhiyun			#gpio-cells = <2>;
401*4882a593Smuzhiyun			interrupt-controller;
402*4882a593Smuzhiyun			#interrupt-cells = <2>;
403*4882a593Smuzhiyun		};
404*4882a593Smuzhiyun
405*4882a593Smuzhiyun		wdog0: wdog@2ad0000 {
406*4882a593Smuzhiyun			compatible = "fsl,ls1012a-wdt",
407*4882a593Smuzhiyun				     "fsl,imx21-wdt";
408*4882a593Smuzhiyun			reg = <0x0 0x2ad0000 0x0 0x10000>;
409*4882a593Smuzhiyun			interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>;
410*4882a593Smuzhiyun			clocks = <&clockgen 4 0>;
411*4882a593Smuzhiyun			big-endian;
412*4882a593Smuzhiyun		};
413*4882a593Smuzhiyun
414*4882a593Smuzhiyun		sai1: sai@2b50000 {
415*4882a593Smuzhiyun			#sound-dai-cells = <0>;
416*4882a593Smuzhiyun			compatible = "fsl,vf610-sai";
417*4882a593Smuzhiyun			reg = <0x0 0x2b50000 0x0 0x10000>;
418*4882a593Smuzhiyun			interrupts = <0 148 IRQ_TYPE_LEVEL_HIGH>;
419*4882a593Smuzhiyun			clocks = <&clockgen 4 3>, <&clockgen 4 3>,
420*4882a593Smuzhiyun				 <&clockgen 4 3>, <&clockgen 4 3>;
421*4882a593Smuzhiyun			clock-names = "bus", "mclk1", "mclk2", "mclk3";
422*4882a593Smuzhiyun			dma-names = "tx", "rx";
423*4882a593Smuzhiyun			dmas = <&edma0 1 47>,
424*4882a593Smuzhiyun			       <&edma0 1 46>;
425*4882a593Smuzhiyun			status = "disabled";
426*4882a593Smuzhiyun		};
427*4882a593Smuzhiyun
428*4882a593Smuzhiyun		sai2: sai@2b60000 {
429*4882a593Smuzhiyun			#sound-dai-cells = <0>;
430*4882a593Smuzhiyun			compatible = "fsl,vf610-sai";
431*4882a593Smuzhiyun			reg = <0x0 0x2b60000 0x0 0x10000>;
432*4882a593Smuzhiyun			interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH>;
433*4882a593Smuzhiyun			clocks = <&clockgen 4 3>, <&clockgen 4 3>,
434*4882a593Smuzhiyun				 <&clockgen 4 3>, <&clockgen 4 3>;
435*4882a593Smuzhiyun			clock-names = "bus", "mclk1", "mclk2", "mclk3";
436*4882a593Smuzhiyun			dma-names = "tx", "rx";
437*4882a593Smuzhiyun			dmas = <&edma0 1 45>,
438*4882a593Smuzhiyun			       <&edma0 1 44>;
439*4882a593Smuzhiyun			status = "disabled";
440*4882a593Smuzhiyun		};
441*4882a593Smuzhiyun
442*4882a593Smuzhiyun		edma0: edma@2c00000 {
443*4882a593Smuzhiyun			#dma-cells = <2>;
444*4882a593Smuzhiyun			compatible = "fsl,vf610-edma";
445*4882a593Smuzhiyun			reg = <0x0 0x2c00000 0x0 0x10000>,
446*4882a593Smuzhiyun			      <0x0 0x2c10000 0x0 0x10000>,
447*4882a593Smuzhiyun			      <0x0 0x2c20000 0x0 0x10000>;
448*4882a593Smuzhiyun			interrupts = <0 103 IRQ_TYPE_LEVEL_HIGH>,
449*4882a593Smuzhiyun				     <0 103 IRQ_TYPE_LEVEL_HIGH>;
450*4882a593Smuzhiyun			interrupt-names = "edma-tx", "edma-err";
451*4882a593Smuzhiyun			dma-channels = <32>;
452*4882a593Smuzhiyun			big-endian;
453*4882a593Smuzhiyun			clock-names = "dmamux0", "dmamux1";
454*4882a593Smuzhiyun			clocks = <&clockgen 4 3>,
455*4882a593Smuzhiyun				 <&clockgen 4 3>;
456*4882a593Smuzhiyun		};
457*4882a593Smuzhiyun
458*4882a593Smuzhiyun		usb0: usb3@2f00000 {
459*4882a593Smuzhiyun			compatible = "snps,dwc3";
460*4882a593Smuzhiyun			reg = <0x0 0x2f00000 0x0 0x10000>;
461*4882a593Smuzhiyun			interrupts = <0 60 0x4>;
462*4882a593Smuzhiyun			dr_mode = "host";
463*4882a593Smuzhiyun			snps,quirk-frame-length-adjustment = <0x20>;
464*4882a593Smuzhiyun			snps,dis_rxdet_inp3_quirk;
465*4882a593Smuzhiyun			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
466*4882a593Smuzhiyun		};
467*4882a593Smuzhiyun
468*4882a593Smuzhiyun		sata: sata@3200000 {
469*4882a593Smuzhiyun			compatible = "fsl,ls1012a-ahci", "fsl,ls1043a-ahci";
470*4882a593Smuzhiyun			reg = <0x0 0x3200000 0x0 0x10000>,
471*4882a593Smuzhiyun				<0x0 0x20140520 0x0 0x4>;
472*4882a593Smuzhiyun			reg-names = "ahci", "sata-ecc";
473*4882a593Smuzhiyun			interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>;
474*4882a593Smuzhiyun			clocks = <&clockgen 4 0>;
475*4882a593Smuzhiyun			dma-coherent;
476*4882a593Smuzhiyun			status = "disabled";
477*4882a593Smuzhiyun		};
478*4882a593Smuzhiyun
479*4882a593Smuzhiyun		usb1: usb2@8600000 {
480*4882a593Smuzhiyun			compatible = "fsl-usb2-dr-v2.5", "fsl-usb2-dr";
481*4882a593Smuzhiyun			reg = <0x0 0x8600000 0x0 0x1000>;
482*4882a593Smuzhiyun			interrupts = <0 139 0x4>;
483*4882a593Smuzhiyun			dr_mode = "host";
484*4882a593Smuzhiyun			phy_type = "ulpi";
485*4882a593Smuzhiyun		};
486*4882a593Smuzhiyun
487*4882a593Smuzhiyun		msi: msi-controller1@1572000 {
488*4882a593Smuzhiyun			compatible = "fsl,ls1012a-msi";
489*4882a593Smuzhiyun			reg = <0x0 0x1572000 0x0 0x8>;
490*4882a593Smuzhiyun			msi-controller;
491*4882a593Smuzhiyun			interrupts = <0 126 IRQ_TYPE_LEVEL_HIGH>;
492*4882a593Smuzhiyun		};
493*4882a593Smuzhiyun
494*4882a593Smuzhiyun		pcie1: pcie@3400000 {
495*4882a593Smuzhiyun			compatible = "fsl,ls1012a-pcie";
496*4882a593Smuzhiyun			reg = <0x00 0x03400000 0x0 0x00100000   /* controller registers */
497*4882a593Smuzhiyun			       0x40 0x00000000 0x0 0x00002000>; /* configuration space */
498*4882a593Smuzhiyun			reg-names = "regs", "config";
499*4882a593Smuzhiyun			interrupts = <0 118 0x4>, /* controller interrupt */
500*4882a593Smuzhiyun				     <0 117 0x4>; /* PME interrupt */
501*4882a593Smuzhiyun			interrupt-names = "aer", "pme";
502*4882a593Smuzhiyun			#address-cells = <3>;
503*4882a593Smuzhiyun			#size-cells = <2>;
504*4882a593Smuzhiyun			device_type = "pci";
505*4882a593Smuzhiyun			num-viewport = <2>;
506*4882a593Smuzhiyun			bus-range = <0x0 0xff>;
507*4882a593Smuzhiyun			ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000   /* downstream I/O */
508*4882a593Smuzhiyun				  0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
509*4882a593Smuzhiyun			msi-parent = <&msi>;
510*4882a593Smuzhiyun			#interrupt-cells = <1>;
511*4882a593Smuzhiyun			interrupt-map-mask = <0 0 0 7>;
512*4882a593Smuzhiyun			interrupt-map = <0000 0 0 1 &gic 0 110 IRQ_TYPE_LEVEL_HIGH>,
513*4882a593Smuzhiyun					<0000 0 0 2 &gic 0 111 IRQ_TYPE_LEVEL_HIGH>,
514*4882a593Smuzhiyun					<0000 0 0 3 &gic 0 112 IRQ_TYPE_LEVEL_HIGH>,
515*4882a593Smuzhiyun					<0000 0 0 4 &gic 0 113 IRQ_TYPE_LEVEL_HIGH>;
516*4882a593Smuzhiyun			status = "disabled";
517*4882a593Smuzhiyun		};
518*4882a593Smuzhiyun
519*4882a593Smuzhiyun		rcpm: power-controller@1ee2140 {
520*4882a593Smuzhiyun			compatible = "fsl,ls1012a-rcpm", "fsl,qoriq-rcpm-2.1+";
521*4882a593Smuzhiyun			reg = <0x0 0x1ee2140 0x0 0x4>;
522*4882a593Smuzhiyun			#fsl,rcpm-wakeup-cells = <1>;
523*4882a593Smuzhiyun		};
524*4882a593Smuzhiyun
525*4882a593Smuzhiyun		ftm_alarm0: timer@29d0000 {
526*4882a593Smuzhiyun			compatible = "fsl,ls1012a-ftm-alarm";
527*4882a593Smuzhiyun			reg = <0x0 0x29d0000 0x0 0x10000>;
528*4882a593Smuzhiyun			fsl,rcpm-wakeup = <&rcpm 0x20000>;
529*4882a593Smuzhiyun			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
530*4882a593Smuzhiyun			big-endian;
531*4882a593Smuzhiyun		};
532*4882a593Smuzhiyun	};
533*4882a593Smuzhiyun
534*4882a593Smuzhiyun	firmware {
535*4882a593Smuzhiyun		optee {
536*4882a593Smuzhiyun			compatible = "linaro,optee-tz";
537*4882a593Smuzhiyun			method = "smc";
538*4882a593Smuzhiyun		};
539*4882a593Smuzhiyun	};
540*4882a593Smuzhiyun};
541