1ce166e9563aa77b647595247d0498aff44d5135
[openwrt/openwrt.git] / package / kernel / mt76 / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=mt76
4 PKG_RELEASE=1
5
6 PKG_LICENSE:=GPLv2
7 PKG_LICENSE_FILES:=
8
9 PKG_SOURCE_URL:=https://github.com/openwrt/mt76
10 PKG_SOURCE_PROTO:=git
11 PKG_SOURCE_DATE:=2025-04-11
12 PKG_SOURCE_VERSION:=be28ef77e330fdee28054214c798f028ddfbbc02
13 PKG_MIRROR_HASH:=71d0651fd74b00fd83f5ea965483623dd6b33581c9cb0a05552d8e3d29dd2767
14
15 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
16 PKG_USE_NINJA:=0
17 PKG_BUILD_PARALLEL:=1
18
19 PKG_CONFIG_DEPENDS += \
20 CONFIG_PACKAGE_kmod-mt76-usb \
21 CONFIG_PACKAGE_kmod-mt76x02-common \
22 CONFIG_PACKAGE_kmod-mt76x0-common \
23 CONFIG_PACKAGE_kmod-mt76x0u \
24 CONFIG_PACKAGE_kmod-mt76x2-common \
25 CONFIG_PACKAGE_kmod-mt76x2 \
26 CONFIG_PACKAGE_kmod-mt76x2u \
27 CONFIG_PACKAGE_kmod-mt7603 \
28 CONFIG_PACKAGE_CFG80211_TESTMODE
29
30 STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
31
32 include $(INCLUDE_DIR)/kernel.mk
33 include $(INCLUDE_DIR)/package.mk
34 include $(INCLUDE_DIR)/cmake.mk
35
36 CMAKE_SOURCE_DIR:=$(PKG_BUILD_DIR)/tools
37 CMAKE_BINARY_DIR:=$(PKG_BUILD_DIR)/tools
38
39 define KernelPackage/mt76-default
40 SUBMENU:=Wireless Drivers
41 DEPENDS:= \
42 +kmod-mac80211 \
43 +@DRIVER_11AC_SUPPORT \
44 +@KERNEL_PAGE_POOL
45 endef
46
47 define KernelPackage/mt76
48 SUBMENU:=Wireless Drivers
49 TITLE:=MediaTek MT76x2/MT7603 wireless driver (metapackage)
50 DEPENDS:= \
51 +kmod-mt76-core +kmod-mt76x2 +kmod-mt7603
52 endef
53
54 define KernelPackage/mt76-core
55 $(KernelPackage/mt76-default)
56 TITLE:=MediaTek MT76xx wireless driver
57 HIDDEN:=1
58 FILES:=\
59 $(PKG_BUILD_DIR)/mt76.ko
60 endef
61
62 define KernelPackage/mt76-usb
63 $(KernelPackage/mt76-default)
64 TITLE:=MediaTek MT76xx wireless driver USB support
65 DEPENDS += +kmod-usb-core +kmod-mt76-core
66 HIDDEN:=1
67 FILES:=\
68 $(PKG_BUILD_DIR)/mt76-usb.ko
69 endef
70
71 define KernelPackage/mt76x02-usb
72 $(KernelPackage/mt76-default)
73 TITLE:=MediaTek MT76x0/MT76x2 USB wireless driver common code
74 DEPENDS+=+kmod-mt76-usb +kmod-mt76x02-common
75 HIDDEN:=1
76 FILES:=$(PKG_BUILD_DIR)/mt76x02-usb.ko
77 endef
78
79 define KernelPackage/mt76x02-common
80 $(KernelPackage/mt76-default)
81 TITLE:=MediaTek MT76x0/MT76x2 wireless driver common code
82 DEPENDS+=+kmod-mt76-core
83 HIDDEN:=1
84 FILES:=$(PKG_BUILD_DIR)/mt76x02-lib.ko
85 endef
86
87 define KernelPackage/mt76x0-common
88 $(KernelPackage/mt76-default)
89 TITLE:=MediaTek MT76x0 wireless driver common code
90 DEPENDS+=+kmod-mt76x02-common
91 HIDDEN:=1
92 FILES:=$(PKG_BUILD_DIR)/mt76x0/mt76x0-common.ko
93 endef
94
95 define KernelPackage/mt76x0e
96 $(KernelPackage/mt76-default)
97 TITLE:=MediaTek MT76x0E wireless driver
98 DEPENDS+=@PCI_SUPPORT +kmod-mt76x0-common
99 FILES:=\
100 $(PKG_BUILD_DIR)/mt76x0/mt76x0e.ko
101 AUTOLOAD:=$(call AutoProbe,mt76x0e)
102 endef
103
104 define KernelPackage/mt76x0u
105 $(KernelPackage/mt76-default)
106 TITLE:=MediaTek MT76x0U wireless driver
107 DEPENDS+=+kmod-mt76x0-common +kmod-mt76x02-usb
108 FILES:=\
109 $(PKG_BUILD_DIR)/mt76x0/mt76x0u.ko
110 AUTOLOAD:=$(call AutoProbe,mt76x0u)
111 endef
112
113 define KernelPackage/mt76x2-common
114 $(KernelPackage/mt76-default)
115 TITLE:=MediaTek MT76x2 wireless driver common code
116 DEPENDS+=+kmod-mt76-core +kmod-mt76x02-common
117 HIDDEN:=1
118 FILES:=$(PKG_BUILD_DIR)/mt76x2/mt76x2-common.ko
119 endef
120
121 define KernelPackage/mt76x2u
122 $(KernelPackage/mt76-default)
123 TITLE:=MediaTek MT76x2U wireless driver
124 DEPENDS+=+kmod-mt76x2-common +kmod-mt76x02-usb
125 FILES:=\
126 $(PKG_BUILD_DIR)/mt76x2/mt76x2u.ko
127 AUTOLOAD:=$(call AutoProbe,mt76x2u)
128 endef
129
130 define KernelPackage/mt76x2
131 $(KernelPackage/mt76-default)
132 TITLE:=MediaTek MT76x2 wireless driver
133 DEPENDS+=@PCI_SUPPORT +kmod-mt76x2-common
134 FILES:=\
135 $(PKG_BUILD_DIR)/mt76x2/mt76x2e.ko
136 AUTOLOAD:=$(call AutoProbe,mt76x2e)
137 endef
138
139 define KernelPackage/mt7603
140 $(KernelPackage/mt76-default)
141 TITLE:=MediaTek MT7603 wireless driver
142 DEPENDS+=@PCI_SUPPORT +kmod-mt76-core
143 FILES:=\
144 $(PKG_BUILD_DIR)/mt7603/mt7603e.ko
145 AUTOLOAD:=$(call AutoProbe,mt7603e)
146 endef
147
148 define KernelPackage/mt76-connac
149 $(KernelPackage/mt76-default)
150 TITLE:=MediaTek MT7615/MT79xx wireless driver common code
151 HIDDEN:=1
152 DEPENDS+=+kmod-mt76-core
153 FILES:= $(PKG_BUILD_DIR)/mt76-connac-lib.ko
154 endef
155
156 define KernelPackage/mt76-sdio
157 $(KernelPackage/mt76-default)
158 TITLE:=MediaTek MT7615/MT79xx SDIO driver common code
159 HIDDEN:=1
160 DEPENDS+=+kmod-mt76-core +kmod-mmc
161 FILES:= $(PKG_BUILD_DIR)/mt76-sdio.ko
162 endef
163
164 define KernelPackage/mt7615-common
165 $(KernelPackage/mt76-default)
166 TITLE:=MediaTek MT7615 wireless driver common code
167 HIDDEN:=1
168 DEPENDS+=@PCI_SUPPORT +kmod-mt76-core +kmod-mt76-connac +kmod-hwmon-core
169 FILES:= $(PKG_BUILD_DIR)/mt7615/mt7615-common.ko
170 endef
171
172 define KernelPackage/mt7615-firmware
173 $(KernelPackage/mt76-default)
174 TITLE:=MediaTek MT7615e firmware
175 DEPENDS+=+kmod-mt7615e
176 endef
177
178 define KernelPackage/mt7615e
179 $(KernelPackage/mt76-default)
180 TITLE:=MediaTek MT7615e wireless driver
181 DEPENDS+=@PCI_SUPPORT +kmod-mt7615-common
182 FILES:= $(PKG_BUILD_DIR)/mt7615/mt7615e.ko
183 AUTOLOAD:=$(call AutoProbe,mt7615e)
184 endef
185
186 define KernelPackage/mt7622-firmware
187 $(KernelPackage/mt76-default)
188 TITLE:=MediaTek MT7622 firmware
189 DEPENDS+=+kmod-mt7615e
190 endef
191
192 define KernelPackage/mt7663-firmware-ap
193 $(KernelPackage/mt76-default)
194 TITLE:=MediaTek MT7663e firmware (optimized for AP)
195 endef
196
197 define KernelPackage/mt7663-firmware-sta
198 $(KernelPackage/mt76-default)
199 TITLE:=MediaTek MT7663e firmware (client mode offload)
200 endef
201
202 define KernelPackage/mt7663-usb-sdio
203 $(KernelPackage/mt76-default)
204 TITLE:=MediaTek MT7663 USB/SDIO shared code
205 DEPENDS+=+kmod-mt7615-common
206 HIDDEN:=1
207 FILES:= \
208 $(PKG_BUILD_DIR)/mt7615/mt7663-usb-sdio-common.ko
209 endef
210
211 define KernelPackage/mt7663s
212 $(KernelPackage/mt76-default)
213 TITLE:=MediaTek MT7663s wireless driver
214 DEPENDS+=+kmod-mt76-sdio +kmod-mt7615-common +kmod-mt7663-usb-sdio
215 FILES:= \
216 $(PKG_BUILD_DIR)/mt7615/mt7663s.ko
217 AUTOLOAD:=$(call AutoProbe,mt7663s)
218 endef
219
220 define KernelPackage/mt7663u
221 $(KernelPackage/mt76-default)
222 TITLE:=MediaTek MT7663u wireless driver
223 DEPENDS+=+kmod-mt76-usb +kmod-mt7615-common +kmod-mt7663-usb-sdio
224 FILES:= $(PKG_BUILD_DIR)/mt7615/mt7663u.ko
225 AUTOLOAD:=$(call AutoProbe,mt7663u)
226 endef
227
228 define KernelPackage/mt7915-firmware
229 $(KernelPackage/mt76-default)
230 TITLE:=MediaTek MT7915 firmware
231 DEPENDS+=+kmod-mt7915e
232 endef
233
234 define KernelPackage/mt7915e
235 $(KernelPackage/mt76-default)
236 TITLE:=MediaTek MT7915e wireless driver
237 DEPENDS+=@PCI_SUPPORT +kmod-mt76-connac +kmod-hwmon-core +kmod-thermal +@DRIVER_11AX_SUPPORT +@KERNEL_RELAY
238 FILES:= $(PKG_BUILD_DIR)/mt7915/mt7915e.ko
239 AUTOLOAD:=$(call AutoProbe,mt7915e)
240 endef
241
242 define KernelPackage/mt7916-firmware
243 $(KernelPackage/mt76-default)
244 DEPENDS+=+kmod-mt7915e
245 TITLE:=MediaTek MT7916 firmware
246 endef
247
248 define KernelPackage/mt7981-firmware
249 $(KernelPackage/mt76-default)
250 DEPENDS:=@TARGET_mediatek_filogic
251 TITLE:=MediaTek MT7981 firmware
252 endef
253
254 define KernelPackage/mt7986-firmware
255 $(KernelPackage/mt76-default)
256 DEPENDS:=@TARGET_mediatek_filogic
257 TITLE:=MediaTek MT7986 firmware
258 endef
259
260 define KernelPackage/mt7921-firmware
261 $(KernelPackage/mt76-default)
262 TITLE:=MediaTek MT7921 firmware
263 endef
264
265 define KernelPackage/mt7922-firmware
266 $(KernelPackage/mt76-default)
267 TITLE:=MediaTek MT7922 firmware
268 endef
269
270 define KernelPackage/mt792x-common
271 $(KernelPackage/mt76-default)
272 TITLE:=MediaTek MT792x wireless driver common code
273 HIDDEN:=1
274 DEPENDS+=+kmod-mt76-connac +@DRIVER_11AX_SUPPORT
275 FILES:= $(PKG_BUILD_DIR)/mt792x-lib.ko
276 endef
277
278 define KernelPackage/mt792x-usb
279 $(KernelPackage/mt76-default)
280 TITLE:=MediaTek MT792x wireless driver USB code
281 HIDDEN:=1
282 DEPENDS+=+kmod-mt792x-common +kmod-mt76-usb +@DRIVER_11AX_SUPPORT
283 FILES:= $(PKG_BUILD_DIR)/mt792x-usb.ko
284 endef
285
286 define KernelPackage/mt7921-common
287 $(KernelPackage/mt76-default)
288 TITLE:=MediaTek MT7921 wireless driver common code
289 HIDDEN:=1
290 DEPENDS+=+kmod-mt792x-common +kmod-mt7921-firmware +@DRIVER_11AX_SUPPORT +kmod-hwmon-core
291 FILES:= $(PKG_BUILD_DIR)/mt7921/mt7921-common.ko
292 endef
293
294 define KernelPackage/mt7921u
295 $(KernelPackage/mt76-default)
296 TITLE:=MediaTek MT7921U wireless driver
297 DEPENDS+=+kmod-mt792x-usb +kmod-mt7921-common
298 FILES:= $(PKG_BUILD_DIR)/mt7921/mt7921u.ko
299 AUTOLOAD:=$(call AutoProbe,mt7921u)
300 endef
301
302 define KernelPackage/mt7921s
303 $(KernelPackage/mt76-default)
304 TITLE:=MediaTek MT7921S wireless driver
305 DEPENDS+=+kmod-mt76-sdio +kmod-mt7921-common
306 FILES:= $(PKG_BUILD_DIR)/mt7921/mt7921s.ko
307 AUTOLOAD:=$(call AutoProbe,mt7921s)
308 endef
309
310 define KernelPackage/mt7921e
311 $(KernelPackage/mt76-default)
312 TITLE:=MediaTek MT7921e wireless driver
313 DEPENDS+=@PCI_SUPPORT +kmod-mt7921-common
314 FILES:= $(PKG_BUILD_DIR)/mt7921/mt7921e.ko
315 AUTOLOAD:=$(call AutoProbe,mt7921e)
316 endef
317
318 define KernelPackage/mt7996e
319 $(KernelPackage/mt76-default)
320 TITLE:=MediaTek MT7996E wireless driver
321 DEPENDS+=@PCI_SUPPORT +kmod-mt76-connac +kmod-hwmon-core +@DRIVER_11AX_SUPPORT \
322 +@KERNEL_RELAY +@DRIVER_11BE_SUPPORT
323 FILES:= $(PKG_BUILD_DIR)/mt7996/mt7996e.ko
324 AUTOLOAD:=$(call AutoProbe,mt7996e)
325 endef
326
327 define KernelPackage/mt7992-firmware
328 $(KernelPackage/mt76-default)
329 TITLE:=MediaTek MT7992 firmware
330 DEPENDS+=+kmod-mt7996e
331 endef
332
333 define KernelPackage/mt7992-23-firmware
334 $(KernelPackage/mt76-default)
335 TITLE:=MediaTek MT7996 firmware (2+3 antenna variant)
336 DEPENDS+=+kmod-mt7996e
337 endef
338
339 define KernelPackage/mt7996-firmware-common
340 $(KernelPackage/mt76-default)
341 TITLE:=MediaTek MT7996 firmware (common files)
342 HIDDEN:=1
343 endef
344
345 define KernelPackage/mt7996-firmware
346 $(KernelPackage/mt76-default)
347 TITLE:=MediaTek MT7996 firmware
348 DEPENDS+=+kmod-mt7996e +kmod-mt7996-firmware-common
349 endef
350
351 define KernelPackage/mt7996-233-firmware
352 $(KernelPackage/mt76-default)
353 TITLE:=MediaTek MT7996 firmware (2+3+3 antenna variant)
354 DEPENDS+=+kmod-mt7996e +kmod-mt7996-firmware-common
355 endef
356
357 define KernelPackage/mt7925-firmware
358 $(KernelPackage/mt76-default)
359 TITLE:=MediaTek MT7925 firmware
360 DEPENDS+=+kmod-mt7925e
361 endef
362
363 define KernelPackage/mt7925-common
364 $(KernelPackage/mt76-default)
365 TITLE:=MediaTek MT7925 wireless driver common code
366 HIDDEN:=1
367 DEPENDS+=+kmod-mt792x-common +@DRIVER_11AX_SUPPORT +kmod-hwmon-core +@DRIVER_11BE_SUPPORT
368 FILES:= $(PKG_BUILD_DIR)/mt7925/mt7925-common.ko
369 endef
370
371 define KernelPackage/mt7925u
372 $(KernelPackage/mt76-default)
373 TITLE:=MediaTek MT7925U wireless driver
374 DEPENDS+=+kmod-mt792x-usb +kmod-mt7925-common
375 FILES:= $(PKG_BUILD_DIR)/mt7925/mt7925u.ko
376 AUTOLOAD:=$(call AutoProbe,mt7925u)
377 endef
378
379 define KernelPackage/mt7925e
380 $(KernelPackage/mt76-default)
381 TITLE:=MediaTek MT7925e wireless driver
382 DEPENDS+=@PCI_SUPPORT +kmod-mt7925-common
383 FILES:= $(PKG_BUILD_DIR)/mt7925/mt7925e.ko
384 AUTOLOAD:=$(call AutoProbe,mt7925e)
385 endef
386
387 define Package/mt76-test
388 SECTION:=devel
389 CATEGORY:=Development
390 TITLE:=mt76 testmode CLI
391 DEPENDS:=kmod-mt76-core +libnl-tiny
392 endef
393
394 TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include/libnl-tiny
395
396 NOSTDINC_FLAGS := \
397 $(KERNEL_NOSTDINC_FLAGS) \
398 -I$(PKG_BUILD_DIR) \
399 -I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \
400 -I$(STAGING_DIR)/usr/include/mac80211-backport \
401 -I$(STAGING_DIR)/usr/include/mac80211/uapi \
402 -I$(STAGING_DIR)/usr/include/mac80211 \
403 -include backport/autoconf.h \
404 -include backport/backport.h
405
406 ifdef CONFIG_PACKAGE_MAC80211_MESH
407 NOSTDINC_FLAGS += -DCONFIG_MAC80211_MESH
408 endif
409
410 ifdef CONFIG_PACKAGE_CFG80211_TESTMODE
411 NOSTDINC_FLAGS += -DCONFIG_NL80211_TESTMODE
412 PKG_MAKE_FLAGS += CONFIG_NL80211_TESTMODE=y
413 endif
414
415 ifdef CONFIG_PACKAGE_kmod-mt76-usb
416 PKG_MAKE_FLAGS += CONFIG_MT76_USB=m
417 endif
418 ifdef CONFIG_PACKAGE_kmod-mt76x02-common
419 PKG_MAKE_FLAGS += CONFIG_MT76x02_LIB=m
420 endif
421 ifdef CONFIG_PACKAGE_kmod-mt76x02-usb
422 PKG_MAKE_FLAGS += CONFIG_MT76x02_USB=m
423 endif
424 ifdef CONFIG_PACKAGE_kmod-mt76x0-common
425 PKG_MAKE_FLAGS += CONFIG_MT76x0_COMMON=m
426 endif
427 ifdef CONFIG_PACKAGE_kmod-mt76x0e
428 PKG_MAKE_FLAGS += CONFIG_MT76x0E=m
429 endif
430 ifdef CONFIG_PACKAGE_kmod-mt76x0u
431 PKG_MAKE_FLAGS += CONFIG_MT76x0U=m
432 endif
433 ifdef CONFIG_PACKAGE_kmod-mt76x2-common
434 PKG_MAKE_FLAGS += CONFIG_MT76x2_COMMON=m
435 endif
436 ifdef CONFIG_PACKAGE_kmod-mt76x2
437 PKG_MAKE_FLAGS += CONFIG_MT76x2E=m
438 endif
439 ifdef CONFIG_PACKAGE_kmod-mt76x2u
440 PKG_MAKE_FLAGS += CONFIG_MT76x2U=m
441 endif
442 ifdef CONFIG_PACKAGE_kmod-mt7603
443 PKG_MAKE_FLAGS += CONFIG_MT7603E=m
444 endif
445 ifdef CONFIG_PACKAGE_kmod-mt76-connac
446 PKG_MAKE_FLAGS += CONFIG_MT76_CONNAC_LIB=m
447 endif
448 ifdef CONFIG_PACKAGE_kmod-mt76-sdio
449 PKG_MAKE_FLAGS += CONFIG_MT76_SDIO=m
450 endif
451 ifdef CONFIG_PACKAGE_kmod-mt7615-common
452 PKG_MAKE_FLAGS += CONFIG_MT7615_COMMON=m
453 endif
454 ifdef CONFIG_PACKAGE_kmod-mt7615e
455 PKG_MAKE_FLAGS += CONFIG_MT7615E=m
456 ifdef CONFIG_TARGET_mediatek_mt7622
457 PKG_MAKE_FLAGS += CONFIG_MT7622_WMAC=y
458 NOSTDINC_FLAGS += -DCONFIG_MT7622_WMAC
459 endif
460 endif
461 ifdef CONFIG_PACKAGE_kmod-mt7663-usb-sdio
462 PKG_MAKE_FLAGS += CONFIG_MT7663_USB_SDIO_COMMON=m
463 endif
464 ifdef CONFIG_PACKAGE_kmod-mt7663s
465 PKG_MAKE_FLAGS += CONFIG_MT7663S=m
466 endif
467 ifdef CONFIG_PACKAGE_kmod-mt7663u
468 PKG_MAKE_FLAGS += CONFIG_MT7663U=m
469 endif
470 ifdef CONFIG_PACKAGE_kmod-mt7915e
471 PKG_MAKE_FLAGS += CONFIG_MT7915E=m
472 ifdef CONFIG_TARGET_mediatek_filogic
473 PKG_MAKE_FLAGS += CONFIG_MT798X_WMAC=y
474 NOSTDINC_FLAGS += -DCONFIG_MT798X_WMAC
475 endif
476 endif
477 ifdef CONFIG_PACKAGE_kmod-mt792x-common
478 PKG_MAKE_FLAGS += CONFIG_MT792x_LIB=m
479 endif
480 ifdef CONFIG_PACKAGE_kmod-mt792x-usb
481 PKG_MAKE_FLAGS += CONFIG_MT792x_USB=m
482 endif
483 ifdef CONFIG_PACKAGE_kmod-mt7921-common
484 PKG_MAKE_FLAGS += CONFIG_MT7921_COMMON=m
485 endif
486 ifdef CONFIG_PACKAGE_kmod-mt7921u
487 PKG_MAKE_FLAGS += CONFIG_MT7921U=m
488 endif
489 ifdef CONFIG_PACKAGE_kmod-mt7921s
490 PKG_MAKE_FLAGS += CONFIG_MT7921S=m
491 endif
492 ifdef CONFIG_PACKAGE_kmod-mt7921e
493 PKG_MAKE_FLAGS += CONFIG_MT7921E=m
494 endif
495 ifdef CONFIG_PACKAGE_kmod-mt7996e
496 PKG_MAKE_FLAGS += CONFIG_MT7996E=m
497 endif
498 ifdef CONFIG_PACKAGE_kmod-mt7925-common
499 PKG_MAKE_FLAGS += CONFIG_MT7925_COMMON=m
500 endif
501 ifdef CONFIG_PACKAGE_kmod-mt7925u
502 PKG_MAKE_FLAGS += CONFIG_MT7925U=m
503 endif
504 ifdef CONFIG_PACKAGE_kmod-mt7925e
505 PKG_MAKE_FLAGS += CONFIG_MT7925E=m
506 endif
507
508 define Build/Compile
509 +$(KERNEL_MAKE) $(PKG_JOBS) \
510 $(PKG_MAKE_FLAGS) \
511 M="$(PKG_BUILD_DIR)" \
512 NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
513 modules
514 $(MAKE) -C $(PKG_BUILD_DIR)/tools
515 endef
516
517 define Build/Install
518 :
519 endef
520
521 define Package/kmod-mt76/install
522 true
523 endef
524
525 define KernelPackage/mt76x0-common/install
526 $(INSTALL_DIR) $(1)/lib/firmware/mediatek
527 cp \
528 $(PKG_BUILD_DIR)/firmware/mt7610e.bin \
529 $(1)/lib/firmware/mediatek
530 endef
531
532 define KernelPackage/mt76x2-common/install
533 $(INSTALL_DIR) $(1)/lib/firmware
534 cp \
535 $(PKG_BUILD_DIR)/firmware/mt7662_rom_patch.bin \
536 $(PKG_BUILD_DIR)/firmware/mt7662.bin \
537 $(1)/lib/firmware
538 endef
539
540 define KernelPackage/mt76x0u/install
541 $(INSTALL_DIR) $(1)/lib/firmware/mediatek
542 ln -sf mt7610e.bin $(1)/lib/firmware/mediatek/mt7610u.bin
543 endef
544
545 define KernelPackage/mt76x2u/install
546 $(INSTALL_DIR) $(1)/lib/firmware/mediatek
547 ln -sf ../mt7662.bin $(1)/lib/firmware/mediatek/mt7662u.bin
548 ln -sf ../mt7662_rom_patch.bin $(1)/lib/firmware/mediatek/mt7662u_rom_patch.bin
549 endef
550
551 define KernelPackage/mt7603/install
552 $(INSTALL_DIR) $(1)/lib/firmware
553 cp $(if $(CONFIG_TARGET_ramips_mt76x8), \
554 $(PKG_BUILD_DIR)/firmware/mt7628_e1.bin \
555 $(PKG_BUILD_DIR)/firmware/mt7628_e2.bin \
556 ,\
557 $(PKG_BUILD_DIR)/firmware/mt7603_e1.bin \
558 $(PKG_BUILD_DIR)/firmware/mt7603_e2.bin \
559 ) \
560 $(1)/lib/firmware
561 endef
562
563 define KernelPackage/mt7615-firmware/install
564 $(INSTALL_DIR) $(1)/lib/firmware/mediatek
565 cp \
566 $(PKG_BUILD_DIR)/firmware/mt7615_cr4.bin \
567 $(PKG_BUILD_DIR)/firmware/mt7615_n9.bin \
568 $(PKG_BUILD_DIR)/firmware/mt7615_rom_patch.bin \
569 $(1)/lib/firmware/mediatek
570 endef
571
572 define KernelPackage/mt7622-firmware/install
573 $(INSTALL_DIR) $(1)/lib/firmware/mediatek
574 cp \
575 $(PKG_BUILD_DIR)/firmware/mt7622_n9.bin \
576 $(PKG_BUILD_DIR)/firmware/mt7622_rom_patch.bin \
577 $(1)/lib/firmware/mediatek
578 endef
579
580 define KernelPackage/mt7663-firmware-ap/install
581 $(INSTALL_DIR) $(1)/lib/firmware/mediatek
582 cp \
583 $(PKG_BUILD_DIR)/firmware/mt7663_n9_rebb.bin \
584 $(PKG_BUILD_DIR)/firmware/mt7663pr2h_rebb.bin \
585 $(1)/lib/firmware/mediatek
586 endef
587
588 define KernelPackage/mt7663-firmware-sta/install
589 $(INSTALL_DIR) $(1)/lib/firmware/mediatek
590 cp \
591 $(PKG_BUILD_DIR)/firmware/mt7663_n9_v3.bin \
592 $(PKG_BUILD_DIR)/firmware/mt7663pr2h.bin \
593 $(1)/lib/firmware/mediatek
594 endef
595
596 define KernelPackage/mt7915-firmware/install
597 $(INSTALL_DIR) $(1)/lib/firmware/mediatek
598 cp \
599 $(PKG_BUILD_DIR)/firmware/mt7915_wa.bin \
600 $(PKG_BUILD_DIR)/firmware/mt7915_wm.bin \
601 $(PKG_BUILD_DIR)/firmware/mt7915_rom_patch.bin \
602 $(1)/lib/firmware/mediatek
603 endef
604
605 define KernelPackage/mt7916-firmware/install
606 $(INSTALL_DIR) $(1)/lib/firmware/mediatek
607 cp \
608 $(PKG_BUILD_DIR)/firmware/mt7916_wa.bin \
609 $(PKG_BUILD_DIR)/firmware/mt7916_wm.bin \
610 $(PKG_BUILD_DIR)/firmware/mt7916_rom_patch.bin \
611 $(1)/lib/firmware/mediatek
612 endef
613
614 define KernelPackage/mt7981-firmware/install
615 $(INSTALL_DIR) $(1)/lib/firmware/mediatek
616 cp \
617 $(PKG_BUILD_DIR)/firmware/mt7981_wa.bin \
618 $(PKG_BUILD_DIR)/firmware/mt7981_wm.bin \
619 $(PKG_BUILD_DIR)/firmware/mt7981_rom_patch.bin \
620 $(1)/lib/firmware/mediatek
621 endef
622
623 define KernelPackage/mt7986-firmware/install
624 $(INSTALL_DIR) $(1)/lib/firmware/mediatek
625 cp \
626 $(PKG_BUILD_DIR)/firmware/mt7986_wa.bin \
627 $(PKG_BUILD_DIR)/firmware/mt7986_wm_mt7975.bin \
628 $(PKG_BUILD_DIR)/firmware/mt7986_wm.bin \
629 $(PKG_BUILD_DIR)/firmware/mt7986_rom_patch_mt7975.bin \
630 $(PKG_BUILD_DIR)/firmware/mt7986_rom_patch.bin \
631 $(1)/lib/firmware/mediatek
632 endef
633
634 define KernelPackage/mt7921-firmware/install
635 $(INSTALL_DIR) $(1)/lib/firmware/mediatek
636 cp \
637 $(PKG_BUILD_DIR)/firmware/WIFI_MT7961_patch_mcu_1_2_hdr.bin \
638 $(PKG_BUILD_DIR)/firmware/WIFI_RAM_CODE_MT7961_1.bin \
639 $(1)/lib/firmware/mediatek
640 endef
641
642 define KernelPackage/mt7922-firmware/install
643 $(INSTALL_DIR) $(1)/lib/firmware/mediatek
644 cp \
645 $(PKG_BUILD_DIR)/firmware/WIFI_MT7922_patch_mcu_1_1_hdr.bin \
646 $(PKG_BUILD_DIR)/firmware/WIFI_RAM_CODE_MT7922_1.bin \
647 $(1)/lib/firmware/mediatek
648 endef
649
650 define KernelPackage/mt7925-firmware/install
651 $(INSTALL_DIR) $(1)/lib/firmware/mediatek/mt7925
652 cp \
653 $(PKG_BUILD_DIR)/firmware/mt7925/WIFI_MT7925_PATCH_MCU_1_1_hdr.bin \
654 $(PKG_BUILD_DIR)/firmware/mt7925/WIFI_RAM_CODE_MT7925_1_1.bin \
655 $(1)/lib/firmware/mediatek/mt7925
656 endef
657
658 define KernelPackage/mt7992-firmware/install
659 $(INSTALL_DIR) $(1)/lib/firmware/mediatek/mt7996
660 cp \
661 $(PKG_BUILD_DIR)/firmware/mt7996/mt7992_dsp.bin \
662 $(PKG_BUILD_DIR)/firmware/mt7996/mt7992_eeprom.bin \
663 $(PKG_BUILD_DIR)/firmware/mt7996/mt7992_eeprom_2i5i.bin \
664 $(PKG_BUILD_DIR)/firmware/mt7996/mt7992_eeprom_2i5e.bin \
665 $(PKG_BUILD_DIR)/firmware/mt7996/mt7992_rom_patch.bin \
666 $(PKG_BUILD_DIR)/firmware/mt7996/mt7992_wa.bin \
667 $(PKG_BUILD_DIR)/firmware/mt7996/mt7992_wm.bin \
668 $(1)/lib/firmware/mediatek/mt7996
669 endef
670
671 define KernelPackage/mt7992-23-firmware/install
672 $(INSTALL_DIR) $(1)/lib/firmware/mediatek/mt7996
673 cp \
674 $(PKG_BUILD_DIR)/firmware/mt7996/mt7992_dsp_23.bin \
675 $(PKG_BUILD_DIR)/firmware/mt7996/mt7992_eeprom_23.bin \
676 $(PKG_BUILD_DIR)/firmware/mt7996/mt7992_eeprom_23_2i5i.bin \
677 $(PKG_BUILD_DIR)/firmware/mt7996/mt7992_rom_patch_23.bin \
678 $(PKG_BUILD_DIR)/firmware/mt7996/mt7992_wa_23.bin \
679 $(PKG_BUILD_DIR)/firmware/mt7996/mt7992_wm_23.bin \
680 $(1)/lib/firmware/mediatek/mt7996
681 endef
682
683 define KernelPackage/mt7996-firmware-common/install
684 $(INSTALL_DIR) $(1)/lib/firmware/mediatek/mt7996
685 cp \
686 $(PKG_BUILD_DIR)/firmware/mt7996/mt7996_dsp.bin \
687 $(1)/lib/firmware/mediatek/mt7996
688 endef
689
690 define KernelPackage/mt7996-firmware/install
691 $(INSTALL_DIR) $(1)/lib/firmware/mediatek/mt7996
692 cp \
693 $(PKG_BUILD_DIR)/firmware/mt7996/mt7996_eeprom.bin \
694 $(PKG_BUILD_DIR)/firmware/mt7996/mt7996_eeprom_2i5i6i.bin \
695 $(PKG_BUILD_DIR)/firmware/mt7996/mt7996_rom_patch.bin \
696 $(PKG_BUILD_DIR)/firmware/mt7996/mt7996_wa.bin \
697 $(PKG_BUILD_DIR)/firmware/mt7996/mt7996_wm.bin \
698 $(1)/lib/firmware/mediatek/mt7996
699 endef
700
701 define KernelPackage/mt7996-233-firmware/install
702 $(INSTALL_DIR) $(1)/lib/firmware/mediatek/mt7996
703 cp \
704 $(PKG_BUILD_DIR)/firmware/mt7996/mt7996_eeprom_233.bin \
705 $(PKG_BUILD_DIR)/firmware/mt7996/mt7996_eeprom_233_2i5i6i.bin \
706 $(PKG_BUILD_DIR)/firmware/mt7996/mt7996_rom_patch_233.bin \
707 $(PKG_BUILD_DIR)/firmware/mt7996/mt7996_wa_233.bin \
708 $(PKG_BUILD_DIR)/firmware/mt7996/mt7996_wm_233.bin \
709 $(1)/lib/firmware/mediatek/mt7996
710 endef
711
712 define Package/mt76-test/install
713 mkdir -p $(1)/usr/sbin
714 $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/mt76-test $(1)/usr/sbin
715 endef
716
717 define Build/InstallDev
718 mkdir -p $(STAGING_DIR_IMAGE)
719 $(CP) $(PKG_BUILD_DIR)/firmware/mt7981_eeprom_mt7976_dbdc.bin $(STAGING_DIR_IMAGE)/
720 endef
721
722 $(eval $(call KernelPackage,mt76-core))
723 $(eval $(call KernelPackage,mt76-usb))
724 $(eval $(call KernelPackage,mt76x02-usb))
725 $(eval $(call KernelPackage,mt76x02-common))
726 $(eval $(call KernelPackage,mt76x0-common))
727 $(eval $(call KernelPackage,mt76x0e))
728 $(eval $(call KernelPackage,mt76x0u))
729 $(eval $(call KernelPackage,mt76x2-common))
730 $(eval $(call KernelPackage,mt76x2u))
731 $(eval $(call KernelPackage,mt76x2))
732 $(eval $(call KernelPackage,mt7603))
733 $(eval $(call KernelPackage,mt76-connac))
734 $(eval $(call KernelPackage,mt76-sdio))
735 $(eval $(call KernelPackage,mt7615-common))
736 $(eval $(call KernelPackage,mt7615-firmware))
737 $(eval $(call KernelPackage,mt7622-firmware))
738 $(eval $(call KernelPackage,mt7615e))
739 $(eval $(call KernelPackage,mt7663-firmware-ap))
740 $(eval $(call KernelPackage,mt7663-firmware-sta))
741 $(eval $(call KernelPackage,mt7663-usb-sdio))
742 $(eval $(call KernelPackage,mt7663u))
743 $(eval $(call KernelPackage,mt7663s))
744 $(eval $(call KernelPackage,mt7915-firmware))
745 $(eval $(call KernelPackage,mt7915e))
746 $(eval $(call KernelPackage,mt7916-firmware))
747 $(eval $(call KernelPackage,mt7981-firmware))
748 $(eval $(call KernelPackage,mt7986-firmware))
749 $(eval $(call KernelPackage,mt7921-firmware))
750 $(eval $(call KernelPackage,mt7922-firmware))
751 $(eval $(call KernelPackage,mt7925-firmware))
752 $(eval $(call KernelPackage,mt792x-common))
753 $(eval $(call KernelPackage,mt792x-usb))
754 $(eval $(call KernelPackage,mt7921-common))
755 $(eval $(call KernelPackage,mt7925-common))
756 $(eval $(call KernelPackage,mt7921u))
757 $(eval $(call KernelPackage,mt7921s))
758 $(eval $(call KernelPackage,mt7921e))
759 $(eval $(call KernelPackage,mt7925u))
760 $(eval $(call KernelPackage,mt7925e))
761 $(eval $(call KernelPackage,mt7996e))
762 $(eval $(call KernelPackage,mt7992-firmware))
763 $(eval $(call KernelPackage,mt7992-23-firmware))
764 $(eval $(call KernelPackage,mt7996-firmware-common))
765 $(eval $(call KernelPackage,mt7996-firmware))
766 $(eval $(call KernelPackage,mt7996-233-firmware))
767 $(eval $(call KernelPackage,mt76))
768 $(eval $(call BuildPackage,mt76-test))