diff --git a/asoc/msm-pcm-routing-v2.c b/asoc/msm-pcm-routing-v2.c old mode 100755 new mode 100644 index 27432de81657..e3b5ae16d65a --- a/asoc/msm-pcm-routing-v2.c +++ b/asoc/msm-pcm-routing-v2.c @@ -894,6 +894,134 @@ struct msm_pcm_routing_bdai_data msm_bedais[MSM_BACKEND_DAI_MAX] = { { HDMI_RX_MS, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_HDMI_MS}, { RT_PROXY_PORT_002_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_AFE_PCM_RX1}, + { AFE_PORT_ID_SEPTENARY_TDM_RX, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_SEP_TDM_RX_0}, + { AFE_PORT_ID_SEPTENARY_TDM_TX, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_SEP_TDM_TX_0}, + { AFE_PORT_ID_SEPTENARY_TDM_RX_1, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_SEP_TDM_RX_1}, + { AFE_PORT_ID_SEPTENARY_TDM_TX_1, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_SEP_TDM_TX_1}, + { AFE_PORT_ID_SEPTENARY_TDM_RX_2, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_SEP_TDM_RX_2}, + { AFE_PORT_ID_SEPTENARY_TDM_TX_2, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_SEP_TDM_TX_2}, + { AFE_PORT_ID_SEPTENARY_TDM_RX_3, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_SEP_TDM_RX_3}, + { AFE_PORT_ID_SEPTENARY_TDM_TX_3, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_SEP_TDM_TX_3}, + { AFE_PORT_ID_SEPTENARY_TDM_RX_4, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_SEP_TDM_RX_4}, + { AFE_PORT_ID_SEPTENARY_TDM_TX_4, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_SEP_TDM_TX_4}, + { AFE_PORT_ID_SEPTENARY_TDM_RX_5, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_SEP_TDM_RX_5}, + { AFE_PORT_ID_SEPTENARY_TDM_TX_5, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_SEP_TDM_TX_5}, + { AFE_PORT_ID_SEPTENARY_TDM_RX_6, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_SEP_TDM_RX_6}, + { AFE_PORT_ID_SEPTENARY_TDM_TX_6, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_SEP_TDM_TX_6}, + { AFE_PORT_ID_SEPTENARY_TDM_RX_7, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_SEP_TDM_RX_7}, + { AFE_PORT_ID_SEPTENARY_TDM_TX_7, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_SEP_TDM_TX_7}, + { AFE_PORT_ID_HSIF0_TDM_RX, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF0_TDM_RX_0}, + { AFE_PORT_ID_HSIF0_TDM_TX, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF0_TDM_TX_0}, + { AFE_PORT_ID_HSIF0_TDM_RX_1, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF0_TDM_RX_1}, + { AFE_PORT_ID_HSIF0_TDM_TX_1, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF0_TDM_TX_1}, + { AFE_PORT_ID_HSIF0_TDM_RX_2, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF0_TDM_RX_2}, + { AFE_PORT_ID_HSIF0_TDM_TX_2, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF0_TDM_TX_2}, + { AFE_PORT_ID_HSIF0_TDM_RX_3, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF0_TDM_RX_3}, + { AFE_PORT_ID_HSIF0_TDM_TX_3, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF0_TDM_TX_3}, + { AFE_PORT_ID_HSIF0_TDM_RX_4, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF0_TDM_RX_4}, + { AFE_PORT_ID_HSIF0_TDM_TX_4, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF0_TDM_TX_4}, + { AFE_PORT_ID_HSIF0_TDM_RX_5, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF0_TDM_RX_5}, + { AFE_PORT_ID_HSIF0_TDM_TX_5, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF0_TDM_TX_5}, + { AFE_PORT_ID_HSIF0_TDM_RX_6, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF0_TDM_RX_6}, + { AFE_PORT_ID_HSIF0_TDM_TX_6, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF0_TDM_TX_6}, + { AFE_PORT_ID_HSIF0_TDM_RX_7, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF0_TDM_RX_7}, + { AFE_PORT_ID_HSIF0_TDM_TX_7, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF0_TDM_TX_7}, + { AFE_PORT_ID_HSIF1_TDM_RX, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF1_TDM_RX_0}, + { AFE_PORT_ID_HSIF1_TDM_TX, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF1_TDM_TX_0}, + { AFE_PORT_ID_HSIF1_TDM_RX_1, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF1_TDM_RX_1}, + { AFE_PORT_ID_HSIF1_TDM_TX_1, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF1_TDM_TX_1}, + { AFE_PORT_ID_HSIF1_TDM_RX_2, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF1_TDM_RX_2}, + { AFE_PORT_ID_HSIF1_TDM_TX_2, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF1_TDM_TX_2}, + { AFE_PORT_ID_HSIF1_TDM_RX_3, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF1_TDM_RX_3}, + { AFE_PORT_ID_HSIF1_TDM_TX_3, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF1_TDM_TX_3}, + { AFE_PORT_ID_HSIF1_TDM_RX_4, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF1_TDM_RX_4}, + { AFE_PORT_ID_HSIF1_TDM_TX_4, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF1_TDM_TX_4}, + { AFE_PORT_ID_HSIF1_TDM_RX_5, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF1_TDM_RX_5}, + { AFE_PORT_ID_HSIF1_TDM_TX_5, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF1_TDM_TX_5}, + { AFE_PORT_ID_HSIF1_TDM_RX_6, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF1_TDM_RX_6}, + { AFE_PORT_ID_HSIF1_TDM_TX_6, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF1_TDM_TX_6}, + { AFE_PORT_ID_HSIF1_TDM_RX_7, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF1_TDM_RX_7}, + { AFE_PORT_ID_HSIF1_TDM_TX_7, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF1_TDM_TX_7}, + { AFE_PORT_ID_HSIF2_TDM_RX, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF2_TDM_RX_0}, + { AFE_PORT_ID_HSIF2_TDM_TX, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF2_TDM_TX_0}, + { AFE_PORT_ID_HSIF2_TDM_RX_1, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF2_TDM_RX_1}, + { AFE_PORT_ID_HSIF2_TDM_TX_1, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF2_TDM_TX_1}, + { AFE_PORT_ID_HSIF2_TDM_RX_2, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF2_TDM_RX_2}, + { AFE_PORT_ID_HSIF2_TDM_TX_2, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF2_TDM_TX_2}, + { AFE_PORT_ID_HSIF2_TDM_RX_3, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF2_TDM_RX_3}, + { AFE_PORT_ID_HSIF2_TDM_TX_3, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF2_TDM_TX_3}, + { AFE_PORT_ID_HSIF2_TDM_RX_4, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF2_TDM_RX_4}, + { AFE_PORT_ID_HSIF2_TDM_TX_4, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF2_TDM_TX_4}, + { AFE_PORT_ID_HSIF2_TDM_RX_5, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF2_TDM_RX_5}, + { AFE_PORT_ID_HSIF2_TDM_TX_5, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF2_TDM_TX_5}, + { AFE_PORT_ID_HSIF2_TDM_RX_6, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF2_TDM_RX_6}, + { AFE_PORT_ID_HSIF2_TDM_TX_6, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF2_TDM_TX_6}, + { AFE_PORT_ID_HSIF2_TDM_RX_7, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF2_TDM_RX_7}, + { AFE_PORT_ID_HSIF2_TDM_TX_7, 0, {0}, {0}, 0, 0, 0, 0, + LPASS_BE_HSIF2_TDM_TX_7}, }; /* Track ASM playback & capture sessions of DAI @@ -3931,7 +4059,11 @@ static const char *const be_name[] = { "RX_CDC_DMA_RX_6", "RX_CDC_DMA_RX_7", "PRI_SPDIF_TX", "SEC_SPDIF_RX", "SEC_SPDIF_TX", "SLIM_9_RX", "SLIM_9_TX", "AFE_LOOPBACK_TX", "PRI_META_MI2S_RX", -"SEC_META_MI2S_RX", "PROXY_RX", "PROXY_TX", "HDMI_RX_MS", "AFE_PCM_RX1" +"SEC_META_MI2S_RX", "PROXY_RX", "PROXY_TX", "HDMI_RX_MS", "AFE_PCM_RX1", +"SEP_TDM_RX_0", "SEP_TDM_TX_0", "SEP_TDM_RX_1", "SEP_TDM_TX_1", +"SEP_TDM_RX_2", "SEP_TDM_TX_2", "SEP_TDM_RX_3", "SEP_TDM_TX_3", +"SEP_TDM_RX_4", "SEP_TDM_TX_4", "SEP_TDM_RX_5", "SEP_TDM_TX_5", +"SEP_TDM_RX_6", "SEP_TDM_TX_6", "SEP_TDM_RX_7", "SEP_TDM_TX_7" }; static SOC_ENUM_SINGLE_DECL(mm1_channel_mux, @@ -13441,6 +13573,606 @@ static const struct snd_kcontrol_new sen_tdm_rx_3_mixer_controls[] = { msm_routing_put_audio_mixer), }; +static const struct snd_kcontrol_new sep_tdm_rx_0_mixer_controls[] = { + SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia4", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia5", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia6", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia7", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_FRONTEND_DAI_MULTIMEDIA7, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia8", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia9", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia10", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia11", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_FRONTEND_DAI_MULTIMEDIA11, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia12", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_FRONTEND_DAI_MULTIMEDIA12, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia13", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_FRONTEND_DAI_MULTIMEDIA13, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia14", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_FRONTEND_DAI_MULTIMEDIA14, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia15", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_FRONTEND_DAI_MULTIMEDIA15, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia16", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia20", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia21", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), +}; + +static const struct snd_kcontrol_new sep_tdm_rx_1_mixer_controls[] = { + SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia4", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia5", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia6", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia7", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_FRONTEND_DAI_MULTIMEDIA7, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia8", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia9", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia10", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia11", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_FRONTEND_DAI_MULTIMEDIA11, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia12", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_FRONTEND_DAI_MULTIMEDIA12, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia13", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_FRONTEND_DAI_MULTIMEDIA13, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia14", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_FRONTEND_DAI_MULTIMEDIA14, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia15", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_FRONTEND_DAI_MULTIMEDIA15, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia16", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia20", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia21", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), +}; + +static const struct snd_kcontrol_new sep_tdm_rx_2_mixer_controls[] = { + SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia4", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia5", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia6", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia7", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_FRONTEND_DAI_MULTIMEDIA7, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia8", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia9", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia10", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia11", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_FRONTEND_DAI_MULTIMEDIA11, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia12", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_FRONTEND_DAI_MULTIMEDIA12, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia13", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_FRONTEND_DAI_MULTIMEDIA13, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia14", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_FRONTEND_DAI_MULTIMEDIA14, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia15", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_FRONTEND_DAI_MULTIMEDIA15, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia16", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia20", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia21", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), +}; + +static const struct snd_kcontrol_new sep_tdm_rx_3_mixer_controls[] = { + SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia4", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia5", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia6", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia7", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_FRONTEND_DAI_MULTIMEDIA7, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia8", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia9", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia10", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia11", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_FRONTEND_DAI_MULTIMEDIA11, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia12", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_FRONTEND_DAI_MULTIMEDIA12, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia13", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_FRONTEND_DAI_MULTIMEDIA13, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia14", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_FRONTEND_DAI_MULTIMEDIA14, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia15", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_FRONTEND_DAI_MULTIMEDIA15, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia16", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia20", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia21", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), +}; + +static const struct snd_kcontrol_new sep_tdm_rx_4_mixer_controls[] = { + SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia4", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia5", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia6", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia7", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_FRONTEND_DAI_MULTIMEDIA7, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia8", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia9", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia10", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia11", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_FRONTEND_DAI_MULTIMEDIA11, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia12", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_FRONTEND_DAI_MULTIMEDIA12, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia13", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_FRONTEND_DAI_MULTIMEDIA13, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia14", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_FRONTEND_DAI_MULTIMEDIA14, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia15", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_FRONTEND_DAI_MULTIMEDIA15, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia16", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia20", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia21", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), +}; + +static const struct snd_kcontrol_new sep_tdm_rx_5_mixer_controls[] = { + SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia4", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia5", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia6", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia7", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_FRONTEND_DAI_MULTIMEDIA7, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia8", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia9", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia10", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia11", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_FRONTEND_DAI_MULTIMEDIA11, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia12", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_FRONTEND_DAI_MULTIMEDIA12, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia13", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_FRONTEND_DAI_MULTIMEDIA13, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia14", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_FRONTEND_DAI_MULTIMEDIA14, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia15", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_FRONTEND_DAI_MULTIMEDIA15, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia16", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia20", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia21", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), +}; + +static const struct snd_kcontrol_new sep_tdm_rx_6_mixer_controls[] = { + SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia4", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia5", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia6", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia7", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_FRONTEND_DAI_MULTIMEDIA7, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia8", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia9", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia10", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia11", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_FRONTEND_DAI_MULTIMEDIA11, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia12", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_FRONTEND_DAI_MULTIMEDIA12, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia13", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_FRONTEND_DAI_MULTIMEDIA13, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia14", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_FRONTEND_DAI_MULTIMEDIA14, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia15", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_FRONTEND_DAI_MULTIMEDIA15, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia16", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia20", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia21", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), +}; + +static const struct snd_kcontrol_new sep_tdm_rx_7_mixer_controls[] = { + SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia4", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia5", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia6", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia7", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_FRONTEND_DAI_MULTIMEDIA7, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia8", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia9", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia10", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia11", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_FRONTEND_DAI_MULTIMEDIA11, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia12", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_FRONTEND_DAI_MULTIMEDIA12, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia13", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_FRONTEND_DAI_MULTIMEDIA13, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia14", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_FRONTEND_DAI_MULTIMEDIA14, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia15", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_FRONTEND_DAI_MULTIMEDIA15, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia16", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia20", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia21", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), +}; + static const struct snd_kcontrol_new quat_tdm_rx_2_voice_mixer_controls[] = { SOC_DOUBLE_EXT("VoiceMMode1", SND_SOC_NOPM, MSM_BACKEND_DAI_QUAT_TDM_RX_2, @@ -16664,6 +17396,1022 @@ static const struct snd_kcontrol_new sen_tdm_rx_3_port_mixer_controls[] = { msm_routing_put_port_mixer), }; +static const struct snd_kcontrol_new sep_tdm_rx_0_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_PRI_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#endif + SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_INT_FM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("INTERNAL_BT_SCO_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_INT_BT_SCO_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#ifndef CONFIG_AUXPCM_DISABLE + SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_AUXPCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#endif + SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_TERT_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_TERT_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_TERT_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_TERT_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_QUAT_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_QUAT_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_QUAT_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_QUAT_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_QUIN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_QUIN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_QUIN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_QUIN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_SEP_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_SEP_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_SEP_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_SEP_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new sep_tdm_rx_1_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_PRI_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#endif + SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_INT_FM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("INTERNAL_BT_SCO_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_INT_BT_SCO_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#ifndef CONFIG_AUXPCM_DISABLE + SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_AUXPCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#endif + SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_TERT_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_TERT_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_TERT_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_TERT_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_QUAT_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_QUAT_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_QUAT_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_QUAT_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_QUIN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_QUIN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_QUIN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_QUIN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_SEP_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_SEP_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_SEP_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_SEP_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new sep_tdm_rx_2_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_PRI_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#endif + SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_INT_FM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("INTERNAL_BT_SCO_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_INT_BT_SCO_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#ifndef CONFIG_AUXPCM_DISABLE + SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_AUXPCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#endif + SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_TERT_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_TERT_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_TERT_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_TERT_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_QUAT_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_QUAT_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_QUAT_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_QUAT_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_QUIN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_QUIN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_QUIN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_QUIN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_SEP_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_SEP_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_SEP_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_SEP_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new sep_tdm_rx_3_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_PRI_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#endif + SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_INT_FM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("INTERNAL_BT_SCO_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_INT_BT_SCO_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#ifndef CONFIG_AUXPCM_DISABLE + SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_AUXPCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#endif + SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_TERT_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_TERT_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_TERT_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_TERT_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_QUAT_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_QUAT_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_QUAT_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_QUAT_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_QUIN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_QUIN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_QUIN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_QUIN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_SEP_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_SEP_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_SEP_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_SEP_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new sep_tdm_rx_4_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_PRI_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#endif + SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_INT_FM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("INTERNAL_BT_SCO_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_INT_BT_SCO_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#ifndef CONFIG_AUXPCM_DISABLE + SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_AUXPCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#endif + SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_TERT_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_TERT_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_TERT_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_TERT_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_QUAT_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_QUAT_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_QUAT_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_QUAT_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_QUIN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_QUIN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_QUIN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_QUIN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_SEP_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_SEP_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_SEP_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_SEP_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new sep_tdm_rx_5_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_PRI_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#endif + SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_INT_FM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("INTERNAL_BT_SCO_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_INT_BT_SCO_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#ifndef CONFIG_AUXPCM_DISABLE + SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_AUXPCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#endif + SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_TERT_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_TERT_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_TERT_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_TERT_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_QUAT_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_QUAT_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_QUAT_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_QUAT_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_QUIN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_QUIN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_QUIN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_QUIN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_SEP_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_SEP_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_SEP_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_SEP_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new sep_tdm_rx_6_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_PRI_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#endif + SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_INT_FM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("INTERNAL_BT_SCO_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_INT_BT_SCO_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#ifndef CONFIG_AUXPCM_DISABLE + SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_AUXPCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#endif + SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_TERT_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_TERT_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_TERT_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_TERT_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_QUAT_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_QUAT_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_QUAT_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_QUAT_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_QUIN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_QUIN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_QUIN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_QUIN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_SEP_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_SEP_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_SEP_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_SEP_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new sep_tdm_rx_7_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_PRI_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#endif + SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_INT_FM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("INTERNAL_BT_SCO_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_INT_BT_SCO_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#ifndef CONFIG_AUXPCM_DISABLE + SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_AUXPCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#endif + SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_TERT_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_TERT_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_TERT_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("TERT_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_TERT_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_QUAT_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_QUAT_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_QUAT_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_QUAT_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_QUIN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_QUIN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_QUIN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_QUIN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_SEP_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_SEP_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_SEP_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_SEP_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + static const struct snd_kcontrol_new quin_tdm_rx_7_port_mixer_controls[] = { SOC_DOUBLE_EXT("TERT_TDM_TX_7", SND_SOC_NOPM, MSM_BACKEND_DAI_QUIN_TDM_RX_7, @@ -16883,6 +18631,38 @@ static const struct snd_kcontrol_new mmul1_mixer_controls[] = { MSM_BACKEND_DAI_SEN_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_0, + MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_1, + MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_2, + MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_3, + MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_4", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_4, + MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_5", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_5, + MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_6", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_6, + MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_7", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_7, + MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), #endif SOC_DOUBLE_EXT("SLIM_7_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_SLIMBUS_7_TX, @@ -17114,6 +18894,38 @@ static const struct snd_kcontrol_new mmul2_mixer_controls[] = { MSM_BACKEND_DAI_SEN_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_0, + MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_1, + MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_2, + MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_3, + MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_4", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_4, + MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_5", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_5, + MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_6", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_6, + MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_7", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_7, + MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), #endif SOC_DOUBLE_EXT("SLIM_8_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_SLIMBUS_8_TX, @@ -17361,6 +19173,38 @@ static const struct snd_kcontrol_new mmul3_mixer_controls[] = { MSM_BACKEND_DAI_SEN_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_0, + MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_1, + MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_2, + MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_3, + MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_4", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_4, + MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_5", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_5, + MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_6", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_6, + MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_7", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_7, + MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), #endif SOC_DOUBLE_EXT("WSA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_WSA_CDC_DMA_TX_0, @@ -17550,6 +19394,38 @@ static const struct snd_kcontrol_new mmul4_mixer_controls[] = { MSM_BACKEND_DAI_SEN_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_0, + MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_1, + MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_2, + MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_3, + MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_4", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_4, + MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_5", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_5, + MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_6", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_6, + MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_7", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_7, + MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), #endif #ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, @@ -17817,6 +19693,38 @@ static const struct snd_kcontrol_new mmul5_mixer_controls[] = { MSM_BACKEND_DAI_SECONDARY_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_0, + MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_1, + MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_2, + MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_3, + MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_4", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_4, + MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_5", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_5, + MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_6", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_6, + MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_7", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_7, + MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), #endif SOC_DOUBLE_EXT("SLIM_7_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_SLIMBUS_7_TX, @@ -18281,6 +20189,38 @@ static const struct snd_kcontrol_new mmul8_mixer_controls[] = { MSM_BACKEND_DAI_SEN_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_0, + MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_1, + MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_2, + MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_3, + MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_4", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_4, + MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_5", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_5, + MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_6", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_6, + MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_7", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_7, + MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), #endif SOC_DOUBLE_EXT("SLIM_7_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_SLIMBUS_7_TX, @@ -18681,6 +20621,38 @@ static const struct snd_kcontrol_new mmul9_mixer_controls[] = { MSM_BACKEND_DAI_SEN_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_0, + MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_1, + MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_2, + MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_3, + MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_4", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_4, + MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_5", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_5, + MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_6", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_6, + MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_7", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_7, + MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), #endif SOC_DOUBLE_EXT("WSA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_WSA_CDC_DMA_TX_0, @@ -19483,6 +21455,38 @@ static const struct snd_kcontrol_new mmul20_mixer_controls[] = { MSM_BACKEND_DAI_SEN_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_0, + MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_1, + MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_2, + MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_3, + MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_4", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_4, + MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_5", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_5, + MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_6", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_6, + MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_7", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_7, + MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), #endif SOC_DOUBLE_EXT("WSA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_WSA_CDC_DMA_TX_0, @@ -19658,6 +21662,38 @@ static const struct snd_kcontrol_new mmul21_mixer_controls[] = { MSM_BACKEND_DAI_SEN_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_0, + MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_1, + MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_2, + MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_3, + MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_4", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_4, + MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_5", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_5, + MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_6", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_6, + MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEP_TDM_TX_7", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEP_TDM_TX_7, + MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), #endif SOC_DOUBLE_EXT("WSA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_WSA_CDC_DMA_TX_0, @@ -26235,6 +28271,54 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets_tdm[] = { SND_SOC_DAPM_AIF_OUT("SEN_TDM_TX_7_UL_HL", "Senary TDM7 Hostless Capture", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEP_TDM_RX_0_DL_HL", + "Septenary TDM0 Hostless Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEP_TDM_TX_0_UL_HL", + "Septenary TDM0 Hostless Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEP_TDM_RX_1_DL_HL", + "Septenary TDM1 Hostless Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEP_TDM_TX_1_UL_HL", + "Septenary TDM1 Hostless Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEP_TDM_RX_2_DL_HL", + "Septenary TDM2 Hostless Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEP_TDM_TX_2_UL_HL", + "Septenary TDM2 Hostless Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEP_TDM_RX_3_DL_HL", + "Septenary TDM3 Hostless Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEP_TDM_TX_3_UL_HL", + "Septenary TDM3 Hostless Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEP_TDM_RX_4_DL_HL", + "Septenary TDM4 Hostless Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEP_TDM_TX_4_UL_HL", + "Septenary TDM4 Hostless Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEP_TDM_RX_5_DL_HL", + "Septenary TDM5 Hostless Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEP_TDM_TX_5_UL_HL", + "Septenary TDM5 Hostless Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEP_TDM_RX_6_DL_HL", + "Septenary TDM6 Hostless Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEP_TDM_TX_6_UL_HL", + "Septenary TDM6 Hostless Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEP_TDM_RX_7_DL_HL", + "Septenary TDM7 Hostless Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEP_TDM_TX_7_UL_HL", + "Septenary TDM7 Hostless Capture", + 0, 0, 0, 0), /* Backend AIF */ /* Stream name equals to backend dai link stream name */ @@ -26430,6 +28514,38 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets_tdm[] = { 0, 0, 0, 0), SND_SOC_DAPM_AIF_IN("SEN_TDM_TX_7", "Senary TDM7 Capture", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEP_TDM_RX_0", "Septenary TDM0 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEP_TDM_TX_0", "Septenary TDM0 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEP_TDM_RX_1", "Septenary TDM1 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEP_TDM_TX_1", "Septenary TDM1 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEP_TDM_RX_2", "Septenary TDM2 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEP_TDM_TX_2", "Septenary TDM2 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEP_TDM_RX_3", "Septenary TDM3 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEP_TDM_TX_3", "Septenary TDM3 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEP_TDM_RX_4", "Septenary TDM4 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEP_TDM_TX_4", "Septenary TDM4 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEP_TDM_RX_5", "Septenary TDM5 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEP_TDM_TX_5", "Septenary TDM5 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEP_TDM_RX_6", "Septenary TDM6 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEP_TDM_TX_6", "Septenary TDM6 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEP_TDM_RX_7", "Septenary TDM7 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEP_TDM_TX_7", "Septenary TDM7 Capture", + 0, 0, 0, 0), SND_SOC_DAPM_MIXER("PRI_TDM_RX_0 Audio Mixer", SND_SOC_NOPM, 0, 0, pri_tdm_rx_0_mixer_controls, @@ -26506,7 +28622,30 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets_tdm[] = { SND_SOC_DAPM_MIXER("SEN_TDM_RX_3 Audio Mixer", SND_SOC_NOPM, 0, 0, sen_tdm_rx_3_mixer_controls, ARRAY_SIZE(sen_tdm_rx_3_mixer_controls)), - + SND_SOC_DAPM_MIXER("SEP_TDM_RX_0 Audio Mixer", SND_SOC_NOPM, 0, 0, + sep_tdm_rx_0_mixer_controls, + ARRAY_SIZE(sep_tdm_rx_0_mixer_controls)), + SND_SOC_DAPM_MIXER("SEP_TDM_RX_1 Audio Mixer", SND_SOC_NOPM, 0, 0, + sep_tdm_rx_1_mixer_controls, + ARRAY_SIZE(sep_tdm_rx_1_mixer_controls)), + SND_SOC_DAPM_MIXER("SEP_TDM_RX_2 Audio Mixer", SND_SOC_NOPM, 0, 0, + sep_tdm_rx_2_mixer_controls, + ARRAY_SIZE(sep_tdm_rx_2_mixer_controls)), + SND_SOC_DAPM_MIXER("SEP_TDM_RX_3 Audio Mixer", SND_SOC_NOPM, 0, 0, + sep_tdm_rx_3_mixer_controls, + ARRAY_SIZE(sep_tdm_rx_3_mixer_controls)), + SND_SOC_DAPM_MIXER("SEP_TDM_RX_4 Audio Mixer", SND_SOC_NOPM, 0, 0, + sep_tdm_rx_4_mixer_controls, + ARRAY_SIZE(sep_tdm_rx_4_mixer_controls)), + SND_SOC_DAPM_MIXER("SEP_TDM_RX_5 Audio Mixer", SND_SOC_NOPM, 0, 0, + sep_tdm_rx_5_mixer_controls, + ARRAY_SIZE(sep_tdm_rx_5_mixer_controls)), + SND_SOC_DAPM_MIXER("SEP_TDM_RX_6 Audio Mixer", SND_SOC_NOPM, 0, 0, + sep_tdm_rx_6_mixer_controls, + ARRAY_SIZE(sep_tdm_rx_6_mixer_controls)), + SND_SOC_DAPM_MIXER("SEP_TDM_RX_7 Audio Mixer", SND_SOC_NOPM, 0, 0, + sep_tdm_rx_7_mixer_controls, + ARRAY_SIZE(sep_tdm_rx_7_mixer_controls)), /* incall */ SND_SOC_DAPM_MIXER("PRI_TDM_RX_0_Voice Mixer", SND_SOC_NOPM, 0, 0, @@ -26613,6 +28752,30 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets_tdm[] = { SND_SOC_DAPM_MIXER("SEN_TDM_RX_3 Port Mixer", SND_SOC_NOPM, 0, 0, sen_tdm_rx_3_port_mixer_controls, ARRAY_SIZE(sen_tdm_rx_3_port_mixer_controls)), + SND_SOC_DAPM_MIXER("SEP_TDM_RX_0 Port Mixer", SND_SOC_NOPM, 0, 0, + sep_tdm_rx_0_port_mixer_controls, + ARRAY_SIZE(sep_tdm_rx_0_port_mixer_controls)), + SND_SOC_DAPM_MIXER("SEP_TDM_RX_1 Port Mixer", SND_SOC_NOPM, 0, 0, + sep_tdm_rx_1_port_mixer_controls, + ARRAY_SIZE(sep_tdm_rx_1_port_mixer_controls)), + SND_SOC_DAPM_MIXER("SEP_TDM_RX_2 Port Mixer", SND_SOC_NOPM, 0, 0, + sep_tdm_rx_2_port_mixer_controls, + ARRAY_SIZE(sep_tdm_rx_2_port_mixer_controls)), + SND_SOC_DAPM_MIXER("SEP_TDM_RX_3 Port Mixer", SND_SOC_NOPM, 0, 0, + sep_tdm_rx_3_port_mixer_controls, + ARRAY_SIZE(sep_tdm_rx_3_port_mixer_controls)), + SND_SOC_DAPM_MIXER("SEP_TDM_RX_4 Port Mixer", SND_SOC_NOPM, 0, 0, + sep_tdm_rx_4_port_mixer_controls, + ARRAY_SIZE(sep_tdm_rx_4_port_mixer_controls)), + SND_SOC_DAPM_MIXER("SEP_TDM_RX_5 Port Mixer", SND_SOC_NOPM, 0, 0, + sep_tdm_rx_5_port_mixer_controls, + ARRAY_SIZE(sep_tdm_rx_5_port_mixer_controls)), + SND_SOC_DAPM_MIXER("SEP_TDM_RX_6 Port Mixer", SND_SOC_NOPM, 0, 0, + sep_tdm_rx_6_port_mixer_controls, + ARRAY_SIZE(sep_tdm_rx_6_port_mixer_controls)), + SND_SOC_DAPM_MIXER("SEP_TDM_RX_7 Port Mixer", SND_SOC_NOPM, 0, 0, + sep_tdm_rx_7_port_mixer_controls, + ARRAY_SIZE(sep_tdm_rx_7_port_mixer_controls)), }; #endif @@ -29137,6 +31300,166 @@ static const struct snd_soc_dapm_route intercon_tdm[] = { {"SEN_TDM_RX_3 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"SEN_TDM_RX_3", NULL, "SEN_TDM_RX_3 Audio Mixer"}, + {"SEP_TDM_RX_0 Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"SEP_TDM_RX_0 Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"SEP_TDM_RX_0 Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"SEP_TDM_RX_0 Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"SEP_TDM_RX_0 Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"SEP_TDM_RX_0 Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"SEP_TDM_RX_0 Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"SEP_TDM_RX_0 Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"SEP_TDM_RX_0 Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"SEP_TDM_RX_0 Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"SEP_TDM_RX_0 Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"SEP_TDM_RX_0 Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"SEP_TDM_RX_0 Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"SEP_TDM_RX_0 Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"SEP_TDM_RX_0 Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"SEP_TDM_RX_0 Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"SEP_TDM_RX_0 Audio Mixer", "MultiMedia20", "MM_DL20"}, + {"SEP_TDM_RX_0 Audio Mixer", "MultiMedia21", "MM_DL21"}, + {"SEP_TDM_RX_0", NULL, "SEP_TDM_RX_0 Audio Mixer"}, + + {"SEP_TDM_RX_1 Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"SEP_TDM_RX_1 Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"SEP_TDM_RX_1 Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"SEP_TDM_RX_1 Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"SEP_TDM_RX_1 Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"SEP_TDM_RX_1 Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"SEP_TDM_RX_1 Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"SEP_TDM_RX_1 Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"SEP_TDM_RX_1 Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"SEP_TDM_RX_1 Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"SEP_TDM_RX_1 Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"SEP_TDM_RX_1 Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"SEP_TDM_RX_1 Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"SEP_TDM_RX_1 Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"SEP_TDM_RX_1 Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"SEP_TDM_RX_1 Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"SEP_TDM_RX_1 Audio Mixer", "MultiMedia20", "MM_DL20"}, + {"SEP_TDM_RX_1 Audio Mixer", "MultiMedia21", "MM_DL21"}, + {"SEP_TDM_RX_1", NULL, "SEP_TDM_RX_1 Audio Mixer"}, + + {"SEP_TDM_RX_2 Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"SEP_TDM_RX_2 Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"SEP_TDM_RX_2 Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"SEP_TDM_RX_2 Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"SEP_TDM_RX_2 Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"SEP_TDM_RX_2 Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"SEP_TDM_RX_2 Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"SEP_TDM_RX_2 Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"SEP_TDM_RX_2 Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"SEP_TDM_RX_2 Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"SEP_TDM_RX_2 Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"SEP_TDM_RX_2 Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"SEP_TDM_RX_2 Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"SEP_TDM_RX_2 Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"SEP_TDM_RX_2 Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"SEP_TDM_RX_2 Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"SEP_TDM_RX_2 Audio Mixer", "MultiMedia20", "MM_DL20"}, + {"SEP_TDM_RX_2 Audio Mixer", "MultiMedia21", "MM_DL21"}, + {"SEP_TDM_RX_2", NULL, "SEP_TDM_RX_2 Audio Mixer"}, + + {"SEP_TDM_RX_3 Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"SEP_TDM_RX_3 Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"SEP_TDM_RX_3 Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"SEP_TDM_RX_3 Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"SEP_TDM_RX_3 Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"SEP_TDM_RX_3 Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"SEP_TDM_RX_3 Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"SEP_TDM_RX_3 Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"SEP_TDM_RX_3 Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"SEP_TDM_RX_3 Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"SEP_TDM_RX_3 Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"SEP_TDM_RX_3 Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"SEP_TDM_RX_3 Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"SEP_TDM_RX_3 Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"SEP_TDM_RX_3 Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"SEP_TDM_RX_3 Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"SEP_TDM_RX_3 Audio Mixer", "MultiMedia20", "MM_DL20"}, + {"SEP_TDM_RX_3 Audio Mixer", "MultiMedia21", "MM_DL21"}, + {"SEP_TDM_RX_3", NULL, "SEP_TDM_RX_3 Audio Mixer"}, + + {"SEP_TDM_RX_4 Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"SEP_TDM_RX_4 Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"SEP_TDM_RX_4 Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"SEP_TDM_RX_4 Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"SEP_TDM_RX_4 Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"SEP_TDM_RX_4 Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"SEP_TDM_RX_4 Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"SEP_TDM_RX_4 Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"SEP_TDM_RX_4 Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"SEP_TDM_RX_4 Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"SEP_TDM_RX_4 Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"SEP_TDM_RX_4 Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"SEP_TDM_RX_4 Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"SEP_TDM_RX_4 Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"SEP_TDM_RX_4 Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"SEP_TDM_RX_4 Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"SEP_TDM_RX_4 Audio Mixer", "MultiMedia20", "MM_DL20"}, + {"SEP_TDM_RX_4 Audio Mixer", "MultiMedia21", "MM_DL21"}, + {"SEP_TDM_RX_4", NULL, "SEP_TDM_RX_4 Audio Mixer"}, + + {"SEP_TDM_RX_5 Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"SEP_TDM_RX_5 Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"SEP_TDM_RX_5 Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"SEP_TDM_RX_5 Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"SEP_TDM_RX_5 Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"SEP_TDM_RX_5 Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"SEP_TDM_RX_5 Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"SEP_TDM_RX_5 Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"SEP_TDM_RX_5 Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"SEP_TDM_RX_5 Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"SEP_TDM_RX_5 Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"SEP_TDM_RX_5 Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"SEP_TDM_RX_5 Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"SEP_TDM_RX_5 Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"SEP_TDM_RX_5 Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"SEP_TDM_RX_5 Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"SEP_TDM_RX_5 Audio Mixer", "MultiMedia20", "MM_DL20"}, + {"SEP_TDM_RX_5 Audio Mixer", "MultiMedia21", "MM_DL21"}, + {"SEP_TDM_RX_5", NULL, "SEP_TDM_RX_5 Audio Mixer"}, + + {"SEP_TDM_RX_6 Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"SEP_TDM_RX_6 Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"SEP_TDM_RX_6 Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"SEP_TDM_RX_6 Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"SEP_TDM_RX_6 Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"SEP_TDM_RX_6 Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"SEP_TDM_RX_6 Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"SEP_TDM_RX_6 Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"SEP_TDM_RX_6 Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"SEP_TDM_RX_6 Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"SEP_TDM_RX_6 Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"SEP_TDM_RX_6 Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"SEP_TDM_RX_6 Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"SEP_TDM_RX_6 Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"SEP_TDM_RX_6 Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"SEP_TDM_RX_6 Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"SEP_TDM_RX_6 Audio Mixer", "MultiMedia20", "MM_DL20"}, + {"SEP_TDM_RX_6 Audio Mixer", "MultiMedia21", "MM_DL21"}, + {"SEP_TDM_RX_6", NULL, "SEP_TDM_RX_6 Audio Mixer"}, + + {"SEP_TDM_RX_7 Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"SEP_TDM_RX_7 Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"SEP_TDM_RX_7 Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"SEP_TDM_RX_7 Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"SEP_TDM_RX_7 Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"SEP_TDM_RX_7 Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"SEP_TDM_RX_7 Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"SEP_TDM_RX_7 Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"SEP_TDM_RX_7 Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"SEP_TDM_RX_7 Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"SEP_TDM_RX_7 Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"SEP_TDM_RX_7 Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"SEP_TDM_RX_7 Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"SEP_TDM_RX_7 Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"SEP_TDM_RX_7 Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"SEP_TDM_RX_7 Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"SEP_TDM_RX_7 Audio Mixer", "MultiMedia20", "MM_DL20"}, + {"SEP_TDM_RX_7 Audio Mixer", "MultiMedia21", "MM_DL21"}, + {"SEP_TDM_RX_7", NULL, "SEP_TDM_RX_7 Audio Mixer"}, + {"MultiMedia1 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, {"MultiMedia1 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, {"MultiMedia1 Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"}, @@ -29162,6 +31485,14 @@ static const struct snd_soc_dapm_route intercon_tdm[] = { {"MultiMedia1 Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, {"MultiMedia1 Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, {"MultiMedia1 Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"MultiMedia1 Mixer", "SEP_TDM_TX_0", "SEP_TDM_TX_0"}, + {"MultiMedia1 Mixer", "SEP_TDM_TX_1", "SEP_TDM_TX_1"}, + {"MultiMedia1 Mixer", "SEP_TDM_TX_2", "SEP_TDM_TX_2"}, + {"MultiMedia1 Mixer", "SEP_TDM_TX_3", "SEP_TDM_TX_3"}, + {"MultiMedia1 Mixer", "SEP_TDM_TX_4", "SEP_TDM_TX_4"}, + {"MultiMedia1 Mixer", "SEP_TDM_TX_5", "SEP_TDM_TX_5"}, + {"MultiMedia1 Mixer", "SEP_TDM_TX_6", "SEP_TDM_TX_6"}, + {"MultiMedia1 Mixer", "SEP_TDM_TX_7", "SEP_TDM_TX_7"}, {"MultiMedia2 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, {"MultiMedia2 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, @@ -29187,6 +31518,14 @@ static const struct snd_soc_dapm_route intercon_tdm[] = { {"MultiMedia2 Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, {"MultiMedia2 Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, {"MultiMedia2 Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"MultiMedia2 Mixer", "SEP_TDM_TX_0", "SEP_TDM_TX_0"}, + {"MultiMedia2 Mixer", "SEP_TDM_TX_1", "SEP_TDM_TX_1"}, + {"MultiMedia2 Mixer", "SEP_TDM_TX_2", "SEP_TDM_TX_2"}, + {"MultiMedia2 Mixer", "SEP_TDM_TX_3", "SEP_TDM_TX_3"}, + {"MultiMedia2 Mixer", "SEP_TDM_TX_4", "SEP_TDM_TX_4"}, + {"MultiMedia2 Mixer", "SEP_TDM_TX_5", "SEP_TDM_TX_5"}, + {"MultiMedia2 Mixer", "SEP_TDM_TX_6", "SEP_TDM_TX_6"}, + {"MultiMedia2 Mixer", "SEP_TDM_TX_7", "SEP_TDM_TX_7"}, {"MultiMedia3 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, {"MultiMedia3 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, @@ -29212,6 +31551,14 @@ static const struct snd_soc_dapm_route intercon_tdm[] = { {"MultiMedia3 Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, {"MultiMedia3 Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, {"MultiMedia3 Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"MultiMedia3 Mixer", "SEP_TDM_TX_0", "SEP_TDM_TX_0"}, + {"MultiMedia3 Mixer", "SEP_TDM_TX_1", "SEP_TDM_TX_1"}, + {"MultiMedia3 Mixer", "SEP_TDM_TX_2", "SEP_TDM_TX_2"}, + {"MultiMedia3 Mixer", "SEP_TDM_TX_3", "SEP_TDM_TX_3"}, + {"MultiMedia3 Mixer", "SEP_TDM_TX_4", "SEP_TDM_TX_4"}, + {"MultiMedia3 Mixer", "SEP_TDM_TX_5", "SEP_TDM_TX_5"}, + {"MultiMedia3 Mixer", "SEP_TDM_TX_6", "SEP_TDM_TX_6"}, + {"MultiMedia3 Mixer", "SEP_TDM_TX_7", "SEP_TDM_TX_7"}, {"MultiMedia4 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, {"MultiMedia4 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, @@ -29237,6 +31584,14 @@ static const struct snd_soc_dapm_route intercon_tdm[] = { {"MultiMedia4 Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, {"MultiMedia4 Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, {"MultiMedia4 Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"MultiMedia4 Mixer", "SEP_TDM_TX_0", "SEP_TDM_TX_0"}, + {"MultiMedia4 Mixer", "SEP_TDM_TX_1", "SEP_TDM_TX_1"}, + {"MultiMedia4 Mixer", "SEP_TDM_TX_2", "SEP_TDM_TX_2"}, + {"MultiMedia4 Mixer", "SEP_TDM_TX_3", "SEP_TDM_TX_3"}, + {"MultiMedia4 Mixer", "SEP_TDM_TX_4", "SEP_TDM_TX_4"}, + {"MultiMedia4 Mixer", "SEP_TDM_TX_5", "SEP_TDM_TX_5"}, + {"MultiMedia4 Mixer", "SEP_TDM_TX_6", "SEP_TDM_TX_6"}, + {"MultiMedia4 Mixer", "SEP_TDM_TX_7", "SEP_TDM_TX_7"}, {"MultiMedia5 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, {"MultiMedia5 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, @@ -29262,6 +31617,14 @@ static const struct snd_soc_dapm_route intercon_tdm[] = { {"MultiMedia5 Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, {"MultiMedia5 Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, {"MultiMedia5 Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"MultiMedia5 Mixer", "SEP_TDM_TX_0", "SEP_TDM_TX_0"}, + {"MultiMedia5 Mixer", "SEP_TDM_TX_1", "SEP_TDM_TX_1"}, + {"MultiMedia5 Mixer", "SEP_TDM_TX_2", "SEP_TDM_TX_2"}, + {"MultiMedia5 Mixer", "SEP_TDM_TX_3", "SEP_TDM_TX_3"}, + {"MultiMedia5 Mixer", "SEP_TDM_TX_4", "SEP_TDM_TX_4"}, + {"MultiMedia5 Mixer", "SEP_TDM_TX_5", "SEP_TDM_TX_5"}, + {"MultiMedia5 Mixer", "SEP_TDM_TX_6", "SEP_TDM_TX_6"}, + {"MultiMedia5 Mixer", "SEP_TDM_TX_7", "SEP_TDM_TX_7"}, {"MultiMedia8 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, {"MultiMedia8 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, @@ -29287,6 +31650,14 @@ static const struct snd_soc_dapm_route intercon_tdm[] = { {"MultiMedia8 Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, {"MultiMedia8 Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, {"MultiMedia8 Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"MultiMedia8 Mixer", "SEP_TDM_TX_0", "SEP_TDM_TX_0"}, + {"MultiMedia8 Mixer", "SEP_TDM_TX_1", "SEP_TDM_TX_1"}, + {"MultiMedia8 Mixer", "SEP_TDM_TX_2", "SEP_TDM_TX_2"}, + {"MultiMedia8 Mixer", "SEP_TDM_TX_3", "SEP_TDM_TX_3"}, + {"MultiMedia8 Mixer", "SEP_TDM_TX_4", "SEP_TDM_TX_4"}, + {"MultiMedia8 Mixer", "SEP_TDM_TX_5", "SEP_TDM_TX_5"}, + {"MultiMedia8 Mixer", "SEP_TDM_TX_6", "SEP_TDM_TX_6"}, + {"MultiMedia8 Mixer", "SEP_TDM_TX_7", "SEP_TDM_TX_7"}, {"MultiMedia9 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, {"MultiMedia9 Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, @@ -29304,6 +31675,14 @@ static const struct snd_soc_dapm_route intercon_tdm[] = { {"MultiMedia9 Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, {"MultiMedia9 Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, {"MultiMedia9 Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"MultiMedia9 Mixer", "SEP_TDM_TX_0", "SEP_TDM_TX_0"}, + {"MultiMedia9 Mixer", "SEP_TDM_TX_1", "SEP_TDM_TX_1"}, + {"MultiMedia9 Mixer", "SEP_TDM_TX_2", "SEP_TDM_TX_2"}, + {"MultiMedia9 Mixer", "SEP_TDM_TX_3", "SEP_TDM_TX_3"}, + {"MultiMedia9 Mixer", "SEP_TDM_TX_4", "SEP_TDM_TX_4"}, + {"MultiMedia9 Mixer", "SEP_TDM_TX_5", "SEP_TDM_TX_5"}, + {"MultiMedia9 Mixer", "SEP_TDM_TX_6", "SEP_TDM_TX_6"}, + {"MultiMedia9 Mixer", "SEP_TDM_TX_7", "SEP_TDM_TX_7"}, {"MultiMedia10 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, {"MultiMedia10 Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, @@ -29338,6 +31717,14 @@ static const struct snd_soc_dapm_route intercon_tdm[] = { {"MultiMedia20 Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, {"MultiMedia20 Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, {"MultiMedia20 Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"MultiMedia20 Mixer", "SEP_TDM_TX_0", "SEP_TDM_TX_0"}, + {"MultiMedia20 Mixer", "SEP_TDM_TX_1", "SEP_TDM_TX_1"}, + {"MultiMedia20 Mixer", "SEP_TDM_TX_2", "SEP_TDM_TX_2"}, + {"MultiMedia20 Mixer", "SEP_TDM_TX_3", "SEP_TDM_TX_3"}, + {"MultiMedia20 Mixer", "SEP_TDM_TX_4", "SEP_TDM_TX_4"}, + {"MultiMedia20 Mixer", "SEP_TDM_TX_5", "SEP_TDM_TX_5"}, + {"MultiMedia20 Mixer", "SEP_TDM_TX_6", "SEP_TDM_TX_6"}, + {"MultiMedia20 Mixer", "SEP_TDM_TX_7", "SEP_TDM_TX_7"}, {"MultiMedia21 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, {"MultiMedia21 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, @@ -29363,6 +31750,14 @@ static const struct snd_soc_dapm_route intercon_tdm[] = { {"MultiMedia21 Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, {"MultiMedia21 Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, {"MultiMedia21 Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"MultiMedia21 Mixer", "SEP_TDM_TX_0", "SEP_TDM_TX_0"}, + {"MultiMedia21 Mixer", "SEP_TDM_TX_1", "SEP_TDM_TX_1"}, + {"MultiMedia21 Mixer", "SEP_TDM_TX_2", "SEP_TDM_TX_2"}, + {"MultiMedia21 Mixer", "SEP_TDM_TX_3", "SEP_TDM_TX_3"}, + {"MultiMedia21 Mixer", "SEP_TDM_TX_4", "SEP_TDM_TX_4"}, + {"MultiMedia21 Mixer", "SEP_TDM_TX_5", "SEP_TDM_TX_5"}, + {"MultiMedia21 Mixer", "SEP_TDM_TX_6", "SEP_TDM_TX_6"}, + {"MultiMedia21 Mixer", "SEP_TDM_TX_7", "SEP_TDM_TX_7"}, {"MultiMedia22 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, {"MultiMedia22 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, @@ -29640,7 +32035,22 @@ static const struct snd_soc_dapm_route intercon_tdm[] = { {"SEN_TDM_RX_1", NULL, "SEN_TDM_RX_1_DL_HL"}, {"SEN_TDM_RX_2", NULL, "SEN_TDM_RX_2_DL_HL"}, {"SEN_TDM_RX_3", NULL, "SEN_TDM_RX_3_DL_HL"}, - + {"SEP_TDM_TX_0_UL_HL", NULL, "SEP_TDM_TX_0"}, + {"SEP_TDM_TX_1_UL_HL", NULL, "SEP_TDM_TX_1"}, + {"SEP_TDM_TX_2_UL_HL", NULL, "SEP_TDM_TX_2"}, + {"SEP_TDM_TX_3_UL_HL", NULL, "SEP_TDM_TX_3"}, + {"SEP_TDM_TX_4_UL_HL", NULL, "SEP_TDM_TX_4"}, + {"SEP_TDM_TX_5_UL_HL", NULL, "SEP_TDM_TX_5"}, + {"SEP_TDM_TX_6_UL_HL", NULL, "SEP_TDM_TX_6"}, + {"SEP_TDM_TX_7_UL_HL", NULL, "SEP_TDM_TX_7"}, + {"SEP_TDM_RX_0", NULL, "SEP_TDM_RX_0_DL_HL"}, + {"SEP_TDM_RX_1", NULL, "SEP_TDM_RX_1_DL_HL"}, + {"SEP_TDM_RX_2", NULL, "SEP_TDM_RX_2_DL_HL"}, + {"SEP_TDM_RX_3", NULL, "SEP_TDM_RX_3_DL_HL"}, + {"SEP_TDM_RX_4", NULL, "SEP_TDM_RX_4_DL_HL"}, + {"SEP_TDM_RX_5", NULL, "SEP_TDM_RX_5_DL_HL"}, + {"SEP_TDM_RX_6", NULL, "SEP_TDM_RX_6_DL_HL"}, + {"SEP_TDM_RX_7", NULL, "SEP_TDM_RX_7_DL_HL"}, #ifndef CONFIG_MI2S_DISABLE {"PRI_TDM_RX_0 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, {"PRI_TDM_RX_0 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, @@ -30357,6 +32767,214 @@ static const struct snd_soc_dapm_route intercon_tdm[] = { {"SEN_TDM_RX_3 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, {"SEN_TDM_RX_3", NULL, "SEN_TDM_RX_3 Port Mixer"}, +#ifndef CONFIG_MI2S_DISABLE + {"SEP_TDM_RX_0 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SEP_TDM_RX_0 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"SEP_TDM_RX_0 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"SEP_TDM_RX_0 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"SEP_TDM_RX_0 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SEP_TDM_RX_0 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"SEP_TDM_RX_0 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SEP_TDM_RX_0 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"SEP_TDM_RX_0 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"SEP_TDM_RX_0 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"SEP_TDM_RX_0 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"SEP_TDM_RX_0 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"SEP_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"SEP_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"SEP_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"SEP_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"SEP_TDM_RX_0 Port Mixer", "SEP_TDM_TX_0", "SEP_TDM_TX_0"}, + {"SEP_TDM_RX_0 Port Mixer", "SEP_TDM_TX_1", "SEP_TDM_TX_1"}, + {"SEP_TDM_RX_0 Port Mixer", "SEP_TDM_TX_2", "SEP_TDM_TX_2"}, + {"SEP_TDM_RX_0 Port Mixer", "SEP_TDM_TX_3", "SEP_TDM_TX_3"}, + {"SEP_TDM_RX_0", NULL, "SEP_TDM_RX_0 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"SEP_TDM_RX_1 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SEP_TDM_RX_1 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"SEP_TDM_RX_1 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"SEP_TDM_RX_1 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"SEP_TDM_RX_1 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SEP_TDM_RX_1 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"SEP_TDM_RX_1 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SEP_TDM_RX_1 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"SEP_TDM_RX_1 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"SEP_TDM_RX_1 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"SEP_TDM_RX_1 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"SEP_TDM_RX_1 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"SEP_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"SEP_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"SEP_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"SEP_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"SEP_TDM_RX_1 Port Mixer", "SEP_TDM_TX_0", "SEP_TDM_TX_0"}, + {"SEP_TDM_RX_1 Port Mixer", "SEP_TDM_TX_1", "SEP_TDM_TX_1"}, + {"SEP_TDM_RX_1 Port Mixer", "SEP_TDM_TX_2", "SEP_TDM_TX_2"}, + {"SEP_TDM_RX_1 Port Mixer", "SEP_TDM_TX_3", "SEP_TDM_TX_3"}, + {"SEP_TDM_RX_1", NULL, "SEP_TDM_RX_1 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"SEP_TDM_RX_2 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SEP_TDM_RX_2 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"SEP_TDM_RX_2 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"SEP_TDM_RX_2 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"SEP_TDM_RX_2 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SEP_TDM_RX_2 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"SEP_TDM_RX_2 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SEP_TDM_RX_2 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"SEP_TDM_RX_2 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"SEP_TDM_RX_2 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"SEP_TDM_RX_2 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"SEP_TDM_RX_2 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"SEP_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"SEP_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"SEP_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"SEP_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"SEP_TDM_RX_2 Port Mixer", "SEP_TDM_TX_0", "SEP_TDM_TX_0"}, + {"SEP_TDM_RX_2 Port Mixer", "SEP_TDM_TX_1", "SEP_TDM_TX_1"}, + {"SEP_TDM_RX_2 Port Mixer", "SEP_TDM_TX_2", "SEP_TDM_TX_2"}, + {"SEP_TDM_RX_2 Port Mixer", "SEP_TDM_TX_3", "SEP_TDM_TX_3"}, + {"SEP_TDM_RX_2", NULL, "SEP_TDM_RX_2 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"SEP_TDM_RX_3 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SEP_TDM_RX_3 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"SEP_TDM_RX_3 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"SEP_TDM_RX_3 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"SEP_TDM_RX_3 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SEP_TDM_RX_3 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"SEP_TDM_RX_3 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SEP_TDM_RX_3 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"SEP_TDM_RX_3 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"SEP_TDM_RX_3 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"SEP_TDM_RX_3 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"SEP_TDM_RX_3 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"SEP_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"SEP_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"SEP_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"SEP_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"SEP_TDM_RX_3 Port Mixer", "SEP_TDM_TX_0", "SEP_TDM_TX_0"}, + {"SEP_TDM_RX_3 Port Mixer", "SEP_TDM_TX_1", "SEP_TDM_TX_1"}, + {"SEP_TDM_RX_3 Port Mixer", "SEP_TDM_TX_2", "SEP_TDM_TX_2"}, + {"SEP_TDM_RX_3 Port Mixer", "SEP_TDM_TX_3", "SEP_TDM_TX_3"}, + {"SEP_TDM_RX_3", NULL, "SEP_TDM_RX_3 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"SEP_TDM_RX_4 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SEP_TDM_RX_4 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"SEP_TDM_RX_4 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"SEP_TDM_RX_4 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"SEP_TDM_RX_4 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SEP_TDM_RX_4 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"SEP_TDM_RX_4 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SEP_TDM_RX_4 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"SEP_TDM_RX_4 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"SEP_TDM_RX_4 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"SEP_TDM_RX_4 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"SEP_TDM_RX_4 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"SEP_TDM_RX_4 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"SEP_TDM_RX_4 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"SEP_TDM_RX_4 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"SEP_TDM_RX_4 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"SEP_TDM_RX_4 Port Mixer", "SEP_TDM_TX_0", "SEP_TDM_TX_0"}, + {"SEP_TDM_RX_4 Port Mixer", "SEP_TDM_TX_1", "SEP_TDM_TX_1"}, + {"SEP_TDM_RX_4 Port Mixer", "SEP_TDM_TX_2", "SEP_TDM_TX_2"}, + {"SEP_TDM_RX_4 Port Mixer", "SEP_TDM_TX_3", "SEP_TDM_TX_3"}, + {"SEP_TDM_RX_4", NULL, "SEP_TDM_RX_4 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"SEP_TDM_RX_5 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SEP_TDM_RX_5 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"SEP_TDM_RX_5 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"SEP_TDM_RX_5 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"SEP_TDM_RX_5 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SEP_TDM_RX_5 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"SEP_TDM_RX_5 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SEP_TDM_RX_5 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"SEP_TDM_RX_5 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"SEP_TDM_RX_5 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"SEP_TDM_RX_5 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"SEP_TDM_RX_5 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"SEP_TDM_RX_5 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"SEP_TDM_RX_5 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"SEP_TDM_RX_5 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"SEP_TDM_RX_5 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"SEP_TDM_RX_5 Port Mixer", "SEP_TDM_TX_0", "SEP_TDM_TX_0"}, + {"SEP_TDM_RX_5 Port Mixer", "SEP_TDM_TX_1", "SEP_TDM_TX_1"}, + {"SEP_TDM_RX_5 Port Mixer", "SEP_TDM_TX_2", "SEP_TDM_TX_2"}, + {"SEP_TDM_RX_5 Port Mixer", "SEP_TDM_TX_3", "SEP_TDM_TX_3"}, + {"SEP_TDM_RX_5", NULL, "SEP_TDM_RX_5 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"SEP_TDM_RX_6 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SEP_TDM_RX_6 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"SEP_TDM_RX_6 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"SEP_TDM_RX_6 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"SEP_TDM_RX_6 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SEP_TDM_RX_6 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"SEP_TDM_RX_6 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SEP_TDM_RX_6 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"SEP_TDM_RX_6 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"SEP_TDM_RX_6 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"SEP_TDM_RX_6 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"SEP_TDM_RX_6 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"SEP_TDM_RX_6 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"SEP_TDM_RX_6 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"SEP_TDM_RX_6 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"SEP_TDM_RX_6 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"SEP_TDM_RX_6 Port Mixer", "SEP_TDM_TX_0", "SEP_TDM_TX_0"}, + {"SEP_TDM_RX_6 Port Mixer", "SEP_TDM_TX_1", "SEP_TDM_TX_1"}, + {"SEP_TDM_RX_6 Port Mixer", "SEP_TDM_TX_2", "SEP_TDM_TX_2"}, + {"SEP_TDM_RX_6 Port Mixer", "SEP_TDM_TX_3", "SEP_TDM_TX_3"}, + {"SEP_TDM_RX_6", NULL, "SEP_TDM_RX_6 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"SEP_TDM_RX_7 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SEP_TDM_RX_7 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"SEP_TDM_RX_7 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"SEP_TDM_RX_7 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"SEP_TDM_RX_7 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SEP_TDM_RX_7 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"SEP_TDM_RX_7 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SEP_TDM_RX_7 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"SEP_TDM_RX_7 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"SEP_TDM_RX_7 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"SEP_TDM_RX_7 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"SEP_TDM_RX_7 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"SEP_TDM_RX_7 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"SEP_TDM_RX_7 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"SEP_TDM_RX_7 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"SEP_TDM_RX_7 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"SEP_TDM_RX_7 Port Mixer", "SEP_TDM_TX_0", "SEP_TDM_TX_0"}, + {"SEP_TDM_RX_7 Port Mixer", "SEP_TDM_TX_1", "SEP_TDM_TX_1"}, + {"SEP_TDM_RX_7 Port Mixer", "SEP_TDM_TX_2", "SEP_TDM_TX_2"}, + {"SEP_TDM_RX_7 Port Mixer", "SEP_TDM_TX_3", "SEP_TDM_TX_3"}, + {"SEP_TDM_RX_7", NULL, "SEP_TDM_RX_7 Port Mixer"}, + {"AUDIO_REF_EC_UL1 MUX", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, {"AUDIO_REF_EC_UL1 MUX", "QUAT_TDM_RX_0", "QUAT_TDM_RX_0"}, {"AUDIO_REF_EC_UL1 MUX", "QUAT_TDM_RX_1", "QUAT_TDM_RX_1"}, @@ -30424,6 +33042,14 @@ static const struct snd_soc_dapm_route intercon_tdm[] = { {"BE_OUT", NULL, "SEN_TDM_RX_1"}, {"BE_OUT", NULL, "SEN_TDM_RX_2"}, {"BE_OUT", NULL, "SEN_TDM_RX_3"}, + {"BE_OUT", NULL, "SEP_TDM_RX_0"}, + {"BE_OUT", NULL, "SEP_TDM_RX_1"}, + {"BE_OUT", NULL, "SEP_TDM_RX_2"}, + {"BE_OUT", NULL, "SEP_TDM_RX_3"}, + {"BE_OUT", NULL, "SEP_TDM_RX_4"}, + {"BE_OUT", NULL, "SEP_TDM_RX_5"}, + {"BE_OUT", NULL, "SEP_TDM_RX_6"}, + {"BE_OUT", NULL, "SEP_TDM_RX_7"}, {"PRI_TDM_TX_0", NULL, "BE_IN"}, {"PRI_TDM_TX_1", NULL, "BE_IN"}, @@ -30452,6 +33078,14 @@ static const struct snd_soc_dapm_route intercon_tdm[] = { {"SEN_TDM_TX_1", NULL, "BE_IN"}, {"SEN_TDM_TX_2", NULL, "BE_IN"}, {"SEN_TDM_TX_3", NULL, "BE_IN"}, + {"SEP_TDM_TX_0", NULL, "BE_IN"}, + {"SEP_TDM_TX_1", NULL, "BE_IN"}, + {"SEP_TDM_TX_2", NULL, "BE_IN"}, + {"SEP_TDM_TX_3", NULL, "BE_IN"}, + {"SEP_TDM_TX_4", NULL, "BE_IN"}, + {"SEP_TDM_TX_5", NULL, "BE_IN"}, + {"SEP_TDM_TX_6", NULL, "BE_IN"}, + {"SEP_TDM_TX_7", NULL, "BE_IN"}, }; #endif diff --git a/asoc/msm-pcm-routing-v2.h b/asoc/msm-pcm-routing-v2.h index a6933474da98..886169ea13cd 100644 --- a/asoc/msm-pcm-routing-v2.h +++ b/asoc/msm-pcm-routing-v2.h @@ -185,6 +185,71 @@ #define LPASS_BE_SEN_TDM_TX_6 "SEN_TDM_TX_6" #define LPASS_BE_SEN_TDM_RX_7 "SEN_TDM_RX_7" #define LPASS_BE_SEN_TDM_TX_7 "SEN_TDM_TX_7" +#define LPASS_BE_SEP_TDM_RX_0 "SEP_TDM_RX_0" +#define LPASS_BE_SEP_TDM_TX_0 "SEP_TDM_TX_0" +#define LPASS_BE_SEP_TDM_RX_1 "SEP_TDM_RX_1" +#define LPASS_BE_SEP_TDM_TX_1 "SEP_TDM_TX_1" +#define LPASS_BE_SEP_TDM_RX_2 "SEP_TDM_RX_2" +#define LPASS_BE_SEP_TDM_TX_2 "SEP_TDM_TX_2" +#define LPASS_BE_SEP_TDM_RX_3 "SEP_TDM_RX_3" +#define LPASS_BE_SEP_TDM_TX_3 "SEP_TDM_TX_3" +#define LPASS_BE_SEP_TDM_RX_4 "SEP_TDM_RX_4" +#define LPASS_BE_SEP_TDM_TX_4 "SEP_TDM_TX_4" +#define LPASS_BE_SEP_TDM_RX_5 "SEP_TDM_RX_5" +#define LPASS_BE_SEP_TDM_TX_5 "SEP_TDM_TX_5" +#define LPASS_BE_SEP_TDM_RX_6 "SEP_TDM_RX_6" +#define LPASS_BE_SEP_TDM_TX_6 "SEP_TDM_TX_6" +#define LPASS_BE_SEP_TDM_RX_7 "SEP_TDM_RX_7" +#define LPASS_BE_SEP_TDM_TX_7 "SEP_TDM_TX_7" + +#define LPASS_BE_HSIF0_TDM_RX_0 "HSIF0_TDM_RX_0" +#define LPASS_BE_HSIF0_TDM_TX_0 "HSIF0_TDM_TX_0" +#define LPASS_BE_HSIF0_TDM_RX_1 "HSIF0_TDM_RX_1" +#define LPASS_BE_HSIF0_TDM_TX_1 "HSIF0_TDM_TX_1" +#define LPASS_BE_HSIF0_TDM_RX_2 "HSIF0_TDM_RX_2" +#define LPASS_BE_HSIF0_TDM_TX_2 "HSIF0_TDM_TX_2" +#define LPASS_BE_HSIF0_TDM_RX_3 "HSIF0_TDM_RX_3" +#define LPASS_BE_HSIF0_TDM_TX_3 "HSIF0_TDM_TX_3" +#define LPASS_BE_HSIF0_TDM_RX_4 "HSIF0_TDM_RX_4" +#define LPASS_BE_HSIF0_TDM_TX_4 "HSIF0_TDM_TX_4" +#define LPASS_BE_HSIF0_TDM_RX_5 "HSIF0_TDM_RX_5" +#define LPASS_BE_HSIF0_TDM_TX_5 "HSIF0_TDM_TX_5" +#define LPASS_BE_HSIF0_TDM_RX_6 "HSIF0_TDM_RX_6" +#define LPASS_BE_HSIF0_TDM_TX_6 "HSIF0_TDM_TX_6" +#define LPASS_BE_HSIF0_TDM_RX_7 "HSIF0_TDM_RX_7" +#define LPASS_BE_HSIF0_TDM_TX_7 "HSIF0_TDM_TX_7" +#define LPASS_BE_HSIF1_TDM_RX_0 "HSIF1_TDM_RX_0" +#define LPASS_BE_HSIF1_TDM_TX_0 "HSIF1_TDM_TX_0" +#define LPASS_BE_HSIF1_TDM_RX_1 "HSIF1_TDM_RX_1" +#define LPASS_BE_HSIF1_TDM_TX_1 "HSIF1_TDM_TX_1" +#define LPASS_BE_HSIF1_TDM_RX_2 "HSIF1_TDM_RX_2" +#define LPASS_BE_HSIF1_TDM_TX_2 "HSIF1_TDM_TX_2" +#define LPASS_BE_HSIF1_TDM_RX_3 "HSIF1_TDM_RX_3" +#define LPASS_BE_HSIF1_TDM_TX_3 "HSIF1_TDM_TX_3" +#define LPASS_BE_HSIF1_TDM_RX_4 "HSIF1_TDM_RX_4" +#define LPASS_BE_HSIF1_TDM_TX_4 "HSIF1_TDM_TX_4" +#define LPASS_BE_HSIF1_TDM_RX_5 "HSIF1_TDM_RX_5" +#define LPASS_BE_HSIF1_TDM_TX_5 "HSIF1_TDM_TX_5" +#define LPASS_BE_HSIF1_TDM_RX_6 "HSIF1_TDM_RX_6" +#define LPASS_BE_HSIF1_TDM_TX_6 "HSIF1_TDM_TX_6" +#define LPASS_BE_HSIF1_TDM_RX_7 "HSIF1_TDM_RX_7" +#define LPASS_BE_HSIF1_TDM_TX_7 "HSIF1_TDM_TX_7" +#define LPASS_BE_HSIF2_TDM_RX_0 "HSIF2_TDM_RX_0" +#define LPASS_BE_HSIF2_TDM_TX_0 "HSIF2_TDM_TX_0" +#define LPASS_BE_HSIF2_TDM_RX_1 "HSIF2_TDM_RX_1" +#define LPASS_BE_HSIF2_TDM_TX_1 "HSIF2_TDM_TX_1" +#define LPASS_BE_HSIF2_TDM_RX_2 "HSIF2_TDM_RX_2" +#define LPASS_BE_HSIF2_TDM_TX_2 "HSIF2_TDM_TX_2" +#define LPASS_BE_HSIF2_TDM_RX_3 "HSIF2_TDM_RX_3" +#define LPASS_BE_HSIF2_TDM_TX_3 "HSIF2_TDM_TX_3" +#define LPASS_BE_HSIF2_TDM_RX_4 "HSIF2_TDM_RX_4" +#define LPASS_BE_HSIF2_TDM_TX_4 "HSIF2_TDM_TX_4" +#define LPASS_BE_HSIF2_TDM_RX_5 "HSIF2_TDM_RX_5" +#define LPASS_BE_HSIF2_TDM_TX_5 "HSIF2_TDM_TX_5" +#define LPASS_BE_HSIF2_TDM_RX_6 "HSIF2_TDM_RX_6" +#define LPASS_BE_HSIF2_TDM_TX_6 "HSIF2_TDM_TX_6" +#define LPASS_BE_HSIF2_TDM_RX_7 "HSIF2_TDM_RX_7" +#define LPASS_BE_HSIF2_TDM_TX_7 "HSIF2_TDM_TX_7" #define LPASS_BE_SLIMBUS_7_RX "SLIMBUS_7_RX" #define LPASS_BE_SLIMBUS_7_TX "SLIMBUS_7_TX" @@ -515,6 +580,70 @@ enum { MSM_BACKEND_DAI_PROXY_TX, MSM_BACKEND_DAI_HDMI_RX_MS, MSM_BACKEND_DAI_AFE_PCM_RX1, + MSM_BACKEND_DAI_SEP_TDM_RX_0, + MSM_BACKEND_DAI_SEP_TDM_TX_0, + MSM_BACKEND_DAI_SEP_TDM_RX_1, + MSM_BACKEND_DAI_SEP_TDM_TX_1, + MSM_BACKEND_DAI_SEP_TDM_RX_2, + MSM_BACKEND_DAI_SEP_TDM_TX_2, + MSM_BACKEND_DAI_SEP_TDM_RX_3, + MSM_BACKEND_DAI_SEP_TDM_TX_3, + MSM_BACKEND_DAI_SEP_TDM_RX_4, + MSM_BACKEND_DAI_SEP_TDM_TX_4, + MSM_BACKEND_DAI_SEP_TDM_RX_5, + MSM_BACKEND_DAI_SEP_TDM_TX_5, + MSM_BACKEND_DAI_SEP_TDM_RX_6, + MSM_BACKEND_DAI_SEP_TDM_TX_6, + MSM_BACKEND_DAI_SEP_TDM_RX_7, + MSM_BACKEND_DAI_SEP_TDM_TX_7, + MSM_BACKEND_DAI_HSIF0_TDM_RX_0, + MSM_BACKEND_DAI_HSIF0_TDM_TX_0, + MSM_BACKEND_DAI_HSIF0_TDM_RX_1, + MSM_BACKEND_DAI_HSIF0_TDM_TX_1, + MSM_BACKEND_DAI_HSIF0_TDM_RX_2, + MSM_BACKEND_DAI_HSIF0_TDM_TX_2, + MSM_BACKEND_DAI_HSIF0_TDM_RX_3, + MSM_BACKEND_DAI_HSIF0_TDM_TX_3, + MSM_BACKEND_DAI_HSIF0_TDM_RX_4, + MSM_BACKEND_DAI_HSIF0_TDM_TX_4, + MSM_BACKEND_DAI_HSIF0_TDM_RX_5, + MSM_BACKEND_DAI_HSIF0_TDM_TX_5, + MSM_BACKEND_DAI_HSIF0_TDM_RX_6, + MSM_BACKEND_DAI_HSIF0_TDM_TX_6, + MSM_BACKEND_DAI_HSIF0_TDM_RX_7, + MSM_BACKEND_DAI_HSIF0_TDM_TX_7, + MSM_BACKEND_DAI_HSIF1_TDM_RX_0, + MSM_BACKEND_DAI_HSIF1_TDM_TX_0, + MSM_BACKEND_DAI_HSIF1_TDM_RX_1, + MSM_BACKEND_DAI_HSIF1_TDM_TX_1, + MSM_BACKEND_DAI_HSIF1_TDM_RX_2, + MSM_BACKEND_DAI_HSIF1_TDM_TX_2, + MSM_BACKEND_DAI_HSIF1_TDM_RX_3, + MSM_BACKEND_DAI_HSIF1_TDM_TX_3, + MSM_BACKEND_DAI_HSIF1_TDM_RX_4, + MSM_BACKEND_DAI_HSIF1_TDM_TX_4, + MSM_BACKEND_DAI_HSIF1_TDM_RX_5, + MSM_BACKEND_DAI_HSIF1_TDM_TX_5, + MSM_BACKEND_DAI_HSIF1_TDM_RX_6, + MSM_BACKEND_DAI_HSIF1_TDM_TX_6, + MSM_BACKEND_DAI_HSIF1_TDM_RX_7, + MSM_BACKEND_DAI_HSIF1_TDM_TX_7, + MSM_BACKEND_DAI_HSIF2_TDM_RX_0, + MSM_BACKEND_DAI_HSIF2_TDM_TX_0, + MSM_BACKEND_DAI_HSIF2_TDM_RX_1, + MSM_BACKEND_DAI_HSIF2_TDM_TX_1, + MSM_BACKEND_DAI_HSIF2_TDM_RX_2, + MSM_BACKEND_DAI_HSIF2_TDM_TX_2, + MSM_BACKEND_DAI_HSIF2_TDM_RX_3, + MSM_BACKEND_DAI_HSIF2_TDM_TX_3, + MSM_BACKEND_DAI_HSIF2_TDM_RX_4, + MSM_BACKEND_DAI_HSIF2_TDM_TX_4, + MSM_BACKEND_DAI_HSIF2_TDM_RX_5, + MSM_BACKEND_DAI_HSIF2_TDM_TX_5, + MSM_BACKEND_DAI_HSIF2_TDM_RX_6, + MSM_BACKEND_DAI_HSIF2_TDM_TX_6, + MSM_BACKEND_DAI_HSIF2_TDM_RX_7, + MSM_BACKEND_DAI_HSIF2_TDM_TX_7, MSM_BACKEND_DAI_MAX, };