ASoC: config: Enable sdm450 external codec audio

Enable compilation for sdm450 audio drivers
for external codec support.

CRs-Fixed: 2165343
Change-Id: If084e19bd4ca39e1776831dda0a87cef4800997a
Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
diff --git a/asoc/Android.mk b/asoc/Android.mk
index 173d59c..9a6c1b6 100644
--- a/asoc/Android.mk
+++ b/asoc/Android.mk
@@ -15,7 +15,8 @@
 
 ifeq ($(call is-board-platform-in-list,msm8953),true)
 TARGET := sdm450
-AUDIO_SELECT  := CONFIG_SND_SOC_SDM450=m
+AUDIO_SELECT  += CONFIG_SND_SOC_SDM450=m
+AUDIO_SELECT  += CONFIG_SND_SOC_EXT_CODEC_SDM450=m
 endif
 
 AUDIO_CHIPSET := audio
@@ -63,6 +64,16 @@
 LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
 include $(DLKM_DIR)/AndroidKernelModule.mk
 ###########################################################
+ifeq ($(call is-board-platform-in-list,msm8953),true)
+include $(CLEAR_VARS)
+LOCAL_MODULE              := $(AUDIO_CHIPSET)_machine_ext_$(TARGET).ko
+LOCAL_MODULE_KBUILD_NAME  := machine_ext_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/AndroidKernelModule.mk
+endif
+###########################################################
 
 endif # DLKM check
 endif # supported target check
diff --git a/asoc/Kbuild b/asoc/Kbuild
index 4f0fc09..aba7ceb 100644
--- a/asoc/Kbuild
+++ b/asoc/Kbuild
@@ -90,11 +90,17 @@
 	MACHINE_OBJS += sdxpoorwills.o
 endif
 
-# for SDM450 sound card driver
+# for SDM450 internal codec sound card driver
 ifdef CONFIG_SND_SOC_SDM450
 	MACHINE_OBJS += msm8952.o
 endif
 
+# for SDM450 external codec sound card driver
+ifdef CONFIG_SND_SOC_EXT_CODEC_SDM450
+	MACHINE_EXT_OBJS += msm8952-slimbus.o
+	MACHINE_EXT_OBJS += msm8952-dai-links.o
+endif
+
 ifdef CONFIG_SND_SOC_CPE
 	CPE_LSM_OBJS += msm-cpe-lsm.o
 endif
@@ -183,6 +189,9 @@
 obj-$(CONFIG_SND_SOC_SDM450) += machine_dlkm.o
 machine_dlkm-y := $(MACHINE_OBJS)
 
+obj-$(CONFIG_SND_SOC_EXT_CODEC_SDM450) += machine_ext_dlkm.o
+machine_ext_dlkm-y := $(MACHINE_EXT_OBJS)
+
 obj-$(CONFIG_SND_SOC_MACHINE_SDM845) += machine_dlkm.o
 machine_dlkm-y := $(MACHINE_OBJS)
 
diff --git a/asoc/codecs/Android.mk b/asoc/codecs/Android.mk
index 041f261..955b290 100644
--- a/asoc/codecs/Android.mk
+++ b/asoc/codecs/Android.mk
@@ -12,7 +12,8 @@
 endif
 
 ifeq ($(call is-board-platform-in-list,msm8953),true)
-AUDIO_SELECT  := CONFIG_SND_SOC_SDM450=m
+AUDIO_SELECT  += CONFIG_SND_SOC_SDM450=m
+AUDIO_SELECT  += CONFIG_SND_SOC_EXT_CODEC_SDM450=m
 endif
 
 AUDIO_CHIPSET := audio
diff --git a/asoc/codecs/Kbuild b/asoc/codecs/Kbuild
index 3cea7df..b2d32fc 100644
--- a/asoc/codecs/Kbuild
+++ b/asoc/codecs/Kbuild
@@ -84,6 +84,10 @@
 	WCD9XXX_OBJS += audio-ext-clk-up.o
 endif
 
+ifdef CONFIG_COMMON_CLK_MSM
+	WCD9XXX_OBJS += audio-ext-clk.o
+endif
+
 ifdef CONFIG_SND_SOC_WCD9335
 	WCD9335_OBJS += wcd9335.o
 endif
diff --git a/config/sdm450auto.conf b/config/sdm450auto.conf
index a9621f4..6d1734f 100644
--- a/config/sdm450auto.conf
+++ b/config/sdm450auto.conf
@@ -16,6 +16,7 @@
 CONFIG_SND_SOC_MSM_HOSTLESS_PCM=m
 CONFIG_SND_SOC_MSM_QDSP6V2_INTF=m
 CONFIG_SND_SOC_SDM450=m
+CONFIG_SND_SOC_EXT_CODEC_SDM450=m
 CONFIG_SOUNDWIRE=m
 CONFIG_SOUNDWIRE_WCD_CTRL=m
 CONFIG_SND_SOC_QDSP6V2=m
diff --git a/config/sdm450autoconf.h b/config/sdm450autoconf.h
index 8137e77..59a96f0 100644
--- a/config/sdm450autoconf.h
+++ b/config/sdm450autoconf.h
@@ -29,6 +29,7 @@
 #define CONFIG_SND_SOC_MSM_HOSTLESS_PCM 1
 #define CONFIG_SND_SOC_MSM_QDSP6V2_INTF 1
 #define CONFIG_SND_SOC_SDM450 1
+#define CONFIG_SND_SOC_EXT_CODEC_SDM450 1
 #define CONFIG_SOUNDWIRE 1
 #define CONFIG_SOUNDWIRE_WCD_CTRL 1
 #define CONFIG_SND_SOC_WCD_MBHC_LEGACY 1