ath10k: update firmware and allow choice between AP and STA firmwares
authorFelix Fietkau <nbd@openwrt.org>
Wed, 19 Mar 2014 14:37:12 +0000 (14:37 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Wed, 19 Mar 2014 14:37:12 +0000 (14:37 +0000)
This patch updates ath10k firmware to the latest version, changes the
default firmware to be the one optimized for access point operation, and
introduces a configuration option to choose the client-optimized
firmware instead during build time.

Signed-off-by: Matti Laakso <malaakso at elisanet.fi>
SVN-Revision: 39957

package/kernel/mac80211/Makefile

index 6316825b21c7431584adcd1289678e4c1ff9e505..c3f2bed54d7d7b4580ec8996851d5f1eed0aa6dc 100644 (file)
@@ -122,7 +122,7 @@ endef
 $(eval $(call Download,linux-firmware))
 
 PKG_ATH10K_LINUX_FIRMWARE_NAME:=ath10k-firmware
-PKG_ATH10K_LINUX_FIRMWARE_VERSION:=d86e78e5c6be34329936c8bd73a212700437be2e
+PKG_ATH10K_LINUX_FIRMWARE_VERSION:=38eeda3ae6f90fde5546bdd48ee4ff3090f238c0
 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
@@ -595,6 +595,19 @@ Atheros IEEE 802.11ac family of chipsets. For now only
 PCI is supported.
 endef
 
+define KernelPackage/ath10k/config
+  if PACKAGE_kmod-ath10k
+
+       config ATH10K_STA_FW
+               bool "Firmware optimized for STA operation"
+               default n
+               help
+                 Use the ath10k firmware optimized for wireless client instead
+                 of access point operation.
+
+  endif
+endef
+
 define KernelPackage/carl9170
   $(call KernelPackage/mac80211/Default)
   TITLE:=Driver for Atheros AR9170 USB sticks
@@ -1653,10 +1666,19 @@ 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/
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/main/firmware-2.bin_999.999.0.636 \
+               $(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/
+endif
 endef
 
 define KernelPackage/mwl8k/install