1/*
2 * EP88xC 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 = "EP88xC";
17	compatible = "fsl,ep88xc";
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@fa200100 {
46		compatible = "fsl,mpc885-localbus", "fsl,pq1-localbus";
47		#address-cells = <2>;
48		#size-cells = <1>;
49		reg = <0xfa200100 0x40>;
50
51		ranges = <
52			0x0 0x0 0xfc000000 0x4000000
53			0x3 0x0 0xfa000000 0x1000000
54		>;
55
56		flash@0,2000000 {
57			compatible = "cfi-flash";
58			reg = <0x0 0x2000000 0x2000000>;
59			bank-width = <4>;
60			device-width = <2>;
61		};
62
63		board-control@3,400000 {
64			reg = <0x3 0x400000 0x10>;
65			compatible = "fsl,ep88xc-bcsr";
66		};
67	};
68
69	soc@fa200000 {
70		compatible = "fsl,mpc885", "fsl,pq1-soc";
71		#address-cells = <1>;
72		#size-cells = <1>;
73		device_type = "soc";
74		ranges = <0x0 0xfa200000 0x4000>;
75		bus-frequency = <0>;
76
77		// Temporary -- will go away once kernel uses ranges for get_immrbase().
78		reg = <0xfa200000 0x4000>;
79
80		mdio@e00 {
81			compatible = "fsl,mpc885-fec-mdio", "fsl,pq1-fec-mdio";
82			reg = <0xe00 0x188>;
83			#address-cells = <1>;
84			#size-cells = <0>;
85
86			PHY0: ethernet-phy@0 {
87				reg = <0x0>;
88			};
89
90			PHY1: ethernet-phy@1 {
91				reg = <0x1>;
92			};
93		};
94
95		ethernet@e00 {
96			device_type = "network";
97			compatible = "fsl,mpc885-fec-enet",
98			             "fsl,pq1-fec-enet";
99			reg = <0xe00 0x188>;
100			local-mac-address = [ 00 00 00 00 00 00 ];
101			interrupts = <3 1>;
102			interrupt-parent = <&PIC>;
103			phy-handle = <&PHY0>;
104			linux,network-index = <0>;
105		};
106
107		ethernet@1e00 {
108			device_type = "network";
109			compatible = "fsl,mpc885-fec-enet",
110			             "fsl,pq1-fec-enet";
111			reg = <0x1e00 0x188>;
112			local-mac-address = [ 00 00 00 00 00 00 ];
113			interrupts = <7 1>;
114			interrupt-parent = <&PIC>;
115			phy-handle = <&PHY1>;
116			linux,network-index = <1>;
117		};
118
119		PIC: interrupt-controller@0 {
120			interrupt-controller;
121			#interrupt-cells = <2>;
122			reg = <0x0 0x24>;
123			compatible = "fsl,mpc885-pic", "fsl,pq1-pic";
124		};
125
126		pcmcia@80 {
127			#address-cells = <3>;
128			#interrupt-cells = <1>;
129			#size-cells = <2>;
130			compatible = "fsl,pq-pcmcia";
131			device_type = "pcmcia";
132			reg = <0x80 0x80>;
133			interrupt-parent = <&PIC>;
134			interrupts = <13 1>;
135		};
136
137		cpm@9c0 {
138			#address-cells = <1>;
139			#size-cells = <1>;
140			compatible = "fsl,mpc885-cpm", "fsl,cpm1";
141			command-proc = <0x9c0>;
142			interrupts = <0>;	// cpm error interrupt
143			interrupt-parent = <&CPM_PIC>;
144			reg = <0x9c0 0x40>;
145			ranges;
146
147			muram@2000 {
148				#address-cells = <1>;
149				#size-cells = <1>;
150				ranges = <0x0 0x2000 0x2000>;
151
152				data@0 {
153					compatible = "fsl,cpm-muram-data";
154					reg = <0x0 0x1c00>;
155				};
156			};
157
158			brg@9f0 {
159				compatible = "fsl,mpc885-brg",
160				             "fsl,cpm1-brg",
161				             "fsl,cpm-brg";
162				reg = <0x9f0 0x10>;
163			};
164
165			CPM_PIC: interrupt-controller@930 {
166				interrupt-controller;
167				#interrupt-cells = <1>;
168				interrupts = <5 2 0 2>;
169				interrupt-parent = <&PIC>;
170				reg = <0x930 0x20>;
171				compatible = "fsl,mpc885-cpm-pic",
172				             "fsl,cpm1-pic";
173			};
174
175			// MON-1
176			serial@a80 {
177				device_type = "serial";
178				compatible = "fsl,mpc885-smc-uart",
179				             "fsl,cpm1-smc-uart";
180				reg = <0xa80 0x10 0x3e80 0x40>;
181				interrupts = <4>;
182				interrupt-parent = <&CPM_PIC>;
183				fsl,cpm-brg = <1>;
184				fsl,cpm-command = <0x90>;
185				linux,planetcore-label = "SMC1";
186			};
187
188			// SER-1
189			serial@a20 {
190				device_type = "serial";
191				compatible = "fsl,mpc885-scc-uart",
192				             "fsl,cpm1-scc-uart";
193				reg = <0xa20 0x20 0x3d00 0x80>;
194				interrupts = <29>;
195				interrupt-parent = <&CPM_PIC>;
196				fsl,cpm-brg = <2>;
197				fsl,cpm-command = <0x40>;
198				linux,planetcore-label = "SCC2";
199			};
200
201			usb@a00 {
202				#address-cells = <1>;
203				#size-cells = <0>;
204				compatible = "fsl,mpc885-usb",
205				             "fsl,cpm1-usb";
206				reg = <0xa00 0x18 0x1c00 0x80>;
207				interrupt-parent = <&CPM_PIC>;
208				interrupts = <30>;
209				fsl,cpm-command = <0000>;
210			};
211		};
212	};
213};
214