OpenWrt – Rev 1

Subversion Repositories:
Rev:
/ {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "ralink,rt3883-soc";

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

                cpu@0 {
                        compatible = "mips,mips74Kc";
                        reg = <0>;
                };
        };

        chosen {
                bootargs = "console=ttyS0,57600";
        };

        aliases {
                spi0 = &spi0;
                spi1 = &spi1;
                serial0 = &uartlite;
        };

        cpuintc: cpuintc {
                #address-cells = <0>;
                #interrupt-cells = <1>;
                interrupt-controller;
                compatible = "mti,cpu-interrupt-controller";
        };

        palmbus: palmbus@10000000 {
                compatible = "palmbus";
                reg = <0x10000000 0x200000>;
                ranges = <0x0 0x10000000 0x1FFFFF>;

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

                sysc: sysc@0 {
                        compatible = "ralink,rt3883-sysc", "ralink,rt3050-sysc", "syscon";
                        reg = <0x0 0x100>;
                };

                timer: timer@100 {
                        compatible = "ralink,rt3883-timer", "ralink,rt2880-timer";
                        reg = <0x100 0x20>;

                        interrupt-parent = <&intc>;
                        interrupts = <1>;
                };

                watchdog: watchdog@120 {
                        compatible = "ralink,rt3883-wdt", "ralink,rt2880-wdt";
                        reg = <0x120 0x10>;

                        resets = <&rstctrl 8>;
                        reset-names = "wdt";

                        interrupt-parent = <&intc>;
                        interrupts = <1>;
                };

                intc: intc@200 {
                        compatible = "ralink,rt3883-intc", "ralink,rt2880-intc";
                        reg = <0x200 0x100>;

                        resets = <&rstctrl 19>;
                        reset-names = "intc";

                        interrupt-controller;
                        #interrupt-cells = <1>;

                        interrupt-parent = <&cpuintc>;
                        interrupts = <2>;
                };

                memc: memc@300 {
                        compatible = "ralink,rt3883-memc", "ralink,rt3050-memc";
                        reg = <0x300 0x100>;

                        resets = <&rstctrl 20>;
                        reset-names = "mc";

                        interrupt-parent = <&intc>;
                        interrupts = <3>;
                };

                uart: uart@500 {
                        compatible = "ralink,rt3883-uart", "ralink,rt2880-uart", "ns16550a";
                        reg = <0x500 0x100>;

                        resets = <&rstctrl 12>;
                        reset-names = "uart";

                        interrupt-parent = <&intc>;
                        interrupts = <5>;

                        reg-shift = <2>;

                        status = "disabled";
                };

                gpio0: gpio@600 {
                        compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
                        reg = <0x600 0x34>;

                        resets = <&rstctrl 13>;
                        reset-names = "pio";

                        interrupt-parent = <&intc>;
                        interrupts = <6>;

                        gpio-controller;
                        #gpio-cells = <2>;

                        ralink,gpio-base = <0>;
                        ralink,nr-gpio = <24>;
                        ralink,register-map = [ 00 04 08 0c
                                                20 24 28 2c
                                                30 34 ];
                };

                gpio1: gpio@638 {
                        compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
                        reg = <0x638 0x24>;

                        gpio-controller;
                        #gpio-cells = <2>;

                        ralink,gpio-base = <24>;
                        ralink,nr-gpio = <16>;
                        ralink,register-map = [ 00 04 08 0c
                                                10 14 18 1c
                                                20 24 ];

                        status = "disabled";
                };

                gpio2: gpio@660 {
                        compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
                        reg = <0x660 0x24>;

                        gpio-controller;
                        #gpio-cells = <2>;

                        ralink,gpio-base = <40>;
                        ralink,nr-gpio = <32>;
                        ralink,register-map = [ 00 04 08 0c
                                                10 14 18 1c
                                                20 24 ];

                        status = "disabled";
                };

                gpio3: gpio@688 {
                        compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
                        reg = <0x688 0x24>;

                        gpio-controller;
                        #gpio-cells = <2>;

                        ralink,gpio-base = <72>;
                        ralink,nr-gpio = <24>;
                        ralink,register-map = [ 00 04 08 0c
                                                10 14 18 1c
                                                20 24 ];

                        status = "disabled";
                };

                i2c@900 {
                        compatible = "ralink,rt2880-i2c";
                        reg = <0x900 0x100>;

                        resets = <&rstctrl 16>;
                        reset-names = "i2c";

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

                        status = "disabled";

                        pinctrl-names = "default";
                        pinctrl-0 = <&i2c_pins>;
                };

                i2s@a00 {
                        compatible = "ralink,rt3883-i2s";
                        reg = <0xa00 0x100>;

                        resets = <&rstctrl 17>;
                        reset-names = "i2s";

                        interrupt-parent = <&intc>;
                        interrupts = <10>;

                        txdma-req = <2>;
                        rxdma-req = <3>;

                        dmas = <&gdma 4>,
                                <&gdma 6>;
                        dma-names = "tx", "rx";

                        status = "disabled";
                };

                spi0: spi@b00 {
                        compatible = "ralink,rt3883-spi", "ralink,rt2880-spi";
                        reg = <0xb00 0x40>;
                        #address-cells = <1>;
                        #size-cells = <0>;

                        resets = <&rstctrl 18>;
                        reset-names = "spi";

                        pinctrl-names = "default";
                        pinctrl-0 = <&spi_pins>;

                        status = "disabled";
                };

                spi1: spi@b40 {
                        compatible = "ralink,rt3883-spi", "ralink,rt2880-spi";
                        reg = <0xb40 0x60>;
                        #address-cells = <1>;
                        #size-cells = <0>;

                        resets = <&rstctrl 18>;
                        reset-names = "spi";

                        pinctrl-names = "default";
                        pinctrl-0 = <&spi_cs1>;

                        status = "disabled";
                };

                uartlite: uartlite@c00 {
                        compatible = "ralink,rt3883-uart", "ralink,rt2880-uart", "ns16550a";
                        reg = <0xc00 0x100>;

                        resets = <&rstctrl 19>;
                        reset-names = "uartl";

                        interrupt-parent = <&intc>;
                        interrupts = <12>;

                        reg-shift = <2>;

                        pinctrl-names = "default";
                        pinctrl-0 = <&uartlite_pins>;
                };

                gdma: gdma@2800 {
                        compatible = "ralink,rt3883-gdma";
                        reg = <0x2800 0x800>;

                        resets = <&rstctrl 14>;
                        reset-names = "dma";

                        interrupt-parent = <&intc>;
                        interrupts = <7>;

                        #dma-cells = <1>;
                        #dma-channels = <16>;
                        #dma-requests = <16>;

                        status = "disabled";
                };
        };

        pinctrl: pinctrl {
                compatible = "ralink,rt2880-pinmux";

                pinctrl-names = "default";
                pinctrl-0 = <&state_default>;

                state_default: pinctrl0 {
                };

                i2c_pins: i2c_pins {
                        i2c_pins {
                                ralink,group = "i2c";
                                ralink,function = "i2c";
                        };
                };

                spi_pins: spi_pins {
                        spi_pins {
                                ralink,group = "spi";
                                ralink,function = "spi";
                        };
                };

                spi_cs1: spi1 {
                        spi1 {
                                ralink,group = "pci";
                                ralink,function = "pci-func";
                        };
                };

                uartlite_pins: uartlite {
                        uart {
                                ralink,group = "uartlite";
                                ralink,function = "uartlite";
                        };
                };

                pci_pins: pci {
                        pci {
                                ralink,group = "pci";
                                ralink,function = "pci-fnc";
                        };
                };
        };

        ethernet: ethernet@10100000 {
                compatible = "ralink,rt3883-eth";
                #address-cells = <1>;
                #size-cells = <0>;
                reg = <0x10100000 0x10000>;

                resets = <&rstctrl 21>;
                reset-names = "fe";

                interrupt-parent = <&cpuintc>;
                interrupts = <5>;

                port@0 {
                        compatible = "ralink,rt3883-port", "mediatek,eth-port";
                        reg = <0>;
                };

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

                        status = "disabled";
                };
        };

        rstctrl: rstctrl {
                compatible = "ralink,rt3883-reset", "ralink,rt2880-reset";
                #reset-cells = <1>;
        };

        clkctrl: clkctrl {
                compatible = "ralink,rt2880-clock";
                #clock-cells = <1>;
        };

        pci: pci@10140000 {
                compatible = "ralink,rt3883-pci";
                reg = <0x10140000 0x20000>;
                #address-cells = <1>;
                #size-cells = <1>;
                ranges; /* direct mapping */

                pinctrl-names = "default";
                pinctrl-0 = <&pci_pins>;

                status = "disabled";

                pciintc: interrupt-controller {
                        interrupt-controller;
                        #address-cells = <0>;
                        #interrupt-cells = <1>;

                        interrupt-parent = <&cpuintc>;
                        interrupts = <4>;
                };

                pci@0 {
                        #address-cells = <3>;
                        #size-cells = <2>;
                        #interrupt-cells = <1>;

                        device_type = "pci";

                        bus-range = <0 255>;
                        ranges = <
                                0x02000000 0 0x00000000 0x20000000 0 0x10000000 /* pci memory */
                                0x01000000 0 0x00000000 0x10160000 0 0x00010000 /* io space */
                        >;

                        interrupt-map-mask = <0xf800 0 0 7>;
                        interrupt-map = <
                                /* IDSEL 17 */
                                0x8800 0 0 1 &pciintc 18
                                0x8800 0 0 2 &pciintc 18
                                0x8800 0 0 3 &pciintc 18
                                0x8800 0 0 4 &pciintc 18
                                /* IDSEL 18 */
                                0x9000 0 0 1 &pciintc 19
                                0x9000 0 0 2 &pciintc 19
                                0x9000 0 0 3 &pciintc 19
                                0x9000 0 0 4 &pciintc 19
                        >;

                        pci1: pci@1 {
                                reg = <0x0800 0 0 0 0>;
                                device_type = "pci";
                                #interrupt-cells = <1>;
                                #address-cells = <3>;
                                #size-cells = <2>;

                                status = "disabled";

                                interrupt-map-mask = <0x0 0 0 0>;
                                interrupt-map = <0x0 0 0 0 &pciintc 20>;

                                bus-range = <1 255>;
                                ranges;
                        };

                        pci17: pci@11,0 {
                                reg = <0x8800 0 0 0 0>;
                                #interrupt-cells = <1>;
                                #address-cells = <3>;
                                #size-cells = <2>;

                                status = "disabled";
                        };

                        pci18: pci@12,0 {
                                reg = <0x9000 0 0 0 0>;
                                #interrupt-cells = <1>;
                                #address-cells = <3>;
                                #size-cells = <2>;

                                status = "disabled";
                        };
                };
        };

        usbphy: usbphy {
                compatible = "ralink,rt3352-usbphy";
                #phy-cells = <0>;

                ralink,sysctl = <&sysc>;
                resets = <&rstctrl 22 &rstctrl 25>;
                reset-names = "host", "device";
                clocks = <&clkctrl 22 &clkctrl 25>;
                clock-names = "host", "device";
        };

        wmac: wmac@10180000 {
                compatible = "ralink,rt3883-wmac", "ralink,rt2880-wmac";
                reg = <0x10180000 0x40000>;

                interrupt-parent = <&cpuintc>;
                interrupts = <6>;

                ralink,eeprom = "soc_wmac.eeprom";
        };

        ehci: ehci@101c0000 {
                #address-cells = <1>;
                #size-cells = <0>;
                compatible = "generic-ehci";
                reg = <0x101c0000 0x1000>;

                phys = <&usbphy>;
                phy-names = "usb";

                interrupt-parent = <&intc>;
                interrupts = <18>;

                status = "disabled";

                ehci_port1: port@1 {
                        reg = <1>;
                        #trigger-source-cells = <0>;
                };
        };

        ohci: ohci@101c1000 {
                #address-cells = <1>;
                #size-cells = <0>;
                compatible = "generic-ohci";
                reg = <0x101c1000 0x1000>;

                phys = <&usbphy>;
                phy-names = "usb";

                interrupt-parent = <&intc>;
                interrupts = <18>;

                status = "disabled";

                ohci_port1: port@1 {
                        reg = <1>;
                        #trigger-source-cells = <0>;
                };
        };
};