Skip to content

Commit

Permalink
net/wifi-firmware-*kmod: improve build logic, add flavors, update fw …
Browse files Browse the repository at this point in the history
…version

- update framework to no longer depend on local distfiles for firmware(9)
  but generate the Makefile hierarchy in post-extract.  Keep a
  Makefile.inc.in in files for simplicity.
- update extracting WHENCE parts using a local WHENCE.awk.in in files
  and a pattern to match the section(s).
- use the already prepared FWSUBS sections for flavors and add the
  FWDRV as "default".  Generate the CONFLICTS_INSTALL conflict and
  PKGNAMESUFFIX entries.  Adjust paths and logic for flavors.
  Depend on the flavors rather the combined ("default flavor") packages
  by default if someone installs wifi-firmware-kmod.
  The wifi-firmware-${name}-kmod packages are still built for older
  versions of fwget shipping in releases.
- add support for iwlwifi and ath12k firmware
- update firmware to linux-firmware.git tag: 20240513 for all drivers.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	jrm
Differential Revision: https://reviews.freebsd.org/D44945
  • Loading branch information
Bjoern A. Zeeb authored and Bjoern A. Zeeb committed May 23, 2024
1 parent 3dc4928 commit 80f50c9
Show file tree
Hide file tree
Showing 22 changed files with 728 additions and 369 deletions.
126 changes: 68 additions & 58 deletions net/wifi-firmware-ath10k-kmod/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,87 +2,97 @@ BASEDIR= ${.CURDIR}/../wifi-firmware-kmod

FWDRV= ath10k
FWSUBDIR= ath10k
FWDRV_VERSION= 20230310
FWDRV_VERSION= 20240513

LICENSE= LICENSE.QualcommAtheros_ath10k
LICENSE_NAME= QCA firmware license (${FWDRV})

FWSUBS= \
QCA6174_hw21 \
QCA6174_hw30 \
QCA9377_hw10 \
QCA9887_hw10 \
QCA9888_hw20 \
QCA988X_hw20 \
QCA9984_hw10 \
QCA99X0_hw20
WHENCE_REGEX= ath10k -.*

DISTFILES_QCA6174_hw21= \
${FWSUBDIR}/QCA6174/hw2.1/board.bin${DISTURL_SUFFIX} \
# The flavor/firmware lists below are generated by a script
# also helping to generate the fwget(8) definitions.
# { sys/contrib/dev/athk/ath10k/zzz_fw_ports_fwget.sh }
### >>>

FWSUBS= \
qca988x_hw20 \
qca6174_hw21 \
qca6174_hw30 \
qca99x0_hw20 \
qca9377_hw10 \
qca9984_hw10 \
qca9887_hw10 \
qca9888_hw20

DISTFILES_qca988x_hw20= \
${FWSUBDIR}/QCA988X/hw2.0/board.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA988X/hw2.0/firmware-4.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA988X/hw2.0/firmware-5.bin${DISTURL_SUFFIX}
DISTFILES_qca988x_hw20_lic= \
${FWSUBDIR}/QCA988X/hw2.0/notice_ath10k_firmware-4.txt${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA988X/hw2.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX}
DISTFILES_qca6174_hw21= \
${FWSUBDIR}/QCA6174/hw2.1/board-2.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA6174/hw2.1/board.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA6174/hw2.1/firmware-5.bin${DISTURL_SUFFIX}
DISTFILES_QCA6174_hw21_lic= \
DISTFILES_qca6174_hw21_lic= \
${FWSUBDIR}/QCA6174/hw2.1/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX}
DISTFILES_QCA6174_hw30= \
${FWSUBDIR}/QCA6174/hw3.0/board.bin${DISTURL_SUFFIX} \
DISTFILES_qca6174_hw30= \
${FWSUBDIR}/QCA6174/hw3.0/board-2.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA6174/hw3.0/board.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA6174/hw3.0/firmware-4.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA6174/hw3.0/firmware-6.bin${DISTURL_SUFFIX}
DISTFILES_QCA6174_hw30_lic= \
DISTFILES_qca6174_hw30_lic= \
${FWSUBDIR}/QCA6174/hw3.0/notice_ath10k_firmware-4.txt${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA6174/hw3.0/notice_ath10k_firmware-6.txt${DISTURL_SUFFIX}
DISTFILES_QCA9377_hw10= \
${FWSUBDIR}/QCA9377/hw1.0/board.bin${DISTURL_SUFFIX} \
DISTFILES_qca99x0_hw20= \
${FWSUBDIR}/QCA99X0/hw2.0/board-2.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA99X0/hw2.0/firmware-5.bin${DISTURL_SUFFIX}
DISTFILES_qca99x0_hw20_lic= \
${FWSUBDIR}/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX}
DISTFILES_qca9377_hw10= \
${FWSUBDIR}/QCA9377/hw1.0/board-2.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA9377/hw1.0/board.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA9377/hw1.0/firmware-5.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA9377/hw1.0/firmware-6.bin${DISTURL_SUFFIX}
DISTFILES_QCA9377_hw10_lic= \
DISTFILES_qca9377_hw10_lic= \
${FWSUBDIR}/QCA9377/hw1.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA9377/hw1.0/notice_ath10k_firmware-6.txt${DISTURL_SUFFIX}
DISTFILES_QCA9887_hw10= \
DISTFILES_qca9984_hw10= \
${FWSUBDIR}/QCA9984/hw1.0/board-2.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA9984/hw1.0/firmware-5.bin${DISTURL_SUFFIX}
DISTFILES_qca9984_hw10_lic= \
${FWSUBDIR}/QCA9984/hw1.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX}
DISTFILES_qca9887_hw10= \
${FWSUBDIR}/QCA9887/hw1.0/board.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA9887/hw1.0/firmware-5.bin${DISTURL_SUFFIX}
DISTFILES_QCA9887_hw10_lic= \
DISTFILES_qca9887_hw10_lic= \
${FWSUBDIR}/QCA9887/hw1.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX}
DISTFILES_QCA9888_hw20= \
DISTFILES_qca9888_hw20= \
${FWSUBDIR}/QCA9888/hw2.0/board-2.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA9888/hw2.0/firmware-5.bin${DISTURL_SUFFIX}
DISTFILES_QCA9888_hw20_lic= \
DISTFILES_qca9888_hw20_lic= \
${FWSUBDIR}/QCA9888/hw2.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX}
DISTFILES_QCA988X_hw20= \
${FWSUBDIR}/QCA988X/hw2.0/board.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA988X/hw2.0/firmware-4.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA988X/hw2.0/firmware-5.bin${DISTURL_SUFFIX}
DISTFILES_QCA988X_hw20_lic= \
${FWSUBDIR}/QCA988X/hw2.0/notice_ath10k_firmware-4.txt${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA988X/hw2.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX}
DISTFILES_QCA9984_hw10= \
${FWSUBDIR}/QCA9984/hw1.0/board-2.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA9984/hw1.0/firmware-5.bin${DISTURL_SUFFIX}
DISTFILES_QCA9984_hw10_lic= \
${FWSUBDIR}/QCA9984/hw1.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX}
DISTFILES_QCA99X0_hw20= \
${FWSUBDIR}/QCA99X0/hw2.0/board-2.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA99X0/hw2.0/firmware-5.bin${DISTURL_SUFFIX}
DISTFILES_QCA99X0_hw20_lic= \
${FWSUBDIR}/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX}
DISTFILES_fw= \
${DISTFILES_QCA6174_hw21} \
${DISTFILES_QCA6174_hw30} \
${DISTFILES_QCA9377_hw10} \
${DISTFILES_QCA9887_hw10} \
${DISTFILES_QCA9888_hw20} \
${DISTFILES_QCA988X_hw20} \
${DISTFILES_QCA9984_hw10} \
${DISTFILES_QCA99X0_hw20}
DISTFILES_lic= \
${DISTFILES_QCA6174_hw21_lic} \
${DISTFILES_QCA6174_hw30_lic} \
${DISTFILES_QCA9377_hw10_lic} \
${DISTFILES_QCA9887_hw10_lic} \
${DISTFILES_QCA9888_hw20_lic} \
${DISTFILES_QCA988X_hw20_lic} \
${DISTFILES_QCA9984_hw10_lic} \
${DISTFILES_QCA99X0_hw20_lic}

DISTFILES_${FWDRV}= \
${DISTFILES_qca988x_hw20} \
${DISTFILES_qca6174_hw21} \
${DISTFILES_qca6174_hw30} \
${DISTFILES_qca99x0_hw20} \
${DISTFILES_qca9377_hw10} \
${DISTFILES_qca9984_hw10} \
${DISTFILES_qca9887_hw10} \
${DISTFILES_qca9888_hw20}
DISTFILES_${FWDRV}_lic= \
${DISTFILES_qca988x_hw20_lic} \
${DISTFILES_qca6174_hw21_lic} \
${DISTFILES_qca6174_hw30_lic} \
${DISTFILES_qca99x0_hw20_lic} \
${DISTFILES_qca9377_hw10_lic} \
${DISTFILES_qca9984_hw10_lic} \
${DISTFILES_qca9887_hw10_lic} \
${DISTFILES_qca9888_hw20_lic}

### <<<

.include "${BASEDIR}/Makefile.inc"

0 comments on commit 80f50c9

Please sign in to comment.