blob: e156b8c4011eaa21f04f34a4c560bf7ea177a94a [file] [edit]
# ---------------------------------------------------
# OS option
# ---------------------------------------------------
os=$(CONFIG_MTK_SUPPORT_OS)
ifeq ($(os),)
os=linux
endif
ifeq ($(os), none)
ccflags-y += -I/usr/include/
ccflags-y += -DCFG_VIRTUAL_OS
ccflags-y += -DCFG_REMIND_IMPLEMENT
endif
$(info os option: $(os))
#ifeq ($(os), none)
kver_ge = $(shell echo 1)
#else
# script for check the kernel version condition
# example check kernel >= 5.4 : $(call kver_ge,5,4)
#kver_ge = $(shell \
#echo check_ver | awk '{if($(VERSION) < $(1)) {print 0} else { \
#if($(VERSION) > $(1)) {print 1} else { \
#if($(PATCHLEVEL) < $(2)) {print 0} else { \
#if($(PATCHLEVEL) > $(2)) {print 1} else { \
#if($(SUBLEVEL) < $(3)) {print 0} else {print 1} \
#}}}}}' \
#)
#endif
#$(info ker ver : $(VERSION), PATCHLEVEL : $(PATCHLEVEL), SUBLEVEL : $(SUBLEVEL))
# ---------------------------------------------------
# ALPS Setting
# ---------------------------------------------------
ifneq ($(KERNEL_OUT),)
ccflags-y += -imacros $(KERNEL_OUT)/include/generated/autoconf.h
endif
ifeq ($(KBUILD_MODPOST_FAIL_ON_WARNINGS),)
# Force build fail on modpost warning
KBUILD_MODPOST_FAIL_ON_WARNINGS=y
endif
ifeq ($(DRIVER_BUILD_DATE),)
DRIVER_BUILD_DATE=$(shell date +%Y%m%d%H%M%S)
endif
ccflags-y += -DDRIVER_BUILD_DATE='"$(DRIVER_BUILD_DATE)"'
# ---------------------------------------------------
# Compile Options
# ---------------------------------------------------
WLAN_CHIP_LIST:=-UMT6620 -UMT6628 -UMT5931 -UMT6630 -UMT6632 -UMT7663 -UCONNAC -UCONNAC2X2
# '-D' and '-U' options are processed in the order they are given on the command line.
# All '-imacros file' and '-include file' options are processed after all '-D' and '-U' options.
ccflags-y += $(WLAN_CHIP_LIST)
##############################################################
# Common settings
##############################################################
export MTK_COMBO_CHIP=MT7663
export CONFIG_MTK_COMBO_WIFI=m
export HIF=sdio
export CONFIG_MTK_COMBO_COMM_SDIO=y
export CONFIG_MTK_PREALLOC_MEMORY=y
ifeq ($(MTK_COMBO_CHIP),)
MTK_COMBO_CHIP = MT6632
endif
export CONFIG_MTK_COMBO_WIFI_HIF=$(HIF)
$(info $$MTK_PLATFORM is [${MTK_PLATFORM}])
$(info $$WLAN_CHIP_ID is [${WLAN_CHIP_ID}])
ifeq ($(WLAN_CHIP_ID),)
WLAN_CHIP_ID := MT7663
endif
ccflags-y += -DCFG_SUPPORT_DEBUG_FS=0
ccflags-y += -DWLAN_INCLUDE_PROC
ccflags-y += -DCFG_SUPPORT_AGPS_ASSIST=1
ccflags-y += -DCFG_SUPPORT_TSF_USING_BOOTTIME=1
ccflags-y += -DARP_MONITER_ENABLE=1
ccflags-y += -Werror
#ccflags-y:=$(filter-out -U$(WLAN_CHIP_ID),$(ccflags-y))
#ccflags-y += -DLINUX -D$(WLAN_CHIP_ID)
ccflags-y += -DLINUX
ifneq ($(filter MT6632,$(MTK_COMBO_CHIP)),)
ccflags-y:=$(filter-out -UMT6632,$(ccflags-y))
ccflags-y += -DMT6632
endif
ifneq ($(filter MT7668,$(MTK_COMBO_CHIP)),)
ccflags-y:=$(filter-out -UMT7668,$(ccflags-y))
ccflags-y += -DMT7668
endif
ifneq ($(filter MT7663,$(MTK_COMBO_CHIP)),)
ccflags-y:=$(filter-out -UMT7663,$(ccflags-y))
ccflags-y += -DMT7663
endif
ifneq ($(filter CONNAC,$(MTK_COMBO_CHIP)),)
ccflags-y:=$(filter-out -UCONNAC,$(ccflags-y))
ccflags-y += -DCONNAC
endif
ifneq ($(filter CONNAC2X2,$(MTK_COMBO_CHIP)),)
ccflags-y:=$(filter-out -UCONNAC2X2,$(ccflags-y))
ccflags-y += -DCONNAC2X2
endif
ifeq ($(CONFIG_CHIP_RESET_SUPPORT), n)
ccflags-y += -DCFG_CHIP_RESET_SUPPORT=0
else
ccflags-y += -DCFG_CHIP_RESET_SUPPORT=1
endif
ifeq ($(CONFIG_CHIP_RESET_USE_DTS_GPIO_NUM), y)
ccflags-y += -DCFG_CHIP_RESET_USE_DTS_GPIO_NUM=1
else
ccflags-y += -DCFG_CHIP_RESET_USE_DTS_GPIO_NUM=0
endif
ifeq ($(WIFI_ENABLE_GCOV), y)
GCOV_PROFILE := y
endif
ifeq ($(MTK_ANDROID_WMT), y)
ccflags-y += -DCFG_MTK_ANDROID_WMT=1
else ifneq ($(filter MT6632,$(MTK_COMBO_CHIP)),)
ccflags-y += -DCFG_MTK_ANDROID_WMT=1
else
ccflags-y += -DCFG_MTK_ANDROID_WMT=0
endif
ifeq ($(MTK_ANDROID_EMI), y)
ccflags-y += -DCFG_MTK_ANDROID_EMI=1
else
ccflags-y += -DCFG_MTK_ANDROID_EMI=0
endif
ifneq ($(filter MT7663 MT7668,$(MTK_COMBO_CHIP)),)
ccflags-y += -DCFG_MTK_EMI=0
else
ccflags-y += -DCFG_MTK_EMI=DCONFIG_MTK_EMI
endif
ifneq ($(filter MTK_WCN_REMOVE_KERNEL_MODULE,$(KBUILD_SUBDIR_CCFLAGS)),)
ccflags-y += -DCFG_BUILT_IN_DRIVER=1
else
ccflags-y += -DCFG_BUILT_IN_DRIVER=0
endif
CONFIG_MTK_WIFI_MCC_SUPPORT=y
ifeq ($(CONFIG_MTK_WIFI_MCC_SUPPORT), y)
ccflags-y += -DCFG_SUPPORT_CHNL_CONFLICT_REVISE=0
else
ccflags-y += -DCFG_SUPPORT_CHNL_CONFLICT_REVISE=1
endif
ifeq ($(CONFIG_MTK_AEE_FEATURE), y)
ccflags-y += -DCFG_SUPPORT_AEE=1
else
ccflags-y += -DCFG_SUPPORT_AEE=0
endif
CONFIG_MTK_WPA3_SUPPORT=y
ifeq ($(CONFIG_MTK_WPA3_SUPPORT), y)
ccflags-y += -DCFG_SUPPORT_CFG80211_AUTH=1
ccflags-y += -DCFG_SUPPORT_SAE=1
ccflags-y += -DCFG_SUPPORT_OWE=1
ccflags-y += -DCFG_SUPPORT_SUITB=1
ccflags-y += -DCFG_SUPPORT_CFG80211_QUEUE=1
else
ccflags-y += -DCFG_SUPPORT_CFG80211_AUTH=0
ccflags-y += -DCFG_SUPPORT_SAE=0
ccflags-y += -DCFG_SUPPORT_OWE=0
ccflags-y += -DCFG_SUPPORT_SUITB=0
ccflags-y += -DCFG_SUPPORT_CFG80211_QUEUE=0
endif
# Disable ASSERT() for user load, enable for others
ifneq ($(TARGET_BUILD_VARIANT),user)
ccflags-y += -DBUILD_QA_DBG=1
else
ccflags-y += -DBUILD_QA_DBG=0
endif
ifeq ($(CONFIG_MTK_COMBO_WIFI),y)
ccflags-y += -DCFG_WPS_DISCONNECT=1
endif
ifeq ($(CONFIG_MTK_COMBO_WIFI_HIF), sdio)
ccflags-y += -D_HIF_SDIO=1
ifeq ($(CONFIG_SDIO_AGG_THREAD), y)
ccflags-y += -D_SDIO_RING=1
endif
ifeq ($(CONFIG_SDIO_RX_DE_AGG_IN_THREAD), y)
ccflags-y += -DCFG_SDIO_RX_DE_AGG_IN_THREAD=1
endif
else ifeq ($(CONFIG_MTK_COMBO_WIFI_HIF), pcie)
ccflags-y += -D_HIF_PCIE=1
else ifeq ($(CONFIG_MTK_COMBO_WIFI_HIF), usb)
ccflags-y += -D_HIF_USB=1
else ifeq ($(CONFIG_MTK_COMBO_WIFI_HIF), axi)
ccflags-y += -D_HIF_AXI=1
else
$(error Unsuppoted HIF=$(CONFIG_MTK_COMBO_WIFI_HIF)!!)
endif
CONFIG_IPI_2CHAIN_SUPPORT=y
ifeq ($(CONFIG_IPI_2CHAIN_SUPPORT),n)
ccflags-y += -DCFG_IPI_2CHAIN_SUPPORT=0
else
ccflags-y += -DCFG_IPI_2CHAIN_SUPPORT=1
endif
CFG_GET_TEMPURATURE=y
ifeq ($(CFG_GET_TEMPURATURE),y)
ccflags-y += -DCFG_GET_TEMPURATURE
endif
# For Thermal module API
# 1: enable, 0: disable
ccflags-y += -DCFG_THERMAL_API_SUPPORT=0
# For Support APF
# 1: enable, 0: disable
ccflags-y += -DCFG_SUPPORT_APF=0
# For WAC module API
# 1: enable, 0: disable
ccflags-y += -DCFG_SUPPORT_WAC=0
# For Register DC wow callback
# 1: enable, 0: disable
ccflags-y += -DCFG_DC_USB_WOW_CALLBACK=0
# For Support Scan Timeout Reset
# 1: enable, 0: disable
ccflags-y += -DCFG_SCAN_TIMEOUT_RST=1
#For support MDNS
ifeq ($(CONFIG_SUPPORT_MDNS_OFFLOAD),y)
ccflags-y += -DCFG_SUPPORT_MDNS_OFFLOAD=1
else
ccflags-y += -DCFG_SUPPORT_MDNS_OFFLOAD=0
endif
ifeq ($(CFG_ENABLE_1RPD_MMPS_CTRL), y)
ccflags-y += -DCFG_ENABLE_1RPD_MMPS_CTRL=1
endif
ifneq ($(CFG_CFG80211_VERSION),)
VERSION_STR = $(subst \",,$(subst ., , $(subst -, ,$(subst v,,$(CFG_CFG80211_VERSION)))))
$(info VERSION_STR=$(VERSION_STR))
X = $(firstword $(VERSION_STR))
Y = $(word 2 ,$(VERSION_STR))
Z = $(word 3 ,$(VERSION_STR))
VERSION := $(shell echo "$$(( $X * 65536 + $Y * 256 + $Z))" )
ccflags-y += -DCFG_CFG80211_VERSION=$(VERSION)
$(info DCFG_CFG80211_VERSION=$(VERSION))
endif
ifeq ($(CONFIG_MTK_PASSPOINT_R2_SUPPORT), y)
ccflags-y += -DCFG_SUPPORT_PASSPOINT=1
ccflags-y += -DCFG_HS20_DEBUG=1
ccflags-y += -DCFG_ENABLE_GTK_FRAME_FILTER=1
else
ccflags-y += -DCFG_SUPPORT_PASSPOINT=0
ccflags-y += -DCFG_HS20_DEBUG=0
ccflags-y += -DCFG_ENABLE_GTK_FRAME_FILTER=0
endif
MTK_MET_PROFILING_SUPPORT = yes
ifeq ($(MTK_MET_PROFILING_SUPPORT), yes)
ccflags-y += -DCFG_MET_PACKET_TRACE_SUPPORT=1
else
ccflags-y += -DCFG_MET_PACKET_TRACE_SUPPORT=0
endif
MTK_MET_TAG_SUPPORT = no
ifeq ($(MTK_MET_TAG_SUPPORT), yes)
ccflags-y += -DMET_USER_EVENT_SUPPORT
ccflags-y += -DCFG_MET_TAG_SUPPORT=1
else
ccflags-y += -DCFG_MET_TAG_SUPPORT=0
endif
ifeq ($(CONFIG_MTK_TC10_FEATURE), y)
ccflags-y += -DCFG_TC10_FEATURE=1
else
ccflags-y += -DCFG_TC10_FEATURE=0
endif
ifeq ($(CONFIG_MTK_TC1_FEATURE), y)
ccflags-y += -DCFG_TC1_FEATURE=1
else
ccflags-y += -DCFG_TC1_FEATURE=0
endif
ifeq ($(CONFIG_WIFI_WAKE_ON_PNO), y)
ccflags-y += -DCONFIG_WIFI_WAKE_ON_PNO=1
endif
# Tp Enhance
ifeq ($(CONFIG_MTK_TPENHANCE_MODE), y)
ccflags-y += -DCFG_SUPPORT_TPENHANCE_MODE=1
ccflags-y += -DCFG_FORCE_ENABLE_PERF_MONITOR=1
else
ccflags-y += -DCFG_SUPPORT_TPENHANCE_MODE=0
endif
# RX NAPI
CFG_RX_NAPI_SUPPORT=1
ifneq ($(CFG_RX_NAPI_SUPPORT),)
ccflags-y += -DCFG_RX_NAPI_SUPPORT=$(CFG_RX_NAPI_SUPPORT)
endif
#DPP
CFG_SUPPORT_DPP=1
ifneq ($(CFG_SUPPORT_DPP),)
ccflags-y += -DCFG_SUPPORT_DPP=$(CFG_SUPPORT_DPP)
endif
# Easymesh
ifeq ($(CFG_MTK_EASYMESH), y)
ccflags-y += -DCFG_CCN7_SAP_EASYMESH=1
ccflags-y += -DCFG_AP_80211K_SUPPORT=1
ccflags-y += -DCFG_AP_80211V_SUPPORT=1
endif
# 1: Enable Support Linux TCP segmentation offload(TSO)
# 0: Disable (default)
#CFG_SUPPORT_TX_TSO_SW=0
ifneq ($(CFG_SUPPORT_TX_TSO_SW),)
ccflags-y += -DCFG_SUPPORT_TX_TSO_SW=$(CFG_SUPPORT_TX_TSO_SW)
endif
CONFIG_GKI_SUPPORT = y
# GKI Support(can't use filp_open/close,kernel_read/write in GKI kernel, can't use kallsyms_lookup_name)
ifeq ($(CONFIG_GKI_SUPPORT), y)
ccflags-y += -DCFG_ENABLE_GKI_SUPPORT=1
ccflags-y += -DCFG_DC_USB_WOW_CALLBACK=0
else
ccflags-y += -DCFG_ENABLE_GKI_SUPPORT=0
endif
#Support bandwidth 80MHZ and 40MHZ regulatory pass from Linux kernel
CFG_SUPPORT_BW80_BW40_REGULATORY_HANDLING = y
ifeq ($(CFG_SUPPORT_BW80_BW40_REGULATORY_HANDLING), y)
ccflags-y += -DCFG_SUPPORT_BW80_BW40_REGULATORY_HANDLING=1
endif
# For Android Vendor Hal
# 1: Use Old Vendor HAL, 0: Use New Vendor HAL
# default use new wndor
# Android S: 0 means use new
# Before Android S and kernel < 5.4: should use 1 means use old hal
# Before Android S and kernel >= 5.4: should use 0 means use new hal and sync patch 5188442
ccflags-y += -DCFG_SUPPORT_OLD_VENDOR_HAL=0
# For Schedule scan
# 1: enable, 0: disable
ccflags-y += -DCFG_SUPPORT_SCHED_SCAN=1
# kernel 5.15 cfg80211 para is changed for mlo
ifeq ($(call kver_ge,5,15,41),1)
ifeq ($(CONFIG_ANDROID), y)
ccflags-y += -DCFG_ADVANCED_80211_MLO=1
else
ccflags-y += -DCFG_ADVANCED_80211_MLO=0
endif
else
ccflags-y += -DCFG_ADVANCED_80211_MLO=0
endif
# Google ANU and ANT kernel-5.15 have many differences in cfg80211 API
# So, we need configurations to distinguish between them
# IMB use $(BRANCH)
# T: android13-5.15
# U: android14-5.15
# DTV use CONFIG_MTK_KERNEL_ANDROID_14 to identify android14 Kernel-5.15
# DTV use CONFIG_MTK_KERNEL_ANDROID_13 to identify android13 Kernel-5.15
ifeq ($(BRANCH), android13-5.15)
CFG_KERNEL_AN13_515=1
CFG_KERNEL_AN14_515=0
else ifeq ($(BRANCH), android14-5.15)
CFG_KERNEL_AN13_515=0
CFG_KERNEL_AN14_515=1
else ifeq ($(CONFIG_MTK_KERNEL_ANDROID_13), y)
CFG_KERNEL_AN13_515=1
CFG_KERNEL_AN14_515=0
else ifeq ($(CONFIG_MTK_KERNEL_ANDROID_14), y)
CFG_KERNEL_AN13_515=0
CFG_KERNEL_AN14_515=1
else
CFG_KERNEL_AN13_515=0
CFG_KERNEL_AN14_515=0
endif
ccflags-y += -DCFG_KERNEL_AN13_515=$(CFG_KERNEL_AN13_515)
ccflags-y += -DCFG_KERNEL_AN14_515=$(CFG_KERNEL_AN14_515)
#ifeq ($(MODULE_NAME),)
# MODULE_NAME := wlan_$(shell echo $(strip $(WLAN_CHIP_ID)) | tr A-Z a-z)_$(CONFIG_MTK_COMBO_WIFI_HIF)
#endif
ccflags-y += -DDBG=0
ccflags-y += -I$(srctree)/$(src)/os -I$(srctree)/$(src)/os/linux/include
ccflags-y += -I$(srctree)/$(src)/include -I$(srctree)/$(src)/include/nic -I$(srctree)/$(src)/include/mgmt -I$(srctree)/$(src)/include/chips
ccflags-y += -I$(srctree)/drivers/misc/mediatek/base/power/include/
ccflags-y += -I$(srctree)/drivers/misc/mediatek/include/mt-plat/
ccflags-y += -I$(srctree)/drivers/misc/mediatek/performance/include/
ccflags-y += -I$(srctree)/drivers/misc/mediatek/emi/$(MTK_PLATFORM)
ccflags-y += -I$(srctree)/drivers/misc/mediatek/emi/submodule
ccflags-y += -I$(srctree)/drivers/devfreq/
ccflags-y += -I$(srctree)/net
ccflags-y += -I$(srctree)/drivers/misc/mediatek/thermal/common/inc
ifeq ($(MTK_CPU_SCHED),y)
ccflags-y += -DCFG_SUPPORT_MTK_CPU_SCHED=1
ccflags-y += -Werror -I$(srctree)/drivers/misc/mediatek/sched/mtk_cpu_affinity
else
ccflags-y += -DCFG_SUPPORT_MTK_CPU_SCHED=0
endif
ifeq ($(CONFIG_MTK_COMBO_WIFI_HIF), sdio)
ccflags-y += -I$(srctree)/$(src)/os/linux/hif/sdio/include
else ifeq ($(CONFIG_MTK_COMBO_WIFI_HIF), pcie)
ccflags-y += -I$(srctree)/$(src)/os/linux/hif/common/include
ccflags-y += -I$(srctree)/$(src)/os/linux/hif/pcie/include
else ifeq ($(CONFIG_MTK_COMBO_WIFI_HIF), axi)
ccflags-y += -I$(srctree)/$(src)/os/linux/hif/common/include
ccflags-y += -I$(srctree)/$(src)/os/linux/hif/axi/include
else ifeq ($(CONFIG_MTK_COMBO_WIFI_HIF), usb)
ccflags-y += -I$(srctree)/$(src)/os/linux/hif/usb/include
endif
ifneq ($(PLATFORM_FLAGS), )
ccflags-y += $(PLATFORM_FLAGS)
endif
#ifeq ($(CONFIG_MTK_WIFI_ONLY),$(filter $(CONFIG_MTK_WIFI_ONLY),m y))
#obj-$(CONFIG_MTK_WIFI_ONLY) += $(MODULE_NAME).o
#else
#obj-$(CONFIG_MTK_COMBO_WIFI) += $(MODULE_NAME).o
#obj-y += $(MODULE_NAME).o
#endif
MODULE_NAME := wlan_drv_gen4_mt7663
obj-m += $(MODULE_NAME).o
# ---------------------------------------------------
# Directory List
# ---------------------------------------------------
COMMON_DIR := common/
OS_DIR := os/linux/
HIF_COMMON_DIR := $(OS_DIR)hif/common/
ifeq ($(CONFIG_MTK_COMBO_WIFI_HIF), sdio)
HIF_DIR := os/linux/hif/sdio/
else ifeq ($(CONFIG_MTK_COMBO_WIFI_HIF), pcie)
HIF_DIR := os/linux/hif/pcie/
else ifeq ($(CONFIG_MTK_COMBO_WIFI_HIF), axi)
HIF_DIR := os/linux/hif/axi/
else ifeq ($(CONFIG_MTK_COMBO_WIFI_HIF), usb)
HIF_DIR := os/linux/hif/usb/
endif
NIC_DIR := nic/
MGMT_DIR := mgmt/
CHIPS := chips/
CHIPS_CMM := $(CHIPS)common/
ifneq ($(MTK_PLATFORM),)
PLAT_DIR := os/linux/plat/$(MTK_PLATFORM)/
endif
# ---------------------------------------------------
# Objects List
# ---------------------------------------------------
COMMON_OBJS := $(COMMON_DIR)dump.o \
$(COMMON_DIR)wlan_lib.o \
$(COMMON_DIR)wlan_oid.o \
$(COMMON_DIR)wlan_bow.o \
$(COMMON_DIR)debug.o
NIC_OBJS := $(NIC_DIR)nic.o \
$(NIC_DIR)nic_tx.o \
$(NIC_DIR)nic_rx.o \
$(NIC_DIR)nic_pwr_mgt.o \
$(NIC_DIR)nic_rate.o \
$(NIC_DIR)cmd_buf.o \
$(NIC_DIR)que_mgt.o \
$(NIC_DIR)nic_cmd_event.o \
$(NIC_DIR)nic_umac.o \
$(NIC_DIR)apf_interpreter.o \
OS_OBJS := $(OS_DIR)gl_init.o \
$(OS_DIR)gl_kal.o \
$(OS_DIR)gl_bow.o \
$(OS_DIR)gl_wext.o \
$(OS_DIR)gl_wext_priv.o \
$(OS_DIR)gl_ate_agent.o \
$(OS_DIR)gl_qa_agent.o \
$(OS_DIR)gl_hook_api.o \
$(OS_DIR)gl_rst.o \
$(OS_DIR)gl_cfg80211.o \
$(OS_DIR)gl_proc.o \
$(OS_DIR)gl_vendor.o \
$(OS_DIR)gl_custom.o \
$(OS_DIR)platform.o
MGMT_OBJS := $(MGMT_DIR)ais_fsm.o \
$(MGMT_DIR)aaa_fsm.o \
$(MGMT_DIR)assoc.o \
$(MGMT_DIR)auth.o \
$(MGMT_DIR)bss.o \
$(MGMT_DIR)cnm.o \
$(MGMT_DIR)cnm_timer.o \
$(MGMT_DIR)cnm_mem.o \
$(MGMT_DIR)hem_mbox.o \
$(MGMT_DIR)mib.o \
$(MGMT_DIR)privacy.o \
$(MGMT_DIR)rate.o \
$(MGMT_DIR)rlm.o \
$(MGMT_DIR)rlm_domain.o \
$(MGMT_DIR)reg_rule.o \
$(MGMT_DIR)rlm_obss.o \
$(MGMT_DIR)rlm_protection.o \
$(MGMT_DIR)rsn.o \
$(MGMT_DIR)saa_fsm.o \
$(MGMT_DIR)scan.o \
$(MGMT_DIR)scan_fsm.o \
$(MGMT_DIR)scan_cache.o \
$(MGMT_DIR)swcr.o \
$(MGMT_DIR)roaming_fsm.o \
$(MGMT_DIR)tkip_mic.o \
$(MGMT_DIR)hs20.o \
$(MGMT_DIR)tdls.o \
$(MGMT_DIR)wnm.o \
$(MGMT_DIR)qosmap.o \
$(MGMT_DIR)ap_selection.o \
$(MGMT_DIR)wmm.o
# ---------------------------------------------------
# Chips Objects List
# ---------------------------------------------------
MGMT_OBJS += $(MGMT_DIR)stats.o
CHIPS_OBJS += $(CHIPS_CMM)cmm_asic_connac.o
CHIPS_OBJS += $(CHIPS_CMM)fw_dl.o
ifneq ($(filter MT6632,$(MTK_COMBO_CHIP)),)
CHIPS_OBJS += $(CHIPS)mt6632/mt6632.o
endif
ifneq ($(filter MT7668,$(MTK_COMBO_CHIP)),)
CHIPS_OBJS += $(CHIPS)mt7668/mt7668.o
endif
ifneq ($(filter MT7663,$(MTK_COMBO_CHIP)),)
CHIPS_OBJS += $(CHIPS)mt7663/mt7663.o
endif
ifneq ($(filter CONNAC,$(MTK_COMBO_CHIP)),)
CHIPS_OBJS += $(CHIPS)connac/connac.o
endif
ifneq ($(filter CONNAC2X2,$(MTK_COMBO_CHIP)),)
CHIPS_OBJS += $(CHIPS)connac2x2/connac2x2.o
endif
# ---------------------------------------------------
# P2P Objects List
# ---------------------------------------------------
COMMON_OBJS += $(COMMON_DIR)wlan_p2p.o
NIC_OBJS += $(NIC_DIR)p2p_nic.o
OS_OBJS += $(OS_DIR)gl_p2p.o \
$(OS_DIR)gl_p2p_cfg80211.o \
$(OS_DIR)gl_p2p_init.o \
$(OS_DIR)gl_p2p_kal.o
MGMT_OBJS += $(MGMT_DIR)p2p_dev_fsm.o\
$(MGMT_DIR)p2p_dev_state.o\
$(MGMT_DIR)p2p_role_fsm.o\
$(MGMT_DIR)p2p_role_state.o\
$(MGMT_DIR)p2p_func.o\
$(MGMT_DIR)p2p_scan.o\
$(MGMT_DIR)p2p_ie.o\
$(MGMT_DIR)p2p_rlm.o\
$(MGMT_DIR)p2p_assoc.o\
$(MGMT_DIR)p2p_bss.o\
$(MGMT_DIR)p2p_rlm_obss.o\
$(MGMT_DIR)p2p_fsm.o
MGMT_OBJS += $(MGMT_DIR)wapi.o
ifeq ($(CONFIG_MTK_COMBO_WIFI_HIF), sdio)
HIF_OBJS := $(HIF_DIR)arm.o \
$(HIF_DIR)sdio.o \
$(HIF_DIR)hal_api.o
ifeq ($(CONFIG_SDIO_AGG_THREAD), y)
HIF_OBJS += $(HIF_DIR)sdio_ring.o
endif
else ifeq ($(CONFIG_MTK_COMBO_WIFI_HIF), pcie)
HIF_OBJS := $(HIF_COMMON_DIR)hal_pdma.o \
$(HIF_COMMON_DIR)kal_pdma.o \
$(HIF_COMMON_DIR)dbg_pdma.o \
$(HIF_DIR)pcie.o
else ifeq ($(CONFIG_MTK_COMBO_WIFI_HIF), axi)
HIF_OBJS := $(HIF_COMMON_DIR)hal_pdma.o \
$(HIF_COMMON_DIR)kal_pdma.o \
$(HIF_COMMON_DIR)dbg_pdma.o \
$(HIF_DIR)axi.o
else ifeq ($(CONFIG_MTK_COMBO_WIFI_HIF), usb)
HIF_OBJS := $(HIF_DIR)usb.o \
$(HIF_DIR)hal_api.o
endif
# ---------------------------------------------------
# Platform Objects List
# ---------------------------------------------------
ifneq ($(MTK_PLATFORM),)
PLAT_PRIV_C = $(srctree)/$(src)/$(PLAT_DIR)plat_priv.c
# search path (out of kernel tree)
IS_EXIST_PLAT_PRIV_C := $(wildcard $(PLAT_PRIV_C))
# search path (build-in kernel tree)
IS_EXIST_PLAT_PRIV_C += $(wildcard $(srctree)/$(PLAT_PRIV_C))
ifneq ($(strip $(IS_EXIST_PLAT_PRIV_C)),)
PLAT_OBJS := $(PLAT_DIR)plat_priv.o
$(MODULE_NAME)-objs += $(PLAT_OBJS)
endif
endif
# ---------------------------------------------------
$(MODULE_NAME)-objs += $(COMMON_OBJS)
$(MODULE_NAME)-objs += $(NIC_OBJS)
$(MODULE_NAME)-objs += $(OS_OBJS)
$(MODULE_NAME)-objs += $(HIF_OBJS)
$(MODULE_NAME)-objs += $(MGMT_OBJS)
$(MODULE_NAME)-objs += $(CHIPS_OBJS)
#
# mtprealloc
#
ifeq ($(CONFIG_MTK_PREALLOC_MEMORY), y)
ccflags-y += -DCFG_PREALLOC_MEMORY
ccflags-y += -I$(srctree)/$(src)/prealloc/include
MODULE_NAME_PREALLOC = $(MODULE_NAME)_prealloc
PREALLOC_OBJS := prealloc/prealloc.o
$(MODULE_NAME_PREALLOC)-objs += $(PREALLOC_OBJS)
obj-m += $(MODULE_NAME_PREALLOC).o
endif
ccflags-y += -DCFG_SUPPORT_WOW_EINT=1
# Define maximum different channels supported for ieee80211_iface_combination setting.
ccflags-y += -DCFG_NUM_DIFFERENT_CHANNELS_STA=1
ccflags-y += -DCFG_NUM_DIFFERENT_CHANNELS_P2P=1
# Define initial driver running mode.
# 0=RUNNING_P2P_MODE, 1=RUNNING_AP_MODE, 2=RUNNING_DUAL_AP_MODE, 3=RUNNING_P2P_AP_MODE
ccflags-y += -DCFG_DRIVER_INITIAL_RUNNING_MODE=3
# Define to enable Android wake_lock
ccflags-y += -DCFG_ENABLE_WAKE_LOCK=1
ccflags-y += -DCFG_ENABLE_EFUSE_MAC_ADDR=1
# Report all bss networks to cfg80211 when do p2p scan
ccflags-y += -DCFG_P2P_SCAN_REPORT_ALL_BSS=0
# Support to change sta, p2p, ap interface names
# y: enable, n: disable
# eg. insmod wlan_mt76x8_usb.ko sta=wlan p2p=p2p ap=ap
# 1: Enable SDIO RX Work Queue De-Aggregation
# 0: Disable (default)
ccflags-y += -DCFG_SDIO_RX_AGG_WORKQUE=0
#Support mobile private cmd, need change cmd size to 512
ccflags-y += -DCFG_ALPS_ANDROID_AOSP_PRIV_CMD
# Use the kernel's regulatory DB
ccflags-y += -DCFG_SUPPORT_SINGLE_SKU_LOCAL_DB=0
#
# mtreset
#
CONFIG_CHIP_RESET_KO_SUPPORT=y
WIFI_TARGET=mt7663
ifeq ($(CONFIG_CHIP_RESET_KO_SUPPORT), y)
ccflags-y += -DCFG_CHIP_RESET_KO_SUPPORT=1
ccflags-y += -I$(srctree)/$(src)/reset/include
MODULE_NAME_RESET = mtreset_$(WIFI_TARGET)
RESET_OBJS += reset/reset.o
RESET_OBJS += reset/reset_fsm.o
RESET_OBJS += reset/reset_fsm_def.o
$(MODULE_NAME_RESET)-objs += $(RESET_OBJS)
obj-m += $(MODULE_NAME_RESET).o
else
ccflags-y += -DCFG_CHIP_RESET_KO_SUPPORT=0
endif