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			compatible = "tsi109-mdio", "tsi108-mdio";
62			reg = <0x00006000 0x00000050>;
63			#address-cells = <1>;
64			#size-cells = <0>;
65
66			PHY1: ethernet-phy@1 {
67				compatible = "bcm5461a";
68				reg = <0x00000001>;
69				txc-rxc-delay-disable;
70			};
71
72			PHY2: ethernet-phy@2 {
73				compatible = "bcm5461a";
74				reg = <0x00000002>;
75				txc-rxc-delay-disable;
76			};
77		};
78
79		ethernet@6200 {
80			device_type = "network";
81			compatible = "tsi109-ethernet", "tsi108-ethernet";
82			#address-cells = <1>;
83			#size-cells = <0>;
84			reg = <0x00006000 0x00000200>;
85			local-mac-address = [ 00 00 00 00 00 00 ];
86			interrupt-parent = <&MPIC>;
87			interrupts = <0x10 0x2>;
88			mdio-handle = <&MDIO>;
89			phy-handle = <&PHY1>;
90		};
91
92		ethernet@6600 {
93			device_type = "network";
94			compatible = "tsi109-ethernet", "tsi108-ethernet";
95			#address-cells = <1>;
96			#size-cells = <0>;
97			reg = <0x00006400 0x00000200>;
98			local-mac-address = [ 00 00 00 00 00 00 ];
99			interrupt-parent = <&MPIC>;
100			interrupts = <0x11 0x2>;
101			mdio-handle = <&MDIO>;
102			phy-handle = <&PHY2>;
103		};
104
105		serial@7808 {
106			device_type = "serial";
107			compatible = "ns16550";
108			reg = <0x00007808 0x00000200>;
109			virtual-reg = <0xc0007808>;
110			clock-frequency = <1067212800>;
111			current-speed = <115200>;
112			interrupt-parent = <&MPIC>;
113			interrupts = <0xc 0x2>;
114		};
115
116		serial@7c08 {
117			device_type = "serial";
118			compatible = "ns16550";
119			reg = <0x00007c08 0x00000200>;
120			virtual-reg = <0xc0007c08>;
121			clock-frequency = <1067212800>;
122			current-speed = <115200>;
123			interrupt-parent = <&MPIC>;
124			interrupts = <0xd 0x2>;
125		};
126
127	  	MPIC: pic@7400 {
128			device_type = "open-pic";
129			compatible = "chrp,open-pic";
130			interrupt-controller;
131			#interrupt-cells = <2>;
132			reg = <0x00007400 0x00000400>;
133			big-endian;
134		};
135	};
136
137	pci@c0001000 {
138		device_type = "pci";
139		compatible = "tsi109-pci", "tsi108-pci";
140		#interrupt-cells = <1>;
141		#size-cells = <2>;
142		#address-cells = <3>;
143		reg = <0xc0001000 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	chosen {
194		linux,stdout-path = "/tsi109@c0000000/serial@7808";
195	};
196};
197