2 # 1. WL_IFACE_COMB_NUM_CHANNELS must be added if Android version is 4.4 with Kernel version 3.0~3.4,
3 # otherwise please remove it.
5 # if not confiure pci mode, we use sdio mode as default
6 ifeq ($(CONFIG_BCMDHD_PCIE
),)
7 $(info bcm SDIO driver configured
)
8 CONFIG_DHD_USE_STATIC_BUF
:= y
10 #CONFIG_BCMDHD_SDIO := y
11 #CONFIG_BCMDHD_PCIE := y
12 #CONFIG_BCMDHD_USB := y
13 CONFIG_BCMDHD_PROPTXSTATUS
:= y
15 CONFIG_MACH_PLATFORM
:= y
16 #CONFIG_BCMDHD_DTS := y
18 export CONFIG_BCMDHD
= m
19 export CONFIG_BCMDHD_OOB
= y
20 export CONFIG_VTS_SUPPORT
= y
22 DHDCFLAGS
= -Wall
-Wstrict-prototypes
-Dlinux
-DBCMDRIVER \
23 -Wno-maybe-uninitialized
-Werror \
24 -DBCMDONGLEHOST
-DUNRELEASEDCHIP
-DBCMDMA32
-DBCMFILEIMAGE \
25 -DDHDTHREAD
-DDHD_DEBUG
-DSHOW_EVENTS
-DBCMDBG
-DGET_OTP_MAC_ENABLE \
26 -DWIFI_ACT_FRAME
-DARP_OFFLOAD_SUPPORT
-DSUPPORT_PM2_ONLY \
27 -DKEEP_ALIVE
-DPKT_FILTER_SUPPORT
-DDHDTCPACK_SUPPRESS \
28 -DDHD_DONOT_FORWARD_BCMEVENT_AS_NETWORK_PKT \
29 -DMULTIPLE_SUPPLICANT
-DTSQ_MULTIPLIER
-DMFP \
31 -DENABLE_INSMOD_NO_FW_LOAD \
32 -I
$(src
) -I
$(src
)/include
34 DHDOFILES
= aiutils.o siutils.o sbutils.o bcmutils.o bcmwifi_channels.o \
35 dhd_linux.o dhd_linux_platdev.o dhd_linux_sched.o dhd_pno.o \
36 dhd_common.o dhd_ip.o dhd_linux_wq.o dhd_custom_gpio.o \
37 bcmevent.o hndpmu.o linux_osl.o wldev_common.o wl_android.o \
38 dhd_debug_linux.o dhd_debug.o dhd_mschdbg.o dhd_dbg_ring.o \
39 hnd_pktq.o hnd_pktpool.o bcmxtlv.o linux_pkt.o bcmstdlib_s.o \
40 dhd_config.o wl_android_ext.o
43 ifneq ($(CONFIG_BCMDHD_SDIO
),)
44 DHDCFLAGS
+= -DBCMSDIO
-DMMC_SDIO_ABORT
-DBCMLXSDMMC
-DUSE_SDIOFIFO_IOVAR \
45 -DSDTEST
-DBDC
-DDHD_USE_IDLECOUNT
-DCUSTOM_SDIO_F2_BLKSIZE
=256 \
46 -DBCMSDIOH_TXGLOM
-DBCMSDIOH_TXGLOM_EXT
-DRXFRAME_THREAD
47 ifeq ($(CONFIG_BCMDHD_OOB
),y
)
48 DHDCFLAGS
+= -DOOB_INTR_ONLY
-DCUSTOMER_OOB
-DHW_OOB
49 ifeq ($(CONFIG_BCMDHD_DISABLE_WOWLAN
),y
)
50 DHDCFLAGS
+= -DDISABLE_WOWLAN
53 DHDCFLAGS
+= -DSDIO_ISR_THREAD
56 DHDOFILES
+= bcmsdh.o bcmsdh_linux.o bcmsdh_sdmmc.o bcmsdh_sdmmc_linux.o \
57 dhd_sdio.o dhd_cdc.o dhd_wlfc.o
61 ifneq ($(CONFIG_BCMDHD_PCIE
),)
62 DHDCFLAGS
+= -DPCIE_FULL_DONGLE
-DBCMPCIE
-DCUSTOM_DPC_PRIO_SETTING
=-1 \
63 -DDONGLE_ENABLE_ISOLATION
64 ifneq ($(CONFIG_PCI_MSI
),)
65 DHDCFLAGS
+= -DDHD_USE_MSI
68 DHDOFILES
+= dhd_pcie.o dhd_pcie_linux.o pcie_core.o dhd_flowring.o \
73 ifneq ($(CONFIG_BCMDHD_USB
),)
74 DHDCFLAGS
+= -DUSBOS_TX_THREAD
-DBCMDBUS
-DBCMTRXV2
-DDBUS_USB_LOOPBACK \
76 DHDCFLAGS
+= -DBCM_REQUEST_FW
-DEXTERNAL_FW_PATH
77 DHDCFLAGS
:=$(filter-out -DENABLE_INSMOD_NO_FW_LOAD
,$(DHDCFLAGS
))
78 ifneq ($(CONFIG_BCMDHD_CUSB
),)
79 DHDCFLAGS
+= -DBCMUSBDEV_COMPOSITE
80 DHDCFLAGS
:=$(filter-out -DENABLE_INSMOD_NO_FW_LOAD
,$(DHDCFLAGS
))
83 DHDOFILES
+= dbus.o dbus_usb.o dbus_usb_linux.o dhd_cdc.o dhd_wlfc.o
87 ifeq ($(CONFIG_BCMDHD_PROPTXSTATUS
),y
)
88 ifneq ($(CONFIG_BCMDHD_USB
),)
89 DHDCFLAGS
+= -DPROP_TXSTATUS
91 ifneq ($(CONFIG_BCMDHD_SDIO
),)
92 DHDCFLAGS
+= -DPROP_TXSTATUS
94 ifneq ($(CONFIG_CFG80211
),)
95 DHDCFLAGS
+= -DPROP_TXSTATUS_VSDB
100 ifeq ($(CONFIG_VTS_SUPPORT
),y
)
101 ifneq ($(CONFIG_CFG80211
),)
102 DHDCFLAGS
+= -DGSCAN_SUPPORT
-DRTT_SUPPORT
-DCUSTOM_FORCE_NODFS_FLAG \
103 -DLINKSTAT_SUPPORT
-DDEBUGABILITY
-DDBG_PKT_MON
-DPKT_FILTER_SUPPORT \
104 -DAPF
-DNDO_CONFIG_SUPPORT
-DRSSI_MONITOR_SUPPORT
-DDHD_WAKE_STATUS \
105 -DCUSTOM_COUNTRY_CODE
-DDHD_FW_COREDUMP
-DEXPLICIT_DISCIF_CLEANUP
107 DHDOFILES
+= dhd_rtt.o bcm_app_utils.o
111 # MESH support for kernel 3.10 later
112 ifeq ($(CONFIG_WL_MESH
),y
)
113 DHDCFLAGS
+= -DWLMESH
114 ifneq ($(CONFIG_BCMDHD_PCIE
),)
115 DHDCFLAGS
+= -DBCM_HOST_BUF
-DDMA_HOST_BUFFER_LEN
=0x80000
117 DHDCFLAGS
+= -DDHD_UPDATE_INTF_MAC
118 DHDCFLAGS
:=$(filter-out -DDHD_FW_COREDUMP
,$(DHDCFLAGS
))
119 DHDCFLAGS
:=$(filter-out -DSET_RANDOM_MAC_SOFTAP
,$(DHDCFLAGS
))
122 ifeq ($(CONFIG_BCMDHD_SDIO
),y
)
123 obj-
$(CONFIG_BCMDHD
) += dhd.o
124 dhd-objs
+= $(DHDOFILES
)
126 obj-
$(CONFIG_BCMDHD
) += bcmdhd.o
127 bcmdhd-objs
+= $(DHDOFILES
)
130 ifeq ($(CONFIG_MACH_PLATFORM
),y
)
131 DHDOFILES
+= dhd_gpio.o
132 ifeq ($(CONFIG_BCMDHD_DTS
),y
)
133 DHDCFLAGS
+= -DCONFIG_DTS
135 DHDCFLAGS
+= -DCUSTOMER_HW
-DDHD_OF_SUPPORT
137 DHDCFLAGS
+= -DCUSTOMER_HW_AMLOGIC
138 # DHDCFLAGS += -DBCMWAPI_WPI -DBCMWAPI_WAI
141 ifeq ($(CONFIG_BCMDHD_AG
),y
)
142 DHDCFLAGS
+= -DBAND_AG
145 ifeq ($(CONFIG_DHD_USE_STATIC_BUF
),y
)
146 # obj-m += dhd_static_buf.o
147 DHDCFLAGS
+= -DSTATIC_WL_PRIV_STRUCT
-DENHANCED_STATIC_BUF
148 DHDCFLAGS
+= -DDHD_USE_STATIC_MEMDUMP
-DCONFIG_DHD_USE_STATIC_BUF
151 ifneq ($(CONFIG_WIRELESS_EXT
),)
152 DHDOFILES
+= wl_iw.o wl_escan.o
153 DHDCFLAGS
+= -DSOFTAP
-DWL_WIRELESS_EXT
-DUSE_IW
-DWL_ESCAN
155 ifneq ($(CONFIG_CFG80211
),)
156 DHDOFILES
+= wl_cfg80211.o wl_cfgp2p.o wl_linux_mon.o wl_cfg_btcoex.o wl_cfgvendor.o
157 DHDOFILES
+= dhd_cfg80211.o
158 DHDCFLAGS
+= -DWL_CFG80211
-DWLP2P
-DWL_CFG80211_STA_EVENT
159 DHDCFLAGS
+= -DWL_IFACE_COMB_NUM_CHANNELS
160 DHDCFLAGS
+= -DCUSTOM_ROAM_TRIGGER_SETTING
=-65
161 DHDCFLAGS
+= -DCUSTOM_ROAM_DELTA_SETTING
=15
162 DHDCFLAGS
+= -DCUSTOM_KEEP_ALIVE_SETTING
=28000
163 DHDCFLAGS
+= -DCUSTOM_PNO_EVENT_LOCK_xTIME
=7
164 DHDCFLAGS
+= -DWL_SUPPORT_AUTO_CHANNEL
165 DHDCFLAGS
+= -DWL_SUPPORT_BACKPORTED_KPATCHES
166 DHDCFLAGS
+= -DESCAN_RESULT_PATCH
-DESCAN_BUF_OVERFLOW_MGMT
167 DHDCFLAGS
+= -DVSDB
-DWL_CFG80211_VSDB_PRIORITIZE_SCAN_REQUEST
168 DHDCFLAGS
+= -DWLTDLS
-DMIRACAST_AMPDU_SIZE
=8
169 DHDCFLAGS
+= -DWL_VIRTUAL_APSTA
170 DHDCFLAGS
+= -DPNO_SUPPORT
172 EXTRA_CFLAGS
= $(DHDCFLAGS
)
173 ifeq ($(CONFIG_BCMDHD
),m
)
174 EXTRA_LDFLAGS
+= --strip-debug
178 CROSS_COMPILE ?
=aarch64-linux-gnu-
179 KDIR ?
=..
/..
/..
/..
/..
/..
/common
181 all: bcmdhd_sdio bcmdhd_usb
184 $(MAKE
) -C
$(KDIR
) M
=$(PWD
) ARCH
=$(ARCH
) CROSS_COMPILE
=$(CROSS_COMPILE
) modules CONFIG_BCMDHD_SDIO
=y
185 mv dhd.ko dhd_sdio.ko
188 $(MAKE
) -C
$(KDIR
) M
=$(PWD
) ARCH
=$(ARCH
) CROSS_COMPILE
=$(CROSS_COMPILE
) modules CONFIG_BCMDHD_USB
=y
192 $(MAKE
) -C
$(KDIR
) M
=$(PWD
) ARCH
=$(ARCH
) clean