Makefile 22 KB

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