xref: /openbmc/linux/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
17a2aeb91SLi Yang// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2ba321360SHarninder Rai/*
3f7d48ffcSWasim Khan * Device Tree Include file for NXP Layerscape-1012A family SoC.
4ba321360SHarninder Rai *
58637f58bSLi Yang * Copyright 2016 Freescale Semiconductor, Inc.
6f7d48ffcSWasim Khan * Copyright 2019-2020 NXP
7ba321360SHarninder Rai *
8ba321360SHarninder Rai */
9ba321360SHarninder Rai
1070db442dSMichael Walle#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
1185b85c56SHoria Geantă#include <dt-bindings/interrupt-controller/arm-gic.h>
12893e2aadSYuantian Tang#include <dt-bindings/thermal/thermal.h>
13ba321360SHarninder Rai
14ba321360SHarninder Rai/ {
15ba321360SHarninder Rai	compatible = "fsl,ls1012a";
16ba321360SHarninder Rai	interrupt-parent = <&gic>;
17ba321360SHarninder Rai	#address-cells = <2>;
18ba321360SHarninder Rai	#size-cells = <2>;
19ba321360SHarninder Rai
2085b85c56SHoria Geantă	aliases {
2185b85c56SHoria Geantă		crypto = &crypto;
22f4fe3a86SBiwen Li		rtc1 = &ftm_alarm0;
2370ce6043SFabio Estevam		rtic-a = &rtic_a;
2470ce6043SFabio Estevam		rtic-b = &rtic_b;
2570ce6043SFabio Estevam		rtic-c = &rtic_c;
2670ce6043SFabio Estevam		rtic-d = &rtic_d;
2770ce6043SFabio Estevam		sec-mon = &sec_mon;
2885b85c56SHoria Geantă	};
2985b85c56SHoria Geantă
30ba321360SHarninder Rai	cpus {
31ba321360SHarninder Rai		#address-cells = <1>;
32ba321360SHarninder Rai		#size-cells = <0>;
33ba321360SHarninder Rai
34ba321360SHarninder Rai		cpu0: cpu@0 {
35ba321360SHarninder Rai			device_type = "cpu";
36ba321360SHarninder Rai			compatible = "arm,cortex-a53";
37ba321360SHarninder Rai			reg = <0x0>;
3870db442dSMichael Walle			clocks = <&clockgen QORIQ_CLK_CMUX 0>;
39ba321360SHarninder Rai			#cooling-cells = <2>;
409b4eefcbSYuantian Tang			cpu-idle-states = <&CPU_PH20>;
419b4eefcbSYuantian Tang		};
429b4eefcbSYuantian Tang	};
439b4eefcbSYuantian Tang
449b4eefcbSYuantian Tang	idle-states {
459b4eefcbSYuantian Tang		/*
469b4eefcbSYuantian Tang		 * PSCI node is not added default, U-boot will add missing
479b4eefcbSYuantian Tang		 * parts if it determines to use PSCI.
489b4eefcbSYuantian Tang		 */
49e9880240SAmit Kucheria		entry-method = "psci";
509b4eefcbSYuantian Tang
519b4eefcbSYuantian Tang		CPU_PH20: cpu-ph20 {
529b4eefcbSYuantian Tang			compatible = "arm,idle-state";
539b4eefcbSYuantian Tang			idle-state-name = "PH20";
5469ea29b0SYuantian Tang			arm,psci-suspend-param = <0x0>;
559b4eefcbSYuantian Tang			entry-latency-us = <1000>;
569b4eefcbSYuantian Tang			exit-latency-us = <1000>;
579b4eefcbSYuantian Tang			min-residency-us = <3000>;
58ba321360SHarninder Rai		};
59ba321360SHarninder Rai	};
60ba321360SHarninder Rai
61ba321360SHarninder Rai	sysclk: sysclk {
62ba321360SHarninder Rai		compatible = "fixed-clock";
63ba321360SHarninder Rai		#clock-cells = <0>;
649ed5c17dSScott Wood		clock-frequency = <125000000>;
65ba321360SHarninder Rai		clock-output-names = "sysclk";
66ba321360SHarninder Rai	};
67ba321360SHarninder Rai
689ed5c17dSScott Wood	coreclk: coreclk {
699ed5c17dSScott Wood		compatible = "fixed-clock";
709ed5c17dSScott Wood		#clock-cells = <0>;
719ed5c17dSScott Wood		clock-frequency = <100000000>;
729ed5c17dSScott Wood		clock-output-names = "coreclk";
739ed5c17dSScott Wood	};
749ed5c17dSScott Wood
75ba321360SHarninder Rai	timer {
76ba321360SHarninder Rai		compatible = "arm,armv8-timer";
77ba321360SHarninder Rai		interrupts = <1 13 IRQ_TYPE_LEVEL_LOW>,/* Physical Secure PPI */
78ba321360SHarninder Rai			     <1 14 IRQ_TYPE_LEVEL_LOW>,/* Physical Non-Secure PPI */
79ba321360SHarninder Rai			     <1 11 IRQ_TYPE_LEVEL_LOW>,/* Virtual PPI */
80ba321360SHarninder Rai			     <1 10 IRQ_TYPE_LEVEL_LOW>;/* Hypervisor PPI */
81ba321360SHarninder Rai	};
82ba321360SHarninder Rai
83ba321360SHarninder Rai	pmu {
84ba321360SHarninder Rai		compatible = "arm,armv8-pmuv3";
85ba321360SHarninder Rai		interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>;
86ba321360SHarninder Rai	};
87ba321360SHarninder Rai
88ba321360SHarninder Rai	gic: interrupt-controller@1400000 {
89ba321360SHarninder Rai		compatible = "arm,gic-400";
90ba321360SHarninder Rai		#interrupt-cells = <3>;
91ba321360SHarninder Rai		interrupt-controller;
92ba321360SHarninder Rai		reg = <0x0 0x1401000 0 0x1000>, /* GICD */
93ba321360SHarninder Rai		      <0x0 0x1402000 0 0x2000>, /* GICC */
94ba321360SHarninder Rai		      <0x0 0x1404000 0 0x2000>, /* GICH */
95ba321360SHarninder Rai		      <0x0 0x1406000 0 0x2000>; /* GICV */
96ba321360SHarninder Rai		interrupts = <1 9 IRQ_TYPE_LEVEL_LOW>;
97ba321360SHarninder Rai	};
98ba321360SHarninder Rai
99ba321360SHarninder Rai	reboot {
100ba321360SHarninder Rai		compatible = "syscon-reboot";
101ba321360SHarninder Rai		regmap = <&dcfg>;
102ba321360SHarninder Rai		offset = <0xb0>;
103ba321360SHarninder Rai		mask = <0x02>;
104ba321360SHarninder Rai	};
105ba321360SHarninder Rai
1063c0b186eSFabio Estevam	thermal-zones {
1073c0b186eSFabio Estevam		cpu_thermal: cpu-thermal {
1083c0b186eSFabio Estevam			polling-delay-passive = <1000>;
1093c0b186eSFabio Estevam			polling-delay = <5000>;
1103c0b186eSFabio Estevam			thermal-sensors = <&tmu 0>;
1113c0b186eSFabio Estevam
1123c0b186eSFabio Estevam			trips {
1133c0b186eSFabio Estevam				cpu_alert: cpu-alert {
1143c0b186eSFabio Estevam					temperature = <85000>;
1153c0b186eSFabio Estevam					hysteresis = <2000>;
1163c0b186eSFabio Estevam					type = "passive";
1173c0b186eSFabio Estevam				};
1183c0b186eSFabio Estevam
1193c0b186eSFabio Estevam				cpu_crit: cpu-crit {
1203c0b186eSFabio Estevam					temperature = <95000>;
1213c0b186eSFabio Estevam					hysteresis = <2000>;
1223c0b186eSFabio Estevam					type = "critical";
1233c0b186eSFabio Estevam				};
1243c0b186eSFabio Estevam			};
1253c0b186eSFabio Estevam
1263c0b186eSFabio Estevam			cooling-maps {
1273c0b186eSFabio Estevam				map0 {
1283c0b186eSFabio Estevam					trip = <&cpu_alert>;
1293c0b186eSFabio Estevam					cooling-device =
1303c0b186eSFabio Estevam						<&cpu0 THERMAL_NO_LIMIT
1313c0b186eSFabio Estevam						THERMAL_NO_LIMIT>;
1323c0b186eSFabio Estevam				};
1333c0b186eSFabio Estevam			};
1343c0b186eSFabio Estevam		};
1353c0b186eSFabio Estevam	};
1363c0b186eSFabio Estevam
137ba321360SHarninder Rai	soc {
138ba321360SHarninder Rai		compatible = "simple-bus";
139ba321360SHarninder Rai		#address-cells = <2>;
140ba321360SHarninder Rai		#size-cells = <2>;
141ba321360SHarninder Rai		ranges;
142ba321360SHarninder Rai
143f5ac5ac1SKuldeep Singh		qspi: spi@1550000 {
144f5ac5ac1SKuldeep Singh			compatible = "fsl,ls1021a-qspi";
145f5ac5ac1SKuldeep Singh			#address-cells = <1>;
146f5ac5ac1SKuldeep Singh			#size-cells = <0>;
147f5ac5ac1SKuldeep Singh			reg = <0x0 0x1550000 0x0 0x10000>,
148f5ac5ac1SKuldeep Singh				<0x0 0x40000000 0x0 0x10000000>;
149f5ac5ac1SKuldeep Singh			reg-names = "QuadSPI", "QuadSPI-memory";
150f5ac5ac1SKuldeep Singh			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
151f5ac5ac1SKuldeep Singh			clock-names = "qspi_en", "qspi";
15270db442dSMichael Walle			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
15370db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(1)>,
15470db442dSMichael Walle				 <&clockgen QORIQ_CLK_PLATFORM_PLL
15570db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(1)>;
156f5ac5ac1SKuldeep Singh			status = "disabled";
157f5ac5ac1SKuldeep Singh		};
158f5ac5ac1SKuldeep Singh
1590f098701SYangbo Lu		esdhc0: esdhc@1560000 {
1600f098701SYangbo Lu			compatible = "fsl,ls1012a-esdhc", "fsl,esdhc";
1610f098701SYangbo Lu			reg = <0x0 0x1560000 0x0 0x10000>;
1620f098701SYangbo Lu			interrupts = <0 62 0x4>;
16370db442dSMichael Walle			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
16470db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(1)>;
1650f098701SYangbo Lu			voltage-ranges = <1800 1800 3300 3300>;
1660f098701SYangbo Lu			sdhci,auto-cmd12;
1670f098701SYangbo Lu			big-endian;
1680f098701SYangbo Lu			bus-width = <4>;
1690f098701SYangbo Lu			status = "disabled";
1700f098701SYangbo Lu		};
1710f098701SYangbo Lu
172ba321360SHarninder Rai		scfg: scfg@1570000 {
173ba321360SHarninder Rai			compatible = "fsl,ls1012a-scfg", "syscon";
174ba321360SHarninder Rai			reg = <0x0 0x1570000 0x0 0x10000>;
175ba321360SHarninder Rai			big-endian;
176ba321360SHarninder Rai		};
177ba321360SHarninder Rai
1780f098701SYangbo Lu		esdhc1: esdhc@1580000 {
1790f098701SYangbo Lu			compatible = "fsl,ls1012a-esdhc", "fsl,esdhc";
1800f098701SYangbo Lu			reg = <0x0 0x1580000 0x0 0x10000>;
1810f098701SYangbo Lu			interrupts = <0 65 0x4>;
18270db442dSMichael Walle			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
18370db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(1)>;
1840f098701SYangbo Lu			voltage-ranges = <1800 1800 3300 3300>;
1850f098701SYangbo Lu			sdhci,auto-cmd12;
1860f098701SYangbo Lu			big-endian;
1870f098701SYangbo Lu			broken-cd;
1880f098701SYangbo Lu			bus-width = <4>;
1890f098701SYangbo Lu			status = "disabled";
1900f098701SYangbo Lu		};
1910f098701SYangbo Lu
19285b85c56SHoria Geantă		crypto: crypto@1700000 {
19385b85c56SHoria Geantă			compatible = "fsl,sec-v5.4", "fsl,sec-v5.0",
19485b85c56SHoria Geantă				     "fsl,sec-v4.0";
19585b85c56SHoria Geantă			fsl,sec-era = <8>;
19685b85c56SHoria Geantă			#address-cells = <1>;
19785b85c56SHoria Geantă			#size-cells = <1>;
19885b85c56SHoria Geantă			ranges = <0x0 0x00 0x1700000 0x100000>;
19985b85c56SHoria Geantă			reg = <0x00 0x1700000 0x0 0x100000>;
20085b85c56SHoria Geantă			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
201ba8da03fSHoria Geantă			dma-coherent;
20285b85c56SHoria Geantă
20385b85c56SHoria Geantă			sec_jr0: jr@10000 {
20485b85c56SHoria Geantă				compatible = "fsl,sec-v5.4-job-ring",
20585b85c56SHoria Geantă					     "fsl,sec-v5.0-job-ring",
20685b85c56SHoria Geantă					     "fsl,sec-v4.0-job-ring";
20785b85c56SHoria Geantă				reg = <0x10000 0x10000>;
20885b85c56SHoria Geantă				interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
20985b85c56SHoria Geantă			};
21085b85c56SHoria Geantă
21185b85c56SHoria Geantă			sec_jr1: jr@20000 {
21285b85c56SHoria Geantă				compatible = "fsl,sec-v5.4-job-ring",
21385b85c56SHoria Geantă					     "fsl,sec-v5.0-job-ring",
21485b85c56SHoria Geantă					     "fsl,sec-v4.0-job-ring";
21585b85c56SHoria Geantă				reg = <0x20000 0x10000>;
21685b85c56SHoria Geantă				interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
21785b85c56SHoria Geantă			};
21885b85c56SHoria Geantă
21985b85c56SHoria Geantă			sec_jr2: jr@30000 {
22085b85c56SHoria Geantă				compatible = "fsl,sec-v5.4-job-ring",
22185b85c56SHoria Geantă					     "fsl,sec-v5.0-job-ring",
22285b85c56SHoria Geantă					     "fsl,sec-v4.0-job-ring";
22385b85c56SHoria Geantă				reg = <0x30000 0x10000>;
22485b85c56SHoria Geantă				interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
22585b85c56SHoria Geantă			};
22685b85c56SHoria Geantă
22785b85c56SHoria Geantă			sec_jr3: jr@40000 {
22885b85c56SHoria Geantă				compatible = "fsl,sec-v5.4-job-ring",
22985b85c56SHoria Geantă					     "fsl,sec-v5.0-job-ring",
23085b85c56SHoria Geantă					     "fsl,sec-v4.0-job-ring";
23185b85c56SHoria Geantă				reg = <0x40000 0x10000>;
23285b85c56SHoria Geantă				interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
23385b85c56SHoria Geantă			};
23485b85c56SHoria Geantă
23585b85c56SHoria Geantă			rtic@60000 {
23685b85c56SHoria Geantă				compatible = "fsl,sec-v5.4-rtic",
23785b85c56SHoria Geantă					     "fsl,sec-v5.0-rtic",
23885b85c56SHoria Geantă					     "fsl,sec-v4.0-rtic";
23985b85c56SHoria Geantă				#address-cells = <1>;
24085b85c56SHoria Geantă				#size-cells = <1>;
241ce87d936SZhen Lei				reg = <0x60000 0x100>, <0x60e00 0x18>;
24285b85c56SHoria Geantă				ranges = <0x0 0x60100 0x500>;
24385b85c56SHoria Geantă
24485b85c56SHoria Geantă				rtic_a: rtic-a@0 {
24585b85c56SHoria Geantă					compatible = "fsl,sec-v5.4-rtic-memory",
24685b85c56SHoria Geantă						     "fsl,sec-v5.0-rtic-memory",
24785b85c56SHoria Geantă						     "fsl,sec-v4.0-rtic-memory";
248ce87d936SZhen Lei					reg = <0x00 0x20>, <0x100 0x100>;
24985b85c56SHoria Geantă				};
25085b85c56SHoria Geantă
25185b85c56SHoria Geantă				rtic_b: rtic-b@20 {
25285b85c56SHoria Geantă					compatible = "fsl,sec-v5.4-rtic-memory",
25385b85c56SHoria Geantă						     "fsl,sec-v5.0-rtic-memory",
25485b85c56SHoria Geantă						     "fsl,sec-v4.0-rtic-memory";
255ce87d936SZhen Lei					reg = <0x20 0x20>, <0x200 0x100>;
25685b85c56SHoria Geantă				};
25785b85c56SHoria Geantă
25885b85c56SHoria Geantă				rtic_c: rtic-c@40 {
25985b85c56SHoria Geantă					compatible = "fsl,sec-v5.4-rtic-memory",
26085b85c56SHoria Geantă						     "fsl,sec-v5.0-rtic-memory",
26185b85c56SHoria Geantă						     "fsl,sec-v4.0-rtic-memory";
262ce87d936SZhen Lei					reg = <0x40 0x20>, <0x300 0x100>;
26385b85c56SHoria Geantă				};
26485b85c56SHoria Geantă
26585b85c56SHoria Geantă				rtic_d: rtic-d@60 {
26685b85c56SHoria Geantă					compatible = "fsl,sec-v5.4-rtic-memory",
26785b85c56SHoria Geantă						     "fsl,sec-v5.0-rtic-memory",
26885b85c56SHoria Geantă						     "fsl,sec-v4.0-rtic-memory";
269ce87d936SZhen Lei					reg = <0x60 0x20>, <0x400 0x100>;
27085b85c56SHoria Geantă				};
27185b85c56SHoria Geantă			};
27285b85c56SHoria Geantă		};
27385b85c56SHoria Geantă
274*043dce4eSSean Anderson		sfp: efuse@1e80000 {
275*043dce4eSSean Anderson			compatible = "fsl,ls1021a-sfp";
276*043dce4eSSean Anderson			reg = <0x0 0x1e80000 0x0 0x10000>;
277*043dce4eSSean Anderson			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
278*043dce4eSSean Anderson					    QORIQ_CLK_PLL_DIV(4)>;
279*043dce4eSSean Anderson			clock-names = "sfp";
280*043dce4eSSean Anderson		};
281*043dce4eSSean Anderson
28285b85c56SHoria Geantă		sec_mon: sec_mon@1e90000 {
28385b85c56SHoria Geantă			compatible = "fsl,sec-v5.4-mon", "fsl,sec-v5.0-mon",
28485b85c56SHoria Geantă				     "fsl,sec-v4.0-mon";
28585b85c56SHoria Geantă			reg = <0x0 0x1e90000 0x0 0x10000>;
28685b85c56SHoria Geantă			interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
28785b85c56SHoria Geantă				     <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
28885b85c56SHoria Geantă		};
28985b85c56SHoria Geantă
290ba321360SHarninder Rai		dcfg: dcfg@1ee0000 {
291ba321360SHarninder Rai			compatible = "fsl,ls1012a-dcfg",
292ba321360SHarninder Rai				     "syscon";
293ba321360SHarninder Rai			reg = <0x0 0x1ee0000 0x0 0x10000>;
294ba321360SHarninder Rai			big-endian;
295ba321360SHarninder Rai		};
296ba321360SHarninder Rai
297ba321360SHarninder Rai		clockgen: clocking@1ee1000 {
298ba321360SHarninder Rai			compatible = "fsl,ls1012a-clockgen";
299ba321360SHarninder Rai			reg = <0x0 0x1ee1000 0x0 0x1000>;
300ba321360SHarninder Rai			#clock-cells = <2>;
3019ed5c17dSScott Wood			clocks = <&sysclk &coreclk>;
3029ed5c17dSScott Wood			clock-names = "sysclk", "coreclk";
303ba321360SHarninder Rai		};
304ba321360SHarninder Rai
305893e2aadSYuantian Tang		tmu: tmu@1f00000 {
306893e2aadSYuantian Tang			compatible = "fsl,qoriq-tmu";
307893e2aadSYuantian Tang			reg = <0x0 0x1f00000 0x0 0x10000>;
308893e2aadSYuantian Tang			interrupts = <0 33 0x4>;
30964d81113SYuantian Tang			fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x60062>;
31064d81113SYuantian Tang			fsl,tmu-calibration = <0x00000000 0x00000025
31164d81113SYuantian Tang					       0x00000001 0x0000002c
312893e2aadSYuantian Tang					       0x00000002 0x00000032
313893e2aadSYuantian Tang					       0x00000003 0x00000039
314893e2aadSYuantian Tang					       0x00000004 0x0000003f
315893e2aadSYuantian Tang					       0x00000005 0x00000046
31664d81113SYuantian Tang					       0x00000006 0x0000004c
31764d81113SYuantian Tang					       0x00000007 0x00000053
31864d81113SYuantian Tang					       0x00000008 0x00000059
31964d81113SYuantian Tang					       0x00000009 0x0000005f
32064d81113SYuantian Tang					       0x0000000a 0x00000066
32164d81113SYuantian Tang					       0x0000000b 0x0000006c
322893e2aadSYuantian Tang
32364d81113SYuantian Tang					       0x00010000 0x00000026
32464d81113SYuantian Tang					       0x00010001 0x0000002d
325893e2aadSYuantian Tang					       0x00010002 0x00000035
326893e2aadSYuantian Tang					       0x00010003 0x0000003d
327893e2aadSYuantian Tang					       0x00010004 0x00000045
32864d81113SYuantian Tang					       0x00010005 0x0000004d
32964d81113SYuantian Tang					       0x00010006 0x00000055
33064d81113SYuantian Tang					       0x00010007 0x0000005d
33164d81113SYuantian Tang					       0x00010008 0x00000065
33264d81113SYuantian Tang					       0x00010009 0x0000006d
333893e2aadSYuantian Tang
33464d81113SYuantian Tang					       0x00020000 0x00000026
33564d81113SYuantian Tang					       0x00020001 0x00000030
33664d81113SYuantian Tang					       0x00020002 0x0000003a
33764d81113SYuantian Tang					       0x00020003 0x00000044
33864d81113SYuantian Tang					       0x00020004 0x0000004e
33964d81113SYuantian Tang					       0x00020005 0x00000059
34064d81113SYuantian Tang					       0x00020006 0x00000063
341893e2aadSYuantian Tang
34264d81113SYuantian Tang					       0x00030000 0x00000014
34364d81113SYuantian Tang					       0x00030001 0x00000021
34464d81113SYuantian Tang					       0x00030002 0x0000002e
34564d81113SYuantian Tang					       0x00030003 0x0000003a
34664d81113SYuantian Tang					       0x00030004 0x00000047
34764d81113SYuantian Tang					       0x00030005 0x00000053
34864d81113SYuantian Tang					       0x00030006 0x00000060>;
349893e2aadSYuantian Tang			big-endian;
350893e2aadSYuantian Tang			#thermal-sensor-cells = <1>;
351893e2aadSYuantian Tang		};
352893e2aadSYuantian Tang
353ba321360SHarninder Rai		i2c0: i2c@2180000 {
354ba321360SHarninder Rai			compatible = "fsl,vf610-i2c";
355ba321360SHarninder Rai			#address-cells = <1>;
356ba321360SHarninder Rai			#size-cells = <0>;
357ba321360SHarninder Rai			reg = <0x0 0x2180000 0x0 0x10000>;
358ba321360SHarninder Rai			interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
35970db442dSMichael Walle			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
36070db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(4)>;
361ba321360SHarninder Rai			status = "disabled";
362ba321360SHarninder Rai		};
363ba321360SHarninder Rai
364ba321360SHarninder Rai		i2c1: i2c@2190000 {
365ba321360SHarninder Rai			compatible = "fsl,vf610-i2c";
366ba321360SHarninder Rai			#address-cells = <1>;
367ba321360SHarninder Rai			#size-cells = <0>;
368ba321360SHarninder Rai			reg = <0x0 0x2190000 0x0 0x10000>;
369ba321360SHarninder Rai			interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
37070db442dSMichael Walle			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
37170db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(4)>;
372ba321360SHarninder Rai			status = "disabled";
373ba321360SHarninder Rai		};
374ba321360SHarninder Rai
375b739c177SRob Herring		dspi: spi@2100000 {
376519de51cSYuan Yao			compatible = "fsl,ls1012a-dspi", "fsl,ls1021a-v1.0-dspi";
377519de51cSYuan Yao			#address-cells = <1>;
378519de51cSYuan Yao			#size-cells = <0>;
379519de51cSYuan Yao			reg = <0x0 0x2100000 0x0 0x10000>;
380519de51cSYuan Yao			interrupts = <0 64 IRQ_TYPE_LEVEL_HIGH>;
381519de51cSYuan Yao			clock-names = "dspi";
38270db442dSMichael Walle			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
38370db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(1)>;
384519de51cSYuan Yao			spi-num-chipselects = <5>;
385519de51cSYuan Yao			big-endian;
386519de51cSYuan Yao			status = "disabled";
387519de51cSYuan Yao		};
388519de51cSYuan Yao
389ba321360SHarninder Rai		duart0: serial@21c0500 {
390ba321360SHarninder Rai			compatible = "fsl,ns16550", "ns16550a";
391ba321360SHarninder Rai			reg = <0x00 0x21c0500 0x0 0x100>;
392ba321360SHarninder Rai			interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>;
39370db442dSMichael Walle			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
39470db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(1)>;
395ba321360SHarninder Rai			status = "disabled";
396ba321360SHarninder Rai		};
397ba321360SHarninder Rai
398ba321360SHarninder Rai		duart1: serial@21c0600 {
399ba321360SHarninder Rai			compatible = "fsl,ns16550", "ns16550a";
400ba321360SHarninder Rai			reg = <0x00 0x21c0600 0x0 0x100>;
401ba321360SHarninder Rai			interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>;
40270db442dSMichael Walle			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
40370db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(1)>;
404ba321360SHarninder Rai			status = "disabled";
405ba321360SHarninder Rai		};
406ba321360SHarninder Rai
407ba321360SHarninder Rai		gpio0: gpio@2300000 {
408ba321360SHarninder Rai			compatible = "fsl,qoriq-gpio";
409ba321360SHarninder Rai			reg = <0x0 0x2300000 0x0 0x10000>;
410ba321360SHarninder Rai			interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>;
411ba321360SHarninder Rai			gpio-controller;
412ba321360SHarninder Rai			#gpio-cells = <2>;
413ba321360SHarninder Rai			interrupt-controller;
414ba321360SHarninder Rai			#interrupt-cells = <2>;
415ba321360SHarninder Rai		};
416ba321360SHarninder Rai
417ba321360SHarninder Rai		gpio1: gpio@2310000 {
418ba321360SHarninder Rai			compatible = "fsl,qoriq-gpio";
419ba321360SHarninder Rai			reg = <0x0 0x2310000 0x0 0x10000>;
420ba321360SHarninder Rai			interrupts = <0 67 IRQ_TYPE_LEVEL_HIGH>;
421ba321360SHarninder Rai			gpio-controller;
422ba321360SHarninder Rai			#gpio-cells = <2>;
423ba321360SHarninder Rai			interrupt-controller;
424ba321360SHarninder Rai			#interrupt-cells = <2>;
425ba321360SHarninder Rai		};
426ba321360SHarninder Rai
42771011f55SKrzysztof Kozlowski		wdog0: watchdog@2ad0000 {
428ba321360SHarninder Rai			compatible = "fsl,ls1012a-wdt",
429ba321360SHarninder Rai				     "fsl,imx21-wdt";
430ba321360SHarninder Rai			reg = <0x0 0x2ad0000 0x0 0x10000>;
431ba321360SHarninder Rai			interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>;
43270db442dSMichael Walle			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(1)>;
433ba321360SHarninder Rai			big-endian;
434ba321360SHarninder Rai		};
435ba321360SHarninder Rai
436ba321360SHarninder Rai		sai1: sai@2b50000 {
437ba321360SHarninder Rai			#sound-dai-cells = <0>;
438ba321360SHarninder Rai			compatible = "fsl,vf610-sai";
439ba321360SHarninder Rai			reg = <0x0 0x2b50000 0x0 0x10000>;
440ba321360SHarninder Rai			interrupts = <0 148 IRQ_TYPE_LEVEL_HIGH>;
44170db442dSMichael Walle			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
44270db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(4)>,
44370db442dSMichael Walle				 <&clockgen QORIQ_CLK_PLATFORM_PLL
44470db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(4)>,
44570db442dSMichael Walle				 <&clockgen QORIQ_CLK_PLATFORM_PLL
44670db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(4)>,
44770db442dSMichael Walle				 <&clockgen QORIQ_CLK_PLATFORM_PLL
44870db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(4)>;
449ba321360SHarninder Rai			clock-names = "bus", "mclk1", "mclk2", "mclk3";
450ba321360SHarninder Rai			dma-names = "tx", "rx";
451ba321360SHarninder Rai			dmas = <&edma0 1 47>,
452ba321360SHarninder Rai			       <&edma0 1 46>;
453ba321360SHarninder Rai			status = "disabled";
454ba321360SHarninder Rai		};
455ba321360SHarninder Rai
456ba321360SHarninder Rai		sai2: sai@2b60000 {
457ba321360SHarninder Rai			#sound-dai-cells = <0>;
458ba321360SHarninder Rai			compatible = "fsl,vf610-sai";
459ba321360SHarninder Rai			reg = <0x0 0x2b60000 0x0 0x10000>;
460ba321360SHarninder Rai			interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH>;
46170db442dSMichael Walle			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
46270db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(4)>,
46370db442dSMichael Walle				 <&clockgen QORIQ_CLK_PLATFORM_PLL
46470db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(4)>,
46570db442dSMichael Walle				 <&clockgen QORIQ_CLK_PLATFORM_PLL
46670db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(4)>,
46770db442dSMichael Walle				 <&clockgen QORIQ_CLK_PLATFORM_PLL
46870db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(4)>;
469ba321360SHarninder Rai			clock-names = "bus", "mclk1", "mclk2", "mclk3";
470ba321360SHarninder Rai			dma-names = "tx", "rx";
471ba321360SHarninder Rai			dmas = <&edma0 1 45>,
472ba321360SHarninder Rai			       <&edma0 1 44>;
473ba321360SHarninder Rai			status = "disabled";
474ba321360SHarninder Rai		};
475ba321360SHarninder Rai
4764a154e5aSPeng Fan		edma0: dma-controller@2c00000 {
477ba321360SHarninder Rai			#dma-cells = <2>;
478ba321360SHarninder Rai			compatible = "fsl,vf610-edma";
479ba321360SHarninder Rai			reg = <0x0 0x2c00000 0x0 0x10000>,
480ba321360SHarninder Rai			      <0x0 0x2c10000 0x0 0x10000>,
481ba321360SHarninder Rai			      <0x0 0x2c20000 0x0 0x10000>;
482ba321360SHarninder Rai			interrupts = <0 103 IRQ_TYPE_LEVEL_HIGH>,
483ba321360SHarninder Rai				     <0 103 IRQ_TYPE_LEVEL_HIGH>;
484ba321360SHarninder Rai			interrupt-names = "edma-tx", "edma-err";
485ba321360SHarninder Rai			dma-channels = <32>;
486ba321360SHarninder Rai			big-endian;
487ba321360SHarninder Rai			clock-names = "dmamux0", "dmamux1";
48870db442dSMichael Walle			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
48970db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(4)>,
49070db442dSMichael Walle				 <&clockgen QORIQ_CLK_PLATFORM_PLL
49170db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(4)>;
492ba321360SHarninder Rai		};
493ba321360SHarninder Rai
494da244504SSerge Semin		usb0: usb@2f00000 {
4959f15dd41SRan Wang			compatible = "snps,dwc3";
4969f15dd41SRan Wang			reg = <0x0 0x2f00000 0x0 0x10000>;
4979f15dd41SRan Wang			interrupts = <0 60 0x4>;
4989f15dd41SRan Wang			dr_mode = "host";
4999f15dd41SRan Wang			snps,quirk-frame-length-adjustment = <0x20>;
5009f15dd41SRan Wang			snps,dis_rxdet_inp3_quirk;
5011000ae68SRan Wang			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
5029f15dd41SRan Wang		};
5039f15dd41SRan Wang
504ba321360SHarninder Rai		sata: sata@3200000 {
505ba321360SHarninder Rai			compatible = "fsl,ls1012a-ahci", "fsl,ls1043a-ahci";
506427700a7SYuantian Tang			reg = <0x0 0x3200000 0x0 0x10000>,
507427700a7SYuantian Tang				<0x0 0x20140520 0x0 0x4>;
508427700a7SYuantian Tang			reg-names = "ahci", "sata-ecc";
509ba321360SHarninder Rai			interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>;
51070db442dSMichael Walle			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
51170db442dSMichael Walle					    QORIQ_CLK_PLL_DIV(1)>;
512427700a7SYuantian Tang			dma-coherent;
513ba321360SHarninder Rai			status = "disabled";
514ba321360SHarninder Rai		};
5159f15dd41SRan Wang
516da244504SSerge Semin		usb1: usb@8600000 {
5179f15dd41SRan Wang			compatible = "fsl-usb2-dr-v2.5", "fsl-usb2-dr";
5189f15dd41SRan Wang			reg = <0x0 0x8600000 0x0 0x1000>;
5199f15dd41SRan Wang			interrupts = <0 139 0x4>;
5209f15dd41SRan Wang			dr_mode = "host";
5219f15dd41SRan Wang			phy_type = "ulpi";
5229f15dd41SRan Wang		};
523c482bff8SHou Zhiqiang
524c482bff8SHou Zhiqiang		msi: msi-controller1@1572000 {
525c482bff8SHou Zhiqiang			compatible = "fsl,ls1012a-msi";
526c482bff8SHou Zhiqiang			reg = <0x0 0x1572000 0x0 0x8>;
527c482bff8SHou Zhiqiang			msi-controller;
528c482bff8SHou Zhiqiang			interrupts = <0 126 IRQ_TYPE_LEVEL_HIGH>;
529c482bff8SHou Zhiqiang		};
530fc5c0b4dSHou Zhiqiang
531f7d48ffcSWasim Khan		pcie1: pcie@3400000 {
5321fa35bc0SHou Zhiqiang			compatible = "fsl,ls1012a-pcie";
533ce87d936SZhen Lei			reg = <0x00 0x03400000 0x0 0x00100000>, /* controller registers */
534ce87d936SZhen Lei			      <0x40 0x00000000 0x0 0x00002000>; /* configuration space */
535fc5c0b4dSHou Zhiqiang			reg-names = "regs", "config";
536fc5c0b4dSHou Zhiqiang			interrupts = <0 118 0x4>, /* controller interrupt */
537fc5c0b4dSHou Zhiqiang				     <0 117 0x4>; /* PME interrupt */
538fc5c0b4dSHou Zhiqiang			interrupt-names = "aer", "pme";
539fc5c0b4dSHou Zhiqiang			#address-cells = <3>;
540fc5c0b4dSHou Zhiqiang			#size-cells = <2>;
541fc5c0b4dSHou Zhiqiang			device_type = "pci";
542881e90d2SHou Zhiqiang			num-viewport = <2>;
543fc5c0b4dSHou Zhiqiang			bus-range = <0x0 0xff>;
544fc5c0b4dSHou Zhiqiang			ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000   /* downstream I/O */
545fc5c0b4dSHou Zhiqiang				  0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
546fc5c0b4dSHou Zhiqiang			msi-parent = <&msi>;
547fc5c0b4dSHou Zhiqiang			#interrupt-cells = <1>;
548fc5c0b4dSHou Zhiqiang			interrupt-map-mask = <0 0 0 7>;
549fc5c0b4dSHou Zhiqiang			interrupt-map = <0000 0 0 1 &gic 0 110 IRQ_TYPE_LEVEL_HIGH>,
550fc5c0b4dSHou Zhiqiang					<0000 0 0 2 &gic 0 111 IRQ_TYPE_LEVEL_HIGH>,
551fc5c0b4dSHou Zhiqiang					<0000 0 0 3 &gic 0 112 IRQ_TYPE_LEVEL_HIGH>,
552fc5c0b4dSHou Zhiqiang					<0000 0 0 4 &gic 0 113 IRQ_TYPE_LEVEL_HIGH>;
553aa2aa888SBao Xiaowei			status = "disabled";
554fc5c0b4dSHou Zhiqiang		};
555f4fe3a86SBiwen Li
556f4fe3a86SBiwen Li		rcpm: power-controller@1ee2140 {
557f4fe3a86SBiwen Li			compatible = "fsl,ls1012a-rcpm", "fsl,qoriq-rcpm-2.1+";
558f4fe3a86SBiwen Li			reg = <0x0 0x1ee2140 0x0 0x4>;
559f4fe3a86SBiwen Li			#fsl,rcpm-wakeup-cells = <1>;
560f4fe3a86SBiwen Li		};
561f4fe3a86SBiwen Li
562f4fe3a86SBiwen Li		ftm_alarm0: timer@29d0000 {
563f4fe3a86SBiwen Li			compatible = "fsl,ls1012a-ftm-alarm";
564f4fe3a86SBiwen Li			reg = <0x0 0x29d0000 0x0 0x10000>;
565f4fe3a86SBiwen Li			fsl,rcpm-wakeup = <&rcpm 0x20000>;
566f4fe3a86SBiwen Li			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
567f4fe3a86SBiwen Li			big-endian;
568f4fe3a86SBiwen Li		};
569ba321360SHarninder Rai	};
57051b29445SSumit Garg
57151b29445SSumit Garg	firmware {
57251b29445SSumit Garg		optee {
57351b29445SSumit Garg			compatible = "linaro,optee-tz";
57451b29445SSumit Garg			method = "smc";
57551b29445SSumit Garg		};
57651b29445SSumit Garg	};
577ba321360SHarninder Rai};
578