Merge 0709b47e97 on remote branch

Change-Id: I96230cae6daf592941a9732a80f3e91c1dc5f5a1
This commit is contained in:
Linux Build Service Account
2023-06-20 16:48:20 -07:00
25 changed files with 730 additions and 5588 deletions

View File

@@ -2,19 +2,23 @@
LOCAL_PATH := $(call my-dir)
ifeq ($(call is-board-platform, taro),true)
ifeq ($(call is-board-platform-in-list,taro),true)
AUDIO_SELECT := CONFIG_SND_SOC_WAIPIO=m
endif
ifeq ($(call is-board-platform, kalama),true)
ifeq ($(call is-board-platform-in-list,kalama),true)
AUDIO_SELECT := CONFIG_SND_SOC_KALAMA=m
endif
ifeq ($(call is-board-platform, bengal),true)
ifeq ($(call is-board-platform-in-list,bengal),true)
AUDIO_SELECT := CONFIG_SND_SOC_BENGAL=m
endif
ifeq ($(call is-board-platform, pineapple),true)
ifeq ($(call is-board-platform-in-list,holi blair),true)
AUDIO_SELECT := CONFIG_SND_SOC_HOLI=m
endif
ifeq ($(call is-board-platform-in-list,pineapple),true)
AUDIO_SELECT := CONFIG_SND_SOC_PINEAPPLE=m
endif
@@ -23,7 +27,7 @@ include $(call all-subdir-makefiles)
endif
# Build/Package only in case of supported target
ifeq ($(call is-board-platform-in-list,taro kalama bengal pineapple), true)
ifeq ($(call is-board-platform-in-list,taro kalama bengal pineapple holi blair), true)
LOCAL_PATH := $(call my-dir)
@@ -34,6 +38,7 @@ ifneq ($(findstring opensource,$(LOCAL_PATH)),)
AUDIO_BLD_DIR := $(abspath .)/vendor/qcom/opensource/audio-kernel
endif # opensource
include $(AUDIO_BLD_DIR)/EnableBazel.mk
DLKM_DIR := $(TOP)/device/qcom/common/dlkm
@@ -48,7 +53,10 @@ KBUILD_OPTIONS := AUDIO_ROOT=$(AUDIO_BLD_DIR)
KBUILD_OPTIONS += MODNAME=audio_dlkm
KBUILD_OPTIONS += BOARD_PLATFORM=$(TARGET_BOARD_PLATFORM)
KBUILD_OPTIONS += $(AUDIO_SELECT)
ifneq ($(call is-board-platform-in-list, bengal holi blair),true)
KBUILD_OPTIONS += KBUILD_EXTRA_SYMBOLS=$(PWD)/$(call intermediates-dir-for,DLKM,msm-ext-disp-module-symvers)/Module.symvers
endif
AUDIO_SRC_FILES := \
$(wildcard $(LOCAL_PATH)/*) \
@@ -196,7 +204,7 @@ LOCAL_MODULE_DEBUG_ENABLE := true
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
include $(DLKM_DIR)/Build_external_kernelmodule.mk
###########################################################
ifneq ($(call is-board-platform-in-list, bengal),true)
ifneq ($(call is-board-platform-in-list, bengal holi blair),true)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(AUDIO_SRC_FILES)
LOCAL_MODULE := swr_dmic_dlkm.ko
@@ -216,7 +224,7 @@ LOCAL_MODULE_DEBUG_ENABLE := true
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
include $(DLKM_DIR)/Build_external_kernelmodule.mk
###########################################################
ifneq ($(call is-board-platform-in-list, bengal),true)
ifneq ($(call is-board-platform-in-list, bengal holi blair),true)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(AUDIO_SRC_FILES)
LOCAL_MODULE := swr_haptics_dlkm.ko
@@ -245,7 +253,7 @@ LOCAL_MODULE_DEBUG_ENABLE := true
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
include $(DLKM_DIR)/Build_external_kernelmodule.mk
########################### LPASS-CDC CODEC ###########################
ifneq ($(call is-board-platform-in-list, bengal),true)
ifneq ($(call is-board-platform-in-list, bengal holi blair),true)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(AUDIO_SRC_FILES)
LOCAL_MODULE := lpass_cdc_dlkm.ko
@@ -369,7 +377,7 @@ LOCAL_ADDITIONAL_DEPENDENCIES := $(call intermediates-dir-for,DLKM,msm-ext-disp-
include $(DLKM_DIR)/Build_external_kernelmodule.mk
endif
ifeq ($(call is-board-platform-in-list, bengal),true)
ifeq ($(call is-board-platform-in-list, bengal holi blair),true)
###########################################################
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(AUDIO_SRC_FILES)
@@ -434,6 +442,27 @@ 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,holi blair),true)
########################### WCD938x CODEC ################################
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(AUDIO_SRC_FILES)
LOCAL_MODULE := wcd938x_dlkm.ko
LOCAL_MODULE_KBUILD_NAME := asoc/codecs/wcd938x/wcd938x_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 := wcd938x_slave_dlkm.ko
LOCAL_MODULE_KBUILD_NAME := asoc/codecs/wcd938x/wcd938x_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
##########################################################
endif # DLKM check
endif # supported target check

37
EnableBazel.mk Normal file
View File

@@ -0,0 +1,37 @@
ifeq ($(call is-board-platform-in-list,pineapple),true)
LOCAL_MODULE_DDK_BUILD := true
LOCAL_MODULE_KO_DIRS := dsp/q6_notifier_dlkm.ko
LOCAL_MODULE_KO_DIRS += dsp/spf_core_dlkm.ko
LOCAL_MODULE_KO_DIRS += dsp/audpkt_ion_dlkm.ko
LOCAL_MODULE_KO_DIRS += ipc/gpr_dlkm.ko
LOCAL_MODULE_KO_DIRS += ipc/audio_pkt_dlkm.ko
LOCAL_MODULE_KO_DIRS += dsp/q6_dlkm.ko
LOCAL_MODULE_KO_DIRS += dsp/adsp_loader_dlkm.ko
LOCAL_MODULE_KO_DIRS += dsp/audio_prm_dlkm.ko
LOCAL_MODULE_KO_DIRS += dsp/q6_pdr_dlkm.ko
LOCAL_MODULE_KO_DIRS += soc/pinctrl_lpi_dlkm.ko
LOCAL_MODULE_KO_DIRS += soc/swr_dlkm.ko
LOCAL_MODULE_KO_DIRS += soc/swr_ctrl_dlkm.ko
LOCAL_MODULE_KO_DIRS += soc/snd_event_dlkm.ko
LOCAL_MODULE_KO_DIRS += asoc/codecs/wcd_core_dlkm.ko
LOCAL_MODULE_KO_DIRS += asoc/codecs/mbhc_dlkm.ko
LOCAL_MODULE_KO_DIRS += asoc/codecs/swr_dmic_dlkm.ko
LOCAL_MODULE_KO_DIRS += asoc/codecs/wcd9xxx_dlkm.ko
LOCAL_MODULE_KO_DIRS += asoc/codecs/swr_haptics_dlkm.ko
LOCAL_MODULE_KO_DIRS += asoc/codecs/stub_dlkm.ko
LOCAL_MODULE_KO_DIRS += asoc/machine_dlkm.ko
LOCAL_MODULE_KO_DIRS += asoc/codecs/lpass-cdc/lpass_cdc_dlkm.ko
LOCAL_MODULE_KO_DIRS += asoc/codecs/lpass-cdc/lpass_cdc_wsa2_macro_dlkm.ko
LOCAL_MODULE_KO_DIRS += asoc/codecs/lpass-cdc/lpass_cdc_wsa_macro_dlkm.ko
LOCAL_MODULE_KO_DIRS += asoc/codecs/lpass-cdc/lpass_cdc_va_macro_dlkm.ko
LOCAL_MODULE_KO_DIRS += asoc/codecs/lpass-cdc/lpass_cdc_tx_macro_dlkm.ko
LOCAL_MODULE_KO_DIRS += asoc/codecs/lpass-cdc/lpass_cdc_rx_macro_dlkm.ko
LOCAL_MODULE_KO_DIRS += asoc/codecs/wsa884x/wsa884x_dlkm.ko
LOCAL_MODULE_KO_DIRS += asoc/codecs/wsa883x/wsa883x_dlkm.ko
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/hdmi_dlkm.ko
endif

View File

@@ -79,6 +79,14 @@ ifeq ($(KERNEL_BUILD), 0)
export
INCS += -include $(AUDIO_ROOT)/config/bengalautoconf.h
endif
ifeq ($(CONFIG_ARCH_HOLI), y)
include $(AUDIO_ROOT)/config/holiauto.conf
INCS += -include $(AUDIO_ROOT)/config/holiautoconf.h
endif
ifeq ($(CONFIG_ARCH_BLAIR), y)
include $(AUDIO_ROOT)/config/holiauto.conf
INCS += -include $(AUDIO_ROOT)/config/holiautoconf.h
endif
ifeq ($(CONFIG_ARCH_SDMSHRIKE), y)
ifdef CONFIG_SND_SOC_SA8155
include $(AUDIO_ROOT)/config/sa8155auto.conf

View File

@@ -79,6 +79,14 @@ ifeq ($(KERNEL_BUILD), 0)
export
INCS += -include $(AUDIO_ROOT)/config/bengalautoconf.h
endif
ifeq ($(CONFIG_ARCH_HOLI), y)
include $(AUDIO_ROOT)/config/holiauto.conf
INCS += -include $(AUDIO_ROOT)/config/holiautoconf.h
endif
ifeq ($(CONFIG_ARCH_BLAIR), y)
include $(AUDIO_ROOT)/config/holiauto.conf
INCS += -include $(AUDIO_ROOT)/config/holiautoconf.h
endif
ifeq ($(CONFIG_ARCH_SDMSHRIKE), y)
include $(AUDIO_ROOT)/config/sm8150auto.conf
export

View File

@@ -34,6 +34,14 @@ ifeq ($(KERNEL_BUILD), 0)
include $(AUDIO_ROOT)/config/waipioauto.conf
INCS += -include $(AUDIO_ROOT)/config/waipioautoconf.h
endif
ifeq ($(CONFIG_ARCH_HOLI), y)
include $(AUDIO_ROOT)/config/holiauto.conf
INCS += -include $(AUDIO_ROOT)/config/holiautoconf.h
endif
ifeq ($(CONFIG_ARCH_BLAIR), y)
include $(AUDIO_ROOT)/config/holiauto.conf
INCS += -include $(AUDIO_ROOT)/config/holiautoconf.h
endif
ifeq ($(CONFIG_ARCH_LITO), y)
include $(AUDIO_ROOT)/config/litoauto.conf
export

View File

@@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <linux/of_platform.h>
@@ -106,7 +107,7 @@ int bolero_rsc_clk_reset(struct device *dev, int clk_id)
int count = 0;
if (!dev) {
pr_err("%s: dev is null %d\n", __func__);
pr_err("%s: dev is null\n", __func__);
return -EINVAL;
}
@@ -153,7 +154,7 @@ void bolero_clk_rsc_enable_all_clocks(struct device *dev, bool enable)
int i = 0;
if (!dev) {
pr_err("%s: dev is null %d\n", __func__);
pr_err("%s: dev is null\n", __func__);
return;
}
@@ -455,7 +456,7 @@ void bolero_clk_rsc_fs_gen_request(struct device *dev, bool enable)
struct bolero_clk_rsc *priv = NULL;
if (!dev) {
pr_err("%s: dev is null %d\n", __func__);
pr_err("%s: dev is null\n", __func__);
return;
}
clk_dev = bolero_get_rsc_clk_device_ptr(dev->parent);
@@ -531,7 +532,7 @@ int bolero_clk_rsc_request_clock(struct device *dev,
bool mux_switch = false;
if (!dev) {
pr_err("%s: dev is null %d\n", __func__);
pr_err("%s: dev is null\n", __func__);
return -EINVAL;
}
if ((clk_id_req < 0 || clk_id_req >= MAX_CLK) &&

View File

@@ -1323,6 +1323,7 @@ static int lpass_cdc_wsa_macro_enable_mix_path(struct snd_soc_dapm_widget *w,
int offset_val = 0;
int val = 0;
uint16_t mix_reg = 0;
uint16_t reg = 0;
dev_dbg(component->dev, "%s %d %s\n", __func__, event, w->name);
@@ -1336,6 +1337,8 @@ static int lpass_cdc_wsa_macro_enable_mix_path(struct snd_soc_dapm_widget *w,
return 0;
}
reg = LPASS_CDC_WSA_RX0_RX_PATH_CTL +
(LPASS_CDC_WSA_MACRO_RX_PATH_OFFSET * w->shift);
mix_reg = LPASS_CDC_WSA_RX0_RX_PATH_MIX_CTL +
LPASS_CDC_WSA_MACRO_RX_PATH_OFFSET * w->shift;
@@ -1344,6 +1347,8 @@ static int lpass_cdc_wsa_macro_enable_mix_path(struct snd_soc_dapm_widget *w,
snd_soc_component_update_bits(component, mix_reg, 0x40, 0x40);
usleep_range(500, 510);
snd_soc_component_update_bits(component, mix_reg, 0x40, 0x00);
snd_soc_component_update_bits(component,
reg, 0x20, 0x20);
snd_soc_component_update_bits(component,
mix_reg, 0x20, 0x20);
lpass_cdc_wsa_macro_enable_swr(w, kcontrol, event);

View File

@@ -1329,6 +1329,7 @@ static int lpass_cdc_wsa2_macro_enable_mix_path(struct snd_soc_dapm_widget *w,
int offset_val = 0;
int val = 0;
uint16_t mix_reg = 0;
uint16_t reg = 0;
dev_dbg(component->dev, "%s %d %s\n", __func__, event, w->name);
@@ -1342,13 +1343,17 @@ static int lpass_cdc_wsa2_macro_enable_mix_path(struct snd_soc_dapm_widget *w,
return 0;
}
reg = LPASS_CDC_WSA2_RX0_RX_PATH_CTL +
LPASS_CDC_WSA2_MACRO_RX_PATH_OFFSET * w->shift;
mix_reg = LPASS_CDC_WSA2_RX0_RX_PATH_MIX_CTL +
LPASS_CDC_WSA2_MACRO_RX_PATH_OFFSET * w->shift;
switch (event) {
case SND_SOC_DAPM_PRE_PMU:
snd_soc_component_update_bits(component, mix_reg, 0x40, 0x40);
usleep_range(500, 510);
snd_soc_component_update_bits(component, mix_reg, 0x40, 0x00);
snd_soc_component_update_bits(component, reg, 0x20, 0x20);
snd_soc_component_update_bits(component,
mix_reg, 0x20, 0x20);
lpass_cdc_wsa2_macro_enable_swr(w, kcontrol, event);

View File

@@ -963,6 +963,21 @@ static bool wcd_mbhc_moisture_detect(struct wcd_mbhc *mbhc, bool detection_type)
return ret;
}
static void wcd_mbhc_set_hsj_connect(struct snd_soc_component *component, bool connect)
{
#if IS_ENABLED(CONFIG_QCOM_WCD_USBSS_I2C)
if (connect) {
if (of_find_property(component->card->dev->of_node,
"qcom,usbss-hsj-connect-enabled", NULL))
wcd_usbss_switch_update(WCD_USBSS_HSJ_CONNECT, WCD_USBSS_CABLE_CONNECT);
} else {
if (of_find_property(component->card->dev->of_node,
"qcom,usbss-hsj-connect-enabled", NULL))
wcd_usbss_switch_update(WCD_USBSS_HSJ_CONNECT, WCD_USBSS_CABLE_DISCONNECT);
}
#endif
}
static void wcd_mbhc_swch_irq_handler(struct wcd_mbhc *mbhc)
{
bool detection_type = 0;
@@ -1004,6 +1019,7 @@ static void wcd_mbhc_swch_irq_handler(struct wcd_mbhc *mbhc)
if ((mbhc->current_plug == MBHC_PLUG_TYPE_NONE) &&
detection_type) {
wcd_mbhc_set_hsj_connect(component, 1);
/* If moisture is present, then enable polling, disable
* moisture detection and wait for interrupt
*/
@@ -1119,6 +1135,7 @@ static void wcd_mbhc_swch_irq_handler(struct wcd_mbhc *mbhc)
mbhc->mbhc_cb->mbhc_moisture_detect_en(mbhc,
false);
}
wcd_mbhc_set_hsj_connect(component, 0);
} else if (!detection_type) {
/* Disable external voltage source to micbias if present */

View File

@@ -40,6 +40,14 @@ ifeq ($(KERNEL_BUILD), 0)
include $(AUDIO_ROOT)/config/waipioauto.conf
INCS += -include $(AUDIO_ROOT)/config/waipioautoconf.h
endif
ifeq ($(CONFIG_ARCH_HOLI), y)
include $(AUDIO_ROOT)/config/holiauto.conf
INCS += -include $(AUDIO_ROOT)/config/holiautoconf.h
endif
ifeq ($(CONFIG_ARCH_BLAIR), y)
include $(AUDIO_ROOT)/config/holiauto.conf
INCS += -include $(AUDIO_ROOT)/config/holiautoconf.h
endif
endif
# As per target team, build is done as follows:

View File

@@ -107,7 +107,6 @@ static struct regmap_irq_chip wcd937x_regmap_irq_chip = {
//#if IS_ENABLED(CONFIG_AUDIO_QGKI)
.clear_ack = 1,
//#endif
.mask_writeonly = 1,
.type_base = WCD937X_DIGITAL_INTR_LEVEL_0,
.runtime_pm = false,
.handle_post_irq = wcd937x_handle_post_irq,

View File

@@ -35,7 +35,14 @@ ifeq ($(KERNEL_BUILD), 0)
include $(AUDIO_ROOT)/config/pineappleauto.conf
INCS += -include $(AUDIO_ROOT)/config/pineappleautoconf.h
endif
ifeq ($(CONFIG_ARCH_HOLI), y)
include $(AUDIO_ROOT)/config/holiauto.conf
INCS += -include $(AUDIO_ROOT)/config/holiautoconf.h
endif
ifeq ($(CONFIG_ARCH_BLAIR), y)
include $(AUDIO_ROOT)/config/holiauto.conf
INCS += -include $(AUDIO_ROOT)/config/holiautoconf.h
endif
endif
# As per target team, build is done as follows:

View File

@@ -801,60 +801,66 @@ EXPORT_SYMBOL(wcd939x_soc_get_mbhc);
static int wcd939x_config_power_mode(struct snd_soc_component *component,
int event, int index, int mode)
{
struct wcd939x_priv *wcd939x = snd_soc_component_get_drvdata(component);
switch (event) {
case SND_SOC_DAPM_PRE_PMU:
if (mode == CLS_H_ULP) {
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(REFBUFF_UHQA_CTL, REFBUFP_IOUT_CTL, 0x2));
REG_FIELD_VALUE(REFBUFF_UHQA_CTL, REFBUFP_IOUT_CTL, 0x1));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(REFBUFF_UHQA_CTL, REFBUFN_IOUT_CTL, 0x2));
if (index == WCD939X_HPHL) {
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL12, ZONE3_RMS, 0x21));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL13, ZONE4_RMS, 0x30));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL14, ZONE5_RMS, 0x3F));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL15, ZONE6_RMS, 0x48));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL17, PATH_GAIN, 0x0C));
} else if (index == WCD939X_HPHR) {
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL12, ZONE3_RMS, 0x21));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL13, ZONE4_RMS, 0x30));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL14, ZONE5_RMS, 0x3F));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL15, ZONE6_RMS, 0x48));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL17, PATH_GAIN, 0x0C));
REG_FIELD_VALUE(REFBUFF_UHQA_CTL, REFBUFN_IOUT_CTL, 0x1));
if (wcd939x->compander_enabled[index]) {
if (index == WCD939X_HPHL) {
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL12, ZONE3_RMS, 0x21));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL13, ZONE4_RMS, 0x30));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL14, ZONE5_RMS, 0x3F));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL15, ZONE6_RMS, 0x48));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL17, PATH_GAIN, 0x0C));
} else if (index == WCD939X_HPHR) {
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL12, ZONE3_RMS, 0x21));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL13, ZONE4_RMS, 0x30));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL14, ZONE5_RMS, 0x3F));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL15, ZONE6_RMS, 0x48));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL17, PATH_GAIN, 0x0C));
}
}
} else {
if (index == WCD939X_HPHL) {
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL12, ZONE3_RMS, 0x1E));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL13, ZONE4_RMS, 0x2A));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL14, ZONE5_RMS, 0x36));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL15, ZONE6_RMS, 0x3C));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL17, PATH_GAIN, 0x00));
} else if (index == WCD939X_HPHR) {
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL12, ZONE3_RMS, 0x1E));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL13, ZONE4_RMS, 0x2A));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL14, ZONE5_RMS, 0x36));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL15, ZONE6_RMS, 0x2C));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL17, PATH_GAIN, 0x00));
if (wcd939x->compander_enabled[index]) {
if (index == WCD939X_HPHL) {
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL12, ZONE3_RMS, 0x1E));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL13, ZONE4_RMS, 0x2A));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL14, ZONE5_RMS, 0x36));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL15, ZONE6_RMS, 0x3C));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(CTL17, PATH_GAIN, 0x00));
} else if (index == WCD939X_HPHR) {
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL12, ZONE3_RMS, 0x1E));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL13, ZONE4_RMS, 0x2A));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL14, ZONE5_RMS, 0x36));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL15, ZONE6_RMS, 0x3C));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_CTL17, PATH_GAIN, 0x00));
}
}
}
break;
@@ -942,10 +948,9 @@ static int wcd939x_config_compander(struct snd_soc_component *component,
int event, int compander_indx)
{
u16 comp_ctl7_reg = 0, comp_ctl0_reg = 0;
u16 comp_en_mask_val = 0;
u16 comp_en_mask_val = 0, gain_source_sel = 0;
struct wcd939x_priv *wcd939x;
if (compander_indx >= WCD939X_HPH_MAX || compander_indx < 0) {
pr_err_ratelimited("%s: Invalid compander value: %d\n",
__func__, compander_indx);
@@ -957,12 +962,30 @@ static int wcd939x_config_compander(struct snd_soc_component *component,
return -EINVAL;
}
wcd939x = snd_soc_component_get_drvdata(component);
if (!wcd939x->compander_enabled[compander_indx])
if (!wcd939x->hph_pcm_enabled)
return 0;
dev_dbg(component->dev, "%s compander_index = %d\n", __func__, compander_indx);
if (!wcd939x->compander_enabled[compander_indx]) {
if (SND_SOC_DAPM_EVENT_ON(event))
gain_source_sel = 0x01;
else
gain_source_sel = 0x00;
if (compander_indx == WCD939X_HPHL) {
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(L_EN, GAIN_SOURCE_SEL, gain_source_sel));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(PA_GAIN_CTL_L, PA_GAIN_L, 0x04));
} else if (compander_indx == WCD939X_HPHR) {
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_EN, GAIN_SOURCE_SEL, gain_source_sel));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(PA_GAIN_CTL_R, PA_GAIN_R, 0x04));
}
return 0;
}
if (compander_indx == WCD939X_HPHL)
comp_en_mask_val = 1 << 1;
else if (compander_indx == WCD939X_HPHR)
@@ -970,7 +993,6 @@ static int wcd939x_config_compander(struct snd_soc_component *component,
else
return 0;
comp_ctl0_reg = WCD939X_CTL0 + (compander_indx * WCD939X_COMP_OFFSET);
comp_ctl7_reg = WCD939X_CTL7 + (compander_indx * WCD939X_COMP_OFFSET);
@@ -982,12 +1004,12 @@ static int wcd939x_config_compander(struct snd_soc_component *component,
snd_soc_component_update_bits(component,
comp_ctl0_reg , 0x01, 0x01);
/* 250us sleep required as per HW Sequence */
usleep_range(250, 260);
/* 250us sleep required as per HW Sequence */
usleep_range(250, 260);
snd_soc_component_update_bits(component,
comp_ctl0_reg , 0x02, 0x01);
comp_ctl0_reg, 0x02, 0x02);
snd_soc_component_update_bits(component,
comp_ctl0_reg , 0x02, 0x00);
comp_ctl0_reg, 0x02, 0x00);
/* Enable compander*/
snd_soc_component_update_bits(component,
@@ -998,6 +1020,12 @@ static int wcd939x_config_compander(struct snd_soc_component *component,
WCD939X_CDC_COMP_CTL_0, comp_en_mask_val, 0x00);
snd_soc_component_update_bits(component,
comp_ctl0_reg , 0x01, 0x00);
if (compander_indx == WCD939X_HPHL)
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(L_EN, GAIN_SOURCE_SEL, 0x0));
if (compander_indx == WCD939X_HPHR)
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(R_EN, GAIN_SOURCE_SEL, 0x0));
}
return 0;
@@ -1355,9 +1383,17 @@ static int wcd939x_codec_hphl_dac_event(struct snd_soc_dapm_widget *w,
REG_FIELD_VALUE(L_EN, GAIN_SOURCE_SEL, 0x01));
}
}
if (wcd939x->hph_pcm_enabled)
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(HPH_TIMER1, AUTOCHOP_TIMER_CTL_EN, 0x00));
if (wcd939x->hph_pcm_enabled) {
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(HPH_TIMER1, AUTOCHOP_TIMER_CTL_EN, 0x00));
snd_soc_component_write(component, WCD939X_VNEG_CTRL_1, 0xEB);
if (wcd939x->hph_mode == CLS_H_LOHIFI)
snd_soc_component_write(component,
WCD939X_HPH_RDAC_BIAS_LOHIFI, 0x52);
else
snd_soc_component_write(component,
WCD939X_HPH_RDAC_BIAS_LOHIFI, 0x64);
}
break;
case SND_SOC_DAPM_POST_PMD:
snd_soc_component_update_bits(component,
@@ -1412,6 +1448,15 @@ static int wcd939x_codec_hphr_dac_event(struct snd_soc_dapm_widget *w,
REG_FIELD_VALUE(R_EN, GAIN_SOURCE_SEL, 0x01));
}
}
if (wcd939x->hph_pcm_enabled) {
snd_soc_component_write(component, WCD939X_VNEG_CTRL_1, 0xEB);
if (wcd939x->hph_mode == CLS_H_LOHIFI)
snd_soc_component_write(component,
WCD939X_HPH_RDAC_BIAS_LOHIFI, 0x52);
else
snd_soc_component_write(component,
WCD939X_HPH_RDAC_BIAS_LOHIFI, 0x64);
}
break;
case SND_SOC_DAPM_POST_PMD:
snd_soc_component_update_bits(component,
@@ -1487,33 +1532,30 @@ static int wcd939x_codec_enable_hphr_pa(struct snd_soc_dapm_widget *w,
WCD_CLSH_EVENT_PRE_DAC,
WCD_CLSH_STATE_HPHR,
hph_mode);
wcd_clsh_set_hph_mode(component, CLS_H_HIFI);
if (hph_mode == CLS_H_LP || hph_mode == CLS_H_LOHIFI ||
hph_mode == CLS_H_ULP) {
if (!wcd939x->hph_pcm_enabled)
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(REFBUFF_LP_CTL, PREREF_FILT_BYPASS, 0x01));
}
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(VNEG_CTRL_4, ILIM_SEL, 0xD));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(HPH, HPHR_REF_ENABLE, 0x01));
wcd_clsh_set_hph_mode(component, hph_mode);
/* update Mode for LOHIFI */
if (hph_mode == CLS_H_LOHIFI) {
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(HPH, PWR_LEVEL, 0x00));
}
/* update USBSS power mode for AATC */
if (wcd939x->mbhc->wcd_mbhc.mbhc_cfg->enable_usbc_analog)
wcd_usbss_audio_config(NULL, WCD_USBSS_CONFIG_TYPE_POWER_MODE,
wcd939x_get_usbss_hph_power_mode(hph_mode));
/* update Mode for LOHIFI */
if (hph_mode == CLS_H_LOHIFI) {
snd_soc_component_write(component,
WCD939X_HPH_RDAC_BIAS_LOHIFI, 0x52);
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(HPH, PWR_LEVEL, 0x00));
}
/* 100 usec delay as per HW requirement */
usleep_range(100, 110);
set_bit(HPH_PA_DELAY, &wcd939x->status_mask);
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(VNEG_CTRL_4, ILIM_SEL, 0xD));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(HPH, HPHR_REF_ENABLE, 0x01));
if ((snd_soc_component_read(component, WCD939X_HPH) & 0x30) == 0x30)
usleep_range(2500, 2600); /* 2.5msec delay as per HW requirement */
set_bit(HPH_PA_DELAY, &wcd939x->status_mask);
if (!wcd939x->hph_pcm_enabled)
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(PDM_WD_CTL1, PDM_WD_EN, 0x03));
break;
case SND_SOC_DAPM_POST_PMU:
@@ -1642,33 +1684,30 @@ static int wcd939x_codec_enable_hphl_pa(struct snd_soc_dapm_widget *w,
WCD_CLSH_EVENT_PRE_DAC,
WCD_CLSH_STATE_HPHL,
hph_mode);
wcd_clsh_set_hph_mode(component, CLS_H_HIFI);
if (hph_mode == CLS_H_LP || hph_mode == CLS_H_LOHIFI ||
hph_mode == CLS_H_ULP) {
if (!wcd939x->hph_pcm_enabled)
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(REFBUFF_LP_CTL, PREREF_FILT_BYPASS, 0x01));
}
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(VNEG_CTRL_4, ILIM_SEL, 0xD));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(HPH, HPHL_REF_ENABLE, 0x01));
wcd_clsh_set_hph_mode(component, hph_mode);
/* update Mode for LOHIFI */
if (hph_mode == CLS_H_LOHIFI) {
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(HPH, PWR_LEVEL, 0x00));
}
/* update USBSS power mode for AATC */
if (wcd939x->mbhc->wcd_mbhc.mbhc_cfg->enable_usbc_analog)
wcd_usbss_audio_config(NULL, WCD_USBSS_CONFIG_TYPE_POWER_MODE,
wcd939x_get_usbss_hph_power_mode(hph_mode));
/* update Mode for LOHIFI */
if (hph_mode == CLS_H_LOHIFI) {
snd_soc_component_write(component,
WCD939X_HPH_RDAC_BIAS_LOHIFI, 0x52);
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(HPH, PWR_LEVEL, 0x00));
}
/* 100 usec delay as per HW requirement */
usleep_range(100, 110);
set_bit(HPH_PA_DELAY, &wcd939x->status_mask);
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(VNEG_CTRL_4, ILIM_SEL, 0xD));
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(HPH, HPHL_REF_ENABLE, 0x01));
if ((snd_soc_component_read(component, WCD939X_HPH) & 0x30) == 0x30)
usleep_range(2500, 2600); /* 2.5msec delay as per HW requirement */
set_bit(HPH_PA_DELAY, &wcd939x->status_mask);
if (!wcd939x->hph_pcm_enabled)
snd_soc_component_update_bits(component,
REG_FIELD_VALUE(PDM_WD_CTL0, PDM_WD_EN, 0x03));
break;
case SND_SOC_DAPM_POST_PMU:

View File

@@ -1584,7 +1584,7 @@ err:
return ret;
}
static int wsa881x_i2c_remove(struct i2c_client *client)
static void wsa881x_i2c_remove(struct i2c_client *client)
{
struct wsa881x_pdata *wsa881x = client->dev.platform_data;
@@ -1601,7 +1601,6 @@ static int wsa881x_i2c_remove(struct i2c_client *client)
}
i2c_set_clientdata(client, NULL);
kfree(wsa881x);
return 0;
}
#ifdef CONFIG_PM_SLEEP

File diff suppressed because it is too large Load Diff

View File

@@ -236,34 +236,6 @@ done:
return ret;
}
static void check_userspace_service_state(struct snd_soc_pcm_runtime *rtd,
struct msm_common_pdata *pdata)
{
uint32_t i;
dev_info(rtd->card->dev,"%s: pcm_id %d state %d\n", __func__,
rtd->num, pdata->aud_dev_state[rtd->num]);
mutex_lock(&pdata->aud_dev_lock);
if (pdata->aud_dev_state[rtd->num] == DEVICE_ENABLE) {
dev_info(rtd->card->dev, "%s userspace service crashed\n",
__func__);
/*Reset the state as sysfs node wont be triggred*/
pdata->aud_dev_state[rtd->num] = DEVICE_DISABLE;
for (i = 0; i < pdata->num_aud_devs; i++) {
if (pdata->aud_dev_state[i] == DEVICE_ENABLE)
goto exit;
}
/*Issue close all graph cmd to DSP*/
spf_core_apm_close_all();
/*unmap all dma mapped buffers*/
msm_audio_ion_crash_handler();
}
exit:
mutex_unlock(&pdata->aud_dev_lock);
return;
}
static int get_mi2s_tdm_auxpcm_intf_index(const char *stream_name)
{
@@ -447,7 +419,8 @@ int msm_common_snd_hw_params(struct snd_pcm_substream *substream,
intf_clk_cfg.clk_root = 0;
if (pdata->is_audio_hw_vote_required[index] &&
is_fractional_sample_rate(rate)) {
(is_fractional_sample_rate(rate) ||
(index == QUIN_MI2S_TDM_AUXPCM))) {
ret = mi2s_tdm_hw_vote_req(pdata, 1);
if (ret < 0) {
pr_err("%s lpass audio hw vote enable failed %d\n",
@@ -490,7 +463,8 @@ int msm_common_snd_hw_params(struct snd_pcm_substream *substream,
intf_clk_cfg.clk_root = CLOCK_ROOT_DEFAULT;
if (pdata->is_audio_hw_vote_required[index] &&
is_fractional_sample_rate(rate)) {
(is_fractional_sample_rate(rate) ||
(index == QUIN_MI2S_TDM_AUXPCM))) {
ret = mi2s_tdm_hw_vote_req(pdata, 1);
if (ret < 0) {
pr_err("%s lpass audio hw vote enable failed %d\n",
@@ -581,8 +555,6 @@ void msm_common_snd_shutdown(struct snd_pcm_substream *substream)
return;
}
check_userspace_service_state(rtd, pdata);
if (index >= 0) {
mutex_lock(&pdata->lock[index]);
atomic_dec(&pdata->lpass_intf_clk_ref_cnt[index]);
@@ -611,7 +583,8 @@ void msm_common_snd_shutdown(struct snd_pcm_substream *substream)
}
if (pdata->is_audio_hw_vote_required[index] &&
is_fractional_sample_rate(rate)) {
(is_fractional_sample_rate(rate) ||
(index == QUIN_MI2S_TDM_AUXPCM))) {
ret = mi2s_tdm_hw_vote_req(pdata, 0);
}
} else if (atomic_read(&pdata->lpass_intf_clk_ref_cnt[index]) < 0) {

View File

@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2023. Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <linux/clk.h>
@@ -1395,11 +1395,6 @@ static int msm_snd_card_late_probe(struct snd_soc_card *card)
return -ENOMEM;
wcd_mbhc_cfg.calibration = mbhc_calibration;
#if IS_ENABLED(CONFIG_QCOM_WCD_USBSS_I2C)
if (of_find_property(card->dev->of_node, "qcom,usbss-hsj-connect-enabled", NULL))
wcd_usbss_switch_update(WCD_USBSS_HSJ_CONNECT, WCD_USBSS_CABLE_CONNECT);
#endif
ret = wcd939x_mbhc_hs_detect(component, &wcd_mbhc_cfg);
if (ret) {
dev_err(component->dev, "%s: mbhc hs detect failed, err:%d\n",

View File

@@ -30,7 +30,7 @@ AUDIO_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/q6_notifier_dlkm.ko\
$(KERNEL_MODULES_OUT)/wcd9xxx_dlkm.ko \
$(KERNEL_MODULES_OUT)/stub_dlkm.ko \
$(KERNEL_MODULES_OUT)/machine_dlkm.ko
ifneq ($(call is-board-platform-in-list,bengal), true)
ifneq ($(call is-board-platform-in-list,bengal holi blair), true)
AUDIO_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/swr_dmic_dlkm.ko \
$(KERNEL_MODULES_OUT)/swr_haptics_dlkm.ko \
$(KERNEL_MODULES_OUT)/hdmi_dlkm.ko \
@@ -47,7 +47,7 @@ AUDIO_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/swr_dmic_dlkm.ko \
$(KERNEL_MODULES_OUT)/wcd939x_dlkm.ko \
$(KERNEL_MODULES_OUT)/wcd939x_slave_dlkm.ko
endif
ifeq ($(call is-board-platform-in-list,bengal), true)
ifeq ($(call is-board-platform-in-list,bengal holi blair), true)
AUDIO_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/bolero_cdc_dlkm.ko \
$(KERNEL_MODULES_OUT)/va_macro_dlkm.ko \
$(KERNEL_MODULES_OUT)/tx_macro_dlkm.ko \
@@ -56,6 +56,10 @@ AUDIO_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/bolero_cdc_dlkm.ko \
$(KERNEL_MODULES_OUT)/wcd937x_dlkm.ko \
$(KERNEL_MODULES_OUT)/wcd937x_slave_dlkm.ko
endif
ifeq ($(call is-board-platform-in-list, holi blair), true)
AUDIO_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/wcd938x_dlkm.ko \
$(KERNEL_MODULES_OUT)/wcd938x_slave_dlkm.ko
endif
endif
endif
endif

View File

@@ -17,7 +17,7 @@ PRODUCT_PACKAGES += $(KERNEL_MODULES_OUT)/q6_notifier_dlkm.ko\
$(KERNEL_MODULES_OUT)/wcd9xxx_dlkm.ko \
$(KERNEL_MODULES_OUT)/stub_dlkm.ko \
$(KERNEL_MODULES_OUT)/machine_dlkm.ko
ifneq ($(call is-board-platform-in-list,bengal), true)
ifneq ($(call is-board-platform-in-list,bengal holi blair), true)
PRODUCT_PACKAGES += $(KERNEL_MODULES_OUT)/swr_dmic_dlkm.ko \
$(KERNEL_MODULES_OUT)/swr_haptics_dlkm.ko \
$(KERNEL_MODULES_OUT)/hdmi_dlkm.ko \
@@ -34,12 +34,16 @@ PRODUCT_PACKAGES += $(KERNEL_MODULES_OUT)/swr_dmic_dlkm.ko \
$(KERNEL_MODULES_OUT)/wcd939x_dlkm.ko \
$(KERNEL_MODULES_OUT)/wcd939x_slave_dlkm.ko
endif
ifeq ($(call is-board-platform-in-list,bengal), true)
ifeq ($(call is-board-platform-in-list,bengal holi blair), true)
PRODUCT_PACKAGES += $(KERNEL_MODULES_OUT)/bolero_cdc_dlkm.ko \
$(KERNEL_MODULES_OUT)/va_macro_dlkm.ko \
$(KERNEL_MODULES_OUT)/tx_macro_dlkm.ko \
$(KERNEL_MODULES_OUT)/rx_macro_dlkm.ko \
$(KERNEL_MODULES_OUT)/wsa881x_analog_dlkm.ko \
$(KERNEL_MODULES_OUT)/wcd938x_dlkm.ko \
$(KERNEL_MODULES_OUT)/wcd937x_dlkm.ko \
$(KERNEL_MODULES_OUT)/wcd937x_slave_dlkm.ko
endif
ifeq ($(call is-board-platform-in-list, holi blair), true)
PRODUCT_PACKAGES += $(KERNEL_MODULES_OUT)/wcd938x_dlkm.ko \
$(KERNEL_MODULES_OUT)/wcd938x_slave_dlkm.ko
endif

View File

@@ -1,4 +1,5 @@
AUDIO_DLKM_ENABLE := false
ifneq ($(TARGET_DISABLE_AUDIO_DLKM), true)
ifeq ($(TARGET_KERNEL_DLKM_DISABLE), true)
ifeq ($(TARGET_KERNEL_DLKM_AUDIO_OVERRIDE),true)
AUDIO_DLKM_ENABLE := true
@@ -6,6 +7,7 @@ ifeq ($(TARGET_KERNEL_DLKM_DISABLE), true)
else
AUDIO_DLKM_ENABLE := true
endif
endif # TARGET_DISABLE_AUDIO_DLKM
ifeq ($(AUDIO_DLKM_ENABLE), true)
include vendor/qcom/opensource/audio-kernel/audio_kernel_modules.mk

View File

@@ -4,12 +4,17 @@ export CONFIG_SND_SOC_WCD9XXX_V2=m
export CONFIG_SND_SOC_WCD_MBHC=m
export CONFIG_WCD9XXX_CODEC_CORE_V2=m
export CONFIG_MSM_CDC_PINCTRL=m
export CONFIG_AUDIO_PKT_ION=m
export CONFIG_MSM_QDSP6V2_CODECS=m
export CONFIG_MSM_QDSP6_APRV2_RPMSG=m
export CONFIG_MSM_ADSP_LOADER=m
export CONFIG_REGMAP_SWR=m
export CONFIG_SPF_CORE=m
export CONFIG_MSM_QDSP6_SSR=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_MSM_QDSP6_NOTIFIER=m
export CONFIG_SND_SOC_MSM_QDSP6V2_INTF=m
export CONFIG_SOUNDWIRE=m

View File

@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2020, The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#define CONFIG_PINCTRL_LPI 1
@@ -13,9 +14,14 @@
#define CONFIG_SND_SOC_MSM_QDSP6V2_INTF 1
#define CONFIG_MSM_ADSP_LOADER 1
#define CONFIG_REGMAP_SWR 1
#define CONFIG_AUDIO_PKT_ION 1
#define CONFIG_MSM_QDSP6_SSR 1
#define CONFIG_MSM_QDSP6_PDR 1
#define CONFIG_MSM_QDSP6_NOTIFIER 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_SOUNDWIRE 1
#define CONFIG_SOUNDWIRE_MSTR_CTRL 1
#define CONFIG_SND_SOC_WCD_MBHC_ADC 1

View File

@@ -68,6 +68,14 @@ ifeq ($(KERNEL_BUILD), 0)
export
INCS += -include $(AUDIO_ROOT)/config/bengalautoconf.h
endif
ifeq ($(CONFIG_ARCH_HOLI), y)
include $(AUDIO_ROOT)/config/holiauto.conf
INCS += -include $(AUDIO_ROOT)/config/holiautoconf.h
endif
ifeq ($(CONFIG_ARCH_BLAIR), y)
include $(AUDIO_ROOT)/config/holiauto.conf
INCS += -include $(AUDIO_ROOT)/config/holiautoconf.h
endif
ifeq ($(CONFIG_ARCH_SM8150), y)
ifdef CONFIG_SND_SOC_SA8155
include $(AUDIO_ROOT)/config/sa8155auto.conf

View File

@@ -69,6 +69,14 @@ ifeq ($(KERNEL_BUILD), 0)
export
INCS += -include $(AUDIO_ROOT)/config/bengalautoconf.h
endif
ifeq ($(CONFIG_ARCH_HOLI), y)
include $(AUDIO_ROOT)/config/holiauto.conf
INCS += -include $(AUDIO_ROOT)/config/holiautoconf.h
endif
ifeq ($(CONFIG_ARCH_BLAIR), y)
include $(AUDIO_ROOT)/config/holiauto.conf
INCS += -include $(AUDIO_ROOT)/config/holiautoconf.h
endif
ifeq ($(CONFIG_ARCH_SM8150), y)
ifdef CONFIG_SND_SOC_SA8155
include $(AUDIO_ROOT)/config/sa8155auto.conf

View File

@@ -63,6 +63,14 @@ ifeq ($(KERNEL_BUILD), 0)
export
INCS += -include $(AUDIO_ROOT)/config/bengalautoconf.h
endif
ifeq ($(CONFIG_ARCH_HOLI), y)
include $(AUDIO_ROOT)/config/holiauto.conf
INCS += -include $(AUDIO_ROOT)/config/holiautoconf.h
endif
ifeq ($(CONFIG_ARCH_BLAIR), y)
include $(AUDIO_ROOT)/config/holiauto.conf
INCS += -include $(AUDIO_ROOT)/config/holiautoconf.h
endif
ifeq ($(CONFIG_ARCH_SM6150), y)
ifdef CONFIG_SND_SOC_SA6155
include $(AUDIO_ROOT)/config/sa6155auto.conf