Browse Source

asoc: Add compilation support for Volcano

Add compilation support for volcano, includes
wcd9378 driver compilation, and add dedicated
configs for volcano which has different swr
version.

Change-Id: I8dffbe72ed524fcaaad8c9e65c7c993ad9678ae1
Signed-off-by: Sarath Varma Ganapathiraju <[email protected]>
Sarath Varma Ganapathiraju 1 year ago
parent
commit
2c0be1176f

+ 18 - 0
Android.mk

@@ -414,6 +414,24 @@ LOCAL_MODULE_TAGS         := optional
 LOCAL_MODULE_DEBUG_ENABLE := true
 LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
 include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES           := $(AUDIO_SRC_FILES)
+LOCAL_MODULE              := wcd9378_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := asoc/codecs/wcd9378/wcd9378_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES           := $(AUDIO_SRC_FILES)
+LOCAL_MODULE              := wcd9378_slave_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := asoc/codecs/wcd9378/wcd9378_slave_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
 endif
 ifeq ($(call is-board-platform-in-list, pitti),true)
 ###########################################################

+ 2 - 0
BUILD.bazel

@@ -50,9 +50,11 @@ load(":build/pitti.bzl", "define_pitti")
 load(":build/kalama.bzl", "define_kalama")
 load(":build/blair.bzl", "define_blair")
 load(":build/niobe.bzl", "define_niobe")
+load(":build/volcano.bzl", "define_volcano")
 
 define_kalama()
 define_pineapple()
 define_pitti()
 define_blair()
 define_niobe()
+define_volcano()

+ 2 - 0
EnableBazel.mk

@@ -35,6 +35,8 @@ LOCAL_MODULE_KO_DIRS += asoc/codecs/wcd938x/wcd938x_dlkm.ko
 LOCAL_MODULE_KO_DIRS += asoc/codecs/wcd938x/wcd938x_slave_dlkm.ko
 LOCAL_MODULE_KO_DIRS += asoc/codecs/wcd939x/wcd939x_dlkm.ko
 LOCAL_MODULE_KO_DIRS += asoc/codecs/wcd939x/wcd939x_slave_dlkm.ko
+LOCAL_MODULE_KO_DIRS += asoc/codecs/wcd9378/wcd9378_dlkm.ko
+LOCAL_MODULE_KO_DIRS += asoc/codecs/wcd9378/wcd9378_slave_dlkm.ko
 LOCAL_MODULE_KO_DIRS += asoc/codecs/hdmi_dlkm.ko
 endif
 

+ 9 - 1
asoc/Kbuild

@@ -76,10 +76,18 @@ ifeq ($(KERNEL_BUILD), 0)
 		include $(AUDIO_ROOT)/config/kalamaauto.conf
 		INCS    +=  -include $(AUDIO_ROOT)/config/kalamaautoconf.h
 	endif
-	ifeq ($(CONFIG_ARCH_PINEAPPLE), y)
+	ifeq ($(BOARD_PLATFORM), pineapple)
 		include $(AUDIO_ROOT)/config/pineappleauto.conf
 		INCS    +=  -include $(AUDIO_ROOT)/config/pineappleautoconf.h
 	endif
+	ifeq ($(BOARD_PLATFORM), cliffs)
+		include $(AUDIO_ROOT)/config/pineappleauto.conf
+		INCS    +=  -include $(AUDIO_ROOT)/config/pineappleautoconf.h
+	endif
+	ifeq ($(BOARD_PLATFORM), volcano)
+		include $(AUDIO_ROOT)/config/volcanoauto.conf
+		INCS    +=  -include $(AUDIO_ROOT)/config/volcanoautoconf.h
+	endif
 	ifeq ($(CONFIG_ARCH_PITTI), y)
 		include $(AUDIO_ROOT)/config/pittiauto.conf
 		INCS    +=  -include $(AUDIO_ROOT)/config/pittiautoconf.h

+ 2 - 0
audio_kernel_modules.mk

@@ -46,6 +46,8 @@ AUDIO_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/wsa884x_dlkm.ko \
 	$(KERNEL_MODULES_OUT)/wcd937x_slave_dlkm.ko \
 	$(KERNEL_MODULES_OUT)/wcd938x_dlkm.ko \
 	$(KERNEL_MODULES_OUT)/wcd938x_slave_dlkm.ko \
+	$(KERNEL_MODULES_OUT)/wcd9378_dlkm.ko \
+	$(KERNEL_MODULES_OUT)/wcd9378_slave_dlkm.ko \
 	$(KERNEL_MODULES_OUT)/swr_dmic_dlkm.ko
 endif
 ifneq ($(call is-board-platform-in-list,niobe pitti), true)

+ 3 - 1
audio_kernel_product_board.mk

@@ -33,7 +33,9 @@ PRODUCT_PACKAGES += $(KERNEL_MODULES_OUT)/swr_dmic_dlkm.ko \
 	$(KERNEL_MODULES_OUT)/wcd937x_dlkm.ko \
 	$(KERNEL_MODULES_OUT)/wcd937x_slave_dlkm.ko \
 	$(KERNEL_MODULES_OUT)/wcd938x_dlkm.ko \
-	$(KERNEL_MODULES_OUT)/wcd938x_slave_dlkm.ko
+	$(KERNEL_MODULES_OUT)/wcd938x_slave_dlkm.ko \
+	$(KERNEL_MODULES_OUT)/wcd9378_dlkm.ko \
+	$(KERNEL_MODULES_OUT)/wcd9378_slave_dlkm.ko
 endif
 ifneq ($(call is-board-platform-in-list,niobe pitti), true)
 PRODUCT_PACKAGES += $(KERNEL_MODULES_OUT)/wcd939x_dlkm.ko \

+ 4 - 1
audio_modules.bzl

@@ -163,6 +163,9 @@ audio_modules.register(
         "CONFIG_SND_SOC_PITTI": [
             "pineapple.c"
         ],
+	"CONFIG_SND_SOC_VOLCANO": [
+	    "pineapple.c"
+	],
         "CONFIG_SND_SOC_NIOBE": [
             "pineapple.c"
         ],
@@ -460,4 +463,4 @@ audio_modules.register(
     path = ASOC_CODECS_PATH + "/wcd9378",
     config_option = "CONFIG_SND_SOC_WCD9378_SLAVE",
     srcs = ["wcd9378-slave.c"]
-)
+)

+ 64 - 0
build/volcano.bzl

@@ -0,0 +1,64 @@
+load(":audio_modules.bzl", "audio_modules")
+load(":module_mgr.bzl", "define_target_modules")
+
+def define_volcano():
+    define_target_modules(
+        target = "volcano",
+        variants = ["consolidate", "gki"],
+        registry = audio_modules,
+        modules = [
+            "q6_dlkm",
+            "spf_core_dlkm",
+            "audpkt_ion_dlkm",
+            "q6_notifier_dlkm",
+            "adsp_loader_dlkm",
+            "audio_prm_dlkm",
+            "q6_pdr_dlkm",
+            "gpr_dlkm",
+            "audio_pkt_dlkm",
+            "pinctrl_lpi_dlkm",
+            "swr_dlkm",
+            "swr_ctrl_dlkm",
+            "snd_event_dlkm",
+            "machine_dlkm",
+            "wcd_core_dlkm",
+            "mbhc_dlkm",
+            "swr_dmic_dlkm",
+            "wcd9xxx_dlkm",
+            "swr_haptics_dlkm",
+            "stub_dlkm",
+            "hdmi_dlkm",
+            "lpass_cdc_dlkm",
+            "lpass_cdc_wsa_macro_dlkm",
+            "lpass_cdc_wsa2_macro_dlkm",
+            "lpass_cdc_va_macro_dlkm",
+            "lpass_cdc_rx_macro_dlkm",
+            "lpass_cdc_tx_macro_dlkm",
+            "wsa883x_dlkm",
+            "wsa884x_dlkm",
+            "wcd937x_dlkm",
+            "wcd937x_slave_dlkm",
+            "wcd938x_dlkm",
+            "wcd938x_slave_dlkm",
+            "wcd939x_dlkm",
+            "wcd939x_slave_dlkm",
+	    "wcd9378_dlkm",
+	    "wcd9378_slave_dlkm",
+        ],
+        config_options = [
+            "CONFIG_SND_SOC_PINEAPPLE",
+	    "CONFIG_SND_SOC_VOLCANO",
+            "CONFIG_SND_SOC_MSM_QDSP6V2_INTF",
+            "CONFIG_MSM_QDSP6_SSR",
+            "CONFIG_DIGITAL_CDC_RSC_MGR",
+            "CONFIG_SOUNDWIRE_MSTR_CTRL",
+            "CONFIG_SWRM_VER_1P7",
+            "CONFIG_BOLERO_VER_2P6",
+            "CONFIG_WCD9XXX_CODEC_CORE_V2",
+            "CONFIG_MSM_CDC_PINCTRL",
+            "CONFIG_SND_SOC_WCD_IRQ",
+            "CONFIG_SND_SOC_WCD9XXX_V2",
+            "CONFIG_SND_SOC_WCD_MBHC_ADC",
+            "CONFIG_MSM_EXT_DISPLAY",
+        ]
+    )

+ 3 - 0
config/pineappleauto.conf

@@ -1,5 +1,6 @@
 export CONFIG_SND_SOC_MSM_QDSP6V2_INTF=m
 export CONFIG_SND_SOC_PINEAPPLE=m
+export CONFIG_SND_SOC_VOLCANO=m
 export CONFIG_SND_EVENT=m
 export CONFIG_AUDIO_PKT_ION=m
 export CONFIG_MSM_QDSP6_NOTIFIER=m
@@ -32,6 +33,8 @@ export CONFIG_SND_SOC_WCD938X=m
 export CONFIG_SND_SOC_WCD938X_SLAVE=m
 export CONFIG_SND_SOC_WCD939X=m
 export CONFIG_SND_SOC_WCD939X_SLAVE=m
+export CONFIG_SND_SOC_WCD9378=m
+export CONFIG_SND_SOC_WCD9378_SLAVE=m
 export CONFIG_SND_SOC_WCD_MBHC=m
 export CONFIG_SND_SOC_WCD_MBHC_ADC=m
 export CONFIG_SND_SWR_HAPTICS=m

+ 4 - 1
config/pineappleautoconf.h

@@ -1,11 +1,12 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
- * Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022-2024, Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #define CONFIG_SND_SOC_MSM_QDSP6V2_INTF 1
 #define CONFIG_SND_SOC_PINEAPPLE 1
+#define CONFIG_SND_SOC_VOLCANO 1
 #define CONFIG_SND_EVENT 1
 #define CONFIG_AUDIO_PKT_ION 1
 #define CONFIG_MSM_QDSP6_NOTIFIER 1
@@ -40,6 +41,8 @@
 #define CONFIG_SND_SOC_WCD938X_SLAVE 1
 #define CONFIG_SND_SOC_WCD939X 1
 #define CONFIG_SND_SOC_WCD939X_SLAVE 1
+#define CONFIG_SND_SOC_WCD9378 1
+#define CONFIG_SND_SOC_WCD9378_SLAVE 1
 #define CONFIG_SND_SOC_WCD_MBHC 1
 #define CONFIG_SND_SOC_WCD_MBHC_ADC 1
 #define CONFIG_SND_SWR_HAPTICS 1

+ 47 - 0
config/volcanoauto.conf

@@ -0,0 +1,47 @@
+# SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
+ */
+export CONFIG_SND_SOC_MSM_QDSP6V2_INTF=m
+export CONFIG_SND_SOC_PINEAPPLE=m
+export CONFIG_SND_SOC_VOLCANO=m
+export CONFIG_SND_EVENT=m
+export CONFIG_AUDIO_PKT_ION=m
+export CONFIG_MSM_QDSP6_NOTIFIER=m
+export CONFIG_MSM_QDSP6_SSR=m
+export CONFIG_MSM_ADSP_LOADER=m
+export CONFIG_SPF_CORE=m
+export CONFIG_MSM_QDSP6_GPR_RPMSG=m
+export CONFIG_MSM_QDSP6_PDR=m
+export CONFIG_AUDIO_PRM=m
+export CONFIG_AUDIO_PKT=m
+export CONFIG_DIGITAL_CDC_RSC_MGR=m
+export CONFIG_PINCTRL_LPI=m
+export CONFIG_SOUNDWIRE=m
+export CONFIG_SOUNDWIRE_MSTR_CTRL=m
+export CONFIG_WCD9XXX_CODEC_CORE_V2=m
+export CONFIG_MSM_CDC_PINCTRL=m
+export CONFIG_SND_SOC_WSA884X=m
+export CONFIG_SND_SOC_WSA883X=m
+export CONFIG_SND_SOC_LPASS_CDC=m
+export CONFIG_SND_SOC_WCD_IRQ=m
+export CONFIG_LPASS_CDC_WSA2_MACRO=m
+export CONFIG_LPASS_CDC_WSA_MACRO=m
+export CONFIG_LPASS_CDC_VA_MACRO=m
+export CONFIG_LPASS_CDC_TX_MACRO=m
+export CONFIG_LPASS_CDC_RX_MACRO=m
+export CONFIG_SND_SOC_WCD9XXX_V2=m
+export CONFIG_SND_SOC_WCD937X=m
+export CONFIG_SND_SOC_WCD937X_SLAVE=m
+export CONFIG_SND_SOC_WCD938X=m
+export CONFIG_SND_SOC_WCD938X_SLAVE=m
+export CONFIG_SND_SOC_WCD939X=m
+export CONFIG_SND_SOC_WCD939X_SLAVE=m
+export CONFIG_SND_SOC_WCD9378=m
+export CONFIG_SND_SOC_WCD9378_SLAVE=m
+export CONFIG_SND_SOC_WCD_MBHC=m
+export CONFIG_SND_SOC_WCD_MBHC_ADC=m
+export CONFIG_SND_SWR_HAPTICS=m
+export CONFIG_SND_SOC_MSM_STUB=m
+export CONFIG_SND_SOC_MSM_HDMI_CODEC_RX=m
+export CONFIG_SND_SOC_SWR_DMIC=m

+ 52 - 0
config/volcanoautoconf.h

@@ -0,0 +1,52 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022-2024, Qualcomm Innovation Center, Inc. All rights reserved.
+ */
+
+#define CONFIG_SND_SOC_MSM_QDSP6V2_INTF 1
+#define CONFIG_SND_SOC_PINEAPPLE 1
+#define CONFIG_SND_SOC_VOLCANO 1
+#define CONFIG_SND_EVENT 1
+#define CONFIG_AUDIO_PKT_ION 1
+#define CONFIG_MSM_QDSP6_NOTIFIER 1
+#define CONFIG_MSM_QDSP6_SSR 1
+#define CONFIG_MSM_QDSP6_PDR 1
+#define CONFIG_MSM_ADSP_LOADER 1
+#define CONFIG_SPF_CORE 1
+#define CONFIG_MSM_QDSP6_GPR_RPMSG 1
+#define CONFIG_AUDIO_PRM 1
+#define CONFIG_AUDIO_PKT 1
+#define CONFIG_DIGITAL_CDC_RSC_MGR 1
+#define CONFIG_PINCTRL_LPI 1
+#define CONFIG_SOUNDWIRE 1
+#define CONFIG_SOUNDWIRE_MSTR_CTRL 1
+#define CONFIG_SWRM_VER_1P7 1
+#define CONFIG_BOLERO_VER_2P6 1
+#define CONFIG_WCD9XXX_CODEC_CORE_V2 1
+#define CONFIG_MSM_CDC_PINCTRL 1
+#define CONFIG_SND_SOC_WSA884X 1
+#define CONFIG_SND_SOC_WSA883X 1
+#define CONFIG_SND_SOC_LPASS_CDC 1
+#define CONFIG_SND_SOC_WCD_IRQ 1
+#define CONFIG_LPASS_CDC_WSA2_MACRO 1
+#define CONFIG_LPASS_CDC_WSA_MACRO 1
+#define CONFIG_LPASS_CDC_VA_MACRO 1
+#define CONFIG_LPASS_CDC_TX_MACRO 1
+#define CONFIG_LPASS_CDC_RX_MACRO 1
+#define CONFIG_SND_SOC_WCD9XXX_V2 1
+#define CONFIG_SND_SOC_WCD937X 1
+#define CONFIG_SND_SOC_WCD937X_SLAVE 1
+#define CONFIG_SND_SOC_WCD938X 1
+#define CONFIG_SND_SOC_WCD938X_SLAVE 1
+#define CONFIG_SND_SOC_WCD939X 1
+#define CONFIG_SND_SOC_WCD939X_SLAVE 1
+#define CONFIG_SND_SOC_WCD9378 1
+#define CONFIG_SND_SOC_WCD9378_SLAVE 1
+#define CONFIG_SND_SOC_WCD_MBHC 1
+#define CONFIG_SND_SOC_WCD_MBHC_ADC 1
+#define CONFIG_SND_SWR_HAPTICS 1
+#define CONFIG_SND_SOC_MSM_STUB 1
+#define CONFIG_SND_SOC_MSM_HDMI_CODEC_RX 1
+#define CONFIG_MSM_EXT_DISPLAY 1
+#define CONFIG_SND_SOC_SWR_DMIC 1

+ 4 - 0
soc/Kbuild

@@ -67,6 +67,10 @@ ifeq ($(KERNEL_BUILD), 0)
 		include $(AUDIO_ROOT)/config/pineappleauto.conf
 		INCS    +=  -include $(AUDIO_ROOT)/config/pineappleautoconf.h
 	endif
+	ifeq ($(BOARD_PLATFORM), volcano)
+		include $(AUDIO_ROOT)/config/volcanoauto.conf
+		INCS    +=  -include $(AUDIO_ROOT)/config/volcanoautoconf.h
+	endif
 	ifeq ($(CONFIG_ARCH_PITTI), y)
 		include $(AUDIO_ROOT)/config/pittiauto.conf
 		INCS    +=  -include $(AUDIO_ROOT)/config/pittiautoconf.h