/ {
        #address-cells = <2>;
        #size-cells = <1>;
        model = "amcc";
        compatible = "amcc";
        dcr-parent = <&/cpus/cpu@0>;

        aliases {
                ethernet0 = &EMAC0;
                ethernet1 = &EMAC1;
                serial0 = &UART0;
                serial1 = &UART1;
        };

        cpus {
                #address-cells = <1>;
                #size-cells = <0>;

                cpu@0 {
                        device_type = "cpu";
                        model = "PowerPC,440EPx";
                        reg = <0>;
                        clock-frequency = <0>; /* Filled in by zImage */
                        timebase-frequency = <0>; /* Filled in by zImage */
                        i-cache-line-size = <20>;
                        d-cache-line-size = <20>;
                        i-cache-size = <8000>;
                        d-cache-size = <8000>;
                        dcr-controller;
                        dcr-access-method = "native";
                };
        };

        memory {
                device_type = "memory";
                reg = <0 0 0>; /* Filled in by zImage */
        };

        UIC0: interrupt-controller0 {
                compatible = "ibm,uic-440epx","ibm,uic";
                interrupt-controller;
                cell-index = <0>;
                dcr-reg = <0c0 009>;
                #address-cells = <0>;
                #size-cells = <0>;
                #interrupt-cells = <2>;
        };

        UIC1: interrupt-controller1 {
                compatible = "ibm,uic-440epx","ibm,uic";
                interrupt-controller;
                cell-index = <1>;
                dcr-reg = <0d0 009>;
                #address-cells = <0>;
                #size-cells = <0>;
                #interrupt-cells = <2>;
                interrupts = <1e 4 1f 4>; /* cascade */
                interrupt-parent = <&UIC0>;
        };

        UIC2: interrupt-controller2 {
                compatible = "ibm,uic-440epx","ibm,uic";
                interrupt-controller;
                cell-index = <2>;
                dcr-reg = <0e0 009>;
                #address-cells = <0>;
                #size-cells = <0>;
                #interrupt-cells = <2>;
                interrupts = <1c 4 1d 4>; /* cascade */
                interrupt-parent = <&UIC0>;
        };

        SDR0: sdr {
                compatible = "ibm,sdr-440epx", "ibm,sdr-440ep";
                dcr-reg = <00e 002>;
        };

        CPR0: cpr {
                compatible = "ibm,cpr-440epx", "ibm,cpr-440ep";
                dcr-reg = <00c 002>;
        };

        plb {
                compatible = "ibm,plb-440epx", "ibm,plb4";
                #address-cells = <2>;
                #size-cells = <1>;
                ranges;
                clock-frequency = <0>; /* Filled in by zImage */

                SDRAM0: sdram {
                        compatible = "ibm,sdram-440epx", "ibm,sdram-44x-ddr2denali";
                        dcr-reg = <010 2>;
                };

                DMA0: dma {
                        compatible = "ibm,dma-440epx", "ibm,dma-4xx";
                        dcr-reg = <100 027>;
                };

                MAL0: mcmal {
                        compatible = "ibm,mcmal-440epx", "ibm,mcmal2";
                        dcr-reg = <180 62>;
                        num-tx-chans = <2>;
                        num-rx-chans = <2>;
                        interrupt-parent = <&MAL0>;
                        interrupts = <0 1 2 3 4>;
                        #interrupt-cells = <1>;
                        #address-cells = <0>;
                        #size-cells = <0>;
                        interrupt-map = </*TXEOB*/ 0 &UIC0 a 4
                                        /*RXEOB*/ 1 &UIC0 b 4
                                        /*SERR*/  2 &UIC1 0 4
                                        /*TXDE*/  3 &UIC1 1 4
                                        /*RXDE*/  4 &UIC1 2 4>;
                        interrupt-map-mask = <ffffffff>;
                };

                ndfc@0,d0000000 {
                        device_type = "nand";
                        compatible = "ibm,ndfc";
                        reg = <1 d0000000 2000>;
                        bank-settings = <80002222>;
                        ccr = <00001000>;
                        #address-cells = <1>;
                        #size-cells = <1>;

                        nand {
                                #address-cells = <1>;
                                #size-cells = <1>;

                                partition@0 {
                                        label = "u-boot";
                                        reg = <0 60000>;
                                };
                                partition@1 {
                                        label = "uboot-env-1";
                                        reg = <60000 4000>;
                                };
                                partition@2 {
                                        label = "uboot-env-2";
                                        reg = <64000 4000>;
                                };
                                partition@3 {
                                        label = "device-tree";
                                        reg = <68000 4000>;
                                };
                                partition@4 {
                                        label = "bootfs";
                                        reg = <6c000 340000>;
                                };
                                partition@5 {
                                        label = "rootfs";
                                        reg = <3ac000 0>;
                                };

                        };
                };

                USB0: ehci@e0000300 {
                        compatible = "ibm,usb-ehci-440epx", "usb-ehci";
                        interrupt-parent = <&UIC0>;
                        interrupts = <1a 4>;
                        reg = <0 e0000300 90 0 e0000390 70>;
                        big-endian;
                };

                POB0: opb {
                        compatible = "ibm,opb-440epx", "ibm,opb";
                        #address-cells = <1>;
                        #size-cells = <1>;
                        ranges = <00000000 1 00000000 80000000
                                          80000000 1 80000000 80000000>;
                        interrupt-parent = <&UIC1>;
                        interrupts = <7 4>;
                        clock-frequency = <0>; /* Filled in by zImage */

                        EBC0: ebc {
                                compatible = "ibm,ebc-440epx", "ibm,ebc";
                                dcr-reg = <012 2>;
                                #address-cells = <2>;
                                #size-cells = <1>;
                                clock-frequency = <0>; /* Filled in by zImage */
                                interrupts = <5 1>;
                                interrupt-parent = <&UIC1>;

                        };

                        UART0: serial@ef600300 {
                                device_type = "serial";
                                compatible = "ns16550";
                                reg = <ef600300 8>;
                                virtual-reg = <ef600300>;
                                clock-frequency = <0>; /* Filled in by zImage */
                                current-speed = <1c200>;
                                interrupt-parent = <&UIC0>;
                                interrupts = <0 4>;
                        };

                        UART1: serial@ef600400 {
                                device_type = "serial";
                                compatible = "ns16550";
                                reg = <ef600400 8>;
                                virtual-reg = <ef600400>;
                                clock-frequency = <0>;
                                current-speed = <0>;
                                interrupt-parent = <&UIC0>;
                                interrupts = <1 4>;
                        };

                        IIC0: i2c@ef600700 {
                                compatible = "ibm,iic-440gpx", "ibm,iic";
                                reg = <ef600700 14>;
                                index = <0>;
                                interrupt-parent = <&UIC0>;
                                interrupts = <2 4>;
                        };

                        IIC1: i2c@ef600800 {
                                compatible = "ibm,iic-440gpx", "ibm,iic";
                                reg = <ef600800 14>;
                                index = <1>;
                                interrupt-parent = <&UIC0>;
                                interrupts = <7 4>;
                        };

                        GPIO0: gpio@ef600b00 {
                                compatible = "ibm,gpio-440ep";
                                reg = <ef600b00 48>;
                                #gpio-cells = <2>;
                                gpio-controller;
                        };

                        GPIO1: gpio@ef600c00 {
                                compatible = "ibm,gpio-440ep";
                                reg = <ef600c00 48>;
                                #gpio-cells = <2>;
                                gpio-controller;
                        };

                        ZMII0: emac-zmii@ef600d00 {
                                compatible = "ibm,zmii-440epx", "ibm,zmii";
                                reg = <ef600d00 c>;
                        };

                        RGMII0: emac-rgmii@ef601000 {
                                compatible = "ibm,rgmii-440epx", "ibm,rgmii";
                                reg = <ef601000 8>;
                                has-mdio;
                        };

                        EMAC0: ethernet@ef600e00 {
                                device_type = "network";
                                compatible = "ibm,emac-440epx", "ibm,emac4";
                                interrupt-parent = <&EMAC0>;
                                interrupts = <0 1>;
                                #interrupt-cells = <1>;
                                #address-cells = <0>;
                                #size-cells = <0>;
                                interrupt-map = </*Status*/ 0 &UIC0 18 4
                                                /*Wake*/  1 &UIC1 1d 4>;
                                reg = <ef600e00 70>;
                                local-mac-address = [000000000000];
                                mal-device = <&MAL0>;
                                mal-tx-channel = <0>;
                                mal-rx-channel = <0>;
                                cell-index = <0>;
                                max-frame-size = <2328>;
                                rx-fifo-size = <1000>;
                                tx-fifo-size = <800>;
                                phy-mode = "rgmii";
                                phy-map = <00000000>;
                                zmii-device = <&ZMII0>;
                                zmii-channel = <0>;
                                rgmii-device = <&RGMII0>;
                                rgmii-channel = <0>;
                                has-inverted-stacr-oc;
                                has-new-stacr-staopc;
                        };

                        EMAC1: ethernet@ef600f00 {
                                device_type = "network";
                                compatible = "ibm,emac-440epx", "ibm,emac4";
                                interrupt-parent = <&EMAC1>;
                                interrupts = <0 1>;
                                #interrupt-cells = <1>;
                                #address-cells = <0>;
                                #size-cells = <0>;
                                interrupt-map = </*Status*/ 0 &UIC0 19 4
                                                /*Wake*/  1 &UIC1 1f 4>;
                                reg = <ef600f00 70>;
                                local-mac-address = [000000000000];
                                mal-device = <&MAL0>;
                                mal-tx-channel = <1>;
                                mal-rx-channel = <1>;
                                cell-index = <1>;
                                max-frame-size = <2328>;
                                rx-fifo-size = <1000>;
                                tx-fifo-size = <800>;
                                phy-mode = "rgmii";
                                phy-map = <00000000>;
                                zmii-device = <&ZMII0>;
                                zmii-channel = <1>;
                                rgmii-device = <&RGMII0>;
                                rgmii-channel = <1>;
                                has-inverted-stacr-oc;
                                has-new-stacr-staopc;
                        };
                        LEDS0: led0 {
                           compatible = "gpio-led";

                           label="led0";

                           gpios = <&GPIO1               1  0>;
                        };

                        LEDS1: led1 {
                           compatible = "gpio-led";

                           label="led1";

                           gpios = <&GPIO1               0  0>;
                        };

                        LEDS2: led2 {
                           compatible = "gpio-led";

                           label="led2";

                           gpios = <&GPIO0               1f  0>;
                        };
                        LEDS3: led3 {
                           compatible = "gpio-led";

                           label="led3";

                           gpios = <&GPIO0               1e  0>;
                        };
                        LEDS4: led4 {
                           compatible = "gpio-led";

                           label="led4";

                           gpios = <&GPIO0               1d  0>;
                        };

                        BUTTON0: button {
                           gpios = <&GPIO1               c  0
                                    >;
                           compatible = "gpio-button";
                           interrupt-parent = <&UIC0>;
                           interrupts = <1b 2>;
                        };

                };

                PCI0: pci@1ec000000 {
                        device_type = "pci";
                        #interrupt-cells = <1>;
                        #size-cells = <2>;
                        #address-cells = <3>;
                        compatible = "ibm,plb440epx-pci", "ibm,plb-pci";
                        primary;
                        reg = <1 eec00000 8     /* Config space access */
                               1 eed00000 4     /* IACK */
                               1 eed00000 4     /* Special cycle */
                               1 ef400000 40>;  /* Internal registers */

                        ranges = <02000000 0 80000000 1 80000000 0 40000000
                                01000000 0 00000000 1 e8000000 0 00010000
                                01000000 0 00000000 1 e8800000 0 03800000>;

                        dma-ranges = <42000000 0 0 0 0 0 80000000>;

                        interrupt-map-mask = <2800 0 0 0>;
                        interrupt-map = < 
                                          2000 0 0 0 &UIC2 3 8
                                          2800 0 0 0 &UIC2 4 8
                                        >;
                };
        };

        chosen {
                linux,stdout-path = "/plb/opb/serial@ef600300";
                bootargs = "console=ttyS0,115200 root=1f05 rootfstype=jffs2 getty_cons=ttyS0";
        };
};
