ramips: add support for SNR-CPE-ME2-SFP
[openwrt/openwrt.git] / target / linux / ramips / dts / rt3050.dtsi
index 1ddc1515b34038501d3ed2a5f18012bbcc0381a8..492474fdc43f74325df78f28cd6569dda0d18143 100644 (file)
@@ -1,11 +1,22 @@
+/dts-v1/;
+
 / {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "ralink,rt3050-soc", "ralink,rt3052-soc", "ralink,rt3350-soc";
 
+       aliases {
+               spi0 = &spi0;
+               serial0 = &uartlite;
+       };
+
        cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
                cpu@0 {
                        compatible = "mips,mips24KEc";
+                       reg = <0>;
                };
        };
 
                bootargs = "console=ttyS0,57600";
        };
 
-       aliases {
-               spi0 = &spi0;
-               serial0 = &uartlite;
-       };
-
-       cpuintc: cpuintc@0 {
+       cpuintc: cpuintc {
                #address-cells = <0>;
                #interrupt-cells = <1>;
                interrupt-controller;
@@ -34,7 +40,7 @@
                #size-cells = <1>;
 
                sysc: sysc@0 {
-                       compatible = "ralink,rt3050-sysc";
+                       compatible = "ralink,rt3050-sysc", "syscon";
                        reg = <0x0 0x100>;
                };
 
                        gpio-controller;
                        #gpio-cells = <2>;
 
+                       ngpios = <24>;
                        ralink,gpio-base = <0>;
-                       ralink,num-gpios = <24>;
                        ralink,register-map = [ 00 04 08 0c
                                                20 24 28 2c
                                                30 34 ];
                        gpio-controller;
                        #gpio-cells = <2>;
 
+                       ngpios = <16>;
                        ralink,gpio-base = <24>;
-                       ralink,num-gpios = <16>;
                        ralink,register-map = [ 00 04 08 0c
                                                10 14 18 1c
                                                20 24 ];
                        gpio-controller;
                        #gpio-cells = <2>;
 
+                       ngpios = <12>;
                        ralink,gpio-base = <40>;
-                       ralink,num-gpios = <12>;
                        ralink,register-map = [ 00 04 08 0c
                                                10 14 18 1c
                                                20 24 ];
                        status = "disabled";
                };
 
+               gdma: gdma@700 {
+                       compatible = "ralink,rt305x-gdma";
+                       reg = <0x700 0x100>;
+
+                       resets = <&rstctrl 14>;
+                       reset-names = "dma";
+
+                       interrupt-parent = <&intc>;
+                       interrupts = <7>;
+
+                       #dma-cells = <1>;
+                       #dma-channels = <8>;
+                       #dma-requests = <8>;
+
+                       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,rt3050-i2s";
+                       reg = <0xa00 0x100>;
+
+                       resets = <&rstctrl 17>;
+                       reset-names = "i2s";
+
+                       interrupt-parent = <&intc>;
+                       interrupts = <10>;
+
+                       txdma-req = <2>;
+
+                       dmas = <&gdma 4>;
+                       dma-names = "tx";
+
+                       status = "disabled";
+               };
+
                spi0: spi@b00 {
                        compatible = "ralink,rt3050-spi", "ralink,rt2880-spi";
                        reg = <0xb00 0x100>;
 
                state_default: pinctrl0 {
                        sdram {
-                               ralink,group = "sdram";
-                               ralink,function = "sdram";
+                               groups = "sdram";
+                               function = "sdram";
                        };
                };
 
-               spi_pins: spi {
-                       spi {
-                               ralink,group = "spi";
-                               ralink,function = "spi";
+               i2c_pins: i2c_pins {
+                       i2c_pins {
+                               groups = "i2c";
+                               function = "i2c";
+                       };
+               };
+
+               spi_pins: spi_pins {
+                       spi_pins {
+                               groups = "spi";
+                               function = "spi";
+                       };
+               };
+
+               rgmii_pins: rgmii {
+                       rgmii {
+                               groups = "rgmii";
+                               function = "rgmii";
                        };
                };
 
                uartlite_pins: uartlite {
                        uart {
-                               ralink,group = "uartlite";
-                               ralink,function = "uartlite";
+                               groups = "uartlite";
+                               function = "uartlite";
                        };
                };
        };
                #reset-cells = <1>;
        };
 
+       clkctrl: clkctrl {
+               compatible = "ralink,rt2880-clock";
+               #clock-cells = <1>;
+       };
+
+       usbphy: usbphy {
+               compatible = "ralink,rt3050-usbphy";
+               #phy-cells = <0>;
+
+               ralink,sysctl = <&sysc>;
+               resets = <&rstctrl 22>;
+               reset-names = "host";
+               clocks = <&clkctrl 18>;
+               clock-names = "host";
+       };
+
        ethernet: ethernet@10100000 {
                compatible = "ralink,rt3050-eth";
                reg = <0x10100000 0x10000>;
                compatible = "ralink,rt3050-esw";
                reg = <0x10110000 0x8000>;
 
-               resets = <&rstctrl 23>;
-               reset-names = "esw";
+               resets = <&rstctrl 23 &rstctrl 24>;
+               reset-names = "esw", "ephy";
 
                interrupt-parent = <&intc>;
                interrupts = <17>;
        };
 
        otg: otg@101c0000 {
+               #address-cells = <1>;
+               #size-cells = <0>;
                compatible = "ralink,rt3050-otg", "snps,dwc2";
                reg = <0x101c0000 0x40000>;
 
                reset-names = "otg";
 
                status = "disabled";
+
+               otg_port1: port@1 {
+                       reg = <1>;
+                       #trigger-source-cells = <0>;
+               };
        };
 };