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