Merge git://git.infradead.org/mtd-2.6
[linux-2.6] / arch / powerpc / boot / dts / warp.dts
1 /*
2  * Device Tree Source for PIKA Warp
3  *
4  * Copyright (c) 2008 PIKA Technologies
5  *   Sean MacLennan <smaclennan@pikatech.com>
6  *
7  * This file is licensed under the terms of the GNU General Public
8  * License version 2.  This program is licensed "as is" without
9  * any warranty of any kind, whether express or implied.
10  */
11
12 /dts-v1/;
13
14 / {
15         #address-cells = <2>;
16         #size-cells = <1>;
17         model = "pika,warp";
18         compatible = "pika,warp";
19         dcr-parent = <&{/cpus/cpu@0}>;
20
21         aliases {
22                 ethernet0 = &EMAC0;
23                 serial0 = &UART0;
24         };
25
26         cpus {
27                 #address-cells = <1>;
28                 #size-cells = <0>;
29
30                 cpu@0 {
31                         device_type = "cpu";
32                         model = "PowerPC,440EP";
33                         reg = <0x00000000>;
34                         clock-frequency = <0>; /* Filled in by zImage */
35                         timebase-frequency = <0>; /* Filled in by zImage */
36                         i-cache-line-size = <32>;
37                         d-cache-line-size = <32>;
38                         i-cache-size = <32768>;
39                         d-cache-size = <32768>;
40                         dcr-controller;
41                         dcr-access-method = "native";
42                 };
43         };
44
45         memory {
46                 device_type = "memory";
47                 reg = <0x00000000 0x00000000 0x00000000>; /* Filled in by zImage */
48         };
49
50         UIC0: interrupt-controller0 {
51                 compatible = "ibm,uic-440ep","ibm,uic";
52                 interrupt-controller;
53                 cell-index = <0>;
54                 dcr-reg = <0x0c0 0x009>;
55                 #address-cells = <0>;
56                 #size-cells = <0>;
57                 #interrupt-cells = <2>;
58         };
59
60         UIC1: interrupt-controller1 {
61                 compatible = "ibm,uic-440ep","ibm,uic";
62                 interrupt-controller;
63                 cell-index = <1>;
64                 dcr-reg = <0x0d0 0x009>;
65                 #address-cells = <0>;
66                 #size-cells = <0>;
67                 #interrupt-cells = <2>;
68                 interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */
69                 interrupt-parent = <&UIC0>;
70         };
71
72         SDR0: sdr {
73                 compatible = "ibm,sdr-440ep";
74                 dcr-reg = <0x00e 0x002>;
75         };
76
77         CPR0: cpr {
78                 compatible = "ibm,cpr-440ep";
79                 dcr-reg = <0x00c 0x002>;
80         };
81
82         plb {
83                 compatible = "ibm,plb-440ep", "ibm,plb-440gp", "ibm,plb4";
84                 #address-cells = <2>;
85                 #size-cells = <1>;
86                 ranges;
87                 clock-frequency = <0>; /* Filled in by zImage */
88
89                 SDRAM0: sdram {
90                         compatible = "ibm,sdram-440ep", "ibm,sdram-405gp";
91                         dcr-reg = <0x010 0x002>;
92                 };
93
94                 DMA0: dma {
95                         compatible = "ibm,dma-440ep", "ibm,dma-440gp";
96                         dcr-reg = <0x100 0x027>;
97                 };
98
99                 MAL0: mcmal {
100                         compatible = "ibm,mcmal-440ep", "ibm,mcmal-440gp", "ibm,mcmal";
101                         dcr-reg = <0x180 0x062>;
102                         num-tx-chans = <4>;
103                         num-rx-chans = <2>;
104                         interrupt-parent = <&MAL0>;
105                         interrupts = <0x0 0x1 0x2 0x3 0x4>;
106                         #interrupt-cells = <1>;
107                         #address-cells = <0>;
108                         #size-cells = <0>;
109                         interrupt-map = </*TXEOB*/ 0x0 &UIC0 0xa 0x4
110                                         /*RXEOB*/ 0x1 &UIC0 0xb 0x4
111                                         /*SERR*/  0x2 &UIC1 0x0 0x4
112                                         /*TXDE*/  0x3 &UIC1 0x1 0x4
113                                         /*RXDE*/  0x4 &UIC1 0x2 0x4>;
114                 };
115
116                 POB0: opb {
117                         compatible = "ibm,opb-440ep", "ibm,opb-440gp", "ibm,opb";
118                         #address-cells = <1>;
119                         #size-cells = <1>;
120                         ranges = <0x00000000 0x00000000 0x00000000 0x80000000
121                                   0x80000000 0x00000000 0x80000000 0x80000000>;
122                         interrupt-parent = <&UIC1>;
123                         interrupts = <0x7 0x4>;
124                         clock-frequency = <0>; /* Filled in by zImage */
125
126                         EBC0: ebc {
127                                 compatible = "ibm,ebc-440ep", "ibm,ebc-440gp", "ibm,ebc";
128                                 dcr-reg = <0x012 0x002>;
129                                 #address-cells = <2>;
130                                 #size-cells = <1>;
131                                 clock-frequency = <0>; /* Filled in by zImage */
132                                 interrupts = <0x5 0x1>;
133                                 interrupt-parent = <&UIC1>;
134
135                                 fpga@2,0 {
136                                         compatible = "pika,fpga";
137                                         reg = <0x00000002 0x00000000 0x00001000>;
138                                         interrupts = <0x18 0x8>;
139                                         interrupt-parent = <&UIC0>;
140                                 };
141
142                                 fpga@2,2000 {
143                                         compatible = "pika,fpga-sgl";
144                                         reg = <0x00000002 0x00002000 0x00000200>;
145                                 };
146
147                                 fpga@2,4000 {
148                                         compatible = "pika,fpga-sd";
149                                         reg = <0x00000002 0x00004000 0x00000A00>;
150                                 };
151
152                                 nor_flash@0,0 {
153                                         compatible = "amd,s29gl032a", "cfi-flash";
154                                         bank-width = <2>;
155                                         reg = <0x00000000 0x00000000 0x00400000>;
156                                         #address-cells = <1>;
157                                         #size-cells = <1>;
158                                         partition@300000 {
159                                                 label = "fpga";
160                                                 reg = <0x0300000 0x00040000>;
161                                         };
162                                         partition@340000 {
163                                                 label = "env";
164                                                 reg = <0x0340000 0x00040000>;
165                                         };
166                                         partition@380000 {
167                                                 label = "u-boot";
168                                                 reg = <0x0380000 0x00080000>;
169                                         };
170                                 };
171                         };
172
173                         UART0: serial@ef600300 {
174                                 device_type = "serial";
175                                 compatible = "ns16550";
176                                 reg = <0xef600300 0x00000008>;
177                                 virtual-reg = <0xef600300>;
178                                 clock-frequency = <0>; /* Filled in by zImage */
179                                 current-speed = <115200>;
180                                 interrupt-parent = <&UIC0>;
181                                 interrupts = <0x0 0x4>;
182                         };
183
184                         IIC0: i2c@ef600700 {
185                                 compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic";
186                                 reg = <0xef600700 0x00000014>;
187                                 interrupt-parent = <&UIC0>;
188                                 interrupts = <0x2 0x4>;
189                                 #address-cells = <1>;
190                                 #size-cells = <0>;
191
192                                 ad7414@4a {
193                                         compatible = "adi,ad7414";
194                                         reg = <0x4a>;
195                                         interrupts = <0x19 0x8>;
196                                         interrupt-parent = <&UIC0>;
197                                 };
198
199                                 /* This will create 52 and 53 */
200                                 at24@52 {
201                                         compatible = "at,24c04";
202                                         reg = <0x52>;
203                                 };
204                         };
205
206                         GPIO0: gpio@ef600b00 {
207                                 compatible = "ibm,gpio-440ep";
208                                 reg = <0xef600b00 0x00000048>;
209                                 #gpio-cells = <2>;
210                                 gpio-controller;
211                         };
212
213                         GPIO1: gpio@ef600c00 {
214                                 compatible = "ibm,gpio-440ep";
215                                 reg = <0xef600c00 0x00000048>;
216                                 #gpio-cells = <2>;
217                                 gpio-controller;
218
219                                 led@31 {
220                                         compatible = "linux,gpio-led";
221                                         linux,name = ":green:";
222                                         gpios = <&GPIO1 31 0>;
223                                 };              
224         
225                                 led@30 {        
226                                         compatible = "linux,gpio-led";
227                                         linux,name = ":red:";
228                                         gpios = <&GPIO1 30 0>;
229                                 };
230                         };
231
232                         ZMII0: emac-zmii@ef600d00 {
233                                 compatible = "ibm,zmii-440ep", "ibm,zmii-440gp", "ibm,zmii";
234                                 reg = <0xef600d00 0x0000000c>;
235                         };
236
237                         EMAC0: ethernet@ef600e00 {
238                                 device_type = "network";
239                                 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
240                                 interrupt-parent = <&UIC1>;
241                                 interrupts = <0x1c 0x4 0x1d 0x4>;
242                                 reg = <0xef600e00 0x00000070>;
243                                 local-mac-address = [000000000000];
244                                 mal-device = <&MAL0>;
245                                 mal-tx-channel = <0 1>;
246                                 mal-rx-channel = <0>;
247                                 cell-index = <0>;
248                                 max-frame-size = <1500>;
249                                 rx-fifo-size = <4096>;
250                                 tx-fifo-size = <2048>;
251                                 phy-mode = "rmii";
252                                 phy-map = <0x00000000>;
253                                 zmii-device = <&ZMII0>;
254                                 zmii-channel = <0>;
255                         };
256
257                         usb@ef601000 {
258                                 compatible = "ohci-be";
259                                 reg = <0xef601000 0x00000080>;
260                                 interrupts = <0x8 0x1 0x9 0x1>;
261                                 interrupt-parent = < &UIC1 >;
262                         };
263                 };
264         };
265
266         chosen {
267                 linux,stdout-path = "/plb/opb/serial@ef600300";
268         };
269 };