xref: /openbmc/linux/arch/powerpc/boot/dts/bamboo.dts (revision e52f5677)
1/*
2 * Device Tree Source for AMCC Bamboo
3 *
4 * Copyright (c) 2006, 2007 IBM Corp.
5 * Josh Boyer <jwboyer@linux.vnet.ibm.com>
6 *
7 * FIXME: Draft only!
8 *
9 * This file is licensed under the terms of the GNU General Public
10 * License version 2.  This program is licensed "as is" without
11 * any warranty of any kind, whether express or implied.
12 */
13
14/ {
15	#address-cells = <2>;
16	#size-cells = <1>;
17	model = "amcc,bamboo";
18	compatible = "amcc,bamboo";
19	dcr-parent = <&/cpus/PowerPC,440EP@0>;
20
21	cpus {
22		#address-cells = <1>;
23		#size-cells = <0>;
24
25		PowerPC,440EP@0 {
26			device_type = "cpu";
27			reg = <0>;
28			clock-frequency = <0>; /* Filled in by zImage */
29			timebase-frequency = <0>; /* Filled in by zImage */
30			i-cache-line-size = <20>;
31			d-cache-line-size = <20>;
32			i-cache-size = <8000>;
33			d-cache-size = <8000>;
34			dcr-controller;
35			dcr-access-method = "native";
36		};
37	};
38
39	memory {
40		device_type = "memory";
41		reg = <0 0 0>; /* Filled in by zImage */
42	};
43
44	UIC0: interrupt-controller0 {
45		compatible = "ibm,uic-440ep","ibm,uic";
46		interrupt-controller;
47		cell-index = <0>;
48		dcr-reg = <0c0 009>;
49		#address-cells = <0>;
50		#size-cells = <0>;
51		#interrupt-cells = <2>;
52	};
53
54	UIC1: interrupt-controller1 {
55		compatible = "ibm,uic-440ep","ibm,uic";
56		interrupt-controller;
57		cell-index = <1>;
58		dcr-reg = <0d0 009>;
59		#address-cells = <0>;
60		#size-cells = <0>;
61		#interrupt-cells = <2>;
62		interrupts = <1e 4 1f 4>; /* cascade */
63		interrupt-parent = <&UIC0>;
64	};
65
66	SDR0: sdr {
67		compatible = "ibm,sdr-440ep";
68		dcr-reg = <00e 002>;
69	};
70
71	CPR0: cpr {
72		compatible = "ibm,cpr-440ep";
73		dcr-reg = <00c 002>;
74	};
75
76	plb {
77		compatible = "ibm,plb-440ep", "ibm,plb-440gp", "ibm,plb4";
78		#address-cells = <2>;
79		#size-cells = <1>;
80		ranges;
81		clock-frequency = <0>; /* Filled in by zImage */
82
83		SDRAM0: sdram {
84			compatible = "ibm,sdram-440ep", "ibm,sdram-405gp";
85			dcr-reg = <010 2>;
86		};
87
88		DMA0: dma {
89			compatible = "ibm,dma-440ep", "ibm,dma-440gp";
90			dcr-reg = <100 027>;
91		};
92
93		MAL0: mcmal {
94			compatible = "ibm,mcmal-440ep", "ibm,mcmal-440gp", "ibm,mcmal";
95			dcr-reg = <180 62>;
96			num-tx-chans = <4>;
97			num-rx-chans = <2>;
98			interrupt-parent = <&MAL0>;
99			interrupts = <0 1 2 3 4>;
100			#interrupt-cells = <1>;
101			interrupt-map = </*TXEOB*/ 0 &UIC0 a 4
102					/*RXEOB*/ 1 &UIC0 b 4
103					/*SERR*/  2 &UIC1 0 4
104					/*TXDE*/  3 &UIC1 1 4
105					/*RXDE*/  4 &UIC1 3 4>;
106		};
107
108		POB0: opb {
109		  	compatible = "ibm,opb-440ep", "ibm,opb-440gp", "ibm,opb";
110			#address-cells = <1>;
111			#size-cells = <1>;
112			/* Bamboo is oddball in the 44x world and doesn't use the ERPN
113			 * bits.
114			 */
115		  	ranges = <00000000 0 00000000 80000000
116			          80000000 0 80000000 80000000>;
117		  	interrupt-parent = <&UIC1>;
118		  	interrupts = <7 4>;
119		  	clock-frequency = <0>; /* Filled in by zImage */
120
121			EBC0: ebc {
122				compatible = "ibm,ebc-440ep", "ibm,ebc-440gp", "ibm,ebc";
123				dcr-reg = <012 2>;
124				#address-cells = <2>;
125				#size-cells = <1>;
126				clock-frequency = <0>; /* Filled in by zImage */
127				ranges;
128				interrupts = <5 1>;
129				interrupt-parent = <&UIC1>;
130			};
131
132			UART0: serial@ef600300 {
133		   		device_type = "serial";
134		   		compatible = "ns16550";
135		   		reg = <ef600300 8>;
136		   		virtual-reg = <ef600300>;
137		   		clock-frequency = <0>; /* Filled in by zImage */
138		   		current-speed = <1c200>;
139		   		interrupt-parent = <&UIC0>;
140		   		interrupts = <0 4>;
141	   		};
142
143			UART1: serial@ef600400 {
144		   		device_type = "serial";
145		   		compatible = "ns16550";
146		   		reg = <ef600400 8>;
147		   		virtual-reg = <ef600400>;
148		   		clock-frequency = <0>;
149		   		current-speed = <0>;
150		   		interrupt-parent = <&UIC0>;
151		   		interrupts = <1 4>;
152	   		};
153
154			UART2: serial@ef600500 {
155		   		device_type = "serial";
156		   		compatible = "ns16550";
157		   		reg = <ef600500 8>;
158		   		virtual-reg = <ef600500>;
159		   		clock-frequency = <0>;
160		   		current-speed = <0>;
161		   		interrupt-parent = <&UIC0>;
162		   		interrupts = <3 4>;
163	   		};
164
165			UART3: serial@ef600600 {
166		   		device_type = "serial";
167		   		compatible = "ns16550";
168		   		reg = <ef600600 8>;
169		   		virtual-reg = <ef600600>;
170		   		clock-frequency = <0>;
171		   		current-speed = <0>;
172		   		interrupt-parent = <&UIC0>;
173		   		interrupts = <4 4>;
174	   		};
175
176			IIC0: i2c@ef600700 {
177				device_type = "i2c";
178				compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic";
179				reg = <ef600700 14>;
180				interrupt-parent = <&UIC0>;
181				interrupts = <2 4>;
182			};
183
184			IIC1: i2c@ef600800 {
185				device_type = "i2c";
186				compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic";
187				reg = <ef600800 14>;
188				interrupt-parent = <&UIC0>;
189				interrupts = <7 4>;
190			};
191
192			ZMII0: emac-zmii@ef600d00 {
193				device_type = "zmii-interface";
194				compatible = "ibm,zmii-440ep", "ibm,zmii-440gp", "ibm,zmii";
195				reg = <ef600d00 c>;
196			};
197
198			EMAC0: ethernet@ef600e00 {
199				device_type = "network";
200				compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
201				interrupt-parent = <&UIC1>;
202				interrupts = <1c 4 1d 4>;
203				reg = <ef600e00 70>;
204				local-mac-address = [000000000000];
205				mal-device = <&MAL0>;
206				mal-tx-channel = <0 1>;
207				mal-rx-channel = <0>;
208				cell-index = <0>;
209				max-frame-size = <5dc>;
210				rx-fifo-size = <1000>;
211				tx-fifo-size = <800>;
212				phy-mode = "rmii";
213				phy-map = <00000001>;
214				zmii-device = <&ZMII0>;
215				zmii-channel = <0>;
216			};
217
218			EMAC1: ethernet@ef600f00 {
219				device_type = "network";
220				compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
221				interrupt-parent = <&UIC1>;
222				interrupts = <1e 4 1f 4>;
223				reg = <ef600f00 70>;
224				local-mac-address = [000000000000];
225				mal-device = <&MAL0>;
226				mal-tx-channel = <2 3>;
227				mal-rx-channel = <1>;
228				cell-index = <1>;
229				max-frame-size = <5dc>;
230				rx-fifo-size = <1000>;
231				tx-fifo-size = <800>;
232				phy-mode = "rmii";
233				phy-map = <00000001>;
234				zmii-device = <&ZMII0>;
235				zmii-channel = <1>;
236			};
237		};
238	};
239
240	chosen {
241		linux,stdout-path = "/plb/opb/serial@ef600300";
242		bootargs = "console=ttyS0,115200";
243	};
244};
245