diff --git a/package/firmware/ath11k-firmware/Makefile b/package/firmware/ath11k-firmware/Makefile index 0acc3f9f1a4..85387289c19 100644 --- a/package/firmware/ath11k-firmware/Makefile +++ b/package/firmware/ath11k-firmware/Makefile @@ -25,6 +25,21 @@ include $(INCLUDE_DIR)/package.mk RSTRIP:=: STRIP:=: +ATH11K_LEGACY_FW_NAME:=ath11k-legacy-firmware +ATH11K_LEGACY_FW_DATE:=2024-03-14 +ATH11K_LEGACY_FW_RELEASE:=795809c7 +ATH11K_LEGACY_FW_SUBDIR:=$(ATH11K_LEGACY_FW_NAME)-$(ATH11K_LEGACY_FW_DATE)~$(ATH11K_LEGACY_FW_RELEASE) +ATH11K_LEGACY_FW_SOURCE=$(ATH11K_LEGACY_FW_SUBDIR).tar.zst + +define Download/$(ATH11K_LEGACY_FW_NAME) + FILE:=$(ATH11K_LEGACY_FW_SOURCE) + PROTO:=git + URL:=https://github.com/quic/upstream-wifi-fw.git + SOURCE_VERSION:=795809c7041582bd51bdfaa1f548b916ae8d4382 + MIRROR_HASH:=e042024b6762a5b4fe56f1a5bf8870df2e7abcca90ec22103cd46a609bee7cec + SUBDIR:=$(ATH11K_LEGACY_FW_SUBDIR) +endef + define Package/ath11k-firmware-default SECTION:=firmware CATEGORY:=Firmware @@ -32,6 +47,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 @@ -47,10 +67,32 @@ $(Package/ath11k-firmware-default) TITLE:=QCN9074 ath11k firmware endef +define Build/Clean + $(call Build/Clean/Default,) + + rm -rf \ + $(BUILD_DIR)/$(ATH11K_LEGACY_FW_SUBDIR) +endef + +define Build/Prepare + $(eval $(call Download,ath11k-legacy-firmware)) + + $(call Build/Prepare/Default,) + + $(TAR) -C $(BUILD_DIR) -xf $(DL_DIR)/$(ATH11K_LEGACY_FW_SOURCE) +endef + define Build/Compile endef +define Package/ath11k-firmware-ipq5018/install + $(INSTALL_DIR) $(1)/lib/firmware/ath11k/IPQ5018/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/*.* \ + $(1)/lib/firmware/ath11k/IPQ5018/hw1.0/ +endef + define Package/ath11k-firmware-ipq6018/install $(INSTALL_DIR) $(1)/lib/firmware/IPQ6018 $(INSTALL_DATA) \ @@ -74,6 +116,7 @@ define Package/ath11k-firmware-qcn9074/install $(PKG_BUILD_DIR)/QCN9074/hw1.0/board-2.bin $(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 da5fd5e23e9..aee0b07680e 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -102,6 +102,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),\ @@ -109,7 +111,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