gluon/patches/openwrt/0030-ath10k-add-Candelatech-community-firmware-as-an-additional-choice.patch
2016-02-08 18:41:58 +01:00

71 lines
2.4 KiB
Diff

From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Tue, 10 Mar 2015 13:17:14 +0100
Subject: ath10k: add Candelatech community firmware as an additional choice
diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile
index 566e156..1dc1816 100644
--- a/package/kernel/mac80211/Makefile
+++ b/package/kernel/mac80211/Makefile
@@ -270,6 +270,29 @@ Atheros IEEE 802.11ac family of chipsets. For now only
PCI is supported.
endef
+define KernelPackage/ath10k/config
+ if PACKAGE_kmod-ath10k
+ choice
+ prompt "ath10k firmware flavour"
+ default ATH10K_AP_FW
+ help
+ This option allows you to choose between different ath10k firmwares.
+
+ config ATH10K_AP_FW
+ bool "Firmware optimized for AP operation"
+ help
+ Use the ath10k firmware optimized for access point operation.
+ Supports only AP mode, will crash in IBSS (ad-hoc) mode.
+
+ config ATH10K_CT_COMMUNITY_FW
+ bool "Firmware by Candela Technologies (community version)"
+ help
+ Supports both AP and IBSS (ad-hoc) mode. Doesn't support
+ encryption when using multiple VIFs.
+ endchoice
+ endif
+ endef
+
PKG_ATH10K_LINUX_FIRMWARE_NAME:=ath10k-firmware
PKG_ATH10K_LINUX_FIRMWARE_VERSION:=b46f3e01a6c1f9150fb4612ef53611d714565842
PKG_ATH10K_LINUX_FIRMWARE_SOURCE:=$(PKG_ATH10K_LINUX_FIRMWARE_NAME)-$(PKG_ATH10K_LINUX_FIRMWARE_VERSION).tar.bz2
@@ -288,6 +311,14 @@ define Download/ath10k-firmware
endef
$(eval $(call Download,ath10k-firmware))
+ATH10K_CT_COMMUNITY_FW:=firmware-2-ct-full-community-14.bin
+define Download/ath10k-firmware-ct-community
+ FILE:=$(ATH10K_CT_COMMUNITY_FW)
+ URL:=http://www.candelatech.com/downloads/
+ MD5SUM:=800799459c20c1683138c74b3ba58f25
+endef
+$(eval $(call Download,ath10k-firmware-ct-community))
+
#Broadcom firmware
ifneq ($(CONFIG_B43_FW_6_30),)
@@ -1854,9 +1885,16 @@ define KernelPackage/ath10k/install
$(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_AP_FW),y)
$(INSTALL_DATA) \
$(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
+ifeq ($(CONFIG_ATH10K_CT_COMMUNITY_FW),y)
+ $(INSTALL_DATA) \
+ $(DL_DIR)/$(ATH10K_CT_COMMUNITY_FW) \
+ $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin
+endif
endef
define KernelPackage/b43/install