diff --git a/Kbuild b/Kbuild
index f212442..67f1fe2 100644
--- a/Kbuild
+++ b/Kbuild
@@ -6,35 +6,6 @@
 	KERNEL_BUILD := n
 endif
 
-ifeq ($(CONFIG_CNSS_QCA6290), y)
-	ifeq ($(CONFIG_CNSS_EMULATION), y)
-		CONFIG_QCA_WIFI_NAPIER_EMULATION := y
-	endif
-	CONFIG_LITHIUM := y
-	CONFIG_WLAN_FEATURE_11AX := y
-	CONFIG_WLAN_FEATURE_DFS_OFFLOAD := y
-	CONFIG_IPA3 := n
-endif
-
-ifeq ($(CONFIG_CLD_HL_SDIO_CORE), y)
-	CONFIG_QCA_WIFI_SDIO := y
-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
-
 ifeq ($(KERNEL_BUILD), y)
 	# These are provided in external module based builds
 	# Need to explicitly define for Kernel-based builds
@@ -44,539 +15,12 @@
 	WLAN_COMMON_INC := $(WLAN_ROOT)/$(WLAN_COMMON_ROOT)
 endif
 
-# Make WLAN as open-source driver by default
-WLAN_OPEN_SOURCE := y
-
-ifeq ($(KERNEL_BUILD), n)
-	# These are configurable via Kconfig for kernel-based builds
-	# Need to explicitly configure for Android-based builds
-
-	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_MSM8917), y)
-		ifeq ($(CONFIG_ROME_IF), sdio)
-			CONFIG_WLAN_SYNC_TSF_PLUS := y
-		endif
-	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
-	endif
-
-	CONFIG_QCACLD_FEATURE_GREEN_AP := y
-
-	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
-
-	#Flag to enable Fast Transition (11r) feature
-	CONFIG_QCOM_VOWIFI_11R := 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
-
-	ifneq ($(CONFIG_MOBILE_ROUTER), y)
-		#Flag to enable NAN
-		CONFIG_QCACLD_FEATURE_NAN := y
-	endif
-
-	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_MPC_UT_FRAMEWORK := y
-
-	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 Fast Path feature
-	CONFIG_WLAN_FASTPATH := 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
-endif
-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_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)
-CONFIG_SHADOW_V2 := y
-CONFIG_QCA6290_HEADERS_DEF := y
-CONFIG_QCA_WIFI_QCA6290 := 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
-
-# If not set, assume, Common driver is with in the build tree
 WLAN_COMMON_ROOT ?= ../qca-wifi-host-cmn
 WLAN_COMMON_INC ?= $(WLAN_ROOT)/$(WLAN_COMMON_ROOT)
 
-# Feature flags which are not (currently) configurable via Kconfig
+CONFIG_QCA_CLD_WLAN_PROFILE ?= default
 
-#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
-
-#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
-	CONFIG_PLD_USB_CNSS := y
-endif
-
-#Enable SDIO specific APIS
-ifeq ($(CONFIG_ROME_IF),sdio)
-	CONFIG_HIF_SDIO := y
-endif
-
-#Enable pci read/write config functions
-ifeq ($(CONFIG_ROME_IF),pci)
-	CONFIG_ATH_PCI := 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_WLAN_OPEN_P2P_INTERFACE := y
-CONFIG_WLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY := 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
-CONFIG_WDI_EVENT_ENABLE := y
-
-#Endianness selection
-CONFIG_LITTLE_ENDIAN := y
-
-#Enable TX reclaim support
-CONFIG_TX_CREDIT_RECLAIM_SUPPORT := n
-
-#Enable FTM support
-CONFIG_QCA_WIFI_FTM := y
-
-#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_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 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 DFS Master feature
-CONFIG_WLAN_DFS_MASTER_ENABLE := y
-
-#Flag to enable nud tracking feature
-CONFIG_WLAN_NUD_TRACKING := y
-
-CONFIG_WIFI_POS_CONVERGED := y
-ifneq ($(CONFIG_WIFI_POS_CONVERGED), y)
-CONFIG_WIFI_POS_LEGACY := y
-endif
-
-CONFIG_CP_STATS := n
-
-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 := y
-CONFIG_160MHZ_SUPPORT := y
-CONFIG_MCL := y
-CONFIG_MCL_REGDB := y
-CONFIG_LEGACY_CHAN_ENUM := y
-CONFIG_NAPIER_SCAN := 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_CONVERGED_TDLS_ENABLE := y
-CONFIG_WLAN_CONV_SPECTRAL_ENABLE := y
-CONFIG_WLAN_SPECTRAL_ENABLE := y
-CONFIG_WMI_CMD_STRINGS := 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_FEATURE_UNIT_TEST_SUSPEND := y
-	CONFIG_LEAK_DETECTION := 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
+include $(WLAN_ROOT)/configs/$(CONFIG_QCA_CLD_WLAN_PROFILE)_defconfig
 
 ############ UAPI ############
 UAPI_DIR :=	uapi
