# Protocol specific features
CONFIG_QCACLD_WLAN_LFR2 := y
CONFIG_QCACLD_WLAN_LFR3 := y
CONFIG_QCOM_TDLS := y
CONFIG_QCACLD_FEATURE_GREEN_AP := y
CONFIG_QCOM_VOWIFI_11R := y
CONFIG_WLAN_FEATURE_FILS := n
CONFIG_WLAN_FEATURE_11W := y
CONFIG_QCOM_LTE_COEX := n
CONFIG_WLAN_FEATURE_LPSS := n
CONFIG_QCACLD_FEATURE_NAN := n
CONFIG_WLAN_FEATURE_NAN_DATAPATH := n
CONFIG_NAN_CONVERGENCE := n
CONFIG_POWER_MANAGEMENT_OFFLOAD := y
CONFIG_LFR_SUBNET_DETECTION := y
CONFIG_MCC_TO_SCC_SWITCH := y
CONFIG_QCOM_ESE := y
CONFIG_QCA_IBSS_SUPPORT := n
CONFIG_WLAN_OPEN_P2P_INTERFACE := y
CONFIG_WLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY := y
CONFIG_WLAN_DFS_MASTER_ENABLE := y
CONFIG_WIFI_POS_CONVERGED := y
CONFIG_WIFI_POS_LEGACY := n
CONFIG_FEATURE_WLAN_WAPI := y
CONFIG_AGEIE_ON_SCAN_RESULTS := y
CONFIG_CONVERGED_P2P_ENABLE := y
CONFIG_WLAN_POLICY_MGR_ENABLE := y
CONFIG_SUPPORT_11AX := n
CONFIG_HDD_INIT_WITH_RTNL_LOCK := y
CONFIG_CONVERGED_TDLS_ENABLE := y
CONFIG_WLAN_CONV_SPECTRAL_ENABLE := y
CONFIG_WLAN_SPECTRAL_ENABLE := y
CONFIG_WMI_CMD_STRINGS := n
CONFIG_SOFTAP_CHANNEL_RANGE := y
CONFIG_FEATURE_WLAN_SCAN_PNO := y
CONFIG_DFS_PRI_MULTIPLIER := y
CONFIG_DFS_OVERRIDE_RF_THRESHOLD := y

# Interface specific features
CONFIG_ROME_IF = snoc
CONFIG_HELIUMPLUS := y
CONFIG_64BIT_PADDR := y
CONFIG_QMI_SUPPORT := y
CONFIG_WIFI_3_0_ADRASTEA := y
CONFIG_ADRASTEA_RRI_ON_DDR := y
CONFIG_ATH_PROCFS_DIAG_SUPPORT := y
CONFIG_ADRASTEA_SHADOW_REGISTERS := y
CONFIG_HTT_PADDR64 := y
CONFIG_AR900B := y
CONFIG_HIF_SNOC:= y

# Data Path specific features
CONFIG_WLAN_FASTPATH := y
CONFIG_FEATURE_TSO := y
CONFIG_WLAN_NAPI := y
CONFIG_WLAN_TX_FLOW_CONTROL_V2 := n
CONFIG_ATH_11AC_TXCOMPACT := y
CONFIG_TX_CREDIT_RECLAIM_SUPPORT := n
CONFIG_CHECKSUM_OFFLOAD := y
CONFIG_QCA_SUPPORT_TX_THROTTLE := y
CONFIG_RX_OL := y
CONFIG_FEATURE_MONITOR_MODE_SUPPORT := n
CONFIG_DESC_DUP_DETECT_DEBUG := n
CONFIG_DEBUG_RX_RING_BUFFER := n
CONFIG_RX_PERFORMANCE := y
CONFIG_SLUB_MEM_OPTIMIZE := y
CONFIG_TGT_NUM_MSDU_DESC := 900
CONFIG_WLAN_PDEV_TX_FLOW_CONTROL := y
CONFIG_FEATURE_WLAN_STA_4ADDR_SCHEME := y

ifeq ($(CONFIG_INET_LRO), y)
CONFIG_WLAN_LRO := y
else
CONFIG_WLAN_LRO := n
endif

ifeq ($(CONFIG_IPA), y)
CONFIG_IPA_OFFLOAD := y
endif
ifeq ($(CONFIG_IPA3), y)
CONFIG_IPA_OFFLOAD := y
endif

ifneq ($(CONFIG_FORCE_ALLOC_FROM_DMA_ZONE), y)
CONFIG_ENABLE_DEBUG_ADDRESS_MARKING := y
endif

# Debug specific features
BUILD_DEBUG_VERSION := n
BUILD_DIAG_VERSION := y
CONFIG_FEATURE_TSO_DEBUG := y
CONFIG_MPC_UT_FRAMEWORK := n
CONFIG_FEATURE_EPPING := n
CONFIG_WLAN_NAPI_DEBUG := n
CONFIG_REMOVE_PKT_LOG := y
CONFIG_FEATURE_STATS_EXT := y
CONFIG_FEATURE_HTC_CREDIT_HISTORY := y
CONFIG_TRACE_RECORD_FEATURE := y
CONFIG_WLAN_FEATURE_P2P_DEBUG := n
CONFIG_WLAN_NUD_TRACKING := n
CONFIG_CP_STATS := n
CONFIG_FEATURE_FW_LOG_PARSING := y
CONFIG_PTT_SOCK_SVC_ENABLE := y
CONFIG_WMI_INTERFACE_EVENT_LOGGING := y
CONFIG_WLAN_FEATURE_LINK_LAYER_STATS := y
CONFIG_DP_TRACE := n
CONFIG_QCACLD_FEATURE_HW_CAPABILITY := y

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

ifeq ($(CONFIG_REMOVE_PKT_LOG), y)
CONFIG_WDI_EVENT_ENABLE := n
else
CONFIG_WDI_EVENT_ENABLE := y
endif

# Features gets enabled on slub debug
CONFIG_WLAN_OBJMGR_DEBUG:= n
CONFIG_OL_RX_INDICATION_RECORD := n
CONFIG_TSOSEG_DEBUG := n
CONFIG_FEATURE_PKTLOG := n
CONFIG_WLAN_DEBUG_CRASH_INJECT := n
PANIC_ON_BUG := y
WLAN_WARN_ON_ASSERT := y
CONFIG_FEATURE_MEMDUMP_ENABLE := n
CONFIG_WLAN_LOGGING_SOCK_SVC := n
CONFIG_FEATURE_UNIT_TEST_SUSPEND := n
CONFIG_LEAK_DETECTION := n

ifeq ($(CONFIG_DEBUG_FS), y)
       CONFIG_WLAN_DEBUGFS := n
       CONFIG_WLAN_POWER_DEBUGFS := n
endif

# other features
WLAN_OPEN_SOURCE := y
CONFIG_ATH_PERF_PWR_OFFLOAD := y
CONFIG_ATH_BUS_PM := y
CONFIG_ATH_SUPPORT_FLOWMAC_MODULE := n
CONFIG_ATH_SUPPORT_SPECTRAL := n
CONFIG_LITTLE_ENDIAN := y
CONFIG_QCA_WIFI_FTM := y
CONFIG_ATH_PCIE_ACCESS_DEBUG := n
CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT := n
CONFIG_QCA_SINGLE_BINARY_SUPPORT := n
CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC := y
CONFIG_FEATURE_SECURE_FIRMWARE := n
CONFIG_WLAN_FEATURE_PACKET_FILTERING := y
CONFIG_WLAN_NS_OFFLOAD := y
CONFIG_FEATURE_WLAN_RA_FILTERING:= y
CONFIG_FEATURE_WLAN_LPHB := y
CONFIG_FEATURE_WLAN_EXTSCAN := n
CONFIG_160MHZ_SUPPORT := y
CONFIG_MCL := y
CONFIG_MCL_REGDB := y
CONFIG_WLAN_OFFLOAD_PACKETS := y
CONFIG_WLAN_SYNC_TSF := y
CONFIG_WLAN_SYNC_TSF_PLUS := y
CONFIG_WLAN_SYNC_TSF_PLUS_NOIRQ := y
CONFIG_WLAN_FEATURE_DISA := y
CONFIG_WLAN_FEATURE_FIPS := y
CONFIG_WLAN_FEATURE_SAE := y
CONFIG_GTK_OFFLOAD := y
CONFIG_QCACLD_FEATURE_COEX_CONFIG := y
CONFIG_QCACLD_FEATURE_MPTA_HELPER := y

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

#Enable FW Offload
CONFIG_WLAN_FW_OFFLOAD := y

CONFIG_ENABLE_SIZE_OPTIMIZE := y

# configure log buffer size
CONFIG_CFG_NUM_DP_TRACE_RECORD := 1000
CONFIG_CFG_NUM_HTC_CREDIT_HISTORY := 16
CONFIG_CFG_NUM_WMI_EVENT_HISTORY := 16
CONFIG_CFG_NUM_WMI_MGMT_EVENT_HISTORY := 16
CONFIG_CFG_NUM_TX_RX_HISTOGRAM := 16
# CONFIG_CFG_NUM_RX_IND_RECORD := 1024

CONFIG_SAP_DHCP_FW_IND := y
###################################
