]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blob - arch/powerpc/boot/dts/sequoia.dts
0c078483601c710364e587531e66188497209334
[linux-2.6-omap-h63xx.git] / arch / powerpc / boot / dts / sequoia.dts
1 /*
2  * Device Tree Source for AMCC Sequoia
3  *
4  * Based on Bamboo code by Josh Boyer <jwboyer@linux.vnet.ibm.com>
5  * Copyright (c) 2006, 2007 IBM Corp.
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 / {
16         #address-cells = <2>;
17         #size-cells = <1>;
18         model = "amcc,sequoia";
19         compatible = "amcc,sequoia";
20         dcr-parent = <&/cpus/PowerPC,440EPx@0>;
21
22         cpus {
23                 #address-cells = <1>;
24                 #size-cells = <0>;
25
26                 PowerPC,440EPx@0 {
27                         device_type = "cpu";
28                         reg = <0>;
29                         clock-frequency = <0>; /* Filled in by zImage */
30                         timebase-frequency = <0>; /* Filled in by zImage */
31                         i-cache-line-size = <20>;
32                         d-cache-line-size = <20>;
33                         i-cache-size = <8000>;
34                         d-cache-size = <8000>;
35                         dcr-controller;
36                         dcr-access-method = "native";
37                 };
38         };
39
40         memory {
41                 device_type = "memory";
42                 reg = <0 0 0>; /* Filled in by zImage */
43         };
44
45         UIC0: interrupt-controller0 {
46                 compatible = "ibm,uic-440epx","ibm,uic";
47                 interrupt-controller;
48                 cell-index = <0>;
49                 dcr-reg = <0c0 009>;
50                 #address-cells = <0>;
51                 #size-cells = <0>;
52                 #interrupt-cells = <2>;
53         };
54
55         UIC1: interrupt-controller1 {
56                 compatible = "ibm,uic-440epx","ibm,uic";
57                 interrupt-controller;
58                 cell-index = <1>;
59                 dcr-reg = <0d0 009>;
60                 #address-cells = <0>;
61                 #size-cells = <0>;
62                 #interrupt-cells = <2>;
63                 interrupts = <1e 4 1f 4>; /* cascade */
64                 interrupt-parent = <&UIC0>;
65         };
66
67         UIC2: interrupt-controller2 {
68                 compatible = "ibm,uic-440epx","ibm,uic";
69                 interrupt-controller;
70                 cell-index = <2>;
71                 dcr-reg = <0e0 009>;
72                 #address-cells = <0>;
73                 #size-cells = <0>;
74                 #interrupt-cells = <2>;
75                 interrupts = <1c 4 1d 4>; /* cascade */
76                 interrupt-parent = <&UIC0>;
77         };
78
79         SDR0: sdr {
80                 compatible = "ibm,sdr-440epx", "ibm,sdr-440ep";
81                 dcr-reg = <00e 002>;
82         };
83
84         CPR0: cpr {
85                 compatible = "ibm,cpr-440epx", "ibm,cpr-440ep";
86                 dcr-reg = <00c 002>;
87         };
88
89         plb {
90                 compatible = "ibm,plb-440epx", "ibm,plb4";
91                 #address-cells = <2>;
92                 #size-cells = <1>;
93                 ranges;
94                 clock-frequency = <0>; /* Filled in by zImage */
95
96                 SDRAM0: sdram {
97                         compatible = "ibm,sdram-440epx", "ibm,sdram-44x-ddr2denali";
98                         dcr-reg = <010 2>;
99                 };
100
101                 DMA0: dma {
102                         compatible = "ibm,dma-440epx", "ibm,dma-4xx";
103                         dcr-reg = <100 027>;
104                 };
105
106                 MAL0: mcmal {
107                         compatible = "ibm,mcmal-440epx", "ibm,mcmal2";
108                         dcr-reg = <180 62>;
109                         num-tx-chans = <2>;
110                         num-rx-chans = <2>;
111                         interrupt-parent = <&MAL0>;
112                         interrupts = <0 1 2 3 4>;
113                         #interrupt-cells = <1>;
114                         #address-cells = <0>;
115                         #size-cells = <0>;
116                         interrupt-map = </*TXEOB*/ 0 &UIC0 a 4
117                                         /*RXEOB*/ 1 &UIC0 b 4
118                                         /*SERR*/  2 &UIC1 0 4
119                                         /*TXDE*/  3 &UIC1 1 4
120                                         /*RXDE*/  4 &UIC1 2 4>;
121                         interrupt-map-mask = <ffffffff>;
122                 };
123
124                 USB1: usb@e0000400 {
125                         compatible = "ohci-be";
126                         reg = <0 e0000400 60>;
127                         interrupt-parent = <&UIC0>;
128                         interrupts = <15 8>;
129                 };
130
131                 POB0: opb {
132                         compatible = "ibm,opb-440epx", "ibm,opb";
133                         #address-cells = <1>;
134                         #size-cells = <1>;
135                         ranges = <00000000 1 00000000 80000000
136                                   80000000 1 80000000 80000000>;
137                         interrupt-parent = <&UIC1>;
138                         interrupts = <7 4>;
139                         clock-frequency = <0>; /* Filled in by zImage */
140
141                         EBC0: ebc {
142                                 compatible = "ibm,ebc-440epx", "ibm,ebc";
143                                 dcr-reg = <012 2>;
144                                 #address-cells = <2>;
145                                 #size-cells = <1>;
146                                 clock-frequency = <0>; /* Filled in by zImage */
147                                 interrupts = <5 1>;
148                                 interrupt-parent = <&UIC1>;
149
150                                 nor_flash@0,0 {
151                                         compatible = "amd,s29gl256n", "cfi-flash";
152                                         bank-width = <2>;
153                                         reg = <0 000000 4000000>;
154                                         #address-cells = <1>;
155                                         #size-cells = <1>;
156                                         partition@0 {
157                                                 label = "Kernel";
158                                                 reg = <0 180000>;
159                                         };
160                                         partition@180000 {
161                                                 label = "ramdisk";
162                                                 reg = <180000 200000>;
163                                         };
164                                         partition@380000 {
165                                                 label = "file system";
166                                                 reg = <380000 3aa0000>;
167                                         };
168                                         partition@3e20000 {
169                                                 label = "kozio";
170                                                 reg = <3e20000 140000>;
171                                         };
172                                         partition@3f60000 {
173                                                 label = "env";
174                                                 reg = <3f60000 40000>;
175                                         };
176                                         partition@3fa0000 {
177                                                 label = "u-boot";
178                                                 reg = <3fa0000 60000>;
179                                         };
180                                 };
181
182                         };
183
184                         UART0: serial@ef600300 {
185                                 device_type = "serial";
186                                 compatible = "ns16550";
187                                 reg = <ef600300 8>;
188                                 virtual-reg = <ef600300>;
189                                 clock-frequency = <0>; /* Filled in by zImage */
190                                 current-speed = <1c200>;
191                                 interrupt-parent = <&UIC0>;
192                                 interrupts = <0 4>;
193                         };
194
195                         UART1: serial@ef600400 {
196                                 device_type = "serial";
197                                 compatible = "ns16550";
198                                 reg = <ef600400 8>;
199                                 virtual-reg = <ef600400>;
200                                 clock-frequency = <0>;
201                                 current-speed = <0>;
202                                 interrupt-parent = <&UIC0>;
203                                 interrupts = <1 4>;
204                         };
205
206                         UART2: serial@ef600500 {
207                                 device_type = "serial";
208                                 compatible = "ns16550";
209                                 reg = <ef600500 8>;
210                                 virtual-reg = <ef600500>;
211                                 clock-frequency = <0>;
212                                 current-speed = <0>;
213                                 interrupt-parent = <&UIC1>;
214                                 interrupts = <3 4>;
215                         };
216
217                         UART3: serial@ef600600 {
218                                 device_type = "serial";
219                                 compatible = "ns16550";
220                                 reg = <ef600600 8>;
221                                 virtual-reg = <ef600600>;
222                                 clock-frequency = <0>;
223                                 current-speed = <0>;
224                                 interrupt-parent = <&UIC1>;
225                                 interrupts = <4 4>;
226                         };
227
228                         IIC0: i2c@ef600700 {
229                                 device_type = "i2c";
230                                 compatible = "ibm,iic-440epx", "ibm,iic";
231                                 reg = <ef600700 14>;
232                                 interrupt-parent = <&UIC0>;
233                                 interrupts = <2 4>;
234                         };
235
236                         IIC1: i2c@ef600800 {
237                                 device_type = "i2c";
238                                 compatible = "ibm,iic-440epx", "ibm,iic";
239                                 reg = <ef600800 14>;
240                                 interrupt-parent = <&UIC0>;
241                                 interrupts = <7 4>;
242                         };
243
244                         ZMII0: emac-zmii@ef600d00 {
245                                 device_type = "zmii-interface";
246                                 compatible = "ibm,zmii-440epx", "ibm,zmii";
247                                 reg = <ef600d00 c>;
248                         };
249
250                         RGMII0: emac-rgmii@ef601000 {
251                                 device_type = "rgmii-interface";
252                                 compatible = "ibm,rgmii-440epx", "ibm,rgmii";
253                                 reg = <ef601000 8>;
254                                 has-mdio;
255                         };
256
257                         EMAC0: ethernet@ef600e00 {
258                                 linux,network-index = <0>;
259                                 device_type = "network";
260                                 compatible = "ibm,emac-440epx", "ibm,emac4";
261                                 interrupt-parent = <&EMAC0>;
262                                 interrupts = <0 1>;
263                                 #interrupt-cells = <1>;
264                                 #address-cells = <0>;
265                                 #size-cells = <0>;
266                                 interrupt-map = </*Status*/ 0 &UIC0 18 4
267                                                 /*Wake*/  1 &UIC1 1d 4>;
268                                 reg = <ef600e00 70>;
269                                 local-mac-address = [000000000000];
270                                 mal-device = <&MAL0>;
271                                 mal-tx-channel = <0>;
272                                 mal-rx-channel = <0>;
273                                 cell-index = <0>;
274                                 max-frame-size = <5dc>;
275                                 rx-fifo-size = <1000>;
276                                 tx-fifo-size = <800>;
277                                 phy-mode = "rgmii";
278                                 phy-map = <00000000>;
279                                 zmii-device = <&ZMII0>;
280                                 zmii-channel = <0>;
281                                 rgmii-device = <&RGMII0>;
282                                 rgmii-channel = <0>;
283                                 has-inverted-stacr-oc;
284                                 has-new-stacr-staopc;
285                         };
286
287                         EMAC1: ethernet@ef600f00 {
288                                 linux,network-index = <1>;
289                                 device_type = "network";
290                                 compatible = "ibm,emac-440epx", "ibm,emac4";
291                                 interrupt-parent = <&EMAC1>;
292                                 interrupts = <0 1>;
293                                 #interrupt-cells = <1>;
294                                 #address-cells = <0>;
295                                 #size-cells = <0>;
296                                 interrupt-map = </*Status*/ 0 &UIC0 19 4
297                                                 /*Wake*/  1 &UIC1 1f 4>;
298                                 reg = <ef600f00 70>;
299                                 local-mac-address = [000000000000];
300                                 mal-device = <&MAL0>;
301                                 mal-tx-channel = <1>;
302                                 mal-rx-channel = <1>;
303                                 cell-index = <1>;
304                                 max-frame-size = <5dc>;
305                                 rx-fifo-size = <1000>;
306                                 tx-fifo-size = <800>;
307                                 phy-mode = "rgmii";
308                                 phy-map = <00000000>;
309                                 zmii-device = <&ZMII0>;
310                                 zmii-channel = <1>;
311                                 rgmii-device = <&RGMII0>;
312                                 rgmii-channel = <1>;
313                                 has-inverted-stacr-oc;
314                                 has-new-stacr-staopc;
315                         };
316                 };
317
318                 PCI0: pci@1ec000000 {
319                         device_type = "pci";
320                         #interrupt-cells = <1>;
321                         #size-cells = <2>;
322                         #address-cells = <3>;
323                         compatible = "ibm,plb440epx-pci", "ibm,plb-pci";
324                         primary;
325                         reg = <1 eec00000 8     /* Config space access */
326                                1 eed00000 4     /* IACK */
327                                1 eed00000 4     /* Special cycle */
328                                1 ef400000 40>;  /* Internal registers */
329
330                         /* Outbound ranges, one memory and one IO,
331                          * later cannot be changed. Chip supports a second
332                          * IO range but we don't use it for now
333                          */
334                         ranges = <02000000 0 80000000 1 80000000 0 10000000
335                                 01000000 0 00000000 1 e8000000 0 00100000>;
336
337                         /* Inbound 2GB range starting at 0 */
338                         dma-ranges = <42000000 0 0 0 0 0 80000000>;
339
340                         /* All PCI interrupts are routed to IRQ 67 */
341                         interrupt-map-mask = <0000 0 0 0>;
342                         interrupt-map = < 0000 0 0 0 &UIC2 3 8 >;
343                 };
344         };
345
346         chosen {
347                 linux,stdout-path = "/plb/opb/serial@ef600300";
348                 bootargs = "console=ttyS0,115200";
349         };
350 };