ralink: add support for dalink dcs930l ipcam
[openwrt/openwrt.git] / target / linux / ramips / dts / DCS-930.dts
diff --git a/target/linux/ramips/dts/DCS-930.dts b/target/linux/ramips/dts/DCS-930.dts
new file mode 100644 (file)
index 0000000..31dab45
--- /dev/null
@@ -0,0 +1,118 @@
+/dts-v1/;
+
+/include/ "rt3050.dtsi"
+
+/ {
+       compatible = "DCS-930", "ralink,rt3050-soc";
+       model = "D-Link DCS-930";
+
+       pinctrl {
+               state_default: pinctrl0 {
+                       gpio {
+                               ralink,group = "i2c", "spi", "jtag", "mdio", "rgmii", "uartf";
+                               ralink,function = "gpio";
+                       };
+               };
+       };
+
+       cfi@1f000000 {
+               compatible = "cfi-flash";
+               reg = <0x1f000000 0x400000>;
+
+               bank-width = <2>;
+               device-width = <2>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               partition@0 {
+                       label = "u-boot";
+                       reg = <0x0 0x30000>;
+                       read-only;
+               };
+
+               partition@30000 {
+                       label = "u-boot-env";
+                       reg = <0x30000 0x10000>;
+                       read-only;
+               };
+
+               factory: partition@40000 {
+                       label = "factory";
+                       reg = <0x40000 0x10000>;
+                       read-only;
+               };
+
+               partition@50000 {
+                       label = "firmware";
+                       reg = <0x50000 0x3b0000>;
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+               wifi {
+                       label = "d-link:red:alert";
+                       gpios = <&gpio0 8 1>;
+               };
+               power {
+                       label = "d-link:green:status";
+                       gpios = <&gpio0 9 1>;
+               };
+               wps {
+                       label = "d-link:blue:wps";
+                       gpios = <&gpio0 13 1>;
+               };
+       };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <20>;
+
+               wps {
+                       label = "wps";
+                       gpios = <&gpio0 0 1>;
+                       linux,code = <0x101>;
+               };
+               reset {
+                       label = "reset";
+                       gpios = <&gpio0 10 1>;
+                       linux,code = <0x198>;
+               };
+       };
+
+       esw@10110000 {
+               ralink,portmap = <0x2f>;
+
+               port@0 {
+                       compatible = "swconfig,port";
+                       swconfig,segment = "lan";
+                       swconfig,portmap = <0 4>;
+               };
+               port@1 {
+                       compatible = "swconfig,port";
+                       swconfig,segment = "lan";
+                       swconfig,portmap = <1 3>;
+               };
+               port@2 {
+                       compatible = "swconfig,port";
+                       swconfig,segment = "lan";
+                       swconfig,portmap = <2 2>;
+               };
+               port@3 {
+                       compatible = "swconfig,port";
+                       swconfig,segment = "lan";
+                       swconfig,portmap = <3 1>;
+               };
+               port@4 {
+                       compatible = "swconfig,port";
+                       swconfig,segment = "wan";
+                       swconfig,portmap = <4 0>;
+               };
+       };
+
+       otg@101c0000 {
+               status = "okay";
+       };
+};