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
9 ifeq ($(CONFIG_BCMDHD_SDIO
),y
)
12 ifeq ($(CONFIG_BCMDHD_USB
),y
)
19 #CONFIG_BCMDHD_SDIO := y
20 #CONFIG_BCMDHD_PCIE := y
21 #CONFIG_BCMDHD_USB := y
23 #CONFIG_BCMDHD_CUSB := y
24 CONFIG_BCMDHD_PROPTXSTATUS
:= y
25 #CONFIG_BCMDHD_DEBUG := y
27 CONFIG_MACH_PLATFORM
:= y
28 #CONFIG_BCMDHD_DTS := y
30 export CONFIG_BCMDHD
= m
31 export CONFIG_BCMDHD_OOB
= y
32 export CONFIG_VTS_SUPPORT
= y
35 KBUILD_CFLAGS_MODULE
+= -Wframe-larger-than
=3000
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
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
60 ifneq ($(CONFIG_WIRELESS_EXT
),)
62 DHDCFLAGS
+= -DSOFTAP
-DWL_WIRELESS_EXT
-DUSE_IW
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
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
96 DHDCFLAGS
+= -DSDIO_ISR_THREAD
98 DHDOFILES
+= bcmsdh.o bcmsdh_linux.o bcmsdh_sdmmc.o bcmsdh_sdmmc_linux.o \
99 dhd_sdio.o dhd_cdc.o dhd_wlfc.o
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
111 ifneq ($(CONFIG_PCI_MSI
),)
112 DHDCFLAGS
+= -DDHD_MSI_SUPPORT
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
121 DHDOFILES
+= dhd_pcie.o dhd_pcie_linux.o pcie_core.o dhd_flowring.o \
122 dhd_msgbuf.o dhd_linux_lb.o
126 ifneq ($(CONFIG_BCMDHD_USB
),)
127 DHDCFLAGS
+= -DUSBOS_TX_THREAD
-DBCMDBUS
-DBCMTRXV2
-DDBUS_USB_LOOPBACK \
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
))
135 DHDOFILES
+= dbus.o dbus_usb.o dbus_usb_linux.o dhd_cdc.o dhd_wlfc.o
139 ifeq ($(CONFIG_BCMDHD_PROPTXSTATUS
),y
)
140 ifneq ($(CONFIG_BCMDHD_USB
),)
141 DHDCFLAGS
+= -DPROP_TXSTATUS
143 ifneq ($(CONFIG_BCMDHD_SDIO
),)
144 DHDCFLAGS
+= -DPROP_TXSTATUS
-DPROPTX_MAXCOUNT
146 ifneq ($(CONFIG_CFG80211
),)
147 DHDCFLAGS
+= -DPROP_TXSTATUS_VSDB
151 ifeq ($(CONFIG_64BIT
),y
)
152 DHDCFLAGS
:= $(filter-out -DBCMDMA32
,$(DHDCFLAGS
))
153 DHDCFLAGS
+= -DBCMDMA64OSL
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
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
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
185 ifneq ($(CONFIG_BCMDHD_PCIE
),)
186 DHDCFLAGS
+= -DBCM_HOST_BUF
-DDMA_HOST_BUFFER_LEN
=0x80000
188 DHDCFLAGS
+= -DDHD_UPDATE_INTF_MAC
189 DHDCFLAGS
:=$(filter-out -DDHD_FW_COREDUMP
,$(DHDCFLAGS
))
190 DHDCFLAGS
:=$(filter-out -DWL_STATIC_IF
,$(DHDCFLAGS
))
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
200 ifneq ($(CONFIG_CSI_SUPPORT
),)
201 DHDCFLAGS
+= -DCSI_SUPPORT
202 DHDOFILES
+= dhd_csi.o
205 obj-
$(CONFIG_BCMDHD
) += $(MODULE_NAME
).o
206 $(MODULE_NAME
)-objs
+= $(DHDOFILES
)
208 ifeq ($(CONFIG_MACH_PLATFORM
),y
)
209 DHDOFILES
+= dhd_gpio.o
210 ifeq ($(CONFIG_BCMDHD_DTS
),y
)
211 DHDCFLAGS
+= -DCONFIG_DTS
213 DHDCFLAGS
+= -DCUSTOMER_HW
-DDHD_OF_SUPPORT
215 DHDCFLAGS
+= -DCUSTOMER_HW_AMLOGIC
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
223 # DHDCFLAGS += -DBCMWAPI_WPI -DBCMWAPI_WAI
226 ifeq ($(CONFIG_BCMDHD_AG
),y
)
227 DHDCFLAGS
+= -DBAND_AG
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
237 EXTRA_CFLAGS
= $(DHDCFLAGS
)
238 ifeq ($(CONFIG_BCMDHD
),m
)
239 EXTRA_LDFLAGS
+= --strip-debug
243 CROSS_COMPILE ?
=aarch64-linux-gnu-
244 KDIR ?
=..
/..
/..
/..
/..
/..
/common
246 #all: bcmdhd_sdio bcmdhd_usb
249 EXTRA_CFLAGS
+= -I
$(KERNEL_SRC
)/$(M
)/include -I
$(KERNEL_SRC
)/$(M
)/
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
/ \
;
256 $(MAKE
) -C
$(KERNEL_SRC
) M
=$(M
) clean $(KBUILD_OPTIONS
)
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
263 $(MAKE
) -C
$(KDIR
) M
=$(PWD
) ARCH
=$(ARCH
) CROSS_COMPILE
=$(CROSS_COMPILE
) modules CONFIG_BCMDHD_USB
=y
267 $(MAKE
) -C
$(KDIR
) M
=$(PWD
) ARCH
=$(ARCH
) clean