1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun# bcmdhd 3*4882a593Smuzhiyun 4*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_SDIO),y) 5*4882a593SmuzhiyunMODULE_NAME := bcmdhd 6*4882a593Smuzhiyunelse 7*4882a593SmuzhiyunMODULE_NAME := bcmdhd_pcie 8*4882a593Smuzhiyunendif 9*4882a593SmuzhiyunCONFIG_BCMDHD = m 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun#CONFIG_BCMDHD_SDIO := y 12*4882a593Smuzhiyun#CONFIG_BCMDHD_PCIE := y 13*4882a593Smuzhiyun#CONFIG_BCMDHD_USB := y 14*4882a593Smuzhiyun 15*4882a593SmuzhiyunCONFIG_BCMDHD_OOB := y 16*4882a593Smuzhiyun#CONFIG_BCMDHD_CUSB := y 17*4882a593Smuzhiyun#CONFIG_BCMDHD_NO_POWER_OFF := y 18*4882a593SmuzhiyunCONFIG_BCMDHD_PROPTXSTATUS := y 19*4882a593SmuzhiyunCONFIG_BCMDHD_AG := y 20*4882a593SmuzhiyunCONFIG_DHD_USE_STATIC_BUF := y 21*4882a593SmuzhiyunCONFIG_BCMDHD_STATIC_BUF_IN_DHD := y 22*4882a593Smuzhiyun#CONFIG_BCMDHD_ANDROID_VERSION := 11 23*4882a593SmuzhiyunCONFIG_BCMDHD_AUTO_SELECT := y 24*4882a593SmuzhiyunCONFIG_BCMDHD_DEBUG := y 25*4882a593Smuzhiyun#CONFIG_BCMDHD_RECONNECT := y 26*4882a593Smuzhiyun#CONFIG_BCMDHD_TIMESTAMP := y 27*4882a593Smuzhiyun#CONFIG_BCMDHD_WAPI := y 28*4882a593Smuzhiyun#CONFIG_BCMDHD_RANDOM_MAC := y 29*4882a593Smuzhiyun#CONFIG_BCMDHD_REQUEST_FW := y 30*4882a593Smuzhiyun#CONFIG_BCMDHD_DWDS := y 31*4882a593SmuzhiyunCONFIG_BCMDHD_TPUT := y 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun#CONFIG_BCMDHD_MULTIPLE_DRIVER := y 34*4882a593Smuzhiyun#CONFIG_BCMDHD_ADAPTER_INDEX := 0 35*4882a593Smuzhiyun 36*4882a593SmuzhiyunCONFIG_MACH_PLATFORM := y 37*4882a593Smuzhiyun#CONFIG_BCMDHD_DTS := y 38*4882a593Smuzhiyun 39*4882a593SmuzhiyunDHDCFLAGS = -Wall -Wstrict-prototypes -Wno-date-time \ 40*4882a593Smuzhiyun -Wno-implicit-fallthrough -Wno-declaration-after-statement \ 41*4882a593Smuzhiyun -Wno-fortify-source \ 42*4882a593Smuzhiyun -Dlinux -DLINUX -DBCMDRIVER \ 43*4882a593Smuzhiyun -DBCMDONGLEHOST -DBCMDMA32 -DBCMFILEIMAGE \ 44*4882a593Smuzhiyun -DDHDTHREAD -DDHD_DEBUG -DSHOW_EVENTS -DGET_OTP_MAC_ENABLE \ 45*4882a593Smuzhiyun -DWIFI_ACT_FRAME -DARP_OFFLOAD_SUPPORT -DSUPPORT_PM2_ONLY \ 46*4882a593Smuzhiyun -DPKTPRIO_OVERRIDE \ 47*4882a593Smuzhiyun -DKEEP_ALIVE -DPKT_FILTER_SUPPORT -DDHDTCPACK_SUPPRESS \ 48*4882a593Smuzhiyun -DDHD_DONOT_FORWARD_BCMEVENT_AS_NETWORK_PKT -DOEM_ANDROID \ 49*4882a593Smuzhiyun -DMULTIPLE_SUPPLICANT -DTSQ_MULTIPLIER -DMFP -DDHD_8021X_DUMP \ 50*4882a593Smuzhiyun -DPOWERUP_MAX_RETRY=0 -DIFACE_HANG_FORCE_DEV_CLOSE -DWAIT_DEQUEUE \ 51*4882a593Smuzhiyun -DUSE_NEW_RSPEC_DEFS \ 52*4882a593Smuzhiyun -DWL_EXT_IAPSTA -DWL_ESCAN -DCCODE_LIST -DSUSPEND_EVENT \ 53*4882a593Smuzhiyun -DKEY_INSTALL_CHECK \ 54*4882a593Smuzhiyun -DENABLE_INSMOD_NO_FW_LOAD 55*4882a593Smuzhiyun 56*4882a593SmuzhiyunDHDOFILES = aiutils.o siutils.o sbutils.o \ 57*4882a593Smuzhiyun bcmutils.o bcmwifi_channels.o bcmxtlv.o bcm_app_utils.o bcmstdlib_s.o \ 58*4882a593Smuzhiyun dhd_linux.o dhd_linux_platdev.o dhd_linux_sched.o dhd_pno.o \ 59*4882a593Smuzhiyun dhd_common.o dhd_ip.o dhd_linux_wq.o dhd_custom_gpio.o \ 60*4882a593Smuzhiyun bcmevent.o hndpmu.o linux_osl.o wldev_common.o wl_android.o \ 61*4882a593Smuzhiyun dhd_debug_linux.o dhd_debug.o dhd_mschdbg.o dhd_dbg_ring.o \ 62*4882a593Smuzhiyun hnd_pktq.o hnd_pktpool.o linux_pkt.o frag.o \ 63*4882a593Smuzhiyun dhd_linux_exportfs.o dhd_linux_pktdump.o dhd_mschdbg.o \ 64*4882a593Smuzhiyun dhd_config.o dhd_ccode.o wl_event.o wl_android_ext.o \ 65*4882a593Smuzhiyun wl_iapsta.o wl_escan.o wl_timer.o 66*4882a593Smuzhiyun 67*4882a593Smuzhiyunifneq ($(CONFIG_WIRELESS_EXT),) 68*4882a593Smuzhiyun DHDOFILES += wl_iw.o 69*4882a593Smuzhiyun DHDCFLAGS += -DSOFTAP -DWL_WIRELESS_EXT -DUSE_IW 70*4882a593Smuzhiyunendif 71*4882a593Smuzhiyunifneq ($(CONFIG_CFG80211),) 72*4882a593Smuzhiyun DHDOFILES += wl_cfg80211.o wl_cfgscan.o wl_cfgp2p.o 73*4882a593Smuzhiyun DHDOFILES += wl_linux_mon.o wl_cfg_btcoex.o wl_cfgvendor.o 74*4882a593Smuzhiyun DHDOFILES += dhd_cfg80211.o wl_cfgvif.o wl_roam.o 75*4882a593Smuzhiyun DHDCFLAGS += -DWL_CFG80211 -DWLP2P -DWL_CFG80211_STA_EVENT 76*4882a593Smuzhiyun# DHDCFLAGS += -DWL_IFACE_COMB_NUM_CHANNELS 77*4882a593Smuzhiyun DHDCFLAGS += -DCUSTOM_PNO_EVENT_LOCK_xTIME=10 78*4882a593Smuzhiyun DHDCFLAGS += -DWL_SUPPORT_AUTO_CHANNEL 79*4882a593Smuzhiyun DHDCFLAGS += -DWL_SUPPORT_BACKPORTED_KPATCHES 80*4882a593Smuzhiyun DHDCFLAGS += -DESCAN_RESULT_PATCH -DESCAN_BUF_OVERFLOW_MGMT 81*4882a593Smuzhiyun DHDCFLAGS += -DVSDB -DWL_CFG80211_VSDB_PRIORITIZE_SCAN_REQUEST 82*4882a593Smuzhiyun DHDCFLAGS += -DWLTDLS -DMIRACAST_AMPDU_SIZE=8 83*4882a593Smuzhiyun DHDCFLAGS += -DWL_VIRTUAL_APSTA -DSTA_MGMT 84*4882a593Smuzhiyun DHDCFLAGS += -DPNO_SUPPORT -DEXPLICIT_DISCIF_CLEANUP 85*4882a593Smuzhiyun DHDCFLAGS += -DDHD_USE_SCAN_WAKELOCK 86*4882a593Smuzhiyun DHDCFLAGS += -DSPECIFIC_MAC_GEN_SCHEME 87*4882a593Smuzhiyun DHDCFLAGS += -DWL_IFACE_MGMT 88*4882a593Smuzhiyun DHDCFLAGS += -DSUPPORT_RSSI_SUM_REPORT 89*4882a593Smuzhiyun DHDCFLAGS += -DWLFBT -DWL_GCMP_SUPPORT 90*4882a593Smuzhiyun DHDCFLAGS += -DROAM_CHANNEL_CACHE -DDHD_LOSSLESS_ROAMING -DWL_ROAM_WAR 91*4882a593Smuzhiyun# DHDCFLAGS += -DVNDR_IE_WAR -DGET_FW_IE_DATA 92*4882a593Smuzhiyun DHDCFLAGS += -DGTK_OFFLOAD_SUPPORT 93*4882a593Smuzhiyun DHDCFLAGS += -DRESTART_AP_WAR 94*4882a593Smuzhiyun# DHDCFLAGS += -DWL_STATIC_IF 95*4882a593Smuzhiyun DHDCFLAGS += -DWL_CLIENT_SAE -DWL_OWE 96*4882a593Smuzhiyunendif 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun#BCMDHD_SDIO 99*4882a593Smuzhiyunifneq ($(CONFIG_BCMDHD_SDIO),) 100*4882a593SmuzhiyunBUS_TYPE := sdio 101*4882a593SmuzhiyunDHDCFLAGS += -DBCMSDIO -DMMC_SDIO_ABORT -DMMC_HW_RESET -DBCMLXSDMMC \ 102*4882a593Smuzhiyun -DUSE_SDIOFIFO_IOVAR -DSDTEST \ 103*4882a593Smuzhiyun -DBDC -DDHD_USE_IDLECOUNT -DCUSTOM_SDIO_F2_BLKSIZE=256 \ 104*4882a593Smuzhiyun -DBCMSDIOH_TXGLOM -DBCMSDIOH_TXGLOM_EXT -DBCMSDIOH_STATIC_COPY_BUF \ 105*4882a593Smuzhiyun -DRXFRAME_THREAD -DDHDENABLE_TAILPAD -DSUPPORT_P2P_GO_PS \ 106*4882a593Smuzhiyun -DBCMSDIO_RXLIM_POST -DBCMSDIO_TXSEQ_SYNC -DCONSOLE_DPC \ 107*4882a593Smuzhiyun -DBCMSDIO_INTSTATUS_WAR 108*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_OOB),y) 109*4882a593Smuzhiyun DHDCFLAGS += -DOOB_INTR_ONLY -DCUSTOMER_OOB -DHW_OOB 110*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_DISABLE_WOWLAN),y) 111*4882a593Smuzhiyun DHDCFLAGS += -DDISABLE_WOWLAN 112*4882a593Smuzhiyunendif 113*4882a593Smuzhiyunelse 114*4882a593Smuzhiyun DHDCFLAGS += -DSDIO_ISR_THREAD 115*4882a593Smuzhiyunendif 116*4882a593SmuzhiyunDHDOFILES += bcmsdh.o bcmsdh_linux.o bcmsdh_sdmmc.o bcmsdh_sdmmc_linux.o \ 117*4882a593Smuzhiyun dhd_sdio.o dhd_cdc.o dhd_wlfc.o 118*4882a593Smuzhiyunendif 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun#BCMDHD_PCIE 121*4882a593Smuzhiyunifneq ($(CONFIG_BCMDHD_PCIE),) 122*4882a593SmuzhiyunBUS_TYPE := pcie 123*4882a593SmuzhiyunDHDCFLAGS += -DPCIE_FULL_DONGLE -DBCMPCIE -DCUSTOM_DPC_PRIO_SETTING=-1 \ 124*4882a593Smuzhiyun -DDONGLE_ENABLE_ISOLATION 125*4882a593SmuzhiyunDHDCFLAGS += -DDHD_LB -DDHD_LB_RXP -DDHD_LB_STATS -DDHD_LB_TXP 126*4882a593SmuzhiyunDHDCFLAGS += -DDHD_PKTID_AUDIT_ENABLED 127*4882a593SmuzhiyunDHDCFLAGS += -DINSMOD_FW_LOAD 128*4882a593SmuzhiyunDHDCFLAGS += -DCONFIG_HAS_WAKELOCK 129*4882a593Smuzhiyun#DHDCFLAGS += -DDHD_PCIE_RUNTIMEPM -DMAX_IDLE_COUNT=11 -DCUSTOM_DHD_RUNTIME_MS=100 130*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_OOB),y) 131*4882a593Smuzhiyun DHDCFLAGS += -DCUSTOMER_OOB -DBCMPCIE_OOB_HOST_WAKE -DHW_OOB 132*4882a593Smuzhiyunendif 133*4882a593Smuzhiyunifneq ($(CONFIG_PCI_MSI),) 134*4882a593Smuzhiyun DHDCFLAGS += -DDHD_MSI_SUPPORT 135*4882a593Smuzhiyunendif 136*4882a593SmuzhiyunDHDOFILES += dhd_pcie.o dhd_pcie_linux.o pcie_core.o dhd_flowring.o \ 137*4882a593Smuzhiyun dhd_msgbuf.o dhd_linux_lb.o 138*4882a593Smuzhiyunendif 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun#BCMDHD_USB 141*4882a593Smuzhiyunifneq ($(CONFIG_BCMDHD_USB),) 142*4882a593SmuzhiyunBUS_TYPE := usb 143*4882a593SmuzhiyunDHDCFLAGS += -DUSBOS_TX_THREAD -DBCMDBUS -DBCMTRXV2 -DDBUS_USB_LOOPBACK \ 144*4882a593Smuzhiyun -DBDC 145*4882a593SmuzhiyunDHDCFLAGS += -DINSMOD_FW_LOAD 146*4882a593SmuzhiyunDHDCFLAGS += -DBCM_REQUEST_FW 147*4882a593SmuzhiyunDHDCFLAGS += -DSHOW_LOGTRACE 148*4882a593Smuzhiyunifneq ($(CONFIG_BCMDHD_REQUEST_FW),y) 149*4882a593Smuzhiyun DHDCFLAGS += -DEXTERNAL_FW_PATH 150*4882a593Smuzhiyunendif 151*4882a593Smuzhiyunifneq ($(CONFIG_BCMDHD_CUSB),) 152*4882a593Smuzhiyun DHDCFLAGS += -DBCMUSBDEV_COMPOSITE 153*4882a593Smuzhiyun CONFIG_BCMDHD_NO_POWER_OFF := y 154*4882a593Smuzhiyunendif 155*4882a593SmuzhiyunDHDOFILES += dbus.o dbus_usb.o dbus_usb_linux.o dhd_cdc.o dhd_wlfc.o 156*4882a593Smuzhiyunendif 157*4882a593Smuzhiyun 158*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_NO_POWER_OFF),y) 159*4882a593Smuzhiyun DHDCFLAGS += -DENABLE_INSMOD_NO_FW_LOAD 160*4882a593Smuzhiyun DHDCFLAGS += -DENABLE_INSMOD_NO_POWER_OFF -DNO_POWER_OFF_AFTER_OPEN 161*4882a593Smuzhiyunendif 162*4882a593Smuzhiyun 163*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_MULTIPLE_DRIVER),y) 164*4882a593Smuzhiyun DHDCFLAGS += -DBCMDHD_MDRIVER 165*4882a593Smuzhiyunifneq ($(CONFIG_BCMDHD_ADAPTER_INDEX),) 166*4882a593Smuzhiyun CONFIG_BCMDHD_STATIC_BUF_IN_DHD := y 167*4882a593Smuzhiyun MODULE_NAME := dhd$(BUS_TYPE)_$(CONFIG_BCMDHD_ADAPTER_INDEX) 168*4882a593Smuzhiyun DHDCFLAGS += -DADAPTER_IDX=$(CONFIG_BCMDHD_ADAPTER_INDEX) 169*4882a593Smuzhiyun DHDCFLAGS += -DBUS_TYPE=\"-$(BUS_TYPE)-$(CONFIG_BCMDHD_ADAPTER_INDEX)\" 170*4882a593Smuzhiyun DHDCFLAGS += -DDHD_LOG_PREFIX=\"[dhd-$(BUS_TYPE)-$(CONFIG_BCMDHD_ADAPTER_INDEX)]\" 171*4882a593Smuzhiyunelse 172*4882a593Smuzhiyun MODULE_NAME := dhd$(BUS_TYPE) 173*4882a593Smuzhiyun DHDCFLAGS += -DBUS_TYPE=\"-$(BUS_TYPE)\" 174*4882a593Smuzhiyun DHDCFLAGS += -DDHD_LOG_PREFIX=\"[dhd-$(BUS_TYPE)]\" 175*4882a593Smuzhiyunendif 176*4882a593Smuzhiyunelse 177*4882a593Smuzhiyun DHDCFLAGS += -DBUS_TYPE=\"\" 178*4882a593Smuzhiyunendif 179*4882a593Smuzhiyun 180*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_TIMESTAMP),y) 181*4882a593Smuzhiyun DHDCFLAGS += -DKERNEL_TIMESTAMP 182*4882a593Smuzhiyun DHDCFLAGS += -DSYSTEM_TIMESTAMP 183*4882a593Smuzhiyunendif 184*4882a593Smuzhiyun 185*4882a593Smuzhiyun#PROPTXSTATUS 186*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_PROPTXSTATUS),y) 187*4882a593Smuzhiyunifneq ($(CONFIG_BCMDHD_USB),) 188*4882a593Smuzhiyun DHDCFLAGS += -DPROP_TXSTATUS 189*4882a593Smuzhiyunendif 190*4882a593Smuzhiyunifneq ($(CONFIG_BCMDHD_SDIO),) 191*4882a593Smuzhiyun DHDCFLAGS += -DPROP_TXSTATUS -DPROPTX_MAXCOUNT 192*4882a593Smuzhiyunendif 193*4882a593Smuzhiyunifneq ($(CONFIG_CFG80211),) 194*4882a593Smuzhiyun DHDCFLAGS += -DPROP_TXSTATUS_VSDB 195*4882a593Smuzhiyunendif 196*4882a593Smuzhiyunendif 197*4882a593Smuzhiyun 198*4882a593Smuzhiyunifeq ($(CONFIG_64BIT),y) 199*4882a593Smuzhiyun DHDCFLAGS := $(filter-out -DBCMDMA32,$(DHDCFLAGS)) 200*4882a593Smuzhiyun DHDCFLAGS += -DBCMDMA64OSL 201*4882a593Smuzhiyunendif 202*4882a593Smuzhiyun 203*4882a593Smuzhiyun# For Android VTS 204*4882a593Smuzhiyunifneq ($(CONFIG_BCMDHD_ANDROID_VERSION),) 205*4882a593Smuzhiyun DHDCFLAGS += -DANDROID_VERSION=$(CONFIG_BCMDHD_ANDROID_VERSION) 206*4882a593Smuzhiyun DHDCFLAGS += -DDHD_NOTIFY_MAC_CHANGED 207*4882a593Smuzhiyun# DHDCFLAGS += -DANDROID_BKPORT 208*4882a593Smuzhiyunifneq ($(CONFIG_CFG80211),) 209*4882a593Smuzhiyun DHDCFLAGS += -DGSCAN_SUPPORT -DRTT_SUPPORT -DLINKSTAT_SUPPORT 210*4882a593Smuzhiyun DHDCFLAGS += -DCUSTOM_COUNTRY_CODE -DDHD_GET_VALID_CHANNELS 211*4882a593Smuzhiyun DHDCFLAGS += -DDEBUGABILITY -DDBG_PKT_MON 212*4882a593Smuzhiyun# DHDCFLAGS += -DDHD_LOG_DUMP 213*4882a593Smuzhiyun DHDCFLAGS += -DDHD_FW_COREDUMP 214*4882a593Smuzhiyun DHDCFLAGS += -DAPF -DNDO_CONFIG_SUPPORT -DRSSI_MONITOR_SUPPORT 215*4882a593Smuzhiyun DHDCFLAGS += -DDHD_WAKE_STATUS -DWL_LATENCY_MODE 216*4882a593Smuzhiyun DHDOFILES += dhd_rtt.o 217*4882a593Smuzhiyunendif 218*4882a593Smuzhiyunelse 219*4882a593Smuzhiyun DHDCFLAGS += -DANDROID_VERSION=0 220*4882a593Smuzhiyunendif 221*4882a593Smuzhiyun 222*4882a593Smuzhiyun# For Debug 223*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_DEBUG),y) 224*4882a593Smuzhiyun DHDCFLAGS += -DDHD_ARP_DUMP -DDHD_DHCP_DUMP -DDHD_ICMP_DUMP 225*4882a593Smuzhiyun DHDCFLAGS += -DDHD_DNS_DUMP -DDHD_TRX_DUMP 226*4882a593Smuzhiyun DHDCFLAGS += -DTPUT_MONITOR 227*4882a593Smuzhiyun# DHDCFLAGS += -DSCAN_SUPPRESS -DBSSCACHE 228*4882a593Smuzhiyun DHDCFLAGS += -DCHECK_DOWNLOAD_FW 229*4882a593Smuzhiyun DHDCFLAGS += -DPKT_STATICS 230*4882a593Smuzhiyun DHDCFLAGS += -DKSO_DEBUG 231*4882a593Smuzhiyun# DHDCFLAGS += -DDHD_PKTDUMP_TOFW 232*4882a593Smuzhiyunendif 233*4882a593Smuzhiyun 234*4882a593Smuzhiyun# For Debug2 235*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_DEBUG2),y) 236*4882a593Smuzhiyun DHDCFLAGS += -DDEBUGFS_CFG80211 237*4882a593Smuzhiyun DHDCFLAGS += -DSHOW_LOGTRACE -DDHD_LOG_DUMP -DDHD_FW_COREDUMP 238*4882a593Smuzhiyun DHDCFLAGS += -DBCMASSERT_LOG -DSI_ERROR_ENFORCE 239*4882a593Smuzhiyunifneq ($(CONFIG_BCMDHD_PCIE),) 240*4882a593Smuzhiyun DHDCFLAGS += -DEWP_EDL 241*4882a593Smuzhiyun DHDCFLAGS += -DDNGL_EVENT_SUPPORT 242*4882a593Smuzhiyun DHDCFLAGS += -DDHD_SSSR_DUMP 243*4882a593Smuzhiyunendif 244*4882a593Smuzhiyunendif 245*4882a593Smuzhiyun 246*4882a593Smuzhiyun# MESH support for kernel 3.10 later 247*4882a593Smuzhiyunifeq ($(CONFIG_WL_MESH),y) 248*4882a593Smuzhiyun DHDCFLAGS += -DWLMESH 249*4882a593Smuzhiyunifneq ($(CONFIG_CFG80211),) 250*4882a593Smuzhiyun DHDCFLAGS += -DWLMESH_CFG80211 251*4882a593Smuzhiyunendif 252*4882a593Smuzhiyunifneq ($(CONFIG_BCMDHD_PCIE),) 253*4882a593Smuzhiyun DHDCFLAGS += -DBCM_HOST_BUF -DDMA_HOST_BUFFER_LEN=0x80000 254*4882a593Smuzhiyunendif 255*4882a593Smuzhiyun DHDCFLAGS += -DDHD_UPDATE_INTF_MAC 256*4882a593Smuzhiyun DHDCFLAGS :=$(filter-out -DDHD_FW_COREDUMP,$(DHDCFLAGS)) 257*4882a593Smuzhiyun DHDCFLAGS :=$(filter-out -DWL_STATIC_IF,$(DHDCFLAGS)) 258*4882a593Smuzhiyunendif 259*4882a593Smuzhiyun 260*4882a593Smuzhiyun# EasyMesh 261*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_EASYMESH),y) 262*4882a593Smuzhiyun DHDCFLAGS :=$(filter-out -DDHD_FW_COREDUMP,$(DHDCFLAGS)) 263*4882a593Smuzhiyun DHDCFLAGS :=$(filter-out -DDHD_LOG_DUMP,$(DHDCFLAGS)) 264*4882a593Smuzhiyun DHDCFLAGS += -DWLEASYMESH 265*4882a593Smuzhiyun CONFIG_BCMDHD_DWDS := y 266*4882a593Smuzhiyunendif 267*4882a593Smuzhiyun 268*4882a593Smuzhiyun# DWDS 269*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_DWDS),y) 270*4882a593Smuzhiyunifneq ($(CONFIG_CFG80211),) 271*4882a593Smuzhiyun DHDCFLAGS += -DWLDWDS -DFOURADDR_AUTO_BRG 272*4882a593Smuzhiyunifneq ($(CONFIG_BCMDHD_SDIO),) 273*4882a593Smuzhiyun DHDCFLAGS += -DRXF_DEQUEUE_ON_BUSY 274*4882a593Smuzhiyunendif 275*4882a593Smuzhiyun DHDCFLAGS += -DWL_STATIC_IF 276*4882a593Smuzhiyunendif 277*4882a593Smuzhiyunendif 278*4882a593Smuzhiyun 279*4882a593Smuzhiyun# CSI_SUPPORT 280*4882a593Smuzhiyunifeq ($(CONFIG_CSI_SUPPORT),y) 281*4882a593Smuzhiyun DHDCFLAGS += -DCSI_SUPPORT 282*4882a593Smuzhiyun DHDOFILES += dhd_csi.o 283*4882a593Smuzhiyunendif 284*4882a593Smuzhiyun 285*4882a593Smuzhiyun# For CONNECTION_IMPROVE 286*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_RECONNECT),y) 287*4882a593Smuzhiyun DHDCFLAGS += -DEAPOL_RESEND -DEAPOL_RESEND_M4 288*4882a593Smuzhiyunifneq ($(CONFIG_CFG80211),) 289*4882a593Smuzhiyun DHDCFLAGS += -DWL_EXT_RECONNECT -DWL_REASSOC_BCAST 290*4882a593Smuzhiyun DHDCFLAGS += -DWL_EXT_DISCONNECT_RECONNECT 291*4882a593Smuzhiyunendif 292*4882a593Smuzhiyunendif 293*4882a593Smuzhiyun 294*4882a593Smuzhiyun# For TPUT_IMPROVE 295*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_TPUT),y) 296*4882a593Smuzhiyun DHDCFLAGS += -DDHD_TPUT_PATCH 297*4882a593Smuzhiyun DHDCFLAGS += -DTCPACK_INFO_MAXNUM=10 -DTCPDATA_INFO_MAXNUM=10 298*4882a593Smuzhiyunifneq ($(CONFIG_BCMDHD_SDIO),) 299*4882a593Smuzhiyun DHDCFLAGS += -DDYNAMIC_MAX_HDR_READ 300*4882a593Smuzhiyun DHDCFLAGS :=$(filter-out -DSDTEST,$(DHDCFLAGS)) 301*4882a593Smuzhiyunendif 302*4882a593Smuzhiyunifneq ($(CONFIG_BCMDHD_PCIE),) 303*4882a593Smuzhiyun DHDCFLAGS += -DDHD_LB_TXP_DEFAULT_ENAB 304*4882a593Smuzhiyun DHDCFLAGS += -DSET_RPS_CPUS -DSET_XPS_CPUS 305*4882a593Smuzhiyun DHDCFLAGS += -DDHD_LB_PRIMARY_CPUS=0xF0 -DDHD_LB_SECONDARY_CPUS=0x0E 306*4882a593Smuzhiyunendif 307*4882a593Smuzhiyunendif 308*4882a593Smuzhiyun 309*4882a593Smuzhiyun# For Zero configure 310*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_ZEROCONFIG),y) 311*4882a593Smuzhiyun DHDCFLAGS += -DWL_EXT_GENL -DSENDPROB 312*4882a593Smuzhiyun DHDOFILES += wl_ext_genl.o 313*4882a593Smuzhiyunendif 314*4882a593Smuzhiyun 315*4882a593Smuzhiyun# For WAPI 316*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_WAPI),y) 317*4882a593Smuzhiyun DHDCFLAGS += -DBCMWAPI_WPI -DBCMWAPI_WAI 318*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_ANDROID_VERSION),11) 319*4882a593Smuzhiyun DHDCFLAGS += -DCFG80211_WAPI_BKPORT 320*4882a593Smuzhiyunendif 321*4882a593Smuzhiyunendif 322*4882a593Smuzhiyun 323*4882a593Smuzhiyun# For scan random mac 324*4882a593Smuzhiyunifneq ($(CONFIG_BCMDHD_RANDOM_MAC),) 325*4882a593Smuzhiyunifneq ($(CONFIG_CFG80211),) 326*4882a593Smuzhiyun DHDCFLAGS += -DSUPPORT_RANDOM_MAC_SCAN -DWL_USE_RANDOMIZED_SCAN 327*4882a593Smuzhiyunendif 328*4882a593Smuzhiyunendif 329*4882a593Smuzhiyun 330*4882a593Smuzhiyun# For NAN 331*4882a593Smuzhiyunifneq ($(CONFIG_BCMDHD_NAN),) 332*4882a593Smuzhiyun DHDCFLAGS += -DWL_NAN -DWL_NAN_DISC_CACHE 333*4882a593Smuzhiyun DHDOFILES += wl_cfgnan.o bcmbloom.o 334*4882a593Smuzhiyunendif 335*4882a593Smuzhiyun 336*4882a593Smuzhiyun# For Module auto-selection 337*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_AUTO_SELECT),y) 338*4882a593Smuzhiyun DHDCFLAGS += -DUPDATE_MODULE_NAME 339*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_REQUEST_FW),y) 340*4882a593Smuzhiyun# DHDCFLAGS += -DFW_AMPAK_PATH="\"ampak\"" 341*4882a593Smuzhiyun# DHDCFLAGS += -DMODULE_PATH 342*4882a593Smuzhiyunendif 343*4882a593Smuzhiyunifneq ($(CONFIG_BCMDHD_SDIO),) 344*4882a593Smuzhiyun DHDCFLAGS += -DGET_OTP_MODULE_NAME -DCOMPAT_OLD_MODULE 345*4882a593Smuzhiyunendif 346*4882a593Smuzhiyunendif 347*4882a593Smuzhiyun 348*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD),y) 349*4882a593Smuzhiyun DHDCFLAGS += -DUSE_LATE_INITCALL_SYNC 350*4882a593Smuzhiyun DHDCFLAGS += -DBCM_USE_PLATFORM_STRLCPY 351*4882a593Smuzhiyunendif 352*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD),m) 353*4882a593Smuzhiyun DHDCFLAGS += -DBCMDHD_MODULAR 354*4882a593Smuzhiyunendif 355*4882a593Smuzhiyun 356*4882a593Smuzhiyunifeq ($(CONFIG_MACH_PLATFORM),y) 357*4882a593Smuzhiyun DHDOFILES += dhd_gpio.o 358*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_DTS),y) 359*4882a593Smuzhiyun DHDCFLAGS += -DBCMDHD_DTS 360*4882a593Smuzhiyunendif 361*4882a593Smuzhiyun DHDCFLAGS += -DCUSTOMER_HW -DDHD_OF_SUPPORT 362*4882a593Smuzhiyun DHDCFLAGS += -DCUSTOMER_HW_ROCKCHIP 363*4882a593Smuzhiyun DHDCFLAGS += -DBCM_USE_PLATFORM_STRLCPY 364*4882a593Smuzhiyunendif 365*4882a593Smuzhiyun 366*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_REQUEST_FW),y) 367*4882a593Smuzhiyun DHDCFLAGS += -DDHD_LINUX_STD_FW_API 368*4882a593Smuzhiyun DHDCFLAGS += -DDHD_FW_NAME="\"fw_bcmdhd.bin\"" 369*4882a593Smuzhiyun DHDCFLAGS += -DDHD_NVRAM_NAME="\"nvram.txt\"" 370*4882a593Smuzhiyun DHDCFLAGS += -DDHD_CLM_NAME="\"clm_bcmdhd.blob\"" 371*4882a593Smuzhiyunelse 372*4882a593Smuzhiyun DHDCFLAGS += -DDHD_SUPPORT_VFS_CALL 373*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_FW_PATH),) 374*4882a593Smuzhiyun DHDCFLAGS += -DCONFIG_BCMDHD_FW_PATH="\"/system/etc/firmware/fw_bcmdhd.bin\"" 375*4882a593Smuzhiyun DHDCFLAGS += -DCONFIG_BCMDHD_NVRAM_PATH="\"/system/etc/firmware/nvram.txt\"" 376*4882a593Smuzhiyun DHDCFLAGS += -DCONFIG_BCMDHD_CLM_PATH="\"/system/etc/firmware/clm_bcmdhd.blob\"" 377*4882a593Smuzhiyunendif 378*4882a593Smuzhiyunendif 379*4882a593Smuzhiyun 380*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_AG),y) 381*4882a593Smuzhiyun DHDCFLAGS += -DBAND_AG 382*4882a593Smuzhiyunendif 383*4882a593Smuzhiyun 384*4882a593Smuzhiyunifeq ($(CONFIG_DHD_USE_STATIC_BUF),y) 385*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD_STATIC_BUF_IN_DHD),y) 386*4882a593Smuzhiyun DHDOFILES += dhd_static_buf.o 387*4882a593Smuzhiyun DHDCFLAGS += -DDHD_STATIC_IN_DRIVER 388*4882a593Smuzhiyunelse 389*4882a593Smuzhiyun obj-m += dhd_static_buf.o 390*4882a593Smuzhiyunendif 391*4882a593Smuzhiyun DHDCFLAGS += -DSTATIC_WL_PRIV_STRUCT -DENHANCED_STATIC_BUF 392*4882a593Smuzhiyun DHDCFLAGS += -DCONFIG_DHD_USE_STATIC_BUF 393*4882a593Smuzhiyun DHDCFLAGS += -DDHD_USE_STATIC_MEMDUMP 394*4882a593Smuzhiyunifneq ($(CONFIG_BCMDHD_PCIE),) 395*4882a593Smuzhiyun DHDCFLAGS += -DDHD_USE_STATIC_CTRLBUF 396*4882a593Smuzhiyunendif 397*4882a593Smuzhiyunendif 398*4882a593Smuzhiyun 399*4882a593SmuzhiyunARCH ?= arm64 400*4882a593SmuzhiyunBCMDHD_ROOT = $(src) 401*4882a593Smuzhiyun#$(warning "BCMDHD_ROOT=$(BCMDHD_ROOT)") 402*4882a593SmuzhiyunEXTRA_CFLAGS = $(DHDCFLAGS) 403*4882a593SmuzhiyunEXTRA_CFLAGS += -DDHD_COMPILED=\"$(BCMDHD_ROOT)\" 404*4882a593SmuzhiyunEXTRA_CFLAGS += -I$(BCMDHD_ROOT)/include/ -I$(BCMDHD_ROOT)/ 405*4882a593Smuzhiyunifeq ($(CONFIG_BCMDHD),m) 406*4882a593SmuzhiyunEXTRA_LDFLAGS += --strip-debug 407*4882a593Smuzhiyunendif 408*4882a593Smuzhiyun 409*4882a593Smuzhiyunobj-m += $(MODULE_NAME).o 410*4882a593Smuzhiyun$(MODULE_NAME)-objs += $(DHDOFILES) 411*4882a593Smuzhiyunccflags-y := $(EXTRA_CFLAGS) 412*4882a593Smuzhiyun 413*4882a593Smuzhiyunall: bcmdhd_pcie bcmdhd_sdio bcmdhd_usb 414*4882a593Smuzhiyun 415*4882a593Smuzhiyunbcmdhd_pcie: 416*4882a593Smuzhiyun $(warning "building BCMDHD_PCIE..........") 417*4882a593Smuzhiyun $(MAKE) -C $(LINUXDIR) M=$(PWD) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) modules CONFIG_BCMDHD=m CONFIG_BCMDHD_PCIE=y 418*4882a593Smuzhiyun 419*4882a593Smuzhiyunbcmdhd_sdio: 420*4882a593Smuzhiyun $(warning "building BCMDHD_SDIO..........") 421*4882a593Smuzhiyun $(MAKE) -C $(LINUXDIR) M=$(PWD) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) modules CONFIG_BCMDHD=m CONFIG_BCMDHD_SDIO=y 422*4882a593Smuzhiyun 423*4882a593Smuzhiyunbcmdhd_usb: 424*4882a593Smuzhiyun $(warning "building BCMDHD_USB..........") 425*4882a593Smuzhiyun $(MAKE) -C $(LINUXDIR) M=$(PWD) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) modules CONFIG_BCMDHD=m CONFIG_BCMDHD_USB=y 426*4882a593Smuzhiyun 427*4882a593Smuzhiyunclean: 428*4882a593Smuzhiyun rm -rf *.o *.ko *.mod.c *~ .*.cmd *.o.cmd .*.o.cmd *.mod \ 429*4882a593Smuzhiyun Module.symvers modules.order .tmp_versions modules.builtin 430