From: Mathias Kresin <dev@kresin.me>
Date: Sat, 18 Nov 2017 10:59:22 +0000 (+0100)
Subject: ramips: fix DCH-M225 support
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=a783185e280f5b8d7ca5c7a1a4f5adad8a287637;p=openwrt%2Fstaging%2Fblogic.git

ramips: fix DCH-M225 support

Setting the pins of the UARTF group to GPIO+I2S at the time the I2C
driver loads is to late for the wps GPIO button.

The gpio-keys driver fails to load since the pin used by the wps button
is not yet set to GPIO. The wps button with the rfkill keycode is
essential for this wireless only board.

Add the missing sound and I2C kernel modules corresponding to the
device nodes.

Signed-off-by: Mathias Kresin <dev@kresin.me>
---

diff --git a/target/linux/ramips/dts/DCH-M225.dts b/target/linux/ramips/dts/DCH-M225.dts
index 867335e95720..5856036c954b 100644
--- a/target/linux/ramips/dts/DCH-M225.dts
+++ b/target/linux/ramips/dts/DCH-M225.dts
@@ -90,7 +90,7 @@
 	#sound-dai-cells = <0>;
 	status = "okay";
 	pinctrl-names = "default";
-	pinctrl-0 = <&gpio_i2s_pins>, <&wm8960_mclk_pins>;
+	pinctrl-0 = <&wm8960_mclk_pins>;
 };
 
 &spi0 {
@@ -158,6 +158,11 @@
 			ralink,function = "gpio";
 		};
 
+		gpio_i2s {
+			ralink,group = "uartf";
+			ralink,function = "gpio i2s";
+		};
+
 		pa {
 			ralink,group = "pa";
 			ralink,function = "pa";
diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk
index 796cc619a3a6..ab03cf1e1681 100644
--- a/target/linux/ramips/image/mt7620.mk
+++ b/target/linux/ramips/image/mt7620.mk
@@ -139,7 +139,7 @@ define Device/dch-m225
 	seama-seal -m "signature=wapn22_dlink.2013gui_dap1320b" | \
 	check-size $$$$(IMAGE_SIZE)
   DEVICE_TITLE := D-Link DCH-M225
-  DEVICE_PACKAGES := kmod-mt76
+  DEVICE_PACKAGES := kmod-mt76 kmod-sound-core kmod-sound-mt7620 kmod-i2c-ralink
 endef
 TARGET_DEVICES += dch-m225