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/dts-v1/;
14
15/ {
16	model = "41K7339";
17	compatible = "ibm,holly";
18	#address-cells = <1>;
19	#size-cells = <1>;
20
21	cpus {
22		#address-cells = <1>;
23		#size-cells =<0>;
24		PowerPC,750CL@0 {
25			device_type = "cpu";
26			reg = <0x00000000>;
27			d-cache-line-size = <32>;
28			i-cache-line-size = <32>;
29			d-cache-size = <32768>;
30			i-cache-size = <32768>;
31			d-cache-sets = <128>;
32			i-cache-sets = <128>;
33			timebase-frequency = <50000000>;
34			clock-frequency = <600000000>;
35			bus-frequency = <200000000>;
36		};
37	};
38
39	memory@0 {
40		device_type = "memory";
41		reg = <0x00000000 0x20000000>;
42	};
43
44  	tsi109@c0000000 {
45		device_type = "tsi-bridge";
46		compatible = "tsi109-bridge", "tsi108-bridge";
47		#address-cells = <1>;
48		#size-cells = <1>;
49		ranges = <0x00000000 0xc0000000 0x00010000>;
50		reg = <0xc0000000 0x00010000>;
51
52		i2c@7000 {
53			device_type = "i2c";
54			compatible  = "tsi109-i2c", "tsi108-i2c";
55			interrupt-parent = <&MPIC>;
56			interrupts = <0xe 0x2>;
57			reg = <0x00007000 0x00000400>;
58		};
59
60		MDIO: mdio@6000 {
61			device_type = "mdio";
62			compatible = "tsi109-mdio", "tsi108-mdio";
63			reg = <0x00006000 0x00000050>;
64			#address-cells = <1>;
65			#size-cells = <0>;
66
67			PHY1: ethernet-phy@1 {
68				compatible = "bcm5461a";
69				reg = <0x00000001>;
70				txc-rxc-delay-disable;
71			};
72
73			PHY2: ethernet-phy@2 {
74				compatible = "bcm5461a";
75				reg = <0x00000002>;
76				txc-rxc-delay-disable;
77			};
78		};
79
80		ethernet@6200 {
81			device_type = "network";
82			compatible = "tsi109-ethernet", "tsi108-ethernet";
83			#address-cells = <1>;
84			#size-cells = <0>;
85			reg = <0x00006000 0x00000200>;
86			local-mac-address = [ 00 00 00 00 00 00 ];
87			interrupt-parent = <&MPIC>;
88			interrupts = <0x10 0x2>;
89			mdio-handle = <&MDIO>;
90			phy-handle = <&PHY1>;
91		};
92
93		ethernet@6600 {
94			device_type = "network";
95			compatible = "tsi109-ethernet", "tsi108-ethernet";
96			#address-cells = <1>;
97			#size-cells = <0>;
98			reg = <0x00006400 0x00000200>;
99			local-mac-address = [ 00 00 00 00 00 00 ];
100			interrupt-parent = <&MPIC>;
101			interrupts = <0x11 0x2>;
102			mdio-handle = <&MDIO>;
103			phy-handle = <&PHY2>;
104		};
105
106		serial@7808 {
107			device_type = "serial";
108			compatible = "ns16550";
109			reg = <0x00007808 0x00000200>;
110			virtual-reg = <0xc0007808>;
111			clock-frequency = <1067212800>;
112			current-speed = <115200>;
113			interrupt-parent = <&MPIC>;
114			interrupts = <0xc 0x2>;
115		};
116
117		serial@7c08 {
118			device_type = "serial";
119			compatible = "ns16550";
120			reg = <0x00007c08 0x00000200>;
121			virtual-reg = <0xc0007c08>;
122			clock-frequency = <1067212800>;
123			current-speed = <115200>;
124			interrupt-parent = <&MPIC>;
125			interrupts = <0xd 0x2>;
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 = <0x00007400 0x00000400>;
134			big-endian;
135		};
136
137		pci@1000 {
138			device_type = "pci";
139			compatible = "tsi109-pci", "tsi108-pci";
140			#interrupt-cells = <1>;
141			#size-cells = <2>;
142			#address-cells = <3>;
143			reg = <0x00001000 0x00001000>;
144			bus-range = <0x0 0x0>;
145			/*----------------------------------------------------+
146			| PCI memory range.
147			| 01 denotes I/O space
148			| 02 denotes 32-bit memory space
149			+----------------------------------------------------*/
150			ranges = <0x02000000 0x00000000 0x40000000 0x40000000 0x00000000 0x10000000
151				  0x01000000 0x00000000 0x00000000 0x7e000000 0x00000000 0x00010000>;
152			clock-frequency = <133333332>;
153			interrupt-parent = <&MPIC>;
154			interrupts = <0x17 0x2>;
155			interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
156			/*----------------------------------------------------+
157			| The INTA, INTB, INTC, INTD are shared.
158			+----------------------------------------------------*/
159			interrupt-map = <
160				0x800 0x0 0x0 0x1 &RT0 0x24 0x0
161				0x800 0x0 0x0 0x2 &RT0 0x25 0x0
162				0x800 0x0 0x0 0x3 &RT0 0x26 0x0
163				0x800 0x0 0x0 0x4 &RT0 0x27 0x0
164
165				0x1000 0x0 0x0 0x1 &RT0 0x25 0x0
166				0x1000 0x0 0x0 0x2 &RT0 0x26 0x0
167				0x1000 0x0 0x0 0x3 &RT0 0x27 0x0
168				0x1000 0x0 0x0 0x4 &RT0 0x24 0x0
169
170				0x1800 0x0 0x0 0x1 &RT0 0x26 0x0
171				0x1800 0x0 0x0 0x2 &RT0 0x27 0x0
172				0x1800 0x0 0x0 0x3 &RT0 0x24 0x0
173				0x1800 0x0 0x0 0x4 &RT0 0x25 0x0
174
175				0x2000 0x0 0x0 0x1 &RT0 0x27 0x0
176				0x2000 0x0 0x0 0x2 &RT0 0x24 0x0
177				0x2000 0x0 0x0 0x3 &RT0 0x25 0x0
178				0x2000 0x0 0x0 0x4 &RT0 0x26 0x0
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 = <0x17 0x2>;
189				interrupt-parent = <&MPIC>;
190			};
191		};
192	};
193
194	chosen {
195		linux,stdout-path = "/tsi109@c0000000/serial@7808";
196	};
197};
198