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 = "tsi109-bridge", "tsi108-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  = "tsi109-i2c", "tsi108-i2c";
58			interrupt-parent = <&MPIC>;
59			interrupts = <e 2>;
60			reg = <7000 400>;
61		};
62
63		MDIO: mdio@6000 {
64			device_type = "mdio";
65			compatible = "tsi109-mdio", "tsi108-mdio";
66			reg = <6000 50>;
67			#address-cells = <1>;
68			#size-cells = <0>;
69
70			PHY1: ethernet-phy@1 {
71				compatible = "bcm5461a";
72				reg = <1>;
73				txc-rxc-delay-disable;
74			};
75
76			PHY2: ethernet-phy@2 {
77				compatible = "bcm5461a";
78				reg = <2>;
79				txc-rxc-delay-disable;
80			};
81		};
82
83		ethernet@6200 {
84			device_type = "network";
85			compatible = "tsi109-ethernet", "tsi108-ethernet";
86			#address-cells = <1>;
87			#size-cells = <0>;
88			reg = <6000 200>;
89			local-mac-address = [ 00 00 00 00 00 00 ];
90			interrupt-parent = <&MPIC>;
91			interrupts = <10 2>;
92			mdio-handle = <&MDIO>;
93			phy-handle = <&PHY1>;
94		};
95
96		ethernet@6600 {
97			device_type = "network";
98			compatible = "tsi109-ethernet", "tsi108-ethernet";
99			#address-cells = <1>;
100			#size-cells = <0>;
101			reg = <6400 200>;
102			local-mac-address = [ 00 00 00 00 00 00 ];
103			interrupt-parent = <&MPIC>;
104			interrupts = <11 2>;
105			mdio-handle = <&MDIO>;
106			phy-handle = <&PHY2>;
107		};
108
109		serial@7808 {
110			device_type = "serial";
111			compatible = "ns16550";
112			reg = <7808 200>;
113			virtual-reg = <c0007808>;
114			clock-frequency = <3F9C6000>;
115			current-speed = <1c200>;
116			interrupt-parent = <&MPIC>;
117			interrupts = <c 2>;
118		};
119
120		serial@7c08 {
121			device_type = "serial";
122			compatible = "ns16550";
123			reg = <7c08 200>;
124			virtual-reg = <c0007c08>;
125			clock-frequency = <3F9C6000>;
126			current-speed = <1c200>;
127			interrupt-parent = <&MPIC>;
128			interrupts = <d 2>;
129		};
130
131	  	MPIC: pic@7400 {
132			device_type = "open-pic";
133			compatible = "chrp,open-pic";
134			interrupt-controller;
135			#interrupt-cells = <2>;
136			reg = <7400 400>;
137			big-endian;
138		};
139
140		pci@1000 {
141			device_type = "pci";
142			compatible = "tsi109-pci", "tsi108-pci";
143			#interrupt-cells = <1>;
144			#size-cells = <2>;
145			#address-cells = <3>;
146			reg = <1000 1000>;
147			bus-range = <0 0>;
148			/*----------------------------------------------------+
149			| PCI memory range.
150			| 01 denotes I/O space
151			| 02 denotes 32-bit memory space
152			+----------------------------------------------------*/
153			ranges = <02000000 0 40000000 40000000 0 10000000
154				  01000000 0 00000000 7e000000 0 00010000>;
155			clock-frequency = <7f28154>;
156			interrupt-parent = <&MPIC>;
157			interrupts = <17 2>;
158			interrupt-map-mask = <f800 0 0 7>;
159			/*----------------------------------------------------+
160			| The INTA, INTB, INTC, INTD are shared.
161			+----------------------------------------------------*/
162			interrupt-map = <
163				0800 0 0 1 &RT0 24 0
164				0800 0 0 2 &RT0 25 0
165				0800 0 0 3 &RT0 26 0
166				0800 0 0 4 &RT0 27 0
167
168				1000 0 0 1 &RT0 25 0
169				1000 0 0 2 &RT0 26 0
170				1000 0 0 3 &RT0 27 0
171				1000 0 0 4 &RT0 24 0
172
173				1800 0 0 1 &RT0 26 0
174				1800 0 0 2 &RT0 27 0
175				1800 0 0 3 &RT0 24 0
176				1800 0 0 4 &RT0 25 0
177
178				2000 0 0 1 &RT0 27 0
179				2000 0 0 2 &RT0 24 0
180				2000 0 0 3 &RT0 25 0
181				2000 0 0 4 &RT0 26 0
182				>;
183
184			RT0: router@1180 {
185 				device_type = "pic-router";
186 				interrupt-controller;
187 				big-endian;
188 				clock-frequency = <0>;
189 				#address-cells = <0>;
190 				#interrupt-cells = <2>;
191 				interrupts = <17 2>;
192				interrupt-parent = <&MPIC>;
193			};
194		};
195	};
196
197	chosen {
198		linux,stdout-path = "/tsi109@c0000000/serial@7808";
199	};
200};
201