ath10k: make title for the old firmware config option more meaningful
[openwrt/openwrt.git] / package / kernel / mac80211 / Makefile
index 9ea01a8e78a5f6ee71caaaeafa63a75db757335b..28c27ab7ed957bf5c0e5cb32cce0f9e6da07cb7f 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2007-2014 OpenWrt.org
+# Copyright (C) 2007-2015 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -10,11 +10,11 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=mac80211
 
-PKG_VERSION:=2014-05-22
+PKG_VERSION:=2015-07-21
 PKG_RELEASE:=1
 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
 PKG_BACKPORT_VERSION:=
-PKG_MD5SUM:=367937d4f8c05cb36ca989ee26abc3df
+PKG_MD5SUM:=ec529acfb9c942daf8116e5cff47c999
 
 PKG_SOURCE:=compat-wireless-$(PKG_VERSION)$(PKG_BACKPORT_VERSION).tar.bz2
 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
@@ -23,15 +23,15 @@ PKG_BUILD_PARALLEL:=1
 PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
 
 PKG_DRIVERS = \
-       adm8211 ath5k libertas-usb libertas-sd p54-common p54-pci p54-usb p54-spi \
+       adm8211 ath5k libertas-usb libertas-sdio p54-common p54-pci p54-usb p54-spi \
        rt2x00-lib rt2x00-pci rt2x00-usb rt2800-lib rt2400-pci rt2500-pci \
        rt2500-usb rt61-pci rt73-usb rt2800-mmio rt2800-pci rt2800-usb rt2800-soc \
        rtl8180 rtl8187 zd1211rw mac80211-hwsim carl9170 b43 b43legacy \
        ath9k-common ath9k ath9k-htc ath10k ath net-libipw net-ipw2100 net-ipw2200 \
-       mwl8k net-hermes net-hermes-pci net-hermes-plx net-hermes-pcmcia \
+       mwl8k mwifiex-pcie net-hermes net-hermes-pci net-hermes-plx net-hermes-pcmcia \
        iwl-legacy iwl3945 iwl4965 iwlagn wlcore wl12xx wl18xx lib80211 \
        rtlwifi rtlwifi-pci rtlwifi-usb rtl8192c-common rtl8192ce rtl8192se \
-       rtl8192de rtl8192cu
+       rtl8192de rtl8192cu mt7601u
 
 PKG_CONFIG_DEPENDS:= \
        CONFIG_PACKAGE_kmod-mac80211 \
@@ -42,7 +42,13 @@ PKG_CONFIG_DEPENDS:= \
        CONFIG_PACKAGE_ATH_DFS \
        CONFIG_PACKAGE_B43_DEBUG \
        CONFIG_PACKAGE_B43_PIO \
-       CONFIG_PACKAGE_B43_N_PHY \
+       CONFIG_PACKAGE_B43_PHY_G \
+       CONFIG_PACKAGE_B43_PHY_N \
+       CONFIG_PACKAGE_B43_PHY_LP \
+       CONFIG_PACKAGE_B43_PHY_HT \
+       CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB \
+       CONFIG_PACKAGE_B43_BUSES_BCMA \
+       CONFIG_PACKAGE_B43_BUSES_SSB \
        CONFIG_PACKAGE_RTLWIFI_DEBUG \
        CONFIG_ATH_USER_REGD \
 
@@ -52,9 +58,8 @@ WMENU:=Wireless Drivers
 
 define KernelPackage/mac80211/Default
   SUBMENU:=$(WMENU)
-  URL:=http://linuxwireless.org/
+  URL:=https://wireless.wiki.kernel.org/
   MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
-  DEPENDS:=@(!(TARGET_avr32||TARGET_ps3||TARGET_pxcab)||BROKEN)
 endef
 
 define KernelPackage/cfg80211
@@ -73,7 +78,7 @@ endef
 define KernelPackage/mac80211
   $(call KernelPackage/mac80211/Default)
   TITLE:=Linux 802.11 Wireless Networking Stack
-  DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211 +hostapd-common
+  DEPENDS+= +kmod-cfg80211 +hostapd-common
   KCONFIG:=\
        CONFIG_AVERAGE=y
   FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
@@ -86,7 +91,6 @@ define KernelPackage/mac80211/config
        config PACKAGE_MAC80211_DEBUGFS
                bool "Export mac80211 internals in DebugFS"
                select KERNEL_DEBUG_FS
-               select KERNEL_RELAY if PACKAGE_kmod-ath9k-common
                default y
                help
                  Select this to see extensive information about
@@ -104,12 +108,12 @@ Generic IEEE 802.11 Networking Stack (mac80211)
 endef
 
 PKG_LINUX_FIRMWARE_NAME:=linux-firmware
-PKG_LINUX_FIRMWARE_VERSION:=f8c22c692bdee57a20b092e647464ff6176df3ed
-PKG_LINUX_FIRMWARE_SOURCE:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION).tar.bz2
+PKG_LINUX_FIRMWARE_VERSION:=6ebf5d57d9f6d0cf05558baef1af2b90a3fe98ed
+PKG_LINUX_FIRMWARE_SOURCE:=$(PKG_LINUX_FIRMWARE_NAME)-2015-09-03-$(PKG_LINUX_FIRMWARE_VERSION).tar.xz
 PKG_LINUX_FIRMWARE_PROTO:=git
-PKG_LINUX_FIRMWARE_SOURCE_URL:=git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
+PKG_LINUX_FIRMWARE_SOURCE_URL:=https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
 PKG_LINUX_FIRMWARE_SUBDIR:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION)
-PKG_LINUX_FIRMWARE_MIRROR_MD5SUM:=e219333f01835c6e556875a9e0deb3f9
+#PKG_LINUX_FIRMWARE_MIRROR_MD5SUM:=e219333f01835c6e556875a9e0deb3f9
 
 define Download/linux-firmware
   FILE:=$(PKG_LINUX_FIRMWARE_SOURCE)
@@ -123,7 +127,7 @@ endef
 $(eval $(call Download,linux-firmware))
 
 PKG_ATH10K_LINUX_FIRMWARE_NAME:=ath10k-firmware
-PKG_ATH10K_LINUX_FIRMWARE_VERSION:=38eeda3ae6f90fde5546bdd48ee4ff3090f238c0
+PKG_ATH10K_LINUX_FIRMWARE_VERSION:=b46f3e01a6c1f9150fb4612ef53611d714565842
 PKG_ATH10K_LINUX_FIRMWARE_SOURCE:=$(PKG_ATH10K_LINUX_FIRMWARE_NAME)-$(PKG_ATH10K_LINUX_FIRMWARE_VERSION).tar.bz2
 PKG_ATH10K_LINUX_FIRMWARE_PROTO:=git
 PKG_ATH10K_LINUX_FIRMWARE_SOURCE_URL:=https://github.com/kvalo/ath10k-firmware.git
@@ -322,7 +326,7 @@ endef
 
 define KernelPackage/rt2800-soc
 $(call KernelPackage/rt2x00/Default)
-  DEPENDS += @(TARGET_ramips_rt288x||TARGET_ramips_rt305x||TARGET_ramips_rt3883) +kmod-rt2800-mmio +kmod-rt2800-lib
+  DEPENDS += @(TARGET_ramips_rt288x||TARGET_ramips_rt305x||TARGET_ramips_rt3883||TARGET_ramips_mt7620) +kmod-rt2800-mmio +kmod-rt2800-lib
   TITLE += (RT28xx/RT3xxx SoC)
   FILES := \
        $(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00soc.ko \
@@ -423,6 +427,8 @@ endef
 define KernelPackage/rtl8192ce/install
        $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cfw.bin $(1)/lib/firmware/rtlwifi
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cfwU.bin $(1)/lib/firmware/rtlwifi
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cfwU_B.bin $(1)/lib/firmware/rtlwifi
 endef
 
 define KernelPackage/rtl8192se
@@ -462,6 +468,8 @@ endef
 define KernelPackage/rtl8192cu/install
        $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cufw.bin $(1)/lib/firmware/rtlwifi
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cufw_A.bin $(1)/lib/firmware/rtlwifi
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cufw_B.bin $(1)/lib/firmware/rtlwifi
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cufw_TMSC.bin $(1)/lib/firmware/rtlwifi
 endef
 
@@ -507,16 +515,16 @@ define KernelPackage/ath/config
                bool "Atheros wireless debugging"
                help
                  Say Y, if you want to debug atheros wireless drivers.
-                 Right now only ath9k makes use of this.
+                 Only ath9k & ath10k make use of this.
 
        config PACKAGE_ATH_DFS
                bool "Enable DFS support"
+               default y
                help
                  Dynamic frequency selection (DFS) is required for most of the 5 GHz band
                  channels in Europe, US, and Japan.
 
-                 Select this option if you want to use such channels. Only EU (ETSI) DFS
-                 is supported at the moment.
+                 Select this option if you want to use such channels.
 
   endif
 endef
@@ -524,7 +532,7 @@ endef
 define KernelPackage/ath
   $(call KernelPackage/mac80211/Default)
   TITLE:=Atheros common driver part
-  DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx||TARGET_atheros +kmod-mac80211
+  DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx||TARGET_ath25 +kmod-mac80211
   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
   MENU:=1
 endef
@@ -536,8 +544,8 @@ endef
 define KernelPackage/ath5k
   $(call KernelPackage/mac80211/Default)
   TITLE:=Atheros 5xxx wireless cards support
-  URL:=http://linuxwireless.org/en/users/Drivers/ath5k
-  DEPENDS+= @PCI_SUPPORT||@TARGET_atheros +kmod-ath
+  URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath5k
+  DEPENDS+= @PCI_SUPPORT||@TARGET_ath25 +kmod-ath
   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
   AUTOLOAD:=$(call AutoProbe,ath5k)
 endef
@@ -550,8 +558,8 @@ endef
 define KernelPackage/ath9k-common
   $(call KernelPackage/mac80211/Default)
   TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc)
-  URL:=http://linuxwireless.org/en/users/Drivers/ath9k
-  DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx +kmod-ath +@DRIVER_11N_SUPPORT
+  URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
+  DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx +kmod-ath +@DRIVER_11N_SUPPORT +@KERNEL_RELAY
   FILES:= \
        $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
        $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
@@ -560,7 +568,7 @@ endef
 define KernelPackage/ath9k
   $(call KernelPackage/mac80211/Default)
   TITLE:=Atheros 802.11n PCI wireless cards support
-  URL:=http://linuxwireless.org/en/users/Drivers/ath9k
+  URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
   DEPENDS+= @PCI_SUPPORT||TARGET_ar71xx +kmod-ath9k-common
   FILES:= \
        $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
@@ -583,7 +591,7 @@ endef
 define KernelPackage/ath9k-htc
   $(call KernelPackage/mac80211/Default)
   TITLE:=Atheros 802.11n USB device support
-  URL:=http://linuxwireless.org/en/users/Drivers/ath9k
+  URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
   DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core
   FILES:= \
        $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
@@ -598,7 +606,7 @@ endef
 define KernelPackage/ath10k
   $(call KernelPackage/mac80211/Default)
   TITLE:=Atheros 802.11ac wireless cards support
-  URL:=http://wireless.kernel.org/en/users/Drivers/ath10k
+  URL:=https://wireless.wiki.kernel.org/en/users/Drivers/ath10k
   DEPENDS+= @PCI_SUPPORT +kmod-ath +@DRIVER_11N_SUPPORT
   FILES:= \
        $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_core.ko \
@@ -615,12 +623,12 @@ endef
 define KernelPackage/ath10k/config
   if PACKAGE_kmod-ath10k
 
-       config ATH10K_STA_FW
-               bool "Firmware optimized for STA operation"
+       config ATH10K_API2_FW
+               bool "Use old AP mode firmware release (v10.1 / API v2)"
                default n
                help
-                 Use the ath10k firmware optimized for wireless client instead
-                 of access point operation.
+                 Use the ath10k firmware from the 10.1 SDK using API v2 optimized
+                 for access point operation if the default firmware keeps crashing.
 
   endif
 endef
@@ -669,7 +677,7 @@ define KernelPackage/libertas-usb
   AUTOLOAD:=$(call AutoProbe,libertas usb8xxx)
 endef
 
-define KernelPackage/libertas-sd
+define KernelPackage/libertas-sdio
   $(call KernelPackage/mac80211/Default)
   DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +kmod-mmc +@DRIVER_WEXT_SUPPORT @!TARGET_uml
   TITLE:=Marvell 88W8686 Wireless Driver
@@ -682,15 +690,36 @@ endef
 define KernelPackage/mac80211-hwsim
   $(call KernelPackage/mac80211/Default)
   TITLE:=mac80211 HW simulation device
-  DEPENDS+= +kmod-mac80211
+  DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT
   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
   AUTOLOAD:=$(call AutoProbe,mac80211_hwsim)
 endef
 
+PKG_MT7601U_FW_NAME:=DPO_MT7601U_LinuxSTA
+PKG_MT7601U_FW_VERSION:=3.0.0.4_20130913
+PKG_MT7601U_FW_MD5SUM:=5f440dccc8bc952745a191994fc34699
+PKG_MT7601U_FW_SOURCE:=$(PKG_MT7601U_FW_NAME)_$(PKG_MT7601U_FW_VERSION).tar.bz2
+PKG_MT7601U_FW_SOURCE_URL:=http://www.mediatek.com/AmazonS3/Downloads/linux/
+define Download/mt7601u-firmware
+  FILE:=$(PKG_MT7601U_FW_SOURCE)
+  URL:=$(PKG_MT7601U_FW_SOURCE_URL)
+  MD5SUM:=$(PKG_MT7601U_FW_MD5SUM)
+  SUBDIR:=$(PKG_MT7601U_FW_NAME)_$(PKG_MT7601U_FW_VERSION)
+endef
+$(eval $(call Download,mt7601u-firmware))
+
+define KernelPackage/mt7601u
+  $(call KernelPackage/mac80211/Default)
+  TITLE:=MT7601U-based USB dongles Wireless Driver
+  DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT @USB_SUPPORT +kmod-usb-core
+  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
+  AUTOLOAD:=$(call AutoProbe,mt7601)
+endef
+
 define KernelPackage/net-libipw
   $(call KernelPackage/mac80211/Default)
   TITLE:=libipw for ipw2100 and ipw2200
-  DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
+  DEPENDS:=@PCI_SUPPORT +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT @!BIG_ENDIAN
   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.ko
   AUTOLOAD:=$(call AutoProbe,libipw)
 endef
@@ -802,31 +831,74 @@ define KernelPackage/iwlagn
   TITLE:=Intel AGN Wireless support
   FILES:= \
        $(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/iwlwifi.ko \
-       $(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/dvm/iwldvm.ko
-  AUTOLOAD:=$(call AutoProbe,iwlwifi iwldvm)
+       $(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/dvm/iwldvm.ko \
+       $(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/mvm/iwlmvm.ko
+  AUTOLOAD:=$(call AutoProbe,iwlwifi iwldvm iwlmvm)
   MENU:=1
 endef
 
 define KernelPackage/iwlagn/description
- iwlagn kernel module for Intel 5000/5150/1000/6000/6050/6005/6030/100 support
+ iwlagn kernel module for
+ Intel Wireless WiFi Link 6250AGN Adapter
+ Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN)
+ Intel WiFi Link 1000BGN
+ Intel Wireless WiFi 5150AGN
+ Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
+ Intel 6005 Series Wi-Fi Adapters
+ Intel 6030 Series Wi-Fi Adapters
+ Intel Wireless WiFi Link 6150BGN 2 Adapter
+ Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN)
+ Intel 2000 Series Wi-Fi Adapters
+ Intel 7260 Wi-Fi Adapter
+ Intel 3160 Wi-Fi Adapter
+ Intel 7265 Wi-Fi Adapter
+ Intel 8260 Wi-Fi Adapter
+ Intel 3165 Wi-Fi Adapter
 endef
 
 define KernelPackage/iwlagn/config
   if PACKAGE_kmod-iwlagn
 
-       config IWL5000_FW
-               bool "Intel 5000 Firmware"
-               default y
+       config PACKAGE_IWLWIFI_DEBUG
+               bool "Enable full debugging output in the iwlagn driver"
+               default n
                help
-                 Download and install firmware for:
-                   Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
+                 This option will enable debug tracing output for the iwlwifi drivers
 
-       config IWL5150_FW
-               bool "Intel 5150 Firmware"
+                 This will result in the kernel module being ~100k larger.  You can
+                 control which debug output is sent to the kernel log by setting the
+                 value in
+
+                       /sys/module/iwlwifi/parameters/debug
+
+                 This entry will only exist if this option is enabled.
+
+                 To set a value, simply echo an 8-byte hex value to the same file:
+
+                         % echo 0x43fff > /sys/module/iwlwifi/parameters/debug
+
+                 You can find the list of debug mask values in:
+                         drivers/net/wireless/iwlwifi/iwl-debug.h
+
+                 If this is your first time using this driver, you should say Y here
+                 as the debug information can assist others in helping you resolve
+                 any problems you may encounter.
+
+       config PACKAGE_IWLWIFI_DEBUGFS
+               bool "iwlwifi debugfs support"
+               depends on PACKAGE_MAC80211_DEBUGFS
+               default n
+               help
+                 Enable creation of debugfs files for the iwlwifi drivers. This
+                 is a low-impact option that allows getting insight into the
+                 driver's state at runtime.
+
+       config IWL100_FW
+               bool "Intel 100 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Wireless WiFi 5150AGN
+                   Intel Centrino Wireless-N 100
 
        config IWL1000_FW
                bool "Intel 1000 Firmware"
@@ -835,75 +907,104 @@ define KernelPackage/iwlagn/config
                  Download and install firmware for:
                    Intel Centrino Wireless-N 1000
 
-       config IWL6000_FW
-               bool "Intel 6000 Firmware"
+       config IWL105_FW
+               bool "Intel 105 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Centrino Ultimate-N 6300 and Advanced-N 6200
+                   Intel Centrino Wireless-N 105
 
-       config IWL6050_FW
-               bool "Intel 6050 Firmware"
+       config IWL135_FW
+               bool "Intel 135 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Centrino Advanced-N + WiMAX 6250 and Wireless-N + WiMAX 6150
+                   Intel Centrino Wireless-N 135
 
-       config IWL6005_FW
-               bool "Intel 6005 Firmware"
+       config IWL2000_FW
+               bool "Intel 2000 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Centrino Advanced-N 6205
+                   Intel Centrino Wireless-N 2200
 
-       config IWL6030_FW
-               bool "Intel 6030 Firmware"
+       config IWL2030_FW
+               bool "Intel 2030 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Centrino Advanced-N 6230, Wireless-N 1030, Wireless-N 130 and Advanced-N 6235
+                   Intel Centrino Wireless-N 2230
 
-       config IWL7260_FW
-               bool "Intel 7260 Firmware"
+       config IWL3160_FW
+               bool "Intel 3160 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Dual Band Wireless-N 7260 and Intel Dual Band Wireless-AC 7260
+                   Intel Wireless WiFi 3160
 
-       config IWL100_FW
-               bool "Intel 100 Firmware"
+       config IWL5000_FW
+               bool "Intel 5000 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Centrino Wireless-N 100
+                   Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
 
-       config IWL2000_FW
-               bool "Intel 2000 Firmware"
+       config IWL5150_FW
+               bool "Intel 5150 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Centrino Wireless-N 2200
+                   Intel Wireless WiFi 5150AGN
 
-       config IWL2030_FW
-               bool "Intel 2030 Firmware"
+       config IWL6000_FW
+               bool "Intel 6000 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Centrino Wireless-N 2230
+                   Intel Centrino Ultimate-N 6300 and Advanced-N 6200
 
-       config IWL105_FW
-               bool "Intel 105 Firmware"
+       config IWL6005_FW
+               bool "Intel 6005 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Centrino Wireless-N 105
+                   Intel Centrino Advanced-N 6205
 
-       config IWL135_FW
-               bool "Intel 135 Firmware"
+       config IWL6030_FW
+               bool "Intel 6030 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Centrino Wireless-N 135
+                   Intel Centrino Advanced-N 6230, Wireless-N 1030, Wireless-N 130 and Advanced-N 6235
+
+       config IWL6050_FW
+               bool "Intel 6050 Firmware"
+               default y
+               help
+                 Download and install firmware for:
+                   Intel Centrino Advanced-N + WiMAX 6250 and Wireless-N + WiMAX 6150
+
+       config IWL7260_FW
+               bool "Intel 7260 Firmware"
+               default y
+               help
+                 Download and install firmware for:
+                   Intel Dual Band Wireless-N 7260 and Intel Dual Band Wireless-AC 7260
+
+       config IWL7265_FW
+               bool "Intel 7265 Firmware"
+               default y
+               help
+                 Download and install firmware for:
+                   Intel Wireless 7265, 7265D, 3165
+
+       config IWL8000_FW
+               bool "Intel 8000 Series Firmware"
+               default y
+               help
+                 Download and install firmware for:
+                   Intel Wireless Series 8260, 4165
+
   endif
 endef
 
@@ -958,6 +1059,22 @@ define KernelPackage/mwl8k/description
 endef
 
 
+define KernelPackage/mwifiex-pcie
+  $(call KernelPackage/mac80211/Default)
+  TITLE:=Driver for Marvell 802.11n/802.11ac PCIe Wireless cards
+  URL:=http://wireless.kernel.org/en/users/Drivers/mwifiex
+  DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT
+  FILES:= \
+       $(PKG_BUILD_DIR)/drivers/net/wireless/mwifiex/mwifiex.ko \
+       $(PKG_BUILD_DIR)/drivers/net/wireless/mwifiex/mwifiex_pcie.ko
+  AUTOLOAD:=$(call AutoProbe,mwifiex_pcie)
+endef
+
+define KernelPackage/mwifiex-pcie/description
+ Kernel modules for Marvell 802.11n/802.11ac PCIe Wireless cards
+endef
+
+
 define KernelPackage/wlcore
   $(call KernelPackage/mac80211/Default)
   TITLE:=TI common driver part
@@ -1000,6 +1117,14 @@ endef
 
 
 #Broadcom firmware
+ifneq ($(CONFIG_B43_FW_6_30),)
+  PKG_B43_FWV4_NAME:=broadcom-wl
+  PKG_B43_FWV4_VERSION:=6.30.163.46
+  PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).wl_apsta.o
+  PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
+  PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
+  PKG_B43_FWV4_MD5SUM:=6fe97e9368d25342a1ab943d3cf3496d
+else
 ifneq ($(CONFIG_B43_FW_5_10),)
   PKG_B43_FWV4_NAME:=broadcom-wl
   PKG_B43_FWV4_VERSION:=5.10.56.27.3
@@ -1033,6 +1158,7 @@ else
 endif
 endif
 endif
+endif
 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
   PKG_B43_FWV4_NAME:=broadcom-wl
   PKG_B43_FWV4_VERSION:=5.2
@@ -1067,7 +1193,7 @@ $(eval $(call Download,b43legacy))
 define KernelPackage/b43
   $(call KernelPackage/mac80211/Default)
   TITLE:=Broadcom 43xx wireless support
-  URL:=http://linuxwireless.org/en/users/Drivers/b43
+  URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43
   KCONFIG:= \
        CONFIG_HW_RANDOM=y
   # Depend on PCI_SUPPORT to make sure we can select kmod-bcma or kmod-ssb
@@ -1092,7 +1218,7 @@ config PACKAGE_B43_USE_SSB
 config PACKAGE_B43_USE_BCMA
        select PACKAGE_kmod-bcma
        tristate
-       depends on !TARGET_brcm47xx
+       depends on !TARGET_brcm47xx && !TARGET_bcm53xx
        default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB
        default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA
 
@@ -1107,34 +1233,39 @@ config PACKAGE_B43_USE_BCMA
        config B43_FW_4_150
                bool "Firmware 410.2160 from driver 4.150.10.5 (old stable)"
                help
-                 Stable firmware for BCM43xx devices.
+                 Old stable firmware for BCM43xx devices.
 
                  If unsure, select this.
 
        config B43_FW_4_178
                bool "Firmware 478.104 from driver 4.178.10.4"
                help
-                 Experimental firmware for BCM43xx devices.
-
-                 This firmware is not tested as much as the "stable" firmware.
+                 Older firmware for BCM43xx devices.
 
                  If unsure, select the "stable" firmware.
 
        config B43_FW_5_10
                bool "Firmware 508.1084 from driver 5.10.56.27"
                help
-                 Newer experimental firmware for BCM43xx devices.
-
-                 This firmware is mostly untested. It is needed for some N-PHY devices.
+                 Older firmware for BCM43xx devices.
 
                  If unsure, select the "stable" firmware.
 
        config B43_FW_5_100_138
                bool "Firmware 666.2 from driver 5.100.138 (stable)"
+               help
+                 The currently default firmware for BCM43xx devices.
+
+                 This firmware currently gets most of the testing and is needed for some N-PHY devices.
+
+                 If unsure, select the this firmware.
+
+       config B43_FW_6_30
+               bool "Firmware 784.2 from driver 6.30.163.46 (experimental)"
                help
                  Newer experimental firmware for BCM43xx devices.
 
-                 This firmware is mostly untested. It is needed for some N-PHY devices.
+                 This firmware is mostly untested.
 
                  If unsure, select the "stable" firmware.
 
@@ -1168,7 +1299,8 @@ config PACKAGE_B43_USE_BCMA
                string "Core revisions to include"
                depends on B43_FW_SQUASH
                default "5,6,7,8,9,10,11,13,15" if TARGET_brcm47xx_legacy
-               default "5,6,7,8,9,10,11,13,15,16,29"
+               default "16,28,29,30" if TARGET_brcm47xx_mips74k
+               default "5,6,7,8,9,10,11,13,15,16,28,29,30"
                help
                  This is a comma seperated list of core revision numbers.
 
@@ -1181,8 +1313,9 @@ config PACKAGE_B43_USE_BCMA
        config B43_FW_SQUASH_PHYTYPES
                string "PHY types to include"
                depends on B43_FW_SQUASH
-               default "G,LP" if TARGET_brcm47xx_legacy
-               default "G,LP,N,HT"
+               default "G,N,LP" if TARGET_brcm47xx_legacy
+               default "N,HT" if TARGET_brcm47xx_mips74k
+               default "G,N,LP,HT"
                help
                  This is a comma seperated list of PHY types:
                    A  => A-PHY
@@ -1192,6 +1325,8 @@ config PACKAGE_B43_USE_BCMA
                    N  => N-PHY
                    HT  => HT-PHY
                    LCN  => LCN-PHY
+                   LCN40  => LCN40-PHY
+                   AC  => AC-PHY
 
                  Example (keep files for G-PHY only):
                    G
@@ -1206,7 +1341,7 @@ config PACKAGE_B43_USE_BCMA
                  This allows choosing buses that b43 should support.
 
        config PACKAGE_B43_BUSES_BCMA_AND_SSB
-               depends on !TARGET_brcm47xx_legacy
+               depends on !TARGET_brcm47xx_legacy && !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx
                bool "BCMA and SSB"
 
        config PACKAGE_B43_BUSES_BCMA
@@ -1214,6 +1349,7 @@ config PACKAGE_B43_USE_BCMA
                bool "BCMA only"
 
        config PACKAGE_B43_BUSES_SSB
+               depends on !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx
                bool "SSB only"
 
        endchoice
@@ -1236,9 +1372,19 @@ config PACKAGE_B43_USE_BCMA
 
                  If unsure, say N.
 
+       config PACKAGE_B43_PHY_G
+               bool "Enable support for G-PHYs"
+               default n if TARGET_brcm47xx_mips74k
+               default y
+               help
+                 Enable support for G-PHY. This includes support for the following devices:
+                 PCI: BCM4306, BCM4311, BCM4318
+                 SoC: BCM5352E, BCM4712
+
+                 If unsure, say Y.
+
        config PACKAGE_B43_PHY_N
                bool "Enable support for N-PHYs"
-               default n if TARGET_brcm47xx_legacy
                default y
                help
                  Enable support for N-PHY. This includes support for the following devices:
@@ -1251,6 +1397,7 @@ config PACKAGE_B43_USE_BCMA
 
        config PACKAGE_B43_PHY_LP
                bool "Enable support for LP-PHYs"
+               default n if TARGET_brcm47xx_mips74k
                default y
                help
                  Enable support for LP-PHY. This includes support for the following devices:
@@ -1290,7 +1437,7 @@ endef
 define KernelPackage/b43legacy
   $(call KernelPackage/mac80211/Default)
   TITLE:=Broadcom 43xx-legacy wireless support
-  URL:=http://linuxwireless.org/en/users/Drivers/b43
+  URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43
   KCONFIG:= \
        CONFIG_HW_RANDOM=y
   DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
@@ -1336,7 +1483,7 @@ endef
 define KernelPackage/brcmutil
   $(call KernelPackage/mac80211/Default)
   TITLE:=Broadcom IEEE802.11n common driver parts
-  URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
+  URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
   DEPENDS+=@PCI_SUPPORT||USB_SUPPORT
   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
   AUTOLOAD:=$(call AutoProbe,brcmutil)
@@ -1375,7 +1522,7 @@ $(eval $(call Download,brcmsmac))
 define KernelPackage/brcmsmac
   $(call KernelPackage/mac80211/Default)
   TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
-  URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
+  URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
   DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil
   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
   AUTOLOAD:=$(call AutoProbe,brcmsmac)
@@ -1407,8 +1554,8 @@ endef
 define KernelPackage/brcmfmac
   $(call KernelPackage/mac80211/Default)
   TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
-  URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
-  DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-cfg80211 +@DRIVER_11N_SUPPORT +kmod-brcmutil
+  URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
+  DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +@DRIVER_11N_SUPPORT +kmod-brcmutil +BRCMFMAC_SDIO:kmod-mmc +BRCMFMAC_USB:kmod-usb-core
   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
   AUTOLOAD:=$(call AutoProbe,brcmfmac)
 endef
@@ -1417,6 +1564,38 @@ define KernelPackage/brcmfmac/description
  Kernel module for Broadcom IEEE802.11n USB Wireless cards
 endef
 
+define KernelPackage/brcmfmac/config
+  if PACKAGE_kmod-brcmfmac
+
+       config BRCMFMAC_SDIO
+               bool "Enable SDIO bus interface support"
+               default n
+               help
+                 Enable support for cards attached to an SDIO bus.
+                 Select this option only if you are sure that your
+                 board has a Broadcom wireless chip atacched to
+                 that bus.
+
+       config BRCMFMAC_USB
+               bool "Enable USB bus interface support"
+               depends on USB_SUPPORT
+               default y
+               help
+                 Supported USB connected chipsets:
+                 BCM43235, BCM43236, BCM43238 (all in revision 3 only)
+                 BCM43143, BCM43242, BCM43566, BCM43569
+
+       config BRCMFMAC_PCIE
+               bool "Enable PCIE bus interface support"
+               depends on PCI_SUPPORT
+               default y
+               help
+                 Supported PCIe connected chipsets:
+                 BCM4354, BCM4356, BCM43567, BCM43570, BCM43602
+
+  endif
+endef
+
 config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
 
 config-y:= \
@@ -1427,6 +1606,7 @@ config-y:= \
        CFG80211_CERTIFICATION_ONUS \
        MAC80211_RC_MINSTREL \
        MAC80211_RC_MINSTREL_HT \
+       MAC80211_RC_MINSTREL_VHT \
        MAC80211_RC_DEFAULT_MINSTREL \
 
 config-$(call config_package,cfg80211) += CFG80211
@@ -1447,7 +1627,7 @@ endif
 config-$(call config_package,lib80211) += LIB80211 LIB80211_CRYPT_WEP LIB80211_CRYPT_CCMP LIB80211_CRYPT_TKIP
 
 config-$(call config_package,ath) += ATH_CARDS ATH_COMMON
-config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG ATH9K_TX99
+config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG
 config-$(CONFIG_PACKAGE_ATH_DFS) += ATH9K_DFS_CERTIFIED ATH10K_DFS_CERTIFIED
 
 config-$(call config_package,ath9k) += ATH9K
@@ -1461,7 +1641,7 @@ config-$(call config_package,ath9k-htc) += ATH9K_HTC
 config-$(call config_package,ath10k) += ATH10K ATH10K_PCI
 
 config-$(call config_package,ath5k) += ATH5K
-ifdef CONFIG_TARGET_atheros
+ifdef CONFIG_TARGET_ath25
   config-y += ATH5K_AHB
 else
   config-y += ATH5K_PCI
@@ -1473,6 +1653,7 @@ config-$(call config_package,b43) += B43
 config-$(CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB) += B43_BUSES_BCMA_AND_SSB
 config-$(CONFIG_PACKAGE_B43_BUSES_BCMA) += B43_BUSES_BCMA
 config-$(CONFIG_PACKAGE_B43_BUSES_SSB) += B43_BUSES_SSB
+config-$(CONFIG_PACKAGE_B43_PHY_G) += B43_PHY_G
 config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N
 config-$(CONFIG_PACKAGE_B43_PHY_LP) += B43_PHY_LP
 config-$(CONFIG_PACKAGE_B43_PHY_HT) += B43_PHY_HT
@@ -1485,10 +1666,14 @@ config-y += B43LEGACY_DMA_MODE
 config-$(call config_package,brcmutil) += BRCMUTIL
 config-$(call config_package,brcmsmac) += BRCMSMAC
 config-$(call config_package,brcmfmac) += BRCMFMAC
-config-y += BRCMFMAC_USB
+config-$(CONFIG_BRCMFMAC_SDIO) += BRCMFMAC_SDIO
+config-$(CONFIG_BRCMFMAC_USB) += BRCMFMAC_USB
+config-$(CONFIG_BRCMFMAC_PCIE) += BRCMFMAC_PCIE
 config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG
 
 config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM
+config-$(call config_package,mt7601u) += MT7601U
+config-y += WL_MEDIATEK
 
 config-$(call config_package,rt2x00-lib) += RT2X00 RT2X00_LIB
 config-$(call config_package,rt2x00-pci) += RT2X00_LIB_PCI
@@ -1510,12 +1695,14 @@ config-$(call config_package,rt2800-pci) += RT2800PCI
 config-y += RT2800PCI_RT33XX RT2800PCI_RT35XX RT2800PCI_RT53XX RT2800PCI_RT3290
 
 config-$(call config_package,rt2800-usb) += RT2800USB
-config-y += RT2800USB_RT33XX RT2800USB_RT35XX RT2800USB_RT3573 RT2800USB_RT53XX RT2800USB_RT55XX
+config-y += RT2800USB_RT33XX RT2800USB_RT35XX RT2800USB_RT3573 RT2800USB_RT53XX RT2800USB_RT55XX RT2800USB_UNKNOWN
 
 config-$(call config_package,iwl-legacy) += IWLEGACY
 config-$(call config_package,iwl3945) += IWL3945
 config-$(call config_package,iwl4965) += IWL4965
-config-$(call config_package,iwlagn) += IWLWIFI IWLDVM
+config-$(call config_package,iwlagn) += IWLWIFI IWLDVM IWLMVM
+config-$(CONFIG_PACKAGE_IWLWIFI_DEBUG)+= IWLWIFI_DEBUG
+config-$(CONFIG_PACKAGE_IWLWIFI_DEBUGFS)+= IWLWIFI_DEBUGFS
 
 config-$(call config_package,net-libipw) += LIBIPW
 config-$(call config_package,net-ipw2100) += IPW2100
@@ -1533,9 +1720,10 @@ config-$(call config_package,net-hermes-pcmcia) += PCMCIA_HERMES
 config-y += HERMES_PRISM
 
 config-$(call config_package,adm8211) += ADM8211
-config-$(call config_package,libertas-sd) += LIBERTAS LIBERTAS_SDIO
+config-$(call config_package,libertas-sdio) += LIBERTAS LIBERTAS_SDIO
 config-$(call config_package,libertas-usb) += LIBERTAS LIBERTAS_USB
 config-$(call config_package,mwl8k) += MWL8K
+config-$(call config_package,mwifiex-pcie) += MWIFIEX MWIFIEX_PCIE
 config-$(call config_package,rtl8180) += RTL8180
 config-$(call config_package,rtl8187) += RTL8187
 config-$(call config_package,wlcore) += WLCORE WLCORE_SDIO
@@ -1588,8 +1776,9 @@ define Build/Prepare
        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
        $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
-       $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_LINUX_FIRMWARE_SOURCE)
+       $(TAR) -C $(PKG_BUILD_DIR) -xJf $(DL_DIR)/$(PKG_LINUX_FIRMWARE_SOURCE)
        $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SOURCE)
+       $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_MT7601U_FW_SOURCE)
        rm -rf \
                $(PKG_BUILD_DIR)/include/linux/ssb \
                $(PKG_BUILD_DIR)/include/linux/bcma \
@@ -1636,6 +1825,7 @@ define Build/InstallDev
        $(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/
        $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
        $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
+       rm -f $(1)/usr/include/mac80211-backport/linux/module.h
 endef
 
 define KernelPackage/libertas-usb/install
@@ -1646,7 +1836,7 @@ define KernelPackage/libertas-usb/install
                $(1)/lib/firmware/libertas/
 endef
 
-define KernelPackage/libertas-sd/install
+define KernelPackage/libertas-sdio/install
        $(INSTALL_DIR) $(1)/lib/firmware/libertas
        $(INSTALL_DATA) \
                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385_helper.bin \
@@ -1723,8 +1913,7 @@ endef
 define KernelPackage/wl18xx/install
        $(INSTALL_DIR) $(1)/lib/firmware/ti-connectivity
        $(INSTALL_DATA) \
-               $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl18xx-conf.bin \
-               $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl18xx-fw-3.bin \
+               $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl18xx-fw-4.bin \
                $(1)/lib/firmware/ti-connectivity
 endef
 
@@ -1748,21 +1937,27 @@ endef
 
 define KernelPackage/ath10k/install
        $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0
-ifeq ($(CONFIG_ATH10K_STA_FW),y)
        $(INSTALL_DATA) \
                $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/ath10k/QCA988X/hw2.0/board.bin \
                $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
+ifeq ($(CONFIG_ATH10K_API2_FW),y)
        $(INSTALL_DATA) \
-               $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/main/firmware-2.bin_999.999.0.636 \
+               $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/10.1/firmware-2.bin_10.1.467.2-1 \
                $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin
 else
        $(INSTALL_DATA) \
-               $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/ath10k/QCA988X/hw2.0/board.bin \
-               $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/ath10k/QCA988X/hw2.0/firmware-2.bin \
-               $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
+               $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/10.2.4/untested/firmware-5.bin_10.2.4.70-2 \
+               $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-5.bin
 endif
 endef
 
+define KernelPackage/mt7601u/install
+       $(INSTALL_DIR) $(1)/lib/firmware
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/$(PKG_MT7601U_FW_NAME)_$(PKG_MT7601U_FW_VERSION)/mcu/bin/MT7601.bin \
+               $(1)/lib/firmware/mt7601u.bin
+endef
+
 define KernelPackage/mwl8k/install
        $(INSTALL_DIR) $(1)/lib/firmware/mwl8k
        $(INSTALL_DATA) \
@@ -1774,6 +1969,13 @@ define KernelPackage/mwl8k/install
                $(1)/lib/firmware/mwl8k/
 endef
 
+define KernelPackage/mwifiex-pcie/install
+       $(INSTALL_DIR) $(1)/lib/firmware/mrvl
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mrvl/pcie8897_uapsta.bin \
+               $(1)/lib/firmware/mrvl/
+endef
+
 define KernelPackage/net-ipw2100/install
        $(INSTALL_DIR) $(1)/lib/firmware
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
@@ -1786,44 +1988,54 @@ endef
 
 define KernelPackage/iwlagn/install
        $(INSTALL_DIR) $(1)/lib/firmware
+ifneq ($(CONFIG_IWL100_FW),)
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-100-5.ucode $(1)/lib/firmware
+endif
+ifneq ($(CONFIG_IWL1000_FW),)
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-1000-5.ucode $(1)/lib/firmware
+endif
+ifneq ($(CONFIG_IWL105_FW),)
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-105-6.ucode $(1)/lib/firmware
+endif
+ifneq ($(CONFIG_IWL135_FW),)
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-135-6.ucode $(1)/lib/firmware
+endif
+ifneq ($(CONFIG_IWL2000_FW),)
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2000-6.ucode $(1)/lib/firmware
+endif
+ifneq ($(CONFIG_IWL2030_FW),)
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2030-6.ucode $(1)/lib/firmware
+endif
+ifneq ($(CONFIG_IWL3160_FW),)
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-3160-13.ucode $(1)/lib/firmware
+endif
 ifneq ($(CONFIG_IWL5000_FW),)
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5000-5.ucode $(1)/lib/firmware
 endif
 ifneq ($(CONFIG_IWL5150_FW),)
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5150-2.ucode $(1)/lib/firmware
 endif
-ifneq ($(CONFIG_IWL1000_FW),)
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-1000-5.ucode $(1)/lib/firmware
-endif
 ifneq ($(CONFIG_IWL6000_FW),)
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000-4.ucode $(1)/lib/firmware
 endif
-ifneq ($(CONFIG_IWL6050_FW),)
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6050-5.ucode $(1)/lib/firmware
-endif
 ifneq ($(CONFIG_IWL6005_FW),)
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2a-6.ucode $(1)/lib/firmware
 endif
 ifneq ($(CONFIG_IWL6030_FW),)
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2b-6.ucode $(1)/lib/firmware
 endif
-ifneq ($(CONFIG_IWL7260_FW),)
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-7260-7.ucode $(1)/lib/firmware
-endif
-ifneq ($(CONFIG_IWL100_FW),)
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-100-5.ucode $(1)/lib/firmware
-endif
-ifneq ($(CONFIG_IWL2000_FW),)
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2000-6.ucode $(1)/lib/firmware
+ifneq ($(CONFIG_IWL6050_FW),)
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6050-5.ucode $(1)/lib/firmware
 endif
-ifneq ($(CONFIG_IWL2030_FW),)
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2030-6.ucode $(1)/lib/firmware
+ifneq ($(CONFIG_IWL7260_FW),)
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-7260-13.ucode $(1)/lib/firmware
 endif
-ifneq ($(CONFIG_IWL105_FW),)
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-105-6.ucode $(1)/lib/firmware
+ifneq ($(CONFIG_IWL7265_FW),)
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-7265-13.ucode $(1)/lib/firmware
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-7265D-13.ucode $(1)/lib/firmware
 endif
-ifneq ($(CONFIG_IWL135_FW),)
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-135-6.ucode $(1)/lib/firmware
+ifneq ($(CONFIG_IWL8000_FW),)
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-8000C-13.ucode $(1)/lib/firmware
 endif
 endef
 
@@ -1882,16 +2094,26 @@ endef
 
 define KernelPackage/brcmfmac/install
        $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ifneq ($(CONFIG_BRCMFMAC_USB),)
        $(INSTALL_DATA) \
                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac43236b.bin \
                $(1)/lib/firmware/brcm/
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac43143.bin \
+               $(1)/lib/firmware/brcm/
+endif
+ifneq ($(CONFIG_BRCMFMAC_PCIE),)
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac43602-pcie.ap.bin \
+               $(1)/lib/firmware/brcm/brcmfmac43602-pcie.bin
+endif
 endef
 
 $(eval $(call KernelPackage,adm8211))
 $(eval $(call KernelPackage,ath5k))
 $(eval $(call KernelPackage,lib80211))
 $(eval $(call KernelPackage,libertas-usb))
-$(eval $(call KernelPackage,libertas-sd))
+$(eval $(call KernelPackage,libertas-sdio))
 $(eval $(call KernelPackage,cfg80211))
 $(eval $(call KernelPackage,mac80211))
 $(eval $(call KernelPackage,p54-common))
@@ -1924,6 +2146,7 @@ $(eval $(call KernelPackage,rtl8192de))
 $(eval $(call KernelPackage,rtl8192cu))
 $(eval $(call KernelPackage,zd1211rw))
 $(eval $(call KernelPackage,mac80211-hwsim))
+$(eval $(call KernelPackage,mt7601u))
 $(eval $(call KernelPackage,ath9k-common))
 $(eval $(call KernelPackage,ath9k))
 $(eval $(call KernelPackage,ath9k-htc))
@@ -1943,6 +2166,7 @@ $(eval $(call KernelPackage,iwl-legacy))
 $(eval $(call KernelPackage,iwl4965))
 $(eval $(call KernelPackage,iwl3945))
 $(eval $(call KernelPackage,mwl8k))
+$(eval $(call KernelPackage,mwifiex-pcie))
 $(eval $(call KernelPackage,net-hermes))
 $(eval $(call KernelPackage,net-hermes-pci))
 $(eval $(call KernelPackage,net-hermes-plx))