xref: /openbmc/u-boot/arch/arm/dts/fsl-ls1043a.dtsi (revision 25fde1c0)
1// SPDX-License-Identifier: GPL-2.0+ OR X11
2/*
3 * Device Tree Include file for Freescale Layerscape-1043A family SoC.
4 *
5 * Copyright (C) 2014-2015, Freescale Semiconductor
6 *
7 * Mingkai Hu <Mingkai.hu@freescale.com>
8 */
9
10/include/ "skeleton64.dtsi"
11
12/ {
13	compatible = "fsl,ls1043a";
14	interrupt-parent = <&gic>;
15
16	sysclk: sysclk {
17		compatible = "fixed-clock";
18		#clock-cells = <0>;
19		clock-frequency = <100000000>;
20		clock-output-names = "sysclk";
21	};
22
23	gic: interrupt-controller@1400000 {
24		compatible = "arm,gic-400";
25		#interrupt-cells = <3>;
26		interrupt-controller;
27		reg = <0x0 0x1401000 0 0x1000>, /* GICD */
28		      <0x0 0x1402000 0 0x2000>, /* GICC */
29		      <0x0 0x1404000 0 0x2000>, /* GICH */
30		      <0x0 0x1406000 0 0x2000>; /* GICV */
31		interrupts = <1 9 0xf08>;
32	};
33
34	soc {
35		compatible = "simple-bus";
36		#address-cells = <2>;
37		#size-cells = <2>;
38		ranges;
39
40		clockgen: clocking@1ee1000 {
41			compatible = "fsl,ls1043a-clockgen";
42			reg = <0x0 0x1ee1000 0x0 0x1000>;
43			#clock-cells = <2>;
44			clocks = <&sysclk>;
45		};
46
47		dspi0: dspi@2100000 {
48			compatible = "fsl,vf610-dspi";
49			#address-cells = <1>;
50			#size-cells = <0>;
51			reg = <0x0 0x2100000 0x0 0x10000>;
52			interrupts = <0 64 0x4>;
53			clock-names = "dspi";
54			clocks = <&clockgen 4 0>;
55			num-cs = <6>;
56			big-endian;
57			status = "disabled";
58		};
59
60		dspi1: dspi@2110000 {
61			compatible = "fsl,vf610-dspi";
62			#address-cells = <1>;
63			#size-cells = <0>;
64			reg = <0x0 0x2110000 0x0 0x10000>;
65			interrupts = <0 65 0x4>;
66			clock-names = "dspi";
67			clocks = <&clockgen 4 0>;
68			num-cs = <6>;
69			big-endian;
70			status = "disabled";
71		};
72
73		esdhc: esdhc@1560000 {
74			compatible = "fsl,esdhc";
75			reg = <0x0 0x1560000 0x0 0x10000>;
76			interrupts = <0 62 0x4>;
77			big-endian;
78			bus-width = <4>;
79		};
80
81		ifc: ifc@1530000 {
82			compatible = "fsl,ifc", "simple-bus";
83			reg = <0x0 0x1530000 0x0 0x10000>;
84			interrupts = <0 43 0x4>;
85		};
86
87		i2c0: i2c@2180000 {
88			compatible = "fsl,vf610-i2c";
89			#address-cells = <1>;
90			#size-cells = <0>;
91			reg = <0x0 0x2180000 0x0 0x10000>;
92			interrupts = <0 56 0x4>;
93			clock-names = "i2c";
94			clocks = <&clockgen 4 0>;
95			status = "disabled";
96		};
97
98		i2c1: i2c@2190000 {
99			compatible = "fsl,vf610-i2c";
100			#address-cells = <1>;
101			#size-cells = <0>;
102			reg = <0x0 0x2190000 0x0 0x10000>;
103			interrupts = <0 57 0x4>;
104			clock-names = "i2c";
105			clocks = <&clockgen 4 0>;
106			status = "disabled";
107		};
108
109		i2c2: i2c@21a0000 {
110			compatible = "fsl,vf610-i2c";
111			#address-cells = <1>;
112			#size-cells = <0>;
113			reg = <0x0 0x21a0000 0x0 0x10000>;
114			interrupts = <0 58 0x4>;
115			clock-names = "i2c";
116			clocks = <&clockgen 4 0>;
117			status = "disabled";
118		};
119
120		i2c3: i2c@21b0000 {
121			compatible = "fsl,vf610-i2c";
122			#address-cells = <1>;
123			#size-cells = <0>;
124			reg = <0x0 0x21b0000 0x0 0x10000>;
125			interrupts = <0 59 0x4>;
126			clock-names = "i2c";
127			clocks = <&clockgen 4 0>;
128			status = "disabled";
129		};
130
131		duart0: serial@21c0500 {
132			compatible = "fsl,ns16550", "ns16550a";
133			reg = <0x00 0x21c0500 0x0 0x100>;
134			interrupts = <0 54 0x4>;
135			clocks = <&clockgen 4 0>;
136		};
137
138		duart1: serial@21c0600 {
139			compatible = "fsl,ns16550", "ns16550a";
140			reg = <0x00 0x21c0600 0x0 0x100>;
141			interrupts = <0 54 0x4>;
142			clocks = <&clockgen 4 0>;
143		};
144
145		duart2: serial@21d0500 {
146			compatible = "fsl,ns16550", "ns16550a";
147			reg = <0x0 0x21d0500 0x0 0x100>;
148			interrupts = <0 55 0x4>;
149			clocks = <&clockgen 4 0>;
150		};
151
152		duart3: serial@21d0600 {
153			compatible = "fsl,ns16550", "ns16550a";
154			reg = <0x0 0x21d0600 0x0 0x100>;
155			interrupts = <0 55 0x4>;
156			clocks = <&clockgen 4 0>;
157		};
158
159		lpuart0: serial@2950000 {
160			compatible = "fsl,ls1021a-lpuart";
161			reg = <0x0 0x2950000 0x0 0x1000>;
162			interrupts = <0 48 0x4>;
163			clocks = <&sysclk>;
164			clock-names = "ipg";
165			status = "disabled";
166		};
167
168		lpuart1: serial@2960000 {
169			compatible = "fsl,ls1021a-lpuart";
170			reg = <0x0 0x2960000 0x0 0x1000>;
171			interrupts = <0 49 0x4>;
172			clocks = <&sysclk>;
173			clock-names = "ipg";
174			status = "disabled";
175		};
176
177		lpuart2: serial@2970000 {
178			compatible = "fsl,ls1021a-lpuart";
179			reg = <0x0 0x2970000 0x0 0x1000>;
180			interrupts = <0 50 0x4>;
181			clock-names = "ipg";
182			clocks = <&sysclk>;
183			status = "disabled";
184		};
185
186		lpuart3: serial@2980000 {
187			compatible = "fsl,ls1021a-lpuart";
188			reg = <0x0 0x2980000 0x0 0x1000>;
189			interrupts = <0 51 0x4>;
190			clocks = <&sysclk>;
191			clock-names = "ipg";
192			status = "disabled";
193		};
194
195		lpuart4: serial@2990000 {
196			compatible = "fsl,ls1021a-lpuart";
197			reg = <0x0 0x2990000 0x0 0x1000>;
198			interrupts = <0 52 0x4>;
199			clocks = <&sysclk>;
200			clock-names = "ipg";
201			status = "disabled";
202		};
203
204		lpuart5: serial@29a0000 {
205			compatible = "fsl,ls1021a-lpuart";
206			reg = <0x0 0x29a0000 0x0 0x1000>;
207			interrupts = <0 53 0x4>;
208			clocks = <&sysclk>;
209			clock-names = "ipg";
210			status = "disabled";
211		};
212		qspi: quadspi@1550000 {
213			compatible = "fsl,vf610-qspi";
214			#address-cells = <1>;
215			#size-cells = <0>;
216			reg = <0x0 0x1550000 0x0 0x10000>,
217				<0x0 0x40000000 0x0 0x4000000>;
218			reg-names = "QuadSPI", "QuadSPI-memory";
219			num-cs = <2>;
220			big-endian;
221			status = "disabled";
222		};
223
224		usb0: usb3@2f00000 {
225			compatible = "fsl,layerscape-dwc3";
226			reg = <0x0 0x2f00000 0x0 0x10000>;
227			interrupts = <0 60 0x4>;
228			dr_mode = "host";
229		};
230
231		usb1: usb3@3000000 {
232			compatible = "fsl,layerscape-dwc3";
233			reg = <0x0 0x3000000 0x0 0x10000>;
234			interrupts = <0 61 0x4>;
235			dr_mode = "host";
236		};
237
238		usb2: usb3@3100000 {
239			compatible = "fsl,layerscape-dwc3";
240			reg = <0x0 0x3100000 0x0 0x10000>;
241			interrupts = <0 63 0x4>;
242			dr_mode = "host";
243		};
244
245		pcie@3400000 {
246			compatible = "fsl,ls-pcie", "snps,dw-pcie";
247			reg = <0x00 0x03400000 0x0 0x10000   /* dbi registers */
248			       0x00 0x03410000 0x0 0x10000   /* lut registers */
249			       0x40 0x00000000 0x0 0x20000>; /* configuration space */
250			reg-names = "dbi", "lut", "config";
251			big-endian;
252			#address-cells = <3>;
253			#size-cells = <2>;
254			device_type = "pci";
255			bus-range = <0x0 0xff>;
256			ranges = <0x81000000 0x0 0x00000000 0x40 0x00020000 0x0 0x00010000   /* downstream I/O */
257				  0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
258		};
259
260		pcie@3500000 {
261			compatible = "fsl,ls-pcie", "snps,dw-pcie";
262			reg = <0x00 0x03500000 0x0 0x10000   /* dbi registers */
263			       0x00 0x03510000 0x0 0x10000   /* lut registers */
264			       0x48 0x00000000 0x0 0x20000>; /* configuration space */
265			reg-names = "dbi", "lut", "config";
266			big-endian;
267			#address-cells = <3>;
268			#size-cells = <2>;
269			device_type = "pci";
270			num-lanes = <2>;
271			bus-range = <0x0 0xff>;
272			ranges = <0x81000000 0x0 0x00000000 0x48 0x00020000 0x0 0x00010000   /* downstream I/O */
273				  0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
274		};
275
276		pcie@3600000 {
277			compatible = "fsl,ls-pcie", "snps,dw-pcie";
278			reg = <0x00 0x03600000 0x0 0x10000   /* dbi registers */
279			       0x00 0x03610000 0x0 0x10000   /* lut registers */
280			       0x50 0x00000000 0x0 0x20000>; /* configuration space */
281			reg-names = "dbi", "lut", "config";
282			big-endian;
283			#address-cells = <3>;
284			#size-cells = <2>;
285			device_type = "pci";
286			bus-range = <0x0 0xff>;
287			ranges = <0x81000000 0x0 0x00000000 0x50 0x00020000 0x0 0x00010000   /* downstream I/O */
288				  0x82000000 0x0 0x40000000 0x50 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
289		};
290
291		sata: sata@3200000 {
292			compatible = "fsl,ls1043a-ahci";
293			reg = <0x0 0x3200000 0x0 0x10000>;
294			interrupts = <0 69 4>;
295			clocks = <&clockgen 4 0>;
296			status = "disabled";
297		};
298	};
299};
300