11bea3e6a43f4eaecd019d3970a3155d549503bd
[sfrench/cifs-2.6.git] / arch / powerpc / boot / dts / fsl / mpc8641_hpcn.dts
1 /*
2  * MPC8641 HPCN Device Tree Source
3  *
4  * Copyright 2006 Freescale Semiconductor Inc.
5  *
6  * This program is free software; you can redistribute  it and/or modify it
7  * under  the terms of  the GNU General  Public License as published by the
8  * Free Software Foundation;  either version 2 of the  License, or (at your
9  * option) any later version.
10  */
11
12 /include/ "mpc8641si-pre.dtsi"
13
14 / {
15         model = "MPC8641HPCN";
16         compatible = "fsl,mpc8641hpcn";
17
18         memory {
19                 device_type = "memory";
20                 reg = <0x00000000 0x40000000>;  // 1G at 0x0
21         };
22
23         lbc: localbus@ffe05000 {
24                 reg = <0xffe05000 0x1000>;
25
26                 ranges = <0 0 0xef800000 0x00800000
27                           2 0 0xffdf8000 0x00008000
28                           3 0 0xffdf0000 0x00008000>;
29
30                 flash@0,0 {
31                         compatible = "cfi-flash";
32                         reg = <0 0 0x00800000>;
33                         bank-width = <2>;
34                         device-width = <2>;
35                         #address-cells = <1>;
36                         #size-cells = <1>;
37                         partition@0 {
38                                 label = "kernel";
39                                 reg = <0x00000000 0x00300000>;
40                         };
41                         partition@300000 {
42                                 label = "firmware b";
43                                 reg = <0x00300000 0x00100000>;
44                                 read-only;
45                         };
46                         partition@400000 {
47                                 label = "fs";
48                                 reg = <0x00400000 0x00300000>;
49                         };
50                         partition@700000 {
51                                 label = "firmware a";
52                                 reg = <0x00700000 0x00100000>;
53                                 read-only;
54                         };
55                 };
56         };
57
58         soc: soc8641@ffe00000 {
59                 ranges = <0x00000000 0xffe00000 0x00100000>;
60
61                 enet0: ethernet@24000 {
62                         tbi-handle = <&tbi0>;
63                         phy-handle = <&phy0>;
64                         phy-connection-type = "rgmii-id";
65                 };
66
67                 mdio@24520 {
68                         phy0: ethernet-phy@0 {
69                                 interrupts = <10 1 0 0>;
70                                 reg = <0>;
71                         };
72                         phy1: ethernet-phy@1 {
73                                 interrupts = <10 1 0 0>;
74                                 reg = <1>;
75                         };
76                         phy2: ethernet-phy@2 {
77                                 interrupts = <10 1 0 0>;
78                                 reg = <2>;
79                         };
80                         phy3: ethernet-phy@3 {
81                                 interrupts = <10 1 0 0>;
82                                 reg = <3>;
83                         };
84                         tbi0: tbi-phy@11 {
85                                 reg = <0x11>;
86                                 device_type = "tbi-phy";
87                         };
88                 };
89
90                 enet1: ethernet@25000 {
91                         tbi-handle = <&tbi1>;
92                         phy-handle = <&phy1>;
93                         phy-connection-type = "rgmii-id";
94                 };
95
96                 mdio@25520 {
97                         tbi1: tbi-phy@11 {
98                                 reg = <0x11>;
99                                 device_type = "tbi-phy";
100                         };
101                 };
102                 
103                 enet2: ethernet@26000 {
104                         tbi-handle = <&tbi2>;
105                         phy-handle = <&phy2>;
106                         phy-connection-type = "rgmii-id";
107                 };
108
109                 mdio@26520 {
110                         tbi2: tbi-phy@11 {
111                                 reg = <0x11>;
112                                 device_type = "tbi-phy";
113                         };
114                 };
115
116                 enet3: ethernet@27000 {
117                         tbi-handle = <&tbi3>;
118                         phy-handle = <&phy3>;
119                         phy-connection-type = "rgmii-id";
120                 };
121
122                 mdio@27520 {
123                         tbi3: tbi-phy@11 {
124                                 reg = <0x11>;
125                                 device_type = "tbi-phy";
126                         };
127                 };
128
129                 rmu: rmu@d3000 {
130                         #address-cells = <1>;
131                         #size-cells = <1>;
132                         compatible = "fsl,srio-rmu";
133                         reg = <0xd3000 0x500>;
134                         ranges = <0x0 0xd3000 0x500>;
135
136                         message-unit@0 {
137                                 compatible = "fsl,srio-msg-unit";
138                                 reg = <0x0 0x100>;
139                                 interrupts = <
140                                         53 2 0 0  /* msg1_tx_irq */
141                                         54 2 0 0>;/* msg1_rx_irq */
142                         };
143                         message-unit@100 {
144                                 compatible = "fsl,srio-msg-unit";
145                                 reg = <0x100 0x100>;
146                                 interrupts = <
147                                         55 2 0 0  /* msg2_tx_irq */
148                                         56 2 0 0>;/* msg2_rx_irq */
149                         };
150                         doorbell-unit@400 {
151                                 compatible = "fsl,srio-dbell-unit";
152                                 reg = <0x400 0x80>;
153                                 interrupts = <
154                                         49 2 0 0  /* bell_outb_irq */
155                                         50 2 0 0>;/* bell_inb_irq */
156                         };
157                         port-write-unit@4e0 {
158                                 compatible = "fsl,srio-port-write-unit";
159                                 reg = <0x4e0 0x20>;
160                                 interrupts = <48 2 0 0>;
161                         };
162                 };
163         };
164
165         pci0: pcie@ffe08000 {
166                 reg = <0xffe08000 0x1000>;
167                 ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x20000000
168                           0x01000000 0x0 0x00000000 0xffc00000 0x0 0x00010000>;
169                 interrupt-map-mask = <0xff00 0 0 7>;
170                 interrupt-map = <
171                         /* IDSEL 0x11 func 0 - PCI slot 1 */
172                         0x8800 0 0 1 &mpic 2 1
173                         0x8800 0 0 2 &mpic 3 1
174                         0x8800 0 0 3 &mpic 4 1
175                         0x8800 0 0 4 &mpic 1 1
176
177                         /* IDSEL 0x11 func 1 - PCI slot 1 */
178                         0x8900 0 0 1 &mpic 2 1
179                         0x8900 0 0 2 &mpic 3 1
180                         0x8900 0 0 3 &mpic 4 1
181                         0x8900 0 0 4 &mpic 1 1
182
183                         /* IDSEL 0x11 func 2 - PCI slot 1 */
184                         0x8a00 0 0 1 &mpic 2 1
185                         0x8a00 0 0 2 &mpic 3 1
186                         0x8a00 0 0 3 &mpic 4 1
187                         0x8a00 0 0 4 &mpic 1 1
188
189                         /* IDSEL 0x11 func 3 - PCI slot 1 */
190                         0x8b00 0 0 1 &mpic 2 1
191                         0x8b00 0 0 2 &mpic 3 1
192                         0x8b00 0 0 3 &mpic 4 1
193                         0x8b00 0 0 4 &mpic 1 1
194
195                         /* IDSEL 0x11 func 4 - PCI slot 1 */
196                         0x8c00 0 0 1 &mpic 2 1
197                         0x8c00 0 0 2 &mpic 3 1
198                         0x8c00 0 0 3 &mpic 4 1
199                         0x8c00 0 0 4 &mpic 1 1
200
201                         /* IDSEL 0x11 func 5 - PCI slot 1 */
202                         0x8d00 0 0 1 &mpic 2 1
203                         0x8d00 0 0 2 &mpic 3 1
204                         0x8d00 0 0 3 &mpic 4 1
205                         0x8d00 0 0 4 &mpic 1 1
206
207                         /* IDSEL 0x11 func 6 - PCI slot 1 */
208                         0x8e00 0 0 1 &mpic 2 1
209                         0x8e00 0 0 2 &mpic 3 1
210                         0x8e00 0 0 3 &mpic 4 1
211                         0x8e00 0 0 4 &mpic 1 1
212
213                         /* IDSEL 0x11 func 7 - PCI slot 1 */
214                         0x8f00 0 0 1 &mpic 2 1
215                         0x8f00 0 0 2 &mpic 3 1
216                         0x8f00 0 0 3 &mpic 4 1
217                         0x8f00 0 0 4 &mpic 1 1
218
219                         /* IDSEL 0x12 func 0 - PCI slot 2 */
220                         0x9000 0 0 1 &mpic 3 1
221                         0x9000 0 0 2 &mpic 4 1
222                         0x9000 0 0 3 &mpic 1 1
223                         0x9000 0 0 4 &mpic 2 1
224
225                         /* IDSEL 0x12 func 1 - PCI slot 2 */
226                         0x9100 0 0 1 &mpic 3 1
227                         0x9100 0 0 2 &mpic 4 1
228                         0x9100 0 0 3 &mpic 1 1
229                         0x9100 0 0 4 &mpic 2 1
230
231                         /* IDSEL 0x12 func 2 - PCI slot 2 */
232                         0x9200 0 0 1 &mpic 3 1
233                         0x9200 0 0 2 &mpic 4 1
234                         0x9200 0 0 3 &mpic 1 1
235                         0x9200 0 0 4 &mpic 2 1
236
237                         /* IDSEL 0x12 func 3 - PCI slot 2 */
238                         0x9300 0 0 1 &mpic 3 1
239                         0x9300 0 0 2 &mpic 4 1
240                         0x9300 0 0 3 &mpic 1 1
241                         0x9300 0 0 4 &mpic 2 1
242
243                         /* IDSEL 0x12 func 4 - PCI slot 2 */
244                         0x9400 0 0 1 &mpic 3 1
245                         0x9400 0 0 2 &mpic 4 1
246                         0x9400 0 0 3 &mpic 1 1
247                         0x9400 0 0 4 &mpic 2 1
248
249                         /* IDSEL 0x12 func 5 - PCI slot 2 */
250                         0x9500 0 0 1 &mpic 3 1
251                         0x9500 0 0 2 &mpic 4 1
252                         0x9500 0 0 3 &mpic 1 1
253                         0x9500 0 0 4 &mpic 2 1
254
255                         /* IDSEL 0x12 func 6 - PCI slot 2 */
256                         0x9600 0 0 1 &mpic 3 1
257                         0x9600 0 0 2 &mpic 4 1
258                         0x9600 0 0 3 &mpic 1 1
259                         0x9600 0 0 4 &mpic 2 1
260
261                         /* IDSEL 0x12 func 7 - PCI slot 2 */
262                         0x9700 0 0 1 &mpic 3 1
263                         0x9700 0 0 2 &mpic 4 1
264                         0x9700 0 0 3 &mpic 1 1
265                         0x9700 0 0 4 &mpic 2 1
266
267                         // IDSEL 0x1c  USB
268                         0xe000 0 0 1 &i8259 12 2
269                         0xe100 0 0 2 &i8259 9 2
270                         0xe200 0 0 3 &i8259 10 2
271                         0xe300 0 0 4 &i8259 11 2
272
273                         // IDSEL 0x1d  Audio
274                         0xe800 0 0 1 &i8259 6 2
275
276                         // IDSEL 0x1e Legacy
277                         0xf000 0 0 1 &i8259 7 2
278                         0xf100 0 0 1 &i8259 7 2
279
280                         // IDSEL 0x1f IDE/SATA
281                         0xf800 0 0 1 &i8259 14 2
282                         0xf900 0 0 1 &i8259 5 2
283                         >;
284
285                 pcie@0 {
286                         ranges = <0x02000000 0x0 0x80000000
287                                   0x02000000 0x0 0x80000000
288                                   0x0 0x20000000
289
290                                   0x01000000 0x0 0x00000000
291                                   0x01000000 0x0 0x00000000
292                                   0x0 0x00010000>;
293                         uli1575@0 {
294                                 reg = <0 0 0 0 0>;
295                                 #size-cells = <2>;
296                                 #address-cells = <3>;
297                                 ranges = <0x02000000 0x0 0x80000000
298                                           0x02000000 0x0 0x80000000
299                                           0x0 0x20000000
300                                           0x01000000 0x0 0x00000000
301                                           0x01000000 0x0 0x00000000
302                                           0x0 0x00010000>;
303                                 isa@1e {
304                                         device_type = "isa";
305                                         #size-cells = <1>;
306                                         #address-cells = <2>;
307                                         reg = <0xf000 0 0 0 0>;
308                                         ranges = <1 0 0x01000000 0 0
309                                                   0x00001000>;
310                                         interrupt-parent = <&i8259>;
311
312                                         i8259: interrupt-controller@20 {
313                                                 reg = <1 0x20 2
314                                                        1 0xa0 2
315                                                        1 0x4d0 2>;
316                                                 interrupt-controller;
317                                                 device_type = "interrupt-controller";
318                                                 #address-cells = <0>;
319                                                 #interrupt-cells = <2>;
320                                                 compatible = "chrp,iic";
321                                                 interrupts = <9 2 0 0>;
322                                         };
323
324                                         i8042@60 {
325                                                 #size-cells = <0>;
326                                                 #address-cells = <1>;
327                                                 reg = <1 0x60 1 1 0x64 1>;
328                                                 interrupts = <1 3 12 3>;
329                                                 interrupt-parent = <&i8259>;
330
331                                                 keyboard@0 {
332                                                         reg = <0>;
333                                                         compatible = "pnpPNP,303";
334                                                 };
335
336                                                 mouse@1 {
337                                                         reg = <1>;
338                                                         compatible = "pnpPNP,f03";
339                                                 };
340                                         };
341
342                                         rtc@70 {
343                                                 compatible =
344                                                         "pnpPNP,b00";
345                                                 reg = <1 0x70 2>;
346                                         };
347
348                                         gpio@400 {
349                                                 reg = <1 0x400 0x80>;
350                                         };
351                                 };
352                         };
353                 };
354
355         };
356
357         pci1: pcie@ffe09000 {
358                 reg = <0xffe09000 0x1000>;
359                 ranges = <0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x20000000
360                           0x01000000 0x0 0x00000000 0xffc10000 0x0 0x00010000>;
361
362                 pcie@0 {
363                         ranges = <0x02000000 0x0 0xa0000000
364                                   0x02000000 0x0 0xa0000000
365                                   0x0 0x20000000
366
367                                   0x01000000 0x0 0x00000000
368                                   0x01000000 0x0 0x00000000
369                                   0x0 0x00010000>;
370                 };
371         };
372 /*
373  * Only one of Rapid IO or PCI can be present due to HW limitations and
374  * due to the fact that the 2 now share address space in the new memory
375  * map.  The most likely case is that we have PCI, so comment out the
376  * rapidio node.  Leave it here for reference.
377
378         rapidio@ffec0000 {
379                 reg = <0xffec0000 0x11000>;
380                 compatible = "fsl,srio";
381                 interrupts = <48 2 0 0>;
382                 #address-cells = <2>;
383                 #size-cells = <2>;
384                 fsl,srio-rmu-handle = <&rmu>;
385                 ranges;
386
387                 port1 {
388                         #address-cells = <2>;
389                         #size-cells = <2>;
390                         cell-index = <1>;
391                         ranges = <0 0 0x80000000 0 0x20000000>;
392                 };
393         };
394 */
395
396 };
397
398 /include/ "mpc8641si-post.dtsi"