xref: /openbmc/linux/arch/powerpc/boot/dts/bamboo.dts (revision 142b58ee)
1142b58eeSJosh Boyer/*
2142b58eeSJosh Boyer * Device Tree Source for AMCC Bamboo
3142b58eeSJosh Boyer *
4142b58eeSJosh Boyer * Copyright (c) 2006, 2007 IBM Corp.
5142b58eeSJosh Boyer * Josh Boyer <jwboyer@linux.vnet.ibm.com>
6142b58eeSJosh Boyer *
7142b58eeSJosh Boyer * FIXME: Draft only!
8142b58eeSJosh Boyer *
9142b58eeSJosh Boyer * This file is licensed under the terms of the GNU General Public
10142b58eeSJosh Boyer * License version 2.  This program is licensed "as is" without
11142b58eeSJosh Boyer * any warranty of any kind, whether express or implied.
12142b58eeSJosh Boyer */
13142b58eeSJosh Boyer
14142b58eeSJosh Boyer/ {
15142b58eeSJosh Boyer	#address-cells = <2>;
16142b58eeSJosh Boyer	#size-cells = <1>;
17142b58eeSJosh Boyer	model = "amcc,bamboo";
18142b58eeSJosh Boyer	compatible = "amcc,bamboo";
19142b58eeSJosh Boyer	dcr-parent = <&/cpus/PowerPC,440EP@0>;
20142b58eeSJosh Boyer
21142b58eeSJosh Boyer	cpus {
22142b58eeSJosh Boyer		#address-cells = <1>;
23142b58eeSJosh Boyer		#size-cells = <0>;
24142b58eeSJosh Boyer
25142b58eeSJosh Boyer		PowerPC,440EP@0 {
26142b58eeSJosh Boyer			device_type = "cpu";
27142b58eeSJosh Boyer			reg = <0>;
28142b58eeSJosh Boyer			clock-frequency = <0>; /* Filled in by zImage */
29142b58eeSJosh Boyer			timebase-frequency = <0>; /* Filled in by zImage */
30142b58eeSJosh Boyer			i-cache-line-size = <20>;
31142b58eeSJosh Boyer			d-cache-line-size = <20>;
32142b58eeSJosh Boyer			i-cache-size = <8000>;
33142b58eeSJosh Boyer			d-cache-size = <8000>;
34142b58eeSJosh Boyer			dcr-controller;
35142b58eeSJosh Boyer			dcr-access-method = "native";
36142b58eeSJosh Boyer		};
37142b58eeSJosh Boyer	};
38142b58eeSJosh Boyer
39142b58eeSJosh Boyer	memory {
40142b58eeSJosh Boyer		device_type = "memory";
41142b58eeSJosh Boyer		reg = <0 0 0>; /* Filled in by zImage */
42142b58eeSJosh Boyer	};
43142b58eeSJosh Boyer
44142b58eeSJosh Boyer	UIC0: interrupt-controller0 {
45142b58eeSJosh Boyer		compatible = "ibm,uic-440ep","ibm,uic";
46142b58eeSJosh Boyer		interrupt-controller;
47142b58eeSJosh Boyer		cell-index = <0>;
48142b58eeSJosh Boyer		dcr-reg = <0c0 009>;
49142b58eeSJosh Boyer		#address-cells = <0>;
50142b58eeSJosh Boyer		#size-cells = <0>;
51142b58eeSJosh Boyer		#interrupt-cells = <2>;
52142b58eeSJosh Boyer	};
53142b58eeSJosh Boyer
54142b58eeSJosh Boyer	UIC1: interrupt-controller1 {
55142b58eeSJosh Boyer		compatible = "ibm,uic-440ep","ibm,uic";
56142b58eeSJosh Boyer		interrupt-controller;
57142b58eeSJosh Boyer		cell-index = <1>;
58142b58eeSJosh Boyer		dcr-reg = <0d0 009>;
59142b58eeSJosh Boyer		#address-cells = <0>;
60142b58eeSJosh Boyer		#size-cells = <0>;
61142b58eeSJosh Boyer		#interrupt-cells = <2>;
62142b58eeSJosh Boyer		interrupts = <1e 4 1f 4>; /* cascade */
63142b58eeSJosh Boyer		interrupt-parent = <&UIC0>;
64142b58eeSJosh Boyer	};
65142b58eeSJosh Boyer
66142b58eeSJosh Boyer	SDR0: sdr {
67142b58eeSJosh Boyer		compatible = "ibm,sdr-440ep";
68142b58eeSJosh Boyer		dcr-reg = <00e 002>;
69142b58eeSJosh Boyer	};
70142b58eeSJosh Boyer
71142b58eeSJosh Boyer	CPR0: cpr {
72142b58eeSJosh Boyer		compatible = "ibm,cpr-440ep";
73142b58eeSJosh Boyer		dcr-reg = <00c 002>;
74142b58eeSJosh Boyer	};
75142b58eeSJosh Boyer
76142b58eeSJosh Boyer	plb {
77142b58eeSJosh Boyer		compatible = "ibm,plb-440ep", "ibm,plb-440gp", "ibm,plb4";
78142b58eeSJosh Boyer		#address-cells = <2>;
79142b58eeSJosh Boyer		#size-cells = <1>;
80142b58eeSJosh Boyer		ranges;
81142b58eeSJosh Boyer		clock-frequency = <0>; /* Filled in by zImage */
82142b58eeSJosh Boyer
83142b58eeSJosh Boyer		SDRAM0: sdram {
84142b58eeSJosh Boyer			compatible = "ibm,sdram-440ep", "ibm,sdram-405gp";
85142b58eeSJosh Boyer			dcr-reg = <010 2>;
86142b58eeSJosh Boyer		};
87142b58eeSJosh Boyer
88142b58eeSJosh Boyer		DMA0: dma {
89142b58eeSJosh Boyer			compatible = "ibm,dma-440ep", "ibm,dma-440gp";
90142b58eeSJosh Boyer			dcr-reg = <100 027>;
91142b58eeSJosh Boyer		};
92142b58eeSJosh Boyer
93142b58eeSJosh Boyer		MAL0: mcmal {
94142b58eeSJosh Boyer			compatible = "ibm,mcmal-440ep", "ibm,mcmal-440gp", "ibm,mcmal";
95142b58eeSJosh Boyer			dcr-reg = <180 62>;
96142b58eeSJosh Boyer			num-tx-chans = <4>;
97142b58eeSJosh Boyer			num-rx-chans = <4>;
98142b58eeSJosh Boyer			interrupt-parent = <&MAL0>;
99142b58eeSJosh Boyer			interrupts = <0 1 2 3 4>;
100142b58eeSJosh Boyer			#interrupt-cells = <1>;
101142b58eeSJosh Boyer			interrupt-map = </*TXEOB*/ 0 &UIC0 a 4
102142b58eeSJosh Boyer					/*RXEOB*/ 1 &UIC0 b 4
103142b58eeSJosh Boyer					/*SERR*/  2 &UIC1 0 4
104142b58eeSJosh Boyer					/*TXDE*/  3 &UIC1 1 4
105142b58eeSJosh Boyer					/*RXDE*/  4 &UIC1 3 4>;
106142b58eeSJosh Boyer		};
107142b58eeSJosh Boyer
108142b58eeSJosh Boyer		POB0: opb {
109142b58eeSJosh Boyer		  	compatible = "ibm,opb-440ep", "ibm,opb-440gp", "ibm,opb";
110142b58eeSJosh Boyer			#address-cells = <1>;
111142b58eeSJosh Boyer			#size-cells = <1>;
112142b58eeSJosh Boyer			/* Bamboo is oddball in the 44x world and doesn't use the ERPN
113142b58eeSJosh Boyer			 * bits.
114142b58eeSJosh Boyer			 */
115142b58eeSJosh Boyer		  	ranges = <00000000 0 00000000 80000000
116142b58eeSJosh Boyer			          80000000 0 80000000 80000000>;
117142b58eeSJosh Boyer		  	interrupt-parent = <&UIC1>;
118142b58eeSJosh Boyer		  	interrupts = <7 4>;
119142b58eeSJosh Boyer		  	clock-frequency = <0>; /* Filled in by zImage */
120142b58eeSJosh Boyer
121142b58eeSJosh Boyer			EBC0: ebc {
122142b58eeSJosh Boyer				compatible = "ibm,ebc-440ep", "ibm,ebc-440gp", "ibm,ebc";
123142b58eeSJosh Boyer				dcr-reg = <012 2>;
124142b58eeSJosh Boyer				#address-cells = <2>;
125142b58eeSJosh Boyer				#size-cells = <1>;
126142b58eeSJosh Boyer				clock-frequency = <0>; /* Filled in by zImage */
127142b58eeSJosh Boyer				ranges;
128142b58eeSJosh Boyer				interrupts = <5 1>;
129142b58eeSJosh Boyer				interrupt-parent = <&UIC1>;
130142b58eeSJosh Boyer			};
131142b58eeSJosh Boyer
132142b58eeSJosh Boyer			UART0: serial@ef600300 {
133142b58eeSJosh Boyer		   		device_type = "serial";
134142b58eeSJosh Boyer		   		compatible = "ns16550";
135142b58eeSJosh Boyer		   		reg = <ef600300 8>;
136142b58eeSJosh Boyer		   		virtual-reg = <ef600300>;
137142b58eeSJosh Boyer		   		clock-frequency = <0>; /* Filled in by zImage */
138142b58eeSJosh Boyer		   		current-speed = <1c200>;
139142b58eeSJosh Boyer		   		interrupt-parent = <&UIC0>;
140142b58eeSJosh Boyer		   		interrupts = <0 4>;
141142b58eeSJosh Boyer	   		};
142142b58eeSJosh Boyer
143142b58eeSJosh Boyer			UART1: serial@ef600400 {
144142b58eeSJosh Boyer		   		device_type = "serial";
145142b58eeSJosh Boyer		   		compatible = "ns16550";
146142b58eeSJosh Boyer		   		reg = <ef600400 8>;
147142b58eeSJosh Boyer		   		virtual-reg = <ef600400>;
148142b58eeSJosh Boyer		   		clock-frequency = <0>;
149142b58eeSJosh Boyer		   		current-speed = <0>;
150142b58eeSJosh Boyer		   		interrupt-parent = <&UIC0>;
151142b58eeSJosh Boyer		   		interrupts = <1 4>;
152142b58eeSJosh Boyer	   		};
153142b58eeSJosh Boyer
154142b58eeSJosh Boyer			UART2: serial@ef600500 {
155142b58eeSJosh Boyer		   		device_type = "serial";
156142b58eeSJosh Boyer		   		compatible = "ns16550";
157142b58eeSJosh Boyer		   		reg = <ef600500 8>;
158142b58eeSJosh Boyer		   		virtual-reg = <ef600500>;
159142b58eeSJosh Boyer		   		clock-frequency = <0>;
160142b58eeSJosh Boyer		   		current-speed = <0>;
161142b58eeSJosh Boyer		   		interrupt-parent = <&UIC0>;
162142b58eeSJosh Boyer		   		interrupts = <3 4>;
163142b58eeSJosh Boyer	   		};
164142b58eeSJosh Boyer
165142b58eeSJosh Boyer			UART3: serial@ef600600 {
166142b58eeSJosh Boyer		   		device_type = "serial";
167142b58eeSJosh Boyer		   		compatible = "ns16550";
168142b58eeSJosh Boyer		   		reg = <ef600600 8>;
169142b58eeSJosh Boyer		   		virtual-reg = <ef600600>;
170142b58eeSJosh Boyer		   		clock-frequency = <0>;
171142b58eeSJosh Boyer		   		current-speed = <0>;
172142b58eeSJosh Boyer		   		interrupt-parent = <&UIC0>;
173142b58eeSJosh Boyer		   		interrupts = <4 4>;
174142b58eeSJosh Boyer	   		};
175142b58eeSJosh Boyer
176142b58eeSJosh Boyer			IIC0: i2c@ef600700 {
177142b58eeSJosh Boyer				device_type = "i2c";
178142b58eeSJosh Boyer				compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic";
179142b58eeSJosh Boyer				reg = <ef600700 14>;
180142b58eeSJosh Boyer				interrupt-parent = <&UIC0>;
181142b58eeSJosh Boyer				interrupts = <2 4>;
182142b58eeSJosh Boyer			};
183142b58eeSJosh Boyer
184142b58eeSJosh Boyer			IIC1: i2c@ef600800 {
185142b58eeSJosh Boyer				device_type = "i2c";
186142b58eeSJosh Boyer				compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic";
187142b58eeSJosh Boyer				reg = <ef600800 14>;
188142b58eeSJosh Boyer				interrupt-parent = <&UIC0>;
189142b58eeSJosh Boyer				interrupts = <7 4>;
190142b58eeSJosh Boyer			};
191142b58eeSJosh Boyer
192142b58eeSJosh Boyer			ZMII0: emac-zmii@ef600d00 {
193142b58eeSJosh Boyer				device_type = "zmii-interface";
194142b58eeSJosh Boyer				compatible = "ibm,zmii-440ep", "ibm,zmii-440gp", "ibm,zmii";
195142b58eeSJosh Boyer				reg = <ef600d00 c>;
196142b58eeSJosh Boyer			};
197142b58eeSJosh Boyer
198142b58eeSJosh Boyer			EMAC0: ethernet@ef600e00 {
199142b58eeSJosh Boyer				device_type = "network";
200142b58eeSJosh Boyer				compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
201142b58eeSJosh Boyer				interrupt-parent = <&UIC1>;
202142b58eeSJosh Boyer				interrupts = <1c 4 1d 4>;
203142b58eeSJosh Boyer				reg = <ef600e00 70>;
204142b58eeSJosh Boyer				local-mac-address = [000000000000];
205142b58eeSJosh Boyer				mal-device = <&MAL0>;
206142b58eeSJosh Boyer				mal-tx-channel = <0 1>;
207142b58eeSJosh Boyer				mal-rx-channel = <0>;
208142b58eeSJosh Boyer				cell-index = <0>;
209142b58eeSJosh Boyer				max-frame-size = <5dc>;
210142b58eeSJosh Boyer				rx-fifo-size = <1000>;
211142b58eeSJosh Boyer				tx-fifo-size = <800>;
212142b58eeSJosh Boyer				phy-mode = "rmii";
213142b58eeSJosh Boyer				phy-map = <00000001>;
214142b58eeSJosh Boyer				zmii-device = <&ZMII0>;
215142b58eeSJosh Boyer				zmii-channel = <0>;
216142b58eeSJosh Boyer			};
217142b58eeSJosh Boyer
218142b58eeSJosh Boyer			EMAC1: ethernet@ef600f00 {
219142b58eeSJosh Boyer				device_type = "network";
220142b58eeSJosh Boyer				compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
221142b58eeSJosh Boyer				interrupt-parent = <&UIC1>;
222142b58eeSJosh Boyer				interrupts = <1e 4 1f 4>;
223142b58eeSJosh Boyer				reg = <ef600f00 70>;
224142b58eeSJosh Boyer				local-mac-address = [000000000000];
225142b58eeSJosh Boyer				mal-device = <&MAL0>;
226142b58eeSJosh Boyer				mal-tx-channel = <2 3>;
227142b58eeSJosh Boyer				mal-rx-channel = <1>;
228142b58eeSJosh Boyer				cell-index = <1>;
229142b58eeSJosh Boyer				max-frame-size = <5dc>;
230142b58eeSJosh Boyer				rx-fifo-size = <1000>;
231142b58eeSJosh Boyer				tx-fifo-size = <800>;
232142b58eeSJosh Boyer				phy-mode = "rmii";
233142b58eeSJosh Boyer				phy-map = <00000001>;
234142b58eeSJosh Boyer				zmii-device = <&ZMII0>;
235142b58eeSJosh Boyer				zmii-channel = <1>;
236142b58eeSJosh Boyer			};
237142b58eeSJosh Boyer		};
238142b58eeSJosh Boyer	};
239142b58eeSJosh Boyer
240142b58eeSJosh Boyer	chosen {
241142b58eeSJosh Boyer		linux,stdout-path = "/plb/opb/serial@ef600300";
242142b58eeSJosh Boyer		bootargs = "console=ttyS0,115200";
243142b58eeSJosh Boyer	};
244142b58eeSJosh Boyer};
245