diff --git a/net/wifi-firmware-mt76-kmod/Makefile b/net/wifi-firmware-mt76-kmod/Makefile new file mode 100644 --- /dev/null +++ b/net/wifi-firmware-mt76-kmod/Makefile @@ -0,0 +1,65 @@ +PORTNAME= wifi-firmware-mt76-kmod +PORTVERSION= 20230310 +CATEGORIES= net +#MASTER_SITES= https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/?h=${PORTVERSION} +MASTER_SITES= https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/ +MASTER_SITES+= LOCAL/bz:mkbuild + +MAINTAINER= bz@FreeBSD.org +COMMENT= Firmware modules for Mediatek mt76 ${FLAVOR} WiFi NIC +WWW= https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/mediatek + +LICENSE= MEDIATEK +LICENSE_NAME= Mediatek firmware license (mt76) +LICENSE_FILE= ${WRKSRC}/LICENCE.mediatek +LICENSE_PERMS= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept + +EXTRACT_SUFX= +# Split things up in case we decide to make this flavors once we add support for more drivers. +DISTFILES_mt7915= \ + mediatek/mt7915_wa.bin \ + mediatek/mt7915_wm.bin \ + mediatek/mt7915_rom_patch.bin \ + mediatek/mt7916_wa.bin \ + mediatek/mt7916_wm.bin \ + mediatek/mt7916_rom_patch.bin +DISTFILES_mt7921= \ + mediatek/WIFI_RAM_CODE_MT7961_1.bin \ + mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin \ + mediatek/WIFI_RAM_CODE_MT7922_1.bin \ + mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin +DISTFILES= LICENCE.mediatek \ + WHENCE \ + ${DISTFILES_mt7915} \ + ${DISTFILES_mt7921} \ + modules_mt76fw_${PORTVERSION}.tar.gz:mkbuild +DISTURL_SUFFIX= ?h=${PORTVERSION} + +DIST_SUBDIR= linux-firmware/mt76fw +EXTRACT_ONLY= modules_mt76fw_${PORTVERSION}.tar.gz + +ONLY_FOR_ARCHS= aarch64 amd64 i386 +ONLY_FOR_ARCHS_REASON= LinuxKPI driver only available for these architectures + +USES= kmod uidfix + +post-extract: + @${MV} ${WRKDIR}/mt76fw ${WRKSRC} + @${CP} ${DISTDIR}/${DIST_SUBDIR}/LICENCE.mediatek ${WRKSRC}/ + @${AWK} -f ${WRKSRC}/WHENCE.awk ${DISTDIR}/${DIST_SUBDIR}/WHENCE > ${WRKSRC}/WHENCE + +# Internal hack we should probably upstream. +# Add WHENCE file next to license where it makes sense despite not being a license. +_USES_stage+= 881:post-install-license +post-install-license: + ${INSTALL_DATA} ${WRKSRC}/WHENCE ${STAGEDIR}${_LICENSE_DIR}/ + +.include + +MAKE_ENV+= FWSRCDIR=${DISTDIR}/${DIST_SUBDIR}/mediatek +MAKE_FLAGS+= -C ${WRKSRC}/${FLAVOR} + +PLIST_SUB+= MT7915="" MT7921="" +PLIST_FILES+= ${_LICENSE_DIR}/WHENCE + +.include diff --git a/net/wifi-firmware-mt76-kmod/distinfo b/net/wifi-firmware-mt76-kmod/distinfo new file mode 100644 --- /dev/null +++ b/net/wifi-firmware-mt76-kmod/distinfo @@ -0,0 +1,27 @@ +TIMESTAMP = 1679673552 +SHA256 (linux-firmware/mt76fw/LICENCE.mediatek) = a90d3f66704d85889945fec5525ea77622549da83aced1aac99828383f8f1805 +SIZE (linux-firmware/mt76fw/LICENCE.mediatek) = 561 +SHA256 (linux-firmware/mt76fw/WHENCE) = 866f14018cd82a4465cd13a278bec2f0750ca3e5b03c34082a16458ebd464d64 +SIZE (linux-firmware/mt76fw/WHENCE) = 203894 +SHA256 (linux-firmware/mt76fw/mediatek/mt7915_wa.bin) = c28a3279fcdbd22f3ae34fa5c2adef3617015d1142b46ba8fa388beda7d968a0 +SIZE (linux-firmware/mt76fw/mediatek/mt7915_wa.bin) = 116160 +SHA256 (linux-firmware/mt76fw/mediatek/mt7915_wm.bin) = 93ada741ec11b8a8c12dde51dd1c54e05ef860a9d0c79cebea0a8c3089aa550c +SIZE (linux-firmware/mt76fw/mediatek/mt7915_wm.bin) = 1260960 +SHA256 (linux-firmware/mt76fw/mediatek/mt7915_rom_patch.bin) = 89fae20235b31400abc5558200d66951a119801ff4a5d6e19d3550cadc7a75d8 +SIZE (linux-firmware/mt76fw/mediatek/mt7915_rom_patch.bin) = 144544 +SHA256 (linux-firmware/mt76fw/mediatek/mt7916_wa.bin) = 34c376dd0ed8e56d4a71818a28d6b905e3b6c1bad3fe3ea0f37ad38072d8527a +SIZE (linux-firmware/mt76fw/mediatek/mt7916_wa.bin) = 507856 +SHA256 (linux-firmware/mt76fw/mediatek/mt7916_wm.bin) = 3af39d1154e5fc2eacff0df7ba28a069d744f1450307bcfd61d7ffcc3a2a72a1 +SIZE (linux-firmware/mt76fw/mediatek/mt7916_wm.bin) = 1710384 +SHA256 (linux-firmware/mt76fw/mediatek/mt7916_rom_patch.bin) = 220e626d775a7d6b09aac3e50ede1da90fdf3b202841ae22ce62d082cc3fbf6b +SIZE (linux-firmware/mt76fw/mediatek/mt7916_rom_patch.bin) = 8672 +SHA256 (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7961_1.bin) = 385dce8fecaac95d147930e1db4dccb07caed5f5637f4e8b372decd5b7aad95b +SIZE (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7961_1.bin) = 719732 +SHA256 (linux-firmware/mt76fw/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin) = 66315a851d7c3e16218583b0d6cef3e675f9d93131f038f0da24af2365f0a3b8 +SIZE (linux-firmware/mt76fw/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin) = 92192 +SHA256 (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7922_1.bin) = 57e5e0fab21300b9e4a5aee9569ae802ea5d482ac345d0c9af64e707c9accb31 +SIZE (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7922_1.bin) = 826740 +SHA256 (linux-firmware/mt76fw/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin) = a07cda02d2aec04ec9827c9f899a8d65785ad23a5a7d5d4ce7c2664a0d80fe86 +SIZE (linux-firmware/mt76fw/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin) = 137632 +SHA256 (linux-firmware/mt76fw/modules_mt76fw_20230310.tar.gz) = 3fc3b15e6802c7162b5c6a69c8f6f14dd37c68cb81c92d610be6d281a6cfd395 +SIZE (linux-firmware/mt76fw/modules_mt76fw_20230310.tar.gz) = 19968 diff --git a/net/wifi-firmware-mt76-kmod/pkg-descr b/net/wifi-firmware-mt76-kmod/pkg-descr new file mode 100644 --- /dev/null +++ b/net/wifi-firmware-mt76-kmod/pkg-descr @@ -0,0 +1,5 @@ +Firmware files for Mediatek WiFi NICs supported by the mt76 driver. + +Currently provides firmware for the following sub-drivers: +- mt7915 +- mt7921 diff --git a/net/wifi-firmware-mt76-kmod/pkg-plist b/net/wifi-firmware-mt76-kmod/pkg-plist new file mode 100644 --- /dev/null +++ b/net/wifi-firmware-mt76-kmod/pkg-plist @@ -0,0 +1,10 @@ +%%MT7915%%/%%KMODDIR%%/mt7915_rom_patch.bin.ko +%%MT7915%%/%%KMODDIR%%/mt7915_wa.bin.ko +%%MT7915%%/%%KMODDIR%%/mt7915_wm.bin.ko +%%MT7915%%/%%KMODDIR%%/mt7916_rom_patch.bin.ko +%%MT7915%%/%%KMODDIR%%/mt7916_wa.bin.ko +%%MT7915%%/%%KMODDIR%%/mt7916_wm.bin.ko +%%MT7921%%/%%KMODDIR%%/WIFI_RAM_CODE_MT7961_1.bin.ko +%%MT7921%%/%%KMODDIR%%/WIFI_MT7961_patch_mcu_1_2_hdr.bin.ko +%%MT7921%%/%%KMODDIR%%/WIFI_RAM_CODE_MT7922_1.bin.ko +%%MT7921%%/%%KMODDIR%%/WIFI_MT7922_patch_mcu_1_1_hdr.bin.ko