Merge "ASoC: add multimedia22 frontend and routing"

This commit is contained in:
qctecmdr
2019-08-11 03:19:29 -07:00
committed by Gerrit - the friendly Code Review server
3 changed files with 251 additions and 0 deletions

View File

@@ -2691,6 +2691,39 @@ static struct snd_soc_dai_driver msm_fe_dais[] = {
.name = "MultiMedia21", .name = "MultiMedia21",
.probe = fe_dai_probe, .probe = fe_dai_probe,
}, },
{
.playback = {
.stream_name = "MultiMedia22 Playback",
.aif_name = "MM_DL22",
.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 = 32,
.rate_min = 8000,
.rate_max = 384000,
},
.capture = {
.stream_name = "MultiMedia22 Capture",
.aif_name = "MM_UL22",
.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 = 32,
.rate_min = 8000,
.rate_max = 48000,
},
.ops = &msm_fe_Multimedia_dai_ops,
.name = "MultiMedia22",
.probe = fe_dai_probe,
},
{ {
.playback = { .playback = {
.stream_name = "MultiMedia26 Playback", .stream_name = "MultiMedia26 Playback",

View File

@@ -757,6 +757,9 @@ 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},
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} }, {0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
/* MULTIMEDIA21 */ /* MULTIMEDIA21 */
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
/* MULTIMEDIA22 */
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM}, {{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} }, {0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
/* MULTIMEDIA26 */ /* MULTIMEDIA26 */
@@ -9330,6 +9333,10 @@ static const struct snd_kcontrol_new pri_tdm_rx_0_mixer_controls[] = {
MSM_BACKEND_DAI_PRI_TDM_RX_0, MSM_BACKEND_DAI_PRI_TDM_RX_0,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_PRI_TDM_RX_0,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new pri_tdm_rx_1_mixer_controls[] = { static const struct snd_kcontrol_new pri_tdm_rx_1_mixer_controls[] = {
@@ -9401,6 +9408,10 @@ static const struct snd_kcontrol_new pri_tdm_rx_1_mixer_controls[] = {
MSM_BACKEND_DAI_PRI_TDM_RX_1, MSM_BACKEND_DAI_PRI_TDM_RX_1,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_PRI_TDM_RX_1,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new pri_tdm_rx_2_mixer_controls[] = { static const struct snd_kcontrol_new pri_tdm_rx_2_mixer_controls[] = {
@@ -9472,6 +9483,10 @@ static const struct snd_kcontrol_new pri_tdm_rx_2_mixer_controls[] = {
MSM_BACKEND_DAI_PRI_TDM_RX_2, MSM_BACKEND_DAI_PRI_TDM_RX_2,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_PRI_TDM_RX_2,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new pri_tdm_rx_3_mixer_controls[] = { static const struct snd_kcontrol_new pri_tdm_rx_3_mixer_controls[] = {
@@ -9543,6 +9558,10 @@ static const struct snd_kcontrol_new pri_tdm_rx_3_mixer_controls[] = {
MSM_BACKEND_DAI_PRI_TDM_RX_3, MSM_BACKEND_DAI_PRI_TDM_RX_3,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_PRI_TDM_RX_3,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new pri_tdm_tx_0_mixer_controls[] = { static const struct snd_kcontrol_new pri_tdm_tx_0_mixer_controls[] = {
@@ -9681,6 +9700,10 @@ static const struct snd_kcontrol_new sec_tdm_rx_0_mixer_controls[] = {
MSM_BACKEND_DAI_SEC_TDM_RX_0, MSM_BACKEND_DAI_SEC_TDM_RX_0,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_SEC_TDM_RX_0,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new sec_tdm_rx_1_mixer_controls[] = { static const struct snd_kcontrol_new sec_tdm_rx_1_mixer_controls[] = {
@@ -9752,6 +9775,10 @@ static const struct snd_kcontrol_new sec_tdm_rx_1_mixer_controls[] = {
MSM_BACKEND_DAI_SEC_TDM_RX_1, MSM_BACKEND_DAI_SEC_TDM_RX_1,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_SEC_TDM_RX_1,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new sec_tdm_rx_2_mixer_controls[] = { static const struct snd_kcontrol_new sec_tdm_rx_2_mixer_controls[] = {
@@ -9823,6 +9850,10 @@ static const struct snd_kcontrol_new sec_tdm_rx_2_mixer_controls[] = {
MSM_BACKEND_DAI_SEC_TDM_RX_2, MSM_BACKEND_DAI_SEC_TDM_RX_2,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_SEC_TDM_RX_2,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new sec_tdm_rx_3_mixer_controls[] = { static const struct snd_kcontrol_new sec_tdm_rx_3_mixer_controls[] = {
@@ -9894,6 +9925,10 @@ static const struct snd_kcontrol_new sec_tdm_rx_3_mixer_controls[] = {
MSM_BACKEND_DAI_SEC_TDM_RX_3, MSM_BACKEND_DAI_SEC_TDM_RX_3,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_SEC_TDM_RX_3,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new sec_tdm_tx_0_mixer_controls[] = { static const struct snd_kcontrol_new sec_tdm_tx_0_mixer_controls[] = {
@@ -10032,6 +10067,10 @@ static const struct snd_kcontrol_new tert_tdm_rx_0_mixer_controls[] = {
MSM_BACKEND_DAI_TERT_TDM_RX_0, MSM_BACKEND_DAI_TERT_TDM_RX_0,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_TERT_TDM_RX_0,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new tert_tdm_tx_0_mixer_controls[] = { static const struct snd_kcontrol_new tert_tdm_tx_0_mixer_controls[] = {
@@ -10170,6 +10209,10 @@ static const struct snd_kcontrol_new tert_tdm_rx_1_mixer_controls[] = {
MSM_BACKEND_DAI_TERT_TDM_RX_1, MSM_BACKEND_DAI_TERT_TDM_RX_1,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_TERT_TDM_RX_1,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new tert_tdm_rx_2_mixer_controls[] = { static const struct snd_kcontrol_new tert_tdm_rx_2_mixer_controls[] = {
@@ -10241,6 +10284,10 @@ static const struct snd_kcontrol_new tert_tdm_rx_2_mixer_controls[] = {
MSM_BACKEND_DAI_TERT_TDM_RX_2, MSM_BACKEND_DAI_TERT_TDM_RX_2,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_TERT_TDM_RX_2,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new tert_tdm_rx_3_mixer_controls[] = { static const struct snd_kcontrol_new tert_tdm_rx_3_mixer_controls[] = {
@@ -10312,6 +10359,10 @@ static const struct snd_kcontrol_new tert_tdm_rx_3_mixer_controls[] = {
MSM_BACKEND_DAI_TERT_TDM_RX_3, MSM_BACKEND_DAI_TERT_TDM_RX_3,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_TERT_TDM_RX_3,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new tert_tdm_rx_4_mixer_controls[] = { static const struct snd_kcontrol_new tert_tdm_rx_4_mixer_controls[] = {
@@ -10383,6 +10434,10 @@ static const struct snd_kcontrol_new tert_tdm_rx_4_mixer_controls[] = {
MSM_BACKEND_DAI_TERT_TDM_RX_4, MSM_BACKEND_DAI_TERT_TDM_RX_4,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_TERT_TDM_RX_4,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new quat_tdm_rx_0_mixer_controls[] = { static const struct snd_kcontrol_new quat_tdm_rx_0_mixer_controls[] = {
@@ -10458,6 +10513,10 @@ static const struct snd_kcontrol_new quat_tdm_rx_0_mixer_controls[] = {
MSM_BACKEND_DAI_QUAT_TDM_RX_0, MSM_BACKEND_DAI_QUAT_TDM_RX_0,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_QUAT_TDM_RX_0,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new quat_tdm_tx_0_mixer_controls[] = { static const struct snd_kcontrol_new quat_tdm_tx_0_mixer_controls[] = {
@@ -10600,6 +10659,10 @@ static const struct snd_kcontrol_new quat_tdm_rx_1_mixer_controls[] = {
MSM_BACKEND_DAI_QUAT_TDM_RX_1, MSM_BACKEND_DAI_QUAT_TDM_RX_1,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_QUAT_TDM_RX_1,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new quat_tdm_rx_2_mixer_controls[] = { static const struct snd_kcontrol_new quat_tdm_rx_2_mixer_controls[] = {
@@ -10675,6 +10738,10 @@ static const struct snd_kcontrol_new quat_tdm_rx_2_mixer_controls[] = {
MSM_BACKEND_DAI_QUAT_TDM_RX_2, MSM_BACKEND_DAI_QUAT_TDM_RX_2,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_QUAT_TDM_RX_2,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new quat_tdm_rx_3_mixer_controls[] = { static const struct snd_kcontrol_new quat_tdm_rx_3_mixer_controls[] = {
@@ -10750,6 +10817,10 @@ static const struct snd_kcontrol_new quat_tdm_rx_3_mixer_controls[] = {
MSM_BACKEND_DAI_QUAT_TDM_RX_3, MSM_BACKEND_DAI_QUAT_TDM_RX_3,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_QUAT_TDM_RX_3,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new quin_tdm_rx_0_mixer_controls[] = { static const struct snd_kcontrol_new quin_tdm_rx_0_mixer_controls[] = {
@@ -10825,6 +10896,10 @@ static const struct snd_kcontrol_new quin_tdm_rx_0_mixer_controls[] = {
MSM_BACKEND_DAI_QUIN_TDM_RX_0, MSM_BACKEND_DAI_QUIN_TDM_RX_0,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_QUIN_TDM_RX_0,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new quin_tdm_tx_0_mixer_controls[] = { static const struct snd_kcontrol_new quin_tdm_tx_0_mixer_controls[] = {
@@ -10967,6 +11042,10 @@ static const struct snd_kcontrol_new quin_tdm_rx_1_mixer_controls[] = {
MSM_BACKEND_DAI_QUIN_TDM_RX_1, MSM_BACKEND_DAI_QUIN_TDM_RX_1,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_QUIN_TDM_RX_1,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new quin_tdm_rx_2_mixer_controls[] = { static const struct snd_kcontrol_new quin_tdm_rx_2_mixer_controls[] = {
@@ -11042,6 +11121,10 @@ static const struct snd_kcontrol_new quin_tdm_rx_2_mixer_controls[] = {
MSM_BACKEND_DAI_QUIN_TDM_RX_2, MSM_BACKEND_DAI_QUIN_TDM_RX_2,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_QUIN_TDM_RX_2,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new quin_tdm_rx_3_mixer_controls[] = { static const struct snd_kcontrol_new quin_tdm_rx_3_mixer_controls[] = {
@@ -11117,6 +11200,10 @@ static const struct snd_kcontrol_new quin_tdm_rx_3_mixer_controls[] = {
MSM_BACKEND_DAI_QUIN_TDM_RX_3, MSM_BACKEND_DAI_QUIN_TDM_RX_3,
MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia22", SND_SOC_NOPM,
MSM_BACKEND_DAI_QUIN_TDM_RX_3,
MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new sen_tdm_rx_0_mixer_controls[] = { static const struct snd_kcontrol_new sen_tdm_rx_0_mixer_controls[] = {
@@ -14380,6 +14467,89 @@ static const struct snd_kcontrol_new mmul21_mixer_controls[] = {
msm_routing_put_audio_mixer), msm_routing_put_audio_mixer),
}; };
static const struct snd_kcontrol_new mmul22_mixer_controls[] = {
SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM,
MSM_BACKEND_DAI_PRI_TDM_TX_0,
MSM_FRONTEND_DAI_MULTIMEDIA22, 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_MULTIMEDIA22, 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_MULTIMEDIA22, 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_MULTIMEDIA22, 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_MULTIMEDIA22, 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_MULTIMEDIA22, 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_MULTIMEDIA22, 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_MULTIMEDIA22, 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_MULTIMEDIA22, 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_MULTIMEDIA22, 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_MULTIMEDIA22, 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_MULTIMEDIA22, 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_MULTIMEDIA22, 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_MULTIMEDIA22, 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_MULTIMEDIA22, 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_MULTIMEDIA22, 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_MULTIMEDIA22, 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_MULTIMEDIA22, 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_MULTIMEDIA22, 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_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
};
static const struct snd_kcontrol_new mmul27_mixer_controls[] = { static const struct snd_kcontrol_new mmul27_mixer_controls[] = {
SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM, SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_0_TX, MSM_BACKEND_DAI_SLIMBUS_0_TX,
@@ -22265,6 +22435,7 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = {
SND_SOC_DAPM_AIF_IN("MM_DL16", "MultiMedia16 Playback", 0, 0, 0, 0), SND_SOC_DAPM_AIF_IN("MM_DL16", "MultiMedia16 Playback", 0, 0, 0, 0),
SND_SOC_DAPM_AIF_IN("MM_DL20", "MultiMedia20 Playback", 0, 0, 0, 0), SND_SOC_DAPM_AIF_IN("MM_DL20", "MultiMedia20 Playback", 0, 0, 0, 0),
SND_SOC_DAPM_AIF_IN("MM_DL21", "MultiMedia21 Playback", 0, 0, 0, 0), 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_DL26", "MultiMedia26 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_IN("VOIP_DL", "VoIP Playback", 0, 0, 0, 0),
SND_SOC_DAPM_AIF_OUT("MM_UL1", "MultiMedia1 Capture", 0, 0, 0, 0), SND_SOC_DAPM_AIF_OUT("MM_UL1", "MultiMedia1 Capture", 0, 0, 0, 0),
@@ -22282,6 +22453,7 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = {
SND_SOC_DAPM_AIF_OUT("MM_UL19", "MultiMedia19 Capture", 0, 0, 0, 0), SND_SOC_DAPM_AIF_OUT("MM_UL19", "MultiMedia19 Capture", 0, 0, 0, 0),
SND_SOC_DAPM_AIF_OUT("MM_UL20", "MultiMedia20 Capture", 0, 0, 0, 0), SND_SOC_DAPM_AIF_OUT("MM_UL20", "MultiMedia20 Capture", 0, 0, 0, 0),
SND_SOC_DAPM_AIF_OUT("MM_UL21", "MultiMedia21 Capture", 0, 0, 0, 0), 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_UL27", "MultiMedia27 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_UL28", "MultiMedia28 Capture", 0, 0, 0, 0),
SND_SOC_DAPM_AIF_OUT("MM_UL29", "MultiMedia29 Capture", 0, 0, 0, 0), SND_SOC_DAPM_AIF_OUT("MM_UL29", "MultiMedia29 Capture", 0, 0, 0, 0),
@@ -23362,6 +23534,8 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = {
mmul20_mixer_controls, ARRAY_SIZE(mmul20_mixer_controls)), mmul20_mixer_controls, ARRAY_SIZE(mmul20_mixer_controls)),
SND_SOC_DAPM_MIXER("MultiMedia21 Mixer", SND_SOC_NOPM, 0, 0, SND_SOC_DAPM_MIXER("MultiMedia21 Mixer", SND_SOC_NOPM, 0, 0,
mmul21_mixer_controls, ARRAY_SIZE(mmul21_mixer_controls)), mmul21_mixer_controls, ARRAY_SIZE(mmul21_mixer_controls)),
SND_SOC_DAPM_MIXER("MultiMedia22 Mixer", SND_SOC_NOPM, 0, 0,
mmul22_mixer_controls, ARRAY_SIZE(mmul22_mixer_controls)),
SND_SOC_DAPM_MIXER("MultiMedia27 Mixer", SND_SOC_NOPM, 0, 0, SND_SOC_DAPM_MIXER("MultiMedia27 Mixer", SND_SOC_NOPM, 0, 0,
mmul27_mixer_controls, ARRAY_SIZE(mmul27_mixer_controls)), mmul27_mixer_controls, ARRAY_SIZE(mmul27_mixer_controls)),
SND_SOC_DAPM_MIXER("MultiMedia28 Mixer", SND_SOC_NOPM, 0, 0, SND_SOC_DAPM_MIXER("MultiMedia28 Mixer", SND_SOC_NOPM, 0, 0,
@@ -24540,6 +24714,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"PRI_TDM_RX_0 Audio Mixer", "MultiMedia15", "MM_DL15"}, {"PRI_TDM_RX_0 Audio Mixer", "MultiMedia15", "MM_DL15"},
{"PRI_TDM_RX_0 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"PRI_TDM_RX_0 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"PRI_TDM_RX_0 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"PRI_TDM_RX_0 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"PRI_TDM_RX_0 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"PRI_TDM_RX_0", NULL, "PRI_TDM_RX_0 Audio Mixer"}, {"PRI_TDM_RX_0", NULL, "PRI_TDM_RX_0 Audio Mixer"},
{"PRI_TDM_RX_1 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"PRI_TDM_RX_1 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24559,6 +24734,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"PRI_TDM_RX_1 Audio Mixer", "MultiMedia15", "MM_DL15"}, {"PRI_TDM_RX_1 Audio Mixer", "MultiMedia15", "MM_DL15"},
{"PRI_TDM_RX_1 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"PRI_TDM_RX_1 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"PRI_TDM_RX_1 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"PRI_TDM_RX_1 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"PRI_TDM_RX_1 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"PRI_TDM_RX_1", NULL, "PRI_TDM_RX_1 Audio Mixer"}, {"PRI_TDM_RX_1", NULL, "PRI_TDM_RX_1 Audio Mixer"},
{"PRI_TDM_RX_2 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"PRI_TDM_RX_2 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24578,6 +24754,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"PRI_TDM_RX_2 Audio Mixer", "MultiMedia15", "MM_DL15"}, {"PRI_TDM_RX_2 Audio Mixer", "MultiMedia15", "MM_DL15"},
{"PRI_TDM_RX_2 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"PRI_TDM_RX_2 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"PRI_TDM_RX_2 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"PRI_TDM_RX_2 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"PRI_TDM_RX_2 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"PRI_TDM_RX_2", NULL, "PRI_TDM_RX_2 Audio Mixer"}, {"PRI_TDM_RX_2", NULL, "PRI_TDM_RX_2 Audio Mixer"},
{"PRI_TDM_RX_3 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"PRI_TDM_RX_3 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24597,6 +24774,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"PRI_TDM_RX_3 Audio Mixer", "MultiMedia15", "MM_DL15"}, {"PRI_TDM_RX_3 Audio Mixer", "MultiMedia15", "MM_DL15"},
{"PRI_TDM_RX_3 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"PRI_TDM_RX_3 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"PRI_TDM_RX_3 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"PRI_TDM_RX_3 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"PRI_TDM_RX_3 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"PRI_TDM_RX_3", NULL, "PRI_TDM_RX_3 Audio Mixer"}, {"PRI_TDM_RX_3", NULL, "PRI_TDM_RX_3 Audio Mixer"},
{"PRI_TDM_TX_0 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"PRI_TDM_TX_0 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24634,6 +24812,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"SEC_TDM_RX_0 Audio Mixer", "MultiMedia15", "MM_DL15"}, {"SEC_TDM_RX_0 Audio Mixer", "MultiMedia15", "MM_DL15"},
{"SEC_TDM_RX_0 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"SEC_TDM_RX_0 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"SEC_TDM_RX_0 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"SEC_TDM_RX_0 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"SEC_TDM_RX_0 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"SEC_TDM_RX_0", NULL, "SEC_TDM_RX_0 Audio Mixer"}, {"SEC_TDM_RX_0", NULL, "SEC_TDM_RX_0 Audio Mixer"},
{"SEC_TDM_RX_1 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"SEC_TDM_RX_1 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24653,6 +24832,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"SEC_TDM_RX_1 Audio Mixer", "MultiMedia15", "MM_DL15"}, {"SEC_TDM_RX_1 Audio Mixer", "MultiMedia15", "MM_DL15"},
{"SEC_TDM_RX_1 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"SEC_TDM_RX_1 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"SEC_TDM_RX_1 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"SEC_TDM_RX_1 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"SEC_TDM_RX_1 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"SEC_TDM_RX_1", NULL, "SEC_TDM_RX_1 Audio Mixer"}, {"SEC_TDM_RX_1", NULL, "SEC_TDM_RX_1 Audio Mixer"},
{"SEC_TDM_RX_2 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"SEC_TDM_RX_2 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24672,6 +24852,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"SEC_TDM_RX_2 Audio Mixer", "MultiMedia15", "MM_DL15"}, {"SEC_TDM_RX_2 Audio Mixer", "MultiMedia15", "MM_DL15"},
{"SEC_TDM_RX_2 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"SEC_TDM_RX_2 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"SEC_TDM_RX_2 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"SEC_TDM_RX_2 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"SEC_TDM_RX_2 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"SEC_TDM_RX_2", NULL, "SEC_TDM_RX_2 Audio Mixer"}, {"SEC_TDM_RX_2", NULL, "SEC_TDM_RX_2 Audio Mixer"},
{"SEC_TDM_RX_3 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"SEC_TDM_RX_3 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24691,6 +24872,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"SEC_TDM_RX_3 Audio Mixer", "MultiMedia15", "MM_DL15"}, {"SEC_TDM_RX_3 Audio Mixer", "MultiMedia15", "MM_DL15"},
{"SEC_TDM_RX_3 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"SEC_TDM_RX_3 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"SEC_TDM_RX_3 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"SEC_TDM_RX_3 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"SEC_TDM_RX_3 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"SEC_TDM_RX_3", NULL, "SEC_TDM_RX_3 Audio Mixer"}, {"SEC_TDM_RX_3", NULL, "SEC_TDM_RX_3 Audio Mixer"},
{"SEC_TDM_TX_0 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"SEC_TDM_TX_0 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24728,6 +24910,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"TERT_TDM_RX_0 Audio Mixer", "MultiMedia15", "MM_DL15"}, {"TERT_TDM_RX_0 Audio Mixer", "MultiMedia15", "MM_DL15"},
{"TERT_TDM_RX_0 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"TERT_TDM_RX_0 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"TERT_TDM_RX_0 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"TERT_TDM_RX_0 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"TERT_TDM_RX_0 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"TERT_TDM_RX_0", NULL, "TERT_TDM_RX_0 Audio Mixer"}, {"TERT_TDM_RX_0", NULL, "TERT_TDM_RX_0 Audio Mixer"},
{"TERT_TDM_TX_0 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"TERT_TDM_TX_0 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24765,6 +24948,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"TERT_TDM_RX_1 Audio Mixer", "MultiMedia15", "MM_DL15"}, {"TERT_TDM_RX_1 Audio Mixer", "MultiMedia15", "MM_DL15"},
{"TERT_TDM_RX_1 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"TERT_TDM_RX_1 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"TERT_TDM_RX_1 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"TERT_TDM_RX_1 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"TERT_TDM_RX_1 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"TERT_TDM_RX_1", NULL, "TERT_TDM_RX_1 Audio Mixer"}, {"TERT_TDM_RX_1", NULL, "TERT_TDM_RX_1 Audio Mixer"},
{"TERT_TDM_RX_2 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"TERT_TDM_RX_2 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24784,6 +24968,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"TERT_TDM_RX_2 Audio Mixer", "MultiMedia15", "MM_DL15"}, {"TERT_TDM_RX_2 Audio Mixer", "MultiMedia15", "MM_DL15"},
{"TERT_TDM_RX_2 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"TERT_TDM_RX_2 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"TERT_TDM_RX_2 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"TERT_TDM_RX_2 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"TERT_TDM_RX_2 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"TERT_TDM_RX_2", NULL, "TERT_TDM_RX_2 Audio Mixer"}, {"TERT_TDM_RX_2", NULL, "TERT_TDM_RX_2 Audio Mixer"},
{"TERT_TDM_RX_3 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"TERT_TDM_RX_3 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24803,6 +24988,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"TERT_TDM_RX_3 Audio Mixer", "MultiMedia15", "MM_DL15"}, {"TERT_TDM_RX_3 Audio Mixer", "MultiMedia15", "MM_DL15"},
{"TERT_TDM_RX_3 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"TERT_TDM_RX_3 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"TERT_TDM_RX_3 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"TERT_TDM_RX_3 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"TERT_TDM_RX_3 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"TERT_TDM_RX_3", NULL, "TERT_TDM_RX_3 Audio Mixer"}, {"TERT_TDM_RX_3", NULL, "TERT_TDM_RX_3 Audio Mixer"},
{"TERT_TDM_RX_4 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"TERT_TDM_RX_4 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24822,6 +25008,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"TERT_TDM_RX_4 Audio Mixer", "MultiMedia15", "MM_DL15"}, {"TERT_TDM_RX_4 Audio Mixer", "MultiMedia15", "MM_DL15"},
{"TERT_TDM_RX_4 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"TERT_TDM_RX_4 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"TERT_TDM_RX_4 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"TERT_TDM_RX_4 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"TERT_TDM_RX_4 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"TERT_TDM_RX_4", NULL, "TERT_TDM_RX_4 Audio Mixer"}, {"TERT_TDM_RX_4", NULL, "TERT_TDM_RX_4 Audio Mixer"},
{"QUAT_TDM_RX_0 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"QUAT_TDM_RX_0 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24842,6 +25029,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"QUAT_TDM_RX_0 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"QUAT_TDM_RX_0 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"QUAT_TDM_RX_0 Audio Mixer", "MultiMedia20", "MM_DL20"}, {"QUAT_TDM_RX_0 Audio Mixer", "MultiMedia20", "MM_DL20"},
{"QUAT_TDM_RX_0 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"QUAT_TDM_RX_0 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"QUAT_TDM_RX_0 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"QUAT_TDM_RX_0", NULL, "QUAT_TDM_RX_0 Audio Mixer"}, {"QUAT_TDM_RX_0", NULL, "QUAT_TDM_RX_0 Audio Mixer"},
{"QUAT_TDM_TX_0 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"QUAT_TDM_TX_0 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24880,6 +25068,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"QUAT_TDM_RX_1 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"QUAT_TDM_RX_1 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"QUAT_TDM_RX_1 Audio Mixer", "MultiMedia20", "MM_DL20"}, {"QUAT_TDM_RX_1 Audio Mixer", "MultiMedia20", "MM_DL20"},
{"QUAT_TDM_RX_1 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"QUAT_TDM_RX_1 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"QUAT_TDM_RX_1 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"QUAT_TDM_RX_1", NULL, "QUAT_TDM_RX_1 Audio Mixer"}, {"QUAT_TDM_RX_1", NULL, "QUAT_TDM_RX_1 Audio Mixer"},
{"QUAT_TDM_RX_2 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"QUAT_TDM_RX_2 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24900,6 +25089,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"QUAT_TDM_RX_2 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"QUAT_TDM_RX_2 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"QUAT_TDM_RX_2 Audio Mixer", "MultiMedia20", "MM_DL20"}, {"QUAT_TDM_RX_2 Audio Mixer", "MultiMedia20", "MM_DL20"},
{"QUAT_TDM_RX_2 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"QUAT_TDM_RX_2 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"QUAT_TDM_RX_2 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"QUAT_TDM_RX_2", NULL, "QUAT_TDM_RX_2 Audio Mixer"}, {"QUAT_TDM_RX_2", NULL, "QUAT_TDM_RX_2 Audio Mixer"},
{"QUAT_TDM_RX_3 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"QUAT_TDM_RX_3 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24920,6 +25110,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"QUAT_TDM_RX_3 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"QUAT_TDM_RX_3 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"QUAT_TDM_RX_3 Audio Mixer", "MultiMedia20", "MM_DL20"}, {"QUAT_TDM_RX_3 Audio Mixer", "MultiMedia20", "MM_DL20"},
{"QUAT_TDM_RX_3 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"QUAT_TDM_RX_3 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"QUAT_TDM_RX_3 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"QUAT_TDM_RX_3", NULL, "QUAT_TDM_RX_3 Audio Mixer"}, {"QUAT_TDM_RX_3", NULL, "QUAT_TDM_RX_3 Audio Mixer"},
{"QUIN_TDM_RX_0 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"QUIN_TDM_RX_0 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24940,6 +25131,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"QUIN_TDM_RX_0 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"QUIN_TDM_RX_0 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"QUIN_TDM_RX_0 Audio Mixer", "MultiMedia20", "MM_DL20"}, {"QUIN_TDM_RX_0 Audio Mixer", "MultiMedia20", "MM_DL20"},
{"QUIN_TDM_RX_0 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"QUIN_TDM_RX_0 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"QUIN_TDM_RX_0 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"QUIN_TDM_RX_0", NULL, "QUIN_TDM_RX_0 Audio Mixer"}, {"QUIN_TDM_RX_0", NULL, "QUIN_TDM_RX_0 Audio Mixer"},
{"QUIN_TDM_TX_0 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"QUIN_TDM_TX_0 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24978,6 +25170,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"QUIN_TDM_RX_1 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"QUIN_TDM_RX_1 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"QUIN_TDM_RX_1 Audio Mixer", "MultiMedia20", "MM_DL20"}, {"QUIN_TDM_RX_1 Audio Mixer", "MultiMedia20", "MM_DL20"},
{"QUIN_TDM_RX_1 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"QUIN_TDM_RX_1 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"QUIN_TDM_RX_1 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"QUIN_TDM_RX_1", NULL, "QUIN_TDM_RX_1 Audio Mixer"}, {"QUIN_TDM_RX_1", NULL, "QUIN_TDM_RX_1 Audio Mixer"},
{"QUIN_TDM_RX_2 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"QUIN_TDM_RX_2 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -24998,6 +25191,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"QUIN_TDM_RX_2 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"QUIN_TDM_RX_2 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"QUIN_TDM_RX_2 Audio Mixer", "MultiMedia20", "MM_DL20"}, {"QUIN_TDM_RX_2 Audio Mixer", "MultiMedia20", "MM_DL20"},
{"QUIN_TDM_RX_2 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"QUIN_TDM_RX_2 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"QUIN_TDM_RX_2 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"QUIN_TDM_RX_2", NULL, "QUIN_TDM_RX_2 Audio Mixer"}, {"QUIN_TDM_RX_2", NULL, "QUIN_TDM_RX_2 Audio Mixer"},
{"QUIN_TDM_RX_3 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"QUIN_TDM_RX_3 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -25018,6 +25212,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"QUIN_TDM_RX_3 Audio Mixer", "MultiMedia16", "MM_DL16"}, {"QUIN_TDM_RX_3 Audio Mixer", "MultiMedia16", "MM_DL16"},
{"QUIN_TDM_RX_3 Audio Mixer", "MultiMedia20", "MM_DL20"}, {"QUIN_TDM_RX_3 Audio Mixer", "MultiMedia20", "MM_DL20"},
{"QUIN_TDM_RX_3 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"QUIN_TDM_RX_3 Audio Mixer", "MultiMedia21", "MM_DL21"},
{"QUIN_TDM_RX_3 Audio Mixer", "MultiMedia22", "MM_DL22"},
{"QUIN_TDM_RX_3", NULL, "QUIN_TDM_RX_3 Audio Mixer"}, {"QUIN_TDM_RX_3", NULL, "QUIN_TDM_RX_3 Audio Mixer"},
{"SEN_TDM_RX_0 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"SEN_TDM_RX_0 Audio Mixer", "MultiMedia1", "MM_DL1"},
@@ -25619,6 +25814,27 @@ static const struct snd_soc_dapm_route intercon[] = {
{"MultiMedia21 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, {"MultiMedia21 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"},
{"MultiMedia21 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, {"MultiMedia21 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"},
{"MultiMedia22 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"},
{"MultiMedia22 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"},
{"MultiMedia22 Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"},
{"MultiMedia22 Mixer", "PRI_TDM_TX_3", "PRI_TDM_TX_3"},
{"MultiMedia22 Mixer", "SEC_TDM_TX_0", "SEC_TDM_TX_0"},
{"MultiMedia22 Mixer", "SEC_TDM_TX_1", "SEC_TDM_TX_1"},
{"MultiMedia22 Mixer", "SEC_TDM_TX_2", "SEC_TDM_TX_2"},
{"MultiMedia22 Mixer", "SEC_TDM_TX_3", "SEC_TDM_TX_3"},
{"MultiMedia22 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"},
{"MultiMedia22 Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"},
{"MultiMedia22 Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"},
{"MultiMedia22 Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"},
{"MultiMedia22 Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"},
{"MultiMedia22 Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"},
{"MultiMedia22 Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"},
{"MultiMedia22 Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"},
{"MultiMedia22 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"},
{"MultiMedia22 Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"},
{"MultiMedia22 Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"},
{"MultiMedia22 Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"},
{"MultiMedia27 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, {"MultiMedia27 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"},
{"MultiMedia27 Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, {"MultiMedia27 Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"},
{"MultiMedia27 Mixer", "SLIM_6_TX", "SLIMBUS_6_TX"}, {"MultiMedia27 Mixer", "SLIM_6_TX", "SLIMBUS_6_TX"},
@@ -25862,6 +26078,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"MM_UL19", NULL, "MultiMedia19 Mixer"}, {"MM_UL19", NULL, "MultiMedia19 Mixer"},
{"MM_UL20", NULL, "MultiMedia20 Mixer"}, {"MM_UL20", NULL, "MultiMedia20 Mixer"},
{"MM_UL21", NULL, "MultiMedia21 Mixer"}, {"MM_UL21", NULL, "MultiMedia21 Mixer"},
{"MM_UL22", NULL, "MultiMedia22 Mixer"},
{"MM_UL27", NULL, "MultiMedia27 Mixer"}, {"MM_UL27", NULL, "MultiMedia27 Mixer"},
{"MM_UL28", NULL, "MultiMedia28 Mixer"}, {"MM_UL28", NULL, "MultiMedia28 Mixer"},
{"MM_UL29", NULL, "MultiMedia29 Mixer"}, {"MM_UL29", NULL, "MultiMedia29 Mixer"},

View File

@@ -256,6 +256,7 @@ enum {
MSM_FRONTEND_DAI_MULTIMEDIA19, MSM_FRONTEND_DAI_MULTIMEDIA19,
MSM_FRONTEND_DAI_MULTIMEDIA20, MSM_FRONTEND_DAI_MULTIMEDIA20,
MSM_FRONTEND_DAI_MULTIMEDIA21, MSM_FRONTEND_DAI_MULTIMEDIA21,
MSM_FRONTEND_DAI_MULTIMEDIA22,
MSM_FRONTEND_DAI_MULTIMEDIA26, MSM_FRONTEND_DAI_MULTIMEDIA26,
MSM_FRONTEND_DAI_MULTIMEDIA27, MSM_FRONTEND_DAI_MULTIMEDIA27,
MSM_FRONTEND_DAI_MULTIMEDIA28, MSM_FRONTEND_DAI_MULTIMEDIA28,