blob: bbbc47d492ca8af34108f30708ed518922af3d51 [file] [log] [blame]
developerf11ee162022-04-12 11:17:45 +08001DESCRIPTION = "Mediatek Wireless Drivers"
2SECTION = "kernel/modules"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=c188eeeb69c0a05d0545816f1458a0c9"
5
6inherit module
7
developer0447f742022-10-31 14:57:29 +08008require mt76.inc
developerf11ee162022-04-12 11:17:45 +08009SRC_URI = " \
10 git://git@github.com/openwrt/mt76.git;protocol=https \
11 file://COPYING;subdir=git \
12 "
developerbc4d8032022-04-15 13:47:16 +080013SRC_URI += " \
14 file://src \
15 "
developerf11ee162022-04-12 11:17:45 +080016
developere6cee7d2022-11-16 18:00:20 +080017
18
developerf11ee162022-04-12 11:17:45 +080019DEPENDS += "virtual/kernel"
20DEPENDS += "linux-mac80211"
21
22FILESEXTRAPATHS_prepend := "${THISDIR}/files/patches:"
developerbc4d8032022-04-15 13:47:16 +080023FILESEXTRAPATHS_prepend := "${THISDIR}/src:"
developerf11ee162022-04-12 11:17:45 +080024
developer5f4cfb12022-12-15 16:48:11 +080025require files/patches/patches.inc
26SRC_URI_append += "file://5000-mt76-add-internal-wed_tiny-header-file.patch"
developerf11ee162022-04-12 11:17:45 +080027
developerf11ee162022-04-12 11:17:45 +080028S = "${WORKDIR}/git"
29
30NOSTDINC_FLAGS = " \
31 -I${B} \
32 -I${STAGING_KERNEL_BUILDDIR}/usr/include/mac80211-backport/uapi \
33 -I${STAGING_KERNEL_BUILDDIR}/usr/include/mac80211-backport \
34 -I${STAGING_KERNEL_BUILDDIR}/usr/include/mac80211/uapi \
35 -I${STAGING_KERNEL_BUILDDIR}/usr/include/mac80211 \
36 -include backport/autoconf.h \
37 -include backport/backport.h \
38 "
39
40PKG_MAKE_FLAGS = " \
41 CONFIG_MAC80211_DEBUGFS=y \
42 CONFIG_NL80211_TESTMODE=y \
43 CONFIG_MT76_CONNAC_LIB=m \
44 CONFIG_MT7615_COMMON=m \
45 CONFIG_MT7915E=m \
46 CONFIG_MT7986_WMAC=y \
47 "
48
49NOSTDINC_FLAGS += " \
50 -DCONFIG_MAC80211_MESH \
51 -DCONFIG_NL80211_TESTMODE \
52 -DCONFIG_MAC80211_DEBUGFS \
53 -DCONFIG_MT7986_WMAC \
54 "
55
56EXTRA_OEMAKE = " \
57 -C ${STAGING_KERNEL_BUILDDIR}/ \
58 M=${S} \
59 ${PKG_MAKE_FLAGS} \
60 NOSTDINC_FLAGS="${NOSTDINC_FLAGS}" \
61 "
62
63MAKE_TARGETS = "modules"
64
65do_configure[noexec] = "1"
66
67# make_scripts requires kernel source directory to create
68# kernel scripts
69do_make_scripts[depends] += "virtual/kernel:do_shared_workdir"
70
71do_install() {
72 # Module
73 install -d ${D}/lib/modules/${KERNEL_VERSION}/updates/drivers/net/wireless/mediatek/mt76/
74 install -d ${D}/lib/modules/${KERNEL_VERSION}/updates/drivers/net/wireless/mediatek/mt76/mt7615/
75 install -d ${D}/lib/modules/${KERNEL_VERSION}/updates/drivers/net/wireless/mediatek/mt76/mt7915/
76 install -m 0644 ${B}/mt76.ko ${D}/lib/modules/${KERNEL_VERSION}/updates/drivers/net/wireless/mediatek/mt76/
77 install -m 0644 ${B}/mt76-connac-lib.ko ${D}/lib/modules/${KERNEL_VERSION}/updates/drivers/net/wireless/mediatek/mt76/
78 install -m 0644 ${B}/mt7615/mt7615-common.ko ${D}/lib/modules/${KERNEL_VERSION}/updates/drivers/net/wireless/mediatek/mt76/mt7615/
79 install -m 0644 ${B}/mt7915/mt7915e.ko ${D}/lib/modules/${KERNEL_VERSION}/updates/drivers/net/wireless/mediatek/mt76/mt7915/
80}
81
developerbc4d8032022-04-15 13:47:16 +080082do_install_append () {
83 install -d ${D}/${base_libdir}/firmware/mediatek/
84
85 install -m 644 ${WORKDIR}/src/firmware/mt7915_rom_patch.bin ${D}${base_libdir}/firmware/mediatek/
86 install -m 644 ${WORKDIR}/src/firmware/mt7915_wa.bin ${D}${base_libdir}/firmware/mediatek/
87 install -m 644 ${WORKDIR}/src/firmware/mt7915_wm.bin ${D}${base_libdir}/firmware/mediatek/
88 install -m 644 ${WORKDIR}/src/firmware/mt7915_eeprom.bin ${D}${base_libdir}/firmware/mediatek/
89 install -m 644 ${WORKDIR}/src/firmware/mt7915_eeprom_dbdc.bin ${D}${base_libdir}/firmware/mediatek/
90
developerce673142022-08-30 10:54:58 +080091 install -m 644 ${WORKDIR}/src/firmware/mt7916_rom_patch.bin ${D}${base_libdir}/firmware/mediatek/
92 install -m 644 ${WORKDIR}/src/firmware/mt7916_wa.bin ${D}${base_libdir}/firmware/mediatek/
93 install -m 644 ${WORKDIR}/src/firmware/mt7916_wm.bin ${D}${base_libdir}/firmware/mediatek/
94 install -m 644 ${WORKDIR}/src/firmware/mt7916_eeprom.bin ${D}${base_libdir}/firmware/mediatek/
developer6ba5f602022-11-24 13:04:49 +080095}
96
97do_install_append_mt7986 () {
98 install -d ${D}/${base_libdir}/firmware/mediatek/
developerce673142022-08-30 10:54:58 +080099
developerbc4d8032022-04-15 13:47:16 +0800100 install -m 644 ${WORKDIR}/src/firmware/mt7986_rom_patch.bin ${D}${base_libdir}/firmware/mediatek/
101 install -m 644 ${WORKDIR}/src/firmware/mt7986_rom_patch_mt7975.bin ${D}${base_libdir}/firmware/mediatek/
102 install -m 644 ${WORKDIR}/src/firmware/mt7986_wa.bin ${D}${base_libdir}/firmware/mediatek/
103 install -m 644 ${WORKDIR}/src/firmware/mt7986_wm.bin ${D}${base_libdir}/firmware/mediatek/
104 install -m 644 ${WORKDIR}/src/firmware/mt7986_wm_mt7975.bin ${D}${base_libdir}/firmware/mediatek/
105 install -m 644 ${WORKDIR}/src/firmware/mt7986_eeprom_mt7975_dual.bin ${D}${base_libdir}/firmware/mediatek/
106 install -m 644 ${WORKDIR}/src/firmware/mt7986_eeprom_mt7976_dbdc.bin ${D}${base_libdir}/firmware/mediatek/
107 install -m 644 ${WORKDIR}/src/firmware/mt7986_eeprom_mt7976.bin ${D}${base_libdir}/firmware/mediatek/
108 install -m 644 ${WORKDIR}/src/firmware/mt7986_eeprom_mt7976_dual.bin ${D}${base_libdir}/firmware/mediatek/
developerf79ad452022-07-12 11:37:54 +0800109 install -m 644 ${WORKDIR}/src/firmware/mt7986_wo_0.bin ${D}${base_libdir}/firmware/mediatek/
110 install -m 644 ${WORKDIR}/src/firmware/mt7986_wo_1.bin ${D}${base_libdir}/firmware/mediatek/
developerbc4d8032022-04-15 13:47:16 +0800111}
developer6ba5f602022-11-24 13:04:49 +0800112
developer71d801e2022-11-02 18:14:41 +0800113FILES_${PN} += "${base_libdir}/firmware/mediatek/*"
developerbc4d8032022-04-15 13:47:16 +0800114
developerbc4d8032022-04-15 13:47:16 +0800115# Make linux-mt76 depend on all of the split-out packages.
116python populate_packages_prepend () {
117 firmware_pkgs = oe.utils.packages_filter_out_system(d)
118 d.appendVar('RDEPENDS_linux-mt76', ' ' + ' '.join(firmware_pkgs))
119}
120
developer71d801e2022-11-02 18:14:41 +0800121#RPROVIDES_${PN} += "kernel-module-${PN}-${KERNEL_VERSION}"
122#RPROVIDES_${PN} += "kernel-module-${PN}-connac-lib-${KERNEL_VERSION}"
123
developerf11ee162022-04-12 11:17:45 +0800124KERNEL_MODULE_AUTOLOAD += "mt7915e"