xref: /OK3568_Linux_fs/external/rkwifibt/drivers/bcmdhd/Makefile (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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