
include $(WLAN_ROOT)/configs/genoa.common

# Interface specific features
CONFIG_ROME_IF := usb
CONFIG_HIF_USB := y
CONFIG_LINUX_QCMBR := y
CONFIG_PLD_USB_CNSS := y

# Data Path specific features
CONFIG_ATH_11AC_TXCOMPACT := n
CONFIG_QCA_HL_NETDEV_FLOW_CONTROL := y
CONFIG_FEATURE_HL_GROUP_CREDIT_FLOW_CONTROL := y
CONFIG_FEATURE_HL_DBS_GROUP_CREDIT_SHARING := y
CONFIG_CREDIT_REP_THROUGH_CREDIT_UPDATE := y
CONFIG_HL_DP_SUPPORT := y

# Enable Motion Detection Feature
CONFIG_FEATURE_MOTION_DETECTION := y

# Debug specific features
CONFIG_MPC_UT_FRAMEWORK := n
CONFIG_FEATURE_EPPING := n
CONFIG_WLAN_FEATURE_P2P_DEBUG := n
CONFIG_WLAN_LOG_ENTER := n
CONFIG_WLAN_LOG_EXIT := n

# Features gets enabled on slub debug
CONFIG_WLAN_DEBUG_CRASH_INJECT := n
CONFIG_FEATURE_MEMDUMP_ENABLE := n

ifeq ($(CONFIG_SLUB_DEBUG_ON), y)
CONFIG_WLAN_OBJMGR_DEBUG:= n
CONFIG_FEATURE_UNIT_TEST_SUSPEND := n
CONFIG_LEAK_DETECTION := n
endif

ifeq ($(CONFIG_NETWORK_PHY_TIMESTAMPING), y)
	CONFIG_WLAN_SYNC_TSF_PTP := y
endif

CONFIG_WLAN_SYNC_TSF_PLUS := y
CONFIG_WLAN_SYNC_TSF_PLUS_EXT_GPIO_SYNC := 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

ifeq ($(CONFIG_FEATURE_ROAM_DEBUG), y)
CONFIG_CFG_NUM_ROAM_DEBUG_RECORD := 64
endif

# Genoa features vs Rome
CONFIG_RX_PN_CHECK_OFFLOAD := y
CONFIG_HTT_PADDR64 := y

CONFIG_QCA_WIFI_FTM := n
QCA_WIFI_FTM_NL80211 := n
CONFIG_LINUX_QCMBR := n
CONFIG_QCN7605_SUPPORT := y
CONFIG_TGT_NUM_MSDU_DESC := 0
# For OOB wakeup
CONFIG_WLAN_FEATURE_WOW_PULSE := y
CONFIG_HTC_MAX_MSG_PER_BUNDLE_TX := 48
CONFIG_CFG_TGT_AST_SKID_LIMIT := 16
###################################
