xref: /freebsd-src/sys/contrib/device-tree/src/arm64/freescale/fsl-ls1012a.dtsi (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2c66ec88fSEmmanuel Vadot/*
36be33864SEmmanuel Vadot * Device Tree Include file for NXP Layerscape-1012A family SoC.
4c66ec88fSEmmanuel Vadot *
5c66ec88fSEmmanuel Vadot * Copyright 2016 Freescale Semiconductor, Inc.
66be33864SEmmanuel Vadot * Copyright 2019-2020 NXP
7c66ec88fSEmmanuel Vadot *
8c66ec88fSEmmanuel Vadot */
9c66ec88fSEmmanuel Vadot
105def4c47SEmmanuel Vadot#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
11c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
12c66ec88fSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h>
13c66ec88fSEmmanuel Vadot
14c66ec88fSEmmanuel Vadot/ {
15c66ec88fSEmmanuel Vadot	compatible = "fsl,ls1012a";
16c66ec88fSEmmanuel Vadot	interrupt-parent = <&gic>;
17c66ec88fSEmmanuel Vadot	#address-cells = <2>;
18c66ec88fSEmmanuel Vadot	#size-cells = <2>;
19c66ec88fSEmmanuel Vadot
20c66ec88fSEmmanuel Vadot	aliases {
21c66ec88fSEmmanuel Vadot		crypto = &crypto;
22c66ec88fSEmmanuel Vadot		rtc1 = &ftm_alarm0;
23c66ec88fSEmmanuel Vadot		rtic-a = &rtic_a;
24c66ec88fSEmmanuel Vadot		rtic-b = &rtic_b;
25c66ec88fSEmmanuel Vadot		rtic-c = &rtic_c;
26c66ec88fSEmmanuel Vadot		rtic-d = &rtic_d;
27c66ec88fSEmmanuel Vadot		sec-mon = &sec_mon;
28c66ec88fSEmmanuel Vadot	};
29c66ec88fSEmmanuel Vadot
30c66ec88fSEmmanuel Vadot	cpus {
31c66ec88fSEmmanuel Vadot		#address-cells = <1>;
32c66ec88fSEmmanuel Vadot		#size-cells = <0>;
33c66ec88fSEmmanuel Vadot
34c66ec88fSEmmanuel Vadot		cpu0: cpu@0 {
35c66ec88fSEmmanuel Vadot			device_type = "cpu";
36c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
37c66ec88fSEmmanuel Vadot			reg = <0x0>;
385def4c47SEmmanuel Vadot			clocks = <&clockgen QORIQ_CLK_CMUX 0>;
39c66ec88fSEmmanuel Vadot			#cooling-cells = <2>;
40c66ec88fSEmmanuel Vadot			cpu-idle-states = <&CPU_PH20>;
41c66ec88fSEmmanuel Vadot		};
42c66ec88fSEmmanuel Vadot	};
43c66ec88fSEmmanuel Vadot
44c66ec88fSEmmanuel Vadot	idle-states {
45c66ec88fSEmmanuel Vadot		/*
46c66ec88fSEmmanuel Vadot		 * PSCI node is not added default, U-boot will add missing
47c66ec88fSEmmanuel Vadot		 * parts if it determines to use PSCI.
48c66ec88fSEmmanuel Vadot		 */
49c66ec88fSEmmanuel Vadot		entry-method = "psci";
50c66ec88fSEmmanuel Vadot
51c66ec88fSEmmanuel Vadot		CPU_PH20: cpu-ph20 {
52c66ec88fSEmmanuel Vadot			compatible = "arm,idle-state";
53c66ec88fSEmmanuel Vadot			idle-state-name = "PH20";
54c66ec88fSEmmanuel Vadot			arm,psci-suspend-param = <0x0>;
55c66ec88fSEmmanuel Vadot			entry-latency-us = <1000>;
56c66ec88fSEmmanuel Vadot			exit-latency-us = <1000>;
57c66ec88fSEmmanuel Vadot			min-residency-us = <3000>;
58c66ec88fSEmmanuel Vadot		};
59c66ec88fSEmmanuel Vadot	};
60c66ec88fSEmmanuel Vadot
61c66ec88fSEmmanuel Vadot	sysclk: sysclk {
62c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
63c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
64c66ec88fSEmmanuel Vadot		clock-frequency = <125000000>;
65c66ec88fSEmmanuel Vadot		clock-output-names = "sysclk";
66c66ec88fSEmmanuel Vadot	};
67c66ec88fSEmmanuel Vadot
68c66ec88fSEmmanuel Vadot	coreclk: coreclk {
69c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
70c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
71c66ec88fSEmmanuel Vadot		clock-frequency = <100000000>;
72c66ec88fSEmmanuel Vadot		clock-output-names = "coreclk";
73c66ec88fSEmmanuel Vadot	};
74c66ec88fSEmmanuel Vadot
75c66ec88fSEmmanuel Vadot	timer {
76c66ec88fSEmmanuel Vadot		compatible = "arm,armv8-timer";
770e8011faSEmmanuel Vadot		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,/* Physical Secure PPI */
780e8011faSEmmanuel Vadot			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,/* Physical Non-Secure PPI */
790e8011faSEmmanuel Vadot			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,/* Virtual PPI */
800e8011faSEmmanuel Vadot			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;/* Hypervisor PPI */
81c66ec88fSEmmanuel Vadot	};
82c66ec88fSEmmanuel Vadot
83c66ec88fSEmmanuel Vadot	pmu {
847d0873ebSEmmanuel Vadot		compatible = "arm,cortex-a53-pmu";
850e8011faSEmmanuel Vadot		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
86c66ec88fSEmmanuel Vadot	};
87c66ec88fSEmmanuel Vadot
88c66ec88fSEmmanuel Vadot	gic: interrupt-controller@1400000 {
89c66ec88fSEmmanuel Vadot		compatible = "arm,gic-400";
90c66ec88fSEmmanuel Vadot		#interrupt-cells = <3>;
91c66ec88fSEmmanuel Vadot		interrupt-controller;
92c66ec88fSEmmanuel Vadot		reg = <0x0 0x1401000 0 0x1000>, /* GICD */
93c66ec88fSEmmanuel Vadot		      <0x0 0x1402000 0 0x2000>, /* GICC */
94c66ec88fSEmmanuel Vadot		      <0x0 0x1404000 0 0x2000>, /* GICH */
95c66ec88fSEmmanuel Vadot		      <0x0 0x1406000 0 0x2000>; /* GICV */
960e8011faSEmmanuel Vadot		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_LOW>;
97c66ec88fSEmmanuel Vadot	};
98c66ec88fSEmmanuel Vadot
99c66ec88fSEmmanuel Vadot	reboot {
100c66ec88fSEmmanuel Vadot		compatible = "syscon-reboot";
101c66ec88fSEmmanuel Vadot		regmap = <&dcfg>;
102c66ec88fSEmmanuel Vadot		offset = <0xb0>;
103c66ec88fSEmmanuel Vadot		mask = <0x02>;
104c66ec88fSEmmanuel Vadot	};
105c66ec88fSEmmanuel Vadot
106c66ec88fSEmmanuel Vadot	thermal-zones {
107c66ec88fSEmmanuel Vadot		cpu_thermal: cpu-thermal {
108c66ec88fSEmmanuel Vadot			polling-delay-passive = <1000>;
109c66ec88fSEmmanuel Vadot			polling-delay = <5000>;
110c66ec88fSEmmanuel Vadot			thermal-sensors = <&tmu 0>;
111c66ec88fSEmmanuel Vadot
112c66ec88fSEmmanuel Vadot			trips {
113c66ec88fSEmmanuel Vadot				cpu_alert: cpu-alert {
114c66ec88fSEmmanuel Vadot					temperature = <85000>;
115c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
116c66ec88fSEmmanuel Vadot					type = "passive";
117c66ec88fSEmmanuel Vadot				};
118c66ec88fSEmmanuel Vadot
119c66ec88fSEmmanuel Vadot				cpu_crit: cpu-crit {
120c66ec88fSEmmanuel Vadot					temperature = <95000>;
121c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
122c66ec88fSEmmanuel Vadot					type = "critical";
123c66ec88fSEmmanuel Vadot				};
124c66ec88fSEmmanuel Vadot			};
125c66ec88fSEmmanuel Vadot
126c66ec88fSEmmanuel Vadot			cooling-maps {
127c66ec88fSEmmanuel Vadot				map0 {
128c66ec88fSEmmanuel Vadot					trip = <&cpu_alert>;
129c66ec88fSEmmanuel Vadot					cooling-device =
130c66ec88fSEmmanuel Vadot						<&cpu0 THERMAL_NO_LIMIT
131c66ec88fSEmmanuel Vadot						THERMAL_NO_LIMIT>;
132c66ec88fSEmmanuel Vadot				};
133c66ec88fSEmmanuel Vadot			};
134c66ec88fSEmmanuel Vadot		};
135c66ec88fSEmmanuel Vadot	};
136c66ec88fSEmmanuel Vadot
137c66ec88fSEmmanuel Vadot	soc {
138c66ec88fSEmmanuel Vadot		compatible = "simple-bus";
139c66ec88fSEmmanuel Vadot		#address-cells = <2>;
140c66ec88fSEmmanuel Vadot		#size-cells = <2>;
141c66ec88fSEmmanuel Vadot		ranges;
142c66ec88fSEmmanuel Vadot
143c66ec88fSEmmanuel Vadot		qspi: spi@1550000 {
144c66ec88fSEmmanuel Vadot			compatible = "fsl,ls1021a-qspi";
145c66ec88fSEmmanuel Vadot			#address-cells = <1>;
146c66ec88fSEmmanuel Vadot			#size-cells = <0>;
147c66ec88fSEmmanuel Vadot			reg = <0x0 0x1550000 0x0 0x10000>,
148c66ec88fSEmmanuel Vadot				<0x0 0x40000000 0x0 0x10000000>;
149c66ec88fSEmmanuel Vadot			reg-names = "QuadSPI", "QuadSPI-memory";
150c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
151c66ec88fSEmmanuel Vadot			clock-names = "qspi_en", "qspi";
1525def4c47SEmmanuel Vadot			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
1535def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(1)>,
1545def4c47SEmmanuel Vadot				 <&clockgen QORIQ_CLK_PLATFORM_PLL
1555def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(1)>;
156c66ec88fSEmmanuel Vadot			status = "disabled";
157c66ec88fSEmmanuel Vadot		};
158c66ec88fSEmmanuel Vadot
1590e8011faSEmmanuel Vadot		esdhc0: mmc@1560000 {
160c66ec88fSEmmanuel Vadot			compatible = "fsl,ls1012a-esdhc", "fsl,esdhc";
161c66ec88fSEmmanuel Vadot			reg = <0x0 0x1560000 0x0 0x10000>;
1620e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
1635def4c47SEmmanuel Vadot			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
1645def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(1)>;
165c66ec88fSEmmanuel Vadot			voltage-ranges = <1800 1800 3300 3300>;
166c66ec88fSEmmanuel Vadot			sdhci,auto-cmd12;
167c66ec88fSEmmanuel Vadot			bus-width = <4>;
168c66ec88fSEmmanuel Vadot			status = "disabled";
169c66ec88fSEmmanuel Vadot		};
170c66ec88fSEmmanuel Vadot
171c66ec88fSEmmanuel Vadot		scfg: scfg@1570000 {
172c66ec88fSEmmanuel Vadot			compatible = "fsl,ls1012a-scfg", "syscon";
173c66ec88fSEmmanuel Vadot			reg = <0x0 0x1570000 0x0 0x10000>;
174c66ec88fSEmmanuel Vadot			big-endian;
175c66ec88fSEmmanuel Vadot		};
176c66ec88fSEmmanuel Vadot
1770e8011faSEmmanuel Vadot		esdhc1: mmc@1580000 {
178c66ec88fSEmmanuel Vadot			compatible = "fsl,ls1012a-esdhc", "fsl,esdhc";
179c66ec88fSEmmanuel Vadot			reg = <0x0 0x1580000 0x0 0x10000>;
1800e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
1815def4c47SEmmanuel Vadot			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
1825def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(1)>;
183c66ec88fSEmmanuel Vadot			voltage-ranges = <1800 1800 3300 3300>;
184c66ec88fSEmmanuel Vadot			sdhci,auto-cmd12;
185c66ec88fSEmmanuel Vadot			broken-cd;
186c66ec88fSEmmanuel Vadot			bus-width = <4>;
187c66ec88fSEmmanuel Vadot			status = "disabled";
188c66ec88fSEmmanuel Vadot		};
189c66ec88fSEmmanuel Vadot
190c66ec88fSEmmanuel Vadot		crypto: crypto@1700000 {
191c66ec88fSEmmanuel Vadot			compatible = "fsl,sec-v5.4", "fsl,sec-v5.0",
192c66ec88fSEmmanuel Vadot				     "fsl,sec-v4.0";
193c66ec88fSEmmanuel Vadot			fsl,sec-era = <8>;
194c66ec88fSEmmanuel Vadot			#address-cells = <1>;
195c66ec88fSEmmanuel Vadot			#size-cells = <1>;
196c66ec88fSEmmanuel Vadot			ranges = <0x0 0x00 0x1700000 0x100000>;
197c66ec88fSEmmanuel Vadot			reg = <0x00 0x1700000 0x0 0x100000>;
198c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
19982ea1a07SEmmanuel Vadot			dma-coherent;
200c66ec88fSEmmanuel Vadot
201c66ec88fSEmmanuel Vadot			sec_jr0: jr@10000 {
202c66ec88fSEmmanuel Vadot				compatible = "fsl,sec-v5.4-job-ring",
203c66ec88fSEmmanuel Vadot					     "fsl,sec-v5.0-job-ring",
204c66ec88fSEmmanuel Vadot					     "fsl,sec-v4.0-job-ring";
205c66ec88fSEmmanuel Vadot				reg = <0x10000 0x10000>;
206c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
207c66ec88fSEmmanuel Vadot			};
208c66ec88fSEmmanuel Vadot
209c66ec88fSEmmanuel Vadot			sec_jr1: jr@20000 {
210c66ec88fSEmmanuel Vadot				compatible = "fsl,sec-v5.4-job-ring",
211c66ec88fSEmmanuel Vadot					     "fsl,sec-v5.0-job-ring",
212c66ec88fSEmmanuel Vadot					     "fsl,sec-v4.0-job-ring";
213c66ec88fSEmmanuel Vadot				reg = <0x20000 0x10000>;
214c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
215c66ec88fSEmmanuel Vadot			};
216c66ec88fSEmmanuel Vadot
217c66ec88fSEmmanuel Vadot			sec_jr2: jr@30000 {
218c66ec88fSEmmanuel Vadot				compatible = "fsl,sec-v5.4-job-ring",
219c66ec88fSEmmanuel Vadot					     "fsl,sec-v5.0-job-ring",
220c66ec88fSEmmanuel Vadot					     "fsl,sec-v4.0-job-ring";
221c66ec88fSEmmanuel Vadot				reg = <0x30000 0x10000>;
222c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
223c66ec88fSEmmanuel Vadot			};
224c66ec88fSEmmanuel Vadot
225c66ec88fSEmmanuel Vadot			sec_jr3: jr@40000 {
226c66ec88fSEmmanuel Vadot				compatible = "fsl,sec-v5.4-job-ring",
227c66ec88fSEmmanuel Vadot					     "fsl,sec-v5.0-job-ring",
228c66ec88fSEmmanuel Vadot					     "fsl,sec-v4.0-job-ring";
229c66ec88fSEmmanuel Vadot				reg = <0x40000 0x10000>;
230c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
231c66ec88fSEmmanuel Vadot			};
232c66ec88fSEmmanuel Vadot
233c66ec88fSEmmanuel Vadot			rtic@60000 {
234c66ec88fSEmmanuel Vadot				compatible = "fsl,sec-v5.4-rtic",
235c66ec88fSEmmanuel Vadot					     "fsl,sec-v5.0-rtic",
236c66ec88fSEmmanuel Vadot					     "fsl,sec-v4.0-rtic";
237c66ec88fSEmmanuel Vadot				#address-cells = <1>;
238c66ec88fSEmmanuel Vadot				#size-cells = <1>;
2395956d97fSEmmanuel Vadot				reg = <0x60000 0x100>, <0x60e00 0x18>;
240c66ec88fSEmmanuel Vadot				ranges = <0x0 0x60100 0x500>;
241c66ec88fSEmmanuel Vadot
242c66ec88fSEmmanuel Vadot				rtic_a: rtic-a@0 {
243c66ec88fSEmmanuel Vadot					compatible = "fsl,sec-v5.4-rtic-memory",
244c66ec88fSEmmanuel Vadot						     "fsl,sec-v5.0-rtic-memory",
245c66ec88fSEmmanuel Vadot						     "fsl,sec-v4.0-rtic-memory";
2465956d97fSEmmanuel Vadot					reg = <0x00 0x20>, <0x100 0x100>;
247c66ec88fSEmmanuel Vadot				};
248c66ec88fSEmmanuel Vadot
249c66ec88fSEmmanuel Vadot				rtic_b: rtic-b@20 {
250c66ec88fSEmmanuel Vadot					compatible = "fsl,sec-v5.4-rtic-memory",
251c66ec88fSEmmanuel Vadot						     "fsl,sec-v5.0-rtic-memory",
252c66ec88fSEmmanuel Vadot						     "fsl,sec-v4.0-rtic-memory";
2535956d97fSEmmanuel Vadot					reg = <0x20 0x20>, <0x200 0x100>;
254c66ec88fSEmmanuel Vadot				};
255c66ec88fSEmmanuel Vadot
256c66ec88fSEmmanuel Vadot				rtic_c: rtic-c@40 {
257c66ec88fSEmmanuel Vadot					compatible = "fsl,sec-v5.4-rtic-memory",
258c66ec88fSEmmanuel Vadot						     "fsl,sec-v5.0-rtic-memory",
259c66ec88fSEmmanuel Vadot						     "fsl,sec-v4.0-rtic-memory";
2605956d97fSEmmanuel Vadot					reg = <0x40 0x20>, <0x300 0x100>;
261c66ec88fSEmmanuel Vadot				};
262c66ec88fSEmmanuel Vadot
263c66ec88fSEmmanuel Vadot				rtic_d: rtic-d@60 {
264c66ec88fSEmmanuel Vadot					compatible = "fsl,sec-v5.4-rtic-memory",
265c66ec88fSEmmanuel Vadot						     "fsl,sec-v5.0-rtic-memory",
266c66ec88fSEmmanuel Vadot						     "fsl,sec-v4.0-rtic-memory";
2675956d97fSEmmanuel Vadot					reg = <0x60 0x20>, <0x400 0x100>;
268c66ec88fSEmmanuel Vadot				};
269c66ec88fSEmmanuel Vadot			};
270c66ec88fSEmmanuel Vadot		};
271c66ec88fSEmmanuel Vadot
272b97ee269SEmmanuel Vadot		sfp: efuse@1e80000 {
273b97ee269SEmmanuel Vadot			compatible = "fsl,ls1021a-sfp";
274b97ee269SEmmanuel Vadot			reg = <0x0 0x1e80000 0x0 0x10000>;
275b97ee269SEmmanuel Vadot			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
276b97ee269SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(4)>;
277b97ee269SEmmanuel Vadot			clock-names = "sfp";
278b97ee269SEmmanuel Vadot		};
279b97ee269SEmmanuel Vadot
280c66ec88fSEmmanuel Vadot		sec_mon: sec_mon@1e90000 {
281c66ec88fSEmmanuel Vadot			compatible = "fsl,sec-v5.4-mon", "fsl,sec-v5.0-mon",
282c66ec88fSEmmanuel Vadot				     "fsl,sec-v4.0-mon";
283c66ec88fSEmmanuel Vadot			reg = <0x0 0x1e90000 0x0 0x10000>;
284c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
285c66ec88fSEmmanuel Vadot				     <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
286c66ec88fSEmmanuel Vadot		};
287c66ec88fSEmmanuel Vadot
288c66ec88fSEmmanuel Vadot		dcfg: dcfg@1ee0000 {
289c66ec88fSEmmanuel Vadot			compatible = "fsl,ls1012a-dcfg",
290c66ec88fSEmmanuel Vadot				     "syscon";
29101950c46SEmmanuel Vadot			reg = <0x0 0x1ee0000 0x0 0x1000>;
292c66ec88fSEmmanuel Vadot			big-endian;
293c66ec88fSEmmanuel Vadot		};
294c66ec88fSEmmanuel Vadot
295c66ec88fSEmmanuel Vadot		clockgen: clocking@1ee1000 {
296c66ec88fSEmmanuel Vadot			compatible = "fsl,ls1012a-clockgen";
297c66ec88fSEmmanuel Vadot			reg = <0x0 0x1ee1000 0x0 0x1000>;
298c66ec88fSEmmanuel Vadot			#clock-cells = <2>;
299c66ec88fSEmmanuel Vadot			clocks = <&sysclk &coreclk>;
300c66ec88fSEmmanuel Vadot			clock-names = "sysclk", "coreclk";
301c66ec88fSEmmanuel Vadot		};
302c66ec88fSEmmanuel Vadot
303c66ec88fSEmmanuel Vadot		tmu: tmu@1f00000 {
304c66ec88fSEmmanuel Vadot			compatible = "fsl,qoriq-tmu";
305c66ec88fSEmmanuel Vadot			reg = <0x0 0x1f00000 0x0 0x10000>;
3060e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
3075def4c47SEmmanuel Vadot			fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x60062>;
3088d13bc63SEmmanuel Vadot			fsl,tmu-calibration =
3098d13bc63SEmmanuel Vadot					<0x00000000 0x00000025>,
3108d13bc63SEmmanuel Vadot					<0x00000001 0x0000002c>,
3118d13bc63SEmmanuel Vadot					<0x00000002 0x00000032>,
3128d13bc63SEmmanuel Vadot					<0x00000003 0x00000039>,
3138d13bc63SEmmanuel Vadot					<0x00000004 0x0000003f>,
3148d13bc63SEmmanuel Vadot					<0x00000005 0x00000046>,
3158d13bc63SEmmanuel Vadot					<0x00000006 0x0000004c>,
3168d13bc63SEmmanuel Vadot					<0x00000007 0x00000053>,
3178d13bc63SEmmanuel Vadot					<0x00000008 0x00000059>,
3188d13bc63SEmmanuel Vadot					<0x00000009 0x0000005f>,
3198d13bc63SEmmanuel Vadot					<0x0000000a 0x00000066>,
3208d13bc63SEmmanuel Vadot					<0x0000000b 0x0000006c>,
321c66ec88fSEmmanuel Vadot
3228d13bc63SEmmanuel Vadot					<0x00010000 0x00000026>,
3238d13bc63SEmmanuel Vadot					<0x00010001 0x0000002d>,
3248d13bc63SEmmanuel Vadot					<0x00010002 0x00000035>,
3258d13bc63SEmmanuel Vadot					<0x00010003 0x0000003d>,
3268d13bc63SEmmanuel Vadot					<0x00010004 0x00000045>,
3278d13bc63SEmmanuel Vadot					<0x00010005 0x0000004d>,
3288d13bc63SEmmanuel Vadot					<0x00010006 0x00000055>,
3298d13bc63SEmmanuel Vadot					<0x00010007 0x0000005d>,
3308d13bc63SEmmanuel Vadot					<0x00010008 0x00000065>,
3318d13bc63SEmmanuel Vadot					<0x00010009 0x0000006d>,
332c66ec88fSEmmanuel Vadot
3338d13bc63SEmmanuel Vadot					<0x00020000 0x00000026>,
3348d13bc63SEmmanuel Vadot					<0x00020001 0x00000030>,
3358d13bc63SEmmanuel Vadot					<0x00020002 0x0000003a>,
3368d13bc63SEmmanuel Vadot					<0x00020003 0x00000044>,
3378d13bc63SEmmanuel Vadot					<0x00020004 0x0000004e>,
3388d13bc63SEmmanuel Vadot					<0x00020005 0x00000059>,
3398d13bc63SEmmanuel Vadot					<0x00020006 0x00000063>,
340c66ec88fSEmmanuel Vadot
3418d13bc63SEmmanuel Vadot					<0x00030000 0x00000014>,
3428d13bc63SEmmanuel Vadot					<0x00030001 0x00000021>,
3438d13bc63SEmmanuel Vadot					<0x00030002 0x0000002e>,
3448d13bc63SEmmanuel Vadot					<0x00030003 0x0000003a>,
3458d13bc63SEmmanuel Vadot					<0x00030004 0x00000047>,
3468d13bc63SEmmanuel Vadot					<0x00030005 0x00000053>,
3478d13bc63SEmmanuel Vadot					<0x00030006 0x00000060>;
348c66ec88fSEmmanuel Vadot			#thermal-sensor-cells = <1>;
349c66ec88fSEmmanuel Vadot		};
350c66ec88fSEmmanuel Vadot
351c66ec88fSEmmanuel Vadot		i2c0: i2c@2180000 {
35201950c46SEmmanuel Vadot			compatible = "fsl,ls1012a-i2c", "fsl,vf610-i2c";
353c66ec88fSEmmanuel Vadot			#address-cells = <1>;
354c66ec88fSEmmanuel Vadot			#size-cells = <0>;
355c66ec88fSEmmanuel Vadot			reg = <0x0 0x2180000 0x0 0x10000>;
3560e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
3575def4c47SEmmanuel Vadot			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
3585def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(4)>;
35901950c46SEmmanuel Vadot			scl-gpios = <&gpio0 2 0>;
360c66ec88fSEmmanuel Vadot			status = "disabled";
361c66ec88fSEmmanuel Vadot		};
362c66ec88fSEmmanuel Vadot
363c66ec88fSEmmanuel Vadot		i2c1: i2c@2190000 {
36401950c46SEmmanuel Vadot			compatible = "fsl,ls1012a-i2c", "fsl,vf610-i2c";
365c66ec88fSEmmanuel Vadot			#address-cells = <1>;
366c66ec88fSEmmanuel Vadot			#size-cells = <0>;
367c66ec88fSEmmanuel Vadot			reg = <0x0 0x2190000 0x0 0x10000>;
3680e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
3695def4c47SEmmanuel Vadot			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
3705def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(4)>;
37101950c46SEmmanuel Vadot			scl-gpios = <&gpio0 13 0>;
372c66ec88fSEmmanuel Vadot			status = "disabled";
373c66ec88fSEmmanuel Vadot		};
374c66ec88fSEmmanuel Vadot
375c66ec88fSEmmanuel Vadot		dspi: spi@2100000 {
376c66ec88fSEmmanuel Vadot			compatible = "fsl,ls1012a-dspi", "fsl,ls1021a-v1.0-dspi";
377c66ec88fSEmmanuel Vadot			#address-cells = <1>;
378c66ec88fSEmmanuel Vadot			#size-cells = <0>;
379c66ec88fSEmmanuel Vadot			reg = <0x0 0x2100000 0x0 0x10000>;
3800e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
381c66ec88fSEmmanuel Vadot			clock-names = "dspi";
3825def4c47SEmmanuel Vadot			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
3835def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(1)>;
384c66ec88fSEmmanuel Vadot			spi-num-chipselects = <5>;
385c66ec88fSEmmanuel Vadot			big-endian;
386c66ec88fSEmmanuel Vadot			status = "disabled";
387c66ec88fSEmmanuel Vadot		};
388c66ec88fSEmmanuel Vadot
389c66ec88fSEmmanuel Vadot		duart0: serial@21c0500 {
390c66ec88fSEmmanuel Vadot			compatible = "fsl,ns16550", "ns16550a";
391c66ec88fSEmmanuel Vadot			reg = <0x00 0x21c0500 0x0 0x100>;
3920e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
3935def4c47SEmmanuel Vadot			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
3945def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(1)>;
395c66ec88fSEmmanuel Vadot			status = "disabled";
396c66ec88fSEmmanuel Vadot		};
397c66ec88fSEmmanuel Vadot
398c66ec88fSEmmanuel Vadot		duart1: serial@21c0600 {
399c66ec88fSEmmanuel Vadot			compatible = "fsl,ns16550", "ns16550a";
400c66ec88fSEmmanuel Vadot			reg = <0x00 0x21c0600 0x0 0x100>;
4010e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
4025def4c47SEmmanuel Vadot			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
4035def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(1)>;
404c66ec88fSEmmanuel Vadot			status = "disabled";
405c66ec88fSEmmanuel Vadot		};
406c66ec88fSEmmanuel Vadot
407c66ec88fSEmmanuel Vadot		gpio0: gpio@2300000 {
4080e8011faSEmmanuel Vadot			compatible = "fsl,ls1021a-gpio", "fsl,qoriq-gpio";
409c66ec88fSEmmanuel Vadot			reg = <0x0 0x2300000 0x0 0x10000>;
4100e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
411c66ec88fSEmmanuel Vadot			gpio-controller;
412c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
413c66ec88fSEmmanuel Vadot			interrupt-controller;
414c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
415c66ec88fSEmmanuel Vadot		};
416c66ec88fSEmmanuel Vadot
417c66ec88fSEmmanuel Vadot		gpio1: gpio@2310000 {
4180e8011faSEmmanuel Vadot			compatible = "fsl,ls1021a-gpio", "fsl,qoriq-gpio";
419c66ec88fSEmmanuel Vadot			reg = <0x0 0x2310000 0x0 0x10000>;
4200e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
421c66ec88fSEmmanuel Vadot			gpio-controller;
422c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
423c66ec88fSEmmanuel Vadot			interrupt-controller;
424c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
425c66ec88fSEmmanuel Vadot		};
426c66ec88fSEmmanuel Vadot
4275def4c47SEmmanuel Vadot		wdog0: watchdog@2ad0000 {
428c66ec88fSEmmanuel Vadot			compatible = "fsl,ls1012a-wdt",
429c66ec88fSEmmanuel Vadot				     "fsl,imx21-wdt";
430c66ec88fSEmmanuel Vadot			reg = <0x0 0x2ad0000 0x0 0x10000>;
4310e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
4325def4c47SEmmanuel Vadot			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(1)>;
433c66ec88fSEmmanuel Vadot			big-endian;
434c66ec88fSEmmanuel Vadot		};
435c66ec88fSEmmanuel Vadot
436c66ec88fSEmmanuel Vadot		sai1: sai@2b50000 {
437c66ec88fSEmmanuel Vadot			#sound-dai-cells = <0>;
438c66ec88fSEmmanuel Vadot			compatible = "fsl,vf610-sai";
439c66ec88fSEmmanuel Vadot			reg = <0x0 0x2b50000 0x0 0x10000>;
4400e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
4415def4c47SEmmanuel Vadot			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
4425def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(4)>,
4435def4c47SEmmanuel Vadot				 <&clockgen QORIQ_CLK_PLATFORM_PLL
4445def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(4)>,
4455def4c47SEmmanuel Vadot				 <&clockgen QORIQ_CLK_PLATFORM_PLL
4465def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(4)>,
4475def4c47SEmmanuel Vadot				 <&clockgen QORIQ_CLK_PLATFORM_PLL
4485def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(4)>;
449c66ec88fSEmmanuel Vadot			clock-names = "bus", "mclk1", "mclk2", "mclk3";
4500e8011faSEmmanuel Vadot			dma-names = "rx", "tx";
4510e8011faSEmmanuel Vadot			dmas = <&edma0 1 46>,
4520e8011faSEmmanuel Vadot			       <&edma0 1 47>;
453c66ec88fSEmmanuel Vadot			status = "disabled";
454c66ec88fSEmmanuel Vadot		};
455c66ec88fSEmmanuel Vadot
456c66ec88fSEmmanuel Vadot		sai2: sai@2b60000 {
457c66ec88fSEmmanuel Vadot			#sound-dai-cells = <0>;
458c66ec88fSEmmanuel Vadot			compatible = "fsl,vf610-sai";
459c66ec88fSEmmanuel Vadot			reg = <0x0 0x2b60000 0x0 0x10000>;
4600e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
4615def4c47SEmmanuel Vadot			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
4625def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(4)>,
4635def4c47SEmmanuel Vadot				 <&clockgen QORIQ_CLK_PLATFORM_PLL
4645def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(4)>,
4655def4c47SEmmanuel Vadot				 <&clockgen QORIQ_CLK_PLATFORM_PLL
4665def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(4)>,
4675def4c47SEmmanuel Vadot				 <&clockgen QORIQ_CLK_PLATFORM_PLL
4685def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(4)>;
469c66ec88fSEmmanuel Vadot			clock-names = "bus", "mclk1", "mclk2", "mclk3";
4700e8011faSEmmanuel Vadot			dma-names = "rx", "tx";
4710e8011faSEmmanuel Vadot			dmas = <&edma0 1 44>,
4720e8011faSEmmanuel Vadot			       <&edma0 1 45>;
473c66ec88fSEmmanuel Vadot			status = "disabled";
474c66ec88fSEmmanuel Vadot		};
475c66ec88fSEmmanuel Vadot
476b97ee269SEmmanuel Vadot		edma0: dma-controller@2c00000 {
477c66ec88fSEmmanuel Vadot			#dma-cells = <2>;
478c66ec88fSEmmanuel Vadot			compatible = "fsl,vf610-edma";
479c66ec88fSEmmanuel Vadot			reg = <0x0 0x2c00000 0x0 0x10000>,
480c66ec88fSEmmanuel Vadot			      <0x0 0x2c10000 0x0 0x10000>,
481c66ec88fSEmmanuel Vadot			      <0x0 0x2c20000 0x0 0x10000>;
4820e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
4830e8011faSEmmanuel Vadot				     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
484c66ec88fSEmmanuel Vadot			interrupt-names = "edma-tx", "edma-err";
485c66ec88fSEmmanuel Vadot			dma-channels = <32>;
486c66ec88fSEmmanuel Vadot			big-endian;
487c66ec88fSEmmanuel Vadot			clock-names = "dmamux0", "dmamux1";
4885def4c47SEmmanuel Vadot			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
4895def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(4)>,
4905def4c47SEmmanuel Vadot				 <&clockgen QORIQ_CLK_PLATFORM_PLL
4915def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(4)>;
492c66ec88fSEmmanuel Vadot		};
493c66ec88fSEmmanuel Vadot
4945def4c47SEmmanuel Vadot		usb0: usb@2f00000 {
495c66ec88fSEmmanuel Vadot			compatible = "snps,dwc3";
496c66ec88fSEmmanuel Vadot			reg = <0x0 0x2f00000 0x0 0x10000>;
4970e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
498c66ec88fSEmmanuel Vadot			dr_mode = "host";
499c66ec88fSEmmanuel Vadot			snps,quirk-frame-length-adjustment = <0x20>;
500c66ec88fSEmmanuel Vadot			snps,dis_rxdet_inp3_quirk;
501c66ec88fSEmmanuel Vadot			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
502c66ec88fSEmmanuel Vadot		};
503c66ec88fSEmmanuel Vadot
504c66ec88fSEmmanuel Vadot		sata: sata@3200000 {
505c66ec88fSEmmanuel Vadot			compatible = "fsl,ls1012a-ahci", "fsl,ls1043a-ahci";
506c66ec88fSEmmanuel Vadot			reg = <0x0 0x3200000 0x0 0x10000>,
507c66ec88fSEmmanuel Vadot				<0x0 0x20140520 0x0 0x4>;
508c66ec88fSEmmanuel Vadot			reg-names = "ahci", "sata-ecc";
5090e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
5105def4c47SEmmanuel Vadot			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
5115def4c47SEmmanuel Vadot					    QORIQ_CLK_PLL_DIV(1)>;
512c66ec88fSEmmanuel Vadot			dma-coherent;
513c66ec88fSEmmanuel Vadot			status = "disabled";
514c66ec88fSEmmanuel Vadot		};
515c66ec88fSEmmanuel Vadot
5165def4c47SEmmanuel Vadot		usb1: usb@8600000 {
517c66ec88fSEmmanuel Vadot			compatible = "fsl-usb2-dr-v2.5", "fsl-usb2-dr";
518c66ec88fSEmmanuel Vadot			reg = <0x0 0x8600000 0x0 0x1000>;
5190e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
520c66ec88fSEmmanuel Vadot			dr_mode = "host";
521c66ec88fSEmmanuel Vadot			phy_type = "ulpi";
522c66ec88fSEmmanuel Vadot		};
523c66ec88fSEmmanuel Vadot
524c66ec88fSEmmanuel Vadot		msi: msi-controller1@1572000 {
525c66ec88fSEmmanuel Vadot			compatible = "fsl,ls1012a-msi";
526c66ec88fSEmmanuel Vadot			reg = <0x0 0x1572000 0x0 0x8>;
527c66ec88fSEmmanuel Vadot			msi-controller;
5280e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
529c66ec88fSEmmanuel Vadot		};
530c66ec88fSEmmanuel Vadot
5316be33864SEmmanuel Vadot		pcie1: pcie@3400000 {
532c66ec88fSEmmanuel Vadot			compatible = "fsl,ls1012a-pcie";
5335956d97fSEmmanuel Vadot			reg = <0x00 0x03400000 0x0 0x00100000>, /* controller registers */
5345956d97fSEmmanuel Vadot			      <0x40 0x00000000 0x0 0x00002000>; /* configuration space */
535c66ec88fSEmmanuel Vadot			reg-names = "regs", "config";
5360e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */
5370e8011faSEmmanuel Vadot				     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
5380e8011faSEmmanuel Vadot			interrupt-names = "pme", "aer";
539c66ec88fSEmmanuel Vadot			#address-cells = <3>;
540c66ec88fSEmmanuel Vadot			#size-cells = <2>;
541c66ec88fSEmmanuel Vadot			device_type = "pci";
542c66ec88fSEmmanuel Vadot			bus-range = <0x0 0xff>;
543c66ec88fSEmmanuel Vadot			ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000   /* downstream I/O */
544c66ec88fSEmmanuel Vadot				  0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
545c66ec88fSEmmanuel Vadot			msi-parent = <&msi>;
546c66ec88fSEmmanuel Vadot			#interrupt-cells = <1>;
547c66ec88fSEmmanuel Vadot			interrupt-map-mask = <0 0 0 7>;
548c66ec88fSEmmanuel Vadot			interrupt-map = <0000 0 0 1 &gic 0 110 IRQ_TYPE_LEVEL_HIGH>,
549c66ec88fSEmmanuel Vadot					<0000 0 0 2 &gic 0 111 IRQ_TYPE_LEVEL_HIGH>,
550c66ec88fSEmmanuel Vadot					<0000 0 0 3 &gic 0 112 IRQ_TYPE_LEVEL_HIGH>,
551c66ec88fSEmmanuel Vadot					<0000 0 0 4 &gic 0 113 IRQ_TYPE_LEVEL_HIGH>;
55201950c46SEmmanuel Vadot			big-endian;
553c66ec88fSEmmanuel Vadot			status = "disabled";
554c66ec88fSEmmanuel Vadot		};
555c66ec88fSEmmanuel Vadot
556*b2d2a78aSEmmanuel Vadot		rcpm: wakeup-controller@1ee2140 {
557c66ec88fSEmmanuel Vadot			compatible = "fsl,ls1012a-rcpm", "fsl,qoriq-rcpm-2.1+";
558c66ec88fSEmmanuel Vadot			reg = <0x0 0x1ee2140 0x0 0x4>;
559c66ec88fSEmmanuel Vadot			#fsl,rcpm-wakeup-cells = <1>;
560c66ec88fSEmmanuel Vadot		};
561c66ec88fSEmmanuel Vadot
5620e8011faSEmmanuel Vadot		ftm_alarm0: rtc@29d0000 {
563c66ec88fSEmmanuel Vadot			compatible = "fsl,ls1012a-ftm-alarm";
564c66ec88fSEmmanuel Vadot			reg = <0x0 0x29d0000 0x0 0x10000>;
565c66ec88fSEmmanuel Vadot			fsl,rcpm-wakeup = <&rcpm 0x20000>;
566c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
567c66ec88fSEmmanuel Vadot			big-endian;
568c66ec88fSEmmanuel Vadot		};
569c66ec88fSEmmanuel Vadot	};
570c66ec88fSEmmanuel Vadot
571c66ec88fSEmmanuel Vadot	firmware {
572c66ec88fSEmmanuel Vadot		optee {
573c66ec88fSEmmanuel Vadot			compatible = "linaro,optee-tz";
574c66ec88fSEmmanuel Vadot			method = "smc";
575c66ec88fSEmmanuel Vadot		};
576c66ec88fSEmmanuel Vadot	};
577c66ec88fSEmmanuel Vadot};
578