1 include $(TOPDIR
)/rules.mk
9 PKG_SOURCE_URL
:=https
://github.com
/openwrt
/mt76
11 PKG_SOURCE_DATE
:=2021-04-07
12 PKG_SOURCE_VERSION
:=813db729c02ffa74fdda6d461afeb5aabc5706bb
13 PKG_MIRROR_HASH
:=63bd913f8ba3e85ae7a4575737a2c66377ebf59fa543e025150c650dd9ae13f2
15 PKG_MAINTAINER
:=Felix Fietkau
<nbd@nbd.name
>
18 PKG_CONFIG_DEPENDS
+= \
19 CONFIG_PACKAGE_kmod-mt76-usb \
20 CONFIG_PACKAGE_kmod-mt76x02-common \
21 CONFIG_PACKAGE_kmod-mt76x0-common \
22 CONFIG_PACKAGE_kmod-mt76x0u \
23 CONFIG_PACKAGE_kmod-mt76x2-common \
24 CONFIG_PACKAGE_kmod-mt76x2 \
25 CONFIG_PACKAGE_kmod-mt76x2u \
26 CONFIG_PACKAGE_kmod-mt7603 \
27 CONFIG_PACKAGE_CFG80211_TESTMODE
29 STAMP_CONFIGURED_DEPENDS
:= $(STAGING_DIR
)/usr
/include/mac80211-backport
/backport
/autoconf.h
31 include $(INCLUDE_DIR
)/kernel.mk
32 include $(INCLUDE_DIR
)/package.mk
33 include $(INCLUDE_DIR
)/cmake.mk
35 CMAKE_SOURCE_DIR
:=$(PKG_BUILD_DIR
)/tools
36 CMAKE_BINARY_DIR
:=$(PKG_BUILD_DIR
)/tools
38 define KernelPackage
/mt76-default
39 SUBMENU
:=Wireless Drivers
42 +@DRIVER_11AC_SUPPORT
+@DRIVER_11N_SUPPORT
45 define KernelPackage
/mt76
46 SUBMENU
:=Wireless Drivers
47 TITLE
:=MediaTek MT76x2
/MT7603 wireless driver
(metapackage
)
49 +kmod-mt76-core
+kmod-mt76x2
+kmod-mt7603
52 define KernelPackage
/mt76-core
53 $(KernelPackage
/mt76-default
)
54 TITLE
:=MediaTek MT76xx wireless driver
57 $(PKG_BUILD_DIR
)/mt76.ko
60 define KernelPackage
/mt76-usb
61 $(KernelPackage
/mt76-default
)
62 TITLE
:=MediaTek MT76xx wireless driver USB support
63 DEPENDS
+= +kmod-usb-core
+kmod-mt76-core
66 $(PKG_BUILD_DIR
)/mt76-usb.ko
69 define KernelPackage
/mt76x02-usb
70 $(KernelPackage
/mt76-default
)
71 TITLE
:=MediaTek MT76x0
/MT76x2 USB wireless driver common code
72 DEPENDS
+=+kmod-mt76-usb
+kmod-mt76x02-common
74 FILES
:=$(PKG_BUILD_DIR
)/mt76x02-usb.ko
77 define KernelPackage
/mt76x02-common
78 $(KernelPackage
/mt76-default
)
79 TITLE
:=MediaTek MT76x0
/MT76x2 wireless driver common code
80 DEPENDS
+=+kmod-mt76-core
82 FILES
:=$(PKG_BUILD_DIR
)/mt76x02-lib.ko
85 define KernelPackage
/mt76x0-common
86 $(KernelPackage
/mt76-default
)
87 TITLE
:=MediaTek MT76x0 wireless driver common code
88 DEPENDS
+=+kmod-mt76x02-common
90 FILES
:=$(PKG_BUILD_DIR
)/mt76x0
/mt76x0-common.ko
93 define KernelPackage
/mt76x0e
94 $(KernelPackage
/mt76-default
)
95 TITLE
:=MediaTek MT76x0E wireless driver
96 DEPENDS
+=@PCI_SUPPORT
+kmod-mt76x0-common
98 $(PKG_BUILD_DIR
)/mt76x0
/mt76x0e.ko
99 AUTOLOAD
:=$(call AutoProbe
,mt76x0e
)
102 define KernelPackage
/mt76x0u
103 $(KernelPackage
/mt76-default
)
104 TITLE
:=MediaTek MT76x0U wireless driver
105 DEPENDS
+=+kmod-mt76x0-common
+kmod-mt76x02-usb
107 $(PKG_BUILD_DIR
)/mt76x0
/mt76x0u.ko
108 AUTOLOAD
:=$(call AutoProbe
,mt76x0u
)
111 define KernelPackage
/mt76x2-common
112 $(KernelPackage
/mt76-default
)
113 TITLE
:=MediaTek MT76x2 wireless driver common code
114 DEPENDS
+=+kmod-mt76-core
+kmod-mt76x02-common
116 FILES
:=$(PKG_BUILD_DIR
)/mt76x2
/mt76x2-common.ko
119 define KernelPackage
/mt76x2u
120 $(KernelPackage
/mt76-default
)
121 TITLE
:=MediaTek MT76x2U wireless driver
122 DEPENDS
+=+kmod-mt76x2-common
+kmod-mt76x02-usb
124 $(PKG_BUILD_DIR
)/mt76x2
/mt76x2u.ko
125 AUTOLOAD
:=$(call AutoProbe
,mt76x2u
)
128 define KernelPackage
/mt76x2
129 $(KernelPackage
/mt76-default
)
130 TITLE
:=MediaTek MT76x2 wireless driver
131 DEPENDS
+=@PCI_SUPPORT
+kmod-mt76x2-common
133 $(PKG_BUILD_DIR
)/mt76x2
/mt76x2e.ko
134 AUTOLOAD
:=$(call AutoProbe
,mt76x2e
)
137 define KernelPackage
/mt7603
138 $(KernelPackage
/mt76-default
)
139 TITLE
:=MediaTek MT7603 wireless driver
140 DEPENDS
+=@PCI_SUPPORT
+kmod-mt76-core
142 $(PKG_BUILD_DIR
)/mt7603
/mt7603e.ko
143 AUTOLOAD
:=$(call AutoProbe
,mt7603e
)
146 define KernelPackage
/mt76-connac
147 $(KernelPackage
/mt76-default
)
148 TITLE
:=MediaTek MT7615
/MT79xx wireless driver common code
150 DEPENDS
+=+kmod-mt76-core
151 FILES
:= $(PKG_BUILD_DIR
)/mt76-connac-lib.ko
154 define KernelPackage
/mt7615-common
155 $(KernelPackage
/mt76-default
)
156 TITLE
:=MediaTek MT7615 wireless driver common code
158 DEPENDS
+=@PCI_SUPPORT
+kmod-mt76-core
+kmod-mt76-connac
159 FILES
:= $(PKG_BUILD_DIR
)/mt7615
/mt7615-common.ko
162 define KernelPackage
/mt7615-firmware
163 $(KernelPackage
/mt76-default
)
164 TITLE
:=MediaTek MT7615e firmware
165 DEFAULT
:=PACKAGE_kmod-mt7615e
168 define KernelPackage
/mt7615e
169 $(KernelPackage
/mt76-default
)
170 TITLE
:=MediaTek MT7615e wireless driver
171 DEPENDS
+=@PCI_SUPPORT
+kmod-mt7615-common
172 FILES
:= $(PKG_BUILD_DIR
)/mt7615
/mt7615e.ko
173 AUTOLOAD
:=$(call AutoProbe
,mt7615e
)
176 define KernelPackage
/mt7663-firmware-ap
177 $(KernelPackage
/mt76-default
)
178 TITLE
:=MediaTek MT7663e firmware
(optimized for AP
)
181 define KernelPackage
/mt7663-firmware-sta
182 $(KernelPackage
/mt76-default
)
183 TITLE
:=MediaTek MT7663e firmware
(client mode offload
)
186 define KernelPackage
/mt7663-usb-sdio
187 $(KernelPackage
/mt76-default
)
188 TITLE
:=MediaTek MT7663 USB
/SDIO shared code
189 DEPENDS
+=+kmod-mt7615-common
192 $(PKG_BUILD_DIR
)/mt7615
/mt7663-usb-sdio-common.ko
195 define KernelPackage
/mt7663s
196 $(KernelPackage
/mt76-default
)
197 TITLE
:=MediaTek MT7663s wireless driver
198 DEPENDS
+=+kmod-mmc
+kmod-mt7615-common
+kmod-mt7663-usb-sdio
200 $(PKG_BUILD_DIR
)/mt76-sdio.ko \
201 $(PKG_BUILD_DIR
)/mt7615
/mt7663s.ko
202 AUTOLOAD
:=$(call AutoProbe
,mt7663s
)
205 define KernelPackage
/mt7663u
206 $(KernelPackage
/mt76-default
)
207 TITLE
:=MediaTek MT7663u wireless driver
208 DEPENDS
+=+kmod-mt76-usb
+kmod-mt7615-common
+kmod-mt7663-usb-sdio
209 FILES
:= $(PKG_BUILD_DIR
)/mt7615
/mt7663u.ko
210 AUTOLOAD
:=$(call AutoProbe
,mt7663u
)
213 define KernelPackage
/mt7915e
214 $(KernelPackage
/mt76-default
)
215 TITLE
:=MediaTek MT7915e wireless driver
216 DEPENDS
+=@PCI_SUPPORT
+kmod-mt7615-common
+@DRIVER_11AX_SUPPORT
217 FILES
:= $(PKG_BUILD_DIR
)/mt7915
/mt7915e.ko
218 AUTOLOAD
:=$(call AutoProbe
,mt7915e
)
221 define KernelPackage
/mt7921e
222 $(KernelPackage
/mt76-default
)
223 TITLE
:=MediaTek MT7921e wireless driver
224 DEPENDS
+=@PCI_SUPPORT
+kmod-mt76-connac
225 FILES
:= $(PKG_BUILD_DIR
)/mt7921
/mt7921e.ko
226 AUTOLOAD
:=$(call AutoProbe
,mt7921e
)
229 define Package
/mt76-test
231 CATEGORY
:=Development
232 TITLE
:=mt76 testmode CLI
233 DEPENDS
:=kmod-mt76-core
+libnl-tiny
236 TARGET_CFLAGS
+= -I
$(STAGING_DIR
)/usr
/include/libnl-tiny
239 $(KERNEL_NOSTDINC_FLAGS
) \
241 -I
$(STAGING_DIR
)/usr
/include/mac80211-backport
/uapi \
242 -I
$(STAGING_DIR
)/usr
/include/mac80211-backport \
243 -I
$(STAGING_DIR
)/usr
/include/mac80211
/uapi \
244 -I
$(STAGING_DIR
)/usr
/include/mac80211 \
245 -include backport
/autoconf.h \
246 -include backport
/backport.h
248 ifdef CONFIG_PACKAGE_MAC80211_MESH
249 NOSTDINC_FLAGS
+= -DCONFIG_MAC80211_MESH
252 ifdef CONFIG_PACKAGE_CFG80211_TESTMODE
253 NOSTDINC_FLAGS
+= -DCONFIG_NL80211_TESTMODE
254 PKG_MAKE_FLAGS
+= CONFIG_NL80211_TESTMODE
=y
257 ifdef CONFIG_PACKAGE_kmod-mt76-usb
258 PKG_MAKE_FLAGS
+= CONFIG_MT76_USB
=m
260 ifdef CONFIG_PACKAGE_kmod-mt76x02-common
261 PKG_MAKE_FLAGS
+= CONFIG_MT76x02_LIB
=m
263 ifdef CONFIG_PACKAGE_kmod-mt76x02-usb
264 PKG_MAKE_FLAGS
+= CONFIG_MT76x02_USB
=m
266 ifdef CONFIG_PACKAGE_kmod-mt76x0-common
267 PKG_MAKE_FLAGS
+= CONFIG_MT76x0_COMMON
=m
269 ifdef CONFIG_PACKAGE_kmod-mt76x0e
270 PKG_MAKE_FLAGS
+= CONFIG_MT76x0E
=m
272 ifdef CONFIG_PACKAGE_kmod-mt76x0u
273 PKG_MAKE_FLAGS
+= CONFIG_MT76x0U
=m
275 ifdef CONFIG_PACKAGE_kmod-mt76x2-common
276 PKG_MAKE_FLAGS
+= CONFIG_MT76x2_COMMON
=m
278 ifdef CONFIG_PACKAGE_kmod-mt76x2
279 PKG_MAKE_FLAGS
+= CONFIG_MT76x2E
=m
281 ifdef CONFIG_PACKAGE_kmod-mt76x2u
282 PKG_MAKE_FLAGS
+= CONFIG_MT76x2U
=m
284 ifdef CONFIG_PACKAGE_kmod-mt7603
285 PKG_MAKE_FLAGS
+= CONFIG_MT7603E
=m
287 ifdef CONFIG_PACKAGE_kmod-mt76-connac
288 PKG_MAKE_FLAGS
+= CONFIG_MT76_CONNAC_LIB
=m
290 ifdef CONFIG_PACKAGE_kmod-mt7615-common
291 PKG_MAKE_FLAGS
+= CONFIG_MT7615_COMMON
=m
293 ifdef CONFIG_PACKAGE_kmod-mt7615e
294 PKG_MAKE_FLAGS
+= CONFIG_MT7615E
=m
295 ifdef CONFIG_TARGET_mediatek_mt7622
296 PKG_MAKE_FLAGS
+= CONFIG_MT7622_WMAC
=y
297 NOSTDINC_FLAGS
+= -DCONFIG_MT7622_WMAC
300 ifdef CONFIG_PACKAGE_kmod-mt7663-usb-sdio
301 PKG_MAKE_FLAGS
+= CONFIG_MT7663_USB_SDIO_COMMON
=m
303 ifdef CONFIG_PACKAGE_kmod-mt7663s
304 PKG_MAKE_FLAGS
+= CONFIG_MT76_SDIO
=m
305 PKG_MAKE_FLAGS
+= CONFIG_MT7663S
=m
307 ifdef CONFIG_PACKAGE_kmod-mt7663u
308 PKG_MAKE_FLAGS
+= CONFIG_MT7663U
=m
310 ifdef CONFIG_PACKAGE_kmod-mt7915e
311 PKG_MAKE_FLAGS
+= CONFIG_MT7915E
=m
313 ifdef CONFIG_PACKAGE_kmod-mt7921e
314 PKG_MAKE_FLAGS
+= CONFIG_MT7921E
=m
318 +$(MAKE
) $(PKG_JOBS
) -C
"$(LINUX_DIR)" \
319 $(KERNEL_MAKE_FLAGS
) \
321 M
="$(PKG_BUILD_DIR)" \
322 NOSTDINC_FLAGS
="$(NOSTDINC_FLAGS)" \
324 $(MAKE
) -C
$(PKG_BUILD_DIR
)/tools
331 define Package
/kmod-mt76
/install
335 define KernelPackage
/mt76x0-common
/install
336 $(INSTALL_DIR
) $(1)/lib
/firmware
/mediatek
338 $(PKG_BUILD_DIR
)/firmware
/mt7610e.bin \
339 $(1)/lib
/firmware
/mediatek
342 define KernelPackage
/mt76x2-common
/install
343 $(INSTALL_DIR
) $(1)/lib
/firmware
345 $(PKG_BUILD_DIR
)/firmware
/mt7662_rom_patch.bin \
346 $(PKG_BUILD_DIR
)/firmware
/mt7662.bin \
350 define KernelPackage
/mt76x0u
/install
351 $(INSTALL_DIR
) $(1)/lib
/firmware
/mediatek
352 ln
-sf mt7610e.bin
$(1)/lib
/firmware
/mediatek
/mt7610u.bin
355 define KernelPackage
/mt76x2u
/install
356 $(INSTALL_DIR
) $(1)/lib
/firmware
/mediatek
357 ln
-sf ..
/mt7662.bin
$(1)/lib
/firmware
/mediatek
/mt7662u.bin
358 ln
-sf ..
/mt7662_rom_patch.bin
$(1)/lib
/firmware
/mediatek
/mt7662u_rom_patch.bin
361 define KernelPackage
/mt7603
/install
362 $(INSTALL_DIR
) $(1)/lib
/firmware
363 cp
$(if
$(CONFIG_TARGET_ramips_mt76x8
), \
364 $(PKG_BUILD_DIR
)/firmware
/mt7628_e1.bin \
365 $(PKG_BUILD_DIR
)/firmware
/mt7628_e2.bin \
367 $(PKG_BUILD_DIR
)/firmware
/mt7603_e1.bin \
368 $(PKG_BUILD_DIR
)/firmware
/mt7603_e2.bin \
373 define KernelPackage
/mt7615-firmware
/install
374 $(INSTALL_DIR
) $(1)/lib
/firmware
/mediatek
376 $(PKG_BUILD_DIR
)/firmware
/mt7615_cr4.bin \
377 $(PKG_BUILD_DIR
)/firmware
/mt7615_n9.bin \
378 $(PKG_BUILD_DIR
)/firmware
/mt7615_rom_patch.bin \
379 $(if
$(CONFIG_TARGET_mediatek_mt7622
), \
380 $(PKG_BUILD_DIR
)/firmware
/mt7622_n9.bin \
381 $(PKG_BUILD_DIR
)/firmware
/mt7622_rom_patch.bin
) \
382 $(1)/lib
/firmware
/mediatek
385 define KernelPackage
/mt7663-firmware-ap
/install
386 $(INSTALL_DIR
) $(1)/lib
/firmware
/mediatek
388 $(PKG_BUILD_DIR
)/firmware
/mt7663_n9_rebb.bin \
389 $(PKG_BUILD_DIR
)/firmware
/mt7663pr2h_rebb.bin \
390 $(1)/lib
/firmware
/mediatek
393 define KernelPackage
/mt7663-firmware-sta
/install
394 $(INSTALL_DIR
) $(1)/lib
/firmware
/mediatek
396 $(PKG_BUILD_DIR
)/firmware
/mt7663_n9_v3.bin \
397 $(PKG_BUILD_DIR
)/firmware
/mt7663pr2h.bin \
398 $(1)/lib
/firmware
/mediatek
401 define KernelPackage
/mt7915e
/install
402 $(INSTALL_DIR
) $(1)/lib
/firmware
/mediatek
404 $(PKG_BUILD_DIR
)/firmware
/mt7915_wa.bin \
405 $(PKG_BUILD_DIR
)/firmware
/mt7915_wm.bin \
406 $(PKG_BUILD_DIR
)/firmware
/mt7915_rom_patch.bin \
407 $(1)/lib
/firmware
/mediatek
410 define KernelPackage
/mt7921e
/install
411 $(INSTALL_DIR
) $(1)/lib
/firmware
/mediatek
413 $(PKG_BUILD_DIR
)/firmware
/WIFI_MT7961_patch_mcu_1_2_hdr.bin \
414 $(PKG_BUILD_DIR
)/firmware
/WIFI_RAM_CODE_MT7961_1.bin \
415 $(1)/lib
/firmware
/mediatek
418 define Package
/mt76-test
/install
419 mkdir
-p
$(1)/usr
/sbin
420 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/tools
/mt76-test
$(1)/usr
/sbin
423 $(eval
$(call KernelPackage
,mt76-core
))
424 $(eval
$(call KernelPackage
,mt76-usb
))
425 $(eval
$(call KernelPackage
,mt76x02-usb
))
426 $(eval
$(call KernelPackage
,mt76x02-common
))
427 $(eval
$(call KernelPackage
,mt76x0-common
))
428 $(eval
$(call KernelPackage
,mt76x0e
))
429 $(eval
$(call KernelPackage
,mt76x0u
))
430 $(eval
$(call KernelPackage
,mt76x2-common
))
431 $(eval
$(call KernelPackage
,mt76x2u
))
432 $(eval
$(call KernelPackage
,mt76x2
))
433 $(eval
$(call KernelPackage
,mt7603
))
434 $(eval
$(call KernelPackage
,mt76-connac
))
435 $(eval
$(call KernelPackage
,mt7615-common
))
436 $(eval
$(call KernelPackage
,mt7615-firmware
))
437 $(eval
$(call KernelPackage
,mt7615e
))
438 $(eval
$(call KernelPackage
,mt7663-firmware-ap
))
439 $(eval
$(call KernelPackage
,mt7663-firmware-sta
))
440 $(eval
$(call KernelPackage
,mt7663-usb-sdio
))
441 $(eval
$(call KernelPackage
,mt7663u
))
442 $(eval
$(call KernelPackage
,mt7663s
))
443 $(eval
$(call KernelPackage
,mt7915e
))
444 $(eval
$(call KernelPackage
,mt7921e
))
445 $(eval
$(call KernelPackage
,mt76
))
446 $(eval
$(call BuildPackage
,mt76-test
))