mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 22:40:54 -04:00
asoc: Add asm loopback MultiMedia24 and MultiMedia25
Add asm loopback channel to support dual hfp Change-Id: I43265fd0da04a1481784e5ed3ed7b3a5bad9ac2c Signed-off-by: Jia Jin <jinjia@codeaurora.org> Signed-off-by: Han Lu <hanlu@codeaurora.org>
This commit is contained in:
parent
68f58b0d09
commit
369503a9ff
4 changed files with 613 additions and 27 deletions
|
|
@ -2757,6 +2757,72 @@ static struct snd_soc_dai_driver msm_fe_dais[] = {
|
|||
.name = "MultiMedia23",
|
||||
.probe = fe_dai_probe,
|
||||
},
|
||||
{
|
||||
.playback = {
|
||||
.stream_name = "MultiMedia24 Playback",
|
||||
.aif_name = "MM_DL24",
|
||||
.rates = (SNDRV_PCM_RATE_8000_384000 |
|
||||
SNDRV_PCM_RATE_KNOT),
|
||||
.formats = (SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE),
|
||||
.channels_min = 1,
|
||||
.channels_max = 8,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 384000,
|
||||
},
|
||||
.capture = {
|
||||
.stream_name = "MultiMedia24 Capture",
|
||||
.aif_name = "MM_UL24",
|
||||
.rates = (SNDRV_PCM_RATE_8000_48000|
|
||||
SNDRV_PCM_RATE_KNOT),
|
||||
.formats = (SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE),
|
||||
.channels_min = 1,
|
||||
.channels_max = 8,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 48000,
|
||||
},
|
||||
.ops = &msm_fe_Multimedia_dai_ops,
|
||||
.name = "MultiMedia24",
|
||||
.probe = fe_dai_probe,
|
||||
},
|
||||
{
|
||||
.playback = {
|
||||
.stream_name = "MultiMedia25 Playback",
|
||||
.aif_name = "MM_DL25",
|
||||
.rates = (SNDRV_PCM_RATE_8000_384000 |
|
||||
SNDRV_PCM_RATE_KNOT),
|
||||
.formats = (SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE),
|
||||
.channels_min = 1,
|
||||
.channels_max = 8,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 384000,
|
||||
},
|
||||
.capture = {
|
||||
.stream_name = "MultiMedia25 Capture",
|
||||
.aif_name = "MM_UL25",
|
||||
.rates = (SNDRV_PCM_RATE_8000_48000|
|
||||
SNDRV_PCM_RATE_KNOT),
|
||||
.formats = (SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE),
|
||||
.channels_min = 1,
|
||||
.channels_max = 8,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 48000,
|
||||
},
|
||||
.ops = &msm_fe_Multimedia_dai_ops,
|
||||
.name = "MultiMedia25",
|
||||
.probe = fe_dai_probe,
|
||||
},
|
||||
{
|
||||
.playback = {
|
||||
.stream_name = "MultiMedia26 Playback",
|
||||
|
|
|
|||
|
|
@ -770,6 +770,12 @@ static struct msm_pcm_routing_fdai_data
|
|||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA23 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA24 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA25 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA26 */
|
||||
|
|
@ -9606,6 +9612,14 @@ static const struct snd_kcontrol_new pri_tdm_rx_0_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_PRI_TDM_RX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_PRI_TDM_RX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_PRI_TDM_RX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new pri_tdm_rx_1_mixer_controls[] = {
|
||||
|
|
@ -9685,6 +9699,14 @@ static const struct snd_kcontrol_new pri_tdm_rx_1_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_PRI_TDM_RX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_PRI_TDM_RX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_PRI_TDM_RX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new pri_tdm_rx_2_mixer_controls[] = {
|
||||
|
|
@ -9764,6 +9786,14 @@ static const struct snd_kcontrol_new pri_tdm_rx_2_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_PRI_TDM_RX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_PRI_TDM_RX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_PRI_TDM_RX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new pri_tdm_rx_3_mixer_controls[] = {
|
||||
|
|
@ -9843,6 +9873,14 @@ static const struct snd_kcontrol_new pri_tdm_rx_3_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_PRI_TDM_RX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_PRI_TDM_RX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_PRI_TDM_RX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new pri_tdm_tx_0_mixer_controls[] = {
|
||||
|
|
@ -9914,6 +9952,14 @@ static const struct snd_kcontrol_new pri_tdm_tx_0_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_PRI_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_PRI_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_PRI_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new sec_tdm_rx_0_mixer_controls[] = {
|
||||
|
|
@ -9993,6 +10039,14 @@ static const struct snd_kcontrol_new sec_tdm_rx_0_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_SEC_TDM_RX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SEC_TDM_RX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SEC_TDM_RX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new sec_tdm_rx_1_mixer_controls[] = {
|
||||
|
|
@ -10072,6 +10126,14 @@ static const struct snd_kcontrol_new sec_tdm_rx_1_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_SEC_TDM_RX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SEC_TDM_RX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SEC_TDM_RX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new sec_tdm_rx_2_mixer_controls[] = {
|
||||
|
|
@ -10151,6 +10213,14 @@ static const struct snd_kcontrol_new sec_tdm_rx_2_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_SEC_TDM_RX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SEC_TDM_RX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SEC_TDM_RX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new sec_tdm_rx_3_mixer_controls[] = {
|
||||
|
|
@ -10230,6 +10300,14 @@ static const struct snd_kcontrol_new sec_tdm_rx_3_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_SEC_TDM_RX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SEC_TDM_RX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SEC_TDM_RX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new sec_tdm_tx_0_mixer_controls[] = {
|
||||
|
|
@ -10301,6 +10379,14 @@ static const struct snd_kcontrol_new sec_tdm_tx_0_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_SEC_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SEC_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SEC_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new tert_tdm_rx_0_mixer_controls[] = {
|
||||
|
|
@ -10380,6 +10466,14 @@ static const struct snd_kcontrol_new tert_tdm_rx_0_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_TERT_TDM_RX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_RX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_RX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new tert_tdm_tx_0_mixer_controls[] = {
|
||||
|
|
@ -10451,6 +10545,14 @@ static const struct snd_kcontrol_new tert_tdm_tx_0_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_TERT_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new tert_tdm_rx_1_mixer_controls[] = {
|
||||
|
|
@ -10530,6 +10632,14 @@ static const struct snd_kcontrol_new tert_tdm_rx_1_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_TERT_TDM_RX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_RX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_RX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new tert_tdm_rx_2_mixer_controls[] = {
|
||||
|
|
@ -10609,6 +10719,14 @@ static const struct snd_kcontrol_new tert_tdm_rx_2_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_TERT_TDM_RX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_RX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_RX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new tert_tdm_rx_3_mixer_controls[] = {
|
||||
|
|
@ -10688,6 +10806,14 @@ static const struct snd_kcontrol_new tert_tdm_rx_3_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_TERT_TDM_RX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_RX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_RX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new tert_tdm_rx_4_mixer_controls[] = {
|
||||
|
|
@ -10767,6 +10893,14 @@ static const struct snd_kcontrol_new tert_tdm_rx_4_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_TERT_TDM_RX_4,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_RX_4,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_RX_4,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new quat_tdm_rx_0_mixer_controls[] = {
|
||||
|
|
@ -10850,6 +10984,14 @@ static const struct snd_kcontrol_new quat_tdm_rx_0_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_QUAT_TDM_RX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUAT_TDM_RX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUAT_TDM_RX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new quat_tdm_tx_0_mixer_controls[] = {
|
||||
|
|
@ -10921,6 +11063,14 @@ static const struct snd_kcontrol_new quat_tdm_tx_0_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_QUAT_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUAT_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUAT_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new quat_tdm_rx_1_mixer_controls[] = {
|
||||
|
|
@ -11004,6 +11154,14 @@ static const struct snd_kcontrol_new quat_tdm_rx_1_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_QUAT_TDM_RX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUAT_TDM_RX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUAT_TDM_RX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new quat_tdm_rx_2_mixer_controls[] = {
|
||||
|
|
@ -11087,6 +11245,14 @@ static const struct snd_kcontrol_new quat_tdm_rx_2_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_QUAT_TDM_RX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUAT_TDM_RX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUAT_TDM_RX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new quat_tdm_rx_3_mixer_controls[] = {
|
||||
|
|
@ -11170,6 +11336,14 @@ static const struct snd_kcontrol_new quat_tdm_rx_3_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_QUAT_TDM_RX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUAT_TDM_RX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUAT_TDM_RX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new quin_tdm_rx_0_mixer_controls[] = {
|
||||
|
|
@ -11253,6 +11427,14 @@ static const struct snd_kcontrol_new quin_tdm_rx_0_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_QUIN_TDM_RX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUIN_TDM_RX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUIN_TDM_RX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new quin_tdm_tx_0_mixer_controls[] = {
|
||||
|
|
@ -11324,6 +11506,14 @@ static const struct snd_kcontrol_new quin_tdm_tx_0_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_QUIN_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUIN_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUIN_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new quin_tdm_tx_1_mixer_controls[] = {
|
||||
|
|
@ -11541,6 +11731,14 @@ static const struct snd_kcontrol_new quin_tdm_tx_2_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_QUIN_TDM_RX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUIN_TDM_RX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUIN_TDM_RX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new quin_tdm_rx_2_mixer_controls[] = {
|
||||
|
|
@ -11624,6 +11822,14 @@ static const struct snd_kcontrol_new quin_tdm_rx_2_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_QUIN_TDM_RX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUIN_TDM_RX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUIN_TDM_RX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new quin_tdm_tx_3_mixer_controls[] = {
|
||||
|
|
@ -11774,6 +11980,14 @@ static const struct snd_kcontrol_new quin_tdm_rx_3_mixer_controls[] = {
|
|||
MSM_BACKEND_DAI_QUIN_TDM_RX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia24", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUIN_TDM_RX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("MultiMedia25", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUIN_TDM_RX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new sen_tdm_rx_0_mixer_controls[] = {
|
||||
|
|
@ -15207,6 +15421,172 @@ static const struct snd_kcontrol_new mmul23_mixer_controls[] = {
|
|||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new mmul24_mixer_controls[] = {
|
||||
SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_PRI_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("PRI_TDM_TX_1", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_PRI_TDM_TX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("PRI_TDM_TX_2", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_PRI_TDM_TX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("PRI_TDM_TX_3", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_PRI_TDM_TX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("SEC_TDM_TX_0", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SEC_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("SEC_TDM_TX_1", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SEC_TDM_TX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("SEC_TDM_TX_2", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SEC_TDM_TX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("SEC_TDM_TX_3", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SEC_TDM_TX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("TERT_TDM_TX_1", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_TX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("TERT_TDM_TX_2", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_TX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("TERT_TDM_TX_3", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_TX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("QUAT_TDM_TX_0", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUAT_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("QUAT_TDM_TX_1", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUAT_TDM_TX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("QUAT_TDM_TX_2", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUAT_TDM_TX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("QUAT_TDM_TX_3", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUAT_TDM_TX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("QUIN_TDM_TX_0", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUIN_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("QUIN_TDM_TX_1", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUIN_TDM_TX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("QUIN_TDM_TX_2", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUIN_TDM_TX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("QUIN_TDM_TX_3", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUIN_TDM_TX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new mmul25_mixer_controls[] = {
|
||||
SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_PRI_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("PRI_TDM_TX_1", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_PRI_TDM_TX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("PRI_TDM_TX_2", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_PRI_TDM_TX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("PRI_TDM_TX_3", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_PRI_TDM_TX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("SEC_TDM_TX_0", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SEC_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("SEC_TDM_TX_1", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SEC_TDM_TX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("SEC_TDM_TX_2", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SEC_TDM_TX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("SEC_TDM_TX_3", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SEC_TDM_TX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("TERT_TDM_TX_1", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_TX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("TERT_TDM_TX_2", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_TX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("TERT_TDM_TX_3", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_TERT_TDM_TX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("QUAT_TDM_TX_0", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUAT_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("QUAT_TDM_TX_1", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUAT_TDM_TX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("QUAT_TDM_TX_2", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUAT_TDM_TX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("QUAT_TDM_TX_3", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUAT_TDM_TX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("QUIN_TDM_TX_0", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUIN_TDM_TX_0,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("QUIN_TDM_TX_1", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUIN_TDM_TX_1,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("QUIN_TDM_TX_2", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUIN_TDM_TX_2,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
SOC_DOUBLE_EXT("QUIN_TDM_TX_3", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_QUIN_TDM_TX_3,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer,
|
||||
msm_routing_put_audio_mixer),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new mmul27_mixer_controls[] = {
|
||||
SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM,
|
||||
MSM_BACKEND_DAI_SLIMBUS_0_TX,
|
||||
|
|
@ -23181,6 +23561,8 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = {
|
|||
SND_SOC_DAPM_AIF_IN("MM_DL21", "MultiMedia21 Playback", 0, 0, 0, 0),
|
||||
SND_SOC_DAPM_AIF_IN("MM_DL22", "MultiMedia22 Playback", 0, 0, 0, 0),
|
||||
SND_SOC_DAPM_AIF_IN("MM_DL23", "MultiMedia23 Playback", 0, 0, 0, 0),
|
||||
SND_SOC_DAPM_AIF_IN("MM_DL24", "MultiMedia24 Playback", 0, 0, 0, 0),
|
||||
SND_SOC_DAPM_AIF_IN("MM_DL25", "MultiMedia25 Playback", 0, 0, 0, 0),
|
||||
SND_SOC_DAPM_AIF_IN("MM_DL26", "MultiMedia26 Playback", 0, 0, 0, 0),
|
||||
SND_SOC_DAPM_AIF_IN("VOIP_DL", "VoIP Playback", 0, 0, 0, 0),
|
||||
SND_SOC_DAPM_AIF_OUT("MM_UL1", "MultiMedia1 Capture", 0, 0, 0, 0),
|
||||
|
|
@ -23200,6 +23582,8 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = {
|
|||
SND_SOC_DAPM_AIF_OUT("MM_UL21", "MultiMedia21 Capture", 0, 0, 0, 0),
|
||||
SND_SOC_DAPM_AIF_OUT("MM_UL22", "MultiMedia22 Capture", 0, 0, 0, 0),
|
||||
SND_SOC_DAPM_AIF_OUT("MM_UL23", "MultiMedia23 Capture", 0, 0, 0, 0),
|
||||
SND_SOC_DAPM_AIF_OUT("MM_UL24", "MultiMedia24 Capture", 0, 0, 0, 0),
|
||||
SND_SOC_DAPM_AIF_OUT("MM_UL25", "MultiMedia25 Capture", 0, 0, 0, 0),
|
||||
SND_SOC_DAPM_AIF_OUT("MM_UL27", "MultiMedia27 Capture", 0, 0, 0, 0),
|
||||
SND_SOC_DAPM_AIF_OUT("MM_UL28", "MultiMedia28 Capture", 0, 0, 0, 0),
|
||||
SND_SOC_DAPM_AIF_OUT("MM_UL29", "MultiMedia29 Capture", 0, 0, 0, 0),
|
||||
|
|
@ -24305,6 +24689,10 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = {
|
|||
mmul22_mixer_controls, ARRAY_SIZE(mmul22_mixer_controls)),
|
||||
SND_SOC_DAPM_MIXER("MultiMedia23 Mixer", SND_SOC_NOPM, 0, 0,
|
||||
mmul23_mixer_controls, ARRAY_SIZE(mmul23_mixer_controls)),
|
||||
SND_SOC_DAPM_MIXER("MultiMedia24 Mixer", SND_SOC_NOPM, 0, 0,
|
||||
mmul24_mixer_controls, ARRAY_SIZE(mmul24_mixer_controls)),
|
||||
SND_SOC_DAPM_MIXER("MultiMedia25 Mixer", SND_SOC_NOPM, 0, 0,
|
||||
mmul25_mixer_controls, ARRAY_SIZE(mmul25_mixer_controls)),
|
||||
SND_SOC_DAPM_MIXER("MultiMedia27 Mixer", SND_SOC_NOPM, 0, 0,
|
||||
mmul27_mixer_controls, ARRAY_SIZE(mmul27_mixer_controls)),
|
||||
SND_SOC_DAPM_MIXER("MultiMedia28 Mixer", SND_SOC_NOPM, 0, 0,
|
||||
|
|
@ -25540,6 +25928,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"PRI_TDM_RX_0 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"PRI_TDM_RX_0 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"PRI_TDM_RX_0 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"PRI_TDM_RX_0 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"PRI_TDM_RX_0 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"PRI_TDM_RX_0", NULL, "PRI_TDM_RX_0 Audio Mixer"},
|
||||
|
||||
{"PRI_TDM_RX_1 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25561,6 +25951,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"PRI_TDM_RX_1 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"PRI_TDM_RX_1 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"PRI_TDM_RX_1 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"PRI_TDM_RX_1 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"PRI_TDM_RX_1 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"PRI_TDM_RX_1", NULL, "PRI_TDM_RX_1 Audio Mixer"},
|
||||
|
||||
{"PRI_TDM_RX_2 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25582,6 +25974,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"PRI_TDM_RX_2 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"PRI_TDM_RX_2 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"PRI_TDM_RX_2 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"PRI_TDM_RX_2 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"PRI_TDM_RX_2 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"PRI_TDM_RX_2", NULL, "PRI_TDM_RX_2 Audio Mixer"},
|
||||
|
||||
{"PRI_TDM_RX_3 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25603,6 +25997,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"PRI_TDM_RX_3 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"PRI_TDM_RX_3 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"PRI_TDM_RX_3 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"PRI_TDM_RX_3 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"PRI_TDM_RX_3 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"PRI_TDM_RX_3", NULL, "PRI_TDM_RX_3 Audio Mixer"},
|
||||
|
||||
{"PRI_TDM_TX_0 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25622,6 +26018,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"PRI_TDM_TX_0 Audio Mixer", "MultiMedia15", "MM_DL15"},
|
||||
{"PRI_TDM_TX_0 Audio Mixer", "MultiMedia16", "MM_DL16"},
|
||||
{"PRI_TDM_TX_0 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"PRI_TDM_TX_0 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"PRI_TDM_TX_0 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"PRI_TDM_TX_0", NULL, "PRI_TDM_TX_0 Audio Mixer"},
|
||||
|
||||
{"SEC_TDM_RX_0 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25643,6 +26041,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"SEC_TDM_RX_0 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"SEC_TDM_RX_0 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"SEC_TDM_RX_0 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"SEC_TDM_RX_0 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"SEC_TDM_RX_0 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"SEC_TDM_RX_0", NULL, "SEC_TDM_RX_0 Audio Mixer"},
|
||||
|
||||
{"SEC_TDM_RX_1 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25664,6 +26064,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"SEC_TDM_RX_1 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"SEC_TDM_RX_1 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"SEC_TDM_RX_1 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"SEC_TDM_RX_1 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"SEC_TDM_RX_1 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"SEC_TDM_RX_1", NULL, "SEC_TDM_RX_1 Audio Mixer"},
|
||||
|
||||
{"SEC_TDM_RX_2 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25685,6 +26087,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"SEC_TDM_RX_2 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"SEC_TDM_RX_2 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"SEC_TDM_RX_2 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"SEC_TDM_RX_2 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"SEC_TDM_RX_2 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"SEC_TDM_RX_2", NULL, "SEC_TDM_RX_2 Audio Mixer"},
|
||||
|
||||
{"SEC_TDM_RX_3 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25706,6 +26110,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"SEC_TDM_RX_3 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"SEC_TDM_RX_3 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"SEC_TDM_RX_3 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"SEC_TDM_RX_3 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"SEC_TDM_RX_3 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"SEC_TDM_RX_3", NULL, "SEC_TDM_RX_3 Audio Mixer"},
|
||||
|
||||
{"SEC_TDM_TX_0 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25725,6 +26131,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"SEC_TDM_TX_0 Audio Mixer", "MultiMedia15", "MM_DL15"},
|
||||
{"SEC_TDM_TX_0 Audio Mixer", "MultiMedia16", "MM_DL16"},
|
||||
{"SEC_TDM_TX_0 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"SEC_TDM_TX_0 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"SEC_TDM_TX_0 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"SEC_TDM_TX_0", NULL, "SEC_TDM_TX_0 Audio Mixer"},
|
||||
|
||||
{"TERT_TDM_RX_0 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25746,6 +26154,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"TERT_TDM_RX_0 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"TERT_TDM_RX_0 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"TERT_TDM_RX_0 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"TERT_TDM_RX_0 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"TERT_TDM_RX_0 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"TERT_TDM_RX_0", NULL, "TERT_TDM_RX_0 Audio Mixer"},
|
||||
|
||||
{"TERT_TDM_TX_0 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25765,6 +26175,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"TERT_TDM_TX_0 Audio Mixer", "MultiMedia15", "MM_DL15"},
|
||||
{"TERT_TDM_TX_0 Audio Mixer", "MultiMedia16", "MM_DL16"},
|
||||
{"TERT_TDM_TX_0 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"TERT_TDM_TX_0 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"TERT_TDM_TX_0 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"TERT_TDM_TX_0", NULL, "TERT_TDM_TX_0 Audio Mixer"},
|
||||
|
||||
{"TERT_TDM_RX_1 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25786,6 +26198,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"TERT_TDM_RX_1 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"TERT_TDM_RX_1 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"TERT_TDM_RX_1 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"TERT_TDM_RX_1 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"TERT_TDM_RX_1 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"TERT_TDM_RX_1", NULL, "TERT_TDM_RX_1 Audio Mixer"},
|
||||
|
||||
{"TERT_TDM_RX_2 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25807,6 +26221,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"TERT_TDM_RX_2 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"TERT_TDM_RX_2 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"TERT_TDM_RX_2 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"TERT_TDM_RX_2 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"TERT_TDM_RX_2 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"TERT_TDM_RX_2", NULL, "TERT_TDM_RX_2 Audio Mixer"},
|
||||
|
||||
{"TERT_TDM_RX_3 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25828,6 +26244,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"TERT_TDM_RX_3 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"TERT_TDM_RX_3 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"TERT_TDM_RX_3 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"TERT_TDM_RX_3 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"TERT_TDM_RX_3 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"TERT_TDM_RX_3", NULL, "TERT_TDM_RX_3 Audio Mixer"},
|
||||
|
||||
{"TERT_TDM_RX_4 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25849,6 +26267,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"TERT_TDM_RX_4 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"TERT_TDM_RX_4 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"TERT_TDM_RX_4 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"TERT_TDM_RX_4 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"TERT_TDM_RX_4 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"TERT_TDM_RX_4", NULL, "TERT_TDM_RX_4 Audio Mixer"},
|
||||
|
||||
{"QUAT_TDM_RX_0 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25871,6 +26291,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"QUAT_TDM_RX_0 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"QUAT_TDM_RX_0 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"QUAT_TDM_RX_0 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"QUAT_TDM_RX_0 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"QUAT_TDM_RX_0 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"QUAT_TDM_RX_0", NULL, "QUAT_TDM_RX_0 Audio Mixer"},
|
||||
|
||||
{"QUAT_TDM_TX_0 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25890,6 +26312,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"QUAT_TDM_TX_0 Audio Mixer", "MultiMedia15", "MM_DL15"},
|
||||
{"QUAT_TDM_TX_0 Audio Mixer", "MultiMedia16", "MM_DL16"},
|
||||
{"QUAT_TDM_TX_0 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"QUAT_TDM_TX_0 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"QUAT_TDM_TX_0 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"QUAT_TDM_TX_0", NULL, "QUAT_TDM_TX_0 Audio Mixer"},
|
||||
|
||||
{"QUAT_TDM_RX_1 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25912,6 +26336,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"QUAT_TDM_RX_1 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"QUAT_TDM_RX_1 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"QUAT_TDM_RX_1 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"QUAT_TDM_RX_1 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"QUAT_TDM_RX_1 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"QUAT_TDM_RX_1", NULL, "QUAT_TDM_RX_1 Audio Mixer"},
|
||||
|
||||
{"QUAT_TDM_RX_2 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25934,6 +26360,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"QUAT_TDM_RX_2 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"QUAT_TDM_RX_2 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"QUAT_TDM_RX_2 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"QUAT_TDM_RX_2 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"QUAT_TDM_RX_2 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"QUAT_TDM_RX_2", NULL, "QUAT_TDM_RX_2 Audio Mixer"},
|
||||
|
||||
{"QUAT_TDM_RX_3 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25956,6 +26384,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"QUAT_TDM_RX_3 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"QUAT_TDM_RX_3 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"QUAT_TDM_RX_3 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"QUAT_TDM_RX_3 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"QUAT_TDM_RX_3 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"QUAT_TDM_RX_3", NULL, "QUAT_TDM_RX_3 Audio Mixer"},
|
||||
|
||||
{"QUIN_TDM_RX_0 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25978,6 +26408,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"QUIN_TDM_RX_0 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"QUIN_TDM_RX_0 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"QUIN_TDM_RX_0 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"QUIN_TDM_RX_0 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"QUIN_TDM_RX_0 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"QUIN_TDM_RX_0", NULL, "QUIN_TDM_RX_0 Audio Mixer"},
|
||||
|
||||
{"QUIN_TDM_TX_0 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -25997,6 +26429,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"QUIN_TDM_TX_0 Audio Mixer", "MultiMedia15", "MM_DL15"},
|
||||
{"QUIN_TDM_TX_0 Audio Mixer", "MultiMedia16", "MM_DL16"},
|
||||
{"QUIN_TDM_TX_0 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"QUIN_TDM_TX_0 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"QUIN_TDM_TX_0 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"QUIN_TDM_TX_0", NULL, "QUIN_TDM_TX_0 Audio Mixer"},
|
||||
|
||||
{"QUIN_TDM_RX_1 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -26019,6 +26453,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"QUIN_TDM_RX_1 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"QUIN_TDM_RX_1 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"QUIN_TDM_RX_1 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"QUIN_TDM_RX_1 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"QUIN_TDM_RX_1 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"QUIN_TDM_RX_1", NULL, "QUIN_TDM_RX_1 Audio Mixer"},
|
||||
|
||||
{"QUIN_TDM_RX_2 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -26041,6 +26477,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"QUIN_TDM_RX_2 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"QUIN_TDM_RX_2 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"QUIN_TDM_RX_2 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"QUIN_TDM_RX_2 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"QUIN_TDM_RX_2 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"QUIN_TDM_RX_2", NULL, "QUIN_TDM_RX_2 Audio Mixer"},
|
||||
|
||||
{"QUIN_TDM_RX_3 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -26063,6 +26501,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"QUIN_TDM_RX_3 Audio Mixer", "MultiMedia21", "MM_DL21"},
|
||||
{"QUIN_TDM_RX_3 Audio Mixer", "MultiMedia22", "MM_DL22"},
|
||||
{"QUIN_TDM_RX_3 Audio Mixer", "MultiMedia23", "MM_DL23"},
|
||||
{"QUIN_TDM_RX_3 Audio Mixer", "MultiMedia24", "MM_DL24"},
|
||||
{"QUIN_TDM_RX_3 Audio Mixer", "MultiMedia25", "MM_DL25"},
|
||||
{"QUIN_TDM_RX_3", NULL, "QUIN_TDM_RX_3 Audio Mixer"},
|
||||
|
||||
{"SEN_TDM_RX_0 Audio Mixer", "MultiMedia1", "MM_DL1"},
|
||||
|
|
@ -26706,6 +27146,48 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"MultiMedia23 Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"},
|
||||
{"MultiMedia23 Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"},
|
||||
|
||||
{"MultiMedia24 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"},
|
||||
{"MultiMedia24 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"},
|
||||
{"MultiMedia24 Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"},
|
||||
{"MultiMedia24 Mixer", "PRI_TDM_TX_3", "PRI_TDM_TX_3"},
|
||||
{"MultiMedia24 Mixer", "SEC_TDM_TX_0", "SEC_TDM_TX_0"},
|
||||
{"MultiMedia24 Mixer", "SEC_TDM_TX_1", "SEC_TDM_TX_1"},
|
||||
{"MultiMedia24 Mixer", "SEC_TDM_TX_2", "SEC_TDM_TX_2"},
|
||||
{"MultiMedia24 Mixer", "SEC_TDM_TX_3", "SEC_TDM_TX_3"},
|
||||
{"MultiMedia24 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"},
|
||||
{"MultiMedia24 Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"},
|
||||
{"MultiMedia24 Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"},
|
||||
{"MultiMedia24 Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"},
|
||||
{"MultiMedia24 Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"},
|
||||
{"MultiMedia24 Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"},
|
||||
{"MultiMedia24 Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"},
|
||||
{"MultiMedia24 Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"},
|
||||
{"MultiMedia24 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"},
|
||||
{"MultiMedia24 Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"},
|
||||
{"MultiMedia24 Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"},
|
||||
{"MultiMedia24 Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"},
|
||||
|
||||
{"MultiMedia25 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"},
|
||||
{"MultiMedia25 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"},
|
||||
{"MultiMedia25 Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"},
|
||||
{"MultiMedia25 Mixer", "PRI_TDM_TX_3", "PRI_TDM_TX_3"},
|
||||
{"MultiMedia25 Mixer", "SEC_TDM_TX_0", "SEC_TDM_TX_0"},
|
||||
{"MultiMedia25 Mixer", "SEC_TDM_TX_1", "SEC_TDM_TX_1"},
|
||||
{"MultiMedia25 Mixer", "SEC_TDM_TX_2", "SEC_TDM_TX_2"},
|
||||
{"MultiMedia25 Mixer", "SEC_TDM_TX_3", "SEC_TDM_TX_3"},
|
||||
{"MultiMedia25 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"},
|
||||
{"MultiMedia25 Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"},
|
||||
{"MultiMedia25 Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"},
|
||||
{"MultiMedia25 Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"},
|
||||
{"MultiMedia25 Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"},
|
||||
{"MultiMedia25 Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"},
|
||||
{"MultiMedia25 Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"},
|
||||
{"MultiMedia25 Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"},
|
||||
{"MultiMedia25 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"},
|
||||
{"MultiMedia25 Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"},
|
||||
{"MultiMedia25 Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"},
|
||||
{"MultiMedia25 Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"},
|
||||
|
||||
{"MultiMedia27 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"},
|
||||
{"MultiMedia27 Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"},
|
||||
{"MultiMedia27 Mixer", "SLIM_6_TX", "SLIMBUS_6_TX"},
|
||||
|
|
@ -26951,6 +27433,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
{"MM_UL21", NULL, "MultiMedia21 Mixer"},
|
||||
{"MM_UL22", NULL, "MultiMedia22 Mixer"},
|
||||
{"MM_UL23", NULL, "MultiMedia23 Mixer"},
|
||||
{"MM_UL24", NULL, "MultiMedia24 Mixer"},
|
||||
{"MM_UL25", NULL, "MultiMedia25 Mixer"},
|
||||
{"MM_UL27", NULL, "MultiMedia27 Mixer"},
|
||||
{"MM_UL28", NULL, "MultiMedia28 Mixer"},
|
||||
{"MM_UL29", NULL, "MultiMedia29 Mixer"},
|
||||
|
|
|
|||
|
|
@ -261,6 +261,8 @@ enum {
|
|||
MSM_FRONTEND_DAI_MULTIMEDIA21,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA22,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA23,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA24,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA25,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA26,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA27,
|
||||
MSM_FRONTEND_DAI_MULTIMEDIA28,
|
||||
|
|
|
|||
|
|
@ -174,14 +174,14 @@ struct tdm_conf {
|
|||
/* TDM default config */
|
||||
static struct dev_config tdm_rx_cfg[TDM_INTERFACE_MAX][TDM_PORT_MAX] = {
|
||||
{ /* PRI TDM */
|
||||
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2}, /* RX_0 */
|
||||
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2}, /* RX_1 */
|
||||
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2}, /* RX_2 */
|
||||
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2}, /* RX_3 */
|
||||
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* RX_4 */
|
||||
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* RX_5 */
|
||||
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* RX_6 */
|
||||
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* RX_7 */
|
||||
{SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* RX_0 */
|
||||
{SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* RX_1 */
|
||||
{SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 2}, /* RX_2 */
|
||||
{SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 2}, /* RX_3 */
|
||||
{SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* RX_4 */
|
||||
{SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* RX_5 */
|
||||
{SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* RX_6 */
|
||||
{SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* RX_7 */
|
||||
},
|
||||
{ /* SEC TDM */
|
||||
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2}, /* RX_0 */
|
||||
|
|
@ -228,14 +228,14 @@ static struct dev_config tdm_rx_cfg[TDM_INTERFACE_MAX][TDM_PORT_MAX] = {
|
|||
/* TDM default config */
|
||||
static struct dev_config tdm_tx_cfg[TDM_INTERFACE_MAX][TDM_PORT_MAX] = {
|
||||
{ /* PRI TDM */
|
||||
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2}, /* TX_0 */
|
||||
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2}, /* TX_1 */
|
||||
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2}, /* TX_2 */
|
||||
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2}, /* TX_3 */
|
||||
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* TX_4 */
|
||||
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* TX_5 */
|
||||
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* TX_6 */
|
||||
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* TX_7 */
|
||||
{SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* TX_0 */
|
||||
{SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* TX_1 */
|
||||
{SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 2}, /* TX_2 */
|
||||
{SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 2}, /* TX_3 */
|
||||
{SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* TX_4 */
|
||||
{SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* TX_5 */
|
||||
{SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* TX_6 */
|
||||
{SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, /* TX_7 */
|
||||
},
|
||||
{ /* SEC TDM */
|
||||
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 6}, /* TX_0 */
|
||||
|
|
@ -343,7 +343,7 @@ struct tdm_slot_cfg {
|
|||
|
||||
static struct tdm_slot_cfg tdm_slot[TDM_INTERFACE_MAX] = {
|
||||
/* PRI TDM */
|
||||
{32, 8},
|
||||
{16, 16},
|
||||
/* SEC TDM */
|
||||
{32, 8},
|
||||
/* TERT TDM */
|
||||
|
|
@ -377,11 +377,11 @@ static struct tdm_slot_cfg tdm_slot_custom[TDM_INTERFACE_MAX] = {
|
|||
static unsigned int tdm_rx_slot_offset
|
||||
[TDM_INTERFACE_MAX][TDM_PORT_MAX][TDM_SLOT_OFFSET_MAX] = {
|
||||
{/* PRI TDM */
|
||||
{0, 4, 0xFFFF},
|
||||
{8, 12, 0xFFFF},
|
||||
{16, 20, 0xFFFF},
|
||||
{24, 28, 0xFFFF},
|
||||
{0xFFFF}, /* not used */
|
||||
{0, 0xFFFF},
|
||||
{2, 0xFFFF},
|
||||
{4, 6, 0xFFFF},
|
||||
{8, 10, 0xFFFF},
|
||||
{12, 14, 0xFFFF},
|
||||
{0xFFFF}, /* not used */
|
||||
{0xFFFF}, /* not used */
|
||||
{0xFFFF}, /* not used */
|
||||
|
|
@ -431,11 +431,11 @@ static unsigned int tdm_rx_slot_offset
|
|||
static unsigned int tdm_tx_slot_offset
|
||||
[TDM_INTERFACE_MAX][TDM_PORT_MAX][TDM_SLOT_OFFSET_MAX] = {
|
||||
{/* PRI TDM */
|
||||
{0, 4, 0xFFFF},
|
||||
{8, 12, 0xFFFF},
|
||||
{16, 20, 0xFFFF},
|
||||
{24, 28, 0xFFFF},
|
||||
{0xFFFF}, /* not used */
|
||||
{0, 0xFFFF},
|
||||
{2, 0xFFFF},
|
||||
{4, 6, 0xFFFF},
|
||||
{8, 10, 0xFFFF},
|
||||
{12, 14, 0xFFFF},
|
||||
{0xFFFF}, /* not used */
|
||||
{0xFFFF}, /* not used */
|
||||
{0xFFFF}, /* not used */
|
||||
|
|
@ -5896,6 +5896,40 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = {
|
|||
.ignore_pmdown_time = 1,
|
||||
.id = MSM_FRONTEND_DAI_MULTIMEDIA23
|
||||
},
|
||||
{
|
||||
.name = MSM_DAILINK_NAME(Media24),
|
||||
.stream_name = "MultiMedia24",
|
||||
.cpu_dai_name = "MultiMedia24",
|
||||
.platform_name = "msm-pcm-loopback",
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.codec_dai_name = "snd-soc-dummy-dai",
|
||||
.codec_name = "snd-soc-dummy",
|
||||
.ignore_suspend = 1,
|
||||
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
|
||||
.ignore_pmdown_time = 1,
|
||||
.id = MSM_FRONTEND_DAI_MULTIMEDIA24
|
||||
},
|
||||
{
|
||||
.name = MSM_DAILINK_NAME(Media25),
|
||||
.stream_name = "MultiMedia25",
|
||||
.cpu_dai_name = "MultiMedia25",
|
||||
.platform_name = "msm-pcm-loopback",
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.codec_dai_name = "snd-soc-dummy-dai",
|
||||
.codec_name = "snd-soc-dummy",
|
||||
.ignore_suspend = 1,
|
||||
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
|
||||
.ignore_pmdown_time = 1,
|
||||
.id = MSM_FRONTEND_DAI_MULTIMEDIA25
|
||||
},
|
||||
};
|
||||
|
||||
static struct snd_soc_dai_link msm_custom_fe_dai_links[] = {
|
||||
|
|
|
|||
Loading…
Reference in a new issue