1ifeq ($(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_QCA6290_11AX := y
7	CONFIG_WLAN_FEATURE_11AX := y
8	CONFIG_WLAN_FEATURE_DFS_OFFLOAD := y
9	CONFIG_IPA3 := n
10endif
11
12ifeq ($(CONFIG_CNSS_QCA6390), y)
13	ifeq ($(CONFIG_CNSS_EMULATION), y)
14		CONFIG_QCA_WIFI_NAPIER_EMULATION := y
15	endif
16	CONFIG_LITHIUM := y
17	CONFIG_WLAN_FEATURE_11AX := y
18	CONFIG_WLAN_FEATURE_DFS_OFFLOAD := y
19	ifeq ($(CONFIG_ARCH_SDM845), y)
20		CONFIG_IPA3 := n
21	endif
22	CONFIG_SCALE_INCLUDES := y
23	CONFIG_HASTINGS_BT_WAR := y
24	CONFIG_WDI3_IPA_OVER_GSI :=y
25	CONFIG_DIRECT_BUF_RX_ENABLE := y
26	CONFIG_WMI_DBR_SUPPORT := y
27	CONFIG_MORE_TX_DESC := y
28	CONFIG_FIX_TXDMA_ALIGNMENT := y
29endif
30
31ifeq ($(CONFIG_CNSS_QCA6490), y)
32	CONFIG_DIRECT_BUF_RX_ENABLE := y
33	CONFIG_WMI_DBR_SUPPORT := y
34	CONFIG_WLAN_CFR_ENABLE := y
35	CONFIG_WLAN_ENH_CFR_ENABLE := y
36	ifeq ($(CONFIG_CNSS_EMULATION), y)
37		CONFIG_QCA_WIFI_NAPIER_EMULATION := y
38	endif
39	CONFIG_LITHIUM := y
40	CONFIG_WLAN_FEATURE_11AX := y
41	CONFIG_WLAN_FEATURE_DFS_OFFLOAD := y
42	ifeq ($(CONFIG_ARCH_SDM845), y)
43		CONFIG_IPA3 := n
44	endif
45	CONFIG_SCALE_INCLUDES := y
46	CONFIG_HASTINGS_BT_WAR := y
47	CONFIG_WDI3_IPA_OVER_GSI :=y
48	CONFIG_GENERIC_SHADOW_REGISTER_ACCESS_ENABLE :=y
49endif
50
51ifeq ($(CONFIG_CNSS_QCA6750), y)
52	ifeq ($(CONFIG_CNSS_EMULATION), y)
53		CONFIG_QCA_WIFI_NAPIER_EMULATION := y
54	endif
55	CONFIG_LITHIUM := y
56	CONFIG_WLAN_FEATURE_11AX := y
57	CONFIG_WLAN_FEATURE_DFS_OFFLOAD := y
58	ifeq ($(CONFIG_ARCH_SDM845), y)
59		CONFIG_IPA3 := n
60	endif
61	CONFIG_SCALE_INCLUDES := y
62	CONFIG_HASTINGS_BT_WAR := y
63	CONFIG_WDI3_IPA_OVER_GSI :=y
64endif
65
66ifeq ($(CONFIG_CLD_HL_SDIO_CORE), y)
67	CONFIG_QCA_WIFI_SDIO := y
68ifndef CONFIG_SDIO_TRANSFER
69	CONFIG_SDIO_TRANSFER = mailbox
70endif
71endif
72
73ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
74	CONFIG_ROME_IF = sdio
75endif
76
77ifeq ($(CONFIG_CNSS_UTILS), m)
78	CONFIG_CNSS_UTILS_MODULE := y
79endif
80ifeq ($(CONFIG_WCNSS_MEM_PRE_ALLOC), m)
81	CONFIG_WCNSS_MEM_PRE_ALLOC_MODULE := y
82endif
83
84ifdef CONFIG_ICNSS
85	CONFIG_ROME_IF = snoc
86endif
87
88ifdef CONFIG_ICNSS2
89	CONFIG_ROME_IF = ipci
90endif
91
92ifeq (y,$(findstring y,$(CONFIG_CNSS) $(CONFIG_CNSS2)))
93ifndef CONFIG_ROME_IF
94	#use pci as default interface
95	CONFIG_ROME_IF = pci
96endif
97endif
98
99ifeq (m,$(findstring m,$(CONFIG_CNSS2)))
100ifndef CONFIG_ROME_IF
101	#use pci as default interface
102	CONFIG_ROME_IF = pci
103endif
104endif
105
106# Make WLAN as open-source driver by default
107WLAN_OPEN_SOURCE := y
108
109ifeq ($(CONFIG_ICNSS), y)
110	CONFIG_HELIUMPLUS := y
111	CONFIG_64BIT_PADDR := y
112	CONFIG_FEATURE_TSO := y
113	CONFIG_FEATURE_TSO_DEBUG := y
114	ifeq ($(CONFIG_INET_LRO), y)
115		CONFIG_WLAN_LRO := y
116	else
117		CONFIG_WLAN_LRO := n
118	endif
119endif
120
121ifneq ($(DEVELOPER_DISABLE_BUILD_TIMESTAMP), y)
122ifneq ($(WLAN_DISABLE_BUILD_TAG), y)
123CONFIG_BUILD_TAG := y
124endif
125endif
126
127ifeq ($(CONFIG_ARCH_MDM9630), y)
128CONFIG_MOBILE_ROUTER := y
129endif
130
131ifeq ($(CONFIG_ARCH_MDM9640), y)
132CONFIG_MOBILE_ROUTER := y
133endif
134
135ifeq ($(CONFIG_ARCH_SDX20), y)
136CONFIG_MOBILE_ROUTER := y
137endif
138
139ifeq ($(CONFIG_ARCH_SDXPRAIRIE), y)
140CONFIG_MOBILE_ROUTER := y
141endif
142
143ifeq ($(CONFIG_ARCH_MSM8917), y)
144	ifeq ($(CONFIG_ROME_IF), sdio)
145		CONFIG_WLAN_SYNC_TSF_PLUS := y
146	endif
147endif
148
149ifeq (y,$(findstring y,$(CONFIG_ARCH_QCS405) $(CONFIG_ARCH_QCS403)))
150	CONFIG_ARCH_QCS40X := y
151endif
152
153ifeq ($(CONFIG_ARCH_QCS40X), y)
154	CONFIG_WLAN_SYNC_TSF_PLUS := y
155	CONFIG_WLAN_SYNC_TSF_PLUS_NOIRQ := y
156	CONFIG_RX_PERFORMANCE := y
157	CONFIG_TGT_NUM_MSDU_DESC := 900
158	CONFIG_MULTI_IF_LOG := y
159	CONFIG_DFS_PRI_MULTIPLIER := y
160	CONFIG_DFS_OVERRIDE_RF_THRESHOLD := y
161endif
162CONFIG_WLAN_FEATURE_MBSSID := y
163
164#Flag to enable Legacy Fast Roaming3(LFR3)
165ifeq (y,$(findstring y,$(CONFIG_HELIUMPLUS) $(CONFIG_LITHIUM)))
166	CONFIG_QCACLD_WLAN_LFR3 := y
167else
168	CONFIG_QCACLD_WLAN_LFR2 := y
169endif
170
171ifneq ($(CONFIG_MOBILE_ROUTER), y)
172#Flag to enable TDLS feature
173CONFIG_QCOM_TDLS := y
174
175CONFIG_WLAN_SYSFS := y
176CONFIG_WLAN_POWER_DEBUG := y
177#Enable Beacon Reception Stats
178CONFIG_FEATURE_BECN_STATS := y
179endif
180
181#Disable the Export Symbol config
182CONFIG_WLAN_DISABLE_EXPORT_SYMBOL := y
183
184CONFIG_QCACLD_FEATURE_GREEN_AP := y
185#Flag to enable Android Packet Filtering
186CONFIG_QCACLD_FEATURE_APF := y
187
188#Flag to enable SARv1 -> SARv2 conversion
189CONFIG_WLAN_FEATURE_SARV1_TO_SARV2 := n
190
191#Flag to enable get firmware state
192CONFIG_QCACLD_FEATURE_FW_STATE := y
193
194#Flag to enable set coex configuration
195CONFIG_QCACLD_FEATURE_COEX_CONFIG := n
196
197#Flag to enable get hw capability
198ifeq ($(CONFIG_ARCH_QCS40X), y)
199CONFIG_QCACLD_FEATURE_HW_CAPABILITY := y
200endif
201
202ifeq ($(CONFIG_ARCH_MSM8998), y)
203CONFIG_QCACLD_FEATURE_METERING := y
204endif
205
206ifeq ($(CONFIG_ARCH_SDM845), y)
207CONFIG_QCACLD_FEATURE_METERING := y
208endif
209
210ifeq ($(CONFIG_ARCH_SM8150), y)
211CONFIG_QCACLD_FEATURE_METERING := y
212endif
213
214ifeq ($(CONFIG_HELIUMPLUS), y)
215CONFIG_QCACLD_FEATURE_METERING := y
216endif
217
218ifeq ($(CONFIG_ARCH_KONA), y)
219CONFIG_QCACLD_FEATURE_METERING := y
220CONFIG_WDI3_STATS_UPDATE := y
221CONFIG_WLAN_SYNC_TSF_TIMER := y
222endif
223
224#Flag to enable Fast Transition (11r) feature
225CONFIG_QCOM_VOWIFI_11R := y
226
227#Flag to enable disable ACTION OUI feature
228CONFIG_WLAN_FEATURE_ACTION_OUI := y
229
230#Flag to enable Adaptive 11r feature
231CONFIG_ADAPTIVE_11R := y
232
233#Flag to enable sae single pmk feature
234CONFIG_SAE_SINGLE_PMK := y
235
236#Flag to enable FILS Feature (11ai)
237CONFIG_WLAN_FEATURE_FILS := y
238ifneq ($(CONFIG_QCA_CLD_WLAN),)
239	ifeq (y,$(findstring y,$(CONFIG_CNSS) $(CONFIG_CNSS2) $(CONFIG_ICNSS)$(CONFIG_ICNSS2)))
240	#Flag to enable LTE CoEx feature
241	CONFIG_QCOM_LTE_COEX := y
242		ifneq ($(CONFIG_MOBILE_ROUTER), y)
243		#Flag to enable LPSS feature
244		CONFIG_WLAN_FEATURE_LPSS := y
245		endif
246	endif
247
248	ifeq (m,$(findstring m,$(CONFIG_CNSS2) $(CONFIG_ICNSS2)))
249	#Flag to enable LTE CoEx feature
250	CONFIG_QCOM_LTE_COEX := y
251		ifneq ($(CONFIG_MOBILE_ROUTER), y)
252		#Flag to enable LPSS feature
253		CONFIG_WLAN_FEATURE_LPSS := y
254		endif
255	endif
256endif
257
258#Flag to enable the tx desc sanity check
259ifeq ($(CONFIG_ROME_IF),usb)
260	CONFIG_QCA_TXDESC_SANITY_CHECKS := y
261endif
262
263ifneq ($(CONFIG_MOBILE_ROUTER), y)
264	#Flag to enable NAN
265	CONFIG_QCACLD_FEATURE_NAN := y
266endif
267
268#Flag to enable Linux QCMBR feature as default feature
269ifeq ($(CONFIG_ROME_IF),usb)
270	CONFIG_LINUX_QCMBR :=y
271endif
272
273
274CONFIG_FEATURE_EPPING := y
275
276#Flag to enable offload packets feature
277CONFIG_WLAN_OFFLOAD_PACKETS := y
278
279#enable TSF get feature
280CONFIG_WLAN_SYNC_TSF := y
281#Enable DSRC feature
282ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
283CONFIG_WLAN_FEATURE_DSRC := y
284endif
285
286ifneq ($(CONFIG_ROME_IF),usb)
287	#Flag to enable SAE
288	CONFIG_WLAN_FEATURE_SAE := y
289
290ifneq ($(CONFIG_ROME_IF),sdio)
291	#Flag to enable DISA
292	CONFIG_WLAN_FEATURE_DISA := y
293
294	#Flag to enable FIPS
295	CONFIG_WLAN_FEATURE_FIPS := y
296
297	#Flag to enable Fast Path feature
298	ifneq ($(CONFIG_LITHIUM), y)
299		CONFIG_WLAN_FASTPATH := y
300	endif
301
302	# Flag to enable NAPI
303	CONFIG_WLAN_NAPI := y
304	CONFIG_WLAN_NAPI_DEBUG := n
305
306	# Flag to enable FW based TX Flow control
307	ifeq ($(CONFIG_LITHIUM), y)
308		CONFIG_WLAN_TX_FLOW_CONTROL_V2 := y
309	else
310		CONFIG_WLAN_TX_FLOW_CONTROL_V2 := n
311	endif
312
313endif
314endif
315
316CONFIG_POWER_MANAGEMENT_OFFLOAD := y
317
318ifeq ($(CONFIG_ROME_IF), snoc)
319	CONFIG_WLAN_TX_FLOW_CONTROL_V2 := y
320endif
321
322ifeq ($(CONFIG_ARCH_QCS40X), y)
323CONFIG_WLAN_TX_FLOW_CONTROL_V2 := n
324# Flag to improve TCP TX throughput for both
325# CONFIG_WLAN_TX_FLOW_CONTROL_LEGACY and CONFIG_WLAN_TX_FLOW_CONTROL_V2
326# disabled platform, avoid frame drop in driver
327CONFIG_WLAN_PDEV_TX_FLOW_CONTROL := y
328endif
329
330# Flag to enable LFR Subnet Detection
331CONFIG_LFR_SUBNET_DETECTION := y
332
333# Flag to enable MCC to SCC switch feature
334CONFIG_MCC_TO_SCC_SWITCH := y
335
336ifeq ($(CONFIG_SLUB_DEBUG), y)
337	# Enable Obj Mgr Degug services if slub build
338	CONFIG_WLAN_OBJMGR_DEBUG:= y
339	CONFIG_LOCK_STATS_ON:= y
340endif
341
342ifeq (y,$(findstring y,$(CONFIG_QCA_WIFI_SDIO) $(CONFIG_HIF_USB)))
343CONFIG_HL_DP_SUPPORT := y
344else
345CONFIG_LL_DP_SUPPORT := y
346endif
347
348ifeq ($(CONFIG_ROME_IF),pci)
349ifneq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y)
350ifneq ($(CONFIG_LITHIUM), y)
351CONFIG_WLAN_TX_FLOW_CONTROL_LEGACY := y
352endif
353endif
354endif
355
356#Whether have QMI support
357CONFIG_QMI_SUPPORT := y
358
359ifeq ($(CONFIG_ICNSS), y)
360CONFIG_WIFI_3_0_ADRASTEA := y
361CONFIG_ADRASTEA_RRI_ON_DDR := y
362# Enable athdiag procfs debug support for adrastea
363CONFIG_ATH_PROCFS_DIAG_SUPPORT := y
364# Enable 11AC TX compact feature for adrastea
365CONFIG_ATH_11AC_TXCOMPACT := y
366ifeq ($(CONFIG_QMI_SUPPORT), y)
367CONFIG_ADRASTEA_SHADOW_REGISTERS := y
368endif
369endif
370
371# Enable fw stats version 2
372ifeq (y,$(findstring y,$(CONFIG_HELIUMPLUS) $(CONFIG_LITHIUM)))
373CONFIG_AR900B := y
374endif
375
376# NOTE: CONFIG_64BIT_PADDR requires CONFIG_HELIUMPLUS
377ifeq ($(CONFIG_HELIUMPLUS), y)
378
379ifeq ($(CONFIG_64BIT_PADDR), y)
380CONFIG_HTT_PADDR64 := y
381endif
382
383ifeq ($(CONFIG_SLUB_DEBUG_ON), y)
384CONFIG_OL_RX_INDICATION_RECORD := y
385CONFIG_TSOSEG_DEBUG := y
386CONFIG_HIF_LARGE_CE_RING_HISTORY := 8192
387endif
388
389endif #CONFIG_HELIUMPLUS
390
391ifeq ($(CONFIG_LITHIUM), y)
392CONFIG_RX_DEFRAG_DO_NOT_REINJECT := y
393#
394# Enable Shadow V2 for all lithium platform
395#
396CONFIG_SHADOW_V2 := y
397
398ifeq ($(CONFIG_CNSS_QCA6290), y)
399	CONFIG_QCA6290_HEADERS_DEF := y
400	CONFIG_QCA_WIFI_QCA6290 := y
401endif
402ifeq ($(CONFIG_CNSS_QCA6390), y)
403	CONFIG_QCA6390_HEADERS_DEF := y
404	CONFIG_QCA_WIFI_QCA6390 := y
405endif
406
407ifeq ($(CONFIG_CNSS_QCA6490), y)
408	CONFIG_QCA6490_HEADERS_DEF := y
409	CONFIG_QCA_WIFI_QCA6490 := y
410endif
411
412ifeq ($(CONFIG_CNSS_QCA6750), y)
413	CONFIG_QCA6750_HEADERS_DEF := y
414	CONFIG_QCA_WIFI_QCA6750 := y
415endif
416
417ifeq ($(CONFIG_LITHIUM), y)
418#
419# Enable VERBOSE debug INI mechanism
420#
421CONFIG_VERBOSE_DEBUG := y
422CONFIG_RX_DESC_SANITY_WAR := y
423ifeq ($(CONFIG_PCI_MSM), y)
424	CONFIG_FEATURE_HAL_DELAYED_REG_WRITE := y
425endif
426endif
427
428CONFIG_QCA_WIFI_QCA8074 := y
429CONFIG_QCA_WIFI_QCA8074_VP := y
430CONFIG_DP_INTR_POLL_BASED := y
431CONFIG_TX_PER_PDEV_DESC_POOL := y
432CONFIG_DP_TRACE := y
433CONFIG_FEATURE_TSO := y
434CONFIG_FEATURE_FORCE_WAKE := y
435CONFIG_DP_LFR := y
436CONFIG_DUP_RX_DESC_WAR := y
437CONFIG_HTT_PADDR64 := y
438CONFIG_RX_OL := y
439CONFIG_TX_TID_OVERRIDE := y
440CONFIG_DP_TXRX_SOC_ATTACH := y
441CONFIG_WLAN_CLD_PM_QOS := y
442CONFIG_DISABLE_DP_STATS := n
443CONFIG_MAX_ALLOC_PAGE_SIZE := y
444CONFIG_REO_DESC_DEFER_FREE := y
445CONFIG_RXDMA_ERR_PKT_DROP := y
446CONFIG_DELIVERY_TO_STACK_STATUS_CHECK := y
447
448ifeq ($(CONFIG_FEATURE_TSO), y)
449	CONFIG_FEATURE_TSO_STATS := y
450	CONFIG_TSO_DEBUG_LOG_ENABLE := y
451endif
452
453ifeq ($(CONFIG_DISABLE_DP_STATS), y)
454	CONFIG_FEATURE_TSO_STATS := n
455endif
456endif
457
458# As per target team, build is done as follows:
459# Defconfig : build with default flags
460# Slub      : defconfig  + CONFIG_SLUB_DEBUG=y +
461#	      CONFIG_SLUB_DEBUG_ON=y + CONFIG_PAGE_POISONING=y
462# Perf      : Using appropriate msmXXXX-perf_defconfig
463#
464# Shipment builds (user variants) should not have any debug feature
465# enabled. This is identified using 'TARGET_BUILD_VARIANT'. Slub builds
466# are identified using the CONFIG_SLUB_DEBUG_ON configuration. Since
467# there is no other way to identify defconfig builds, QCOMs internal
468# representation of perf builds (identified using the string 'perf'),
469# is used to identify if the build is a slub or defconfig one. This
470# way no critical debug feature will be enabled for perf and shipment
471# builds. Other OEMs are also protected using the TARGET_BUILD_VARIANT
472# config.
473ifneq ($(TARGET_BUILD_VARIANT),user)
474	ifeq ($(CONFIG_LITHIUM), y)
475		CONFIG_FEATURE_PKTLOG := n
476	else
477		CONFIG_FEATURE_PKTLOG := y
478	endif
479	CONFIG_WLAN_DEBUG_CRASH_INJECT := y
480endif
481
482#Enable WLAN/Power debugfs feature only if debug_fs is enabled
483ifeq ($(CONFIG_DEBUG_FS), y)
484       # Flag to enable debugfs. Depends on CONFIG_DEBUG_FS in kernel
485       # configuration.
486       CONFIG_WLAN_DEBUGFS := y
487
488       # Flag to enable streamfs. Depends on CONFIG_DEBUG_FS and
489       # CONFIG_RELAY in kernel configuration.
490ifeq ($(CONFIG_RELAY), y)
491       CONFIG_WLAN_STREAMFS := y
492endif
493endif
494
495ifeq ($(CONFIG_WLAN_DEBUGFS), y)
496       CONFIG_WLAN_MWS_INFO_DEBUGFS := y
497       CONFIG_WLAN_FEATURE_MIB_STATS := y
498else
499       CONFIG_WLAN_MWS_INFO_DEBUGFS := n
500       CONFIG_WLAN_FEATURE_MIB_STATS := n
501endif
502
503#Whether to build debug version
504CONFIG_WLAN_DEBUG_VERSION := y
505
506#Enable this flag to build driver in diag version
507CONFIG_WLAN_DIAG_VERSION := y
508
509ifeq ($(CONFIG_SLUB_DEBUG), y)
510	PANIC_ON_BUG := y
511	WLAN_WARN_ON_ASSERT := y
512else ifeq ($(CONFIG_PERF_DEBUG), y)
513	PANIC_ON_BUG := y
514	WLAN_WARN_ON_ASSERT := y
515else
516	PANIC_ON_BUG := n
517	WLAN_WARN_ON_ASSERT := n
518endif
519
520# Compile all log levels by default
521CONFIG_WLAN_LOG_FATAL := y
522CONFIG_WLAN_LOG_ERROR := y
523CONFIG_WLAN_LOG_WARN := y
524CONFIG_WLAN_LOG_INFO := y
525CONFIG_WLAN_LOG_DEBUG := y
526CONFIG_WLAN_LOG_ENTER := y
527CONFIG_WLAN_LOG_EXIT := y
528
529#Enable OL debug and wmi unified functions
530CONFIG_ATH_PERF_PWR_OFFLOAD := y
531
532#Disable packet log
533CONFIG_REMOVE_PKT_LOG := n
534
535#Enable 11AC TX
536ifeq ($(CONFIG_ROME_IF),pci)
537	CONFIG_ATH_11AC_TXCOMPACT := y
538endif
539
540ifeq ($(CONFIG_ROME_IF),ipci)
541	CONFIG_ATH_11AC_TXCOMPACT := y
542endif
543
544ifeq ($(CONFIG_ROME_IF),usb)
545	CONFIG_ATH_11AC_TXCOMPACT := n
546endif
547
548#Enable PCI specific APIS (dma, etc)
549ifeq ($(CONFIG_ROME_IF),pci)
550	CONFIG_HIF_PCI := y
551endif
552
553ifeq ($(CONFIG_ROME_IF),ipci)
554	CONFIG_HIF_IPCI := y
555endif
556
557#Enable USB specific APIS
558ifeq ($(CONFIG_ROME_IF),usb)
559	CONFIG_HIF_USB := y
560endif
561
562#Enable SDIO specific APIS
563ifeq ($(CONFIG_ROME_IF),sdio)
564	CONFIG_HIF_SDIO := y
565	CONFIG_TX_DESC_HI_PRIO_RESERVE := y
566	CONFIG_FEATURE_HL_GROUP_CREDIT_FLOW_CONTROL := y
567	CONFIG_TGT_NUM_MSDU_DESC := 0
568endif
569
570ifeq ($(CONFIG_ROME_IF),snoc)
571	CONFIG_HIF_SNOC:= y
572endif
573
574# enable/disable feature flags based upon mobile router profile
575ifeq ($(CONFIG_MOBILE_ROUTER), y)
576CONFIG_FEATURE_WLAN_MCC_TO_SCC_SWITCH := y
577CONFIG_FEATURE_WLAN_AUTO_SHUTDOWN := y
578CONFIG_FEATURE_WLAN_AP_AP_ACS_OPTIMIZE := y
579CONFIG_FEATURE_WLAN_STA_4ADDR_SCHEME := y
580CONFIG_MDM_PLATFORM := y
581ifneq ($(CONFIG_ARCH_SDXPRAIRIE), y)
582CONFIG_FEATURE_WLAN_STA_AP_MODE_DFS_DISABLE := y
583endif
584CONFIG_FEATURE_AP_MCC_CH_AVOIDANCE := y
585else
586CONFIG_QCOM_ESE := y
587CONFIG_FEATURE_WLAN_RMC := y
588CONFIG_WLAN_OPEN_P2P_INTERFACE := y
589CONFIG_WLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY := y
590endif
591
592#enable 4addr support for QCS40X
593ifeq ($(CONFIG_ARCH_QCS40X), y)
594CONFIG_FEATURE_WLAN_STA_4ADDR_SCHEME := y
595endif
596
597#Enable power management suspend/resume functionality to PCI
598CONFIG_ATH_BUS_PM := y
599
600#Enable FLOWMAC module support
601CONFIG_ATH_SUPPORT_FLOWMAC_MODULE := n
602
603#Enable spectral support
604CONFIG_ATH_SUPPORT_SPECTRAL := n
605
606#Define the legacy pktlog
607ifeq ($(CONFIG_REMOVE_PKT_LOG), n)
608ifeq ($(CONFIG_HELIUMPLUS), y)
609CONFIG_PKTLOG_LEGACY := y
610endif
611
612#Customize DSCP_to-UP map based on RFC8325
613ifeq ($(CONFIG_HELIUMPLUS), y)
614CONFIG_WLAN_CUSTOM_DSCP_UP_MAP := y
615CONFIG_WLAN_SEND_DSCP_UP_MAP_TO_FW := y
616endif
617ifeq ($(CONFIG_LITHIUM), y)
618CONFIG_WLAN_CUSTOM_DSCP_UP_MAP := y
619endif
620
621ifeq ($(CONFIG_ARCH_BENGAL), y)
622CONFIG_SMMU_S1_UNMAP := y
623endif
624
625ifeq ($(CONFIG_ROME_IF), sdio)
626CONFIG_PKTLOG_LEGACY := y
627endif
628
629ifeq ($(CONFIG_ROME_IF), pci)
630CONFIG_PKTLOG_LEGACY := y
631endif
632
633ifeq ($(CONFIG_ROME_IF), usb)
634CONFIG_PKTLOG_LEGACY := y
635endif
636
637ifeq ($(CONFIG_ROME_IF), snoc)
638CONFIG_PKTLOG_LEGACY := y
639endif
640endif
641
642ifeq ($(CONFIG_LITHIUM), y)
643CONFIG_PKTLOG_LEGACY := n
644endif
645
646ifeq ($(CONFIG_LITHIUM), y)
647CONFIG_WAPI_BIG_ENDIAN := y
648else
649CONFIG_WAPI_BIG_ENDIAN := n
650endif
651
652#Enable WDI Event support
653ifeq ($(CONFIG_REMOVE_PKT_LOG), y)
654CONFIG_WDI_EVENT_ENABLE := n
655else
656CONFIG_WDI_EVENT_ENABLE := y
657endif
658
659#Enable the type_specific_data in the ath_pktlog_arg
660ifeq ($(CONFIG_REMOVE_PKT_LOG), n)
661ifeq ($(CONFIG_LITHIUM), y)
662CONFIG_PKTLOG_HAS_SPECIFIC_DATA := y
663endif
664
665ifeq ($(CONFIG_HELIUMPLUS), y)
666CONFIG_PKTLOG_HAS_SPECIFIC_DATA := y
667endif
668endif
669
670#Endianness selection
671CONFIG_LITTLE_ENDIAN := y
672
673#Enable TX reclaim support
674CONFIG_TX_CREDIT_RECLAIM_SUPPORT := n
675
676#Enable FTM support
677CONFIG_QCA_WIFI_FTM := y
678
679ifeq ($(CONFIG_QCA_WIFI_FTM), y)
680
681ifeq ($(CONFIG_NL80211_TESTMODE), y)
682	QCA_WIFI_FTM_NL80211 :=y
683else
684	QCA_WIFI_FTM_NL80211 :=n
685endif
686	CONFIG_LINUX_QCMBR :=y
687
688else
689	QCA_WIFI_FTM_NL80211 :=n
690	CONFIG_LINUX_QCMBR :=n
691endif
692
693
694#Enable Checksum Offload
695CONFIG_CHECKSUM_OFFLOAD := y
696
697#Enable GTK offload
698CONFIG_GTK_OFFLOAD := y
699
700#Enable EXT WOW
701ifeq ($(CONFIG_HIF_PCI), y)
702	CONFIG_EXT_WOW := y
703endif
704
705#Set this to 1 to catch erroneous Target accesses during debug.
706CONFIG_ATH_PCIE_ACCESS_DEBUG := n
707
708#Enable IPA offload
709ifeq ($(CONFIG_IPA), y)
710CONFIG_IPA_OFFLOAD := n
711endif
712ifeq ($(CONFIG_IPA3), y)
713CONFIG_IPA_OFFLOAD := n
714endif
715
716#Flag to enable SMMU S1 support
717ifeq ($(CONFIG_ARCH_SDM845), y)
718ifeq ($(CONFIG_IPA_OFFLOAD), y)
719CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
720endif
721endif
722
723ifeq ($(CONFIG_ARCH_SM8150), y)
724ifeq ($(CONFIG_IPA_OFFLOAD), y)
725ifneq ($(CONFIG_LITHIUM), y)
726CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
727endif
728endif
729endif
730
731ifeq ($(CONFIG_ARCH_SDXPRAIRIE), y)
732ifeq ($(CONFIG_IPA_OFFLOAD), y)
733CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
734endif
735endif
736
737ifeq ($(CONFIG_ARCH_KONA), y)
738ifeq ($(CONFIG_IPA_OFFLOAD), y)
739CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
740CONFIG_SMMU_S1_UNMAP := y
741endif
742endif
743
744ifeq ($(CONFIG_HELIUMPLUS), y)
745ifneq ($(CONFIG_ARCH_SDM630), y)
746ifneq ($(CONFIG_ARCH_SDM660), y)
747ifneq ($(CONFIG_ARCH_MSM8998), y)
748ifeq ($(CONFIG_IPA_OFFLOAD), y)
749CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
750endif
751endif
752endif
753endif
754endif
755
756ifeq ($(CONFIG_ARCH_SDX20), y)
757ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
758ifeq ($(CONFIG_WCNSS_SKB_PRE_ALLOC), y)
759CONFIG_FEATURE_SKB_PRE_ALLOC := y
760endif
761endif
762endif
763
764#Enable Signed firmware support for split binary format
765CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT := n
766
767#Enable single firmware binary format
768CONFIG_QCA_SINGLE_BINARY_SUPPORT := n
769
770#Enable collecting target RAM dump after kernel panic
771CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC := y
772
773#Flag to enable/disable secure firmware feature
774CONFIG_FEATURE_SECURE_FIRMWARE := n
775
776#Flag to enable Stats Ext implementation
777CONFIG_FEATURE_STATS_EXT := y
778
779#Flag to allocate memory dynamically for different buffers
780CONFIG_WLAN_LOGGING_BUFFERS_DYNAMICALLY := n
781CONFIG_WLAN_DFS_STATIC_MEM_ALLOC := y
782
783#Flag to enable HTC credit history feature
784CONFIG_FEATURE_HTC_CREDIT_HISTORY := y
785
786#Flag to enable MTRACE feature
787CONFIG_TRACE_RECORD_FEATURE := y
788
789#Flag to enable p2p debug feature
790CONFIG_WLAN_FEATURE_P2P_DEBUG := y
791
792#Flag to enable roam debug log
793CONFIG_FEATURE_ROAM_DEBUG := y
794
795#Flag to enable DFS Master feature
796CONFIG_WLAN_DFS_MASTER_ENABLE := y
797
798#Flag to enable WEXT support for STA/AP/P2P interfaces
799CONFIG_WLAN_WEXT_SUPPORT_ENABLE := y
800
801#Flag to enable/disable MTRACE feature
802CONFIG_ENABLE_MTRACE_LOG := y
803
804#Flag to enable nud tracking feature
805CONFIG_WLAN_NUD_TRACKING := y
806
807#Flag to enable wbuff feature
808CONFIG_WLAN_WBUFF := y
809
810#Flag to enable set and get disable channel list feature
811CONFIG_DISABLE_CHANNEL_LIST :=y
812
813#Flag to enable beacon receive feature
814CONFIG_WLAN_BCN_RECV_FEATURE := y
815
816#Flag to enable LTE COEX feature
817CONFIG_LTE_COEX := y
818
819#Flag to enable/disable TARGET 11d scan
820CONFIG_TARGET_11D_SCAN := y
821
822#Flag to enable/disable Avoid acs freq feature
823CONFIG_SAP_AVOID_ACS_FREQ_LIST := y
824
825#Flag to enable HOST OPCLASS feature
826CONFIG_HOST_OPCLASS := y
827
828#Flag to enable Dynamic Voltage WDCVS (Config Voltage Mode)
829CONFIG_WLAN_DYNAMIC_CVM := y
830
831#Flag to enable SAR Safety Feature
832CONFIG_SAR_SAFETY_FEATURE := y
833
834CONFIG_WIFI_POS_CONVERGED := y
835ifneq ($(CONFIG_WIFI_POS_CONVERGED), y)
836CONFIG_WIFI_POS_LEGACY := y
837endif
838
839CONFIG_CP_STATS := y
840CONFIG_QCA_TARGET_IF_MLME := y
841CONFIG_FEATURE_INTEROP_ISSUES_AP := y
842
843CONFIG_FEATURE_WLAN_WAPI := y
844
845CONFIG_AGEIE_ON_SCAN_RESULTS := y
846
847#Flag to enable FW log parsing support feature
848CONFIG_FEATURE_FW_LOG_PARSING := y
849
850CONFIG_PTT_SOCK_SVC_ENABLE := y
851CONFIG_SOFTAP_CHANNEL_RANGE := y
852CONFIG_FEATURE_WLAN_SCAN_PNO := y
853CONFIG_WLAN_FEATURE_PACKET_FILTERING := y
854CONFIG_WLAN_NS_OFFLOAD := y
855CONFIG_FEATURE_WLAN_RA_FILTERING:= y
856CONFIG_FEATURE_WLAN_LPHB := y
857CONFIG_QCA_SUPPORT_TX_THROTTLE := y
858CONFIG_WMI_INTERFACE_EVENT_LOGGING := y
859CONFIG_WLAN_FEATURE_LINK_LAYER_STATS := y
860CONFIG_FEATURE_WLAN_EXTSCAN := n
861CONFIG_WMI_BCN_OFFLOAD := y
862CONFIG_160MHZ_SUPPORT := y
863CONFIG_REG_CLIENT := y
864CONFIG_WLAN_PMO_ENABLE := y
865CONFIG_CONVERGED_P2P_ENABLE := y
866CONFIG_WLAN_POLICY_MGR_ENABLE := y
867CONFIG_FEATURE_DENYLIST_MGR := y
868CONFIG_FOURTH_CONNECTION := y
869CONFIG_SUPPORT_11AX := y
870CONFIG_HDD_INIT_WITH_RTNL_LOCK := y
871CONFIG_WLAN_CONV_SPECTRAL_ENABLE := y
872CONFIG_WLAN_SPECTRAL_ENABLE := y
873CONFIG_WMI_CMD_STRINGS := y
874CONFIG_FEATURE_MONITOR_MODE_SUPPORT := y
875CONFIG_WLAN_ALLOCATE_GLOBAL_BUFFERS_DYNAMICALLY := n
876CONFIG_WLAN_FEATURE_TWT := y
877CONFIG_FW_THERMAL_THROTTLE := y
878
879ifeq (y,$(findstring y,$(CONFIG_LITHIUM) $(CONFIG_ICNSS)))
880CONFIG_WLAN_FEATURE_BMI := n
881else
882CONFIG_WLAN_FEATURE_BMI := y
883endif
884
885#Flags to enable/disable vendor commands
886CONFIG_FEATURE_RSSI_MONITOR := y
887CONFIG_FEATURE_BSS_TRANSITION := y
888CONFIG_FEATURE_STATION_INFO := y
889CONFIG_FEATURE_TX_POWER := y
890CONFIG_FEATURE_OTA_TEST := y
891CONFIG_FEATURE_ACTIVE_TOS := y
892CONFIG_FEATURE_SAR_LIMITS := y
893CONFIG_FEATURE_CONCURRENCY_MATRIX := y
894CONFIG_FEATURE_SAP_COND_CHAN_SWITCH := y
895CONFIG_FEATURE_P2P_LISTEN_OFFLOAD := y
896CONFIG_QCACLD_FEATURE_MPTA_HELPER := n
897CONFIG_QCACLD_RX_DESC_MULTI_PAGE_ALLOC := y
898
899#Flags to enable/disable WMI APIs
900CONFIG_WMI_ROAM_SUPPORT := y
901CONFIG_WMI_CONCURRENCY_SUPPORT := y
902CONFIG_WMI_STA_SUPPORT := y
903
904CONFIG_DP_TRACE := y
905
906ifeq ($(CONFIG_HELIUMPLUS), y)
907ifneq ($(CONFIG_FORCE_ALLOC_FROM_DMA_ZONE), y)
908CONFIG_ENABLE_DEBUG_ADDRESS_MARKING := y
909endif
910CONFIG_RX_OL := y
911endif
912
913ifeq ($(CONFIG_SLUB_DEBUG_ON), y)
914	CONFIG_DSC_DEBUG := y
915	CONFIG_DESC_TIMESTAMP_DEBUG_INFO := y
916	CONFIG_FEATURE_UNIT_TEST_SUSPEND := y
917	CONFIG_LEAK_DETECTION := y
918	CONFIG_MAX_LOGS_PER_SEC := 500
919	CONFIG_SCHED_HISTORY_SIZE := 256
920	CONFIG_TALLOC_DEBUG := y
921	CONFIG_UNIT_TEST := y
922	CONFIG_REGISTER_OP_DEBUG := y
923	CONFIG_ENABLE_QDF_PTR_HASH_DEBUG := y
924endif
925
926ifeq ($(CONFIG_UNIT_TEST), y)
927	CONFIG_DSC_TEST := y
928	CONFIG_QDF_TEST := y
929	CONFIG_FEATURE_WLM_STATS := y
930endif
931
932ifeq ($(CONFIG_LITHIUM), y)
933	ifeq ($(CONFIG_SLUB_DEBUG_ON), y)
934		CONFIG_WLAN_FEATURE_DP_EVENT_HISTORY := y
935		CONFIG_HIF_CE_DEBUG_DATA_BUF := y
936		CONFIG_WLAN_RECORD_RX_PADDR := y
937		CONFIG_HIF_CPU_PERF_AFFINE_MASK := y
938		CONFIG_WLAN_FEATURE_DP_RX_RING_HISTORY := y
939		CONFIG_ALLOW_PKT_DROPPING := y
940	endif
941	CONFIG_DYNAMIC_RX_AGGREGATION := y
942	CONFIG_RX_DESC_DEBUG_CHECK:= y
943	CONFIG_WLAN_SUPPORT_DATA_STALL := y
944	CONFIG_WLAN_DP_PER_RING_TYPE_CONFIG := y
945	CONFIG_WLAN_CE_INTERRUPT_THRESHOLD_CONFIG := y
946	#Enable WMI TX/RX over QMI
947	CONFIG_WMI_SEND_RECV_QMI := y
948	CONFIG_WLAN_DP_PENDING_MEM_FLUSH := y
949endif
950
951#Flag to enable hdd memory dump feature
952CONFIG_FEATURE_MEMDUMP_ENABLE := y
953
954#Flag to enable/disable WLAN D0-WOW
955ifeq ($(CONFIG_PCI_MSM), y)
956ifeq ($(CONFIG_HIF_PCI), y)
957CONFIG_FEATURE_WLAN_D0WOW := y
958endif
959endif
960
961ifeq ($(CONFIG_ARCH_MDM9607), y)
962CONFIG_TUFELLO_DUAL_FW_SUPPORT := y
963endif
964
965ifeq ($(CONFIG_ARCH_MSM8996), y)
966CONFIG_CHANNEL_HOPPING_ALL_BANDS := y
967endif
968
969ifeq ($(CONFIG_ARCH_SDXPRAIRIE), y)
970	ifneq ($(CONFIG_SLUB_DEBUG), y)
971		CONFIG_DP_TRACE := n
972	endif
973
974	CONFIG_DIRECT_BUF_RX_ENABLE := n
975	CONFIG_WMI_DBR_SUPPORT := n
976endif
977
978ifneq ($(CONFIG_HIF_USB), y)
979CONFIG_WLAN_LOGGING_SOCK_SVC := y
980endif
981
982ifneq ($(TARGET_BUILD_VARIANT),user)
983CONFIG_DESC_DUP_DETECT_DEBUG := y
984CONFIG_DEBUG_RX_RING_BUFFER := y
985endif
986
987ifeq ($(CONFIG_CNSS), y)
988ifeq ($(CONFIG_CNSS_SDIO), y)
989CONFIG_PLD_SDIO_CNSS_FLAG := y
990endif
991ifeq ($(CONFIG_HIF_PCI), y)
992CONFIG_PLD_PCIE_CNSS_FLAG := y
993endif
994endif
995
996ifeq ($(CONFIG_ICNSS2), y)
997CONFIG_PLD_IPCI_ICNSS_FLAG := y
998endif
999
1000ifeq ($(CONFIG_CNSS2), y)
1001ifeq ($(CONFIG_HIF_PCI), y)
1002CONFIG_PLD_PCIE_CNSS_FLAG := y
1003CONFIG_PLD_PCIE_INIT_FLAG := y
1004endif
1005endif
1006
1007ifeq ($(CONFIG_CNSS2), m)
1008ifeq ($(CONFIG_HIF_PCI), y)
1009CONFIG_PLD_PCIE_CNSS_FLAG := y
1010CONFIG_PLD_PCIE_INIT_FLAG := y
1011endif
1012endif
1013
1014#Enable STATE MACHINE HISTORY
1015CONFIG_SM_ENG_HIST := n
1016
1017#Enable OEM DATA feature
1018CONFIG_FEATURE_OEM_DATA := y
1019
1020#Enable FW Offload
1021CONFIG_WLAN_FW_OFFLOAD := y
1022
1023#Enable eLNA bypass feature
1024ifeq ($(CONFIG_WLAN_FW_OFFLOAD), y)
1025CONFIG_WLAN_FEATURE_ELNA := y
1026endif
1027
1028#Enable DP Bus Vote
1029CONFIG_WLAN_FEATURE_DP_BUS_BANDWIDTH := y
1030
1031ifeq ($(CONFIG_CNSS_QCA6490), y)
1032
1033#Enable 6 GHz Band
1034CONFIG_BAND_6GHZ := y
1035CONFIG_RX_FISA := y
1036CONFIG_MORE_TX_DESC := y
1037
1038endif
1039
1040CONFIG_HANDLE_BC_EAP_TX_FRM := y
1041
1042ifeq ($(CONFIG_BAND_6GHZ), y)
1043
1044CONFIG_6G_SCAN_CHAN_SORT_ALGO := y
1045
1046endif
1047
1048CONFIG_SAP_DHCP_FW_IND := y
1049
1050#Enable support to get ANI level
1051CONFIG_ANI_LEVEL_REQUEST := y
1052
1053ifeq ($(CONFIG_ARCH_QCS405), y)
1054CONFIG_FEATURE_WLAN_TIME_SYNC_FTM := y
1055endif
1056
1057CONFIG_WLAN_HANG_EVENT := y
1058
1059#Enable VDEV Response wakelock feature
1060CONFIG_FEATURE_VDEV_RSP_WAKELOCK := y
1061
1062#Enable Low Power Modes: Deep Sleep/Hibernate
1063CONFIG_ENABLE_LOW_POWER_MODE := y
1064