Files
openwrt/package/kernel/mt76/Makefile
T
Felix Fietkau a46721f04d mt76: update to Git HEAD (2026-09-01)
caf2a2b61403 wifi: mt76: connac: add MT7991A (0x7991) to is_mt7996()
4e6adf4f148a wifi: mt76: mt7615: avoid waiting for mac work under the mt76 mutex
403da5477681 wifi: mt76: mt792x: consolidate rx interrupt masks into all_complete_mask
f2157858189f wifi: mt76: connac2: apply new rx all_complete_mask
e246e3b09215 wifi: mt76: mt7925: replace shared rx irq masks with per-chip definitions
5d3681c06935 wifi: mt76: mt7925: add MT7927 per-chip rx irq definitions
610830a7da74 wifi: mt76: mt792x: replace shared PCIe MAC macros with per-chip struct
eacf301a0b69 wifi: mt76: connac2: add per-chip PCIe register definitions
accac9958d98 wifi: mt76: mt7925: add per-chip PCIe register definitions
5f6ca442190d wifi: mt76: mt792x: rename WFDMA DMASHDL enable bit to follow the convention
7c195dd52529 wifi: mt76: mt7925: rename WTBL registers to chip-specific format
60a17dfaa393 wifi: mt76: mt792x: add tx_done ring to common DMA queue allocation
2d5b97f4dbab wifi: mt76: connac3: update basic rate table starting index
59d1e9ecf1c5 wifi: mt76: mt7925: fix MMIO dynamic remap window size
65bfecfbdb81 wifi: mt76: mt7925: add MT7928 FWDL support
cb4df96e1331 wifi: mt76: mt7925: add MT7928 irq_map with chip-specific rx masks
4e0c8caee5a5 wifi: mt76: mt7925: add MT7928 DMA configuration
67bded21fb2a wifi: mt76: mt7925: add MT7928 TXD/TXS/TX_DONE support
933b8c1d7208 wifi: mt76: mt7925: add MMIO register remapping table for MT7928
132991c04ef7 wifi: mt76: mt7925: align scan IE and EFUSE TLV lengths to 4 bytes for MT7928
030c9362b7ce wifi: mt76: mt7925: add MT7928 per-chip PCIe register definitions
2e240e194d5c wifi: mt76: mt7925: add MT7928 PCIe support
b1f962a838c7 wifi: mt76: mt7915: configure noise floor reporting on reset
114c7028109f wifi: mt76: mt76u: use a threaded NAPI for the RX path
49795048d96e wifi: mt76: mt76x02: do not WARN on invalid rx descriptor length
f5dc4270d268 wifi: mt76: mt76x02: report rx FCS errors to mac80211
d88989f8c612 wifi: mt76: mt7925: remove code guarded by nonexistent config option
13561afa1fc4 wifi: mt76: mt7996: remove code guarded by nonexistent config option
36917c4e6378 wifi: mt76: mt7996: fix TX DMA mapping leak for AddBA req frames
099844ec9c31 wifi: mt76: mt7603: free beacon SKB on error
43fa7d4a9e4a wifi: mt76: fix handling channel context with different bands in mt76_switch_vif_chanctx()
d367ee6d72d8 wifi: mt76: mt7921: drop TXRX_NOTIFY on non-mmio buses
900f407746fa wifi: mt76: mt7925: drop TXRX_NOTIFY on non-mmio buses
6ae90289d1aa wifi: mt76: mt7615: drop TXRX_NOTIFY on non-mmio buses
332bbe9b2784 wifi: mt76: Disable napi when removing device
3d1ea4928688 wifi: mt76: mt7925: stop init retries on hung bus
bfc39f5a863a wifi: mt76: mt7925: skip reset work on hung bus
91828c69db3e wifi: mt76: mt792x: stop USB register access after bus hang
e1a1abf10036 wifi: mt76: mt792x: drain USB UDMA before WFSYS reset
ece1f4a5a86f wifi: mt76: mt792x: enable USB UDMA TX timeout
837eda0e251e wifi: mt76: mt792x: quiesce USB paths on disconnect
a7160a4b3781 mt76: add fixes to merged patches
ac4d1a16e9f8 wifi: mt76: mt7925: guard link STA in decap offload
6ff6004fdb48 wifi: mt76: mt7921: validate CLC firmware records
3eb3ab6b43f2 wifi: mt76: mt7996: validate default EEPROM firmware size
8b90f61178a3 wifi: mt76: wed: fix kernel panic on non-DBDC MT7986
17114619e55d wifi: mt76: mt7915: fix net_fill_forward_path for non-DBDC mt7986
75268f2eaac8 wifi: mt76: mt7921: fix memory leak when skb_linearize fails in mcu rx event
a1d83aad6ccc wifi: mt76: mt7915: bound the device EEPROM address before the EFUSE copy
76c38706bbab wifi: mt76: mt7996: bound the device EEPROM address before the EFUSE copy
1ee3e2f6c207 wifi: mt76: mt7996: expose per-band MAC addresses to cfg80211
a2c3c698e487 wifi: mt76: mt7915: guard HE capability lookups
96c231171267 wifi: mt76: connac: fix possible NULL-pointer deref in mt76_connac_mcu_uni_bss_he_tlv()
3a95f5d6c826 wifi: mt76: mt7925: fix possible NULL-pointer deref in mt7925_mcu_bss_he_tlv()
89b69012de22 wifi: mt76: mt7996: check pointer returned by mt76_connac_get_he_phy_cap()
763e99aadba0 wifi: mt76: mt7996: fix possible NULL-pointer deref in mt7996_mcu_sta_bfer_eht()
491d786c1b81 wifi: mt76: mt792x: fix use-after-free in mt76_rx_poll_complete
fd2537190151 wifi: mt76: mt7915: add thermal zone device registration
e053e8c780c8 wifi: mt76: mt7603: add 0x7592 EEPROM chip ID
2d9b52d2246e wifi: mt76: restrict NPU/PPE active checks to MMIO devices
f8757dd2bf87 wifi: mt76: mt7925: ensure tx headroom in usb_sdio_tx_prepare_skb
98c13eb564e5 wifi: mt76: mt7925: Fix unregister deadlock
29d3554195a4 wifi: mt76: mt7925: cancel pending mlo_pm_work
c28c7e50b4b3 wifi: mt76: mt7925: cancel mlo_pm_work on stop
bd9cca0a3c39 wifi: mt76: mt7921: Add PCIe AER handler support to prevent system crash
7274d6cc43bc wifi: mt76: mt7927: set band index for sniffer mode
aa5a2b4fee38 wifi: mt76: mt7927: use real monitor vifs for dual-band monitors
833ad5705dfe wifi: mt76: mt7925: support new WoW pattern TLV
0ef8eb8d7762 wifi: mt76: mt7925: fix crash in reset link replay
2119837464f2 wifi: mt76: mt7925: update clc before setting sar power table
cead9778a957 wifi: mt76: mt7925: fix msg len mismatch between driver and firmware
da8507851e66 wifi: mt76: mt792x: Fix memory leak in SDIO TX path
da1c4a2e0042 wifi: mt76: mt7921: refactor regd update to fix recursive mutex deadlock
fb35160342e3 wifi: mt76: mt7925: add regulatory wiphy self manager support
dd93a16e5f42 wifi: mt76: mt7921: add regulatory wiphy self manager support
968dc6335ad9 wifi: mt76: mt7996: fix capability of EHT-MCS 15 in MRU
8e1889a5ba7e wifi: mt76: fix index accounting in __mt76_wcid_alloc for offset ranges
b05c7c1df24b wifi: mt76: fix RX data queuing of RRO 3.0
4efe882252d4 wifi: mt76: mt7996: fix MLD ID in MAC TXD and HIF TXP
4ac697d5fbe2 wifi: mt76: fix non-AQL packet accounting for MLO stations
620e45de30e9 wifi: mt76: assign link_id when sending probe request during scan
fc74da790f24 wifi: mt76: mt7996: validate RX band_idx before dereferencing phys[]
a3b62f2330fb wifi: mt76: mt7996: set MT76_MCU_RESET before waking MCU waiters on full reset
1920d6dc6807 wifi: mt76: mt7915: clear wcid mask under mutex after RCU pointer clear
f7b7fde7a0b0 wifi: mt76: mt7915: avoid nss underflow in mt7915_mcu_get_sta_nss
8ad57c3ccaf5 wifi: mt76: mt7996: don't report a zero TX bitrate
5230bcf0f67e wifi: mt76: mt7915: write RX header translation bit to the correct register
cdc6c0d07c10 wifi: mt76: fix 4th chain ACK RSSI bitmask in sta_poll
41b98d773fdd wifi: mt76: fix stranded frames in mt76_txq_schedule_pending
f67ffb60cd4f wifi: mt76: allow TX aggregation on the VO queue
220cf481a755 wifi: mt76: fix uninitialised RXDMAD_C descriptor info
58e3e46c2786 wifi: mt76: fix RXDMAD_C buffer recycling race
49ff13fc0aeb wifi: mt76: mt7915: poll the correct SLP CTRL register for the second adie
c73ffc4a2e84 wifi: mt76: check txfree done event on the WED hw path
e59324380042 wifi: mt76: fix HE DCM max-RU capability encoding
48c4d99acd84 wifi: mt76: mt7996: bound TLV walk in mt7996_mcu_get_chip_config
04017929f632 wifi: mt76: fix out-of-bounds access in mmio copy helpers
c52a151151c1 wifi: mt76: mt7915: unwind state on add_interface failure
2a574ac53652 wifi: mt76: mt7996: hold dev->mt76.mutex while disabling tx worker in SER
41cecc382be9 wifi: mt76: decode the full VHT Rx STBC capability field
f012f82a8171 wifi: mt76: fix ER-SU 106-tone RU check in RX rate decode
f66cff22fb04 wifi: mt76: mt7996: reserve space for the CSA-abort countdown TLV
d67367ec3260 wifi: mt76: mt7996: don't leak MLD group index on remap alloc failure
3def0335127c wifi: mt76: cancel reset and rc work on device unregister
10a1541fb264 wifi: mt76: report data NSS for STBC frames in RX rate decode
5f3122610346 wifi: mt76: mt7915: use little-endian for bss_info_ra wire fields
1ece37f8a93a wifi: mt76: mt7996: add missing rdd_idx check when enabling background radar
0e1234440585 wifi: mt76: only consume the WO drop bit on WED v2 devices
eeb07a4edc8c wifi: mt76: mt7996: add mcu command to set bssid mapping address
ffabf1e53b63 wifi: mt76: mt7996: leave PS when a 4-address connection is established
8f1dae620e09 wifi: mt76: mt7915: unlink TWT flow if the MCU rejects the agreement
e14869fcee4b wifi: mt76: mt7996: skip key upload when adding an offchannel link
be8657a1cdf6 wifi: mt76: mt7996: wake MCU waiters before aborting scan in L1 SER
8d0dcd2bf947 wifi: mt76: fix queue reg access when building WED and NPU together
5ecae46405a1 wifi: mt76: mt7996: select net_setup_tc handler at runtime
130273a947ce wifi: mt76: fix stuck TX queues after SER with no active interfaces
bd41e0fbea0e wifi: mt76: mt7615: fix NULL deref in mt7615_mac_set_rates
af601a725f01 mt76: mt7915: trigger L1 SER on PLE MDP RIOC hang
386fd215577d wifi: mt76: mt7996: free vif links after clearing wcid entries on full reset
31f1fdb7cdbf wifi: mt76: mt7996: clear stale link state on full reset
142daad2c26b wifi: mt76: set MT76_SCANNING when starting a hw scan
498e5ee81537 wifi: mt76: serialize scan-link teardown with dev->mutex
50480826f5a9 wifi: mt76: mt7996: hold dev->mutex in remove_interface teardown
06b69763f2aa wifi: mt76: mt7996: fix infinite loop in PS sync event parsing
da2c90d2167d wifi: mt76: mt7996: send the STA_REC before the per-station VoW setup
7f4a3b710a98 wifi: mt76: mt7915: send the STA_REC before the VoW group setup
9be8ee34e8ca wifi: mt76: mt7925: fix declaration after case label in tx done event
cd26ff664675 wifi: mt76: mt7925: skip DMA re-init selectively
540a8ed5256f wifi: mt76: mt7915: simplify mt7915_sys_recovery_set()
0df35270b7b5 wifi: mt76: mt7925: Fix EHT Beamformee SS subfields to meet 802.11be minimum
cf8a369f5232 wifi: mt76: set the EOSP bit in the QoS header of the last released frame
baac541c0524 wifi: mt76: mt7603: fix U-APSD service period termination
56fe4e0c0aea wifi: mt76: mt7603: tell mac80211 when the PS queue has run empty
276db249c20a wifi: mt76: mt7603: restore hardware PS buffering after a service period
5504bac46a38 wifi: mt76: mt7603: file buffered frames under the TID reported to mac80211
8a03e88fc036 wifi: mt76: reject out-of-range link ids in mt76_vif_link()
b2704cf5a406 wifi: mt76: mt7996: fix out-of-bounds link array access in mt7996_tx()
dec412a05ac4 wifi: mt76: mt7996: program a link again if the driver holds it
26e36bf38f15 wifi: mt76: check the owner of a remain-on-channel request
95cb6eefae12 wifi: mt76: mt7996: take over connection monitoring
90f731f6c90d wifi: mt76: clear offchannel state if a scan has no channel to restore
2c84469c8fc8 wifi: mt76: account non-AQL frames per peer rather than per link
d49721c205c4 wifi: move action code from per-type frame structs
67c5f7ae2511 wifi: mac80211: fetch unsolicited probe response template by link ID
9abd11a8f8b2 wifi: Rename EMLSR delay constants and add EMLMR helpers and definitions
254a3442b3ad wifi: mac80211: fetch FILS discovery template by link ID
c5a3bd91aa73 wifi: mt76: pass LED define via ccflags-y in driver submodules
a221bf6cd6f6 wifi: mt76: mt792x: advertise mgmt frame registration
f9b5f7c0d93e wifi: mt76: mt7925: guard BSS capability lookups
e81b53328c9a wifi: mt76: connac: add NAN connection type
471fb15e87db wifi: mt76: mt7925: add NAN MCU helpers
302d9cb21068 wifi: mt76: mt7925: add NAN MCU handling
342da0fac10a wifi: mt76: add init_wiphy callback
2dc861ccd0ee wifi: mt76: mt7925: wire up NAN operations
3fdca8b53b7d wifi: mt76: mt792x: build iface combinations dynamically
33ef303d089a wifi: mt76: mt792x: advertise NAN data support
d905a7252724 wifi: mt76: mt7925: fix NAN NDP STA record role index
b2081f2a039e wifi: mt76: mt7925: fix NAN start failure
b51cd50b2081 wifi: mt76: mt7925: fix NAN committed CRB timeline layout
984def99436a wifi: mt76: mt7925: report only 2.4 GHz NAN supported band
dca87ee6fd94 wifi: mt76: mt7925: drop unused NAN 2.4/5 GHz support config
1f394b9c4206 wifi: mt76: mt7925: drop deferred NAN local schedule update handling
d19401e5d359 wifi: mt76: mt7925: use OFDM-only PHY mode for NAN STA records
a81f793eaf02 wifi: mt76: mt7925: share TLV setup for NAN enable command
7d3c4f81b1af wifi: mt76: mt7925: replace NAN DW end event with DW start
8573266a2612 wifi: mt76: mt7925: fill all DW intervals in NAN avail_map
26be5a8f793c wifi: mt76: mt7925: clear CRB before deactivating NAN peer record
33a39c2ce26d wifi: mt76: mt7925: add ULW event handling and peer ULW update
c09c19fe7cbf wifi: mt76: mt7925: configure NAN PHY setting on enable
724801b83aed wifi: mt76: mt7925: support deferred NAN schedule update and cluster events
435eb726936f wifi: mt76: mt7925: fix HT/VHT caps and rates for NAN NDP peers
f701fad5c06c wifi: mt76: mt7925: fix infinite loop in UNI event TLV parsing
9de658490af7 wifi: mt76: mt792x: do not advertise active monitor
2d6d69e7162a wifi: mt76: mt7996: do not leave state behind after a failed WED attach
074472e615e9 wifi: mt76: mt7996: reject iTWT setup requests from MLD stations
d1d977d7e82f wifi: mt76: mt7915: fix chainmask handling for non-dbdc phys on band 1
c0af23884432 wifi: mt76: mt7915: report RX chain signal for all RX paths
8baa3813f494 wifi: mt76: mt7915: update SKU power limits after changing antennas
ff7782ac7eac wifi: mt76: mt7915: release hif2 reference on probe IRQ failure
4c9484f83e0c wifi: mt76: mt7915: fix double hif2 init on the non-WED path
755e749c89f6 mt7925: sync with upstream
4d5b3357b934 mt76: remove <6.11 compat code
b9533b83eb21 wifi: mt76: mt7921u: add MT7902 USB support
912c51945059 wifi: mt76: mt7996: fix MIB TX aggregation counter registers for mt7990
69f26dbae7e1 wifi: mt76: mt7996: fix reg addr remap when addr is 0
dabd945ef496 wifi: mt76: mt7915: fix ext PHY use-after-free on register error path
e1f87cf2cf0e wifi: mt76: mt76x2u: Add support for ELECOM WDC-867SU3S
5d68813ec038 wifi: mt76: mt7921: fix lock inversion between dev->mutex and iflist_mtx
699df2cec2e8 wifi: mt76: mt7925: fix lock inversion between dev->mutex and iflist_mtx
8e856ad93d3a wifi: mt76: mt7921: check drv_pmctrl return in the PCIe reset path
4f2aa9910e0c wifi: mt76: mt7925: check drv_pmctrl return in the PCIe reset path
b00b36b602ad wifi: mt76: mt7925: restore the reset state when fw_pmctrl fails
6d1c6a758a4c Revert "wifi: mt76: Disable napi when removing device"
0898393ee0a0 wifi: mt76: use ALTX queue for packets to disassociated stations
62c038aa3e94 wifi: mt76: mt7921: fix the lock inversion in suspend and resume
4d82c9962031 wifi: mt76: mt7925: fix the lock inversion in suspend and resume
0789c43c1a77 wifi: mt76: mt76x02: validate TX-status rate index before mac80211 handoff
bfb044bd24e8 wifi: mt76: mt7925: honour mac80211's FIF_FCSFAIL instead of hardcoding drop_err
a6e5a072ebfd wifi: mt76: mt7921: honour FIF_FCSFAIL instead of hardcoding drop_err
5772439beb0a wifi: mt76: mt7925: restore the legacy BSS after MLO teardown
bd49f06353d7 wifi: mt76: mt7996: fix struct mt7996_mcu_wed_rro_ba_delete_event layout
d73f61254a79 wifi: mt76: mt7996: unlink TWT flow if the MCU rejects the agreement
a57185c5b64c wifi: mt7915: disable rx napi when removing device
be5ce7910521 wifi: mt76: mt7615: do not tear down BSS/STA state for monitor vifs

Fixes: https://github.com/openwrt/mt76/issues/1109
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-09-01 13:44:24 +02:00

793 lines
23 KiB
Makefile

include $(TOPDIR)/rules.mk
PKG_NAME:=mt76
PKG_RELEASE=1
PKG_LICENSE:=BSD-3-Clause-Clear
PKG_LICENSE_FILES:=
PKG_SOURCE_URL:=https://github.com/openwrt/mt76
PKG_SOURCE_PROTO:=git
PKG_SOURCE_DATE:=2026-09-01
PKG_SOURCE_VERSION:=be5ce7910521492d4a2e4ce7ee3843680a46c047
PKG_MIRROR_HASH:=d1d0f7588c5b9ceafcac341ce19dd206ed9ec106847e672ab77e48bacb57f81a
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_USE_NINJA:=0
PKG_BUILD_PARALLEL:=1
PKG_CONFIG_DEPENDS += \
CONFIG_PACKAGE_kmod-mt76-usb \
CONFIG_PACKAGE_kmod-mt76x02-common \
CONFIG_PACKAGE_kmod-mt76x0-common \
CONFIG_PACKAGE_kmod-mt76x0u \
CONFIG_PACKAGE_kmod-mt76x2-common \
CONFIG_PACKAGE_kmod-mt76x2 \
CONFIG_PACKAGE_kmod-mt76x2u \
CONFIG_PACKAGE_kmod-mt7603 \
CONFIG_PACKAGE_CFG80211_TESTMODE
STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
CMAKE_SOURCE_DIR:=$(PKG_BUILD_DIR)/tools
CMAKE_BINARY_DIR:=$(PKG_BUILD_DIR)/tools
define KernelPackage/mt76-default
SUBMENU:=Wireless Drivers
DEPENDS:= \
+kmod-mac80211 \
+@DRIVER_11AC_SUPPORT \
+@KERNEL_PAGE_POOL \
@!TARGET_uml
endef
define KernelPackage/mt76
SUBMENU:=Wireless Drivers
TITLE:=MediaTek MT76x2/MT7603 wireless driver (metapackage)
DEPENDS:= \
+kmod-mt76-core +kmod-mt76x2 +kmod-mt7603
endef
define KernelPackage/mt76-core
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT76xx wireless driver
HIDDEN:=1
FILES:=\
$(PKG_BUILD_DIR)/mt76.ko
endef
define KernelPackage/mt76-usb
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT76xx wireless driver USB support
DEPENDS += +kmod-usb-core +kmod-mt76-core
HIDDEN:=1
FILES:=\
$(PKG_BUILD_DIR)/mt76-usb.ko
endef
define KernelPackage/mt76x02-usb
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT76x0/MT76x2 USB wireless driver common code
DEPENDS+=+kmod-mt76-usb +kmod-mt76x02-common
HIDDEN:=1
FILES:=$(PKG_BUILD_DIR)/mt76x02-usb.ko
endef
define KernelPackage/mt76x02-common
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT76x0/MT76x2 wireless driver common code
DEPENDS+=+kmod-mt76-core
HIDDEN:=1
FILES:=$(PKG_BUILD_DIR)/mt76x02-lib.ko
endef
define KernelPackage/mt76x0-common
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT76x0 wireless driver common code
DEPENDS+=+kmod-mt76x02-common
HIDDEN:=1
FILES:=$(PKG_BUILD_DIR)/mt76x0/mt76x0-common.ko
endef
define KernelPackage/mt76x0e
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT76x0E wireless driver
DEPENDS+=@PCI_SUPPORT +kmod-mt76x0-common
FILES:=\
$(PKG_BUILD_DIR)/mt76x0/mt76x0e.ko
AUTOLOAD:=$(call AutoProbe,mt76x0e)
endef
define KernelPackage/mt76x0u
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT76x0U wireless driver
DEPENDS+=+kmod-mt76x0-common +kmod-mt76x02-usb
FILES:=\
$(PKG_BUILD_DIR)/mt76x0/mt76x0u.ko
AUTOLOAD:=$(call AutoProbe,mt76x0u)
endef
define KernelPackage/mt76x2-common
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT76x2 wireless driver common code
DEPENDS+=+kmod-mt76-core +kmod-mt76x02-common
HIDDEN:=1
FILES:=$(PKG_BUILD_DIR)/mt76x2/mt76x2-common.ko
endef
define KernelPackage/mt76x2u
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT76x2U wireless driver
DEPENDS+=+kmod-mt76x2-common +kmod-mt76x02-usb
FILES:=\
$(PKG_BUILD_DIR)/mt76x2/mt76x2u.ko
AUTOLOAD:=$(call AutoProbe,mt76x2u)
endef
define KernelPackage/mt76x2
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT76x2 wireless driver
DEPENDS+=@PCI_SUPPORT +kmod-mt76x2-common
FILES:=\
$(PKG_BUILD_DIR)/mt76x2/mt76x2e.ko
AUTOLOAD:=$(call AutoProbe,mt76x2e)
endef
define KernelPackage/mt7603
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7603 wireless driver
DEPENDS+=@PCI_SUPPORT +kmod-mt76-core
FILES:=\
$(PKG_BUILD_DIR)/mt7603/mt7603e.ko
AUTOLOAD:=$(call AutoProbe,mt7603e)
endef
define KernelPackage/mt76-connac
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7615/MT79xx wireless driver common code
HIDDEN:=1
DEPENDS+=+kmod-mt76-core
FILES:= $(PKG_BUILD_DIR)/mt76-connac-lib.ko
endef
define KernelPackage/mt76-sdio
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7615/MT79xx SDIO driver common code
HIDDEN:=1
DEPENDS+=+kmod-mt76-core +kmod-mmc
FILES:= $(PKG_BUILD_DIR)/mt76-sdio.ko
endef
define KernelPackage/mt7615-common
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7615 wireless driver common code
HIDDEN:=1
DEPENDS+=@PCI_SUPPORT +kmod-mt76-core +kmod-mt76-connac +kmod-hwmon-core
FILES:= $(PKG_BUILD_DIR)/mt7615/mt7615-common.ko
endef
define KernelPackage/mt7615-firmware
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7615e firmware
DEPENDS+=+kmod-mt7615e
endef
define KernelPackage/mt7615e
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7615e wireless driver
DEPENDS+=@PCI_SUPPORT +kmod-mt7615-common
FILES:= $(PKG_BUILD_DIR)/mt7615/mt7615e.ko
AUTOLOAD:=$(call AutoProbe,mt7615e)
endef
define KernelPackage/mt7622-firmware
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7622 firmware
DEPENDS+=@TARGET_mediatek_mt7622 +kmod-mt7615e
endef
define KernelPackage/mt7663-firmware-ap
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7663e firmware (optimized for AP)
endef
define KernelPackage/mt7663-firmware-sta
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7663e firmware (client mode offload)
endef
define KernelPackage/mt7663-usb-sdio
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7663 USB/SDIO shared code
DEPENDS+=+kmod-mt7615-common
HIDDEN:=1
FILES:= \
$(PKG_BUILD_DIR)/mt7615/mt7663-usb-sdio-common.ko
endef
define KernelPackage/mt7663s
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7663s wireless driver
DEPENDS+=+kmod-mt76-sdio +kmod-mt7615-common +kmod-mt7663-usb-sdio
FILES:= \
$(PKG_BUILD_DIR)/mt7615/mt7663s.ko
AUTOLOAD:=$(call AutoProbe,mt7663s)
endef
define KernelPackage/mt7663u
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7663u wireless driver
DEPENDS+=+kmod-mt76-usb +kmod-mt7615-common +kmod-mt7663-usb-sdio
FILES:= $(PKG_BUILD_DIR)/mt7615/mt7663u.ko
AUTOLOAD:=$(call AutoProbe,mt7663u)
endef
define KernelPackage/mt7915-firmware
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7915 firmware
DEPENDS+=+kmod-mt7915e
endef
define KernelPackage/mt7915e
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7915e wireless driver
DEPENDS+=@PCI_SUPPORT +kmod-mt76-connac +kmod-hwmon-core +kmod-thermal +@DRIVER_11AX_SUPPORT +@KERNEL_RELAY
FILES:= $(PKG_BUILD_DIR)/mt7915/mt7915e.ko
AUTOLOAD:=$(call AutoProbe,mt7915e)
endef
define KernelPackage/mt7916-firmware
$(KernelPackage/mt76-default)
DEPENDS+=+kmod-mt7915e
TITLE:=MediaTek MT7916 firmware
endef
define KernelPackage/mt7981-firmware
$(KernelPackage/mt76-default)
DEPENDS:=@TARGET_mediatek_filogic
TITLE:=MediaTek MT7981 firmware
endef
define KernelPackage/mt7986-firmware
$(KernelPackage/mt76-default)
DEPENDS:=@TARGET_mediatek_filogic
TITLE:=MediaTek MT7986 firmware
endef
define KernelPackage/mt7921-firmware
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7921 firmware
endef
define KernelPackage/mt7922-firmware
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7922 firmware
endef
define KernelPackage/mt792x-common
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT792x wireless driver common code
HIDDEN:=1
DEPENDS+=+kmod-mt76-connac +@DRIVER_11AX_SUPPORT
FILES:= $(PKG_BUILD_DIR)/mt792x-lib.ko
endef
define KernelPackage/mt792x-usb
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT792x wireless driver USB code
HIDDEN:=1
DEPENDS+=+kmod-mt792x-common +kmod-mt76-usb +@DRIVER_11AX_SUPPORT
FILES:= $(PKG_BUILD_DIR)/mt792x-usb.ko
endef
define KernelPackage/mt7921-common
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7921 wireless driver common code
HIDDEN:=1
DEPENDS+=+kmod-mt792x-common +kmod-mt7921-firmware +@DRIVER_11AX_SUPPORT +kmod-hwmon-core
FILES:= $(PKG_BUILD_DIR)/mt7921/mt7921-common.ko
endef
define KernelPackage/mt7921u
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7921U wireless driver
DEPENDS+=+kmod-mt792x-usb +kmod-mt7921-common
FILES:= $(PKG_BUILD_DIR)/mt7921/mt7921u.ko
AUTOLOAD:=$(call AutoProbe,mt7921u)
endef
define KernelPackage/mt7921s
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7921S wireless driver
DEPENDS+=+kmod-mt76-sdio +kmod-mt7921-common
FILES:= $(PKG_BUILD_DIR)/mt7921/mt7921s.ko
AUTOLOAD:=$(call AutoProbe,mt7921s)
endef
define KernelPackage/mt7921e
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7921e wireless driver
DEPENDS+=@PCI_SUPPORT +kmod-mt7921-common
FILES:= $(PKG_BUILD_DIR)/mt7921/mt7921e.ko
AUTOLOAD:=$(call AutoProbe,mt7921e)
endef
define KernelPackage/mt7996e
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7996E wireless driver
DEPENDS+=@PCI_SUPPORT +kmod-mt76-connac +kmod-hwmon-core +@DRIVER_11AX_SUPPORT \
+@KERNEL_RELAY +@DRIVER_11BE_SUPPORT
FILES:= $(PKG_BUILD_DIR)/mt7996/mt7996e.ko
AUTOLOAD:=$(call AutoProbe,mt7996e)
endef
define KernelPackage/mt7990-firmware
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7990 firmware
DEPENDS+=+kmod-mt7996e
endef
define KernelPackage/mt7992-firmware
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7992 firmware
DEPENDS+=+kmod-mt7996e
endef
define KernelPackage/mt7992-23-firmware
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7996 firmware (2+3 antenna variant)
DEPENDS+=+kmod-mt7996e
endef
define KernelPackage/mt7996-firmware-common
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7996 firmware (common files)
HIDDEN:=1
endef
define KernelPackage/mt7996-firmware
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7996 firmware
DEPENDS+=+kmod-mt7996e +kmod-mt7996-firmware-common
endef
define KernelPackage/mt7996-233-firmware
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7996 firmware (2+3+3 antenna variant)
DEPENDS+=+kmod-mt7996e +kmod-mt7996-firmware-common
endef
define KernelPackage/mt7925-firmware
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7925 firmware
DEPENDS+=+kmod-mt7925e
endef
define KernelPackage/mt7925-common
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7925 wireless driver common code
HIDDEN:=1
DEPENDS+=+kmod-mt792x-common +@DRIVER_11AX_SUPPORT +kmod-hwmon-core +@DRIVER_11BE_SUPPORT
FILES:= $(PKG_BUILD_DIR)/mt7925/mt7925-common.ko
endef
define KernelPackage/mt7925u
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7925U wireless driver
DEPENDS+=+kmod-mt792x-usb +kmod-mt7925-common
FILES:= $(PKG_BUILD_DIR)/mt7925/mt7925u.ko
AUTOLOAD:=$(call AutoProbe,mt7925u)
endef
define KernelPackage/mt7925e
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7925e wireless driver
DEPENDS+=@PCI_SUPPORT +kmod-mt7925-common
FILES:= $(PKG_BUILD_DIR)/mt7925/mt7925e.ko
AUTOLOAD:=$(call AutoProbe,mt7925e)
endef
define Package/mt76-test
SECTION:=devel
CATEGORY:=Development
TITLE:=mt76 testmode CLI
DEPENDS:=kmod-mt76-core +libnl-tiny
endef
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include/libnl-tiny
NOSTDINC_FLAGS := \
$(KERNEL_NOSTDINC_FLAGS) \
-I$(PKG_BUILD_DIR) \
-I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \
-I$(STAGING_DIR)/usr/include/mac80211-backport \
-I$(STAGING_DIR)/usr/include/mac80211/uapi \
-I$(STAGING_DIR)/usr/include/mac80211 \
-include backport/autoconf.h \
-include backport/backport.h
ifdef CONFIG_PACKAGE_MAC80211_MESH
NOSTDINC_FLAGS += -DCONFIG_MAC80211_MESH
endif
ifdef CONFIG_PACKAGE_CFG80211_TESTMODE
NOSTDINC_FLAGS += -DCONFIG_NL80211_TESTMODE
PKG_MAKE_FLAGS += CONFIG_NL80211_TESTMODE=y
endif
ifdef CONFIG_PACKAGE_kmod-mt76-usb
PKG_MAKE_FLAGS += CONFIG_MT76_USB=m
endif
ifdef CONFIG_PACKAGE_kmod-mt76x02-common
PKG_MAKE_FLAGS += CONFIG_MT76x02_LIB=m
endif
ifdef CONFIG_PACKAGE_kmod-mt76x02-usb
PKG_MAKE_FLAGS += CONFIG_MT76x02_USB=m
endif
ifdef CONFIG_PACKAGE_kmod-mt76x0-common
PKG_MAKE_FLAGS += CONFIG_MT76x0_COMMON=m
endif
ifdef CONFIG_PACKAGE_kmod-mt76x0e
PKG_MAKE_FLAGS += CONFIG_MT76x0E=m
endif
ifdef CONFIG_PACKAGE_kmod-mt76x0u
PKG_MAKE_FLAGS += CONFIG_MT76x0U=m
endif
ifdef CONFIG_PACKAGE_kmod-mt76x2-common
PKG_MAKE_FLAGS += CONFIG_MT76x2_COMMON=m
endif
ifdef CONFIG_PACKAGE_kmod-mt76x2
PKG_MAKE_FLAGS += CONFIG_MT76x2E=m
endif
ifdef CONFIG_PACKAGE_kmod-mt76x2u
PKG_MAKE_FLAGS += CONFIG_MT76x2U=m
endif
ifdef CONFIG_PACKAGE_kmod-mt7603
PKG_MAKE_FLAGS += CONFIG_MT7603E=m
endif
ifdef CONFIG_PACKAGE_kmod-mt76-connac
PKG_MAKE_FLAGS += CONFIG_MT76_CONNAC_LIB=m
endif
ifdef CONFIG_PACKAGE_kmod-mt76-sdio
PKG_MAKE_FLAGS += CONFIG_MT76_SDIO=m
endif
ifdef CONFIG_PACKAGE_kmod-mt7615-common
PKG_MAKE_FLAGS += CONFIG_MT7615_COMMON=m
endif
ifdef CONFIG_PACKAGE_kmod-mt7615e
PKG_MAKE_FLAGS += CONFIG_MT7615E=m
ifdef CONFIG_TARGET_mediatek_mt7622
PKG_MAKE_FLAGS += CONFIG_MT7622_WMAC=y
NOSTDINC_FLAGS += -DCONFIG_MT7622_WMAC
endif
endif
ifdef CONFIG_PACKAGE_kmod-mt7663-usb-sdio
PKG_MAKE_FLAGS += CONFIG_MT7663_USB_SDIO_COMMON=m
endif
ifdef CONFIG_PACKAGE_kmod-mt7663s
PKG_MAKE_FLAGS += CONFIG_MT7663S=m
endif
ifdef CONFIG_PACKAGE_kmod-mt7663u
PKG_MAKE_FLAGS += CONFIG_MT7663U=m
endif
ifdef CONFIG_PACKAGE_kmod-mt7915e
PKG_MAKE_FLAGS += CONFIG_MT7915E=m
ifdef CONFIG_TARGET_mediatek_filogic
PKG_MAKE_FLAGS += CONFIG_MT798X_WMAC=y
NOSTDINC_FLAGS += -DCONFIG_MT798X_WMAC
endif
endif
ifdef CONFIG_PACKAGE_kmod-mt792x-common
PKG_MAKE_FLAGS += CONFIG_MT792x_LIB=m
endif
ifdef CONFIG_PACKAGE_kmod-mt792x-usb
PKG_MAKE_FLAGS += CONFIG_MT792x_USB=m
endif
ifdef CONFIG_PACKAGE_kmod-mt7921-common
PKG_MAKE_FLAGS += CONFIG_MT7921_COMMON=m
endif
ifdef CONFIG_PACKAGE_kmod-mt7921u
PKG_MAKE_FLAGS += CONFIG_MT7921U=m
endif
ifdef CONFIG_PACKAGE_kmod-mt7921s
PKG_MAKE_FLAGS += CONFIG_MT7921S=m
endif
ifdef CONFIG_PACKAGE_kmod-mt7921e
PKG_MAKE_FLAGS += CONFIG_MT7921E=m
endif
ifdef CONFIG_PACKAGE_kmod-mt7996e
PKG_MAKE_FLAGS += CONFIG_MT7996E=m
ifdef CONFIG_TARGET_airoha_an7581
PKG_MAKE_FLAGS += CONFIG_MT76_NPU=y
PKG_MAKE_FLAGS += CONFIG_MT7996_NPU=y
NOSTDINC_FLAGS += -DCONFIG_MT76_NPU
NOSTDINC_FLAGS += -DCONFIG_MT7996_NPU
endif
endif
ifdef CONFIG_PACKAGE_kmod-mt7925-common
PKG_MAKE_FLAGS += CONFIG_MT7925_COMMON=m
endif
ifdef CONFIG_PACKAGE_kmod-mt7925u
PKG_MAKE_FLAGS += CONFIG_MT7925U=m
endif
ifdef CONFIG_PACKAGE_kmod-mt7925e
PKG_MAKE_FLAGS += CONFIG_MT7925E=m
endif
define Build/Compile
+$(KERNEL_MAKE) $(PKG_JOBS) \
$(PKG_MAKE_FLAGS) \
M="$(PKG_BUILD_DIR)" \
NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
modules
$(MAKE) -C $(PKG_BUILD_DIR)/tools
endef
define Build/Install
:
endef
define Package/kmod-mt76/install
true
endef
define KernelPackage/mt76x0-common/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek
cp \
$(PKG_BUILD_DIR)/firmware/mt7610e.bin \
$(1)/lib/firmware/mediatek
endef
define KernelPackage/mt76x2-common/install
$(INSTALL_DIR) $(1)/lib/firmware
cp \
$(PKG_BUILD_DIR)/firmware/mt7662_rom_patch.bin \
$(PKG_BUILD_DIR)/firmware/mt7662.bin \
$(1)/lib/firmware
endef
define KernelPackage/mt76x0u/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek
ln -sf mt7610e.bin $(1)/lib/firmware/mediatek/mt7610u.bin
endef
define KernelPackage/mt76x2u/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek
ln -sf ../mt7662.bin $(1)/lib/firmware/mediatek/mt7662u.bin
ln -sf ../mt7662_rom_patch.bin $(1)/lib/firmware/mediatek/mt7662u_rom_patch.bin
endef
define KernelPackage/mt7603/install
$(INSTALL_DIR) $(1)/lib/firmware
cp $(if $(CONFIG_TARGET_ramips_mt76x8), \
$(PKG_BUILD_DIR)/firmware/mt7628_e1.bin \
$(PKG_BUILD_DIR)/firmware/mt7628_e2.bin \
,\
$(PKG_BUILD_DIR)/firmware/mt7603_e1.bin \
$(PKG_BUILD_DIR)/firmware/mt7603_e2.bin \
) \
$(1)/lib/firmware
endef
define KernelPackage/mt7615-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek
cp \
$(PKG_BUILD_DIR)/firmware/mt7615_cr4.bin \
$(PKG_BUILD_DIR)/firmware/mt7615_n9.bin \
$(PKG_BUILD_DIR)/firmware/mt7615_rom_patch.bin \
$(1)/lib/firmware/mediatek
endef
define KernelPackage/mt7622-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek
cp \
$(PKG_BUILD_DIR)/firmware/mt7622_n9.bin \
$(PKG_BUILD_DIR)/firmware/mt7622_rom_patch.bin \
$(1)/lib/firmware/mediatek
endef
define KernelPackage/mt7663-firmware-ap/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek
cp \
$(PKG_BUILD_DIR)/firmware/mt7663_n9_rebb.bin \
$(PKG_BUILD_DIR)/firmware/mt7663pr2h_rebb.bin \
$(1)/lib/firmware/mediatek
endef
define KernelPackage/mt7663-firmware-sta/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek
cp \
$(PKG_BUILD_DIR)/firmware/mt7663_n9_v3.bin \
$(PKG_BUILD_DIR)/firmware/mt7663pr2h.bin \
$(1)/lib/firmware/mediatek
endef
define KernelPackage/mt7915-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek
cp \
$(PKG_BUILD_DIR)/firmware/mt7915_wa.bin \
$(PKG_BUILD_DIR)/firmware/mt7915_wm.bin \
$(PKG_BUILD_DIR)/firmware/mt7915_rom_patch.bin \
$(1)/lib/firmware/mediatek
endef
define KernelPackage/mt7916-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek
cp \
$(PKG_BUILD_DIR)/firmware/mt7916_wa.bin \
$(PKG_BUILD_DIR)/firmware/mt7916_wm.bin \
$(PKG_BUILD_DIR)/firmware/mt7916_rom_patch.bin \
$(1)/lib/firmware/mediatek
endef
define KernelPackage/mt7981-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek
cp \
$(PKG_BUILD_DIR)/firmware/mt7981_wa.bin \
$(PKG_BUILD_DIR)/firmware/mt7981_wm.bin \
$(PKG_BUILD_DIR)/firmware/mt7981_rom_patch.bin \
$(1)/lib/firmware/mediatek
endef
define KernelPackage/mt7986-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek
cp \
$(PKG_BUILD_DIR)/firmware/mt7986_wa.bin \
$(PKG_BUILD_DIR)/firmware/mt7986_wm_mt7975.bin \
$(PKG_BUILD_DIR)/firmware/mt7986_wm.bin \
$(PKG_BUILD_DIR)/firmware/mt7986_rom_patch_mt7975.bin \
$(PKG_BUILD_DIR)/firmware/mt7986_rom_patch.bin \
$(1)/lib/firmware/mediatek
endef
define KernelPackage/mt7921-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek
cp \
$(PKG_BUILD_DIR)/firmware/WIFI_MT7961_patch_mcu_1_2_hdr.bin \
$(PKG_BUILD_DIR)/firmware/WIFI_RAM_CODE_MT7961_1.bin \
$(1)/lib/firmware/mediatek
endef
define KernelPackage/mt7922-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek
cp \
$(PKG_BUILD_DIR)/firmware/WIFI_MT7922_patch_mcu_1_1_hdr.bin \
$(PKG_BUILD_DIR)/firmware/WIFI_RAM_CODE_MT7922_1.bin \
$(1)/lib/firmware/mediatek
endef
define KernelPackage/mt7925-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek/mt7925
cp \
$(PKG_BUILD_DIR)/firmware/mt7925/WIFI_MT7925_PATCH_MCU_1_1_hdr.bin \
$(PKG_BUILD_DIR)/firmware/mt7925/WIFI_RAM_CODE_MT7925_1_1.bin \
$(1)/lib/firmware/mediatek/mt7925
endef
define KernelPackage/mt7990-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek/mt7996
cp \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7990_eeprom.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7990_eeprom_2i5i.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7990_rom_patch.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7990_wm.bin \
$(1)/lib/firmware/mediatek/mt7996
endef
define KernelPackage/mt7992-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek/mt7996
cp \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7992_dsp.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7992_eeprom.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7992_eeprom_2i5i.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7992_eeprom_2i5e.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7992_rom_patch.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7992_wa.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7992_wm.bin \
$(1)/lib/firmware/mediatek/mt7996
endef
define KernelPackage/mt7992-23-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek/mt7996
cp \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7992_dsp_23.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7992_eeprom_23.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7992_eeprom_23_2i5i.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7992_rom_patch_23.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7992_wa_23.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7992_wm_23.bin \
$(1)/lib/firmware/mediatek/mt7996
endef
define KernelPackage/mt7996-firmware-common/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek/mt7996
cp \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7996_dsp.bin \
$(1)/lib/firmware/mediatek/mt7996
endef
define KernelPackage/mt7996-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek/mt7996
cp \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7996_eeprom.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7996_eeprom_2i5i6i.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7996_rom_patch.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7996_wa.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7996_wm.bin \
$(1)/lib/firmware/mediatek/mt7996
endef
define KernelPackage/mt7996-233-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/mediatek/mt7996
cp \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7996_eeprom_233.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7996_eeprom_233_2i5i6i.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7996_rom_patch_233.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7996_wa_233.bin \
$(PKG_BUILD_DIR)/firmware/mt7996/mt7996_wm_233.bin \
$(1)/lib/firmware/mediatek/mt7996
endef
define Package/mt76-test/install
mkdir -p $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/mt76-test $(1)/usr/sbin
endef
define Build/InstallDev
mkdir -p $(STAGING_DIR_IMAGE)
$(CP) $(PKG_BUILD_DIR)/firmware/mt7981_eeprom_mt7976_dbdc.bin $(STAGING_DIR_IMAGE)/
endef
$(eval $(call KernelPackage,mt76-core))
$(eval $(call KernelPackage,mt76-usb))
$(eval $(call KernelPackage,mt76x02-usb))
$(eval $(call KernelPackage,mt76x02-common))
$(eval $(call KernelPackage,mt76x0-common))
$(eval $(call KernelPackage,mt76x0e))
$(eval $(call KernelPackage,mt76x0u))
$(eval $(call KernelPackage,mt76x2-common))
$(eval $(call KernelPackage,mt76x2u))
$(eval $(call KernelPackage,mt76x2))
$(eval $(call KernelPackage,mt7603))
$(eval $(call KernelPackage,mt76-connac))
$(eval $(call KernelPackage,mt76-sdio))
$(eval $(call KernelPackage,mt7615-common))
$(eval $(call KernelPackage,mt7615-firmware))
$(eval $(call KernelPackage,mt7622-firmware))
$(eval $(call KernelPackage,mt7615e))
$(eval $(call KernelPackage,mt7663-firmware-ap))
$(eval $(call KernelPackage,mt7663-firmware-sta))
$(eval $(call KernelPackage,mt7663-usb-sdio))
$(eval $(call KernelPackage,mt7663u))
$(eval $(call KernelPackage,mt7663s))
$(eval $(call KernelPackage,mt7915-firmware))
$(eval $(call KernelPackage,mt7915e))
$(eval $(call KernelPackage,mt7916-firmware))
$(eval $(call KernelPackage,mt7981-firmware))
$(eval $(call KernelPackage,mt7986-firmware))
$(eval $(call KernelPackage,mt7921-firmware))
$(eval $(call KernelPackage,mt7922-firmware))
$(eval $(call KernelPackage,mt7925-firmware))
$(eval $(call KernelPackage,mt792x-common))
$(eval $(call KernelPackage,mt792x-usb))
$(eval $(call KernelPackage,mt7921-common))
$(eval $(call KernelPackage,mt7925-common))
$(eval $(call KernelPackage,mt7921u))
$(eval $(call KernelPackage,mt7921s))
$(eval $(call KernelPackage,mt7921e))
$(eval $(call KernelPackage,mt7925u))
$(eval $(call KernelPackage,mt7925e))
$(eval $(call KernelPackage,mt7996e))
$(eval $(call KernelPackage,mt7990-firmware))
$(eval $(call KernelPackage,mt7992-firmware))
$(eval $(call KernelPackage,mt7992-23-firmware))
$(eval $(call KernelPackage,mt7996-firmware-common))
$(eval $(call KernelPackage,mt7996-firmware))
$(eval $(call KernelPackage,mt7996-233-firmware))
$(eval $(call KernelPackage,mt76))
$(eval $(call BuildPackage,mt76-test))