xref: /openbmc/linux/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi (revision 346f5976cc3200896d5fb873412a4fe9c0fc611e)
17a2aeb91SLi Yang// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
27a5d7347SHarninder Rai/*
37a5d7347SHarninder Rai * Device Tree Include file for NXP Layerscape-1088A family SoC.
47a5d7347SHarninder Rai *
57a5d7347SHarninder Rai * Copyright 2017 NXP
67a5d7347SHarninder Rai *
77a5d7347SHarninder Rai * Harninder Rai <harninder.rai@nxp.com>
87a5d7347SHarninder Rai *
97a5d7347SHarninder Rai */
107a5d7347SHarninder Rai#include <dt-bindings/interrupt-controller/arm-gic.h>
11e4990b44SYuantian Tang#include <dt-bindings/thermal/thermal.h>
127a5d7347SHarninder Rai
137a5d7347SHarninder Rai/ {
147a5d7347SHarninder Rai	compatible = "fsl,ls1088a";
157a5d7347SHarninder Rai	interrupt-parent = <&gic>;
167a5d7347SHarninder Rai	#address-cells = <2>;
177a5d7347SHarninder Rai	#size-cells = <2>;
187a5d7347SHarninder Rai
191e09dec9SHoria Geantă	aliases {
201e09dec9SHoria Geantă		crypto = &crypto;
211e09dec9SHoria Geantă	};
221e09dec9SHoria Geantă
237a5d7347SHarninder Rai	cpus {
247a5d7347SHarninder Rai		#address-cells = <1>;
257a5d7347SHarninder Rai		#size-cells = <0>;
267a5d7347SHarninder Rai
277a5d7347SHarninder Rai		/* We have 2 clusters having 4 Cortex-A53 cores each */
287a5d7347SHarninder Rai		cpu0: cpu@0 {
297a5d7347SHarninder Rai			device_type = "cpu";
307a5d7347SHarninder Rai			compatible = "arm,cortex-a53";
317a5d7347SHarninder Rai			reg = <0x0>;
327a5d7347SHarninder Rai			clocks = <&clockgen 1 0>;
335334e1a2SYuantian Tang			cpu-idle-states = <&CPU_PH20>;
34e4990b44SYuantian Tang			#cooling-cells = <2>;
357a5d7347SHarninder Rai		};
367a5d7347SHarninder Rai
377a5d7347SHarninder Rai		cpu1: cpu@1 {
387a5d7347SHarninder Rai			device_type = "cpu";
397a5d7347SHarninder Rai			compatible = "arm,cortex-a53";
407a5d7347SHarninder Rai			reg = <0x1>;
417a5d7347SHarninder Rai			clocks = <&clockgen 1 0>;
425334e1a2SYuantian Tang			cpu-idle-states = <&CPU_PH20>;
43*346f5976SViresh Kumar			#cooling-cells = <2>;
447a5d7347SHarninder Rai		};
457a5d7347SHarninder Rai
467a5d7347SHarninder Rai		cpu2: cpu@2 {
477a5d7347SHarninder Rai			device_type = "cpu";
487a5d7347SHarninder Rai			compatible = "arm,cortex-a53";
497a5d7347SHarninder Rai			reg = <0x2>;
507a5d7347SHarninder Rai			clocks = <&clockgen 1 0>;
515334e1a2SYuantian Tang			cpu-idle-states = <&CPU_PH20>;
52*346f5976SViresh Kumar			#cooling-cells = <2>;
537a5d7347SHarninder Rai		};
547a5d7347SHarninder Rai
557a5d7347SHarninder Rai		cpu3: cpu@3 {
567a5d7347SHarninder Rai			device_type = "cpu";
577a5d7347SHarninder Rai			compatible = "arm,cortex-a53";
587a5d7347SHarninder Rai			reg = <0x3>;
597a5d7347SHarninder Rai			clocks = <&clockgen 1 0>;
605334e1a2SYuantian Tang			cpu-idle-states = <&CPU_PH20>;
61*346f5976SViresh Kumar			#cooling-cells = <2>;
627a5d7347SHarninder Rai		};
637a5d7347SHarninder Rai
647a5d7347SHarninder Rai		cpu4: cpu@100 {
657a5d7347SHarninder Rai			device_type = "cpu";
667a5d7347SHarninder Rai			compatible = "arm,cortex-a53";
677a5d7347SHarninder Rai			reg = <0x100>;
687a5d7347SHarninder Rai			clocks = <&clockgen 1 1>;
695334e1a2SYuantian Tang			cpu-idle-states = <&CPU_PH20>;
70e4990b44SYuantian Tang			#cooling-cells = <2>;
717a5d7347SHarninder Rai		};
727a5d7347SHarninder Rai
737a5d7347SHarninder Rai		cpu5: cpu@101 {
747a5d7347SHarninder Rai			device_type = "cpu";
757a5d7347SHarninder Rai			compatible = "arm,cortex-a53";
767a5d7347SHarninder Rai			reg = <0x101>;
777a5d7347SHarninder Rai			clocks = <&clockgen 1 1>;
785334e1a2SYuantian Tang			cpu-idle-states = <&CPU_PH20>;
79*346f5976SViresh Kumar			#cooling-cells = <2>;
807a5d7347SHarninder Rai		};
817a5d7347SHarninder Rai
827a5d7347SHarninder Rai		cpu6: cpu@102 {
837a5d7347SHarninder Rai			device_type = "cpu";
847a5d7347SHarninder Rai			compatible = "arm,cortex-a53";
857a5d7347SHarninder Rai			reg = <0x102>;
867a5d7347SHarninder Rai			clocks = <&clockgen 1 1>;
875334e1a2SYuantian Tang			cpu-idle-states = <&CPU_PH20>;
88*346f5976SViresh Kumar			#cooling-cells = <2>;
897a5d7347SHarninder Rai		};
907a5d7347SHarninder Rai
917a5d7347SHarninder Rai		cpu7: cpu@103 {
927a5d7347SHarninder Rai			device_type = "cpu";
937a5d7347SHarninder Rai			compatible = "arm,cortex-a53";
947a5d7347SHarninder Rai			reg = <0x103>;
957a5d7347SHarninder Rai			clocks = <&clockgen 1 1>;
965334e1a2SYuantian Tang			cpu-idle-states = <&CPU_PH20>;
97*346f5976SViresh Kumar			#cooling-cells = <2>;
985334e1a2SYuantian Tang		};
995334e1a2SYuantian Tang
1005334e1a2SYuantian Tang		CPU_PH20: cpu-ph20 {
1015334e1a2SYuantian Tang			compatible = "arm,idle-state";
1025334e1a2SYuantian Tang			idle-state-name = "PH20";
10369ea29b0SYuantian Tang			arm,psci-suspend-param = <0x0>;
1045334e1a2SYuantian Tang			entry-latency-us = <1000>;
1055334e1a2SYuantian Tang			exit-latency-us = <1000>;
1065334e1a2SYuantian Tang			min-residency-us = <3000>;
1077a5d7347SHarninder Rai		};
1087a5d7347SHarninder Rai	};
1097a5d7347SHarninder Rai
1107a5d7347SHarninder Rai	gic: interrupt-controller@6000000 {
1117a5d7347SHarninder Rai		compatible = "arm,gic-v3";
1127a5d7347SHarninder Rai		#interrupt-cells = <3>;
1137a5d7347SHarninder Rai		interrupt-controller;
1147a5d7347SHarninder Rai		reg = <0x0 0x06000000 0 0x10000>, /* GIC Dist */
1157a5d7347SHarninder Rai		      <0x0 0x06100000 0 0x100000>, /* GICR(RD_base+SGI_base)*/
1167a5d7347SHarninder Rai		      <0x0 0x0c0c0000 0 0x2000>, /* GICC */
1177a5d7347SHarninder Rai		      <0x0 0x0c0d0000 0 0x1000>, /* GICH */
1187a5d7347SHarninder Rai		      <0x0 0x0c0e0000 0 0x20000>; /* GICV */
1197a5d7347SHarninder Rai		interrupts = <1 9 IRQ_TYPE_LEVEL_HIGH>;
120a3bbf4c5SHou Zhiqiang		#address-cells = <2>;
121a3bbf4c5SHou Zhiqiang		#size-cells = <2>;
122a3bbf4c5SHou Zhiqiang		ranges;
123a3bbf4c5SHou Zhiqiang
124a3bbf4c5SHou Zhiqiang		its: gic-its@6020000 {
125a3bbf4c5SHou Zhiqiang			compatible = "arm,gic-v3-its";
126a3bbf4c5SHou Zhiqiang			msi-controller;
127a3bbf4c5SHou Zhiqiang			reg = <0x0 0x6020000 0 0x20000>;
128a3bbf4c5SHou Zhiqiang		};
1297a5d7347SHarninder Rai	};
1307a5d7347SHarninder Rai
13185530a7aSFabio Estevam	thermal-zones {
13285530a7aSFabio Estevam		cpu_thermal: cpu-thermal {
13385530a7aSFabio Estevam			polling-delay-passive = <1000>;
13485530a7aSFabio Estevam			polling-delay = <5000>;
13585530a7aSFabio Estevam			thermal-sensors = <&tmu 0>;
13685530a7aSFabio Estevam
13785530a7aSFabio Estevam			trips {
13885530a7aSFabio Estevam				cpu_alert: cpu-alert {
13985530a7aSFabio Estevam					temperature = <85000>;
14085530a7aSFabio Estevam					hysteresis = <2000>;
14185530a7aSFabio Estevam					type = "passive";
14285530a7aSFabio Estevam				};
14385530a7aSFabio Estevam
14485530a7aSFabio Estevam				cpu_crit: cpu-crit {
14585530a7aSFabio Estevam					temperature = <95000>;
14685530a7aSFabio Estevam					hysteresis = <2000>;
14785530a7aSFabio Estevam					type = "critical";
14885530a7aSFabio Estevam				};
14985530a7aSFabio Estevam			};
15085530a7aSFabio Estevam
15185530a7aSFabio Estevam			cooling-maps {
15285530a7aSFabio Estevam				map0 {
15385530a7aSFabio Estevam					trip = <&cpu_alert>;
15485530a7aSFabio Estevam					cooling-device =
15585530a7aSFabio Estevam						<&cpu0 THERMAL_NO_LIMIT
15685530a7aSFabio Estevam						THERMAL_NO_LIMIT>;
15785530a7aSFabio Estevam				};
15885530a7aSFabio Estevam
15985530a7aSFabio Estevam				map1 {
16085530a7aSFabio Estevam					trip = <&cpu_alert>;
16185530a7aSFabio Estevam					cooling-device =
16285530a7aSFabio Estevam						<&cpu4 THERMAL_NO_LIMIT
16385530a7aSFabio Estevam						THERMAL_NO_LIMIT>;
16485530a7aSFabio Estevam				};
16585530a7aSFabio Estevam			};
16685530a7aSFabio Estevam		};
16785530a7aSFabio Estevam	};
16885530a7aSFabio Estevam
1697a5d7347SHarninder Rai	timer {
1707a5d7347SHarninder Rai		compatible = "arm,armv8-timer";
1717a5d7347SHarninder Rai		interrupts = <1 13 IRQ_TYPE_LEVEL_LOW>,/* Physical Secure PPI */
1727a5d7347SHarninder Rai			     <1 14 IRQ_TYPE_LEVEL_LOW>,/* Physical Non-Secure PPI */
1737a5d7347SHarninder Rai			     <1 11 IRQ_TYPE_LEVEL_LOW>,/* Virtual PPI */
1747a5d7347SHarninder Rai			     <1 10 IRQ_TYPE_LEVEL_LOW>;/* Hypervisor PPI */
1757a5d7347SHarninder Rai	};
1767a5d7347SHarninder Rai
177ac7c9ff7SIoana Ciornei	fsl_mc: fsl-mc@80c000000 {
178ac7c9ff7SIoana Ciornei		compatible = "fsl,qoriq-mc";
179ac7c9ff7SIoana Ciornei		reg = <0x00000008 0x0c000000 0 0x40>,	 /* MC portal base */
180ac7c9ff7SIoana Ciornei		      <0x00000000 0x08340000 0 0x40000>; /* MC control reg */
181ac7c9ff7SIoana Ciornei		msi-parent = <&its>;
182ac7c9ff7SIoana Ciornei		#address-cells = <3>;
183ac7c9ff7SIoana Ciornei		#size-cells = <1>;
184ac7c9ff7SIoana Ciornei
185ac7c9ff7SIoana Ciornei		/*
186ac7c9ff7SIoana Ciornei		 * Region type 0x0 - MC portals
187ac7c9ff7SIoana Ciornei		 * Region type 0x1 - QBMAN portals
188ac7c9ff7SIoana Ciornei		 */
189ac7c9ff7SIoana Ciornei		ranges = <0x0 0x0 0x0 0x8 0x0c000000 0x4000000
190ac7c9ff7SIoana Ciornei			  0x1 0x0 0x0 0x8 0x18000000 0x8000000>;
191ac7c9ff7SIoana Ciornei
192ac7c9ff7SIoana Ciornei		dpmacs {
193ac7c9ff7SIoana Ciornei			#address-cells = <1>;
194ac7c9ff7SIoana Ciornei			#size-cells = <0>;
195ac7c9ff7SIoana Ciornei
196ac7c9ff7SIoana Ciornei			dpmac1: dpmac@1 {
197ac7c9ff7SIoana Ciornei				compatible = "fsl,qoriq-mc-dpmac";
198ac7c9ff7SIoana Ciornei				reg = <1>;
199ac7c9ff7SIoana Ciornei			};
200ac7c9ff7SIoana Ciornei
201ac7c9ff7SIoana Ciornei			dpmac2: dpmac@2 {
202ac7c9ff7SIoana Ciornei				compatible = "fsl,qoriq-mc-dpmac";
203ac7c9ff7SIoana Ciornei				reg = <2>;
204ac7c9ff7SIoana Ciornei			};
205ac7c9ff7SIoana Ciornei
206ac7c9ff7SIoana Ciornei			dpmac3: dpmac@3 {
207ac7c9ff7SIoana Ciornei				compatible = "fsl,qoriq-mc-dpmac";
208ac7c9ff7SIoana Ciornei				reg = <3>;
209ac7c9ff7SIoana Ciornei			};
210ac7c9ff7SIoana Ciornei
211ac7c9ff7SIoana Ciornei			dpmac4: dpmac@4 {
212ac7c9ff7SIoana Ciornei				compatible = "fsl,qoriq-mc-dpmac";
213ac7c9ff7SIoana Ciornei				reg = <4>;
214ac7c9ff7SIoana Ciornei			};
215ac7c9ff7SIoana Ciornei
216ac7c9ff7SIoana Ciornei			dpmac5: dpmac@5 {
217ac7c9ff7SIoana Ciornei				compatible = "fsl,qoriq-mc-dpmac";
218ac7c9ff7SIoana Ciornei				reg = <5>;
219ac7c9ff7SIoana Ciornei			};
220ac7c9ff7SIoana Ciornei
221ac7c9ff7SIoana Ciornei			dpmac6: dpmac@6 {
222ac7c9ff7SIoana Ciornei				compatible = "fsl,qoriq-mc-dpmac";
223ac7c9ff7SIoana Ciornei				reg = <6>;
224ac7c9ff7SIoana Ciornei			};
225ac7c9ff7SIoana Ciornei
226ac7c9ff7SIoana Ciornei			dpmac7: dpmac@7 {
227ac7c9ff7SIoana Ciornei				compatible = "fsl,qoriq-mc-dpmac";
228ac7c9ff7SIoana Ciornei				reg = <7>;
229ac7c9ff7SIoana Ciornei			};
230ac7c9ff7SIoana Ciornei
231ac7c9ff7SIoana Ciornei			dpmac8: dpmac@8 {
232ac7c9ff7SIoana Ciornei				compatible = "fsl,qoriq-mc-dpmac";
233ac7c9ff7SIoana Ciornei				reg = <8>;
234ac7c9ff7SIoana Ciornei			};
235ac7c9ff7SIoana Ciornei
236ac7c9ff7SIoana Ciornei			dpmac9: dpmac@9 {
237ac7c9ff7SIoana Ciornei				compatible = "fsl,qoriq-mc-dpmac";
238ac7c9ff7SIoana Ciornei				reg = <9>;
239ac7c9ff7SIoana Ciornei			};
240ac7c9ff7SIoana Ciornei
241ac7c9ff7SIoana Ciornei			dpmac10: dpmac@a {
242ac7c9ff7SIoana Ciornei				compatible = "fsl,qoriq-mc-dpmac";
243ac7c9ff7SIoana Ciornei				reg = <0xa>;
244ac7c9ff7SIoana Ciornei			};
245ac7c9ff7SIoana Ciornei		};
246ac7c9ff7SIoana Ciornei	};
247ac7c9ff7SIoana Ciornei
2485334e1a2SYuantian Tang	psci {
2495334e1a2SYuantian Tang		compatible = "arm,psci-0.2";
2505334e1a2SYuantian Tang		method = "smc";
2515334e1a2SYuantian Tang	};
2525334e1a2SYuantian Tang
2537a5d7347SHarninder Rai	sysclk: sysclk {
2547a5d7347SHarninder Rai		compatible = "fixed-clock";
2557a5d7347SHarninder Rai		#clock-cells = <0>;
2567a5d7347SHarninder Rai		clock-frequency = <100000000>;
2577a5d7347SHarninder Rai		clock-output-names = "sysclk";
2587a5d7347SHarninder Rai	};
2597a5d7347SHarninder Rai
2607a5d7347SHarninder Rai	soc {
2617a5d7347SHarninder Rai		compatible = "simple-bus";
2627a5d7347SHarninder Rai		#address-cells = <2>;
2637a5d7347SHarninder Rai		#size-cells = <2>;
2647a5d7347SHarninder Rai		ranges;
2657a5d7347SHarninder Rai
2667a5d7347SHarninder Rai		clockgen: clocking@1300000 {
2677a5d7347SHarninder Rai			compatible = "fsl,ls1088a-clockgen";
2687a5d7347SHarninder Rai			reg = <0 0x1300000 0 0xa0000>;
2697a5d7347SHarninder Rai			#clock-cells = <2>;
2707a5d7347SHarninder Rai			clocks = <&sysclk>;
2717a5d7347SHarninder Rai		};
2727a5d7347SHarninder Rai
27388b64bb1SAshish Kumar		dcfg: dcfg@1e00000 {
27488b64bb1SAshish Kumar			compatible = "fsl,ls1088a-dcfg", "syscon";
27588b64bb1SAshish Kumar			reg = <0x0 0x1e00000 0x0 0x10000>;
27688b64bb1SAshish Kumar			little-endian;
27788b64bb1SAshish Kumar		};
27888b64bb1SAshish Kumar
279e4990b44SYuantian Tang		tmu: tmu@1f80000 {
280e4990b44SYuantian Tang			compatible = "fsl,qoriq-tmu";
281e4990b44SYuantian Tang			reg = <0x0 0x1f80000 0x0 0x10000>;
282e4990b44SYuantian Tang			interrupts = <0 23 0x4>;
283e4990b44SYuantian Tang			fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x30062>;
284e4990b44SYuantian Tang			fsl,tmu-calibration =
285e4990b44SYuantian Tang				/* Calibration data group 1 */
286e4990b44SYuantian Tang				<0x00000000 0x00000026
287e4990b44SYuantian Tang				0x00000001 0x0000002d
288e4990b44SYuantian Tang				0x00000002 0x00000032
289e4990b44SYuantian Tang				0x00000003 0x00000039
290e4990b44SYuantian Tang				0x00000004 0x0000003f
291e4990b44SYuantian Tang				0x00000005 0x00000046
292e4990b44SYuantian Tang				0x00000006 0x0000004d
293e4990b44SYuantian Tang				0x00000007 0x00000054
294e4990b44SYuantian Tang				0x00000008 0x0000005a
295e4990b44SYuantian Tang				0x00000009 0x00000061
296e4990b44SYuantian Tang				0x0000000a 0x0000006a
297e4990b44SYuantian Tang				0x0000000b 0x00000071
298e4990b44SYuantian Tang				/* Calibration data group 2 */
299e4990b44SYuantian Tang				0x00010000 0x00000025
300e4990b44SYuantian Tang				0x00010001 0x0000002c
301e4990b44SYuantian Tang				0x00010002 0x00000035
302e4990b44SYuantian Tang				0x00010003 0x0000003d
303e4990b44SYuantian Tang				0x00010004 0x00000045
304e4990b44SYuantian Tang				0x00010005 0x0000004e
305e4990b44SYuantian Tang				0x00010006 0x00000057
306e4990b44SYuantian Tang				0x00010007 0x00000061
307e4990b44SYuantian Tang				0x00010008 0x0000006b
308e4990b44SYuantian Tang				0x00010009 0x00000076
309e4990b44SYuantian Tang				/* Calibration data group 3 */
310e4990b44SYuantian Tang				0x00020000 0x00000029
311e4990b44SYuantian Tang				0x00020001 0x00000033
312e4990b44SYuantian Tang				0x00020002 0x0000003d
313e4990b44SYuantian Tang				0x00020003 0x00000049
314e4990b44SYuantian Tang				0x00020004 0x00000056
315e4990b44SYuantian Tang				0x00020005 0x00000061
316e4990b44SYuantian Tang				0x00020006 0x0000006d
317e4990b44SYuantian Tang				/* Calibration data group 4 */
318e4990b44SYuantian Tang				0x00030000 0x00000021
319e4990b44SYuantian Tang				0x00030001 0x0000002a
320e4990b44SYuantian Tang				0x00030002 0x0000003c
321e4990b44SYuantian Tang				0x00030003 0x0000004e>;
322e4990b44SYuantian Tang			little-endian;
323e4990b44SYuantian Tang			#thermal-sensor-cells = <1>;
324e4990b44SYuantian Tang		};
325e4990b44SYuantian Tang
3267a5d7347SHarninder Rai		duart0: serial@21c0500 {
3277a5d7347SHarninder Rai			compatible = "fsl,ns16550", "ns16550a";
3287a5d7347SHarninder Rai			reg = <0x0 0x21c0500 0x0 0x100>;
3297a5d7347SHarninder Rai			clocks = <&clockgen 4 3>;
3307a5d7347SHarninder Rai			interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>;
3317a5d7347SHarninder Rai			status = "disabled";
3327a5d7347SHarninder Rai		};
3337a5d7347SHarninder Rai
3347a5d7347SHarninder Rai		duart1: serial@21c0600 {
3357a5d7347SHarninder Rai			compatible = "fsl,ns16550", "ns16550a";
3367a5d7347SHarninder Rai			reg = <0x0 0x21c0600 0x0 0x100>;
3377a5d7347SHarninder Rai			clocks = <&clockgen 4 3>;
3387a5d7347SHarninder Rai			interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>;
3397a5d7347SHarninder Rai			status = "disabled";
3407a5d7347SHarninder Rai		};
3417a5d7347SHarninder Rai
3427a5d7347SHarninder Rai		gpio0: gpio@2300000 {
3437a5d7347SHarninder Rai			compatible = "fsl,qoriq-gpio";
3447a5d7347SHarninder Rai			reg = <0x0 0x2300000 0x0 0x10000>;
3457a5d7347SHarninder Rai			interrupts = <0 36 IRQ_TYPE_LEVEL_HIGH>;
3467a5d7347SHarninder Rai			gpio-controller;
3477a5d7347SHarninder Rai			#gpio-cells = <2>;
3487a5d7347SHarninder Rai			interrupt-controller;
3497a5d7347SHarninder Rai			#interrupt-cells = <2>;
3507a5d7347SHarninder Rai		};
3517a5d7347SHarninder Rai
3527a5d7347SHarninder Rai		gpio1: gpio@2310000 {
3537a5d7347SHarninder Rai			compatible = "fsl,qoriq-gpio";
3547a5d7347SHarninder Rai			reg = <0x0 0x2310000 0x0 0x10000>;
3557a5d7347SHarninder Rai			interrupts = <0 36 IRQ_TYPE_LEVEL_HIGH>;
3567a5d7347SHarninder Rai			gpio-controller;
3577a5d7347SHarninder Rai			#gpio-cells = <2>;
3587a5d7347SHarninder Rai			interrupt-controller;
3597a5d7347SHarninder Rai			#interrupt-cells = <2>;
3607a5d7347SHarninder Rai		};
3617a5d7347SHarninder Rai
3627a5d7347SHarninder Rai		gpio2: gpio@2320000 {
3637a5d7347SHarninder Rai			compatible = "fsl,qoriq-gpio";
3647a5d7347SHarninder Rai			reg = <0x0 0x2320000 0x0 0x10000>;
3657a5d7347SHarninder Rai			interrupts = <0 37 IRQ_TYPE_LEVEL_HIGH>;
3667a5d7347SHarninder Rai			gpio-controller;
3677a5d7347SHarninder Rai			#gpio-cells = <2>;
3687a5d7347SHarninder Rai			interrupt-controller;
3697a5d7347SHarninder Rai			#interrupt-cells = <2>;
3707a5d7347SHarninder Rai		};
3717a5d7347SHarninder Rai
3727a5d7347SHarninder Rai		gpio3: gpio@2330000 {
3737a5d7347SHarninder Rai			compatible = "fsl,qoriq-gpio";
3747a5d7347SHarninder Rai			reg = <0x0 0x2330000 0x0 0x10000>;
3757a5d7347SHarninder Rai			interrupts = <0 37 IRQ_TYPE_LEVEL_HIGH>;
3767a5d7347SHarninder Rai			gpio-controller;
3777a5d7347SHarninder Rai			#gpio-cells = <2>;
3787a5d7347SHarninder Rai			interrupt-controller;
3797a5d7347SHarninder Rai			#interrupt-cells = <2>;
3807a5d7347SHarninder Rai		};
3817a5d7347SHarninder Rai
3827a5d7347SHarninder Rai		ifc: ifc@2240000 {
3837a5d7347SHarninder Rai			compatible = "fsl,ifc", "simple-bus";
3847a5d7347SHarninder Rai			reg = <0x0 0x2240000 0x0 0x20000>;
3857a5d7347SHarninder Rai			interrupts = <0 21 IRQ_TYPE_LEVEL_HIGH>;
3867a5d7347SHarninder Rai			little-endian;
3877a5d7347SHarninder Rai			#address-cells = <2>;
3887a5d7347SHarninder Rai			#size-cells = <1>;
3897a5d7347SHarninder Rai			status = "disabled";
3907a5d7347SHarninder Rai		};
3917a5d7347SHarninder Rai
3927a5d7347SHarninder Rai		i2c0: i2c@2000000 {
3937a5d7347SHarninder Rai			compatible = "fsl,vf610-i2c";
3947a5d7347SHarninder Rai			#address-cells = <1>;
3957a5d7347SHarninder Rai			#size-cells = <0>;
3967a5d7347SHarninder Rai			reg = <0x0 0x2000000 0x0 0x10000>;
3977a5d7347SHarninder Rai			interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>;
3987a5d7347SHarninder Rai			clocks = <&clockgen 4 3>;
3997a5d7347SHarninder Rai			status = "disabled";
4007a5d7347SHarninder Rai		};
4017a5d7347SHarninder Rai
4027a5d7347SHarninder Rai		i2c1: i2c@2010000 {
4037a5d7347SHarninder Rai			compatible = "fsl,vf610-i2c";
4047a5d7347SHarninder Rai			#address-cells = <1>;
4057a5d7347SHarninder Rai			#size-cells = <0>;
4067a5d7347SHarninder Rai			reg = <0x0 0x2010000 0x0 0x10000>;
4077a5d7347SHarninder Rai			interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>;
4087a5d7347SHarninder Rai			clocks = <&clockgen 4 3>;
4097a5d7347SHarninder Rai			status = "disabled";
4107a5d7347SHarninder Rai		};
4117a5d7347SHarninder Rai
4127a5d7347SHarninder Rai		i2c2: i2c@2020000 {
4137a5d7347SHarninder Rai			compatible = "fsl,vf610-i2c";
4147a5d7347SHarninder Rai			#address-cells = <1>;
4157a5d7347SHarninder Rai			#size-cells = <0>;
4167a5d7347SHarninder Rai			reg = <0x0 0x2020000 0x0 0x10000>;
4177a5d7347SHarninder Rai			interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>;
4187a5d7347SHarninder Rai			clocks = <&clockgen 4 3>;
4197a5d7347SHarninder Rai			status = "disabled";
4207a5d7347SHarninder Rai		};
4217a5d7347SHarninder Rai
4227a5d7347SHarninder Rai		i2c3: i2c@2030000 {
4237a5d7347SHarninder Rai			compatible = "fsl,vf610-i2c";
4247a5d7347SHarninder Rai			#address-cells = <1>;
4257a5d7347SHarninder Rai			#size-cells = <0>;
4267a5d7347SHarninder Rai			reg = <0x0 0x2030000 0x0 0x10000>;
4277a5d7347SHarninder Rai			interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>;
4287a5d7347SHarninder Rai			clocks = <&clockgen 4 3>;
4297a5d7347SHarninder Rai			status = "disabled";
4307a5d7347SHarninder Rai		};
4317a5d7347SHarninder Rai
432e56ae178SYangbo Lu		esdhc: esdhc@2140000 {
433e56ae178SYangbo Lu			compatible = "fsl,ls1088a-esdhc", "fsl,esdhc";
434e56ae178SYangbo Lu			reg = <0x0 0x2140000 0x0 0x10000>;
435e56ae178SYangbo Lu			interrupts = <0 28 0x4>; /* Level high type */
436e56ae178SYangbo Lu			clock-frequency = <0>;
437e56ae178SYangbo Lu			voltage-ranges = <1800 1800 3300 3300>;
438e56ae178SYangbo Lu			sdhci,auto-cmd12;
439e56ae178SYangbo Lu			little-endian;
440e56ae178SYangbo Lu			bus-width = <4>;
441e56ae178SYangbo Lu			status = "disabled";
442e56ae178SYangbo Lu		};
443e56ae178SYangbo Lu
444df063a1fSyinbo.zhu		usb0: usb3@3100000 {
445df063a1fSyinbo.zhu			compatible = "snps,dwc3";
446df063a1fSyinbo.zhu			reg = <0x0 0x3100000 0x0 0x10000>;
447df063a1fSyinbo.zhu			interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
448df063a1fSyinbo.zhu			dr_mode = "host";
449df063a1fSyinbo.zhu			snps,quirk-frame-length-adjustment = <0x20>;
450df063a1fSyinbo.zhu			snps,dis_rxdet_inp3_quirk;
451df063a1fSyinbo.zhu			status = "disabled";
452df063a1fSyinbo.zhu		};
453df063a1fSyinbo.zhu
454df063a1fSyinbo.zhu		usb1: usb3@3110000 {
455df063a1fSyinbo.zhu			compatible = "snps,dwc3";
456df063a1fSyinbo.zhu			reg = <0x0 0x3110000 0x0 0x10000>;
457df063a1fSyinbo.zhu			interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>;
458df063a1fSyinbo.zhu			dr_mode = "host";
459df063a1fSyinbo.zhu			snps,quirk-frame-length-adjustment = <0x20>;
460df063a1fSyinbo.zhu			snps,dis_rxdet_inp3_quirk;
461df063a1fSyinbo.zhu			status = "disabled";
462df063a1fSyinbo.zhu		};
463df063a1fSyinbo.zhu
4647a5d7347SHarninder Rai		sata: sata@3200000 {
465375b6755SYuantian Tang			compatible = "fsl,ls1088a-ahci";
46683d0c697SYuantian Tang			reg = <0x0 0x3200000 0x0 0x10000>,
467375b6755SYuantian Tang				<0x7 0x100520 0x0 0x4>;
46883d0c697SYuantian Tang			reg-names = "ahci", "sata-ecc";
4697a5d7347SHarninder Rai			interrupts = <0 133 IRQ_TYPE_LEVEL_HIGH>;
4707a5d7347SHarninder Rai			clocks = <&clockgen 4 3>;
47183d0c697SYuantian Tang			dma-coherent;
4727a5d7347SHarninder Rai			status = "disabled";
4737a5d7347SHarninder Rai		};
4741e09dec9SHoria Geantă
4751e09dec9SHoria Geantă		crypto: crypto@8000000 {
4761e09dec9SHoria Geantă			compatible = "fsl,sec-v5.0", "fsl,sec-v4.0";
4771e09dec9SHoria Geantă			fsl,sec-era = <8>;
4781e09dec9SHoria Geantă			#address-cells = <1>;
4791e09dec9SHoria Geantă			#size-cells = <1>;
4801e09dec9SHoria Geantă			ranges = <0x0 0x00 0x8000000 0x100000>;
4811e09dec9SHoria Geantă			reg = <0x00 0x8000000 0x0 0x100000>;
4821e09dec9SHoria Geantă			interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
4831e09dec9SHoria Geantă			dma-coherent;
4841e09dec9SHoria Geantă
4851e09dec9SHoria Geantă			sec_jr0: jr@10000 {
4861e09dec9SHoria Geantă				compatible = "fsl,sec-v5.0-job-ring",
4871e09dec9SHoria Geantă					     "fsl,sec-v4.0-job-ring";
4881e09dec9SHoria Geantă				reg	   = <0x10000 0x10000>;
4891e09dec9SHoria Geantă				interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
4901e09dec9SHoria Geantă			};
4911e09dec9SHoria Geantă
4921e09dec9SHoria Geantă			sec_jr1: jr@20000 {
4931e09dec9SHoria Geantă				compatible = "fsl,sec-v5.0-job-ring",
4941e09dec9SHoria Geantă					     "fsl,sec-v4.0-job-ring";
4951e09dec9SHoria Geantă				reg	   = <0x20000 0x10000>;
4961e09dec9SHoria Geantă				interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
4971e09dec9SHoria Geantă			};
4981e09dec9SHoria Geantă
4991e09dec9SHoria Geantă			sec_jr2: jr@30000 {
5001e09dec9SHoria Geantă				compatible = "fsl,sec-v5.0-job-ring",
5011e09dec9SHoria Geantă					     "fsl,sec-v4.0-job-ring";
5021e09dec9SHoria Geantă				reg	   = <0x30000 0x10000>;
5031e09dec9SHoria Geantă				interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
5041e09dec9SHoria Geantă			};
5051e09dec9SHoria Geantă
5061e09dec9SHoria Geantă			sec_jr3: jr@40000 {
5071e09dec9SHoria Geantă				compatible = "fsl,sec-v5.0-job-ring",
5081e09dec9SHoria Geantă					     "fsl,sec-v4.0-job-ring";
5091e09dec9SHoria Geantă				reg	   = <0x40000 0x10000>;
5101e09dec9SHoria Geantă				interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
5111e09dec9SHoria Geantă			};
5121e09dec9SHoria Geantă		};
513647911c8SHou Zhiqiang
514647911c8SHou Zhiqiang		pcie@3400000 {
515647911c8SHou Zhiqiang			compatible = "fsl,ls1088a-pcie", "snps,dw-pcie";
516647911c8SHou Zhiqiang			reg = <0x00 0x03400000 0x0 0x00100000   /* controller registers */
517647911c8SHou Zhiqiang			       0x20 0x00000000 0x0 0x00002000>; /* configuration space */
518647911c8SHou Zhiqiang			reg-names = "regs", "config";
519647911c8SHou Zhiqiang			interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
520647911c8SHou Zhiqiang			interrupt-names = "aer";
521647911c8SHou Zhiqiang			#address-cells = <3>;
522647911c8SHou Zhiqiang			#size-cells = <2>;
523647911c8SHou Zhiqiang			device_type = "pci";
524647911c8SHou Zhiqiang			dma-coherent;
525647911c8SHou Zhiqiang			num-lanes = <4>;
526647911c8SHou Zhiqiang			bus-range = <0x0 0xff>;
527647911c8SHou Zhiqiang			ranges = <0x81000000 0x0 0x00000000 0x20 0x00010000 0x0 0x00010000   /* downstream I/O */
528647911c8SHou Zhiqiang				  0x82000000 0x0 0x40000000 0x20 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
529647911c8SHou Zhiqiang			msi-parent = <&its>;
530647911c8SHou Zhiqiang			#interrupt-cells = <1>;
531647911c8SHou Zhiqiang			interrupt-map-mask = <0 0 0 7>;
532647911c8SHou Zhiqiang			interrupt-map = <0000 0 0 1 &gic 0 0 0 109 IRQ_TYPE_LEVEL_HIGH>,
533647911c8SHou Zhiqiang					<0000 0 0 2 &gic 0 0 0 110 IRQ_TYPE_LEVEL_HIGH>,
534647911c8SHou Zhiqiang					<0000 0 0 3 &gic 0 0 0 111 IRQ_TYPE_LEVEL_HIGH>,
535647911c8SHou Zhiqiang					<0000 0 0 4 &gic 0 0 0 112 IRQ_TYPE_LEVEL_HIGH>;
536647911c8SHou Zhiqiang		};
537647911c8SHou Zhiqiang
538647911c8SHou Zhiqiang		pcie@3500000 {
539647911c8SHou Zhiqiang			compatible = "fsl,ls1088a-pcie", "snps,dw-pcie";
540647911c8SHou Zhiqiang			reg = <0x00 0x03500000 0x0 0x00100000   /* controller registers */
541647911c8SHou Zhiqiang			       0x28 0x00000000 0x0 0x00002000>; /* configuration space */
542647911c8SHou Zhiqiang			reg-names = "regs", "config";
543647911c8SHou Zhiqiang			interrupts = <0 113 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
544647911c8SHou Zhiqiang			interrupt-names = "aer";
545647911c8SHou Zhiqiang			#address-cells = <3>;
546647911c8SHou Zhiqiang			#size-cells = <2>;
547647911c8SHou Zhiqiang			device_type = "pci";
548647911c8SHou Zhiqiang			dma-coherent;
549647911c8SHou Zhiqiang			num-lanes = <4>;
550647911c8SHou Zhiqiang			bus-range = <0x0 0xff>;
551647911c8SHou Zhiqiang			ranges = <0x81000000 0x0 0x00000000 0x28 0x00010000 0x0 0x00010000   /* downstream I/O */
552647911c8SHou Zhiqiang				  0x82000000 0x0 0x40000000 0x28 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
553647911c8SHou Zhiqiang			msi-parent = <&its>;
554647911c8SHou Zhiqiang			#interrupt-cells = <1>;
555647911c8SHou Zhiqiang			interrupt-map-mask = <0 0 0 7>;
556647911c8SHou Zhiqiang			interrupt-map = <0000 0 0 1 &gic 0 0 0 114 IRQ_TYPE_LEVEL_HIGH>,
557647911c8SHou Zhiqiang					<0000 0 0 2 &gic 0 0 0 115 IRQ_TYPE_LEVEL_HIGH>,
558647911c8SHou Zhiqiang					<0000 0 0 3 &gic 0 0 0 116 IRQ_TYPE_LEVEL_HIGH>,
559647911c8SHou Zhiqiang					<0000 0 0 4 &gic 0 0 0 117 IRQ_TYPE_LEVEL_HIGH>;
560647911c8SHou Zhiqiang		};
561647911c8SHou Zhiqiang
562647911c8SHou Zhiqiang		pcie@3600000 {
563647911c8SHou Zhiqiang			compatible = "fsl,ls1088a-pcie", "snps,dw-pcie";
564647911c8SHou Zhiqiang			reg = <0x00 0x03600000 0x0 0x00100000   /* controller registers */
565647911c8SHou Zhiqiang			       0x30 0x00000000 0x0 0x00002000>; /* configuration space */
566647911c8SHou Zhiqiang			reg-names = "regs", "config";
567647911c8SHou Zhiqiang			interrupts = <0 118 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
568647911c8SHou Zhiqiang			interrupt-names = "aer";
569647911c8SHou Zhiqiang			#address-cells = <3>;
570647911c8SHou Zhiqiang			#size-cells = <2>;
571647911c8SHou Zhiqiang			device_type = "pci";
572647911c8SHou Zhiqiang			dma-coherent;
573647911c8SHou Zhiqiang			num-lanes = <8>;
574647911c8SHou Zhiqiang			bus-range = <0x0 0xff>;
575647911c8SHou Zhiqiang			ranges = <0x81000000 0x0 0x00000000 0x30 0x00010000 0x0 0x00010000   /* downstream I/O */
576647911c8SHou Zhiqiang				  0x82000000 0x0 0x40000000 0x30 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
577647911c8SHou Zhiqiang			msi-parent = <&its>;
578647911c8SHou Zhiqiang			#interrupt-cells = <1>;
579647911c8SHou Zhiqiang			interrupt-map-mask = <0 0 0 7>;
580647911c8SHou Zhiqiang			interrupt-map = <0000 0 0 1 &gic 0 0 0 119 IRQ_TYPE_LEVEL_HIGH>,
581647911c8SHou Zhiqiang					<0000 0 0 2 &gic 0 0 0 120 IRQ_TYPE_LEVEL_HIGH>,
582647911c8SHou Zhiqiang					<0000 0 0 3 &gic 0 0 0 121 IRQ_TYPE_LEVEL_HIGH>,
583647911c8SHou Zhiqiang					<0000 0 0 4 &gic 0 0 0 122 IRQ_TYPE_LEVEL_HIGH>;
584647911c8SHou Zhiqiang		};
585cc223282SZhang Ying-22455
586cc223282SZhang Ying-22455		cluster1_core0_watchdog: wdt@c000000 {
587cc223282SZhang Ying-22455			compatible = "arm,sp805-wdt", "arm,primecell";
588cc223282SZhang Ying-22455			reg = <0x0 0xc000000 0x0 0x1000>;
589cc223282SZhang Ying-22455			clocks = <&clockgen 4 3>, <&clockgen 4 3>;
590cc223282SZhang Ying-22455			clock-names = "apb_pclk", "wdog_clk";
591cc223282SZhang Ying-22455		};
592cc223282SZhang Ying-22455
593cc223282SZhang Ying-22455		cluster1_core1_watchdog: wdt@c010000 {
594cc223282SZhang Ying-22455			compatible = "arm,sp805-wdt", "arm,primecell";
595cc223282SZhang Ying-22455			reg = <0x0 0xc010000 0x0 0x1000>;
596cc223282SZhang Ying-22455			clocks = <&clockgen 4 3>, <&clockgen 4 3>;
597cc223282SZhang Ying-22455			clock-names = "apb_pclk", "wdog_clk";
598cc223282SZhang Ying-22455		};
599cc223282SZhang Ying-22455
600cc223282SZhang Ying-22455		cluster1_core2_watchdog: wdt@c020000 {
601cc223282SZhang Ying-22455			compatible = "arm,sp805-wdt", "arm,primecell";
602cc223282SZhang Ying-22455			reg = <0x0 0xc020000 0x0 0x1000>;
603cc223282SZhang Ying-22455			clocks = <&clockgen 4 3>, <&clockgen 4 3>;
604cc223282SZhang Ying-22455			clock-names = "apb_pclk", "wdog_clk";
605cc223282SZhang Ying-22455		};
606cc223282SZhang Ying-22455
607cc223282SZhang Ying-22455		cluster1_core3_watchdog: wdt@c030000 {
608cc223282SZhang Ying-22455			compatible = "arm,sp805-wdt", "arm,primecell";
609cc223282SZhang Ying-22455			reg = <0x0 0xc030000 0x0 0x1000>;
610cc223282SZhang Ying-22455			clocks = <&clockgen 4 3>, <&clockgen 4 3>;
611cc223282SZhang Ying-22455			clock-names = "apb_pclk", "wdog_clk";
612cc223282SZhang Ying-22455		};
613cc223282SZhang Ying-22455
614cc223282SZhang Ying-22455		cluster2_core0_watchdog: wdt@c100000 {
615cc223282SZhang Ying-22455			compatible = "arm,sp805-wdt", "arm,primecell";
616cc223282SZhang Ying-22455			reg = <0x0 0xc100000 0x0 0x1000>;
617cc223282SZhang Ying-22455			clocks = <&clockgen 4 3>, <&clockgen 4 3>;
618cc223282SZhang Ying-22455			clock-names = "apb_pclk", "wdog_clk";
619cc223282SZhang Ying-22455		};
620cc223282SZhang Ying-22455
621cc223282SZhang Ying-22455		cluster2_core1_watchdog: wdt@c110000 {
622cc223282SZhang Ying-22455			compatible = "arm,sp805-wdt", "arm,primecell";
623cc223282SZhang Ying-22455			reg = <0x0 0xc110000 0x0 0x1000>;
624cc223282SZhang Ying-22455			clocks = <&clockgen 4 3>, <&clockgen 4 3>;
625cc223282SZhang Ying-22455			clock-names = "apb_pclk", "wdog_clk";
626cc223282SZhang Ying-22455		};
627cc223282SZhang Ying-22455
628cc223282SZhang Ying-22455		cluster2_core2_watchdog: wdt@c120000 {
629cc223282SZhang Ying-22455			compatible = "arm,sp805-wdt", "arm,primecell";
630cc223282SZhang Ying-22455			reg = <0x0 0xc120000 0x0 0x1000>;
631cc223282SZhang Ying-22455			clocks = <&clockgen 4 3>, <&clockgen 4 3>;
632cc223282SZhang Ying-22455			clock-names = "apb_pclk", "wdog_clk";
633cc223282SZhang Ying-22455		};
634cc223282SZhang Ying-22455
635cc223282SZhang Ying-22455		cluster2_core3_watchdog: wdt@c130000 {
636cc223282SZhang Ying-22455			compatible = "arm,sp805-wdt", "arm,primecell";
637cc223282SZhang Ying-22455			reg = <0x0 0xc130000 0x0 0x1000>;
638cc223282SZhang Ying-22455			clocks = <&clockgen 4 3>, <&clockgen 4 3>;
639cc223282SZhang Ying-22455			clock-names = "apb_pclk", "wdog_clk";
640cc223282SZhang Ying-22455		};
6417a5d7347SHarninder Rai	};
6427a5d7347SHarninder Rai
64351b29445SSumit Garg	firmware {
64451b29445SSumit Garg		optee {
64551b29445SSumit Garg			compatible = "linaro,optee-tz";
64651b29445SSumit Garg			method = "smc";
64751b29445SSumit Garg		};
64851b29445SSumit Garg	};
64951b29445SSumit Garg
6507a5d7347SHarninder Rai};
651