From 2f50c4d5c074ea1c7179311f43545405ea9e96ac Mon Sep 17 00:00:00 2001 From: George Moussalem Date: Mon, 7 Oct 2024 15:26:32 +0400 Subject: [PATCH] ath11k-firmware: add wifi firmware for IPQ5018 Add ability to download and package ath11k firmware for IPQ5018. While at it, add support for packaging BDFs for IPQ5018-based boards and update iwinfo to recognize IPQ5018 wifi. Signed-off-by: George Moussalem --- package/firmware/ath11k-firmware/Makefile | 13 +++++++++++++ package/firmware/ipq-wifi/Makefile | 4 +++- ...-Qualcomm-Atheros-IPQ5018-WiSoC-compatible.patch | 10 ++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 package/network/utils/iwinfo/patches/001-devices-add-Qualcomm-Atheros-IPQ5018-WiSoC-compatible.patch diff --git a/package/firmware/ath11k-firmware/Makefile b/package/firmware/ath11k-firmware/Makefile index 85cbfa87c3..f5ead74816 100644 --- a/package/firmware/ath11k-firmware/Makefile +++ b/package/firmware/ath11k-firmware/Makefile @@ -32,6 +32,11 @@ define Package/ath11k-firmware-default DEPENDS:= endef +define Package/ath11k-firmware-ipq5018 +$(Package/ath11k-firmware-default) + TITLE:=IPQ5018 ath11k firmware +endef + define Package/ath11k-firmware-ipq6018 $(Package/ath11k-firmware-default) TITLE:=IPQ6018 ath11k firmware @@ -62,6 +67,13 @@ define Download/qcn9074-board endef $(eval $(call Download,qcn9074-board)) +define Package/ath11k-firmware-ipq5018/install + $(INSTALL_DIR) $(1)/lib/firmware/ath11k/IPQ5018/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/*.* \ + $(1)/lib/firmware/ath11k/IPQ5018/hw1.0/ +endef + define Package/ath11k-firmware-ipq6018/install $(INSTALL_DIR) $(1)/lib/firmware/IPQ6018 $(INSTALL_DATA) \ @@ -85,6 +97,7 @@ define Package/ath11k-firmware-qcn9074/install $(DL_DIR)/$(QCN9074_BOARD_FILE) $(1)/lib/firmware/ath11k/QCN9074/hw1.0/board-2.bin endef +$(eval $(call BuildPackage,ath11k-firmware-ipq5018)) $(eval $(call BuildPackage,ath11k-firmware-ipq6018)) $(eval $(call BuildPackage,ath11k-firmware-ipq8074)) $(eval $(call BuildPackage,ath11k-firmware-qcn9074)) diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index 4732a14b1b..d0ac063993 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -97,6 +97,8 @@ define ipq-wifi-install-one $(call ipq-wifi-install-one-to,$(1),$(2),QCA9984/hw1.0),\ $(if $(filter $(suffix $(1)),.QCA99X0 .qca99x0),\ $(call ipq-wifi-install-one-to,$(1),$(2),QCA99X0/hw2.0),\ + $(if $(filter $(suffix $(1)),.IPQ5018 .ipq5018),\ + $(call ipq-wifi-install-ath11-one-to,$(1),$(2),IPQ5018/hw1.0),\ $(if $(filter $(suffix $(1)),.IPQ6018 .ipq6018),\ $(call ipq-wifi-install-ath11-one-to,$(1),$(2),IPQ6018/hw1.0),\ $(if $(filter $(suffix $(1)),.IPQ8074 .ipq8074),\ @@ -104,7 +106,7 @@ define ipq-wifi-install-one $(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/001-devices-add-Qualcomm-Atheros-IPQ5018-WiSoC-compatible.patch b/package/network/utils/iwinfo/patches/001-devices-add-Qualcomm-Atheros-IPQ5018-WiSoC-compatible.patch new file mode 100644 index 0000000000..fc708a8c2d --- /dev/null +++ b/package/network/utils/iwinfo/patches/001-devices-add-Qualcomm-Atheros-IPQ5018-WiSoC-compatible.patch @@ -0,0 +1,10 @@ +--- a/devices.txt ++++ b/devices.txt +@@ -252,6 +252,7 @@ + "qca,qca9550-wmac" 0 0 "Qualcomm Atheros" "QCA9550" + "qca,qca9560-wmac" 0 0 "Qualcomm Atheros" "QCA9560" + "qcom,ipq4019-wifi" 0 0 "Qualcomm Atheros" "IPQ4019" ++"qcom,ipq5018-wifi" 0 0 "Qualcomm Atheros" "IPQ5018" + "qcom,ipq6018-wifi" 0 0 "Qualcomm Atheros" "IPQ6018" + "qcom,ipq8074-wifi" 0 0 "Qualcomm Atheros" "IPQ8074" + "mediatek,mt7622-wmac" 0 0 "MediaTek" "MT7622"