xref: /linux/scripts/dtc/include-prefixes/powerpc/rainier.dts (revision 3910cd8c11a883a5e4d644f24c56b9897dffb34c)
1*3910cd8cSValentine Barshak/*
2*3910cd8cSValentine Barshak * Device Tree Source for AMCC Rainier
3*3910cd8cSValentine Barshak *
4*3910cd8cSValentine Barshak * Based on Sequoia code
5*3910cd8cSValentine Barshak * Copyright (c) 2007 MontaVista Software, Inc.
6*3910cd8cSValentine Barshak *
7*3910cd8cSValentine Barshak * FIXME: Draft only!
8*3910cd8cSValentine Barshak *
9*3910cd8cSValentine Barshak * This file is licensed under the terms of the GNU General Public
10*3910cd8cSValentine Barshak * License version 2.  This program is licensed "as is" without
11*3910cd8cSValentine Barshak * any warranty of any kind, whether express or implied.
12*3910cd8cSValentine Barshak *
13*3910cd8cSValentine Barshak */
14*3910cd8cSValentine Barshak
15*3910cd8cSValentine Barshak/ {
16*3910cd8cSValentine Barshak	#address-cells = <2>;
17*3910cd8cSValentine Barshak	#size-cells = <1>;
18*3910cd8cSValentine Barshak	model = "amcc,rainier";
19*3910cd8cSValentine Barshak	compatible = "amcc,rainier";
20*3910cd8cSValentine Barshak	dcr-parent = <&/cpus/PowerPC,440GRx@0>;
21*3910cd8cSValentine Barshak
22*3910cd8cSValentine Barshak	cpus {
23*3910cd8cSValentine Barshak		#address-cells = <1>;
24*3910cd8cSValentine Barshak		#size-cells = <0>;
25*3910cd8cSValentine Barshak
26*3910cd8cSValentine Barshak		PowerPC,440GRx@0 {
27*3910cd8cSValentine Barshak			device_type = "cpu";
28*3910cd8cSValentine Barshak			reg = <0>;
29*3910cd8cSValentine Barshak			clock-frequency = <0>; /* Filled in by zImage */
30*3910cd8cSValentine Barshak			timebase-frequency = <0>; /* Filled in by zImage */
31*3910cd8cSValentine Barshak			i-cache-line-size = <20>;
32*3910cd8cSValentine Barshak			d-cache-line-size = <20>;
33*3910cd8cSValentine Barshak			i-cache-size = <8000>;
34*3910cd8cSValentine Barshak			d-cache-size = <8000>;
35*3910cd8cSValentine Barshak			dcr-controller;
36*3910cd8cSValentine Barshak			dcr-access-method = "native";
37*3910cd8cSValentine Barshak		};
38*3910cd8cSValentine Barshak	};
39*3910cd8cSValentine Barshak
40*3910cd8cSValentine Barshak	memory {
41*3910cd8cSValentine Barshak		device_type = "memory";
42*3910cd8cSValentine Barshak		reg = <0 0 0>; /* Filled in by zImage */
43*3910cd8cSValentine Barshak	};
44*3910cd8cSValentine Barshak
45*3910cd8cSValentine Barshak	UIC0: interrupt-controller0 {
46*3910cd8cSValentine Barshak		compatible = "ibm,uic-440grx","ibm,uic";
47*3910cd8cSValentine Barshak		interrupt-controller;
48*3910cd8cSValentine Barshak		cell-index = <0>;
49*3910cd8cSValentine Barshak		dcr-reg = <0c0 009>;
50*3910cd8cSValentine Barshak		#address-cells = <0>;
51*3910cd8cSValentine Barshak		#size-cells = <0>;
52*3910cd8cSValentine Barshak		#interrupt-cells = <2>;
53*3910cd8cSValentine Barshak	};
54*3910cd8cSValentine Barshak
55*3910cd8cSValentine Barshak	UIC1: interrupt-controller1 {
56*3910cd8cSValentine Barshak		compatible = "ibm,uic-440grx","ibm,uic";
57*3910cd8cSValentine Barshak		interrupt-controller;
58*3910cd8cSValentine Barshak		cell-index = <1>;
59*3910cd8cSValentine Barshak		dcr-reg = <0d0 009>;
60*3910cd8cSValentine Barshak		#address-cells = <0>;
61*3910cd8cSValentine Barshak		#size-cells = <0>;
62*3910cd8cSValentine Barshak		#interrupt-cells = <2>;
63*3910cd8cSValentine Barshak		interrupts = <1e 4 1f 4>; /* cascade */
64*3910cd8cSValentine Barshak		interrupt-parent = <&UIC0>;
65*3910cd8cSValentine Barshak	};
66*3910cd8cSValentine Barshak
67*3910cd8cSValentine Barshak	UIC2: interrupt-controller2 {
68*3910cd8cSValentine Barshak		compatible = "ibm,uic-440grx","ibm,uic";
69*3910cd8cSValentine Barshak		interrupt-controller;
70*3910cd8cSValentine Barshak		cell-index = <2>;
71*3910cd8cSValentine Barshak		dcr-reg = <0e0 009>;
72*3910cd8cSValentine Barshak		#address-cells = <0>;
73*3910cd8cSValentine Barshak		#size-cells = <0>;
74*3910cd8cSValentine Barshak		#interrupt-cells = <2>;
75*3910cd8cSValentine Barshak		interrupts = <1c 4 1d 4>; /* cascade */
76*3910cd8cSValentine Barshak		interrupt-parent = <&UIC0>;
77*3910cd8cSValentine Barshak	};
78*3910cd8cSValentine Barshak
79*3910cd8cSValentine Barshak	SDR0: sdr {
80*3910cd8cSValentine Barshak		compatible = "ibm,sdr-440grx", "ibm,sdr-440ep";
81*3910cd8cSValentine Barshak		dcr-reg = <00e 002>;
82*3910cd8cSValentine Barshak	};
83*3910cd8cSValentine Barshak
84*3910cd8cSValentine Barshak	CPR0: cpr {
85*3910cd8cSValentine Barshak		compatible = "ibm,cpr-440grx", "ibm,cpr-440ep";
86*3910cd8cSValentine Barshak		dcr-reg = <00c 002>;
87*3910cd8cSValentine Barshak	};
88*3910cd8cSValentine Barshak
89*3910cd8cSValentine Barshak	plb {
90*3910cd8cSValentine Barshak		compatible = "ibm,plb-440grx", "ibm,plb4";
91*3910cd8cSValentine Barshak		#address-cells = <2>;
92*3910cd8cSValentine Barshak		#size-cells = <1>;
93*3910cd8cSValentine Barshak		ranges;
94*3910cd8cSValentine Barshak		clock-frequency = <0>; /* Filled in by zImage */
95*3910cd8cSValentine Barshak
96*3910cd8cSValentine Barshak		SDRAM0: sdram {
97*3910cd8cSValentine Barshak			device_type = "memory-controller";
98*3910cd8cSValentine Barshak			compatible = "ibm,sdram-440grx", "ibm,sdram-44x-ddr2denali";
99*3910cd8cSValentine Barshak			dcr-reg = <010 2>;
100*3910cd8cSValentine Barshak		};
101*3910cd8cSValentine Barshak
102*3910cd8cSValentine Barshak		DMA0: dma {
103*3910cd8cSValentine Barshak			compatible = "ibm,dma-440grx", "ibm,dma-4xx";
104*3910cd8cSValentine Barshak			dcr-reg = <100 027>;
105*3910cd8cSValentine Barshak		};
106*3910cd8cSValentine Barshak
107*3910cd8cSValentine Barshak		MAL0: mcmal {
108*3910cd8cSValentine Barshak			compatible = "ibm,mcmal-440grx", "ibm,mcmal2";
109*3910cd8cSValentine Barshak			dcr-reg = <180 62>;
110*3910cd8cSValentine Barshak			num-tx-chans = <2>;
111*3910cd8cSValentine Barshak			num-rx-chans = <2>;
112*3910cd8cSValentine Barshak			interrupt-parent = <&MAL0>;
113*3910cd8cSValentine Barshak			interrupts = <0 1 2 3 4>;
114*3910cd8cSValentine Barshak			#interrupt-cells = <1>;
115*3910cd8cSValentine Barshak			#address-cells = <0>;
116*3910cd8cSValentine Barshak			#size-cells = <0>;
117*3910cd8cSValentine Barshak			interrupt-map = </*TXEOB*/ 0 &UIC0 a 4
118*3910cd8cSValentine Barshak					/*RXEOB*/ 1 &UIC0 b 4
119*3910cd8cSValentine Barshak					/*SERR*/  2 &UIC1 0 4
120*3910cd8cSValentine Barshak					/*TXDE*/  3 &UIC1 1 4
121*3910cd8cSValentine Barshak					/*RXDE*/  4 &UIC1 2 4>;
122*3910cd8cSValentine Barshak			interrupt-map-mask = <ffffffff>;
123*3910cd8cSValentine Barshak		};
124*3910cd8cSValentine Barshak
125*3910cd8cSValentine Barshak		POB0: opb {
126*3910cd8cSValentine Barshak		  	compatible = "ibm,opb-440grx", "ibm,opb";
127*3910cd8cSValentine Barshak			#address-cells = <1>;
128*3910cd8cSValentine Barshak			#size-cells = <1>;
129*3910cd8cSValentine Barshak		  	ranges = <00000000 1 00000000 80000000
130*3910cd8cSValentine Barshak			          80000000 1 80000000 80000000>;
131*3910cd8cSValentine Barshak		  	interrupt-parent = <&UIC1>;
132*3910cd8cSValentine Barshak		  	interrupts = <7 4>;
133*3910cd8cSValentine Barshak		  	clock-frequency = <0>; /* Filled in by zImage */
134*3910cd8cSValentine Barshak
135*3910cd8cSValentine Barshak			EBC0: ebc {
136*3910cd8cSValentine Barshak				compatible = "ibm,ebc-440grx", "ibm,ebc";
137*3910cd8cSValentine Barshak				dcr-reg = <012 2>;
138*3910cd8cSValentine Barshak				#address-cells = <2>;
139*3910cd8cSValentine Barshak				#size-cells = <1>;
140*3910cd8cSValentine Barshak				clock-frequency = <0>; /* Filled in by zImage */
141*3910cd8cSValentine Barshak				interrupts = <5 1>;
142*3910cd8cSValentine Barshak				interrupt-parent = <&UIC1>;
143*3910cd8cSValentine Barshak
144*3910cd8cSValentine Barshak				nor_flash@0,0 {
145*3910cd8cSValentine Barshak					compatible = "amd,s29gl256n", "cfi-flash";
146*3910cd8cSValentine Barshak					bank-width = <2>;
147*3910cd8cSValentine Barshak					reg = <0 000000 4000000>;
148*3910cd8cSValentine Barshak					#address-cells = <1>;
149*3910cd8cSValentine Barshak					#size-cells = <1>;
150*3910cd8cSValentine Barshak					partition@0 {
151*3910cd8cSValentine Barshak						label = "Kernel";
152*3910cd8cSValentine Barshak						reg = <0 180000>;
153*3910cd8cSValentine Barshak					};
154*3910cd8cSValentine Barshak					partition@180000 {
155*3910cd8cSValentine Barshak						label = "ramdisk";
156*3910cd8cSValentine Barshak						reg = <180000 200000>;
157*3910cd8cSValentine Barshak					};
158*3910cd8cSValentine Barshak					partition@380000 {
159*3910cd8cSValentine Barshak						label = "file system";
160*3910cd8cSValentine Barshak						reg = <380000 3aa0000>;
161*3910cd8cSValentine Barshak					};
162*3910cd8cSValentine Barshak					partition@3e20000 {
163*3910cd8cSValentine Barshak						label = "kozio";
164*3910cd8cSValentine Barshak						reg = <3e20000 140000>;
165*3910cd8cSValentine Barshak					};
166*3910cd8cSValentine Barshak					partition@3f60000 {
167*3910cd8cSValentine Barshak						label = "env";
168*3910cd8cSValentine Barshak						reg = <3f60000 40000>;
169*3910cd8cSValentine Barshak					};
170*3910cd8cSValentine Barshak					partition@3fa0000 {
171*3910cd8cSValentine Barshak						label = "u-boot";
172*3910cd8cSValentine Barshak						reg = <3fa0000 60000>;
173*3910cd8cSValentine Barshak					};
174*3910cd8cSValentine Barshak				};
175*3910cd8cSValentine Barshak
176*3910cd8cSValentine Barshak			};
177*3910cd8cSValentine Barshak
178*3910cd8cSValentine Barshak			UART0: serial@ef600300 {
179*3910cd8cSValentine Barshak		   		device_type = "serial";
180*3910cd8cSValentine Barshak		   		compatible = "ns16550";
181*3910cd8cSValentine Barshak		   		reg = <ef600300 8>;
182*3910cd8cSValentine Barshak		   		virtual-reg = <ef600300>;
183*3910cd8cSValentine Barshak		   		clock-frequency = <0>; /* Filled in by zImage */
184*3910cd8cSValentine Barshak		   		current-speed = <1c200>;
185*3910cd8cSValentine Barshak		   		interrupt-parent = <&UIC0>;
186*3910cd8cSValentine Barshak		   		interrupts = <0 4>;
187*3910cd8cSValentine Barshak	   		};
188*3910cd8cSValentine Barshak
189*3910cd8cSValentine Barshak			UART1: serial@ef600400 {
190*3910cd8cSValentine Barshak		   		device_type = "serial";
191*3910cd8cSValentine Barshak		   		compatible = "ns16550";
192*3910cd8cSValentine Barshak		   		reg = <ef600400 8>;
193*3910cd8cSValentine Barshak		   		virtual-reg = <ef600400>;
194*3910cd8cSValentine Barshak		   		clock-frequency = <0>;
195*3910cd8cSValentine Barshak		   		current-speed = <0>;
196*3910cd8cSValentine Barshak		   		interrupt-parent = <&UIC0>;
197*3910cd8cSValentine Barshak		   		interrupts = <1 4>;
198*3910cd8cSValentine Barshak	   		};
199*3910cd8cSValentine Barshak
200*3910cd8cSValentine Barshak			UART2: serial@ef600500 {
201*3910cd8cSValentine Barshak		   		device_type = "serial";
202*3910cd8cSValentine Barshak		   		compatible = "ns16550";
203*3910cd8cSValentine Barshak		   		reg = <ef600500 8>;
204*3910cd8cSValentine Barshak		   		virtual-reg = <ef600500>;
205*3910cd8cSValentine Barshak		   		clock-frequency = <0>;
206*3910cd8cSValentine Barshak		   		current-speed = <0>;
207*3910cd8cSValentine Barshak		   		interrupt-parent = <&UIC1>;
208*3910cd8cSValentine Barshak		   		interrupts = <3 4>;
209*3910cd8cSValentine Barshak	   		};
210*3910cd8cSValentine Barshak
211*3910cd8cSValentine Barshak			UART3: serial@ef600600 {
212*3910cd8cSValentine Barshak		   		device_type = "serial";
213*3910cd8cSValentine Barshak		   		compatible = "ns16550";
214*3910cd8cSValentine Barshak		   		reg = <ef600600 8>;
215*3910cd8cSValentine Barshak		   		virtual-reg = <ef600600>;
216*3910cd8cSValentine Barshak		   		clock-frequency = <0>;
217*3910cd8cSValentine Barshak		   		current-speed = <0>;
218*3910cd8cSValentine Barshak		   		interrupt-parent = <&UIC1>;
219*3910cd8cSValentine Barshak		   		interrupts = <4 4>;
220*3910cd8cSValentine Barshak	   		};
221*3910cd8cSValentine Barshak
222*3910cd8cSValentine Barshak			IIC0: i2c@ef600700 {
223*3910cd8cSValentine Barshak				device_type = "i2c";
224*3910cd8cSValentine Barshak				compatible = "ibm,iic-440grx", "ibm,iic";
225*3910cd8cSValentine Barshak				reg = <ef600700 14>;
226*3910cd8cSValentine Barshak				interrupt-parent = <&UIC0>;
227*3910cd8cSValentine Barshak				interrupts = <2 4>;
228*3910cd8cSValentine Barshak			};
229*3910cd8cSValentine Barshak
230*3910cd8cSValentine Barshak			IIC1: i2c@ef600800 {
231*3910cd8cSValentine Barshak				device_type = "i2c";
232*3910cd8cSValentine Barshak				compatible = "ibm,iic-440grx", "ibm,iic";
233*3910cd8cSValentine Barshak				reg = <ef600800 14>;
234*3910cd8cSValentine Barshak				interrupt-parent = <&UIC0>;
235*3910cd8cSValentine Barshak				interrupts = <7 4>;
236*3910cd8cSValentine Barshak			};
237*3910cd8cSValentine Barshak
238*3910cd8cSValentine Barshak			ZMII0: emac-zmii@ef600d00 {
239*3910cd8cSValentine Barshak				device_type = "zmii-interface";
240*3910cd8cSValentine Barshak				compatible = "ibm,zmii-440grx", "ibm,zmii";
241*3910cd8cSValentine Barshak				reg = <ef600d00 c>;
242*3910cd8cSValentine Barshak			};
243*3910cd8cSValentine Barshak
244*3910cd8cSValentine Barshak			RGMII0: emac-rgmii@ef601000 {
245*3910cd8cSValentine Barshak				device_type = "rgmii-interface";
246*3910cd8cSValentine Barshak				compatible = "ibm,rgmii-440grx", "ibm,rgmii";
247*3910cd8cSValentine Barshak				reg = <ef601000 8>;
248*3910cd8cSValentine Barshak			};
249*3910cd8cSValentine Barshak
250*3910cd8cSValentine Barshak			EMAC0: ethernet@ef600e00 {
251*3910cd8cSValentine Barshak				linux,network-index = <0>;
252*3910cd8cSValentine Barshak				device_type = "network";
253*3910cd8cSValentine Barshak				compatible = "ibm,emac-440grx", "ibm,emac-440epx", "ibm,emac4";
254*3910cd8cSValentine Barshak				interrupt-parent = <&EMAC0>;
255*3910cd8cSValentine Barshak				interrupts = <0 1>;
256*3910cd8cSValentine Barshak				#interrupt-cells = <1>;
257*3910cd8cSValentine Barshak				#address-cells = <0>;
258*3910cd8cSValentine Barshak				#size-cells = <0>;
259*3910cd8cSValentine Barshak				interrupt-map = </*Status*/ 0 &UIC0 18 4
260*3910cd8cSValentine Barshak						/*Wake*/  1 &UIC1 1d 4>;
261*3910cd8cSValentine Barshak				reg = <ef600e00 70>;
262*3910cd8cSValentine Barshak				local-mac-address = [000000000000];
263*3910cd8cSValentine Barshak				mal-device = <&MAL0>;
264*3910cd8cSValentine Barshak				mal-tx-channel = <0>;
265*3910cd8cSValentine Barshak				mal-rx-channel = <0>;
266*3910cd8cSValentine Barshak				cell-index = <0>;
267*3910cd8cSValentine Barshak				max-frame-size = <5dc>;
268*3910cd8cSValentine Barshak				rx-fifo-size = <1000>;
269*3910cd8cSValentine Barshak				tx-fifo-size = <800>;
270*3910cd8cSValentine Barshak				phy-mode = "rgmii";
271*3910cd8cSValentine Barshak				phy-map = <00000000>;
272*3910cd8cSValentine Barshak				zmii-device = <&ZMII0>;
273*3910cd8cSValentine Barshak				zmii-channel = <0>;
274*3910cd8cSValentine Barshak				rgmii-device = <&RGMII0>;
275*3910cd8cSValentine Barshak				rgmii-channel = <0>;
276*3910cd8cSValentine Barshak			};
277*3910cd8cSValentine Barshak
278*3910cd8cSValentine Barshak			EMAC1: ethernet@ef600f00 {
279*3910cd8cSValentine Barshak				linux,network-index = <1>;
280*3910cd8cSValentine Barshak				device_type = "network";
281*3910cd8cSValentine Barshak				compatible = "ibm,emac-440grx", "ibm,emac-440epx", "ibm,emac4";
282*3910cd8cSValentine Barshak				interrupt-parent = <&EMAC1>;
283*3910cd8cSValentine Barshak				interrupts = <0 1>;
284*3910cd8cSValentine Barshak				#interrupt-cells = <1>;
285*3910cd8cSValentine Barshak				#address-cells = <0>;
286*3910cd8cSValentine Barshak				#size-cells = <0>;
287*3910cd8cSValentine Barshak				interrupt-map = </*Status*/ 0 &UIC0 19 4
288*3910cd8cSValentine Barshak						/*Wake*/  1 &UIC1 1f 4>;
289*3910cd8cSValentine Barshak				reg = <ef600f00 70>;
290*3910cd8cSValentine Barshak				local-mac-address = [000000000000];
291*3910cd8cSValentine Barshak				mal-device = <&MAL0>;
292*3910cd8cSValentine Barshak				mal-tx-channel = <1>;
293*3910cd8cSValentine Barshak				mal-rx-channel = <1>;
294*3910cd8cSValentine Barshak				cell-index = <1>;
295*3910cd8cSValentine Barshak				max-frame-size = <5dc>;
296*3910cd8cSValentine Barshak				rx-fifo-size = <1000>;
297*3910cd8cSValentine Barshak				tx-fifo-size = <800>;
298*3910cd8cSValentine Barshak				phy-mode = "rgmii";
299*3910cd8cSValentine Barshak				phy-map = <00000000>;
300*3910cd8cSValentine Barshak				zmii-device = <&ZMII0>;
301*3910cd8cSValentine Barshak				zmii-channel = <1>;
302*3910cd8cSValentine Barshak				rgmii-device = <&RGMII0>;
303*3910cd8cSValentine Barshak				rgmii-channel = <1>;
304*3910cd8cSValentine Barshak			};
305*3910cd8cSValentine Barshak		};
306*3910cd8cSValentine Barshak	};
307*3910cd8cSValentine Barshak
308*3910cd8cSValentine Barshak	chosen {
309*3910cd8cSValentine Barshak		linux,stdout-path = "/plb/opb/serial@ef600300";
310*3910cd8cSValentine Barshak		bootargs = "console=ttyS0,115200";
311*3910cd8cSValentine Barshak	};
312*3910cd8cSValentine Barshak};
313