ath10k: update QCA4019 firmware
[openwrt/staging/jogo.git] / package / firmware / ath10k-firmware / Makefile
index 3acb575a95e41d6d3124c4509a30c0bd994a46e8..6e6670b87f64c9254db11dcf26c0492d85d313f8 100644 (file)
@@ -8,9 +8,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ath10k-firmware
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ath10k-firmware
-PKG_SOURCE_DATE:=2017-12-20
-PKG_SOURCE_VERSION:=35d8642f452827b955470de4ac997ffe906a6f17
-PKG_MIRROR_HASH:=594133cea1b49672d0a47ca55fdd9390af83b514b37e864e3674d7ab5d7dd72a
+PKG_SOURCE_DATE:=2018-05-12
+PKG_SOURCE_VERSION:=952afa4949cb34193040cd4e7441e1aee50ac731
+PKG_MIRROR_HASH:=dd300f3f28b8f8c07c93065fd9dc1c9785ebda8f15398b4d2d33f9418adcaf46
 PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
@@ -50,6 +50,7 @@ $(Package/ath10k-firmware-default)
 endef
 
 CT_FIRMWARE_FILE = $(1)-$($(1)_FIRMWARE_FILE_CT)
 endef
 
 CT_FIRMWARE_FILE = $(1)-$($(1)_FIRMWARE_FILE_CT)
+CT_FIRMWARE_FILE_HTT = $(1)-$($(1)_FIRMWARE_FILE_CT_HTT)
 
 define Download/ct-firmware
   URL:=https://www.candelatech.com/downloads/$(2)
 
 define Download/ct-firmware
   URL:=https://www.candelatech.com/downloads/$(2)
@@ -57,41 +58,102 @@ define Download/ct-firmware
   URL_FILE:=$($(1)_FIRMWARE_FILE_CT)
 endef
 
   URL_FILE:=$($(1)_FIRMWARE_FILE_CT)
 endef
 
-QCA988X_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-19.bin.lede
+define Download/ct-firmware-htt
+  URL:=https://www.candelatech.com/downloads/$(2)
+  FILE:=$(call CT_FIRMWARE_FILE_HTT,$(1))
+  URL_FILE:=$($(1)_FIRMWARE_FILE_CT_HTT)
+endef
+
+QCA988X_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-21.bin.lede.001
 define Download/ath10k-firmware-qca988x-ct
   $(call Download/ct-firmware,QCA988X,)
 define Download/ath10k-firmware-qca988x-ct
   $(call Download/ct-firmware,QCA988X,)
-  HASH:=bff98f028062dae9fc638c7596aec3c79bf9eddaff65cfacba067f6d72f217cd
+  HASH:=a3d029c46a77be265e33bb57f827a59f01969f157825d66ecf42a9d327127578
 endef
 $(eval $(call Download,ath10k-firmware-qca988x-ct))
 
 endef
 $(eval $(call Download,ath10k-firmware-qca988x-ct))
 
-QCA9887_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-19.bin.lede
+QCA988X_FIRMWARE_FILE_CT_HTT:=firmware-2-ct-full-htt-mgt-community-21.bin.lede.001
+define Download/ath10k-firmware-qca988x-ct-htt
+  $(call Download/ct-firmware-htt,QCA988X,)
+  HASH:=8666523a6271c4aa6409880d2efd52643258c21464d6bf5948507bcb72d3e350
+endef
+$(eval $(call Download,ath10k-firmware-qca988x-ct-htt))
+
+
+QCA9887_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-21.bin.lede.001
 define Download/ath10k-firmware-qca9887-ct
   $(call Download/ct-firmware,QCA9887,ath10k-9887)
 define Download/ath10k-firmware-qca9887-ct
   $(call Download/ct-firmware,QCA9887,ath10k-9887)
-  HASH:=95dc106f98672bd9c7d3fe6881ed79ab079cb49b0a995650991b1beaff2b0101
+  HASH:=ab8ef9afae5117f1cf71bbf80abde225f9f104620ba04a9734da51268e139803
 endef
 $(eval $(call Download,ath10k-firmware-qca9887-ct))
 
 endef
 $(eval $(call Download,ath10k-firmware-qca9887-ct))
 
-QCA99X0_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-9.bin-lede.004
+QCA9887_FIRMWARE_FILE_CT_HTT:=firmware-2-ct-full-htt-mgt-community-21.bin.lede.001
+define Download/ath10k-firmware-qca9887-ct-htt
+  $(call Download/ct-firmware-htt,QCA9887,ath10k-9887)
+  HASH:=bb16a90ec8e7f80539ad016ebf5e3542bfc95a0e1a58c9f1b91e408a130ac058
+endef
+$(eval $(call Download,ath10k-firmware-qca9887-ct-htt))
+
+
+QCA99X0_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-11.bin-lede.001
 define Download/ath10k-firmware-qca99x0-ct
   $(call Download/ct-firmware,QCA99X0,ath10k-10-4)
 define Download/ath10k-firmware-qca99x0-ct
   $(call Download/ct-firmware,QCA99X0,ath10k-10-4)
-  HASH:=993c29fd64bb2a59b86d34f58601a1a48b83b541750bc511f78cc17152829b4d
+  HASH:=f5c1caaf5a7fb8a07d0e292bab853311a1e826b5de7e76a06e4d801e33827a49
 endef
 $(eval $(call Download,ath10k-firmware-qca99x0-ct))
 
 endef
 $(eval $(call Download,ath10k-firmware-qca99x0-ct))
 
-QCA9984_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-9.bin-lede.004
+QCA99X0_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-11.bin-lede.001
+define Download/ath10k-firmware-qca99x0-ct-htt
+  $(call Download/ct-firmware-htt,QCA99X0,ath10k-10-4)
+  HASH:=a78a457a76f28e2ef34a7a3b1beef06064f7512680e14beafe02625d94d11619
+endef
+$(eval $(call Download,ath10k-firmware-qca99x0-ct-htt))
+
+
+QCA9984_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-11.bin-lede.001
 define Download/ath10k-firmware-qca9984-ct
   $(call Download/ct-firmware,QCA9984,ath10k-9984-10-4)
 define Download/ath10k-firmware-qca9984-ct
   $(call Download/ct-firmware,QCA9984,ath10k-9984-10-4)
-  HASH:=d997eed9a8bc6809c01d367759ba8545c10e3be93ea1f33d6d753127ef0f7c5e
+  HASH:=204dde43a107911cd48ac04f6450365722fba6121487e49d4ef36b8aaa83339b
 endef
 $(eval $(call Download,ath10k-firmware-qca9984-ct))
 
 endef
 $(eval $(call Download,ath10k-firmware-qca9984-ct))
 
-QCA9888_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-9.bin-lede.004
+QCA9984_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-11.bin-lede.001
+define Download/ath10k-firmware-qca9984-ct-htt
+  $(call Download/ct-firmware-htt,QCA9984,ath10k-9984-10-4)
+  HASH:=e60b6033e96a9b14f43aae360e6a35e1217f3e94a4578821ccdb3e2da8521fae
+endef
+$(eval $(call Download,ath10k-firmware-qca9984-ct-htt))
+
+
+QCA4019_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-11.bin-lede.001
+define Download/ath10k-firmware-qca4019-ct
+  $(call Download/ct-firmware,QCA4019,ath10k-4019-10-4)
+  HASH:=3daa439104806b1796c90e65bcafb18164358f0bd9e4d444302f7caf1c220dad
+endef
+$(eval $(call Download,ath10k-firmware-qca4019-ct))
+
+QCA4019_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-11.bin-lede.001
+define Download/ath10k-firmware-qca4019-ct-htt
+  $(call Download/ct-firmware-htt,QCA4019,ath10k-4019-10-4)
+  HASH:=eaf64c2942dac4d4718c5f7178be0676aee86b0293443d7b414e3f88290e2d15
+endef
+$(eval $(call Download,ath10k-firmware-qca4019-ct-htt))
+
+
+QCA9888_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-11.bin-lede.001
 define Download/ath10k-firmware-qca9888-ct
   $(call Download/ct-firmware,QCA9888,ath10k-9888-10-4)
 define Download/ath10k-firmware-qca9888-ct
   $(call Download/ct-firmware,QCA9888,ath10k-9888-10-4)
-  HASH:=bbaa71bc7dcaa264c5875e86639f174908fed09fbace975e325959d42f3754ff
+  HASH:=8d4415a77745259bbac4fc821c85f4001e58e49d9797a2e23585c44a03505678
 endef
 $(eval $(call Download,ath10k-firmware-qca9888-ct))
 
 endef
 $(eval $(call Download,ath10k-firmware-qca9888-ct))
 
+QCA9888_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-11.bin-lede.001
+define Download/ath10k-firmware-qca9888-ct-htt
+  $(call Download/ct-firmware-htt,QCA9888,ath10k-9888-10-4)
+  HASH:=2a1bf2c7b4122469c40d70c48f155a53bd5d30a2900c01fe5ff896abc67acc9c
+endef
+$(eval $(call Download,ath10k-firmware-qca9888-ct-htt))
+
+
 define Package/ath10k-firmware-qca99x0
 $(Package/ath10k-firmware-default)
   TITLE:=ath10k firmware for QCA99x0 devices
 define Package/ath10k-firmware-qca99x0
 $(Package/ath10k-firmware-default)
   TITLE:=ath10k firmware for QCA99x0 devices
@@ -104,6 +166,15 @@ $(Package/ath10k-firmware-default)
   TITLE:=ath10k CT 10.1 firmware for QCA988x devices
   SECTION:=firmware
   CATEGORY:=Firmware
   TITLE:=ath10k CT 10.1 firmware for QCA988x devices
   SECTION:=firmware
   CATEGORY:=Firmware
+  PROVIDES:=ath10k-firmware-qca988x
+endef
+define Package/ath10k-firmware-qca988x-ct-htt
+$(Package/ath10k-firmware-default)
+  TITLE:=ath10k CT 10.1 htt-mgt fw for QCA988x
+  SECTION:=firmware
+  CATEGORY:=Firmware
+  PROVIDES:=ath10k-firmware-qca988x
+  DEPENDS:=+kmod-ath10k-ct
 endef
 
 define Package/ath10k-firmware-qca9887-ct
 endef
 
 define Package/ath10k-firmware-qca9887-ct
@@ -111,6 +182,15 @@ $(Package/ath10k-firmware-default)
   TITLE:=ath10k CT 10.1 firmware for QCA9887 devices
   SECTION:=firmware
   CATEGORY:=Firmware
   TITLE:=ath10k CT 10.1 firmware for QCA9887 devices
   SECTION:=firmware
   CATEGORY:=Firmware
+  PROVIDES:=ath10k-firmware-qca9887
+endef
+define Package/ath10k-firmware-qca9887-ct-htt
+$(Package/ath10k-firmware-default)
+  TITLE:=ath10k CT 10.1 htt-mgt fw for QCA9887
+  SECTION:=firmware
+  CATEGORY:=Firmware
+  PROVIDES:=ath10k-firmware-qca9887
+  DEPENDS:=+kmod-ath10k-ct
 endef
 
 define Package/ath10k-firmware-qca988x-ct/description
 endef
 
 define Package/ath10k-firmware-qca988x-ct/description
@@ -121,6 +201,14 @@ 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
 is un-selected since the driver will try to load firmware-5.bin before
 firmware-2.bin
 endef
+define Package/ath10k-firmware-qca988x-ct-htt/description
+Alternative ath10k firmware for QCA988X from Candela Technologies.
+Uses normal HTT TX data path for management frames, which improves
+stability in busy networks and fixes .11r authentication.
+Enables IBSS and other features.  See:
+http://www.candelatech.com/ath10k-10.1.php
+This firmware selects and requires the ath10k-ct driver.
+endef
 
 define Package/ath10k-firmware-qca9887-ct/description
 Alternative ath10k firmware for QCA9887 from Candela Technologies.
 
 define Package/ath10k-firmware-qca9887-ct/description
 Alternative ath10k firmware for QCA9887 from Candela Technologies.
@@ -129,6 +217,14 @@ http://www.candelatech.com/ath10k-10.1.php
 This firmware conflicts with the standard 9887 firmware, so select only
 one.
 endef
 This firmware conflicts with the standard 9887 firmware, so select only
 one.
 endef
+define Package/ath10k-firmware-qca9887-ct-htt/description
+Alternative ath10k firmware for QCA9887 from Candela Technologies.
+Uses normal HTT TX data path for management frames, which improves
+stability in busy networks and fixes .11r authentication.
+Enables IBSS and other features.  See:
+http://www.candelatech.com/ath10k-10.1.php
+This firmware selects and requires the ath10k-ct driver.
+endef
 
 define Package/ath10k-firmware-qca99x0-ct/description
 Alternative ath10k firmware for QCA99x0 from Candela Technologies.
 
 define Package/ath10k-firmware-qca99x0-ct/description
 Alternative ath10k firmware for QCA99x0 from Candela Technologies.
@@ -137,6 +233,14 @@ http://www.candelatech.com/ath10k-10.4.php
 This firmware conflicts with the standard 99x0 firmware, so select only
 one.
 endef
 This firmware conflicts with the standard 99x0 firmware, so select only
 one.
 endef
+define Package/ath10k-firmware-qca99x0-ct-htt/description
+Alternative ath10k firmware for QCA99x0 from Candela Technologies.
+Uses normal HTT TX data path for management frames, which improves
+stability in busy networks and may be required for .11r authentication.
+Enables IBSS and other features.  See:
+http://www.candelatech.com/ath10k-10.4.php
+This firmware selects and requires the ath10k-ct driver.
+endef
 
 define Package/ath10k-firmware-qca9984-ct/description
 Alternative ath10k firmware for QCA9984 from Candela Technologies.
 
 define Package/ath10k-firmware-qca9984-ct/description
 Alternative ath10k firmware for QCA9984 from Candela Technologies.
@@ -145,6 +249,28 @@ http://www.candelatech.com/ath10k-10.4.php
 This firmware conflicts with the standard 9984 firmware, so select only
 one.
 endef
 This firmware conflicts with the standard 9984 firmware, so select only
 one.
 endef
+define Package/ath10k-firmware-qca9984-ct-htt/description
+Alternative ath10k firmware for QCA9984 from Candela Technologies.
+Uses normal HTT TX data path for management frames, which improves
+stability in busy networks and may be required for .11r authentication.
+Enables IBSS and other features.  See:
+http://www.candelatech.com/ath10k-10.4.php
+This firmware selects and requires the ath10k-ct driver.
+endef
+
+define Package/ath10k-firmware-qca4019-ct/description
+Alternative ath10k firmware for IPQ4019 radio from Candela Technologies.
+Enables IBSS and other features.  Works with standard or ath10k-ct driver.
+See:  http://www.candelatech.com/ath10k-10.4.php
+endef
+define Package/ath10k-firmware-qca4019-ct-htt/description
+Alternative ath10k firmware for IPQ4019 radio from Candela Technologies.
+Uses normal HTT TX data path for management frames, which improves
+stability in busy networks and may be required for .11r authentication.
+Enables IBSS and other features.
+See:  http://www.candelatech.com/ath10k-10.4.php
+This firmware selects and requires the ath10k-ct driver.
+endef
 
 define Package/ath10k-firmware-qca9888-ct/description
 Alternative ath10k firmware for QCA9886 and QCA9888 from Candela Technologies.
 
 define Package/ath10k-firmware-qca9888-ct/description
 Alternative ath10k firmware for QCA9886 and QCA9888 from Candela Technologies.
@@ -153,6 +279,15 @@ http://www.candelatech.com/ath10k-10.4.php
 This firmware conflicts with the standard 9886 and 9888 firmware, so select only
 one.
 endef
 This firmware conflicts with the standard 9886 and 9888 firmware, so select only
 one.
 endef
+define Package/ath10k-firmware-qca9888-ct-htt/description
+Alternative ath10k firmware for QCA9886 and QCA9888 from Candela Technologies.
+Uses normal HTT TX data path for management frames, which improves
+stability in busy networks and may be required for .11r authentication.
+Enables IBSS and other features.  See:
+http://www.candelatech.com/ath10k-10.4.php
+This firmware selects and requires the ath10k-ct driver.
+endef
+
 
 define Package/ath10k-firmware-qca99x0/description
 Standard ath10k firmware for QCA99x0 from QCA
 
 define Package/ath10k-firmware-qca99x0/description
 Standard ath10k firmware for QCA99x0 from QCA
@@ -162,25 +297,70 @@ endef
 
 define Package/ath10k-firmware-qca99x0-ct
 $(Package/ath10k-firmware-default)
 
 define Package/ath10k-firmware-qca99x0-ct
 $(Package/ath10k-firmware-default)
-  TITLE:=ath10k CT 10.4.3 firmware for QCA99x0 devices
+  TITLE:=ath10k CT 10.4 firmware for QCA99x0 devices
   SECTION:=firmware
   CATEGORY:=Firmware
   SECTION:=firmware
   CATEGORY:=Firmware
+  PROVIDES:=ath10k-firmware-qca99x0
+endef
+define Package/ath10k-firmware-qca99x0-ct-htt
+$(Package/ath10k-firmware-default)
+  TITLE:=ath10k CT 10.4 htt-mgt fw for QCA99x0
+  SECTION:=firmware
+  CATEGORY:=Firmware
+  PROVIDES:=ath10k-firmware-qca99x0
+  DEPENDS:=+kmod-ath10k-ct
 endef
 
 define Package/ath10k-firmware-qca9984-ct
 $(Package/ath10k-firmware-default)
 endef
 
 define Package/ath10k-firmware-qca9984-ct
 $(Package/ath10k-firmware-default)
-  TITLE:=ath10k CT 10.4.3 firmware for QCA9984 devices
+  TITLE:=ath10k CT 10.4 firmware for QCA9984 devices
+  SECTION:=firmware
+  CATEGORY:=Firmware
+  PROVIDES:=ath10k-firmware-qca9984
+endef
+define Package/ath10k-firmware-qca9984-ct-htt
+$(Package/ath10k-firmware-default)
+  TITLE:=ath10k CT 10.4 htt-mgt fw for QCA9984
+  SECTION:=firmware
+  CATEGORY:=Firmware
+  PROVIDES:=ath10k-firmware-qca9984
+  DEPENDS:=+kmod-ath10k-ct
+endef
+
+define Package/ath10k-firmware-qca4019-ct
+$(Package/ath10k-firmware-default)
+  TITLE:=ath10k CT 10.4 firmware for QCA4018/9
+  SECTION:=firmware
+  CATEGORY:=Firmware
+  PROVIDES:=ath10k-firmware-qca4019
+endef
+define Package/ath10k-firmware-qca4019-ct-htt
+$(Package/ath10k-firmware-default)
+  TITLE:=ath10k CT 10.4 htt-mgt for QCA4018/9
   SECTION:=firmware
   CATEGORY:=Firmware
   SECTION:=firmware
   CATEGORY:=Firmware
+  PROVIDES:=ath10k-firmware-qca4019
+  DEPENDS:=+kmod-ath10k-ct
 endef
 
 define Package/ath10k-firmware-qca9888-ct
 $(Package/ath10k-firmware-default)
 endef
 
 define Package/ath10k-firmware-qca9888-ct
 $(Package/ath10k-firmware-default)
-  TITLE:=ath10k CT 10.4.3 firmware for QCA9886 and QCA9888 devices
+  TITLE:=ath10k CT 10.4 fw for QCA9886/8 devices
+  SECTION:=firmware
+  CATEGORY:=Firmware
+  PROVIDES:=ath10k-firmware-qca9888
+endef
+define Package/ath10k-firmware-qca9888-ct-htt
+$(Package/ath10k-firmware-default)
+  TITLE:=ath10k CT 10.4 htt-mgt fw for QCA9886/8
   SECTION:=firmware
   CATEGORY:=Firmware
   SECTION:=firmware
   CATEGORY:=Firmware
+  PROVIDES:=ath10k-firmware-qca9888
+  DEPENDS:=+kmod-ath10k-ct
 endef
 
 endef
 
+
+
 define Package/ath10k-firmware-qca9984
 $(Package/ath10k-firmware-default)
   TITLE:=ath10k firmware for QCA9984 devices
 define Package/ath10k-firmware-qca9984
 $(Package/ath10k-firmware-default)
   TITLE:=ath10k firmware for QCA9984 devices
@@ -223,14 +403,14 @@ define Package/ath10k-firmware-qca4019/install
                $(PKG_BUILD_DIR)/QCA4019/hw1.0/board-2.bin \
                $(1)/lib/firmware/ath10k/QCA4019/hw1.0/
        $(INSTALL_DATA) \
                $(PKG_BUILD_DIR)/QCA4019/hw1.0/board-2.bin \
                $(1)/lib/firmware/ath10k/QCA4019/hw1.0/
        $(INSTALL_DATA) \
-               $(PKG_BUILD_DIR)/QCA4019/hw1.0/3.4/firmware-5.bin_10.4-3.4-00104 \
+               $(PKG_BUILD_DIR)/QCA4019/hw1.0/3.5.3/firmware-5.bin_10.4-3.5.3-00057 \
                $(1)/lib/firmware/ath10k/QCA4019/hw1.0/firmware-5.bin
 endef
 
 define Package/ath10k-firmware-qca9887/install
        $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9887/hw1.0
        $(INSTALL_DATA) \
                $(1)/lib/firmware/ath10k/QCA4019/hw1.0/firmware-5.bin
 endef
 
 define Package/ath10k-firmware-qca9887/install
        $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9887/hw1.0
        $(INSTALL_DATA) \
-               $(PKG_BUILD_DIR)/QCA9887/hw1.0/10.2.4-1.0/firmware-5.bin_10.2.4-1.0-00029 \
+               $(PKG_BUILD_DIR)/QCA9887/hw1.0/10.2.4-1.0/firmware-5.bin_10.2.4-1.0-00033 \
                $(1)/lib/firmware/ath10k/QCA9887/hw1.0/firmware-5.bin
        $(INSTALL_DATA) \
                $(PKG_BUILD_DIR)/QCA9887/hw1.0/board.bin \
                $(1)/lib/firmware/ath10k/QCA9887/hw1.0/firmware-5.bin
        $(INSTALL_DATA) \
                $(PKG_BUILD_DIR)/QCA9887/hw1.0/board.bin \
@@ -243,7 +423,7 @@ define Package/ath10k-firmware-qca9888/install
                $(PKG_BUILD_DIR)/QCA9888/hw2.0/board-2.bin \
                $(1)/lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin
        $(INSTALL_DATA) \
                $(PKG_BUILD_DIR)/QCA9888/hw2.0/board-2.bin \
                $(1)/lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin
        $(INSTALL_DATA) \
-               $(PKG_BUILD_DIR)/QCA9888/hw2.0/firmware-5.bin_10.4-3.2-00072 \
+               $(PKG_BUILD_DIR)/QCA9888/hw2.0/3.5.3/firmware-5.bin_10.4-3.5.3-00053 \
                $(1)/lib/firmware/ath10k/QCA9888/hw2.0/firmware-5.bin
 endef
 
                $(1)/lib/firmware/ath10k/QCA9888/hw2.0/firmware-5.bin
 endef
 
@@ -253,10 +433,53 @@ define Package/ath10k-firmware-qca988x/install
                $(PKG_BUILD_DIR)/QCA988X/hw2.0/board.bin \
                $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
        $(INSTALL_DATA) \
                $(PKG_BUILD_DIR)/QCA988X/hw2.0/board.bin \
                $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
        $(INSTALL_DATA) \
-               $(PKG_BUILD_DIR)/QCA988X/hw2.0/10.2.4-1.0/firmware-5.bin_10.2.4-1.0-00029 \
+               $(PKG_BUILD_DIR)/QCA988X/hw2.0/10.2.4-1.0/firmware-5.bin_10.2.4-1.0-00037 \
                $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-5.bin
 endef
 
                $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-5.bin
 endef
 
+define Package/ath10k-firmware-qca6174/install
+       $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA6174/hw2.1
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/QCA6174/hw2.1/board-2.bin \
+               $(1)/lib/firmware/ath10k/QCA6174/hw2.1/
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/QCA6174/hw2.1/firmware-5.bin_SW_RM.1.1.1-00157-QCARMSWPZ-1 \
+               $(1)/lib/firmware/ath10k/QCA6174/hw2.1/firmware-5.bin
+       $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA6174/hw3.0
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/QCA6174/hw3.0/board-2.bin \
+               $(1)/lib/firmware/ath10k/QCA6174/hw3.0/
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/QCA6174/hw3.0/4.4.1.c1/firmware-6.bin_RM.4.4.1.c1-00042-QCARMSWP-1 \
+               $(1)/lib/firmware/ath10k/QCA6174/hw3.0/firmware-6.bin
+endef
+
+define Package/ath10k-firmware-qca99x0/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) \
+               $(PKG_BUILD_DIR)/QCA99X0/hw2.0/firmware-5.bin_10.4.1.00030-1 \
+               $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin
+endef
+
+define Package/ath10k-firmware-qca9984/install
+       $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/QCA9984/hw1.0/board-2.bin \
+               $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/QCA9984/hw1.0/3.5.3/firmware-5.bin_10.4-3.5.3-00053 \
+               $(1)/lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin
+endef
+
+
+# CT related firmware
+
 define Package/ath10k-firmware-qca9887-ct/install
        $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9887/hw1.0
        $(INSTALL_DATA) \
 define Package/ath10k-firmware-qca9887-ct/install
        $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9887/hw1.0
        $(INSTALL_DATA) \
@@ -266,6 +489,15 @@ define Package/ath10k-firmware-qca9887-ct/install
                $(PKG_BUILD_DIR)/QCA9887/hw1.0/board.bin \
                $(1)/lib/firmware/ath10k/QCA9887/hw1.0/board.bin
 endef
                $(PKG_BUILD_DIR)/QCA9887/hw1.0/board.bin \
                $(1)/lib/firmware/ath10k/QCA9887/hw1.0/board.bin
 endef
+define Package/ath10k-firmware-qca9887-ct-htt/install
+       $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9887/hw1.0
+       $(INSTALL_DATA) \
+               $(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA9887) \
+               $(1)/lib/firmware/ath10k/QCA9887/hw1.0/ct-firmware-2.bin
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/QCA9887/hw1.0/board.bin \
+               $(1)/lib/firmware/ath10k/QCA9887/hw1.0/board.bin
+endef
 
 define Package/ath10k-firmware-qca988x-ct/install
        $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0
 
 define Package/ath10k-firmware-qca988x-ct/install
        $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0
@@ -276,13 +508,17 @@ define Package/ath10k-firmware-qca988x-ct/install
                $(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA988X) \
                $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin
 endef
                $(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA988X) \
                $(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/
+define Package/ath10k-firmware-qca988x-ct-htt/install
+       $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/QCA988X/hw2.0/board.bin \
+               $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
+       $(INSTALL_DATA) \
+               $(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA988X) \
+               $(1)/lib/firmware/ath10k/QCA988X/hw2.0/ct-firmware-2.bin
 endef
 
 endef
 
-define Package/ath10k-firmware-qca99x0/install
+define Package/ath10k-firmware-qca99x0-ct/install
        $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0
        $(INSTALL_DATA) \
                $(DL_DIR)/$(QCA99X0_BOARD_FILE) \
        $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0
        $(INSTALL_DATA) \
                $(DL_DIR)/$(QCA99X0_BOARD_FILE) \
@@ -291,11 +527,10 @@ define Package/ath10k-firmware-qca99x0/install
                $(PKG_BUILD_DIR)/QCA99X0/hw2.0/boardData_AR900B_CUS239_5G_v2_001.bin \
                $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.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) \
-               $(PKG_BUILD_DIR)/QCA99X0/hw2.0/firmware-5.bin_10.4.1.00030-1 \
+               $(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA99X0) \
                $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin
 endef
                $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin
 endef
-
-define Package/ath10k-firmware-qca99x0-ct/install
+define Package/ath10k-firmware-qca99x0-ct-htt/install
        $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0
        $(INSTALL_DATA) \
                $(DL_DIR)/$(QCA99X0_BOARD_FILE) \
        $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0
        $(INSTALL_DATA) \
                $(DL_DIR)/$(QCA99X0_BOARD_FILE) \
@@ -304,28 +539,46 @@ define Package/ath10k-firmware-qca99x0-ct/install
                $(PKG_BUILD_DIR)/QCA99X0/hw2.0/boardData_AR900B_CUS239_5G_v2_001.bin \
                $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.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)/$(call CT_FIRMWARE_FILE,QCA99X0) \
-               $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin
+               $(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA99X0) \
+               $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/ct-firmware-5.bin
 endef
 
 endef
 
-define Package/ath10k-firmware-qca9984/install
+define Package/ath10k-firmware-qca9984-ct/install
        $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0
        $(INSTALL_DATA) \
                $(PKG_BUILD_DIR)/QCA9984/hw1.0/board-2.bin \
                $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin
        $(INSTALL_DATA) \
        $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0
        $(INSTALL_DATA) \
                $(PKG_BUILD_DIR)/QCA9984/hw1.0/board-2.bin \
                $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin
        $(INSTALL_DATA) \
-               $(PKG_BUILD_DIR)/QCA9984/hw1.0/3.4/firmware-5.bin_10.4-3.4-00082 \
+               $(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA9984) \
                $(1)/lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin
 endef
                $(1)/lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin
 endef
-
-define Package/ath10k-firmware-qca9984-ct/install
+define Package/ath10k-firmware-qca9984-ct-htt/install
        $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0
        $(INSTALL_DATA) \
                $(PKG_BUILD_DIR)/QCA9984/hw1.0/board-2.bin \
                $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin
        $(INSTALL_DATA) \
        $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0
        $(INSTALL_DATA) \
                $(PKG_BUILD_DIR)/QCA9984/hw1.0/board-2.bin \
                $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin
        $(INSTALL_DATA) \
-               $(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA9984) \
-               $(1)/lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin
+               $(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA9984) \
+               $(1)/lib/firmware/ath10k/QCA9984/hw1.0/ct-firmware-5.bin
+endef
+
+define Package/ath10k-firmware-qca4019-ct/install
+       $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA4019/hw1.0
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/QCA4019/hw1.0/board-2.bin \
+               $(1)/lib/firmware/ath10k/QCA4019/hw1.0/
+       $(INSTALL_DATA) \
+               $(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA4019) \
+               $(1)/lib/firmware/ath10k/QCA4019/hw1.0/firmware-5.bin
+endef
+define Package/ath10k-firmware-qca4019-ct-htt/install
+       $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA4019/hw1.0
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/QCA4019/hw1.0/board-2.bin \
+               $(1)/lib/firmware/ath10k/QCA4019/hw1.0/
+       $(INSTALL_DATA) \
+               $(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA4019) \
+               $(1)/lib/firmware/ath10k/QCA4019/hw1.0/ct-firmware-5.bin
 endef
 
 define Package/ath10k-firmware-qca9888-ct/install
 endef
 
 define Package/ath10k-firmware-qca9888-ct/install
@@ -340,6 +593,18 @@ define Package/ath10k-firmware-qca9888-ct/install
                $(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA9888) \
                $(1)/lib/firmware/ath10k/QCA9888/hw2.0/firmware-5.bin
 endef
                $(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA9888) \
                $(1)/lib/firmware/ath10k/QCA9888/hw2.0/firmware-5.bin
 endef
+define Package/ath10k-firmware-qca9888-ct-htt/install
+       $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9888/hw2.0
+       ln -s \
+               ../../cal-pci-0000:01:00.0.bin \
+               $(1)/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/QCA9888/hw2.0/board-2.bin \
+               $(1)/lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin
+       $(INSTALL_DATA) \
+               $(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA9888) \
+               $(1)/lib/firmware/ath10k/QCA9888/hw2.0/ct-firmware-5.bin
+endef
 
 $(eval $(call BuildPackage,ath10k-firmware-qca9887))
 $(eval $(call BuildPackage,ath10k-firmware-qca9888))
 
 $(eval $(call BuildPackage,ath10k-firmware-qca9887))
 $(eval $(call BuildPackage,ath10k-firmware-qca9888))
@@ -350,7 +615,14 @@ $(eval $(call BuildPackage,ath10k-firmware-qca9984))
 $(eval $(call BuildPackage,ath10k-firmware-qca4019))
 
 $(eval $(call BuildPackage,ath10k-firmware-qca9887-ct))
 $(eval $(call BuildPackage,ath10k-firmware-qca4019))
 
 $(eval $(call BuildPackage,ath10k-firmware-qca9887-ct))
+$(eval $(call BuildPackage,ath10k-firmware-qca9887-ct-htt))
 $(eval $(call BuildPackage,ath10k-firmware-qca988x-ct))
 $(eval $(call BuildPackage,ath10k-firmware-qca988x-ct))
+$(eval $(call BuildPackage,ath10k-firmware-qca988x-ct-htt))
 $(eval $(call BuildPackage,ath10k-firmware-qca99x0-ct))
 $(eval $(call BuildPackage,ath10k-firmware-qca99x0-ct))
+$(eval $(call BuildPackage,ath10k-firmware-qca99x0-ct-htt))
 $(eval $(call BuildPackage,ath10k-firmware-qca9984-ct))
 $(eval $(call BuildPackage,ath10k-firmware-qca9984-ct))
+$(eval $(call BuildPackage,ath10k-firmware-qca9984-ct-htt))
+$(eval $(call BuildPackage,ath10k-firmware-qca4019-ct))
+$(eval $(call BuildPackage,ath10k-firmware-qca4019-ct-htt))
 $(eval $(call BuildPackage,ath10k-firmware-qca9888-ct))
 $(eval $(call BuildPackage,ath10k-firmware-qca9888-ct))
+$(eval $(call BuildPackage,ath10k-firmware-qca9888-ct-htt))