1/*
2 * Device Tree Source for IBM Holly (PPC 750CL with TSI controller)
3 * Copyright 2007, IBM Corporation
4 *
5 * Stephen Winiecki <stevewin@us.ibm.com>
6 * Josh Boyer <jwboyer@linux.vnet.ibm.com>
7 *
8 * This file is licensed under the terms of the GNU General Public
9 * License version 2.  This program is licensed "as is" without
10 * any warranty of any kind, whether express or implied.
11 */
12
13/ {
14	model = "41K7339";
15	compatible = "ibm,holly";
16	#address-cells = <1>;
17	#size-cells = <1>;
18
19	cpus {
20		#address-cells = <1>;
21		#size-cells =<0>;
22		PowerPC,750CL@0 {
23			device_type = "cpu";
24			reg = <0>;
25			d-cache-line-size = <20>;
26			i-cache-line-size = <20>;
27			d-cache-size = <8000>;
28			i-cache-size = <8000>;
29			d-cache-sets = <80>;
30			i-cache-sets = <80>;
31			timebase-frequency = <2faf080>;
32			clock-frequency = <23c34600>;
33			bus-frequency = <bebc200>;
34		};
35	};
36
37	memory@0 {
38		device_type = "memory";
39		reg = <00000000 20000000>;
40	};
41
42  	tsi109@c0000000 {
43		device_type = "tsi-bridge";
44		compatible = "tsi109-bridge", "tsi108-bridge";
45		#address-cells = <1>;
46		#size-cells = <1>;
47		ranges = <00000000 c0000000 00010000>;
48		reg = <c0000000 00010000>;
49
50		i2c@7000 {
51			device_type = "i2c";
52			compatible  = "tsi109-i2c", "tsi108-i2c";
53			interrupt-parent = <&MPIC>;
54			interrupts = <e 2>;
55			reg = <7000 400>;
56		};
57
58		MDIO: mdio@6000 {
59			device_type = "mdio";
60			compatible = "tsi109-mdio", "tsi108-mdio";
61			reg = <6000 50>;
62			#address-cells = <1>;
63			#size-cells = <0>;
64
65			PHY1: ethernet-phy@1 {
66				compatible = "bcm5461a";
67				reg = <1>;
68				txc-rxc-delay-disable;
69			};
70
71			PHY2: ethernet-phy@2 {
72				compatible = "bcm5461a";
73				reg = <2>;
74				txc-rxc-delay-disable;
75			};
76		};
77
78		ethernet@6200 {
79			device_type = "network";
80			compatible = "tsi109-ethernet", "tsi108-ethernet";
81			#address-cells = <1>;
82			#size-cells = <0>;
83			reg = <6000 200>;
84			local-mac-address = [ 00 00 00 00 00 00 ];
85			interrupt-parent = <&MPIC>;
86			interrupts = <10 2>;
87			mdio-handle = <&MDIO>;
88			phy-handle = <&PHY1>;
89		};
90
91		ethernet@6600 {
92			device_type = "network";
93			compatible = "tsi109-ethernet", "tsi108-ethernet";
94			#address-cells = <1>;
95			#size-cells = <0>;
96			reg = <6400 200>;
97			local-mac-address = [ 00 00 00 00 00 00 ];
98			interrupt-parent = <&MPIC>;
99			interrupts = <11 2>;
100			mdio-handle = <&MDIO>;
101			phy-handle = <&PHY2>;
102		};
103
104		serial@7808 {
105			device_type = "serial";
106			compatible = "ns16550";
107			reg = <7808 200>;
108			virtual-reg = <c0007808>;
109			clock-frequency = <3F9C6000>;
110			current-speed = <1c200>;
111			interrupt-parent = <&MPIC>;
112			interrupts = <c 2>;
113		};
114
115		serial@7c08 {
116			device_type = "serial";
117			compatible = "ns16550";
118			reg = <7c08 200>;
119			virtual-reg = <c0007c08>;
120			clock-frequency = <3F9C6000>;
121			current-speed = <1c200>;
122			interrupt-parent = <&MPIC>;
123			interrupts = <d 2>;
124		};
125
126	  	MPIC: pic@7400 {
127			device_type = "open-pic";
128			compatible = "chrp,open-pic";
129			interrupt-controller;
130			#interrupt-cells = <2>;
131			reg = <7400 400>;
132			big-endian;
133		};
134
135		pci@1000 {
136			device_type = "pci";
137			compatible = "tsi109-pci", "tsi108-pci";
138			#interrupt-cells = <1>;
139			#size-cells = <2>;
140			#address-cells = <3>;
141			reg = <1000 1000>;
142			bus-range = <0 0>;
143			/*----------------------------------------------------+
144			| PCI memory range.
145			| 01 denotes I/O space
146			| 02 denotes 32-bit memory space
147			+----------------------------------------------------*/
148			ranges = <02000000 0 40000000 40000000 0 10000000
149				  01000000 0 00000000 7e000000 0 00010000>;
150			clock-frequency = <7f28154>;
151			interrupt-parent = <&MPIC>;
152			interrupts = <17 2>;
153			interrupt-map-mask = <f800 0 0 7>;
154			/*----------------------------------------------------+
155			| The INTA, INTB, INTC, INTD are shared.
156			+----------------------------------------------------*/
157			interrupt-map = <
158				0800 0 0 1 &RT0 24 0
159				0800 0 0 2 &RT0 25 0
160				0800 0 0 3 &RT0 26 0
161				0800 0 0 4 &RT0 27 0
162
163				1000 0 0 1 &RT0 25 0
164				1000 0 0 2 &RT0 26 0
165				1000 0 0 3 &RT0 27 0
166				1000 0 0 4 &RT0 24 0
167
168				1800 0 0 1 &RT0 26 0
169				1800 0 0 2 &RT0 27 0
170				1800 0 0 3 &RT0 24 0
171				1800 0 0 4 &RT0 25 0
172
173				2000 0 0 1 &RT0 27 0
174				2000 0 0 2 &RT0 24 0
175				2000 0 0 3 &RT0 25 0
176				2000 0 0 4 &RT0 26 0
177				>;
178
179			RT0: router@1180 {
180 				device_type = "pic-router";
181 				interrupt-controller;
182 				big-endian;
183 				clock-frequency = <0>;
184 				#address-cells = <0>;
185 				#interrupt-cells = <2>;
186 				interrupts = <17 2>;
187				interrupt-parent = <&MPIC>;
188			};
189		};
190	};
191
192	chosen {
193		linux,stdout-path = "/tsi109@c0000000/serial@7808";
194	};
195};
196