diff options
| author | George Moussalem | 2024-10-07 11:26:32 +0000 |
|---|---|---|
| committer | Robert Marko | 2025-02-06 08:51:13 +0000 |
| commit | ea83f7de2b02e65eb6c59585fab2fd47f8e752a2 (patch) | |
| tree | 3df0f10d50c14a6bed2b7ff0d51190910a7ee798 | |
| parent | 34d9172655af4e71f9b06229cbd5a716d359ac23 (diff) | |
| download | openwrt-ea83f7de2b02e65eb6c59585fab2fd47f8e752a2.tar.gz | |
ath11k-firmware: add wifi firmware for IPQ5018
Add ability to download and package ath11k firmware for IPQ5018.
As part of commit 172ccf7, the source is pointed to the new QCA repo.
Until QCA publishes updated firmware for IPQ5018 and QCN6122, we need
to download the firmware from the old QUIC repo. As such, add a new
download routine for IPQ5018/QCN6122 to fetch the firmware files from
the old repo.
While at it, add support for packaging BDFs for IPQ5018-based boards
and update iwinfo to recognize IPQ5018 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>
| -rw-r--r-- | package/firmware/ath11k-firmware/Makefile | 43 | ||||
| -rw-r--r-- | package/firmware/ipq-wifi/Makefile | 4 |
2 files changed, 46 insertions, 1 deletions
diff --git a/package/firmware/ath11k-firmware/Makefile b/package/firmware/ath11k-firmware/Makefile index 0acc3f9f1a..85387289c1 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 da5fd5e23e..aee0b07680 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 |