1/*
2 * T4240 Silicon/SoC Device Tree Source (post include)
3 *
4 * Copyright 2012 Freescale Semiconductor Inc.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are met:
8 *     * Redistributions of source code must retain the above copyright
9 *       notice, this list of conditions and the following disclaimer.
10 *     * Redistributions in binary form must reproduce the above copyright
11 *       notice, this list of conditions and the following disclaimer in the
12 *       documentation and/or other materials provided with the distribution.
13 *     * Neither the name of Freescale Semiconductor nor the
14 *       names of its contributors may be used to endorse or promote products
15 *       derived from this software without specific prior written permission.
16 *
17 *
18 * ALTERNATIVELY, this software may be distributed under the terms of the
19 * GNU General Public License ("GPL") as published by the Free Software
20 * Foundation, either version 2 of that License or (at your option) any
21 * later version.
22 *
23 * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
24 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
25 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26 * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
27 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
30 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 */
34
35&ifc {
36	#address-cells = <2>;
37	#size-cells = <1>;
38	compatible = "fsl,ifc", "simple-bus";
39	interrupts = <25 2 0 0>;
40};
41
42/* controller at 0x240000 */
43&pci0 {
44	compatible = "fsl,t4240-pcie", "fsl,qoriq-pcie-v3.0";
45	device_type = "pci";
46	#size-cells = <2>;
47	#address-cells = <3>;
48	bus-range = <0x0 0xff>;
49	interrupts = <20 2 0 0>;
50	pcie@0 {
51		#interrupt-cells = <1>;
52		#size-cells = <2>;
53		#address-cells = <3>;
54		device_type = "pci";
55		interrupts = <20 2 0 0>;
56		interrupt-map-mask = <0xf800 0 0 7>;
57		interrupt-map = <
58			/* IDSEL 0x0 */
59			0000 0 0 1 &mpic 40 1 0 0
60			0000 0 0 2 &mpic 1 1 0 0
61			0000 0 0 3 &mpic 2 1 0 0
62			0000 0 0 4 &mpic 3 1 0 0
63			>;
64	};
65};
66
67/* controller at 0x250000 */
68&pci1 {
69	compatible = "fsl,t4240-pcie", "fsl,qoriq-pcie-v3.0";
70	device_type = "pci";
71	#size-cells = <2>;
72	#address-cells = <3>;
73	bus-range = <0 0xff>;
74	interrupts = <21 2 0 0>;
75	pcie@0 {
76		#interrupt-cells = <1>;
77		#size-cells = <2>;
78		#address-cells = <3>;
79		device_type = "pci";
80		interrupts = <21 2 0 0>;
81		interrupt-map-mask = <0xf800 0 0 7>;
82		interrupt-map = <
83			/* IDSEL 0x0 */
84			0000 0 0 1 &mpic 41 1 0 0
85			0000 0 0 2 &mpic 5 1 0 0
86			0000 0 0 3 &mpic 6 1 0 0
87			0000 0 0 4 &mpic 7 1 0 0
88			>;
89	};
90};
91
92/* controller at 0x260000 */
93&pci2 {
94	compatible = "fsl,t4240-pcie", "fsl,qoriq-pcie-v3.0";
95	device_type = "pci";
96	#size-cells = <2>;
97	#address-cells = <3>;
98	bus-range = <0x0 0xff>;
99	interrupts = <22 2 0 0>;
100	pcie@0 {
101		#interrupt-cells = <1>;
102		#size-cells = <2>;
103		#address-cells = <3>;
104		device_type = "pci";
105		interrupts = <22 2 0 0>;
106		interrupt-map-mask = <0xf800 0 0 7>;
107		interrupt-map = <
108			/* IDSEL 0x0 */
109			0000 0 0 1 &mpic 42 1 0 0
110			0000 0 0 2 &mpic 9 1 0 0
111			0000 0 0 3 &mpic 10 1 0 0
112			0000 0 0 4 &mpic 11 1 0 0
113			>;
114	};
115};
116
117/* controller at 0x270000 */
118&pci3 {
119	compatible = "fsl,t4240-pcie", "fsl,qoriq-pcie-v3.0";
120	device_type = "pci";
121	#size-cells = <2>;
122	#address-cells = <3>;
123	bus-range = <0x0 0xff>;
124	interrupts = <23 2 0 0>;
125	pcie@0 {
126		#interrupt-cells = <1>;
127		#size-cells = <2>;
128		#address-cells = <3>;
129		device_type = "pci";
130		interrupts = <23 2 0 0>;
131		interrupt-map-mask = <0xf800 0 0 7>;
132		interrupt-map = <
133			/* IDSEL 0x0 */
134			0000 0 0 1 &mpic 43 1 0 0
135			0000 0 0 2 &mpic 0 1 0 0
136			0000 0 0 3 &mpic 4 1 0 0
137			0000 0 0 4 &mpic 8 1 0 0
138			>;
139	};
140};
141
142&rio {
143	compatible = "fsl,srio";
144	interrupts = <16 2 1 11>;
145	#address-cells = <2>;
146	#size-cells = <2>;
147	ranges;
148
149	port1 {
150		#address-cells = <2>;
151		#size-cells = <2>;
152		cell-index = <1>;
153	};
154
155	port2 {
156		#address-cells = <2>;
157		#size-cells = <2>;
158		cell-index = <2>;
159	};
160};
161
162&dcsr {
163	#address-cells = <1>;
164	#size-cells = <1>;
165	compatible = "fsl,dcsr", "simple-bus";
166
167	dcsr-epu@0 {
168		compatible = "fsl,t4240-dcsr-epu", "fsl,dcsr-epu";
169		interrupts = <52 2 0 0
170			      84 2 0 0
171			      85 2 0 0
172			      94 2 0 0
173			      95 2 0 0>;
174		reg = <0x0 0x1000>;
175	};
176	dcsr-npc {
177		compatible = "fsl,t4240-dcsr-cnpc", "fsl,dcsr-cnpc";
178		reg = <0x1000 0x1000 0x1002000 0x10000>;
179	};
180	dcsr-nxc@2000 {
181		compatible = "fsl,dcsr-nxc";
182		reg = <0x2000 0x1000>;
183	};
184	dcsr-corenet {
185		compatible = "fsl,dcsr-corenet";
186		reg = <0x8000 0x1000 0x1A000 0x1000>;
187	};
188	dcsr-dpaa@9000 {
189		compatible = "fsl,t4240-dcsr-dpaa", "fsl,dcsr-dpaa";
190		reg = <0x9000 0x1000>;
191	};
192	dcsr-ocn@11000 {
193		compatible = "fsl,t4240-dcsr-ocn", "fsl,dcsr-ocn";
194		reg = <0x11000 0x1000>;
195	};
196	dcsr-ddr@12000 {
197		compatible = "fsl,dcsr-ddr";
198		dev-handle = <&ddr1>;
199		reg = <0x12000 0x1000>;
200	};
201	dcsr-ddr@13000 {
202		compatible = "fsl,dcsr-ddr";
203		dev-handle = <&ddr2>;
204		reg = <0x13000 0x1000>;
205	};
206	dcsr-ddr@14000 {
207		compatible = "fsl,dcsr-ddr";
208		dev-handle = <&ddr3>;
209		reg = <0x14000 0x1000>;
210	};
211	dcsr-nal@18000 {
212		compatible = "fsl,t4240-dcsr-nal", "fsl,dcsr-nal";
213		reg = <0x18000 0x1000>;
214	};
215	dcsr-rcpm@22000 {
216		compatible = "fsl,t4240-dcsr-rcpm", "fsl,dcsr-rcpm";
217		reg = <0x22000 0x1000>;
218	};
219	dcsr-snpc@30000 {
220		compatible = "fsl,t4240-dcsr-snpc", "fsl,dcsr-snpc";
221		reg = <0x30000 0x1000 0x1022000 0x10000>;
222	};
223	dcsr-snpc@31000 {
224		compatible = "fsl,t4240-dcsr-snpc", "fsl,dcsr-snpc";
225		reg = <0x31000 0x1000 0x1042000 0x10000>;
226	};
227	dcsr-snpc@32000 {
228		compatible = "fsl,t4240-dcsr-snpc", "fsl,dcsr-snpc";
229		reg = <0x32000 0x1000 0x1062000 0x10000>;
230	};
231	dcsr-cpu-sb-proxy@100000 {
232		compatible = "fsl,dcsr-e6500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
233		cpu-handle = <&cpu0>;
234		reg = <0x100000 0x1000 0x101000 0x1000>;
235	};
236	dcsr-cpu-sb-proxy@108000 {
237		compatible = "fsl,dcsr-e6500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
238		cpu-handle = <&cpu1>;
239		reg = <0x108000 0x1000 0x109000 0x1000>;
240	};
241	dcsr-cpu-sb-proxy@110000 {
242		compatible = "fsl,dcsr-e6500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
243		cpu-handle = <&cpu2>;
244		reg = <0x110000 0x1000 0x111000 0x1000>;
245	};
246	dcsr-cpu-sb-proxy@118000 {
247		compatible = "fsl,dcsr-e6500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
248		cpu-handle = <&cpu3>;
249		reg = <0x118000 0x1000 0x119000 0x1000>;
250	};
251	dcsr-cpu-sb-proxy@120000 {
252		compatible = "fsl,dcsr-e6500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
253		cpu-handle = <&cpu4>;
254		reg = <0x120000 0x1000 0x121000 0x1000>;
255	};
256	dcsr-cpu-sb-proxy@128000 {
257		compatible = "fsl,dcsr-e6500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
258		cpu-handle = <&cpu5>;
259		reg = <0x128000 0x1000 0x129000 0x1000>;
260	};
261	dcsr-cpu-sb-proxy@130000 {
262		compatible = "fsl,dcsr-e6500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
263		cpu-handle = <&cpu6>;
264		reg = <0x130000 0x1000 0x131000 0x1000>;
265	};
266	dcsr-cpu-sb-proxy@138000 {
267		compatible = "fsl,dcsr-e6500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
268		cpu-handle = <&cpu7>;
269		reg = <0x138000 0x1000 0x139000 0x1000>;
270	};
271	dcsr-cpu-sb-proxy@140000 {
272		compatible = "fsl,dcsr-e6500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
273		cpu-handle = <&cpu8>;
274		reg = <0x140000 0x1000 0x141000 0x1000>;
275	};
276	dcsr-cpu-sb-proxy@148000 {
277		compatible = "fsl,dcsr-e6500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
278		cpu-handle = <&cpu9>;
279		reg = <0x148000 0x1000 0x149000 0x1000>;
280	};
281	dcsr-cpu-sb-proxy@150000 {
282		compatible = "fsl,dcsr-e6500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
283		cpu-handle = <&cpu10>;
284		reg = <0x150000 0x1000 0x151000 0x1000>;
285	};
286	dcsr-cpu-sb-proxy@158000 {
287		compatible = "fsl,dcsr-e6500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
288		cpu-handle = <&cpu11>;
289		reg = <0x158000 0x1000 0x159000 0x1000>;
290	};
291};
292
293&soc {
294	#address-cells = <1>;
295	#size-cells = <1>;
296	device_type = "soc";
297	compatible = "simple-bus";
298
299	soc-sram-error {
300		compatible = "fsl,soc-sram-error";
301		interrupts = <16 2 1 29>;
302	};
303
304	corenet-law@0 {
305		compatible = "fsl,corenet-law";
306		reg = <0x0 0x1000>;
307		fsl,num-laws = <32>;
308	};
309
310	ddr1: memory-controller@8000 {
311		compatible = "fsl,qoriq-memory-controller-v4.7",
312				"fsl,qoriq-memory-controller";
313		reg = <0x8000 0x1000>;
314		interrupts = <16 2 1 23>;
315	};
316
317	ddr2: memory-controller@9000 {
318		compatible = "fsl,qoriq-memory-controller-v4.7",
319				"fsl,qoriq-memory-controller";
320		reg = <0x9000 0x1000>;
321		interrupts = <16 2 1 22>;
322	};
323
324	ddr3: memory-controller@a000 {
325		compatible = "fsl,qoriq-memory-controller-v4.7",
326				"fsl,qoriq-memory-controller";
327		reg = <0xa000 0x1000>;
328		interrupts = <16 2 1 21>;
329	};
330
331	cpc: l3-cache-controller@10000 {
332		compatible = "fsl,t4240-l3-cache-controller", "cache";
333		reg = <0x10000 0x1000
334		       0x11000 0x1000
335		       0x12000 0x1000>;
336		interrupts = <16 2 1 27
337			      16 2 1 26
338			      16 2 1 25>;
339	};
340
341	corenet-cf@18000 {
342		compatible = "fsl,corenet-cf";
343		reg = <0x18000 0x1000>;
344		interrupts = <16 2 1 31>;
345		fsl,ccf-num-csdids = <32>;
346		fsl,ccf-num-snoopids = <32>;
347	};
348
349	iommu@20000 {
350		compatible = "fsl,pamu-v1.0", "fsl,pamu";
351		reg = <0x20000 0x6000>;
352		interrupts = <
353			24 2 0 0
354			16 2 1 30>;
355	};
356
357/include/ "qoriq-mpic.dtsi"
358
359	guts: global-utilities@e0000 {
360		compatible = "fsl,t4240-device-config", "fsl,qoriq-device-config-2.0";
361		reg = <0xe0000 0xe00>;
362		fsl,has-rstcr;
363		fsl,liodn-bits = <12>;
364	};
365
366	clockgen: global-utilities@e1000 {
367		compatible = "fsl,t4240-clockgen", "fsl,qoriq-clockgen-2";
368		reg = <0xe1000 0x1000>;
369	};
370
371	rcpm: global-utilities@e2000 {
372		compatible = "fsl,t4240-rcpm", "fsl,qoriq-rcpm-2";
373		reg = <0xe2000 0x1000>;
374	};
375
376	sfp: sfp@e8000 {
377		compatible = "fsl,t4240-sfp";
378		reg	   = <0xe8000 0x1000>;
379	};
380
381	serdes: serdes@ea000 {
382		compatible = "fsl,t4240-serdes";
383		reg	   = <0xea000 0x4000>;
384	};
385
386/include/ "qoriq-dma-0.dtsi"
387/include/ "qoriq-dma-1.dtsi"
388
389/include/ "qoriq-espi-0.dtsi"
390	spi@110000 {
391		fsl,espi-num-chipselects = <4>;
392	};
393
394/include/ "qoriq-esdhc-0.dtsi"
395	sdhc@114000 {
396		compatible = "fsl,t4240-esdhc", "fsl,esdhc";
397		sdhci,auto-cmd12;
398	};
399/include/ "qoriq-i2c-0.dtsi"
400/include/ "qoriq-i2c-1.dtsi"
401/include/ "qoriq-duart-0.dtsi"
402/include/ "qoriq-duart-1.dtsi"
403/include/ "qoriq-gpio-0.dtsi"
404/include/ "qoriq-gpio-1.dtsi"
405/include/ "qoriq-gpio-2.dtsi"
406/include/ "qoriq-gpio-3.dtsi"
407/include/ "qoriq-usb2-mph-0.dtsi"
408		usb0: usb@210000 {
409			compatible = "fsl-usb2-mph-v2.4", "fsl-usb2-mph";
410			phy_type = "utmi";
411			port0;
412		};
413/include/ "qoriq-usb2-dr-0.dtsi"
414		usb1: usb@211000 {
415			compatible = "fsl-usb2-dr-v2.4", "fsl-usb2-dr";
416			dr_mode = "host";
417			phy_type = "utmi";
418		};
419/include/ "qoriq-sata2-0.dtsi"
420/include/ "qoriq-sata2-1.dtsi"
421/include/ "qoriq-sec5.0-0.dtsi"
422
423	L2_1: l2-cache-controller@c20000 {
424		compatible = "fsl,t4240-l2-cache-controller";
425		reg = <0xc20000 0x40000>;
426		next-level-cache = <&cpc>;
427	};
428	L2_2: l2-cache-controller@c60000 {
429		compatible = "fsl,t4240-l2-cache-controller";
430		reg = <0xc60000 0x40000>;
431		next-level-cache = <&cpc>;
432	};
433	L2_3: l2-cache-controller@ca0000 {
434		compatible = "fsl,t4240-l2-cache-controller";
435		reg = <0xca0000 0x40000>;
436		next-level-cache = <&cpc>;
437	};
438};
439