ramips: Add support for D-Link DCH-M225
[openwrt/staging/wigyori.git] / target / linux / ramips / dts / DCH-M225.dts
diff --git a/target/linux/ramips/dts/DCH-M225.dts b/target/linux/ramips/dts/DCH-M225.dts
new file mode 100644 (file)
index 0000000..3c2de8d
--- /dev/null
@@ -0,0 +1,184 @@
+/dts-v1/;
+
+/include/ "mt7620a.dtsi"
+
+/ {
+       compatible = "dlink,dch-m225", "ralink,mt7620a-soc";
+       model = "D-Link DCH-M225";
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <100>;
+
+               wps {
+                       label = "wps";
+                       gpios = <&gpio0 11 1>;
+                       linux,code = <0x211>;
+               };
+
+               reset {
+                       label = "reset";
+                       gpios = <&gpio1 2 1>;
+                       linux,code = <0x198>;
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+
+               power {
+                       label = "dch-m225:green:power";
+                       gpios = <&gpio1 5 1>;
+               };
+
+               status {
+                       label = "dch-m225:red:status";
+                       gpios = <&gpio1 0 1>;
+               };
+       };
+
+       sound {
+               compatible = "simple-audio-card";
+               simple-audio-card,name = "Audio-I2S";
+               simple-audio-card,format = "i2s";
+               simple-audio-card,bitclock-master = <&dailink0_master>;
+               simple-audio-card,frame-master = <&dailink0_master>;
+               simple-audio-card,widgets =
+                       "Headphone", "Headphones";
+               simple-audio-card,routing =
+                       "Headphones", "HP_L",
+                       "Headphones", "HP_R";
+               simple-audio-card,mclk-fs = <256>;
+               simple-audio-card,hp-det-gpio = <&gpio0 14 1>;
+
+               simple-audio-card,cpu {
+                       sound-dai = <&i2s>;
+               };
+
+               dailink0_master: simple-audio-card,codec {
+                       sound-dai = <&codec>;
+               };
+       };
+};
+
+&gpio0 {
+       status = "okay";
+};
+
+&gpio1 {
+       status = "okay";
+};
+
+&i2c {
+       status = "okay";
+
+       codec: wm8960@1a {
+               #sound-dai-cells = <0>;
+               compatible = "wlf,wm8960";
+               reg = <0x1a>;
+
+               wlf,shared-lrclk;
+       };
+};
+
+&i2s {
+       #sound-dai-cells = <0>;
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&gpio_i2s_pins>, <&wm8960_mclk_pins>;
+};
+
+&spi0 {
+       status = "okay";
+
+       m25p80@0 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "jedec,spi-nor";
+               reg = <0>;
+               linux,modalias = "m25p80";
+               spi-max-frequency = <80000000>;
+               m25p,fast-read;
+
+               partition@0 {
+                       label = "u-boot";
+                       reg = <0x0 0x30000>;
+                       read-only;
+               };
+
+               partition@30000 {
+                       label = "u-boot-env";
+                       reg = <0x30000 0x4000>;
+                       read-only;
+               };
+
+               factory: partition@34000 {
+                       label = "factory";
+                       reg = <0x34000 0x4000>;
+                       read-only;
+               };
+
+               nvram: partition@38000 {
+                       label = "nvram";
+                       reg = <0x38000 0x8000>;
+                       read-only;
+               };
+
+               partition@40000 {
+                       label = "devconf";
+                       reg = <0x40000 0x10000>;
+                       read-only;
+               };
+
+               partition@50000 {
+                       label = "upgrade_rec";
+                       reg = <0x50000 0x100000>;
+                       read-only;
+               };
+
+               partition@150000 {
+                       label = "firmware";
+                       reg = <0x150000 0x6b0000>;
+               };
+       };
+};
+
+&gdma {
+       status = "okay";
+};
+
+&pinctrl {
+       state_default: pinctrl0 {
+               gpio {
+                       ralink,group = "wdt", "rgmii1";
+                       ralink,function = "gpio";
+               };
+
+               pa {
+                       ralink,group = "pa";
+                       ralink,function = "pa";
+               };
+
+               wm8960_mclk_pins: wm8960_mclk {
+                       wm8960_mclk {
+                               ralink,group = "mdio";
+                               ralink,function = "refclk";
+                       };
+               };
+       };
+};
+
+&ethernet {
+       mtd-mac-address = <&factory 0x4>;
+};
+
+&gsw {
+       ralink,port4 = "ephy";
+};
+
+&wmac {
+       ralink,mtd-eeprom = <&factory 0>;
+};
+