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