aboutsummaryrefslogtreecommitdiffstats
path: root/package/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'package/firmware')
-rw-r--r--package/firmware/amd64-microcode/Makefile47
-rw-r--r--package/firmware/ath10k-ct-firmware/Makefile5
-rw-r--r--package/firmware/ath11k-firmware/Makefile77
-rw-r--r--package/firmware/b43legacy-firmware/Makefile72
-rw-r--r--package/firmware/broadcom-sprom/Makefile295
-rw-r--r--package/firmware/cypress-firmware/Makefile362
-rw-r--r--package/firmware/cypress-nvram/Makefile93
-rw-r--r--package/firmware/cypress-nvram/files/brcmfmac4339-sdio.AP6335.txt99
-rw-r--r--package/firmware/intel-microcode/Makefile11
-rw-r--r--package/firmware/ipq-wifi/Makefile154
-rw-r--r--package/firmware/ipq-wifi/board-8dev_habanero-dvk.qca4019bin24324 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-aruba_ap-303.qca4019bin24316 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-avm_fritzrepeater-1200.qca4019bin24332 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-buffalo_wtr-m2133hp.qca4019bin24332 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-buffalo_wtr-m2133hp.qca9984bin12172 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-cellc_rtl30vw.qca4019bin24316 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-devolo_magic-2-wifi-next.qca4019bin24340 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-dlink_dap2610.qca4019bin24316 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-edgecore_ecw5410.qca9984bin24324 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-edgecore_oap100.qca4019bin24324 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-engenius_eap2200.qca4019bin24324 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-engenius_eap2200.qca9888bin12172 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-engenius_emd1.qca4019bin24316 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-engenius_emr3500.qca4019bin24324 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-ezviz_cs-w3-wd1200g-eup.qca4019bin24340 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-glinet_gl-ap1300.qca4019bin48596 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-glinet_gl-s1300.qca4019bin24276 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-linksys_ea8300.qca4019bin97236 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-linksys_ea8300.qca9888bin48628 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-linksys_mr8300-v0.qca4019bin97268 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-linksys_mr8300-v0.qca9888bin48644 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-luma_wrtq-329acn.qca4019bin24324 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-mikrotik_hap-ac2.qca4019bin24324 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-mikrotik_sxtsq-5-ac.qca4019bin12176 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-mobipromo_cm520-79f.qca4019bin24308 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-nec_wg2600hp3.qca9984bin24332 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-plasmacloud_pa1200.qca4019bin24324 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-plasmacloud_pa2200.qca4019bin24324 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-plasmacloud_pa2200.qca9888bin12172 -> 0 bytes
-rw-r--r--package/firmware/ipq-wifi/board-qxwlan_e2600ac.qca4019bin36464 -> 0 bytes
-rw-r--r--package/firmware/ixp4xx-microcode/Makefile77
-rw-r--r--package/firmware/ixp4xx-microcode/src/IxNpeMicrocode.h148
-rw-r--r--package/firmware/ixp4xx-microcode/src/LICENSE.IPL27
-rw-r--r--package/firmware/layerscape/fman-ucode/Makefile10
-rw-r--r--package/firmware/layerscape/ls-ddr-phy/Makefile8
-rw-r--r--package/firmware/layerscape/ls-dpl/Makefile22
-rw-r--r--package/firmware/layerscape/ls-mc/Makefile14
-rw-r--r--package/firmware/layerscape/ls-rcw/Makefile14
-rw-r--r--package/firmware/layerscape/ls-rcw/patches/0001-Remove-tclsh-checking.patch35
-rw-r--r--package/firmware/layerscape/ppfe-firmware/Makefile8
-rw-r--r--package/firmware/linux-firmware/Makefile9
-rw-r--r--package/firmware/linux-firmware/airoha.mk17
-rw-r--r--package/firmware/linux-firmware/amd.mk29
-rw-r--r--package/firmware/linux-firmware/amdgpu.mk9
-rw-r--r--package/firmware/linux-firmware/broadcom.mk128
-rw-r--r--package/firmware/linux-firmware/intel.mk32
-rw-r--r--package/firmware/linux-firmware/mediatek.mk52
-rw-r--r--package/firmware/linux-firmware/mellanox.mk9
-rw-r--r--package/firmware/linux-firmware/qca_ath10k.mk19
-rw-r--r--package/firmware/linux-firmware/qca_ath11k.mk24
-rw-r--r--package/firmware/linux-firmware/radeon.mk9
-rw-r--r--package/firmware/linux-firmware/realtek.mk92
-rw-r--r--package/firmware/prism54-firmware/Makefile25
-rw-r--r--package/firmware/wireless-regdb/Makefile6
-rw-r--r--package/firmware/wireless-regdb/patches/500-world-regd-5GHz.patch2
65 files changed, 1504 insertions, 536 deletions
diff --git a/package/firmware/amd64-microcode/Makefile b/package/firmware/amd64-microcode/Makefile
deleted file mode 100644
index 4444883c74b..00000000000
--- a/package/firmware/amd64-microcode/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# Copyright (C) 2018 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=amd64-microcode
-PKG_VERSION:=20191218
-PKG_RELEASE:=1
-
-PKG_SOURCE:=amd64-microcode_3.$(PKG_VERSION).$(PKG_RELEASE).tar.xz
-PKG_SOURCE_URL:=@DEBIAN/pool/non-free/a/amd64-microcode/
-PKG_HASH:=f469b79348097c5f04641b67a39d0ee5a2a1916c9556281626c04f2275d4132d
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-3.$(PKG_VERSION).$(PKG_RELEASE)
-
-PKG_LICENSE_FILE:=LICENSE.amd-ucode
-
-PKG_FLAGS:=nonshared
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/amd64-microcode
- SECTION:=firmware
- CATEGORY:=Firmware
- URL:=$(PKG_SOURCE_URL)
- DEPENDS:=@TARGET_x86
- TITLE:=AMD64 CPU microcode
-endef
-
-define Build/Prepare
- rm -rf $(PKG_BUILD_DIR)
- mkdir -p $(PKG_BUILD_DIR)
- $(TAR) -C $(BUILD_DIR) -xJf $(DL_DIR)/$(PKG_SOURCE)
-endef
-
-define Build/Compile
-endef
-
-define Package/amd64-microcode/install
- $(INSTALL_DIR) $(1)/lib/firmware/amd-ucode
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/*.bin $(1)/lib/firmware/amd-ucode
-endef
-
-$(eval $(call BuildPackage,amd64-microcode))
diff --git a/package/firmware/ath10k-ct-firmware/Makefile b/package/firmware/ath10k-ct-firmware/Makefile
index 4fd7266f225..78846fbe9da 100644
--- a/package/firmware/ath10k-ct-firmware/Makefile
+++ b/package/firmware/ath10k-ct-firmware/Makefile
@@ -4,6 +4,8 @@ PKG_NAME:=ath10k-ct-firmware
PKG_VERSION:=2020-11-08
PKG_RELEASE:=1
+DL_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+
include $(INCLUDE_DIR)/package.mk
CT_FIRMWARE_FILE = $(1)-$($(1)_FIRMWARE_FILE_CT)
@@ -292,7 +294,6 @@ $(Package/ath10k-ct-firmware-default)
CATEGORY:=Firmware
PROVIDES:=ath10k-firmware-qca4019
CONFLICTS:=ath10k-firmware-qca4019
- DEPENDS:=+ath10k-board-qca4019
endef
define Package/ath10k-firmware-qca4019-ct-full-htt
$(Package/ath10k-ct-firmware-default)
@@ -307,7 +308,6 @@ $(Package/ath10k-ct-firmware-default)
ath10k-firmware-qca4019-ct \
ath10k-firmware-qca4019-ct-htt
DEPENDS:=\
- +ath10k-board-qca4019 \
+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
endef
define Package/ath10k-firmware-qca4019-ct-htt
@@ -322,7 +322,6 @@ $(Package/ath10k-firmware-default)
ath10k-firmware-qca4019 \
ath10k-firmware-qca4019-ct
DEPENDS:=\
- +ath10k-board-qca4019 \
+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
endef
diff --git a/package/firmware/ath11k-firmware/Makefile b/package/firmware/ath11k-firmware/Makefile
new file mode 100644
index 00000000000..ea4977aa68c
--- /dev/null
+++ b/package/firmware/ath11k-firmware/Makefile
@@ -0,0 +1,77 @@
+#
+# Copyright (C) 2022 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ath11k-firmware
+PKG_SOURCE_DATE:=2023-08-22
+PKG_SOURCE_VERSION:=d8f82a98ff1aef330d65d8b5660b46d1a9809ee3
+PKG_MIRROR_HASH:=3dba19449758c3b17f117990d7ad4086554e012b579f1de16e9d9196a7fbaaa7
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/quic/upstream-wifi-fw.git
+
+PKG_LICENSE_FILES:=LICENSE.qca_firmware
+
+PKG_MAINTAINER:=Robert Marko <robimarko@gmail.com>
+
+include $(INCLUDE_DIR)/package.mk
+
+RSTRIP:=:
+STRIP:=:
+
+define Package/ath11k-firmware-default
+ SECTION:=firmware
+ CATEGORY:=Firmware
+ URL:=$(PKG_SOURCE_URL)
+ DEPENDS:=
+endef
+
+define Package/ath11k-firmware-ipq8074
+$(Package/ath11k-firmware-default)
+ TITLE:=IPQ8074 ath11k firmware
+endef
+
+define Package/ath11k-firmware-qcn9074
+$(Package/ath11k-firmware-default)
+ TITLE:=QCN9074 ath11k firmware
+endef
+
+define Build/Compile
+
+endef
+
+QCN9074_BOARD_REV:=8e140c65f36137714b6d8934e09dcd73cb05c2f6
+QCN9074_BOARD_FILE:=board-2.bin.$(QCN9074_BOARD_REV)
+
+define Download/qcn9074-board
+ URL:=https://github.com/kvalo/ath11k-firmware/raw/master/QCN9074/hw1.0/
+ URL_FILE:=board-2.bin
+ FILE:=$(QCN9074_BOARD_FILE)
+ HASH:=dbf0ca14aa1229eccd48f26f1026901b9718b143bd30b51b8ea67c84ba6207f1
+endef
+$(eval $(call Download,qcn9074-board))
+
+define Package/ath11k-firmware-ipq8074/install
+ $(INSTALL_DIR) $(1)/lib/firmware/IPQ8074
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/ath11k-firmware/IPQ8074/hw2.0/2.9.0.1/WLAN.HK.2.9.0.1-01890-QCAHKSWPL_SILICONZ-1/* \
+ $(1)/lib/firmware/IPQ8074/
+endef
+
+define Package/ath11k-firmware-qcn9074/install
+ $(INSTALL_DIR) $(1)/lib/firmware/ath11k/QCN9074/hw1.0
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/ath11k-firmware/QCN9074/hw1.0/2.9.0.1/WLAN.HK.2.9.0.1-01890-QCAHKSWPL_SILICONZ-1/* \
+ $(1)/lib/firmware/ath11k/QCN9074/hw1.0/
+ $(INSTALL_BIN) \
+ $(DL_DIR)/$(QCN9074_BOARD_FILE) $(1)/lib/firmware/ath11k/QCN9074/hw1.0/board-2.bin
+endef
+
+$(eval $(call BuildPackage,ath11k-firmware-ipq8074))
+$(eval $(call BuildPackage,ath11k-firmware-qcn9074))
diff --git a/package/firmware/b43legacy-firmware/Makefile b/package/firmware/b43legacy-firmware/Makefile
deleted file mode 100644
index 9ca65a8a325..00000000000
--- a/package/firmware/b43legacy-firmware/Makefile
+++ /dev/null
@@ -1,72 +0,0 @@
-#
-# Copyright (C) 2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=b43legacy-firmware
-PKG_VERSION:=3.130.20.0
-PKG_RELEASE:=1
-
-PKG_SOURCE:=wl_apsta-$(PKG_VERSION).o
-PKG_SOURCE_URL:=@OPENWRT
-PKG_HASH:=7dba610b1d96dd14e901bcbce14cd6ecd1b1ac6f5c0035b0d6b6dc46a7c3ef90
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/b43legacy-firmware
- SECTION:=firmware
- CATEGORY:=Firmware
- URL:=$(PKG_SOURCE_URL)
- TITLE:=Broadcom bcm43xx b43legacy firmware
-endef
-
-define Package/b43legacy-firmware/config
- if PACKAGE_b43legacy-firmware
-
- config B43LEGACY_FW_SQUASH
- bool "Remove unnecessary firmware files"
- default y
- help
- This options allows you to remove unnecessary b43legacy firmware files
- from the final rootfs image. This can reduce the rootfs size by
- up to 50k.
-
- If unsure, say Y.
-
- config B43LEGACY_FW_SQUASH_COREREVS
- string "Core revisions to include"
- depends on B43LEGACY_FW_SQUASH
- default "1,2,3,4"
- help
- This is a comma separated list of core revision numbers.
-
- Example (keep files for rev4 only):
- 4
-
- Example (keep files for rev2 and rev4):
- 2,4
-
- endif
-endef
-
-define Build/Prepare
- mkdir -p $(PKG_BUILD_DIR)
-endef
-
-define Build/Compile
-
-endef
-
-define Package/b43legacy-firmware/install
- $(INSTALL_DIR) $(1)/lib/firmware
- b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_SOURCE)
- ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
- b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
- endif
-endef
-
-$(eval $(call BuildPackage,b43legacy-firmware))
diff --git a/package/firmware/broadcom-sprom/Makefile b/package/firmware/broadcom-sprom/Makefile
new file mode 100644
index 00000000000..01bca2c35b7
--- /dev/null
+++ b/package/firmware/broadcom-sprom/Makefile
@@ -0,0 +1,295 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=broadcom-sprom
+PKG_SOURCE_DATE:=2023-04-27
+PKG_SOURCE_VERSION:=d36f7fcb37711106a3a2652b576436cb09aa5b6f
+PKG_MIRROR_HASH:=fde251ab4ed26d61c95269316119710d6ccb8fe30ef13305d08b3e7d7d8a4c60
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/openwrt/broadcom-sprom.git
+
+PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/broadcom-sprom-default
+ SECTION:=firmware
+ CATEGORY:=Firmware
+endef
+
+define Build/Compile
+ true
+endef
+
+# BCM4306 Fallback SPROM
+define Package/broadcom-4306-sprom
+ $(Package/broadcom-sprom-default)
+ TITLE:=BCM4306 Fallback SPROM
+endef
+
+define Package/broadcom-4306-sprom/install
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/bcm4306-sprom.bin \
+ $(1)/lib/firmware/brcm/
+endef
+
+$(eval $(call BuildPackage,broadcom-4306-sprom))
+
+# BCM4313 Fallback SPROM
+define Package/broadcom-4313-sprom
+ $(Package/broadcom-sprom-default)
+ TITLE:=BCM4313 Fallback SPROM
+endef
+
+define Package/broadcom-4313-sprom/install
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/bcm4313-sprom.bin \
+ $(1)/lib/firmware/brcm/
+endef
+
+$(eval $(call BuildPackage,broadcom-4313-sprom))
+
+# BCM4318 Fallback SPROM
+define Package/broadcom-4318-sprom
+ $(Package/broadcom-sprom-default)
+ TITLE:=BCM4318 Fallback SPROM
+endef
+
+define Package/broadcom-4318-sprom/install
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/bcm4318-sprom.bin \
+ $(1)/lib/firmware/brcm/
+endef
+
+$(eval $(call BuildPackage,broadcom-4318-sprom))
+
+# BCM4321 Fallback SPROM
+define Package/broadcom-4321-sprom
+ $(Package/broadcom-sprom-default)
+ TITLE:=BCM4321 Fallback SPROM
+endef
+
+define Package/broadcom-4321-sprom/install
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/bcm4321-sprom.bin \
+ $(1)/lib/firmware/brcm/
+endef
+
+$(eval $(call BuildPackage,broadcom-4321-sprom))
+
+# BCM4322 Fallback SPROM
+define Package/broadcom-4322-sprom
+ $(Package/broadcom-sprom-default)
+ TITLE:=BCM4322 Fallback SPROM
+endef
+
+define Package/broadcom-4322-sprom/install
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/bcm4322-sprom.bin \
+ $(1)/lib/firmware/brcm/
+endef
+
+$(eval $(call BuildPackage,broadcom-4322-sprom))
+
+# BCM4331 Fallback SPROM
+define Package/broadcom-4331-sprom
+ $(Package/broadcom-sprom-default)
+ TITLE:=BCM4331 Fallback SPROM
+endef
+
+define Package/broadcom-4331-sprom/install
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/bcm4331-sprom.bin \
+ $(1)/lib/firmware/brcm/
+endef
+
+$(eval $(call BuildPackage,broadcom-4331-sprom))
+
+# BCM4360 Fallback SPROM
+define Package/broadcom-4360-sprom
+ $(Package/broadcom-sprom-default)
+ TITLE:=BCM4360 Fallback SPROM
+endef
+
+define Package/broadcom-4360-sprom/install
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/bcm4360-sprom.bin \
+ $(1)/lib/firmware/brcm/
+endef
+
+$(eval $(call BuildPackage,broadcom-4360-sprom))
+
+# BCM6362 Fallback SPROM
+define Package/broadcom-6362-sprom
+ $(Package/broadcom-sprom-default)
+ TITLE:=BCM6362 Fallback SPROM
+endef
+
+define Package/broadcom-6362-sprom/install
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/bcm6362-sprom.bin \
+ $(1)/lib/firmware/brcm/
+endef
+
+$(eval $(call BuildPackage,broadcom-6362-sprom))
+
+# BCM43112 Fallback SPROM
+define Package/broadcom-43112-sprom
+ $(Package/broadcom-sprom-default)
+ TITLE:=BCM43112 Fallback SPROM
+endef
+
+define Package/broadcom-43112-sprom/install
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/bcm43112-sprom.bin \
+ $(1)/lib/firmware/brcm/
+endef
+
+$(eval $(call BuildPackage,broadcom-43112-sprom))
+
+# BCM43131 Fallback SPROM
+define Package/broadcom-43131-sprom
+ $(Package/broadcom-sprom-default)
+ TITLE:=BCM43131 Fallback SPROM
+endef
+
+define Package/broadcom-43131-sprom/install
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/bcm43131-sprom.bin \
+ $(1)/lib/firmware/brcm/
+endef
+
+$(eval $(call BuildPackage,broadcom-43131-sprom))
+
+# BCM43217 Fallback SPROM
+define Package/broadcom-43217-sprom
+ $(Package/broadcom-sprom-default)
+ TITLE:=BCM43217 Fallback SPROM
+endef
+
+define Package/broadcom-43217-sprom/install
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/bcm43217-sprom.bin \
+ $(1)/lib/firmware/brcm/
+endef
+
+$(eval $(call BuildPackage,broadcom-43217-sprom))
+
+# BCM43222 Fallback SPROM
+define Package/broadcom-43222-sprom
+ $(Package/broadcom-sprom-default)
+ TITLE:=BCM43222 Fallback SPROM
+endef
+
+define Package/broadcom-43222-sprom/install
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/bcm43222-sprom.bin \
+ $(1)/lib/firmware/brcm/
+endef
+
+$(eval $(call BuildPackage,broadcom-43222-sprom))
+
+# BCM43224 Fallback SPROM
+define Package/broadcom-43224-sprom
+ $(Package/broadcom-sprom-default)
+ TITLE:=BCM43224 Fallback SPROM
+endef
+
+define Package/broadcom-43224-sprom/install
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/bcm43224-sprom.bin \
+ $(1)/lib/firmware/brcm/
+endef
+
+$(eval $(call BuildPackage,broadcom-43224-sprom))
+
+# BCM43225 Fallback SPROM
+define Package/broadcom-43225-sprom
+ $(Package/broadcom-sprom-default)
+ TITLE:=BCM43225 Fallback SPROM
+endef
+
+define Package/broadcom-43225-sprom/install
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/bcm43225-sprom.bin \
+ $(1)/lib/firmware/brcm/
+endef
+
+$(eval $(call BuildPackage,broadcom-43225-sprom))
+
+# BCM43226 Fallback SPROM
+define Package/broadcom-43226-sprom
+ $(Package/broadcom-sprom-default)
+ TITLE:=BCM43226 Fallback SPROM
+endef
+
+define Package/broadcom-43226-sprom/install
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/bcm43226-sprom.bin \
+ $(1)/lib/firmware/brcm/
+endef
+
+$(eval $(call BuildPackage,broadcom-43226-sprom))
+
+# BCM43227 Fallback SPROM
+define Package/broadcom-43227-sprom
+ $(Package/broadcom-sprom-default)
+ TITLE:=BCM43227 Fallback SPROM
+endef
+
+define Package/broadcom-43227-sprom/install
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/bcm43227-sprom.bin \
+ $(1)/lib/firmware/brcm/
+endef
+
+$(eval $(call BuildPackage,broadcom-43227-sprom))
+
+# BCM43228 Fallback SPROM
+define Package/broadcom-43228-sprom
+ $(Package/broadcom-sprom-default)
+ TITLE:=BCM43228 Fallback SPROM
+endef
+
+define Package/broadcom-43228-sprom/install
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/bcm43228-sprom.bin \
+ $(1)/lib/firmware/brcm/
+endef
+
+$(eval $(call BuildPackage,broadcom-43228-sprom))
+
+# BCM43428 Fallback SPROM
+define Package/broadcom-43428-sprom
+ $(Package/broadcom-sprom-default)
+ TITLE:=BCM43428 Fallback SPROM
+endef
+
+define Package/broadcom-43428-sprom/install
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/bcm43428-sprom.bin \
+ $(1)/lib/firmware/brcm/
+endef
+
+$(eval $(call BuildPackage,broadcom-43428-sprom))
diff --git a/package/firmware/cypress-firmware/Makefile b/package/firmware/cypress-firmware/Makefile
index d4ace8509af..6a14ff99380 100644
--- a/package/firmware/cypress-firmware/Makefile
+++ b/package/firmware/cypress-firmware/Makefile
@@ -1,31 +1,25 @@
-#
-# Copyright (C) 2019-2020 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
+# SPDX-License-Identifier: GPL-2.0-or-later
include $(TOPDIR)/rules.mk
-UNPACK_CMD=unzip -q -p $(DL_DIR)/$(PKG_SOURCE) $(PKG_SOURCE_UNZIP) | gzip -dc | $(HOST_TAR) -C $(1) $(TAR_OPTIONS)
-
PKG_NAME:=cypress-firmware
-PKG_VERSION:=v5.4.18-2020_0402
-PKG_RELEASE:=3
+PKG_VERSION:=5.10.9-2022_0909
+PKG_RELEASE:=1
-PKG_SOURCE_UNZIP:=cypress-firmware-$(PKG_VERSION).tar.gz
-PKG_SOURCE:=cypress-fmac-$(PKG_VERSION).zip
-PKG_SOURCE_URL:=https://community.cypress.com/gfawx74859/attachments/gfawx74859/resourcelibrary/1016/1/
-PKG_HASH:=b12b0570f462c2f3c26dde98b10235a845a7109037def1e7e51af728bcc1a958
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/Infineon/ifx-linux-firmware/
+PKG_MIRROR_HASH:=944faae3a80013f1a963b6692d7f50a38c97edcf91fd163de521df755e6922b5
+PKG_SOURCE_VERSION:=release-v$(PKG_VERSION)
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
+PKG_LICENSE_FILES:=LICENCE
include $(INCLUDE_DIR)/package.mk
define Package/cypress-firmware-default
SECTION:=firmware
CATEGORY:=Firmware
- URL:=https://community.cypress.com/community/linux
+ URL:=https://community.infineon.com/
endef
define Build/Compile
@@ -39,12 +33,19 @@ define Package/cypress-firmware-43012-sdio
endef
define Package/cypress-firmware-43012-sdio/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac43012-sdio.bin \
- $(1)/lib/firmware/brcm/brcmfmac43012-sdio.bin
+ $(PKG_BUILD_DIR)/firmware/cyfmac43012-sdio.bin \
+ $(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac43012-sdio.clm_blob \
+ $(PKG_BUILD_DIR)/firmware/cyfmac43012-sdio.clm_blob \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac43012-sdio.bin \
+ $(1)/lib/firmware/brcm/brcmfmac43012-sdio.bin
+ $(LN) \
+ ../cypress/cyfmac43012-sdio.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac43012-sdio.clm_blob
endef
@@ -57,9 +58,13 @@ define Package/cypress-firmware-43340-sdio
endef
define Package/cypress-firmware-43340-sdio/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac43340-sdio.bin \
+ $(PKG_BUILD_DIR)/firmware/cyfmac43340-sdio.bin \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac43340-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac43340-sdio.bin
endef
@@ -74,9 +79,13 @@ define Package/cypress-firmware-43362-sdio
endef
define Package/cypress-firmware-43362-sdio/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac43362-sdio.bin \
+ $(PKG_BUILD_DIR)/firmware/cyfmac43362-sdio.bin \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac43362-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac43362-sdio.bin
endef
@@ -86,12 +95,18 @@ $(eval $(call BuildPackage,cypress-firmware-43362-sdio))
define Package/cypress-firmware-4339-sdio
$(Package/cypress-firmware-default)
TITLE:=CYW4339 FullMac SDIO firmware
+ PROVIDES:=brcmfmac-firmware-4339-sdio
+ CONFLICTS:=brcmfmac-firmware-4339-sdio
endef
define Package/cypress-firmware-4339-sdio/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac4339-sdio.bin \
+ $(PKG_BUILD_DIR)/firmware/cyfmac4339-sdio.bin \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac4339-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac4339-sdio.bin
endef
@@ -106,17 +121,49 @@ define Package/cypress-firmware-43430-sdio
endef
define Package/cypress-firmware-43430-sdio/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac43430-sdio.bin \
- $(1)/lib/firmware/brcm/brcmfmac43430-sdio.bin
+ $(PKG_BUILD_DIR)/firmware/cyfmac43430-sdio.bin \
+ $(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac43430-sdio.clm_blob \
+ $(PKG_BUILD_DIR)/firmware/cyfmac43430-sdio.clm_blob \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac43430-sdio.bin \
+ $(1)/lib/firmware/brcm/brcmfmac43430-sdio.bin
+ $(LN) \
+ ../cypress/cyfmac43430-sdio.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.clm_blob
endef
$(eval $(call BuildPackage,cypress-firmware-43430-sdio))
+# Cypress 43439 SDIO Firmware
+define Package/cypress-firmware-43439-sdio
+ $(Package/cypress-firmware-default)
+ TITLE:=CYW43439 FullMac SDIO firmware
+endef
+
+define Package/cypress-firmware-43439-sdio/install
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/firmware/cyfmac43439-sdio.bin \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/firmware/cyfmac43439-sdio.clm_blob \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac43439-sdio.bin \
+ $(1)/lib/firmware/brcm/brcmfmac43439-sdio.bin
+ $(LN) \
+ ../cypress/cyfmac43439-sdio.clm_blob \
+ $(1)/lib/firmware/brcm/brcmfmac43439-sdio.clm_blob
+endef
+
+$(eval $(call BuildPackage,cypress-firmware-43439-sdio))
+
# Cypress 43455 SDIO Firmware
define Package/cypress-firmware-43455-sdio
$(Package/cypress-firmware-default)
@@ -126,12 +173,19 @@ define Package/cypress-firmware-43455-sdio
endef
define Package/cypress-firmware-43455-sdio/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac43455-sdio.bin \
- $(1)/lib/firmware/brcm/brcmfmac43455-sdio.bin
+ $(PKG_BUILD_DIR)/firmware/cyfmac43455-sdio.bin \
+ $(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac43455-sdio.clm_blob \
+ $(PKG_BUILD_DIR)/firmware/cyfmac43455-sdio.clm_blob \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac43455-sdio.bin \
+ $(1)/lib/firmware/brcm/brcmfmac43455-sdio.bin
+ $(LN) \
+ ../cypress/cyfmac43455-sdio.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob
endef
@@ -144,12 +198,19 @@ define Package/cypress-firmware-4354-sdio
endef
define Package/cypress-firmware-4354-sdio/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac4354-sdio.bin \
- $(1)/lib/firmware/brcm/brcmfmac4354-sdio.bin
+ $(PKG_BUILD_DIR)/firmware/cyfmac4354-sdio.bin \
+ $(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac4354-sdio.clm_blob \
+ $(PKG_BUILD_DIR)/firmware/cyfmac4354-sdio.clm_blob \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac4354-sdio.bin \
+ $(1)/lib/firmware/brcm/brcmfmac4354-sdio.bin
+ $(LN) \
+ ../cypress/cyfmac4354-sdio.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac4354-sdio.clm_blob
endef
@@ -162,12 +223,19 @@ define Package/cypress-firmware-4356-pcie
endef
define Package/cypress-firmware-4356-pcie/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac4356-pcie.bin \
- $(1)/lib/firmware/brcm/brcmfmac4356-pcie.bin
+ $(PKG_BUILD_DIR)/firmware/cyfmac4356-pcie.bin \
+ $(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac4356-pcie.clm_blob \
+ $(PKG_BUILD_DIR)/firmware/cyfmac4356-pcie.clm_blob \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac4356-pcie.bin \
+ $(1)/lib/firmware/brcm/brcmfmac4356-pcie.bin
+ $(LN) \
+ ../cypress/cyfmac4356-pcie.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac4356-pcie.clm_blob
endef
@@ -180,12 +248,19 @@ define Package/cypress-firmware-4356-sdio
endef
define Package/cypress-firmware-4356-sdio/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac4356-sdio.bin \
- $(1)/lib/firmware/brcm/brcmfmac4356-sdio.bin
+ $(PKG_BUILD_DIR)/firmware/cyfmac4356-sdio.bin \
+ $(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac4356-sdio.clm_blob \
+ $(PKG_BUILD_DIR)/firmware/cyfmac4356-sdio.clm_blob \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac4356-sdio.bin \
+ $(1)/lib/firmware/brcm/brcmfmac4356-sdio.bin
+ $(LN) \
+ ../cypress/cyfmac4356-sdio.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac4356-sdio.clm_blob
endef
@@ -198,52 +273,48 @@ define Package/cypress-firmware-43570-pcie
endef
define Package/cypress-firmware-43570-pcie/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac43570-pcie.bin \
- $(1)/lib/firmware/brcm/brcmfmac43570-pcie.bin
+ $(PKG_BUILD_DIR)/firmware/cyfmac43570-pcie.bin \
+ $(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac43570-pcie.clm_blob \
+ $(PKG_BUILD_DIR)/firmware/cyfmac43570-pcie.clm_blob \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac43570-pcie.bin \
+ $(1)/lib/firmware/brcm/brcmfmac43570-pcie.bin
+ $(LN) \
+ ../cypress/cyfmac43570-pcie.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac43570-pcie.clm_blob
endef
$(eval $(call BuildPackage,cypress-firmware-43570-pcie))
-# Cypress 4359 PCIe Firmware
-define Package/cypress-firmware-4359-pcie
+# Cypress 4373 PCIe Firmware
+define Package/cypress-firmware-4373-pcie
$(Package/cypress-firmware-default)
- TITLE:=CYW4359 FullMac PCIe firmware
+ TITLE:=CYW4373 FullMac PCIe firmware
endef
-define Package/cypress-firmware-4359-pcie/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
+define Package/cypress-firmware-4373-pcie/install
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac4359-pcie.bin \
- $(1)/lib/firmware/brcm/brcmfmac4359-pcie.bin
+ $(PKG_BUILD_DIR)/firmware/cyfmac4373-pcie.bin \
+ $(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac4359-pcie.clm_blob \
- $(1)/lib/firmware/brcm/brcmfmac4359-pcie.clm_blob
-endef
-
-$(eval $(call BuildPackage,cypress-firmware-4359-pcie))
-
-# Cypress 4359 SDIO Firmware
-define Package/cypress-firmware-4359-sdio
- $(Package/cypress-firmware-default)
- TITLE:=CYW4359 FullMac SDIO firmware
-endef
-
-define Package/cypress-firmware-4359-sdio/install
+ $(PKG_BUILD_DIR)/firmware/cyfmac4373-pcie.clm_blob \
+ $(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
- $(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac4359-sdio.bin \
- $(1)/lib/firmware/brcm/brcmfmac4359-sdio.bin
- $(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac4359-sdio.clm_blob \
- $(1)/lib/firmware/brcm/brcmfmac4359-sdio.clm_blob
+ $(LN) \
+ ../cypress/cyfmac4373-pcie.bin \
+ $(1)/lib/firmware/brcm/brcmfmac4373-pcie.bin
+ $(LN) \
+ ../cypress/cyfmac4373-pcie.clm_blob \
+ $(1)/lib/firmware/brcm/brcmfmac4373-pcie.clm_blob
endef
-$(eval $(call BuildPackage,cypress-firmware-4359-sdio))
+$(eval $(call BuildPackage,cypress-firmware-4373-pcie))
# Cypress 4373 SDIO Firmware
define Package/cypress-firmware-4373-sdio
@@ -252,12 +323,19 @@ define Package/cypress-firmware-4373-sdio
endef
define Package/cypress-firmware-4373-sdio/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac4373-sdio.bin \
- $(1)/lib/firmware/brcm/brcmfmac4373-sdio.bin
+ $(PKG_BUILD_DIR)/firmware/cyfmac4373-sdio.bin \
+ $(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac4373-sdio.clm_blob \
+ $(PKG_BUILD_DIR)/firmware/cyfmac4373-sdio.clm_blob \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac4373-sdio.bin \
+ $(1)/lib/firmware/brcm/brcmfmac4373-sdio.bin
+ $(LN) \
+ ../cypress/cyfmac4373-sdio.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac4373-sdio.clm_blob
endef
@@ -270,12 +348,19 @@ define Package/cypress-firmware-4373-usb
endef
define Package/cypress-firmware-4373-usb/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac4373-usb.bin \
- $(1)/lib/firmware/brcm/brcmfmac4373-usb.bin
+ $(PKG_BUILD_DIR)/firmware/cyfmac4373-usb.bin \
+ $(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac4373.clm_blob \
+ $(PKG_BUILD_DIR)/firmware/cyfmac4373.clm_blob \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac4373-usb.bin \
+ $(1)/lib/firmware/brcm/brcmfmac4373-usb.bin
+ $(LN) \
+ ../cypress/cyfmac4373.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac4373.clm_blob
endef
@@ -288,31 +373,114 @@ define Package/cypress-firmware-54591-pcie
endef
define Package/cypress-firmware-54591-pcie/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac54591-pcie.bin \
- $(1)/lib/firmware/brcm/brcmfmac54591-pcie.bin
+ $(PKG_BUILD_DIR)/firmware/cyfmac54591-pcie.bin \
+ $(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac54591-pcie.clm_blob \
+ $(PKG_BUILD_DIR)/firmware/cyfmac54591-pcie.clm_blob \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac54591-pcie.bin \
+ $(1)/lib/firmware/brcm/brcmfmac54591-pcie.bin
+ $(LN) \
+ ../cypress/cyfmac54591-pcie.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac54591-pcie.clm_blob
endef
$(eval $(call BuildPackage,cypress-firmware-54591-pcie))
-# Cypress 89459 PCIe Firmware
-define Package/cypress-firmware-89459-pcie
+# Cypress 54591 SDIO Firmware
+define Package/cypress-firmware-54591-sdio
$(Package/cypress-firmware-default)
- TITLE:=CYW89459 FullMac PCIe firmware
+ TITLE:=CYW54591 FullMac SDIO firmware
endef
-define Package/cypress-firmware-89459-pcie/install
+define Package/cypress-firmware-54591-sdio/install
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/firmware/cyfmac54591-sdio.bin \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/firmware/cyfmac54591-sdio.clm_blob \
+ $(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac54591-sdio.bin \
+ $(1)/lib/firmware/brcm/brcmfmac54591-sdio.bin
+ $(LN) \
+ ../cypress/cyfmac54591-sdio.clm_blob \
+ $(1)/lib/firmware/brcm/brcmfmac54591-sdio.clm_blob
+endef
+
+$(eval $(call BuildPackage,cypress-firmware-54591-sdio))
+
+# Cypress 55560 PCIe Firmware
+define Package/cypress-firmware-55560-pcie
+ $(Package/cypress-firmware-default)
+ TITLE:=CYW55560 FullMac PCIe firmware
+endef
+
+define Package/cypress-firmware-55560-pcie/install
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/firmware/cyfmac55560-pcie.trxse \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac55560-pcie.trxse \
+ $(1)/lib/firmware/brcm/brcmfmac55560-pcie.trxse
+endef
+
+$(eval $(call BuildPackage,cypress-firmware-55560-pcie))
+
+# Cypress 55572 PCIe Firmware
+define Package/cypress-firmware-55572-pcie
+ $(Package/cypress-firmware-default)
+ TITLE:=CYW55572 FullMac PCIe firmware
+endef
+
+define Package/cypress-firmware-55572-pcie/install
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac89459-pcie.bin \
- $(1)/lib/firmware/brcm/brcmfmac89459-pcie.bin
+ $(PKG_BUILD_DIR)/firmware/cyfmac55572-pcie.trxse \
+ $(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/firmware/brcmfmac89459-pcie.clm_blob \
- $(1)/lib/firmware/brcm/brcmfmac89459-pcie.clm_blob
+ $(PKG_BUILD_DIR)/firmware/cyfmac55572-pcie.clm_blob \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac55572-pcie.trxse \
+ $(1)/lib/firmware/brcm/brcmfmac55572-pcie.trxse
+ $(LN) \
+ ../cypress/cyfmac55572-pcie.clm_blob \
+ $(1)/lib/firmware/brcm/brcmfmac55572-pcie.clm_blob
+endef
+
+$(eval $(call BuildPackage,cypress-firmware-55572-pcie))
+
+# Cypress 55572 SDIO Firmware
+define Package/cypress-firmware-55572-sdio
+ $(Package/cypress-firmware-default)
+ TITLE:=CYW55572 FullMac SDIO firmware
+endef
+
+define Package/cypress-firmware-55572-sdio/install
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/firmware/cyfmac55572-sdio.trxse \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/firmware/cyfmac55572-sdio.clm_blob \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac55572-sdio.trxse \
+ $(1)/lib/firmware/brcm/brcmfmac55572-sdio.trxse
+ $(LN) \
+ ../cypress/cyfmac55572-sdio.clm_blob \
+ $(1)/lib/firmware/brcm/brcmfmac55572-sdio.clm_blob
endef
-$(eval $(call BuildPackage,cypress-firmware-89459-pcie))
+$(eval $(call BuildPackage,cypress-firmware-55572-sdio))
diff --git a/package/firmware/cypress-nvram/Makefile b/package/firmware/cypress-nvram/Makefile
index 777b8260885..dcf09d95998 100644
--- a/package/firmware/cypress-nvram/Makefile
+++ b/package/firmware/cypress-nvram/Makefile
@@ -1,105 +1,38 @@
-#
-# Copyright (C) 2019 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
+# SPDX-License-Identifier: GPL-2.0-or-later
include $(TOPDIR)/rules.mk
PKG_NAME:=cypress-nvram
-PKG_SOURCE_DATE:=2019-09-03
-PKG_SOURCE_VERSION:=e7b78df22f2a0c5f56abb7b5880661611de35e5f
-PKG_MIRROR_HASH:=1cb20a749696852be0a512d51961365dd9c031362af0af1a2b9f5a3fb894885f
-PKG_RELEASE:=2
-
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/openwrt/cypress-nvram.git
+PKG_RELEASE:=7
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
-PKG_FLAGS:=nonshared
-
include $(INCLUDE_DIR)/package.mk
define Package/cypress-nvram-default
SECTION:=firmware
CATEGORY:=Firmware
- URL:=https://community.cypress.com/community/linux
endef
define Build/Compile
true
endef
-# Cypress 43430 SDIO Raspberry Pi 3B NVRAM
-define Package/cypress-nvram-43430-sdio-rpi-3b
- $(Package/cypress-nvram-default)
- TITLE:=CYW43430 NVRAM for Raspberry Pi 3B
- DEPENDS:=@TARGET_bcm27xx
- PROVIDES:=brcmfmac-firmware-43430-sdio-rpi-3b
- CONFLICTS:=brcmfmac-firmware-43430-sdio-rpi-3b
-endef
-
-define Package/cypress-nvram-43430-sdio-rpi-3b/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
- $(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/brcmfmac43430-sdio.raspberrypi,3-model-b.txt \
- $(1)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
-endef
-
-$(eval $(call BuildPackage,cypress-nvram-43430-sdio-rpi-3b))
-
-# Cypress 43430 SDIO Raspberry Pi Zero W NVRAM
-define Package/cypress-nvram-43430-sdio-rpi-zero-w
- $(Package/cypress-nvram-default)
- TITLE:=CYW43430 NVRAM for Raspberry Pi Zero W
- DEPENDS:=@TARGET_bcm27xx
- PROVIDES:=brcmfmac-firmware-43430-sdio-rpi-zero-w
- CONFLICTS:=brcmfmac-firmware-43430-sdio-rpi-zero-w
-endef
-
-define Package/cypress-nvram-43430-sdio-rpi-zero-w/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
- $(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt \
- $(1)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt
-endef
-
-$(eval $(call BuildPackage,cypress-nvram-43430-sdio-rpi-zero-w))
-
-# Cypress 43455 SDIO Raspberry Pi 3B+ NVRAM
-define Package/cypress-nvram-43455-sdio-rpi-3b-plus
- $(Package/cypress-nvram-default)
- TITLE:=CYW43455 NVRAM for Raspberry Pi 3B+
- DEPENDS:=@TARGET_bcm27xx
- PROVIDES:=brcmfmac-firmware-43455-sdio-rpi-3b-plus
- CONFLICTS:=brcmfmac-firmware-43455-sdio-rpi-3b-plus
-endef
-
-define Package/cypress-nvram-43455-sdio-rpi-3b-plus/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
- $(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt \
- $(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
-endef
-
-$(eval $(call BuildPackage,cypress-nvram-43455-sdio-rpi-3b-plus))
-
-# Cypress 43455 SDIO Raspberry Pi 4B NVRAM
-define Package/cypress-nvram-43455-sdio-rpi-4b
+# Cypress 4339 SDIO NVRAM
+define Package/cypress-nvram-4339-sdio
$(Package/cypress-nvram-default)
- TITLE:=CYW43455 NVRAM for Raspberry Pi 4B
- DEPENDS:=@TARGET_bcm27xx
- PROVIDES:=brcmfmac-firmware-43455-sdio-rpi-4b
- CONFLICTS:=brcmfmac-firmware-43455-sdio-rpi-4b
+ TITLE:=BCM4339 SDIO NVRAM
+ CONFLICTS:=brcmfmac-nvram-4339-sdio
endef
-define Package/cypress-nvram-43455-sdio-rpi-4b/install
+define Package/cypress-nvram-4339-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/brcmfmac43455-sdio.raspberrypi,4-model-b.txt \
- $(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
+ ./files/brcmfmac4339-sdio.AP6335.txt \
+ $(1)/lib/firmware/brcm/
+ $(LN) \
+ brcmfmac4339-sdio.AP6335.txt \
+ $(1)/lib/firmware/brcm/brcmfmac4339-sdio.technexion,imx7d-pico-pi.txt
endef
-$(eval $(call BuildPackage,cypress-nvram-43455-sdio-rpi-4b))
+$(eval $(call BuildPackage,cypress-nvram-4339-sdio))
diff --git a/package/firmware/cypress-nvram/files/brcmfmac4339-sdio.AP6335.txt b/package/firmware/cypress-nvram/files/brcmfmac4339-sdio.AP6335.txt
new file mode 100644
index 00000000000..1ddd9295048
--- /dev/null
+++ b/package/firmware/cypress-nvram/files/brcmfmac4339-sdio.AP6335.txt
@@ -0,0 +1,99 @@
+#AP6335_NVRAM_V1.5_03112014
+NVRAMRev=$Rev: 410316 $
+sromrev=11
+boardrev=0x1203
+boardtype=0x06c5
+boardflags=0x00000c01
+boardflags2=0x00002000
+boardflags3=0x101188
+macaddr=00:90:4c:c5:12:38
+ccode=0
+regrev=0
+antswitch=0
+pdgain2g=7
+pdgain5g=7
+tworangetssi2g=0
+tworangetssi5g=0
+femctrl=7
+pcieingress_war=15
+vendid=0x14e4
+devid=0x43ae
+manfid=0x2d0
+nocrc=1
+otpimagesize=502
+xtalfreq=37400
+extpagain2g=2
+pdetrange2g=2
+extpagain5g=2
+pdetrange5g=2
+rxgains2gelnagaina0=0
+rxgains2gtrisoa0=7
+rxgains2gtrelnabypa0=0
+rxgains5gelnagaina0=0
+rxgains5gtrisoa0=11
+rxgains5gtrelnabypa0=0
+rxchain=1
+txchain=1
+aa2g=1
+aa5g=1
+tssipos5g=0
+tssipos2g=0
+pa2ga0=-161,6269,-723
+pa2gccka0=-116,7568,-852
+pa5ga0=0xFF61,0x163C,0xFD55,0xFF5D,0x1671,0xFD4F,0xFF5F,0x16CA,0xFD45,0xFF60,0x1676,0xFD4D
+pa5gbw40a0=0xFF61,0x163C,0xFD55,0xFF5D,0x1671,0xFD4F,0xFF5F,0x16CA,0xFD45,0xFF60,0x1676,0xFD4D
+pa5gbw80a0=0xFF61,0x163C,0xFD55,0xFF5D,0x1671,0xFD4F,0xFF5F,0x16CA,0xFD45,0xFF60,0x1676,0xFD4D
+pdoffset40ma0=0
+pdoffset80ma0=0
+pdoffsetcckma0=0
+maxp2ga0=75
+maxp5ga0=64,64,72,72
+cckbw202gpo=0x0000
+cckbw20ul2gpo=0x0
+mcsbw202gpo=0x99445533
+mcsbw402gpo=0x99775533
+dot11agofdmhrbw202gpo=0x2233
+ofdmlrbw202gpo=0x0000
+tssifloor2g=500
+mcsbw205glpo=0x66333330
+mcsbw405glpo=0x66665530
+mcsbw805glpo=0xAA555530
+mcsbw1605glpo=0x99555530
+mcsbw205gmpo=0x99BB5530
+mcsbw405gmpo=0x99BB5530
+mcsbw805gmpo=0xEE555530
+mcsbw1605gmpo=0x99555530
+mcsbw205ghpo=0x99995530
+mcsbw405ghpo=0x99BB5530
+mcsbw805ghpo=0xEE555530
+mcsbw1605ghpo=0x99555530
+mcslr5glpo=0x0000
+mcslr5gmpo=0x0000
+mcslr5ghpo=0x0000
+sb20in40hrrpo=0x0
+sb20in80and160hr5glpo=0x0
+sb40and80hr5glpo=0x0
+sb20in80and160hr5gmpo=0x0
+sb40and80hr5gmpo=0x0
+sb20in80and160hr5ghpo=0x0
+sb40and80hr5ghpo=0x0
+sb20in40lrpo=0x0
+sb20in80and160lr5glpo=0x0
+sb40and80lr5glpo=0x0
+sb20in80and160lr5gmpo=0x0
+sb40and80lr5gmpo=0x0
+sb20in80and160lr5ghpo=0x0
+sb40and80lr5ghpo=0x0
+dot11agduphrpo=0x0
+dot11agduplrpo=0x0
+phycal_tempdelta=25
+cckdigfilttype=2
+pacalidx2g=65
+dacrate2g=160
+swctrlmap_5g=0x00000008,0x00000010,0x00000008,0x000000,0x038
+swctrlmap_2g=0x00000001,0x00000002,0x00000001,0x040002,0x0ff
+swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x000
+swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x000
+rssicorrnorm_c0=3,3
+rssicorrnorm5g_c0=2,3,4,2,3,3,0,1,2,0,1,2
+muxenab=0x10
diff --git a/package/firmware/intel-microcode/Makefile b/package/firmware/intel-microcode/Makefile
index d2f61e9bf08..9e87dccc12b 100644
--- a/package/firmware/intel-microcode/Makefile
+++ b/package/firmware/intel-microcode/Makefile
@@ -8,13 +8,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=intel-microcode
-PKG_VERSION:=20200616
+PKG_VERSION:=20230808
PKG_RELEASE:=1
-PKG_SOURCE:=intel-microcode_3.$(PKG_VERSION).$(PKG_RELEASE).tar.xz
-PKG_SOURCE_URL:=@DEBIAN/pool/non-free/i/intel-microcode/
-PKG_HASH:=bcc3b81c452fe4649a948c022475d76c1cdfbb730f36749a082f412f1406a3b9
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-3.$(PKG_VERSION).$(PKG_RELEASE)
+PKG_SOURCE:=intel-microcode_3.$(PKG_VERSION).1.tar.xz
+PKG_SOURCE_URL:=@DEBIAN/pool/non-free-firmware/i/intel-microcode/
+PKG_HASH:=29e77c275b3f60a691832c0844f70effbd94a4594d04af21e0c2e6e0c1ac1894
+PKG_BUILD_DIR:=$(BUILD_DIR)/intel-microcode-3.$(PKG_VERSION).1
+PKG_CPE_ID:=cpe:/a:intel:microcode
PKG_BUILD_DEPENDS:=iucode-tool/host
diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile
index e63e3b3ba1f..34faf5c3db4 100644
--- a/package/firmware/ipq-wifi/Makefile
+++ b/package/firmware/ipq-wifi/Makefile
@@ -3,14 +3,17 @@ include $(INCLUDE_DIR)/version.mk
PKG_NAME:=ipq-wifi
PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware/qca-wireless.git
+PKG_SOURCE_DATE:=2024-01-06
+PKG_SOURCE_VERSION:=71f45cff8944405b7cc2bf5c19df2bd8fe7f2421
+PKG_MIRROR_HASH:=90c3c1659c54cdb4685d0a71633746c1000230e459801eb8ce12c805a994cc37
+
PKG_FLAGS:=nonshared
include $(INCLUDE_DIR)/package.mk
-define Build/Prepare
- mkdir -p $(PKG_BUILD_DIR)
-endef
-
define Build/Compile
endef
@@ -25,32 +28,31 @@ endef
# <https://wireless.wiki.kernel.org/en/users/drivers/ath10k/boardfiles>
ALLWIFIBOARDS:= \
- 8dev_habanero-dvk \
- aruba_ap-303 \
- avm_fritzrepeater-1200 \
- buffalo_wtr-m2133hp \
- cellc_rtl30vw \
- devolo_magic-2-wifi-next \
- dlink_dap2610 \
- edgecore_ecw5410 \
- edgecore_oap100 \
- engenius_eap2200 \
- engenius_emd1 \
- engenius_emr3500 \
- ezviz_cs-w3-wd1200g-eup \
- glinet_gl-ap1300 \
- glinet_gl-s1300 \
- linksys_ea8300 \
- linksys_mr8300-v0 \
- luma_wrtq-329acn \
- mikrotik_hap-ac2 \
- mikrotik_sxtsq-5-ac \
- mobipromo_cm520-79f \
- nec_wg2600hp3 \
- netgear_wac510 \
- plasmacloud_pa1200 \
- plasmacloud_pa2200 \
- qxwlan_e2600ac
+ arcadyan_aw1000 \
+ buffalo_wxr-5950ax12 \
+ cmcc_rm2-6 \
+ compex_wpq873 \
+ dynalink_dl-wrx36 \
+ edgecore_eap102 \
+ edimax_cax1800 \
+ linksys_mx4200 \
+ netgear_rax120v2 \
+ netgear_wax218 \
+ netgear_wax620 \
+ netgear_wax630 \
+ prpl_haze \
+ qnap_301w \
+ redmi_ax6 \
+ wallys_dr40x9 \
+ xiaomi_ax3600 \
+ xiaomi_ax9000 \
+ yyets_le1 \
+ yuncore_ax880 \
+ zte_mf269 \
+ zte_mf289f \
+ zte_mf287 \
+ zte_mf287plus \
+ zyxel_nbg7815
ALLWIFIPACKAGES:=$(foreach BOARD,$(ALLWIFIBOARDS),ipq-wifi-$(BOARD))
@@ -58,7 +60,7 @@ define Package/ipq-wifi-default
SUBMENU:=ath10k Board-Specific Overrides
SECTION:=firmware
CATEGORY:=Firmware
- DEPENDS:=@(TARGET_ipq40xx||TARGET_ipq806x)
+ DEPENDS:=@(TARGET_ipq40xx||TARGET_ipq806x||TARGET_qualcommax)
TITLE:=Custom Board
endef
@@ -67,15 +69,28 @@ define ipq-wifi-install-one-to
$(INSTALL_DATA) $(1) $(2)/lib/firmware/ath10k/$(3)/board-2.bin
endef
+define ipq-wifi-install-ath11-one-to
+ $(INSTALL_DIR) $(2)/lib/firmware/ath11k/$(3)/
+ $(INSTALL_DATA) $(1) $(2)/lib/firmware/ath11k/$(3)/board-2.bin
+endef
+
define ipq-wifi-install-one
$(if $(filter $(suffix $(1)),.QCA4019 .qca4019),\
$(call ipq-wifi-install-one-to,$(1),$(2),QCA4019/hw1.0),\
$(if $(filter $(suffix $(1)),.QCA9888 .qca9888),\
$(call ipq-wifi-install-one-to,$(1),$(2),QCA9888/hw2.0),\
+ $(if $(filter $(suffix $(1)),.QCA9889 .qca9889),\
+ $(call ipq-wifi-install-one-to,$(1),$(2),QCA9887/hw1.0),\
$(if $(filter $(suffix $(1)),.QCA9984 .qca9984),\
$(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)),.IPQ8074 .ipq8074 .ipq8174),\
+ $(call ipq-wifi-install-ath11-one-to,$(1),$(2),IPQ8074/hw2.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
@@ -100,42 +115,55 @@ Do not install it for any other device!
endef
define Package/ipq-wifi-$(1)/install-overlay
- $$$$(foreach IPQ_WIFI_BOARD_FILE,$$$$(wildcard board-$(1).*),\
+ $$$$(foreach IPQ_WIFI_BOARD_FILE,$$$$(wildcard $(PKG_BUILD_DIR)/board-$(1).*),\
$$$$(call ipq-wifi-install-one,$$$$(IPQ_WIFI_BOARD_FILE),$$(1)))
endef
PREV_BOARD+=ipq-wifi-$(1)
endef
-# Add board name to ALLWIFIBOARDS
-# Place files in this directory as board-<devicename>.<qca4019|qca9888|qca9984>
-# Add $(eval $(call generate-ipq-wifi-package,<devicename>,<display name>))
-
-$(eval $(call generate-ipq-wifi-package,8dev_habanero-dvk,8devices Habanero DVK))
-$(eval $(call generate-ipq-wifi-package,aruba_ap-303,Aruba AP-303))
-$(eval $(call generate-ipq-wifi-package,avm_fritzrepeater-1200,AVM FRITZRepeater 1200))
-$(eval $(call generate-ipq-wifi-package,buffalo_wtr-m2133hp,Buffalo WTR-M2133HP))
-$(eval $(call generate-ipq-wifi-package,cellc_rtl30vw, Cell C RTL30VW))
-$(eval $(call generate-ipq-wifi-package,devolo_magic-2-wifi-next,devolo Magic 2 WiFi next))
-$(eval $(call generate-ipq-wifi-package,dlink_dap2610,D-Link DAP-2610))
-$(eval $(call generate-ipq-wifi-package,edgecore_ecw5410,Edgecore ECW5410))
-$(eval $(call generate-ipq-wifi-package,edgecore_oap100,Edgecore OAP100))
-$(eval $(call generate-ipq-wifi-package,engenius_eap2200,EnGenius EAP2200))
-$(eval $(call generate-ipq-wifi-package,engenius_emd1,EnGenius EMD1))
-$(eval $(call generate-ipq-wifi-package,engenius_emr3500,EnGenius EMR3500))
-$(eval $(call generate-ipq-wifi-package,ezviz_cs-w3-wd1200g-eup,EZVIZ CS-W3-WD1200G EUP))
-$(eval $(call generate-ipq-wifi-package,glinet_gl-ap1300,GL.iNet GL-AP1300))
-$(eval $(call generate-ipq-wifi-package,glinet_gl-s1300,GL.iNet GL-S1300))
-$(eval $(call generate-ipq-wifi-package,linksys_ea8300,Linksys EA8300))
-$(eval $(call generate-ipq-wifi-package,linksys_mr8300-v0,Linksys MR8300))
-$(eval $(call generate-ipq-wifi-package,luma_wrtq-329acn,Luma WRTQ-329ACN))
-$(eval $(call generate-ipq-wifi-package,mikrotik_hap-ac2,Mikrotik hAP ac2))
-$(eval $(call generate-ipq-wifi-package,mikrotik_sxtsq-5-ac,MikroTik SXTsq 5 ac))
-$(eval $(call generate-ipq-wifi-package,mobipromo_cm520-79f,MobiPromo CM520-79F))
-$(eval $(call generate-ipq-wifi-package,nec_wg2600hp3,NEC Platforms WG2600HP3))
-$(eval $(call generate-ipq-wifi-package,netgear_wac510,Netgear WAC510))
-$(eval $(call generate-ipq-wifi-package,plasmacloud_pa1200,Plasma Cloud PA1200))
-$(eval $(call generate-ipq-wifi-package,plasmacloud_pa2200,Plasma Cloud PA2200))
-$(eval $(call generate-ipq-wifi-package,qxwlan_e2600ac,Qxwlan E2600AC))
+# To add local files for testing:
+# 1. create a new directory in the ipq-wifi package directory called "files".
+# 2. place there the needed board files.
+#
+# To send a board file upstream:
+# 1. create a pull request in https://github.com/openwrt/firmware_qca-wireless or
+# send a patch to the mailing list adding the tag firmware/qca-wireless before
+# the PATCH tag.
+# 2. create a pull request in the main openwrt repository bumping the ipq-wifi
+# package to the new version and adding the required lines to add the board file.
+#
+# Changes needed to the ipq-wifi Makefile:
+# 1. Add board name to ALLWIFIBOARDS
+# 2. Add $(eval $(call generate-ipq-wifi-package,<devicename>,<display name>))
+#
+# Board files should follow this name structure:
+# board-<devicename>.<qca4019|qca9888|qca9889|qca9984|qca99x0|ipq8074>
+
+$(eval $(call generate-ipq-wifi-package,arcadyan_aw1000,Arcadyan AW1000))
+$(eval $(call generate-ipq-wifi-package,buffalo_wxr-5950ax12,Buffalo WXR-5950AX12))
+$(eval $(call generate-ipq-wifi-package,cmcc_rm2-6,CMCC RM2-6))
+$(eval $(call generate-ipq-wifi-package,compex_wpq873,Compex WPQ-873))
+$(eval $(call generate-ipq-wifi-package,dynalink_dl-wrx36,Dynalink DL-WRX36))
+$(eval $(call generate-ipq-wifi-package,edgecore_eap102,Edgecore EAP102))
+$(eval $(call generate-ipq-wifi-package,edimax_cax1800,Edimax CAX1800))
+$(eval $(call generate-ipq-wifi-package,linksys_mx4200,Linksys MX4200))
+$(eval $(call generate-ipq-wifi-package,netgear_rax120v2,Netgear RAX120v2))
+$(eval $(call generate-ipq-wifi-package,netgear_wax218,Netgear WAX218))
+$(eval $(call generate-ipq-wifi-package,netgear_wax620,Netgear WAX620))
+$(eval $(call generate-ipq-wifi-package,netgear_wax630,Netgear WAX630))
+$(eval $(call generate-ipq-wifi-package,qnap_301w,QNAP 301w))
+$(eval $(call generate-ipq-wifi-package,prpl_haze,prpl Haze))
+$(eval $(call generate-ipq-wifi-package,redmi_ax6,Redmi AX6))
+$(eval $(call generate-ipq-wifi-package,wallys_dr40x9,Wallys DR40X9))
+$(eval $(call generate-ipq-wifi-package,xiaomi_ax3600,Xiaomi AX3600))
+$(eval $(call generate-ipq-wifi-package,xiaomi_ax9000,Xiaomi AX9000))
+$(eval $(call generate-ipq-wifi-package,yyets_le1,YYeTs LE1))
+$(eval $(call generate-ipq-wifi-package,yuncore_ax880,Yuncore AX880))
+$(eval $(call generate-ipq-wifi-package,zte_mf269,ZTE MF269))
+$(eval $(call generate-ipq-wifi-package,zte_mf289f,ZTE MF289F))
+$(eval $(call generate-ipq-wifi-package,zte_mf287,ZTE MF287))
+$(eval $(call generate-ipq-wifi-package,zte_mf287plus,ZTE MF287Plus))
+$(eval $(call generate-ipq-wifi-package,zyxel_nbg7815,Zyxel NBG7815))
$(foreach PACKAGE,$(ALLWIFIPACKAGES),$(eval $(call BuildPackage,$(PACKAGE))))
diff --git a/package/firmware/ipq-wifi/board-8dev_habanero-dvk.qca4019 b/package/firmware/ipq-wifi/board-8dev_habanero-dvk.qca4019
deleted file mode 100644
index 9048239cf9f..00000000000
--- a/package/firmware/ipq-wifi/board-8dev_habanero-dvk.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-aruba_ap-303.qca4019 b/package/firmware/ipq-wifi/board-aruba_ap-303.qca4019
deleted file mode 100644
index 4848115cfbe..00000000000
--- a/package/firmware/ipq-wifi/board-aruba_ap-303.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-avm_fritzrepeater-1200.qca4019 b/package/firmware/ipq-wifi/board-avm_fritzrepeater-1200.qca4019
deleted file mode 100644
index d78a49d4dbf..00000000000
--- a/package/firmware/ipq-wifi/board-avm_fritzrepeater-1200.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-buffalo_wtr-m2133hp.qca4019 b/package/firmware/ipq-wifi/board-buffalo_wtr-m2133hp.qca4019
deleted file mode 100644
index 8305ba0166a..00000000000
--- a/package/firmware/ipq-wifi/board-buffalo_wtr-m2133hp.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-buffalo_wtr-m2133hp.qca9984 b/package/firmware/ipq-wifi/board-buffalo_wtr-m2133hp.qca9984
deleted file mode 100644
index 656cb99cbb2..00000000000
--- a/package/firmware/ipq-wifi/board-buffalo_wtr-m2133hp.qca9984
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-cellc_rtl30vw.qca4019 b/package/firmware/ipq-wifi/board-cellc_rtl30vw.qca4019
deleted file mode 100644
index 2fff2bf5fc7..00000000000
--- a/package/firmware/ipq-wifi/board-cellc_rtl30vw.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-devolo_magic-2-wifi-next.qca4019 b/package/firmware/ipq-wifi/board-devolo_magic-2-wifi-next.qca4019
deleted file mode 100644
index cf86721feab..00000000000
--- a/package/firmware/ipq-wifi/board-devolo_magic-2-wifi-next.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-dlink_dap2610.qca4019 b/package/firmware/ipq-wifi/board-dlink_dap2610.qca4019
deleted file mode 100644
index 08ed731a4cf..00000000000
--- a/package/firmware/ipq-wifi/board-dlink_dap2610.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-edgecore_ecw5410.qca9984 b/package/firmware/ipq-wifi/board-edgecore_ecw5410.qca9984
deleted file mode 100644
index 2c1992001d8..00000000000
--- a/package/firmware/ipq-wifi/board-edgecore_ecw5410.qca9984
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-edgecore_oap100.qca4019 b/package/firmware/ipq-wifi/board-edgecore_oap100.qca4019
deleted file mode 100644
index 9f1b5c93b5e..00000000000
--- a/package/firmware/ipq-wifi/board-edgecore_oap100.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-engenius_eap2200.qca4019 b/package/firmware/ipq-wifi/board-engenius_eap2200.qca4019
deleted file mode 100644
index 337d896d1ed..00000000000
--- a/package/firmware/ipq-wifi/board-engenius_eap2200.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-engenius_eap2200.qca9888 b/package/firmware/ipq-wifi/board-engenius_eap2200.qca9888
deleted file mode 100644
index 2e938f4785c..00000000000
--- a/package/firmware/ipq-wifi/board-engenius_eap2200.qca9888
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-engenius_emd1.qca4019 b/package/firmware/ipq-wifi/board-engenius_emd1.qca4019
deleted file mode 100644
index 3a2d77597df..00000000000
--- a/package/firmware/ipq-wifi/board-engenius_emd1.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-engenius_emr3500.qca4019 b/package/firmware/ipq-wifi/board-engenius_emr3500.qca4019
deleted file mode 100644
index 9f7ecfb7081..00000000000
--- a/package/firmware/ipq-wifi/board-engenius_emr3500.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-ezviz_cs-w3-wd1200g-eup.qca4019 b/package/firmware/ipq-wifi/board-ezviz_cs-w3-wd1200g-eup.qca4019
deleted file mode 100644
index 987e34c640c..00000000000
--- a/package/firmware/ipq-wifi/board-ezviz_cs-w3-wd1200g-eup.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-glinet_gl-ap1300.qca4019 b/package/firmware/ipq-wifi/board-glinet_gl-ap1300.qca4019
deleted file mode 100644
index 481dd81b5b1..00000000000
--- a/package/firmware/ipq-wifi/board-glinet_gl-ap1300.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-glinet_gl-s1300.qca4019 b/package/firmware/ipq-wifi/board-glinet_gl-s1300.qca4019
deleted file mode 100644
index b84e62f825e..00000000000
--- a/package/firmware/ipq-wifi/board-glinet_gl-s1300.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-linksys_ea8300.qca4019 b/package/firmware/ipq-wifi/board-linksys_ea8300.qca4019
deleted file mode 100644
index 0a1f6ebd478..00000000000
--- a/package/firmware/ipq-wifi/board-linksys_ea8300.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-linksys_ea8300.qca9888 b/package/firmware/ipq-wifi/board-linksys_ea8300.qca9888
deleted file mode 100644
index e3c2039924f..00000000000
--- a/package/firmware/ipq-wifi/board-linksys_ea8300.qca9888
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-linksys_mr8300-v0.qca4019 b/package/firmware/ipq-wifi/board-linksys_mr8300-v0.qca4019
deleted file mode 100644
index 689d9c481db..00000000000
--- a/package/firmware/ipq-wifi/board-linksys_mr8300-v0.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-linksys_mr8300-v0.qca9888 b/package/firmware/ipq-wifi/board-linksys_mr8300-v0.qca9888
deleted file mode 100644
index 90b6bac08ca..00000000000
--- a/package/firmware/ipq-wifi/board-linksys_mr8300-v0.qca9888
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-luma_wrtq-329acn.qca4019 b/package/firmware/ipq-wifi/board-luma_wrtq-329acn.qca4019
deleted file mode 100644
index 4e526027133..00000000000
--- a/package/firmware/ipq-wifi/board-luma_wrtq-329acn.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-mikrotik_hap-ac2.qca4019 b/package/firmware/ipq-wifi/board-mikrotik_hap-ac2.qca4019
deleted file mode 100644
index 73372c183e1..00000000000
--- a/package/firmware/ipq-wifi/board-mikrotik_hap-ac2.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-mikrotik_sxtsq-5-ac.qca4019 b/package/firmware/ipq-wifi/board-mikrotik_sxtsq-5-ac.qca4019
deleted file mode 100644
index 97f982637a8..00000000000
--- a/package/firmware/ipq-wifi/board-mikrotik_sxtsq-5-ac.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-mobipromo_cm520-79f.qca4019 b/package/firmware/ipq-wifi/board-mobipromo_cm520-79f.qca4019
deleted file mode 100644
index d717af12fe2..00000000000
--- a/package/firmware/ipq-wifi/board-mobipromo_cm520-79f.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-nec_wg2600hp3.qca9984 b/package/firmware/ipq-wifi/board-nec_wg2600hp3.qca9984
deleted file mode 100644
index f95ccd251e7..00000000000
--- a/package/firmware/ipq-wifi/board-nec_wg2600hp3.qca9984
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-plasmacloud_pa1200.qca4019 b/package/firmware/ipq-wifi/board-plasmacloud_pa1200.qca4019
deleted file mode 100644
index 99d6df8c8c2..00000000000
--- a/package/firmware/ipq-wifi/board-plasmacloud_pa1200.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-plasmacloud_pa2200.qca4019 b/package/firmware/ipq-wifi/board-plasmacloud_pa2200.qca4019
deleted file mode 100644
index d1db0f5f4b8..00000000000
--- a/package/firmware/ipq-wifi/board-plasmacloud_pa2200.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-plasmacloud_pa2200.qca9888 b/package/firmware/ipq-wifi/board-plasmacloud_pa2200.qca9888
deleted file mode 100644
index 6c3f083eb20..00000000000
--- a/package/firmware/ipq-wifi/board-plasmacloud_pa2200.qca9888
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ipq-wifi/board-qxwlan_e2600ac.qca4019 b/package/firmware/ipq-wifi/board-qxwlan_e2600ac.qca4019
deleted file mode 100644
index 435b465d895..00000000000
--- a/package/firmware/ipq-wifi/board-qxwlan_e2600ac.qca4019
+++ /dev/null
Binary files differ
diff --git a/package/firmware/ixp4xx-microcode/Makefile b/package/firmware/ixp4xx-microcode/Makefile
new file mode 100644
index 00000000000..5ee04a757a2
--- /dev/null
+++ b/package/firmware/ixp4xx-microcode/Makefile
@@ -0,0 +1,77 @@
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Copyright (C) 2007-2023 OpenWrt.org
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ixp4xx-microcode
+PKG_VERSION:=2.4
+PKG_RELEASE:=1
+
+PKG_SOURCE:=IPL_ixp400NpeLibraryWithCrypto-2_4.zip
+PKG_SOURCE_URL:=http://downloads.openwrt.org/sources
+PKG_HASH:=1b1170d0657847248589d946048c0aeaa9cd671966fc5bec5933283309485eaa
+
+PKG_FLAGS:=nonshared
+
+include $(INCLUDE_DIR)/package.mk
+
+# Ethernet or WAN support, pick one
+define Package/ixp4xx-microcode-ethernet
+ SECTION:=firmware
+ CATEGORY:=Firmware
+ TITLE:=IXP4xx ethernet firmware
+ DEPENDS:=@TARGET_ixp4xx
+endef
+define Package/ixp4xx-microcode-wan
+ SECTION:=firmware
+ CATEGORY:=Firmware
+ TITLE:=IXP4xx WAN firmware
+ DEPENDS:=@TARGET_ixp4xx
+endef
+
+define Package/ixp4xx-microcode-ethernet/description
+ This package contains the microcode needed to use the network engines in
+ IXP4xx CPUs for ethernet on all three NPEs.
+endef
+define Package/ixp4xx-microcode-wan/description
+ This package contains the microcode needed to use the network engines in
+ IXP4xx CPUs for ethernet on NPE-A and NPE-B and WAN (HSS) on NPE-C.
+endef
+
+define Build/Prepare
+ rm -rf $(PKG_BUILD_DIR)
+ mkdir -p $(PKG_BUILD_DIR)
+ unzip -d $(PKG_BUILD_DIR)/ $(DL_DIR)/$(PKG_SOURCE)
+ mv $(PKG_BUILD_DIR)/ixp400_xscale_sw/src/npeDl/IxNpeMicrocode.c $(PKG_BUILD_DIR)/
+ rm -rf $(PKG_BUILD_DIR)/ixp400_xscale_sw
+ $(CP) ./src/* $(PKG_BUILD_DIR)/
+endef
+
+define Build/Compile
+ (cd $(PKG_BUILD_DIR); \
+ $(HOSTCC) -Wall -I$(STAGING_DIR_HOST)/include IxNpeMicrocode.c -o IxNpeMicrocode; \
+ ./IxNpeMicrocode -be \
+ )
+endef
+
+define Package/ixp4xx-microcode-ethernet/install
+ $(INSTALL_DIR) $(1)/lib/firmware
+ $(INSTALL_DIR) $(1)/usr/share/doc
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/NPE-A $(1)/lib/firmware/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/NPE-B $(1)/lib/firmware/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/NPE-C $(1)/lib/firmware/
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/LICENSE.IPL $(1)/usr/share/doc/
+endef
+define Package/ixp4xx-microcode-wan/install
+ $(INSTALL_DIR) $(1)/lib/firmware
+ $(INSTALL_DIR) $(1)/usr/share/doc
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/NPE-A-HSS $(1)/lib/firmware/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/NPE-B $(1)/lib/firmware/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/NPE-C $(1)/lib/firmware/
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/LICENSE.IPL $(1)/usr/share/doc/
+endef
+
+
+$(eval $(call BuildPackage,ixp4xx-microcode-ethernet))
+$(eval $(call BuildPackage,ixp4xx-microcode-wan))
diff --git a/package/firmware/ixp4xx-microcode/src/IxNpeMicrocode.h b/package/firmware/ixp4xx-microcode/src/IxNpeMicrocode.h
new file mode 100644
index 00000000000..4a843db104f
--- /dev/null
+++ b/package/firmware/ixp4xx-microcode/src/IxNpeMicrocode.h
@@ -0,0 +1,148 @@
+/*
+ * IxNpeMicrocode.h - Headerfile for compiling the Intel microcode C file
+ *
+ * Copyright (C) 2006 Christian Hohnstaedt <chohnstaedt@innominate.com>
+ *
+ * This file is released under the GPLv2
+ *
+ *
+ * compile with
+ *
+ * gcc -Wall IxNpeMicrocode.c -o IxNpeMicrocode
+ *
+ * Executing the resulting binary on your build-host creates the
+ * "NPE-[ABC].xxxxxxxx" files containing the selected microcode
+ *
+ * fetch the IxNpeMicrocode.c from the Intel Access Library.
+ * It will include this header.
+ *
+ * select Images for every NPE from the following
+ * (used C++ comments for easy uncommenting ....)
+ */
+
+// #define IX_NPEDL_NPEIMAGE_NPEA_ETH_SPAN_MASK_FIREWALL_VLAN_QOS_HDR_CONV_EXTMIB
+// #define IX_NPEDL_NPEIMAGE_NPEA_ETH_SPAN_VLAN_QOS_HDR_CONV_EXTMIB
+// #define IX_NPEDL_NPEIMAGE_NPEA_ETH_LEARN_FILTER_SPAN_MASK_FIREWALL_VLAN_QOS_EXTMIB
+// #define IX_NPEDL_NPEIMAGE_NPEA_HSS_TSLOT_SWITCH
+#define IX_NPEDL_NPEIMAGE_NPEA_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV
+// #define IX_NPEDL_NPEIMAGE_NPEA_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS
+// #define IX_NPEDL_NPEIMAGE_NPEA_ETH_LEARN_FILTER_SPAN_FIREWALL
+#define IX_NPEDL_NPEIMAGE_NPEA_HSS_2_PORT
+// #define IX_NPEDL_NPEIMAGE_NPEA_DMA
+// #define IX_NPEDL_NPEIMAGE_NPEA_ATM_MPHY_12_PORT
+// #define IX_NPEDL_NPEIMAGE_NPEA_HSS0_ATM_MPHY_1_PORT
+// #define IX_NPEDL_NPEIMAGE_NPEA_HSS0_ATM_SPHY_1_PORT
+// #define IX_NPEDL_NPEIMAGE_NPEA_HSS0
+// #define IX_NPEDL_NPEIMAGE_NPEA_WEP
+
+
+// #define IX_NPEDL_NPEIMAGE_NPEB_ETH_SPAN_MASK_FIREWALL_VLAN_QOS_HDR_CONV_EXTMIB
+// #define IX_NPEDL_NPEIMAGE_NPEB_ETH_SPAN_VLAN_QOS_HDR_CONV_EXTMIB
+// #define IX_NPEDL_NPEIMAGE_NPEB_ETH_LEARN_FILTER_SPAN_MASK_FIREWALL_VLAN_QOS_EXTMIB
+// #define IX_NPEDL_NPEIMAGE_NPEB_DMA
+#define IX_NPEDL_NPEIMAGE_NPEB_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV
+// #define IX_NPEDL_NPEIMAGE_NPEB_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS
+// #define IX_NPEDL_NPEIMAGE_NPEB_ETH_LEARN_FILTER_SPAN_FIREWALL
+
+
+// #define IX_NPEDL_NPEIMAGE_NPEC_ETH_SPAN_MASK_FIREWALL_VLAN_QOS_HDR_CONV_EXTMIB
+// #define IX_NPEDL_NPEIMAGE_NPEC_ETH_SPAN_VLAN_QOS_HDR_CONV_EXTMIB
+// #define IX_NPEDL_NPEIMAGE_NPEC_ETH_LEARN_FILTER_SPAN_MASK_FIREWALL_VLAN_QOS_EXTMIB
+// #define IX_NPEDL_NPEIMAGE_NPEC_DMA
+// #define IX_NPEDL_NPEIMAGE_NPEC_CRYPTO_AES_ETH_LEARN_FILTER_SPAN
+// #define IX_NPEDL_NPEIMAGE_NPEC_CRYPTO_AES_ETH_LEARN_FILTER_FIREWALL
+#define IX_NPEDL_NPEIMAGE_NPEC_CRYPTO_AES_CCM_ETH
+// #define IX_NPEDL_NPEIMAGE_NPEC_CRYPTO_AES_CCM_EXTSHA_ETH
+// #define IX_NPEDL_NPEIMAGE_NPEC_CRYPTO_ETH_LEARN_FILTER_SPAN_FIREWALL
+// #define IX_NPEDL_NPEIMAGE_NPEC_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV
+// #define IX_NPEDL_NPEIMAGE_NPEC_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS
+// #define IX_NPEDL_NPEIMAGE_NPEC_ETH_LEARN_FILTER_SPAN_FIREWALL
+
+
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <netinet/in.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <endian.h>
+#include <byteswap.h>
+#include <string.h>
+
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+#define to_le32(x) (x)
+#define to_be32(x) bswap_32(x)
+#else
+#define to_be32(x) (x)
+#define to_le32(x) bswap_32(x)
+#endif
+
+struct dl_image {
+ unsigned magic;
+ unsigned id;
+ unsigned size;
+ unsigned data[0];
+};
+
+const unsigned IxNpeMicrocode_array[];
+
+int main(int argc, char *argv[])
+{
+ struct dl_image *image = (struct dl_image *)IxNpeMicrocode_array;
+ int imgsiz, i, fd, cnt;
+ const unsigned *arrayptr = IxNpeMicrocode_array;
+ const char *names[] = { "IXP425", "IXP465", "unknown" };
+ int bigendian = 1;
+
+ if (argc > 1) {
+ if (!strcmp(argv[1], "-le"))
+ bigendian = 0;
+ else if (!strcmp(argv[1], "-be"))
+ bigendian = 1;
+ else {
+ printf("Usage: %s <-le|-be>\n", argv[0]);
+ return EXIT_FAILURE;
+ }
+ }
+
+ for (image = (struct dl_image *)arrayptr, cnt=0;
+ (image->id != 0xfeedf00d) && (image->magic == 0xfeedf00d);
+ image = (struct dl_image *)(arrayptr), cnt++)
+ {
+ unsigned char field[4];
+ imgsiz = image->size + 3;
+ *(unsigned*)field = to_be32(image->id);
+ char filename[40], slnk[10];
+
+ sprintf(filename, "NPE-%c.%08x", (field[0] & 0xf) + 'A',
+ image->id);
+ if (image->id == 0x00090000)
+ sprintf(slnk, "NPE-%c-HSS", (field[0] & 0xf) + 'A');
+ else
+ sprintf(slnk, "NPE-%c", (field[0] & 0xf) + 'A');
+
+ printf("Writing image: %s.NPE_%c Func: %2x Rev: %02x.%02x "
+ "Size: %5d to: '%s'\n",
+ names[field[0] >> 4], (field[0] & 0xf) + 'A',
+ field[1], field[2], field[3], imgsiz*4, filename);
+ fd = open(filename, O_CREAT | O_RDWR | O_TRUNC, 0644);
+ if (fd >= 0) {
+ for (i=0; i<imgsiz; i++) {
+ *(unsigned*)field = bigendian ?
+ to_be32(arrayptr[i]) :
+ to_le32(arrayptr[i]);
+ write(fd, field, sizeof(field));
+ }
+ close(fd);
+ unlink(slnk);
+ symlink(filename, slnk);
+ } else {
+ perror(filename);
+ }
+ arrayptr += imgsiz;
+ }
+ close(fd);
+ return 0;
+}
diff --git a/package/firmware/ixp4xx-microcode/src/LICENSE.IPL b/package/firmware/ixp4xx-microcode/src/LICENSE.IPL
new file mode 100644
index 00000000000..dad2566cfca
--- /dev/null
+++ b/package/firmware/ixp4xx-microcode/src/LICENSE.IPL
@@ -0,0 +1,27 @@
+INTEL(R) SOFTWARE LICENSE AGREEMENT
+
+Copyright (c) 2007, Intel Corporation.
+All rights reserved.
+
+Redistribution. Redistribution and use in binary form, without modification, are permitted
+provided that the following conditions are met:
+o Redistributions must reproduce the above copyright notice and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+o Neither the name of Intel Corporation nor the names of its suppliers may be used to endorse
+or promote products derived from this software without specific prior written permission.
+o No reverse engineering, decompilation, or disassembly of this software is permitted.
+
+Limited patent license. Intel Corporation grants a world-wide, royalty-free, non-exclusive
+license under patents it now or hereafter owns or controls to make, have made, use, import,
+offer to sell and sell (.Utilize.) this software, but solely to the extent that any such patent is
+necessary to Utilize the software alone. The patent license shall not apply to any combinations
+which include this software. No hardware per se is licensed hereunder.
+DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
+OF SUCH DAMAGE.
diff --git a/package/firmware/layerscape/fman-ucode/Makefile b/package/firmware/layerscape/fman-ucode/Makefile
index 69cc7611103..fdd46598512 100644
--- a/package/firmware/layerscape/fman-ucode/Makefile
+++ b/package/firmware/layerscape/fman-ucode/Makefile
@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fman-ucode
-PKG_VERSION:=LSDK-20.04
-PKG_RELEASE:=2
+PKG_VERSION:=lf-6.1.1-1.0.0
+PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/NXP/qoriq-fm-ucode.git
-PKG_SOURCE_VERSION:=c275e91392e2adab1ed22f3867b8269ca3c54014
-PKG_MIRROR_HASH:=90b619ed501462b92f34f2fabfa09d6aaa5235990891d1c3132821c7d18a39bd
+PKG_SOURCE_URL:=https://github.com/nxp-qoriq/qoriq-fm-ucode
+PKG_SOURCE_VERSION:=lf-6.1.1-1.0.0
+PKG_MIRROR_HASH:=3614200837945460374570a48822a3efb96a64b93724e7f973e61008baeccf3a
PKG_FLAGS:=nonshared
diff --git a/package/firmware/layerscape/ls-ddr-phy/Makefile b/package/firmware/layerscape/ls-ddr-phy/Makefile
index 68142b4bbf5..28e1355073e 100644
--- a/package/firmware/layerscape/ls-ddr-phy/Makefile
+++ b/package/firmware/layerscape/ls-ddr-phy/Makefile
@@ -6,13 +6,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ls-ddr-phy
-PKG_VERSION:=LSDK-20.04-update-290520
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=21.08
+PKG_RELEASE:=3
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/NXP/ddr-phy-binary.git
-PKG_SOURCE_VERSION:=fbc036b88acb6c06ffed02c898cbae9856ec75ba
-PKG_MIRROR_HASH:=84e2bdea99384211971bb23ba9ed18b5839628ff2aa0738d2978bbdf841638cb
+PKG_SOURCE_VERSION:=LSDK-21.08
+PKG_MIRROR_HASH:=0fb35c697f4b4274577cce63223198f5c7715164a2c5d09a55c46ef17639ed4b
PKG_BUILD_DEPENDS:=tfa-layerscape/host
PKG_LICENSE:=EULA
diff --git a/package/firmware/layerscape/ls-dpl/Makefile b/package/firmware/layerscape/ls-dpl/Makefile
index 8ba5fafb2b7..6c53b454170 100644
--- a/package/firmware/layerscape/ls-dpl/Makefile
+++ b/package/firmware/layerscape/ls-dpl/Makefile
@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ls-dpl
-PKG_VERSION:=LSDK-20.04
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=21.08
+PKG_RELEASE:=3
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://source.codeaurora.org/external/qoriq/qoriq-components/mc-utils
-PKG_SOURCE_VERSION:=8672a5f5abcd3a354dcab07e03f2a8a69b2e962d
-PKG_MIRROR_HASH:=4b8ad3148aee1e0c034206543472aebb435655fd03a661c4c1be545dcac7ddf0
+PKG_SOURCE_URL:=https://github.com/nxp-qoriq/mc-utils
+PKG_SOURCE_VERSION:=LSDK-21.08
+PKG_MIRROR_HASH:=372498ff4b5c8a1ac64ead5856d03ee021332f57771989ed6fe066745372b242
PKG_FLAGS:=nonshared
@@ -34,17 +34,17 @@ MAKE_VARS+= \
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
- $(CP) $(PKG_BUILD_DIR)/config/ls1088a/RDB/dpl-eth.0x1D_0x0D.dtb \
+ $(CP) $(PKG_BUILD_DIR)/config/ls1088a/LS1088A-RDB/dpl-eth.0x1D_0x0D.dtb \
$(STAGING_DIR_IMAGE)/fsl_ls1088a-rdb-dpl.dtb
- $(CP) $(PKG_BUILD_DIR)/config/ls1088a/RDB/dpc.0x1D-0x0D.dtb \
+ $(CP) $(PKG_BUILD_DIR)/config/ls1088a/LS1088A-RDB/dpc.0x1D-0x0D.dtb \
$(STAGING_DIR_IMAGE)/fsl_ls1088a-rdb-dpc.dtb
- $(CP) $(PKG_BUILD_DIR)/config/ls2088a/RDB/dpl-eth.0x2A_0x41.dtb \
+ $(CP) $(PKG_BUILD_DIR)/config/ls2088a/LS2088A-RDB/dpl-eth.0x2A_0x41.dtb \
$(STAGING_DIR_IMAGE)/fsl_ls2088a-rdb-dpl.dtb
- $(CP) $(PKG_BUILD_DIR)/config/ls2088a/RDB/dpc.0x2A_0x41.dtb \
+ $(CP) $(PKG_BUILD_DIR)/config/ls2088a/LS2088A-RDB/dpc.0x2A_0x41.dtb \
$(STAGING_DIR_IMAGE)/fsl_ls2088a-rdb-dpc.dtb
- $(CP) $(PKG_BUILD_DIR)/config/lx2160a/RDB/dpl-eth.19.dtb \
+ $(CP) $(PKG_BUILD_DIR)/config/lx2160a/LX2160A-RDB/dpl-eth.19.dtb \
$(STAGING_DIR_IMAGE)/fsl_lx2160a-rdb-dpl.dtb
- $(CP) $(PKG_BUILD_DIR)/config/lx2160a/RDB/dpc-usxgmii.dtb \
+ $(CP) $(PKG_BUILD_DIR)/config/lx2160a/LX2160A-RDB/dpc-usxgmii.dtb \
$(STAGING_DIR_IMAGE)/fsl_lx2160a-rdb-dpc.dtb
endef
diff --git a/package/firmware/layerscape/ls-mc/Makefile b/package/firmware/layerscape/ls-mc/Makefile
index 3b2cdebbf1b..49cdfdc0625 100644
--- a/package/firmware/layerscape/ls-mc/Makefile
+++ b/package/firmware/layerscape/ls-mc/Makefile
@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ls-mc
-PKG_VERSION:=LSDK-20.04
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=21.08
+PKG_RELEASE:=3
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/NXP/qoriq-mc-binary.git
-PKG_SOURCE_VERSION:=f73683596a7b72124d67b62e64f3dc2bb36b9321
-PKG_MIRROR_HASH:=1cba30c2a6814763c3e155c1cc5fa21998bb6ad5814fcb09e99f98bf36f65d9e
+PKG_SOURCE_VERSION:=LSDK-21.08
+PKG_MIRROR_HASH:=ab22c16b2bce37886c15ffeed7b068e5b46d619eae58e5a6a005028f5ddb06b6
PKG_FLAGS:=nonshared
@@ -32,11 +32,11 @@ endef
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
- $(CP) $(PKG_BUILD_DIR)/ls1088a/mc_10.20.4_ls1088a.itb \
+ $(CP) $(PKG_BUILD_DIR)/ls1088a/mc_ls1088a_10.28.1.itb \
$(STAGING_DIR_IMAGE)/fsl_ls1088a-rdb-mc.itb
- $(CP) $(PKG_BUILD_DIR)/ls2088a/mc_10.20.4_ls2088a.itb \
+ $(CP) $(PKG_BUILD_DIR)/ls2088a/mc_ls2088a_10.28.1.itb \
$(STAGING_DIR_IMAGE)/fsl_ls2088a-rdb-mc.itb
- $(CP) $(PKG_BUILD_DIR)/lx2160a/mc_10.20.4_lx2160a.itb \
+ $(CP) $(PKG_BUILD_DIR)/lx216xa/mc_lx2160a_10.28.1.itb \
$(STAGING_DIR_IMAGE)/fsl_lx2160a-rdb-mc.itb
endef
diff --git a/package/firmware/layerscape/ls-rcw/Makefile b/package/firmware/layerscape/ls-rcw/Makefile
index fdc5c0ce24c..1569f1042e7 100644
--- a/package/firmware/layerscape/ls-rcw/Makefile
+++ b/package/firmware/layerscape/ls-rcw/Makefile
@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ls-rcw
-PKG_VERSION:=LSDK-20.04-update-290520
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=lf-6.1.1-1.0.0
+PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://source.codeaurora.org/external/qoriq/qoriq-components/rcw
-PKG_SOURCE_VERSION:=e0fab6d9b61003caef577f7474c2fac61e6ba2ff
-PKG_MIRROR_HASH:=b6bc66e27b7c6db31101fdc2e6be7255181861bd38d8f25eb5eb80c468983eb2
+PKG_SOURCE_URL:=https://github.com/nxp-qoriq/rcw
+PKG_SOURCE_VERSION:=lf-6.1.1-1.0.0
+PKG_MIRROR_HASH:=3127285549a0a7dd3cded20c2fbfb67b06943faa8dab529f61936dc1bea177db
PKG_FLAGS:=nonshared
@@ -31,6 +31,8 @@ BOARDS := \
ls1012a-rdb \
ls1012a-frdm \
ls1012a-frwy-sdboot \
+ ls1028a-rdb \
+ ls1028a-rdb-sdboot \
ls1043a-rdb \
ls1043a-rdb-sdboot \
ls1046a-frwy \
@@ -47,6 +49,8 @@ BOARDS := \
RCW_ls1012a-rdb :=ls1012ardb/R_SPNH_3508/rcw_1000_default.bin
RCW_ls1012a-frdm :=ls1012afrdm/N_SSNP_3305/rcw_800.bin
RCW_ls1012a-frwy-sdboot :=ls1012afrwy/N_SSNP_3305/rcw_1000_default.bin
+RCW_ls1028a-rdb :=ls1028ardb/R_SQPP_0x85bb/rcw_1300.bin
+RCW_ls1028a-rdb-sdboot :=ls1028ardb/R_SQPP_0x85bb/rcw_1500_sdboot.bin
RCW_ls1043a-rdb :=ls1043ardb/RR_FQPP_1455/rcw_1600.bin
RCW_ls1043a-rdb-sdboot :=ls1043ardb/RR_FQPP_1455/rcw_1600_sdboot.bin
RCW_ls1046a-frwy :=ls1046afrwy/NN_NNQNNPNP_3040_0506/rcw_1600_qspiboot.bin
diff --git a/package/firmware/layerscape/ls-rcw/patches/0001-Remove-tclsh-checking.patch b/package/firmware/layerscape/ls-rcw/patches/0001-Remove-tclsh-checking.patch
deleted file mode 100644
index 069686ab556..00000000000
--- a/package/firmware/layerscape/ls-rcw/patches/0001-Remove-tclsh-checking.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 786d501c32b9341d381b3371234213f92d948b66 Mon Sep 17 00:00:00 2001
-From: Yangbo Lu <yangbo.lu@nxp.com>
-Date: Fri, 13 Mar 2020 18:15:36 +0800
-Subject: [PATCH] Remove tclsh checking
-
-The tclsh is no longer needed for byte swapping.
-
-Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
----
- Makefile | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 9183e19..2832ab2 100644
---- a/Makefile
-+++ b/Makefile
-@@ -12,15 +12,9 @@ BOARDS = b4420qds b4860qds \
- t1024qds t1023rdb t1024rdb t1040rdb t1042rdb t1042rdb_pi t1040qds \
- t2080rdb t2080qds t2081qds t4240qds t4240rdb t1040d4rdb t1042d4rdb
-
--TCLSH := $(shell command -v tclsh 2> /dev/null)
--
- VER = $(shell git describe --tags)
-
- all install clean:
--ifndef TCLSH
-- $(error "tclsh is not available. please install it.")
-- exit 1
--endif
- @for board in $(BOARDS); do \
- $(MAKE) -C $$board $@ DESTDIR=$(DESTDIR)/$$board; \
- done
---
-2.7.4
-
diff --git a/package/firmware/layerscape/ppfe-firmware/Makefile b/package/firmware/layerscape/ppfe-firmware/Makefile
index 96246fa0d9a..86f6194125a 100644
--- a/package/firmware/layerscape/ppfe-firmware/Makefile
+++ b/package/firmware/layerscape/ppfe-firmware/Makefile
@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ppfe
-PKG_VERSION:=LSDK-20.04
+PKG_VERSION:=lf-6.1.1-1.0.0
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/NXP/qoriq-engine-pfe-bin.git
-PKG_SOURCE_VERSION:=d3a8ef0760c54ddc243039c86389497e37be90ab
-PKG_MIRROR_HASH:=64be93b8249d298e7b5fd0846787835f0659b6ab6c55b40b809366c79e272eb8
+PKG_SOURCE_URL:=https://github.com/nxp-qoriq/qoriq-engine-pfe-bin
+PKG_SOURCE_VERSION:=lf-6.1.1-1.0.0
+PKG_MIRROR_HASH:=eb1e3efe08980e70594060c84c1620a1dde53e00e96bae63d15dceb236c0bfa8
PKG_FLAGS:=nonshared
diff --git a/package/firmware/linux-firmware/Makefile b/package/firmware/linux-firmware/Makefile
index 2ad213b82b7..f7f1f978e30 100644
--- a/package/firmware/linux-firmware/Makefile
+++ b/package/firmware/linux-firmware/Makefile
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=linux-firmware
-PKG_VERSION:=20210511
-PKG_RELEASE:=1
+PKG_VERSION:=20231211
+PKG_RELEASE:=2
PKG_SOURCE_URL:=@KERNEL/linux/kernel/firmware
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_HASH:=2aa6ae8b9808408f9811ac38f00c188e53e984a2b3990254f6c9c02c1ab13417
+PKG_HASH:=96af7e4b5eabd37869cdb3dcbb7ab36911106d39b76e799fa1caab16a9dbe8bb
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
@@ -21,6 +21,9 @@ SCAN_DEPS = *.mk
include $(INCLUDE_DIR)/package.mk
+RSTRIP:=:
+STRIP:=:
+
define Package/firmware-default
SECTION:=firmware
CATEGORY:=Firmware
diff --git a/package/firmware/linux-firmware/airoha.mk b/package/firmware/linux-firmware/airoha.mk
new file mode 100644
index 00000000000..ac64d11e41c
--- /dev/null
+++ b/package/firmware/linux-firmware/airoha.mk
@@ -0,0 +1,17 @@
+Package/airoha-en8811h-firmware = $(call Package/firmware-default,Airoha EN8811H 2.5G Ethernet PHY firmware)
+define Package/airoha-en8811h-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/airoha
+ $(CP) \
+ $(PKG_BUILD_DIR)/airoha/EthMD32.dm.bin \
+ $(PKG_BUILD_DIR)/airoha/EthMD32.DSP.bin \
+ $(1)/lib/firmware/airoha
+ifneq ($(CONFIG_TARGET_mediatek_filogic),)
+ $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
+ cat \
+ $(PKG_BUILD_DIR)/airoha/EthMD32.dm.bin \
+ $(PKG_BUILD_DIR)/airoha/EthMD32.DSP.bin \
+ > $(STAGING_DIR_IMAGE)/EthMD32.bin
+endif
+endef
+
+$(eval $(call BuildPackage,airoha-en8811h-firmware))
diff --git a/package/firmware/linux-firmware/amd.mk b/package/firmware/linux-firmware/amd.mk
new file mode 100644
index 00000000000..68b305e8626
--- /dev/null
+++ b/package/firmware/linux-firmware/amd.mk
@@ -0,0 +1,29 @@
+Package/amd64-microcode = $(call Package/firmware-default,AMD64 CPU microcode,@TARGET_x86)
+define Package/amd64-microcode/install
+ $(INSTALL_DIR) $(1)/lib/firmware/amd-ucode
+ $(CP) \
+ $(PKG_BUILD_DIR)/amd-ucode/*.bin \
+ $(1)/lib/firmware/amd-ucode
+endef
+
+$(eval $(call BuildPackage,amd64-microcode))
+
+Package/amdgpu-firmware = $(call Package/firmware-default,AMDGPU Video Driver firmware)
+define Package/amdgpu-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/amdgpu
+ $(CP) \
+ $(PKG_BUILD_DIR)/amdgpu/*.bin \
+ $(1)/lib/firmware/amdgpu
+endef
+
+$(eval $(call BuildPackage,amdgpu-firmware))
+
+Package/radeon-firmware = $(call Package/firmware-default,Radeon Video Driver firmware)
+define Package/radeon-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/radeon
+ $(CP) \
+ $(PKG_BUILD_DIR)/radeon/*.bin \
+ $(1)/lib/firmware/radeon
+endef
+
+$(eval $(call BuildPackage,radeon-firmware))
diff --git a/package/firmware/linux-firmware/amdgpu.mk b/package/firmware/linux-firmware/amdgpu.mk
deleted file mode 100644
index 89f11e7c393..00000000000
--- a/package/firmware/linux-firmware/amdgpu.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-Package/amdgpu-firmware = $(call Package/firmware-default,AMDGPU Video Driver firmware)
-define Package/amdgpu-firmware/install
- $(INSTALL_DIR) $(1)/lib/firmware/amdgpu
- $(CP) \
- $(PKG_BUILD_DIR)/amdgpu/*.bin \
- $(1)/lib/firmware/amdgpu
-endef
-
-$(eval $(call BuildPackage,amdgpu-firmware))
diff --git a/package/firmware/linux-firmware/broadcom.mk b/package/firmware/linux-firmware/broadcom.mk
index 26f65346323..088a2665ccd 100644
--- a/package/firmware/linux-firmware/broadcom.mk
+++ b/package/firmware/linux-firmware/broadcom.mk
@@ -1,3 +1,16 @@
+Package/brcmfmac-firmware-4339-sdio = $(call Package/firmware-default,Broadcom 4339 FullMAC SDIO firmware)
+define Package/brcmfmac-firmware-4339-sdio/install
+ $(INSTALL_DIR) $(1)/lib/firmware/cypress
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/cypress/cyfmac4339-sdio.bin \
+ $(1)/lib/firmware/cypress/
+ $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(LN) \
+ ../cypress/cyfmac4339-sdio.bin \
+ $(1)/lib/firmware/brcm/brcmfmac4339-sdio.bin
+endef
+$(eval $(call BuildPackage,brcmfmac-firmware-4339-sdio))
+
Package/brcmfmac-firmware-43602a1-pcie = $(call Package/firmware-default,Broadcom 43602a1 FullMAC PCIe firmware)
define Package/brcmfmac-firmware-43602a1-pcie/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
@@ -34,23 +47,53 @@ define Package/brcmfmac-firmware-4329-sdio/install
endef
$(eval $(call BuildPackage,brcmfmac-firmware-4329-sdio))
-Package/brcmfmac-firmware-43430-sdio-rpi-3b = $(call Package/firmware-default,Broadcom BCM43430 NVRAM for Raspberry Pi 3B)
-define Package/brcmfmac-firmware-43430-sdio-rpi-3b/install
+Package/brcmfmac-nvram-43430-sdio = $(call Package/firmware-default,Broadcom BCM43430 SDIO NVRAM)
+define Package/brcmfmac-nvram-43430-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt \
- $(1)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
-endef
-$(eval $(call BuildPackage,brcmfmac-firmware-43430-sdio-rpi-3b))
-
-Package/brcmfmac-firmware-43430-sdio-rpi-zero-w = $(call Package/firmware-default,Broadcom BCM43430 NVRAM for Raspberry Pi Zero W)
-define Package/brcmfmac-firmware-43430-sdio-rpi-zero-w/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ $(PKG_BUILD_DIR)/brcm/brcmfmac43430-sdio.AP6212.txt \
+ $(1)/lib/firmware/brcm/
+ $(LN) \
+ brcmfmac43430-sdio.AP6212.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-plus.txt
+ $(LN) \
+ brcmfmac43430-sdio.AP6212.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-zero.txt
+ $(LN) \
+ brcmfmac43430-sdio.AP6212.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-ultra.txt
+ $(LN) \
+ brcmfmac43430-sdio.AP6212.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m3.txt
+ $(LN) \
+ brcmfmac43430-sdio.AP6212.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43430-sdio.friendlyarm,nanopi-r1.txt
+ $(LN) \
+ brcmfmac43430-sdio.AP6212.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43430-sdio.starfive,visionfive-v1.txt
+ $(LN) \
+ brcmfmac43430-sdio.AP6212.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43430-sdio.beagle,beaglev-starlight-jh7100-a1.txt
+ $(LN) \
+ brcmfmac43430-sdio.AP6212.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43430-sdio.beagle,beaglev-starlight-jh7100-r0.txt
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt \
+ $(1)/lib/firmware/brcm/
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/brcm/brcmfmac43430-sdio.MUR1DX.txt \
+ $(1)/lib/firmware/brcm/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt \
+ $(1)/lib/firmware/brcm/
+ $(LN) \
+ brcmfmac43430-sdio.raspberrypi,3-model-b.txt \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt
+ $(LN) \
+ brcmfmac43430-sdio.raspberrypi,3-model-b.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-2-w.txt
endef
-$(eval $(call BuildPackage,brcmfmac-firmware-43430-sdio-rpi-zero-w))
+$(eval $(call BuildPackage,brcmfmac-nvram-43430-sdio))
Package/brcmfmac-firmware-43430a0-sdio = $(call Package/firmware-default,Broadcom BCM43430a0 FullMac SDIO firmware)
define Package/brcmfmac-firmware-43430a0-sdio/install
@@ -61,23 +104,68 @@ define Package/brcmfmac-firmware-43430a0-sdio/install
endef
$(eval $(call BuildPackage,brcmfmac-firmware-43430a0-sdio))
-Package/brcmfmac-firmware-43455-sdio-rpi-3b-plus = $(call Package/firmware-default,Broadcom BCM43455 NVRAM for Raspberry Pi 3B+)
-define Package/brcmfmac-firmware-43455-sdio-rpi-3b-plus/install
+Package/brcmfmac-nvram-43455-sdio = $(call Package/firmware-default,Broadcom BCM43455 SDIO NVRAM)
+define Package/brcmfmac-nvram-43455-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/brcm/brcmfmac43455-sdio.acepc-t8.txt \
+ $(1)/lib/firmware/brcm/
+ $(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt \
- $(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
+ $(1)/lib/firmware/brcm/
+ $(LN) \
+ brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt \
+ $(1)/lib/firmware/brcm/
+ $(LN) \
+ brcmfmac43455-sdio.raspberrypi,4-model-b.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt
+ $(LN) \
+ brcmfmac43455-sdio.raspberrypi,4-model-b.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43455-sdio.Raspberry\ Pi\ Foundation-Raspberry\ Pi\ 4\ Model\ B.txt
+ $(LN) \
+ brcmfmac43455-sdio.raspberrypi,4-model-b.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.txt
+ $(LN) \
+ brcmfmac43455-sdio.raspberrypi,4-model-b.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43455-sdio.Raspberry\ Pi\ Foundation-Raspberry\ Pi\ Compute\ Module\ 4.txt
+ $(LN) \
+ brcmfmac43455-sdio.raspberrypi,4-model-b.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43455-sdio.Raspberry\ Pi\ Foundation-Raspberry\ Pi\ 5\ Model\ B.txt
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/brcm/brcmfmac43455-sdio.MINIX-NEO\ Z83-4.txt \
+ $(1)/lib/firmware/brcm/
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/brcm/brcmfmac43455-sdio.AW-CM256SM.txt \
+ $(1)/lib/firmware/brcm/
+ $(LN) \
+ brcmfmac43455-sdio.AW-CM256SM.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43455-sdio.beagle,am5729-beagleboneai.txt
+ $(LN) \
+ brcmfmac43455-sdio.AW-CM256SM.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43455-sdio.pine64,pinebook-pro.txt
+ $(LN) \
+ brcmfmac43455-sdio.AW-CM256SM.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43455-sdio.pine64,pinephone-pro.txt
+ $(LN) \
+ brcmfmac43455-sdio.AW-CM256SM.txt \
+ $(1)/lib/firmware/brcm/brcmfmac43455-sdio.pine64,quartz64-b.txt
endef
-$(eval $(call BuildPackage,brcmfmac-firmware-43455-sdio-rpi-3b-plus))
+$(eval $(call BuildPackage,brcmfmac-nvram-43455-sdio))
-Package/brcmfmac-firmware-43455-sdio-rpi-4b = $(call Package/firmware-default,Broadcom BCM43455 NVRAM for Raspberry Pi 4B)
-define Package/brcmfmac-firmware-43455-sdio-rpi-4b/install
+Package/brcmfmac-nvram-4356-sdio = $(call Package/firmware-default,Broadcom BCM4356 SDIO NVRAM)
+define Package/brcmfmac-nvram-4356-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt \
- $(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
+ $(PKG_BUILD_DIR)/brcm/brcmfmac4356-sdio.AP6356S.txt \
+ $(1)/lib/firmware/brcm/
+ $(LN) \
+ brcmfmac4356-sdio.AP6356S.txt \
+ $(1)/lib/firmware/brcm/brcmfmac4356-sdio.friendlyarm,nanopc-t4.txt
endef
-$(eval $(call BuildPackage,brcmfmac-firmware-43455-sdio-rpi-4b))
+$(eval $(call BuildPackage,brcmfmac-nvram-4356-sdio))
Package/brcmfmac-firmware-usb = $(call Package/firmware-default,Broadcom BCM43xx fullmac USB firmware)
define Package/brcmfmac-firmware-usb/install
diff --git a/package/firmware/linux-firmware/intel.mk b/package/firmware/linux-firmware/intel.mk
index 923701c703d..19a96b2c85a 100644
--- a/package/firmware/linux-firmware/intel.mk
+++ b/package/firmware/linux-firmware/intel.mk
@@ -3,6 +3,8 @@ define Package/ibt-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/intel
$(CP) \
$(PKG_BUILD_DIR)/intel/*.bseq \
+ $(PKG_BUILD_DIR)/intel/ibt*.sfi \
+ $(PKG_BUILD_DIR)/intel/ibt*.ddc \
$(1)/lib/firmware/intel
endef
$(eval $(call BuildPackage,ibt-firmware))
@@ -168,6 +170,36 @@ define Package/iwlwifi-firmware-iwl9260/install
endef
$(eval $(call BuildPackage,iwlwifi-firmware-iwl9260))
+Package/iwlwifi-firmware-ax101 = $(call Package/firmware-default,Intel AX101 firmware)
+define Package/iwlwifi-firmware-ax101/install
+ $(INSTALL_DIR) $(1)/lib/firmware
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/iwlwifi-so-a0-hr-b0-81.ucode $(1)/lib/firmware
+endef
+$(eval $(call BuildPackage,iwlwifi-firmware-ax101))
+
+Package/iwlwifi-firmware-ax200 = $(call Package/firmware-default,Intel AX200 firmware)
+define Package/iwlwifi-firmware-ax200/install
+ $(INSTALL_DIR) $(1)/lib/firmware
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/iwlwifi-cc-a0-72.ucode $(1)/lib/firmware
+endef
+$(eval $(call BuildPackage,iwlwifi-firmware-ax200))
+
+Package/iwlwifi-firmware-ax210 = $(call Package/firmware-default,Intel AX210 firmware)
+define Package/iwlwifi-firmware-ax210/install
+ $(INSTALL_DIR) $(1)/lib/firmware
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/iwlwifi-ty-a0-gf-a0-72.ucode $(1)/lib/firmware
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/iwlwifi-ty-a0-gf-a0.pnvm $(1)/lib/firmware
+endef
+$(eval $(call BuildPackage,iwlwifi-firmware-ax210))
+
+Package/iwlwifi-firmware-be200 = $(call Package/firmware-default,Intel BE200 firmware)
+define Package/iwlwifi-firmware-be200/install
+ $(INSTALL_DIR) $(1)/lib/firmware
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/iwlwifi-gl-c0-fm-c0-83.ucode $(1)/lib/firmware
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/iwlwifi-gl-c0-fm-c0.pnvm $(1)/lib/firmware
+endef
+$(eval $(call BuildPackage,iwlwifi-firmware-be200))
+
Package/e100-firmware = $(call Package/firmware-default,Intel e100)
define Package/e100-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/e100
diff --git a/package/firmware/linux-firmware/mediatek.mk b/package/firmware/linux-firmware/mediatek.mk
index 18677bc748d..bf6bef22a64 100644
--- a/package/firmware/linux-firmware/mediatek.mk
+++ b/package/firmware/linux-firmware/mediatek.mk
@@ -1,9 +1,9 @@
Package/mt7601u-firmware = $(call Package/firmware-default,MediaTek MT7601U firmware)
define Package/mt7601u-firmware/install
- $(INSTALL_DIR) $(1)/lib/firmware
+ $(INSTALL_DIR) $(1)/lib/firmware/mediatek
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/mt7601u.bin \
- $(1)/lib/firmware
+ $(PKG_BUILD_DIR)/mediatek/mt7601u.bin \
+ $(1)/lib/firmware/mediatek
endef
$(eval $(call BuildPackage,mt7601u-firmware))
@@ -50,3 +50,49 @@ define Package/mt7622bt-firmware/install
$(1)/lib/firmware/mediatek
endef
$(eval $(call BuildPackage,mt7622bt-firmware))
+
+Package/mt7921bt-firmware = $(call Package/firmware-default,mt7921bt firmware)
+define Package/mt7921bt-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/mediatek
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin \
+ $(1)/lib/firmware/mediatek
+endef
+$(eval $(call BuildPackage,mt7921bt-firmware))
+
+Package/mt7922bt-firmware = $(call Package/firmware-default,mt7922bt firmware)
+define Package/mt7922bt-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/mediatek
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin \
+ $(1)/lib/firmware/mediatek
+endef
+$(eval $(call BuildPackage,mt7922bt-firmware))
+
+Package/mt7981-wo-firmware = $(call Package/firmware-default,MT7981 offload firmware)
+define Package/mt7981-wo-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/mediatek
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/mediatek/mt7981_wo.bin \
+ $(1)/lib/firmware/mediatek
+endef
+$(eval $(call BuildPackage,mt7981-wo-firmware))
+
+Package/mt7986-wo-firmware = $(call Package/firmware-default,MT7986 offload firmware)
+define Package/mt7986-wo-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/mediatek
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/mediatek/mt7986_wo_0.bin \
+ $(PKG_BUILD_DIR)/mediatek/mt7986_wo_1.bin \
+ $(1)/lib/firmware/mediatek
+endef
+$(eval $(call BuildPackage,mt7986-wo-firmware))
+
+Package/mt7988-2p5g-phy-firmware = $(call Package/firmware-default,MT7988 built-in 2.5G Ethernet PHY firmware)
+define Package/mt7988-2p5g-phy-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/mediatek/mt7988
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/mediatek/mt7988/i2p5ge-phy-pmb.bin \
+ $(1)/lib/firmware/mediatek/mt7988
+endef
+$(eval $(call BuildPackage,mt7988-2p5g-phy-firmware))
diff --git a/package/firmware/linux-firmware/mellanox.mk b/package/firmware/linux-firmware/mellanox.mk
new file mode 100644
index 00000000000..039c7deb105
--- /dev/null
+++ b/package/firmware/linux-firmware/mellanox.mk
@@ -0,0 +1,9 @@
+Package/mlxsw_spectrum-firmware = $(call Package/firmware-default,Mellanox Spectrum firmware)
+define Package/mlxsw_spectrum-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/mellanox
+ $(CP) \
+ $(PKG_BUILD_DIR)/mellanox/mlxsw_spectrum-*.mfa2 \
+ $(1)/lib/firmware/mellanox
+endef
+
+$(eval $(call BuildPackage,mlxsw_spectrum-firmware))
diff --git a/package/firmware/linux-firmware/qca_ath10k.mk b/package/firmware/linux-firmware/qca_ath10k.mk
index 3bc942b1083..25a1571ad60 100644
--- a/package/firmware/linux-firmware/qca_ath10k.mk
+++ b/package/firmware/linux-firmware/qca_ath10k.mk
@@ -1,14 +1,3 @@
-QCA99X0_BOARD_REV:=ddcec9efd245da9365c474f513a855a55f3ac7fe
-QCA99X0_BOARD_FILE:=board-2.bin.$(QCA99X0_BOARD_REV)
-
-define Download/qca99x0-board
- URL:=https://source.codeaurora.org/quic/qsdk/oss/firmware/ath10k-firmware/plain/ath10k/QCA99X0/hw2.0
- URL_FILE:=board-2.bin?id=$(QCA99X0_BOARD_REV)
- FILE:=$(QCA99X0_BOARD_FILE)
- HASH:=03711ac21e60ef59d3815e235eb721c0c22851b5410299411085aa6f2af45401
-endef
-$(eval $(call Download,qca99x0-board))
-
Package/ath10k-board-qca4019 = $(call Package/firmware-default,ath10k qca4019 board firmware)
define Package/ath10k-board-qca4019/install
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA4019/hw1.0
@@ -17,7 +6,7 @@ define Package/ath10k-board-qca4019/install
$(1)/lib/firmware/ath10k/QCA4019/hw1.0/
endef
$(eval $(call BuildPackage,ath10k-board-qca4019))
-Package/ath10k-firmware-qca4019 = $(call Package/firmware-default,ath10k qca4019 firmware,+ath10k-board-qca4019)
+Package/ath10k-firmware-qca4019 = $(call Package/firmware-default,ath10k qca4019 firmware)
define Package/ath10k-firmware-qca4019/install
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA4019/hw1.0
$(INSTALL_DATA) \
@@ -117,13 +106,11 @@ Package/ath10k-board-qca99x0 = $(call Package/firmware-default,ath10k qca99x0 bo
define Package/ath10k-board-qca99x0/install
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0
$(INSTALL_DATA) \
- $(DL_DIR)/$(QCA99X0_BOARD_FILE) \
+ $(PKG_BUILD_DIR)/ath10k/QCA99X0/hw2.0/board-2.bin \
$(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin
- $(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/ath10k/QCA99X0/hw2.0/board.bin \
- $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin
endef
$(eval $(call BuildPackage,ath10k-board-qca99x0))
+
Package/ath10k-firmware-qca99x0 = $(call Package/firmware-default,ath10k qca99x0 firmware,+ath10k-board-qca99x0)
define Package/ath10k-firmware-qca99x0/install
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0
diff --git a/package/firmware/linux-firmware/qca_ath11k.mk b/package/firmware/linux-firmware/qca_ath11k.mk
new file mode 100644
index 00000000000..b8f6ab8605d
--- /dev/null
+++ b/package/firmware/linux-firmware/qca_ath11k.mk
@@ -0,0 +1,24 @@
+Package/ath11k-firmware-qca6390 = $(call Package/firmware-default,QCA6390 ath11k firmware)
+define Package/ath11k-firmware-qca6390/install
+ $(INSTALL_DIR) $(1)/lib/firmware/ath11k/QCA6390/hw2.0
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/ath11k/QCA6390/hw2.0/* $(1)/lib/firmware/ath11k/QCA6390/hw2.0/
+endef
+$(eval $(call BuildPackage,ath11k-firmware-qca6390))
+
+Package/ath11k-firmware-wcn6750 = $(call Package/firmware-default,WCN6750 ath11k firmware)
+define Package/ath11k-firmware-wcn6750/install
+ $(INSTALL_DIR) $(1)/lib/firmware/ath11k/WCN6750/hw1.0
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/ath11k/WCN6750/hw1.0/* $(1)/lib/firmware/ath11k/WCN6750/hw1.0/
+endef
+$(eval $(call BuildPackage,ath11k-firmware-wcn6750))
+
+Package/ath11k-firmware-wcn6855 = $(call Package/firmware-default,WCN6855 ath11k firmware)
+define Package/ath11k-firmware-wcn6855/install
+ $(INSTALL_DIR) $(1)/lib/firmware/ath11k/WCN6855/hw2.0
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/ath11k/WCN6855/hw2.0/* $(1)/lib/firmware/ath11k/WCN6855/hw2.0/
+ $(LN) ./hw2.0 $(1)/lib/firmware/ath11k/WCN6855/hw2.1
+endef
+$(eval $(call BuildPackage,ath11k-firmware-wcn6855))
diff --git a/package/firmware/linux-firmware/radeon.mk b/package/firmware/linux-firmware/radeon.mk
deleted file mode 100644
index b750efbfce6..00000000000
--- a/package/firmware/linux-firmware/radeon.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-Package/radeon-firmware = $(call Package/firmware-default,Radeon Video Driver firmware)
-define Package/radeon-firmware/install
- $(INSTALL_DIR) $(1)/lib/firmware/radeon
- $(CP) \
- $(PKG_BUILD_DIR)/radeon/*.bin \
- $(1)/lib/firmware/radeon
-endef
-
-$(eval $(call BuildPackage,radeon-firmware))
diff --git a/package/firmware/linux-firmware/realtek.mk b/package/firmware/linux-firmware/realtek.mk
index b0f6ff7f351..b4880b6a7f2 100644
--- a/package/firmware/linux-firmware/realtek.mk
+++ b/package/firmware/linux-firmware/realtek.mk
@@ -1,8 +1,21 @@
+Package/r8152-firmware = $(call Package/firmware-default,RealTek RTL8152 firmware)
+define Package/r8152-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/rtl_nic
+ $(CP) \
+ $(PKG_BUILD_DIR)/rtl_nic/rtl8153* \
+ $(PKG_BUILD_DIR)/rtl_nic/rtl8156* \
+ $(1)/lib/firmware/rtl_nic
+endef
+$(eval $(call BuildPackage,r8152-firmware))
+
Package/r8169-firmware = $(call Package/firmware-default,RealTek RTL8169 firmware)
define Package/r8169-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/rtl_nic
$(CP) \
- $(PKG_BUILD_DIR)/rtl_nic/* \
+ $(PKG_BUILD_DIR)/rtl_nic/rtl810* \
+ $(PKG_BUILD_DIR)/rtl_nic/rtl8125* \
+ $(PKG_BUILD_DIR)/rtl_nic/rtl8168* \
+ $(PKG_BUILD_DIR)/rtl_nic/rtl84* \
$(1)/lib/firmware/rtl_nic
endef
$(eval $(call BuildPackage,r8169-firmware))
@@ -56,13 +69,6 @@ define Package/rtl8192se-firmware/install
endef
$(eval $(call BuildPackage,rtl8192se-firmware))
-Package/rtl8192su-firmware = $(call Package/firmware-default,RealTek RTL8192SU firmware)
-define Package/rtl8192su-firmware/install
- $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtlwifi/rtl8712u.bin $(1)/lib/firmware/rtlwifi
-endef
-$(eval $(call BuildPackage,rtl8192su-firmware))
-
Package/rtl8723au-firmware = $(call Package/firmware-default,RealTek RTL8723AU firmware)
define Package/rtl8723au-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
@@ -76,15 +82,39 @@ Package/rtl8723bu-firmware = $(call Package/firmware-default,RealTek RTL8723BU f
define Package/rtl8723bu-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
$(INSTALL_DATA) $(PKG_BUILD_DIR)/rtlwifi/rtl8723bu_nic.bin $(1)/lib/firmware/rtlwifi
+ ln -s rtl8723bu_nic.bin $(1)/lib/firmware/rtlwifi/rtl8723bs_nic.bin
endef
$(eval $(call BuildPackage,rtl8723bu-firmware))
-Package/rtl8723bs-firmware = $(call Package/firmware-default,RealTek RTL8723BS firmware)
-define Package/rtl8723bs-firmware/install
- $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtlwifi/rtl8723bs*.bin $(1)/lib/firmware/rtlwifi
+Package/rtl8723de-firmware = $(call Package/firmware-default,RealTek RTL8723DE firmware)
+define Package/rtl8723de-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/rtw88
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtw88/rtw8723d_fw.bin $(1)/lib/firmware/rtw88
+endef
+$(eval $(call BuildPackage,rtl8723de-firmware))
+
+Package/rtl8761a-firmware = $(call Package/firmware-default,RealTek RTL8761A firmware)
+define Package/rtl8761a-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/rtl_bt
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtl_bt/rtl8761a_fw.bin $(1)/lib/firmware/rtl_bt
+endef
+$(eval $(call BuildPackage,rtl8761a-firmware))
+
+Package/rtl8761b-firmware = $(call Package/firmware-default,RealTek RTL8761B firmware)
+define Package/rtl8761b-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/rtl_bt
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtl_bt/rtl8761b_config.bin $(1)/lib/firmware/rtl_bt
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtl_bt/rtl8761b_fw.bin $(1)/lib/firmware/rtl_bt
endef
-$(eval $(call BuildPackage,rtl8723bs-firmware))
+$(eval $(call BuildPackage,rtl8761b-firmware))
+
+Package/rtl8761bu-firmware = $(call Package/firmware-default,RealTek RTL8761BU firmware)
+define Package/rtl8761bu-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/rtl_bt
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtl_bt/rtl8761bu_config.bin $(1)/lib/firmware/rtl_bt
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtl_bt/rtl8761bu_fw.bin $(1)/lib/firmware/rtl_bt
+endef
+$(eval $(call BuildPackage,rtl8761bu-firmware))
Package/rtl8821ae-firmware = $(call Package/firmware-default,RealTek RTL8821AE firmware)
define Package/rtl8821ae-firmware/install
@@ -94,6 +124,13 @@ define Package/rtl8821ae-firmware/install
endef
$(eval $(call BuildPackage,rtl8821ae-firmware))
+Package/rtl8821ce-firmware = $(call Package/firmware-default,RealTek RTL8821CE firmware)
+define Package/rtl8821ce-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/rtw88
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtw88/rtw8821c_fw.bin $(1)/lib/firmware/rtw88
+endef
+$(eval $(call BuildPackage,rtl8821ce-firmware))
+
Package/rtl8822be-firmware = $(call Package/firmware-default,RealTek RTL8822BE firmware)
define Package/rtl8822be-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/rtw88
@@ -108,3 +145,32 @@ define Package/rtl8822ce-firmware/install
$(INSTALL_DATA) $(PKG_BUILD_DIR)/rtw88/rtw8822c_wow_fw.bin $(1)/lib/firmware/rtw88
endef
$(eval $(call BuildPackage,rtl8822ce-firmware))
+
+Package/rtl8851be-firmware = $(call Package/firmware-default,RealTek RTL8851BE firmware)
+define Package/rtl8851be-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/rtw89
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtw89/rtw8851b_fw.bin $(1)/lib/firmware/rtw89
+endef
+$(eval $(call BuildPackage,rtl8851be-firmware))
+
+Package/rtl8852ae-firmware = $(call Package/firmware-default,RealTek RTL8852AE firmware)
+define Package/rtl8852ae-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/rtw89
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtw89/rtw8852a_fw.bin $(1)/lib/firmware/rtw89
+endef
+$(eval $(call BuildPackage,rtl8852ae-firmware))
+
+Package/rtl8852be-firmware = $(call Package/firmware-default,RealTek RTL8852BE firmware)
+define Package/rtl8852be-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/rtw89
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtw89/rtw8852b_fw.bin $(1)/lib/firmware/rtw89
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtw89/rtw8852b_fw-1.bin $(1)/lib/firmware/rtw89
+endef
+$(eval $(call BuildPackage,rtl8852be-firmware))
+
+Package/rtl8852ce-firmware = $(call Package/firmware-default,RealTek RTL8852CE firmware)
+define Package/rtl8852ce-firmware/install
+ $(INSTALL_DIR) $(1)/lib/firmware/rtw89
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtw89/rtw8852c_fw.bin $(1)/lib/firmware/rtw89
+endef
+$(eval $(call BuildPackage,rtl8852ce-firmware))
diff --git a/package/firmware/prism54-firmware/Makefile b/package/firmware/prism54-firmware/Makefile
index 2752ac7580b..9a0bbba3cd3 100644
--- a/package/firmware/prism54-firmware/Makefile
+++ b/package/firmware/prism54-firmware/Makefile
@@ -8,25 +8,19 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=prism54-firmware
PKG_RELEASE:=1
-# Prism54 FullMAC firmware (jbnore.free.fr seems to be rather slow, so we use daemonizer.de)
+DL_SUBDIR:=$(PKG_NAME)-$(PKG_RELEASE)
+
+# P54 SoftMAC firmware (jbnore.free.fr seems to be rather slow, so we use daemonizer.de)
PRG_URL:=https://daemonizer.de/prism54/prism54-fw/
include $(INCLUDE_DIR)/package.mk
-# PRISM54/P54 firmwares
-PRISM54FW:=1.0.4.3.arm
+# P54 firmwares
P54USBFW:=2.13.24.0.lm87.arm
P54PCIFW:=2.13.12.0.arm
P54SPIFW:=2.13.0.0.a.13.14.arm
-define Download/prism54-firmware
- FILE:=$(PRISM54FW)
- URL:=$(PRG_URL)/fw-fullmac
- HASH:=dce24156c57234dba131429fbe8cd1de8ba818c9481ddc33cf7e5af9d57a737c
-endef
-$(eval $(call Download,prism54-firmware))
-
define Download/p54-usb-firmware
FILE:=$(P54USBFW)
URL:=$(PRG_URL)/fw-usb
@@ -55,11 +49,6 @@ define Package/prism54-firmware-default
URL:=https://daemonizer.de/prism54/prism54-fw
endef
-define Package/prism54-firmware
-$(Package/prism54-firmware-default)
- TITLE:=prism54 firmware
-endef
-
define Package/p54-usb-firmware
$(Package/prism54-firmware-default)
TITLE:=p54-usb firmware
@@ -84,11 +73,6 @@ define Build/Compile
endef
-define Package/prism54-firmware/install
- $(INSTALL_DIR) $(1)/lib/firmware
- $(INSTALL_DATA) $(DL_DIR)/$(PRISM54FW) $(1)/lib/firmware/isl3890
-endef
-
define Package/p54-usb-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware
$(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
@@ -105,7 +89,6 @@ define Package/p54-spi-firmware/install
endef
-$(eval $(call BuildPackage,prism54-firmware))
$(eval $(call BuildPackage,p54-usb-firmware))
$(eval $(call BuildPackage,p54-pci-firmware))
$(eval $(call BuildPackage,p54-spi-firmware))
diff --git a/package/firmware/wireless-regdb/Makefile b/package/firmware/wireless-regdb/Makefile
index c209d802e47..431d07c35b8 100644
--- a/package/firmware/wireless-regdb/Makefile
+++ b/package/firmware/wireless-regdb/Makefile
@@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=wireless-regdb
-PKG_VERSION:=2021.04.21
+PKG_VERSION:=2024.01.23
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/software/network/wireless-regdb/
-PKG_HASH:=9e4c02b2a9710df4dbdb327c39612e8cbbae6495987afeddaebab28c1ea3d8fa
+PKG_HASH:=c8a61c9acf76fa7eb4239e89f640dee3e87098d9f69b4d3518c9c60fc6d20c55
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
@@ -16,7 +16,7 @@ define Package/wireless-regdb
PKGARCH:=all
SECTION:=firmware
CATEGORY:=Firmware
- URL:=https://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git/
+ URL:=https://git.kernel.org/pub/scm/linux/kernel/git/wens/wireless-regdb.git/
TITLE:=Wireless Regulatory Database
endef
diff --git a/package/firmware/wireless-regdb/patches/500-world-regd-5GHz.patch b/package/firmware/wireless-regdb/patches/500-world-regd-5GHz.patch
index ae38f93537b..3f6d4c7e8d0 100644
--- a/package/firmware/wireless-regdb/patches/500-world-regd-5GHz.patch
+++ b/package/firmware/wireless-regdb/patches/500-world-regd-5GHz.patch
@@ -5,7 +5,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
--- a/db.txt
+++ b/db.txt
-@@ -16,7 +16,7 @@ country 00:
+@@ -19,7 +19,7 @@ country 00:
# Channel 14. Only JP enables this and for 802.11b only
(2474 - 2494 @ 20), (20), NO-IR, NO-OFDM
# Channel 36 - 48