1# bcmdhd 2# 3# Portions of this code are copyright (c) 2022 Cypress Semiconductor Corporation 4# 5# Copyright (C) 1999-2017, Broadcom Corporation 6# 7# Unless you and Broadcom execute a separate written software license 8# agreement governing use of this software, this software is licensed to you 9# under the terms of the GNU General Public License version 2 (the "GPL"), 10# available at http://www.broadcom.com/licenses/GPLv2.php, with the 11# following added to such license: 12# 13# As a special exception, the copyright holders of this software give you 14# permission to link this software with independent modules, and to copy and 15# distribute the resulting executable under terms of your choice, provided that 16# you also meet, for each linked independent module, the terms and conditions of 17# the license of that module. An independent module is a module which is not 18# derived from this software. The special exception does not apply to any 19# modifications of the software. 20# 21# Notwithstanding the above, under no circumstances may you combine this 22# software in any way with any other Broadcom software provided under a license 23# other than the GPL, without Broadcom's express prior written consent. 24# 25# 26# <<Broadcom-WL-IPTag/Open:>> 27# 28 29CONFIG_ANDROID := y 30CONFIG_ANDROID12 := y 31CONFIG_BCMDHD_OOB_HOST_WAKE := y 32CONFIG_MACH_PLATFORM := y 33 34##################### 35# SDIO Basic feature 36##################### 37 38DHDCFLAGS += -Wall -Wstrict-prototypes -Dlinux -DLINUX -DBCMDRIVER \ 39 -DBCMDONGLEHOST -DUNRELEASEDCHIP -DBCMDMA32 -DBCMFILEIMAGE \ 40 -DDHDTHREAD -DSHOW_EVENTS -DBCMDBG -DWLP2P \ 41 -DWIFI_ACT_FRAME -DARP_OFFLOAD_SUPPORT \ 42 -DKEEP_ALIVE -DCSCAN -DPKT_FILTER_SUPPORT \ 43 -DEMBEDDED_PLATFORM -DPNO_SUPPORT -DSHOW_LOGTRACE \ 44 -DGET_CUSTOM_MAC_ENABLE \ 45 -DSEC_ENHANCEMENT -DDHD_FW_COREDUMP -DCHIPS_CUSTOMER_HW6 \ 46 -DDHD_RND_DEBUG -DDHD_DUMP_FILE_WRITE_FROM_KERNEL \ 47 -DDHD_DONOT_FORWARD_BCMEVENT_AS_NETWORK_PKT -DWL11AX 48 49GCCVERSIONGTEQ9 := $(shell expr `$(CROSS_COMPILE)gcc -dumpversion | cut -f1 -d.` \>= 9) 50ifeq "$(GCCVERSIONGTEQ9)" "1" 51 DHDCFLAGS += -Wno-error=date-time 52endif 53DHDCFLAGS += $(call cc-disable-warning, date-time) 54DHDCFLAGS += $(call cc-disable-warning, stringop-overflow) 55DHDCFLAGS += -Wno-implicit-function-declaration -Wno-incompatible-pointer-types 56DHDCFLAGS += -Wno-unused-const-variable -Wno-unused-function 57 58################# 59# Common feature 60################# 61DHDCFLAGS += -DAUTOMOTIVE_FEATURE 62DHDCFLAGS += -DWL_VIRTUAL_APSTA 63# Dongle init fail 64DHDCFLAGS += -DDEBUG_DNGL_INIT_FAIL 65DHDCFLAGS += -DPOWERUP_MAX_RETRY=0 66DHDCFLAGS += -DWL_SUPPORT_AUTO_CHANNEL 67 68# Wapi 69DHDCFLAGS += -DBCMWAPI_WPI -DBCMWAPI_WAI 70 71# Allow wl event forwarding as network packet 72DHDCFLAGS += -DWL_EVENT_ENAB 73 74DHDCFLAGS += -DWL_CFG80211 75# Print out kernel panic point of file and line info when assertion happened 76DHDCFLAGS += -DBCMASSERT_LOG 77 78# Enable Log Dump 79DHDCFLAGS += -DDHD_LOG_DUMP 80DHDCFLAGS += -DOEM_ANDROID 81 82# Enable Register access via dhd IOVAR 83DHDCFLAGS += -DDHD_PCIE_REG_ACCESS -DDHD_BUS_MEM_ACCESS 84 85# CUSTOMER4 flags 86DHDCFLAGS += -DDHD_PKTID_AUDIT_ENABLED 87DHDCFLAGS += -DSUPPORT_HIDDEN_AP 88DHDCFLAGS += -DPASS_ALL_MCAST_PKTS -DESCAN_BUF_OVERFLOW_MGMT -DPKTPRIO_OVERRIDE 89DHDCFLAGS += -DUSE_INITIAL_SHORT_DWELL_TIME 90DHDCFLAGS += -DSOFTAP_UAPSD_OFF 91DHDCFLAGS += -DSUPPORT_LTECX -DSUPPORT_2G_VHT 92DHDCFLAGS += -DSUPPORT_WL_TXPOWER -DBLOCK_IPV6_PACKET -DSUPPORT_DEEP_SLEEP 93DHDCFLAGS += -DSUPPORT_AMPDU_MPDU_CMD -DSOFTAP_SEND_HANGEVT -DNUM_SCB_MAX_PROBE=3 94DHDCFLAGS += -DCUSTOM_TCPACK_DELAY_TIME=10 95DHDCFLAGS += -DDEBUGFS_CFG80211 96DHDCFLAGS += -DSUPPORT_SOFTAP_WPAWPA2_MIXED 97DHDCFLAGS += -DSUPPORT_2G_VHT -DSUPPORT_5G_1024QAM_VHT 98DHDCFLAGS += -DEWP_ECNTRS_LOGGING 99DHDCFLAGS += -DEWP_ETD_PRSRV_LOGS 100DHDCFLAGS += -DCFI_CHECK 101 102# Runtime PM feature 103# DHDCFLAGS += -DDHD_PCIE_RUNTIMEPM -DMAX_IDLE_COUNT=11 -DCUSTOM_DHD_RUNTIME_MS=100 104 105# DMA64 suppports on 64bit Architecture 106ifeq ($(CONFIG_ARM64),y) 107 DHDCFLAGS := $(filter-out -DBCMDMA32,$(DHDCFLAGS)) 108 DHDCFLAGS += -DBCMDMA64OSL 109endif 110 111# DMA64 suppports on x64bit Architecture 112#ifeq ($(CONFIG_64BIT),y) 113# DHDCFLAGS := $(filter-out -DBCMDMA32,$(DHDCFLAGS)) 114# DHDCFLAGS += -DBCMDMA64OSL 115#endif // endif 116 117## OOB 118ifeq ($(CONFIG_BCMDHD_OOB_HOST_WAKE),y) 119 DHDCFLAGS += -DBCMPCIE_OOB_HOST_WAKE 120endif 121 122# keepalive 123DHDCFLAGS += -DCUSTOM_KEEP_ALIVE_SETTING=28000 124 125DHDCFLAGS += -DVSDB 126 127# For p2p connection issue 128DHDCFLAGS += -DWL_SCB_TIMEOUT=10 129 130# TDLS enable 131DHDCFLAGS += -DWLTDLS -DWLTDLS_AUTO_ENABLE 132# For TDLS tear down inactive time 40 sec 133DHDCFLAGS += -DCUSTOM_TDLS_IDLE_MODE_SETTING=10000 134# for TDLS RSSI HIGH for establishing TDLS link 135DHDCFLAGS += -DCUSTOM_TDLS_RSSI_THRESHOLD_HIGH=-80 136# for TDLS RSSI HIGH for tearing down TDLS link 137DHDCFLAGS += -DCUSTOM_TDLS_RSSI_THRESHOLD_LOW=-85 138 139# Roaming 140DHDCFLAGS += -DROAM_AP_ENV_DETECTION 141DHDCFLAGS += -DROAM_ENABLE -DROAM_CHANNEL_CACHE -DROAM_API 142DHDCFLAGS += -DENABLE_FW_ROAM_SUSPEND 143# Roaming trigger 144DHDCFLAGS += -DCUSTOM_ROAM_TRIGGER_SETTING=-75 145DHDCFLAGS += -DCUSTOM_ROAM_DELTA_SETTING=10 146# Set PM 2 always regardless suspend/resume 147DHDCFLAGS += -DSUPPORT_PM2_ONLY 148 149# FT roam 150DHDCFLAGS += -DWLFBT -DGTK_OFFLOAD_SUPPORT 151DHDCFLAGS += -DBCMCCX 152DHDCFLAGS += -DWBTEXT 153DHDCFLAGS += -DDHD_LOSSLESS_ROAMING 154 155# Hog flags 156#DHDCFLAGS += -DENABLE_HOGSQS 157#ifeq ($(ENABLE_HOGSQS), y) 158#DHDCFLAGS += -DM_HOGSQS_CFG=0x1910 159#endif // endif 160 161# For special PNO Event keep wake lock for 10sec 162DHDCFLAGS += -DCUSTOM_PNO_EVENT_LOCK_xTIME=10 163DHDCFLAGS += -DMIRACAST_AMPDU_SIZE=8 164#Vendor Extension 165#DHDCFLAGS += -DWL_VENDOR_EXT_SUPPORT 166#Gscan 167DHDCFLAGS += -DGSCAN_SUPPORT 168#PNO Scan Result Version 169DHDCFLAGS += -DPFN_SCANRESULT_2 170#RSSI Monitor 171DHDCFLAGS += -DRSSI_MONITOR_SUPPORT 172#APF 173DHDCFLAGS += -DAPF 174#NDOffload 175DHDCFLAGS += -DNDO_CONFIG_SUPPORT 176DHDCFLAGS += -DIPV6_NDO_SUPPORT 177 178#Link Statistics 179DHDCFLAGS += -DLINKSTAT_SUPPORT 180 181#Debugaility 182DHDCFLAGS += -DDBG_PKT_MON -DDBG_PKT_MON_INIT_DEFAULT 183DHDCFLAGS += -DWL_SCHED_SCAN 184DHDCFLAGS += -DDNGL_EVENT_SUPPORT 185 186#RSSI Monitor 187DHDCFLAGS += -DRSSI_MONITOR_SUPPORT 188 189# Early suspend 190DHDCFLAGS += -DDHD_USE_EARLYSUSPEND 191 192# For Scan result patch 193DHDCFLAGS += -DESCAN_RESULT_PATCH 194 195# NAN 196#DHDCFLAGS += -DWL_NAN -DWL_NAN_DISC_CACHE 197 198# For Static Buffer 199ifeq ($(CONFIG_DHD_USE_STATIC_BUF),y) 200 DHDCFLAGS += -DENHANCED_STATIC_BUF 201 DHDCFLAGS += -DSTATIC_WL_PRIV_STRUCT 202endif 203ifneq ($(CONFIG_DHD_USE_SCHED_SCAN),) 204DHDCFLAGS += -DWL_SCHED_SCAN 205endif 206 207# Prevent rx thread monopolize 208DHDCFLAGS += -DWAIT_DEQUEUE 209 210# idle count 211DHDCFLAGS += -DDHD_USE_IDLECOUNT 212 213# SKB TAILPAD to avoid out of boundary memory access 214DHDCFLAGS += -DDHDENABLE_TAILPAD 215 216# Wi-Fi Direct 217DHDCFLAGS += -DWL_CFG80211_VSDB_PRIORITIZE_SCAN_REQUEST 218DHDCFLAGS += -DWL_CFG80211_STA_EVENT 219DHDCFLAGS += -DWL_IFACE_COMB_NUM_CHANNELS 220DHDCFLAGS += -DWL_SUPPORT_MULTIP2P 221#SCAN time 222DHDCFLAGS += -DCUSTOM_SET_SHORT_DWELL_TIME 223DHDCFLAGS += -DCUSTOM_FORCE_NODFS_FLAG 224ifeq ($(CONFIG_ANDROID),y) 225 DHDCFLAGS += -DKEEP_WIFION_OPTION 226 DHDCFLAGS += -Wno-date-time 227 228# To support android12 Wifi-HAL 229ifeq ($(CONFIG_ANDROID12),y) 230 DHDCFLAGS += -DANDROID12_SUPPORT 231endif 232 233# To support ACS on hostapd 234# DHDCFLAGS += -DWL_SUPPORT_ACS_OFFLOAD 235endif 236 237# SoftAP 238DHDCFLAGS += -DSET_RANDOM_MAC_SOFTAP 239DHDCFLAGS += -DWL_CFG80211_ACL 240ifeq ($(CONFIG_WL_AP_IF),y) 241 DHDCFLAGS += -DWL_STATIC_IF 242 DHDCFLAGS += -DDHD_NUM_STATIC_IFACES=2 243endif 244 245# QT support 246ifeq ($(CONFIG_QT), y) 247 DHDCFLAGS += -DBCMQT_HW -DBCMSLTGT -DBCMQT 248endif 249 250# Disable FRAMEBURST on VSDB 251DHDCFLAGS += -DDISABLE_FRAMEBURST_VSDB 252 253# WPS 254DHDCFLAGS += -DWL_WPS_SYNC -DBCMCRYPTO_COMPONENT 255 256#WPA3 257ifneq ($(CONFIG_BCMDHD_WPA3),) 258 DHDCFLAGS += -DWL_SAE 259endif 260 261ifneq ($(CONFIG_BCMDHD_PCIE),) 262DHDCFLAGS += -DDHD_4WAYM4_FAIL_DISCONNECT 263endif 264 265#6Ghz 266ifneq ($(CONFIG_BCMDHD_6E),) 267 DHDCFLAGS += -DWL_6E 268endif 269 270# Uncomment the below line for AP to receive disconnect management frame. 271# DHDCFLAGS += -DWL_CFG80211_AP_RX_MGMT_DISCONNECT 272 273# Bandsteer support 274# DHDCFLAGS += -DDHD_BANDSTEER 275 276########################## 277# driver type 278# m: module type driver 279# y: built-in type driver 280########################## 281DRIVER_TYPE ?= $(CONFIG_INFINEON_DHD) 282 283############################# 284# Bring up WARs for CYW89570. 285# # To be removed later 286# ############################# 287ifneq ($(CONFIG_WIRELESS_EXT),) 288 DHDOFILES += wl_iw.o bcm_app_utils.o 289 DHDCFLAGS += -DWL_WIRELESS_EXT -DWLLXIW -DUSE_IW 290endif 291 292ifeq ($(CONFIG_TRXHDR_V3),y) 293 DHDCFLAGS += -DBCMTRXV3 294else 295 DHDCFLAGS += -DBCMTRXV4 296endif 297 298######################### 299# Chip dependent feature 300######################### 301 302 DHDCFLAGS += -DUSE_WL_TXBF 303 DHDCFLAGS += -DCUSTOM_DPC_CPUCORE=0 304 305# New Features 306 DHDCFLAGS += -DWL11U 307 DHDCFLAGS += -DMFP 308# Disabling LPC for 89570 for now. 309# DHDCFLAGS += -DDHD_ENABLE_LPC 310 DHDCFLAGS += -DCUSTOM_COUNTRY_CODE 311 DHDCFLAGS += -DNDO_CONFIG_SUPPORT 312 DHDCFLAGS += -DIPV6_NDO_SUPPORT 313 DHDCFLAGS += -DIGUANA_LEGACY_CHIPS 314 315ifeq ($(CONFIG_BCMDHD_SDMMC),y) 316 DHDCFLAGS += -DBCMLXSDMMC -DCUSTOM_TXGLOM=1 317ifneq ($(CONFIG_HAVE_IMX8_SOC),) 318 DHDCFLAGS += \ 319 -DCONFIG_DTS \ 320 -DOEM_EMBEDDED_LINUX \ 321 -DPLATFORM_IMX \ 322 -DSDIO_ISR_THREAD \ 323 -DWL_VIF_SUPPORT 324endif 325endif 326 327ifeq ($(CONFIG_BCMDHD_SDIOH_STD),y) 328 DHDCFLAGS += -DBCMSDIOH_STD 329endif 330 331ifeq ($(CONFIG_BCMDHD_SDIO),y) 332 DHDCFLAGS += -DBDC -DHW_OOB -DDHD_BCMEVENTS -DMMC_SDIO_ABORT 333 DHDCFLAGS += -DBCMSDIO -DUSE_SDIOFIFO_IOVAR 334 DHDCFLAGS += -DPROP_TXSTATUS -DLIMIT_BORROW 335 DHDCFLAGS += -DPROP_TXSTATUS_VSDB 336 DHDCFLAGS += -DUSE_WL_FRAMEBURST 337# tput enhancement 338 DHDCFLAGS += -DCUSTOM_GLOM_SETTING=8 -DCUSTOM_RXCHAIN=1 339 DHDCFLAGS += -DUSE_DYNAMIC_F2_BLKSIZE -DDYNAMIC_F2_BLKSIZE_FOR_NONLEGACY=128 340 DHDCFLAGS += -DBCMSDIOH_TXGLOM -DAMPDU_HOSTREORDER 341 DHDCFLAGS += -DDHDTCPACK_SUPPRESS 342 DHDCFLAGS += -DRXFRAME_THREAD 343 DHDCFLAGS += -DREPEAT_READFRAME 344 DHDCFLAGS += -DCUSTOM_MAX_TXGLOM_SIZE=40 345 DHDCFLAGS += -DMAX_HDR_READ=128 346 DHDCFLAGS += -DDHD_FIRSTREAD=64 347ifneq ($(CONFIG_BCM4373),) 348 DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=32 349else 350 DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64 351 352endif 353 354# bcn_timeout 355 DHDCFLAGS += -DCUSTOM_BCN_TIMEOUT_SETTING=5 356 357 DHDCFLAGS += -DWLFC_STATE_PREALLOC 358 DHDCFLAGS += -DREVERSE_AIFSN 359 360# btsharedsdio 361ifneq ($(CONFIG_BT_OVER_SDIO),) 362 DHDCFLAGS += -DBT_OVER_SDIO 363endif 364endif 365 366# Expand TCP tx queue to 10 times of default size 367 DHDCFLAGS += -DTSQ_MULTIPLIER=10 368 369ifneq ($(CONFIG_BCMDHD_PCIE),) 370 DHDCFLAGS += -DPCIE_FULL_DONGLE -DBCMPCIE -DCUSTOM_DPC_PRIO_SETTING=-1 371# tput enhancement 372 DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64 373 DHDCFLAGS += -DPROP_TXSTATUS_VSDB 374# Disable watchdog thread 375 DHDCFLAGS += -DCUSTOM_DHD_WATCHDOG_MS=0 376# HEAP ASLR 377 DHDCFLAGS += -DBCM_ASLR_HEAP 378 DHDCFLAGS += -DMAX_CNTL_TX_TIMEOUT=1 379ifneq ($(CONFIG_ARCH_MSM),) 380 DHDCFLAGS += -DMSM_PCIE_LINKDOWN_RECOVERY 381endif 382ifeq ($(CONFIG_DHD_USE_STATIC_BUF),y) 383 DHDCFLAGS += -DDHD_USE_STATIC_IOCTLBUF 384endif 385 386# Enable health check event handling 387 DHDCFLAGS += -DDNGL_EVENT_SUPPORT 388 DHDCFLAGS += -DHCHK_COMMON_SW_EVENT 389ifneq ($(CONFIG_DHD_OF_SUPPORT),) 390 DHDCFLAGS += -DDHD_OF_SUPPORT 391 DHDOFILES += dhd_custom_msm.o 392ifneq ($(CONFIG_BROADCOM_WIFI_RESERVED_MEM),) 393 DHDOFILES += dhd_custom_memprealloc.o 394endif 395endif 396 397# Enable Load Balancing support by default. 398# DHD_LB_RXP - Perform RX Packet processing in parallel 399# DHD_LB_STATS - To display the Load Blancing statistics 400DHDCFLAGS += -DDHD_LB -DDHD_LB_RXP -DDHD_LB_STATS 401DHDCFLAGS += -DDHD_LB_PRIMARY_CPUS=0xF0 -DDHD_LB_SECONDARY_CPUS=0x0E 402 403# Runtime PM feature 404# DHDCFLAGS += -DDHD_PCIE_RUNTIMEPM -DMAX_IDLE_COUNT=11 -DCUSTOM_DHD_RUNTIME_MS=100 405 406# debug info 407 DHDCFLAGS += -DDHD_WAKE_STATUS -DDHD_WAKE_RX_STATUS 408 409# Enable SSSR Dump 410 DHDCFLAGS += -DDHD_SSSR_DUMP 411endif 412 413# Print 802.1X packets 414 DHDCFLAGS += -DDHD_8021X_DUMP 415# prioritize 802.1x packet 416 DHDCFLAGS += -DEAPOL_PKT_PRIO 417 418# Enable MSI interrupt Support 419 DHDCFLAGS += -DDHD_MSI_SUPPORT 420 421# Enabling temporarily due to build failure 422 DHDCFLAGS += -DDHD_PKTTS -DTX_STATUS_LATENCY_STATS 423 424ifneq ($(filter y, $(CONFIG_BCM4354) $(CONFIG_BCM4356)),) 425 DHDCFLAGS += -DUSE_WL_TXBF 426 DHDCFLAGS += -DUSE_WL_FRAMEBURST 427 DHDCFLAGS += -DCUSTOM_DPC_CPUCORE=0 428 DHDCFLAGS += -DPROP_TXSTATUS_VSDB 429 DHDCFLAGS += -DCUSTOM_PSPRETEND_THR=30 430 DHDCFLAGS += -DMAX_AP_CLIENT_CNT=10 431 DHDCFLAGS += -DMAX_GO_CLIENT_CNT=5 432# New Features 433 DHDCFLAGS += -DWL11U 434 DHDCFLAGS += -DMFP 435 DHDCFLAGS += -DDHD_ENABLE_LPC 436 DHDCFLAGS += -DCUSTOM_COUNTRY_CODE 437 DHDCFLAGS += -DSAR_SUPPORT 438# debug info 439 DHDCFLAGS += -DDHD_WAKE_STATUS 440ifeq ($(CONFIG_BCMDHD_SDIO),y) 441 DHDCFLAGS += -DBDC -DOOB_INTR_ONLY -DHW_OOB -DDHD_BCMEVENTS -DMMC_SDIO_ABORT 442 DHDCFLAGS += -DBCMSDIO -DBCMLXSDMMC -DUSE_SDIOFIFO_IOVAR 443 DHDCFLAGS += -DPROP_TXSTATUS 444 DHDCFLAGS += -DCUSTOM_AMPDU_MPDU=16 445 DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64 446# tput enhancement 447 DHDCFLAGS += -DCUSTOM_GLOM_SETTING=8 -DCUSTOM_RXCHAIN=1 448 DHDCFLAGS += -DUSE_DYNAMIC_F2_BLKSIZE -DDYNAMIC_F2_BLKSIZE_FOR_NONLEGACY=128 449 DHDCFLAGS += -DBCMSDIOH_TXGLOM -DCUSTOM_TXGLOM=1 -DBCMSDIOH_TXGLOM_HIGHSPEED 450 DHDCFLAGS += -DDHDTCPACK_SUPPRESS 451 DHDCFLAGS += -DRXFRAME_THREAD 452 DHDCFLAGS += -DREPEAT_READFRAME 453 DHDCFLAGS += -DCUSTOM_MAX_TXGLOM_SIZE=40 454 DHDCFLAGS += -DMAX_HDR_READ=128 455 DHDCFLAGS += -DDHD_FIRSTREAD=128 456# bcn_timeout 457 DHDCFLAGS += -DCUSTOM_BCN_TIMEOUT=5 458 DHDCFLAGS += -DWLFC_STATE_PREALLOC 459endif 460 461ifneq ($(CONFIG_BCMDHD_PCIE),) 462 DHDCFLAGS += -DPCIE_FULL_DONGLE -DBCMPCIE -DCUSTOM_DPC_PRIO_SETTING=-1 463# tput enhancement 464 DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64 465 DHDCFLAGS += -DPROP_TXSTATUS_VSDB 466# Disable watchdog thread 467 DHDCFLAGS += -DCUSTOM_DHD_WATCHDOG_MS=0 468 DHDCFLAGS += -DMAX_CNTL_TX_TIMEOUT=1 469 DHDCFLAGS += -DSUPPORT_LINKDOWN_RECOVERY 470# Enable health check event handling 471 DHDCFLAGS += -DDNGL_EVENT_SUPPORT 472 DHDCFLAGS += -DHCHK_COMMON_SW_EVENT 473endif 474ifeq ($(CONFIG_DHD_USE_STATIC_BUF),y) 475 DHDCFLAGS += -DDHD_USE_STATIC_IOCTLBUF 476endif 477# Print 802.1X packets 478 DHDCFLAGS += -DDHD_8021X_DUMP 479# Print DHCP packets 480 DHDCFLAGS += -DDHD_DHCP_DUMP 481endif 482 483ifneq ($(CONFIG_BCM4339),) 484 DHDCFLAGS += -DBCM4339_CHIP -DHW_OOB 485 486 # tput enhancement 487 DHDCFLAGS += -DCUSTOM_GLOM_SETTING=8 -DCUSTOM_RXCHAIN=1 488 DHDCFLAGS += -DUSE_DYNAMIC_F2_BLKSIZE -DDYNAMIC_F2_BLKSIZE_FOR_NONLEGACY=128 489 DHDCFLAGS += -DBCMSDIOH_TXGLOM -DCUSTOM_TXGLOM=1 -DBCMSDIOH_TXGLOM_HIGHSPEED 490 DHDCFLAGS += -DDHDTCPACK_SUPPRESS 491 DHDCFLAGS += -DUSE_WL_TXBF 492 DHDCFLAGS += -DUSE_WL_FRAMEBURST 493 DHDCFLAGS += -DRXFRAME_THREAD 494 DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64 495 DHDCFLAGS += -DCUSTOM_DPC_CPUCORE=0 496 DHDCFLAGS += -DPROP_TXSTATUS_VSDB 497 DHDCFLAGS += -DCUSTOM_MAX_TXGLOM_SIZE=32 498 499 # New Features 500 DHDCFLAGS += -DWL11U 501 DHDCFLAGS += -DDHD_ENABLE_LPC 502 DHDCFLAGS += -DCUSTOM_PSPRETEND_THR=30 503endif 504 505#EXTRA_LDFLAGS += --strip-debug 506 507#ifeq ($(DRIVER_TYPE),y) 508 DHDCFLAGS += -DENABLE_INSMOD_NO_FW_LOAD 509 DHDCFLAGS += -DUSE_LATE_INITCALL_SYNC 510 # Use kernel strlcpy() implementation instead of one, defined in bcmstdlib_s.c 511 DHDCFLAGS += -DBCM_USE_PLATFORM_STRLCPY 512#endif 513 514DHDOFILES += dhd_pno.o dhd_common.o dhd_ip.o dhd_custom_gpio.o \ 515 dhd_linux.o dhd_linux_sched.o dhd_cfg80211.o dhd_linux_wq.o aiutils.o \ 516 bcmevent.o bcmutils.o bcmwifi_channels.o hndpmu.o linux_osl.o linux_pkt.o \ 517 sbutils.o siutils.o wl_android.o wl_roam.o wl_cfg80211.o wl_cfgscan.o wl_cfgp2p.o \ 518 wl_cfg_btcoex.o wldev_common.o dhd_linux_platdev.o \ 519 dhd_pno.o dhd_linux_pktdump.o wl_cfg_btcoex.o hnd_pktq.o \ 520 hnd_pktpool.o wl_cfgvendor.o bcmxtlv.o bcm_app_utils.o dhd_debug.o \ 521 dhd_debug_linux.o dhd_mschdbg.o bcmbloom.o dhd_dbg_ring.o bcmstdlib_s.o \ 522 dhd_linux_exportfs.o 523 524ifneq ($(CONFIG_DHD_MONITOR_INTERFACE),) 525 DHDCFLAGS += -DDHD_MONITOR_INTERFACE 526 DHDOFILES += wl_linux_mon.o 527endif 528 529ifeq ($(CONFIG_MACH_PLATFORM),y) 530 DHDOFILES += dhd_gpio.o 531 DHDCFLAGS += -DDHD_OF_SUPPORT -DCUSTOMER_OOB -DHW_OOB -DCUSTOMER_HW 532 DHDCFLAGS += -DBCMPCIE_OOB_HOST_WAKE 533 DHDCFLAGS += -DCUSTOMER_HW_ROCKCHIP 534 #DHDCFLAGS += -DENABLE_INSMOD_NO_FW_LOAD 535endif 536 537ifneq ($(CONFIG_DHD_OF_SUPPORT),) 538 DHDCFLAGS += -DDHD_OF_SUPPORT 539 DHDOFILES += dhd_custom_msm.o 540ifneq ($(CONFIG_BROADCOM_WIFI_RESERVED_MEM),) 541 DHDOFILES += dhd_custom_memprealloc.o 542endif 543endif 544 545ifeq ($(CONFIG_BCMDHD_SDMMC),y) 546 DHDOFILES += bcmsdh_sdmmc.o bcmsdh_sdmmc_linux.o 547endif 548 549ifeq ($(CONFIG_BCMDHD_SDIO),y) 550 DHDOFILES += bcmsdh.o bcmsdh_linux.o 551 DHDOFILES += dhd_cdc.o dhd_wlfc.o dhd_sdio.o 552endif 553 554ifeq ($(CONFIG_BCMDHD_SDIOH_STD),y) 555 DHDOFILES += bcmsdstd.o bcmsdstd_linux.o 556endif 557 558ifneq ($(CONFIG_BCMDHD_PCIE),) 559 DHDOFILES += dhd_pcie.o dhd_pcie_linux.o dhd_msgbuf.o dhd_flowring.o 560 DHDOFILES += pcie_core.o 561endif 562 563ifneq ($(filter -DDHD_LB, $(DHDCFLAGS)),) 564DHDOFILES += dhd_linux_lb.o 565endif 566ifneq ($(filter -DDHD_BANDSTEER, $(DHDCFLAGS)),) 567 DHDOFILES += dhd_bandsteer.o 568endif 569 570ifneq ($(CONFIG_QT),y) 571 DHDCFLAGS += -DRTT_SUPPORT -DRTT_DEBUG 572 DHDOFILES += dhd_rtt.o 573endif 574EXTRA_CFLAGS += $(DHDCFLAGS) -DDHD_DEBUG 575EXTRA_CFLAGS += -DSRCBASE=\"$(src)\" 576EXTRA_CFLAGS += -I$(src)/include/ -I$(src)/ 577KBUILD_CFLAGS += -I$(KDIR)/include -I$(CURDIR) 578 579bcmdhd-objs := $(DHDOFILES) 580obj-$(DRIVER_TYPE) += bcmdhd.o 581 582all: 583 @echo "$(MAKE) --no-print-directory -C $(KDIR) M=$(CURDIR) modules" 584 @$(MAKE) --no-print-directory -C $(KDIR) M=$(CURDIR) modules 585 586clean: 587 rm -rf *.o *.ko *.mod.c *~ .*.cmd *.o.cmd .*.o.cmd \ 588 Module.symvers modules.order .tmp_versions modules.builtin 589 590install: 591 @$(MAKE) --no-print-directory -C $(KDIR) \ 592 SUBDIRS=$(CURDIR) modules_install 593