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				device_type = "ethernet-phy";
89			};
90
91			PHY1: ethernet-phy@1 {
92				reg = <0x1>;
93				device_type = "ethernet-phy";
94			};
95		};
96
97		ethernet@e00 {
98			device_type = "network";
99			compatible = "fsl,mpc885-fec-enet",
100			             "fsl,pq1-fec-enet";
101			reg = <0xe00 0x188>;
102			local-mac-address = [ 00 00 00 00 00 00 ];
103			interrupts = <3 1>;
104			interrupt-parent = <&PIC>;
105			phy-handle = <&PHY0>;
106			linux,network-index = <0>;
107		};
108
109		ethernet@1e00 {
110			device_type = "network";
111			compatible = "fsl,mpc885-fec-enet",
112			             "fsl,pq1-fec-enet";
113			reg = <0x1e00 0x188>;
114			local-mac-address = [ 00 00 00 00 00 00 ];
115			interrupts = <7 1>;
116			interrupt-parent = <&PIC>;
117			phy-handle = <&PHY1>;
118			linux,network-index = <1>;
119		};
120
121		PIC: interrupt-controller@0 {
122			interrupt-controller;
123			#interrupt-cells = <2>;
124			reg = <0x0 0x24>;
125			compatible = "fsl,mpc885-pic", "fsl,pq1-pic";
126		};
127
128		pcmcia@80 {
129			#address-cells = <3>;
130			#interrupt-cells = <1>;
131			#size-cells = <2>;
132			compatible = "fsl,pq-pcmcia";
133			device_type = "pcmcia";
134			reg = <0x80 0x80>;
135			interrupt-parent = <&PIC>;
136			interrupts = <13 1>;
137		};
138
139		cpm@9c0 {
140			#address-cells = <1>;
141			#size-cells = <1>;
142			compatible = "fsl,mpc885-cpm", "fsl,cpm1";
143			command-proc = <0x9c0>;
144			interrupts = <0>;	// cpm error interrupt
145			interrupt-parent = <&CPM_PIC>;
146			reg = <0x9c0 0x40>;
147			ranges;
148
149			muram@2000 {
150				#address-cells = <1>;
151				#size-cells = <1>;
152				ranges = <0x0 0x2000 0x2000>;
153
154				data@0 {
155					compatible = "fsl,cpm-muram-data";
156					reg = <0x0 0x1c00>;
157				};
158			};
159
160			brg@9f0 {
161				compatible = "fsl,mpc885-brg",
162				             "fsl,cpm1-brg",
163				             "fsl,cpm-brg";
164				reg = <0x9f0 0x10>;
165			};
166
167			CPM_PIC: interrupt-controller@930 {
168				interrupt-controller;
169				#interrupt-cells = <1>;
170				interrupts = <5 2 0 2>;
171				interrupt-parent = <&PIC>;
172				reg = <0x930 0x20>;
173				compatible = "fsl,mpc885-cpm-pic",
174				             "fsl,cpm1-pic";
175			};
176
177			// MON-1
178			serial@a80 {
179				device_type = "serial";
180				compatible = "fsl,mpc885-smc-uart",
181				             "fsl,cpm1-smc-uart";
182				reg = <0xa80 0x10 0x3e80 0x40>;
183				interrupts = <4>;
184				interrupt-parent = <&CPM_PIC>;
185				fsl,cpm-brg = <1>;
186				fsl,cpm-command = <0x90>;
187				linux,planetcore-label = "SMC1";
188			};
189
190			// SER-1
191			serial@a20 {
192				device_type = "serial";
193				compatible = "fsl,mpc885-scc-uart",
194				             "fsl,cpm1-scc-uart";
195				reg = <0xa20 0x20 0x3d00 0x80>;
196				interrupts = <29>;
197				interrupt-parent = <&CPM_PIC>;
198				fsl,cpm-brg = <2>;
199				fsl,cpm-command = <0x40>;
200				linux,planetcore-label = "SCC2";
201			};
202
203			usb@a00 {
204				#address-cells = <1>;
205				#size-cells = <0>;
206				compatible = "fsl,mpc885-usb",
207				             "fsl,cpm1-usb";
208				reg = <0xa00 0x18 0x1c00 0x80>;
209				interrupt-parent = <&CPM_PIC>;
210				interrupts = <30>;
211				fsl,cpm-command = <0000>;
212			};
213		};
214	};
215};
216