ath10k: support CT firmware choices.

This allows one to select CT firmware for ath10k
if one prefers to try this firmware instead of stock
ath10k firmware.

The 10.1 (988X) firmware can actually be installed beside the
default firmware, but it will not be used as long as the firmware-5.bin
file exists.  Users could rename the files and reboot to use different
images.

The 99X0 (wave-2) firmware  uses the same firmware-5.bin name as default
firmware, so it cannot be installed at the same time as default firmware.

Signed-off-by: Ben Greear <greearb@candelatech.com>
This commit is contained in:
Ben Greear 2016-05-29 11:14:59 -07:00 committed by Felix Fietkau
parent 532c3f3218
commit 56b377304e

View file

@ -38,6 +38,8 @@ $(Package/ath10k-firmware-default)
endef
QCA988X_FIRMWARE_FILE:=firmware-5.bin_10.2.4.97-1
QCA988X_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-16.bin-lede
QCA99X0_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-7.bin-lede
define Download/ath10k-firmware-qca988x
URL:=https://www.codeaurora.org/cgit/quic/qsdk/oss/firmware/ath10k-firmware/plain/10.2.4/
@ -46,11 +48,58 @@ define Download/ath10k-firmware-qca988x
endef
$(eval $(call Download,ath10k-firmware-qca988x))
define Download/ath10k-firmware-qca988x-ct
URL:=https://www.candelatech.com/downloads/
FILE:=$(QCA988X_FIRMWARE_FILE_CT)
MD5SUM:=5b651c0458bcf5c20701308b5e519976
endef
$(eval $(call Download,ath10k-firmware-qca988x-ct))
define Download/ath10k-firmware-qca99x0-ct
URL:=https://www.candelatech.com/downloads/ath10k-10-4/
FILE:=$(QCA99X0_FIRMWARE_FILE_CT)
MD5SUM:=d01e24eaa7a6fb03db6b5bca44c2394a
endef
$(eval $(call Download,ath10k-firmware-qca99x0-ct))
define Package/ath10k-firmware-qca99x0
$(Package/ath10k-firmware-default)
TITLE:=ath10k firmware for QCA99x0 devices
endef
define Package/ath10k-firmware-qca988x-ct
$(Package/ath10k-firmware-default)
TITLE:=ath10k CT 10.1 firmware for QCA988x devices
endef
define Package/ath10k-firmware-qca988x-ct/description
Alternative ath10k firmware for QCA988X from Candela Technologies.
Enables IBSS and other features. See:
http://www.candelatech.com/ath10k-10.1.php
This firmware will NOT be used unless the standard ath10k-firmware-qca988x
is un-selected since the driver will try to load firmware-5.bin before
firmware-2.bin
endef
define Package/ath10k-firmware-qca99x0-ct/description
Alternative ath10k firmware for QCA99x0 from Candela Technologies.
Enables IBSS and other features. See:
http://www.candelatech.com/ath10k-10.4.php
This firmware conflicts with the standard 99x0 firmware, so select only
one.
endef
define Package/ath10k-firmware-qca99x0/description
Standard ath10k firmware for QCA99x0 from QCA
This firmware conflicts with the CT 99x0 firmware, so select only
one.
endef
define Package/ath10k-firmware-qca99x0-ct
$(Package/ath10k-firmware-default)
TITLE:=ath10k CT 10.4.3 firmware for QCA99x0 devices
endef
define Package/ath10k-firmware-qca6174
$(Package/ath10k-firmware-default)
TITLE:=ath10k firmware for QCA6174 devices
@ -81,6 +130,16 @@ define Package/ath10k-firmware-qca988x/install
$(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-5.bin
endef
define Package/ath10k-firmware-qca988x-ct/install
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/QCA988X/board.bin \
$(1)/lib/firmware/ath10k/QCA988X/hw2.0/
$(INSTALL_DATA) \
$(DL_DIR)/$(QCA988X_FIRMWARE_FILE_CT) \
$(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin
endef
define Package/ath10k-firmware-qca6174/install
$(INSTALL_DIR) $(1)/lib/firmware/ath10k
$(CP) $(PKG_BUILD_DIR)/QCA6174 $(1)/lib/firmware/ath10k/
@ -99,6 +158,22 @@ define Package/ath10k-firmware-qca99x0/install
$(1)/lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin
endef
define Package/ath10k-firmware-qca99x0-ct/install
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0
$(INSTALL_DATA) \
$(DL_DIR)/$(QCA99X0_BOARD_FILE) \
$(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/QCA99X0/hw2.0/boardData_AR900B_CUS239_5G_v2_001.bin \
$(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin
$(INSTALL_DATA) \
$(DL_DIR)/$(QCA99X0_FIRMWARE_FILE_CT) \
$(1)/lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin
endef
$(eval $(call BuildPackage,ath10k-firmware-qca988x))
$(eval $(call BuildPackage,ath10k-firmware-qca99x0))
$(eval $(call BuildPackage,ath10k-firmware-qca6174))
$(eval $(call BuildPackage,ath10k-firmware-qca988x-ct))
$(eval $(call BuildPackage,ath10k-firmware-qca99x0-ct))