asoc: Add VI feedback dai_link for bengal

Add VI feedback dai_link for speaker protection feature.

Change-Id: Ic4db44a548d7e2c472785a2c76ad055e507072a5
This commit is contained in:
Xu,Baochu 2022-03-08 16:22:12 +08:00
commit 92e2db816b
4 changed files with 45 additions and 0 deletions

12
asoc/bengal.c Normal file → Executable file
View file

@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <linux/clk.h>
@ -4982,6 +4983,17 @@ static struct snd_soc_dai_link msm_common_misc_fe_dai_links[] = {
.ops = &msm_cdc_dma_be_ops,
SND_SOC_DAILINK_REG(tx_cdcdma5_tx),
},
{/* hw:x,39 */
.name = "TX4_CDC_DMA Hostless",
.stream_name = "TX4_CDC_DMA Hostless",
.dynamic = 1,
.dpcm_capture = 1,
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
SND_SOC_DPCM_TRIGGER_POST},
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
SND_SOC_DAILINK_REG(tx4_cdcdma_hostless),
},
};
static struct snd_soc_dai_link msm_common_be_dai_links[] = {

24
asoc/msm-dai-fe.c Normal file → Executable file
View file

@ -1,5 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2012-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
*/
@ -592,6 +593,29 @@ static struct snd_soc_dai_driver msm_fe_dais[] = {
.name = "TX3_CDC_DMA_HOSTLESS",
.probe = fe_dai_probe,
},
{
.capture = {
.stream_name = "TX4_CDC_DMA_HOSTLESS Capture",
.aif_name = "TX4_CDC_DMA_UL_HL",
.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |
SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |
SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_352800 |
SNDRV_PCM_RATE_384000,
.formats = SNDRV_PCM_FMTBIT_S16_LE |
SNDRV_PCM_FMTBIT_S24_LE |
SNDRV_PCM_FMTBIT_S24_3LE,
.channels_min = 1,
.channels_max = 8,
.rate_min = 8000,
.rate_max = 384000,
},
.ops = &msm_fe_dai_ops,
.name = "TX4_CDC_DMA_HOSTLESS",
.probe = fe_dai_probe,
},
{
.playback = {
.stream_name = "INT_FM_HOSTLESS Playback",

View file

@ -32794,6 +32794,8 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = {
0, 0, 0, 0),
SND_SOC_DAPM_AIF_OUT("TX3_CDC_DMA_UL_HL",
"TX3_CDC_DMA_HOSTLESS Capture", 0, 0, 0, 0),
SND_SOC_DAPM_AIF_OUT("TX4_CDC_DMA_UL_HL",
"TX4_CDC_DMA_HOSTLESS Capture", 0, 0, 0, 0),
SND_SOC_DAPM_AIF_OUT("CPE_LSM_UL_HL", "CPE LSM capture",
0, 0, 0, 0),
SND_SOC_DAPM_AIF_IN("SLIM1_DL_HL", "SLIMBUS1_HOSTLESS Playback",
@ -36129,6 +36131,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"RX_CDC_DMA_RX_1_DL_HL", "Switch", "CDC_DMA_DL_HL"},
{"RX_CDC_DMA_RX_1", NULL, "RX_CDC_DMA_RX_1_DL_HL"},
{"TX3_CDC_DMA_UL_HL", NULL, "TX_CDC_DMA_TX_3"},
{"TX4_CDC_DMA_UL_HL", NULL, "TX_CDC_DMA_TX_4"},
{"LSM1 Mixer", "SLIMBUS_0_TX", "SLIMBUS_0_TX"},
{"LSM1 Mixer", "SLIMBUS_1_TX", "SLIMBUS_1_TX"},
{"LSM1 Mixer", "SLIMBUS_3_TX", "SLIMBUS_3_TX"},

6
asoc/msm_bengal_dailink.h Normal file → Executable file
View file

@ -1,6 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <sound/soc.h>
@ -166,6 +167,11 @@ SND_SOC_DAILINK_DEFS(tx3_cdcdma_hostless,
DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless")));
SND_SOC_DAILINK_DEFS(tx4_cdcdma_hostless,
DAILINK_COMP_ARRAY(COMP_CPU("TX4_CDC_DMA_HOSTLESS")),
DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless")));
SND_SOC_DAILINK_DEFS(tert_mi2s_tx_hostless,
DAILINK_COMP_ARRAY(COMP_CPU("TERT_MI2S_TX_HOSTLESS")),
DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")),