From afe086f0b1d20eb10d3d7635524f2b409cbfdf6a Mon Sep 17 00:00:00 2001
From: cronyx <cronyx@nodasoft.com>
Date: Fri, 7 Jan 2022 20:54:46 +0300
Subject: [PATCH] Enable mt7601 wifi driver for gk7205v200/300 boards

---
 br-ext-chip-goke/Config.in                    |  1 +
 .../kernel/gk7205v200.generic.config          | 55 ++++++++++++++++++-
 .../kernel/gk7205v300.generic.config          | 55 ++++++++++++++++++-
 br-ext-chip-goke/external.mk                  |  1 +
 br-ext-chip-goke/package/mt7601u-ap-openipc   |  1 +
 docs/index.md                                 |  2 +-
 6 files changed, 110 insertions(+), 5 deletions(-)
 create mode 120000 br-ext-chip-goke/package/mt7601u-ap-openipc

diff --git a/br-ext-chip-goke/Config.in b/br-ext-chip-goke/Config.in
index e081b5a8..f3f29969 100644
--- a/br-ext-chip-goke/Config.in
+++ b/br-ext-chip-goke/Config.in
@@ -19,6 +19,7 @@ source "$BR2_EXTERNAL_GOKE_PATH/package/majestic-gk7205v200/Config.in"
 source "$BR2_EXTERNAL_GOKE_PATH/package/mbedtls-openipc/Config.in"
 source "$BR2_EXTERNAL_GOKE_PATH/package/microbe-web/Config.in"
 source "$BR2_EXTERNAL_GOKE_PATH/package/motors/Config.in"
+source "$BR2_EXTERNAL_GOKE_PATH/package/mt7601u-ap-openipc/Config.in"
 source "$BR2_EXTERNAL_GOKE_PATH/package/node-exporter/Config.in"
 source "$BR2_EXTERNAL_GOKE_PATH/package/opus-openipc/Config.in"
 source "$BR2_EXTERNAL_GOKE_PATH/package/rtl8188fu-openipc/Config.in"
diff --git a/br-ext-chip-goke/board/gk7205v200/kernel/gk7205v200.generic.config b/br-ext-chip-goke/board/gk7205v200/kernel/gk7205v200.generic.config
index 33f86cd7..ee300a65 100644
--- a/br-ext-chip-goke/board/gk7205v200/kernel/gk7205v200.generic.config
+++ b/br-ext-chip-goke/board/gk7205v200/kernel/gk7205v200.generic.config
@@ -1134,8 +1134,59 @@ CONFIG_FIXED_PHY=y
 # CONFIG_MICREL_KS8995MA is not set
 # CONFIG_PPP is not set
 # CONFIG_SLIP is not set
-# CONFIG_USB_NET_DRIVERS is not set
-# CONFIG_WLAN is not set
+CONFIG_USB_NET_DRIVERS=m
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_RTL8152 is not set
+# CONFIG_USB_LAN78XX is not set
+CONFIG_USB_USBNET=m
+# CONFIG_USB_NET_AX8817X is not set
+# CONFIG_USB_NET_AX88179_178A is not set
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_CDC_EEM is not set
+# CONFIG_USB_NET_CDC_NCM is not set
+# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
+# CONFIG_USB_NET_CDC_MBIM is not set
+# CONFIG_USB_NET_DM9601 is not set
+# CONFIG_USB_NET_SR9700 is not set
+# CONFIG_USB_NET_SR9800 is not set
+# CONFIG_USB_NET_SMSC75XX is not set
+# CONFIG_USB_NET_SMSC95XX is not set
+# CONFIG_USB_NET_GL620A is not set
+# CONFIG_USB_NET_NET1080 is not set
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_MCS7830 is not set
+CONFIG_USB_NET_RNDIS_HOST=m
+# CONFIG_USB_NET_CDC_SUBSET is not set
+# CONFIG_USB_NET_ZAURUS is not set
+# CONFIG_USB_NET_CX82310_ETH is not set
+# CONFIG_USB_NET_KALMIA is not set
+# CONFIG_USB_NET_QMI_WWAN is not set
+# CONFIG_USB_NET_INT51X1 is not set
+# CONFIG_USB_IPHETH is not set
+# CONFIG_USB_SIERRA_NET is not set
+# CONFIG_USB_NET_CH9200 is not set
+CONFIG_WLAN=y
+# CONFIG_WLAN_VENDOR_ADMTEK is not set
+# CONFIG_WLAN_VENDOR_ATH is not set
+# CONFIG_WLAN_VENDOR_ATMEL is not set
+# CONFIG_WLAN_VENDOR_BROADCOM is not set
+# CONFIG_WLAN_VENDOR_CISCO is not set
+# CONFIG_WLAN_VENDOR_INTEL is not set
+# CONFIG_WLAN_VENDOR_INTERSIL is not set
+# CONFIG_WLAN_VENDOR_MARVELL is not set
+CONFIG_WLAN_VENDOR_MEDIATEK=y
+CONFIG_MT7601U=m
+# CONFIG_WLAN_VENDOR_RALINK is not set
+# CONFIG_WLAN_VENDOR_REALTEK is not set
+# CONFIG_WLAN_VENDOR_RSI is not set
+# CONFIG_WLAN_VENDOR_ST is not set
+# CONFIG_WLAN_VENDOR_TI is not set
+# CONFIG_WLAN_VENDOR_ZYDAS is not set
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_USB_NET_RNDIS_WLAN is not set
 
 #
 # Enable WiMAX (Networking options) to see the WiMAX drivers
diff --git a/br-ext-chip-goke/board/gk7205v200/kernel/gk7205v300.generic.config b/br-ext-chip-goke/board/gk7205v200/kernel/gk7205v300.generic.config
index 20fb3dd4..803a334c 100644
--- a/br-ext-chip-goke/board/gk7205v200/kernel/gk7205v300.generic.config
+++ b/br-ext-chip-goke/board/gk7205v200/kernel/gk7205v300.generic.config
@@ -1134,8 +1134,59 @@ CONFIG_FIXED_PHY=y
 # CONFIG_MICREL_KS8995MA is not set
 # CONFIG_PPP is not set
 # CONFIG_SLIP is not set
-# CONFIG_USB_NET_DRIVERS is not set
-# CONFIG_WLAN is not set
+CONFIG_USB_NET_DRIVERS=m
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_RTL8152 is not set
+# CONFIG_USB_LAN78XX is not set
+CONFIG_USB_USBNET=m
+# CONFIG_USB_NET_AX8817X is not set
+# CONFIG_USB_NET_AX88179_178A is not set
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_CDC_EEM is not set
+# CONFIG_USB_NET_CDC_NCM is not set
+# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
+# CONFIG_USB_NET_CDC_MBIM is not set
+# CONFIG_USB_NET_DM9601 is not set
+# CONFIG_USB_NET_SR9700 is not set
+# CONFIG_USB_NET_SR9800 is not set
+# CONFIG_USB_NET_SMSC75XX is not set
+# CONFIG_USB_NET_SMSC95XX is not set
+# CONFIG_USB_NET_GL620A is not set
+# CONFIG_USB_NET_NET1080 is not set
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_MCS7830 is not set
+CONFIG_USB_NET_RNDIS_HOST=m
+# CONFIG_USB_NET_CDC_SUBSET is not set
+# CONFIG_USB_NET_ZAURUS is not set
+# CONFIG_USB_NET_CX82310_ETH is not set
+# CONFIG_USB_NET_KALMIA is not set
+# CONFIG_USB_NET_QMI_WWAN is not set
+# CONFIG_USB_NET_INT51X1 is not set
+# CONFIG_USB_IPHETH is not set
+# CONFIG_USB_SIERRA_NET is not set
+# CONFIG_USB_NET_CH9200 is not set
+CONFIG_WLAN=y
+# CONFIG_WLAN_VENDOR_ADMTEK is not set
+# CONFIG_WLAN_VENDOR_ATH is not set
+# CONFIG_WLAN_VENDOR_ATMEL is not set
+# CONFIG_WLAN_VENDOR_BROADCOM is not set
+# CONFIG_WLAN_VENDOR_CISCO is not set
+# CONFIG_WLAN_VENDOR_INTEL is not set
+# CONFIG_WLAN_VENDOR_INTERSIL is not set
+# CONFIG_WLAN_VENDOR_MARVELL is not set
+CONFIG_WLAN_VENDOR_MEDIATEK=y
+CONFIG_MT7601U=m
+# CONFIG_WLAN_VENDOR_RALINK is not set
+# CONFIG_WLAN_VENDOR_REALTEK is not set
+# CONFIG_WLAN_VENDOR_RSI is not set
+# CONFIG_WLAN_VENDOR_ST is not set
+# CONFIG_WLAN_VENDOR_TI is not set
+# CONFIG_WLAN_VENDOR_ZYDAS is not set
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_USB_NET_RNDIS_WLAN is not set
 
 #
 # Enable WiMAX (Networking options) to see the WiMAX drivers
diff --git a/br-ext-chip-goke/external.mk b/br-ext-chip-goke/external.mk
index a90e003a..00392d54 100644
--- a/br-ext-chip-goke/external.mk
+++ b/br-ext-chip-goke/external.mk
@@ -19,6 +19,7 @@ include $(BR2_EXTERNAL_GOKE_PATH)/package/majestic-gk7205v200/majestic-gk7205v20
 include $(BR2_EXTERNAL_GOKE_PATH)/package/mbedtls-openipc/mbedtls-openipc.mk
 include $(BR2_EXTERNAL_GOKE_PATH)/package/microbe-web/microbe-web.mk
 include $(BR2_EXTERNAL_GOKE_PATH)/package/motors/motors.mk
+include $(BR2_EXTERNAL_GOKE_PATH)/package/mt7601u-ap-openipc/mt7601u-ap-openipc.mk
 include $(BR2_EXTERNAL_GOKE_PATH)/package/node-exporter/node-exporter.mk
 include $(BR2_EXTERNAL_GOKE_PATH)/package/opus-openipc/opus-openipc.mk
 include $(BR2_EXTERNAL_GOKE_PATH)/package/rtl8188fu-openipc/rtl8188fu-openipc.mk
diff --git a/br-ext-chip-goke/package/mt7601u-ap-openipc b/br-ext-chip-goke/package/mt7601u-ap-openipc
new file mode 120000
index 00000000..0d73e69e
--- /dev/null
+++ b/br-ext-chip-goke/package/mt7601u-ap-openipc
@@ -0,0 +1 @@
+../../general/package/mt7601u-ap-openipc
\ No newline at end of file
diff --git a/docs/index.md b/docs/index.md
index c04b780d..bb0b0179 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -33,7 +33,7 @@ _NB! Downloads are for research only, without any guarantee._
 | Goke&nbsp;GK7102S<br>![GK7102S][GK7102S]                  |        |        |        |     |      |     |      |                    | R&D    |
 | Goke&nbsp;GK7202v300<br>![GK7202v300][GK7202v300]         |        |        |        |     |      |     |      | [⬇][fwGK7202v300]  | WIP    |
 | Goke&nbsp;GK7205v200<br>![GK7205v200][GK7205v200]         |   +    |   +    |   +    |  +  |  +   |     |      | [⬇][fwGK7205v200]  | DONE   |
-| Goke&nbsp;GK7205v300<br>![GK7205v300][GK7205v300]         |        |        |        |     |      |     |      | [⬇][fwGK7205v300]  | DONE   |
+| Goke&nbsp;GK7205v300<br>![GK7205v300][GK7205v300]         |   +    |   +    |   +    |  +  |  +   |     |      | [⬇][fwGK7205v300]  | DONE   |
 | Goke&nbsp;GK7605v100<br>![GK7605v100][GK7605v100]         |   +    |   +    |   +    |     |      |     |      | [⬇][fwGK7605v100]  | WIP    |
 | HiSilicon&nbsp;Hi3516Av100<br>![Hi3516Av100][Hi3516Av100] |        |   +    |   +    |     |      |     |      | [⬇][fwHi3516Av100] | WIP    |
 | HiSilicon&nbsp;Hi3516Av200<br>![Hi3516Av200][Hi3516Av200] |        |   +    |   +    |     |      |     |      | [⬇][fwHi3516Av200] | WIP    |