1c6d4d657SGrant Likely/*
2c6d4d657SGrant Likely * Lite5200B board Device Tree Source
3c6d4d657SGrant Likely *
405cbbc69SGrant Likely * Copyright 2006-2007 Secret Lab Technologies Ltd.
5c6d4d657SGrant Likely * Grant Likely <grant.likely@secretlab.ca>
6c6d4d657SGrant Likely *
7c6d4d657SGrant Likely * This program is free software; you can redistribute  it and/or modify it
8c6d4d657SGrant Likely * under  the terms of  the GNU General  Public License as published by the
9c6d4d657SGrant Likely * Free Software Foundation;  either version 2 of the  License, or (at your
10c6d4d657SGrant Likely * option) any later version.
11c6d4d657SGrant Likely */
12c6d4d657SGrant Likely
13121361f7SGrant Likely/*
14121361f7SGrant Likely * WARNING: Do not depend on this tree layout remaining static just yet.
15121361f7SGrant Likely * The MPC5200 device tree conventions are still in flux
16121361f7SGrant Likely * Keep an eye on the linuxppc-dev mailing list for more details
17121361f7SGrant Likely */
18121361f7SGrant Likely
19c6d4d657SGrant Likely/ {
2005cbbc69SGrant Likely	model = "fsl,lite5200b";
2105cbbc69SGrant Likely	// revision = "1.0";
22dcccb37eSGrant Likely	compatible = "fsl,lite5200b","generic-mpc5200";
23c6d4d657SGrant Likely	#address-cells = <1>;
24c6d4d657SGrant Likely	#size-cells = <1>;
25c6d4d657SGrant Likely
26c6d4d657SGrant Likely	cpus {
27c6d4d657SGrant Likely		#address-cells = <1>;
28c6d4d657SGrant Likely		#size-cells = <0>;
29c6d4d657SGrant Likely
30c6d4d657SGrant Likely		PowerPC,5200@0 {
31c6d4d657SGrant Likely			device_type = "cpu";
32c6d4d657SGrant Likely			reg = <0>;
33c6d4d657SGrant Likely			d-cache-line-size = <20>;
34c6d4d657SGrant Likely			i-cache-line-size = <20>;
35c6d4d657SGrant Likely			d-cache-size = <4000>;		// L1, 16K
36c6d4d657SGrant Likely			i-cache-size = <4000>;		// L1, 16K
37c6d4d657SGrant Likely			timebase-frequency = <0>;	// from bootloader
38c6d4d657SGrant Likely			bus-frequency = <0>;		// from bootloader
39c6d4d657SGrant Likely			clock-frequency = <0>;		// from bootloader
40c6d4d657SGrant Likely		};
41c6d4d657SGrant Likely	};
42c6d4d657SGrant Likely
43c6d4d657SGrant Likely	memory {
44c6d4d657SGrant Likely		device_type = "memory";
45c6d4d657SGrant Likely		reg = <00000000 10000000>;	// 256MB
46c6d4d657SGrant Likely	};
47c6d4d657SGrant Likely
48c6d4d657SGrant Likely	soc5200@f0000000 {
4905cbbc69SGrant Likely		model = "fsl,mpc5200b";
500d0f4bc7SDomen Puncer		compatible = "mpc5200";
5105cbbc69SGrant Likely		revision = "";			// from bootloader
52c6d4d657SGrant Likely		device_type = "soc";
53f0c8ac80SKumar Gala		ranges = <0 f0000000 0000c000>;
54f0c8ac80SKumar Gala		reg = <f0000000 00000100>;
55c6d4d657SGrant Likely		bus-frequency = <0>;		// from bootloader
5605cbbc69SGrant Likely		system-frequency = <0>;		// from bootloader
57c6d4d657SGrant Likely
58c6d4d657SGrant Likely		cdm@200 {
59dcccb37eSGrant Likely			compatible = "mpc5200b-cdm","mpc5200-cdm";
60c6d4d657SGrant Likely			reg = <200 38>;
61c6d4d657SGrant Likely		};
62c6d4d657SGrant Likely
635c1992f8SKumar Gala		mpc5200_pic: pic@500 {
64c6d4d657SGrant Likely			// 5200 interrupts are encoded into two levels;
65c6d4d657SGrant Likely			interrupt-controller;
66c6d4d657SGrant Likely			#interrupt-cells = <3>;
67c6d4d657SGrant Likely			device_type = "interrupt-controller";
68dcccb37eSGrant Likely			compatible = "mpc5200b-pic","mpc5200-pic";
69c6d4d657SGrant Likely			reg = <500 80>;
70c6d4d657SGrant Likely		};
71c6d4d657SGrant Likely
72c6d4d657SGrant Likely		gpt@600 {	// General Purpose Timer
73dcccb37eSGrant Likely			compatible = "mpc5200b-gpt","mpc5200-gpt";
74c6d4d657SGrant Likely			device_type = "gpt";
7505cbbc69SGrant Likely			cell-index = <0>;
76c6d4d657SGrant Likely			reg = <600 10>;
77c6d4d657SGrant Likely			interrupts = <1 9 0>;
785c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
7905cbbc69SGrant Likely			has-wdt;
80c6d4d657SGrant Likely		};
81c6d4d657SGrant Likely
82c6d4d657SGrant Likely		gpt@610 {	// General Purpose Timer
83dcccb37eSGrant Likely			compatible = "mpc5200b-gpt","mpc5200-gpt";
84c6d4d657SGrant Likely			device_type = "gpt";
8505cbbc69SGrant Likely			cell-index = <1>;
86c6d4d657SGrant Likely			reg = <610 10>;
87c6d4d657SGrant Likely			interrupts = <1 a 0>;
885c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
89c6d4d657SGrant Likely		};
90c6d4d657SGrant Likely
91c6d4d657SGrant Likely		gpt@620 {	// General Purpose Timer
92dcccb37eSGrant Likely			compatible = "mpc5200b-gpt","mpc5200-gpt";
93c6d4d657SGrant Likely			device_type = "gpt";
9405cbbc69SGrant Likely			cell-index = <2>;
95c6d4d657SGrant Likely			reg = <620 10>;
96c6d4d657SGrant Likely			interrupts = <1 b 0>;
975c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
98c6d4d657SGrant Likely		};
99c6d4d657SGrant Likely
100c6d4d657SGrant Likely		gpt@630 {	// General Purpose Timer
101dcccb37eSGrant Likely			compatible = "mpc5200b-gpt","mpc5200-gpt";
102c6d4d657SGrant Likely			device_type = "gpt";
10305cbbc69SGrant Likely			cell-index = <3>;
104c6d4d657SGrant Likely			reg = <630 10>;
105c6d4d657SGrant Likely			interrupts = <1 c 0>;
1065c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
107c6d4d657SGrant Likely		};
108c6d4d657SGrant Likely
109c6d4d657SGrant Likely		gpt@640 {	// General Purpose Timer
110dcccb37eSGrant Likely			compatible = "mpc5200b-gpt","mpc5200-gpt";
111c6d4d657SGrant Likely			device_type = "gpt";
11205cbbc69SGrant Likely			cell-index = <4>;
113c6d4d657SGrant Likely			reg = <640 10>;
114c6d4d657SGrant Likely			interrupts = <1 d 0>;
1155c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
116c6d4d657SGrant Likely		};
117c6d4d657SGrant Likely
118c6d4d657SGrant Likely		gpt@650 {	// General Purpose Timer
119dcccb37eSGrant Likely			compatible = "mpc5200b-gpt","mpc5200-gpt";
120c6d4d657SGrant Likely			device_type = "gpt";
12105cbbc69SGrant Likely			cell-index = <5>;
122c6d4d657SGrant Likely			reg = <650 10>;
123c6d4d657SGrant Likely			interrupts = <1 e 0>;
1245c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
125c6d4d657SGrant Likely		};
126c6d4d657SGrant Likely
127c6d4d657SGrant Likely		gpt@660 {	// General Purpose Timer
128dcccb37eSGrant Likely			compatible = "mpc5200b-gpt","mpc5200-gpt";
129c6d4d657SGrant Likely			device_type = "gpt";
13005cbbc69SGrant Likely			cell-index = <6>;
131c6d4d657SGrant Likely			reg = <660 10>;
132c6d4d657SGrant Likely			interrupts = <1 f 0>;
1335c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
134c6d4d657SGrant Likely		};
135c6d4d657SGrant Likely
136c6d4d657SGrant Likely		gpt@670 {	// General Purpose Timer
137dcccb37eSGrant Likely			compatible = "mpc5200b-gpt","mpc5200-gpt";
138c6d4d657SGrant Likely			device_type = "gpt";
13905cbbc69SGrant Likely			cell-index = <7>;
140c6d4d657SGrant Likely			reg = <670 10>;
141c6d4d657SGrant Likely			interrupts = <1 10 0>;
1425c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
143c6d4d657SGrant Likely		};
144c6d4d657SGrant Likely
145c6d4d657SGrant Likely		rtc@800 {	// Real time clock
146dcccb37eSGrant Likely			compatible = "mpc5200b-rtc","mpc5200-rtc";
147c6d4d657SGrant Likely			device_type = "rtc";
148c6d4d657SGrant Likely			reg = <800 100>;
149c6d4d657SGrant Likely			interrupts = <1 5 0 1 6 0>;
1505c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
151c6d4d657SGrant Likely		};
152c6d4d657SGrant Likely
153c6d4d657SGrant Likely		mscan@900 {
154c6d4d657SGrant Likely			device_type = "mscan";
155dcccb37eSGrant Likely			compatible = "mpc5200b-mscan","mpc5200-mscan";
15605cbbc69SGrant Likely			cell-index = <0>;
157c6d4d657SGrant Likely			interrupts = <2 11 0>;
1585c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
159c6d4d657SGrant Likely			reg = <900 80>;
160c6d4d657SGrant Likely		};
161c6d4d657SGrant Likely
162c6d4d657SGrant Likely		mscan@980 {
163c6d4d657SGrant Likely			device_type = "mscan";
164dcccb37eSGrant Likely			compatible = "mpc5200b-mscan","mpc5200-mscan";
16505cbbc69SGrant Likely			cell-index = <1>;
1660d0f4bc7SDomen Puncer			interrupts = <2 12 0>;
1675c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
168c6d4d657SGrant Likely			reg = <980 80>;
169c6d4d657SGrant Likely		};
170c6d4d657SGrant Likely
171c6d4d657SGrant Likely		gpio@b00 {
172dcccb37eSGrant Likely			compatible = "mpc5200b-gpio","mpc5200-gpio";
173c6d4d657SGrant Likely			reg = <b00 40>;
174c6d4d657SGrant Likely			interrupts = <1 7 0>;
1755c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
176c6d4d657SGrant Likely		};
177c6d4d657SGrant Likely
1780d0f4bc7SDomen Puncer		gpio-wkup@c00 {
179dcccb37eSGrant Likely			compatible = "mpc5200b-gpio-wkup","mpc5200-gpio-wkup";
180c6d4d657SGrant Likely			reg = <c00 40>;
181c6d4d657SGrant Likely			interrupts = <1 8 0 0 3 0>;
1825c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
183c6d4d657SGrant Likely		};
184c6d4d657SGrant Likely
185c6d4d657SGrant Likely		spi@f00 {
186c6d4d657SGrant Likely			device_type = "spi";
187dcccb37eSGrant Likely			compatible = "mpc5200b-spi","mpc5200-spi";
188c6d4d657SGrant Likely			reg = <f00 20>;
189c6d4d657SGrant Likely			interrupts = <2 d 0 2 e 0>;
1905c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
191c6d4d657SGrant Likely		};
192c6d4d657SGrant Likely
193c6d4d657SGrant Likely		usb@1000 {
194c6d4d657SGrant Likely			device_type = "usb-ohci-be";
195dcccb37eSGrant Likely			compatible = "mpc5200b-ohci","mpc5200-ohci","ohci-be";
196c6d4d657SGrant Likely			reg = <1000 ff>;
197c6d4d657SGrant Likely			interrupts = <2 6 0>;
1985c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
199c6d4d657SGrant Likely		};
200c6d4d657SGrant Likely
201c6d4d657SGrant Likely		bestcomm@1200 {
202c6d4d657SGrant Likely			device_type = "dma-controller";
203dcccb37eSGrant Likely			compatible = "mpc5200b-bestcomm","mpc5200-bestcomm";
204c6d4d657SGrant Likely			reg = <1200 80>;
205c6d4d657SGrant Likely			interrupts = <3 0 0  3 1 0  3 2 0  3 3 0
206c6d4d657SGrant Likely			              3 4 0  3 5 0  3 6 0  3 7 0
207c6d4d657SGrant Likely			              3 8 0  3 9 0  3 a 0  3 b 0
208c6d4d657SGrant Likely			              3 c 0  3 d 0  3 e 0  3 f 0>;
2095c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
210c6d4d657SGrant Likely		};
211c6d4d657SGrant Likely
212c6d4d657SGrant Likely		xlb@1f00 {
213dcccb37eSGrant Likely			compatible = "mpc5200b-xlb","mpc5200-xlb";
214c6d4d657SGrant Likely			reg = <1f00 100>;
215c6d4d657SGrant Likely		};
216c6d4d657SGrant Likely
217c6d4d657SGrant Likely		serial@2000 {		// PSC1
218c6d4d657SGrant Likely			device_type = "serial";
219dcccb37eSGrant Likely			compatible = "mpc5200b-psc-uart","mpc5200-psc-uart";
220c6d4d657SGrant Likely			port-number = <0>;  // Logical port assignment
22105cbbc69SGrant Likely			cell-index = <0>;
222c6d4d657SGrant Likely			reg = <2000 100>;
223c6d4d657SGrant Likely			interrupts = <2 1 0>;
2245c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
225c6d4d657SGrant Likely		};
226c6d4d657SGrant Likely
22705cbbc69SGrant Likely		// PSC2 in ac97 mode example
22805cbbc69SGrant Likely		//ac97@2200 {		// PSC2
22905cbbc69SGrant Likely		//	device_type = "sound";
230dcccb37eSGrant Likely		//	compatible = "mpc5200b-psc-ac97","mpc5200-psc-ac97";
23105cbbc69SGrant Likely		//	cell-index = <1>;
23205cbbc69SGrant Likely		//	reg = <2200 100>;
23305cbbc69SGrant Likely		//	interrupts = <2 2 0>;
2345c1992f8SKumar Gala		//	interrupt-parent = <&mpc5200_pic>;
23505cbbc69SGrant Likely		//};
236c6d4d657SGrant Likely
237c6d4d657SGrant Likely		// PSC3 in CODEC mode example
23805cbbc69SGrant Likely		//i2s@2400 {		// PSC3
23905cbbc69SGrant Likely		//	device_type = "sound";
24005cbbc69SGrant Likely		//	compatible = "mpc5200b-psc-i2s"; //not 5200 compatible
24105cbbc69SGrant Likely		//	cell-index = <2>;
24205cbbc69SGrant Likely		//	reg = <2400 100>;
24305cbbc69SGrant Likely		//	interrupts = <2 3 0>;
2445c1992f8SKumar Gala		//	interrupt-parent = <&mpc5200_pic>;
24505cbbc69SGrant Likely		//};
246c6d4d657SGrant Likely
24705cbbc69SGrant Likely		// PSC4 in uart mode example
248c6d4d657SGrant Likely		//serial@2600 {		// PSC4
249c6d4d657SGrant Likely		//	device_type = "serial";
250dcccb37eSGrant Likely		//	compatible = "mpc5200b-psc-uart","mpc5200-psc-uart";
25105cbbc69SGrant Likely		//	cell-index = <3>;
252c6d4d657SGrant Likely		//	reg = <2600 100>;
253c6d4d657SGrant Likely		//	interrupts = <2 b 0>;
2545c1992f8SKumar Gala		//	interrupt-parent = <&mpc5200_pic>;
255c6d4d657SGrant Likely		//};
256c6d4d657SGrant Likely
25705cbbc69SGrant Likely		// PSC5 in uart mode example
258c6d4d657SGrant Likely		//serial@2800 {		// PSC5
259c6d4d657SGrant Likely		//	device_type = "serial";
260dcccb37eSGrant Likely		//	compatible = "mpc5200b-psc-uart","mpc5200-psc-uart";
26105cbbc69SGrant Likely		//	cell-index = <4>;
262c6d4d657SGrant Likely		//	reg = <2800 100>;
263c6d4d657SGrant Likely		//	interrupts = <2 c 0>;
2645c1992f8SKumar Gala		//	interrupt-parent = <&mpc5200_pic>;
265c6d4d657SGrant Likely		//};
266c6d4d657SGrant Likely
26705cbbc69SGrant Likely		// PSC6 in spi mode example
26805cbbc69SGrant Likely		//spi@2c00 {		// PSC6
26905cbbc69SGrant Likely		//	device_type = "spi";
270dcccb37eSGrant Likely		//	compatible = "mpc5200b-psc-spi","mpc5200-psc-spi";
27105cbbc69SGrant Likely		//	cell-index = <5>;
27205cbbc69SGrant Likely		//	reg = <2c00 100>;
27305cbbc69SGrant Likely		//	interrupts = <2 4 0>;
2745c1992f8SKumar Gala		//	interrupt-parent = <&mpc5200_pic>;
27505cbbc69SGrant Likely		//};
276c6d4d657SGrant Likely
277c6d4d657SGrant Likely		ethernet@3000 {
278c6d4d657SGrant Likely			device_type = "network";
279dcccb37eSGrant Likely			compatible = "mpc5200b-fec","mpc5200-fec";
280b147d93dSDomen Puncer			reg = <3000 400>;
281c6d4d657SGrant Likely			mac-address = [ 02 03 04 05 06 07 ]; // Bad!
282c6d4d657SGrant Likely			interrupts = <2 5 0>;
2835c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
284b147d93dSDomen Puncer			phy-handle = <&phy0>;
285b147d93dSDomen Puncer		};
286b147d93dSDomen Puncer
287b147d93dSDomen Puncer		mdio@3000 {
288b147d93dSDomen Puncer			#address-cells = <1>;
289b147d93dSDomen Puncer			#size-cells = <0>;
290b147d93dSDomen Puncer			device_type = "mdio";
291b147d93dSDomen Puncer			compatible = "mpc5200b-fec-phy";
292b147d93dSDomen Puncer			reg = <3000 400>;	// fec range, since we need to setup fec interrupts
293b147d93dSDomen Puncer			interrupts = <2 5 0>;	// these are for "mii command finished", not link changes & co.
294b147d93dSDomen Puncer			interrupt-parent = <&mpc5200_pic>;
295b147d93dSDomen Puncer
296b147d93dSDomen Puncer			phy0:ethernet-phy@0 {
297b147d93dSDomen Puncer				device_type = "ethernet-phy";
298b147d93dSDomen Puncer				reg = <0>;
299b147d93dSDomen Puncer			};
300c6d4d657SGrant Likely		};
301c6d4d657SGrant Likely
302c6d4d657SGrant Likely		ata@3a00 {
303c6d4d657SGrant Likely			device_type = "ata";
304dcccb37eSGrant Likely			compatible = "mpc5200b-ata","mpc5200-ata";
305c6d4d657SGrant Likely			reg = <3a00 100>;
306c6d4d657SGrant Likely			interrupts = <2 7 0>;
3075c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
308c6d4d657SGrant Likely		};
309c6d4d657SGrant Likely
310c6d4d657SGrant Likely		i2c@3d00 {
311c6d4d657SGrant Likely			device_type = "i2c";
312dcccb37eSGrant Likely			compatible = "mpc5200b-i2c","mpc5200-i2c","fsl-i2c";
31305cbbc69SGrant Likely			cell-index = <0>;
314c6d4d657SGrant Likely			reg = <3d00 40>;
315c6d4d657SGrant Likely			interrupts = <2 f 0>;
3165c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
3175cae84c9SDomen Puncer			fsl5200-clocking;
318c6d4d657SGrant Likely		};
319c6d4d657SGrant Likely
320c6d4d657SGrant Likely		i2c@3d40 {
321c6d4d657SGrant Likely			device_type = "i2c";
322dcccb37eSGrant Likely			compatible = "mpc5200b-i2c","mpc5200-i2c","fsl-i2c";
32305cbbc69SGrant Likely			cell-index = <1>;
324c6d4d657SGrant Likely			reg = <3d40 40>;
325c6d4d657SGrant Likely			interrupts = <2 10 0>;
3265c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
3275cae84c9SDomen Puncer			fsl5200-clocking;
328c6d4d657SGrant Likely		};
329c6d4d657SGrant Likely		sram@8000 {
330c6d4d657SGrant Likely			device_type = "sram";
331dcccb37eSGrant Likely			compatible = "mpc5200b-sram","mpc5200-sram","sram";
332c6d4d657SGrant Likely			reg = <8000 4000>;
333c6d4d657SGrant Likely		};
334c6d4d657SGrant Likely	};
3351b3c5cdaSKumar Gala
3361b3c5cdaSKumar Gala	pci@f0000d00 {
3371b3c5cdaSKumar Gala		#interrupt-cells = <1>;
3381b3c5cdaSKumar Gala		#size-cells = <2>;
3391b3c5cdaSKumar Gala		#address-cells = <3>;
3401b3c5cdaSKumar Gala		device_type = "pci";
341dcccb37eSGrant Likely		compatible = "mpc5200b-pci","mpc5200-pci";
3421b3c5cdaSKumar Gala		reg = <f0000d00 100>;
3431b3c5cdaSKumar Gala		interrupt-map-mask = <f800 0 0 7>;
3441b3c5cdaSKumar Gala		interrupt-map = <c000 0 0 1 &mpc5200_pic 0 0 3 // 1st slot
3451b3c5cdaSKumar Gala				 c000 0 0 2 &mpc5200_pic 1 1 3
3461b3c5cdaSKumar Gala				 c000 0 0 3 &mpc5200_pic 1 2 3
3471b3c5cdaSKumar Gala				 c000 0 0 4 &mpc5200_pic 1 3 3
3481b3c5cdaSKumar Gala
3491b3c5cdaSKumar Gala				 c800 0 0 1 &mpc5200_pic 1 1 3 // 2nd slot
3501b3c5cdaSKumar Gala				 c800 0 0 2 &mpc5200_pic 1 2 3
3511b3c5cdaSKumar Gala				 c800 0 0 3 &mpc5200_pic 1 3 3
3521b3c5cdaSKumar Gala				 c800 0 0 4 &mpc5200_pic 0 0 3>;
3531b3c5cdaSKumar Gala		clock-frequency = <0>; // From boot loader
3541b3c5cdaSKumar Gala		interrupts = <2 8 0 2 9 0 2 a 0>;
3551b3c5cdaSKumar Gala		interrupt-parent = <&mpc5200_pic>;
3561b3c5cdaSKumar Gala		bus-range = <0 0>;
3571b3c5cdaSKumar Gala		ranges = <42000000 0 80000000 80000000 0 20000000
3581b3c5cdaSKumar Gala			  02000000 0 a0000000 a0000000 0 10000000
3591b3c5cdaSKumar Gala			  01000000 0 00000000 b0000000 0 01000000>;
3601b3c5cdaSKumar Gala	};
361c6d4d657SGrant Likely};
362