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