blob: d54a30cc3a788bc6a011bdc8f24d2f0c03ebc362 [file] [log] [blame]
Nirav Shahd2aa9632018-05-27 22:02:53 +05301ifeq ($(CONFIG_CNSS_QCA6290), y)
2 ifeq ($(CONFIG_CNSS_EMULATION), y)
3 CONFIG_QCA_WIFI_NAPIER_EMULATION := y
4 endif
5 CONFIG_LITHIUM := y
6 CONFIG_WLAN_FEATURE_11AX := y
7 CONFIG_WLAN_FEATURE_DFS_OFFLOAD := y
8 CONFIG_IPA3 := n
9endif
10
11ifeq ($(CONFIG_CLD_HL_SDIO_CORE), y)
12 CONFIG_QCA_WIFI_SDIO := y
Sriram Madhvapathi82ec8e32018-06-07 10:20:15 +053013ifndef CONFIG_SDIO_TRANSFER
14 CONFIG_SDIO_TRANSFER = mailbox
15endif
Nirav Shahd2aa9632018-05-27 22:02:53 +053016endif
17
18ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
19 CONFIG_ROME_IF = sdio
20endif
21
22ifdef CONFIG_ICNSS
23 CONFIG_ROME_IF = snoc
24endif
25
26ifeq (y,$(findstring y,$(CONFIG_CNSS) $(CONFIG_CNSS2)))
27ifndef CONFIG_ROME_IF
28 #use pci as default interface
29 CONFIG_ROME_IF = pci
30endif
31endif
32
33# Make WLAN as open-source driver by default
34WLAN_OPEN_SOURCE := y
35
36ifeq ($(CONFIG_ICNSS), y)
37 CONFIG_HELIUMPLUS := y
38 CONFIG_64BIT_PADDR := y
39 CONFIG_FEATURE_TSO := y
40 CONFIG_FEATURE_TSO_DEBUG := y
41 ifeq ($(CONFIG_INET_LRO), y)
42 CONFIG_WLAN_LRO := y
43 else
44 CONFIG_WLAN_LRO := n
45 endif
46endif
47
48ifneq ($(DEVELOPER_DISABLE_BUILD_TIMESTAMP), y)
49ifneq ($(WLAN_DISABLE_BUILD_TAG), y)
50CONFIG_BUILD_TAG := y
51endif
52endif
53
54ifeq ($(CONFIG_ARCH_MDM9630), y)
55CONFIG_MOBILE_ROUTER := y
56endif
57
58ifeq ($(CONFIG_ARCH_MDM9640), y)
59CONFIG_MOBILE_ROUTER := y
60endif
61
62ifeq ($(CONFIG_ARCH_SDX20), y)
63CONFIG_MOBILE_ROUTER := y
64endif
65
66ifeq ($(CONFIG_ARCH_MSM8917), y)
67 ifeq ($(CONFIG_ROME_IF), sdio)
68 CONFIG_WLAN_SYNC_TSF_PLUS := y
69 endif
70endif
71
72#Flag to enable Legacy Fast Roaming2(LFR2)
73CONFIG_QCACLD_WLAN_LFR2 := y
74#Flag to enable Legacy Fast Roaming3(LFR3)
75ifneq ($(CONFIG_ARCH_SDX20), y)
76CONFIG_QCACLD_WLAN_LFR3 := y
77endif
78
79ifneq ($(CONFIG_MOBILE_ROUTER), y)
80#Flag to enable TDLS feature
81CONFIG_QCOM_TDLS := y
82endif
83
84CONFIG_QCACLD_FEATURE_GREEN_AP := y
85
Nachiket Kukaded0dd62e2018-05-21 18:39:22 +053086#Flag to enable Android Packet Filtering
87CONFIG_QCACLD_FEATURE_APF := y
88
Nirav Shahd2aa9632018-05-27 22:02:53 +053089ifeq ($(CONFIG_ARCH_MSM8998), y)
90CONFIG_QCACLD_FEATURE_METERING := y
91endif
92
93ifeq ($(CONFIG_ARCH_SDM660), y)
94CONFIG_QCACLD_FEATURE_METERING := y
95endif
96
97ifeq ($(CONFIG_ARCH_SDM630), y)
98CONFIG_QCACLD_FEATURE_METERING := y
99endif
100
101ifeq ($(CONFIG_ARCH_SDM845), y)
102CONFIG_QCACLD_FEATURE_METERING := y
103endif
104
105ifeq ($(CONFIG_ARCH_SM8150), y)
106CONFIG_QCACLD_FEATURE_METERING := y
107endif
108
109ifeq ($(CONFIG_ARCH_SDM670), y)
110CONFIG_QCACLD_FEATURE_METERING := y
111endif
112
113#Flag to enable Fast Transition (11r) feature
114CONFIG_QCOM_VOWIFI_11R := y
115
116#Flag to enable FILS Feature (11ai)
117CONFIG_WLAN_FEATURE_FILS := y
118ifneq ($(CONFIG_QCA_CLD_WLAN),)
119 ifeq (y,$(findstring y,$(CONFIG_CNSS) $(CONFIG_CNSS2) $(CONFIG_ICNSS)))
120 #Flag to enable Protected Management Frames (11w) feature
121 CONFIG_WLAN_FEATURE_11W := y
122 #Flag to enable LTE CoEx feature
123 CONFIG_QCOM_LTE_COEX := y
124 ifneq ($(CONFIG_MOBILE_ROUTER), y)
125 #Flag to enable LPSS feature
126 CONFIG_WLAN_FEATURE_LPSS := y
127 endif
128 endif
129endif
130
131#Flag to enable Protected Management Frames (11w) feature
132ifeq ($(CONFIG_ROME_IF),usb)
133 CONFIG_WLAN_FEATURE_11W := y
134endif
135ifeq ($(CONFIG_ROME_IF),sdio)
136 CONFIG_WLAN_FEATURE_11W := y
137endif
138
139#Flag to enable the tx desc sanity check
140ifeq ($(CONFIG_ROME_IF),usb)
141 CONFIG_QCA_TXDESC_SANITY_CHECKS := y
142endif
143
144ifneq ($(CONFIG_MOBILE_ROUTER), y)
145 #Flag to enable NAN
146 CONFIG_QCACLD_FEATURE_NAN := y
147endif
148
149ifneq ($(CONFIG_MOBILE_ROUTER), y)
150 #Flag to enable NAN Data path
151 CONFIG_WLAN_FEATURE_NAN_DATAPATH := y
152 CONFIG_NAN_CONVERGENCE := y
153endif
154
155#Flag to enable Linux QCMBR feature as default feature
156ifeq ($(CONFIG_ROME_IF),usb)
157 CONFIG_LINUX_QCMBR :=y
158endif
159
160CONFIG_MPC_UT_FRAMEWORK := y
161
162CONFIG_FEATURE_EPPING := y
163
164#Flag to enable offload packets feature
165CONFIG_WLAN_OFFLOAD_PACKETS := y
166
167#enable TSF get feature
168CONFIG_WLAN_SYNC_TSF := y
169#Enable DSRC feature
170ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
171CONFIG_WLAN_FEATURE_DSRC := y
172endif
173
174ifneq ($(CONFIG_ROME_IF),usb)
175ifneq ($(CONFIG_ROME_IF),sdio)
176 #Flag to enable DISA
177 CONFIG_WLAN_FEATURE_DISA := y
178
179 #Flag to enable FIPS
180 CONFIG_WLAN_FEATURE_FIPS := y
181
182 #Flag to enable SAE
183 CONFIG_WLAN_FEATURE_SAE := y
184
185 #Flag to enable Fast Path feature
186 CONFIG_WLAN_FASTPATH := y
187
188 # Flag to enable NAPI
189 CONFIG_WLAN_NAPI := y
190 CONFIG_WLAN_NAPI_DEBUG := n
191
192 # Flag to enable FW based TX Flow control
193 ifeq ($(CONFIG_LITHIUM), y)
194 CONFIG_WLAN_TX_FLOW_CONTROL_V2 := y
195 else
196 CONFIG_WLAN_TX_FLOW_CONTROL_V2 := n
197 endif
198
199endif
200endif
201
202CONFIG_POWER_MANAGEMENT_OFFLOAD := y
203
204ifeq ($(CONFIG_ROME_IF), snoc)
205 CONFIG_WLAN_TX_FLOW_CONTROL_V2 := y
206endif
207
208# Flag to enable LFR Subnet Detection
209CONFIG_LFR_SUBNET_DETECTION := y
210
211# Flag to enable MCC to SCC switch feature
212CONFIG_MCC_TO_SCC_SWITCH := y
213
214ifeq ($(CONFIG_SLUB_DEBUG), y)
215 # Enable Obj Mgr Degug services if slub build
216 CONFIG_WLAN_OBJMGR_DEBUG:= y
217endif
218
219ifeq ($(CONFIG_HIF_PCI), y)
220ifneq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y)
221ifneq ($(CONFIG_LITHIUM), y)
222CONFIG_WLAN_TX_FLOW_CONTROL_LEGACY := y
223endif
224endif
225endif
226
227#Whether have QMI support
228CONFIG_QMI_SUPPORT := y
229
230ifeq ($(CONFIG_ICNSS), y)
231CONFIG_WIFI_3_0_ADRASTEA := y
232CONFIG_ADRASTEA_RRI_ON_DDR := y
233# Enable athdiag procfs debug support for adrastea
234CONFIG_ATH_PROCFS_DIAG_SUPPORT := y
235# Enable 11AC TX compact feature for adrastea
Nirav Shah91daea92018-06-06 17:01:52 +0530236CONFIG_ATH_11AC_TXCOMPACT := y
Nirav Shahd2aa9632018-05-27 22:02:53 +0530237ifeq ($(CONFIG_QMI_SUPPORT), y)
238CONFIG_ADRASTEA_SHADOW_REGISTERS := y
239endif
240endif
241
242# NOTE: CONFIG_64BIT_PADDR requires CONFIG_HELIUMPLUS
243ifeq ($(CONFIG_HELIUMPLUS), y)
244CONFIG_AR900B := y
245
246ifeq ($(CONFIG_64BIT_PADDR), y)
247CONFIG_HTT_PADDR64 := y
248endif
249
250ifeq ($(CONFIG_SLUB_DEBUG_ON), y)
251CONFIG_OL_RX_INDICATION_RECORD := y
252CONFIG_TSOSEG_DEBUG := y
253endif
254
255endif #CONFIG_HELIUMPLUS
256
257ifeq ($(CONFIG_LITHIUM), y)
258CONFIG_SHADOW_V2 := y
259CONFIG_QCA6290_HEADERS_DEF := y
260CONFIG_QCA_WIFI_QCA6290 := y
261CONFIG_QCA_WIFI_QCA8074 := y
262CONFIG_QCA_WIFI_QCA8074_VP := y
263CONFIG_DP_INTR_POLL_BASED := y
264CONFIG_TX_PER_PDEV_DESC_POOL := y
265CONFIG_DP_TRACE := y
266CONFIG_FEATURE_TSO := y
267CONFIG_TSO_DEBUG_LOG_ENABLE := y
268CONFIG_DP_LFR := y
269CONFIG_HTT_PADDR64 := y
270CONFIG_RX_OL := y
271CONFIG_TX_TID_OVERRIDE := y
272endif
273
274# As per target team, build is done as follows:
275# Defconfig : build with default flags
276# Slub : defconfig + CONFIG_SLUB_DEBUG=y +
277# CONFIG_SLUB_DEBUG_ON=y + CONFIG_PAGE_POISONING=y
278# Perf : Using appropriate msmXXXX-perf_defconfig
279#
280# Shipment builds (user variants) should not have any debug feature
281# enabled. This is identified using 'TARGET_BUILD_VARIANT'. Slub builds
282# are identified using the CONFIG_SLUB_DEBUG_ON configuration. Since
283# there is no other way to identify defconfig builds, QCOMs internal
284# representation of perf builds (identified using the string 'perf'),
285# is used to identify if the build is a slub or defconfig one. This
286# way no critical debug feature will be enabled for perf and shipment
287# builds. Other OEMs are also protected using the TARGET_BUILD_VARIANT
288# config.
289ifneq ($(TARGET_BUILD_VARIANT),user)
290 ifeq ($(CONFIG_LITHIUM), y)
291 CONFIG_FEATURE_PKTLOG := n
292 else
293 CONFIG_FEATURE_PKTLOG := y
294 endif
295 CONFIG_WLAN_DEBUG_CRASH_INJECT := y
296endif
297
298#Enable WLAN/Power debugfs feature only if debug_fs is enabled
299ifeq ($(CONFIG_DEBUG_FS), y)
300 # Flag to enable debugfs. Depends on CONFIG_DEBUG_FS in kernel
301 # configuration.
302 CONFIG_WLAN_DEBUGFS := y
303
304 CONFIG_WLAN_POWER_DEBUGFS := y
305endif
306
307# Feature flags which are not (currently) configurable via Kconfig
308
309#Whether to build debug version
310BUILD_DEBUG_VERSION := y
311
312#Enable this flag to build driver in diag version
313BUILD_DIAG_VERSION := y
314
315ifeq ($(CONFIG_SLUB_DEBUG), y)
316 PANIC_ON_BUG := y
317 WLAN_WARN_ON_ASSERT := y
318else ifeq ($(CONFIG_PERF_DEBUG), y)
319 PANIC_ON_BUG := y
320 WLAN_WARN_ON_ASSERT := y
321else
322 PANIC_ON_BUG := n
323 WLAN_WARN_ON_ASSERT := n
324endif
325
326# Compile all log levels by default
327CONFIG_WLAN_LOG_FATAL := y
328CONFIG_WLAN_LOG_ERROR := y
329CONFIG_WLAN_LOG_WARN := y
330CONFIG_WLAN_LOG_INFO := y
331CONFIG_WLAN_LOG_DEBUG := y
332
333#Enable OL debug and wmi unified functions
334CONFIG_ATH_PERF_PWR_OFFLOAD := y
335
336#Disable packet log
337CONFIG_REMOVE_PKT_LOG := n
338
339#Enable 11AC TX
340ifeq ($(CONFIG_ROME_IF),pci)
341 CONFIG_ATH_11AC_TXCOMPACT := y
342endif
343
344ifeq ($(CONFIG_ROME_IF),usb)
345 CONFIG_ATH_11AC_TXCOMPACT := n
346endif
347
348#Enable PCI specific APIS (dma, etc)
349ifeq ($(CONFIG_ROME_IF),pci)
350 CONFIG_HIF_PCI := y
351endif
352
353#Enable USB specific APIS
354ifeq ($(CONFIG_ROME_IF),usb)
355 CONFIG_HIF_USB := y
356 CONFIG_PLD_USB_CNSS := y
357endif
358
359#Enable SDIO specific APIS
360ifeq ($(CONFIG_ROME_IF),sdio)
361 CONFIG_HIF_SDIO := y
362endif
363
364#Enable pci read/write config functions
365ifeq ($(CONFIG_ROME_IF),pci)
366 CONFIG_ATH_PCI := y
367endif
368
369ifeq ($(CONFIG_ROME_IF),snoc)
370 CONFIG_HIF_SNOC:= y
371endif
372
373# enable/disable feature flags based upon mobile router profile
374ifeq ($(CONFIG_MOBILE_ROUTER), y)
375CONFIG_FEATURE_WLAN_MCC_TO_SCC_SWITCH := y
376CONFIG_FEATURE_WLAN_AUTO_SHUTDOWN := y
377CONFIG_FEATURE_WLAN_AP_AP_ACS_OPTIMIZE := y
378CONFIG_FEATURE_WLAN_STA_4ADDR_SCHEME := y
379CONFIG_MDM_PLATFORM := y
380CONFIG_FEATURE_WLAN_STA_AP_MODE_DFS_DISABLE := y
381CONFIG_FEATURE_AP_MCC_CH_AVOIDANCE := y
382else
383CONFIG_QCOM_ESE := y
384CONFIG_QCA_IBSS_SUPPORT := y
385CONFIG_WLAN_OPEN_P2P_INTERFACE := y
386CONFIG_WLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY := y
387endif
388
389#Enable power management suspend/resume functionality to PCI
390CONFIG_ATH_BUS_PM := y
391
392#Enable FLOWMAC module support
393CONFIG_ATH_SUPPORT_FLOWMAC_MODULE := n
394
395#Enable spectral support
396CONFIG_ATH_SUPPORT_SPECTRAL := n
397
398#Enable WDI Event support
Nirav Shahbb8e47c2018-05-17 16:56:41 +0530399ifeq ($(CONFIG_REMOVE_PKT_LOG), y)
400CONFIG_WDI_EVENT_ENABLE := n
401else
Nirav Shahd2aa9632018-05-27 22:02:53 +0530402CONFIG_WDI_EVENT_ENABLE := y
Nirav Shahbb8e47c2018-05-17 16:56:41 +0530403endif
Nirav Shahd2aa9632018-05-27 22:02:53 +0530404
405#Endianness selection
406CONFIG_LITTLE_ENDIAN := y
407
408#Enable TX reclaim support
409CONFIG_TX_CREDIT_RECLAIM_SUPPORT := n
410
411#Enable FTM support
412CONFIG_QCA_WIFI_FTM := y
413
414#Enable Checksum Offload
415CONFIG_CHECKSUM_OFFLOAD := y
416
417#Enable GTK offload
418CONFIG_GTK_OFFLOAD := y
419
420#Enable EXT WOW
421ifeq ($(CONFIG_HIF_PCI), y)
422 CONFIG_EXT_WOW := y
423endif
424
425#Set this to 1 to catch erroneous Target accesses during debug.
426CONFIG_ATH_PCIE_ACCESS_DEBUG := n
427
428#Enable IPA offload
429ifeq ($(CONFIG_IPA), y)
430CONFIG_IPA_OFFLOAD := y
431endif
432ifeq ($(CONFIG_IPA3), y)
433CONFIG_IPA_OFFLOAD := y
434endif
435
436#Flag to enable SMMU S1 support
437ifeq ($(CONFIG_ARCH_SDM845), y)
438ifeq ($(CONFIG_IPA_OFFLOAD), y)
439CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
440endif
441endif
442
443ifeq ($(CONFIG_ARCH_SDX20), y)
444ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
445ifeq ($(CONFIG_WCNSS_SKB_PRE_ALLOC), y)
446CONFIG_FEATURE_SKB_PRE_ALLOC := y
447endif
448endif
449endif
450
451#Enable Signed firmware support for split binary format
452CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT := n
453
454#Enable single firmware binary format
455CONFIG_QCA_SINGLE_BINARY_SUPPORT := n
456
457#Enable collecting target RAM dump after kernel panic
458CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC := y
459
460#Flag to enable/disable secure firmware feature
461CONFIG_FEATURE_SECURE_FIRMWARE := n
462
463#Flag to enable Stats Ext implementation
464CONFIG_FEATURE_STATS_EXT := y
465
466#Flag to enable HTC credit history feature
467CONFIG_FEATURE_HTC_CREDIT_HISTORY := y
468
469#Flag to enable MTRACE feature
470CONFIG_TRACE_RECORD_FEATURE := y
471
472#Flag to enable p2p debug feature
473CONFIG_WLAN_FEATURE_P2P_DEBUG := y
474
Qiwei Caid96c0212018-06-15 11:12:49 +0800475#Flag to enable roam debug log
476CONFIG_FEATURE_ROAM_DEBUG := y
477
Nirav Shahd2aa9632018-05-27 22:02:53 +0530478#Flag to enable DFS Master feature
479CONFIG_WLAN_DFS_MASTER_ENABLE := y
480
481#Flag to enable nud tracking feature
482CONFIG_WLAN_NUD_TRACKING := y
483
484CONFIG_WIFI_POS_CONVERGED := y
485ifneq ($(CONFIG_WIFI_POS_CONVERGED), y)
486CONFIG_WIFI_POS_LEGACY := y
487endif
488
Naveen Rawatc9fab3e2018-06-04 10:46:11 -0700489CONFIG_CP_STATS := y
Nirav Shahd2aa9632018-05-27 22:02:53 +0530490
491CONFIG_FEATURE_WLAN_WAPI := y
492
493CONFIG_AGEIE_ON_SCAN_RESULTS := y
494
495#Flag to enable FW log parsing support feature
496CONFIG_FEATURE_FW_LOG_PARSING := y
497
498CONFIG_PTT_SOCK_SVC_ENABLE := y
499CONFIG_SOFTAP_CHANNEL_RANGE := y
500CONFIG_FEATURE_WLAN_SCAN_PNO := y
501CONFIG_WLAN_FEATURE_PACKET_FILTERING := y
502CONFIG_WLAN_NS_OFFLOAD := y
503CONFIG_FEATURE_WLAN_RA_FILTERING:= y
504CONFIG_FEATURE_WLAN_LPHB := y
505CONFIG_QCA_SUPPORT_TX_THROTTLE := y
506CONFIG_WMI_INTERFACE_EVENT_LOGGING := y
507CONFIG_WLAN_FEATURE_LINK_LAYER_STATS := y
508CONFIG_FEATURE_WLAN_EXTSCAN := y
509CONFIG_160MHZ_SUPPORT := y
510CONFIG_MCL := y
511CONFIG_MCL_REGDB := y
512CONFIG_LEGACY_CHAN_ENUM := y
Nirav Shahd2aa9632018-05-27 22:02:53 +0530513CONFIG_WLAN_PMO_ENABLE := y
514CONFIG_CONVERGED_P2P_ENABLE := y
515CONFIG_WLAN_POLICY_MGR_ENABLE := y
516CONFIG_SUPPORT_11AX := y
517CONFIG_HDD_INIT_WITH_RTNL_LOCK := y
518CONFIG_CONVERGED_TDLS_ENABLE := y
519CONFIG_WLAN_CONV_SPECTRAL_ENABLE := y
520CONFIG_WLAN_SPECTRAL_ENABLE := y
521CONFIG_WMI_CMD_STRINGS := y
Nirav Shah73713f72018-05-17 14:50:41 +0530522CONFIG_FEATURE_MONITOR_MODE_SUPPORT := y
Nirav Shahd2aa9632018-05-27 22:02:53 +0530523
524ifeq ($(CONFIG_HELIUMPLUS), y)
525ifneq ($(CONFIG_FORCE_ALLOC_FROM_DMA_ZONE), y)
526CONFIG_ENABLE_DEBUG_ADDRESS_MARKING := y
527endif
528CONFIG_RX_OL := y
529endif
530
531ifeq ($(CONFIG_SLUB_DEBUG_ON), y)
532 CONFIG_FEATURE_UNIT_TEST_SUSPEND := y
533 CONFIG_LEAK_DETECTION := y
534endif
535
536# enable unit-test suspend for napier builds
537ifeq ($(CONFIG_LITHIUM), y)
538 CONFIG_FEATURE_UNIT_TEST_SUSPEND := y
539endif
540
541#Flag to enable hdd memory dump feature
542CONFIG_FEATURE_MEMDUMP_ENABLE := y
543
544#Flag to enable/disable WLAN D0-WOW
545ifeq ($(CONFIG_PCI_MSM), y)
546ifeq ($(CONFIG_HIF_PCI), y)
547CONFIG_FEATURE_WLAN_D0WOW := y
548endif
549endif
550
551#Enable Channel Matrix restriction for all Rome only targets
552ifneq ($(CONFIG_ICNSS), y)
553CONFIG_CHNL_MATRIX_RESTRICTION := y
554endif
555
556ifeq ($(CONFIG_ARCH_MDM9607), y)
557CONFIG_TUFELLO_DUAL_FW_SUPPORT := y
558endif
559
560ifeq ($(CONFIG_ARCH_MSM8996), y)
561CONFIG_CHANNEL_HOPPING_ALL_BANDS := y
562endif
563
564ifneq ($(CONFIG_HIF_USB), y)
565CONFIG_WLAN_LOGGING_SOCK_SVC := y
566endif
Nirav Shaha72db1d2018-06-06 17:11:07 +0530567
568ifneq ($(TARGET_BUILD_VARIANT),user)
569CONFIG_DESC_DUP_DETECT_DEBUG := y
570CONFIG_DEBUG_RX_RING_BUFFER := y
571endif
572
573CONFIG_DP_TRACE := y