From cf7ecb7c72a291eafb97ea4245d96e07dcdfbe28 Mon Sep 17 00:00:00 2001 From: George Moussalem Date: Mon, 7 Oct 2024 15:39:04 +0400 Subject: [PATCH] ath11k-firmware: add wifi firmware for QCN6122 Add ability to download and package ath11k firmware for QCN6122. While at it, add support for packaging BDFs for QCN6122 wifi and update iwinfo to recognize QCN6122 wifi. Signed-off-by: George Moussalem --- package/firmware/ath11k-firmware/Makefile | 13 +++++++++++++ package/firmware/ipq-wifi/Makefile | 4 +++- ...-Qualcomm-Atheros-QCN6122-WiSoC-compatible.patch | 10 ++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 package/network/utils/iwinfo/patches/002-devices-add-Qualcomm-Atheros-QCN6122-WiSoC-compatible.patch diff --git a/package/firmware/ath11k-firmware/Makefile b/package/firmware/ath11k-firmware/Makefile index f5ead74816..35a0965186 100644 --- a/package/firmware/ath11k-firmware/Makefile +++ b/package/firmware/ath11k-firmware/Makefile @@ -47,6 +47,11 @@ $(Package/ath11k-firmware-default) TITLE:=IPQ8074 ath11k firmware endef +define Package/ath11k-firmware-qcn6122 +$(Package/ath11k-firmware-default) + TITLE:=QCN6122 ath11k firmware +endef + define Package/ath11k-firmware-qcn9074 $(Package/ath11k-firmware-default) TITLE:=QCN9074 ath11k firmware @@ -88,6 +93,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) \ + $(PKG_BUILD_DIR)/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) \ @@ -100,4 +112,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)) diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index d0ac063993..d684e7f629 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -103,10 +103,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 diff --git a/package/network/utils/iwinfo/patches/002-devices-add-Qualcomm-Atheros-QCN6122-WiSoC-compatible.patch b/package/network/utils/iwinfo/patches/002-devices-add-Qualcomm-Atheros-QCN6122-WiSoC-compatible.patch new file mode 100644 index 0000000000..f528e92943 --- /dev/null +++ b/package/network/utils/iwinfo/patches/002-devices-add-Qualcomm-Atheros-QCN6122-WiSoC-compatible.patch @@ -0,0 +1,10 @@ +--- a/devices.txt ++++ b/devices.txt +@@ -255,6 +255,7 @@ + "qcom,ipq5018-wifi" 0 0 "Qualcomm Atheros" "IPQ5018" + "qcom,ipq6018-wifi" 0 0 "Qualcomm Atheros" "IPQ6018" + "qcom,ipq8074-wifi" 0 0 "Qualcomm Atheros" "IPQ8074" ++"qcom,qcn6122-wifi" 0 0 "Qualcomm Atheros" "QCN6102/6122" + "mediatek,mt7622-wmac" 0 0 "MediaTek" "MT7622" + "mediatek,mt7628-wmac" 0 0 "MediaTek" "MT7628" + "mediatek,mt7981-wmac" 0 0 "MediaTek" "MT7981"