Makefile 22 KB

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