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
73d24bc314SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
7405cbbc69SGrant Likely			cell-index = <0>;
75c6d4d657SGrant Likely			reg = <600 10>;
76c6d4d657SGrant Likely			interrupts = <1 9 0>;
775c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
78d24bc314SMarian Balakowicz			fsl,has-wdt;
79c6d4d657SGrant Likely		};
80c6d4d657SGrant Likely
81c6d4d657SGrant Likely		gpt@610 {	// General Purpose Timer
82d24bc314SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
8305cbbc69SGrant Likely			cell-index = <1>;
84c6d4d657SGrant Likely			reg = <610 10>;
85c6d4d657SGrant Likely			interrupts = <1 a 0>;
865c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
87c6d4d657SGrant Likely		};
88c6d4d657SGrant Likely
89c6d4d657SGrant Likely		gpt@620 {	// General Purpose Timer
90d24bc314SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
9105cbbc69SGrant Likely			cell-index = <2>;
92c6d4d657SGrant Likely			reg = <620 10>;
93c6d4d657SGrant Likely			interrupts = <1 b 0>;
945c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
95c6d4d657SGrant Likely		};
96c6d4d657SGrant Likely
97c6d4d657SGrant Likely		gpt@630 {	// General Purpose Timer
98d24bc314SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
9905cbbc69SGrant Likely			cell-index = <3>;
100c6d4d657SGrant Likely			reg = <630 10>;
101c6d4d657SGrant Likely			interrupts = <1 c 0>;
1025c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
103c6d4d657SGrant Likely		};
104c6d4d657SGrant Likely
105c6d4d657SGrant Likely		gpt@640 {	// General Purpose Timer
106d24bc314SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
10705cbbc69SGrant Likely			cell-index = <4>;
108c6d4d657SGrant Likely			reg = <640 10>;
109c6d4d657SGrant Likely			interrupts = <1 d 0>;
1105c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
111c6d4d657SGrant Likely		};
112c6d4d657SGrant Likely
113c6d4d657SGrant Likely		gpt@650 {	// General Purpose Timer
114d24bc314SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
11505cbbc69SGrant Likely			cell-index = <5>;
116c6d4d657SGrant Likely			reg = <650 10>;
117c6d4d657SGrant Likely			interrupts = <1 e 0>;
1185c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
119c6d4d657SGrant Likely		};
120c6d4d657SGrant Likely
121c6d4d657SGrant Likely		gpt@660 {	// General Purpose Timer
122d24bc314SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
12305cbbc69SGrant Likely			cell-index = <6>;
124c6d4d657SGrant Likely			reg = <660 10>;
125c6d4d657SGrant Likely			interrupts = <1 f 0>;
1265c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
127c6d4d657SGrant Likely		};
128c6d4d657SGrant Likely
129c6d4d657SGrant Likely		gpt@670 {	// General Purpose Timer
130d24bc314SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
13105cbbc69SGrant Likely			cell-index = <7>;
132c6d4d657SGrant Likely			reg = <670 10>;
133c6d4d657SGrant Likely			interrupts = <1 10 0>;
1345c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
135c6d4d657SGrant Likely		};
136c6d4d657SGrant Likely
137c6d4d657SGrant Likely		rtc@800 {	// Real time clock
138dcccb37eSGrant Likely			compatible = "mpc5200b-rtc","mpc5200-rtc";
139c6d4d657SGrant Likely			device_type = "rtc";
140c6d4d657SGrant Likely			reg = <800 100>;
141c6d4d657SGrant Likely			interrupts = <1 5 0 1 6 0>;
1425c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
143c6d4d657SGrant Likely		};
144c6d4d657SGrant Likely
145c6d4d657SGrant Likely		mscan@900 {
146c6d4d657SGrant Likely			device_type = "mscan";
147dcccb37eSGrant Likely			compatible = "mpc5200b-mscan","mpc5200-mscan";
14805cbbc69SGrant Likely			cell-index = <0>;
149c6d4d657SGrant Likely			interrupts = <2 11 0>;
1505c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
151c6d4d657SGrant Likely			reg = <900 80>;
152c6d4d657SGrant Likely		};
153c6d4d657SGrant Likely
154c6d4d657SGrant Likely		mscan@980 {
155c6d4d657SGrant Likely			device_type = "mscan";
156dcccb37eSGrant Likely			compatible = "mpc5200b-mscan","mpc5200-mscan";
15705cbbc69SGrant Likely			cell-index = <1>;
1580d0f4bc7SDomen Puncer			interrupts = <2 12 0>;
1595c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
160c6d4d657SGrant Likely			reg = <980 80>;
161c6d4d657SGrant Likely		};
162c6d4d657SGrant Likely
163c6d4d657SGrant Likely		gpio@b00 {
164dcccb37eSGrant Likely			compatible = "mpc5200b-gpio","mpc5200-gpio";
165c6d4d657SGrant Likely			reg = <b00 40>;
166c6d4d657SGrant Likely			interrupts = <1 7 0>;
1675c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
168c6d4d657SGrant Likely		};
169c6d4d657SGrant Likely
1700d0f4bc7SDomen Puncer		gpio-wkup@c00 {
171dcccb37eSGrant Likely			compatible = "mpc5200b-gpio-wkup","mpc5200-gpio-wkup";
172c6d4d657SGrant Likely			reg = <c00 40>;
173c6d4d657SGrant Likely			interrupts = <1 8 0 0 3 0>;
1745c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
175c6d4d657SGrant Likely		};
176c6d4d657SGrant Likely
177c6d4d657SGrant Likely		spi@f00 {
178c6d4d657SGrant Likely			device_type = "spi";
179dcccb37eSGrant Likely			compatible = "mpc5200b-spi","mpc5200-spi";
180c6d4d657SGrant Likely			reg = <f00 20>;
181c6d4d657SGrant Likely			interrupts = <2 d 0 2 e 0>;
1825c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
183c6d4d657SGrant Likely		};
184c6d4d657SGrant Likely
185c6d4d657SGrant Likely		usb@1000 {
186c6d4d657SGrant Likely			device_type = "usb-ohci-be";
187dcccb37eSGrant Likely			compatible = "mpc5200b-ohci","mpc5200-ohci","ohci-be";
188c6d4d657SGrant Likely			reg = <1000 ff>;
189c6d4d657SGrant Likely			interrupts = <2 6 0>;
1905c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
191c6d4d657SGrant Likely		};
192c6d4d657SGrant Likely
193c6d4d657SGrant Likely		bestcomm@1200 {
194c6d4d657SGrant Likely			device_type = "dma-controller";
195dcccb37eSGrant Likely			compatible = "mpc5200b-bestcomm","mpc5200-bestcomm";
196c6d4d657SGrant Likely			reg = <1200 80>;
197c6d4d657SGrant Likely			interrupts = <3 0 0  3 1 0  3 2 0  3 3 0
198c6d4d657SGrant Likely			              3 4 0  3 5 0  3 6 0  3 7 0
199c6d4d657SGrant Likely			              3 8 0  3 9 0  3 a 0  3 b 0
200c6d4d657SGrant Likely			              3 c 0  3 d 0  3 e 0  3 f 0>;
2015c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
202c6d4d657SGrant Likely		};
203c6d4d657SGrant Likely
204c6d4d657SGrant Likely		xlb@1f00 {
205dcccb37eSGrant Likely			compatible = "mpc5200b-xlb","mpc5200-xlb";
206c6d4d657SGrant Likely			reg = <1f00 100>;
207c6d4d657SGrant Likely		};
208c6d4d657SGrant Likely
209c6d4d657SGrant Likely		serial@2000 {		// PSC1
210c6d4d657SGrant Likely			device_type = "serial";
211dcccb37eSGrant Likely			compatible = "mpc5200b-psc-uart","mpc5200-psc-uart";
212c6d4d657SGrant Likely			port-number = <0>;  // Logical port assignment
21305cbbc69SGrant Likely			cell-index = <0>;
214c6d4d657SGrant Likely			reg = <2000 100>;
215c6d4d657SGrant Likely			interrupts = <2 1 0>;
2165c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
217c6d4d657SGrant Likely		};
218c6d4d657SGrant Likely
21905cbbc69SGrant Likely		// PSC2 in ac97 mode example
22005cbbc69SGrant Likely		//ac97@2200 {		// PSC2
22105cbbc69SGrant Likely		//	device_type = "sound";
222dcccb37eSGrant Likely		//	compatible = "mpc5200b-psc-ac97","mpc5200-psc-ac97";
22305cbbc69SGrant Likely		//	cell-index = <1>;
22405cbbc69SGrant Likely		//	reg = <2200 100>;
22505cbbc69SGrant Likely		//	interrupts = <2 2 0>;
2265c1992f8SKumar Gala		//	interrupt-parent = <&mpc5200_pic>;
22705cbbc69SGrant Likely		//};
228c6d4d657SGrant Likely
229c6d4d657SGrant Likely		// PSC3 in CODEC mode example
23005cbbc69SGrant Likely		//i2s@2400 {		// PSC3
23105cbbc69SGrant Likely		//	device_type = "sound";
23205cbbc69SGrant Likely		//	compatible = "mpc5200b-psc-i2s"; //not 5200 compatible
23305cbbc69SGrant Likely		//	cell-index = <2>;
23405cbbc69SGrant Likely		//	reg = <2400 100>;
23505cbbc69SGrant Likely		//	interrupts = <2 3 0>;
2365c1992f8SKumar Gala		//	interrupt-parent = <&mpc5200_pic>;
23705cbbc69SGrant Likely		//};
238c6d4d657SGrant Likely
23905cbbc69SGrant Likely		// PSC4 in uart mode example
240c6d4d657SGrant Likely		//serial@2600 {		// PSC4
241c6d4d657SGrant Likely		//	device_type = "serial";
242dcccb37eSGrant Likely		//	compatible = "mpc5200b-psc-uart","mpc5200-psc-uart";
24305cbbc69SGrant Likely		//	cell-index = <3>;
244c6d4d657SGrant Likely		//	reg = <2600 100>;
245c6d4d657SGrant Likely		//	interrupts = <2 b 0>;
2465c1992f8SKumar Gala		//	interrupt-parent = <&mpc5200_pic>;
247c6d4d657SGrant Likely		//};
248c6d4d657SGrant Likely
24905cbbc69SGrant Likely		// PSC5 in uart mode example
250c6d4d657SGrant Likely		//serial@2800 {		// PSC5
251c6d4d657SGrant Likely		//	device_type = "serial";
252dcccb37eSGrant Likely		//	compatible = "mpc5200b-psc-uart","mpc5200-psc-uart";
25305cbbc69SGrant Likely		//	cell-index = <4>;
254c6d4d657SGrant Likely		//	reg = <2800 100>;
255c6d4d657SGrant Likely		//	interrupts = <2 c 0>;
2565c1992f8SKumar Gala		//	interrupt-parent = <&mpc5200_pic>;
257c6d4d657SGrant Likely		//};
258c6d4d657SGrant Likely
25905cbbc69SGrant Likely		// PSC6 in spi mode example
26005cbbc69SGrant Likely		//spi@2c00 {		// PSC6
26105cbbc69SGrant Likely		//	device_type = "spi";
262dcccb37eSGrant Likely		//	compatible = "mpc5200b-psc-spi","mpc5200-psc-spi";
26305cbbc69SGrant Likely		//	cell-index = <5>;
26405cbbc69SGrant Likely		//	reg = <2c00 100>;
26505cbbc69SGrant Likely		//	interrupts = <2 4 0>;
2665c1992f8SKumar Gala		//	interrupt-parent = <&mpc5200_pic>;
26705cbbc69SGrant Likely		//};
268c6d4d657SGrant Likely
269c6d4d657SGrant Likely		ethernet@3000 {
270c6d4d657SGrant Likely			device_type = "network";
271dcccb37eSGrant Likely			compatible = "mpc5200b-fec","mpc5200-fec";
272b147d93dSDomen Puncer			reg = <3000 400>;
273c6d4d657SGrant Likely			mac-address = [ 02 03 04 05 06 07 ]; // Bad!
274c6d4d657SGrant Likely			interrupts = <2 5 0>;
2755c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
276b147d93dSDomen Puncer			phy-handle = <&phy0>;
277b147d93dSDomen Puncer		};
278b147d93dSDomen Puncer
279b147d93dSDomen Puncer		mdio@3000 {
280b147d93dSDomen Puncer			#address-cells = <1>;
281b147d93dSDomen Puncer			#size-cells = <0>;
282b147d93dSDomen Puncer			device_type = "mdio";
283b147d93dSDomen Puncer			compatible = "mpc5200b-fec-phy";
284b147d93dSDomen Puncer			reg = <3000 400>;	// fec range, since we need to setup fec interrupts
285b147d93dSDomen Puncer			interrupts = <2 5 0>;	// these are for "mii command finished", not link changes & co.
286b147d93dSDomen Puncer			interrupt-parent = <&mpc5200_pic>;
287b147d93dSDomen Puncer
288b147d93dSDomen Puncer			phy0:ethernet-phy@0 {
289b147d93dSDomen Puncer				device_type = "ethernet-phy";
290b147d93dSDomen Puncer				reg = <0>;
291b147d93dSDomen Puncer			};
292c6d4d657SGrant Likely		};
293c6d4d657SGrant Likely
294c6d4d657SGrant Likely		ata@3a00 {
295c6d4d657SGrant Likely			device_type = "ata";
296dcccb37eSGrant Likely			compatible = "mpc5200b-ata","mpc5200-ata";
297c6d4d657SGrant Likely			reg = <3a00 100>;
298c6d4d657SGrant Likely			interrupts = <2 7 0>;
2995c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
300c6d4d657SGrant Likely		};
301c6d4d657SGrant Likely
302c6d4d657SGrant Likely		i2c@3d00 {
303c6d4d657SGrant Likely			device_type = "i2c";
304dcccb37eSGrant Likely			compatible = "mpc5200b-i2c","mpc5200-i2c","fsl-i2c";
30505cbbc69SGrant Likely			cell-index = <0>;
306c6d4d657SGrant Likely			reg = <3d00 40>;
307c6d4d657SGrant Likely			interrupts = <2 f 0>;
3085c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
3095cae84c9SDomen Puncer			fsl5200-clocking;
310c6d4d657SGrant Likely		};
311c6d4d657SGrant Likely
312c6d4d657SGrant Likely		i2c@3d40 {
313c6d4d657SGrant Likely			device_type = "i2c";
314dcccb37eSGrant Likely			compatible = "mpc5200b-i2c","mpc5200-i2c","fsl-i2c";
31505cbbc69SGrant Likely			cell-index = <1>;
316c6d4d657SGrant Likely			reg = <3d40 40>;
317c6d4d657SGrant Likely			interrupts = <2 10 0>;
3185c1992f8SKumar Gala			interrupt-parent = <&mpc5200_pic>;
3195cae84c9SDomen Puncer			fsl5200-clocking;
320c6d4d657SGrant Likely		};
321c6d4d657SGrant Likely		sram@8000 {
322c6d4d657SGrant Likely			device_type = "sram";
323dcccb37eSGrant Likely			compatible = "mpc5200b-sram","mpc5200-sram","sram";
324c6d4d657SGrant Likely			reg = <8000 4000>;
325c6d4d657SGrant Likely		};
326c6d4d657SGrant Likely	};
3271b3c5cdaSKumar Gala
3281b3c5cdaSKumar Gala	pci@f0000d00 {
3291b3c5cdaSKumar Gala		#interrupt-cells = <1>;
3301b3c5cdaSKumar Gala		#size-cells = <2>;
3311b3c5cdaSKumar Gala		#address-cells = <3>;
3321b3c5cdaSKumar Gala		device_type = "pci";
333dcccb37eSGrant Likely		compatible = "mpc5200b-pci","mpc5200-pci";
3341b3c5cdaSKumar Gala		reg = <f0000d00 100>;
3351b3c5cdaSKumar Gala		interrupt-map-mask = <f800 0 0 7>;
3361b3c5cdaSKumar Gala		interrupt-map = <c000 0 0 1 &mpc5200_pic 0 0 3 // 1st slot
3371b3c5cdaSKumar Gala				 c000 0 0 2 &mpc5200_pic 1 1 3
3381b3c5cdaSKumar Gala				 c000 0 0 3 &mpc5200_pic 1 2 3
3391b3c5cdaSKumar Gala				 c000 0 0 4 &mpc5200_pic 1 3 3
3401b3c5cdaSKumar Gala
3411b3c5cdaSKumar Gala				 c800 0 0 1 &mpc5200_pic 1 1 3 // 2nd slot
3421b3c5cdaSKumar Gala				 c800 0 0 2 &mpc5200_pic 1 2 3
3431b3c5cdaSKumar Gala				 c800 0 0 3 &mpc5200_pic 1 3 3
3441b3c5cdaSKumar Gala				 c800 0 0 4 &mpc5200_pic 0 0 3>;
3451b3c5cdaSKumar Gala		clock-frequency = <0>; // From boot loader
3461b3c5cdaSKumar Gala		interrupts = <2 8 0 2 9 0 2 a 0>;
3471b3c5cdaSKumar Gala		interrupt-parent = <&mpc5200_pic>;
3481b3c5cdaSKumar Gala		bus-range = <0 0>;
3491b3c5cdaSKumar Gala		ranges = <42000000 0 80000000 80000000 0 20000000
3501b3c5cdaSKumar Gala			  02000000 0 a0000000 a0000000 0 10000000
3511b3c5cdaSKumar Gala			  01000000 0 00000000 b0000000 0 01000000>;
3521b3c5cdaSKumar Gala	};
353c6d4d657SGrant Likely};
354