Makefile 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676
  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:=2024-03-18
  9. PKG_SOURCE_VERSION:=2135e201e7a9339e018d4e2d4a33c73266e674d7
  10. PKG_MIRROR_HASH:=530db8a70d18295677989aafc9c1757b151ef77e359985417f1d36e7d2415d33
  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
  276. FILES:= $(PKG_BUILD_DIR)/mt7996/mt7996e.ko
  277. AUTOLOAD:=$(call AutoProbe,mt7996e)
  278. endef
  279. define KernelPackage/mt7996-firmware
  280. $(KernelPackage/mt76-default)
  281. TITLE:=MediaTek MT7996 firmware
  282. DEPENDS+=+kmod-mt7996e
  283. endef
  284. define KernelPackage/mt7925-common
  285. $(KernelPackage/mt76-default)
  286. TITLE:=MediaTek MT7925 wireless driver common code
  287. HIDDEN:=1
  288. DEPENDS+=+kmod-mt792x-common +@DRIVER_11AX_SUPPORT +kmod-hwmon-core
  289. FILES:= $(PKG_BUILD_DIR)/mt7925/mt7925-common.ko
  290. endef
  291. define KernelPackage/mt7925u
  292. $(KernelPackage/mt76-default)
  293. TITLE:=MediaTek MT7925U wireless driver
  294. DEPENDS+=+kmod-mt792x-usb +kmod-mt7925-common
  295. FILES:= $(PKG_BUILD_DIR)/mt7925/mt7925u.ko
  296. AUTOLOAD:=$(call AutoProbe,mt7921u)
  297. endef
  298. define KernelPackage/mt7925e
  299. $(KernelPackage/mt76-default)
  300. TITLE:=MediaTek MT7925e wireless driver
  301. DEPENDS+=@PCI_SUPPORT +kmod-mt7925-common
  302. FILES:= $(PKG_BUILD_DIR)/mt7925/mt7925e.ko
  303. AUTOLOAD:=$(call AutoProbe,mt7921e)
  304. endef
  305. define Package/mt76-test
  306. SECTION:=devel
  307. CATEGORY:=Development
  308. TITLE:=mt76 testmode CLI
  309. DEPENDS:=kmod-mt76-core +libnl-tiny
  310. endef
  311. TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include/libnl-tiny
  312. NOSTDINC_FLAGS := \
  313. $(KERNEL_NOSTDINC_FLAGS) \
  314. -I$(PKG_BUILD_DIR) \
  315. -I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \
  316. -I$(STAGING_DIR)/usr/include/mac80211-backport \
  317. -I$(STAGING_DIR)/usr/include/mac80211/uapi \
  318. -I$(STAGING_DIR)/usr/include/mac80211 \
  319. -include backport/autoconf.h \
  320. -include backport/backport.h
  321. ifdef CONFIG_PACKAGE_MAC80211_MESH
  322. NOSTDINC_FLAGS += -DCONFIG_MAC80211_MESH
  323. endif
  324. ifdef CONFIG_PACKAGE_CFG80211_TESTMODE
  325. NOSTDINC_FLAGS += -DCONFIG_NL80211_TESTMODE
  326. PKG_MAKE_FLAGS += CONFIG_NL80211_TESTMODE=y
  327. endif
  328. ifdef CONFIG_PACKAGE_kmod-mt76-usb
  329. PKG_MAKE_FLAGS += CONFIG_MT76_USB=m
  330. endif
  331. ifdef CONFIG_PACKAGE_kmod-mt76x02-common
  332. PKG_MAKE_FLAGS += CONFIG_MT76x02_LIB=m
  333. endif
  334. ifdef CONFIG_PACKAGE_kmod-mt76x02-usb
  335. PKG_MAKE_FLAGS += CONFIG_MT76x02_USB=m
  336. endif
  337. ifdef CONFIG_PACKAGE_kmod-mt76x0-common
  338. PKG_MAKE_FLAGS += CONFIG_MT76x0_COMMON=m
  339. endif
  340. ifdef CONFIG_PACKAGE_kmod-mt76x0e
  341. PKG_MAKE_FLAGS += CONFIG_MT76x0E=m
  342. endif
  343. ifdef CONFIG_PACKAGE_kmod-mt76x0u
  344. PKG_MAKE_FLAGS += CONFIG_MT76x0U=m
  345. endif
  346. ifdef CONFIG_PACKAGE_kmod-mt76x2-common
  347. PKG_MAKE_FLAGS += CONFIG_MT76x2_COMMON=m
  348. endif
  349. ifdef CONFIG_PACKAGE_kmod-mt76x2
  350. PKG_MAKE_FLAGS += CONFIG_MT76x2E=m
  351. endif
  352. ifdef CONFIG_PACKAGE_kmod-mt76x2u
  353. PKG_MAKE_FLAGS += CONFIG_MT76x2U=m
  354. endif
  355. ifdef CONFIG_PACKAGE_kmod-mt7603
  356. PKG_MAKE_FLAGS += CONFIG_MT7603E=m
  357. endif
  358. ifdef CONFIG_PACKAGE_kmod-mt76-connac
  359. PKG_MAKE_FLAGS += CONFIG_MT76_CONNAC_LIB=m
  360. endif
  361. ifdef CONFIG_PACKAGE_kmod-mt76-sdio
  362. PKG_MAKE_FLAGS += CONFIG_MT76_SDIO=m
  363. endif
  364. ifdef CONFIG_PACKAGE_kmod-mt7615-common
  365. PKG_MAKE_FLAGS += CONFIG_MT7615_COMMON=m
  366. endif
  367. ifdef CONFIG_PACKAGE_kmod-mt7615e
  368. PKG_MAKE_FLAGS += CONFIG_MT7615E=m
  369. ifdef CONFIG_TARGET_mediatek_mt7622
  370. PKG_MAKE_FLAGS += CONFIG_MT7622_WMAC=y
  371. NOSTDINC_FLAGS += -DCONFIG_MT7622_WMAC
  372. endif
  373. endif
  374. ifdef CONFIG_PACKAGE_kmod-mt7663-usb-sdio
  375. PKG_MAKE_FLAGS += CONFIG_MT7663_USB_SDIO_COMMON=m
  376. endif
  377. ifdef CONFIG_PACKAGE_kmod-mt7663s
  378. PKG_MAKE_FLAGS += CONFIG_MT7663S=m
  379. endif
  380. ifdef CONFIG_PACKAGE_kmod-mt7663u
  381. PKG_MAKE_FLAGS += CONFIG_MT7663U=m
  382. endif
  383. ifdef CONFIG_PACKAGE_kmod-mt7915e
  384. PKG_MAKE_FLAGS += CONFIG_MT7915E=m
  385. ifdef CONFIG_TARGET_mediatek_filogic
  386. PKG_MAKE_FLAGS += CONFIG_MT798X_WMAC=y
  387. NOSTDINC_FLAGS += -DCONFIG_MT798X_WMAC
  388. endif
  389. endif
  390. ifdef CONFIG_PACKAGE_kmod-mt792x-common
  391. PKG_MAKE_FLAGS += CONFIG_MT792x_LIB=m
  392. endif
  393. ifdef CONFIG_PACKAGE_kmod-mt792x-usb
  394. PKG_MAKE_FLAGS += CONFIG_MT792x_USB=m
  395. endif
  396. ifdef CONFIG_PACKAGE_kmod-mt7921-common
  397. PKG_MAKE_FLAGS += CONFIG_MT7921_COMMON=m
  398. endif
  399. ifdef CONFIG_PACKAGE_kmod-mt7921u
  400. PKG_MAKE_FLAGS += CONFIG_MT7921U=m
  401. endif
  402. ifdef CONFIG_PACKAGE_kmod-mt7921s
  403. PKG_MAKE_FLAGS += CONFIG_MT7921S=m
  404. endif
  405. ifdef CONFIG_PACKAGE_kmod-mt7921e
  406. PKG_MAKE_FLAGS += CONFIG_MT7921E=m
  407. endif
  408. ifdef CONFIG_PACKAGE_kmod-mt7996e
  409. PKG_MAKE_FLAGS += CONFIG_MT7996E=m
  410. endif
  411. ifdef CONFIG_PACKAGE_kmod-mt7925-common
  412. PKG_MAKE_FLAGS += CONFIG_MT7925_COMMON=m
  413. endif
  414. ifdef CONFIG_PACKAGE_kmod-mt7925u
  415. PKG_MAKE_FLAGS += CONFIG_MT7925U=m
  416. endif
  417. ifdef CONFIG_PACKAGE_kmod-mt7925e
  418. PKG_MAKE_FLAGS += CONFIG_MT7925E=m
  419. endif
  420. define Build/Compile
  421. +$(KERNEL_MAKE) $(PKG_JOBS) \
  422. $(PKG_MAKE_FLAGS) \
  423. M="$(PKG_BUILD_DIR)" \
  424. NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
  425. modules
  426. $(MAKE) -C $(PKG_BUILD_DIR)/tools
  427. endef
  428. define Build/Install
  429. :
  430. endef
  431. define Package/kmod-mt76/install
  432. true
  433. endef
  434. define KernelPackage/mt76x0-common/install
  435. $(INSTALL_DIR) $(1)/lib/firmware/mediatek
  436. cp \
  437. $(PKG_BUILD_DIR)/firmware/mt7610e.bin \
  438. $(1)/lib/firmware/mediatek
  439. endef
  440. define KernelPackage/mt76x2-common/install
  441. $(INSTALL_DIR) $(1)/lib/firmware
  442. cp \
  443. $(PKG_BUILD_DIR)/firmware/mt7662_rom_patch.bin \
  444. $(PKG_BUILD_DIR)/firmware/mt7662.bin \
  445. $(1)/lib/firmware
  446. endef
  447. define KernelPackage/mt76x0u/install
  448. $(INSTALL_DIR) $(1)/lib/firmware/mediatek
  449. ln -sf mt7610e.bin $(1)/lib/firmware/mediatek/mt7610u.bin
  450. endef
  451. define KernelPackage/mt76x2u/install
  452. $(INSTALL_DIR) $(1)/lib/firmware/mediatek
  453. ln -sf ../mt7662.bin $(1)/lib/firmware/mediatek/mt7662u.bin
  454. ln -sf ../mt7662_rom_patch.bin $(1)/lib/firmware/mediatek/mt7662u_rom_patch.bin
  455. endef
  456. define KernelPackage/mt7603/install
  457. $(INSTALL_DIR) $(1)/lib/firmware
  458. cp $(if $(CONFIG_TARGET_ramips_mt76x8), \
  459. $(PKG_BUILD_DIR)/firmware/mt7628_e1.bin \
  460. $(PKG_BUILD_DIR)/firmware/mt7628_e2.bin \
  461. ,\
  462. $(PKG_BUILD_DIR)/firmware/mt7603_e1.bin \
  463. $(PKG_BUILD_DIR)/firmware/mt7603_e2.bin \
  464. ) \
  465. $(1)/lib/firmware
  466. endef
  467. define KernelPackage/mt7615-firmware/install
  468. $(INSTALL_DIR) $(1)/lib/firmware/mediatek
  469. cp \
  470. $(PKG_BUILD_DIR)/firmware/mt7615_cr4.bin \
  471. $(PKG_BUILD_DIR)/firmware/mt7615_n9.bin \
  472. $(PKG_BUILD_DIR)/firmware/mt7615_rom_patch.bin \
  473. $(1)/lib/firmware/mediatek
  474. endef
  475. define KernelPackage/mt7622-firmware/install
  476. $(INSTALL_DIR) $(1)/lib/firmware/mediatek
  477. cp \
  478. $(PKG_BUILD_DIR)/firmware/mt7622_n9.bin \
  479. $(PKG_BUILD_DIR)/firmware/mt7622_rom_patch.bin \
  480. $(1)/lib/firmware/mediatek
  481. endef
  482. define KernelPackage/mt7663-firmware-ap/install
  483. $(INSTALL_DIR) $(1)/lib/firmware/mediatek
  484. cp \
  485. $(PKG_BUILD_DIR)/firmware/mt7663_n9_rebb.bin \
  486. $(PKG_BUILD_DIR)/firmware/mt7663pr2h_rebb.bin \
  487. $(1)/lib/firmware/mediatek
  488. endef
  489. define KernelPackage/mt7663-firmware-sta/install
  490. $(INSTALL_DIR) $(1)/lib/firmware/mediatek
  491. cp \
  492. $(PKG_BUILD_DIR)/firmware/mt7663_n9_v3.bin \
  493. $(PKG_BUILD_DIR)/firmware/mt7663pr2h.bin \
  494. $(1)/lib/firmware/mediatek
  495. endef
  496. define KernelPackage/mt7915-firmware/install
  497. $(INSTALL_DIR) $(1)/lib/firmware/mediatek
  498. cp \
  499. $(PKG_BUILD_DIR)/firmware/mt7915_wa.bin \
  500. $(PKG_BUILD_DIR)/firmware/mt7915_wm.bin \
  501. $(PKG_BUILD_DIR)/firmware/mt7915_rom_patch.bin \
  502. $(1)/lib/firmware/mediatek
  503. endef
  504. define KernelPackage/mt7916-firmware/install
  505. $(INSTALL_DIR) $(1)/lib/firmware/mediatek
  506. cp \
  507. $(PKG_BUILD_DIR)/firmware/mt7916_wa.bin \
  508. $(PKG_BUILD_DIR)/firmware/mt7916_wm.bin \
  509. $(PKG_BUILD_DIR)/firmware/mt7916_rom_patch.bin \
  510. $(1)/lib/firmware/mediatek
  511. endef
  512. define KernelPackage/mt7981-firmware/install
  513. $(INSTALL_DIR) $(1)/lib/firmware/mediatek
  514. cp \
  515. $(PKG_BUILD_DIR)/firmware/mt7981_wa.bin \
  516. $(PKG_BUILD_DIR)/firmware/mt7981_wm.bin \
  517. $(PKG_BUILD_DIR)/firmware/mt7981_rom_patch.bin \
  518. $(1)/lib/firmware/mediatek
  519. endef
  520. define KernelPackage/mt7986-firmware/install
  521. $(INSTALL_DIR) $(1)/lib/firmware/mediatek
  522. cp \
  523. $(PKG_BUILD_DIR)/firmware/mt7986_wa.bin \
  524. $(PKG_BUILD_DIR)/firmware/mt7986_wm_mt7975.bin \
  525. $(PKG_BUILD_DIR)/firmware/mt7986_wm.bin \
  526. $(PKG_BUILD_DIR)/firmware/mt7986_rom_patch_mt7975.bin \
  527. $(PKG_BUILD_DIR)/firmware/mt7986_rom_patch.bin \
  528. $(1)/lib/firmware/mediatek
  529. endef
  530. define KernelPackage/mt7921-firmware/install
  531. $(INSTALL_DIR) $(1)/lib/firmware/mediatek
  532. cp \
  533. $(PKG_BUILD_DIR)/firmware/WIFI_MT7961_patch_mcu_1_2_hdr.bin \
  534. $(PKG_BUILD_DIR)/firmware/WIFI_RAM_CODE_MT7961_1.bin \
  535. $(1)/lib/firmware/mediatek
  536. endef
  537. define KernelPackage/mt7922-firmware/install
  538. $(INSTALL_DIR) $(1)/lib/firmware/mediatek
  539. cp \
  540. $(PKG_BUILD_DIR)/firmware/WIFI_MT7922_patch_mcu_1_1_hdr.bin \
  541. $(PKG_BUILD_DIR)/firmware/WIFI_RAM_CODE_MT7922_1.bin \
  542. $(1)/lib/firmware/mediatek
  543. endef
  544. define KernelPackage/mt7996-firmware/install
  545. $(INSTALL_DIR) $(1)/lib/firmware/mediatek/mt7996
  546. cp \
  547. $(PKG_BUILD_DIR)/firmware/mt7996/mt7996_dsp.bin \
  548. $(PKG_BUILD_DIR)/firmware/mt7996/mt7996_eeprom.bin \
  549. $(PKG_BUILD_DIR)/firmware/mt7996/mt7996_rom_patch.bin \
  550. $(PKG_BUILD_DIR)/firmware/mt7996/mt7996_wa.bin \
  551. $(PKG_BUILD_DIR)/firmware/mt7996/mt7996_wm.bin \
  552. $(1)/lib/firmware/mediatek/mt7996
  553. endef
  554. define Package/mt76-test/install
  555. mkdir -p $(1)/usr/sbin
  556. $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/mt76-test $(1)/usr/sbin
  557. endef
  558. $(eval $(call KernelPackage,mt76-core))
  559. $(eval $(call KernelPackage,mt76-usb))
  560. $(eval $(call KernelPackage,mt76x02-usb))
  561. $(eval $(call KernelPackage,mt76x02-common))
  562. $(eval $(call KernelPackage,mt76x0-common))
  563. $(eval $(call KernelPackage,mt76x0e))
  564. $(eval $(call KernelPackage,mt76x0u))
  565. $(eval $(call KernelPackage,mt76x2-common))
  566. $(eval $(call KernelPackage,mt76x2u))
  567. $(eval $(call KernelPackage,mt76x2))
  568. $(eval $(call KernelPackage,mt7603))
  569. $(eval $(call KernelPackage,mt76-connac))
  570. $(eval $(call KernelPackage,mt76-sdio))
  571. $(eval $(call KernelPackage,mt7615-common))
  572. $(eval $(call KernelPackage,mt7615-firmware))
  573. $(eval $(call KernelPackage,mt7622-firmware))
  574. $(eval $(call KernelPackage,mt7615e))
  575. $(eval $(call KernelPackage,mt7663-firmware-ap))
  576. $(eval $(call KernelPackage,mt7663-firmware-sta))
  577. $(eval $(call KernelPackage,mt7663-usb-sdio))
  578. $(eval $(call KernelPackage,mt7663u))
  579. $(eval $(call KernelPackage,mt7663s))
  580. $(eval $(call KernelPackage,mt7915-firmware))
  581. $(eval $(call KernelPackage,mt7915e))
  582. $(eval $(call KernelPackage,mt7916-firmware))
  583. $(eval $(call KernelPackage,mt7981-firmware))
  584. $(eval $(call KernelPackage,mt7986-firmware))
  585. $(eval $(call KernelPackage,mt7921-firmware))
  586. $(eval $(call KernelPackage,mt7922-firmware))
  587. $(eval $(call KernelPackage,mt792x-common))
  588. $(eval $(call KernelPackage,mt792x-usb))
  589. $(eval $(call KernelPackage,mt7921-common))
  590. $(eval $(call KernelPackage,mt7925-common))
  591. $(eval $(call KernelPackage,mt7921u))
  592. $(eval $(call KernelPackage,mt7921s))
  593. $(eval $(call KernelPackage,mt7921e))
  594. $(eval $(call KernelPackage,mt7925u))
  595. $(eval $(call KernelPackage,mt7925e))
  596. $(eval $(call KernelPackage,mt7996e))
  597. $(eval $(call KernelPackage,mt7996-firmware))
  598. $(eval $(call KernelPackage,mt76))
  599. $(eval $(call BuildPackage,mt76-test))