adt3-S dhd_driver source code [1/1]
[GitHub/LineageOS/G12/android_hardware_amlogic_kernel-modules_dhd-driver.git] / bcmdhd.100.10.315.x / Makefile
1 # bcmdhd
2
3 # if not confiure pci mode, we use sdio mode as default
4 ifeq ($(CONFIG_BCMDHD_PCIE),)
5 $(info bcm SDIO driver configured)
6 CONFIG_DHD_USE_STATIC_BUF := y
7 endif
8
9 ifeq ($(CONFIG_BCMDHD_SDIO),y)
10 MODULE_NAME := dhd
11 else
12 ifeq ($(CONFIG_BCMDHD_USB),y)
13 MODULE_NAME := bcmdhd
14 else
15 MODULE_NAME := dhdpci
16 endif
17 endif
18 #CONFIG_BCMDHD := m
19 #CONFIG_BCMDHD_SDIO := y
20 #CONFIG_BCMDHD_PCIE := y
21 #CONFIG_BCMDHD_USB := y
22
23 #CONFIG_BCMDHD_CUSB := y
24 CONFIG_BCMDHD_PROPTXSTATUS := y
25 #CONFIG_BCMDHD_DEBUG := y
26
27 CONFIG_MACH_PLATFORM := y
28 #CONFIG_BCMDHD_DTS := y
29
30 export CONFIG_BCMDHD = m
31 export CONFIG_BCMDHD_OOB = y
32 export CONFIG_VTS_SUPPORT = y
33
34 ifndef CONFIG_KASAN
35 KBUILD_CFLAGS_MODULE += -Wframe-larger-than=3000
36 endif
37
38 DHDCFLAGS = -Wall -Wstrict-prototypes -Dlinux -DBCMDRIVER \
39 -Wno-maybe-uninitialized -Werror \
40 -DBCMDONGLEHOST -DBCMDMA32 -DBCMFILEIMAGE \
41 -DDHDTHREAD -DDHD_DEBUG -DSHOW_EVENTS -DBCMDBG -DGET_OTP_MAC_ENABLE \
42 -DWIFI_ACT_FRAME -DARP_OFFLOAD_SUPPORT -DSUPPORT_PM2_ONLY \
43 -DKEEP_ALIVE -DPKT_FILTER_SUPPORT -DDHDTCPACK_SUPPRESS \
44 -DDHD_DONOT_FORWARD_BCMEVENT_AS_NETWORK_PKT \
45 -DMULTIPLE_SUPPLICANT -DTSQ_MULTIPLIER -DMFP -DDHD_8021X_DUMP \
46 -DPOWERUP_MAX_RETRY=0 -DIFACE_HANG_FORCE_DEV_CLOSE -DWAIT_DEQUEUE \
47 -DWL_EXT_IAPSTA -DWL_ESCAN -DCCODE_LIST \
48 -DENABLE_INSMOD_NO_FW_LOAD \
49 -I$(src) -I$(src)/include
50
51 DHDOFILES = aiutils.o siutils.o sbutils.o bcmutils.o bcmwifi_channels.o \
52 dhd_linux.o dhd_linux_platdev.o dhd_linux_sched.o dhd_pno.o \
53 dhd_common.o dhd_ip.o dhd_linux_wq.o dhd_custom_gpio.o \
54 bcmevent.o hndpmu.o linux_osl.o wldev_common.o wl_android.o \
55 dhd_debug_linux.o dhd_debug.o dhd_mschdbg.o dhd_dbg_ring.o \
56 hnd_pktq.o hnd_pktpool.o bcmxtlv.o linux_pkt.o bcmstdlib_s.o frag.o \
57 dhd_linux_exportfs.o dhd_linux_pktdump.o \
58 dhd_config.o dhd_ccode.o wl_event.o wl_android_ext.o wl_escan.o
59
60 ifneq ($(CONFIG_WIRELESS_EXT),)
61 DHDOFILES += wl_iw.o
62 DHDCFLAGS += -DSOFTAP -DWL_WIRELESS_EXT -DUSE_IW
63 endif
64 ifneq ($(CONFIG_CFG80211),)
65 DHDOFILES += wl_cfg80211.o wl_cfgscan.o wl_cfgp2p.o
66 DHDOFILES += wl_linux_mon.o wl_cfg_btcoex.o wl_cfgvendor.o
67 DHDOFILES += dhd_cfg80211.o
68 DHDCFLAGS += -DWL_CFG80211 -DWLP2P -DWL_CFG80211_STA_EVENT
69 DHDCFLAGS += -DWL_IFACE_COMB_NUM_CHANNELS
70 DHDCFLAGS += -DCUSTOM_PNO_EVENT_LOCK_xTIME=10
71 DHDCFLAGS += -DWL_SUPPORT_AUTO_CHANNEL
72 DHDCFLAGS += -DWL_SUPPORT_BACKPORTED_KPATCHES
73 DHDCFLAGS += -DESCAN_RESULT_PATCH -DESCAN_BUF_OVERFLOW_MGMT
74 DHDCFLAGS += -DVSDB -DWL_CFG80211_VSDB_PRIORITIZE_SCAN_REQUEST
75 DHDCFLAGS += -DWLTDLS -DMIRACAST_AMPDU_SIZE=8
76 DHDCFLAGS += -DWL_VIRTUAL_APSTA
77 DHDCFLAGS += -DPNO_SUPPORT -DEXPLICIT_DISCIF_CLEANUP
78 DHDCFLAGS += -DDHD_USE_SCAN_WAKELOCK
79 DHDCFLAGS += -DWL_STATIC_IF
80 # DHDCFLAGS += -DWL_SAE
81 endif
82
83 #BCMDHD_SDIO
84 ifneq ($(CONFIG_BCMDHD_SDIO),)
85 DHDCFLAGS += -DBCMSDIO -DMMC_SDIO_ABORT -DBCMLXSDMMC -DUSE_SDIOFIFO_IOVAR \
86 -DSDTEST -DBDC -DDHD_USE_IDLECOUNT -DCUSTOM_SDIO_F2_BLKSIZE=256 \
87 -DBCMSDIOH_TXGLOM -DBCMSDIOH_TXGLOM_EXT -DRXFRAME_THREAD \
88 -DDHDENABLE_TAILPAD -DSUPPORT_P2P_GO_PS \
89 -DBCMSDIO_RXLIM_POST -DCONSOLE_DPC
90 ifeq ($(CONFIG_BCMDHD_OOB),y)
91 DHDCFLAGS += -DOOB_INTR_ONLY -DCUSTOMER_OOB -DHW_OOB
92 ifeq ($(CONFIG_BCMDHD_DISABLE_WOWLAN),y)
93 DHDCFLAGS += -DDISABLE_WOWLAN
94 endif
95 else
96 DHDCFLAGS += -DSDIO_ISR_THREAD
97 endif
98 DHDOFILES += bcmsdh.o bcmsdh_linux.o bcmsdh_sdmmc.o bcmsdh_sdmmc_linux.o \
99 dhd_sdio.o dhd_cdc.o dhd_wlfc.o
100 endif
101
102 #BCMDHD_PCIE
103 ifneq ($(CONFIG_BCMDHD_PCIE),)
104 DHDCFLAGS += -DPCIE_FULL_DONGLE -DBCMPCIE -DCUSTOM_DPC_PRIO_SETTING=-1 \
105 -DDONGLE_ENABLE_ISOLATION
106 DHDCFLAGS += -DDHD_LB -DDHD_LB_RXP -DDHD_LB_STATS -DDHD_LB_TXP
107 DHDCFLAGS += -DDHD_PKTID_AUDIT_ENABLED
108 ifeq ($(CONFIG_BCMDHD_OOB),y)
109 DHDCFLAGS += -DCUSTOMER_OOB -DBCMPCIE_OOB_HOST_WAKE
110 endif
111 ifneq ($(CONFIG_PCI_MSI),)
112 DHDCFLAGS += -DDHD_MSI_SUPPORT
113 endif
114 DHDCFLAGS += -DDHD_LB_TXP_DEFAULT_ENAB
115 DHDCFLAGS += -DSET_RPS_CPUS -DSET_XPS_CPUS
116 DHDCFLAGS += -DCUSTOM_TCPACK_SUPP_RATIO=15
117 DHDCFLAGS += -DCUSTOM_TCPACK_DELAY_TIME=10
118 DHDCFLAGS += -DDHDTCPACK_SUPPRESS
119 DHDCFLAGS += -DDHD_DISABLE_ASPM
120
121 DHDOFILES += dhd_pcie.o dhd_pcie_linux.o pcie_core.o dhd_flowring.o \
122 dhd_msgbuf.o dhd_linux_lb.o
123 endif
124
125 #BCMDHD_USB
126 ifneq ($(CONFIG_BCMDHD_USB),)
127 DHDCFLAGS += -DUSBOS_TX_THREAD -DBCMDBUS -DBCMTRXV2 -DDBUS_USB_LOOPBACK \
128 -DBDC
129 DHDCFLAGS += -DBCM_REQUEST_FW -DEXTERNAL_FW_PATH
130 DHDCFLAGS :=$(filter-out -DENABLE_INSMOD_NO_FW_LOAD,$(DHDCFLAGS))
131 ifneq ($(CONFIG_BCMDHD_CUSB),)
132 DHDCFLAGS += -DBCMUSBDEV_COMPOSITE
133 DHDCFLAGS :=$(filter-out -DENABLE_INSMOD_NO_FW_LOAD,$(DHDCFLAGS))
134 endif
135 DHDOFILES += dbus.o dbus_usb.o dbus_usb_linux.o dhd_cdc.o dhd_wlfc.o
136 endif
137
138 #PROPTXSTATUS
139 ifeq ($(CONFIG_BCMDHD_PROPTXSTATUS),y)
140 ifneq ($(CONFIG_BCMDHD_USB),)
141 DHDCFLAGS += -DPROP_TXSTATUS
142 endif
143 ifneq ($(CONFIG_BCMDHD_SDIO),)
144 DHDCFLAGS += -DPROP_TXSTATUS -DPROPTX_MAXCOUNT
145 endif
146 ifneq ($(CONFIG_CFG80211),)
147 DHDCFLAGS += -DPROP_TXSTATUS_VSDB
148 endif
149 endif
150
151 ifeq ($(CONFIG_64BIT),y)
152 DHDCFLAGS := $(filter-out -DBCMDMA32,$(DHDCFLAGS))
153 DHDCFLAGS += -DBCMDMA64OSL
154 endif
155
156 #VTS_SUPPORT
157 ifeq ($(CONFIG_VTS_SUPPORT),y)
158 ifneq ($(CONFIG_CFG80211),)
159 DHDCFLAGS += -DGSCAN_SUPPORT -DRTT_SUPPORT -DLINKSTAT_SUPPORT \
160 -DCUSTOM_COUNTRY_CODE -DDHD_GET_VALID_CHANNELS \
161 -DDEBUGABILITY -DDBG_PKT_MON -DDHD_LOG_DUMP -DDHD_FW_COREDUMP \
162 -DAPF -DNDO_CONFIG_SUPPORT -DRSSI_MONITOR_SUPPORT -DDHD_WAKE_STATUS
163 DHDOFILES += dhd_rtt.o bcm_app_utils.o
164 endif
165 endif
166
167 # For Debug
168 ifneq ($(CONFIG_BCMDHD_DEBUG),)
169 DHDCFLAGS += -DDEBUGFS_CFG80211
170 DHDCFLAGS += -DSHOW_LOGTRACE -DDHD_LOG_DUMP -DDHD_FW_COREDUMP \
171 -DBCMASSERT_LOG -DSI_ERROR_ENFORCE
172 ifneq ($(CONFIG_BCMDHD_PCIE),)
173 DHDCFLAGS += -DEWP_EDL
174 DHDCFLAGS += -DDNGL_EVENT_SUPPORT
175 DHDCFLAGS += -DDHD_SSSR_DUMP
176 endif
177 endif
178
179 # MESH support for kernel 3.10 later
180 ifeq ($(CONFIG_WL_MESH),y)
181 DHDCFLAGS += -DWLMESH
182 ifneq ($(CONFIG_CFG80211),)
183 DHDCFLAGS += -DWLMESH_CFG80211
184 endif
185 ifneq ($(CONFIG_BCMDHD_PCIE),)
186 DHDCFLAGS += -DBCM_HOST_BUF -DDMA_HOST_BUFFER_LEN=0x80000
187 endif
188 DHDCFLAGS += -DDHD_UPDATE_INTF_MAC
189 DHDCFLAGS :=$(filter-out -DDHD_FW_COREDUMP,$(DHDCFLAGS))
190 DHDCFLAGS :=$(filter-out -DWL_STATIC_IF,$(DHDCFLAGS))
191 endif
192
193 ifeq ($(CONFIG_WL_EASYMESH),y)
194 DHDCFLAGS :=$(filter-out -DDHD_FW_COREDUMP,$(DHDCFLAGS))
195 DHDCFLAGS :=$(filter-out -DDHD_LOG_DUMP,$(DHDCFLAGS))
196 DHDCFLAGS += -DWLEASYMESH -DWL_STATIC_IF -DWLDWDS -DFOURADDR_AUTO_BRG
197 endif
198
199 #CSI_SUPPORT
200 ifneq ($(CONFIG_CSI_SUPPORT),)
201 DHDCFLAGS += -DCSI_SUPPORT
202 DHDOFILES += dhd_csi.o
203 endif
204
205 obj-$(CONFIG_BCMDHD) += $(MODULE_NAME).o
206 $(MODULE_NAME)-objs += $(DHDOFILES)
207
208 ifeq ($(CONFIG_MACH_PLATFORM),y)
209 DHDOFILES += dhd_gpio.o
210 ifeq ($(CONFIG_BCMDHD_DTS),y)
211 DHDCFLAGS += -DCONFIG_DTS
212 else
213 DHDCFLAGS += -DCUSTOMER_HW -DDHD_OF_SUPPORT
214 endif
215 DHDCFLAGS += -DCUSTOMER_HW_AMLOGIC
216
217 # for config custom MAC
218 # DHDCFLAGS += -DGET_CUSTOM_MAC_ENABLE -DCUSTOM_MULTI_MAC
219 # if also need config AP MAC
220 # DHDCFLAGS += -DCUSTOM_AP_MAC
221 #
222
223 # DHDCFLAGS += -DBCMWAPI_WPI -DBCMWAPI_WAI
224 endif
225
226 ifeq ($(CONFIG_BCMDHD_AG),y)
227 DHDCFLAGS += -DBAND_AG
228 endif
229
230 ifeq ($(CONFIG_DHD_USE_STATIC_BUF),y)
231 # obj-m += dhd_static_buf.o
232 DHDCFLAGS += -DSTATIC_WL_PRIV_STRUCT -DENHANCED_STATIC_BUF
233 DHDCFLAGS += -DCONFIG_DHD_USE_STATIC_BUF
234 DHDCFLAGS += -DDHD_USE_STATIC_MEMDUMP
235 endif
236
237 EXTRA_CFLAGS = $(DHDCFLAGS)
238 ifeq ($(CONFIG_BCMDHD),m)
239 EXTRA_LDFLAGS += --strip-debug
240 endif
241
242 ARCH ?= arm64
243 CROSS_COMPILE ?=aarch64-linux-gnu-
244 KDIR ?=../../../../../../common
245
246 #all: bcmdhd_sdio bcmdhd_usb
247 all: bcmdhd_sdio
248
249 EXTRA_CFLAGS += -I$(KERNEL_SRC)/$(M)/include -I$(KERNEL_SRC)/$(M)/
250 modules_install:
251 @$(MAKE) INSTALL_MOD_STRIP=1 M=$(M) -C $(KERNEL_SRC) modules_install
252 mkdir -p ${OUT_DIR}/../vendor_lib/modules
253 cd ${OUT_DIR}/$(M)/; find -name "*.ko" -exec cp {} ${OUT_DIR}/../vendor_lib/modules/ \;
254
255 clean:
256 $(MAKE) -C $(KERNEL_SRC) M=$(M) clean $(KBUILD_OPTIONS)
257
258 bcmdhd_sdio:
259 $(MAKE) -C $(KERNEL_SRC) M=$(M) CONFIG_DHD_USE_STATIC_BUF=y CONFIG_BCMDHD_SDIO=y modules
260 #mv dhd.ko dhd_sdio.ko
261
262 bcmdhd_usb:
263 $(MAKE) -C $(KDIR) M=$(PWD) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) modules CONFIG_BCMDHD_USB=y
264 mv dhd.ko dhd_usb.ko
265
266 clean:
267 $(MAKE) -C $(KDIR) M=$(PWD) ARCH=$(ARCH) clean
268 $(RM) Module.markers
269 $(RM) modules.order