ath11k-firmware: add wifi firmware for QCN6122
authorGeorge Moussalem <george.moussalem@outlook.com>
Mon, 7 Oct 2024 11:39:04 +0000 (15:39 +0400)
committerRobert Marko <robimarko@gmail.com>
Thu, 6 Feb 2025 08:51:13 +0000 (09:51 +0100)
Add ability to download and package ath11k firmware for QCN6122.
QCN6122 is specific/exclusive to the IPQ5018 platform and firmware
files are publishes in a subdirectory of the IPQ5018 firmware files.

While at it, add support for packaging BDFs for QCN6122 wifi and
update iwinfo to recognize QCN6122 wifi.

Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/17182
Signed-off-by: Robert Marko <robimarko@gmail.com>
package/firmware/ath11k-firmware/Makefile
package/firmware/ipq-wifi/Makefile

index 85387289c197636b7248049b5ad46995c4e838f3..a333d1b154f9c07d10855bda3ccb5cfb60f50121 100644 (file)
@@ -62,6 +62,12 @@ $(Package/ath11k-firmware-default)
   TITLE:=IPQ8074 ath11k firmware
 endef
 
+define Package/ath11k-firmware-qcn6122
+$(Package/ath11k-firmware-default)
+  TITLE:=QCN6122 ath11k firmware
+  DEPENDS:=ath11k-firmware-ipq5018
+endef
+
 define Package/ath11k-firmware-qcn9074
 $(Package/ath11k-firmware-default)
   TITLE:=QCN9074 ath11k firmware
@@ -107,6 +113,13 @@ define Package/ath11k-firmware-ipq8074/install
                $(1)/lib/firmware/IPQ8074/
 endef
 
+define Package/ath11k-firmware-qcn6122/install
+       $(INSTALL_DIR) $(1)/lib/firmware/ath11k/QCN6122/hw1.0
+       $(INSTALL_DATA) \
+               $(BUILD_DIR)/$(ATH11K_LEGACY_FW_SUBDIR)/ath11k-firmware/IPQ5018_QCN6122_QCN6122/hw1.0/2.7.0.1/WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1/qcn6122/* \
+               $(1)/lib/firmware/ath11k/QCN6122/hw1.0/
+endef
+
 define Package/ath11k-firmware-qcn9074/install
        $(INSTALL_DIR) $(1)/lib/firmware/ath11k/QCN9074/hw1.0
        $(INSTALL_DATA) \
@@ -119,4 +132,5 @@ endef
 $(eval $(call BuildPackage,ath11k-firmware-ipq5018))
 $(eval $(call BuildPackage,ath11k-firmware-ipq6018))
 $(eval $(call BuildPackage,ath11k-firmware-ipq8074))
+$(eval $(call BuildPackage,ath11k-firmware-qcn6122))
 $(eval $(call BuildPackage,ath11k-firmware-qcn9074))
index aee0b07680e2bbab5ceb29cd334dc9c94019e438..ef67490a5f80ae488d0eda49664ead2464640aca 100644 (file)
@@ -108,10 +108,12 @@ define ipq-wifi-install-one
     $(call ipq-wifi-install-ath11-one-to,$(1),$(2),IPQ6018/hw1.0),\
   $(if $(filter $(suffix $(1)),.IPQ8074 .ipq8074),\
     $(call ipq-wifi-install-ath11-one-to,$(1),$(2),IPQ8074/hw2.0),\
+  $(if $(filter $(suffix $(1)),.QCN6122 .qcn6122),\
+    $(call ipq-wifi-install-ath11-one-to,$(1),$(2),QCN6122/hw1.0),\
   $(if $(filter $(suffix $(1)),.QCN9074 .qcn9074),\
     $(call ipq-wifi-install-ath11-one-to,$(1),$(2),QCN9074/hw1.0),\
     $(error Unrecognized board-file suffix '$(suffix $(1))' for '$(1)')\
-  )))))))))
+  ))))))))))
 
 endef
 # Blank line required at end of above define due to foreach context