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 * XPedite5301 PMC/XMC module based on MPC8572E
11 model = "xes,xpedite5301";
12 compatible = "xes,xpedite5301", "xes,MPC8572";
15 form-factor = "PMC/XMC";
16 boot-bank = <0x0>; /* 0: Primary flash, 1: Secondary flash */
34 d-cache-line-size = <32>; // 32 bytes
35 i-cache-line-size = <32>; // 32 bytes
36 d-cache-size = <0x8000>; // L1, 32K
37 i-cache-size = <0x8000>; // L1, 32K
38 timebase-frequency = <0>;
40 clock-frequency = <0>;
41 next-level-cache = <&L2>;
47 d-cache-line-size = <32>; // 32 bytes
48 i-cache-line-size = <32>; // 32 bytes
49 d-cache-size = <0x8000>; // L1, 32K
50 i-cache-size = <0x8000>; // L1, 32K
51 timebase-frequency = <0>;
53 clock-frequency = <0>;
54 next-level-cache = <&L2>;
59 device_type = "memory";
60 reg = <0x0 0x0 0x0 0x0>; // Filled in by U-Boot
66 compatible = "fsl,mpc8572-elbc", "fsl,elbc", "simple-bus";
67 reg = <0 0xef005000 0 0x1000>;
69 interrupt-parent = <&mpic>;
70 /* Local bus region mappings */
71 ranges = <0 0 0 0xf8000000 0x8000000 /* CS0: Boot flash */
72 1 0 0 0xf0000000 0x8000000 /* CS1: Alternate flash */
73 2 0 0 0xef800000 0x40000 /* CS2: NAND CE1 */
74 3 0 0 0xef840000 0x40000>; /* CS3: NAND CE2 */
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>;
157 #address-cells = <1>;
160 compatible = "fsl,mpc8572-immr", "simple-bus";
161 ranges = <0x0 0 0xef000000 0x100000>;
162 bus-frequency = <0>; // Filled out by uboot.
165 compatible = "fsl,ecm-law";
171 compatible = "fsl,mpc8572-ecm", "fsl,ecm";
172 reg = <0x1000 0x1000>;
174 interrupt-parent = <&mpic>;
177 memory-controller@2000 {
178 compatible = "fsl,mpc8572-memory-controller";
179 reg = <0x2000 0x1000>;
180 interrupt-parent = <&mpic>;
184 memory-controller@6000 {
185 compatible = "fsl,mpc8572-memory-controller";
186 reg = <0x6000 0x1000>;
187 interrupt-parent = <&mpic>;
191 L2: l2-cache-controller@20000 {
192 compatible = "fsl,mpc8572-l2-cache-controller";
193 reg = <0x20000 0x1000>;
194 cache-line-size = <32>; // 32 bytes
195 cache-size = <0x100000>; // L2, 1M
196 interrupt-parent = <&mpic>;
201 #address-cells = <1>;
204 compatible = "fsl-i2c";
205 reg = <0x3000 0x100>;
207 interrupt-parent = <&mpic>;
211 compatible = "dallas,ds1631", "dallas,ds1621";
216 compatible = "adi,adt7461";
221 compatible = "dallas,ds4510";
226 compatible = "atmel,at24c128b";
231 compatible = "st,m41t00",
237 compatible = "plx,pex8518";
242 compatible = "nxp,pca9557";
250 compatible = "nxp,pca9557";
258 compatible = "nxp,pca9557";
266 compatible = "nxp,pca9557";
275 #address-cells = <1>;
278 compatible = "fsl-i2c";
279 reg = <0x3100 0x100>;
281 interrupt-parent = <&mpic>;
286 #address-cells = <1>;
288 compatible = "fsl,mpc8572-dma", "fsl,eloplus-dma";
290 ranges = <0x0 0xc100 0x200>;
293 compatible = "fsl,mpc8572-dma-channel",
294 "fsl,eloplus-dma-channel";
297 interrupt-parent = <&mpic>;
301 compatible = "fsl,mpc8572-dma-channel",
302 "fsl,eloplus-dma-channel";
305 interrupt-parent = <&mpic>;
309 compatible = "fsl,mpc8572-dma-channel",
310 "fsl,eloplus-dma-channel";
313 interrupt-parent = <&mpic>;
317 compatible = "fsl,mpc8572-dma-channel",
318 "fsl,eloplus-dma-channel";
321 interrupt-parent = <&mpic>;
327 #address-cells = <1>;
329 compatible = "fsl,mpc8572-dma", "fsl,eloplus-dma";
331 ranges = <0x0 0x21100 0x200>;
334 compatible = "fsl,mpc8572-dma-channel",
335 "fsl,eloplus-dma-channel";
338 interrupt-parent = <&mpic>;
342 compatible = "fsl,mpc8572-dma-channel",
343 "fsl,eloplus-dma-channel";
346 interrupt-parent = <&mpic>;
350 compatible = "fsl,mpc8572-dma-channel",
351 "fsl,eloplus-dma-channel";
354 interrupt-parent = <&mpic>;
358 compatible = "fsl,mpc8572-dma-channel",
359 "fsl,eloplus-dma-channel";
362 interrupt-parent = <&mpic>;
368 enet0: ethernet@24000 {
369 #address-cells = <1>;
372 device_type = "network";
374 compatible = "gianfar";
375 reg = <0x24000 0x1000>;
376 ranges = <0x0 0x24000 0x1000>;
377 local-mac-address = [ 00 00 00 00 00 00 ];
378 interrupts = <29 2 30 2 34 2>;
379 interrupt-parent = <&mpic>;
380 tbi-handle = <&tbi0>;
381 phy-handle = <&phy0>;
382 phy-connection-type = "sgmii";
385 #address-cells = <1>;
387 compatible = "fsl,gianfar-mdio";
390 phy0: ethernet-phy@1 {
391 interrupt-parent = <&mpic>;
395 phy1: ethernet-phy@2 {
396 interrupt-parent = <&mpic>;
402 device_type = "tbi-phy";
408 enet1: ethernet@25000 {
409 #address-cells = <1>;
412 device_type = "network";
414 compatible = "gianfar";
415 reg = <0x25000 0x1000>;
416 ranges = <0x0 0x25000 0x1000>;
417 local-mac-address = [ 00 00 00 00 00 00 ];
418 interrupts = <35 2 36 2 40 2>;
419 interrupt-parent = <&mpic>;
420 tbi-handle = <&tbi1>;
421 phy-handle = <&phy1>;
422 phy-connection-type = "sgmii";
425 #address-cells = <1>;
427 compatible = "fsl,gianfar-tbi";
432 device_type = "tbi-phy";
438 serial0: serial@4500 {
440 device_type = "serial";
441 compatible = "fsl,ns16550", "ns16550";
442 reg = <0x4500 0x100>;
443 clock-frequency = <0>;
445 interrupt-parent = <&mpic>;
449 serial1: serial@4600 {
451 device_type = "serial";
452 compatible = "fsl,ns16550", "ns16550";
453 reg = <0x4600 0x100>;
454 clock-frequency = <0>;
456 interrupt-parent = <&mpic>;
459 global-utilities@e0000 { //global utilities block
460 compatible = "fsl,mpc8572-guts";
461 reg = <0xe0000 0x1000>;
466 compatible = "fsl,mpc8572-msi", "fsl,mpic-msi";
467 reg = <0x41600 0x80>;
468 msi-available-ranges = <0 0x100>;
478 interrupt-parent = <&mpic>;
482 compatible = "fsl,sec3.0", "fsl,sec2.4", "fsl,sec2.2",
483 "fsl,sec2.1", "fsl,sec2.0";
484 reg = <0x30000 0x10000>;
485 interrupts = <45 2 58 2>;
486 interrupt-parent = <&mpic>;
487 fsl,num-channels = <4>;
488 fsl,channel-fifo-len = <24>;
489 fsl,exec-units-mask = <0x9fe>;
490 fsl,descriptor-types-mask = <0x3ab0ebf>;
494 interrupt-controller;
495 #address-cells = <0>;
496 #interrupt-cells = <2>;
497 reg = <0x40000 0x40000>;
498 compatible = "chrp,open-pic";
499 device_type = "open-pic";
503 compatible = "fsl,mpc8572-gpio";
504 reg = <0xf000 0x1000>;
506 interrupt-parent = <&mpic>;
512 compatible = "gpio-leds";
516 gpios = <&gpio0 4 1>;
517 linux,default-trigger = "heartbeat";
522 gpios = <&gpio0 5 1>;
527 gpios = <&gpio0 6 1>;
532 gpios = <&gpio0 7 1>;
536 /* PME (pattern-matcher) */
538 compatible = "fsl,mpc8572-pme", "pme8572";
539 reg = <0x10000 0x5000>;
540 interrupts = <57 2 64 2 65 2 66 2 67 2>;
541 interrupt-parent = <&mpic>;
545 compatible = "fsl,mpc8572-tlu", "fsl_tlu";
546 reg = <0x2f000 0x1000>;
548 interrupt-parent = <&mpic>;
552 compatible = "fsl,mpc8572-tlu", "fsl_tlu";
553 reg = <0x15000 0x1000>;
555 interrupt-parent = <&mpic>;
560 * PCI Express controller 3 @ ef008000 is not used.
561 * This would have been pci0 on other mpc85xx platforms.
564 /* PCI Express controller 2, wired to XMC P15 connector */
565 pci1: pcie@ef009000 {
566 compatible = "fsl,mpc8548-pcie";
568 #interrupt-cells = <1>;
570 #address-cells = <3>;
571 reg = <0 0xef009000 0 0x1000>;
573 ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x10000000
574 0x1000000 0x0 0x00000000 0 0xe8800000 0x0 0x00010000>;
575 clock-frequency = <33333333>;
576 interrupt-parent = <&mpic>;
578 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
581 0x0 0x0 0x0 0x1 &mpic 0x4 0x1
582 0x0 0x0 0x0 0x2 &mpic 0x5 0x1
583 0x0 0x0 0x0 0x3 &mpic 0x6 0x1
584 0x0 0x0 0x0 0x4 &mpic 0x7 0x1
587 reg = <0x00000000 0x00000000 0x00000000 0x00000000 0x00000000>;
589 #address-cells = <3>;
591 ranges = <0x2000000 0x0 0xc0000000
592 0x2000000 0x0 0xc0000000
601 /* PCI Express controller 1, wired to PEX8112 for PMC interface */
602 pci2: pcie@ef00a000 {
603 compatible = "fsl,mpc8548-pcie";
605 #interrupt-cells = <1>;
607 #address-cells = <3>;
608 reg = <0 0xef00a000 0 0x1000>;
610 ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x40000000
611 0x1000000 0x0 0x00000000 0 0xe8000000 0x0 0x10000>;
612 clock-frequency = <33333333>;
613 interrupt-parent = <&mpic>;
615 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
618 0x0 0x0 0x0 0x1 &mpic 0x0 0x1
619 0x0 0x0 0x0 0x2 &mpic 0x1 0x1
620 0x0 0x0 0x0 0x3 &mpic 0x2 0x1
621 0x0 0x0 0x0 0x4 &mpic 0x3 0x1
624 reg = <0x0 0x0 0x0 0x0 0x0>;
626 #address-cells = <3>;
628 ranges = <0x2000000 0x0 0x80000000
629 0x2000000 0x0 0x80000000