# bcmdhd ##################### # Basic features ##################### DHDCFLAGS += -Wall -Wstrict-prototypes -Dlinux -DLINUX -DBCMDRIVER \ -DBCMDONGLEHOST -DUNRELEASEDCHIP -DBCMDMA32 -DBCMFILEIMAGE \ -DDHDTHREAD -DSHOW_EVENTS -DBCMDBG -DWLP2P \ -DWIFI_ACT_FRAME -DKEEP_ALIVE -DCSCAN -DPKT_FILTER_SUPPORT \ -DEMBEDDED_PLATFORM -DPNO_SUPPORT \ -DDHD_DONOT_FORWARD_BCMEVENT_AS_NETWORK_PKT \ -DCUSTOMER_HW2 -DGET_CUSTOM_MAC_ENABLE \ -DSHOW_LOGTRACE -DSEC_ENHANCEMENT # ARP offload feature #DHDCFLAGS += -DARP_OFFLOAD_SUPPORT # FW_COREDUMP #DHDCFLAGS += -DDHD_FW_COREDUMP # Enable below macro if __DATE__ & __TIME__ are deprecated by compiler DHDCFLAGS += -DDHD_VERSION_NO_DATE_TIME ################# # Common feature ################# # DT-based architecture DHDCFLAGS += -DCONFIG_DTS DHDCFLAGS += -DWL_VIRTUAL_APSTA DHDCFLAGS += -DWL_CFG80211 # Print out kernel panic point of file and line info when assertion happened DHDCFLAGS += -DBCMASSERT_LOG # ARCH specific flags # In case of x86 architechture, pls enable below flag #DHDCFLAGS += -D__X86 # CUSTOMER4 flags DHDCFLAGS += -DDHD_PKTID_AUDIT_ENABLED DHDCFLAGS += -DSUPPORT_HIDDEN_AP -DDHD_LOSSLESS_ROAMING DHDCFLAGS += -DPASS_ALL_MCAST_PKTS -DESCAN_BUF_OVERFLOW_MGMT -DPKTPRIO_OVERRIDE DHDCFLAGS += -DUSE_INITIAL_SHORT_DWELL_TIME -DWL_NEWCFG_PRIVCMD_SUPPORT DHDCFLAGS += -DENABLE_BCN_LI_BCN_WAKEUP -DSOFTAP_UAPSD_OFF DHDCFLAGS += -DSUPPORT_LTECX -DSUPPORT_2G_VHT DHDCFLAGS += -DSUPPORT_WL_TXPOWER -DBLOCK_IPV6_PACKET -DSUPPORT_DEEP_SLEEP DHDCFLAGS += -DSUPPORT_AMPDU_MPDU_CMD -DSOFTAP_SEND_HANGEVT -DNUM_SCB_MAX_PROBE=3 DHDCFLAGS += -DCUSTOM_AMSDU_AGGSF=2 DHDCFLAGS += -DCUSTOM_IBSS_AMPDU_BA_WSIZE=16 DHDCFLAGS += -DCUSTOM_TCPACK_DELAY_TIME=10 DHDCFLAGS += -DDEBUGFS_CFG80211 DHDCFLAGS += -DSUPPORT_SOFTAP_WPAWPA2_MIXED # keepalive DHDCFLAGS += -DCUSTOM_KEEP_ALIVE_SETTING=28000 DHDCFLAGS += -DVSDB # For p2p connection issue DHDCFLAGS += -DWL_SCB_TIMEOUT=10 # TDLS enable #DHDCFLAGS += -DWLTDLS -DWLTDLS_AUTO_ENABLE # For TDLS tear down inactive time 40 sec #DHDCFLAGS += -DCUSTOM_TDLS_IDLE_MODE_SETTING=10000 # for TDLS RSSI HIGH for establishing TDLS link #DHDCFLAGS += -DCUSTOM_TDLS_RSSI_THRESHOLD_HIGH=-80 # for TDLS RSSI HIGH for tearing down TDLS link #DHDCFLAGS += -DCUSTOM_TDLS_RSSI_THRESHOLD_LOW=-85 # Roaming DHDCFLAGS += -DROAM_AP_ENV_DETECTION DHDCFLAGS += -DROAM_ENABLE -DROAM_CHANNEL_CACHE -DROAM_API DHDCFLAGS += -DENABLE_FW_ROAM_SUSPEND # Roaming trigger DHDCFLAGS += -DCUSTOM_ROAM_TRIGGER_SETTING=-75 DHDCFLAGS += -DCUSTOM_ROAM_DELTA_SETTING=10 # Set PM 2 always regardless suspend/resume DHDCFLAGS += -DSUPPORT_PM2_ONLY # For special PNO Event keep wake lock for 10sec DHDCFLAGS += -DCUSTOM_PNO_EVENT_LOCK_xTIME=10 DHDCFLAGS += -DMIRACAST_AMPDU_SIZE=8 # Gscan suppport #DHDCFLAGS += -DGSCAN_SUPPORT # Early suspend DHDCFLAGS += -DDHD_USE_EARLYSUSPEND # For Scan result patch DHDCFLAGS += -DESCAN_RESULT_PATCH # For Static Buffer ifeq ($(CONFIG_DHD_USE_STATIC_BUF),y) DHDCFLAGS += -DENHANCED_STATIC_BUF DHDCFLAGS += -DSTATIC_WL_PRIV_STRUCT endif ifneq ($(CONFIG_DHD_USE_SCHED_SCAN),) DHDCFLAGS += -DWL_SCHED_SCAN endif # Ioctl timeout 5000ms DHDCFLAGS += -DIOCTL_RESP_TIMEOUT=5000 # Prevent rx thread monopolize DHDCFLAGS += -DWAIT_DEQUEUE # Config PM Control DHDCFLAGS += -DDHD_PM_CONTROL_FROM_FILE # idle count DHDCFLAGS += -DDHD_USE_IDLECOUNT # SKB TAILPAD to avoid out of boundary memory access DHDCFLAGS += -DDHDENABLE_TAILPAD # Wi-Fi Direct DHDCFLAGS += -DWL_CFG80211_VSDB_PRIORITIZE_SCAN_REQUEST DHDCFLAGS += -DWL_CFG80211_STA_EVENT DHDCFLAGS += -DWL_IFACE_COMB_NUM_CHANNELS DHDCFLAGS += -DWL_ENABLE_P2P_IF #SCAN time DHDCFLAGS += -DCUSTOM_SET_SHORT_DWELL_TIME DHDCFLAGS += -DCUSTOM_FORCE_NODFS_FLAG # SoftAP DHDCFLAGS += -DDISABLE_11H_SOFTAP DHDCFLAGS += -DSET_RANDOM_MAC_SOFTAP DHDCFLAGS += -DWL_CFG80211_ACL #Disable FRAMEBURST on VSDB DHDCFLAGS += -DDISABLE_FRAMEBURST_VSDB ########################## # driver type # m: module type driver # y: built-in type driver ########################## DRIVER_TYPE ?= $(CONFIG_BCMDHD_1363) DRIVERX_TYPE ?= $(CONFIG_BCMDHDX) ######################### # Chip dependent feature ######################### ifneq ($(filter y, $(CONFIG_BCM4359)),) DHDCFLAGS += -DUSE_WL_TXBF DHDCFLAGS += -DUSE_WL_FRAMEBURST DHDCFLAGS += -DCUSTOM_DPC_CPUCORE=0 DHDCFLAGS += -DPROP_TXSTATUS_VSDB DHDCFLAGS += -DCUSTOM_PSPRETEND_THR=30 DHDCFLAGS += -DMAX_AP_CLIENT_CNT=10 DHDCFLAGS += -DMAX_GO_CLIENT_CNT=5 # New Features DHDCFLAGS += -DWL11U DHDCFLAGS += -DMFP DHDCFLAGS += -DDHD_ENABLE_LPC DHDCFLAGS += -DCUSTOM_COUNTRY_CODE DHDCFLAGS += -DSAR_SUPPORT # debug info DHDCFLAGS += -DDHD_WAKE_STATUS ifneq ($(CONFIG_BCMDHD_PCIE),) DHDCFLAGS += -DPCIE_FULL_DONGLE -DBCMPCIE -DCUSTOM_DPC_PRIO_SETTING=-1 # tput enhancement DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64 DHDCFLAGS += -DCUSTOM_AMPDU_MPDU=48 DHDCFLAGS += -DCUSTOM_AMPDU_RELEASE=32 DHDCFLAGS += -DPROP_TXSTATUS_VSDB # Disable watchdog thread DHDCFLAGS += -DCUSTOM_DHD_WATCHDOG_MS=0 DHDCFLAGS += -DMAX_CNTL_TX_TIMEOUT=1 DHDCFLAGS += -DSUPPORT_LINKDOWN_RECOVERY # Add Load Balance Feature here DHDCFLAGS += -DDHD_LB DHDCFLAGS += -DDHD_LB_RXP DHDCFLAGS += -DDHD_LB_STATS endif ifneq ($(CONFIG_BCMDHD_SDIO),) DHDCFLAGS += -DBDC -DDHD_BCMEVENTS -DMMC_SDIO_ABORT # Macros for HW-OOB DHDCFLAGS += -DOOB_INTR_ONLY -DHW_OOB # Enable Below macro for In-Band interrupt # DHDCFLAGS += -DSDIO_ISR_THREAD DHDCFLAGS += -DBCMSDIO -DBCMLXSDMMC -DUSE_SDIOFIFO_IOVAR DHDCFLAGS += -DPROP_TXSTATUS DHDCFLAGS += -DCUSTOM_AMPDU_MPDU=16 DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64 # tput enhancement DHDCFLAGS += -DCUSTOM_GLOM_SETTING=8 -DCUSTOM_RXCHAIN=1 DHDCFLAGS += -DUSE_DYNAMIC_F2_BLKSIZE -DDYNAMIC_F2_BLKSIZE_FOR_NONLEGACY=128 DHDCFLAGS += -DBCMSDIOH_TXGLOM -DCUSTOM_TXGLOM=1 -DBCMSDIOH_TXGLOM_HIGHSPEED DHDCFLAGS += -DDHDTCPACK_SUPPRESS DHDCFLAGS += -DRXFRAME_THREAD DHDCFLAGS += -DREPEAT_READFRAME DHDCFLAGS += -DCUSTOM_MAX_TXGLOM_SIZE=40 DHDCFLAGS += -DMAX_HDR_READ=128 DHDCFLAGS += -DDHD_FIRSTREAD=128 # bcn_timeout DHDCFLAGS += -DCUSTOM_BCN_TIMEOUT=5 DHDCFLAGS += -DWLFC_STATE_PREALLOC endif ifeq ($(CONFIG_DHD_USE_STATIC_BUF),y) DHDCFLAGS += -DDHD_USE_STATIC_IOCTLBUF endif DHDCFLAGS += -DDONGLE_ENABLE_ISOLATION # Print 802.1X packets DHDCFLAGS += -DDHD_8021X_DUMP # Print DHCP packets DHDCFLAGS += -DDHD_DHCP_DUMP endif ifneq ($(CONFIG_BCM4339),) DHDCFLAGS += -DBCM4339_CHIP -DHW_OOB # tput enhancement DHDCFLAGS += -DCUSTOM_GLOM_SETTING=8 -DCUSTOM_RXCHAIN=1 DHDCFLAGS += -DUSE_DYNAMIC_F2_BLKSIZE -DDYNAMIC_F2_BLKSIZE_FOR_NONLEGACY=128 DHDCFLAGS += -DBCMSDIOH_TXGLOM -DCUSTOM_TXGLOM=1 -DBCMSDIOH_TXGLOM_HIGHSPEED DHDCFLAGS += -DDHDTCPACK_SUPPRESS DHDCFLAGS += -DUSE_WL_TXBF DHDCFLAGS += -DUSE_WL_FRAMEBURST DHDCFLAGS += -DRXFRAME_THREAD DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64 DHDCFLAGS += -DCUSTOM_DPC_CPUCORE=0 DHDCFLAGS += -DPROP_TXSTATUS_VSDB DHDCFLAGS += -DCUSTOM_MAX_TXGLOM_SIZE=32 # New Features DHDCFLAGS += -DWL11U DHDCFLAGS += -DDHD_ENABLE_LPC DHDCFLAGS += -DCUSTOM_PSPRETEND_THR=30 endif #EXTRA_LDFLAGS += --strip-debug ifeq ($(DRIVER_TYPE),y) DHDCFLAGS += -DENABLE_INSMOD_NO_FW_LOAD DHDCFLAGS += -DUSE_LATE_INITCALL_SYNC endif ifeq ($(DRIVERX_TYPE),y) DHDCFLAGS += -DENABLE_INSMOD_NO_FW_LOAD DHDCFLAGS += -DUSE_LATE_INITCALL_SYNC endif ifneq ($(DRIVERX_TYPE),) DHDCFLAGS += -DBCMDHDX endif DHDOFILES := dhd_pno.o dhd_common.o dhd_ip.o dhd_custom_gpio.o \ dhd_linux.o dhd_linux_sched.o dhd_cfg80211.o dhd_linux_wq.o aiutils.o bcmevent.o \ bcmutils.o bcmwifi_channels.o hndpmu.o linux_osl.o sbutils.o siutils.o \ wl_android.o wl_roam.o wl_cfg80211.o wl_cfgp2p.o wl_cfg_btcoex.o wldev_common.o wl_linux_mon.o \ dhd_linux_platdev.o dhd_pno.o dhd_linux_wq.o hnd_pktq.o hnd_pktpool.o # RTT support #DHDCFLAGS += -DRTT_SUPPORT -DRTT_DEBUG #DHDOFILES += dhd_rtt.o bcmxtlv.o bcm_app_utils.o # Vendor Extension support #DHDCFLAGS += -DWL_VENDOR_EXT_SUPPORT #DHDOFILES += wl_cfgvendor.o # Bandsteer support #DHDCFLAGS += -DDHD_BANDSTEER #DHDOFILES += dhd_bandsteer.o # DRIVER start/stop support #DHDCFLAGS += -DENABLE_INSMOD_NO_FW_LOAD -DKEEP_WIFION_OPTION ifneq ($(CONFIG_BCMDHD_PCIE),) DHDOFILES += dhd_pcie.o dhd_pcie_linux.o dhd_msgbuf.o dhd_flowring.o DHDOFILES += pcie_core.o endif ifneq ($(CONFIG_BCMDHD_SDIO),) DHDOFILES += bcmsdh.o bcmsdh_linux.o bcmsdh_sdmmc.o bcmsdh_sdmmc_linux.o DHDOFILES += dhd_cdc.o dhd_wlfc.o dhd_sdio.o endif ifneq ($(CONFIG_BCMDHD_1363),) bcmdhd-objs := $(DHDOFILES) obj-$(DRIVER_TYPE) += bcmdhd.o endif ifneq ($(CONFIG_BCMDHDX),) bcmdhdx-objs := $(DHDOFILES) obj-$(DRIVERX_TYPE) += bcmdhdx.o endif EXTRA_CFLAGS += $(DHDCFLAGS) -DDHD_DEBUG EXTRA_CFLAGS += -DSRCBASE=\"$(src)\" EXTRA_CFLAGS += -I$(src)/include/ -I$(src)/ KBUILD_CFLAGS += -I$(LINUXDIR)/include -I$(shell pwd) all: @echo "$(MAKE) --no-print-directory -C $(KDIR) SUBDIRS=$(CURDIR) modules" @$(MAKE) --no-print-directory -C $(KDIR) SUBDIRS=$(CURDIR) modules clean: rm -rf *.o *.ko *.mod.c *~ .*.cmd *.o.cmd .*.o.cmd \ Module.symvers modules.order .tmp_versions modules.builtin install: @$(MAKE) --no-print-directory -C $(KDIR) \ SUBDIRS=$(CURDIR) modules_install