1/*
2 * MPC866 ADS Device Tree Source
3 *
4 * Copyright 2006 MontaVista Software, Inc.
5 *
6 * This program is free software; you can redistribute  it and/or modify it
7 * under  the terms of  the GNU General  Public License as published by the
8 * Free Software Foundation;  either version 2 of the  License, or (at your
9 * option) any later version.
10 */
11
12
13/ {
14	model = "MPC866ADS";
15	compatible = "mpc8xx";
16	#address-cells = <1>;
17	#size-cells = <1>;
18	linux,phandle = <100>;
19
20	cpus {
21		#address-cells = <1>;
22		#size-cells = <0>;
23		linux,phandle = <200>;
24
25		PowerPC,866@0 {
26			device_type = "cpu";
27			reg = <0>;
28			d-cache-line-size = <20>;	// 32 bytes
29			i-cache-line-size = <20>;	// 32 bytes
30			d-cache-size = <2000>;		// L1, 8K
31			i-cache-size = <4000>;		// L1, 16K
32			timebase-frequency = <0>;
33			bus-frequency = <0>;
34			clock-frequency = <0>;
35			32-bit;
36			interrupts = <f 2>;	// decrementer interrupt
37			interrupt-parent = <ff000000>;
38			linux,phandle = <201>;
39		};
40	};
41
42	memory {
43		device_type = "memory";
44		linux,phandle = <300>;
45		reg = <00000000 800000>;
46	};
47
48	soc866@ff000000 {
49		#address-cells = <1>;
50		#size-cells = <1>;
51		#interrupt-cells = <2>;
52		device_type = "soc";
53		ranges = <0 ff000000 00100000>;
54		reg = <ff000000 00000200>;
55		bus-frequency = <0>;
56		mdio@e80 {
57			device_type = "mdio";
58			compatible = "fs_enet";
59			reg = <e80 8>;
60			linux,phandle = <e80>;
61			#address-cells = <1>;
62			#size-cells = <0>;
63			ethernet-phy@f {
64				linux,phandle = <e800f>;
65				reg = <f>;
66				device_type = "ethernet-phy";
67			};
68		};
69
70		fec@e00 {
71			device_type = "network";
72			compatible = "fs_enet";
73			model = "FEC";
74			device-id = <1>;
75			reg = <e00 188>;
76			mac-address = [ 00 00 0C 00 01 FD ];
77			interrupts = <3 1>;
78			interrupt-parent = <ff000000>;
79			phy-handle = <e800f>;
80		};
81
82		pic@ff000000 {
83			linux,phandle = <ff000000>;
84			interrupt-controller;
85			#address-cells = <0>;
86			#interrupt-cells = <2>;
87			reg = <0 24>;
88			built-in;
89			device_type = "mpc8xx-pic";
90			compatible = "CPM";
91		};
92
93		cpm@ff000000 {
94			linux,phandle = <ff000000>;
95			#address-cells = <1>;
96			#size-cells = <1>;
97			#interrupt-cells = <2>;
98			device_type = "cpm";
99			model = "CPM";
100			ranges = <0 0 4000>;
101			reg = <860 f0>;
102			command-proc = <9c0>;
103			brg-frequency = <0>;
104			interrupts = <0 2>;	// cpm error interrupt
105			interrupt-parent = <930>;
106
107			pic@930 {
108				linux,phandle = <930>;
109				interrupt-controller;
110				#address-cells = <0>;
111				#interrupt-cells = <2>;
112				interrupts = <5 2 0 2>;
113				interrupt-parent = <ff000000>;
114				reg = <930 20>;
115				built-in;
116				device_type = "cpm-pic";
117				compatible = "CPM";
118			};
119
120			smc@a80 {
121				device_type = "serial";
122				compatible = "cpm_uart";
123				model = "SMC";
124				device-id = <1>;
125				reg = <a80 10 3e80 40>;
126				clock-setup = <00ffffff 0>;
127				rx-clock = <1>;
128				tx-clock = <1>;
129				current-speed = <0>;
130				interrupts = <4 3>;
131				interrupt-parent = <930>;
132			};
133
134			smc@a90 {
135				device_type = "serial";
136				compatible = "cpm_uart";
137				model = "SMC";
138				device-id = <2>;
139				reg = <a90 20 3f80 40>;
140				clock-setup = <ff00ffff 90000>;
141				rx-clock = <2>;
142				tx-clock = <2>;
143				current-speed = <0>;
144				interrupts = <3 3>;
145				interrupt-parent = <930>;
146			};
147
148			scc@a00 {
149				device_type = "network";
150				compatible = "fs_enet";
151				model = "SCC";
152				device-id = <1>;
153				reg = <a00 18 3c00 80>;
154				mac-address = [ 00 00 0C 00 03 FD ];
155				interrupts = <1e 3>;
156				interrupt-parent = <930>;
157			};
158		};
159	};
160};
161