xref: /linux/arch/powerpc/boot/dts/bluestone.dts (revision 6edc323db720c65b9e6a770b4bed98f251dd49f0)
1*6edc323dSTirumala Marri/*
2*6edc323dSTirumala Marri * Device Tree for Bluestone (APM821xx) board.
3*6edc323dSTirumala Marri *
4*6edc323dSTirumala Marri * Copyright (c) 2010, Applied Micro Circuits Corporation
5*6edc323dSTirumala Marri * Author: Tirumala R Marri <tmarri@apm.com>
6*6edc323dSTirumala Marri *
7*6edc323dSTirumala Marri * This program is free software; you can redistribute it and/or
8*6edc323dSTirumala Marri * modify it under the terms of the GNU General Public License as
9*6edc323dSTirumala Marri * published by the Free Software Foundation; either version 2 of
10*6edc323dSTirumala Marri * the License, or (at your option) any later version.
11*6edc323dSTirumala Marri *
12*6edc323dSTirumala Marri * This program is distributed in the hope that it will be useful,
13*6edc323dSTirumala Marri * but WITHOUT ANY WARRANTY; without even the implied warranty of
14*6edc323dSTirumala Marri * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15*6edc323dSTirumala Marri * GNU General Public License for more details.
16*6edc323dSTirumala Marri *
17*6edc323dSTirumala Marri * You should have received a copy of the GNU General Public License
18*6edc323dSTirumala Marri * along with this program; if not, write to the Free Software
19*6edc323dSTirumala Marri * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20*6edc323dSTirumala Marri * MA 02111-1307 USA
21*6edc323dSTirumala Marri *
22*6edc323dSTirumala Marri */
23*6edc323dSTirumala Marri
24*6edc323dSTirumala Marri/dts-v1/;
25*6edc323dSTirumala Marri
26*6edc323dSTirumala Marri/ {
27*6edc323dSTirumala Marri	#address-cells = <2>;
28*6edc323dSTirumala Marri	#size-cells = <1>;
29*6edc323dSTirumala Marri	model = "apm,bluestone";
30*6edc323dSTirumala Marri	compatible = "apm,bluestone";
31*6edc323dSTirumala Marri	dcr-parent = <&{/cpus/cpu@0}>;
32*6edc323dSTirumala Marri
33*6edc323dSTirumala Marri	aliases {
34*6edc323dSTirumala Marri		ethernet0 = &EMAC0;
35*6edc323dSTirumala Marri		serial0 = &UART0;
36*6edc323dSTirumala Marri		serial1 = &UART1;
37*6edc323dSTirumala Marri	};
38*6edc323dSTirumala Marri
39*6edc323dSTirumala Marri	cpus {
40*6edc323dSTirumala Marri		#address-cells = <1>;
41*6edc323dSTirumala Marri		#size-cells = <0>;
42*6edc323dSTirumala Marri
43*6edc323dSTirumala Marri		cpu@0 {
44*6edc323dSTirumala Marri			device_type = "cpu";
45*6edc323dSTirumala Marri			model = "PowerPC,apm821xx";
46*6edc323dSTirumala Marri			reg = <0x00000000>;
47*6edc323dSTirumala Marri			clock-frequency = <0>; /* Filled in by U-Boot */
48*6edc323dSTirumala Marri			timebase-frequency = <0>; /* Filled in by U-Boot */
49*6edc323dSTirumala Marri			i-cache-line-size = <32>;
50*6edc323dSTirumala Marri			d-cache-line-size = <32>;
51*6edc323dSTirumala Marri			i-cache-size = <32768>;
52*6edc323dSTirumala Marri			d-cache-size = <32768>;
53*6edc323dSTirumala Marri			dcr-controller;
54*6edc323dSTirumala Marri			dcr-access-method = "native";
55*6edc323dSTirumala Marri			next-level-cache = <&L2C0>;
56*6edc323dSTirumala Marri		};
57*6edc323dSTirumala Marri	};
58*6edc323dSTirumala Marri
59*6edc323dSTirumala Marri	memory {
60*6edc323dSTirumala Marri		device_type = "memory";
61*6edc323dSTirumala Marri		reg = <0x00000000 0x00000000 0x00000000>; /* Filled in by U-Boot */
62*6edc323dSTirumala Marri	};
63*6edc323dSTirumala Marri
64*6edc323dSTirumala Marri	UIC0: interrupt-controller0 {
65*6edc323dSTirumala Marri		compatible = "ibm,uic";
66*6edc323dSTirumala Marri		interrupt-controller;
67*6edc323dSTirumala Marri		cell-index = <0>;
68*6edc323dSTirumala Marri		dcr-reg = <0x0c0 0x009>;
69*6edc323dSTirumala Marri		#address-cells = <0>;
70*6edc323dSTirumala Marri		#size-cells = <0>;
71*6edc323dSTirumala Marri		#interrupt-cells = <2>;
72*6edc323dSTirumala Marri	};
73*6edc323dSTirumala Marri
74*6edc323dSTirumala Marri	UIC1: interrupt-controller1 {
75*6edc323dSTirumala Marri		compatible = "ibm,uic";
76*6edc323dSTirumala Marri		interrupt-controller;
77*6edc323dSTirumala Marri		cell-index = <1>;
78*6edc323dSTirumala Marri		dcr-reg = <0x0d0 0x009>;
79*6edc323dSTirumala Marri		#address-cells = <0>;
80*6edc323dSTirumala Marri		#size-cells = <0>;
81*6edc323dSTirumala Marri		#interrupt-cells = <2>;
82*6edc323dSTirumala Marri		interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */
83*6edc323dSTirumala Marri		interrupt-parent = <&UIC0>;
84*6edc323dSTirumala Marri	};
85*6edc323dSTirumala Marri
86*6edc323dSTirumala Marri	UIC2: interrupt-controller2 {
87*6edc323dSTirumala Marri		compatible = "ibm,uic";
88*6edc323dSTirumala Marri		interrupt-controller;
89*6edc323dSTirumala Marri		cell-index = <2>;
90*6edc323dSTirumala Marri		dcr-reg = <0x0e0 0x009>;
91*6edc323dSTirumala Marri		#address-cells = <0>;
92*6edc323dSTirumala Marri		#size-cells = <0>;
93*6edc323dSTirumala Marri		#interrupt-cells = <2>;
94*6edc323dSTirumala Marri		interrupts = <0xa 0x4 0xb 0x4>; /* cascade */
95*6edc323dSTirumala Marri		interrupt-parent = <&UIC0>;
96*6edc323dSTirumala Marri	};
97*6edc323dSTirumala Marri
98*6edc323dSTirumala Marri	UIC3: interrupt-controller3 {
99*6edc323dSTirumala Marri		compatible = "ibm,uic";
100*6edc323dSTirumala Marri		interrupt-controller;
101*6edc323dSTirumala Marri		cell-index = <3>;
102*6edc323dSTirumala Marri		dcr-reg = <0x0f0 0x009>;
103*6edc323dSTirumala Marri		#address-cells = <0>;
104*6edc323dSTirumala Marri		#size-cells = <0>;
105*6edc323dSTirumala Marri		#interrupt-cells = <2>;
106*6edc323dSTirumala Marri		interrupts = <0x10 0x4 0x11 0x4>; /* cascade */
107*6edc323dSTirumala Marri		interrupt-parent = <&UIC0>;
108*6edc323dSTirumala Marri	};
109*6edc323dSTirumala Marri
110*6edc323dSTirumala Marri	SDR0: sdr {
111*6edc323dSTirumala Marri		compatible = "ibm,sdr-apm821xx";
112*6edc323dSTirumala Marri		dcr-reg = <0x00e 0x002>;
113*6edc323dSTirumala Marri	};
114*6edc323dSTirumala Marri
115*6edc323dSTirumala Marri	CPR0: cpr {
116*6edc323dSTirumala Marri		compatible = "ibm,cpr-apm821xx";
117*6edc323dSTirumala Marri		dcr-reg = <0x00c 0x002>;
118*6edc323dSTirumala Marri	};
119*6edc323dSTirumala Marri
120*6edc323dSTirumala Marri	plb {
121*6edc323dSTirumala Marri		compatible = "ibm,plb4";
122*6edc323dSTirumala Marri		#address-cells = <2>;
123*6edc323dSTirumala Marri		#size-cells = <1>;
124*6edc323dSTirumala Marri		ranges;
125*6edc323dSTirumala Marri		clock-frequency = <0>; /* Filled in by U-Boot */
126*6edc323dSTirumala Marri
127*6edc323dSTirumala Marri		SDRAM0: sdram {
128*6edc323dSTirumala Marri			compatible = "ibm,sdram-apm821xx";
129*6edc323dSTirumala Marri			dcr-reg = <0x010 0x002>;
130*6edc323dSTirumala Marri		};
131*6edc323dSTirumala Marri
132*6edc323dSTirumala Marri		MAL0: mcmal {
133*6edc323dSTirumala Marri			compatible = "ibm,mcmal2";
134*6edc323dSTirumala Marri			descriptor-memory = "ocm";
135*6edc323dSTirumala Marri			dcr-reg = <0x180 0x062>;
136*6edc323dSTirumala Marri			num-tx-chans = <1>;
137*6edc323dSTirumala Marri			num-rx-chans = <1>;
138*6edc323dSTirumala Marri			#address-cells = <0>;
139*6edc323dSTirumala Marri			#size-cells = <0>;
140*6edc323dSTirumala Marri			interrupt-parent = <&UIC2>;
141*6edc323dSTirumala Marri			interrupts = <	/*TXEOB*/ 0x6 0x4
142*6edc323dSTirumala Marri					/*RXEOB*/ 0x7 0x4
143*6edc323dSTirumala Marri					/*SERR*/  0x3 0x4
144*6edc323dSTirumala Marri					/*TXDE*/  0x4 0x4
145*6edc323dSTirumala Marri					/*RXDE*/  0x5 0x4
146*6edc323dSTirumala Marri		};
147*6edc323dSTirumala Marri
148*6edc323dSTirumala Marri		POB0: opb {
149*6edc323dSTirumala Marri			compatible = "ibm,opb";
150*6edc323dSTirumala Marri			#address-cells = <1>;
151*6edc323dSTirumala Marri			#size-cells = <1>;
152*6edc323dSTirumala Marri			ranges = <0xb0000000 0x00000004 0xb0000000 0x50000000>;
153*6edc323dSTirumala Marri			clock-frequency = <0>; /* Filled in by U-Boot */
154*6edc323dSTirumala Marri
155*6edc323dSTirumala Marri			EBC0: ebc {
156*6edc323dSTirumala Marri				compatible = "ibm,ebc";
157*6edc323dSTirumala Marri				dcr-reg = <0x012 0x002>;
158*6edc323dSTirumala Marri				#address-cells = <2>;
159*6edc323dSTirumala Marri				#size-cells = <1>;
160*6edc323dSTirumala Marri				clock-frequency = <0>; /* Filled in by U-Boot */
161*6edc323dSTirumala Marri				/* ranges property is supplied by U-Boot */
162*6edc323dSTirumala Marri				ranges = < 0x00000003 0x00000000 0xe0000000 0x8000000>;
163*6edc323dSTirumala Marri				interrupts = <0x6 0x4>;
164*6edc323dSTirumala Marri				interrupt-parent = <&UIC1>;
165*6edc323dSTirumala Marri
166*6edc323dSTirumala Marri				nor_flash@0,0 {
167*6edc323dSTirumala Marri					compatible = "amd,s29gl512n", "cfi-flash";
168*6edc323dSTirumala Marri					bank-width = <2>;
169*6edc323dSTirumala Marri					reg = <0x00000000 0x00000000 0x00400000>;
170*6edc323dSTirumala Marri					#address-cells = <1>;
171*6edc323dSTirumala Marri					#size-cells = <1>;
172*6edc323dSTirumala Marri					partition@0 {
173*6edc323dSTirumala Marri						label = "kernel";
174*6edc323dSTirumala Marri						reg = <0x00000000 0x00180000>;
175*6edc323dSTirumala Marri					};
176*6edc323dSTirumala Marri					partition@180000 {
177*6edc323dSTirumala Marri						label = "env";
178*6edc323dSTirumala Marri						reg = <0x00180000 0x00020000>;
179*6edc323dSTirumala Marri					};
180*6edc323dSTirumala Marri					partition@1a0000 {
181*6edc323dSTirumala Marri						label = "u-boot";
182*6edc323dSTirumala Marri						reg = <0x001a0000 0x00060000>;
183*6edc323dSTirumala Marri					};
184*6edc323dSTirumala Marri				};
185*6edc323dSTirumala Marri			}
186*6edc323dSTirumala Marri
187*6edc323dSTirumala Marri			UART0: serial@ef600300 {
188*6edc323dSTirumala Marri				device_type = "serial";
189*6edc323dSTirumala Marri				compatible = "ns16550";
190*6edc323dSTirumala Marri				reg = <0xef600300 0x00000008>;
191*6edc323dSTirumala Marri				virtual-reg = <0xef600300>;
192*6edc323dSTirumala Marri				clock-frequency = <0>; /* Filled in by U-Boot */
193*6edc323dSTirumala Marri				current-speed = <0>; /* Filled in by U-Boot */
194*6edc323dSTirumala Marri				interrupt-parent = <&UIC1>;
195*6edc323dSTirumala Marri				interrupts = <0x1 0x4>;
196*6edc323dSTirumala Marri			};
197*6edc323dSTirumala Marri
198*6edc323dSTirumala Marri			IIC0: i2c@ef600700 {
199*6edc323dSTirumala Marri				compatible = "ibm,iic";
200*6edc323dSTirumala Marri				reg = <0xef600700 0x00000014>;
201*6edc323dSTirumala Marri				interrupt-parent = <&UIC0>;
202*6edc323dSTirumala Marri				interrupts = <0x2 0x4>;
203*6edc323dSTirumala Marri			};
204*6edc323dSTirumala Marri
205*6edc323dSTirumala Marri			IIC1: i2c@ef600800 {
206*6edc323dSTirumala Marri				compatible = "ibm,iic";
207*6edc323dSTirumala Marri				reg = <0xef600800 0x00000014>;
208*6edc323dSTirumala Marri				interrupt-parent = <&UIC0>;
209*6edc323dSTirumala Marri				interrupts = <0x3 0x4>;
210*6edc323dSTirumala Marri			};
211*6edc323dSTirumala Marri
212*6edc323dSTirumala Marri			RGMII0: emac-rgmii@ef601500 {
213*6edc323dSTirumala Marri				compatible = "ibm,rgmii";
214*6edc323dSTirumala Marri				reg = <0xef601500 0x00000008>;
215*6edc323dSTirumala Marri				has-mdio;
216*6edc323dSTirumala Marri			};
217*6edc323dSTirumala Marri
218*6edc323dSTirumala Marri			TAH0: emac-tah@ef601350 {
219*6edc323dSTirumala Marri				compatible = "ibm,tah";
220*6edc323dSTirumala Marri				reg = <0xef601350 0x00000030>;
221*6edc323dSTirumala Marri			};
222*6edc323dSTirumala Marri
223*6edc323dSTirumala Marri			EMAC0: ethernet@ef600c00 {
224*6edc323dSTirumala Marri				device_type = "network";
225*6edc323dSTirumala Marri				compatible = "ibm,emac4sync";
226*6edc323dSTirumala Marri				interrupt-parent = <&EMAC0>;
227*6edc323dSTirumala Marri				interrupts = <0x0 0x1>;
228*6edc323dSTirumala Marri				#interrupt-cells = <1>;
229*6edc323dSTirumala Marri				#address-cells = <0>;
230*6edc323dSTirumala Marri				#size-cells = <0>;
231*6edc323dSTirumala Marri				interrupt-map = </*Status*/ 0x0 &UIC2 0x10 0x4
232*6edc323dSTirumala Marri						 /*Wake*/   0x1 &UIC2 0x14 0x4>;
233*6edc323dSTirumala Marri				reg = <0xef600c00 0x000000c4>;
234*6edc323dSTirumala Marri				local-mac-address = [000000000000]; /* Filled in by U-Boot */
235*6edc323dSTirumala Marri				mal-device = <&MAL0>;
236*6edc323dSTirumala Marri				mal-tx-channel = <0>;
237*6edc323dSTirumala Marri				mal-rx-channel = <0>;
238*6edc323dSTirumala Marri				cell-index = <0>;
239*6edc323dSTirumala Marri				max-frame-size = <9000>;
240*6edc323dSTirumala Marri				rx-fifo-size = <16384>;
241*6edc323dSTirumala Marri				tx-fifo-size = <2048>;
242*6edc323dSTirumala Marri				phy-mode = "rgmii";
243*6edc323dSTirumala Marri				phy-map = <0x00000000>;
244*6edc323dSTirumala Marri				rgmii-device = <&RGMII0>;
245*6edc323dSTirumala Marri				rgmii-channel = <0>;
246*6edc323dSTirumala Marri				tah-device = <&TAH0>;
247*6edc323dSTirumala Marri				tah-channel = <0>;
248*6edc323dSTirumala Marri				has-inverted-stacr-oc;
249*6edc323dSTirumala Marri				has-new-stacr-staopc;
250*6edc323dSTirumala Marri			};
251*6edc323dSTirumala Marri		};
252*6edc323dSTirumala Marri
253*6edc323dSTirumala Marri	};
254*6edc323dSTirumala Marri};
255