9884970c0b4d09efbe78b678c68a3aa7020ebfb7
[GitHub/LineageOS/G12/android_hardware_amlogic_kernel-modules_dhd-driver.git] / bcmdhd.100.10.315.x / Makefile
1 # bcmdhd
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.
4
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
9 endif
10 #CONFIG_BCMDHD_SDIO := y
11 #CONFIG_BCMDHD_PCIE := y
12 #CONFIG_BCMDHD_USB := y
13 CONFIG_BCMDHD_PROPTXSTATUS := y
14
15 CONFIG_MACH_PLATFORM := y
16 #CONFIG_BCMDHD_DTS := y
17
18 export CONFIG_BCMDHD = m
19 export CONFIG_BCMDHD_OOB = y
20 export CONFIG_VTS_SUPPORT = y
21
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 \
30 -DWL_EXT_IAPSTA \
31 -DENABLE_INSMOD_NO_FW_LOAD \
32 -I$(src) -I$(src)/include
33
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
41
42 #BCMDHD_SDIO
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
51 endif
52 else
53 DHDCFLAGS += -DSDIO_ISR_THREAD
54 endif
55
56 DHDOFILES += bcmsdh.o bcmsdh_linux.o bcmsdh_sdmmc.o bcmsdh_sdmmc_linux.o \
57 dhd_sdio.o dhd_cdc.o dhd_wlfc.o
58 endif
59
60 #BCMDHD_PCIE
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
66 endif
67
68 DHDOFILES += dhd_pcie.o dhd_pcie_linux.o pcie_core.o dhd_flowring.o \
69 dhd_msgbuf.o
70 endif
71
72 #BCMDHD_USB
73 ifneq ($(CONFIG_BCMDHD_USB),)
74 DHDCFLAGS += -DUSBOS_TX_THREAD -DBCMDBUS -DBCMTRXV2 -DDBUS_USB_LOOPBACK \
75 -DBDC
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))
81 endif
82
83 DHDOFILES += dbus.o dbus_usb.o dbus_usb_linux.o dhd_cdc.o dhd_wlfc.o
84 endif
85
86 #PROPTXSTATUS
87 ifeq ($(CONFIG_BCMDHD_PROPTXSTATUS),y)
88 ifneq ($(CONFIG_BCMDHD_USB),)
89 DHDCFLAGS += -DPROP_TXSTATUS
90 endif
91 ifneq ($(CONFIG_BCMDHD_SDIO),)
92 DHDCFLAGS += -DPROP_TXSTATUS
93 endif
94 ifneq ($(CONFIG_CFG80211),)
95 DHDCFLAGS += -DPROP_TXSTATUS_VSDB
96 endif
97 endif
98
99 #VTS_SUPPORT
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
106
107 DHDOFILES += dhd_rtt.o bcm_app_utils.o
108 endif
109 endif
110
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
116 endif
117 DHDCFLAGS += -DDHD_UPDATE_INTF_MAC
118 DHDCFLAGS :=$(filter-out -DDHD_FW_COREDUMP,$(DHDCFLAGS))
119 DHDCFLAGS :=$(filter-out -DSET_RANDOM_MAC_SOFTAP,$(DHDCFLAGS))
120 endif
121
122 ifeq ($(CONFIG_BCMDHD_SDIO),y)
123 obj-$(CONFIG_BCMDHD) += dhd.o
124 dhd-objs += $(DHDOFILES)
125 else
126 obj-$(CONFIG_BCMDHD) += bcmdhd.o
127 bcmdhd-objs += $(DHDOFILES)
128 endif
129
130 ifeq ($(CONFIG_MACH_PLATFORM),y)
131 DHDOFILES += dhd_gpio.o
132 ifeq ($(CONFIG_BCMDHD_DTS),y)
133 DHDCFLAGS += -DCONFIG_DTS
134 else
135 DHDCFLAGS += -DCUSTOMER_HW -DDHD_OF_SUPPORT
136 endif
137 DHDCFLAGS += -DCUSTOMER_HW_AMLOGIC
138 # DHDCFLAGS += -DBCMWAPI_WPI -DBCMWAPI_WAI
139 endif
140
141 ifeq ($(CONFIG_BCMDHD_AG),y)
142 DHDCFLAGS += -DBAND_AG
143 endif
144
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
149 endif
150
151 ifneq ($(CONFIG_WIRELESS_EXT),)
152 DHDOFILES += wl_iw.o wl_escan.o
153 DHDCFLAGS += -DSOFTAP -DWL_WIRELESS_EXT -DUSE_IW -DWL_ESCAN
154 endif
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
171 endif
172 EXTRA_CFLAGS = $(DHDCFLAGS)
173 ifeq ($(CONFIG_BCMDHD),m)
174 EXTRA_LDFLAGS += --strip-debug
175 endif
176
177 ARCH ?= arm64
178 CROSS_COMPILE ?=aarch64-linux-gnu-
179 KDIR ?=../../../../../../common
180
181 all: bcmdhd_sdio bcmdhd_usb
182
183 bcmdhd_sdio:
184 $(MAKE) -C $(KDIR) M=$(PWD) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) modules CONFIG_BCMDHD_SDIO=y
185 mv dhd.ko dhd_sdio.ko
186
187 bcmdhd_usb:
188 $(MAKE) -C $(KDIR) M=$(PWD) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) modules CONFIG_BCMDHD_USB=y
189 mv dhd.ko dhd_usb.ko
190
191 clean:
192 $(MAKE) -C $(KDIR) M=$(PWD) ARCH=$(ARCH) clean
193 $(RM) Module.markers
194 $(RM) modules.order