2 * Copyright (C) 2008 Extreme Engineering Solutions, Inc.
3 * Based on MPC8572DS device tree from Freescale Semiconductor, Inc.
5 * XPedite5301 PMC/XMC module 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,xpedite5301";
15 compatible = "xes,xpedite5301", "xes,MPC8572";
18 form-factor = "PMC/XMC";
19 boot-bank = <0x0>; /* 0: Primary flash, 1: Secondary flash */
37 d-cache-line-size = <32>; // 32 bytes
38 i-cache-line-size = <32>; // 32 bytes
39 d-cache-size = <0x8000>; // L1, 32K
40 i-cache-size = <0x8000>; // L1, 32K
41 timebase-frequency = <0>;
43 clock-frequency = <0>;
44 next-level-cache = <&L2>;
50 d-cache-line-size = <32>; // 32 bytes
51 i-cache-line-size = <32>; // 32 bytes
52 d-cache-size = <0x8000>; // L1, 32K
53 i-cache-size = <0x8000>; // L1, 32K
54 timebase-frequency = <0>;
56 clock-frequency = <0>;
57 next-level-cache = <&L2>;
62 device_type = "memory";
63 reg = <0x0 0x0 0x0 0x0>; // Filled in by U-Boot
69 compatible = "fsl,mpc8572-elbc", "fsl,elbc", "simple-bus";
70 reg = <0 0xef005000 0 0x1000>;
72 interrupt-parent = <&mpic>;
73 /* Local bus region mappings */
74 ranges = <0 0 0 0xf8000000 0x8000000 /* CS0: Boot flash */
75 1 0 0 0xf0000000 0x8000000 /* CS1: Alternate flash */
76 2 0 0 0xef800000 0x40000 /* CS2: NAND CE1 */
77 3 0 0 0xef840000 0x40000>; /* CS3: NAND CE2 */
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>;
160 #address-cells = <1>;
163 compatible = "fsl,mpc8572-immr", "simple-bus";
164 ranges = <0x0 0 0xef000000 0x100000>;
165 bus-frequency = <0>; // Filled out by uboot.
168 compatible = "fsl,ecm-law";
174 compatible = "fsl,mpc8572-ecm", "fsl,ecm";
175 reg = <0x1000 0x1000>;
177 interrupt-parent = <&mpic>;
180 memory-controller@2000 {
181 compatible = "fsl,mpc8572-memory-controller";
182 reg = <0x2000 0x1000>;
183 interrupt-parent = <&mpic>;
187 memory-controller@6000 {
188 compatible = "fsl,mpc8572-memory-controller";
189 reg = <0x6000 0x1000>;
190 interrupt-parent = <&mpic>;
194 L2: l2-cache-controller@20000 {
195 compatible = "fsl,mpc8572-l2-cache-controller";
196 reg = <0x20000 0x1000>;
197 cache-line-size = <32>; // 32 bytes
198 cache-size = <0x100000>; // L2, 1M
199 interrupt-parent = <&mpic>;
204 #address-cells = <1>;
207 compatible = "fsl-i2c";
208 reg = <0x3000 0x100>;
210 interrupt-parent = <&mpic>;
214 compatible = "dallas,ds1631", "dallas,ds1621";
219 compatible = "adi,adt7461";
224 compatible = "dallas,ds4510";
229 compatible = "atmel,at24c128b";
234 compatible = "st,m41t00",
240 compatible = "plx,pex8518";
245 compatible = "nxp,pca9557";
253 compatible = "nxp,pca9557";
261 compatible = "nxp,pca9557";
269 compatible = "nxp,pca9557";
278 #address-cells = <1>;
281 compatible = "fsl-i2c";
282 reg = <0x3100 0x100>;
284 interrupt-parent = <&mpic>;
289 #address-cells = <1>;
291 compatible = "fsl,mpc8572-dma", "fsl,eloplus-dma";
293 ranges = <0x0 0xc100 0x200>;
296 compatible = "fsl,mpc8572-dma-channel",
297 "fsl,eloplus-dma-channel";
300 interrupt-parent = <&mpic>;
304 compatible = "fsl,mpc8572-dma-channel",
305 "fsl,eloplus-dma-channel";
308 interrupt-parent = <&mpic>;
312 compatible = "fsl,mpc8572-dma-channel",
313 "fsl,eloplus-dma-channel";
316 interrupt-parent = <&mpic>;
320 compatible = "fsl,mpc8572-dma-channel",
321 "fsl,eloplus-dma-channel";
324 interrupt-parent = <&mpic>;
330 #address-cells = <1>;
332 compatible = "fsl,mpc8572-dma", "fsl,eloplus-dma";
334 ranges = <0x0 0x21100 0x200>;
337 compatible = "fsl,mpc8572-dma-channel",
338 "fsl,eloplus-dma-channel";
341 interrupt-parent = <&mpic>;
345 compatible = "fsl,mpc8572-dma-channel",
346 "fsl,eloplus-dma-channel";
349 interrupt-parent = <&mpic>;
353 compatible = "fsl,mpc8572-dma-channel",
354 "fsl,eloplus-dma-channel";
357 interrupt-parent = <&mpic>;
361 compatible = "fsl,mpc8572-dma-channel",
362 "fsl,eloplus-dma-channel";
365 interrupt-parent = <&mpic>;
371 enet0: ethernet@24000 {
372 #address-cells = <1>;
375 device_type = "network";
377 compatible = "gianfar";
378 reg = <0x24000 0x1000>;
379 ranges = <0x0 0x24000 0x1000>;
380 local-mac-address = [ 00 00 00 00 00 00 ];
381 interrupts = <29 2 30 2 34 2>;
382 interrupt-parent = <&mpic>;
383 tbi-handle = <&tbi0>;
384 phy-handle = <&phy0>;
385 phy-connection-type = "sgmii";
388 #address-cells = <1>;
390 compatible = "fsl,gianfar-mdio";
393 phy0: ethernet-phy@1 {
394 interrupt-parent = <&mpic>;
398 phy1: ethernet-phy@2 {
399 interrupt-parent = <&mpic>;
405 device_type = "tbi-phy";
411 enet1: ethernet@25000 {
412 #address-cells = <1>;
415 device_type = "network";
417 compatible = "gianfar";
418 reg = <0x25000 0x1000>;
419 ranges = <0x0 0x25000 0x1000>;
420 local-mac-address = [ 00 00 00 00 00 00 ];
421 interrupts = <35 2 36 2 40 2>;
422 interrupt-parent = <&mpic>;
423 tbi-handle = <&tbi1>;
424 phy-handle = <&phy1>;
425 phy-connection-type = "sgmii";
428 #address-cells = <1>;
430 compatible = "fsl,gianfar-tbi";
435 device_type = "tbi-phy";
441 serial0: serial@4500 {
443 device_type = "serial";
444 compatible = "fsl,ns16550", "ns16550";
445 reg = <0x4500 0x100>;
446 clock-frequency = <0>;
448 interrupt-parent = <&mpic>;
452 serial1: serial@4600 {
454 device_type = "serial";
455 compatible = "fsl,ns16550", "ns16550";
456 reg = <0x4600 0x100>;
457 clock-frequency = <0>;
459 interrupt-parent = <&mpic>;
462 global-utilities@e0000 { //global utilities block
463 compatible = "fsl,mpc8572-guts";
464 reg = <0xe0000 0x1000>;
469 compatible = "fsl,mpc8572-msi", "fsl,mpic-msi";
470 reg = <0x41600 0x80>;
471 msi-available-ranges = <0 0x100>;
481 interrupt-parent = <&mpic>;
485 compatible = "fsl,sec3.0", "fsl,sec2.4", "fsl,sec2.2",
486 "fsl,sec2.1", "fsl,sec2.0";
487 reg = <0x30000 0x10000>;
488 interrupts = <45 2 58 2>;
489 interrupt-parent = <&mpic>;
490 fsl,num-channels = <4>;
491 fsl,channel-fifo-len = <24>;
492 fsl,exec-units-mask = <0x9fe>;
493 fsl,descriptor-types-mask = <0x3ab0ebf>;
497 interrupt-controller;
498 #address-cells = <0>;
499 #interrupt-cells = <2>;
500 reg = <0x40000 0x40000>;
501 compatible = "chrp,open-pic";
502 device_type = "open-pic";
506 compatible = "fsl,mpc8572-gpio";
507 reg = <0xf000 0x1000>;
509 interrupt-parent = <&mpic>;
515 compatible = "gpio-leds";
519 gpios = <&gpio0 4 1>;
520 linux,default-trigger = "heartbeat";
525 gpios = <&gpio0 5 1>;
530 gpios = <&gpio0 6 1>;
535 gpios = <&gpio0 7 1>;
539 /* PME (pattern-matcher) */
541 compatible = "fsl,mpc8572-pme", "pme8572";
542 reg = <0x10000 0x5000>;
543 interrupts = <57 2 64 2 65 2 66 2 67 2>;
544 interrupt-parent = <&mpic>;
548 compatible = "fsl,mpc8572-tlu", "fsl_tlu";
549 reg = <0x2f000 0x1000>;
551 interrupt-parent = <&mpic>;
555 compatible = "fsl,mpc8572-tlu", "fsl_tlu";
556 reg = <0x15000 0x1000>;
558 interrupt-parent = <&mpic>;
563 * PCI Express controller 3 @ ef008000 is not used.
564 * This would have been pci0 on other mpc85xx platforms.
567 /* PCI Express controller 2, wired to XMC P15 connector */
568 pci1: pcie@ef009000 {
569 compatible = "fsl,mpc8548-pcie";
571 #interrupt-cells = <1>;
573 #address-cells = <3>;
574 reg = <0 0xef009000 0 0x1000>;
576 ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x10000000
577 0x1000000 0x0 0x00000000 0 0xe8800000 0x0 0x00010000>;
578 clock-frequency = <33333333>;
579 interrupt-parent = <&mpic>;
581 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
584 0x0 0x0 0x0 0x1 &mpic 0x4 0x1
585 0x0 0x0 0x0 0x2 &mpic 0x5 0x1
586 0x0 0x0 0x0 0x3 &mpic 0x6 0x1
587 0x0 0x0 0x0 0x4 &mpic 0x7 0x1
590 reg = <0x00000000 0x00000000 0x00000000 0x00000000 0x00000000>;
592 #address-cells = <3>;
594 ranges = <0x2000000 0x0 0xc0000000
595 0x2000000 0x0 0xc0000000
604 /* PCI Express controller 1, wired to PEX8112 for PMC interface */
605 pci2: pcie@ef00a000 {
606 compatible = "fsl,mpc8548-pcie";
608 #interrupt-cells = <1>;
610 #address-cells = <3>;
611 reg = <0 0xef00a000 0 0x1000>;
613 ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x40000000
614 0x1000000 0x0 0x00000000 0 0xe8000000 0x0 0x10000>;
615 clock-frequency = <33333333>;
616 interrupt-parent = <&mpic>;
618 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
621 0x0 0x0 0x0 0x1 &mpic 0x0 0x1
622 0x0 0x0 0x0 0x2 &mpic 0x1 0x1
623 0x0 0x0 0x0 0x3 &mpic 0x2 0x1
624 0x0 0x0 0x0 0x4 &mpic 0x3 0x1
627 reg = <0x0 0x0 0x0 0x0 0x0>;
629 #address-cells = <3>;
631 ranges = <0x2000000 0x0 0x80000000
632 0x2000000 0x0 0x80000000