1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2008 Extreme Engineering Solutions, Inc.
4 * Based on MPC8572DS device tree from Freescale Semiconductor, Inc.
6 * XCalibur1501 6U CompactPCI single-board computer based on MPC8572E
11 model = "xes,xcalibur1501";
12 compatible = "xes,xcalibur1501", "xes,MPC8572";
33 d-cache-line-size = <32>; // 32 bytes
34 i-cache-line-size = <32>; // 32 bytes
35 d-cache-size = <0x8000>; // L1, 32K
36 i-cache-size = <0x8000>; // L1, 32K
37 timebase-frequency = <0>;
39 clock-frequency = <0>;
40 next-level-cache = <&L2>;
46 d-cache-line-size = <32>; // 32 bytes
47 i-cache-line-size = <32>; // 32 bytes
48 d-cache-size = <0x8000>; // L1, 32K
49 i-cache-size = <0x8000>; // L1, 32K
50 timebase-frequency = <0>;
52 clock-frequency = <0>;
53 next-level-cache = <&L2>;
58 device_type = "memory";
59 reg = <0x0 0x0 0x0 0x0>; // Filled in by U-Boot
65 compatible = "fsl,mpc8572-elbc", "fsl,elbc", "simple-bus";
66 reg = <0 0xef005000 0 0x1000>;
68 interrupt-parent = <&mpic>;
69 /* Local bus region mappings */
70 ranges = <0 0 0 0xf8000000 0x8000000 /* CS0: Flash 1 */
71 1 0 0 0xf0000000 0x8000000 /* CS1: Flash 2 */
72 2 0 0 0xef800000 0x40000 /* CS2: NAND CE1 */
73 3 0 0 0xef840000 0x40000 /* CS3: NAND CE2 */
74 4 0 0 0xe9000000 0x100000>; /* CS4: USB */
77 compatible = "amd,s29gl01gp", "cfi-flash";
79 reg = <0 0 0x8000000>; /* 128MB */
83 label = "Primary user space";
84 reg = <0x00000000 0x6f00000>; /* 111 MB */
87 label = "Primary kernel";
88 reg = <0x6f00000 0x1000000>; /* 16 MB */
91 label = "Primary DTB";
92 reg = <0x7f00000 0x40000>; /* 256 KB */
95 label = "Primary U-Boot environment";
96 reg = <0x7f40000 0x40000>; /* 256 KB */
99 label = "Primary U-Boot";
100 reg = <0x7f80000 0x80000>; /* 512 KB */
106 compatible = "amd,s29gl01gp", "cfi-flash";
108 //reg = <0xf0000000 0x08000000>; /* 128MB */
109 reg = <1 0 0x8000000>; /* 128MB */
110 #address-cells = <1>;
113 label = "Secondary user space";
114 reg = <0x00000000 0x6f00000>; /* 111 MB */
117 label = "Secondary kernel";
118 reg = <0x6f00000 0x1000000>; /* 16 MB */
121 label = "Secondary DTB";
122 reg = <0x7f00000 0x40000>; /* 256 KB */
125 label = "Secondary U-Boot environment";
126 reg = <0x7f40000 0x40000>; /* 256 KB */
129 label = "Secondary U-Boot";
130 reg = <0x7f80000 0x80000>; /* 512 KB */
136 #address-cells = <1>;
139 * Actual part could be ST Micro NAND08GW3B2A (1 GB),
140 * Micron MT29F8G08DAA (2x 512 MB), or Micron
141 * MT29F16G08FAA (2x 1 GB), depending on the build
144 compatible = "fsl,mpc8572-fcm-nand",
147 /* U-Boot should fix this up if chip size > 1 GB */
149 label = "NAND Filesystem";
150 reg = <0 0x40000000>;
155 compatible = "nxp,usb-isp1761";
156 reg = <4 0 0x100000>;
158 interrupt-parent = <&mpic>;
164 #address-cells = <1>;
167 compatible = "fsl,mpc8572-immr", "simple-bus";
168 ranges = <0x0 0 0xef000000 0x100000>;
169 bus-frequency = <0>; // Filled out by uboot.
172 compatible = "fsl,ecm-law";
178 compatible = "fsl,mpc8572-ecm", "fsl,ecm";
179 reg = <0x1000 0x1000>;
181 interrupt-parent = <&mpic>;
184 memory-controller@2000 {
185 compatible = "fsl,mpc8572-memory-controller";
186 reg = <0x2000 0x1000>;
187 interrupt-parent = <&mpic>;
191 memory-controller@6000 {
192 compatible = "fsl,mpc8572-memory-controller";
193 reg = <0x6000 0x1000>;
194 interrupt-parent = <&mpic>;
198 L2: l2-cache-controller@20000 {
199 compatible = "fsl,mpc8572-l2-cache-controller";
200 reg = <0x20000 0x1000>;
201 cache-line-size = <32>; // 32 bytes
202 cache-size = <0x100000>; // L2, 1M
203 interrupt-parent = <&mpic>;
208 #address-cells = <1>;
211 compatible = "fsl-i2c";
212 reg = <0x3000 0x100>;
214 interrupt-parent = <&mpic>;
218 compatible = "dallas,ds1631", "dallas,ds1621";
223 compatible = "adi,adt7461";
228 compatible = "dallas,ds4510";
233 compatible = "atmel,at24c128b";
238 compatible = "st,m41t00",
244 compatible = "plx,pex8648";
248 /* On-board signals for VID, flash, serial */
250 compatible = "nxp,pca9557";
257 /* PMC0/XMC0 signals */
259 compatible = "nxp,pca9557";
266 /* PMC1/XMC1 signals */
268 compatible = "nxp,pca9557";
275 /* CompactPCI signals (sysen, GA[4:0]) */
277 compatible = "nxp,pca9557";
284 /* CompactPCI J5 GPIO and FAL/DEG/PRST */
286 compatible = "nxp,pca9557";
295 #address-cells = <1>;
298 compatible = "fsl-i2c";
299 reg = <0x3100 0x100>;
301 interrupt-parent = <&mpic>;
306 #address-cells = <1>;
308 compatible = "fsl,mpc8572-dma", "fsl,eloplus-dma";
310 ranges = <0x0 0xc100 0x200>;
313 compatible = "fsl,mpc8572-dma-channel",
314 "fsl,eloplus-dma-channel";
317 interrupt-parent = <&mpic>;
321 compatible = "fsl,mpc8572-dma-channel",
322 "fsl,eloplus-dma-channel";
325 interrupt-parent = <&mpic>;
329 compatible = "fsl,mpc8572-dma-channel",
330 "fsl,eloplus-dma-channel";
333 interrupt-parent = <&mpic>;
337 compatible = "fsl,mpc8572-dma-channel",
338 "fsl,eloplus-dma-channel";
341 interrupt-parent = <&mpic>;
347 #address-cells = <1>;
349 compatible = "fsl,mpc8572-dma", "fsl,eloplus-dma";
351 ranges = <0x0 0x21100 0x200>;
354 compatible = "fsl,mpc8572-dma-channel",
355 "fsl,eloplus-dma-channel";
358 interrupt-parent = <&mpic>;
362 compatible = "fsl,mpc8572-dma-channel",
363 "fsl,eloplus-dma-channel";
366 interrupt-parent = <&mpic>;
370 compatible = "fsl,mpc8572-dma-channel",
371 "fsl,eloplus-dma-channel";
374 interrupt-parent = <&mpic>;
378 compatible = "fsl,mpc8572-dma-channel",
379 "fsl,eloplus-dma-channel";
382 interrupt-parent = <&mpic>;
387 /* eTSEC 1 front panel 0 */
388 enet0: ethernet@24000 {
389 #address-cells = <1>;
392 device_type = "network";
394 compatible = "gianfar";
395 reg = <0x24000 0x1000>;
396 ranges = <0x0 0x24000 0x1000>;
397 local-mac-address = [ 00 00 00 00 00 00 ];
398 interrupts = <29 2 30 2 34 2>;
399 interrupt-parent = <&mpic>;
400 tbi-handle = <&tbi0>;
401 phy-handle = <&phy0>;
402 phy-connection-type = "sgmii";
405 #address-cells = <1>;
407 compatible = "fsl,gianfar-mdio";
410 phy0: ethernet-phy@1 {
411 interrupt-parent = <&mpic>;
415 phy1: ethernet-phy@2 {
416 interrupt-parent = <&mpic>;
420 phy2: ethernet-phy@3 {
421 interrupt-parent = <&mpic>;
425 phy3: ethernet-phy@4 {
426 interrupt-parent = <&mpic>;
432 device_type = "tbi-phy";
437 /* eTSEC 2 front panel 1 */
438 enet1: ethernet@25000 {
439 #address-cells = <1>;
442 device_type = "network";
444 compatible = "gianfar";
445 reg = <0x25000 0x1000>;
446 ranges = <0x0 0x25000 0x1000>;
447 local-mac-address = [ 00 00 00 00 00 00 ];
448 interrupts = <35 2 36 2 40 2>;
449 interrupt-parent = <&mpic>;
450 tbi-handle = <&tbi1>;
451 phy-handle = <&phy1>;
452 phy-connection-type = "sgmii";
455 #address-cells = <1>;
457 compatible = "fsl,gianfar-tbi";
462 device_type = "tbi-phy";
467 /* eTSEC 3 PICMG2.16 backplane port 0 */
468 enet2: ethernet@26000 {
469 #address-cells = <1>;
472 device_type = "network";
474 compatible = "gianfar";
475 reg = <0x26000 0x1000>;
476 ranges = <0x0 0x26000 0x1000>;
477 local-mac-address = [ 00 00 00 00 00 00 ];
478 interrupts = <31 2 32 2 33 2>;
479 interrupt-parent = <&mpic>;
480 tbi-handle = <&tbi2>;
481 phy-handle = <&phy2>;
482 phy-connection-type = "sgmii";
485 #address-cells = <1>;
487 compatible = "fsl,gianfar-tbi";
492 device_type = "tbi-phy";
497 /* eTSEC 4 PICMG2.16 backplane port 1 */
498 enet3: ethernet@27000 {
499 #address-cells = <1>;
502 device_type = "network";
504 compatible = "gianfar";
505 reg = <0x27000 0x1000>;
506 ranges = <0x0 0x27000 0x1000>;
507 local-mac-address = [ 00 00 00 00 00 00 ];
508 interrupts = <37 2 38 2 39 2>;
509 interrupt-parent = <&mpic>;
510 tbi-handle = <&tbi3>;
511 phy-handle = <&phy3>;
512 phy-connection-type = "sgmii";
515 #address-cells = <1>;
517 compatible = "fsl,gianfar-tbi";
522 device_type = "tbi-phy";
528 serial0: serial@4500 {
530 device_type = "serial";
531 compatible = "fsl,ns16550", "ns16550";
532 reg = <0x4500 0x100>;
533 clock-frequency = <0>;
535 interrupt-parent = <&mpic>;
539 serial1: serial@4600 {
541 device_type = "serial";
542 compatible = "fsl,ns16550", "ns16550";
543 reg = <0x4600 0x100>;
544 clock-frequency = <0>;
546 interrupt-parent = <&mpic>;
549 global-utilities@e0000 { //global utilities block
550 compatible = "fsl,mpc8572-guts";
551 reg = <0xe0000 0x1000>;
556 compatible = "fsl,mpc8572-msi", "fsl,mpic-msi";
557 reg = <0x41600 0x80>;
558 msi-available-ranges = <0 0x100>;
568 interrupt-parent = <&mpic>;
572 compatible = "fsl,sec3.0", "fsl,sec2.4", "fsl,sec2.2",
573 "fsl,sec2.1", "fsl,sec2.0";
574 reg = <0x30000 0x10000>;
575 interrupts = <45 2 58 2>;
576 interrupt-parent = <&mpic>;
577 fsl,num-channels = <4>;
578 fsl,channel-fifo-len = <24>;
579 fsl,exec-units-mask = <0x9fe>;
580 fsl,descriptor-types-mask = <0x3ab0ebf>;
584 interrupt-controller;
585 #address-cells = <0>;
586 #interrupt-cells = <2>;
587 reg = <0x40000 0x40000>;
588 compatible = "chrp,open-pic";
589 device_type = "open-pic";
593 compatible = "fsl,mpc8572-gpio";
594 reg = <0xf000 0x1000>;
596 interrupt-parent = <&mpic>;
602 compatible = "gpio-leds";
606 gpios = <&gpio0 4 1>;
607 linux,default-trigger = "heartbeat";
612 gpios = <&gpio0 5 1>;
617 gpios = <&gpio0 6 1>;
622 gpios = <&gpio0 7 1>;
626 /* PME (pattern-matcher) */
628 compatible = "fsl,mpc8572-pme", "pme8572";
629 reg = <0x10000 0x5000>;
630 interrupts = <57 2 64 2 65 2 66 2 67 2>;
631 interrupt-parent = <&mpic>;
635 compatible = "fsl,mpc8572-tlu", "fsl_tlu";
636 reg = <0x2f000 0x1000>;
638 interrupt-parent = <&mpic>;
642 compatible = "fsl,mpc8572-tlu", "fsl_tlu";
643 reg = <0x15000 0x1000>;
645 interrupt-parent = <&mpic>;
650 * PCI Express controller 3 @ ef008000 is not used.
651 * This would have been pci0 on other mpc85xx platforms.
653 * PCI Express controller 2 @ ef009000 is not used.
654 * This would have been pci1 on other mpc85xx platforms.
657 /* PCI Express controller 1, wired to PEX8648 PCIe switch */
658 pci2: pcie@ef00a000 {
659 compatible = "fsl,mpc8548-pcie";
661 #interrupt-cells = <1>;
663 #address-cells = <3>;
664 reg = <0 0xef00a000 0 0x1000>;
666 ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x40000000
667 0x1000000 0x0 0x00000000 0 0xe8000000 0x0 0x10000>;
668 clock-frequency = <33333333>;
669 interrupt-parent = <&mpic>;
671 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
674 0x0 0x0 0x0 0x1 &mpic 0x0 0x1
675 0x0 0x0 0x0 0x2 &mpic 0x1 0x1
676 0x0 0x0 0x0 0x3 &mpic 0x2 0x1
677 0x0 0x0 0x0 0x4 &mpic 0x3 0x1
680 reg = <0x0 0x0 0x0 0x0 0x0>;
682 #address-cells = <3>;
684 ranges = <0x2000000 0x0 0x80000000
685 0x2000000 0x0 0x80000000