ASoC: qcom: sc8280xp: add monaco/monza controls for qcs8275

Update dai-ids and add DAPM widgets, sysclk and controls required
for the VENTUNO-Q platform which uses MAX98090 codec.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Link: https://patch.msgid.link/20260731162626.1588561-5-srinivas.kandagatla@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Srinivas Kandagatla 2026-07-31 17:26:26 +01:00 committed by Mark Brown
parent a28da0f80d
commit 4ba2678ad0
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -37,6 +37,26 @@ static struct snd_soc_dapm_widget sc8280xp_dapm_widgets[] = {
SND_SOC_DAPM_SPK("DP7 Jack", NULL),
};
static const struct snd_kcontrol_new max98090_controls[] = {
SOC_DAPM_PIN_SWITCH("Headset Mic12"),
SOC_DAPM_PIN_SWITCH("Headphone"),
SOC_DAPM_PIN_SWITCH("Headset Mic56"),
SOC_DAPM_PIN_SWITCH("Speaker"),
SOC_DAPM_PIN_SWITCH("Receiver"),
SOC_DAPM_PIN_SWITCH("Int Mic"),
};
static const struct snd_soc_dapm_widget max98090_dapm_widgets[] = {
SND_SOC_DAPM_HP("Headphone Jack", NULL),
SND_SOC_DAPM_MIC("Mic Jack", NULL),
SND_SOC_DAPM_HP("Headphone", NULL),
SND_SOC_DAPM_MIC("Headset Mic12", NULL),
SND_SOC_DAPM_MIC("Headset Mic56", NULL),
SND_SOC_DAPM_MIC("Int Mic", NULL),
SND_SOC_DAPM_SPK("Receiver", NULL),
SND_SOC_DAPM_SPK("Speaker", NULL),
};
struct qcom_snd_soc_common {
const char *driver_name;
const struct snd_soc_dapm_widget *dapm_widgets;
@ -171,6 +191,7 @@ static int sc8280xp_snd_hw_params(struct snd_pcm_substream *substream,
case PRIMARY_MI2S_RX ... QUATERNARY_MI2S_TX:
case QUINARY_MI2S_RX ... QUINARY_MI2S_TX:
case SENARY_MI2S_RX ... SENARY_MI2S_TX:
case LPI_MI2S_RX_0 ... LPI_MI2S_TX_4:
ret = snd_soc_dai_set_fmt(cpu_dai, SND_SOC_DAIFMT_BP_FP);
if (ret && ret != -ENOTSUPP)
return ret;
@ -344,8 +365,12 @@ static const struct qcom_snd_soc_common qcs6490_priv_data = {
static const struct qcom_snd_soc_common qcs8275_priv_data = {
.driver_name = "qcs8300",
.dapm_widgets = sc8280xp_dapm_widgets,
.num_dapm_widgets = ARRAY_SIZE(sc8280xp_dapm_widgets),
.dapm_widgets = max98090_dapm_widgets,
.num_dapm_widgets = ARRAY_SIZE(max98090_dapm_widgets),
.controls = max98090_controls,
.num_controls = ARRAY_SIZE(max98090_controls),
.codec_sysclk_set = true,
.codec_dai_fmt = SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_BC_FC,
};
static const struct qcom_snd_soc_common sc8280xp_priv_data = {