1/*
2 * MPC885 ADS Device Tree Source
3 *
4 * Copyright 2006 MontaVista Software, Inc.
5 * Copyright 2007 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
14/ {
15	model = "MPC885ADS";
16	compatible = "fsl,mpc885ads";
17	#address-cells = <1>;
18	#size-cells = <1>;
19
20	cpus {
21		#address-cells = <1>;
22		#size-cells = <0>;
23
24		PowerPC,885@0 {
25			device_type = "cpu";
26			reg = <0>;
27			d-cache-line-size = <d#16>;
28			i-cache-line-size = <d#16>;
29			d-cache-size = <d#8192>;
30			i-cache-size = <d#8192>;
31			timebase-frequency = <0>;
32			bus-frequency = <0>;
33			clock-frequency = <0>;
34			interrupts = <f 2>;	// decrementer interrupt
35			interrupt-parent = <&PIC>;
36		};
37	};
38
39	memory {
40		device_type = "memory";
41		reg = <0 0>;
42	};
43
44	localbus@ff000100 {
45		compatible = "fsl,mpc885-localbus", "fsl,pq1-localbus";
46		#address-cells = <2>;
47		#size-cells = <1>;
48		reg = <ff000100 40>;
49
50		ranges = <
51			0 0 fe000000 00800000
52			1 0 ff080000 00008000
53			5 0 ff0a0000 00008000
54		>;
55
56		flash@0,0 {
57			compatible = "jedec-flash";
58			reg = <0 0 800000>;
59			bank-width = <4>;
60			device-width = <1>;
61		};
62
63		board-control@1,0 {
64			reg = <1 0 20 5 300 4>;
65			compatible = "fsl,mpc885ads-bcsr";
66		};
67	};
68
69	soc@ff000000 {
70		compatible = "fsl,mpc885", "fsl,pq1-soc";
71		#address-cells = <1>;
72		#size-cells = <1>;
73		device_type = "soc";
74		ranges = <0 ff000000 00004000>;
75		bus-frequency = <0>;
76
77		// Temporary -- will go away once kernel uses ranges for get_immrbase().
78		reg = <ff000000 4000>;
79
80		mdio@e00 {
81			compatible = "fsl,mpc885-fec-mdio", "fsl,pq1-fec-mdio";
82			reg = <e00 188>;
83			#address-cells = <1>;
84			#size-cells = <0>;
85
86			PHY0: ethernet-phy@0 {
87				reg = <0>;
88				device_type = "ethernet-phy";
89			};
90
91			PHY1: ethernet-phy@1 {
92				reg = <1>;
93				device_type = "ethernet-phy";
94			};
95
96			PHY2: ethernet-phy@2 {
97				reg = <2>;
98				device_type = "ethernet-phy";
99			};
100		};
101
102		ethernet@e00 {
103			device_type = "network";
104			compatible = "fsl,mpc885-fec-enet",
105			             "fsl,pq1-fec-enet";
106			reg = <e00 188>;
107			local-mac-address = [ 00 00 00 00 00 00 ];
108			interrupts = <3 1>;
109			interrupt-parent = <&PIC>;
110			phy-handle = <&PHY0>;
111			linux,network-index = <0>;
112		};
113
114		ethernet@1e00 {
115			device_type = "network";
116			compatible = "fsl,mpc885-fec-enet",
117			             "fsl,pq1-fec-enet";
118			reg = <1e00 188>;
119			local-mac-address = [ 00 00 00 00 00 00 ];
120			interrupts = <7 1>;
121			interrupt-parent = <&PIC>;
122			phy-handle = <&PHY1>;
123			linux,network-index = <1>;
124		};
125
126		PIC: interrupt-controller@0 {
127			interrupt-controller;
128			#interrupt-cells = <2>;
129			reg = <0 24>;
130			compatible = "fsl,mpc885-pic", "fsl,pq1-pic";
131		};
132
133		pcmcia@80 {
134			#address-cells = <3>;
135			#interrupt-cells = <1>;
136			#size-cells = <2>;
137			compatible = "fsl,pq-pcmcia";
138			device_type = "pcmcia";
139			reg = <80 80>;
140			interrupt-parent = <&PIC>;
141			interrupts = <d 1>;
142		};
143
144		cpm@9c0 {
145			#address-cells = <1>;
146			#size-cells = <1>;
147			compatible = "fsl,mpc885-cpm", "fsl,cpm1";
148			command-proc = <9c0>;
149			interrupts = <0>;	// cpm error interrupt
150			interrupt-parent = <&CPM_PIC>;
151			reg = <9c0 40>;
152			ranges;
153
154			muram@2000 {
155				#address-cells = <1>;
156				#size-cells = <1>;
157				ranges = <0 2000 2000>;
158
159				data@0 {
160					compatible = "fsl,cpm-muram-data";
161					reg = <0 1c00>;
162				};
163			};
164
165			brg@9f0 {
166				compatible = "fsl,mpc885-brg",
167				             "fsl,cpm1-brg",
168				             "fsl,cpm-brg";
169				reg = <9f0 10>;
170			};
171
172			CPM_PIC: interrupt-controller@930 {
173				interrupt-controller;
174				#interrupt-cells = <1>;
175				interrupts = <5 2 0 2>;
176				interrupt-parent = <&PIC>;
177				reg = <930 20>;
178				compatible = "fsl,mpc885-cpm-pic",
179				             "fsl,cpm1-pic";
180			};
181
182			serial@a80 {
183				device_type = "serial";
184				compatible = "fsl,mpc885-smc-uart",
185				             "fsl,cpm1-smc-uart";
186				reg = <a80 10 3e80 40>;
187				interrupts = <4>;
188				interrupt-parent = <&CPM_PIC>;
189				fsl,cpm-brg = <1>;
190				fsl,cpm-command = <0090>;
191			};
192
193			serial@a90 {
194				device_type = "serial";
195				compatible = "fsl,mpc885-smc-uart",
196				             "fsl,cpm1-smc-uart";
197				reg = <a90 10 3f80 40>;
198				interrupts = <3>;
199				interrupt-parent = <&CPM_PIC>;
200				fsl,cpm-brg = <2>;
201				fsl,cpm-command = <00d0>;
202			};
203
204			ethernet@a40 {
205				device_type = "network";
206				compatible = "fsl,mpc885-scc-enet",
207				             "fsl,cpm1-scc-enet";
208				reg = <a40 18 3e00 100>;
209				local-mac-address = [ 00 00 00 00 00 00 ];
210				interrupts = <1c>;
211				interrupt-parent = <&CPM_PIC>;
212				phy-handle = <&PHY2>;
213				fsl,cpm-command = <0080>;
214				linux,network-index = <2>;
215			};
216		};
217	};
218
219	chosen {
220		linux,stdout-path = "/soc/cpm/serial@a80";
221	};
222};
223