xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/infineon/bcmdhd/Makefile (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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