ath10k: support CT firmware choices.
authorBen Greear <greearb@candelatech.com>
Wed, 22 Jun 2016 12:15:34 +0000 (14:15 +0200)
committerZoltan HERPAI <wigyori@uid0.hu>
Wed, 22 Jun 2016 12:15:34 +0000 (14:15 +0200)
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>
package/firmware/ath10k-firmware/Makefile

index ce5506fd38ad7dfe6206e545e90fbf9ca9c3af4b..996dda6e81ee9d98eef34b4dace9b622a4e449af 100644 (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))