2 * Copyright (C) 2008 Extreme Engineering Solutions, Inc.
3 * Based on MPC8572DS device tree from Freescale Semiconductor, Inc.
5 * XCalibur1501 6U CompactPCI single-board computer based on MPC8572E
7 * This is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
14 model = "xes,xcalibur1501";
15 compatible = "xes,xcalibur1501", "xes,MPC8572";
36 d-cache-line-size = <32>; // 32 bytes
37 i-cache-line-size = <32>; // 32 bytes
38 d-cache-size = <0x8000>; // L1, 32K
39 i-cache-size = <0x8000>; // L1, 32K
40 timebase-frequency = <0>;
42 clock-frequency = <0>;
43 next-level-cache = <&L2>;
49 d-cache-line-size = <32>; // 32 bytes
50 i-cache-line-size = <32>; // 32 bytes
51 d-cache-size = <0x8000>; // L1, 32K
52 i-cache-size = <0x8000>; // L1, 32K
53 timebase-frequency = <0>;
55 clock-frequency = <0>;
56 next-level-cache = <&L2>;
61 device_type = "memory";
62 reg = <0x0 0x0 0x0 0x0>; // Filled in by U-Boot
68 compatible = "fsl,mpc8572-elbc", "fsl,elbc", "simple-bus";
69 reg = <0 0xef005000 0 0x1000>;
71 interrupt-parent = <&mpic>;
72 /* Local bus region mappings */
73 ranges = <0 0 0 0xf8000000 0x8000000 /* CS0: Flash 1 */
74 1 0 0 0xf0000000 0x8000000 /* CS1: Flash 2 */
75 2 0 0 0xef800000 0x40000 /* CS2: NAND CE1 */
76 3 0 0 0xef840000 0x40000 /* CS3: NAND CE2 */
77 4 0 0 0xe9000000 0x100000>; /* CS4: USB */
80 compatible = "amd,s29gl01gp", "cfi-flash";
82 reg = <0 0 0x8000000>; /* 128MB */
86 label = "Primary user space";
87 reg = <0x00000000 0x6f00000>; /* 111 MB */
90 label = "Primary kernel";
91 reg = <0x6f00000 0x1000000>; /* 16 MB */
94 label = "Primary DTB";
95 reg = <0x7f00000 0x40000>; /* 256 KB */
98 label = "Primary U-Boot environment";
99 reg = <0x7f40000 0x40000>; /* 256 KB */
102 label = "Primary U-Boot";
103 reg = <0x7f80000 0x80000>; /* 512 KB */
109 compatible = "amd,s29gl01gp", "cfi-flash";
111 //reg = <0xf0000000 0x08000000>; /* 128MB */
112 reg = <1 0 0x8000000>; /* 128MB */
113 #address-cells = <1>;
116 label = "Secondary user space";
117 reg = <0x00000000 0x6f00000>; /* 111 MB */
120 label = "Secondary kernel";
121 reg = <0x6f00000 0x1000000>; /* 16 MB */
124 label = "Secondary DTB";
125 reg = <0x7f00000 0x40000>; /* 256 KB */
128 label = "Secondary U-Boot environment";
129 reg = <0x7f40000 0x40000>; /* 256 KB */
132 label = "Secondary U-Boot";
133 reg = <0x7f80000 0x80000>; /* 512 KB */
139 #address-cells = <1>;
142 * Actual part could be ST Micro NAND08GW3B2A (1 GB),
143 * Micron MT29F8G08DAA (2x 512 MB), or Micron
144 * MT29F16G08FAA (2x 1 GB), depending on the build
147 compatible = "fsl,mpc8572-fcm-nand",
150 /* U-Boot should fix this up if chip size > 1 GB */
152 label = "NAND Filesystem";
153 reg = <0 0x40000000>;
158 compatible = "nxp,usb-isp1761";
159 reg = <4 0 0x100000>;
161 interrupt-parent = <&mpic>;
167 #address-cells = <1>;
170 compatible = "fsl,mpc8572-immr", "simple-bus";
171 ranges = <0x0 0 0xef000000 0x100000>;
172 bus-frequency = <0>; // Filled out by uboot.
175 compatible = "fsl,ecm-law";
181 compatible = "fsl,mpc8572-ecm", "fsl,ecm";
182 reg = <0x1000 0x1000>;
184 interrupt-parent = <&mpic>;
187 memory-controller@2000 {
188 compatible = "fsl,mpc8572-memory-controller";
189 reg = <0x2000 0x1000>;
190 interrupt-parent = <&mpic>;
194 memory-controller@6000 {
195 compatible = "fsl,mpc8572-memory-controller";
196 reg = <0x6000 0x1000>;
197 interrupt-parent = <&mpic>;
201 L2: l2-cache-controller@20000 {
202 compatible = "fsl,mpc8572-l2-cache-controller";
203 reg = <0x20000 0x1000>;
204 cache-line-size = <32>; // 32 bytes
205 cache-size = <0x100000>; // L2, 1M
206 interrupt-parent = <&mpic>;
211 #address-cells = <1>;
214 compatible = "fsl-i2c";
215 reg = <0x3000 0x100>;
217 interrupt-parent = <&mpic>;
221 compatible = "dallas,ds1631", "dallas,ds1621";
226 compatible = "adi,adt7461";
231 compatible = "dallas,ds4510";
236 compatible = "atmel,at24c128b";
241 compatible = "stm,m41t00",
247 compatible = "plx,pex8648";
251 /* On-board signals for VID, flash, serial */
253 compatible = "nxp,pca9557";
260 /* PMC0/XMC0 signals */
262 compatible = "nxp,pca9557";
269 /* PMC1/XMC1 signals */
271 compatible = "nxp,pca9557";
278 /* CompactPCI signals (sysen, GA[4:0]) */
280 compatible = "nxp,pca9557";
287 /* CompactPCI J5 GPIO and FAL/DEG/PRST */
289 compatible = "nxp,pca9557";
298 #address-cells = <1>;
301 compatible = "fsl-i2c";
302 reg = <0x3100 0x100>;
304 interrupt-parent = <&mpic>;
309 #address-cells = <1>;
311 compatible = "fsl,mpc8572-dma", "fsl,eloplus-dma";
313 ranges = <0x0 0xc100 0x200>;
316 compatible = "fsl,mpc8572-dma-channel",
317 "fsl,eloplus-dma-channel";
320 interrupt-parent = <&mpic>;
324 compatible = "fsl,mpc8572-dma-channel",
325 "fsl,eloplus-dma-channel";
328 interrupt-parent = <&mpic>;
332 compatible = "fsl,mpc8572-dma-channel",
333 "fsl,eloplus-dma-channel";
336 interrupt-parent = <&mpic>;
340 compatible = "fsl,mpc8572-dma-channel",
341 "fsl,eloplus-dma-channel";
344 interrupt-parent = <&mpic>;
350 #address-cells = <1>;
352 compatible = "fsl,mpc8572-dma", "fsl,eloplus-dma";
354 ranges = <0x0 0x21100 0x200>;
357 compatible = "fsl,mpc8572-dma-channel",
358 "fsl,eloplus-dma-channel";
361 interrupt-parent = <&mpic>;
365 compatible = "fsl,mpc8572-dma-channel",
366 "fsl,eloplus-dma-channel";
369 interrupt-parent = <&mpic>;
373 compatible = "fsl,mpc8572-dma-channel",
374 "fsl,eloplus-dma-channel";
377 interrupt-parent = <&mpic>;
381 compatible = "fsl,mpc8572-dma-channel",
382 "fsl,eloplus-dma-channel";
385 interrupt-parent = <&mpic>;
390 /* eTSEC 1 front panel 0 */
391 enet0: ethernet@24000 {
392 #address-cells = <1>;
395 device_type = "network";
397 compatible = "gianfar";
398 reg = <0x24000 0x1000>;
399 ranges = <0x0 0x24000 0x1000>;
400 local-mac-address = [ 00 00 00 00 00 00 ];
401 interrupts = <29 2 30 2 34 2>;
402 interrupt-parent = <&mpic>;
403 tbi-handle = <&tbi0>;
404 phy-handle = <&phy0>;
405 phy-connection-type = "sgmii";
408 #address-cells = <1>;
410 compatible = "fsl,gianfar-mdio";
413 phy0: ethernet-phy@1 {
414 interrupt-parent = <&mpic>;
418 phy1: ethernet-phy@2 {
419 interrupt-parent = <&mpic>;
423 phy2: ethernet-phy@3 {
424 interrupt-parent = <&mpic>;
428 phy3: ethernet-phy@4 {
429 interrupt-parent = <&mpic>;
435 device_type = "tbi-phy";
440 /* eTSEC 2 front panel 1 */
441 enet1: ethernet@25000 {
442 #address-cells = <1>;
445 device_type = "network";
447 compatible = "gianfar";
448 reg = <0x25000 0x1000>;
449 ranges = <0x0 0x25000 0x1000>;
450 local-mac-address = [ 00 00 00 00 00 00 ];
451 interrupts = <35 2 36 2 40 2>;
452 interrupt-parent = <&mpic>;
453 tbi-handle = <&tbi1>;
454 phy-handle = <&phy1>;
455 phy-connection-type = "sgmii";
458 #address-cells = <1>;
460 compatible = "fsl,gianfar-tbi";
465 device_type = "tbi-phy";
470 /* eTSEC 3 PICMG2.16 backplane port 0 */
471 enet2: ethernet@26000 {
472 #address-cells = <1>;
475 device_type = "network";
477 compatible = "gianfar";
478 reg = <0x26000 0x1000>;
479 ranges = <0x0 0x26000 0x1000>;
480 local-mac-address = [ 00 00 00 00 00 00 ];
481 interrupts = <31 2 32 2 33 2>;
482 interrupt-parent = <&mpic>;
483 tbi-handle = <&tbi2>;
484 phy-handle = <&phy2>;
485 phy-connection-type = "sgmii";
488 #address-cells = <1>;
490 compatible = "fsl,gianfar-tbi";
495 device_type = "tbi-phy";
500 /* eTSEC 4 PICMG2.16 backplane port 1 */
501 enet3: ethernet@27000 {
502 #address-cells = <1>;
505 device_type = "network";
507 compatible = "gianfar";
508 reg = <0x27000 0x1000>;
509 ranges = <0x0 0x27000 0x1000>;
510 local-mac-address = [ 00 00 00 00 00 00 ];
511 interrupts = <37 2 38 2 39 2>;
512 interrupt-parent = <&mpic>;
513 tbi-handle = <&tbi3>;
514 phy-handle = <&phy3>;
515 phy-connection-type = "sgmii";
518 #address-cells = <1>;
520 compatible = "fsl,gianfar-tbi";
525 device_type = "tbi-phy";
531 serial0: serial@4500 {
533 device_type = "serial";
534 compatible = "fsl,ns16550", "ns16550";
535 reg = <0x4500 0x100>;
536 clock-frequency = <0>;
538 interrupt-parent = <&mpic>;
542 serial1: serial@4600 {
544 device_type = "serial";
545 compatible = "fsl,ns16550", "ns16550";
546 reg = <0x4600 0x100>;
547 clock-frequency = <0>;
549 interrupt-parent = <&mpic>;
552 global-utilities@e0000 { //global utilities block
553 compatible = "fsl,mpc8572-guts";
554 reg = <0xe0000 0x1000>;
559 compatible = "fsl,mpc8572-msi", "fsl,mpic-msi";
560 reg = <0x41600 0x80>;
561 msi-available-ranges = <0 0x100>;
571 interrupt-parent = <&mpic>;
575 compatible = "fsl,sec3.0", "fsl,sec2.4", "fsl,sec2.2",
576 "fsl,sec2.1", "fsl,sec2.0";
577 reg = <0x30000 0x10000>;
578 interrupts = <45 2 58 2>;
579 interrupt-parent = <&mpic>;
580 fsl,num-channels = <4>;
581 fsl,channel-fifo-len = <24>;
582 fsl,exec-units-mask = <0x9fe>;
583 fsl,descriptor-types-mask = <0x3ab0ebf>;
587 interrupt-controller;
588 #address-cells = <0>;
589 #interrupt-cells = <2>;
590 reg = <0x40000 0x40000>;
591 compatible = "chrp,open-pic";
592 device_type = "open-pic";
596 compatible = "fsl,mpc8572-gpio";
597 reg = <0xf000 0x1000>;
599 interrupt-parent = <&mpic>;
605 compatible = "gpio-leds";
609 gpios = <&gpio0 4 1>;
610 linux,default-trigger = "heartbeat";
615 gpios = <&gpio0 5 1>;
620 gpios = <&gpio0 6 1>;
625 gpios = <&gpio0 7 1>;
629 /* PME (pattern-matcher) */
631 compatible = "fsl,mpc8572-pme", "pme8572";
632 reg = <0x10000 0x5000>;
633 interrupts = <57 2 64 2 65 2 66 2 67 2>;
634 interrupt-parent = <&mpic>;
638 compatible = "fsl,mpc8572-tlu", "fsl_tlu";
639 reg = <0x2f000 0x1000>;
641 interrupt-parent = <&mpic>;
645 compatible = "fsl,mpc8572-tlu", "fsl_tlu";
646 reg = <0x15000 0x1000>;
648 interrupt-parent = <&mpic>;
653 * PCI Express controller 3 @ ef008000 is not used.
654 * This would have been pci0 on other mpc85xx platforms.
656 * PCI Express controller 2 @ ef009000 is not used.
657 * This would have been pci1 on other mpc85xx platforms.
660 /* PCI Express controller 1, wired to PEX8648 PCIe switch */
661 pci2: pcie@ef00a000 {
662 compatible = "fsl,mpc8548-pcie";
664 #interrupt-cells = <1>;
666 #address-cells = <3>;
667 reg = <0 0xef00a000 0 0x1000>;
669 ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x40000000
670 0x1000000 0x0 0x00000000 0 0xe8000000 0x0 0x10000>;
671 clock-frequency = <33333333>;
672 interrupt-parent = <&mpic>;
674 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
677 0x0 0x0 0x0 0x1 &mpic 0x0 0x1
678 0x0 0x0 0x0 0x2 &mpic 0x1 0x1
679 0x0 0x0 0x0 0x3 &mpic 0x2 0x1
680 0x0 0x0 0x0 0x4 &mpic 0x3 0x1
683 reg = <0x0 0x0 0x0 0x0 0x0>;
685 #address-cells = <3>;
687 ranges = <0x2000000 0x0 0x80000000
688 0x2000000 0x0 0x80000000