xref: /openbmc/u-boot/arch/arm/dts/fsl-ls1046a.dtsi (revision d9b88d25)
1/*
2 * Device Tree Include file for Freescale Layerscape-1046A family SoC.
3 *
4 * Copyright (C) 2016, Freescale Semiconductor
5 *
6 * Mingkai Hu <mingkai.hu@nxp.com>
7 *
8 * This file is licensed under the terms of the GNU General Public
9 * License version 2.  This program is licensed "as is" without any
10 * warranty of any kind, whether express or implied.
11 */
12
13/include/ "skeleton64.dtsi"
14
15/ {
16	compatible = "fsl,ls1046a";
17	interrupt-parent = <&gic>;
18
19	sysclk: sysclk {
20		compatible = "fixed-clock";
21		#clock-cells = <0>;
22		clock-frequency = <100000000>;
23		clock-output-names = "sysclk";
24	};
25
26	gic: interrupt-controller@1400000 {
27		compatible = "arm,gic-400";
28		#interrupt-cells = <3>;
29		interrupt-controller;
30		reg = <0x0 0x1410000 0 0x10000>, /* GICD */
31		      <0x0 0x1420000 0 0x10000>, /* GICC */
32		      <0x0 0x1440000 0 0x20000>, /* GICH */
33		      <0x0 0x1460000 0 0x20000>; /* GICV */
34		interrupts = <1 9 0xf08>;
35	};
36
37	soc {
38		compatible = "simple-bus";
39		#address-cells = <2>;
40		#size-cells = <2>;
41		ranges;
42
43		clockgen: clocking@1ee1000 {
44			compatible = "fsl,ls1046a-clockgen";
45			reg = <0x0 0x1ee1000 0x0 0x1000>;
46			#clock-cells = <2>;
47			clocks = <&sysclk>;
48		};
49
50		dspi0: dspi@2100000 {
51			compatible = "fsl,vf610-dspi";
52			#address-cells = <1>;
53			#size-cells = <0>;
54			reg = <0x0 0x2100000 0x0 0x10000>;
55			interrupts = <0 64 0x4>;
56			clock-names = "dspi";
57			clocks = <&clockgen 4 0>;
58			num-cs = <6>;
59			big-endian;
60			status = "disabled";
61		};
62
63		dspi1: dspi@2110000 {
64			compatible = "fsl,vf610-dspi";
65			#address-cells = <1>;
66			#size-cells = <0>;
67			reg = <0x0 0x2110000 0x0 0x10000>;
68			interrupts = <0 65 0x4>;
69			clock-names = "dspi";
70			clocks = <&clockgen 4 0>;
71			num-cs = <6>;
72			big-endian;
73			status = "disabled";
74		};
75
76		ifc: ifc@1530000 {
77			compatible = "fsl,ifc", "simple-bus";
78			reg = <0x0 0x1530000 0x0 0x10000>;
79			interrupts = <0 43 0x4>;
80		};
81
82		i2c0: i2c@2180000 {
83			compatible = "fsl,vf610-i2c";
84			#address-cells = <1>;
85			#size-cells = <0>;
86			reg = <0x0 0x2180000 0x0 0x10000>;
87			interrupts = <0 56 0x4>;
88			clock-names = "i2c";
89			clocks = <&clockgen 4 0>;
90			status = "disabled";
91		};
92
93		i2c1: i2c@2190000 {
94			compatible = "fsl,vf610-i2c";
95			#address-cells = <1>;
96			#size-cells = <0>;
97			reg = <0x0 0x2190000 0x0 0x10000>;
98			interrupts = <0 57 0x4>;
99			clock-names = "i2c";
100			clocks = <&clockgen 4 0>;
101			status = "disabled";
102		};
103
104		i2c2: i2c@21a0000 {
105			compatible = "fsl,vf610-i2c";
106			#address-cells = <1>;
107			#size-cells = <0>;
108			reg = <0x0 0x21a0000 0x0 0x10000>;
109			interrupts = <0 58 0x4>;
110			clock-names = "i2c";
111			clocks = <&clockgen 4 0>;
112			status = "disabled";
113		};
114
115		i2c3: i2c@21b0000 {
116			compatible = "fsl,vf610-i2c";
117			#address-cells = <1>;
118			#size-cells = <0>;
119			reg = <0x0 0x21b0000 0x0 0x10000>;
120			interrupts = <0 59 0x4>;
121			clock-names = "i2c";
122			clocks = <&clockgen 4 0>;
123			status = "disabled";
124		};
125
126		duart0: serial@21c0500 {
127			compatible = "fsl,ns16550", "ns16550a";
128			reg = <0x00 0x21c0500 0x0 0x100>;
129			interrupts = <0 54 0x4>;
130			clocks = <&clockgen 4 0>;
131		};
132
133		duart1: serial@21c0600 {
134			compatible = "fsl,ns16550", "ns16550a";
135			reg = <0x00 0x21c0600 0x0 0x100>;
136			interrupts = <0 54 0x4>;
137			clocks = <&clockgen 4 0>;
138		};
139
140		duart2: serial@21d0500 {
141			compatible = "fsl,ns16550", "ns16550a";
142			reg = <0x0 0x21d0500 0x0 0x100>;
143			interrupts = <0 55 0x4>;
144			clocks = <&clockgen 4 0>;
145		};
146
147		duart3: serial@21d0600 {
148			compatible = "fsl,ns16550", "ns16550a";
149			reg = <0x0 0x21d0600 0x0 0x100>;
150			interrupts = <0 55 0x4>;
151			clocks = <&clockgen 4 0>;
152		};
153
154		lpuart0: serial@2950000 {
155			compatible = "fsl,ls1021a-lpuart";
156			reg = <0x0 0x2950000 0x0 0x1000>;
157			interrupts = <0 48 0x4>;
158			clocks = <&clockgen 4 0>;
159			clock-names = "ipg";
160			status = "disabled";
161		};
162
163		lpuart1: serial@2960000 {
164			compatible = "fsl,ls1021a-lpuart";
165			reg = <0x0 0x2960000 0x0 0x1000>;
166			interrupts = <0 49 0x4>;
167			clocks = <&clockgen 4 1>;
168			clock-names = "ipg";
169			status = "disabled";
170		};
171
172		lpuart2: serial@2970000 {
173			compatible = "fsl,ls1021a-lpuart";
174			reg = <0x0 0x2970000 0x0 0x1000>;
175			interrupts = <0 50 0x4>;
176			clocks = <&clockgen 4 1>;
177			clock-names = "ipg";
178			status = "disabled";
179		};
180
181		lpuart3: serial@2980000 {
182			compatible = "fsl,ls1021a-lpuart";
183			reg = <0x0 0x2980000 0x0 0x1000>;
184			interrupts = <0 51 0x4>;
185			clocks = <&clockgen 4 1>;
186			clock-names = "ipg";
187			status = "disabled";
188		};
189
190		lpuart4: serial@2990000 {
191			compatible = "fsl,ls1021a-lpuart";
192			reg = <0x0 0x2990000 0x0 0x1000>;
193			interrupts = <0 52 0x4>;
194			clocks = <&clockgen 4 1>;
195			clock-names = "ipg";
196			status = "disabled";
197		};
198
199		lpuart5: serial@29a0000 {
200			compatible = "fsl,ls1021a-lpuart";
201			reg = <0x0 0x29a0000 0x0 0x1000>;
202			interrupts = <0 53 0x4>;
203			clocks = <&clockgen 4 1>;
204			clock-names = "ipg";
205			status = "disabled";
206		};
207
208		qspi: quadspi@1550000 {
209			compatible = "fsl,vf610-qspi";
210			#address-cells = <1>;
211			#size-cells = <0>;
212			reg = <0x0 0x1550000 0x0 0x10000>,
213				<0x0 0x40000000 0x0 0x10000000>;
214			reg-names = "QuadSPI", "QuadSPI-memory";
215			num-cs = <4>;
216			big-endian;
217			status = "disabled";
218		};
219
220		pcie@3400000 {
221			compatible = "fsl,ls-pcie", "snps,dw-pcie";
222			reg = <0x00 0x03400000 0x0 0x80000   /* dbi registers */
223			       0x00 0x03480000 0x0 0x40000   /* lut registers */
224			       0x00 0x034c0000 0x0 0x40000   /* pf controls registers */
225			       0x40 0x00000000 0x0 0x20000>; /* configuration space */
226			reg-names = "dbi", "lut", "ctrl", "config";
227			big-endian;
228			#address-cells = <3>;
229			#size-cells = <2>;
230			device_type = "pci";
231			bus-range = <0x0 0xff>;
232			ranges = <0x81000000 0x0 0x00000000 0x40 0x00020000 0x0 0x00010000   /* downstream I/O */
233				  0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
234		};
235
236		pcie@3500000 {
237			compatible = "fsl,ls-pcie", "snps,dw-pcie";
238			reg = <0x00 0x03500000 0x0 0x80000   /* dbi registers */
239			       0x00 0x03580000 0x0 0x40000   /* lut registers */
240			       0x00 0x035c0000 0x0 0x40000   /* pf controls registers */
241			       0x48 0x00000000 0x0 0x20000>; /* configuration space */
242			reg-names = "dbi", "lut", "ctrl", "config";
243			big-endian;
244			#address-cells = <3>;
245			#size-cells = <2>;
246			device_type = "pci";
247			num-lanes = <2>;
248			bus-range = <0x0 0xff>;
249			ranges = <0x81000000 0x0 0x00000000 0x48 0x00020000 0x0 0x00010000   /* downstream I/O */
250				  0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
251		};
252
253		pcie@3600000 {
254			compatible = "fsl,ls-pcie", "snps,dw-pcie";
255			reg = <0x00 0x03600000 0x0 0x80000   /* dbi registers */
256			       0x00 0x03680000 0x0 0x40000   /* lut registers */
257			       0x00 0x036c0000 0x0 0x40000   /* pf controls registers */
258			       0x50 0x00000000 0x0 0x20000>; /* configuration space */
259			reg-names = "dbi", "lut", "ctrl", "config";
260			big-endian;
261			#address-cells = <3>;
262			#size-cells = <2>;
263			device_type = "pci";
264			bus-range = <0x0 0xff>;
265			ranges = <0x81000000 0x0 0x00000000 0x50 0x00020000 0x0 0x00010000   /* downstream I/O */
266				  0x82000000 0x0 0x40000000 0x50 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
267		};
268	};
269};
270