1/*
2 * MPC885 ADS Device Tree Source
3 *
4 * Copyright 2006 MontaVista Software, Inc.
5 * Copyright 2007,2008 Freescale Semiconductor, Inc.
6 *
7 * This program is free software; you can redistribute  it and/or modify it
8 * under  the terms of  the GNU General  Public License as published by the
9 * Free Software Foundation;  either version 2 of the  License, or (at your
10 * option) any later version.
11 */
12
13/dts-v1/;
14
15/ {
16	model = "MPC885ADS";
17	compatible = "fsl,mpc885ads";
18	#address-cells = <1>;
19	#size-cells = <1>;
20
21	cpus {
22		#address-cells = <1>;
23		#size-cells = <0>;
24
25		PowerPC,885@0 {
26			device_type = "cpu";
27			reg = <0x0>;
28			d-cache-line-size = <16>;
29			i-cache-line-size = <16>;
30			d-cache-size = <8192>;
31			i-cache-size = <8192>;
32			timebase-frequency = <0>;
33			bus-frequency = <0>;
34			clock-frequency = <0>;
35			interrupts = <15 2>;	// decrementer interrupt
36			interrupt-parent = <&PIC>;
37		};
38	};
39
40	memory {
41		device_type = "memory";
42		reg = <0x0 0x0>;
43	};
44
45	localbus@ff000100 {
46		compatible = "fsl,mpc885-localbus", "fsl,pq1-localbus";
47		#address-cells = <2>;
48		#size-cells = <1>;
49		reg = <0xff000100 0x40>;
50
51		ranges = <
52			0x0 0x0 0xfe000000 0x800000
53			0x1 0x0 0xff080000 0x8000
54			0x5 0x0 0xff0a0000 0x8000
55		>;
56
57		flash@0,0 {
58			compatible = "jedec-flash";
59			reg = <0x0 0x0 0x800000>;
60			bank-width = <4>;
61			device-width = <1>;
62		};
63
64		board-control@1,0 {
65			reg = <0x1 0x0 0x20 0x5 0x300 0x4>;
66			compatible = "fsl,mpc885ads-bcsr";
67		};
68	};
69
70	soc@ff000000 {
71		compatible = "fsl,mpc885", "fsl,pq1-soc";
72		#address-cells = <1>;
73		#size-cells = <1>;
74		device_type = "soc";
75		ranges = <0x0 0xff000000 0x4000>;
76		bus-frequency = <0>;
77
78		// Temporary -- will go away once kernel uses ranges for get_immrbase().
79		reg = <0xff000000 0x4000>;
80
81		mdio@e00 {
82			compatible = "fsl,mpc885-fec-mdio", "fsl,pq1-fec-mdio";
83			reg = <0xe00 0x188>;
84			#address-cells = <1>;
85			#size-cells = <0>;
86
87			PHY0: ethernet-phy@0 {
88				reg = <0x0>;
89				device_type = "ethernet-phy";
90			};
91
92			PHY1: ethernet-phy@1 {
93				reg = <0x1>;
94				device_type = "ethernet-phy";
95			};
96
97			PHY2: ethernet-phy@2 {
98				reg = <0x2>;
99				device_type = "ethernet-phy";
100			};
101		};
102
103		ethernet@e00 {
104			device_type = "network";
105			compatible = "fsl,mpc885-fec-enet",
106			             "fsl,pq1-fec-enet";
107			reg = <0xe00 0x188>;
108			local-mac-address = [ 00 00 00 00 00 00 ];
109			interrupts = <3 1>;
110			interrupt-parent = <&PIC>;
111			phy-handle = <&PHY0>;
112			linux,network-index = <0>;
113		};
114
115		ethernet@1e00 {
116			device_type = "network";
117			compatible = "fsl,mpc885-fec-enet",
118			             "fsl,pq1-fec-enet";
119			reg = <0x1e00 0x188>;
120			local-mac-address = [ 00 00 00 00 00 00 ];
121			interrupts = <7 1>;
122			interrupt-parent = <&PIC>;
123			phy-handle = <&PHY1>;
124			linux,network-index = <1>;
125		};
126
127		PIC: interrupt-controller@0 {
128			interrupt-controller;
129			#interrupt-cells = <2>;
130			reg = <0x0 0x24>;
131			compatible = "fsl,mpc885-pic", "fsl,pq1-pic";
132		};
133
134		pcmcia@80 {
135			#address-cells = <3>;
136			#interrupt-cells = <1>;
137			#size-cells = <2>;
138			compatible = "fsl,pq-pcmcia";
139			device_type = "pcmcia";
140			reg = <0x80 0x80>;
141			interrupt-parent = <&PIC>;
142			interrupts = <13 1>;
143		};
144
145		cpm@9c0 {
146			#address-cells = <1>;
147			#size-cells = <1>;
148			compatible = "fsl,mpc885-cpm", "fsl,cpm1";
149			command-proc = <0x9c0>;
150			interrupts = <0>;	// cpm error interrupt
151			interrupt-parent = <&CPM_PIC>;
152			reg = <0x9c0 0x40>;
153			ranges;
154
155			muram@2000 {
156				#address-cells = <1>;
157				#size-cells = <1>;
158				ranges = <0x0 0x2000 0x2000>;
159
160				data@0 {
161					compatible = "fsl,cpm-muram-data";
162					reg = <0x0 0x1c00>;
163				};
164			};
165
166			brg@9f0 {
167				compatible = "fsl,mpc885-brg",
168				             "fsl,cpm1-brg",
169				             "fsl,cpm-brg";
170				clock-frequency = <0>;
171				reg = <0x9f0 0x10>;
172			};
173
174			CPM_PIC: interrupt-controller@930 {
175				interrupt-controller;
176				#interrupt-cells = <1>;
177				interrupts = <5 2 0 2>;
178				interrupt-parent = <&PIC>;
179				reg = <0x930 0x20>;
180				compatible = "fsl,mpc885-cpm-pic",
181				             "fsl,cpm1-pic";
182			};
183
184			serial@a80 {
185				device_type = "serial";
186				compatible = "fsl,mpc885-smc-uart",
187				             "fsl,cpm1-smc-uart";
188				reg = <0xa80 0x10 0x3e80 0x40>;
189				interrupts = <4>;
190				interrupt-parent = <&CPM_PIC>;
191				fsl,cpm-brg = <1>;
192				fsl,cpm-command = <0x90>;
193			};
194
195			serial@a90 {
196				device_type = "serial";
197				compatible = "fsl,mpc885-smc-uart",
198				             "fsl,cpm1-smc-uart";
199				reg = <0xa90 0x10 0x3f80 0x40>;
200				interrupts = <3>;
201				interrupt-parent = <&CPM_PIC>;
202				fsl,cpm-brg = <2>;
203				fsl,cpm-command = <0xd0>;
204			};
205
206			ethernet@a40 {
207				device_type = "network";
208				compatible = "fsl,mpc885-scc-enet",
209				             "fsl,cpm1-scc-enet";
210				reg = <0xa40 0x18 0x3e00 0x100>;
211				local-mac-address = [ 00 00 00 00 00 00 ];
212				interrupts = <28>;
213				interrupt-parent = <&CPM_PIC>;
214				phy-handle = <&PHY2>;
215				fsl,cpm-command = <0x80>;
216				linux,network-index = <2>;
217			};
218
219			i2c@860 {
220				compatible = "fsl,mpc885-i2c",
221					     "fsl,cpm1-i2c";
222				reg = <0x860 0x20 0x3c80 0x30>;
223				interrupts = <16>;
224				interrupt-parent = <&CPM_PIC>;
225				fsl,cpm-command = <0x10>;
226				#address-cells = <1>;
227				#size-cells = <0>;
228			};
229		};
230	};
231
232	chosen {
233		linux,stdout-path = "/soc/cpm/serial@a80";
234	};
235};
236