1227613Sraj/*
2227613Sraj * P2020 DS Device Tree Source
3227613Sraj *
4227613Sraj * Copyright 2009 Freescale Semiconductor Inc.
5227613Sraj *
6227613Sraj *	Neither the name of Freescale Semiconductor, Inc nor the names of
7227613Sraj *	its contributors may be used to endorse or promote products derived
8227613Sraj *	from this software without specific prior written permission.
9227613Sraj *
10227613Sraj * Freescale hereby publishes it under the following licenses:
11227613Sraj *
12227613Sraj *   BSD License
13227613Sraj *
14227613Sraj *	Redistribution and use in source and binary forms, with or
15227613Sraj *	without modification, are permitted provided that the following
16227613Sraj *	conditions are met:
17227613Sraj *
18227613Sraj *	Redistributions of source code must retain the above copyright
19227613Sraj *	notice, this list of conditions and the following disclaimer.
20227613Sraj *
21227613Sraj *	Redistributions in binary form must reproduce the above copyright
22227613Sraj *	notice, this list of conditions and the following disclaimer in
23227613Sraj *	the documentation and/or other materials provided with the
24227613Sraj *	distribution.
25227613Sraj *
26227613Sraj *	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
27227613Sraj *	CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
28227613Sraj *	INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
29227613Sraj *	MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
30227613Sraj *	DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
31227613Sraj *	BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
32227613Sraj *	EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
33227613Sraj *	TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
34227613Sraj *	DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
35227613Sraj *	ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
36227613Sraj *	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
37227613Sraj *	OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38227613Sraj *	POSSIBILITY OF SUCH DAMAGE.
39227613Sraj *
40227613Sraj *   GNU General Public License, version 2
41227613Sraj *
42227613Sraj *	This program is free software; you can redistribute it and/or
43227613Sraj *	modify it under the terms of the GNU General Public License
44227613Sraj *	as published by the Free Software Foundation; either version 2
45227613Sraj *	of the License, or (at your option) any later version.
46227613Sraj *
47227613Sraj *	This program is distributed in the hope that it will be useful,
48227613Sraj *	but WITHOUT ANY WARRANTY; without even the implied warranty of
49227613Sraj *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
50227613Sraj *	GNU General Public License for more details.
51227613Sraj *
52227613Sraj *	You should have received a copy of the GNU General Public License
53227613Sraj *      along with this program; if not, write to the Free Software
54227613Sraj *	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
55227613Sraj *	MA  02110-1301, USA.
56227613Sraj *
57227613Sraj * You may select the license of your choice.
58227613Sraj *------------------------------------------------------------------
59227613Sraj */
60227613Sraj/* $FreeBSD: releng/11.0/sys/boot/fdt/dts/powerpc/p2020ds.dts 264230 2014-04-07 16:38:31Z imp $ */
61227613Sraj
62227613Sraj/dts-v1/;
63227613Sraj/ {
64227613Sraj	model = "fsl,P2020";
65227613Sraj	compatible = "fsl,P2020DS";
66227613Sraj	#address-cells = <2>;
67227613Sraj	#size-cells = <2>;
68227613Sraj
69227613Sraj	aliases {
70227613Sraj		ethernet0 = &enet0;
71227613Sraj		ethernet1 = &enet1;
72227613Sraj		ethernet2 = &enet2;
73227613Sraj		serial0 = &serial0;
74227613Sraj		serial1 = &serial1;
75227613Sraj		pci0 = &pci0;
76227613Sraj		pci1 = &pci1;
77227613Sraj		pci2 = &pci2;
78227613Sraj	};
79227613Sraj
80227613Sraj	cpus {
81227613Sraj		#address-cells = <1>;
82227613Sraj		#size-cells = <0>;
83227613Sraj
84227613Sraj		PowerPC,P2020@0 {
85227613Sraj			device_type = "cpu";
86227613Sraj			reg = <0x0>;
87227613Sraj			next-level-cache = <&L2>;
88227613Sraj		};
89227613Sraj
90227613Sraj		PowerPC,P2020@1 {
91227613Sraj			device_type = "cpu";
92227613Sraj			reg = <0x1>;
93227613Sraj			next-level-cache = <&L2>;
94227613Sraj		};
95227613Sraj	};
96227613Sraj
97227613Sraj	memory {
98227613Sraj		device_type = "memory";
99227613Sraj	};
100227613Sraj
101227613Sraj	localbus@ffe05000 {
102227613Sraj		#address-cells = <2>;
103227613Sraj		#size-cells = <1>;
104227613Sraj		compatible = "fsl,elbc", "simple-bus";
105227613Sraj		reg = <0 0xffe05000 0 0x1000>;
106227613Sraj		interrupts = <19 2>;
107227613Sraj		interrupt-parent = <&mpic>;
108227613Sraj
109227613Sraj		ranges = <0x0 0x0 0x0 0xe8000000 0x08000000
110227613Sraj			  0x1 0x0 0x0 0xe0000000 0x08000000
111227613Sraj			  0x2 0x0 0x0 0xffa00000 0x00040000
112227613Sraj			  0x3 0x0 0x0 0xffdf0000 0x00008000
113227613Sraj			  0x4 0x0 0x0 0xffa40000 0x00040000
114227613Sraj			  0x5 0x0 0x0 0xffa80000 0x00040000
115227613Sraj			  0x6 0x0 0x0 0xffac0000 0x00040000>;
116227613Sraj
117227613Sraj		nor@0,0 {
118227613Sraj			#address-cells = <1>;
119227613Sraj			#size-cells = <1>;
120227613Sraj			compatible = "cfi-flash";
121227613Sraj			reg = <0x0 0x0 0x8000000>;
122227613Sraj			bank-width = <2>;
123227613Sraj			device-width = <1>;
124227613Sraj
125227613Sraj			ramdisk@0 {
126227613Sraj				reg = <0x0 0x03000000>;
127227613Sraj				read-only;
128227613Sraj			};
129227613Sraj
130227613Sraj			diagnostic@3000000 {
131227613Sraj				reg = <0x03000000 0x00e00000>;
132227613Sraj				read-only;
133227613Sraj			};
134227613Sraj
135227613Sraj			dink@3e00000 {
136227613Sraj				reg = <0x03e00000 0x00200000>;
137227613Sraj				read-only;
138227613Sraj			};
139227613Sraj
140227613Sraj			kernel@4000000 {
141227613Sraj				reg = <0x04000000 0x00400000>;
142227613Sraj				read-only;
143227613Sraj			};
144227613Sraj
145227613Sraj			jffs2@4400000 {
146227613Sraj				reg = <0x04400000 0x03b00000>;
147227613Sraj			};
148227613Sraj
149227613Sraj			dtb@7f00000 {
150227613Sraj				reg = <0x07f00000 0x00080000>;
151227613Sraj				read-only;
152227613Sraj			};
153227613Sraj
154227613Sraj			u-boot@7f80000 {
155227613Sraj				reg = <0x07f80000 0x00080000>;
156227613Sraj				read-only;
157227613Sraj			};
158227613Sraj		};
159227613Sraj
160227613Sraj		nand@2,0 {
161227613Sraj			#address-cells = <1>;
162227613Sraj			#size-cells = <1>;
163227613Sraj			compatible = "fsl,elbc-fcm-nand";
164227613Sraj			reg = <0x2 0x0 0x40000>;
165227613Sraj
166227613Sraj			u-boot@0 {
167227613Sraj				reg = <0x0 0x02000000>;
168227613Sraj				read-only;
169227613Sraj			};
170227613Sraj
171227613Sraj			jffs2@2000000 {
172227613Sraj				reg = <0x02000000 0x10000000>;
173227613Sraj			};
174227613Sraj
175227613Sraj			ramdisk@12000000 {
176227613Sraj				reg = <0x12000000 0x08000000>;
177227613Sraj				read-only;
178227613Sraj			};
179227613Sraj
180227613Sraj			kernel@1a000000 {
181227613Sraj				reg = <0x1a000000 0x04000000>;
182227613Sraj			};
183227613Sraj
184227613Sraj			dtb@1e000000 {
185227613Sraj				reg = <0x1e000000 0x01000000>;
186227613Sraj				read-only;
187227613Sraj			};
188227613Sraj
189227613Sraj			empty@1f000000 {
190227613Sraj				reg = <0x1f000000 0x21000000>;
191227613Sraj			};
192227613Sraj		};
193227613Sraj
194227613Sraj		nand@4,0 {
195227613Sraj			compatible = "fsl,elbc-fcm-nand";
196227613Sraj			reg = <0x4 0x0 0x40000>;
197227613Sraj		};
198227613Sraj
199227613Sraj		nand@5,0 {
200227613Sraj			compatible = "fsl,elbc-fcm-nand";
201227613Sraj			reg = <0x5 0x0 0x40000>;
202227613Sraj		};
203227613Sraj
204227613Sraj		nand@6,0 {
205227613Sraj			compatible = "fsl,elbc-fcm-nand";
206227613Sraj			reg = <0x6 0x0 0x40000>;
207227613Sraj		};
208227613Sraj	};
209227613Sraj
210227613Sraj	soc@ffe00000 {
211227613Sraj		#address-cells = <1>;
212227613Sraj		#size-cells = <1>;
213227613Sraj		device_type = "soc";
214227613Sraj		compatible = "fsl,p2020-immr", "simple-bus";
215227613Sraj		ranges = <0x0 0 0xffe00000 0x100000>;
216227613Sraj		bus-frequency = <0>;		// Filled out by uboot.
217227613Sraj
218227613Sraj		ecm-law@0 {
219227613Sraj			compatible = "fsl,ecm-law";
220227613Sraj			reg = <0x0 0x1000>;
221227613Sraj			fsl,num-laws = <12>;
222227613Sraj		};
223227613Sraj
224227613Sraj		ecm@1000 {
225227613Sraj			compatible = "fsl,p2020-ecm", "fsl,ecm";
226227613Sraj			reg = <0x1000 0x1000>;
227227613Sraj			interrupts = <17 2>;
228227613Sraj			interrupt-parent = <&mpic>;
229227613Sraj		};
230227613Sraj
231227613Sraj		memory-controller@2000 {
232227613Sraj			compatible = "fsl,p2020-memory-controller";
233227613Sraj			reg = <0x2000 0x1000>;
234227613Sraj			interrupt-parent = <&mpic>;
235227613Sraj			interrupts = <18 2>;
236227613Sraj		};
237227613Sraj
238227613Sraj		i2c@3000 {
239227613Sraj			#address-cells = <1>;
240227613Sraj			#size-cells = <0>;
241227613Sraj			cell-index = <0>;
242227613Sraj			compatible = "fsl-i2c";
243227613Sraj			reg = <0x3000 0x100>;
244227613Sraj			interrupts = <43 2>;
245227613Sraj			interrupt-parent = <&mpic>;
246227613Sraj			dfsrr;
247227613Sraj		};
248227613Sraj
249227613Sraj		i2c@3100 {
250227613Sraj			#address-cells = <1>;
251227613Sraj			#size-cells = <0>;
252227613Sraj			cell-index = <1>;
253227613Sraj			compatible = "fsl-i2c";
254227613Sraj			reg = <0x3100 0x100>;
255227613Sraj			interrupts = <43 2>;
256227613Sraj			interrupt-parent = <&mpic>;
257227613Sraj			dfsrr;
258227613Sraj		};
259227613Sraj
260227613Sraj		serial0: serial@4500 {
261227613Sraj			cell-index = <0>;
262227613Sraj			device_type = "serial";
263227613Sraj			compatible = "ns16550";
264227613Sraj			reg = <0x4500 0x100>;
265227613Sraj			clock-frequency = <0>;
266227613Sraj			interrupts = <42 2>;
267227613Sraj			interrupt-parent = <&mpic>;
268227613Sraj		};
269227613Sraj
270227613Sraj		serial1: serial@4600 {
271227613Sraj			cell-index = <1>;
272227613Sraj			device_type = "serial";
273227613Sraj			compatible = "ns16550";
274227613Sraj			reg = <0x4600 0x100>;
275227613Sraj			clock-frequency = <0>;
276227613Sraj			interrupts = <42 2>;
277227613Sraj			interrupt-parent = <&mpic>;
278227613Sraj		};
279227613Sraj
280227613Sraj		spi@7000 {
281227613Sraj			compatible = "fsl,espi";
282227613Sraj			reg = <0x7000 0x1000>;
283227613Sraj			interrupts = <59 0x2>;
284227613Sraj			interrupt-parent = <&mpic>;
285227613Sraj		};
286227613Sraj
287227613Sraj		dma@c300 {
288227613Sraj			#address-cells = <1>;
289227613Sraj			#size-cells = <1>;
290227613Sraj			compatible = "fsl,eloplus-dma";
291227613Sraj			reg = <0xc300 0x4>;
292227613Sraj			ranges = <0x0 0xc100 0x200>;
293227613Sraj			cell-index = <1>;
294227613Sraj			dma-channel@0 {
295227613Sraj				compatible = "fsl,eloplus-dma-channel";
296227613Sraj				reg = <0x0 0x80>;
297227613Sraj				cell-index = <0>;
298227613Sraj				interrupt-parent = <&mpic>;
299227613Sraj				interrupts = <76 2>;
300227613Sraj			};
301227613Sraj			dma-channel@80 {
302227613Sraj				compatible = "fsl,eloplus-dma-channel";
303227613Sraj				reg = <0x80 0x80>;
304227613Sraj				cell-index = <1>;
305227613Sraj				interrupt-parent = <&mpic>;
306227613Sraj				interrupts = <77 2>;
307227613Sraj			};
308227613Sraj			dma-channel@100 {
309227613Sraj				compatible = "fsl,eloplus-dma-channel";
310227613Sraj				reg = <0x100 0x80>;
311227613Sraj				cell-index = <2>;
312227613Sraj				interrupt-parent = <&mpic>;
313227613Sraj				interrupts = <78 2>;
314227613Sraj			};
315227613Sraj			dma-channel@180 {
316227613Sraj				compatible = "fsl,eloplus-dma-channel";
317227613Sraj				reg = <0x180 0x80>;
318227613Sraj				cell-index = <3>;
319227613Sraj				interrupt-parent = <&mpic>;
320227613Sraj				interrupts = <79 2>;
321227613Sraj			};
322227613Sraj		};
323227613Sraj
324227613Sraj		gpio: gpio-controller@f000 {
325227613Sraj			#gpio-cells = <2>;
326227613Sraj			compatible = "fsl,mpc8572-gpio";
327227613Sraj			reg = <0xf000 0x100>;
328227613Sraj			interrupts = <47 0x2>;
329227613Sraj			interrupt-parent = <&mpic>;
330227613Sraj			gpio-controller;
331227613Sraj		};
332227613Sraj
333227613Sraj		L2: l2-cache-controller@20000 {
334227613Sraj			compatible = "fsl,p2020-l2-cache-controller";
335227613Sraj			reg = <0x20000 0x1000>;
336227613Sraj			cache-line-size = <32>;	// 32 bytes
337227613Sraj			cache-size = <0x80000>; // L2, 512k
338227613Sraj			interrupt-parent = <&mpic>;
339227613Sraj			interrupts = <16 2>;
340227613Sraj		};
341227613Sraj
342227613Sraj		dma@21300 {
343227613Sraj			#address-cells = <1>;
344227613Sraj			#size-cells = <1>;
345227613Sraj			compatible = "fsl,eloplus-dma";
346227613Sraj			reg = <0x21300 0x4>;
347227613Sraj			ranges = <0x0 0x21100 0x200>;
348227613Sraj			cell-index = <0>;
349227613Sraj			dma-channel@0 {
350227613Sraj				compatible = "fsl,eloplus-dma-channel";
351227613Sraj				reg = <0x0 0x80>;
352227613Sraj				cell-index = <0>;
353227613Sraj				interrupt-parent = <&mpic>;
354227613Sraj				interrupts = <20 2>;
355227613Sraj			};
356227613Sraj			dma-channel@80 {
357227613Sraj				compatible = "fsl,eloplus-dma-channel";
358227613Sraj				reg = <0x80 0x80>;
359227613Sraj				cell-index = <1>;
360227613Sraj				interrupt-parent = <&mpic>;
361227613Sraj				interrupts = <21 2>;
362227613Sraj			};
363227613Sraj			dma-channel@100 {
364227613Sraj				compatible = "fsl,eloplus-dma-channel";
365227613Sraj				reg = <0x100 0x80>;
366227613Sraj				cell-index = <2>;
367227613Sraj				interrupt-parent = <&mpic>;
368227613Sraj				interrupts = <22 2>;
369227613Sraj			};
370227613Sraj			dma-channel@180 {
371227613Sraj				compatible = "fsl,eloplus-dma-channel";
372227613Sraj				reg = <0x180 0x80>;
373227613Sraj				cell-index = <3>;
374227613Sraj				interrupt-parent = <&mpic>;
375227613Sraj				interrupts = <23 2>;
376227613Sraj			};
377227613Sraj		};
378227613Sraj
379227613Sraj		usb@22000 {
380227613Sraj			#address-cells = <1>;
381227613Sraj			#size-cells = <0>;
382227613Sraj			compatible = "fsl-usb2-dr";
383227613Sraj			reg = <0x22000 0x1000>;
384227613Sraj			interrupt-parent = <&mpic>;
385227613Sraj			interrupts = <28 0x2>;
386227613Sraj			phy_type = "ulpi";
387227613Sraj		};
388227613Sraj
389227613Sraj		enet0: ethernet@24000 {
390227613Sraj			#address-cells = <1>;
391227613Sraj			#size-cells = <1>;
392227613Sraj			cell-index = <0>;
393227613Sraj			device_type = "network";
394227613Sraj			model = "eTSEC";
395227613Sraj			compatible = "gianfar";
396227613Sraj			reg = <0x24000 0x1000>;
397227613Sraj			ranges = <0x0 0x24000 0x1000>;
398227613Sraj			local-mac-address = [ 00 00 00 00 00 00 ];
399227613Sraj			interrupts = <29 2 30 2 34 2>;
400227613Sraj			interrupt-parent = <&mpic>;
401227613Sraj			tbi-handle = <&tbi0>;
402227613Sraj			phy-handle = <&phy0>;
403227613Sraj			phy-connection-type = "rgmii-id";
404227613Sraj
405227613Sraj			mdio@520 {
406227613Sraj				#address-cells = <1>;
407227613Sraj				#size-cells = <0>;
408227613Sraj				compatible = "fsl,gianfar-mdio";
409227613Sraj				reg = <0x520 0x20>;
410227613Sraj
411227613Sraj				phy0: ethernet-phy@0 {
412227613Sraj					interrupt-parent = <&mpic>;
413227613Sraj					interrupts = <3 1>;
414227613Sraj					reg = <0x0>;
415227613Sraj				};
416227613Sraj				phy1: ethernet-phy@1 {
417227613Sraj					interrupt-parent = <&mpic>;
418227613Sraj					interrupts = <3 1>;
419227613Sraj					reg = <0x1>;
420227613Sraj				};
421227613Sraj				phy2: ethernet-phy@2 {
422227613Sraj					interrupt-parent = <&mpic>;
423227613Sraj					interrupts = <3 1>;
424227613Sraj					reg = <0x2>;
425227613Sraj				};
426227613Sraj				tbi0: tbi-phy@11 {
427227613Sraj					reg = <0x11>;
428227613Sraj					device_type = "tbi-phy";
429227613Sraj				};
430227613Sraj			};
431227613Sraj		};
432227613Sraj
433227613Sraj		enet1: ethernet@25000 {
434227613Sraj			#address-cells = <1>;
435227613Sraj			#size-cells = <1>;
436227613Sraj			cell-index = <1>;
437227613Sraj			device_type = "network";
438227613Sraj			model = "eTSEC";
439227613Sraj			compatible = "gianfar";
440227613Sraj			reg = <0x25000 0x1000>;
441227613Sraj			ranges = <0x0 0x25000 0x1000>;
442227613Sraj			local-mac-address = [ 00 00 00 00 00 00 ];
443227613Sraj			interrupts = <35 2 36 2 40 2>;
444227613Sraj			interrupt-parent = <&mpic>;
445227613Sraj			tbi-handle = <&tbi1>;
446227613Sraj			phy-handle = <&phy1>;
447227613Sraj			phy-connection-type = "rgmii-id";
448227613Sraj
449227613Sraj			mdio@520 {
450227613Sraj				#address-cells = <1>;
451227613Sraj				#size-cells = <0>;
452227613Sraj				compatible = "fsl,gianfar-tbi";
453227613Sraj				reg = <0x520 0x20>;
454227613Sraj
455227613Sraj				tbi1: tbi-phy@11 {
456227613Sraj					reg = <0x11>;
457227613Sraj					device_type = "tbi-phy";
458227613Sraj				};
459227613Sraj			};
460227613Sraj		};
461227613Sraj
462227613Sraj		enet2: ethernet@26000 {
463227613Sraj			#address-cells = <1>;
464227613Sraj			#size-cells = <1>;
465227613Sraj			cell-index = <2>;
466227613Sraj			device_type = "network";
467227613Sraj			model = "eTSEC";
468227613Sraj			compatible = "gianfar";
469227613Sraj			reg = <0x26000 0x1000>;
470227613Sraj			ranges = <0x0 0x26000 0x1000>;
471227613Sraj			local-mac-address = [ 00 00 00 00 00 00 ];
472227613Sraj			interrupts = <31 2 32 2 33 2>;
473227613Sraj			interrupt-parent = <&mpic>;
474227613Sraj			tbi-handle = <&tbi2>;
475227613Sraj			phy-handle = <&phy2>;
476227613Sraj			phy-connection-type = "rgmii-id";
477227613Sraj
478227613Sraj			mdio@520 {
479227613Sraj				#address-cells = <1>;
480227613Sraj				#size-cells = <0>;
481227613Sraj				compatible = "fsl,gianfar-tbi";
482227613Sraj				reg = <0x520 0x20>;
483227613Sraj
484227613Sraj				tbi2: tbi-phy@11 {
485227613Sraj					reg = <0x11>;
486227613Sraj					device_type = "tbi-phy";
487227613Sraj				};
488227613Sraj			};
489227613Sraj		};
490227613Sraj
491227613Sraj		sdhci@2e000 {
492227613Sraj			compatible = "fsl,p2020-esdhc", "fsl,esdhc";
493227613Sraj			reg = <0x2e000 0x1000>;
494227613Sraj			interrupts = <72 0x2>;
495227613Sraj			interrupt-parent = <&mpic>;
496227613Sraj			/* Filled in by U-Boot */
497227613Sraj			clock-frequency = <0>;
498227613Sraj		};
499227613Sraj
500227613Sraj		crypto@30000 {
501227613Sraj			compatible = "fsl,sec3.1", "fsl,sec3.0", "fsl,sec2.4",
502227613Sraj				     "fsl,sec2.2", "fsl,sec2.1", "fsl,sec2.0";
503227613Sraj			reg = <0x30000 0x10000>;
504227613Sraj			interrupts = <45 2 58 2>;
505227613Sraj			interrupt-parent = <&mpic>;
506227613Sraj			fsl,num-channels = <4>;
507227613Sraj			fsl,channel-fifo-len = <24>;
508227613Sraj			fsl,exec-units-mask = <0xbfe>;
509227613Sraj			fsl,descriptor-types-mask = <0x3ab0ebf>;
510227613Sraj		};
511227613Sraj
512227613Sraj		mpic: pic@40000 {
513227613Sraj			interrupt-controller;
514227613Sraj			#address-cells = <0>;
515227613Sraj			#interrupt-cells = <2>;
516227613Sraj			reg = <0x40000 0x40000>;
517227613Sraj			compatible = "chrp,open-pic";
518227613Sraj			device_type = "open-pic";
519227613Sraj		};
520227613Sraj
521227613Sraj		msi@41600 {
522227613Sraj			compatible = "fsl,mpic-msi";
523227613Sraj			reg = <0x41600 0x80>;
524227613Sraj			msi-available-ranges = <0 0x100>;
525227613Sraj			interrupts = <
526227613Sraj				0xe0 0
527227613Sraj				0xe1 0
528227613Sraj				0xe2 0
529227613Sraj				0xe3 0
530227613Sraj				0xe4 0
531227613Sraj				0xe5 0
532227613Sraj				0xe6 0
533227613Sraj				0xe7 0>;
534227613Sraj			interrupt-parent = <&mpic>;
535227613Sraj		};
536227613Sraj
537227613Sraj		global-utilities@e0000 {	//global utilities block
538227613Sraj			compatible = "fsl,p2020-guts";
539227613Sraj			reg = <0xe0000 0x1000>;
540227613Sraj			fsl,has-rstcr;
541227613Sraj		};
542227613Sraj	};
543227613Sraj
544227613Sraj	pci0: pcie@ffe08000 {
545227613Sraj		compatible = "fsl,mpc8548-pcie";
546227613Sraj		device_type = "pci";
547227613Sraj		#interrupt-cells = <1>;
548227613Sraj		#size-cells = <2>;
549227613Sraj		#address-cells = <3>;
550227613Sraj		reg = <0 0xffe08000 0 0x1000>;
551227613Sraj		bus-range = <0 255>;
552227613Sraj		ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000
553227613Sraj			  0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>;
554227613Sraj		clock-frequency = <33333333>;
555227613Sraj		interrupt-parent = <&mpic>;
556227613Sraj		interrupts = <24 2>;
557227613Sraj		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
558227613Sraj		interrupt-map = <
559227613Sraj			/* IDSEL 0x0 */
560227613Sraj			0000 0x0 0x0 0x1 &mpic 0x8 0x1
561227613Sraj			0000 0x0 0x0 0x2 &mpic 0x9 0x1
562227613Sraj			0000 0x0 0x0 0x3 &mpic 0xa 0x1
563227613Sraj			0000 0x0 0x0 0x4 &mpic 0xb 0x1
564227613Sraj			>;
565227613Sraj		pcie@0 {
566227613Sraj			reg = <0x0 0x0 0x0 0x0 0x0>;
567227613Sraj			#size-cells = <2>;
568227613Sraj			#address-cells = <3>;
569227613Sraj			device_type = "pci";
570227613Sraj			ranges = <0x2000000 0x0 0x80000000
571227613Sraj				  0x2000000 0x0 0x80000000
572227613Sraj				  0x0 0x20000000
573227613Sraj
574227613Sraj				  0x1000000 0x0 0x0
575227613Sraj				  0x1000000 0x0 0x0
576227613Sraj				  0x0 0x10000>;
577227613Sraj		};
578227613Sraj	};
579227613Sraj
580227613Sraj	pci1: pcie@ffe09000 {
581227613Sraj		compatible = "fsl,mpc8548-pcie";
582227613Sraj		device_type = "pci";
583227613Sraj		#interrupt-cells = <1>;
584227613Sraj		#size-cells = <2>;
585227613Sraj		#address-cells = <3>;
586227613Sraj		reg = <0 0xffe09000 0 0x1000>;
587227613Sraj		bus-range = <0 255>;
588227613Sraj		ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000
589227613Sraj			  0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>;
590227613Sraj		clock-frequency = <33333333>;
591227613Sraj		interrupt-parent = <&mpic>;
592227613Sraj		interrupts = <25 2>;
593227613Sraj		interrupt-map-mask = <0xff00 0x0 0x0 0x7>;
594227613Sraj		interrupt-map = <
595227613Sraj
596227613Sraj			// IDSEL 0x11 func 0 - PCI slot 1
597227613Sraj			0x8800 0x0 0x0 0x1 &i8259 0x9 0x2
598227613Sraj			0x8800 0x0 0x0 0x2 &i8259 0xa 0x2
599227613Sraj
600227613Sraj			// IDSEL 0x11 func 1 - PCI slot 1
601227613Sraj			0x8900 0x0 0x0 0x1 &i8259 0x9 0x2
602227613Sraj			0x8900 0x0 0x0 0x2 &i8259 0xa 0x2
603227613Sraj
604227613Sraj			// IDSEL 0x11 func 2 - PCI slot 1
605227613Sraj			0x8a00 0x0 0x0 0x1 &i8259 0x9 0x2
606227613Sraj			0x8a00 0x0 0x0 0x2 &i8259 0xa 0x2
607227613Sraj
608227613Sraj			// IDSEL 0x11 func 3 - PCI slot 1
609227613Sraj			0x8b00 0x0 0x0 0x1 &i8259 0x9 0x2
610227613Sraj			0x8b00 0x0 0x0 0x2 &i8259 0xa 0x2
611227613Sraj
612227613Sraj			// IDSEL 0x11 func 4 - PCI slot 1
613227613Sraj			0x8c00 0x0 0x0 0x1 &i8259 0x9 0x2
614227613Sraj			0x8c00 0x0 0x0 0x2 &i8259 0xa 0x2
615227613Sraj
616227613Sraj			// IDSEL 0x11 func 5 - PCI slot 1
617227613Sraj			0x8d00 0x0 0x0 0x1 &i8259 0x9 0x2
618227613Sraj			0x8d00 0x0 0x0 0x2 &i8259 0xa 0x2
619227613Sraj
620227613Sraj			// IDSEL 0x11 func 6 - PCI slot 1
621227613Sraj			0x8e00 0x0 0x0 0x1 &i8259 0x9 0x2
622227613Sraj			0x8e00 0x0 0x0 0x2 &i8259 0xa 0x2
623227613Sraj
624227613Sraj			// IDSEL 0x11 func 7 - PCI slot 1
625227613Sraj			0x8f00 0x0 0x0 0x1 &i8259 0x9 0x2
626227613Sraj			0x8f00 0x0 0x0 0x2 &i8259 0xa 0x2
627227613Sraj
628227613Sraj			// IDSEL 0x1d  Audio
629227613Sraj			0xe800 0x0 0x0 0x1 &i8259 0x6 0x2
630227613Sraj
631227613Sraj			// IDSEL 0x1e Legacy
632227613Sraj			0xf000 0x0 0x0 0x1 &i8259 0x7 0x2
633227613Sraj			0xf100 0x0 0x0 0x1 &i8259 0x7 0x2
634227613Sraj
635227613Sraj			// IDSEL 0x1f IDE/SATA
636227613Sraj			0xf800 0x0 0x0 0x1 &i8259 0xe 0x2
637227613Sraj			0xf900 0x0 0x0 0x1 &i8259 0x5 0x2
638227613Sraj			>;
639227613Sraj
640227613Sraj		pcie@0 {
641227613Sraj			reg = <0x0 0x0 0x0 0x0 0x0>;
642227613Sraj			#size-cells = <2>;
643227613Sraj			#address-cells = <3>;
644227613Sraj			device_type = "pci";
645227613Sraj			ranges = <0x2000000 0x0 0xa0000000
646227613Sraj				  0x2000000 0x0 0xa0000000
647227613Sraj				  0x0 0x20000000
648227613Sraj
649227613Sraj				  0x1000000 0x0 0x0
650227613Sraj				  0x1000000 0x0 0x0
651227613Sraj				  0x0 0x10000>;
652227613Sraj			uli1575@0 {
653227613Sraj				reg = <0x0 0x0 0x0 0x0 0x0>;
654227613Sraj				#size-cells = <2>;
655227613Sraj				#address-cells = <3>;
656227613Sraj				ranges = <0x2000000 0x0 0xa0000000
657227613Sraj					  0x2000000 0x0 0xa0000000
658227613Sraj					  0x0 0x20000000
659227613Sraj
660227613Sraj					  0x1000000 0x0 0x0
661227613Sraj					  0x1000000 0x0 0x0
662227613Sraj					  0x0 0x10000>;
663227613Sraj				isa@1e {
664227613Sraj					device_type = "isa";
665227613Sraj					#interrupt-cells = <2>;
666227613Sraj					#size-cells = <1>;
667227613Sraj					#address-cells = <2>;
668227613Sraj					reg = <0xf000 0x0 0x0 0x0 0x0>;
669227613Sraj					ranges = <0x1 0x0 0x1000000 0x0 0x0
670227613Sraj						  0x1000>;
671227613Sraj					interrupt-parent = <&i8259>;
672227613Sraj
673227613Sraj					i8259: interrupt-controller@20 {
674227613Sraj						reg = <0x1 0x20 0x2
675227613Sraj						       0x1 0xa0 0x2
676227613Sraj						       0x1 0x4d0 0x2>;
677227613Sraj						interrupt-controller;
678227613Sraj						device_type = "interrupt-controller";
679227613Sraj						#address-cells = <0>;
680227613Sraj						#interrupt-cells = <2>;
681227613Sraj						compatible = "chrp,iic";
682227613Sraj						interrupts = <4 1>;
683227613Sraj						interrupt-parent = <&mpic>;
684227613Sraj					};
685227613Sraj
686227613Sraj					i8042@60 {
687227613Sraj						#size-cells = <0>;
688227613Sraj						#address-cells = <1>;
689227613Sraj						reg = <0x1 0x60 0x1 0x1 0x64 0x1>;
690227613Sraj						interrupts = <1 3 12 3>;
691227613Sraj						interrupt-parent =
692227613Sraj							<&i8259>;
693227613Sraj
694227613Sraj						keyboard@0 {
695227613Sraj							reg = <0x0>;
696227613Sraj							compatible = "pnpPNP,303";
697227613Sraj						};
698227613Sraj
699227613Sraj						mouse@1 {
700227613Sraj							reg = <0x1>;
701227613Sraj							compatible = "pnpPNP,f03";
702227613Sraj						};
703227613Sraj					};
704227613Sraj
705227613Sraj					rtc@70 {
706227613Sraj						compatible = "pnpPNP,b00";
707227613Sraj						reg = <0x1 0x70 0x2>;
708227613Sraj					};
709227613Sraj
710227613Sraj					gpio@400 {
711227613Sraj						reg = <0x1 0x400 0x80>;
712227613Sraj					};
713227613Sraj				};
714227613Sraj			};
715227613Sraj		};
716227613Sraj
717227613Sraj	};
718227613Sraj
719227613Sraj	pci2: pcie@ffe0a000 {
720227613Sraj		compatible = "fsl,mpc8548-pcie";
721227613Sraj		device_type = "pci";
722227613Sraj		#interrupt-cells = <1>;
723227613Sraj		#size-cells = <2>;
724227613Sraj		#address-cells = <3>;
725227613Sraj		reg = <0 0xffe0a000 0 0x1000>;
726227613Sraj		bus-range = <0 255>;
727227613Sraj		ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000
728227613Sraj			  0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x10000>;
729227613Sraj		clock-frequency = <33333333>;
730227613Sraj		interrupt-parent = <&mpic>;
731227613Sraj		interrupts = <26 2>;
732227613Sraj		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
733227613Sraj		interrupt-map = <
734227613Sraj			/* IDSEL 0x0 */
735227613Sraj			0000 0x0 0x0 0x1 &mpic 0x0 0x1
736227613Sraj			0000 0x0 0x0 0x2 &mpic 0x1 0x1
737227613Sraj			0000 0x0 0x0 0x3 &mpic 0x2 0x1
738227613Sraj			0000 0x0 0x0 0x4 &mpic 0x3 0x1
739227613Sraj			>;
740227613Sraj		pcie@0 {
741227613Sraj			reg = <0x0 0x0 0x0 0x0 0x0>;
742227613Sraj			#size-cells = <2>;
743227613Sraj			#address-cells = <3>;
744227613Sraj			device_type = "pci";
745227613Sraj			ranges = <0x2000000 0x0 0xc0000000
746227613Sraj				  0x2000000 0x0 0xc0000000
747227613Sraj				  0x0 0x20000000
748227613Sraj
749227613Sraj				  0x1000000 0x0 0x0
750227613Sraj				  0x1000000 0x0 0x0
751227613Sraj				  0x0 0x10000>;
752227613Sraj		};
753227613Sraj	};
754227613Sraj};
755