ASoC: msm: add quin tdm tx_7 to rx_7 loopback

Add Quinary TDM TX 7 to RX 7 AFE loopback routing
support.

Change-Id: I7d7ac5dc677d2a742b913f4b123274c3a689dfed
Signed-off-by: Han Lu <hanlu@codeaurora.org>
This commit is contained in:
Han Lu 2019-06-09 16:03:21 +08:00 • committed by Derek Chen
commit 7b6c5884b1
2 changed files with 49 additions and 0 deletions

View file

@ -2050,6 +2050,38 @@ static struct snd_soc_dai_driver msm_fe_dais[] = {
.name = "QUAT_TDM_RX_7_HOSTLESS",
.probe = fe_dai_probe,
},
{
.capture = {
.stream_name = "Quinary TDM7 Hostless Capture",
.aif_name = "QUIN_TDM_TX_7_UL_HL",
.rates = SNDRV_PCM_RATE_8000_48000,
.formats = (SNDRV_PCM_FMTBIT_S16_LE |
SNDRV_PCM_FMTBIT_S24_LE),
.channels_min = 1,
.channels_max = 16,
.rate_min = 8000,
.rate_max = 48000,
},
.ops = &msm_fe_dai_ops,
.name = "QUIN_TDM_TX_7_HOSTLESS",
.probe = fe_dai_probe,
},
{
.playback = {
.stream_name = "Quinary TDM7 Hostless Playback",
.aif_name = "QUIN_TDM_RX_7_DL_HL",
.rates = SNDRV_PCM_RATE_8000_48000,
.formats = (SNDRV_PCM_FMTBIT_S16_LE |
SNDRV_PCM_FMTBIT_S24_LE),
.channels_min = 1,
.channels_max = 16,
.rate_min = 8000,
.rate_max = 48000,
},
.ops = &msm_fe_dai_ops,
.name = "QUIN_TDM_RX_7_HOSTLESS",
.probe = fe_dai_probe,
},
{
.playback = {
.stream_name = "DTMF_RX_HOSTLESS Playback",

View file

@ -19082,6 +19082,14 @@ static const struct snd_kcontrol_new sen_tdm_rx_3_port_mixer_controls[] = {
msm_routing_put_port_mixer),
};
static const struct snd_kcontrol_new quin_tdm_rx_7_port_mixer_controls[] = {
SOC_DOUBLE_EXT("QUIN_TDM_TX_7", SND_SOC_NOPM,
MSM_BACKEND_DAI_QUIN_TDM_RX_7,
MSM_BACKEND_DAI_QUIN_TDM_TX_7, 1, 0,
msm_routing_get_port_mixer,
msm_routing_put_port_mixer),
};
static const struct snd_kcontrol_new tert_mi2s_rx_port_mixer_controls[] = {
SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM,
MSM_BACKEND_DAI_TERTIARY_MI2S_RX,
@ -22506,6 +22514,9 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = {
SND_SOC_DAPM_MIXER("QUIN_TDM_RX_3 Port Mixer", SND_SOC_NOPM, 0, 0,
quin_tdm_rx_3_port_mixer_controls,
ARRAY_SIZE(quin_tdm_rx_3_port_mixer_controls)),
SND_SOC_DAPM_MIXER("QUIN_TDM_RX_7 Port Mixer", SND_SOC_NOPM, 0, 0,
quin_tdm_rx_7_port_mixer_controls,
ARRAY_SIZE(quin_tdm_rx_7_port_mixer_controls)),
SND_SOC_DAPM_MIXER("SEN_TDM_RX_0 Port Mixer", SND_SOC_NOPM, 0, 0,
sen_tdm_rx_0_port_mixer_controls,
ARRAY_SIZE(sen_tdm_rx_0_port_mixer_controls)),
@ -25446,10 +25457,12 @@ static const struct snd_soc_dapm_route intercon[] = {
{"QUIN_TDM_TX_1_UL_HL", NULL, "QUIN_TDM_TX_1"},
{"QUIN_TDM_TX_2_UL_HL", NULL, "QUIN_TDM_TX_2"},
{"QUIN_TDM_TX_3_UL_HL", NULL, "QUIN_TDM_TX_3"},
{"QUIN_TDM_TX_7_UL_HL", NULL, "QUIN_TDM_TX_7"},
{"QUIN_TDM_RX_0", NULL, "QUIN_TDM_RX_0_DL_HL"},
{"QUIN_TDM_RX_1", NULL, "QUIN_TDM_RX_1_DL_HL"},
{"QUIN_TDM_RX_2", NULL, "QUIN_TDM_RX_2_DL_HL"},
{"QUIN_TDM_RX_3", NULL, "QUIN_TDM_RX_3_DL_HL"},
{"QUIN_TDM_RX_7", NULL, "QUIN_TDM_RX_7_DL_HL"},
{"SEN_TDM_TX_0_UL_HL", NULL, "SEN_TDM_TX_0"},
{"SEN_TDM_TX_1_UL_HL", NULL, "SEN_TDM_TX_1"},
{"SEN_TDM_TX_2_UL_HL", NULL, "SEN_TDM_TX_2"},
@ -25984,6 +25997,8 @@ static const struct snd_soc_dapm_route intercon[] = {
{"QUIN_TDM_RX_3 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"},
{"QUIN_TDM_RX_3 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"},
{"QUIN_TDM_RX_3", NULL, "QUIN_TDM_RX_3 Port Mixer"},
{"QUIN_TDM_RX_7 Port Mixer", "QUIN_TDM_TX_7", "QUIN_TDM_TX_7"},
{"QUIN_TDM_RX_7", NULL, "QUIN_TDM_RX_7 Port Mixer"},
{"SEN_TDM_RX_0 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"},
{"SEN_TDM_RX_0 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"},
@ -26432,6 +26447,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"BE_OUT", NULL, "QUIN_TDM_RX_1"},
{"BE_OUT", NULL, "QUIN_TDM_RX_2"},
{"BE_OUT", NULL, "QUIN_TDM_RX_3"},
{"BE_OUT", NULL, "QUIN_TDM_RX_7"},
{"BE_OUT", NULL, "SEN_TDM_RX_0"},
{"BE_OUT", NULL, "SEN_TDM_RX_1"},
{"BE_OUT", NULL, "SEN_TDM_RX_2"},
@ -26523,6 +26539,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"QUIN_TDM_TX_1", NULL, "BE_IN"},
{"QUIN_TDM_TX_2", NULL, "BE_IN"},
{"QUIN_TDM_TX_3", NULL, "BE_IN"},
{"QUIN_TDM_TX_7", NULL, "BE_IN"},
{"SEN_TDM_TX_0", NULL, "BE_IN"},
{"SEN_TDM_TX_1", NULL, "BE_IN"},
{"SEN_TDM_TX_2", NULL, "BE_IN"},