ifeq ($(CONFIG_CLD_HL_SDIO_CORE), y)
	CONFIG_QCA_WIFI_SDIO := y
ifndef CONFIG_SDIO_TRANSFER
	CONFIG_SDIO_TRANSFER = mailbox
endif
endif

ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
	CONFIG_ROME_IF = sdio
endif

ifdef CONFIG_ICNSS
	CONFIG_ROME_IF = snoc
endif

ifeq (y,$(findstring y,$(CONFIG_CNSS) $(CONFIG_CNSS2)))
ifndef CONFIG_ROME_IF
	#use pci as default interface
	CONFIG_ROME_IF = pci
endif
endif

# Make WLAN as open-source driver by default
WLAN_OPEN_SOURCE := y

ifeq ($(CONFIG_ICNSS), y)
	CONFIG_HELIUMPLUS := y
	CONFIG_64BIT_PADDR := y
	CONFIG_FEATURE_TSO := y
	CONFIG_FEATURE_TSO_DEBUG := y
	ifeq ($(CONFIG_INET_LRO), y)
		CONFIG_WLAN_LRO := y
	else
		CONFIG_WLAN_LRO := n
	endif
endif

ifneq ($(DEVELOPER_DISABLE_BUILD_TIMESTAMP), y)
ifneq ($(WLAN_DISABLE_BUILD_TAG), y)
CONFIG_BUILD_TAG := y
endif
endif

ifeq ($(CONFIG_ARCH_MDM9630), y)
CONFIG_MOBILE_ROUTER := y
endif

ifeq ($(CONFIG_ARCH_MDM9640), y)
CONFIG_MOBILE_ROUTER := y
endif

ifeq ($(CONFIG_ARCH_SDX20), y)
CONFIG_MOBILE_ROUTER := y
endif

ifeq ($(CONFIG_ARCH_SDXPRAIRIE), y)
CONFIG_MOBILE_ROUTER := y
endif

ifeq ($(CONFIG_ARCH_MSM8917), y)
	ifeq ($(CONFIG_ROME_IF), sdio)
		CONFIG_WLAN_SYNC_TSF_PLUS := y
	endif
endif

ifeq ($(CONFIG_ARCH_QCS405), y)
	CONFIG_WLAN_SYNC_TSF_PLUS := y
	CONFIG_WLAN_SYNC_TSF_PLUS_NOIRQ := y
endif

#Flag to enable Legacy Fast Roaming2(LFR2)
CONFIG_QCACLD_WLAN_LFR2 := y
#Flag to enable Legacy Fast Roaming3(LFR3)
ifneq ($(CONFIG_ARCH_SDX20), y)
CONFIG_QCACLD_WLAN_LFR3 := y
endif

ifneq ($(CONFIG_MOBILE_ROUTER), y)
#Flag to enable TDLS feature
CONFIG_QCOM_TDLS := y

CONFIG_WLAN_SYSFS := y
endif

CONFIG_QCACLD_FEATURE_GREEN_AP := y
CONFIG_CRYPTO_COMPONENT := y
#Flag to enable Android Packet Filtering
CONFIG_QCACLD_FEATURE_APF := y

#Flag to enable SARv1 -> SARv2 conversion
CONFIG_WLAN_FEATURE_SARV1_TO_SARV2 := n

ifeq ($(CONFIG_ARCH_MSM8998), y)
CONFIG_QCACLD_FEATURE_METERING := y
endif

ifeq ($(CONFIG_ARCH_SDM660), y)
CONFIG_QCACLD_FEATURE_METERING := y
endif

ifeq ($(CONFIG_ARCH_SDM630), y)
CONFIG_QCACLD_FEATURE_METERING := y
endif

ifeq ($(CONFIG_ARCH_SDM845), y)
CONFIG_QCACLD_FEATURE_METERING := y
endif

ifeq ($(CONFIG_ARCH_SM8150), y)
CONFIG_QCACLD_FEATURE_METERING := y
endif

ifeq ($(CONFIG_ARCH_SDM670), y)
CONFIG_QCACLD_FEATURE_METERING := y
endif

ifeq ($(CONFIG_ARCH_SM6150), y)
CONFIG_QCACLD_FEATURE_METERING := y
endif

#Flag to enable Fast Transition (11r) feature
CONFIG_QCOM_VOWIFI_11R := y

#Flag to enable disable ACTION OUI feature
CONFIG_WLAN_FEATURE_ACTION_OUI := y

#Flag to enable FILS Feature (11ai)
CONFIG_WLAN_FEATURE_FILS := y
ifneq ($(CONFIG_QCA_CLD_WLAN),)
	ifeq (y,$(findstring y,$(CONFIG_CNSS) $(CONFIG_CNSS2) $(CONFIG_ICNSS)))
	#Flag to enable Protected Management Frames (11w) feature
	CONFIG_WLAN_FEATURE_11W := y
	#Flag to enable LTE CoEx feature
	CONFIG_QCOM_LTE_COEX := y
		ifneq ($(CONFIG_MOBILE_ROUTER), y)
		#Flag to enable LPSS feature
		CONFIG_WLAN_FEATURE_LPSS := y
		endif
	endif
endif

#Flag to enable Protected Management Frames (11w) feature
ifeq ($(CONFIG_ROME_IF),usb)
	CONFIG_WLAN_FEATURE_11W := y
endif
ifeq ($(CONFIG_ROME_IF),sdio)
	CONFIG_WLAN_FEATURE_11W := y
endif

#Flag to enable the tx desc sanity check
ifeq ($(CONFIG_ROME_IF),usb)
	CONFIG_QCA_TXDESC_SANITY_CHECKS := y
endif

#Flag to disable NAN
CONFIG_QCACLD_FEATURE_NAN := n

ifneq ($(CONFIG_MOBILE_ROUTER), y)
	#Flag to enable NAN Data path
	CONFIG_WLAN_FEATURE_NAN_DATAPATH := y
	CONFIG_NAN_CONVERGENCE := y
endif

#Flag to enable Linux QCMBR feature as default feature
ifeq ($(CONFIG_ROME_IF),usb)
	CONFIG_LINUX_QCMBR :=y
endif


CONFIG_FEATURE_EPPING := y

#Flag to enable offload packets feature
CONFIG_WLAN_OFFLOAD_PACKETS := y

#enable TSF get feature
CONFIG_WLAN_SYNC_TSF := y
#Enable DSRC feature
ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
CONFIG_WLAN_FEATURE_DSRC := y
endif

ifneq ($(CONFIG_ROME_IF),usb)
ifneq ($(CONFIG_ROME_IF),sdio)
	#Flag to enable DISA
	CONFIG_WLAN_FEATURE_DISA := y

	#Flag to enable FIPS
	CONFIG_WLAN_FEATURE_FIPS := y

	#Flag to enable SAE
	CONFIG_WLAN_FEATURE_SAE := y

	# Flag to enable NAPI
	CONFIG_WLAN_NAPI := y
	CONFIG_WLAN_NAPI_DEBUG := n

	# Flag to enable FW based TX Flow control
	ifeq ($(CONFIG_LITHIUM), y)
		CONFIG_WLAN_TX_FLOW_CONTROL_V2 := y
	else
		CONFIG_WLAN_TX_FLOW_CONTROL_V2 := n
	endif

endif
endif

CONFIG_POWER_MANAGEMENT_OFFLOAD := y

ifeq ($(CONFIG_ROME_IF), snoc)
	CONFIG_WLAN_TX_FLOW_CONTROL_V2 := y
endif

# Flag to enable LFR Subnet Detection
CONFIG_LFR_SUBNET_DETECTION := y

# Flag to enable MCC to SCC switch feature
CONFIG_MCC_TO_SCC_SWITCH := y

ifeq ($(CONFIG_SLUB_DEBUG), y)
	# Enable Obj Mgr Degug services if slub build
	CONFIG_WLAN_OBJMGR_DEBUG:= y
	CONFIG_MPC_UT_FRAMEWORK := y
	CONFIG_LOCK_STATS_ON:= y
endif

ifeq (y,$(findstring y,$(CONFIG_QCA_WIFI_SDIO) $(CONFIG_HIF_USB)))
CONFIG_HL_DP_SUPPORT := y
else
CONFIG_LL_DP_SUPPORT := y
endif

ifeq ($(CONFIG_HIF_PCI), y)
ifneq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y)
ifneq ($(CONFIG_LITHIUM), y)
CONFIG_WLAN_TX_FLOW_CONTROL_LEGACY := y
endif
endif
endif

#Whether have QMI support
CONFIG_QMI_SUPPORT := y

ifeq ($(CONFIG_ICNSS), y)
CONFIG_WIFI_3_0_ADRASTEA := y
CONFIG_ADRASTEA_RRI_ON_DDR := y
# Enable athdiag procfs debug support for adrastea
CONFIG_ATH_PROCFS_DIAG_SUPPORT := y
# Enable 11AC TX compact feature for adrastea
CONFIG_ATH_11AC_TXCOMPACT := y
ifeq ($(CONFIG_QMI_SUPPORT), y)
CONFIG_ADRASTEA_SHADOW_REGISTERS := y
endif
endif

# NOTE: CONFIG_64BIT_PADDR requires CONFIG_HELIUMPLUS
ifeq ($(CONFIG_HELIUMPLUS), y)
CONFIG_AR900B := y

ifeq ($(CONFIG_64BIT_PADDR), y)
CONFIG_HTT_PADDR64 := y
endif

ifeq ($(CONFIG_SLUB_DEBUG_ON), y)
CONFIG_OL_RX_INDICATION_RECORD := y
CONFIG_TSOSEG_DEBUG := y
endif

endif #CONFIG_HELIUMPLUS

ifeq ($(CONFIG_LITHIUM), y)
#
# Enable Shadow V2 for all lithium platform
#
CONFIG_SHADOW_V2 := y

CONFIG_QCA_WIFI_QCA8074 := y
CONFIG_QCA_WIFI_QCA8074_VP := y
CONFIG_DP_INTR_POLL_BASED := y
CONFIG_TX_PER_PDEV_DESC_POOL := y
CONFIG_DP_TRACE := y
CONFIG_FEATURE_TSO := y
CONFIG_TSO_DEBUG_LOG_ENABLE := y
CONFIG_DP_LFR := y
CONFIG_HTT_PADDR64 := y
CONFIG_RX_OL := y
CONFIG_TX_TID_OVERRIDE := y
endif

# As per target team, build is done as follows:
# Defconfig : build with default flags
# Slub      : defconfig  + CONFIG_SLUB_DEBUG=y +
#	      CONFIG_SLUB_DEBUG_ON=y + CONFIG_PAGE_POISONING=y
# Perf      : Using appropriate msmXXXX-perf_defconfig
#
# Shipment builds (user variants) should not have any debug feature
# enabled. This is identified using 'TARGET_BUILD_VARIANT'. Slub builds
# are identified using the CONFIG_SLUB_DEBUG_ON configuration. Since
# there is no other way to identify defconfig builds, QCOMs internal
# representation of perf builds (identified using the string 'perf'),
# is used to identify if the build is a slub or defconfig one. This
# way no critical debug feature will be enabled for perf and shipment
# builds. Other OEMs are also protected using the TARGET_BUILD_VARIANT
# config.
ifneq ($(TARGET_BUILD_VARIANT),user)
	ifeq ($(CONFIG_LITHIUM), y)
		CONFIG_FEATURE_PKTLOG := n
	else
		CONFIG_FEATURE_PKTLOG := y
	endif
	CONFIG_WLAN_DEBUG_CRASH_INJECT := y
endif

#Enable WLAN/Power debugfs feature only if debug_fs is enabled
ifeq ($(CONFIG_DEBUG_FS), y)
       # Flag to enable debugfs. Depends on CONFIG_DEBUG_FS in kernel
       # configuration.
       CONFIG_WLAN_DEBUGFS := y

       CONFIG_WLAN_POWER_DEBUGFS := y
endif

# Feature flags which are not (currently) configurable via Kconfig

#Whether to build debug version
BUILD_DEBUG_VERSION := y

#Enable this flag to build driver in diag version
BUILD_DIAG_VERSION := y

ifeq ($(CONFIG_SLUB_DEBUG), y)
	PANIC_ON_BUG := y
	WLAN_WARN_ON_ASSERT := y
else ifeq ($(CONFIG_PERF_DEBUG), y)
	PANIC_ON_BUG := y
	WLAN_WARN_ON_ASSERT := y
else
	PANIC_ON_BUG := n
	WLAN_WARN_ON_ASSERT := n
endif

# Compile all log levels by default
CONFIG_WLAN_LOG_FATAL := y
CONFIG_WLAN_LOG_ERROR := y
CONFIG_WLAN_LOG_WARN := y
CONFIG_WLAN_LOG_INFO := y
CONFIG_WLAN_LOG_DEBUG := y
CONFIG_WLAN_LOG_ENTER := y
CONFIG_WLAN_LOG_EXIT := y

#Enable OL debug and wmi unified functions
CONFIG_ATH_PERF_PWR_OFFLOAD := y

#Disable packet log
CONFIG_REMOVE_PKT_LOG := n

#Enable 11AC TX
ifeq ($(CONFIG_ROME_IF),pci)
	CONFIG_ATH_11AC_TXCOMPACT := y
endif

ifeq ($(CONFIG_ROME_IF),usb)
	CONFIG_ATH_11AC_TXCOMPACT := n
endif

#Enable PCI specific APIS (dma, etc)
ifeq ($(CONFIG_ROME_IF),pci)
	CONFIG_HIF_PCI := y
endif

#Enable USB specific APIS
ifeq ($(CONFIG_ROME_IF),usb)
	CONFIG_HIF_USB := y
endif

#Enable SDIO specific APIS
ifeq ($(CONFIG_ROME_IF),sdio)
	CONFIG_HIF_SDIO := y
	CONFIG_TX_DESC_HI_PRIO_RESERVE := y
	CONFIG_PER_VDEV_TX_DESC_POOL := y
	CONFIG_FEATURE_HL_GROUP_CREDIT_FLOW_CONTROL := y
endif

ifeq ($(CONFIG_ROME_IF),snoc)
	CONFIG_HIF_SNOC:= y
endif

# enable/disable feature flags based upon mobile router profile
ifeq ($(CONFIG_MOBILE_ROUTER), y)
CONFIG_FEATURE_WLAN_MCC_TO_SCC_SWITCH := y
CONFIG_FEATURE_WLAN_AUTO_SHUTDOWN := y
CONFIG_FEATURE_WLAN_AP_AP_ACS_OPTIMIZE := y
CONFIG_FEATURE_WLAN_STA_4ADDR_SCHEME := y
CONFIG_MDM_PLATFORM := y
CONFIG_FEATURE_WLAN_STA_AP_MODE_DFS_DISABLE := y
CONFIG_FEATURE_AP_MCC_CH_AVOIDANCE := y
else
CONFIG_QCOM_ESE := y
CONFIG_QCA_IBSS_SUPPORT := y
CONFIG_FEATURE_WLAN_RMC := y
CONFIG_WLAN_OPEN_P2P_INTERFACE := y
CONFIG_WLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY := y
endif

#enable 4addr support for QCS405
ifeq ($(CONFIG_ARCH_QCS405), y)
CONFIG_FEATURE_WLAN_STA_4ADDR_SCHEME := y
endif

#Enable power management suspend/resume functionality to PCI
CONFIG_ATH_BUS_PM := y

#Enable FLOWMAC module support
CONFIG_ATH_SUPPORT_FLOWMAC_MODULE := n

#Enable spectral support
CONFIG_ATH_SUPPORT_SPECTRAL := n

#Enable WDI Event support
ifeq ($(CONFIG_REMOVE_PKT_LOG), y)
CONFIG_WDI_EVENT_ENABLE := n
else
CONFIG_WDI_EVENT_ENABLE := y
endif

#Endianness selection
CONFIG_LITTLE_ENDIAN := y

#Enable TX reclaim support
CONFIG_TX_CREDIT_RECLAIM_SUPPORT := n

#Enable FTM support
CONFIG_QCA_WIFI_FTM := y

ifeq ($(CONFIG_QCA_WIFI_FTM), y)

ifeq ($(CONFIG_NL80211_TESTMODE), y)
	QCA_WIFI_FTM_NL80211 :=y
else
	QCA_WIFI_FTM_NL80211 :=n
endif
	CONFIG_LINUX_QCMBR :=y

else
	QCA_WIFI_FTM_NL80211 :=n
	CONFIG_LINUX_QCMBR :=n
endif


#Enable Checksum Offload
CONFIG_CHECKSUM_OFFLOAD := y

#Enable GTK offload
CONFIG_GTK_OFFLOAD := y

#Enable EXT WOW
ifeq ($(CONFIG_HIF_PCI), y)
	CONFIG_EXT_WOW := y
endif

#Set this to 1 to catch erroneous Target accesses during debug.
CONFIG_ATH_PCIE_ACCESS_DEBUG := n

#Enable IPA offload
ifeq ($(CONFIG_IPA), y)
CONFIG_IPA_OFFLOAD := y
endif
ifeq ($(CONFIG_IPA3), y)
CONFIG_IPA_OFFLOAD := y
endif

#Flag to enable SMMU S1 support
ifeq ($(CONFIG_ARCH_SDM845), y)
ifeq ($(CONFIG_IPA_OFFLOAD), y)
CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
endif
endif

ifeq ($(CONFIG_ARCH_SM8150), y)
ifeq ($(CONFIG_IPA_OFFLOAD), y)
CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
endif
endif

ifeq ($(CONFIG_ARCH_SDX20), y)
ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
ifeq ($(CONFIG_WCNSS_SKB_PRE_ALLOC), y)
CONFIG_FEATURE_SKB_PRE_ALLOC := y
endif
endif
endif

#Enable Signed firmware support for split binary format
CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT := n

#Enable single firmware binary format
CONFIG_QCA_SINGLE_BINARY_SUPPORT := n

#Enable collecting target RAM dump after kernel panic
CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC := y

#Flag to enable/disable secure firmware feature
CONFIG_FEATURE_SECURE_FIRMWARE := n

#Flag to enable Stats Ext implementation
CONFIG_FEATURE_STATS_EXT := y

#Flag to allocate memory dynamically for different buffers
CONFIG_WLAN_LOGGING_BUFFERS_DYNAMICALLY := n
CONFIG_WLAN_DFS_STATIC_MEM_ALLOC := y

#Flag to enable HTC credit history feature
CONFIG_FEATURE_HTC_CREDIT_HISTORY := y

#Flag to enable MTRACE feature
CONFIG_TRACE_RECORD_FEATURE := y

#Flag to enable p2p debug feature
CONFIG_WLAN_FEATURE_P2P_DEBUG := y

#Flag to enable roam debug log
CONFIG_FEATURE_ROAM_DEBUG := y

#Flag to enable DFS Master feature
CONFIG_WLAN_DFS_MASTER_ENABLE := y

#Flag to enable WEXT support for STA/AP/P2P interfaces
CONFIG_WLAN_WEXT_SUPPORT_ENABLE := y

#Flag to enable/disable MTRACE feature
CONFIG_ENABLE_MTRACE_LOG := y

#Flag to enable nud tracking feature
CONFIG_WLAN_NUD_TRACKING := y

#Flag to enable wbuff feature
CONFIG_WLAN_WBUFF := y

#Flag to enable set and get disable channel list feature
CONFIG_DISABLE_CHANNEL_LIST :=y

#Flag to enable Dynamic Voltage WDCVS (Config Voltage Mode)
CONFIG_WLAN_DYNAMIC_CVM := y

CONFIG_WIFI_POS_CONVERGED := y
ifneq ($(CONFIG_WIFI_POS_CONVERGED), y)
CONFIG_WIFI_POS_LEGACY := y
endif

CONFIG_CP_STATS := y

CONFIG_FEATURE_WLAN_WAPI := y

CONFIG_AGEIE_ON_SCAN_RESULTS := y

#Flag to enable FW log parsing support feature
CONFIG_FEATURE_FW_LOG_PARSING := y

CONFIG_PTT_SOCK_SVC_ENABLE := y
CONFIG_SOFTAP_CHANNEL_RANGE := y
CONFIG_FEATURE_WLAN_SCAN_PNO := y
CONFIG_WLAN_FEATURE_PACKET_FILTERING := y
CONFIG_WLAN_NS_OFFLOAD := y
CONFIG_FEATURE_WLAN_RA_FILTERING:= y
CONFIG_FEATURE_WLAN_LPHB := y
CONFIG_QCA_SUPPORT_TX_THROTTLE := y
CONFIG_WMI_INTERFACE_EVENT_LOGGING := y
CONFIG_WLAN_FEATURE_LINK_LAYER_STATS := y
CONFIG_FEATURE_WLAN_EXTSCAN := n
CONFIG_WMI_BCN_OFFLOAD := y
CONFIG_160MHZ_SUPPORT := y
CONFIG_MCL := y
CONFIG_REG_CLIENT := y
CONFIG_LEGACY_CHAN_ENUM := y
CONFIG_WLAN_PMO_ENABLE := y
CONFIG_CONVERGED_P2P_ENABLE := y
CONFIG_WLAN_POLICY_MGR_ENABLE := y
CONFIG_SUPPORT_11AX := y
CONFIG_HDD_INIT_WITH_RTNL_LOCK := y
CONFIG_WLAN_CONV_SPECTRAL_ENABLE := y
CONFIG_WLAN_SPECTRAL_ENABLE := y
CONFIG_WMI_CMD_STRINGS := y
CONFIG_FEATURE_MONITOR_MODE_SUPPORT := y
CONFIG_WLAN_ALLOCATE_GLOBAL_BUFFERS_DYNAMICALLY := n
CONFIG_WLAN_FEATURE_TWT := y
CONFIG_WLAN_FEATURE_BMI := y

#Flags to enable/disable vendor commands
CONFIG_FEATURE_RSSI_MONITOR := y
CONFIG_FEATURE_BSS_TRANSITION := y
CONFIG_FEATURE_STATION_INFO := y
CONFIG_FEATURE_TX_POWER := y
CONFIG_FEATURE_OTA_TEST := y
CONFIG_FEATURE_ACTIVE_TOS := y
CONFIG_FEATURE_SAR_LIMITS := y
CONFIG_FEATURE_CONCURRENCY_MATRIX := y
CONFIG_FEATURE_SAP_COND_CHAN_SWITCH := y
CONFIG_FEATURE_P2P_LISTEN_OFFLOAD := y

#Flags to enable/disable WMI APIs
CONFIG_WMI_ROAM_SUPPORT := y
CONFIG_WMI_CONCURRENCY_SUPPORT := y
CONFIG_WMI_STA_SUPPORT := y

#Flag to enable LTE COEX feature
CONFIG_LTE_COEX := y

#Flag to enable HOST OPCLASS feature
CONFIG_HOST_OPCLASS := y

ifeq ($(CONFIG_HELIUMPLUS), y)
ifneq ($(CONFIG_FORCE_ALLOC_FROM_DMA_ZONE), y)
CONFIG_ENABLE_DEBUG_ADDRESS_MARKING := y
endif
CONFIG_RX_OL := y
endif

ifeq ($(CONFIG_SLUB_DEBUG_ON), y)
	CONFIG_DSC_DEBUG := y
	CONFIG_DESC_TIMESTAMP_DEBUG_INFO := y
	CONFIG_FEATURE_UNIT_TEST_SUSPEND := y
	CONFIG_LEAK_DETECTION := y
	CONFIG_MAX_LOGS_PER_SEC := 500
	CONFIG_SCHED_HISTORY_SIZE := 256
	CONFIG_TALLOC_DEBUG := y
	CONFIG_UNIT_TEST := y
endif

ifeq ($(CONFIG_UNIT_TEST), y)
	CONFIG_DSC_TEST := y
	CONFIG_QDF_TEST := y
endif

# enable unit-test suspend for napier builds
ifeq ($(CONFIG_LITHIUM), y)
	CONFIG_FEATURE_UNIT_TEST_SUSPEND := y
endif

#Flag to enable hdd memory dump feature
CONFIG_FEATURE_MEMDUMP_ENABLE := y

#Flag to enable/disable WLAN D0-WOW
ifeq ($(CONFIG_PCI_MSM), y)
ifeq ($(CONFIG_HIF_PCI), y)
CONFIG_FEATURE_WLAN_D0WOW := y
endif
endif

#Enable Channel Matrix restriction for all Rome only targets
ifneq ($(CONFIG_ICNSS), y)
CONFIG_CHNL_MATRIX_RESTRICTION := y
endif

ifeq ($(CONFIG_ARCH_MDM9607), y)
CONFIG_TUFELLO_DUAL_FW_SUPPORT := y
endif

ifeq ($(CONFIG_ARCH_MSM8996), y)
CONFIG_CHANNEL_HOPPING_ALL_BANDS := y
endif

ifneq ($(CONFIG_HIF_USB), y)
CONFIG_WLAN_LOGGING_SOCK_SVC := y
endif

ifneq ($(TARGET_BUILD_VARIANT),user)
CONFIG_DESC_DUP_DETECT_DEBUG := y
CONFIG_DEBUG_RX_RING_BUFFER := y
endif

CONFIG_DP_TRACE := y

ifeq ($(CONFIG_CNSS), y)
ifeq ($(CONFIG_CNSS_SDIO), y)
CONFIG_PLD_SDIO_CNSS_FLAG := y
endif
ifeq ($(CONFIG_HIF_PCI), y)
CONFIG_PLD_PCIE_CNSS_FLAG := y
endif
endif

ifeq ($(CONFIG_CNSS2), y)
ifeq ($(CONFIG_HIF_PCI), y)
CONFIG_PLD_PCIE_CNSS_FLAG := y
CONFIG_PLD_PCIE_INIT_FLAG := y
endif
endif

#Enable STATE MACHINE HISTORY
CONFIG_SM_ENG_HIST := n

#Enable Beacon Reception Stats
CONFIG_FEATURE_BECN_STATS := y

ifeq (y,$(findstring y,$(CONFIG_ARCH_MSM) $(CONFIG_ARCH_QCOM)))
CONFIG_WLAN_FEATURE_DP_BUS_BANDWIDTH := y
endif
