include $(TOPDIR)/rules.mk
PKG_NAME:=mt76
-PKG_VERSION:=2014-11-27
PKG_RELEASE=1
PKG_LICENSE:=GPLv2
PKG_SOURCE_URL:=https://github.com/openwrt/mt76
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=00c6c3d0127a76b11bd18a7f98c67fc50b9bb922
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
+PKG_SOURCE_DATE:=2017-10-12
+PKG_SOURCE_VERSION:=37654d704772512065cd28b007342758c2a0f14a
+PKG_MIRROR_HASH:=487ca40ed4e1ffe015dabc76c0a84782602d84f5b08c9c86cc6c892cb499623b
-PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
+PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_BUILD_PARALLEL:=1
+STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
+
include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk
+define KernelPackage/mt76-default
+ SUBMENU:=Wireless Drivers
+ DEPENDS:= \
+ +kmod-mac80211 @PCI_SUPPORT @!LINUX_3_18 \
+ +@DRIVER_11AC_SUPPORT +@DRIVER_11N_SUPPORT +@DRIVER_11W_SUPPORT
+endef
+
define KernelPackage/mt76
SUBMENU:=Wireless Drivers
+ TITLE:=MediaTek MT76x2/MT7603 wireless driver (metapackage)
+ DEPENDS:= \
+ +kmod-mt76-core +kmod-mt76x2 +kmod-mt7603
+endef
+
+define KernelPackage/mt76-core
+ $(KernelPackage/mt76-default)
+ TITLE:=MediaTek MT76xx wireless driver
+ FILES:=\
+ $(PKG_BUILD_DIR)/mt76.ko
+ AUTOLOAD:=$(call AutoLoad,50,mac80211 mt76)
+endef
+
+define KernelPackage/mt76x2
+ $(KernelPackage/mt76-default)
TITLE:=MediaTek MT76x2 wireless driver
- DEPENDS:=+kmod-mac80211 +@DRIVER_11N_SUPPORT @PCI_SUPPORT
- FILES:=$(PKG_BUILD_DIR)/mt76pci.ko
- AUTOLOAD:=$(call AutoLoad,50,mac80211 mt76pci)
+ DEPENDS+=+kmod-mt76-core
+ FILES:=\
+ $(PKG_BUILD_DIR)/mt76x2e.ko
+ AUTOLOAD:=$(call AutoLoad,51,mt76x2e)
+endef
+
+define KernelPackage/mt7603
+ $(KernelPackage/mt76-default)
+ TITLE:=MediaTek MT7603 wireless driver
+ DEPENDS+=+kmod-mt76-core
+ FILES:=\
+ $(PKG_BUILD_DIR)/mt7603e.ko
+ AUTOLOAD:=$(call AutoLoad,51,mt7603e)
endef
NOSTDINC_FLAGS = \
-I$(STAGING_DIR)/usr/include/mac80211-backport \
-I$(STAGING_DIR)/usr/include/mac80211/uapi \
-I$(STAGING_DIR)/usr/include/mac80211 \
+ -include backport/autoconf.h \
-include backport/backport.h
+ifdef CONFIG_PACKAGE_MAC80211_MESH
+ NOSTDINC_FLAGS += -DCONFIG_MAC80211_MESH
+endif
+
define Build/Compile
+$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \
ARCH="$(LINUX_KARCH)" \
modules
endef
-define KernelPackage/mt76/install
+define Package/kmod-mt76/install
+ true
+endef
+
+define KernelPackage/mt76x2/install
+ $(INSTALL_DIR) $(1)/lib/firmware
+ cp \
+ $(PKG_BUILD_DIR)/firmware/mt7662_rom_patch.bin \
+ $(PKG_BUILD_DIR)/firmware/mt7662.bin \
+ $(1)/lib/firmware
+endef
+
+define KernelPackage/mt7603/install
$(INSTALL_DIR) $(1)/lib/firmware
- $(CP) $(PKG_BUILD_DIR)/firmware/mt7662_patch_e3_hdr_v0.0.2_P48.bin $(1)/lib/firmware/mt7662_rom_patch.bin
- $(CP) $(PKG_BUILD_DIR)/firmware/mt7662_firmware_e3_v1.5.bin $(1)/lib/firmware/mt7662.bin
+ cp $(if $(CONFIG_TARGET_ramips_mt76x8), \
+ $(PKG_BUILD_DIR)/firmware/mt7628_e1.bin \
+ $(PKG_BUILD_DIR)/firmware/mt7628_e2.bin \
+ ,\
+ $(PKG_BUILD_DIR)/firmware/mt7603_e1.bin \
+ $(PKG_BUILD_DIR)/firmware/mt7603_e2.bin \
+ ) \
+ $(1)/lib/firmware
endef
+$(eval $(call KernelPackage,mt76-core))
+$(eval $(call KernelPackage,mt76x2))
+$(eval $(call KernelPackage,mt7603))
$(eval $(call KernelPackage,mt76))