]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - sys/boot/fdt/dts/p1020rdb.dts
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / sys / boot / fdt / dts / p1020rdb.dts
1 /*
2  * P1020 RDB Device Tree Source
3  *
4  * Copyright 2009 Freescale Semiconductor Inc.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions are met:
8  *     * Redistributions of source code must retain the above copyright
9  *       notice, this list of conditions and the following disclaimer.
10  *     * Redistributions in binary form must reproduce the above copyright
11  *       notice, this list of conditions and the following disclaimer in the
12  *       documentation and/or other materials provided with the distribution.
13  *     * Neither the name of Freescale Semiconductor nor the
14  *       names of its contributors may be used to endorse or promote products
15  *       derived from this software without specific prior written permission.
16  *
17  *
18  * ALTERNATIVELY, this software may be distributed under the terms of the
19  * GNU General Public License ("GPL") as published by the Free Software
20  * Foundation, either version 2 of that License or (at your option) any
21  * later version.
22  *
23  * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
24  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
25  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26  * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
27  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
30  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33  */
34 /* $FreeBSD$ */
35
36 /dts-v1/;
37
38 / {
39         model = "fsl,P1020";
40         compatible = "fsl,P1020RDB";
41         #address-cells = <2>;
42         #size-cells = <2>;
43
44         aliases {
45                 serial0 = &serial0;
46                 serial1 = &serial1;
47                 ethernet0 = &enet0;
48                 ethernet1 = &enet1;
49                 ethernet2 = &enet2;
50                 pci0 = &pci0;
51                 pci1 = &pci1;
52         };
53
54         cpus {
55                 #address-cells = <1>;
56                 #size-cells = <0>;
57
58                 PowerPC,P1020@0 {
59                         device_type = "cpu";
60                         reg = <0x0>;
61                         next-level-cache = <&L2>;
62                 };
63
64                 PowerPC,P1020@1 {
65                         device_type = "cpu";
66                         reg = <0x1>;
67                         next-level-cache = <&L2>;
68                 };
69         };
70
71         memory {
72                 device_type = "memory";
73         };
74
75         localbus@ffe05000 {
76                 #address-cells = <2>;
77                 #size-cells = <1>;
78                 compatible = "fsl,p1020-elbc", "fsl,elbc", "simple-bus";
79                 reg = <0 0xffe05000 0 0x1000>;
80                 interrupts = <19 2>;
81                 interrupt-parent = <&mpic>;
82
83                 /* NOR, NAND Flashes and Vitesse 5 port L2 switch */
84                 ranges = <0x0 0x0 0x0 0xef000000 0x01000000
85                           0x1 0x0 0x0 0xffa00000 0x00040000
86                           0x2 0x0 0x0 0xffb00000 0x00020000>;
87
88                 nor@0,0 {
89                         #address-cells = <1>;
90                         #size-cells = <1>;
91                         compatible = "cfi-flash";
92                         reg = <0x0 0x0 0x1000000>;
93                         bank-width = <2>;
94                         device-width = <1>;
95
96                         partition@0 {
97                                 /* This location must not be altered  */
98                                 /* 256KB for Vitesse 7385 Switch firmware */
99                                 reg = <0x0 0x00040000>;
100                                 label = "NOR (RO) Vitesse-7385 Firmware";
101                                 read-only;
102                         };
103
104                         partition@40000 {
105                                 /* 256KB for DTB Image */
106                                 reg = <0x00040000 0x00040000>;
107                                 label = "NOR (RO) DTB Image";
108                                 read-only;
109                         };
110
111                         partition@80000 {
112                                 /* 3.5 MB for Linux Kernel Image */
113                                 reg = <0x00080000 0x00380000>;
114                                 label = "NOR (RO) Linux Kernel Image";
115                                 read-only;
116                         };
117
118                         partition@400000 {
119                                 /* 11MB for JFFS2 based Root file System */
120                                 reg = <0x00400000 0x00b00000>;
121                                 label = "NOR (RW) JFFS2 Root File System";
122                         };
123
124                         partition@f00000 {
125                                 /* This location must not be altered  */
126                                 /* 512KB for u-boot Bootloader Image */
127                                 /* 512KB for u-boot Environment Variables */
128                                 reg = <0x00f00000 0x00100000>;
129                                 label = "NOR (RO) U-Boot Image";
130                                 read-only;
131                         };
132                 };
133
134                 nand@1,0 {
135                         #address-cells = <1>;
136                         #size-cells = <1>;
137                         compatible = "fsl,p1020-fcm-nand",
138                                      "fsl,elbc-fcm-nand";
139                         reg = <0x1 0x0 0x40000>;
140
141                         partition@0 {
142                                 /* This location must not be altered  */
143                                 /* 1MB for u-boot Bootloader Image */
144                                 reg = <0x0 0x00100000>;
145                                 label = "NAND (RO) U-Boot Image";
146                                 read-only;
147                         };
148
149                         partition@100000 {
150                                 /* 1MB for DTB Image */
151                                 reg = <0x00100000 0x00100000>;
152                                 label = "NAND (RO) DTB Image";
153                                 read-only;
154                         };
155
156                         partition@200000 {
157                                 /* 4MB for Linux Kernel Image */
158                                 reg = <0x00200000 0x00400000>;
159                                 label = "NAND (RO) Linux Kernel Image";
160                                 read-only;
161                         };
162
163                         partition@600000 {
164                                 /* 4MB for Compressed Root file System Image */
165                                 reg = <0x00600000 0x00400000>;
166                                 label = "NAND (RO) Compressed RFS Image";
167                                 read-only;
168                         };
169
170                         partition@a00000 {
171                                 /* 7MB for JFFS2 based Root file System */
172                                 reg = <0x00a00000 0x00700000>;
173                                 label = "NAND (RW) JFFS2 Root File System";
174                         };
175
176                         partition@1100000 {
177                                 /* 15MB for JFFS2 based Root file System */
178                                 reg = <0x01100000 0x00f00000>;
179                                 label = "NAND (RW) Writable User area";
180                         };
181                 };
182
183                 L2switch@2,0 {
184                         #address-cells = <1>;
185                         #size-cells = <1>;
186                         compatible = "vitesse-7385";
187                         reg = <0x2 0x0 0x20000>;
188                 };
189
190         };
191
192         soc@ffe00000 {
193                 #address-cells = <1>;
194                 #size-cells = <1>;
195                 device_type = "soc";
196                 compatible = "fsl,p1020-immr", "simple-bus";
197                 ranges = <0x0  0x0 0xffe00000 0x100000>;
198                 bus-frequency = <0>;            // Filled out by uboot.
199
200                 ecm-law@0 {
201                         compatible = "fsl,ecm-law";
202                         reg = <0x0 0x1000>;
203                         fsl,num-laws = <12>;
204                 };
205
206                 ecm@1000 {
207                         compatible = "fsl,p1020-ecm", "fsl,ecm";
208                         reg = <0x1000 0x1000>;
209                         interrupts = <16 2>;
210                         interrupt-parent = <&mpic>;
211                 };
212
213                 memory-controller@2000 {
214                         compatible = "fsl,p1020-memory-controller";
215                         reg = <0x2000 0x1000>;
216                         interrupt-parent = <&mpic>;
217                         interrupts = <16 2>;
218                 };
219
220                 i2c@3000 {
221                         #address-cells = <1>;
222                         #size-cells = <0>;
223                         cell-index = <0>;
224                         compatible = "fsl-i2c";
225                         reg = <0x3000 0x100>;
226                         interrupts = <43 2>;
227                         interrupt-parent = <&mpic>;
228                         dfsrr;
229                         rtc@68 {
230                                 compatible = "dallas,ds1339";
231                                 reg = <0x68>;
232                         };
233                 };
234
235                 i2c@3100 {
236                         #address-cells = <1>;
237                         #size-cells = <0>;
238                         cell-index = <1>;
239                         compatible = "fsl-i2c";
240                         reg = <0x3100 0x100>;
241                         interrupts = <43 2>;
242                         interrupt-parent = <&mpic>;
243                         dfsrr;
244                 };
245
246                 serial0: serial@4500 {
247                         cell-index = <0>;
248                         device_type = "serial";
249                         compatible = "ns16550";
250                         reg = <0x4500 0x100>;
251                         clock-frequency = <0>;
252                         interrupts = <42 2>;
253                         interrupt-parent = <&mpic>;
254                 };
255
256                 serial1: serial@4600 {
257                         cell-index = <1>;
258                         device_type = "serial";
259                         compatible = "ns16550";
260                         reg = <0x4600 0x100>;
261                         clock-frequency = <0>;
262                         interrupts = <42 2>;
263                         interrupt-parent = <&mpic>;
264                 };
265
266                 spi@7000 {
267                         cell-index = <0>;
268                         #address-cells = <1>;
269                         #size-cells = <0>;
270                         compatible = "fsl,espi";
271                         reg = <0x7000 0x1000>;
272                         interrupts = <59 0x2>;
273                         interrupt-parent = <&mpic>;
274                         mode = "cpu";
275
276                         fsl_m25p80@0 {
277                                 #address-cells = <1>;
278                                 #size-cells = <1>;
279                                 compatible = "fsl,espi-flash";
280                                 reg = <0>;
281                                 linux,modalias = "fsl_m25p80";
282                                 modal = "s25sl128b";
283                                 spi-max-frequency = <50000000>;
284                                 mode = <0>;
285
286                                 partition@0 {
287                                         /* 512KB for u-boot Bootloader Image */
288                                         reg = <0x0 0x00080000>;
289                                         label = "SPI (RO) U-Boot Image";
290                                         read-only;
291                                 };
292
293                                 partition@80000 {
294                                         /* 512KB for DTB Image */
295                                         reg = <0x00080000 0x00080000>;
296                                         label = "SPI (RO) DTB Image";
297                                         read-only;
298                                 };
299
300                                 partition@100000 {
301                                         /* 4MB for Linux Kernel Image */
302                                         reg = <0x00100000 0x00400000>;
303                                         label = "SPI (RO) Linux Kernel Image";
304                                         read-only;
305                                 };
306
307                                 partition@500000 {
308                                         /* 4MB for Compressed RFS Image */
309                                         reg = <0x00500000 0x00400000>;
310                                         label = "SPI (RO) Compressed RFS Image";
311                                         read-only;
312                                 };
313
314                                 partition@900000 {
315                                         /* 7MB for JFFS2 based RFS */
316                                         reg = <0x00900000 0x00700000>;
317                                         label = "SPI (RW) JFFS2 RFS";
318                                 };
319                         };
320                 };
321
322                 gpio: gpio-controller@f000 {
323                         #gpio-cells = <2>;
324                         compatible = "fsl,mpc8572-gpio";
325                         reg = <0xf000 0x100>;
326                         interrupts = <47 0x2>;
327                         interrupt-parent = <&mpic>;
328                         gpio-controller;
329                 };
330
331                 L2: l2-cache-controller@20000 {
332                         compatible = "fsl,p1020-l2-cache-controller";
333                         reg = <0x20000 0x1000>;
334                         cache-line-size = <32>; // 32 bytes
335                         cache-size = <0x40000>; // L2,256K
336                         interrupt-parent = <&mpic>;
337                         interrupts = <16 2>;
338                 };
339
340                 dma@21300 {
341                         #address-cells = <1>;
342                         #size-cells = <1>;
343                         compatible = "fsl,eloplus-dma";
344                         reg = <0x21300 0x4>;
345                         ranges = <0x0 0x21100 0x200>;
346                         cell-index = <0>;
347                         dma-channel@0 {
348                                 compatible = "fsl,eloplus-dma-channel";
349                                 reg = <0x0 0x80>;
350                                 cell-index = <0>;
351                                 interrupt-parent = <&mpic>;
352                                 interrupts = <20 2>;
353                         };
354                         dma-channel@80 {
355                                 compatible = "fsl,eloplus-dma-channel";
356                                 reg = <0x80 0x80>;
357                                 cell-index = <1>;
358                                 interrupt-parent = <&mpic>;
359                                 interrupts = <21 2>;
360                         };
361                         dma-channel@100 {
362                                 compatible = "fsl,eloplus-dma-channel";
363                                 reg = <0x100 0x80>;
364                                 cell-index = <2>;
365                                 interrupt-parent = <&mpic>;
366                                 interrupts = <22 2>;
367                         };
368                         dma-channel@180 {
369                                 compatible = "fsl,eloplus-dma-channel";
370                                 reg = <0x180 0x80>;
371                                 cell-index = <3>;
372                                 interrupt-parent = <&mpic>;
373                                 interrupts = <23 2>;
374                         };
375                 };
376
377                 mdio@24000 {
378                         #address-cells = <1>;
379                         #size-cells = <0>;
380                         compatible = "fsl,etsec2-mdio";
381                         reg = <0x24000 0x1000 0xb0030 0x4>;
382
383                         phy0: ethernet-phy@0 {
384                                 interrupt-parent = <&mpic>;
385                                 interrupts = <3 1>;
386                                 reg = <0x0>;
387                         };
388
389                         phy1: ethernet-phy@1 {
390                                 interrupt-parent = <&mpic>;
391                                 interrupts = <2 1>;
392                                 reg = <0x1>;
393                         };
394                 };
395
396                 mdio@25000 {
397                         #address-cells = <1>;
398                         #size-cells = <0>;
399                         compatible = "fsl,etsec2-tbi";
400                         reg = <0x25000 0x1000 0xb1030 0x4>;
401
402                         tbi0: tbi-phy@11 {
403                                 reg = <0x11>;
404                                 device_type = "tbi-phy";
405                         };
406                 };
407
408                 enet0: ethernet@b0000 {
409                         #address-cells = <1>;
410                         #size-cells = <1>;
411                         device_type = "network";
412                         model = "eTSEC";
413                         compatible = "fsl,etsec2";
414                         fsl,num_rx_queues = <0x8>;
415                         fsl,num_tx_queues = <0x8>;
416                         local-mac-address = [ 00 00 00 00 00 00 ];
417                         interrupt-parent = <&mpic>;
418                         fixed-link = <1 1 1000 0 0>;
419                         phy-connection-type = "rgmii-id";
420
421                         queue-group@0 {
422                                 #address-cells = <1>;
423                                 #size-cells = <1>;
424                                 reg = <0xb0000 0x1000>;
425                                 interrupts = <29 2 30 2 34 2>;
426                         };
427
428                         queue-group@1 {
429                                 #address-cells = <1>;
430                                 #size-cells = <1>;
431                                 reg = <0xb4000 0x1000>;
432                                 interrupts = <17 2 18 2 24 2>;
433                         };
434                 };
435
436                 enet1: ethernet@b1000 {
437                         #address-cells = <1>;
438                         #size-cells = <1>;
439                         device_type = "network";
440                         model = "eTSEC";
441                         compatible = "fsl,etsec2";
442                         fsl,num_rx_queues = <0x8>;
443                         fsl,num_tx_queues = <0x8>;
444                         local-mac-address = [ 00 00 00 00 00 00 ];
445                         interrupt-parent = <&mpic>;
446                         phy-handle = <&phy0>;
447                         tbi-handle = <&tbi0>;
448                         phy-connection-type = "sgmii";
449
450                         queue-group@0 {
451                                 #address-cells = <1>;
452                                 #size-cells = <1>;
453                                 reg = <0xb1000 0x1000>;
454                                 interrupts = <35 2 36 2 40 2>;
455                         };
456
457                         queue-group@1 {
458                                 #address-cells = <1>;
459                                 #size-cells = <1>;
460                                 reg = <0xb5000 0x1000>;
461                                 interrupts = <51 2 52 2 67 2>;
462                         };
463                 };
464
465                 enet2: ethernet@b2000 {
466                         #address-cells = <1>;
467                         #size-cells = <1>;
468                         device_type = "network";
469                         model = "eTSEC";
470                         compatible = "fsl,etsec2";
471                         fsl,num_rx_queues = <0x8>;
472                         fsl,num_tx_queues = <0x8>;
473                         local-mac-address = [ 00 00 00 00 00 00 ];
474                         interrupt-parent = <&mpic>;
475                         phy-handle = <&phy1>;
476                         phy-connection-type = "rgmii-id";
477
478                         queue-group@0 {
479                                 #address-cells = <1>;
480                                 #size-cells = <1>;
481                                 reg = <0xb2000 0x1000>;
482                                 interrupts = <31 2 32 2 33 2>;
483                         };
484
485                         queue-group@1 {
486                                 #address-cells = <1>;
487                                 #size-cells = <1>;
488                                 reg = <0xb6000 0x1000>;
489                                 interrupts = <25 2 26 2 27 2>;
490                         };
491                 };
492
493                 usb@22000 {
494                         #address-cells = <1>;
495                         #size-cells = <0>;
496                         compatible = "fsl-usb2-dr";
497                         reg = <0x22000 0x1000>;
498                         interrupt-parent = <&mpic>;
499                         interrupts = <28 0x2>;
500                         phy_type = "ulpi";
501                 };
502
503                 /* USB2 is shared with localbus, so it must be disabled
504                    by default. We can't put 'status = "disabled";' here
505                    since U-Boot doesn't clear the status property when
506                    it enables USB2. OTOH, U-Boot does create a new node
507                    when there isn't any. So, just comment it out.
508                 usb@23000 {
509                         #address-cells = <1>;
510                         #size-cells = <0>;
511                         compatible = "fsl-usb2-dr";
512                         reg = <0x23000 0x1000>;
513                         interrupt-parent = <&mpic>;
514                         interrupts = <46 0x2>;
515                         phy_type = "ulpi";
516                 };
517                 */
518
519                 sdhci@2e000 {
520                         compatible = "fsl,p1020-esdhc", "fsl,esdhc";
521                         reg = <0x2e000 0x1000>;
522                         interrupts = <72 0x2>;
523                         interrupt-parent = <&mpic>;
524                         /* Filled in by U-Boot */
525                         clock-frequency = <0>;
526                 };
527
528                 crypto@30000 {
529                         compatible = "fsl,sec3.1", "fsl,sec3.0", "fsl,sec2.4",
530                                      "fsl,sec2.2", "fsl,sec2.1", "fsl,sec2.0";
531                         reg = <0x30000 0x10000>;
532                         interrupts = <45 2 58 2>;
533                         interrupt-parent = <&mpic>;
534                         fsl,num-channels = <4>;
535                         fsl,channel-fifo-len = <24>;
536                         fsl,exec-units-mask = <0xbfe>;
537                         fsl,descriptor-types-mask = <0x3ab0ebf>;
538                 };
539
540                 mpic: pic@40000 {
541                         interrupt-controller;
542                         #address-cells = <0>;
543                         #interrupt-cells = <2>;
544                         reg = <0x40000 0x40000>;
545                         compatible = "chrp,open-pic";
546                         device_type = "open-pic";
547                 };
548
549                 msi@41600 {
550                         compatible = "fsl,p1020-msi", "fsl,mpic-msi";
551                         reg = <0x41600 0x80>;
552                         msi-available-ranges = <0 0x100>;
553                         interrupts = <
554                                 0xe0 0
555                                 0xe1 0
556                                 0xe2 0
557                                 0xe3 0
558                                 0xe4 0
559                                 0xe5 0
560                                 0xe6 0
561                                 0xe7 0>;
562                         interrupt-parent = <&mpic>;
563                 };
564
565                 global-utilities@e0000 {        //global utilities block
566                         compatible = "fsl,p1020-guts";
567                         reg = <0xe0000 0x1000>;
568                         fsl,has-rstcr;
569                 };
570         };
571
572         pci0: pcie@ffe09000 {
573                 compatible = "fsl,mpc8548-pcie";
574                 device_type = "pci";
575                 #interrupt-cells = <1>;
576                 #size-cells = <2>;
577                 #address-cells = <3>;
578                 reg = <0 0xffe09000 0 0x1000>;
579                 bus-range = <0 255>;
580                 ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000
581                           0x1000000 0x0 0x00000000 0 0xffc30000 0x0 0x10000>;
582                 clock-frequency = <33333333>;
583                 interrupt-parent = <&mpic>;
584                 interrupts = <16 2>;
585                 pcie@0 {
586                         reg = <0x0 0x0 0x0 0x0 0x0>;
587                         #size-cells = <2>;
588                         #address-cells = <3>;
589                         device_type = "pci";
590                         ranges = <0x2000000 0x0 0xa0000000
591                                   0x2000000 0x0 0xa0000000
592                                   0x0 0x20000000
593
594                                   0x1000000 0x0 0x0
595                                   0x1000000 0x0 0x0
596                                   0x0 0x100000>;
597                 };
598         };
599
600         pci1: pcie@ffe0a000 {
601                 compatible = "fsl,mpc8548-pcie";
602                 device_type = "pci";
603                 #interrupt-cells = <1>;
604                 #size-cells = <2>;
605                 #address-cells = <3>;
606                 reg = <0 0xffe0a000 0 0x1000>;
607                 bus-range = <0 255>;
608                 ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000
609                           0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x10000>;
610                 clock-frequency = <33333333>;
611                 interrupt-parent = <&mpic>;
612                 interrupts = <16 2>;
613                 pcie@0 {
614                         reg = <0x0 0x0 0x0 0x0 0x0>;
615                         #size-cells = <2>;
616                         #address-cells = <3>;
617                         device_type = "pci";
618                         ranges = <0x2000000 0x0 0xc0000000
619                                   0x2000000 0x0 0xc0000000
620                                   0x0 0x20000000
621
622                                   0x1000000 0x0 0x0
623                                   0x1000000 0x0 0x0
624                                   0x0 0x100000>;
625                 };
626         };
627 };