diff --git a/asoc/msm-pcm-routing-v2.c b/asoc/msm-pcm-routing-v2.c index e1052047015c..279e32c736cb 100644 --- a/asoc/msm-pcm-routing-v2.c +++ b/asoc/msm-pcm-routing-v2.c @@ -60,6 +60,7 @@ static int fm_switch_enable; static int hfp_switch_enable; static int a2dp_switch_enable; static int sco_switch_enable; +#ifndef CONFIG_MI2S_DISABLE static int int0_mi2s_switch_enable; static int int4_mi2s_switch_enable; static int pri_mi2s_switch_enable; @@ -68,6 +69,7 @@ static int tert_mi2s_switch_enable; static int quat_mi2s_switch_enable; static int quin_mi2s_switch_enable; static int sen_mi2s_switch_enable; +#endif static int fm_pcmrx_switch_enable; static int usb_switch_enable; static int lsm_port_index[MAX_LSM_SESSIONS]; @@ -2901,6 +2903,7 @@ static int msm_routing_sco_switch_mixer_put(struct snd_kcontrol *kcontrol, return 1; } +#ifndef CONFIG_MI2S_DISABLE static int msm_routing_get_int0_mi2s_switch_mixer(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { @@ -2957,34 +2960,6 @@ static int msm_routing_put_int4_mi2s_switch_mixer(struct snd_kcontrol *kcontrol, return 1; } -static int msm_routing_get_usb_switch_mixer(struct snd_kcontrol *kcontrol, - struct snd_ctl_elem_value *ucontrol) -{ - ucontrol->value.integer.value[0] = usb_switch_enable; - pr_debug("%s: HFP Switch enable %ld\n", __func__, - ucontrol->value.integer.value[0]); - return 0; -} - -static int msm_routing_put_usb_switch_mixer(struct snd_kcontrol *kcontrol, - struct snd_ctl_elem_value *ucontrol) -{ - struct snd_soc_dapm_widget *widget = - snd_soc_dapm_kcontrol_widget(kcontrol); - struct snd_soc_dapm_update *update = NULL; - - pr_debug("%s: USB Switch enable %ld\n", __func__, - ucontrol->value.integer.value[0]); - if (ucontrol->value.integer.value[0]) - snd_soc_dapm_mixer_update_power(widget->dapm, kcontrol, - 1, update); - else - snd_soc_dapm_mixer_update_power(widget->dapm, kcontrol, - 0, update); - usb_switch_enable = ucontrol->value.integer.value[0]; - return 1; -} - static int msm_routing_get_pri_mi2s_switch_mixer(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { @@ -3160,6 +3135,35 @@ static int msm_routing_put_sen_mi2s_switch_mixer( sen_mi2s_switch_enable = ucontrol->value.integer.value[0]; return 1; } +#endif + +static int msm_routing_get_usb_switch_mixer(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +{ + ucontrol->value.integer.value[0] = usb_switch_enable; + pr_debug("%s: HFP Switch enable %ld\n", __func__, + ucontrol->value.integer.value[0]); + return 0; +} + +static int msm_routing_put_usb_switch_mixer(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +{ + struct snd_soc_dapm_widget *widget = + snd_soc_dapm_kcontrol_widget(kcontrol); + struct snd_soc_dapm_update *update = NULL; + + pr_debug("%s: USB Switch enable %ld\n", __func__, + ucontrol->value.integer.value[0]); + if (ucontrol->value.integer.value[0]) + snd_soc_dapm_mixer_update_power(widget->dapm, kcontrol, + 1, update); + else + snd_soc_dapm_mixer_update_power(widget->dapm, kcontrol, + 0, update); + usb_switch_enable = ucontrol->value.integer.value[0]; + return 1; +} static int msm_routing_get_fm_pcmrx_switch_mixer(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) @@ -6039,197 +6043,6 @@ static const struct snd_kcontrol_new voc_ext_ec_mux = SOC_DAPM_ENUM_EXT("VOC_EXT_EC MUX Mux", msm_route_ext_ec_ref_rx_enum[0], msm_routing_ext_ec_get, msm_routing_ext_ec_put); - -static const struct snd_kcontrol_new pri_i2s_rx_mixer_controls[] = { - SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_I2S_RX, - 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_PRI_I2S_RX, - 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_PRI_I2S_RX, - 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_PRI_I2S_RX, - 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_PRI_I2S_RX, - 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_PRI_I2S_RX, - 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_PRI_I2S_RX, - 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_PRI_I2S_RX, - 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_PRI_I2S_RX, - 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_PRI_I2S_RX, - 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_PRI_I2S_RX, - 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_PRI_I2S_RX, - 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_PRI_I2S_RX, - 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_PRI_I2S_RX, - 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_PRI_I2S_RX, - 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_PRI_I2S_RX, - MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("MultiMedia17", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_I2S_RX, - MSM_FRONTEND_DAI_MULTIMEDIA17, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("MultiMedia18", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_I2S_RX, - MSM_FRONTEND_DAI_MULTIMEDIA18, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("MultiMedia19", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_I2S_RX, - MSM_FRONTEND_DAI_MULTIMEDIA19, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("MultiMedia26", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_I2S_RX, - MSM_FRONTEND_DAI_MULTIMEDIA26, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("MultiMedia28", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_I2S_RX, - MSM_FRONTEND_DAI_MULTIMEDIA28, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("MultiMedia29", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_I2S_RX, - MSM_FRONTEND_DAI_MULTIMEDIA29, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("MultiMedia30", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_I2S_RX, - MSM_FRONTEND_DAI_MULTIMEDIA30, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), -}; - -static const struct snd_kcontrol_new sec_i2s_rx_mixer_controls[] = { - SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_I2S_RX, - 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_SEC_I2S_RX, - 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_SEC_I2S_RX, - 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_SEC_I2S_RX, - 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_SEC_I2S_RX, - 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_SEC_I2S_RX, - 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_SEC_I2S_RX, - 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_SEC_I2S_RX, - 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_SEC_I2S_RX, - 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_SEC_I2S_RX, - 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_SEC_I2S_RX, - 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_SEC_I2S_RX, - 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_SEC_I2S_RX, - 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_SEC_I2S_RX, - 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_SEC_I2S_RX, - 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_SEC_I2S_RX, - MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("MultiMedia17", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_I2S_RX, - MSM_FRONTEND_DAI_MULTIMEDIA17, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("MultiMedia18", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_I2S_RX, - MSM_FRONTEND_DAI_MULTIMEDIA18, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("MultiMedia19", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_I2S_RX, - MSM_FRONTEND_DAI_MULTIMEDIA19, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("MultiMedia26", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_I2S_RX, - MSM_FRONTEND_DAI_MULTIMEDIA26, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("MultiMedia28", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_I2S_RX, - MSM_FRONTEND_DAI_MULTIMEDIA28, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("MultiMedia29", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_I2S_RX, - MSM_FRONTEND_DAI_MULTIMEDIA29, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("MultiMedia30", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_I2S_RX, - MSM_FRONTEND_DAI_MULTIMEDIA30, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), -}; - static const struct snd_kcontrol_new pri_spdif_rx_mixer_controls[] = { SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_SPDIF_RX, @@ -6681,6 +6494,197 @@ static const struct snd_kcontrol_new slimbus_rx_mixer_controls[] = { msm_routing_put_audio_mixer), }; +#ifndef CONFIG_MI2S_DISABLE +static const struct snd_kcontrol_new pri_i2s_rx_mixer_controls[] = { + SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_I2S_RX, + 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_PRI_I2S_RX, + 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_PRI_I2S_RX, + 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_PRI_I2S_RX, + 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_PRI_I2S_RX, + 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_PRI_I2S_RX, + 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_PRI_I2S_RX, + 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_PRI_I2S_RX, + 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_PRI_I2S_RX, + 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_PRI_I2S_RX, + 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_PRI_I2S_RX, + 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_PRI_I2S_RX, + 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_PRI_I2S_RX, + 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_PRI_I2S_RX, + 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_PRI_I2S_RX, + 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_PRI_I2S_RX, + MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia17", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_I2S_RX, + MSM_FRONTEND_DAI_MULTIMEDIA17, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia18", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_I2S_RX, + MSM_FRONTEND_DAI_MULTIMEDIA18, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia19", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_I2S_RX, + MSM_FRONTEND_DAI_MULTIMEDIA19, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia26", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_I2S_RX, + MSM_FRONTEND_DAI_MULTIMEDIA26, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia28", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_I2S_RX, + MSM_FRONTEND_DAI_MULTIMEDIA28, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia29", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_I2S_RX, + MSM_FRONTEND_DAI_MULTIMEDIA29, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia30", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_I2S_RX, + MSM_FRONTEND_DAI_MULTIMEDIA30, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), +}; + +static const struct snd_kcontrol_new sec_i2s_rx_mixer_controls[] = { + SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_I2S_RX, + 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_SEC_I2S_RX, + 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_SEC_I2S_RX, + 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_SEC_I2S_RX, + 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_SEC_I2S_RX, + 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_SEC_I2S_RX, + 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_SEC_I2S_RX, + 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_SEC_I2S_RX, + 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_SEC_I2S_RX, + 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_SEC_I2S_RX, + 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_SEC_I2S_RX, + 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_SEC_I2S_RX, + 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_SEC_I2S_RX, + 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_SEC_I2S_RX, + 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_SEC_I2S_RX, + 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_SEC_I2S_RX, + MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia17", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_I2S_RX, + MSM_FRONTEND_DAI_MULTIMEDIA17, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia18", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_I2S_RX, + MSM_FRONTEND_DAI_MULTIMEDIA18, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia19", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_I2S_RX, + MSM_FRONTEND_DAI_MULTIMEDIA19, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia26", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_I2S_RX, + MSM_FRONTEND_DAI_MULTIMEDIA26, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia28", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_I2S_RX, + MSM_FRONTEND_DAI_MULTIMEDIA28, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia29", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_I2S_RX, + MSM_FRONTEND_DAI_MULTIMEDIA29, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MultiMedia30", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_I2S_RX, + MSM_FRONTEND_DAI_MULTIMEDIA30, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), +}; + static const struct snd_kcontrol_new mi2s_rx_mixer_controls[] = { SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM, MSM_BACKEND_DAI_MI2S_RX, @@ -7668,6 +7672,467 @@ static const struct snd_kcontrol_new sec_meta_mi2s_rx_mixer_controls[] = { msm_routing_put_audio_mixer), }; +static const struct snd_kcontrol_new int0_mi2s_rx_port_mixer_controls[] = { + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT0_MI2S_RX, + 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_INT0_MI2S_RX, + 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_INT0_MI2S_RX, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT0_MI2S_RX, + MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT0_MI2S_RX, + MSM_BACKEND_DAI_QUINARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SENARY_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT0_MI2S_RX, + MSM_BACKEND_DAI_SENARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("INT3_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT0_MI2S_RX, + MSM_BACKEND_DAI_INT3_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT0_MI2S_RX, + 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_INT0_MI2S_RX, + MSM_BACKEND_DAI_INT_BT_SCO_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SLIM_7_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT0_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_7_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SLIM_8_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT0_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_8_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SLIM_9_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT0_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_9_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new int4_mi2s_rx_port_mixer_controls[] = { + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT4_MI2S_RX, + 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_INT4_MI2S_RX, + 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_INT4_MI2S_RX, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT4_MI2S_RX, + MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT4_MI2S_RX, + MSM_BACKEND_DAI_QUINARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SENARY_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT4_MI2S_RX, + MSM_BACKEND_DAI_SENARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("INT3_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT4_MI2S_RX, + MSM_BACKEND_DAI_INT3_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT4_MI2S_RX, + 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_INT4_MI2S_RX, + MSM_BACKEND_DAI_INT_BT_SCO_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SLIM_7_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT4_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_7_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SLIM_8_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT4_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_8_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SLIM_9_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT4_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_9_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new mi2s_rx_port_mixer_controls[] = { + SOC_DOUBLE_EXT("SLIM_1_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_1_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_MI2S_RX, + MSM_BACKEND_DAI_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new primary_mi2s_rx_port_mixer_controls[] = { + SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_MI2S_RX, + 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_PRI_MI2S_RX, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_MI2S_RX, + MSM_BACKEND_DAI_INT_FM_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_MI2S_RX, + MSM_BACKEND_DAI_QUATERNARY_MI2S_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_PRI_MI2S_RX, + MSM_BACKEND_DAI_INT_BT_SCO_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_MI2S_RX, + MSM_BACKEND_DAI_PRI_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_MI2S_RX, + MSM_BACKEND_DAI_QUINARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SENARY_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_MI2S_RX, + MSM_BACKEND_DAI_SENARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_0_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SLIM_8_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_8_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_PRI_MI2S_RX, + MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new quat_mi2s_rx_port_mixer_controls[] = { + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, + MSM_BACKEND_DAI_PRI_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_QUATERNARY_MI2S_RX, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, + MSM_BACKEND_DAI_INT_FM_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, + MSM_BACKEND_DAI_AUXPCM_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_0_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_QUATERNARY_MI2S_RX, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, + MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, + MSM_BACKEND_DAI_QUINARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SENARY_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, + MSM_BACKEND_DAI_SENARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SLIM_8_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_8_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new quin_mi2s_rx_port_mixer_controls[] = { + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUINARY_MI2S_RX, + MSM_BACKEND_DAI_PRI_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_QUINARY_MI2S_RX, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUINARY_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_0_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUINARY_MI2S_RX, + MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUINARY_MI2S_RX, + MSM_BACKEND_DAI_QUINARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SENARY_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUINARY_MI2S_RX, + MSM_BACKEND_DAI_SENARY_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_QUINARY_MI2S_RX, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SLIM_8_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUINARY_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_8_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new sen_mi2s_rx_port_mixer_controls[] = { + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SENARY_MI2S_RX, + MSM_BACKEND_DAI_PRI_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_SENARY_MI2S_RX, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SENARY_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_0_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SENARY_MI2S_RX, + MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SENARY_MI2S_RX, + MSM_BACKEND_DAI_QUINARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SENARY_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SENARY_MI2S_RX, + MSM_BACKEND_DAI_SENARY_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_SENARY_MI2S_RX, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SLIM_8_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SENARY_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_8_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new tert_mi2s_rx_port_mixer_controls[] = { + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERTIARY_MI2S_RX, + MSM_BACKEND_DAI_PRI_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_TERTIARY_MI2S_RX, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERTIARY_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_0_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERTIARY_MI2S_RX, + MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERTIARY_MI2S_RX, + MSM_BACKEND_DAI_QUINARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SENARY_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERTIARY_MI2S_RX, + MSM_BACKEND_DAI_SENARY_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_TERTIARY_MI2S_RX, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SLIM_8_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERTIARY_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_8_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new sec_mi2s_rx_port_mixer_controls[] = { + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_RX, + 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_SECONDARY_MI2S_RX, + 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_SECONDARY_MI2S_RX, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_RX, + MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_RX, + MSM_BACKEND_DAI_QUINARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SENARY_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_RX, + MSM_BACKEND_DAI_SENARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_0_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_RX, + MSM_BACKEND_DAI_INT_FM_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SLIM_8_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_RX, + MSM_BACKEND_DAI_SLIMBUS_8_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_RX, + MSM_BACKEND_DAI_AUXPCM_TX, 1, 0, msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new pri_rx_voice_mixer_controls[] = { + SOC_DOUBLE_EXT("Voip", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_I2S_RX, + MSM_FRONTEND_DAI_VOIP, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("VoiceMMode1", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_I2S_RX, + MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("VoiceMMode2", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_I2S_RX, + MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("DTMF", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_I2S_RX, + MSM_FRONTEND_DAI_DTMF_RX, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("QCHAT", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_I2S_RX, + MSM_FRONTEND_DAI_QCHAT, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), +}; + +static const struct snd_kcontrol_new sec_i2s_rx_voice_mixer_controls[] = { + SOC_DOUBLE_EXT("Voip", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_I2S_RX, + MSM_FRONTEND_DAI_VOIP, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("DTMF", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_I2S_RX, + MSM_FRONTEND_DAI_DTMF_RX, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("QCHAT", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_I2S_RX, + MSM_FRONTEND_DAI_QCHAT, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), +}; + +static const struct snd_kcontrol_new sec_mi2s_rx_voice_mixer_controls[] = { + SOC_DOUBLE_EXT("Voip", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_RX, + MSM_FRONTEND_DAI_VOIP, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("Voice Stub", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_RX, + MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("Voice2 Stub", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_RX, + MSM_FRONTEND_DAI_VOICE2_STUB, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("DTMF", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_RX, + MSM_FRONTEND_DAI_DTMF_RX, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("QCHAT", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_RX, + MSM_FRONTEND_DAI_QCHAT, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("VoiceMMode1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_RX, + MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("VoiceMMode2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_RX, + MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), +}; + +static const struct snd_kcontrol_new int0_mi2s_rx_switch_mixer_controls = + SOC_SINGLE_EXT("Switch", SND_SOC_NOPM, + 0, 1, 0, msm_routing_get_int0_mi2s_switch_mixer, + msm_routing_put_int0_mi2s_switch_mixer); + +static const struct snd_kcontrol_new int4_mi2s_rx_switch_mixer_controls = + SOC_SINGLE_EXT("Switch", SND_SOC_NOPM, + 0, 1, 0, msm_routing_get_int4_mi2s_switch_mixer, + msm_routing_put_int4_mi2s_switch_mixer); + +static const struct snd_kcontrol_new pri_mi2s_rx_switch_mixer_controls = + SOC_SINGLE_EXT("Switch", SND_SOC_NOPM, + 0, 1, 0, msm_routing_get_pri_mi2s_switch_mixer, + msm_routing_put_pri_mi2s_switch_mixer); + +static const struct snd_kcontrol_new sec_mi2s_rx_switch_mixer_controls = + SOC_SINGLE_EXT("Switch", SND_SOC_NOPM, + 0, 1, 0, msm_routing_get_sec_mi2s_switch_mixer, + msm_routing_put_sec_mi2s_switch_mixer); + +static const struct snd_kcontrol_new tert_mi2s_rx_switch_mixer_controls = + SOC_SINGLE_EXT("Switch", SND_SOC_NOPM, + 0, 1, 0, msm_routing_get_tert_mi2s_switch_mixer, + msm_routing_put_tert_mi2s_switch_mixer); + +static const struct snd_kcontrol_new quat_mi2s_rx_switch_mixer_controls = + SOC_SINGLE_EXT("Switch", SND_SOC_NOPM, + 0, 1, 0, msm_routing_get_quat_mi2s_switch_mixer, + msm_routing_put_quat_mi2s_switch_mixer); + +static const struct snd_kcontrol_new quin_mi2s_rx_switch_mixer_controls = + SOC_SINGLE_EXT("Switch", SND_SOC_NOPM, + 0, 1, 0, msm_routing_get_quin_mi2s_switch_mixer, + msm_routing_put_quin_mi2s_switch_mixer); + +static const struct snd_kcontrol_new sen_mi2s_rx_switch_mixer_controls = + SOC_SINGLE_EXT("Switch", SND_SOC_NOPM, + 0, 1, 0, msm_routing_get_sen_mi2s_switch_mixer, + msm_routing_put_sen_mi2s_switch_mixer); +#endif + static const struct snd_kcontrol_new hdmi_mixer_controls[] = { SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM, MSM_BACKEND_DAI_HDMI_RX, @@ -9509,6 +9974,7 @@ static const struct snd_kcontrol_new afe_pcm_rx_mixer_controls[] = { msm_routing_put_audio_mixer), }; +#ifndef CONFIG_AUXPCM_DISABLE static const struct snd_kcontrol_new auxpcm_rx_mixer_controls[] = { SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM, MSM_BACKEND_DAI_AUXPCM_RX, @@ -9990,7 +10456,9 @@ static const struct snd_kcontrol_new sen_auxpcm_rx_mixer_controls[] = { MSM_FRONTEND_DAI_MULTIMEDIA26, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), }; +#endif +#ifndef CONFIG_TDM_DISABLE static const struct snd_kcontrol_new pri_tdm_rx_0_mixer_controls[] = { SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_TDM_RX_0, @@ -13242,7 +13710,3250 @@ static const struct snd_kcontrol_new sen_tdm_rx_3_mixer_controls[] = { 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, + MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), +}; + +static const struct snd_kcontrol_new quin_tdm_rx_2_voice_mixer_controls[] = { + SOC_DOUBLE_EXT("VoiceMMode1", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_2, + MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), +}; + +static const struct snd_kcontrol_new pri_tdm_rx_0_voice_mixer_controls[] = { + SOC_DOUBLE_EXT("Voip", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_0, + MSM_FRONTEND_DAI_VOIP, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("Voice Stub", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_0, + MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, + msm_routing_put_voice_stub_mixer), + SOC_DOUBLE_EXT("Voice2 Stub", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_0, + MSM_FRONTEND_DAI_VOICE2_STUB, 1, 0, msm_routing_get_voice_stub_mixer, + msm_routing_put_voice_stub_mixer), + SOC_DOUBLE_EXT("VoLTE Stub", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_0, + MSM_FRONTEND_DAI_VOLTE_STUB, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("DTMF", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_0, + MSM_FRONTEND_DAI_DTMF_RX, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("QCHAT", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_0, + MSM_FRONTEND_DAI_QCHAT, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("VoiceMMode1", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_0, + MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("VoiceMMode2", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_0, + MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), +}; + +static const struct snd_kcontrol_new pri_tdm_rx_1_voice_mixer_controls[] = { + SOC_DOUBLE_EXT("Voip", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_1, + MSM_FRONTEND_DAI_VOIP, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("Voice Stub", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_1, + MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, + msm_routing_put_voice_stub_mixer), + SOC_DOUBLE_EXT("Voice2 Stub", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_1, + MSM_FRONTEND_DAI_VOICE2_STUB, 1, 0, msm_routing_get_voice_stub_mixer, + msm_routing_put_voice_stub_mixer), + SOC_DOUBLE_EXT("VoLTE Stub", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_1, + MSM_FRONTEND_DAI_VOLTE_STUB, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("DTMF", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_1, + MSM_FRONTEND_DAI_DTMF_RX, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("QCHAT", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_1, + MSM_FRONTEND_DAI_QCHAT, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("VoiceMMode1", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_1, + MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("VoiceMMode2", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_1, + MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), +}; + +static const struct snd_kcontrol_new pri_tdm_rx_2_voice_mixer_controls[] = { + SOC_DOUBLE_EXT("Voip", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_2, + MSM_FRONTEND_DAI_VOIP, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("Voice Stub", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_2, + MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, + msm_routing_put_voice_stub_mixer), + SOC_DOUBLE_EXT("Voice2 Stub", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_2, + MSM_FRONTEND_DAI_VOICE2_STUB, 1, 0, msm_routing_get_voice_stub_mixer, + msm_routing_put_voice_stub_mixer), + SOC_DOUBLE_EXT("VoLTE Stub", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_2, + MSM_FRONTEND_DAI_VOLTE_STUB, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("DTMF", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_2, + MSM_FRONTEND_DAI_DTMF_RX, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("QCHAT", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_2, + MSM_FRONTEND_DAI_QCHAT, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("VoiceMMode1", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_2, + MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("VoiceMMode2", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_2, + MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), +}; + +static const struct snd_kcontrol_new pri_tdm_rx_3_voice_mixer_controls[] = { + SOC_DOUBLE_EXT("Voip", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_3, + MSM_FRONTEND_DAI_VOIP, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("Voice Stub", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_3, + MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, + msm_routing_put_voice_stub_mixer), + SOC_DOUBLE_EXT("Voice2 Stub", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_3, + MSM_FRONTEND_DAI_VOICE2_STUB, 1, 0, msm_routing_get_voice_stub_mixer, + msm_routing_put_voice_stub_mixer), + SOC_DOUBLE_EXT("VoLTE Stub", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_3, + MSM_FRONTEND_DAI_VOLTE_STUB, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("DTMF", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_3, + MSM_FRONTEND_DAI_DTMF_RX, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("QCHAT", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_3, + MSM_FRONTEND_DAI_QCHAT, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("VoiceMMode1", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_3, + MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), + SOC_DOUBLE_EXT("VoiceMMode2", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_3, + MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, + msm_routing_put_voice_mixer), +}; + +static const struct snd_kcontrol_new pri_tdm_rx_0_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_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_PRI_TDM_RX_0, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_0, + MSM_BACKEND_DAI_QUATERNARY_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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("PRI_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_0, + MSM_BACKEND_DAI_PRI_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("PRI_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_0, + MSM_BACKEND_DAI_PRI_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("PRI_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_0, + MSM_BACKEND_DAI_PRI_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("PRI_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_0, + MSM_BACKEND_DAI_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new pri_tdm_rx_1_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_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_PRI_TDM_RX_1, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_1, + MSM_BACKEND_DAI_QUATERNARY_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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("PRI_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_1, + MSM_BACKEND_DAI_PRI_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("PRI_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_1, + MSM_BACKEND_DAI_PRI_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("PRI_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_1, + MSM_BACKEND_DAI_PRI_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("PRI_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_1, + MSM_BACKEND_DAI_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new pri_tdm_rx_2_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_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_PRI_TDM_RX_2, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_2, + MSM_BACKEND_DAI_QUATERNARY_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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("PRI_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_2, + MSM_BACKEND_DAI_PRI_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("PRI_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_2, + MSM_BACKEND_DAI_PRI_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("PRI_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_2, + MSM_BACKEND_DAI_PRI_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("PRI_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_2, + MSM_BACKEND_DAI_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new pri_tdm_rx_3_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_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_PRI_TDM_RX_3, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_3, + MSM_BACKEND_DAI_QUATERNARY_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_PRI_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_PRI_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_PRI_TDM_RX_3, + MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_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_PRI_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("PRI_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_3, + MSM_BACKEND_DAI_PRI_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("PRI_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_3, + MSM_BACKEND_DAI_PRI_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("PRI_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_3, + MSM_BACKEND_DAI_PRI_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("PRI_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_3, + MSM_BACKEND_DAI_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new sec_tdm_rx_0_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_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_SEC_TDM_RX_0, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_0, + MSM_BACKEND_DAI_QUATERNARY_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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("SEC_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_0, + MSM_BACKEND_DAI_SEC_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_0, + MSM_BACKEND_DAI_SEC_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_0, + MSM_BACKEND_DAI_SEC_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_0, + MSM_BACKEND_DAI_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new sec_tdm_rx_1_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_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_SEC_TDM_RX_1, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_1, + MSM_BACKEND_DAI_QUATERNARY_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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("SEC_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_1, + MSM_BACKEND_DAI_SEC_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_1, + MSM_BACKEND_DAI_SEC_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_1, + MSM_BACKEND_DAI_SEC_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_1, + MSM_BACKEND_DAI_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new sec_tdm_rx_2_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_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_SEC_TDM_RX_2, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_2, + MSM_BACKEND_DAI_QUATERNARY_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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("SEC_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_2, + MSM_BACKEND_DAI_SEC_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_2, + MSM_BACKEND_DAI_SEC_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_2, + MSM_BACKEND_DAI_SEC_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_2, + MSM_BACKEND_DAI_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new sec_tdm_rx_3_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_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_SEC_TDM_RX_3, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_3, + MSM_BACKEND_DAI_QUATERNARY_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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("SEC_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_3, + MSM_BACKEND_DAI_SEC_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_3, + MSM_BACKEND_DAI_SEC_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_3, + MSM_BACKEND_DAI_SEC_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEC_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_3, + MSM_BACKEND_DAI_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new sec_tdm_rx_7_port_mixer_controls[] = { + SOC_DOUBLE_EXT("TERT_TDM_TX_7", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEC_TDM_RX_7, + MSM_BACKEND_DAI_TERT_TDM_TX_7, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new tert_tdm_rx_0_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_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_TERT_TDM_RX_0, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_0, + MSM_BACKEND_DAI_QUATERNARY_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new tert_tdm_rx_1_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_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_TERT_TDM_RX_1, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_1, + MSM_BACKEND_DAI_QUATERNARY_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new tert_tdm_rx_2_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_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_TERT_TDM_RX_2, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_2, + MSM_BACKEND_DAI_QUATERNARY_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new tert_tdm_rx_3_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_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_TERT_TDM_RX_3, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_3, + MSM_BACKEND_DAI_QUATERNARY_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERT_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new quat_tdm_rx_0_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_TDM_RX_0, + MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new quat_tdm_rx_1_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new quat_tdm_rx_2_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new quat_tdm_rx_3_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new quat_tdm_rx_7_port_mixer_controls[] = { + SOC_DOUBLE_EXT("QUAT_TDM_TX_7", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_TDM_RX_7, + MSM_BACKEND_DAI_QUAT_TDM_TX_7, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_7", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUAT_TDM_RX_7, + MSM_BACKEND_DAI_QUIN_TDM_TX_7, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new quin_tdm_rx_0_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new quin_tdm_rx_1_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new quin_tdm_rx_2_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new quin_tdm_rx_3_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new sen_tdm_rx_0_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_TDM_RX_0, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new sen_tdm_rx_1_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_TDM_RX_1, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new sen_tdm_rx_2_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_TDM_RX_2, + MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; + +static const struct snd_kcontrol_new sen_tdm_rx_3_port_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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("SEN_TDM_TX_0", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_TDM_RX_3, + MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, + MSM_BACKEND_DAI_SEN_TDM_RX_3, + MSM_BACKEND_DAI_SEN_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, + MSM_BACKEND_DAI_TERT_TDM_TX_7, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUAT_TDM_TX_7", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_7, + MSM_BACKEND_DAI_QUAT_TDM_TX_7, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), + SOC_DOUBLE_EXT("QUIN_TDM_TX_7", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUIN_TDM_RX_7, + MSM_BACKEND_DAI_QUIN_TDM_TX_7, 1, 0, + msm_routing_get_port_mixer, + msm_routing_put_port_mixer), +}; +#endif + static const struct snd_kcontrol_new mmul1_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("PRI_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_I2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, @@ -13275,6 +16986,7 @@ static const struct snd_kcontrol_new mmul1_mixer_controls[] = { MSM_BACKEND_DAI_SECONDARY_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_SLIMBUS_0_TX, MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, @@ -13343,6 +17055,7 @@ static const struct snd_kcontrol_new mmul1_mixer_controls[] = { MSM_BACKEND_DAI_SENARY_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, @@ -13439,6 +17152,7 @@ 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), +#endif SOC_DOUBLE_EXT("SLIM_7_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_SLIMBUS_7_TX, MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, @@ -13522,6 +17236,7 @@ static const struct snd_kcontrol_new mmul2_mixer_controls[] = { MSM_BACKEND_DAI_INT_FM_TX, MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, @@ -13550,6 +17265,15 @@ static const struct snd_kcontrol_new mmul2_mixer_controls[] = { MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("QUIN_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUINARY_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SENARY_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SENARY_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), +#endif SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_SLIMBUS_0_TX, MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, @@ -13562,14 +17286,7 @@ static const struct snd_kcontrol_new mmul2_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_1_TX, MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("QUIN_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUINARY_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("SENARY_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SENARY_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, @@ -13666,6 +17383,7 @@ 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), +#endif SOC_DOUBLE_EXT("SLIM_8_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_SLIMBUS_8_TX, MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, @@ -13738,10 +17456,12 @@ static const struct snd_kcontrol_new mmul2_mixer_controls[] = { MSM_BACKEND_DAI_AFE_LOOPBACK_TX, MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_AUXPCM_DISABLE SOC_DOUBLE_EXT("SEC_AUX_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_SEC_AUXPCM_TX, MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif }; static const struct snd_kcontrol_new mmul3_mixer_controls[] = { @@ -13757,10 +17477,6 @@ static const struct snd_kcontrol_new mmul3_mixer_controls[] = { MSM_BACKEND_DAI_INT_FM_TX, MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, @@ -13769,6 +17485,7 @@ static const struct snd_kcontrol_new mmul3_mixer_controls[] = { MSM_BACKEND_DAI_INT_BT_SCO_TX, MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_AUXPCM_DISABLE SOC_DOUBLE_EXT("AUX_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AUXPCM_TX, MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, @@ -13793,6 +17510,12 @@ static const struct snd_kcontrol_new mmul3_mixer_controls[] = { MSM_BACKEND_DAI_SEN_AUXPCM_TX, MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, @@ -13809,6 +17532,8 @@ static const struct snd_kcontrol_new mmul3_mixer_controls[] = { MSM_BACKEND_DAI_INT3_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, @@ -13905,6 +17630,7 @@ 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), +#endif SOC_DOUBLE_EXT("WSA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_WSA_CDC_DMA_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, @@ -13976,10 +17702,6 @@ static const struct snd_kcontrol_new mmul4_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_1_TX, MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_INT_FM_TX, MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, @@ -14000,6 +17722,7 @@ static const struct snd_kcontrol_new mmul4_mixer_controls[] = { MSM_BACKEND_DAI_INCALL_RECORD_TX, MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_TERT_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, @@ -14096,6 +17819,12 @@ 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), +#endif +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_PRI_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_SECONDARY_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, @@ -14116,6 +17845,7 @@ static const struct snd_kcontrol_new mmul4_mixer_controls[] = { MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif SOC_DOUBLE_EXT("USB_AUDIO_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_USB_TX, MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, @@ -14195,10 +17925,6 @@ static const struct snd_kcontrol_new mmul5_mixer_controls[] = { MSM_BACKEND_DAI_INT_FM_TX, MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, @@ -14207,6 +17933,7 @@ static const struct snd_kcontrol_new mmul5_mixer_controls[] = { MSM_BACKEND_DAI_INT_BT_SCO_TX, MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_AUXPCM_DISABLE SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AUXPCM_TX, MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, @@ -14231,6 +17958,12 @@ static const struct snd_kcontrol_new mmul5_mixer_controls[] = { MSM_BACKEND_DAI_SEN_AUXPCM_TX, MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif +#ifndef CONFIG_MI2S_DISABLE + SOC_DOUBLE_EXT("MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, @@ -14239,6 +17972,10 @@ static const struct snd_kcontrol_new mmul5_mixer_controls[] = { MSM_BACKEND_DAI_TERTIARY_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), SOC_DOUBLE_EXT("INT2_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_INT2_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, @@ -14247,6 +17984,8 @@ static const struct snd_kcontrol_new mmul5_mixer_controls[] = { MSM_BACKEND_DAI_INT3_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, @@ -14347,10 +18086,7 @@ 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("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, - 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, MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, @@ -14442,6 +18178,7 @@ static const struct snd_kcontrol_new mmul6_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_1_TX, MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer, @@ -14474,6 +18211,8 @@ static const struct snd_kcontrol_new mmul6_mixer_controls[] = { MSM_BACKEND_DAI_SENARY_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif +#ifndef CONFIG_AUXPCM_DISABLE SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AUXPCM_TX, MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer, @@ -14490,6 +18229,8 @@ static const struct snd_kcontrol_new mmul6_mixer_controls[] = { MSM_BACKEND_DAI_QUAT_AUXPCM_TX, MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer, @@ -14586,6 +18327,7 @@ static const struct snd_kcontrol_new mmul6_mixer_controls[] = { MSM_BACKEND_DAI_SEN_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif SOC_DOUBLE_EXT("USB_AUDIO_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_USB_TX, MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer, @@ -14661,6 +18403,7 @@ static const struct snd_kcontrol_new mmul8_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_1_TX, MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, @@ -14685,6 +18428,7 @@ static const struct snd_kcontrol_new mmul8_mixer_controls[] = { MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_INT_FM_TX, MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, @@ -14709,6 +18453,7 @@ static const struct snd_kcontrol_new mmul8_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_6_TX, MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, @@ -14805,6 +18550,7 @@ 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), +#endif SOC_DOUBLE_EXT("SLIM_7_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_SLIMBUS_7_TX, MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, @@ -14888,6 +18634,7 @@ static const struct snd_kcontrol_new mmul16_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_1_TX, MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, @@ -14912,6 +18659,11 @@ static const struct snd_kcontrol_new mmul16_mixer_controls[] = { MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), +#endif SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_INT_FM_TX, MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, @@ -14940,6 +18692,7 @@ static const struct snd_kcontrol_new mmul16_mixer_controls[] = { MSM_BACKEND_DAI_PRI_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("PRI_TDM_TX_1", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_TDM_TX_1, MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, @@ -15000,6 +18753,7 @@ static const struct snd_kcontrol_new mmul16_mixer_controls[] = { MSM_BACKEND_DAI_QUAT_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA16, 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, MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, @@ -15008,10 +18762,6 @@ static const struct snd_kcontrol_new mmul16_mixer_controls[] = { MSM_BACKEND_DAI_USB_TX, MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), SOC_DOUBLE_EXT("AUX_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AUXPCM_TX, MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, @@ -15105,10 +18855,12 @@ static const struct snd_kcontrol_new mmul9_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_1_TX, MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_INT_FM_TX, MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, @@ -15133,6 +18885,7 @@ static const struct snd_kcontrol_new mmul9_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_6_TX, MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_TERT_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, @@ -15197,6 +18950,7 @@ 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), +#endif SOC_DOUBLE_EXT("WSA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_WSA_CDC_DMA_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, @@ -15268,10 +19022,28 @@ static const struct snd_kcontrol_new mmul10_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_1_TX, MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("INT2_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT2_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("INT3_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_INT3_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), +#endif SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_INT_FM_TX, MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, @@ -15300,6 +19072,7 @@ static const struct snd_kcontrol_new mmul10_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_7_TX, MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_TERT_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, @@ -15332,14 +19105,12 @@ static const struct snd_kcontrol_new mmul10_mixer_controls[] = { MSM_BACKEND_DAI_QUAT_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif SOC_DOUBLE_EXT("USB_AUDIO_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_USB_TX, MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), +#ifndef CONFIG_AUXPCM_DISABLE SOC_DOUBLE_EXT("AUX_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AUXPCM_TX, MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, @@ -15356,18 +19127,7 @@ static const struct snd_kcontrol_new mmul10_mixer_controls[] = { MSM_BACKEND_DAI_QUAT_AUXPCM_TX, MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("INT2_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT2_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("INT3_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT3_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA10, 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, MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, @@ -15448,6 +19208,7 @@ static const struct snd_kcontrol_new mmul17_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_1_TX, MSM_FRONTEND_DAI_MULTIMEDIA17, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA17, 1, 0, msm_routing_get_audio_mixer, @@ -15456,6 +19217,15 @@ static const struct snd_kcontrol_new mmul17_mixer_controls[] = { MSM_BACKEND_DAI_INT3_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA17, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA17, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA17, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), +#endif SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_INT_FM_TX, MSM_FRONTEND_DAI_MULTIMEDIA17, 1, 0, msm_routing_get_audio_mixer, @@ -15476,14 +19246,6 @@ static const struct snd_kcontrol_new mmul17_mixer_controls[] = { MSM_BACKEND_DAI_INCALL_RECORD_TX, MSM_FRONTEND_DAI_MULTIMEDIA17, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA17, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA17, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), SOC_DOUBLE_EXT("WSA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_WSA_CDC_DMA_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA17, 1, 0, msm_routing_get_audio_mixer, @@ -15569,6 +19331,7 @@ static const struct snd_kcontrol_new mmul18_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_1_TX, MSM_FRONTEND_DAI_MULTIMEDIA18, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA18, 1, 0, msm_routing_get_audio_mixer, @@ -15589,6 +19352,7 @@ static const struct snd_kcontrol_new mmul18_mixer_controls[] = { MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA18, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_INT_FM_TX, MSM_FRONTEND_DAI_MULTIMEDIA18, 1, 0, msm_routing_get_audio_mixer, @@ -15686,6 +19450,7 @@ static const struct snd_kcontrol_new mmul19_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_1_TX, MSM_FRONTEND_DAI_MULTIMEDIA19, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA19, 1, 0, msm_routing_get_audio_mixer, @@ -15694,6 +19459,19 @@ static const struct snd_kcontrol_new mmul19_mixer_controls[] = { MSM_BACKEND_DAI_INT3_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA19, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA19, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA19, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA19, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), +#endif SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_INT_FM_TX, MSM_FRONTEND_DAI_MULTIMEDIA19, 1, 0, msm_routing_get_audio_mixer, @@ -15714,18 +19492,6 @@ static const struct snd_kcontrol_new mmul19_mixer_controls[] = { MSM_BACKEND_DAI_INCALL_RECORD_TX, MSM_FRONTEND_DAI_MULTIMEDIA19, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA19, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA19, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA19, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), SOC_DOUBLE_EXT("WSA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_WSA_CDC_DMA_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA19, 1, 0, msm_routing_get_audio_mixer, @@ -15795,6 +19561,7 @@ static const struct snd_kcontrol_new mmul19_mixer_controls[] = { }; static const struct snd_kcontrol_new mmul20_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, @@ -15819,6 +19586,8 @@ static const struct snd_kcontrol_new mmul20_mixer_controls[] = { MSM_BACKEND_DAI_SENARY_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, @@ -15915,6 +19684,7 @@ 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), +#endif SOC_DOUBLE_EXT("WSA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_WSA_CDC_DMA_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA20, 1, 0, msm_routing_get_audio_mixer, @@ -15978,6 +19748,7 @@ static const struct snd_kcontrol_new mmul20_mixer_controls[] = { }; static const struct snd_kcontrol_new mmul21_mixer_controls[] = { +#ifndef CONFIG_AUXPCM_DISABLE SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AUXPCM_TX, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, @@ -15986,6 +19757,8 @@ static const struct snd_kcontrol_new mmul21_mixer_controls[] = { MSM_BACKEND_DAI_SEC_AUXPCM_TX, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, @@ -16082,6 +19855,7 @@ 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), +#endif SOC_DOUBLE_EXT("WSA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_WSA_CDC_DMA_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA21, 1, 0, msm_routing_get_audio_mixer, @@ -16145,6 +19919,7 @@ static const struct snd_kcontrol_new mmul21_mixer_controls[] = { }; static const struct snd_kcontrol_new mmul22_mixer_controls[] = { +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer, @@ -16225,9 +20000,11 @@ static const struct snd_kcontrol_new mmul22_mixer_controls[] = { MSM_BACKEND_DAI_QUIN_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA22, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif }; static const struct snd_kcontrol_new mmul23_mixer_controls[] = { +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer, @@ -16308,9 +20085,11 @@ static const struct snd_kcontrol_new mmul23_mixer_controls[] = { MSM_BACKEND_DAI_QUIN_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA23, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif }; static const struct snd_kcontrol_new mmul24_mixer_controls[] = { +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer, @@ -16391,9 +20170,11 @@ static const struct snd_kcontrol_new mmul24_mixer_controls[] = { MSM_BACKEND_DAI_QUIN_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA24, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif }; static const struct snd_kcontrol_new mmul25_mixer_controls[] = { +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer, @@ -16474,6 +20255,7 @@ static const struct snd_kcontrol_new mmul25_mixer_controls[] = { MSM_BACKEND_DAI_QUIN_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA25, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif }; static const struct snd_kcontrol_new mmul27_mixer_controls[] = { @@ -16493,6 +20275,7 @@ static const struct snd_kcontrol_new mmul27_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_7_TX, MSM_FRONTEND_DAI_MULTIMEDIA27, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA27, 1, 0, msm_routing_get_audio_mixer, @@ -16517,6 +20300,7 @@ static const struct snd_kcontrol_new mmul27_mixer_controls[] = { MSM_BACKEND_DAI_SENARY_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA27, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif SOC_DOUBLE_EXT("PRI_SPDIF_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_SPDIF_TX, MSM_FRONTEND_DAI_MULTIMEDIA27, 1, 0, msm_routing_get_audio_mixer, @@ -16544,6 +20328,7 @@ static const struct snd_kcontrol_new mmul28_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_1_TX, MSM_FRONTEND_DAI_MULTIMEDIA28, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA28, 1, 0, msm_routing_get_audio_mixer, @@ -16552,6 +20337,19 @@ static const struct snd_kcontrol_new mmul28_mixer_controls[] = { MSM_BACKEND_DAI_INT3_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA28, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA28, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA28, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA28, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), +#endif SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_INT_FM_TX, MSM_FRONTEND_DAI_MULTIMEDIA28, 1, 0, msm_routing_get_audio_mixer, @@ -16572,18 +20370,6 @@ static const struct snd_kcontrol_new mmul28_mixer_controls[] = { MSM_BACKEND_DAI_INCALL_RECORD_TX, MSM_FRONTEND_DAI_MULTIMEDIA28, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA28, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA28, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA28, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), SOC_DOUBLE_EXT("WSA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_WSA_CDC_DMA_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA28, 1, 0, msm_routing_get_audio_mixer, @@ -16661,6 +20447,7 @@ static const struct snd_kcontrol_new mmul29_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_1_TX, MSM_FRONTEND_DAI_MULTIMEDIA29, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA29, 1, 0, msm_routing_get_audio_mixer, @@ -16669,6 +20456,19 @@ static const struct snd_kcontrol_new mmul29_mixer_controls[] = { MSM_BACKEND_DAI_INT3_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA29, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA29, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA29, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA29, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), +#endif SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_INT_FM_TX, MSM_FRONTEND_DAI_MULTIMEDIA29, 1, 0, msm_routing_get_audio_mixer, @@ -16689,18 +20489,6 @@ static const struct snd_kcontrol_new mmul29_mixer_controls[] = { MSM_BACKEND_DAI_INCALL_RECORD_TX, MSM_FRONTEND_DAI_MULTIMEDIA29, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA29, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA29, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA29, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), SOC_DOUBLE_EXT("WSA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_WSA_CDC_DMA_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA29, 1, 0, msm_routing_get_audio_mixer, @@ -16778,6 +20566,7 @@ static const struct snd_kcontrol_new mmul30_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_1_TX, MSM_FRONTEND_DAI_MULTIMEDIA30, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA30, 1, 0, msm_routing_get_audio_mixer, @@ -16786,6 +20575,19 @@ static const struct snd_kcontrol_new mmul30_mixer_controls[] = { MSM_BACKEND_DAI_INT3_MI2S_TX, MSM_FRONTEND_DAI_MULTIMEDIA30, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_SECONDARY_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA30, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_TERTIARY_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA30, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), + SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, + MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, + MSM_FRONTEND_DAI_MULTIMEDIA30, 1, 0, msm_routing_get_audio_mixer, + msm_routing_put_audio_mixer), +#endif SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_INT_FM_TX, MSM_FRONTEND_DAI_MULTIMEDIA30, 1, 0, msm_routing_get_audio_mixer, @@ -16806,18 +20608,6 @@ static const struct snd_kcontrol_new mmul30_mixer_controls[] = { MSM_BACKEND_DAI_INCALL_RECORD_TX, MSM_FRONTEND_DAI_MULTIMEDIA30, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA30, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA30, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, - MSM_FRONTEND_DAI_MULTIMEDIA30, 1, 0, msm_routing_get_audio_mixer, - msm_routing_put_audio_mixer), SOC_DOUBLE_EXT("WSA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_WSA_CDC_DMA_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA30, 1, 0, msm_routing_get_audio_mixer, @@ -16883,6 +20673,7 @@ static const struct snd_kcontrol_new mmul30_mixer_controls[] = { }; static const struct snd_kcontrol_new mmul31_mixer_controls[] = { +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA31, 1, 0, msm_routing_get_audio_mixer, @@ -16963,9 +20754,11 @@ static const struct snd_kcontrol_new mmul31_mixer_controls[] = { MSM_BACKEND_DAI_QUIN_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA31, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif }; static const struct snd_kcontrol_new mmul32_mixer_controls[] = { +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA32, 1, 0, msm_routing_get_audio_mixer, @@ -17046,9 +20839,11 @@ static const struct snd_kcontrol_new mmul32_mixer_controls[] = { MSM_BACKEND_DAI_QUIN_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA32, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif }; static const struct snd_kcontrol_new mmul33_mixer_controls[] = { +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA33, 1, 0, msm_routing_get_audio_mixer, @@ -17129,9 +20924,11 @@ static const struct snd_kcontrol_new mmul33_mixer_controls[] = { MSM_BACKEND_DAI_QUIN_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA33, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), +#endif }; static const struct snd_kcontrol_new mmul34_mixer_controls[] = { +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_TDM_TX_0, MSM_FRONTEND_DAI_MULTIMEDIA34, 1, 0, msm_routing_get_audio_mixer, @@ -17212,75 +21009,7 @@ static const struct snd_kcontrol_new mmul34_mixer_controls[] = { MSM_BACKEND_DAI_QUIN_TDM_TX_3, MSM_FRONTEND_DAI_MULTIMEDIA34, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), -}; - -static const struct snd_kcontrol_new pri_rx_voice_mixer_controls[] = { - SOC_DOUBLE_EXT("Voip", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_I2S_RX, - MSM_FRONTEND_DAI_VOIP, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("VoiceMMode1", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_I2S_RX, - MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("VoiceMMode2", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_I2S_RX, - MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("DTMF", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_I2S_RX, - MSM_FRONTEND_DAI_DTMF_RX, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("QCHAT", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_I2S_RX, - MSM_FRONTEND_DAI_QCHAT, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), -}; - -static const struct snd_kcontrol_new sec_i2s_rx_voice_mixer_controls[] = { - SOC_DOUBLE_EXT("Voip", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_I2S_RX, - MSM_FRONTEND_DAI_VOIP, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("DTMF", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_I2S_RX, - MSM_FRONTEND_DAI_DTMF_RX, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("QCHAT", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_I2S_RX, - MSM_FRONTEND_DAI_QCHAT, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), -}; - -static const struct snd_kcontrol_new sec_mi2s_rx_voice_mixer_controls[] = { - SOC_DOUBLE_EXT("Voip", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_RX, - MSM_FRONTEND_DAI_VOIP, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("Voice Stub", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_RX, - MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("Voice2 Stub", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_RX, - MSM_FRONTEND_DAI_VOICE2_STUB, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("DTMF", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_RX, - MSM_FRONTEND_DAI_DTMF_RX, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("QCHAT", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_RX, - MSM_FRONTEND_DAI_QCHAT, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("VoiceMMode1", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_RX, - MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("VoiceMMode2", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_RX, - MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), +#endif }; static const struct snd_kcontrol_new slimbus_rx_voice_mixer_controls[] = { @@ -17421,6 +21150,7 @@ static const struct snd_kcontrol_new bt_sco_rx_voice_mixer_controls[] = { msm_routing_put_voice_mixer), }; + static const struct snd_kcontrol_new mi2s_rx_voice_mixer_controls[] = { SOC_DOUBLE_EXT("Voip", SND_SOC_NOPM, MSM_BACKEND_DAI_MI2S_RX, @@ -17452,6 +21182,8 @@ static const struct snd_kcontrol_new mi2s_rx_voice_mixer_controls[] = { msm_routing_put_voice_mixer), }; +#ifndef CONFIG_MI2S_DISABLE + static const struct snd_kcontrol_new pri_mi2s_rx_voice_mixer_controls[] = { SOC_DOUBLE_EXT("Voip", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_RX, @@ -17644,7 +21376,7 @@ static const struct snd_kcontrol_new sen_mi2s_rx_voice_mixer_controls[] = { MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, msm_routing_put_voice_mixer), }; - +#endif static const struct snd_kcontrol_new afe_pcm_rx_voice_mixer_controls[] = { SOC_DOUBLE_EXT("Voip", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_RX, @@ -17872,20 +21604,6 @@ static const struct snd_kcontrol_new slimbus_8_rx_voice_mixer_controls[] = { msm_routing_put_voice_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, - MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), -}; - -static const struct snd_kcontrol_new quin_tdm_rx_2_voice_mixer_controls[] = { - SOC_DOUBLE_EXT("VoiceMMode1", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_2, - MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), -}; - static const struct snd_kcontrol_new wsa_cdc_dma_rx_0_voice_mixer_controls[] = { SOC_DOUBLE_EXT("Voip", SND_SOC_NOPM, MSM_BACKEND_DAI_WSA_CDC_DMA_RX_0, @@ -18116,146 +21834,6 @@ static const struct snd_kcontrol_new rx_cdc_dma_rx_7_voice_mixer_controls[] = { msm_routing_put_voice_mixer), }; -static const struct snd_kcontrol_new pri_tdm_rx_0_voice_mixer_controls[] = { - SOC_DOUBLE_EXT("Voip", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_0, - MSM_FRONTEND_DAI_VOIP, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("Voice Stub", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_0, - MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, - msm_routing_put_voice_stub_mixer), - SOC_DOUBLE_EXT("Voice2 Stub", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_0, - MSM_FRONTEND_DAI_VOICE2_STUB, 1, 0, msm_routing_get_voice_stub_mixer, - msm_routing_put_voice_stub_mixer), - SOC_DOUBLE_EXT("VoLTE Stub", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_0, - MSM_FRONTEND_DAI_VOLTE_STUB, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("DTMF", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_0, - MSM_FRONTEND_DAI_DTMF_RX, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("QCHAT", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_0, - MSM_FRONTEND_DAI_QCHAT, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("VoiceMMode1", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_0, - MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("VoiceMMode2", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_0, - MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), -}; - -static const struct snd_kcontrol_new pri_tdm_rx_1_voice_mixer_controls[] = { - SOC_DOUBLE_EXT("Voip", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_1, - MSM_FRONTEND_DAI_VOIP, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("Voice Stub", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_1, - MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, - msm_routing_put_voice_stub_mixer), - SOC_DOUBLE_EXT("Voice2 Stub", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_1, - MSM_FRONTEND_DAI_VOICE2_STUB, 1, 0, msm_routing_get_voice_stub_mixer, - msm_routing_put_voice_stub_mixer), - SOC_DOUBLE_EXT("VoLTE Stub", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_1, - MSM_FRONTEND_DAI_VOLTE_STUB, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("DTMF", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_1, - MSM_FRONTEND_DAI_DTMF_RX, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("QCHAT", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_1, - MSM_FRONTEND_DAI_QCHAT, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("VoiceMMode1", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_1, - MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("VoiceMMode2", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_1, - MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), -}; - -static const struct snd_kcontrol_new pri_tdm_rx_2_voice_mixer_controls[] = { - SOC_DOUBLE_EXT("Voip", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_2, - MSM_FRONTEND_DAI_VOIP, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("Voice Stub", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_2, - MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, - msm_routing_put_voice_stub_mixer), - SOC_DOUBLE_EXT("Voice2 Stub", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_2, - MSM_FRONTEND_DAI_VOICE2_STUB, 1, 0, msm_routing_get_voice_stub_mixer, - msm_routing_put_voice_stub_mixer), - SOC_DOUBLE_EXT("VoLTE Stub", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_2, - MSM_FRONTEND_DAI_VOLTE_STUB, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("DTMF", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_2, - MSM_FRONTEND_DAI_DTMF_RX, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("QCHAT", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_2, - MSM_FRONTEND_DAI_QCHAT, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("VoiceMMode1", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_2, - MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("VoiceMMode2", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_2, - MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), -}; - -static const struct snd_kcontrol_new pri_tdm_rx_3_voice_mixer_controls[] = { - SOC_DOUBLE_EXT("Voip", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_3, - MSM_FRONTEND_DAI_VOIP, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("Voice Stub", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_3, - MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, - msm_routing_put_voice_stub_mixer), - SOC_DOUBLE_EXT("Voice2 Stub", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_3, - MSM_FRONTEND_DAI_VOICE2_STUB, 1, 0, msm_routing_get_voice_stub_mixer, - msm_routing_put_voice_stub_mixer), - SOC_DOUBLE_EXT("VoLTE Stub", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_3, - MSM_FRONTEND_DAI_VOLTE_STUB, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("DTMF", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_3, - MSM_FRONTEND_DAI_DTMF_RX, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("QCHAT", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_3, - MSM_FRONTEND_DAI_QCHAT, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("VoiceMMode1", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_3, - MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), - SOC_DOUBLE_EXT("VoiceMMode2", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_3, - MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, - msm_routing_put_voice_mixer), -}; - static const struct snd_kcontrol_new stub_rx_mixer_controls[] = { SOC_DOUBLE_EXT("VoiceMMode1", SND_SOC_NOPM, MSM_BACKEND_DAI_EXTPROC_RX, @@ -18318,6 +21896,7 @@ static const struct snd_kcontrol_new tx_voicemmode1_mixer_controls[] = { SOC_DOUBLE_EXT("AFE_PCM_TX_MMode1", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, msm_routing_put_voice_mixer), +#ifndef CONFIG_AUXPCM_DISABLE SOC_DOUBLE_EXT("AUX_PCM_TX_MMode1", SND_SOC_NOPM, MSM_BACKEND_DAI_AUXPCM_TX, MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, msm_routing_put_voice_mixer), @@ -18336,6 +21915,7 @@ static const struct snd_kcontrol_new tx_voicemmode1_mixer_controls[] = { SOC_DOUBLE_EXT("SEN_AUX_PCM_TX_MMode1", SND_SOC_NOPM, MSM_BACKEND_DAI_SEN_AUXPCM_TX, MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, msm_routing_put_voice_mixer), +#endif SOC_DOUBLE_EXT("PRI_MI2S_TX_MMode1", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_TX, MSM_FRONTEND_DAI_VOICEMMODE1, 1, 0, msm_routing_get_voice_mixer, msm_routing_put_voice_mixer), @@ -18420,6 +22000,7 @@ static const struct snd_kcontrol_new tx_voicemmode2_mixer_controls[] = { SOC_DOUBLE_EXT("AFE_PCM_TX_MMode2", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, msm_routing_put_voice_mixer), +#ifndef CONFIG_AUXPCM_DISABLE SOC_DOUBLE_EXT("AUX_PCM_TX_MMode2", SND_SOC_NOPM, MSM_BACKEND_DAI_AUXPCM_TX, MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, msm_routing_put_voice_mixer), @@ -18438,6 +22019,7 @@ static const struct snd_kcontrol_new tx_voicemmode2_mixer_controls[] = { SOC_DOUBLE_EXT("SEN_AUX_PCM_TX_MMode2", SND_SOC_NOPM, MSM_BACKEND_DAI_SEN_AUXPCM_TX, MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, msm_routing_put_voice_mixer), +#endif SOC_DOUBLE_EXT("PRI_MI2S_TX_MMode2", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_TX, MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, msm_routing_put_voice_mixer), @@ -18521,6 +22103,7 @@ static const struct snd_kcontrol_new tx_voip_mixer_controls[] = { MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_VOIP, 1, 0, msm_routing_get_voice_mixer, msm_routing_put_voice_mixer), +#ifndef CONFIG_AUXPCM_DISABLE SOC_DOUBLE_EXT("AUX_PCM_TX_Voip", SND_SOC_NOPM, MSM_BACKEND_DAI_AUXPCM_TX, MSM_FRONTEND_DAI_VOIP, 1, 0, msm_routing_get_voice_mixer, @@ -18545,6 +22128,7 @@ static const struct snd_kcontrol_new tx_voip_mixer_controls[] = { MSM_BACKEND_DAI_SEN_AUXPCM_TX, MSM_FRONTEND_DAI_VOIP, 1, 0, msm_routing_get_voice_mixer, msm_routing_put_voice_mixer), +#endif SOC_DOUBLE_EXT("PRI_MI2S_TX_Voip", SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_TX, MSM_FRONTEND_DAI_VOIP, 1, 0, msm_routing_get_voice_mixer, @@ -18642,6 +22226,7 @@ static const struct snd_kcontrol_new tx_voice_stub_mixer_controls[] = { MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, msm_routing_put_voice_stub_mixer), +#ifndef CONFIG_AUXPCM_DISABLE SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AUXPCM_TX, MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, @@ -18666,6 +22251,7 @@ static const struct snd_kcontrol_new tx_voice_stub_mixer_controls[] = { MSM_BACKEND_DAI_SEN_AUXPCM_TX, MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, msm_routing_put_voice_stub_mixer), +#endif SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_SLIMBUS_0_TX, MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, @@ -18737,6 +22323,7 @@ static const struct snd_kcontrol_new tx_voice2_stub_mixer_controls[] = { MSM_BACKEND_DAI_EXTPROC_EC_TX, MSM_FRONTEND_DAI_VOICE2_STUB, 1, 0, msm_routing_get_voice_stub_mixer, msm_routing_put_voice_stub_mixer), +#ifndef CONFIG_AUXPCM_DISABLE SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AUXPCM_TX, MSM_FRONTEND_DAI_VOICE2_STUB, 1, 0, msm_routing_get_voice_stub_mixer, @@ -18761,6 +22348,7 @@ static const struct snd_kcontrol_new tx_voice2_stub_mixer_controls[] = { MSM_BACKEND_DAI_SEN_AUXPCM_TX, MSM_FRONTEND_DAI_VOICE2_STUB, 1, 0, msm_routing_get_voice_stub_mixer, msm_routing_put_voice_stub_mixer), +#endif SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_SLIMBUS_0_TX, MSM_FRONTEND_DAI_VOICE2_STUB, 1, 0, msm_routing_get_voice_stub_mixer, @@ -18844,6 +22432,7 @@ static const struct snd_kcontrol_new tx_volte_stub_mixer_controls[] = { MSM_BACKEND_DAI_EXTPROC_EC_TX, MSM_FRONTEND_DAI_VOLTE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, msm_routing_put_voice_stub_mixer), +#ifndef CONFIG_AUXPCM_DISABLE SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AUXPCM_TX, MSM_FRONTEND_DAI_VOLTE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, @@ -18868,6 +22457,7 @@ static const struct snd_kcontrol_new tx_volte_stub_mixer_controls[] = { MSM_BACKEND_DAI_SEN_AUXPCM_TX, MSM_FRONTEND_DAI_VOLTE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, msm_routing_put_voice_stub_mixer), +#endif SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_SLIMBUS_0_TX, MSM_FRONTEND_DAI_VOLTE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, @@ -19032,108 +22622,6 @@ static const struct snd_kcontrol_new tx_qchat_mixer_controls[] = { 1, 0, msm_routing_get_voice_mixer, msm_routing_put_voice_mixer), }; -static const struct snd_kcontrol_new int0_mi2s_rx_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT0_MI2S_RX, - 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_INT0_MI2S_RX, - 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_INT0_MI2S_RX, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT0_MI2S_RX, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUIN_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT0_MI2S_RX, - MSM_BACKEND_DAI_QUINARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SENARY_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT0_MI2S_RX, - MSM_BACKEND_DAI_SENARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INT3_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT0_MI2S_RX, - MSM_BACKEND_DAI_INT3_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT0_MI2S_RX, - 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_INT0_MI2S_RX, - MSM_BACKEND_DAI_INT_BT_SCO_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SLIM_7_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT0_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_7_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SLIM_8_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT0_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_8_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SLIM_9_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT0_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_9_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new int4_mi2s_rx_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT4_MI2S_RX, - 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_INT4_MI2S_RX, - 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_INT4_MI2S_RX, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT4_MI2S_RX, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUIN_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT4_MI2S_RX, - MSM_BACKEND_DAI_QUINARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SENARY_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT4_MI2S_RX, - MSM_BACKEND_DAI_SENARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INT3_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT4_MI2S_RX, - MSM_BACKEND_DAI_INT3_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT4_MI2S_RX, - 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_INT4_MI2S_RX, - MSM_BACKEND_DAI_INT_BT_SCO_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SLIM_7_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT4_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_7_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SLIM_8_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT4_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_8_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SLIM_9_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_INT4_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_9_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - static const struct snd_kcontrol_new wsa_cdc_dma_rx_0_port_mixer_controls[] = { SOC_DOUBLE_EXT("VA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_WSA_CDC_DMA_RX_0, @@ -19299,6 +22787,7 @@ static const struct snd_kcontrol_new sbus_0_rx_port_mixer_controls[] = { msm_routing_put_port_mixer), }; +#ifndef CONFIG_AUXPCM_DISABLE static const struct snd_kcontrol_new aux_pcm_rx_port_mixer_controls[] = { SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AUXPCM_RX, @@ -19408,6 +22897,7 @@ static const struct snd_kcontrol_new sen_auxpcm_rx_port_mixer_controls[] = { MSM_BACKEND_DAI_AUXPCM_TX, 1, 0, msm_routing_get_port_mixer, msm_routing_put_port_mixer), }; +#endif static const struct snd_kcontrol_new sbus_1_rx_port_mixer_controls[] = { SOC_DOUBLE_EXT("INTERNAL_BT_SCO_TX", SND_SOC_NOPM, @@ -19572,64 +23062,6 @@ static const struct snd_kcontrol_new sec_i2s_rx_port_mixer_controls[] = { msm_routing_put_port_mixer), }; -static const struct snd_kcontrol_new mi2s_rx_port_mixer_controls[] = { - SOC_DOUBLE_EXT("SLIM_1_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_1_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_MI2S_RX, - MSM_BACKEND_DAI_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new primary_mi2s_rx_port_mixer_controls[] = { - SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_MI2S_RX, - 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_PRI_MI2S_RX, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_MI2S_RX, - MSM_BACKEND_DAI_INT_FM_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_MI2S_RX, - MSM_BACKEND_DAI_QUATERNARY_MI2S_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_PRI_MI2S_RX, - MSM_BACKEND_DAI_INT_BT_SCO_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_MI2S_RX, - MSM_BACKEND_DAI_PRI_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUIN_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_MI2S_RX, - MSM_BACKEND_DAI_QUINARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SENARY_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_MI2S_RX, - MSM_BACKEND_DAI_SENARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_0_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SLIM_8_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_8_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_PRI_MI2S_RX, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - static const struct snd_kcontrol_new usb_rx_port_mixer_controls[] = { SOC_DOUBLE_EXT("USB_AUDIO_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_USB_RX, @@ -19637,3188 +23069,6 @@ static const struct snd_kcontrol_new usb_rx_port_mixer_controls[] = { msm_routing_put_port_mixer), }; -static const struct snd_kcontrol_new quat_mi2s_rx_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, - MSM_BACKEND_DAI_PRI_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_QUATERNARY_MI2S_RX, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, - MSM_BACKEND_DAI_INT_FM_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, - MSM_BACKEND_DAI_AUXPCM_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_0_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_QUATERNARY_MI2S_RX, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUIN_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, - MSM_BACKEND_DAI_QUINARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SENARY_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, - MSM_BACKEND_DAI_SENARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SLIM_8_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_8_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new quin_mi2s_rx_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUINARY_MI2S_RX, - MSM_BACKEND_DAI_PRI_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_QUINARY_MI2S_RX, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUINARY_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_0_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUINARY_MI2S_RX, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUIN_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUINARY_MI2S_RX, - MSM_BACKEND_DAI_QUINARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SENARY_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUINARY_MI2S_RX, - MSM_BACKEND_DAI_SENARY_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_QUINARY_MI2S_RX, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SLIM_8_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUINARY_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_8_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new sen_mi2s_rx_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SENARY_MI2S_RX, - MSM_BACKEND_DAI_PRI_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_SENARY_MI2S_RX, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SENARY_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_0_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SENARY_MI2S_RX, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUIN_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SENARY_MI2S_RX, - MSM_BACKEND_DAI_QUINARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SENARY_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SENARY_MI2S_RX, - MSM_BACKEND_DAI_SENARY_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_SENARY_MI2S_RX, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SLIM_8_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SENARY_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_8_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new pri_tdm_rx_0_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_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_PRI_TDM_RX_0, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_0, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_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_PRI_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_PRI_TDM_RX_0, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_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_PRI_TDM_RX_0, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_0, - MSM_BACKEND_DAI_PRI_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("PRI_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_0, - MSM_BACKEND_DAI_PRI_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("PRI_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_0, - MSM_BACKEND_DAI_PRI_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("PRI_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_0, - MSM_BACKEND_DAI_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new pri_tdm_rx_1_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_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_PRI_TDM_RX_1, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_1, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_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_PRI_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_PRI_TDM_RX_1, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_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_PRI_TDM_RX_1, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_1, - MSM_BACKEND_DAI_PRI_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("PRI_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_1, - MSM_BACKEND_DAI_PRI_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("PRI_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_1, - MSM_BACKEND_DAI_PRI_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("PRI_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_1, - MSM_BACKEND_DAI_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new pri_tdm_rx_2_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_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_PRI_TDM_RX_2, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_2, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_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_PRI_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_PRI_TDM_RX_2, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_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_PRI_TDM_RX_2, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_2, - MSM_BACKEND_DAI_PRI_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("PRI_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_2, - MSM_BACKEND_DAI_PRI_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("PRI_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_2, - MSM_BACKEND_DAI_PRI_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("PRI_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_2, - MSM_BACKEND_DAI_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new pri_tdm_rx_3_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_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_PRI_TDM_RX_3, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_3, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_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_PRI_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_PRI_TDM_RX_3, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_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_PRI_TDM_RX_3, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("PRI_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_3, - MSM_BACKEND_DAI_PRI_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("PRI_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_3, - MSM_BACKEND_DAI_PRI_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("PRI_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_3, - MSM_BACKEND_DAI_PRI_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("PRI_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_3, - MSM_BACKEND_DAI_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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_PRI_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_PRI_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new sec_tdm_rx_0_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_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_SEC_TDM_RX_0, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_0, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_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_SEC_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_SEC_TDM_RX_0, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_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_SEC_TDM_RX_0, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEC_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_0, - MSM_BACKEND_DAI_SEC_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEC_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_0, - MSM_BACKEND_DAI_SEC_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEC_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_0, - MSM_BACKEND_DAI_SEC_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEC_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_0, - MSM_BACKEND_DAI_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new sec_tdm_rx_1_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_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_SEC_TDM_RX_1, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_1, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_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_SEC_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_SEC_TDM_RX_1, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_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_SEC_TDM_RX_1, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEC_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_1, - MSM_BACKEND_DAI_SEC_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEC_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_1, - MSM_BACKEND_DAI_SEC_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEC_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_1, - MSM_BACKEND_DAI_SEC_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEC_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_1, - MSM_BACKEND_DAI_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new sec_tdm_rx_2_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_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_SEC_TDM_RX_2, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_2, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_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_SEC_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_SEC_TDM_RX_2, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_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_SEC_TDM_RX_2, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEC_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_2, - MSM_BACKEND_DAI_SEC_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEC_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_2, - MSM_BACKEND_DAI_SEC_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEC_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_2, - MSM_BACKEND_DAI_SEC_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEC_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_2, - MSM_BACKEND_DAI_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new sec_tdm_rx_3_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_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_SEC_TDM_RX_3, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_3, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_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_SEC_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_SEC_TDM_RX_3, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_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_SEC_TDM_RX_3, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEC_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_3, - MSM_BACKEND_DAI_SEC_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEC_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_3, - MSM_BACKEND_DAI_SEC_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEC_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_3, - MSM_BACKEND_DAI_SEC_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEC_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_3, - MSM_BACKEND_DAI_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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_SEC_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new sec_tdm_rx_7_port_mixer_controls[] = { - SOC_DOUBLE_EXT("TERT_TDM_TX_7", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEC_TDM_RX_7, - MSM_BACKEND_DAI_TERT_TDM_TX_7, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new tert_tdm_rx_0_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_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_TERT_TDM_RX_0, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_0, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_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_TERT_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_TERT_TDM_RX_0, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_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_TERT_TDM_RX_0, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new tert_tdm_rx_1_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_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_TERT_TDM_RX_1, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_1, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_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_TERT_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_TERT_TDM_RX_1, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_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_TERT_TDM_RX_1, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new tert_tdm_rx_2_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_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_TERT_TDM_RX_2, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_2, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_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_TERT_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_TERT_TDM_RX_2, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_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_TERT_TDM_RX_2, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new tert_tdm_rx_3_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_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_TERT_TDM_RX_3, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_3, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_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_TERT_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_TERT_TDM_RX_3, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_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_TERT_TDM_RX_3, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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_TERT_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERT_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new quat_tdm_rx_0_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_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_QUAT_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_QUAT_TDM_RX_0, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_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_QUAT_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_QUAT_TDM_RX_0, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_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_QUAT_TDM_RX_0, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new quat_tdm_rx_1_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_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_QUAT_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_QUAT_TDM_RX_1, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_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_QUAT_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_QUAT_TDM_RX_1, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_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_QUAT_TDM_RX_1, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new quat_tdm_rx_2_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_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_QUAT_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_QUAT_TDM_RX_2, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_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_QUAT_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_QUAT_TDM_RX_2, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_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_QUAT_TDM_RX_2, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new quat_tdm_rx_3_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_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_QUAT_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_QUAT_TDM_RX_3, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_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_QUAT_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_QUAT_TDM_RX_3, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_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_QUAT_TDM_RX_3, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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_QUAT_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new quat_tdm_rx_7_port_mixer_controls[] = { - SOC_DOUBLE_EXT("QUAT_TDM_TX_7", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_TDM_RX_7, - MSM_BACKEND_DAI_QUAT_TDM_TX_7, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUIN_TDM_TX_7", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUAT_TDM_RX_7, - MSM_BACKEND_DAI_QUIN_TDM_TX_7, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new quin_tdm_rx_0_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_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_QUIN_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_QUIN_TDM_RX_0, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_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_QUIN_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_QUIN_TDM_RX_0, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_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_QUIN_TDM_RX_0, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new quin_tdm_rx_1_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_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_QUIN_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_QUIN_TDM_RX_1, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_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_QUIN_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_QUIN_TDM_RX_1, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_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_QUIN_TDM_RX_1, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new quin_tdm_rx_2_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_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_QUIN_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_QUIN_TDM_RX_2, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_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_QUIN_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_QUIN_TDM_RX_2, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_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_QUIN_TDM_RX_2, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new quin_tdm_rx_3_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_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_QUIN_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_QUIN_TDM_RX_3, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_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_QUIN_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_QUIN_TDM_RX_3, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_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_QUIN_TDM_RX_3, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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_QUIN_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new sen_tdm_rx_0_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_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_SEN_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_SEN_TDM_RX_0, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_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_SEN_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_SEN_TDM_RX_0, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_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_SEN_TDM_RX_0, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_TDM_RX_0, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new sen_tdm_rx_1_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_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_SEN_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_SEN_TDM_RX_1, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_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_SEN_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_SEN_TDM_RX_1, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_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_SEN_TDM_RX_1, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_TDM_RX_1, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new sen_tdm_rx_2_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_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_SEN_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_SEN_TDM_RX_2, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_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_SEN_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_SEN_TDM_RX_2, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_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_SEN_TDM_RX_2, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_TDM_RX_2, - MSM_BACKEND_DAI_SEN_TDM_TX_3, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new sen_tdm_rx_3_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_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_SEN_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_SEN_TDM_RX_3, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_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_SEN_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_SEN_TDM_RX_3, - MSM_BACKEND_DAI_AFE_PCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_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_SEN_TDM_RX_3, - MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("TERT_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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_SEN_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("SEN_TDM_TX_0", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_0, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_1", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_1, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_2", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_TDM_RX_3, - MSM_BACKEND_DAI_SEN_TDM_TX_2, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SEN_TDM_TX_3", SND_SOC_NOPM, - MSM_BACKEND_DAI_SEN_TDM_RX_3, - MSM_BACKEND_DAI_SEN_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, - MSM_BACKEND_DAI_TERT_TDM_TX_7, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_TDM_TX_7", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_7, - MSM_BACKEND_DAI_QUAT_TDM_TX_7, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUIN_TDM_TX_7", SND_SOC_NOPM, - MSM_BACKEND_DAI_QUIN_TDM_RX_7, - MSM_BACKEND_DAI_QUIN_TDM_TX_7, 1, 0, - msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new tert_mi2s_rx_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERTIARY_MI2S_RX, - MSM_BACKEND_DAI_PRI_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_TERTIARY_MI2S_RX, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERTIARY_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_0_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERTIARY_MI2S_RX, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUIN_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERTIARY_MI2S_RX, - MSM_BACKEND_DAI_QUINARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SENARY_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERTIARY_MI2S_RX, - MSM_BACKEND_DAI_SENARY_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_TERTIARY_MI2S_RX, - MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SLIM_8_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_TERTIARY_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_8_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - -static const struct snd_kcontrol_new sec_mi2s_rx_port_mixer_controls[] = { - SOC_DOUBLE_EXT("PRI_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_RX, - 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_SECONDARY_MI2S_RX, - 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_SECONDARY_MI2S_RX, - MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUAT_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_RX, - MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("QUIN_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_RX, - MSM_BACKEND_DAI_QUINARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SENARY_MI2S_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_RX, - MSM_BACKEND_DAI_SENARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_0_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_RX, - MSM_BACKEND_DAI_INT_FM_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("SLIM_8_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_RX, - MSM_BACKEND_DAI_SLIMBUS_8_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), - SOC_DOUBLE_EXT("AUX_PCM_UL_TX", SND_SOC_NOPM, - MSM_BACKEND_DAI_SECONDARY_MI2S_RX, - MSM_BACKEND_DAI_AUXPCM_TX, 1, 0, msm_routing_get_port_mixer, - msm_routing_put_port_mixer), -}; - static const struct snd_kcontrol_new lsm1_mixer_controls[] = { SOC_DOUBLE_EXT("SLIMBUS_0_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_SLIMBUS_0_TX, @@ -22840,6 +23090,7 @@ static const struct snd_kcontrol_new lsm1_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_5_TX, MSM_FRONTEND_DAI_LSM1, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_TERTIARY_MI2S_TX, MSM_FRONTEND_DAI_LSM1, 1, 0, msm_routing_get_listen_mixer, @@ -22852,6 +23103,7 @@ static const struct snd_kcontrol_new lsm1_mixer_controls[] = { MSM_BACKEND_DAI_INT3_MI2S_TX, MSM_FRONTEND_DAI_LSM1, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#endif SOC_DOUBLE_EXT("VA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_VA_CDC_DMA_TX_0, MSM_FRONTEND_DAI_LSM1, 1, 0, msm_routing_get_listen_mixer, @@ -22868,6 +23120,7 @@ static const struct snd_kcontrol_new lsm1_mixer_controls[] = { MSM_BACKEND_DAI_TX_CDC_DMA_TX_3, MSM_FRONTEND_DAI_LSM1, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("QUIN_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_QUIN_TDM_TX_0, MSM_FRONTEND_DAI_LSM1, 1, 0, msm_routing_get_listen_mixer, @@ -22876,6 +23129,7 @@ static const struct snd_kcontrol_new lsm1_mixer_controls[] = { MSM_BACKEND_DAI_TERT_TDM_TX_0, MSM_FRONTEND_DAI_LSM1, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#endif }; static const struct snd_kcontrol_new lsm2_mixer_controls[] = { @@ -22900,6 +23154,7 @@ static const struct snd_kcontrol_new lsm2_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_5_TX, MSM_FRONTEND_DAI_LSM2, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_TERTIARY_MI2S_TX, MSM_FRONTEND_DAI_LSM2, 1, 0, msm_routing_get_listen_mixer, @@ -22916,6 +23171,7 @@ static const struct snd_kcontrol_new lsm2_mixer_controls[] = { MSM_BACKEND_DAI_VA_CDC_DMA_TX_0, MSM_FRONTEND_DAI_LSM2, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#endif SOC_DOUBLE_EXT("VA_CDC_DMA_TX_1", SND_SOC_NOPM, MSM_BACKEND_DAI_VA_CDC_DMA_TX_1, MSM_FRONTEND_DAI_LSM2, 1, 0, msm_routing_get_listen_mixer, @@ -22928,6 +23184,7 @@ static const struct snd_kcontrol_new lsm2_mixer_controls[] = { MSM_BACKEND_DAI_TX_CDC_DMA_TX_3, MSM_FRONTEND_DAI_LSM2, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("QUIN_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_QUIN_TDM_TX_0, MSM_FRONTEND_DAI_LSM2, 1, 0, msm_routing_get_listen_mixer, @@ -22936,6 +23193,7 @@ static const struct snd_kcontrol_new lsm2_mixer_controls[] = { MSM_BACKEND_DAI_TERT_TDM_TX_0, MSM_FRONTEND_DAI_LSM2, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#endif }; static const struct snd_kcontrol_new lsm3_mixer_controls[] = { @@ -22959,6 +23217,7 @@ static const struct snd_kcontrol_new lsm3_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_5_TX, MSM_FRONTEND_DAI_LSM3, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_TERTIARY_MI2S_TX, MSM_FRONTEND_DAI_LSM3, 1, 0, msm_routing_get_listen_mixer, @@ -22971,6 +23230,7 @@ static const struct snd_kcontrol_new lsm3_mixer_controls[] = { MSM_BACKEND_DAI_INT3_MI2S_TX, MSM_FRONTEND_DAI_LSM3, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#endif SOC_DOUBLE_EXT("VA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_VA_CDC_DMA_TX_0, MSM_FRONTEND_DAI_LSM3, 1, 0, msm_routing_get_listen_mixer, @@ -22987,6 +23247,7 @@ static const struct snd_kcontrol_new lsm3_mixer_controls[] = { MSM_BACKEND_DAI_TX_CDC_DMA_TX_3, MSM_FRONTEND_DAI_LSM3, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("QUIN_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_QUIN_TDM_TX_0, MSM_FRONTEND_DAI_LSM3, 1, 0, msm_routing_get_listen_mixer, @@ -22995,6 +23256,7 @@ static const struct snd_kcontrol_new lsm3_mixer_controls[] = { MSM_BACKEND_DAI_TERT_TDM_TX_0, MSM_FRONTEND_DAI_LSM3, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#endif }; static const struct snd_kcontrol_new lsm4_mixer_controls[] = { @@ -23018,6 +23280,7 @@ static const struct snd_kcontrol_new lsm4_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_5_TX, MSM_FRONTEND_DAI_LSM4, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_TERTIARY_MI2S_TX, MSM_FRONTEND_DAI_LSM4, 1, 0, msm_routing_get_listen_mixer, @@ -23030,6 +23293,7 @@ static const struct snd_kcontrol_new lsm4_mixer_controls[] = { MSM_BACKEND_DAI_INT3_MI2S_TX, MSM_FRONTEND_DAI_LSM4, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#endif SOC_DOUBLE_EXT("VA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_VA_CDC_DMA_TX_0, MSM_FRONTEND_DAI_LSM4, 1, 0, msm_routing_get_listen_mixer, @@ -23046,6 +23310,7 @@ static const struct snd_kcontrol_new lsm4_mixer_controls[] = { MSM_BACKEND_DAI_TX_CDC_DMA_TX_3, MSM_FRONTEND_DAI_LSM4, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("QUIN_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_QUIN_TDM_TX_0, MSM_FRONTEND_DAI_LSM4, 1, 0, msm_routing_get_listen_mixer, @@ -23054,6 +23319,7 @@ static const struct snd_kcontrol_new lsm4_mixer_controls[] = { MSM_BACKEND_DAI_TERT_TDM_TX_0, MSM_FRONTEND_DAI_LSM4, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#endif }; static const struct snd_kcontrol_new lsm5_mixer_controls[] = { @@ -23077,6 +23343,7 @@ static const struct snd_kcontrol_new lsm5_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_5_TX, MSM_FRONTEND_DAI_LSM5, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_TERTIARY_MI2S_TX, MSM_FRONTEND_DAI_LSM5, 1, 0, msm_routing_get_listen_mixer, @@ -23089,6 +23356,7 @@ static const struct snd_kcontrol_new lsm5_mixer_controls[] = { MSM_BACKEND_DAI_INT3_MI2S_TX, MSM_FRONTEND_DAI_LSM5, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#endif SOC_DOUBLE_EXT("VA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_VA_CDC_DMA_TX_0, MSM_FRONTEND_DAI_LSM5, 1, 0, msm_routing_get_listen_mixer, @@ -23105,6 +23373,7 @@ static const struct snd_kcontrol_new lsm5_mixer_controls[] = { MSM_BACKEND_DAI_TX_CDC_DMA_TX_3, MSM_FRONTEND_DAI_LSM5, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("QUIN_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_QUIN_TDM_TX_0, MSM_FRONTEND_DAI_LSM5, 1, 0, msm_routing_get_listen_mixer, @@ -23113,6 +23382,7 @@ static const struct snd_kcontrol_new lsm5_mixer_controls[] = { MSM_BACKEND_DAI_TERT_TDM_TX_0, MSM_FRONTEND_DAI_LSM5, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#endif }; static const struct snd_kcontrol_new lsm6_mixer_controls[] = { @@ -23136,6 +23406,7 @@ static const struct snd_kcontrol_new lsm6_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_5_TX, MSM_FRONTEND_DAI_LSM6, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_TERTIARY_MI2S_TX, MSM_FRONTEND_DAI_LSM6, 1, 0, msm_routing_get_listen_mixer, @@ -23148,6 +23419,7 @@ static const struct snd_kcontrol_new lsm6_mixer_controls[] = { MSM_BACKEND_DAI_INT3_MI2S_TX, MSM_FRONTEND_DAI_LSM6, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#endif SOC_DOUBLE_EXT("VA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_VA_CDC_DMA_TX_0, MSM_FRONTEND_DAI_LSM6, 1, 0, msm_routing_get_listen_mixer, @@ -23164,6 +23436,7 @@ static const struct snd_kcontrol_new lsm6_mixer_controls[] = { MSM_BACKEND_DAI_TX_CDC_DMA_TX_3, MSM_FRONTEND_DAI_LSM6, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("QUIN_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_QUIN_TDM_TX_0, MSM_FRONTEND_DAI_LSM6, 1, 0, msm_routing_get_listen_mixer, @@ -23172,6 +23445,7 @@ static const struct snd_kcontrol_new lsm6_mixer_controls[] = { MSM_BACKEND_DAI_TERT_TDM_TX_0, MSM_FRONTEND_DAI_LSM6, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#endif }; static const struct snd_kcontrol_new lsm7_mixer_controls[] = { @@ -23195,6 +23469,7 @@ static const struct snd_kcontrol_new lsm7_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_5_TX, MSM_FRONTEND_DAI_LSM7, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_TERTIARY_MI2S_TX, MSM_FRONTEND_DAI_LSM7, 1, 0, msm_routing_get_listen_mixer, @@ -23207,6 +23482,7 @@ static const struct snd_kcontrol_new lsm7_mixer_controls[] = { MSM_BACKEND_DAI_INT3_MI2S_TX, MSM_FRONTEND_DAI_LSM7, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#endif SOC_DOUBLE_EXT("VA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_VA_CDC_DMA_TX_0, MSM_FRONTEND_DAI_LSM7, 1, 0, msm_routing_get_listen_mixer, @@ -23223,6 +23499,7 @@ static const struct snd_kcontrol_new lsm7_mixer_controls[] = { MSM_BACKEND_DAI_TX_CDC_DMA_TX_3, MSM_FRONTEND_DAI_LSM7, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("QUIN_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_QUIN_TDM_TX_0, MSM_FRONTEND_DAI_LSM7, 1, 0, msm_routing_get_listen_mixer, @@ -23231,6 +23508,7 @@ static const struct snd_kcontrol_new lsm7_mixer_controls[] = { MSM_BACKEND_DAI_TERT_TDM_TX_0, MSM_FRONTEND_DAI_LSM7, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#endif }; static const struct snd_kcontrol_new lsm8_mixer_controls[] = { @@ -23254,6 +23532,7 @@ static const struct snd_kcontrol_new lsm8_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_5_TX, MSM_FRONTEND_DAI_LSM8, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#ifndef CONFIG_MI2S_DISABLE SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_TERTIARY_MI2S_TX, MSM_FRONTEND_DAI_LSM8, 1, 0, msm_routing_get_listen_mixer, @@ -23266,6 +23545,7 @@ static const struct snd_kcontrol_new lsm8_mixer_controls[] = { MSM_BACKEND_DAI_INT3_MI2S_TX, MSM_FRONTEND_DAI_LSM8, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#endif SOC_DOUBLE_EXT("VA_CDC_DMA_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_VA_CDC_DMA_TX_0, MSM_FRONTEND_DAI_LSM8, 1, 0, msm_routing_get_listen_mixer, @@ -23282,6 +23562,7 @@ static const struct snd_kcontrol_new lsm8_mixer_controls[] = { MSM_BACKEND_DAI_TX_CDC_DMA_TX_3, MSM_FRONTEND_DAI_LSM8, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#ifndef CONFIG_TDM_DISABLE SOC_DOUBLE_EXT("QUIN_TDM_TX_0", SND_SOC_NOPM, MSM_BACKEND_DAI_QUIN_TDM_TX_0, MSM_FRONTEND_DAI_LSM8, 1, 0, msm_routing_get_listen_mixer, @@ -23290,6 +23571,7 @@ static const struct snd_kcontrol_new lsm8_mixer_controls[] = { MSM_BACKEND_DAI_TERT_TDM_TX_0, MSM_FRONTEND_DAI_LSM8, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), +#endif }; static const struct snd_kcontrol_new slim_fm_switch_mixer_controls = @@ -23337,46 +23619,6 @@ static const struct snd_kcontrol_new pcm_rx_switch_mixer_controls = 0, 1, 0, msm_routing_get_fm_pcmrx_switch_mixer, msm_routing_put_fm_pcmrx_switch_mixer); -static const struct snd_kcontrol_new int0_mi2s_rx_switch_mixer_controls = - SOC_SINGLE_EXT("Switch", SND_SOC_NOPM, - 0, 1, 0, msm_routing_get_int0_mi2s_switch_mixer, - msm_routing_put_int0_mi2s_switch_mixer); - -static const struct snd_kcontrol_new int4_mi2s_rx_switch_mixer_controls = - SOC_SINGLE_EXT("Switch", SND_SOC_NOPM, - 0, 1, 0, msm_routing_get_int4_mi2s_switch_mixer, - msm_routing_put_int4_mi2s_switch_mixer); - -static const struct snd_kcontrol_new pri_mi2s_rx_switch_mixer_controls = - SOC_SINGLE_EXT("Switch", SND_SOC_NOPM, - 0, 1, 0, msm_routing_get_pri_mi2s_switch_mixer, - msm_routing_put_pri_mi2s_switch_mixer); - -static const struct snd_kcontrol_new sec_mi2s_rx_switch_mixer_controls = - SOC_SINGLE_EXT("Switch", SND_SOC_NOPM, - 0, 1, 0, msm_routing_get_sec_mi2s_switch_mixer, - msm_routing_put_sec_mi2s_switch_mixer); - -static const struct snd_kcontrol_new tert_mi2s_rx_switch_mixer_controls = - SOC_SINGLE_EXT("Switch", SND_SOC_NOPM, - 0, 1, 0, msm_routing_get_tert_mi2s_switch_mixer, - msm_routing_put_tert_mi2s_switch_mixer); - -static const struct snd_kcontrol_new quat_mi2s_rx_switch_mixer_controls = - SOC_SINGLE_EXT("Switch", SND_SOC_NOPM, - 0, 1, 0, msm_routing_get_quat_mi2s_switch_mixer, - msm_routing_put_quat_mi2s_switch_mixer); - -static const struct snd_kcontrol_new quin_mi2s_rx_switch_mixer_controls = - SOC_SINGLE_EXT("Switch", SND_SOC_NOPM, - 0, 1, 0, msm_routing_get_quin_mi2s_switch_mixer, - msm_routing_put_quin_mi2s_switch_mixer); - -static const struct snd_kcontrol_new sen_mi2s_rx_switch_mixer_controls = - SOC_SINGLE_EXT("Switch", SND_SOC_NOPM, - 0, 1, 0, msm_routing_get_sen_mi2s_switch_mixer, - msm_routing_put_sen_mi2s_switch_mixer); - static const struct snd_kcontrol_new hfp_pri_aux_switch_mixer_controls = SOC_SINGLE_EXT("Switch", SND_SOC_NOPM, 0, 1, 0, msm_routing_get_hfp_switch_mixer, @@ -24936,6 +25178,622 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { SND_SOC_DAPM_AIF_OUT("USBAUDIO_UL_HL", "USBAUDIO_HOSTLESS Capture", 0, 0, 0, 0), SND_SOC_DAPM_AIF_IN("HDMI_DL_HL", "HDMI_HOSTLESS Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("DTMF_DL_HL", "DTMF_RX_HOSTLESS Playback", + 0, 0, 0, 0), + /* LSM */ + SND_SOC_DAPM_AIF_OUT("LSM1_UL_HL", "Listen 1 Audio Service Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("LSM2_UL_HL", "Listen 2 Audio Service Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("LSM3_UL_HL", "Listen 3 Audio Service Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("LSM4_UL_HL", "Listen 4 Audio Service Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("LSM5_UL_HL", "Listen 5 Audio Service Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("LSM6_UL_HL", "Listen 6 Audio Service Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("LSM7_UL_HL", "Listen 7 Audio Service Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("LSM8_UL_HL", "Listen 8 Audio Service Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("QCHAT_DL", "QCHAT Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("QCHAT_UL", "QCHAT Capture", 0, 0, 0, 0), + /* Backend AIF */ + /* Stream name equals to backend dai link stream name */ + SND_SOC_DAPM_AIF_OUT("PRI_SPDIF_RX", "Primary SPDIF Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("PRI_SPDIF_TX", "Primary SPDIF Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEC_SPDIF_RX", "Secondary SPDIF Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEC_SPDIF_TX", "Secondary SPDIF Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SLIMBUS_0_RX", "Slimbus Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SLIMBUS_2_RX", "Slimbus2 Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SLIMBUS_5_RX", "Slimbus5 Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("HDMI", "HDMI Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("HDMI_MS", "HDMI MS Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("DISPLAY_PORT", "Display Port Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("DISPLAY_PORT1", "Display Port1 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("INT_BT_SCO_RX", "Internal BT-SCO Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("INT_BT_SCO_TX", "Internal BT-SCO Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("INT_BT_A2DP_RX", "Internal BT-A2DP Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("INT_FM_RX", "Internal FM Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("INT_FM_TX", "Internal FM Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("PCM_RX", "AFE Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("PCM_TX", "AFE Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("WSA_CDC_DMA_RX_0", "WSA CDC DMA0 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("WSA_CDC_DMA_TX_0", "WSA CDC DMA0 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("WSA_CDC_DMA_RX_1", "WSA CDC DMA1 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("WSA_CDC_DMA_TX_1", "WSA CDC DMA1 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("WSA_CDC_DMA_TX_2", "WSA CDC DMA2 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("VA_CDC_DMA_TX_0", "VA CDC DMA0 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("VA_CDC_DMA_TX_1", "VA CDC DMA1 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("VA_CDC_DMA_TX_2", "VA CDC DMA2 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("RX_CDC_DMA_RX_0", "RX CDC DMA0 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("TX_CDC_DMA_TX_0", "TX CDC DMA0 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("RX_CDC_DMA_RX_1", "RX CDC DMA1 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("TX_CDC_DMA_TX_1", "TX CDC DMA1 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("RX_CDC_DMA_RX_2", "RX CDC DMA2 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("TX_CDC_DMA_TX_2", "TX CDC DMA2 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("RX_CDC_DMA_RX_3", "RX CDC DMA3 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("TX_CDC_DMA_TX_3", "TX CDC DMA3 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("RX_CDC_DMA_RX_4", "RX CDC DMA4 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("TX_CDC_DMA_TX_4", "TX CDC DMA4 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("RX_CDC_DMA_RX_5", "RX CDC DMA5 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("TX_CDC_DMA_TX_5", "TX CDC DMA5 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("RX_CDC_DMA_RX_6", "RX CDC DMA6 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("RX_CDC_DMA_RX_7", "RX CDC DMA7 Playback", + 0, 0, 0, 0), + /* incall */ + SND_SOC_DAPM_AIF_OUT("VOICE_PLAYBACK_TX", "Voice Farend Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("VOICE2_PLAYBACK_TX", "Voice2 Farend Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SLIMBUS_4_RX", "Slimbus4 Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("INCALL_RECORD_TX", "Voice Uplink Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("INCALL_RECORD_RX", "Voice Downlink Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SLIMBUS_0_TX", "Slimbus Capture", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SLIMBUS_2_TX", "Slimbus2 Capture", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SLIMBUS_4_TX", "Slimbus4 Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SLIMBUS_5_TX", "Slimbus5 Capture", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("VOICE_STUB_DL", "VOICE_STUB Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("VOICE_STUB_UL", "VOICE_STUB Capture", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("VOICE2_STUB_DL", "VOICE2_STUB Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("VOICE2_STUB_UL", "VOICE2_STUB Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("VOLTE_STUB_DL", "VOLTE_STUB Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("VOLTE_STUB_UL", "VOLTE_STUB Capture", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("STUB_RX", "Stub Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("STUB_TX", "Stub Capture", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SLIMBUS_1_RX", "Slimbus1 Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SLIMBUS_1_TX", "Slimbus1 Capture", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("STUB_1_TX", "Stub1 Capture", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SLIMBUS_3_RX", "Slimbus3 Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SLIMBUS_3_TX", "Slimbus3 Capture", 0, 0, 0, 0), + /* In- call recording */ + SND_SOC_DAPM_AIF_OUT("SLIMBUS_6_RX", "Slimbus6 Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SLIMBUS_6_TX", "Slimbus6 Capture", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("AFE_LOOPBACK_TX", "AFE Loopback Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SLIMBUS_7_RX", "Slimbus7 Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SLIMBUS_7_TX", "Slimbus7 Capture", 0, 0, 0, 0), + + SND_SOC_DAPM_AIF_OUT("SLIMBUS_8_RX", "Slimbus8 Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SLIMBUS_8_TX", "Slimbus8 Capture", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SLIMBUS_9_RX", "Slimbus9 Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SLIMBUS_9_TX", "Slimbus9 Capture", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("USB_AUDIO_RX", "USB Audio Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("USB_AUDIO_TX", "USB Audio Capture", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("PROXY_RX", "Proxy Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("PROXY_TX", "Proxy Capture", 0, 0, 0, 0), + + /* Switch Definitions */ + SND_SOC_DAPM_SWITCH("SLIMBUS_DL_HL", SND_SOC_NOPM, 0, 0, + &slim_fm_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("SLIMBUS1_DL_HL", SND_SOC_NOPM, 0, 0, + &slim1_fm_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("SLIMBUS3_DL_HL", SND_SOC_NOPM, 0, 0, + &slim3_fm_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("SLIMBUS4_DL_HL", SND_SOC_NOPM, 0, 0, + &slim4_fm_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("SLIMBUS6_DL_HL", SND_SOC_NOPM, 0, 0, + &slim6_fm_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("PCM_RX_DL_HL", SND_SOC_NOPM, 0, 0, + &pcm_rx_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("SCO_SLIM7_DL_HL", SND_SOC_NOPM, 0, 0, + &sco_slim7_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("HFP_PRI_AUX_UL_HL", SND_SOC_NOPM, 0, 0, + &hfp_pri_aux_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("HFP_AUX_UL_HL", SND_SOC_NOPM, 0, 0, + &hfp_aux_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("HFP_INT_UL_HL", SND_SOC_NOPM, 0, 0, + &hfp_int_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("HFP_SLIM7_UL_HL", SND_SOC_NOPM, 0, 0, + &hfp_slim7_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("USB_DL_HL", SND_SOC_NOPM, 0, 0, + &usb_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("A2DP_SLIM7_UL_HL", SND_SOC_NOPM, 0, 0, + &a2dp_slim7_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("WSA_CDC_DMA_RX_0_DL_HL", SND_SOC_NOPM, 0, 0, + &cdc_dma_wsa_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("RX_CDC_DMA_RX_0_DL_HL", SND_SOC_NOPM, 0, 0, + &cdc_dma_rx_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("RX_CDC_DMA_RX_1_DL_HL", SND_SOC_NOPM, 0, 0, + &cdc_dma_rx_1_switch_mixer_controls), + + /* Mixer definitions */ + SND_SOC_DAPM_MIXER("PRI_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + pri_i2s_rx_mixer_controls, ARRAY_SIZE(pri_i2s_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("SEC_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + sec_i2s_rx_mixer_controls, ARRAY_SIZE(sec_i2s_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("SLIMBUS_0_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + slimbus_rx_mixer_controls, ARRAY_SIZE(slimbus_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("SLIMBUS_2_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + slimbus_2_rx_mixer_controls, ARRAY_SIZE(slimbus_2_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("SLIMBUS_5_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + slimbus_5_rx_mixer_controls, ARRAY_SIZE(slimbus_5_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("SLIMBUS_7_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + slimbus_7_rx_mixer_controls, ARRAY_SIZE(slimbus_7_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("SLIMBUS_9_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + slimbus_9_rx_mixer_controls, ARRAY_SIZE(slimbus_9_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("HDMI Mixer", SND_SOC_NOPM, 0, 0, + hdmi_mixer_controls, ARRAY_SIZE(hdmi_mixer_controls)), + SND_SOC_DAPM_MIXER("HDMI_MS Mixer", SND_SOC_NOPM, 0, 0, + hdmi_ms_mixer_controls, ARRAY_SIZE(hdmi_ms_mixer_controls)), + SND_SOC_DAPM_MIXER("DISPLAY_PORT Mixer", SND_SOC_NOPM, 0, 0, + display_port_mixer_controls, ARRAY_SIZE(display_port_mixer_controls)), + SND_SOC_DAPM_MIXER("DISPLAY_PORT1 Mixer", SND_SOC_NOPM, 0, 0, + display_port1_mixer_controls, ARRAY_SIZE(display_port1_mixer_controls)), + SND_SOC_DAPM_MIXER("PRI_SPDIF_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + pri_spdif_rx_mixer_controls, ARRAY_SIZE(pri_spdif_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("SEC_SPDIF_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + sec_spdif_rx_mixer_controls, ARRAY_SIZE(sec_spdif_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("WSA_CDC_DMA_RX_0 Audio Mixer", SND_SOC_NOPM, 0, 0, + wsa_cdc_dma_rx_0_mixer_controls, + ARRAY_SIZE(wsa_cdc_dma_rx_0_mixer_controls)), + SND_SOC_DAPM_MIXER("WSA_CDC_DMA_RX_1 Audio Mixer", SND_SOC_NOPM, 0, 0, + wsa_cdc_dma_rx_1_mixer_controls, + ARRAY_SIZE(wsa_cdc_dma_rx_1_mixer_controls)), + SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_0 Audio Mixer", SND_SOC_NOPM, 0, 0, + rx_cdc_dma_rx_0_mixer_controls, + ARRAY_SIZE(rx_cdc_dma_rx_0_mixer_controls)), + SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_1 Audio Mixer", SND_SOC_NOPM, 0, 0, + rx_cdc_dma_rx_1_mixer_controls, + ARRAY_SIZE(rx_cdc_dma_rx_1_mixer_controls)), + SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_2 Audio Mixer", SND_SOC_NOPM, 0, 0, + rx_cdc_dma_rx_2_mixer_controls, + ARRAY_SIZE(rx_cdc_dma_rx_2_mixer_controls)), + SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_3 Audio Mixer", SND_SOC_NOPM, 0, 0, + rx_cdc_dma_rx_3_mixer_controls, + ARRAY_SIZE(rx_cdc_dma_rx_3_mixer_controls)), + SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_4 Audio Mixer", SND_SOC_NOPM, 0, 0, + rx_cdc_dma_rx_4_mixer_controls, + ARRAY_SIZE(rx_cdc_dma_rx_4_mixer_controls)), + SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_5 Audio Mixer", SND_SOC_NOPM, 0, 0, + rx_cdc_dma_rx_5_mixer_controls, + ARRAY_SIZE(rx_cdc_dma_rx_5_mixer_controls)), + SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_6 Audio Mixer", SND_SOC_NOPM, 0, 0, + rx_cdc_dma_rx_6_mixer_controls, + ARRAY_SIZE(rx_cdc_dma_rx_6_mixer_controls)), + SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_7 Audio Mixer", SND_SOC_NOPM, 0, 0, + rx_cdc_dma_rx_7_mixer_controls, + ARRAY_SIZE(rx_cdc_dma_rx_7_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia1 Mixer", SND_SOC_NOPM, 0, 0, + mmul1_mixer_controls, ARRAY_SIZE(mmul1_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia2 Mixer", SND_SOC_NOPM, 0, 0, + mmul2_mixer_controls, ARRAY_SIZE(mmul2_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia3 Mixer", SND_SOC_NOPM, 0, 0, + mmul3_mixer_controls, ARRAY_SIZE(mmul3_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia4 Mixer", SND_SOC_NOPM, 0, 0, + mmul4_mixer_controls, ARRAY_SIZE(mmul4_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia5 Mixer", SND_SOC_NOPM, 0, 0, + mmul5_mixer_controls, ARRAY_SIZE(mmul5_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia6 Mixer", SND_SOC_NOPM, 0, 0, + mmul6_mixer_controls, ARRAY_SIZE(mmul6_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia8 Mixer", SND_SOC_NOPM, 0, 0, + mmul8_mixer_controls, ARRAY_SIZE(mmul8_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia9 Mixer", SND_SOC_NOPM, 0, 0, + mmul9_mixer_controls, ARRAY_SIZE(mmul9_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia10 Mixer", SND_SOC_NOPM, 0, 0, + mmul10_mixer_controls, ARRAY_SIZE(mmul10_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia16 Mixer", SND_SOC_NOPM, 0, 0, + mmul16_mixer_controls, ARRAY_SIZE(mmul16_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia17 Mixer", SND_SOC_NOPM, 0, 0, + mmul17_mixer_controls, ARRAY_SIZE(mmul17_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia18 Mixer", SND_SOC_NOPM, 0, 0, + mmul18_mixer_controls, ARRAY_SIZE(mmul18_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia19 Mixer", SND_SOC_NOPM, 0, 0, + mmul19_mixer_controls, ARRAY_SIZE(mmul19_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia20 Mixer", SND_SOC_NOPM, 0, 0, + mmul20_mixer_controls, ARRAY_SIZE(mmul20_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia21 Mixer", SND_SOC_NOPM, 0, 0, + mmul21_mixer_controls, ARRAY_SIZE(mmul21_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia22 Mixer", SND_SOC_NOPM, 0, 0, + mmul22_mixer_controls, ARRAY_SIZE(mmul22_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia23 Mixer", SND_SOC_NOPM, 0, 0, + mmul23_mixer_controls, ARRAY_SIZE(mmul23_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia24 Mixer", SND_SOC_NOPM, 0, 0, + mmul24_mixer_controls, ARRAY_SIZE(mmul24_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia25 Mixer", SND_SOC_NOPM, 0, 0, + mmul25_mixer_controls, ARRAY_SIZE(mmul25_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia27 Mixer", SND_SOC_NOPM, 0, 0, + mmul27_mixer_controls, ARRAY_SIZE(mmul27_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia28 Mixer", SND_SOC_NOPM, 0, 0, + mmul28_mixer_controls, ARRAY_SIZE(mmul28_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia29 Mixer", SND_SOC_NOPM, 0, 0, + mmul29_mixer_controls, ARRAY_SIZE(mmul29_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia30 Mixer", SND_SOC_NOPM, 0, 0, + mmul30_mixer_controls, ARRAY_SIZE(mmul30_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia31 Mixer", SND_SOC_NOPM, 0, 0, + mmul31_mixer_controls, ARRAY_SIZE(mmul31_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia32 Mixer", SND_SOC_NOPM, 0, 0, + mmul32_mixer_controls, ARRAY_SIZE(mmul32_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia33 Mixer", SND_SOC_NOPM, 0, 0, + mmul33_mixer_controls, ARRAY_SIZE(mmul33_mixer_controls)), + SND_SOC_DAPM_MIXER("MultiMedia34 Mixer", SND_SOC_NOPM, 0, 0, + mmul34_mixer_controls, ARRAY_SIZE(mmul34_mixer_controls)), + /* incall */ + SND_SOC_DAPM_MIXER("Incall_Music Audio Mixer", SND_SOC_NOPM, 0, 0, + incall_music_delivery_mixer_controls, + ARRAY_SIZE(incall_music_delivery_mixer_controls)), + SND_SOC_DAPM_MIXER("Incall_Music_2 Audio Mixer", SND_SOC_NOPM, 0, 0, + incall_music2_delivery_mixer_controls, + ARRAY_SIZE(incall_music2_delivery_mixer_controls)), + SND_SOC_DAPM_MIXER("SLIMBUS_4_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + slimbus_4_rx_mixer_controls, + ARRAY_SIZE(slimbus_4_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("SLIMBUS_6_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + slimbus_6_rx_mixer_controls, + ARRAY_SIZE(slimbus_6_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("USB_AUDIO_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + usb_audio_rx_mixer_controls, + ARRAY_SIZE(usb_audio_rx_mixer_controls)), + /* Voice Mixer */ + SND_SOC_DAPM_MIXER("SLIM_0_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + slimbus_rx_voice_mixer_controls, + ARRAY_SIZE(slimbus_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("INTERNAL_BT_SCO_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + bt_sco_rx_voice_mixer_controls, + ARRAY_SIZE(bt_sco_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("AFE_PCM_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + afe_pcm_rx_voice_mixer_controls, + ARRAY_SIZE(afe_pcm_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("AUX_PCM_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + aux_pcm_rx_voice_mixer_controls, + ARRAY_SIZE(aux_pcm_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("HDMI_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + hdmi_rx_voice_mixer_controls, + ARRAY_SIZE(hdmi_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("WSA_CDC_DMA_RX_0_Voice Mixer", + SND_SOC_NOPM, 0, 0, + wsa_cdc_dma_rx_0_voice_mixer_controls, + ARRAY_SIZE(wsa_cdc_dma_rx_0_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("PROXY_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + proxy_rx_voice_mixer_controls, + ARRAY_SIZE(proxy_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_0_Voice Mixer", + SND_SOC_NOPM, 0, 0, + rx_cdc_dma_rx_0_voice_mixer_controls, + ARRAY_SIZE(rx_cdc_dma_rx_0_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_1_Voice Mixer", + SND_SOC_NOPM, 0, 0, + rx_cdc_dma_rx_1_voice_mixer_controls, + ARRAY_SIZE(rx_cdc_dma_rx_1_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("Voip_Tx Mixer", + SND_SOC_NOPM, 0, 0, tx_voip_mixer_controls, + ARRAY_SIZE(tx_voip_mixer_controls)), + SND_SOC_DAPM_MIXER("VoiceMMode1_Tx Mixer", + SND_SOC_NOPM, 0, 0, tx_voicemmode1_mixer_controls, + ARRAY_SIZE(tx_voicemmode1_mixer_controls)), + SND_SOC_DAPM_MIXER("VoiceMMode2_Tx Mixer", + SND_SOC_NOPM, 0, 0, tx_voicemmode2_mixer_controls, + ARRAY_SIZE(tx_voicemmode2_mixer_controls)), + SND_SOC_DAPM_MIXER("INTERNAL_BT_SCO_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + int_bt_sco_rx_mixer_controls, ARRAY_SIZE(int_bt_sco_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("INTERNAL_A2DP_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + int_bt_a2dp_rx_mixer_controls, + ARRAY_SIZE(int_bt_a2dp_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("INTERNAL_FM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + int_fm_rx_mixer_controls, ARRAY_SIZE(int_fm_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("AFE_PCM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + afe_pcm_rx_mixer_controls, ARRAY_SIZE(afe_pcm_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("Voice Stub Tx Mixer", SND_SOC_NOPM, 0, 0, + tx_voice_stub_mixer_controls, ARRAY_SIZE(tx_voice_stub_mixer_controls)), + SND_SOC_DAPM_MIXER("Voice2 Stub Tx Mixer", SND_SOC_NOPM, 0, 0, + tx_voice2_stub_mixer_controls, + ARRAY_SIZE(tx_voice2_stub_mixer_controls)), + SND_SOC_DAPM_MIXER("VoLTE Stub Tx Mixer", SND_SOC_NOPM, 0, 0, + tx_volte_stub_mixer_controls, ARRAY_SIZE(tx_volte_stub_mixer_controls)), + SND_SOC_DAPM_MIXER("STUB_RX Mixer", SND_SOC_NOPM, 0, 0, + stub_rx_mixer_controls, ARRAY_SIZE(stub_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("SLIMBUS_1_RX Mixer", SND_SOC_NOPM, 0, 0, + slimbus_1_rx_mixer_controls, ARRAY_SIZE(slimbus_1_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("SLIMBUS_3_RX_Voice Mixer", SND_SOC_NOPM, 0, 0, + slimbus_3_rx_mixer_controls, ARRAY_SIZE(slimbus_3_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("SLIM_6_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + slimbus_6_rx_voice_mixer_controls, + ARRAY_SIZE(slimbus_6_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("SLIM_7_RX_Voice Mixer", SND_SOC_NOPM, 0, 0, + slimbus_7_rx_voice_mixer_controls, + ARRAY_SIZE(slimbus_7_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("SLIM_8_RX_Voice Mixer", SND_SOC_NOPM, 0, 0, + slimbus_8_rx_voice_mixer_controls, + ARRAY_SIZE(slimbus_8_rx_voice_mixer_controls)), + /* port mixer */ + SND_SOC_DAPM_MIXER("SLIMBUS_0_RX Port Mixer", + SND_SOC_NOPM, 0, 0, sbus_0_rx_port_mixer_controls, + ARRAY_SIZE(sbus_0_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("SLIMBUS_1_RX Port Mixer", SND_SOC_NOPM, 0, 0, + sbus_1_rx_port_mixer_controls, + ARRAY_SIZE(sbus_1_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("INTERNAL_BT_SCO_RX Port Mixer", SND_SOC_NOPM, 0, 0, + bt_sco_rx_port_mixer_controls, + ARRAY_SIZE(bt_sco_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("AFE_PCM_RX Port Mixer", + SND_SOC_NOPM, 0, 0, afe_pcm_rx_port_mixer_controls, + ARRAY_SIZE(afe_pcm_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("HDMI_RX Port Mixer", + SND_SOC_NOPM, 0, 0, hdmi_rx_port_mixer_controls, + ARRAY_SIZE(hdmi_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("HDMI_RX_MS Port Mixer", + SND_SOC_NOPM, 0, 0, hdmi_rx_ms_port_mixer_controls, + ARRAY_SIZE(hdmi_rx_ms_port_mixer_controls)), + SND_SOC_DAPM_MIXER("DISPLAY_PORT_RX Port Mixer", + SND_SOC_NOPM, 0, 0, display_port_rx_port_mixer_controls, + ARRAY_SIZE(display_port_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("DISPLAY_PORT_RX1 Port Mixer", + SND_SOC_NOPM, 0, 0, display_port_rx1_port_mixer_controls, + ARRAY_SIZE(display_port_rx1_port_mixer_controls)), + SND_SOC_DAPM_MIXER("SLIMBUS_3_RX Port Mixer", + SND_SOC_NOPM, 0, 0, sbus_3_rx_port_mixer_controls, + ARRAY_SIZE(sbus_3_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("SLIMBUS_6_RX Port Mixer", + SND_SOC_NOPM, 0, 0, sbus_6_rx_port_mixer_controls, + ARRAY_SIZE(sbus_6_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("WSA_CDC_DMA_RX_0 Port Mixer", SND_SOC_NOPM, 0, 0, + wsa_cdc_dma_rx_0_port_mixer_controls, + ARRAY_SIZE(wsa_cdc_dma_rx_0_port_mixer_controls)), + SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_0 Port Mixer", SND_SOC_NOPM, 0, 0, + rx_cdc_dma_rx_0_port_mixer_controls, + ARRAY_SIZE(rx_cdc_dma_rx_0_port_mixer_controls)), + SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_1 Port Mixer", SND_SOC_NOPM, 0, 0, + rx_cdc_dma_rx_1_port_mixer_controls, + ARRAY_SIZE(rx_cdc_dma_rx_1_port_mixer_controls)), + SND_SOC_DAPM_MIXER("QCHAT_Tx Mixer", + SND_SOC_NOPM, 0, 0, tx_qchat_mixer_controls, + ARRAY_SIZE(tx_qchat_mixer_controls)), + SND_SOC_DAPM_MIXER("USB_AUDIO_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, usb_audio_rx_voice_mixer_controls, + ARRAY_SIZE(usb_audio_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("USB_AUDIO_RX Port Mixer", + SND_SOC_NOPM, 0, 0, usb_rx_port_mixer_controls, + ARRAY_SIZE(usb_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("DISPLAY_PORT_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, display_port_rx_voice_mixer_controls, + ARRAY_SIZE(display_port_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("DISPLAY_PORT_RX1_Voice Mixer", + SND_SOC_NOPM, 0, 0, display_port_rx1_voice_mixer_controls, + ARRAY_SIZE(display_port_rx1_voice_mixer_controls)), + /* lsm mixer definitions */ + SND_SOC_DAPM_MIXER("LSM1 Mixer", SND_SOC_NOPM, 0, 0, + lsm1_mixer_controls, ARRAY_SIZE(lsm1_mixer_controls)), + SND_SOC_DAPM_MIXER("LSM2 Mixer", SND_SOC_NOPM, 0, 0, + lsm2_mixer_controls, ARRAY_SIZE(lsm2_mixer_controls)), + SND_SOC_DAPM_MIXER("LSM3 Mixer", SND_SOC_NOPM, 0, 0, + lsm3_mixer_controls, ARRAY_SIZE(lsm3_mixer_controls)), + SND_SOC_DAPM_MIXER("LSM4 Mixer", SND_SOC_NOPM, 0, 0, + lsm4_mixer_controls, ARRAY_SIZE(lsm4_mixer_controls)), + SND_SOC_DAPM_MIXER("LSM5 Mixer", SND_SOC_NOPM, 0, 0, + lsm5_mixer_controls, ARRAY_SIZE(lsm5_mixer_controls)), + SND_SOC_DAPM_MIXER("LSM6 Mixer", SND_SOC_NOPM, 0, 0, + lsm6_mixer_controls, ARRAY_SIZE(lsm6_mixer_controls)), + SND_SOC_DAPM_MIXER("LSM7 Mixer", SND_SOC_NOPM, 0, 0, + lsm7_mixer_controls, ARRAY_SIZE(lsm7_mixer_controls)), + SND_SOC_DAPM_MIXER("LSM8 Mixer", SND_SOC_NOPM, 0, 0, + lsm8_mixer_controls, ARRAY_SIZE(lsm8_mixer_controls)), + /* Virtual Pins to force backends ON atm */ + SND_SOC_DAPM_OUTPUT("BE_OUT"), + SND_SOC_DAPM_INPUT("BE_IN"), + + SND_SOC_DAPM_MUX("SLIM0_RX_VI_FB_LCH_MUX", SND_SOC_NOPM, 0, 0, + &slim0_rx_vi_fb_lch_mux), + SND_SOC_DAPM_MUX("SLIM0_RX_VI_FB_RCH_MUX", SND_SOC_NOPM, 0, 0, + &slim0_rx_vi_fb_rch_mux), + SND_SOC_DAPM_MUX("WSA_RX_0_VI_FB_LCH_MUX", SND_SOC_NOPM, 0, 0, + &wsa_rx_0_vi_fb_lch_mux), + SND_SOC_DAPM_MUX("WSA_RX_0_VI_FB_RCH_MUX", SND_SOC_NOPM, 0, 0, + &wsa_rx_0_vi_fb_rch_mux), + SND_SOC_DAPM_MUX("VOC_EXT_EC MUX", SND_SOC_NOPM, 0, 0, + &voc_ext_ec_mux), + SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL1 MUX", SND_SOC_NOPM, 0, 0, + &ext_ec_ref_mux_ul1), + SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL2 MUX", SND_SOC_NOPM, 0, 0, + &ext_ec_ref_mux_ul2), + SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL3 MUX", SND_SOC_NOPM, 0, 0, + &ext_ec_ref_mux_ul3), + SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL4 MUX", SND_SOC_NOPM, 0, 0, + &ext_ec_ref_mux_ul4), + SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL5 MUX", SND_SOC_NOPM, 0, 0, + &ext_ec_ref_mux_ul5), + SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL6 MUX", SND_SOC_NOPM, 0, 0, + &ext_ec_ref_mux_ul6), + SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL8 MUX", SND_SOC_NOPM, 0, 0, + &ext_ec_ref_mux_ul8), + SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL9 MUX", SND_SOC_NOPM, 0, 0, + &ext_ec_ref_mux_ul9), + SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL10 MUX", SND_SOC_NOPM, 0, 0, + &ext_ec_ref_mux_ul10), + SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL16 MUX", SND_SOC_NOPM, 0, 0, + &ext_ec_ref_mux_ul16), + SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL17 MUX", SND_SOC_NOPM, 0, 0, + &ext_ec_ref_mux_ul17), + SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL18 MUX", SND_SOC_NOPM, 0, 0, + &ext_ec_ref_mux_ul18), + SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL19 MUX", SND_SOC_NOPM, 0, 0, + &ext_ec_ref_mux_ul19), + SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL28 MUX", SND_SOC_NOPM, 0, 0, + &ext_ec_ref_mux_ul28), + SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL29 MUX", SND_SOC_NOPM, 0, 0, + &ext_ec_ref_mux_ul29), + SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL30 MUX", SND_SOC_NOPM, 0, 0, + &ext_ec_ref_mux_ul30), +}; + +#ifndef CONFIG_AUXPCM_DISABLE +static const struct snd_soc_dapm_widget msm_qdsp6_widgets_aux_pcm[] = { + /* Frontend AIF */ + /* Widget name equals to Front-End DAI name, + * Stream name must contains substring of front-end dai name + */ + SND_SOC_DAPM_AIF_IN("AUXPCM_DL_HL", "AUXPCM_HOSTLESS Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("AUXPCM_UL_HL", "AUXPCM_HOSTLESS Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEC_AUXPCM_DL_HL", "SEC_AUXPCM_HOSTLESS Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEC_AUXPCM_UL_HL", "SEC_AUXPCM_HOSTLESS Capture", + 0, 0, 0, 0), + /* LSM */ + /* Backend AIF */ + /* Stream name equals to backend dai link stream name */ + /* incall */ + SND_SOC_DAPM_AIF_OUT("AUX_PCM_RX", "AUX PCM Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("AUX_PCM_TX", "AUX PCM Capture", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEC_AUX_PCM_RX", "Sec AUX PCM Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEC_AUX_PCM_TX", "Sec AUX PCM Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("TERT_AUX_PCM_RX", "Tert AUX PCM Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("TERT_AUX_PCM_TX", "Tert AUX PCM Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("QUAT_AUX_PCM_RX", "Quat AUX PCM Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("QUAT_AUX_PCM_TX", "Quat AUX PCM Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("QUIN_AUX_PCM_RX", "Quin AUX PCM Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("QUIN_AUX_PCM_TX", "Quin AUX PCM Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEN_AUX_PCM_RX", "Sen AUX PCM Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEN_AUX_PCM_TX", "Sen AUX PCM Capture", + 0, 0, 0, 0), + /* In- call recording */ + + /* Switch Definitions */ + + /* Mixer definitions */ + SND_SOC_DAPM_MIXER("AUX_PCM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + auxpcm_rx_mixer_controls, ARRAY_SIZE(auxpcm_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("SEC_AUX_PCM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + sec_auxpcm_rx_mixer_controls, ARRAY_SIZE(sec_auxpcm_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("TERT_AUX_PCM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + tert_auxpcm_rx_mixer_controls, + ARRAY_SIZE(tert_auxpcm_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("QUAT_AUX_PCM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + quat_auxpcm_rx_mixer_controls, + ARRAY_SIZE(quat_auxpcm_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("QUIN_AUX_PCM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + quin_auxpcm_rx_mixer_controls, + ARRAY_SIZE(quin_auxpcm_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("SEN_AUX_PCM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + sen_auxpcm_rx_mixer_controls, + ARRAY_SIZE(sen_auxpcm_rx_mixer_controls)), + /* incall */ + /* Voice Mixer */ + SND_SOC_DAPM_MIXER("SEC_AUX_PCM_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + sec_aux_pcm_rx_voice_mixer_controls, + ARRAY_SIZE(sec_aux_pcm_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("TERT_AUX_PCM_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + tert_aux_pcm_rx_voice_mixer_controls, + ARRAY_SIZE(tert_aux_pcm_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("QUAT_AUX_PCM_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + quat_aux_pcm_rx_voice_mixer_controls, + ARRAY_SIZE(quat_aux_pcm_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("QUIN_AUX_PCM_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + quin_aux_pcm_rx_voice_mixer_controls, + ARRAY_SIZE(quin_aux_pcm_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("SEN_AUX_PCM_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + sen_aux_pcm_rx_voice_mixer_controls, + ARRAY_SIZE(sen_aux_pcm_rx_voice_mixer_controls)), + /* port mixer */ + SND_SOC_DAPM_MIXER("AUX_PCM_RX Port Mixer", + SND_SOC_NOPM, 0, 0, aux_pcm_rx_port_mixer_controls, + ARRAY_SIZE(aux_pcm_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("SEC_AUXPCM_RX Port Mixer", + SND_SOC_NOPM, 0, 0, sec_auxpcm_rx_port_mixer_controls, + ARRAY_SIZE(sec_auxpcm_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("TERT_AUXPCM_RX Port Mixer", + SND_SOC_NOPM, 0, 0, tert_auxpcm_rx_port_mixer_controls, + ARRAY_SIZE(tert_auxpcm_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("QUAT_AUXPCM_RX Port Mixer", + SND_SOC_NOPM, 0, 0, quat_auxpcm_rx_port_mixer_controls, + ARRAY_SIZE(quat_auxpcm_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("QUIN_AUXPCM_RX Port Mixer", + SND_SOC_NOPM, 0, 0, quin_auxpcm_rx_port_mixer_controls, + ARRAY_SIZE(quin_auxpcm_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("SEN_AUXPCM_RX Port Mixer", + SND_SOC_NOPM, 0, 0, sen_auxpcm_rx_port_mixer_controls, + ARRAY_SIZE(sen_auxpcm_rx_port_mixer_controls)), +}; +#endif + +#ifndef CONFIG_MI2S_DISABLE +static const struct snd_soc_dapm_widget msm_qdsp6_widgets_mi2s[] = { + /* Frontend AIF */ + /* Widget name equals to Front-End DAI name, + * Stream name must contains substring of front-end dai name + */ SND_SOC_DAPM_AIF_IN("SEC_I2S_DL_HL", "SEC_I2S_RX_HOSTLESS Playback", 0, 0, 0, 0), SND_SOC_DAPM_AIF_IN("INT0_MI2S_DL_HL", @@ -24963,14 +25821,6 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { "Senary MI2S_RX Hostless Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("AUXPCM_DL_HL", "AUXPCM_HOSTLESS Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("AUXPCM_UL_HL", "AUXPCM_HOSTLESS Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SEC_AUXPCM_DL_HL", "SEC_AUXPCM_HOSTLESS Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SEC_AUXPCM_UL_HL", "SEC_AUXPCM_HOSTLESS Capture", - 0, 0, 0, 0), SND_SOC_DAPM_AIF_OUT("MI2S_UL_HL", "MI2S_TX_HOSTLESS Capture", 0, 0, 0, 0), SND_SOC_DAPM_AIF_OUT("INT3_MI2S_UL_HL", @@ -24987,8 +25837,7 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { 0, 0, 0, 0), SND_SOC_DAPM_AIF_OUT("MI2S_DL_HL", "MI2S_RX_HOSTLESS Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("DTMF_DL_HL", "DTMF_RX_HOSTLESS Playback", - 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("QUAT_MI2S_UL_HL", "Quaternary MI2S_TX Hostless Capture", 0, 0, 0, 0), @@ -24998,7 +25847,210 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { SND_SOC_DAPM_AIF_OUT("SEN_MI2S_UL_HL", "Senary MI2S_TX Hostless Capture", 0, 0, 0, 0), + /* LSM */ + /* Backend AIF */ + /* Stream name equals to backend dai link stream name */ + SND_SOC_DAPM_AIF_OUT("PRI_I2S_RX", "Primary I2S Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEC_I2S_RX", "Secondary I2S Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("MI2S_RX", "MI2S Playback", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("QUAT_MI2S_RX", "Quaternary MI2S Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("TERT_MI2S_RX", "Tertiary MI2S Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEC_MI2S_RX", "Secondary MI2S Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEC_MI2S_RX_SD1", + "Secondary MI2S Playback SD1", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("PRI_MI2S_RX", "Primary MI2S Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("INT0_MI2S_RX", "INT0 MI2S Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("INT2_MI2S_RX", "INT2 MI2S Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("INT3_MI2S_RX", "INT3 MI2S Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("INT5_MI2S_RX", "INT5 MI2S Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("INT4_MI2S_RX", "INT4 MI2S Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("INT4_MI2S_TX", "INT4 MI2S Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("QUIN_MI2S_RX", "Quinary MI2S Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEN_MI2S_RX", "Senary MI2S Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("PRI_I2S_TX", "Primary I2S Capture", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("MI2S_TX", "MI2S Capture", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("QUAT_MI2S_TX", "Quaternary MI2S Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("PRI_MI2S_TX", "Primary MI2S Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("TERT_MI2S_TX", "Tertiary MI2S Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("INT0_MI2S_TX", "INT0 MI2S Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("INT2_MI2S_TX", "INT2 MI2S Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("INT3_MI2S_TX", "INT3 MI2S Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SEC_MI2S_TX", "Secondary MI2S Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("QUIN_MI2S_TX", "Quinary MI2S Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SENARY_MI2S_TX", "Senary MI2S Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("PRI_META_MI2S_RX", "Primary META MI2S Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEC_META_MI2S_RX", "Secondary META MI2S Playback", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("SENARY_TX", "Senary_mi2s Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("INT5_MI2S_TX", "INT5 MI2S Capture", + 0, 0, 0, 0), + SND_SOC_DAPM_SWITCH("INT0_MI2S_RX_DL_HL", SND_SOC_NOPM, 0, 0, + &int0_mi2s_rx_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("INT4_MI2S_RX_DL_HL", SND_SOC_NOPM, 0, 0, + &int4_mi2s_rx_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("PRI_MI2S_RX_DL_HL", SND_SOC_NOPM, 0, 0, + &pri_mi2s_rx_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("SEC_MI2S_RX_DL_HL", SND_SOC_NOPM, 0, 0, + &sec_mi2s_rx_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("TERT_MI2S_RX_DL_HL", SND_SOC_NOPM, 0, 0, + &tert_mi2s_rx_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("QUAT_MI2S_RX_DL_HL", SND_SOC_NOPM, 0, 0, + &quat_mi2s_rx_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("QUIN_MI2S_RX_DL_HL", SND_SOC_NOPM, 0, 0, + &quin_mi2s_rx_switch_mixer_controls), + SND_SOC_DAPM_SWITCH("SEN_MI2S_RX_DL_HL", SND_SOC_NOPM, 0, 0, + &sen_mi2s_rx_switch_mixer_controls), + SND_SOC_DAPM_MIXER("MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + mi2s_rx_mixer_controls, ARRAY_SIZE(mi2s_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("QUAT_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + quaternary_mi2s_rx_mixer_controls, + ARRAY_SIZE(quaternary_mi2s_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("TERT_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + tertiary_mi2s_rx_mixer_controls, + ARRAY_SIZE(tertiary_mi2s_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("SEC_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + secondary_mi2s_rx_mixer_controls, + ARRAY_SIZE(secondary_mi2s_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("SEC_MI2S_RX_SD1 Audio Mixer", SND_SOC_NOPM, 0, 0, + secondary_mi2s_rx2_mixer_controls, + ARRAY_SIZE(secondary_mi2s_rx2_mixer_controls)), + SND_SOC_DAPM_MIXER("PRI_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + primary_mi2s_rx_mixer_controls, + ARRAY_SIZE(primary_mi2s_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("INT0_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + int0_mi2s_rx_mixer_controls, + ARRAY_SIZE(int0_mi2s_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("INT4_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + int4_mi2s_rx_mixer_controls, + ARRAY_SIZE(int4_mi2s_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("QUIN_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + quinary_mi2s_rx_mixer_controls, + ARRAY_SIZE(quinary_mi2s_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("SEN_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + senary_mi2s_rx_mixer_controls, + ARRAY_SIZE(senary_mi2s_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("PRI_META_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + pri_meta_mi2s_rx_mixer_controls, + ARRAY_SIZE(pri_meta_mi2s_rx_mixer_controls)), + SND_SOC_DAPM_MIXER("SEC_META_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, + sec_meta_mi2s_rx_mixer_controls, + ARRAY_SIZE(sec_meta_mi2s_rx_mixer_controls)), + /* incall */ + /* Voice Mixer */ + SND_SOC_DAPM_MIXER("PRI_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, pri_rx_voice_mixer_controls, + ARRAY_SIZE(pri_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("SEC_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + sec_i2s_rx_voice_mixer_controls, + ARRAY_SIZE(sec_i2s_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("SEC_MI2S_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + sec_mi2s_rx_voice_mixer_controls, + ARRAY_SIZE(sec_mi2s_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("MI2S_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + mi2s_rx_voice_mixer_controls, + ARRAY_SIZE(mi2s_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("PRI_MI2S_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + pri_mi2s_rx_voice_mixer_controls, + ARRAY_SIZE(pri_mi2s_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("INT0_MI2S_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + int0_mi2s_rx_voice_mixer_controls, + ARRAY_SIZE(int0_mi2s_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("INT4_MI2S_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + int4_mi2s_rx_voice_mixer_controls, + ARRAY_SIZE(int4_mi2s_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("TERT_MI2S_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + tert_mi2s_rx_voice_mixer_controls, + ARRAY_SIZE(tert_mi2s_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("QUAT_MI2S_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + quat_mi2s_rx_voice_mixer_controls, + ARRAY_SIZE(quat_mi2s_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("QUIN_MI2S_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + quin_mi2s_rx_voice_mixer_controls, + ARRAY_SIZE(quin_mi2s_rx_voice_mixer_controls)), + SND_SOC_DAPM_MIXER("SEN_MI2S_RX_Voice Mixer", + SND_SOC_NOPM, 0, 0, + sen_mi2s_rx_voice_mixer_controls, + ARRAY_SIZE(sen_mi2s_rx_voice_mixer_controls)), + /* port mixer */ + SND_SOC_DAPM_MIXER("SEC_I2S_RX Port Mixer", + SND_SOC_NOPM, 0, 0, sec_i2s_rx_port_mixer_controls, + ARRAY_SIZE(sec_i2s_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0, + mi2s_rx_port_mixer_controls, ARRAY_SIZE(mi2s_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("PRI_MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0, + primary_mi2s_rx_port_mixer_controls, + ARRAY_SIZE(primary_mi2s_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("SEC_MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0, + sec_mi2s_rx_port_mixer_controls, + ARRAY_SIZE(sec_mi2s_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("TERT_MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0, + tert_mi2s_rx_port_mixer_controls, + ARRAY_SIZE(tert_mi2s_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("QUAT_MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0, + quat_mi2s_rx_port_mixer_controls, + ARRAY_SIZE(quat_mi2s_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("QUIN_MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0, + quin_mi2s_rx_port_mixer_controls, + ARRAY_SIZE(quin_mi2s_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("SEN_MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0, + sen_mi2s_rx_port_mixer_controls, + ARRAY_SIZE(sen_mi2s_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("INT0_MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0, + int0_mi2s_rx_port_mixer_controls, + ARRAY_SIZE(int0_mi2s_rx_port_mixer_controls)), + SND_SOC_DAPM_MIXER("INT4_MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0, + int4_mi2s_rx_port_mixer_controls, + ARRAY_SIZE(int4_mi2s_rx_port_mixer_controls)), + SND_SOC_DAPM_MUX("PRI_MI2S_RX_VI_FB_MUX", SND_SOC_NOPM, 0, 0, + &mi2s_rx_vi_fb_mux), + SND_SOC_DAPM_MUX("INT4_MI2S_RX_VI_FB_MONO_CH_MUX", SND_SOC_NOPM, 0, 0, + &int4_mi2s_rx_vi_fb_mono_ch_mux), + SND_SOC_DAPM_MUX("INT4_MI2S_RX_VI_FB_STEREO_CH_MUX", SND_SOC_NOPM, 0, 0, + &int4_mi2s_rx_vi_fb_stereo_ch_mux), +}; +#endif + +#ifndef CONFIG_TDM_DISABLE +static const struct snd_soc_dapm_widget msm_qdsp6_widgets_tdm[] = { + /* Frontend AIF */ + /* Widget name equals to Front-End DAI name, + * Stream name must contains substring of front-end dai name + */ SND_SOC_DAPM_AIF_IN("PRI_TDM_RX_0_DL_HL", "Primary TDM0 Hostless Playback", 0, 0, 0, 0), @@ -25288,111 +26340,8 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { "Senary TDM7 Hostless Capture", 0, 0, 0, 0), - /* LSM */ - SND_SOC_DAPM_AIF_OUT("LSM1_UL_HL", "Listen 1 Audio Service Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("LSM2_UL_HL", "Listen 2 Audio Service Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("LSM3_UL_HL", "Listen 3 Audio Service Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("LSM4_UL_HL", "Listen 4 Audio Service Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("LSM5_UL_HL", "Listen 5 Audio Service Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("LSM6_UL_HL", "Listen 6 Audio Service Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("LSM7_UL_HL", "Listen 7 Audio Service Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("LSM8_UL_HL", "Listen 8 Audio Service Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("QCHAT_DL", "QCHAT Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("QCHAT_UL", "QCHAT Capture", 0, 0, 0, 0), /* Backend AIF */ /* Stream name equals to backend dai link stream name */ - SND_SOC_DAPM_AIF_OUT("PRI_I2S_RX", "Primary I2S Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SEC_I2S_RX", "Secondary I2S Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("PRI_SPDIF_RX", "Primary SPDIF Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("PRI_SPDIF_TX", "Primary SPDIF Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SEC_SPDIF_RX", "Secondary SPDIF Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SEC_SPDIF_TX", "Secondary SPDIF Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SLIMBUS_0_RX", "Slimbus Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SLIMBUS_2_RX", "Slimbus2 Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SLIMBUS_5_RX", "Slimbus5 Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("HDMI", "HDMI Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("HDMI_MS", "HDMI MS Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("DISPLAY_PORT", "Display Port Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("DISPLAY_PORT1", "Display Port1 Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("MI2S_RX", "MI2S Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("QUAT_MI2S_RX", "Quaternary MI2S Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("TERT_MI2S_RX", "Tertiary MI2S Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SEC_MI2S_RX", "Secondary MI2S Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SEC_MI2S_RX_SD1", - "Secondary MI2S Playback SD1", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("PRI_MI2S_RX", "Primary MI2S Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("INT0_MI2S_RX", "INT0 MI2S Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("INT2_MI2S_RX", "INT2 MI2S Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("INT3_MI2S_RX", "INT3 MI2S Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("INT5_MI2S_RX", "INT5 MI2S Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("INT4_MI2S_RX", "INT4 MI2S Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("INT4_MI2S_TX", "INT4 MI2S Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("QUIN_MI2S_RX", "Quinary MI2S Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SEN_MI2S_RX", "Senary MI2S Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("PRI_I2S_TX", "Primary I2S Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("MI2S_TX", "MI2S Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("QUAT_MI2S_TX", "Quaternary MI2S Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("PRI_MI2S_TX", "Primary MI2S Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("TERT_MI2S_TX", "Tertiary MI2S Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("INT0_MI2S_TX", "INT0 MI2S Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("INT2_MI2S_TX", "INT2 MI2S Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("INT3_MI2S_TX", "INT3 MI2S Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SEC_MI2S_TX", "Secondary MI2S Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SLIMBUS_0_TX", "Slimbus Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SLIMBUS_2_TX", "Slimbus2 Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("QUIN_MI2S_TX", "Quinary MI2S Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SENARY_MI2S_TX", "Senary MI2S Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("INT_BT_SCO_RX", "Internal BT-SCO Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("INT_BT_SCO_TX", "Internal BT-SCO Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("INT_BT_A2DP_RX", "Internal BT-A2DP Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("INT_FM_RX", "Internal FM Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("INT_FM_TX", "Internal FM Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("PCM_RX", "AFE Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("PCM_TX", "AFE Capture", - 0, 0, 0, 0), SND_SOC_DAPM_AIF_OUT("PRI_TDM_RX_0", "Primary TDM0 Playback", 0, 0, 0, 0), SND_SOC_DAPM_AIF_IN("PRI_TDM_TX_0", "Primary TDM0 Capture", @@ -25585,233 +26534,7 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { 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("PRI_META_MI2S_RX", "Primary META MI2S Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SEC_META_MI2S_RX", "Secondary META MI2S Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("WSA_CDC_DMA_RX_0", "WSA CDC DMA0 Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("WSA_CDC_DMA_TX_0", "WSA CDC DMA0 Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("WSA_CDC_DMA_RX_1", "WSA CDC DMA1 Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("WSA_CDC_DMA_TX_1", "WSA CDC DMA1 Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("WSA_CDC_DMA_TX_2", "WSA CDC DMA2 Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("VA_CDC_DMA_TX_0", "VA CDC DMA0 Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("VA_CDC_DMA_TX_1", "VA CDC DMA1 Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("VA_CDC_DMA_TX_2", "VA CDC DMA2 Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("RX_CDC_DMA_RX_0", "RX CDC DMA0 Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("TX_CDC_DMA_TX_0", "TX CDC DMA0 Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("RX_CDC_DMA_RX_1", "RX CDC DMA1 Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("TX_CDC_DMA_TX_1", "TX CDC DMA1 Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("RX_CDC_DMA_RX_2", "RX CDC DMA2 Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("TX_CDC_DMA_TX_2", "TX CDC DMA2 Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("RX_CDC_DMA_RX_3", "RX CDC DMA3 Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("TX_CDC_DMA_TX_3", "TX CDC DMA3 Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("RX_CDC_DMA_RX_4", "RX CDC DMA4 Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("TX_CDC_DMA_TX_4", "TX CDC DMA4 Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("RX_CDC_DMA_RX_5", "RX CDC DMA5 Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("TX_CDC_DMA_TX_5", "TX CDC DMA5 Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("RX_CDC_DMA_RX_6", "RX CDC DMA6 Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("RX_CDC_DMA_RX_7", "RX CDC DMA7 Playback", - 0, 0, 0, 0), - /* incall */ - SND_SOC_DAPM_AIF_OUT("VOICE_PLAYBACK_TX", "Voice Farend Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("VOICE2_PLAYBACK_TX", "Voice2 Farend Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SLIMBUS_4_RX", "Slimbus4 Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("INCALL_RECORD_TX", "Voice Uplink Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("INCALL_RECORD_RX", "Voice Downlink Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SLIMBUS_4_TX", "Slimbus4 Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SENARY_TX", "Senary_mi2s Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("INT5_MI2S_TX", "INT5 MI2S Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SLIMBUS_5_TX", "Slimbus5 Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("AUX_PCM_RX", "AUX PCM Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("AUX_PCM_TX", "AUX PCM Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SEC_AUX_PCM_RX", "Sec AUX PCM Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SEC_AUX_PCM_TX", "Sec AUX PCM Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("TERT_AUX_PCM_RX", "Tert AUX PCM Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("TERT_AUX_PCM_TX", "Tert AUX PCM Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("QUAT_AUX_PCM_RX", "Quat AUX PCM Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("QUAT_AUX_PCM_TX", "Quat AUX PCM Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("QUIN_AUX_PCM_RX", "Quin AUX PCM Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("QUIN_AUX_PCM_TX", "Quin AUX PCM Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SEN_AUX_PCM_RX", "Sen AUX PCM Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SEN_AUX_PCM_TX", "Sen AUX PCM Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("VOICE_STUB_DL", "VOICE_STUB Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("VOICE_STUB_UL", "VOICE_STUB Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("VOICE2_STUB_DL", "VOICE2_STUB Playback", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("VOICE2_STUB_UL", "VOICE2_STUB Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("VOLTE_STUB_DL", "VOLTE_STUB Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("VOLTE_STUB_UL", "VOLTE_STUB Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("STUB_RX", "Stub Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("STUB_TX", "Stub Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SLIMBUS_1_RX", "Slimbus1 Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SLIMBUS_1_TX", "Slimbus1 Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("STUB_1_TX", "Stub1 Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SLIMBUS_3_RX", "Slimbus3 Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SLIMBUS_3_TX", "Slimbus3 Capture", 0, 0, 0, 0), - /* In- call recording */ - SND_SOC_DAPM_AIF_OUT("SLIMBUS_6_RX", "Slimbus6 Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SLIMBUS_6_TX", "Slimbus6 Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("AFE_LOOPBACK_TX", "AFE Loopback Capture", - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SLIMBUS_7_RX", "Slimbus7 Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SLIMBUS_7_TX", "Slimbus7 Capture", 0, 0, 0, 0), - - SND_SOC_DAPM_AIF_OUT("SLIMBUS_8_RX", "Slimbus8 Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SLIMBUS_8_TX", "Slimbus8 Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SLIMBUS_9_RX", "Slimbus9 Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SLIMBUS_9_TX", "Slimbus9 Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("USB_AUDIO_RX", "USB Audio Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("USB_AUDIO_TX", "USB Audio Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("PROXY_RX", "Proxy Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("PROXY_TX", "Proxy Capture", 0, 0, 0, 0), - - /* Switch Definitions */ - SND_SOC_DAPM_SWITCH("SLIMBUS_DL_HL", SND_SOC_NOPM, 0, 0, - &slim_fm_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("SLIMBUS1_DL_HL", SND_SOC_NOPM, 0, 0, - &slim1_fm_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("SLIMBUS3_DL_HL", SND_SOC_NOPM, 0, 0, - &slim3_fm_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("SLIMBUS4_DL_HL", SND_SOC_NOPM, 0, 0, - &slim4_fm_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("SLIMBUS6_DL_HL", SND_SOC_NOPM, 0, 0, - &slim6_fm_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("PCM_RX_DL_HL", SND_SOC_NOPM, 0, 0, - &pcm_rx_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("INT0_MI2S_RX_DL_HL", SND_SOC_NOPM, 0, 0, - &int0_mi2s_rx_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("INT4_MI2S_RX_DL_HL", SND_SOC_NOPM, 0, 0, - &int4_mi2s_rx_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("PRI_MI2S_RX_DL_HL", SND_SOC_NOPM, 0, 0, - &pri_mi2s_rx_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("SEC_MI2S_RX_DL_HL", SND_SOC_NOPM, 0, 0, - &sec_mi2s_rx_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("TERT_MI2S_RX_DL_HL", SND_SOC_NOPM, 0, 0, - &tert_mi2s_rx_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("QUAT_MI2S_RX_DL_HL", SND_SOC_NOPM, 0, 0, - &quat_mi2s_rx_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("QUIN_MI2S_RX_DL_HL", SND_SOC_NOPM, 0, 0, - &quin_mi2s_rx_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("SCO_SLIM7_DL_HL", SND_SOC_NOPM, 0, 0, - &sco_slim7_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("SEN_MI2S_RX_DL_HL", SND_SOC_NOPM, 0, 0, - &sen_mi2s_rx_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("HFP_PRI_AUX_UL_HL", SND_SOC_NOPM, 0, 0, - &hfp_pri_aux_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("HFP_AUX_UL_HL", SND_SOC_NOPM, 0, 0, - &hfp_aux_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("HFP_INT_UL_HL", SND_SOC_NOPM, 0, 0, - &hfp_int_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("HFP_SLIM7_UL_HL", SND_SOC_NOPM, 0, 0, - &hfp_slim7_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("USB_DL_HL", SND_SOC_NOPM, 0, 0, - &usb_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("A2DP_SLIM7_UL_HL", SND_SOC_NOPM, 0, 0, - &a2dp_slim7_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("WSA_CDC_DMA_RX_0_DL_HL", SND_SOC_NOPM, 0, 0, - &cdc_dma_wsa_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("RX_CDC_DMA_RX_0_DL_HL", SND_SOC_NOPM, 0, 0, - &cdc_dma_rx_switch_mixer_controls), - SND_SOC_DAPM_SWITCH("RX_CDC_DMA_RX_1_DL_HL", SND_SOC_NOPM, 0, 0, - &cdc_dma_rx_1_switch_mixer_controls), - - /* Mixer definitions */ - SND_SOC_DAPM_MIXER("PRI_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - pri_i2s_rx_mixer_controls, ARRAY_SIZE(pri_i2s_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("SEC_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - sec_i2s_rx_mixer_controls, ARRAY_SIZE(sec_i2s_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("SLIMBUS_0_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - slimbus_rx_mixer_controls, ARRAY_SIZE(slimbus_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("SLIMBUS_2_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - slimbus_2_rx_mixer_controls, ARRAY_SIZE(slimbus_2_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("SLIMBUS_5_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - slimbus_5_rx_mixer_controls, ARRAY_SIZE(slimbus_5_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("SLIMBUS_7_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - slimbus_7_rx_mixer_controls, ARRAY_SIZE(slimbus_7_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("SLIMBUS_9_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - slimbus_9_rx_mixer_controls, ARRAY_SIZE(slimbus_9_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("HDMI Mixer", SND_SOC_NOPM, 0, 0, - hdmi_mixer_controls, ARRAY_SIZE(hdmi_mixer_controls)), - SND_SOC_DAPM_MIXER("HDMI_MS Mixer", SND_SOC_NOPM, 0, 0, - hdmi_ms_mixer_controls, ARRAY_SIZE(hdmi_ms_mixer_controls)), - SND_SOC_DAPM_MIXER("DISPLAY_PORT Mixer", SND_SOC_NOPM, 0, 0, - display_port_mixer_controls, ARRAY_SIZE(display_port_mixer_controls)), - SND_SOC_DAPM_MIXER("DISPLAY_PORT1 Mixer", SND_SOC_NOPM, 0, 0, - display_port1_mixer_controls, ARRAY_SIZE(display_port1_mixer_controls)), - SND_SOC_DAPM_MIXER("PRI_SPDIF_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - pri_spdif_rx_mixer_controls, ARRAY_SIZE(pri_spdif_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("SEC_SPDIF_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - sec_spdif_rx_mixer_controls, ARRAY_SIZE(sec_spdif_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - mi2s_rx_mixer_controls, ARRAY_SIZE(mi2s_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("QUAT_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - quaternary_mi2s_rx_mixer_controls, - ARRAY_SIZE(quaternary_mi2s_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("TERT_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - tertiary_mi2s_rx_mixer_controls, - ARRAY_SIZE(tertiary_mi2s_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("SEC_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - secondary_mi2s_rx_mixer_controls, - ARRAY_SIZE(secondary_mi2s_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("SEC_MI2S_RX_SD1 Audio Mixer", SND_SOC_NOPM, 0, 0, - secondary_mi2s_rx2_mixer_controls, - ARRAY_SIZE(secondary_mi2s_rx2_mixer_controls)), - SND_SOC_DAPM_MIXER("PRI_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - primary_mi2s_rx_mixer_controls, - ARRAY_SIZE(primary_mi2s_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("INT0_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - int0_mi2s_rx_mixer_controls, - ARRAY_SIZE(int0_mi2s_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("INT4_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - int4_mi2s_rx_mixer_controls, - ARRAY_SIZE(int4_mi2s_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("QUIN_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - quinary_mi2s_rx_mixer_controls, - ARRAY_SIZE(quinary_mi2s_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("SEN_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - senary_mi2s_rx_mixer_controls, - ARRAY_SIZE(senary_mi2s_rx_mixer_controls)), SND_SOC_DAPM_MIXER("PRI_TDM_RX_0 Audio Mixer", SND_SOC_NOPM, 0, 0, pri_tdm_rx_0_mixer_controls, ARRAY_SIZE(pri_tdm_rx_0_mixer_controls)), @@ -25914,208 +26637,8 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { 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("PRI_META_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - pri_meta_mi2s_rx_mixer_controls, - ARRAY_SIZE(pri_meta_mi2s_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("SEC_META_MI2S_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - sec_meta_mi2s_rx_mixer_controls, - ARRAY_SIZE(sec_meta_mi2s_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("WSA_CDC_DMA_RX_0 Audio Mixer", SND_SOC_NOPM, 0, 0, - wsa_cdc_dma_rx_0_mixer_controls, - ARRAY_SIZE(wsa_cdc_dma_rx_0_mixer_controls)), - SND_SOC_DAPM_MIXER("WSA_CDC_DMA_RX_1 Audio Mixer", SND_SOC_NOPM, 0, 0, - wsa_cdc_dma_rx_1_mixer_controls, - ARRAY_SIZE(wsa_cdc_dma_rx_1_mixer_controls)), - SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_0 Audio Mixer", SND_SOC_NOPM, 0, 0, - rx_cdc_dma_rx_0_mixer_controls, - ARRAY_SIZE(rx_cdc_dma_rx_0_mixer_controls)), - SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_1 Audio Mixer", SND_SOC_NOPM, 0, 0, - rx_cdc_dma_rx_1_mixer_controls, - ARRAY_SIZE(rx_cdc_dma_rx_1_mixer_controls)), - SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_2 Audio Mixer", SND_SOC_NOPM, 0, 0, - rx_cdc_dma_rx_2_mixer_controls, - ARRAY_SIZE(rx_cdc_dma_rx_2_mixer_controls)), - SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_3 Audio Mixer", SND_SOC_NOPM, 0, 0, - rx_cdc_dma_rx_3_mixer_controls, - ARRAY_SIZE(rx_cdc_dma_rx_3_mixer_controls)), - SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_4 Audio Mixer", SND_SOC_NOPM, 0, 0, - rx_cdc_dma_rx_4_mixer_controls, - ARRAY_SIZE(rx_cdc_dma_rx_4_mixer_controls)), - SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_5 Audio Mixer", SND_SOC_NOPM, 0, 0, - rx_cdc_dma_rx_5_mixer_controls, - ARRAY_SIZE(rx_cdc_dma_rx_5_mixer_controls)), - SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_6 Audio Mixer", SND_SOC_NOPM, 0, 0, - rx_cdc_dma_rx_6_mixer_controls, - ARRAY_SIZE(rx_cdc_dma_rx_6_mixer_controls)), - SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_7 Audio Mixer", SND_SOC_NOPM, 0, 0, - rx_cdc_dma_rx_7_mixer_controls, - ARRAY_SIZE(rx_cdc_dma_rx_7_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia1 Mixer", SND_SOC_NOPM, 0, 0, - mmul1_mixer_controls, ARRAY_SIZE(mmul1_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia2 Mixer", SND_SOC_NOPM, 0, 0, - mmul2_mixer_controls, ARRAY_SIZE(mmul2_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia3 Mixer", SND_SOC_NOPM, 0, 0, - mmul3_mixer_controls, ARRAY_SIZE(mmul3_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia4 Mixer", SND_SOC_NOPM, 0, 0, - mmul4_mixer_controls, ARRAY_SIZE(mmul4_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia5 Mixer", SND_SOC_NOPM, 0, 0, - mmul5_mixer_controls, ARRAY_SIZE(mmul5_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia6 Mixer", SND_SOC_NOPM, 0, 0, - mmul6_mixer_controls, ARRAY_SIZE(mmul6_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia8 Mixer", SND_SOC_NOPM, 0, 0, - mmul8_mixer_controls, ARRAY_SIZE(mmul8_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia9 Mixer", SND_SOC_NOPM, 0, 0, - mmul9_mixer_controls, ARRAY_SIZE(mmul9_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia10 Mixer", SND_SOC_NOPM, 0, 0, - mmul10_mixer_controls, ARRAY_SIZE(mmul10_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia16 Mixer", SND_SOC_NOPM, 0, 0, - mmul16_mixer_controls, ARRAY_SIZE(mmul16_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia17 Mixer", SND_SOC_NOPM, 0, 0, - mmul17_mixer_controls, ARRAY_SIZE(mmul17_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia18 Mixer", SND_SOC_NOPM, 0, 0, - mmul18_mixer_controls, ARRAY_SIZE(mmul18_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia19 Mixer", SND_SOC_NOPM, 0, 0, - mmul19_mixer_controls, ARRAY_SIZE(mmul19_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia20 Mixer", SND_SOC_NOPM, 0, 0, - mmul20_mixer_controls, ARRAY_SIZE(mmul20_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia21 Mixer", SND_SOC_NOPM, 0, 0, - mmul21_mixer_controls, ARRAY_SIZE(mmul21_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia22 Mixer", SND_SOC_NOPM, 0, 0, - mmul22_mixer_controls, ARRAY_SIZE(mmul22_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia23 Mixer", SND_SOC_NOPM, 0, 0, - mmul23_mixer_controls, ARRAY_SIZE(mmul23_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia24 Mixer", SND_SOC_NOPM, 0, 0, - mmul24_mixer_controls, ARRAY_SIZE(mmul24_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia25 Mixer", SND_SOC_NOPM, 0, 0, - mmul25_mixer_controls, ARRAY_SIZE(mmul25_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia27 Mixer", SND_SOC_NOPM, 0, 0, - mmul27_mixer_controls, ARRAY_SIZE(mmul27_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia28 Mixer", SND_SOC_NOPM, 0, 0, - mmul28_mixer_controls, ARRAY_SIZE(mmul28_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia29 Mixer", SND_SOC_NOPM, 0, 0, - mmul29_mixer_controls, ARRAY_SIZE(mmul29_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia30 Mixer", SND_SOC_NOPM, 0, 0, - mmul30_mixer_controls, ARRAY_SIZE(mmul30_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia31 Mixer", SND_SOC_NOPM, 0, 0, - mmul31_mixer_controls, ARRAY_SIZE(mmul31_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia32 Mixer", SND_SOC_NOPM, 0, 0, - mmul32_mixer_controls, ARRAY_SIZE(mmul32_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia33 Mixer", SND_SOC_NOPM, 0, 0, - mmul33_mixer_controls, ARRAY_SIZE(mmul33_mixer_controls)), - SND_SOC_DAPM_MIXER("MultiMedia34 Mixer", SND_SOC_NOPM, 0, 0, - mmul34_mixer_controls, ARRAY_SIZE(mmul34_mixer_controls)), - SND_SOC_DAPM_MIXER("AUX_PCM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - auxpcm_rx_mixer_controls, ARRAY_SIZE(auxpcm_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("SEC_AUX_PCM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - sec_auxpcm_rx_mixer_controls, ARRAY_SIZE(sec_auxpcm_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("TERT_AUX_PCM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - tert_auxpcm_rx_mixer_controls, - ARRAY_SIZE(tert_auxpcm_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("QUAT_AUX_PCM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - quat_auxpcm_rx_mixer_controls, - ARRAY_SIZE(quat_auxpcm_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("QUIN_AUX_PCM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - quin_auxpcm_rx_mixer_controls, - ARRAY_SIZE(quin_auxpcm_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("SEN_AUX_PCM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - sen_auxpcm_rx_mixer_controls, - ARRAY_SIZE(sen_auxpcm_rx_mixer_controls)), + /* incall */ - SND_SOC_DAPM_MIXER("Incall_Music Audio Mixer", SND_SOC_NOPM, 0, 0, - incall_music_delivery_mixer_controls, - ARRAY_SIZE(incall_music_delivery_mixer_controls)), - SND_SOC_DAPM_MIXER("Incall_Music_2 Audio Mixer", SND_SOC_NOPM, 0, 0, - incall_music2_delivery_mixer_controls, - ARRAY_SIZE(incall_music2_delivery_mixer_controls)), - SND_SOC_DAPM_MIXER("SLIMBUS_4_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - slimbus_4_rx_mixer_controls, - ARRAY_SIZE(slimbus_4_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("SLIMBUS_6_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - slimbus_6_rx_mixer_controls, - ARRAY_SIZE(slimbus_6_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("USB_AUDIO_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - usb_audio_rx_mixer_controls, - ARRAY_SIZE(usb_audio_rx_mixer_controls)), - /* Voice Mixer */ - SND_SOC_DAPM_MIXER("PRI_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, pri_rx_voice_mixer_controls, - ARRAY_SIZE(pri_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("SEC_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - sec_i2s_rx_voice_mixer_controls, - ARRAY_SIZE(sec_i2s_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("SEC_MI2S_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - sec_mi2s_rx_voice_mixer_controls, - ARRAY_SIZE(sec_mi2s_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("SLIM_0_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - slimbus_rx_voice_mixer_controls, - ARRAY_SIZE(slimbus_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("INTERNAL_BT_SCO_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - bt_sco_rx_voice_mixer_controls, - ARRAY_SIZE(bt_sco_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("AFE_PCM_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - afe_pcm_rx_voice_mixer_controls, - ARRAY_SIZE(afe_pcm_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("AUX_PCM_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - aux_pcm_rx_voice_mixer_controls, - ARRAY_SIZE(aux_pcm_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("SEC_AUX_PCM_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - sec_aux_pcm_rx_voice_mixer_controls, - ARRAY_SIZE(sec_aux_pcm_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("TERT_AUX_PCM_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - tert_aux_pcm_rx_voice_mixer_controls, - ARRAY_SIZE(tert_aux_pcm_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("QUAT_AUX_PCM_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - quat_aux_pcm_rx_voice_mixer_controls, - ARRAY_SIZE(quat_aux_pcm_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("QUIN_AUX_PCM_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - quin_aux_pcm_rx_voice_mixer_controls, - ARRAY_SIZE(quin_aux_pcm_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("SEN_AUX_PCM_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - sen_aux_pcm_rx_voice_mixer_controls, - ARRAY_SIZE(sen_aux_pcm_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("HDMI_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - hdmi_rx_voice_mixer_controls, - ARRAY_SIZE(hdmi_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("MI2S_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - mi2s_rx_voice_mixer_controls, - ARRAY_SIZE(mi2s_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("PRI_MI2S_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - pri_mi2s_rx_voice_mixer_controls, - ARRAY_SIZE(pri_mi2s_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("INT0_MI2S_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - int0_mi2s_rx_voice_mixer_controls, - ARRAY_SIZE(int0_mi2s_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("INT4_MI2S_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - int4_mi2s_rx_voice_mixer_controls, - ARRAY_SIZE(int4_mi2s_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("TERT_MI2S_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - tert_mi2s_rx_voice_mixer_controls, - ARRAY_SIZE(tert_mi2s_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("QUAT_MI2S_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - quat_mi2s_rx_voice_mixer_controls, - ARRAY_SIZE(quat_mi2s_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("QUIN_MI2S_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - quin_mi2s_rx_voice_mixer_controls, - ARRAY_SIZE(quin_mi2s_rx_voice_mixer_controls)), SND_SOC_DAPM_MIXER("PRI_TDM_RX_0_Voice Mixer", SND_SOC_NOPM, 0, 0, pri_tdm_rx_0_voice_mixer_controls, @@ -26132,10 +26655,6 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { SND_SOC_NOPM, 0, 0, pri_tdm_rx_3_voice_mixer_controls, ARRAY_SIZE(pri_tdm_rx_3_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("SEN_MI2S_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - sen_mi2s_rx_voice_mixer_controls, - ARRAY_SIZE(sen_mi2s_rx_voice_mixer_controls)), SND_SOC_DAPM_MIXER("QUAT_TDM_RX_2_Voice Mixer", SND_SOC_NOPM, 0, 0, quat_tdm_rx_2_voice_mixer_controls, @@ -26144,135 +26663,6 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { SND_SOC_NOPM, 0, 0, quin_tdm_rx_2_voice_mixer_controls, ARRAY_SIZE(quin_tdm_rx_2_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("WSA_CDC_DMA_RX_0_Voice Mixer", - SND_SOC_NOPM, 0, 0, - wsa_cdc_dma_rx_0_voice_mixer_controls, - ARRAY_SIZE(wsa_cdc_dma_rx_0_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("PROXY_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - proxy_rx_voice_mixer_controls, - ARRAY_SIZE(proxy_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_0_Voice Mixer", - SND_SOC_NOPM, 0, 0, - rx_cdc_dma_rx_0_voice_mixer_controls, - ARRAY_SIZE(rx_cdc_dma_rx_0_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_1_Voice Mixer", - SND_SOC_NOPM, 0, 0, - rx_cdc_dma_rx_1_voice_mixer_controls, - ARRAY_SIZE(rx_cdc_dma_rx_1_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("Voip_Tx Mixer", - SND_SOC_NOPM, 0, 0, tx_voip_mixer_controls, - ARRAY_SIZE(tx_voip_mixer_controls)), - SND_SOC_DAPM_MIXER("VoiceMMode1_Tx Mixer", - SND_SOC_NOPM, 0, 0, tx_voicemmode1_mixer_controls, - ARRAY_SIZE(tx_voicemmode1_mixer_controls)), - SND_SOC_DAPM_MIXER("VoiceMMode2_Tx Mixer", - SND_SOC_NOPM, 0, 0, tx_voicemmode2_mixer_controls, - ARRAY_SIZE(tx_voicemmode2_mixer_controls)), - SND_SOC_DAPM_MIXER("INTERNAL_BT_SCO_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - int_bt_sco_rx_mixer_controls, ARRAY_SIZE(int_bt_sco_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("INTERNAL_A2DP_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - int_bt_a2dp_rx_mixer_controls, - ARRAY_SIZE(int_bt_a2dp_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("INTERNAL_FM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - int_fm_rx_mixer_controls, ARRAY_SIZE(int_fm_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("AFE_PCM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, - afe_pcm_rx_mixer_controls, ARRAY_SIZE(afe_pcm_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("Voice Stub Tx Mixer", SND_SOC_NOPM, 0, 0, - tx_voice_stub_mixer_controls, ARRAY_SIZE(tx_voice_stub_mixer_controls)), - SND_SOC_DAPM_MIXER("Voice2 Stub Tx Mixer", SND_SOC_NOPM, 0, 0, - tx_voice2_stub_mixer_controls, - ARRAY_SIZE(tx_voice2_stub_mixer_controls)), - SND_SOC_DAPM_MIXER("VoLTE Stub Tx Mixer", SND_SOC_NOPM, 0, 0, - tx_volte_stub_mixer_controls, ARRAY_SIZE(tx_volte_stub_mixer_controls)), - SND_SOC_DAPM_MIXER("STUB_RX Mixer", SND_SOC_NOPM, 0, 0, - stub_rx_mixer_controls, ARRAY_SIZE(stub_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("SLIMBUS_1_RX Mixer", SND_SOC_NOPM, 0, 0, - slimbus_1_rx_mixer_controls, ARRAY_SIZE(slimbus_1_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("SLIMBUS_3_RX_Voice Mixer", SND_SOC_NOPM, 0, 0, - slimbus_3_rx_mixer_controls, ARRAY_SIZE(slimbus_3_rx_mixer_controls)), - SND_SOC_DAPM_MIXER("SLIM_6_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, - slimbus_6_rx_voice_mixer_controls, - ARRAY_SIZE(slimbus_6_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("SLIM_7_RX_Voice Mixer", SND_SOC_NOPM, 0, 0, - slimbus_7_rx_voice_mixer_controls, - ARRAY_SIZE(slimbus_7_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("SLIM_8_RX_Voice Mixer", SND_SOC_NOPM, 0, 0, - slimbus_8_rx_voice_mixer_controls, - ARRAY_SIZE(slimbus_8_rx_voice_mixer_controls)), - /* port mixer */ - SND_SOC_DAPM_MIXER("SLIMBUS_0_RX Port Mixer", - SND_SOC_NOPM, 0, 0, sbus_0_rx_port_mixer_controls, - ARRAY_SIZE(sbus_0_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("AUX_PCM_RX Port Mixer", - SND_SOC_NOPM, 0, 0, aux_pcm_rx_port_mixer_controls, - ARRAY_SIZE(aux_pcm_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("SEC_AUXPCM_RX Port Mixer", - SND_SOC_NOPM, 0, 0, sec_auxpcm_rx_port_mixer_controls, - ARRAY_SIZE(sec_auxpcm_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("TERT_AUXPCM_RX Port Mixer", - SND_SOC_NOPM, 0, 0, tert_auxpcm_rx_port_mixer_controls, - ARRAY_SIZE(tert_auxpcm_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("QUAT_AUXPCM_RX Port Mixer", - SND_SOC_NOPM, 0, 0, quat_auxpcm_rx_port_mixer_controls, - ARRAY_SIZE(quat_auxpcm_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("QUIN_AUXPCM_RX Port Mixer", - SND_SOC_NOPM, 0, 0, quin_auxpcm_rx_port_mixer_controls, - ARRAY_SIZE(quin_auxpcm_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("SEN_AUXPCM_RX Port Mixer", - SND_SOC_NOPM, 0, 0, sen_auxpcm_rx_port_mixer_controls, - ARRAY_SIZE(sen_auxpcm_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("SLIMBUS_1_RX Port Mixer", SND_SOC_NOPM, 0, 0, - sbus_1_rx_port_mixer_controls, - ARRAY_SIZE(sbus_1_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("INTERNAL_BT_SCO_RX Port Mixer", SND_SOC_NOPM, 0, 0, - bt_sco_rx_port_mixer_controls, - ARRAY_SIZE(bt_sco_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("AFE_PCM_RX Port Mixer", - SND_SOC_NOPM, 0, 0, afe_pcm_rx_port_mixer_controls, - ARRAY_SIZE(afe_pcm_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("HDMI_RX Port Mixer", - SND_SOC_NOPM, 0, 0, hdmi_rx_port_mixer_controls, - ARRAY_SIZE(hdmi_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("HDMI_RX_MS Port Mixer", - SND_SOC_NOPM, 0, 0, hdmi_rx_ms_port_mixer_controls, - ARRAY_SIZE(hdmi_rx_ms_port_mixer_controls)), - SND_SOC_DAPM_MIXER("DISPLAY_PORT_RX Port Mixer", - SND_SOC_NOPM, 0, 0, display_port_rx_port_mixer_controls, - ARRAY_SIZE(display_port_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("DISPLAY_PORT_RX1 Port Mixer", - SND_SOC_NOPM, 0, 0, display_port_rx1_port_mixer_controls, - ARRAY_SIZE(display_port_rx1_port_mixer_controls)), - SND_SOC_DAPM_MIXER("SEC_I2S_RX Port Mixer", - SND_SOC_NOPM, 0, 0, sec_i2s_rx_port_mixer_controls, - ARRAY_SIZE(sec_i2s_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("SLIMBUS_3_RX Port Mixer", - SND_SOC_NOPM, 0, 0, sbus_3_rx_port_mixer_controls, - ARRAY_SIZE(sbus_3_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("SLIMBUS_6_RX Port Mixer", - SND_SOC_NOPM, 0, 0, sbus_6_rx_port_mixer_controls, - ARRAY_SIZE(sbus_6_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0, - mi2s_rx_port_mixer_controls, ARRAY_SIZE(mi2s_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("PRI_MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0, - primary_mi2s_rx_port_mixer_controls, - ARRAY_SIZE(primary_mi2s_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("SEC_MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0, - sec_mi2s_rx_port_mixer_controls, - ARRAY_SIZE(sec_mi2s_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("TERT_MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0, - tert_mi2s_rx_port_mixer_controls, - ARRAY_SIZE(tert_mi2s_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("QUAT_MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0, - quat_mi2s_rx_port_mixer_controls, - ARRAY_SIZE(quat_mi2s_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("QUIN_MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0, - quin_mi2s_rx_port_mixer_controls, - ARRAY_SIZE(quin_mi2s_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("SEN_MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0, - sen_mi2s_rx_port_mixer_controls, - ARRAY_SIZE(sen_mi2s_rx_port_mixer_controls)), SND_SOC_DAPM_MIXER("PRI_TDM_RX_0 Port Mixer", SND_SOC_NOPM, 0, 0, pri_tdm_rx_0_port_mixer_controls, ARRAY_SIZE(pri_tdm_rx_0_port_mixer_controls)), @@ -26354,147 +26744,10 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { 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("INT0_MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0, - int0_mi2s_rx_port_mixer_controls, - ARRAY_SIZE(int0_mi2s_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("INT4_MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0, - int4_mi2s_rx_port_mixer_controls, - ARRAY_SIZE(int4_mi2s_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("WSA_CDC_DMA_RX_0 Port Mixer", SND_SOC_NOPM, 0, 0, - wsa_cdc_dma_rx_0_port_mixer_controls, - ARRAY_SIZE(wsa_cdc_dma_rx_0_port_mixer_controls)), - SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_0 Port Mixer", SND_SOC_NOPM, 0, 0, - rx_cdc_dma_rx_0_port_mixer_controls, - ARRAY_SIZE(rx_cdc_dma_rx_0_port_mixer_controls)), - SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_1 Port Mixer", SND_SOC_NOPM, 0, 0, - rx_cdc_dma_rx_1_port_mixer_controls, - ARRAY_SIZE(rx_cdc_dma_rx_1_port_mixer_controls)), - SND_SOC_DAPM_MIXER("QCHAT_Tx Mixer", - SND_SOC_NOPM, 0, 0, tx_qchat_mixer_controls, - ARRAY_SIZE(tx_qchat_mixer_controls)), - SND_SOC_DAPM_MIXER("USB_AUDIO_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, usb_audio_rx_voice_mixer_controls, - ARRAY_SIZE(usb_audio_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("USB_AUDIO_RX Port Mixer", - SND_SOC_NOPM, 0, 0, usb_rx_port_mixer_controls, - ARRAY_SIZE(usb_rx_port_mixer_controls)), - SND_SOC_DAPM_MIXER("DISPLAY_PORT_RX_Voice Mixer", - SND_SOC_NOPM, 0, 0, display_port_rx_voice_mixer_controls, - ARRAY_SIZE(display_port_rx_voice_mixer_controls)), - SND_SOC_DAPM_MIXER("DISPLAY_PORT_RX1_Voice Mixer", - SND_SOC_NOPM, 0, 0, display_port_rx1_voice_mixer_controls, - ARRAY_SIZE(display_port_rx1_voice_mixer_controls)), - /* lsm mixer definitions */ - SND_SOC_DAPM_MIXER("LSM1 Mixer", SND_SOC_NOPM, 0, 0, - lsm1_mixer_controls, ARRAY_SIZE(lsm1_mixer_controls)), - SND_SOC_DAPM_MIXER("LSM2 Mixer", SND_SOC_NOPM, 0, 0, - lsm2_mixer_controls, ARRAY_SIZE(lsm2_mixer_controls)), - SND_SOC_DAPM_MIXER("LSM3 Mixer", SND_SOC_NOPM, 0, 0, - lsm3_mixer_controls, ARRAY_SIZE(lsm3_mixer_controls)), - SND_SOC_DAPM_MIXER("LSM4 Mixer", SND_SOC_NOPM, 0, 0, - lsm4_mixer_controls, ARRAY_SIZE(lsm4_mixer_controls)), - SND_SOC_DAPM_MIXER("LSM5 Mixer", SND_SOC_NOPM, 0, 0, - lsm5_mixer_controls, ARRAY_SIZE(lsm5_mixer_controls)), - SND_SOC_DAPM_MIXER("LSM6 Mixer", SND_SOC_NOPM, 0, 0, - lsm6_mixer_controls, ARRAY_SIZE(lsm6_mixer_controls)), - SND_SOC_DAPM_MIXER("LSM7 Mixer", SND_SOC_NOPM, 0, 0, - lsm7_mixer_controls, ARRAY_SIZE(lsm7_mixer_controls)), - SND_SOC_DAPM_MIXER("LSM8 Mixer", SND_SOC_NOPM, 0, 0, - lsm8_mixer_controls, ARRAY_SIZE(lsm8_mixer_controls)), - /* Virtual Pins to force backends ON atm */ - SND_SOC_DAPM_OUTPUT("BE_OUT"), - SND_SOC_DAPM_INPUT("BE_IN"), - - SND_SOC_DAPM_MUX("SLIM0_RX_VI_FB_LCH_MUX", SND_SOC_NOPM, 0, 0, - &slim0_rx_vi_fb_lch_mux), - SND_SOC_DAPM_MUX("SLIM0_RX_VI_FB_RCH_MUX", SND_SOC_NOPM, 0, 0, - &slim0_rx_vi_fb_rch_mux), - SND_SOC_DAPM_MUX("WSA_RX_0_VI_FB_LCH_MUX", SND_SOC_NOPM, 0, 0, - &wsa_rx_0_vi_fb_lch_mux), - SND_SOC_DAPM_MUX("WSA_RX_0_VI_FB_RCH_MUX", SND_SOC_NOPM, 0, 0, - &wsa_rx_0_vi_fb_rch_mux), - SND_SOC_DAPM_MUX("PRI_MI2S_RX_VI_FB_MUX", SND_SOC_NOPM, 0, 0, - &mi2s_rx_vi_fb_mux), - SND_SOC_DAPM_MUX("INT4_MI2S_RX_VI_FB_MONO_CH_MUX", SND_SOC_NOPM, 0, 0, - &int4_mi2s_rx_vi_fb_mono_ch_mux), - SND_SOC_DAPM_MUX("INT4_MI2S_RX_VI_FB_STEREO_CH_MUX", SND_SOC_NOPM, 0, 0, - &int4_mi2s_rx_vi_fb_stereo_ch_mux), - - SND_SOC_DAPM_MUX("VOC_EXT_EC MUX", SND_SOC_NOPM, 0, 0, - &voc_ext_ec_mux), - SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL1 MUX", SND_SOC_NOPM, 0, 0, - &ext_ec_ref_mux_ul1), - SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL2 MUX", SND_SOC_NOPM, 0, 0, - &ext_ec_ref_mux_ul2), - SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL3 MUX", SND_SOC_NOPM, 0, 0, - &ext_ec_ref_mux_ul3), - SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL4 MUX", SND_SOC_NOPM, 0, 0, - &ext_ec_ref_mux_ul4), - SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL5 MUX", SND_SOC_NOPM, 0, 0, - &ext_ec_ref_mux_ul5), - SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL6 MUX", SND_SOC_NOPM, 0, 0, - &ext_ec_ref_mux_ul6), - SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL8 MUX", SND_SOC_NOPM, 0, 0, - &ext_ec_ref_mux_ul8), - SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL9 MUX", SND_SOC_NOPM, 0, 0, - &ext_ec_ref_mux_ul9), - SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL10 MUX", SND_SOC_NOPM, 0, 0, - &ext_ec_ref_mux_ul10), - SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL16 MUX", SND_SOC_NOPM, 0, 0, - &ext_ec_ref_mux_ul16), - SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL17 MUX", SND_SOC_NOPM, 0, 0, - &ext_ec_ref_mux_ul17), - SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL18 MUX", SND_SOC_NOPM, 0, 0, - &ext_ec_ref_mux_ul18), - SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL19 MUX", SND_SOC_NOPM, 0, 0, - &ext_ec_ref_mux_ul19), - SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL28 MUX", SND_SOC_NOPM, 0, 0, - &ext_ec_ref_mux_ul28), - SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL29 MUX", SND_SOC_NOPM, 0, 0, - &ext_ec_ref_mux_ul29), - SND_SOC_DAPM_MUX("AUDIO_REF_EC_UL30 MUX", SND_SOC_NOPM, 0, 0, - &ext_ec_ref_mux_ul30), }; +#endif static const struct snd_soc_dapm_route intercon[] = { - {"PRI_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"PRI_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"PRI_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"PRI_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"PRI_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"PRI_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"PRI_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"PRI_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"PRI_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, - {"PRI_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"PRI_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"PRI_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"PRI_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"PRI_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"PRI_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"PRI_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"PRI_RX Audio Mixer", "MultiMedia26", "MM_DL26"}, - {"PRI_I2S_RX", NULL, "PRI_RX Audio Mixer"}, - - {"SEC_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"SEC_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"SEC_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"SEC_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"SEC_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"SEC_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"SEC_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"SEC_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"SEC_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, - {"SEC_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"SEC_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"SEC_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"SEC_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"SEC_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"SEC_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"SEC_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"SEC_RX Audio Mixer", "MultiMedia26", "MM_DL26"}, - {"SEC_I2S_RX", NULL, "SEC_RX Audio Mixer"}, - {"SLIMBUS_0_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, {"SLIMBUS_0_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, {"SLIMBUS_0_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, @@ -27006,33 +27259,6 @@ static const struct snd_soc_dapm_route intercon[] = { {"MultiMedia30 Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, {"MultiMedia8 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, {"MultiMedia8 Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, - {"MultiMedia2 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"MultiMedia4 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"MultiMedia17 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"MultiMedia18 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"MultiMedia19 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"MultiMedia28 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"MultiMedia29 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"MultiMedia30 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"MultiMedia8 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"MultiMedia18 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"MultiMedia19 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"MultiMedia28 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"MultiMedia29 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"MultiMedia30 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"MultiMedia17 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"MultiMedia18 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"MultiMedia19 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"MultiMedia28 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"MultiMedia29 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"MultiMedia30 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"MultiMedia17 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"MultiMedia18 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"MultiMedia19 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"MultiMedia28 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"MultiMedia29 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"MultiMedia30 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"MultiMedia8 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, {"MultiMedia3 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, {"MultiMedia3 Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, {"MultiMedia5 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, @@ -27057,212 +27283,1260 @@ static const struct snd_soc_dapm_route intercon[] = { {"MultiMedia29 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, {"MultiMedia30 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, - {"MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"MI2S_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"MI2S_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, - {"MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"MI2S_RX Audio Mixer", "MultiMedia26", "MM_DL26"}, - {"MI2S_RX", NULL, "MI2S_RX Audio Mixer"}, + {"MultiMedia1 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, + {"MultiMedia1 Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, - {"QUAT_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"QUAT_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"QUAT_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"QUAT_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"QUAT_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"QUAT_MI2S_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"QUAT_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"QUAT_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"QUAT_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"QUAT_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"QUAT_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"QUAT_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"QUAT_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"QUAT_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"QUAT_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"QUAT_MI2S_RX Audio Mixer", "MultiMedia21", "MM_DL21"}, - {"QUAT_MI2S_RX Audio Mixer", "MultiMedia26", "MM_DL26"}, - {"QUAT_MI2S_RX", NULL, "QUAT_MI2S_RX Audio Mixer"}, + {"MultiMedia2 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, + {"MultiMedia2 Mixer", "SLIM_6_TX", "SLIMBUS_6_TX"}, + {"MultiMedia2 Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, + {"MultiMedia2 Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, + {"MultiMedia6 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, + {"MultiMedia6 Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, - {"TERT_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"TERT_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"TERT_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"TERT_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"TERT_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"TERT_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"TERT_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"TERT_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"TERT_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"TERT_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"TERT_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"TERT_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"TERT_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"TERT_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"TERT_MI2S_RX Audio Mixer", "MultiMedia26", "MM_DL26"}, - {"TERT_MI2S_RX", NULL, "TERT_MI2S_RX Audio Mixer"}, + {"MultiMedia1 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, + {"MultiMedia1 Mixer", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, + {"MultiMedia1 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, + {"MultiMedia1 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, + {"MultiMedia1 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"MultiMedia1 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"MultiMedia1 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"MultiMedia1 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, + {"MultiMedia1 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, + {"MultiMedia1 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, + {"MultiMedia1 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"MultiMedia1 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, + {"MultiMedia1 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, + {"MultiMedia1 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, + {"MultiMedia1 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, - {"SEC_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"SEC_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"SEC_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"SEC_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"SEC_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"SEC_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"SEC_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"SEC_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"SEC_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"SEC_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"SEC_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"SEC_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"SEC_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"SEC_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"SEC_MI2S_RX Audio Mixer", "MultiMedia26", "MM_DL26"}, - {"SEC_MI2S_RX", NULL, "SEC_MI2S_RX Audio Mixer"}, + {"MultiMedia2 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, + {"MultiMedia2 Mixer", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, + {"MultiMedia2 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, + {"MultiMedia2 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, + {"MultiMedia2 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"MultiMedia2 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"MultiMedia2 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"MultiMedia2 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, + {"MultiMedia2 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, + {"MultiMedia2 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, + {"MultiMedia2 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"MultiMedia2 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, + {"MultiMedia2 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, + {"MultiMedia2 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, + {"MultiMedia2 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, - {"SEC_MI2S_RX_SD1 Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"SEC_MI2S_RX_SD1", NULL, "SEC_MI2S_RX_SD1 Audio Mixer"}, + {"MultiMedia3 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, + {"MultiMedia3 Mixer", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, + {"MultiMedia3 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, + {"MultiMedia3 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, + {"MultiMedia3 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"MultiMedia3 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"MultiMedia3 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"MultiMedia3 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, + {"MultiMedia3 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, + {"MultiMedia3 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, + {"MultiMedia3 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"MultiMedia3 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, + {"MultiMedia3 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, + {"MultiMedia3 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, + {"MultiMedia3 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, - {"SEC_MI2S_RX Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"SEC_MI2S_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"MultiMedia4 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, + {"MultiMedia4 Mixer", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, + {"MultiMedia4 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, + {"MultiMedia4 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, + {"MultiMedia4 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"MultiMedia4 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"MultiMedia4 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"MultiMedia4 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, + {"MultiMedia4 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, + {"MultiMedia4 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, + {"MultiMedia4 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"MultiMedia4 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, + {"MultiMedia4 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, + {"MultiMedia4 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, + {"MultiMedia4 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, - {"PRI_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"PRI_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"PRI_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"PRI_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"PRI_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"PRI_MI2S_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"PRI_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"PRI_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"PRI_MI2S_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, - {"PRI_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"PRI_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"PRI_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"PRI_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"PRI_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"PRI_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"PRI_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"PRI_MI2S_RX Audio Mixer", "MultiMedia26", "MM_DL26"}, - {"PRI_MI2S_RX", NULL, "PRI_MI2S_RX Audio Mixer"}, - {"PRI_MI2S_RX Audio Mixer", "DTMF", "DTMF_DL_HL"}, + {"MultiMedia5 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, + {"MultiMedia5 Mixer", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, + {"MultiMedia5 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, + {"MultiMedia5 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, + {"MultiMedia5 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"MultiMedia5 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"MultiMedia5 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"MultiMedia5 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, + {"MultiMedia5 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, + {"MultiMedia5 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, + {"MultiMedia5 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"MultiMedia5 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, + {"MultiMedia5 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, + {"MultiMedia5 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, + {"MultiMedia5 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, - {"INT0_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"INT0_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"INT0_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"INT0_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"INT0_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"INT0_MI2S_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"INT0_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"INT0_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"INT0_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"INT0_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"INT0_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"INT0_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"INT0_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"INT0_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"INT0_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"INT0_MI2S_RX", NULL, "INT0_MI2S_RX Audio Mixer"}, + {"MultiMedia6 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, + {"MultiMedia6 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, + {"MultiMedia6 Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"}, + {"MultiMedia6 Mixer", "PRI_TDM_TX_3", "PRI_TDM_TX_3"}, + {"MultiMedia6 Mixer", "SEC_TDM_TX_0", "SEC_TDM_TX_0"}, + {"MultiMedia6 Mixer", "SEC_TDM_TX_1", "SEC_TDM_TX_1"}, + {"MultiMedia6 Mixer", "SEC_TDM_TX_2", "SEC_TDM_TX_2"}, + {"MultiMedia6 Mixer", "SEC_TDM_TX_3", "SEC_TDM_TX_3"}, + {"MultiMedia6 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"MultiMedia6 Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"MultiMedia6 Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"MultiMedia6 Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"MultiMedia6 Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"MultiMedia6 Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"MultiMedia6 Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"MultiMedia6 Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"MultiMedia6 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, + {"MultiMedia6 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"MultiMedia6 Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"MultiMedia6 Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"MultiMedia6 Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"MultiMedia6 Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"MultiMedia6 Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"MultiMedia6 Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"MultiMedia6 Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"MultiMedia6 Mixer", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, + {"MultiMedia6 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, + {"MultiMedia6 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, + {"MultiMedia6 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"MultiMedia6 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"MultiMedia6 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"MultiMedia6 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, + {"MultiMedia6 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, + {"MultiMedia6 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, + {"MultiMedia6 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"MultiMedia6 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, + {"MultiMedia6 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, + {"MultiMedia6 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, + {"MultiMedia6 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, - {"INT4_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"INT4_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"INT4_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"INT4_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"INT4_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"INT4_MI2S_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"INT4_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"INT4_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"INT4_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"INT4_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"INT4_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"INT4_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"INT4_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"INT4_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"INT4_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"INT4_MI2S_RX", NULL, "INT4_MI2S_RX Audio Mixer"}, + {"MultiMedia8 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, + {"MultiMedia8 Mixer", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, + {"MultiMedia8 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, + {"MultiMedia8 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, + {"MultiMedia8 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"MultiMedia8 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"MultiMedia8 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"MultiMedia8 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, + {"MultiMedia8 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, + {"MultiMedia8 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, + {"MultiMedia8 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"MultiMedia8 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, + {"MultiMedia8 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, + {"MultiMedia8 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, + {"MultiMedia8 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, - {"QUIN_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"QUIN_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"QUIN_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"QUIN_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"QUIN_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"QUIN_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"QUIN_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"QUIN_MI2S_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"QUIN_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"QUIN_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"QUIN_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"QUIN_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"QUIN_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"QUIN_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"QUIN_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"QUIN_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"QUIN_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"QUIN_MI2S_RX", NULL, "QUIN_MI2S_RX Audio Mixer"}, + {"MultiMedia9 Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, + {"MultiMedia9 Mixer", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, + {"MultiMedia9 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, + {"MultiMedia9 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, + {"MultiMedia9 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"MultiMedia9 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"MultiMedia9 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"MultiMedia9 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, + {"MultiMedia9 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, + {"MultiMedia9 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, + {"MultiMedia9 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"MultiMedia9 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, + {"MultiMedia9 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, + {"MultiMedia9 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, + {"MultiMedia9 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, + {"MultiMedia9 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, - {"SEN_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"SEN_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"SEN_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"SEN_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"SEN_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"SEN_MI2S_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"SEN_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"SEN_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"SEN_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"SEN_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"SEN_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"SEN_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"SEN_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"SEN_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"SEN_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"SEN_MI2S_RX", NULL, "SEN_MI2S_RX Audio Mixer"}, + {"MultiMedia10 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, + {"MultiMedia10 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, + {"MultiMedia10 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, + {"MultiMedia10 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"MultiMedia10 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, + {"MultiMedia10 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, + {"MultiMedia10 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, - {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, - {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia26", "MM_DL26"}, - {"PRI_META_MI2S_RX", NULL, "PRI_META_MI2S_RX Audio Mixer"}, + {"MultiMedia20 Mixer", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, + {"MultiMedia20 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, + {"MultiMedia20 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, + {"MultiMedia20 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"MultiMedia20 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"MultiMedia20 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"MultiMedia20 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, + {"MultiMedia20 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, + {"MultiMedia20 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, + {"MultiMedia20 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"MultiMedia20 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, + {"MultiMedia20 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, + {"MultiMedia20 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, + {"MultiMedia20 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, + {"MultiMedia20 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, - {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, - {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia26", "MM_DL26"}, - {"SEC_META_MI2S_RX", NULL, "SEC_META_MI2S_RX Audio Mixer"}, + {"MultiMedia21 Mixer", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, + {"MultiMedia21 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, + {"MultiMedia21 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, + {"MultiMedia21 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"MultiMedia21 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"MultiMedia21 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"MultiMedia21 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, + {"MultiMedia21 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, + {"MultiMedia21 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, + {"MultiMedia21 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"MultiMedia21 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, + {"MultiMedia21 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, + {"MultiMedia21 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, + {"MultiMedia21 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, + {"MultiMedia21 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, + {"MultiMedia27 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, + {"MultiMedia27 Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, + {"MultiMedia27 Mixer", "SLIM_6_TX", "SLIMBUS_6_TX"}, + {"MultiMedia27 Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"}, + {"MultiMedia27 Mixer", "SLIM_9_TX", "SLIMBUS_9_TX"}, + {"MultiMedia27 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, + {"MultiMedia27 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, + {"MultiMedia27 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, + + {"MultiMedia1 Mixer", "USB_AUDIO_TX", "USB_AUDIO_TX"}, + {"MultiMedia2 Mixer", "USB_AUDIO_TX", "USB_AUDIO_TX"}, + {"MultiMedia4 Mixer", "USB_AUDIO_TX", "USB_AUDIO_TX"}, + {"MultiMedia5 Mixer", "USB_AUDIO_TX", "USB_AUDIO_TX"}, + {"MultiMedia6 Mixer", "USB_AUDIO_TX", "USB_AUDIO_TX"}, + {"MultiMedia8 Mixer", "USB_AUDIO_TX", "USB_AUDIO_TX"}, + {"MultiMedia10 Mixer", "USB_AUDIO_TX", "USB_AUDIO_TX"}, + + {"MultiMedia16 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, + {"MultiMedia16 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, + {"MultiMedia16 Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"}, + {"MultiMedia16 Mixer", "PRI_TDM_TX_3", "PRI_TDM_TX_3"}, + {"MultiMedia16 Mixer", "SEC_TDM_TX_0", "SEC_TDM_TX_0"}, + {"MultiMedia16 Mixer", "SEC_TDM_TX_1", "SEC_TDM_TX_1"}, + {"MultiMedia16 Mixer", "SEC_TDM_TX_2", "SEC_TDM_TX_2"}, + {"MultiMedia16 Mixer", "SEC_TDM_TX_3", "SEC_TDM_TX_3"}, + {"MultiMedia16 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"MultiMedia16 Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"MultiMedia16 Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"MultiMedia16 Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"MultiMedia16 Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"MultiMedia16 Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"MultiMedia16 Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"MultiMedia16 Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"MultiMedia16 Mixer", "USB_AUDIO_TX", "USB_AUDIO_TX"}, + {"MultiMedia16 Mixer", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, + {"MultiMedia16 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, + {"MultiMedia16 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, + {"MultiMedia16 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"MultiMedia16 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"MultiMedia16 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"MultiMedia16 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, + {"MultiMedia16 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, + {"MultiMedia16 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, + {"MultiMedia16 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"MultiMedia16 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, + {"MultiMedia16 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, + {"MultiMedia16 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, + {"MultiMedia16 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, + {"MultiMedia16 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, + + {"MultiMedia17 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, + {"MultiMedia17 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, + {"MultiMedia17 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, + {"MultiMedia17 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"MultiMedia17 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, + {"MultiMedia17 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, + {"MultiMedia17 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, + + {"MultiMedia18 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, + {"MultiMedia18 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, + {"MultiMedia18 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, + {"MultiMedia18 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"MultiMedia18 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, + {"MultiMedia18 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, + {"MultiMedia18 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, + {"MultiMedia18 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"MultiMedia18 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + + {"MultiMedia19 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, + {"MultiMedia19 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, + {"MultiMedia19 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, + {"MultiMedia19 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"MultiMedia19 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, + {"MultiMedia19 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, + {"MultiMedia19 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, + {"MultiMedia19 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"MultiMedia19 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + + {"MultiMedia28 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, + {"MultiMedia28 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, + {"MultiMedia28 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, + {"MultiMedia28 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"MultiMedia28 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, + {"MultiMedia28 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, + {"MultiMedia28 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, + {"MultiMedia28 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"MultiMedia28 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + + {"MultiMedia29 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, + {"MultiMedia29 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, + {"MultiMedia29 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, + {"MultiMedia29 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"MultiMedia29 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, + {"MultiMedia29 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, + {"MultiMedia29 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, + {"MultiMedia29 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"MultiMedia29 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + + {"MultiMedia30 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, + {"MultiMedia30 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, + {"MultiMedia30 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, + {"MultiMedia30 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"MultiMedia30 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, + {"MultiMedia30 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, + {"MultiMedia30 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, + {"MultiMedia30 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"MultiMedia30 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + + {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia6", "MM_UL6"}, + {"INT_BT_SCO_RX", NULL, "INTERNAL_BT_SCO_RX Audio Mixer"}, + + {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia6", "MM_UL6"}, + {"INT_BT_A2DP_RX", NULL, "INTERNAL_A2DP_RX Audio Mixer"}, + + {"INTERNAL_FM_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"INTERNAL_FM_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"INTERNAL_FM_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"INTERNAL_FM_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"INTERNAL_FM_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"INTERNAL_FM_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"INTERNAL_FM_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"INTERNAL_FM_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"INTERNAL_FM_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"INTERNAL_FM_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"INTERNAL_FM_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"INTERNAL_FM_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"INTERNAL_FM_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"INTERNAL_FM_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"INTERNAL_FM_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"INTERNAL_FM_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"INT_FM_RX", NULL, "INTERNAL_FM_RX Audio Mixer"}, + + {"AFE_PCM_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"AFE_PCM_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"AFE_PCM_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"AFE_PCM_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"AFE_PCM_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"AFE_PCM_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"AFE_PCM_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"AFE_PCM_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"AFE_PCM_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"AFE_PCM_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"AFE_PCM_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"AFE_PCM_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"AFE_PCM_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"AFE_PCM_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"AFE_PCM_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"AFE_PCM_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"PCM_RX", NULL, "AFE_PCM_RX Audio Mixer"}, + + {"MultiMedia1 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"MultiMedia3 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"MultiMedia4 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"MultiMedia10 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"MultiMedia17 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"MultiMedia18 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"MultiMedia19 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"MultiMedia28 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"MultiMedia29 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"MultiMedia30 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"MultiMedia5 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"MultiMedia8 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"MultiMedia16 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"MultiMedia1 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"MultiMedia4 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"MultiMedia16 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"MultiMedia17 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"MultiMedia18 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"MultiMedia19 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"MultiMedia28 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"MultiMedia29 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"MultiMedia30 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"MultiMedia5 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"MultiMedia6 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"MultiMedia8 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + + {"MultiMedia1 Mixer", "AFE_PCM_TX", "PCM_TX"}, + {"MultiMedia3 Mixer", "AFE_PCM_TX", "PCM_TX"}, + {"MultiMedia4 Mixer", "AFE_PCM_TX", "PCM_TX"}, + {"MultiMedia10 Mixer", "AFE_PCM_TX", "PCM_TX"}, + {"MultiMedia17 Mixer", "AFE_PCM_TX", "PCM_TX"}, + {"MultiMedia18 Mixer", "AFE_PCM_TX", "PCM_TX"}, + {"MultiMedia19 Mixer", "AFE_PCM_TX", "PCM_TX"}, + {"MultiMedia28 Mixer", "AFE_PCM_TX", "PCM_TX"}, + {"MultiMedia29 Mixer", "AFE_PCM_TX", "PCM_TX"}, + {"MultiMedia30 Mixer", "AFE_PCM_TX", "PCM_TX"}, + {"MultiMedia5 Mixer", "AFE_PCM_TX", "PCM_TX"}, + {"MultiMedia8 Mixer", "AFE_PCM_TX", "PCM_TX"}, + {"MultiMedia16 Mixer", "AFE_PCM_TX", "PCM_TX"}, + {"MM_UL1", NULL, "MultiMedia1 Mixer"}, + {"MultiMedia2 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"MM_UL2", NULL, "MultiMedia2 Mixer"}, + {"MM_UL3", NULL, "MultiMedia3 Mixer"}, + {"MM_UL4", NULL, "MultiMedia4 Mixer"}, + {"MM_UL5", NULL, "MultiMedia5 Mixer"}, + {"MM_UL6", NULL, "MultiMedia6 Mixer"}, + {"MM_UL8", NULL, "MultiMedia8 Mixer"}, + {"MM_UL9", NULL, "MultiMedia9 Mixer"}, + {"MM_UL10", NULL, "MultiMedia10 Mixer"}, + {"MM_UL16", NULL, "MultiMedia16 Mixer"}, + {"MM_UL17", NULL, "MultiMedia17 Mixer"}, + {"MM_UL18", NULL, "MultiMedia18 Mixer"}, + {"MM_UL19", NULL, "MultiMedia19 Mixer"}, + {"MM_UL20", NULL, "MultiMedia20 Mixer"}, + {"MM_UL21", NULL, "MultiMedia21 Mixer"}, + {"MM_UL22", NULL, "MultiMedia22 Mixer"}, + {"MM_UL24", NULL, "MultiMedia24 Mixer"}, + {"MM_UL25", NULL, "MultiMedia25 Mixer"}, + {"MM_UL27", NULL, "MultiMedia27 Mixer"}, + {"MM_UL28", NULL, "MultiMedia28 Mixer"}, + {"MM_UL29", NULL, "MultiMedia29 Mixer"}, + {"MM_UL30", NULL, "MultiMedia30 Mixer"}, + {"MM_UL31", NULL, "MultiMedia31 Mixer"}, + {"MM_UL32", NULL, "MultiMedia32 Mixer"}, + {"MM_UL33", NULL, "MultiMedia33 Mixer"}, + {"MM_UL34", NULL, "MultiMedia34 Mixer"}, + + {"SLIM_0_RX_Voice Mixer", "Voip", "VOIP_DL"}, + {"SLIM_0_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"SLIM_0_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"SLIM_0_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"SLIM_0_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"SLIMBUS_0_RX", NULL, "SLIM_0_RX_Voice Mixer"}, + + {"SLIM_6_RX_Voice Mixer", "Voip", "VOIP_DL"}, + {"SLIM_6_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"SLIM_6_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"SLIM_6_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"SLIM_6_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"SLIMBUS_6_RX", NULL, "SLIM_6_RX_Voice Mixer"}, + + {"USB_AUDIO_RX_Voice Mixer", "Voip", "VOIP_DL"}, + {"USB_AUDIO_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"USB_AUDIO_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"USB_AUDIO_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"USB_AUDIO_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"USB_AUDIO_RX", NULL, "USB_AUDIO_RX_Voice Mixer"}, + + {"DISPLAY_PORT_RX_Voice Mixer", "Voip", "VOIP_DL"}, + {"DISPLAY_PORT_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"DISPLAY_PORT_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"DISPLAY_PORT_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"DISPLAY_PORT_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"DISPLAY_PORT", NULL, "DISPLAY_PORT_RX_Voice Mixer"}, + + {"DISPLAY_PORT_RX1_Voice Mixer", "Voip", "VOIP_DL"}, + {"DISPLAY_PORT_RX1_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"DISPLAY_PORT_RX1_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"DISPLAY_PORT_RX1_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"DISPLAY_PORT_RX1_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"DISPLAY_PORT1", NULL, "DISPLAY_PORT_RX1_Voice Mixer"}, + + {"INTERNAL_BT_SCO_RX_Voice Mixer", "Voip", "VOIP_DL"}, + {"INTERNAL_BT_SCO_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"INTERNAL_BT_SCO_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"INTERNAL_BT_SCO_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"INTERNAL_BT_SCO_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"INT_BT_SCO_RX", NULL, "INTERNAL_BT_SCO_RX_Voice Mixer"}, + + {"AFE_PCM_RX_Voice Mixer", "Voip", "VOIP_DL"}, + {"AFE_PCM_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"AFE_PCM_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"AFE_PCM_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"AFE_PCM_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"PCM_RX", NULL, "AFE_PCM_RX_Voice Mixer"}, + + {"HDMI_RX_Voice Mixer", "Voip", "VOIP_DL"}, + {"HDMI_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"HDMI_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"HDMI_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"HDMI_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"HDMI", NULL, "HDMI_RX_Voice Mixer"}, + {"HDMI", NULL, "HDMI_DL_HL"}, + + {"WSA_CDC_DMA_RX_0_Voice Mixer", "Voip", "VOIP_DL"}, + {"WSA_CDC_DMA_RX_0_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"WSA_CDC_DMA_RX_0_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"WSA_CDC_DMA_RX_0", NULL, "WSA_CDC_DMA_RX_0_Voice Mixer"}, + + {"PROXY_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"PROXY_RX", NULL, "PROXY_RX_Voice Mixer"}, + + {"PROXY_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"PROXY_RX", NULL, "PROXY_RX_Voice Mixer"}, + + {"RX_CDC_DMA_RX_0_Voice Mixer", "Voip", "VOIP_DL"}, + {"RX_CDC_DMA_RX_0_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"RX_CDC_DMA_RX_0_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"RX_CDC_DMA_RX_0", NULL, "RX_CDC_DMA_RX_0_Voice Mixer"}, + + {"RX_CDC_DMA_RX_1_Voice Mixer", "Voip", "VOIP_DL"}, + {"RX_CDC_DMA_RX_1_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"RX_CDC_DMA_RX_1_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"RX_CDC_DMA_RX_1", NULL, "RX_CDC_DMA_RX_1_Voice Mixer"}, + + {"VOC_EXT_EC MUX", "SLIM_1_TX", "SLIMBUS_1_TX"}, + {"VOIP_UL", NULL, "VOC_EXT_EC MUX"}, + {"VOICEMMODE1_UL", NULL, "VOC_EXT_EC MUX"}, + {"VOICEMMODE2_UL", NULL, "VOC_EXT_EC MUX"}, + + {"AUDIO_REF_EC_UL1 MUX", "SLIM_1_TX", "SLIMBUS_1_TX"}, + {"AUDIO_REF_EC_UL10 MUX", "SLIM_1_TX", "SLIMBUS_1_TX"}, + + {"LSM1_UL_HL", NULL, "AUDIO_REF_EC_UL1 MUX"}, + {"LSM2_UL_HL", NULL, "AUDIO_REF_EC_UL1 MUX"}, + {"LSM3_UL_HL", NULL, "AUDIO_REF_EC_UL1 MUX"}, + {"LSM4_UL_HL", NULL, "AUDIO_REF_EC_UL1 MUX"}, + {"LSM5_UL_HL", NULL, "AUDIO_REF_EC_UL1 MUX"}, + {"LSM6_UL_HL", NULL, "AUDIO_REF_EC_UL1 MUX"}, + {"LSM7_UL_HL", NULL, "AUDIO_REF_EC_UL1 MUX"}, + {"LSM8_UL_HL", NULL, "AUDIO_REF_EC_UL1 MUX"}, + + {"MM_UL1", NULL, "AUDIO_REF_EC_UL1 MUX"}, + {"MM_UL2", NULL, "AUDIO_REF_EC_UL2 MUX"}, + {"MM_UL3", NULL, "AUDIO_REF_EC_UL3 MUX"}, + {"MM_UL4", NULL, "AUDIO_REF_EC_UL4 MUX"}, + {"MM_UL5", NULL, "AUDIO_REF_EC_UL5 MUX"}, + {"MM_UL6", NULL, "AUDIO_REF_EC_UL6 MUX"}, + {"MM_UL8", NULL, "AUDIO_REF_EC_UL8 MUX"}, + {"MM_UL9", NULL, "AUDIO_REF_EC_UL9 MUX"}, + {"MM_UL10", NULL, "AUDIO_REF_EC_UL10 MUX"}, + {"MM_UL16", NULL, "AUDIO_REF_EC_UL16 MUX"}, + {"MM_UL17", NULL, "AUDIO_REF_EC_UL17 MUX"}, + {"MM_UL18", NULL, "AUDIO_REF_EC_UL18 MUX"}, + {"MM_UL19", NULL, "AUDIO_REF_EC_UL19 MUX"}, + {"MM_UL28", NULL, "AUDIO_REF_EC_UL28 MUX"}, + {"MM_UL29", NULL, "AUDIO_REF_EC_UL29 MUX"}, + {"MM_UL30", NULL, "AUDIO_REF_EC_UL30 MUX"}, + + {"VoiceMMode1_Tx Mixer", "SLIM_0_TX_MMode1", "SLIMBUS_0_TX"}, + {"VoiceMMode1_Tx Mixer", "SLIM_7_TX_MMode1", "SLIMBUS_7_TX"}, + {"VoiceMMode1_Tx Mixer", "SLIM_8_TX_MMode1", "SLIMBUS_8_TX"}, + {"VoiceMMode1_Tx Mixer", "USB_AUDIO_TX_MMode1", "USB_AUDIO_TX"}, + {"VoiceMMode1_Tx Mixer", "INT_BT_SCO_TX_MMode1", "INT_BT_SCO_TX"}, + {"VoiceMMode1_Tx Mixer", "AFE_PCM_TX_MMode1", "PCM_TX"}, + {"VoiceMMode1_Tx Mixer", "TX_CDC_DMA_TX_0_MMode1", "TX_CDC_DMA_TX_0"}, + {"VoiceMMode1_Tx Mixer", "TX_CDC_DMA_TX_1_MMode1", "TX_CDC_DMA_TX_1"}, + {"VoiceMMode1_Tx Mixer", "TX_CDC_DMA_TX_2_MMode1", "TX_CDC_DMA_TX_2"}, + {"VoiceMMode1_Tx Mixer", "TX_CDC_DMA_TX_3_MMode1", "TX_CDC_DMA_TX_3"}, + {"VoiceMMode1_Tx Mixer", "TX_CDC_DMA_TX_4_MMode1", "TX_CDC_DMA_TX_4"}, + {"VoiceMMode1_Tx Mixer", "TX_CDC_DMA_TX_5_MMode1", "TX_CDC_DMA_TX_5"}, + {"VoiceMMode1_Tx Mixer", "PROXY_TX_MMode1", "PROXY_TX"}, + {"VOICEMMODE1_UL", NULL, "VoiceMMode1_Tx Mixer"}, + + {"VoiceMMode2_Tx Mixer", "SLIM_0_TX_MMode2", "SLIMBUS_0_TX"}, + {"VoiceMMode2_Tx Mixer", "SLIM_7_TX_MMode2", "SLIMBUS_7_TX"}, + {"VoiceMMode2_Tx Mixer", "SLIM_8_TX_MMode2", "SLIMBUS_8_TX"}, + {"VoiceMMode2_Tx Mixer", "USB_AUDIO_TX_MMode2", "USB_AUDIO_TX"}, + {"VoiceMMode2_Tx Mixer", "INT_BT_SCO_TX_MMode2", "INT_BT_SCO_TX"}, + {"VoiceMMode2_Tx Mixer", "AFE_PCM_TX_MMode2", "PCM_TX"}, + {"VoiceMMode2_Tx Mixer", "TX_CDC_DMA_TX_0_MMode2", "TX_CDC_DMA_TX_0"}, + {"VoiceMMode2_Tx Mixer", "TX_CDC_DMA_TX_1_MMode2", "TX_CDC_DMA_TX_1"}, + {"VoiceMMode2_Tx Mixer", "TX_CDC_DMA_TX_2_MMode2", "TX_CDC_DMA_TX_2"}, + {"VoiceMMode2_Tx Mixer", "TX_CDC_DMA_TX_3_MMode2", "TX_CDC_DMA_TX_3"}, + {"VoiceMMode2_Tx Mixer", "TX_CDC_DMA_TX_4_MMode2", "TX_CDC_DMA_TX_4"}, + {"VoiceMMode2_Tx Mixer", "TX_CDC_DMA_TX_5_MMode2", "TX_CDC_DMA_TX_5"}, + {"VoiceMMode2_Tx Mixer", "QUAT_MI2S_TX_MMode2", "QUAT_MI2S_TX"}, + {"VoiceMMode2_Tx Mixer", "QUIN_MI2S_TX_MMode2", "QUIN_MI2S_TX"}, + {"VoiceMMode2_Tx Mixer", "PROXY_TX_MMode2", "PROXY_TX"}, + {"VOICEMMODE2_UL", NULL, "VoiceMMode2_Tx Mixer"}, + + {"Voip_Tx Mixer", "SLIM_0_TX_Voip", "SLIMBUS_0_TX"}, + {"Voip_Tx Mixer", "SLIM_7_TX_Voip", "SLIMBUS_7_TX"}, + {"Voip_Tx Mixer", "SLIM_8_TX_Voip", "SLIMBUS_8_TX"}, + {"Voip_Tx Mixer", "USB_AUDIO_TX_Voip", "USB_AUDIO_TX"}, + {"Voip_Tx Mixer", "INTERNAL_BT_SCO_TX_Voip", "INT_BT_SCO_TX"}, + {"Voip_Tx Mixer", "AFE_PCM_TX_Voip", "PCM_TX"}, + + {"Voip_Tx Mixer", "TX_CDC_DMA_TX_0_Voip", "TX_CDC_DMA_TX_0"}, + {"Voip_Tx Mixer", "TX_CDC_DMA_TX_1_Voip", "TX_CDC_DMA_TX_1"}, + {"Voip_Tx Mixer", "TX_CDC_DMA_TX_2_Voip", "TX_CDC_DMA_TX_2"}, + {"Voip_Tx Mixer", "TX_CDC_DMA_TX_3_Voip", "TX_CDC_DMA_TX_3"}, + {"Voip_Tx Mixer", "TX_CDC_DMA_TX_4_Voip", "TX_CDC_DMA_TX_4"}, + {"Voip_Tx Mixer", "TX_CDC_DMA_TX_5_Voip", "TX_CDC_DMA_TX_5"}, + {"VOIP_UL", NULL, "Voip_Tx Mixer"}, + + {"SLIMBUS_DL_HL", "Switch", "SLIM0_DL_HL"}, + {"SLIMBUS_0_RX", NULL, "SLIMBUS_DL_HL"}, + {"SLIMBUS1_DL_HL", "Switch", "SLIM1_DL_HL"}, + {"SLIMBUS_1_RX", NULL, "SLIMBUS1_DL_HL"}, + {"SLIMBUS3_DL_HL", "Switch", "SLIM3_DL_HL"}, + {"SLIMBUS_3_RX", NULL, "SLIMBUS3_DL_HL"}, + {"SLIMBUS4_DL_HL", "Switch", "SLIM4_DL_HL"}, + {"SLIMBUS_4_RX", NULL, "SLIMBUS4_DL_HL"}, + {"SLIMBUS6_DL_HL", "Switch", "SLIM0_DL_HL"}, + {"SLIMBUS_6_RX", NULL, "SLIMBUS6_DL_HL"}, + {"SCO_SLIM7_DL_HL", "Switch", "SLIM7_DL_HL"}, + {"SLIMBUS_7_RX", NULL, "SCO_SLIM7_DL_HL"}, + {"SLIM0_UL_HL", NULL, "SLIMBUS_0_TX"}, + {"SLIM1_UL_HL", NULL, "SLIMBUS_1_TX"}, + {"SLIM3_UL_HL", NULL, "SLIMBUS_3_TX"}, + {"SLIM4_UL_HL", NULL, "SLIMBUS_4_TX"}, + {"SLIM8_UL_HL", NULL, "SLIMBUS_8_TX"}, + {"WSA_CDC_DMA_RX_0_DL_HL", "Switch", "CDC_DMA_DL_HL"}, + {"WSA_CDC_DMA_RX_0", NULL, "WSA_CDC_DMA_RX_0_DL_HL"}, + {"CDC_DMA_UL_HL", NULL, "VA_CDC_DMA_TX_0"}, + {"RX_CDC_DMA_RX_0_DL_HL", "Switch", "CDC_DMA_DL_HL"}, + {"RX_CDC_DMA_RX_0", NULL, "RX_CDC_DMA_RX_0_DL_HL"}, + {"RX_CDC_DMA_RX_1_DL_HL", "Switch", "CDC_DMA_DL_HL"}, + {"RX_CDC_DMA_RX_1", NULL, "RX_CDC_DMA_RX_1_DL_HL"}, + {"TX3_CDC_DMA_UL_HL", NULL, "TX_CDC_DMA_TX_3"}, + {"LSM1 Mixer", "SLIMBUS_0_TX", "SLIMBUS_0_TX"}, + {"LSM1 Mixer", "SLIMBUS_1_TX", "SLIMBUS_1_TX"}, + {"LSM1 Mixer", "SLIMBUS_3_TX", "SLIMBUS_3_TX"}, + {"LSM1 Mixer", "SLIMBUS_4_TX", "SLIMBUS_4_TX"}, + {"LSM1 Mixer", "SLIMBUS_5_TX", "SLIMBUS_5_TX"}, + {"LSM1 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"LSM1 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"LSM1 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"LSM1 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"LSM1_UL_HL", NULL, "LSM1 Mixer"}, + + {"LSM2 Mixer", "SLIMBUS_0_TX", "SLIMBUS_0_TX"}, + {"LSM2 Mixer", "SLIMBUS_1_TX", "SLIMBUS_1_TX"}, + {"LSM2 Mixer", "SLIMBUS_3_TX", "SLIMBUS_3_TX"}, + {"LSM2 Mixer", "SLIMBUS_4_TX", "SLIMBUS_4_TX"}, + {"LSM2 Mixer", "SLIMBUS_5_TX", "SLIMBUS_5_TX"}, + {"LSM2 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"LSM2 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"LSM2 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"LSM2 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"LSM2_UL_HL", NULL, "LSM2 Mixer"}, + + + {"LSM3 Mixer", "SLIMBUS_0_TX", "SLIMBUS_0_TX"}, + {"LSM3 Mixer", "SLIMBUS_1_TX", "SLIMBUS_1_TX"}, + {"LSM3 Mixer", "SLIMBUS_3_TX", "SLIMBUS_3_TX"}, + {"LSM3 Mixer", "SLIMBUS_4_TX", "SLIMBUS_4_TX"}, + {"LSM3 Mixer", "SLIMBUS_5_TX", "SLIMBUS_5_TX"}, + {"LSM3 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"LSM3 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"LSM3 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"LSM3 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"LSM3_UL_HL", NULL, "LSM3 Mixer"}, + + + {"LSM4 Mixer", "SLIMBUS_0_TX", "SLIMBUS_0_TX"}, + {"LSM4 Mixer", "SLIMBUS_1_TX", "SLIMBUS_1_TX"}, + {"LSM4 Mixer", "SLIMBUS_3_TX", "SLIMBUS_3_TX"}, + {"LSM4 Mixer", "SLIMBUS_4_TX", "SLIMBUS_4_TX"}, + {"LSM4 Mixer", "SLIMBUS_5_TX", "SLIMBUS_5_TX"}, + {"LSM4 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"LSM4 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"LSM4 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"LSM4 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"LSM4_UL_HL", NULL, "LSM4 Mixer"}, + + {"LSM5 Mixer", "SLIMBUS_0_TX", "SLIMBUS_0_TX"}, + {"LSM5 Mixer", "SLIMBUS_1_TX", "SLIMBUS_1_TX"}, + {"LSM5 Mixer", "SLIMBUS_3_TX", "SLIMBUS_3_TX"}, + {"LSM5 Mixer", "SLIMBUS_4_TX", "SLIMBUS_4_TX"}, + {"LSM5 Mixer", "SLIMBUS_5_TX", "SLIMBUS_5_TX"}, + {"LSM5 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"LSM5 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"LSM5 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"LSM5 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"LSM5_UL_HL", NULL, "LSM5 Mixer"}, + + {"LSM6 Mixer", "SLIMBUS_0_TX", "SLIMBUS_0_TX"}, + {"LSM6 Mixer", "SLIMBUS_1_TX", "SLIMBUS_1_TX"}, + {"LSM6 Mixer", "SLIMBUS_3_TX", "SLIMBUS_3_TX"}, + {"LSM6 Mixer", "SLIMBUS_4_TX", "SLIMBUS_4_TX"}, + {"LSM6 Mixer", "SLIMBUS_5_TX", "SLIMBUS_5_TX"}, + {"LSM6 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"LSM6 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"LSM6 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"LSM6 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"LSM6_UL_HL", NULL, "LSM6 Mixer"}, + + {"LSM7 Mixer", "SLIMBUS_0_TX", "SLIMBUS_0_TX"}, + {"LSM7 Mixer", "SLIMBUS_1_TX", "SLIMBUS_1_TX"}, + {"LSM7 Mixer", "SLIMBUS_3_TX", "SLIMBUS_3_TX"}, + {"LSM7 Mixer", "SLIMBUS_4_TX", "SLIMBUS_4_TX"}, + {"LSM7 Mixer", "SLIMBUS_5_TX", "SLIMBUS_5_TX"}, + {"LSM7 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"LSM7 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"LSM7 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"LSM7 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"LSM7_UL_HL", NULL, "LSM7 Mixer"}, + + {"LSM8 Mixer", "SLIMBUS_0_TX", "SLIMBUS_0_TX"}, + {"LSM8 Mixer", "SLIMBUS_1_TX", "SLIMBUS_1_TX"}, + {"LSM8 Mixer", "SLIMBUS_3_TX", "SLIMBUS_3_TX"}, + {"LSM8 Mixer", "SLIMBUS_4_TX", "SLIMBUS_4_TX"}, + {"LSM8 Mixer", "SLIMBUS_5_TX", "SLIMBUS_5_TX"}, + {"LSM8 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"LSM8 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, + {"LSM8 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, + {"LSM8 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"LSM8_UL_HL", NULL, "LSM8 Mixer"}, + + + {"CPE_LSM_UL_HL", NULL, "BE_IN"}, + {"QCHAT_Tx Mixer", "SLIM_0_TX_QCHAT", "SLIMBUS_0_TX"}, + {"QCHAT_Tx Mixer", "SLIM_7_TX_QCHAT", "SLIMBUS_7_TX"}, + {"QCHAT_Tx Mixer", "SLIM_8_TX_QCHAT", "SLIMBUS_8_TX"}, + {"QCHAT_Tx Mixer", "INTERNAL_BT_SCO_TX_QCHAT", "INT_BT_SCO_TX"}, + {"QCHAT_Tx Mixer", "AFE_PCM_TX_QCHAT", "PCM_TX"}, + + {"QCHAT_Tx Mixer", "USB_AUDIO_TX_QCHAT", "USB_AUDIO_TX"}, + {"QCHAT_UL", NULL, "QCHAT_Tx Mixer"}, + + {"INT_FM_RX", NULL, "INTFM_DL_HL"}, + {"INTFM_UL_HL", NULL, "INT_FM_TX"}, + {"INTHFP_UL_HL", NULL, "HFP_INT_UL_HL"}, + {"HFP_INT_UL_HL", "Switch", "INT_BT_SCO_TX"}, + {"SLIM7_UL_HL", NULL, "HFP_SLIM7_UL_HL"}, + {"HFP_SLIM7_UL_HL", "Switch", "SLIMBUS_7_TX"}, + {"SLIM7_UL_HL", NULL, "A2DP_SLIM7_UL_HL"}, + {"A2DP_SLIM7_UL_HL", "Switch", "SLIMBUS_7_TX"}, + {"PCM_RX_DL_HL", "Switch", "SLIM0_DL_HL"}, + {"PCM_RX", NULL, "PCM_RX_DL_HL"}, + + /* connect to INT4_MI2S_DL_HL since same pcm_id */ + {"WSA_CDC_DMA_RX_0 Port Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"WSA_CDC_DMA_RX_0 Port Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"WSA_CDC_DMA_RX_0 Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, + {"WSA_CDC_DMA_RX_0", NULL, "WSA_CDC_DMA_RX_0 Port Mixer"}, + + {"RX_CDC_DMA_RX_0 Port Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"RX_CDC_DMA_RX_0 Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, + {"RX_CDC_DMA_RX_0", NULL, "RX_CDC_DMA_RX_0 Port Mixer"}, + + {"RX_CDC_DMA_RX_1 Port Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, + {"RX_CDC_DMA_RX_1 Port Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, + {"RX_CDC_DMA_RX_1 Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, + {"RX_CDC_DMA_RX_1", NULL, "RX_CDC_DMA_RX_1 Port Mixer"}, + + {"SLIMBUS_0_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"SLIMBUS_0_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, + {"SLIMBUS_0_RX Port Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, + {"SLIMBUS_0_RX Port Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"}, + {"SLIMBUS_0_RX Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, + {"SLIMBUS_0_RX Port Mixer", "SLIM_9_TX", "SLIMBUS_9_TX"}, + {"SLIMBUS_0_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SLIMBUS_0_RX Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, + {"SLIMBUS_0_RX Port Mixer", "TERT_AUXPCM_UL_TX", "TERT_AUX_PCM_TX"}, + {"SLIMBUS_0_RX Port Mixer", "QUAT_AUXPCM_UL_TX", "QUAT_AUX_PCM_TX"}, + {"SLIMBUS_0_RX Port Mixer", "QUIN_AUXPCM_UL_TX", "QUIN_AUX_PCM_TX"}, + {"SLIMBUS_0_RX Port Mixer", "SEN_AUXPCM_UL_TX", "SEN_AUX_PCM_TX"}, + {"SLIMBUS_0_RX Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SLIMBUS_0_RX", NULL, "SLIMBUS_0_RX Port Mixer"}, + {"AFE_PCM_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"AFE_PCM_RX Port Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, + {"PCM_RX", NULL, "AFE_PCM_RX Port Mixer"}, + {"USB_AUDIO_RX Port Mixer", "USB_AUDIO_TX", "USB_AUDIO_TX"}, + {"USB_AUDIO_RX", NULL, "USB_AUDIO_RX Port Mixer"}, + {"USB_DL_HL", "Switch", "USBAUDIO_DL_HL"}, + {"USB_AUDIO_RX", NULL, "USB_DL_HL"}, + {"USBAUDIO_UL_HL", NULL, "USB_AUDIO_TX"}, + + {"Voice Stub Tx Mixer", "STUB_TX_HL", "STUB_TX"}, + {"Voice Stub Tx Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, + {"Voice Stub Tx Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"Voice Stub Tx Mixer", "STUB_1_TX_HL", "STUB_1_TX"}, + {"Voice Stub Tx Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, + {"Voice Stub Tx Mixer", "SLIM_3_TX", "SLIMBUS_3_TX"}, + {"Voice Stub Tx Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"}, + {"Voice Stub Tx Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, + {"Voice Stub Tx Mixer", "AFE_PCM_TX", "PCM_TX"}, + {"VOICE_STUB_UL", NULL, "Voice Stub Tx Mixer"}, + + {"VoLTE Stub Tx Mixer", "STUB_TX_HL", "STUB_TX"}, + {"VoLTE Stub Tx Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, + {"VoLTE Stub Tx Mixer", "STUB_1_TX_HL", "STUB_1_TX"}, + {"VoLTE Stub Tx Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"VoLTE Stub Tx Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, + {"VoLTE Stub Tx Mixer", "SLIM_3_TX", "SLIMBUS_3_TX"}, + {"VoLTE Stub Tx Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"}, + {"VoLTE Stub Tx Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, + {"VoLTE Stub Tx Mixer", "AFE_PCM_TX", "PCM_TX"}, + {"VOLTE_STUB_UL", NULL, "VoLTE Stub Tx Mixer"}, + + {"Voice2 Stub Tx Mixer", "STUB_TX_HL", "STUB_TX"}, + {"Voice2 Stub Tx Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, + {"Voice2 Stub Tx Mixer", "STUB_1_TX_HL", "STUB_1_TX"}, + {"Voice2 Stub Tx Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, + {"Voice2 Stub Tx Mixer", "SLIM_3_TX", "SLIMBUS_3_TX"}, + {"Voice2 Stub Tx Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"}, + {"Voice2 Stub Tx Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, + {"Voice2 Stub Tx Mixer", "AFE_PCM_TX", "PCM_TX"}, + {"VOICE2_STUB_UL", NULL, "Voice2 Stub Tx Mixer"}, + + {"STUB_RX Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"STUB_RX Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"STUB_RX", NULL, "STUB_RX Mixer"}, + + {"SLIMBUS_1_RX Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"SLIMBUS_1_RX Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"SLIMBUS_1_RX", NULL, "SLIMBUS_1_RX Mixer"}, + + {"SLIMBUS_3_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"SLIMBUS_3_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"SLIMBUS_3_RX", NULL, "SLIMBUS_3_RX_Voice Mixer"}, + + {"SLIM_7_RX_Voice Mixer", "Voip", "VOIP_DL"}, + {"SLIM_7_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"SLIM_7_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"SLIM_7_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"SLIM_7_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"SLIMBUS_7_RX", NULL, "SLIM_7_RX_Voice Mixer"}, + + {"SLIM_8_RX_Voice Mixer", "Voip", "VOIP_DL"}, + {"SLIM_8_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"SLIM_8_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"SLIM_8_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"SLIM_8_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"SLIMBUS_8_RX", NULL, "SLIM_8_RX_Voice Mixer"}, + + {"SLIMBUS_1_RX Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SLIMBUS_1_RX Port Mixer", "AFE_PCM_TX", "PCM_TX"}, + {"SLIMBUS_1_RX", NULL, "SLIMBUS_1_RX Port Mixer"}, + {"INTERNAL_BT_SCO_RX Port Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, + {"INTERNAL_BT_SCO_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, + {"INT_BT_SCO_RX", NULL, "INTERNAL_BT_SCO_RX Port Mixer"}, + {"SLIMBUS_3_RX Port Mixer", "INTERNAL_BT_SCO_RX", "INT_BT_SCO_RX"}, + {"SLIMBUS_3_RX Port Mixer", "AFE_PCM_RX", "PCM_RX"}, + {"SLIMBUS_3_RX Port Mixer", "AUX_PCM_RX", "AUX_PCM_RX"}, + {"SLIMBUS_3_RX Port Mixer", "SLIM_0_RX", "SLIMBUS_0_RX"}, + {"SLIMBUS_3_RX", NULL, "SLIMBUS_3_RX Port Mixer"}, + + {"SLIMBUS_6_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"SLIMBUS_6_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, + {"SLIMBUS_6_RX Port Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, + {"SLIMBUS_6_RX Port Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"}, + {"SLIMBUS_6_RX Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, + {"SLIMBUS_6_RX Port Mixer", "SLIM_9_TX", "SLIMBUS_9_TX"}, + {"SLIMBUS_6_RX Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SLIMBUS_6_RX", NULL, "SLIMBUS_6_RX Port Mixer"}, + + {"HDMI", NULL, "HDMI_RX Port Mixer"}, + + {"HDMI_RX_MS Port Mixer", "MI2S_TX", "MI2S_TX"}, + {"HDMI_MS", NULL, "HDMI_RX_MS Port Mixer"}, + + {"DISPLAY_PORT", NULL, "DISPLAY_PORT_RX Port Mixer"}, + + {"DISPLAY_PORT1", NULL, "DISPLAY_PORT_RX1 Port Mixer"}, + + /* Backend Enablement */ + + {"BE_OUT", NULL, "SLIMBUS_0_RX"}, + {"BE_OUT", NULL, "SLIMBUS_1_RX"}, + {"BE_OUT", NULL, "SLIMBUS_2_RX"}, + {"BE_OUT", NULL, "SLIMBUS_3_RX"}, + {"BE_OUT", NULL, "SLIMBUS_4_RX"}, + {"BE_OUT", NULL, "SLIMBUS_5_RX"}, + {"BE_OUT", NULL, "SLIMBUS_6_RX"}, + {"BE_OUT", NULL, "SLIMBUS_7_RX"}, + {"BE_OUT", NULL, "SLIMBUS_8_RX"}, + {"BE_OUT", NULL, "SLIMBUS_9_RX"}, + {"BE_OUT", NULL, "USB_AUDIO_RX"}, + {"BE_OUT", NULL, "HDMI"}, + {"BE_OUT", NULL, "HDMI_MS"}, + {"BE_OUT", NULL, "DISPLAY_PORT"}, + {"BE_OUT", NULL, "DISPLAY_PORT1"}, + {"BE_OUT", NULL, "PRI_SPDIF_RX"}, + {"BE_OUT", NULL, "SEC_SPDIF_RX"}, + {"BE_OUT", NULL, "INT_BT_SCO_RX"}, + {"BE_OUT", NULL, "INT_BT_A2DP_RX"}, + {"BE_OUT", NULL, "INT_FM_RX"}, + {"BE_OUT", NULL, "PCM_RX"}, + {"BE_OUT", NULL, "SLIMBUS_3_RX"}, + {"BE_OUT", NULL, "INT_BT_SCO_RX"}, + {"BE_OUT", NULL, "INT_FM_RX"}, + {"BE_OUT", NULL, "PCM_RX"}, + {"BE_OUT", NULL, "SLIMBUS_3_RX"}, + {"BE_OUT", NULL, "VOICE_PLAYBACK_TX"}, + {"BE_OUT", NULL, "VOICE2_PLAYBACK_TX"}, + {"BE_OUT", NULL, "WSA_CDC_DMA_RX_0"}, + {"BE_OUT", NULL, "WSA_CDC_DMA_RX_1"}, + {"BE_OUT", NULL, "RX_CDC_DMA_RX_0"}, + {"BE_OUT", NULL, "RX_CDC_DMA_RX_1"}, + {"BE_OUT", NULL, "RX_CDC_DMA_RX_2"}, + {"BE_OUT", NULL, "RX_CDC_DMA_RX_3"}, + {"BE_OUT", NULL, "RX_CDC_DMA_RX_4"}, + {"BE_OUT", NULL, "RX_CDC_DMA_RX_5"}, + {"BE_OUT", NULL, "RX_CDC_DMA_RX_6"}, + {"BE_OUT", NULL, "RX_CDC_DMA_RX_7"}, + {"BE_OUT", NULL, "PROXY_RX"}, + + {"SLIMBUS_0_TX", NULL, "BE_IN" }, + {"SLIMBUS_1_TX", NULL, "BE_IN" }, + {"SLIMBUS_3_TX", NULL, "BE_IN" }, + {"SLIMBUS_4_TX", NULL, "BE_IN" }, + {"SLIMBUS_5_TX", NULL, "BE_IN" }, + {"SLIMBUS_6_TX", NULL, "BE_IN" }, + {"SLIMBUS_7_TX", NULL, "BE_IN" }, + {"SLIMBUS_8_TX", NULL, "BE_IN" }, + {"SLIMBUS_9_TX", NULL, "BE_IN" }, + {"USB_AUDIO_TX", NULL, "BE_IN" }, + {"INT_BT_SCO_TX", NULL, "BE_IN"}, + {"INT_FM_TX", NULL, "BE_IN"}, + {"PCM_TX", NULL, "BE_IN"}, + {"BE_OUT", NULL, "SLIMBUS_3_RX"}, + {"BE_OUT", NULL, "STUB_RX"}, + {"STUB_TX", NULL, "BE_IN"}, + {"STUB_1_TX", NULL, "BE_IN"}, + {"BE_OUT", NULL, "AUX_PCM_RX"}, + {"INCALL_RECORD_TX", NULL, "BE_IN"}, + {"INCALL_RECORD_RX", NULL, "BE_IN"}, + {"SLIM0_RX_VI_FB_LCH_MUX", "SLIM4_TX", "SLIMBUS_4_TX"}, + {"SLIM0_RX_VI_FB_RCH_MUX", "SLIM4_TX", "SLIMBUS_4_TX"}, + {"WSA_RX_0_VI_FB_LCH_MUX", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, + {"WSA_RX_0_VI_FB_RCH_MUX", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, + {"SLIMBUS_0_RX", NULL, "SLIM0_RX_VI_FB_LCH_MUX"}, + {"SLIMBUS_0_RX", NULL, "SLIM0_RX_VI_FB_RCH_MUX"}, + {"WSA_CDC_DMA_RX_0", NULL, "WSA_RX_0_VI_FB_LCH_MUX"}, + {"WSA_CDC_DMA_RX_0", NULL, "WSA_RX_0_VI_FB_RCH_MUX"}, + {"AFE_LOOPBACK_TX", NULL, "BE_IN"}, + {"WSA_CDC_DMA_TX_0", NULL, "BE_IN"}, + {"WSA_CDC_DMA_TX_1", NULL, "BE_IN"}, + {"WSA_CDC_DMA_TX_2", NULL, "BE_IN"}, + {"VA_CDC_DMA_TX_0", NULL, "BE_IN"}, + {"VA_CDC_DMA_TX_1", NULL, "BE_IN"}, + {"VA_CDC_DMA_TX_2", NULL, "BE_IN"}, + {"TX_CDC_DMA_TX_0", NULL, "BE_IN"}, + {"TX_CDC_DMA_TX_1", NULL, "BE_IN"}, + {"TX_CDC_DMA_TX_2", NULL, "BE_IN"}, + {"TX_CDC_DMA_TX_3", NULL, "BE_IN"}, + {"TX_CDC_DMA_TX_4", NULL, "BE_IN"}, + {"TX_CDC_DMA_TX_5", NULL, "BE_IN"}, + {"PRI_SPDIF_TX", NULL, "BE_IN"}, + {"SEC_SPDIF_TX", NULL, "BE_IN"}, + {"PROXY_TX", NULL, "BE_IN"}, +}; + +#ifndef CONFIG_AUXPCM_DISABLE +static const struct snd_soc_dapm_route intercon_aux_pcm[] = { + /* incall */ + {"MultiMedia1 Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"MultiMedia3 Mixer", "AUX_PCM_TX", "AUX_PCM_TX"}, + {"MultiMedia5 Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"MultiMedia10 Mixer", "AUX_PCM_TX", "AUX_PCM_TX"}, + {"MultiMedia1 Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, + {"MultiMedia2 Mixer", "SEC_AUX_PCM_TX", "SEC_AUX_PCM_TX"}, + {"MultiMedia3 Mixer", "SEC_AUX_PCM_TX", "SEC_AUX_PCM_TX"}, + {"MultiMedia5 Mixer", "SEC_AUX_PCM_TX", "SEC_AUX_PCM_TX"}, + {"MultiMedia10 Mixer", "SEC_AUX_PCM_TX", "SEC_AUX_PCM_TX"}, + {"MultiMedia16 Mixer", "AUX_PCM_TX", "AUX_PCM_TX"}, + {"MultiMedia16 Mixer", "SEC_AUX_PCM_TX", "SEC_AUX_PCM_TX"}, + {"MultiMedia1 Mixer", "TERT_AUXPCM_UL_TX", "TERT_AUX_PCM_TX"}, + {"MultiMedia3 Mixer", "TERT_AUX_PCM_TX", "TERT_AUX_PCM_TX"}, + {"MultiMedia5 Mixer", "TERT_AUX_PCM_TX", "TERT_AUX_PCM_TX"}, + {"MultiMedia10 Mixer", "TERT_AUX_PCM_TX", "TERT_AUX_PCM_TX"}, + {"MultiMedia1 Mixer", "QUAT_AUXPCM_UL_TX", "QUAT_AUX_PCM_TX"}, + {"MultiMedia3 Mixer", "QUAT_AUX_PCM_TX", "QUAT_AUX_PCM_TX"}, + {"MultiMedia5 Mixer", "QUAT_AUX_PCM_TX", "QUAT_AUX_PCM_TX"}, + {"MultiMedia10 Mixer", "QUAT_AUX_PCM_TX", "QUAT_AUX_PCM_TX"}, + {"MultiMedia16 Mixer", "QUAT_AUX_PCM_TX", "QUAT_AUX_PCM_TX"}, + {"MultiMedia1 Mixer", "QUIN_AUXPCM_UL_TX", "QUIN_AUX_PCM_TX"}, + {"MultiMedia3 Mixer", "QUIN_AUX_PCM_TX", "QUIN_AUX_PCM_TX"}, + {"MultiMedia5 Mixer", "QUIN_AUX_PCM_TX", "QUIN_AUX_PCM_TX"}, + {"MultiMedia1 Mixer", "SEN_AUXPCM_UL_TX", "SEN_AUX_PCM_TX"}, + {"MultiMedia3 Mixer", "SEN_AUX_PCM_TX", "SEN_AUX_PCM_TX"}, + {"MultiMedia5 Mixer", "SEN_AUX_PCM_TX", "SEN_AUX_PCM_TX"}, + + {"MultiMedia21 Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"MultiMedia21 Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, + + {"MultiMedia6 Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"MultiMedia6 Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, + + {"AUX_PCM_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"AUX_PCM_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"AUX_PCM_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"AUX_PCM_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"AUX_PCM_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"AUX_PCM_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"AUX_PCM_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"AUX_PCM_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"AUX_PCM_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"AUX_PCM_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"AUX_PCM_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"AUX_PCM_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"AUX_PCM_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"AUX_PCM_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"AUX_PCM_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"AUX_PCM_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"AUX_PCM_RX Audio Mixer", "MultiMedia21", "MM_DL21"}, + {"AUX_PCM_RX", NULL, "AUX_PCM_RX Audio Mixer"}, + + {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia21", "MM_DL21"}, + {"SEC_AUX_PCM_RX", NULL, "SEC_AUX_PCM_RX Audio Mixer"}, + + {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"TERT_AUX_PCM_RX", NULL, "TERT_AUX_PCM_RX Audio Mixer"}, + + {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"QUAT_AUX_PCM_RX", NULL, "QUAT_AUX_PCM_RX Audio Mixer"}, + + {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"QUIN_AUX_PCM_RX", NULL, "QUIN_AUX_PCM_RX Audio Mixer"}, + + {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"SEN_AUX_PCM_RX", NULL, "SEN_AUX_PCM_RX Audio Mixer"}, + + {"AUX_PCM_RX_Voice Mixer", "Voip", "VOIP_DL"}, + {"AUX_PCM_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"AUX_PCM_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"AUX_PCM_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"AUX_PCM_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"AUX_PCM_RX", NULL, "AUX_PCM_RX_Voice Mixer"}, + + {"SEC_AUX_PCM_RX_Voice Mixer", "Voip", "VOIP_DL"}, + {"SEC_AUX_PCM_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"SEC_AUX_PCM_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"SEC_AUX_PCM_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"SEC_AUX_PCM_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"SEC_AUX_PCM_RX", NULL, "SEC_AUX_PCM_RX_Voice Mixer"}, + + {"TERT_AUX_PCM_RX_Voice Mixer", "Voip", "VOIP_DL"}, + {"TERT_AUX_PCM_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"TERT_AUX_PCM_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"TERT_AUX_PCM_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"TERT_AUX_PCM_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"TERT_AUX_PCM_RX", NULL, "TERT_AUX_PCM_RX_Voice Mixer"}, + + {"QUAT_AUX_PCM_RX_Voice Mixer", "Voip", "VOIP_DL"}, + {"QUAT_AUX_PCM_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"QUAT_AUX_PCM_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"QUAT_AUX_PCM_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"QUAT_AUX_PCM_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"QUAT_AUX_PCM_RX", NULL, "QUAT_AUX_PCM_RX_Voice Mixer"}, + + {"QUIN_AUX_PCM_RX_Voice Mixer", "Voip", "VOIP_DL"}, + {"QUIN_AUX_PCM_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"QUIN_AUX_PCM_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"QUIN_AUX_PCM_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"QUIN_AUX_PCM_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"QUIN_AUX_PCM_RX", NULL, "QUIN_AUX_PCM_RX_Voice Mixer"}, + + {"SEN_AUX_PCM_RX_Voice Mixer", "Voip", "VOIP_DL"}, + {"SEN_AUX_PCM_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"SEN_AUX_PCM_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"SEN_AUX_PCM_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"SEN_AUX_PCM_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"SEN_AUX_PCM_RX", NULL, "SEN_AUX_PCM_RX_Voice Mixer"}, + + {"VoiceMMode1_Tx Mixer", "AUX_PCM_TX_MMode1", "AUX_PCM_TX"}, + {"VoiceMMode1_Tx Mixer", "SEC_AUX_PCM_TX_MMode1", "SEC_AUX_PCM_TX"}, + {"VoiceMMode1_Tx Mixer", "TERT_AUX_PCM_TX_MMode1", "TERT_AUX_PCM_TX"}, + {"VoiceMMode1_Tx Mixer", "QUAT_AUX_PCM_TX_MMode1", "QUAT_AUX_PCM_TX"}, + {"VoiceMMode1_Tx Mixer", "QUIN_AUX_PCM_TX_MMode1", "QUIN_AUX_PCM_TX"}, + {"VoiceMMode1_Tx Mixer", "SEN_AUX_PCM_TX_MMode1", "SEN_AUX_PCM_TX"}, + + {"VoiceMMode2_Tx Mixer", "AUX_PCM_TX_MMode2", "AUX_PCM_TX"}, + {"VoiceMMode2_Tx Mixer", "SEC_AUX_PCM_TX_MMode2", "SEC_AUX_PCM_TX"}, + {"VoiceMMode2_Tx Mixer", "TERT_AUX_PCM_TX_MMode2", "TERT_AUX_PCM_TX"}, + {"VoiceMMode2_Tx Mixer", "QUAT_AUX_PCM_TX_MMode2", "QUAT_AUX_PCM_TX"}, + {"VoiceMMode2_Tx Mixer", "QUIN_AUX_PCM_TX_MMode2", "QUIN_AUX_PCM_TX"}, + {"VoiceMMode2_Tx Mixer", "SEN_AUX_PCM_TX_MMode2", "SEN_AUX_PCM_TX"}, + + {"Voip_Tx Mixer", "AUX_PCM_TX_Voip", "AUX_PCM_TX"}, + {"Voip_Tx Mixer", "SEC_AUX_PCM_TX_Voip", "SEC_AUX_PCM_TX"}, + {"Voip_Tx Mixer", "TERT_AUX_PCM_TX_Voip", "TERT_AUX_PCM_TX"}, + {"Voip_Tx Mixer", "QUAT_AUX_PCM_TX_Voip", "QUAT_AUX_PCM_TX"}, + {"Voip_Tx Mixer", "QUIN_AUX_PCM_TX_Voip", "QUIN_AUX_PCM_TX"}, + {"Voip_Tx Mixer", "SEN_AUX_PCM_TX_Voip", "SEN_AUX_PCM_TX"}, + + {"QCHAT_Tx Mixer", "AUX_PCM_TX_QCHAT", "AUX_PCM_TX"}, + {"QCHAT_Tx Mixer", "SEC_AUX_PCM_TX_QCHAT", "SEC_AUX_PCM_TX"}, + {"QCHAT_Tx Mixer", "TERT_AUX_PCM_TX_QCHAT", "TERT_AUX_PCM_TX"}, + {"QCHAT_Tx Mixer", "QUAT_AUX_PCM_TX_QCHAT", "QUAT_AUX_PCM_TX"}, + {"QCHAT_Tx Mixer", "QUIN_AUX_PCM_TX_QCHAT", "QUIN_AUX_PCM_TX"}, + {"QCHAT_Tx Mixer", "SEN_AUX_PCM_TX_QCHAT", "SEN_AUX_PCM_TX"}, + + {"Voice2 Stub Tx Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + + /* connect to INT4_MI2S_DL_HL since same pcm_id */ + {"INTHFP_UL_HL", NULL, "HFP_PRI_AUX_UL_HL"}, + {"HFP_PRI_AUX_UL_HL", "Switch", "AUX_PCM_TX"}, + {"INTHFP_UL_HL", NULL, "HFP_AUX_UL_HL"}, + {"HFP_AUX_UL_HL", "Switch", "SEC_AUX_PCM_TX"}, + {"AUX_PCM_RX", NULL, "AUXPCM_DL_HL"}, + {"AUX_PCM_RX", NULL, "INTHFP_DL_HL"}, + {"SEC_AUX_PCM_RX", NULL, "SEC_AUXPCM_DL_HL"}, + {"AUXPCM_UL_HL", NULL, "AUX_PCM_TX"}, + {"SEC_AUXPCM_UL_HL", NULL, "SEC_AUX_PCM_TX"}, + + {"AUX_PCM_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"AUX_PCM_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, + {"AUX_PCM_RX Port Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, + {"AUX_PCM_RX Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, + {"AUX_PCM_RX Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"AUX_PCM_RX Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"AUX_PCM_RX Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"AUX_PCM_RX", NULL, "AUX_PCM_RX Port Mixer"}, + + {"SEC_AUXPCM_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SEC_AUXPCM_RX Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, + {"SEC_AUXPCM_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, + {"SEC_AUXPCM_RX Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SEC_AUX_PCM_RX", NULL, "SEC_AUXPCM_RX Port Mixer"}, + + {"TERT_AUXPCM_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"TERT_AUXPCM_RX Port Mixer", "TERT_AUXPCM_UL_TX", "TERT_AUX_PCM_TX"}, + {"TERT_AUXPCM_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, + {"TERT_AUX_PCM_RX", NULL, "TERT_AUXPCM_RX Port Mixer"}, + + {"QUAT_AUXPCM_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"QUAT_AUXPCM_RX Port Mixer", "QUAT_AUXPCM_UL_TX", "QUAT_AUX_PCM_TX"}, + {"QUAT_AUXPCM_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, + {"QUAT_AUX_PCM_RX", NULL, "QUAT_AUXPCM_RX Port Mixer"}, + + {"QUIN_AUXPCM_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"QUIN_AUXPCM_RX Port Mixer", "QUIN_AUXPCM_UL_TX", "QUIN_AUX_PCM_TX"}, + {"QUIN_AUXPCM_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, + {"QUIN_AUX_PCM_RX", NULL, "QUIN_AUXPCM_RX Port Mixer"}, + + {"Voice Stub Tx Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"Voice Stub Tx Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, + {"Voice Stub Tx Mixer", "TERT_AUXPCM_UL_TX", "TERT_AUX_PCM_TX"}, + {"Voice Stub Tx Mixer", "QUAT_AUXPCM_UL_TX", "QUAT_AUX_PCM_TX"}, + {"Voice Stub Tx Mixer", "QUIN_AUXPCM_UL_TX", "QUIN_AUX_PCM_TX"}, + {"Voice Stub Tx Mixer", "SEN_AUXPCM_UL_TX", "SEN_AUX_PCM_TX"}, + + {"SLIMBUS_1_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SLIMBUS_3_RX Port Mixer", "AUX_PCM_RX", "AUX_PCM_RX"}, + + {"SLIMBUS_6_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SLIMBUS_6_RX Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, + + /* Backend Enablement */ + {"BE_OUT", NULL, "AUX_PCM_RX"}, + {"BE_OUT", NULL, "SEC_AUX_PCM_RX"}, + {"BE_OUT", NULL, "TERT_AUX_PCM_RX"}, + {"BE_OUT", NULL, "QUAT_AUX_PCM_RX"}, + {"BE_OUT", NULL, "QUIN_AUX_PCM_RX"}, + {"BE_OUT", NULL, "SEN_AUX_PCM_RX"}, + + {"AUX_PCM_TX", NULL, "BE_IN"}, + {"SEC_AUX_PCM_TX", NULL, "BE_IN"}, + {"TERT_AUX_PCM_TX", NULL, "BE_IN"}, + {"QUAT_AUX_PCM_TX", NULL, "BE_IN"}, + {"QUIN_AUX_PCM_TX", NULL, "BE_IN"}, + {"SEN_AUX_PCM_TX", NULL, "BE_IN"}, +}; +#endif + +#ifndef CONFIG_TDM_DISABLE +static const struct snd_soc_dapm_route intercon_tdm[] = { + /* incall */ {"PRI_TDM_RX_0 Audio Mixer", "MultiMedia1", "MM_DL1"}, {"PRI_TDM_RX_0 Audio Mixer", "MultiMedia2", "MM_DL2"}, {"PRI_TDM_RX_0 Audio Mixer", "MultiMedia3", "MM_DL3"}, @@ -28061,90 +29335,6 @@ static const struct snd_soc_dapm_route intercon[] = { {"SEN_TDM_RX_3 Audio Mixer", "MultiMedia21", "MM_DL21"}, {"SEN_TDM_RX_3", NULL, "SEN_TDM_RX_3 Audio Mixer"}, - {"MultiMedia1 Mixer", "PRI_TX", "PRI_I2S_TX"}, - {"MultiMedia1 Mixer", "MI2S_TX", "MI2S_TX"}, - {"MultiMedia2 Mixer", "MI2S_TX", "MI2S_TX"}, - {"MultiMedia3 Mixer", "MI2S_TX", "MI2S_TX"}, - {"MultiMedia5 Mixer", "MI2S_TX", "MI2S_TX"}, - {"MultiMedia10 Mixer", "MI2S_TX", "MI2S_TX"}, - {"MultiMedia16 Mixer", "MI2S_TX", "MI2S_TX"}, - {"MultiMedia1 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"MultiMedia2 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"MultiMedia6 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"MultiMedia1 Mixer", "QUIN_MI2S_TX", "QUIN_MI2S_TX"}, - {"MultiMedia2 Mixer", "QUIN_MI2S_TX", "QUIN_MI2S_TX"}, - {"MultiMedia1 Mixer", "SENARY_MI2S_TX", "SENARY_MI2S_TX"}, - {"MultiMedia2 Mixer", "SENARY_MI2S_TX", "SENARY_MI2S_TX"}, - {"MultiMedia1 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"MultiMedia2 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"MultiMedia1 Mixer", "INT2_MI2S_TX", "INT2_MI2S_TX"}, - {"MultiMedia2 Mixer", "INT2_MI2S_TX", "INT2_MI2S_TX"}, - {"MultiMedia1 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, - {"MultiMedia2 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, - {"MultiMedia1 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, - {"MultiMedia1 Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, - {"MultiMedia1 Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"MultiMedia3 Mixer", "AUX_PCM_TX", "AUX_PCM_TX"}, - {"MultiMedia5 Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"MultiMedia10 Mixer", "AUX_PCM_TX", "AUX_PCM_TX"}, - {"MultiMedia1 Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"MultiMedia2 Mixer", "SEC_AUX_PCM_TX", "SEC_AUX_PCM_TX"}, - {"MultiMedia3 Mixer", "SEC_AUX_PCM_TX", "SEC_AUX_PCM_TX"}, - {"MultiMedia5 Mixer", "SEC_AUX_PCM_TX", "SEC_AUX_PCM_TX"}, - {"MultiMedia10 Mixer", "SEC_AUX_PCM_TX", "SEC_AUX_PCM_TX"}, - {"MultiMedia16 Mixer", "AUX_PCM_TX", "AUX_PCM_TX"}, - {"MultiMedia16 Mixer", "SEC_AUX_PCM_TX", "SEC_AUX_PCM_TX"}, - {"MultiMedia1 Mixer", "TERT_AUXPCM_UL_TX", "TERT_AUX_PCM_TX"}, - {"MultiMedia3 Mixer", "TERT_AUX_PCM_TX", "TERT_AUX_PCM_TX"}, - {"MultiMedia5 Mixer", "TERT_AUX_PCM_TX", "TERT_AUX_PCM_TX"}, - {"MultiMedia10 Mixer", "TERT_AUX_PCM_TX", "TERT_AUX_PCM_TX"}, - {"MultiMedia1 Mixer", "QUAT_AUXPCM_UL_TX", "QUAT_AUX_PCM_TX"}, - {"MultiMedia3 Mixer", "QUAT_AUX_PCM_TX", "QUAT_AUX_PCM_TX"}, - {"MultiMedia5 Mixer", "QUAT_AUX_PCM_TX", "QUAT_AUX_PCM_TX"}, - {"MultiMedia10 Mixer", "QUAT_AUX_PCM_TX", "QUAT_AUX_PCM_TX"}, - {"MultiMedia16 Mixer", "QUAT_AUX_PCM_TX", "QUAT_AUX_PCM_TX"}, - {"MultiMedia1 Mixer", "QUIN_AUXPCM_UL_TX", "QUIN_AUX_PCM_TX"}, - {"MultiMedia3 Mixer", "QUIN_AUX_PCM_TX", "QUIN_AUX_PCM_TX"}, - {"MultiMedia5 Mixer", "QUIN_AUX_PCM_TX", "QUIN_AUX_PCM_TX"}, - {"MultiMedia1 Mixer", "SEN_AUXPCM_UL_TX", "SEN_AUX_PCM_TX"}, - {"MultiMedia3 Mixer", "SEN_AUX_PCM_TX", "SEN_AUX_PCM_TX"}, - {"MultiMedia5 Mixer", "SEN_AUX_PCM_TX", "SEN_AUX_PCM_TX"}, - {"MultiMedia2 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, - {"MultiMedia2 Mixer", "SLIM_6_TX", "SLIMBUS_6_TX"}, - {"MultiMedia2 Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, - {"MultiMedia2 Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, - {"MultiMedia1 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"MultiMedia1 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"MultiMedia2 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"MultiMedia6 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, - {"MultiMedia6 Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, - {"MultiMedia6 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"MultiMedia3 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"MultiMedia5 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"MultiMedia10 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"MultiMedia6 Mixer", "INT2_MI2S_TX", "INT2_MI2S_TX"}, - {"MultiMedia3 Mixer", "INT2_MI2S_TX", "INT2_MI2S_TX"}, - {"MultiMedia5 Mixer", "INT2_MI2S_TX", "INT2_MI2S_TX"}, - {"MultiMedia10 Mixer", "INT2_MI2S_TX", "INT2_MI2S_TX"}, - {"MultiMedia16 Mixer", "INT2_MI2S_TX", "INT2_MI2S_TX"}, - {"MultiMedia6 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, - {"MultiMedia3 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, - {"MultiMedia5 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, - {"MultiMedia10 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, - {"MultiMedia16 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, - {"MultiMedia17 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, - {"MultiMedia18 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, - {"MultiMedia19 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, - {"MultiMedia28 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, - {"MultiMedia29 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, - {"MultiMedia30 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, - {"MultiMedia6 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"MultiMedia6 Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"MultiMedia6 Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"MultiMedia6 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"MultiMedia6 Mixer", "QUIN_MI2S_TX", "QUIN_MI2S_TX"}, - {"MultiMedia6 Mixer", "SENARY_MI2S_TX", "SENARY_MI2S_TX"}, - {"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"}, @@ -28161,7 +29351,7 @@ static const struct snd_soc_dapm_route intercon[] = { {"MultiMedia1 Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, {"MultiMedia1 Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, {"MultiMedia1 Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"MultiMedia1 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, + {"MultiMedia1 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, {"MultiMedia1 Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, {"MultiMedia1 Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, @@ -28170,20 +29360,6 @@ static const struct snd_soc_dapm_route intercon[] = { {"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", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, - {"MultiMedia1 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, - {"MultiMedia1 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, - {"MultiMedia1 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"MultiMedia1 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"MultiMedia1 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"MultiMedia1 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, - {"MultiMedia1 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, - {"MultiMedia1 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, - {"MultiMedia1 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"MultiMedia1 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, - {"MultiMedia1 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, - {"MultiMedia1 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, - {"MultiMedia1 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, {"MultiMedia2 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, {"MultiMedia2 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, @@ -28201,7 +29377,6 @@ static const struct snd_soc_dapm_route intercon[] = { {"MultiMedia2 Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, {"MultiMedia2 Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, {"MultiMedia2 Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"MultiMedia2 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, {"MultiMedia2 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, {"MultiMedia2 Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, {"MultiMedia2 Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, @@ -28210,20 +29385,6 @@ static const struct snd_soc_dapm_route intercon[] = { {"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", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, - {"MultiMedia2 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, - {"MultiMedia2 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, - {"MultiMedia2 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"MultiMedia2 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"MultiMedia2 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"MultiMedia2 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, - {"MultiMedia2 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, - {"MultiMedia2 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, - {"MultiMedia2 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"MultiMedia2 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, - {"MultiMedia2 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, - {"MultiMedia2 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, - {"MultiMedia2 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, {"MultiMedia3 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, {"MultiMedia3 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, @@ -28241,7 +29402,6 @@ static const struct snd_soc_dapm_route intercon[] = { {"MultiMedia3 Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, {"MultiMedia3 Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, {"MultiMedia3 Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"MultiMedia3 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, {"MultiMedia3 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, {"MultiMedia3 Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, {"MultiMedia3 Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, @@ -28250,20 +29410,6 @@ static const struct snd_soc_dapm_route intercon[] = { {"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", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, - {"MultiMedia3 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, - {"MultiMedia3 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, - {"MultiMedia3 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"MultiMedia3 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"MultiMedia3 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"MultiMedia3 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, - {"MultiMedia3 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, - {"MultiMedia3 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, - {"MultiMedia3 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"MultiMedia3 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, - {"MultiMedia3 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, - {"MultiMedia3 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, - {"MultiMedia3 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, {"MultiMedia4 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, {"MultiMedia4 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, @@ -28281,7 +29427,6 @@ static const struct snd_soc_dapm_route intercon[] = { {"MultiMedia4 Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, {"MultiMedia4 Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, {"MultiMedia4 Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"MultiMedia4 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, {"MultiMedia4 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, {"MultiMedia4 Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, {"MultiMedia4 Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, @@ -28290,20 +29435,6 @@ static const struct snd_soc_dapm_route intercon[] = { {"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", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, - {"MultiMedia4 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, - {"MultiMedia4 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, - {"MultiMedia4 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"MultiMedia4 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"MultiMedia4 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"MultiMedia4 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, - {"MultiMedia4 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, - {"MultiMedia4 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, - {"MultiMedia4 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"MultiMedia4 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, - {"MultiMedia4 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, - {"MultiMedia4 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, - {"MultiMedia4 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, {"MultiMedia5 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, {"MultiMedia5 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, @@ -28321,7 +29452,6 @@ static const struct snd_soc_dapm_route intercon[] = { {"MultiMedia5 Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, {"MultiMedia5 Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, {"MultiMedia5 Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"MultiMedia5 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, {"MultiMedia5 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, {"MultiMedia5 Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, {"MultiMedia5 Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, @@ -28330,60 +29460,6 @@ static const struct snd_soc_dapm_route intercon[] = { {"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", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, - {"MultiMedia5 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, - {"MultiMedia5 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, - {"MultiMedia5 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"MultiMedia5 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"MultiMedia5 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"MultiMedia5 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, - {"MultiMedia5 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, - {"MultiMedia5 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, - {"MultiMedia5 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"MultiMedia5 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, - {"MultiMedia5 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, - {"MultiMedia5 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, - {"MultiMedia5 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, - - {"MultiMedia6 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, - {"MultiMedia6 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, - {"MultiMedia6 Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"}, - {"MultiMedia6 Mixer", "PRI_TDM_TX_3", "PRI_TDM_TX_3"}, - {"MultiMedia6 Mixer", "SEC_TDM_TX_0", "SEC_TDM_TX_0"}, - {"MultiMedia6 Mixer", "SEC_TDM_TX_1", "SEC_TDM_TX_1"}, - {"MultiMedia6 Mixer", "SEC_TDM_TX_2", "SEC_TDM_TX_2"}, - {"MultiMedia6 Mixer", "SEC_TDM_TX_3", "SEC_TDM_TX_3"}, - {"MultiMedia6 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"MultiMedia6 Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, - {"MultiMedia6 Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, - {"MultiMedia6 Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, - {"MultiMedia6 Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"MultiMedia6 Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"MultiMedia6 Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"MultiMedia6 Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"MultiMedia6 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, - {"MultiMedia6 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"MultiMedia6 Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"MultiMedia6 Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"MultiMedia6 Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"MultiMedia6 Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"MultiMedia6 Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"MultiMedia6 Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"MultiMedia6 Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"MultiMedia6 Mixer", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, - {"MultiMedia6 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, - {"MultiMedia6 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, - {"MultiMedia6 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"MultiMedia6 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"MultiMedia6 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"MultiMedia6 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, - {"MultiMedia6 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, - {"MultiMedia6 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, - {"MultiMedia6 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"MultiMedia6 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, - {"MultiMedia6 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, - {"MultiMedia6 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, - {"MultiMedia6 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, {"MultiMedia8 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, {"MultiMedia8 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, @@ -28401,7 +29477,6 @@ static const struct snd_soc_dapm_route intercon[] = { {"MultiMedia8 Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, {"MultiMedia8 Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, {"MultiMedia8 Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"MultiMedia8 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, {"MultiMedia8 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, {"MultiMedia8 Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, {"MultiMedia8 Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, @@ -28410,22 +29485,7 @@ static const struct snd_soc_dapm_route intercon[] = { {"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", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, - {"MultiMedia8 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, - {"MultiMedia8 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, - {"MultiMedia8 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"MultiMedia8 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"MultiMedia8 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"MultiMedia8 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, - {"MultiMedia8 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, - {"MultiMedia8 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, - {"MultiMedia8 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"MultiMedia8 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, - {"MultiMedia8 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, - {"MultiMedia8 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, - {"MultiMedia8 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, - {"MultiMedia9 Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, {"MultiMedia9 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, {"MultiMedia9 Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, {"MultiMedia9 Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, @@ -28442,21 +29502,6 @@ static const struct snd_soc_dapm_route intercon[] = { {"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", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, - {"MultiMedia9 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, - {"MultiMedia9 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, - {"MultiMedia9 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"MultiMedia9 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"MultiMedia9 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"MultiMedia9 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, - {"MultiMedia9 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, - {"MultiMedia9 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, - {"MultiMedia9 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"MultiMedia9 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, - {"MultiMedia9 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, - {"MultiMedia9 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, - {"MultiMedia9 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, - {"MultiMedia9 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, {"MultiMedia10 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, {"MultiMedia10 Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, @@ -28466,20 +29511,7 @@ static const struct snd_soc_dapm_route intercon[] = { {"MultiMedia10 Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, {"MultiMedia10 Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, {"MultiMedia10 Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"MultiMedia10 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, - {"MultiMedia10 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, - {"MultiMedia10 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, - {"MultiMedia10 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"MultiMedia10 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, - {"MultiMedia10 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, - {"MultiMedia10 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, - {"MultiMedia20 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"MultiMedia20 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"MultiMedia20 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"MultiMedia20 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"MultiMedia20 Mixer", "QUIN_MI2S_TX", "QUIN_MI2S_TX"}, - {"MultiMedia20 Mixer", "SENARY_MI2S_TX", "SENARY_MI2S_TX"}, {"MultiMedia20 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, {"MultiMedia20 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, {"MultiMedia20 Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"}, @@ -28504,24 +29536,7 @@ static const struct snd_soc_dapm_route intercon[] = { {"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", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, - {"MultiMedia20 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, - {"MultiMedia20 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, - {"MultiMedia20 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"MultiMedia20 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"MultiMedia20 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"MultiMedia20 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, - {"MultiMedia20 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, - {"MultiMedia20 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, - {"MultiMedia20 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"MultiMedia20 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, - {"MultiMedia20 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, - {"MultiMedia20 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, - {"MultiMedia20 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, - {"MultiMedia20 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, - {"MultiMedia21 Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"MultiMedia21 Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, {"MultiMedia21 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, {"MultiMedia21 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, {"MultiMedia21 Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"}, @@ -28546,21 +29561,6 @@ static const struct snd_soc_dapm_route intercon[] = { {"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", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, - {"MultiMedia21 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, - {"MultiMedia21 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, - {"MultiMedia21 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"MultiMedia21 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"MultiMedia21 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"MultiMedia21 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, - {"MultiMedia21 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, - {"MultiMedia21 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, - {"MultiMedia21 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"MultiMedia21 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, - {"MultiMedia21 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, - {"MultiMedia21 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, - {"MultiMedia21 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, - {"MultiMedia21 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, {"MultiMedia22 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, {"MultiMedia22 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, @@ -28646,120 +29646,6 @@ static const struct snd_soc_dapm_route intercon[] = { {"MultiMedia25 Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, {"MultiMedia25 Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"MultiMedia27 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, - {"MultiMedia27 Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, - {"MultiMedia27 Mixer", "SLIM_6_TX", "SLIMBUS_6_TX"}, - {"MultiMedia27 Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"}, - {"MultiMedia27 Mixer", "SLIM_9_TX", "SLIMBUS_9_TX"}, - {"MultiMedia27 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"MultiMedia27 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"MultiMedia27 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"MultiMedia27 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"MultiMedia27 Mixer", "QUIN_MI2S_TX", "QUIN_MI2S_TX"}, - {"MultiMedia27 Mixer", "SENARY_MI2S_TX", "SENARY_MI2S_TX"}, - {"MultiMedia27 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, - {"MultiMedia27 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, - {"MultiMedia27 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, - - {"MultiMedia1 Mixer", "USB_AUDIO_TX", "USB_AUDIO_TX"}, - {"MultiMedia2 Mixer", "USB_AUDIO_TX", "USB_AUDIO_TX"}, - {"MultiMedia4 Mixer", "USB_AUDIO_TX", "USB_AUDIO_TX"}, - {"MultiMedia5 Mixer", "USB_AUDIO_TX", "USB_AUDIO_TX"}, - {"MultiMedia6 Mixer", "USB_AUDIO_TX", "USB_AUDIO_TX"}, - {"MultiMedia8 Mixer", "USB_AUDIO_TX", "USB_AUDIO_TX"}, - {"MultiMedia10 Mixer", "USB_AUDIO_TX", "USB_AUDIO_TX"}, - - {"MultiMedia16 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, - {"MultiMedia16 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, - {"MultiMedia16 Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"}, - {"MultiMedia16 Mixer", "PRI_TDM_TX_3", "PRI_TDM_TX_3"}, - {"MultiMedia16 Mixer", "SEC_TDM_TX_0", "SEC_TDM_TX_0"}, - {"MultiMedia16 Mixer", "SEC_TDM_TX_1", "SEC_TDM_TX_1"}, - {"MultiMedia16 Mixer", "SEC_TDM_TX_2", "SEC_TDM_TX_2"}, - {"MultiMedia16 Mixer", "SEC_TDM_TX_3", "SEC_TDM_TX_3"}, - {"MultiMedia16 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"MultiMedia16 Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, - {"MultiMedia16 Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, - {"MultiMedia16 Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, - {"MultiMedia16 Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"MultiMedia16 Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"MultiMedia16 Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"MultiMedia16 Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"MultiMedia16 Mixer", "USB_AUDIO_TX", "USB_AUDIO_TX"}, - {"MultiMedia16 Mixer", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, - {"MultiMedia16 Mixer", "WSA_CDC_DMA_TX_1", "WSA_CDC_DMA_TX_1"}, - {"MultiMedia16 Mixer", "WSA_CDC_DMA_TX_2", "WSA_CDC_DMA_TX_2"}, - {"MultiMedia16 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"MultiMedia16 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"MultiMedia16 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"MultiMedia16 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, - {"MultiMedia16 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, - {"MultiMedia16 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, - {"MultiMedia16 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"MultiMedia16 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, - {"MultiMedia16 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, - {"MultiMedia16 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"}, - {"MultiMedia16 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"}, - {"MultiMedia16 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, - - {"MultiMedia17 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, - {"MultiMedia17 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, - {"MultiMedia17 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, - {"MultiMedia17 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"MultiMedia17 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, - {"MultiMedia17 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, - {"MultiMedia17 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, - - {"MultiMedia18 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, - {"MultiMedia18 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, - {"MultiMedia18 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, - {"MultiMedia18 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"MultiMedia18 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, - {"MultiMedia18 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, - {"MultiMedia18 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, - {"MultiMedia18 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"MultiMedia18 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - - {"MultiMedia19 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, - {"MultiMedia19 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, - {"MultiMedia19 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, - {"MultiMedia19 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"MultiMedia19 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, - {"MultiMedia19 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, - {"MultiMedia19 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, - {"MultiMedia19 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"MultiMedia19 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - - {"MultiMedia28 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, - {"MultiMedia28 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, - {"MultiMedia28 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, - {"MultiMedia28 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"MultiMedia28 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, - {"MultiMedia28 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, - {"MultiMedia28 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, - {"MultiMedia28 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"MultiMedia28 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - - {"MultiMedia29 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, - {"MultiMedia29 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, - {"MultiMedia29 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, - {"MultiMedia29 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"MultiMedia29 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, - {"MultiMedia29 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, - {"MultiMedia29 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, - {"MultiMedia29 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"MultiMedia29 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - - {"MultiMedia30 Mixer", "TX_CDC_DMA_TX_0", "TX_CDC_DMA_TX_0"}, - {"MultiMedia30 Mixer", "TX_CDC_DMA_TX_1", "TX_CDC_DMA_TX_1"}, - {"MultiMedia30 Mixer", "TX_CDC_DMA_TX_2", "TX_CDC_DMA_TX_2"}, - {"MultiMedia30 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"MultiMedia30 Mixer", "TX_CDC_DMA_TX_4", "TX_CDC_DMA_TX_4"}, - {"MultiMedia30 Mixer", "TX_CDC_DMA_TX_5", "TX_CDC_DMA_TX_5"}, - {"MultiMedia30 Mixer", "AFE_LOOPBACK_TX", "AFE_LOOPBACK_TX"}, - {"MultiMedia30 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"MultiMedia30 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"MultiMedia31 Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, {"MultiMedia31 Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, {"MultiMedia31 Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"}, @@ -28844,256 +29730,1258 @@ static const struct snd_soc_dapm_route intercon[] = { {"MultiMedia34 Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, {"MultiMedia34 Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, - {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia6", "MM_UL6"}, - {"INT_BT_SCO_RX", NULL, "INTERNAL_BT_SCO_RX Audio Mixer"}, + {"PRI_TDM_RX_0_Voice Mixer", "Voip", "VOIP_DL"}, + {"PRI_TDM_RX_0_Voice Mixer", "VoLTE Stub", "VOLTE_STUB_DL"}, + {"PRI_TDM_RX_0_Voice Mixer", "Voice Stub", "VOICE_STUB_DL"}, + {"PRI_TDM_RX_0_Voice Mixer", "Voice2 Stub", "VOICE2_STUB_DL"}, + {"PRI_TDM_RX_0_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"PRI_TDM_RX_0_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"PRI_TDM_RX_0_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"PRI_TDM_RX_0_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"PRI_TDM_RX_0", NULL, "PRI_TDM_RX_0_Voice Mixer"}, - {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, - {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia6", "MM_UL6"}, - {"INT_BT_A2DP_RX", NULL, "INTERNAL_A2DP_RX Audio Mixer"}, + {"PRI_TDM_RX_1_Voice Mixer", "Voip", "VOIP_DL"}, + {"PRI_TDM_RX_1_Voice Mixer", "VoLTE Stub", "VOLTE_STUB_DL"}, + {"PRI_TDM_RX_1_Voice Mixer", "Voice Stub", "VOICE_STUB_DL"}, + {"PRI_TDM_RX_1_Voice Mixer", "Voice2 Stub", "VOICE2_STUB_DL"}, + {"PRI_TDM_RX_1_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"PRI_TDM_RX_1_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"PRI_TDM_RX_1_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"PRI_TDM_RX_1_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"PRI_TDM_RX_1", NULL, "PRI_TDM_RX_1_Voice Mixer"}, - {"INTERNAL_FM_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"INTERNAL_FM_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"INTERNAL_FM_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"INTERNAL_FM_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"INTERNAL_FM_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"INTERNAL_FM_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"INTERNAL_FM_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"INTERNAL_FM_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"INTERNAL_FM_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, - {"INTERNAL_FM_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"INTERNAL_FM_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"INTERNAL_FM_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"INTERNAL_FM_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"INTERNAL_FM_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"INTERNAL_FM_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"INTERNAL_FM_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"INT_FM_RX", NULL, "INTERNAL_FM_RX Audio Mixer"}, + {"PRI_TDM_RX_2_Voice Mixer", "Voip", "VOIP_DL"}, + {"PRI_TDM_RX_2_Voice Mixer", "VoLTE Stub", "VOLTE_STUB_DL"}, + {"PRI_TDM_RX_2_Voice Mixer", "Voice Stub", "VOICE_STUB_DL"}, + {"PRI_TDM_RX_2_Voice Mixer", "Voice2 Stub", "VOICE2_STUB_DL"}, + {"PRI_TDM_RX_2_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"PRI_TDM_RX_2_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"PRI_TDM_RX_2_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"PRI_TDM_RX_2_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"PRI_TDM_RX_2", NULL, "PRI_TDM_RX_2_Voice Mixer"}, - {"AFE_PCM_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"AFE_PCM_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"AFE_PCM_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"AFE_PCM_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"AFE_PCM_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"AFE_PCM_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"AFE_PCM_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"AFE_PCM_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"AFE_PCM_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, - {"AFE_PCM_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"AFE_PCM_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"AFE_PCM_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"AFE_PCM_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"AFE_PCM_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"AFE_PCM_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"AFE_PCM_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"PCM_RX", NULL, "AFE_PCM_RX Audio Mixer"}, + {"PRI_TDM_RX_3_Voice Mixer", "Voip", "VOIP_DL"}, + {"PRI_TDM_RX_3_Voice Mixer", "VoLTE Stub", "VOLTE_STUB_DL"}, + {"PRI_TDM_RX_3_Voice Mixer", "Voice Stub", "VOICE_STUB_DL"}, + {"PRI_TDM_RX_3_Voice Mixer", "Voice2 Stub", "VOICE2_STUB_DL"}, + {"PRI_TDM_RX_3_Voice Mixer", "QCHAT", "QCHAT_DL"}, + {"PRI_TDM_RX_3_Voice Mixer", "DTMF", "DTMF_DL_HL"}, + {"PRI_TDM_RX_3_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"PRI_TDM_RX_3_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, + {"PRI_TDM_RX_3", NULL, "PRI_TDM_RX_3_Voice Mixer"}, - {"MultiMedia1 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"MultiMedia3 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"MultiMedia4 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"MultiMedia10 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"MultiMedia17 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"MultiMedia18 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"MultiMedia19 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"MultiMedia28 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"MultiMedia29 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"MultiMedia30 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"MultiMedia5 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"MultiMedia8 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"MultiMedia16 Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"MultiMedia1 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"MultiMedia4 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"MultiMedia16 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"MultiMedia17 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"MultiMedia18 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"MultiMedia19 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"MultiMedia28 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"MultiMedia29 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"MultiMedia30 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"MultiMedia5 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"MultiMedia6 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"MultiMedia8 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"QUAT_TDM_RX_2_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"QUAT_TDM_RX_2", NULL, "QUAT_TDM_RX_2_Voice Mixer"}, - {"MultiMedia1 Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"MultiMedia3 Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"MultiMedia4 Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"MultiMedia10 Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"MultiMedia17 Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"MultiMedia18 Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"MultiMedia19 Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"MultiMedia28 Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"MultiMedia29 Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"MultiMedia30 Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"MultiMedia5 Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"MultiMedia8 Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"MultiMedia16 Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"MM_UL1", NULL, "MultiMedia1 Mixer"}, - {"MultiMedia2 Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"MM_UL2", NULL, "MultiMedia2 Mixer"}, - {"MM_UL3", NULL, "MultiMedia3 Mixer"}, - {"MM_UL4", NULL, "MultiMedia4 Mixer"}, - {"MM_UL5", NULL, "MultiMedia5 Mixer"}, - {"MM_UL6", NULL, "MultiMedia6 Mixer"}, - {"MM_UL8", NULL, "MultiMedia8 Mixer"}, - {"MM_UL9", NULL, "MultiMedia9 Mixer"}, - {"MM_UL10", NULL, "MultiMedia10 Mixer"}, - {"MM_UL16", NULL, "MultiMedia16 Mixer"}, - {"MM_UL17", NULL, "MultiMedia17 Mixer"}, - {"MM_UL18", NULL, "MultiMedia18 Mixer"}, - {"MM_UL19", NULL, "MultiMedia19 Mixer"}, - {"MM_UL20", NULL, "MultiMedia20 Mixer"}, - {"MM_UL21", NULL, "MultiMedia21 Mixer"}, - {"MM_UL22", NULL, "MultiMedia22 Mixer"}, - {"MM_UL24", NULL, "MultiMedia24 Mixer"}, - {"MM_UL25", NULL, "MultiMedia25 Mixer"}, - {"MM_UL27", NULL, "MultiMedia27 Mixer"}, - {"MM_UL28", NULL, "MultiMedia28 Mixer"}, - {"MM_UL29", NULL, "MultiMedia29 Mixer"}, - {"MM_UL30", NULL, "MultiMedia30 Mixer"}, - {"MM_UL31", NULL, "MultiMedia31 Mixer"}, - {"MM_UL32", NULL, "MultiMedia32 Mixer"}, - {"MM_UL33", NULL, "MultiMedia33 Mixer"}, - {"MM_UL34", NULL, "MultiMedia34 Mixer"}, + {"QUIN_TDM_RX_2_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, + {"QUIN_TDM_RX_2", NULL, "QUIN_TDM_RX_2_Voice Mixer"}, - {"AUX_PCM_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"AUX_PCM_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"AUX_PCM_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"AUX_PCM_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"AUX_PCM_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"AUX_PCM_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"AUX_PCM_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"AUX_PCM_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"AUX_PCM_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, - {"AUX_PCM_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"AUX_PCM_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"AUX_PCM_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"AUX_PCM_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"AUX_PCM_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"AUX_PCM_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"AUX_PCM_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"AUX_PCM_RX Audio Mixer", "MultiMedia21", "MM_DL21"}, - {"AUX_PCM_RX", NULL, "AUX_PCM_RX Audio Mixer"}, + {"VoiceMMode1_Tx Mixer", "QUAT_TDM_TX_0_MMode1", "QUAT_TDM_TX_0"}, + {"VoiceMMode2_Tx Mixer", "PRI_TDM_TX_3_MMode2", "PRI_TDM_TX_3"}, + {"VoiceMMode1_Tx Mixer", "PRI_TDM_TX_3_MMode1", "PRI_TDM_TX_3"}, - {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, - {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"SEC_AUX_PCM_RX Audio Mixer", "MultiMedia21", "MM_DL21"}, - {"SEC_AUX_PCM_RX", NULL, "SEC_AUX_PCM_RX Audio Mixer"}, + {"VOC_EXT_EC MUX", "PRI_TDM_TX", "PRI_TDM_TX_0"}, + {"VOC_EXT_EC MUX", "SEC_TDM_TX", "SEC_TDM_TX_0"}, - {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, - {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"TERT_AUX_PCM_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"TERT_AUX_PCM_RX", NULL, "TERT_AUX_PCM_RX Audio Mixer"}, + /* connect to INT4_MI2S_DL_HL since same pcm_id */ + {"PRI_TDM_TX_0_UL_HL", NULL, "PRI_TDM_TX_0"}, + {"PRI_TDM_TX_1_UL_HL", NULL, "PRI_TDM_TX_1"}, + {"PRI_TDM_TX_2_UL_HL", NULL, "PRI_TDM_TX_2"}, + {"PRI_TDM_TX_3_UL_HL", NULL, "PRI_TDM_TX_3"}, + {"PRI_TDM_RX_0", NULL, "PRI_TDM_RX_0_DL_HL"}, + {"PRI_TDM_RX_1", NULL, "PRI_TDM_RX_1_DL_HL"}, + {"PRI_TDM_RX_2", NULL, "PRI_TDM_RX_2_DL_HL"}, + {"PRI_TDM_RX_3", NULL, "PRI_TDM_RX_3_DL_HL"}, + {"SEC_TDM_TX_0_UL_HL", NULL, "SEC_TDM_TX_0"}, + {"SEC_TDM_TX_1_UL_HL", NULL, "SEC_TDM_TX_1"}, + {"SEC_TDM_TX_2_UL_HL", NULL, "SEC_TDM_TX_2"}, + {"SEC_TDM_TX_3_UL_HL", NULL, "SEC_TDM_TX_3"}, + {"SEC_TDM_RX_0", NULL, "SEC_TDM_RX_0_DL_HL"}, + {"SEC_TDM_RX_1", NULL, "SEC_TDM_RX_1_DL_HL"}, + {"SEC_TDM_RX_2", NULL, "SEC_TDM_RX_2_DL_HL"}, + {"SEC_TDM_RX_3", NULL, "SEC_TDM_RX_3_DL_HL"}, + {"SEC_TDM_RX_7", NULL, "SEC_TDM_RX_7_DL_HL"}, + {"TERT_TDM_TX_0_UL_HL", NULL, "TERT_TDM_TX_0"}, + {"TERT_TDM_TX_1_UL_HL", NULL, "TERT_TDM_TX_1"}, + {"TERT_TDM_TX_2_UL_HL", NULL, "TERT_TDM_TX_2"}, + {"TERT_TDM_TX_3_UL_HL", NULL, "TERT_TDM_TX_3"}, + {"TERT_TDM_TX_7_UL_HL", NULL, "TERT_TDM_TX_7"}, + {"TERT_TDM_RX_0", NULL, "TERT_TDM_RX_0_DL_HL"}, + {"TERT_TDM_RX_1", NULL, "TERT_TDM_RX_1_DL_HL"}, + {"TERT_TDM_RX_2", NULL, "TERT_TDM_RX_2_DL_HL"}, + {"TERT_TDM_RX_3", NULL, "TERT_TDM_RX_3_DL_HL"}, + {"QUAT_TDM_TX_0_UL_HL", NULL, "QUAT_TDM_TX_0"}, + {"QUAT_TDM_TX_1_UL_HL", NULL, "QUAT_TDM_TX_1"}, + {"QUAT_TDM_TX_2_UL_HL", NULL, "QUAT_TDM_TX_2"}, + {"QUAT_TDM_TX_3_UL_HL", NULL, "QUAT_TDM_TX_3"}, + {"QUAT_TDM_TX_7_UL_HL", NULL, "QUAT_TDM_TX_7"}, + {"QUAT_TDM_RX_0", NULL, "QUAT_TDM_RX_0_DL_HL"}, + {"QUAT_TDM_RX_1", NULL, "QUAT_TDM_RX_1_DL_HL"}, + {"QUAT_TDM_RX_2", NULL, "QUAT_TDM_RX_2_DL_HL"}, + {"QUAT_TDM_RX_3", NULL, "QUAT_TDM_RX_3_DL_HL"}, + {"QUAT_TDM_RX_7", NULL, "QUAT_TDM_RX_7_DL_HL"}, + {"QUIN_TDM_TX_0_UL_HL", NULL, "QUIN_TDM_TX_0"}, + {"QUIN_TDM_TX_1_UL_HL", NULL, "QUIN_TDM_TX_1"}, + {"QUIN_TDM_TX_2_UL_HL", NULL, "QUIN_TDM_TX_2"}, + {"QUIN_TDM_TX_3_UL_HL", NULL, "QUIN_TDM_TX_3"}, + {"QUIN_TDM_TX_7_UL_HL", NULL, "QUIN_TDM_TX_7"}, + {"QUIN_TDM_RX_0", NULL, "QUIN_TDM_RX_0_DL_HL"}, + {"QUIN_TDM_RX_1", NULL, "QUIN_TDM_RX_1_DL_HL"}, + {"QUIN_TDM_RX_2", NULL, "QUIN_TDM_RX_2_DL_HL"}, + {"QUIN_TDM_RX_3", NULL, "QUIN_TDM_RX_3_DL_HL"}, + {"QUIN_TDM_RX_7", NULL, "QUIN_TDM_RX_7_DL_HL"}, + {"SEN_TDM_TX_0_UL_HL", NULL, "SEN_TDM_TX_0"}, + {"SEN_TDM_TX_1_UL_HL", NULL, "SEN_TDM_TX_1"}, + {"SEN_TDM_TX_2_UL_HL", NULL, "SEN_TDM_TX_2"}, + {"SEN_TDM_TX_3_UL_HL", NULL, "SEN_TDM_TX_3"}, + {"SEN_TDM_RX_0", NULL, "SEN_TDM_RX_0_DL_HL"}, + {"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"}, - {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, - {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"QUAT_AUX_PCM_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"QUAT_AUX_PCM_RX", NULL, "QUAT_AUX_PCM_RX Audio Mixer"}, +#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"}, + {"PRI_TDM_RX_0 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, +#endif + {"PRI_TDM_RX_0 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"PRI_TDM_RX_0 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"PRI_TDM_RX_0 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, + {"PRI_TDM_RX_0 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"PRI_TDM_RX_0 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, + {"PRI_TDM_RX_0 Port Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, + {"PRI_TDM_RX_0 Port Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, + {"PRI_TDM_RX_0 Port Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"}, + {"PRI_TDM_RX_0 Port Mixer", "PRI_TDM_TX_3", "PRI_TDM_TX_3"}, + {"PRI_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"PRI_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"PRI_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"PRI_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"PRI_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"PRI_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"PRI_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"PRI_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"PRI_TDM_RX_0 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"PRI_TDM_RX_0 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"PRI_TDM_RX_0 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"PRI_TDM_RX_0 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"PRI_TDM_RX_0", NULL, "PRI_TDM_RX_0 Port Mixer"}, - {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, - {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"QUIN_AUX_PCM_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"QUIN_AUX_PCM_RX", NULL, "QUIN_AUX_PCM_RX Audio Mixer"}, +#ifndef CONFIG_MI2S_DISABLE + {"PRI_TDM_RX_1 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"PRI_TDM_RX_1 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"PRI_TDM_RX_1 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, +#endif + {"PRI_TDM_RX_1 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"PRI_TDM_RX_1 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"PRI_TDM_RX_1 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"PRI_TDM_RX_1 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"PRI_TDM_RX_1 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"PRI_TDM_RX_1 Port Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, + {"PRI_TDM_RX_1 Port Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, + {"PRI_TDM_RX_1 Port Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"}, + {"PRI_TDM_RX_1 Port Mixer", "PRI_TDM_TX_3", "PRI_TDM_TX_3"}, + {"PRI_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"PRI_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"PRI_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"PRI_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"PRI_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"PRI_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"PRI_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"PRI_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"PRI_TDM_RX_1 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"PRI_TDM_RX_1 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"PRI_TDM_RX_1 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"PRI_TDM_RX_1 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"PRI_TDM_RX_1", NULL, "PRI_TDM_RX_1 Port Mixer"}, - {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, - {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, - {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, - {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, - {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, - {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, - {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, - {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, - {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, - {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, - {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, - {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, - {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, - {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, - {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, - {"SEN_AUX_PCM_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, - {"SEN_AUX_PCM_RX", NULL, "SEN_AUX_PCM_RX Audio Mixer"}, +#ifndef CONFIG_MI2S_DISABLE + {"PRI_TDM_RX_2 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"PRI_TDM_RX_2 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"PRI_TDM_RX_2 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, +#endif + {"PRI_TDM_RX_2 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"PRI_TDM_RX_2 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"PRI_TDM_RX_2 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"PRI_TDM_RX_2 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"PRI_TDM_RX_2 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"PRI_TDM_RX_2 Port Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, + {"PRI_TDM_RX_2 Port Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, + {"PRI_TDM_RX_2 Port Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"}, + {"PRI_TDM_RX_2 Port Mixer", "PRI_TDM_TX_3", "PRI_TDM_TX_3"}, + {"PRI_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"PRI_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"PRI_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"PRI_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"PRI_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"PRI_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"PRI_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"PRI_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"PRI_TDM_RX_2 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"PRI_TDM_RX_2 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"PRI_TDM_RX_2 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"PRI_TDM_RX_2 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"PRI_TDM_RX_2", NULL, "PRI_TDM_RX_2 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"PRI_TDM_RX_3 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"PRI_TDM_RX_3 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"PRI_TDM_RX_3 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, +#endif + {"PRI_TDM_RX_3 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"PRI_TDM_RX_3 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"PRI_TDM_RX_3 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"PRI_TDM_RX_3 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"PRI_TDM_RX_3 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"PRI_TDM_RX_3 Port Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, + {"PRI_TDM_RX_3 Port Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, + {"PRI_TDM_RX_3 Port Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"}, + {"PRI_TDM_RX_3 Port Mixer", "PRI_TDM_TX_3", "PRI_TDM_TX_3"}, + {"PRI_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"PRI_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"PRI_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"PRI_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"PRI_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"PRI_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"PRI_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"PRI_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"PRI_TDM_RX_3 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"PRI_TDM_RX_3 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"PRI_TDM_RX_3 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"PRI_TDM_RX_3 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"PRI_TDM_RX_3", NULL, "PRI_TDM_RX_3 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"SEC_TDM_RX_0 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SEC_TDM_RX_0 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"SEC_TDM_RX_0 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, +#endif + {"SEC_TDM_RX_0 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"SEC_TDM_RX_0 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SEC_TDM_RX_0 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"SEC_TDM_RX_0 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SEC_TDM_RX_0 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"SEC_TDM_RX_0 Port Mixer", "SEC_TDM_TX_0", "SEC_TDM_TX_0"}, + {"SEC_TDM_RX_0 Port Mixer", "SEC_TDM_TX_1", "SEC_TDM_TX_1"}, + {"SEC_TDM_RX_0 Port Mixer", "SEC_TDM_TX_2", "SEC_TDM_TX_2"}, + {"SEC_TDM_RX_0 Port Mixer", "SEC_TDM_TX_3", "SEC_TDM_TX_3"}, + {"SEC_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"SEC_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"SEC_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"SEC_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"SEC_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"SEC_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"SEC_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"SEC_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"SEC_TDM_RX_0 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"SEC_TDM_RX_0 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"SEC_TDM_RX_0 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"SEC_TDM_RX_0 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"SEC_TDM_RX_0", NULL, "SEC_TDM_RX_0 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"SEC_TDM_RX_1 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SEC_TDM_RX_1 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"SEC_TDM_RX_1 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, +#endif + {"SEC_TDM_RX_1 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"SEC_TDM_RX_1 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SEC_TDM_RX_1 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"SEC_TDM_RX_1 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SEC_TDM_RX_1 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"SEC_TDM_RX_1 Port Mixer", "SEC_TDM_TX_0", "SEC_TDM_TX_0"}, + {"SEC_TDM_RX_1 Port Mixer", "SEC_TDM_TX_1", "SEC_TDM_TX_1"}, + {"SEC_TDM_RX_1 Port Mixer", "SEC_TDM_TX_2", "SEC_TDM_TX_2"}, + {"SEC_TDM_RX_1 Port Mixer", "SEC_TDM_TX_3", "SEC_TDM_TX_3"}, + {"SEC_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"SEC_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"SEC_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"SEC_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"SEC_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"SEC_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"SEC_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"SEC_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"SEC_TDM_RX_1 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"SEC_TDM_RX_1 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"SEC_TDM_RX_1 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"SEC_TDM_RX_1 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"SEC_TDM_RX_1", NULL, "SEC_TDM_RX_1 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"SEC_TDM_RX_2 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SEC_TDM_RX_2 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"SEC_TDM_RX_2 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, +#endif + {"SEC_TDM_RX_2 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"SEC_TDM_RX_2 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SEC_TDM_RX_2 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"SEC_TDM_RX_2 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SEC_TDM_RX_2 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"SEC_TDM_RX_2 Port Mixer", "SEC_TDM_TX_0", "SEC_TDM_TX_0"}, + {"SEC_TDM_RX_2 Port Mixer", "SEC_TDM_TX_1", "SEC_TDM_TX_1"}, + {"SEC_TDM_RX_2 Port Mixer", "SEC_TDM_TX_2", "SEC_TDM_TX_2"}, + {"SEC_TDM_RX_2 Port Mixer", "SEC_TDM_TX_3", "SEC_TDM_TX_3"}, + {"SEC_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"SEC_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"SEC_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"SEC_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"SEC_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"SEC_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"SEC_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"SEC_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"SEC_TDM_RX_2 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"SEC_TDM_RX_2 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"SEC_TDM_RX_2 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"SEC_TDM_RX_2 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"SEC_TDM_RX_2", NULL, "SEC_TDM_RX_2 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"SEC_TDM_RX_3 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SEC_TDM_RX_3 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"SEC_TDM_RX_3 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, +#endif + {"SEC_TDM_RX_3 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"SEC_TDM_RX_3 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SEC_TDM_RX_3 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"SEC_TDM_RX_3 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SEC_TDM_RX_3 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"SEC_TDM_RX_3 Port Mixer", "SEC_TDM_TX_0", "SEC_TDM_TX_0"}, + {"SEC_TDM_RX_3 Port Mixer", "SEC_TDM_TX_1", "SEC_TDM_TX_1"}, + {"SEC_TDM_RX_3 Port Mixer", "SEC_TDM_TX_2", "SEC_TDM_TX_2"}, + {"SEC_TDM_RX_3 Port Mixer", "SEC_TDM_TX_3", "SEC_TDM_TX_3"}, + {"SEC_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"SEC_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"SEC_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"SEC_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"SEC_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"SEC_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"SEC_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"SEC_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"SEC_TDM_RX_3 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"SEC_TDM_RX_3 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"SEC_TDM_RX_3 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"SEC_TDM_RX_3 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"SEC_TDM_RX_3", NULL, "SEC_TDM_RX_3 Port Mixer"}, + + {"SEC_TDM_RX_7 Port Mixer", "TERT_TDM_TX_7", "TERT_TDM_TX_7"}, + {"SEC_TDM_RX_7", NULL, "SEC_TDM_RX_7 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"TERT_TDM_RX_0 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"TERT_TDM_RX_0 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"TERT_TDM_RX_0 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, +#endif + {"TERT_TDM_RX_0 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"TERT_TDM_RX_0 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"TERT_TDM_RX_0 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"TERT_TDM_RX_0 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"TERT_TDM_RX_0 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"TERT_TDM_RX_0 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"TERT_TDM_RX_0 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"TERT_TDM_RX_0 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"TERT_TDM_RX_0 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"TERT_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"TERT_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"TERT_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"TERT_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"TERT_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"TERT_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"TERT_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"TERT_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"TERT_TDM_RX_0 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"TERT_TDM_RX_0 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"TERT_TDM_RX_0 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"TERT_TDM_RX_0 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"TERT_TDM_RX_0", NULL, "TERT_TDM_RX_0 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"TERT_TDM_RX_1 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"TERT_TDM_RX_1 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"TERT_TDM_RX_1 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, +#endif + {"TERT_TDM_RX_1 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"TERT_TDM_RX_1 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"TERT_TDM_RX_1 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"TERT_TDM_RX_1 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"TERT_TDM_RX_1 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"TERT_TDM_RX_1 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"TERT_TDM_RX_1 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"TERT_TDM_RX_1 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"TERT_TDM_RX_1 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"TERT_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"TERT_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"TERT_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"TERT_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"TERT_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"TERT_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"TERT_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"TERT_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"TERT_TDM_RX_1 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"TERT_TDM_RX_1 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"TERT_TDM_RX_1 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"TERT_TDM_RX_1 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"TERT_TDM_RX_1", NULL, "TERT_TDM_RX_1 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"TERT_TDM_RX_2 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"TERT_TDM_RX_2 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"TERT_TDM_RX_2 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, +#endif + {"TERT_TDM_RX_2 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"TERT_TDM_RX_2 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"TERT_TDM_RX_2 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"TERT_TDM_RX_2 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"TERT_TDM_RX_2 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"TERT_TDM_RX_2 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"TERT_TDM_RX_2 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"TERT_TDM_RX_2 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"TERT_TDM_RX_2 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"TERT_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"TERT_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"TERT_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"TERT_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"TERT_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"TERT_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"TERT_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"TERT_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"TERT_TDM_RX_2 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"TERT_TDM_RX_2 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"TERT_TDM_RX_2 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"TERT_TDM_RX_2 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"TERT_TDM_RX_2", NULL, "TERT_TDM_RX_2 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"TERT_TDM_RX_3 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"TERT_TDM_RX_3 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"TERT_TDM_RX_3 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, +#endif + {"TERT_TDM_RX_3 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"TERT_TDM_RX_3 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"TERT_TDM_RX_3 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"TERT_TDM_RX_3 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"TERT_TDM_RX_3 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"TERT_TDM_RX_3 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"TERT_TDM_RX_3 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"TERT_TDM_RX_3 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"TERT_TDM_RX_3 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"TERT_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"TERT_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"TERT_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"TERT_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"TERT_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"TERT_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"TERT_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"TERT_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"TERT_TDM_RX_3 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"TERT_TDM_RX_3 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"TERT_TDM_RX_3 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"TERT_TDM_RX_3 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"TERT_TDM_RX_3", NULL, "TERT_TDM_RX_3 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"QUAT_TDM_RX_0 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"QUAT_TDM_RX_0 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"QUAT_TDM_RX_0 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"QUAT_TDM_RX_0 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"QUAT_TDM_RX_0 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"QUAT_TDM_RX_0 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"QUAT_TDM_RX_0 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"QUAT_TDM_RX_0 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"QUAT_TDM_RX_0 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"QUAT_TDM_RX_0 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"QUAT_TDM_RX_0 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"QUAT_TDM_RX_0 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"QUAT_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"QUAT_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"QUAT_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"QUAT_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"QUAT_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"QUAT_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"QUAT_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"QUAT_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"QUAT_TDM_RX_0 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"QUAT_TDM_RX_0 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"QUAT_TDM_RX_0 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"QUAT_TDM_RX_0 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"QUAT_TDM_RX_0", NULL, "QUAT_TDM_RX_0 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"QUAT_TDM_RX_1 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"QUAT_TDM_RX_1 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"QUAT_TDM_RX_1 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"QUAT_TDM_RX_1 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"QUAT_TDM_RX_1 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"QUAT_TDM_RX_1 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"QUAT_TDM_RX_1 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"QUAT_TDM_RX_1 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"QUAT_TDM_RX_1 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"QUAT_TDM_RX_1 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"QUAT_TDM_RX_1 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"QUAT_TDM_RX_1 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"QUAT_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"QUAT_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"QUAT_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"QUAT_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"QUAT_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"QUAT_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"QUAT_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"QUAT_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"QUAT_TDM_RX_1 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"QUAT_TDM_RX_1 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"QUAT_TDM_RX_1 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"QUAT_TDM_RX_1 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"QUAT_TDM_RX_1", NULL, "QUAT_TDM_RX_1 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"QUAT_TDM_RX_2 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"QUAT_TDM_RX_2 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"QUAT_TDM_RX_2 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"QUAT_TDM_RX_2 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"QUAT_TDM_RX_2 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"QUAT_TDM_RX_2 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"QUAT_TDM_RX_2 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"QUAT_TDM_RX_2 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"QUAT_TDM_RX_2 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"QUAT_TDM_RX_2 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"QUAT_TDM_RX_2 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"QUAT_TDM_RX_2 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"QUAT_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"QUAT_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"QUAT_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"QUAT_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"QUAT_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"QUAT_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"QUAT_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"QUAT_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"QUAT_TDM_RX_2 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"QUAT_TDM_RX_2 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"QUAT_TDM_RX_2 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"QUAT_TDM_RX_2 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"QUAT_TDM_RX_2", NULL, "QUAT_TDM_RX_2 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"QUAT_TDM_RX_3 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"QUAT_TDM_RX_3 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"QUAT_TDM_RX_3 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"QUAT_TDM_RX_3 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"QUAT_TDM_RX_3 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"QUAT_TDM_RX_3 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"QUAT_TDM_RX_3 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"QUAT_TDM_RX_3 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"QUAT_TDM_RX_3 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"QUAT_TDM_RX_3 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"QUAT_TDM_RX_3 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"QUAT_TDM_RX_3 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"QUAT_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"QUAT_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"QUAT_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"QUAT_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"QUAT_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"QUAT_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"QUAT_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"QUAT_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"QUAT_TDM_RX_3 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"QUAT_TDM_RX_3 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"QUAT_TDM_RX_3 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"QUAT_TDM_RX_3 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"QUAT_TDM_RX_3", NULL, "QUAT_TDM_RX_3 Port Mixer"}, + + {"QUAT_TDM_RX_7 Port Mixer", "QUAT_TDM_TX_7", "QUAT_TDM_TX_7"}, + {"QUAT_TDM_RX_7 Port Mixer", "QUIN_TDM_TX_7", "QUIN_TDM_TX_7"}, + {"QUAT_TDM_RX_7", NULL, "QUAT_TDM_RX_7 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"QUIN_TDM_RX_0 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"QUIN_TDM_RX_0 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"QUIN_TDM_RX_0 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"QUIN_TDM_RX_0 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"QUIN_TDM_RX_0 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"QUIN_TDM_RX_0 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"QUIN_TDM_RX_0 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"QUIN_TDM_RX_0 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"QUIN_TDM_RX_0 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"QUIN_TDM_RX_0 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"QUIN_TDM_RX_0 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"QUIN_TDM_RX_0 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"QUIN_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"QUIN_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"QUIN_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"QUIN_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"QUIN_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"QUIN_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"QUIN_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"QUIN_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"QUIN_TDM_RX_0 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"QUIN_TDM_RX_0 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"QUIN_TDM_RX_0 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"QUIN_TDM_RX_0 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"QUIN_TDM_RX_0", NULL, "QUIN_TDM_RX_0 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"QUIN_TDM_RX_1 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"QUIN_TDM_RX_1 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"QUIN_TDM_RX_1 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"QUIN_TDM_RX_1 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"QUIN_TDM_RX_1 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"QUIN_TDM_RX_1 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"QUIN_TDM_RX_1 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"QUIN_TDM_RX_1 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"QUIN_TDM_RX_1 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"QUIN_TDM_RX_1 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"QUIN_TDM_RX_1 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"QUIN_TDM_RX_1 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"QUIN_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"QUIN_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"QUIN_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"QUIN_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"QUIN_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"QUIN_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"QUIN_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"QUIN_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"QUIN_TDM_RX_1 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"QUIN_TDM_RX_1 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"QUIN_TDM_RX_1 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"QUIN_TDM_RX_1 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"QUIN_TDM_RX_1", NULL, "QUIN_TDM_RX_1 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"QUIN_TDM_RX_2 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"QUIN_TDM_RX_2 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"QUIN_TDM_RX_2 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"QUIN_TDM_RX_2 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"QUIN_TDM_RX_2 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"QUIN_TDM_RX_2 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"QUIN_TDM_RX_2 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"QUIN_TDM_RX_2 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"QUIN_TDM_RX_2 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"QUIN_TDM_RX_2 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"QUIN_TDM_RX_2 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"QUIN_TDM_RX_2 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"QUIN_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"QUIN_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"QUIN_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"QUIN_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"QUIN_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"QUIN_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"QUIN_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"QUIN_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"QUIN_TDM_RX_2 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"QUIN_TDM_RX_2 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"QUIN_TDM_RX_2 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"QUIN_TDM_RX_2 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"QUIN_TDM_RX_2", NULL, "QUIN_TDM_RX_2 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"QUIN_TDM_RX_3 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"QUIN_TDM_RX_3 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"QUIN_TDM_RX_3 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"QUIN_TDM_RX_3 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"QUIN_TDM_RX_3 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"QUIN_TDM_RX_3 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"QUIN_TDM_RX_3 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"QUIN_TDM_RX_3 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"QUIN_TDM_RX_3 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"QUIN_TDM_RX_3 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"QUIN_TDM_RX_3 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"QUIN_TDM_RX_3 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"QUIN_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"QUIN_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"QUIN_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"QUIN_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"QUIN_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"QUIN_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, + {"QUIN_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, + {"QUIN_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, + {"QUIN_TDM_RX_3 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"QUIN_TDM_RX_3 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"QUIN_TDM_RX_3 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"QUIN_TDM_RX_3 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"QUIN_TDM_RX_3", NULL, "QUIN_TDM_RX_3 Port Mixer"}, + + {"QUIN_TDM_RX_7 Port Mixer", "TERT_TDM_TX_7", "TERT_TDM_TX_7"}, + {"QUIN_TDM_RX_7 Port Mixer", "QUAT_TDM_TX_7", "QUAT_TDM_TX_7"}, + {"QUIN_TDM_RX_7 Port Mixer", "QUIN_TDM_TX_7", "QUIN_TDM_TX_7"}, + {"QUIN_TDM_RX_7", NULL, "QUIN_TDM_RX_7 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"SEN_TDM_RX_0 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SEN_TDM_RX_0 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"SEN_TDM_RX_0 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"SEN_TDM_RX_0 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"SEN_TDM_RX_0 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SEN_TDM_RX_0 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"SEN_TDM_RX_0 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SEN_TDM_RX_0 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"SEN_TDM_RX_0 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"SEN_TDM_RX_0 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"SEN_TDM_RX_0 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"SEN_TDM_RX_0 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"SEN_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"SEN_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"SEN_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"SEN_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"SEN_TDM_RX_0 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"SEN_TDM_RX_0 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"SEN_TDM_RX_0 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"SEN_TDM_RX_0 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"SEN_TDM_RX_0", NULL, "SEN_TDM_RX_0 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"SEN_TDM_RX_1 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SEN_TDM_RX_1 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"SEN_TDM_RX_1 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"SEN_TDM_RX_1 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"SEN_TDM_RX_1 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SEN_TDM_RX_1 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"SEN_TDM_RX_1 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SEN_TDM_RX_1 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"SEN_TDM_RX_1 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"SEN_TDM_RX_1 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"SEN_TDM_RX_1 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"SEN_TDM_RX_1 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"SEN_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"SEN_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"SEN_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"SEN_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"SEN_TDM_RX_1 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"SEN_TDM_RX_1 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"SEN_TDM_RX_1 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"SEN_TDM_RX_1 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"SEN_TDM_RX_1", NULL, "SEN_TDM_RX_1 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"SEN_TDM_RX_2 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SEN_TDM_RX_2 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"SEN_TDM_RX_2 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"SEN_TDM_RX_2 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"SEN_TDM_RX_2 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SEN_TDM_RX_2 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"SEN_TDM_RX_2 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SEN_TDM_RX_2 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"SEN_TDM_RX_2 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"SEN_TDM_RX_2 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"SEN_TDM_RX_2 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"SEN_TDM_RX_2 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"SEN_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"SEN_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"SEN_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"SEN_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"SEN_TDM_RX_2 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"SEN_TDM_RX_2 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"SEN_TDM_RX_2 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"SEN_TDM_RX_2 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, + {"SEN_TDM_RX_2", NULL, "SEN_TDM_RX_2 Port Mixer"}, + +#ifndef CONFIG_MI2S_DISABLE + {"SEN_TDM_RX_3 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SEN_TDM_RX_3 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"SEN_TDM_RX_3 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, +#endif + {"SEN_TDM_RX_3 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + {"SEN_TDM_RX_3 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, + {"SEN_TDM_RX_3 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE + {"SEN_TDM_RX_3 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, + {"SEN_TDM_RX_3 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif + {"SEN_TDM_RX_3 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"SEN_TDM_RX_3 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, + {"SEN_TDM_RX_3 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, + {"SEN_TDM_RX_3 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, + {"SEN_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, + {"SEN_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"SEN_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, + {"SEN_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, + {"SEN_TDM_RX_3 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, + {"SEN_TDM_RX_3 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, + {"SEN_TDM_RX_3 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, + {"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"}, + + {"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"}, + {"AUDIO_REF_EC_UL1 MUX", "QUAT_TDM_RX_2", "QUAT_TDM_RX_2"}, + {"AUDIO_REF_EC_UL1 MUX", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"AUDIO_REF_EC_UL1 MUX", "TERT_TDM_RX_2", "TERT_TDM_RX_2"}, + {"AUDIO_REF_EC_UL1 MUX", "SEC_TDM_TX_0", "SEC_TDM_TX_0"}, + {"AUDIO_REF_EC_UL1 MUX", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + + {"AUDIO_REF_EC_UL10 MUX", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, + {"AUDIO_REF_EC_UL10 MUX", "QUAT_TDM_RX_0", "QUAT_TDM_RX_0"}, + {"AUDIO_REF_EC_UL10 MUX", "QUAT_TDM_RX_1", "QUAT_TDM_RX_1"}, + {"AUDIO_REF_EC_UL10 MUX", "QUAT_TDM_RX_2", "QUAT_TDM_RX_2"}, + {"AUDIO_REF_EC_UL10 MUX", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"AUDIO_REF_EC_UL10 MUX", "TERT_TDM_RX_2", "TERT_TDM_RX_2"}, + {"AUDIO_REF_EC_UL10 MUX", "SEC_TDM_TX_0", "SEC_TDM_TX_0"}, + + {"LSM1 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"LSM1 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"LSM2 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"LSM2 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"LSM3 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"LSM3 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"LSM4 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"LSM4 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"LSM5 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"LSM5 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"LSM6 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"LSM6 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"LSM7 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"LSM7 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + {"LSM8 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, + {"LSM8 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, + + /* Backend Enablement */ + {"BE_OUT", NULL, "PRI_TDM_RX_0"}, + {"BE_OUT", NULL, "PRI_TDM_RX_1"}, + {"BE_OUT", NULL, "PRI_TDM_RX_2"}, + {"BE_OUT", NULL, "PRI_TDM_RX_3"}, + {"BE_OUT", NULL, "SEC_TDM_RX_0"}, + {"BE_OUT", NULL, "SEC_TDM_RX_1"}, + {"BE_OUT", NULL, "SEC_TDM_RX_2"}, + {"BE_OUT", NULL, "SEC_TDM_RX_3"}, + {"BE_OUT", NULL, "SEC_TDM_RX_7"}, + {"BE_OUT", NULL, "TERT_TDM_RX_0"}, + {"BE_OUT", NULL, "TERT_TDM_RX_1"}, + {"BE_OUT", NULL, "TERT_TDM_RX_2"}, + {"BE_OUT", NULL, "TERT_TDM_RX_3"}, + {"BE_OUT", NULL, "TERT_TDM_RX_4"}, + {"BE_OUT", NULL, "QUAT_TDM_RX_0"}, + {"BE_OUT", NULL, "QUAT_TDM_RX_1"}, + {"BE_OUT", NULL, "QUAT_TDM_RX_2"}, + {"BE_OUT", NULL, "QUAT_TDM_RX_3"}, + {"BE_OUT", NULL, "QUAT_TDM_RX_7"}, + {"BE_OUT", NULL, "QUIN_TDM_RX_0"}, + {"BE_OUT", NULL, "QUIN_TDM_RX_1"}, + {"BE_OUT", NULL, "QUIN_TDM_RX_2"}, + {"BE_OUT", NULL, "QUIN_TDM_RX_3"}, + {"BE_OUT", NULL, "QUIN_TDM_RX_7"}, + {"BE_OUT", NULL, "SEN_TDM_RX_0"}, + {"BE_OUT", NULL, "SEN_TDM_RX_1"}, + {"BE_OUT", NULL, "SEN_TDM_RX_2"}, + {"BE_OUT", NULL, "SEN_TDM_RX_3"}, + + {"PRI_TDM_TX_0", NULL, "BE_IN"}, + {"PRI_TDM_TX_1", NULL, "BE_IN"}, + {"PRI_TDM_TX_2", NULL, "BE_IN"}, + {"PRI_TDM_TX_3", NULL, "BE_IN"}, + {"SEC_TDM_TX_0", NULL, "BE_IN"}, + {"SEC_TDM_TX_1", NULL, "BE_IN"}, + {"SEC_TDM_TX_2", NULL, "BE_IN"}, + {"SEC_TDM_TX_3", NULL, "BE_IN"}, + {"TERT_TDM_TX_0", NULL, "BE_IN"}, + {"TERT_TDM_TX_1", NULL, "BE_IN"}, + {"TERT_TDM_TX_2", NULL, "BE_IN"}, + {"TERT_TDM_TX_3", NULL, "BE_IN"}, + {"TERT_TDM_TX_7", NULL, "BE_IN"}, + {"QUAT_TDM_TX_0", NULL, "BE_IN"}, + {"QUAT_TDM_TX_1", NULL, "BE_IN"}, + {"QUAT_TDM_TX_2", NULL, "BE_IN"}, + {"QUAT_TDM_TX_3", NULL, "BE_IN"}, + {"QUAT_TDM_TX_7", NULL, "BE_IN"}, + {"QUIN_TDM_TX_0", NULL, "BE_IN"}, + {"QUIN_TDM_TX_1", NULL, "BE_IN"}, + {"QUIN_TDM_TX_2", NULL, "BE_IN"}, + {"QUIN_TDM_TX_3", NULL, "BE_IN"}, + {"QUIN_TDM_TX_7", NULL, "BE_IN"}, + {"SEN_TDM_TX_0", NULL, "BE_IN"}, + {"SEN_TDM_TX_1", NULL, "BE_IN"}, + {"SEN_TDM_TX_2", NULL, "BE_IN"}, + {"SEN_TDM_TX_3", NULL, "BE_IN"}, +}; +#endif + +#ifndef CONFIG_MI2S_DISABLE +static const struct snd_soc_dapm_route intercon_mi2s[] = { + {"PRI_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"PRI_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"PRI_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"PRI_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"PRI_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"PRI_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"PRI_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"PRI_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"PRI_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"PRI_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"PRI_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"PRI_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"PRI_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"PRI_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"PRI_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"PRI_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"PRI_RX Audio Mixer", "MultiMedia26", "MM_DL26"}, + {"PRI_I2S_RX", NULL, "PRI_RX Audio Mixer"}, + + {"SEC_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"SEC_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"SEC_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"SEC_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"SEC_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"SEC_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"SEC_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"SEC_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"SEC_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"SEC_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"SEC_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"SEC_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"SEC_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"SEC_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"SEC_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"SEC_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"SEC_RX Audio Mixer", "MultiMedia26", "MM_DL26"}, + {"SEC_I2S_RX", NULL, "SEC_RX Audio Mixer"}, + + /* incall */ + {"MultiMedia2 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"MultiMedia4 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"MultiMedia17 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"MultiMedia18 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"MultiMedia19 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"MultiMedia28 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"MultiMedia29 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"MultiMedia30 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"MultiMedia8 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"MultiMedia18 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"MultiMedia19 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"MultiMedia28 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"MultiMedia29 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"MultiMedia30 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"MultiMedia17 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"MultiMedia18 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"MultiMedia19 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"MultiMedia28 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"MultiMedia29 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"MultiMedia30 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"MultiMedia17 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, + {"MultiMedia18 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, + {"MultiMedia19 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, + {"MultiMedia28 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, + {"MultiMedia29 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, + {"MultiMedia30 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, + {"MultiMedia8 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, + + {"MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"MI2S_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"MI2S_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"MI2S_RX Audio Mixer", "MultiMedia26", "MM_DL26"}, + {"MI2S_RX", NULL, "MI2S_RX Audio Mixer"}, + + {"QUAT_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"QUAT_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"QUAT_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"QUAT_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"QUAT_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"QUAT_MI2S_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"QUAT_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"QUAT_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"QUAT_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"QUAT_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"QUAT_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"QUAT_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"QUAT_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"QUAT_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"QUAT_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"QUAT_MI2S_RX Audio Mixer", "MultiMedia21", "MM_DL21"}, + {"QUAT_MI2S_RX Audio Mixer", "MultiMedia26", "MM_DL26"}, + {"QUAT_MI2S_RX", NULL, "QUAT_MI2S_RX Audio Mixer"}, + + {"TERT_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"TERT_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"TERT_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"TERT_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"TERT_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"TERT_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"TERT_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"TERT_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"TERT_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"TERT_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"TERT_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"TERT_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"TERT_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"TERT_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"TERT_MI2S_RX Audio Mixer", "MultiMedia26", "MM_DL26"}, + {"TERT_MI2S_RX", NULL, "TERT_MI2S_RX Audio Mixer"}, + + {"SEC_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"SEC_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"SEC_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"SEC_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"SEC_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"SEC_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"SEC_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"SEC_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"SEC_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"SEC_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"SEC_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"SEC_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"SEC_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"SEC_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"SEC_MI2S_RX Audio Mixer", "MultiMedia26", "MM_DL26"}, + {"SEC_MI2S_RX", NULL, "SEC_MI2S_RX Audio Mixer"}, + + {"SEC_MI2S_RX_SD1 Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"SEC_MI2S_RX_SD1", NULL, "SEC_MI2S_RX_SD1 Audio Mixer"}, + + {"SEC_MI2S_RX Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SEC_MI2S_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, + + {"PRI_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"PRI_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"PRI_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"PRI_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"PRI_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"PRI_MI2S_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"PRI_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"PRI_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"PRI_MI2S_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"PRI_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"PRI_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"PRI_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"PRI_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"PRI_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"PRI_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"PRI_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"PRI_MI2S_RX Audio Mixer", "MultiMedia26", "MM_DL26"}, + {"PRI_MI2S_RX", NULL, "PRI_MI2S_RX Audio Mixer"}, + {"PRI_MI2S_RX Audio Mixer", "DTMF", "DTMF_DL_HL"}, + + {"INT0_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"INT0_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"INT0_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"INT0_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"INT0_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"INT0_MI2S_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"INT0_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"INT0_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"INT0_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"INT0_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"INT0_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"INT0_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"INT0_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"INT0_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"INT0_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"INT0_MI2S_RX", NULL, "INT0_MI2S_RX Audio Mixer"}, + + {"INT4_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"INT4_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"INT4_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"INT4_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"INT4_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"INT4_MI2S_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"INT4_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"INT4_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"INT4_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"INT4_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"INT4_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"INT4_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"INT4_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"INT4_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"INT4_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"INT4_MI2S_RX", NULL, "INT4_MI2S_RX Audio Mixer"}, + + {"QUIN_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"QUIN_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"QUIN_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"QUIN_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"QUIN_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"QUIN_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"QUIN_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"QUIN_MI2S_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"QUIN_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"QUIN_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"QUIN_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"QUIN_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"QUIN_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"QUIN_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"QUIN_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"QUIN_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"QUIN_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"QUIN_MI2S_RX", NULL, "QUIN_MI2S_RX Audio Mixer"}, + + {"SEN_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"SEN_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"SEN_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"SEN_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"SEN_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"SEN_MI2S_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"SEN_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"SEN_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"SEN_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"SEN_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"SEN_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"SEN_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"SEN_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"SEN_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"SEN_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"SEN_MI2S_RX", NULL, "SEN_MI2S_RX Audio Mixer"}, + + {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"PRI_META_MI2S_RX Audio Mixer", "MultiMedia26", "MM_DL26"}, + {"PRI_META_MI2S_RX", NULL, "PRI_META_MI2S_RX Audio Mixer"}, + + {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, + {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, + {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, + {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, + {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, + {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, + {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, + {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, + {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, + {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, + {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, + {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, + {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, + {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, + {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, + {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, + {"SEC_META_MI2S_RX Audio Mixer", "MultiMedia26", "MM_DL26"}, + {"SEC_META_MI2S_RX", NULL, "SEC_META_MI2S_RX Audio Mixer"}, + + {"MultiMedia1 Mixer", "PRI_TX", "PRI_I2S_TX"}, + {"MultiMedia1 Mixer", "MI2S_TX", "MI2S_TX"}, + {"MultiMedia2 Mixer", "MI2S_TX", "MI2S_TX"}, + {"MultiMedia3 Mixer", "MI2S_TX", "MI2S_TX"}, + {"MultiMedia5 Mixer", "MI2S_TX", "MI2S_TX"}, + {"MultiMedia10 Mixer", "MI2S_TX", "MI2S_TX"}, + {"MultiMedia16 Mixer", "MI2S_TX", "MI2S_TX"}, + {"MultiMedia1 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, + {"MultiMedia2 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, + {"MultiMedia6 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, + {"MultiMedia1 Mixer", "QUIN_MI2S_TX", "QUIN_MI2S_TX"}, + {"MultiMedia2 Mixer", "QUIN_MI2S_TX", "QUIN_MI2S_TX"}, + {"MultiMedia1 Mixer", "SENARY_MI2S_TX", "SENARY_MI2S_TX"}, + {"MultiMedia2 Mixer", "SENARY_MI2S_TX", "SENARY_MI2S_TX"}, + {"MultiMedia1 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"MultiMedia2 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"MultiMedia1 Mixer", "INT2_MI2S_TX", "INT2_MI2S_TX"}, + {"MultiMedia2 Mixer", "INT2_MI2S_TX", "INT2_MI2S_TX"}, + {"MultiMedia1 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, + {"MultiMedia2 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, + {"MultiMedia1 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"MultiMedia1 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"MultiMedia2 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"MultiMedia6 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"MultiMedia3 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"MultiMedia5 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"MultiMedia10 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"MultiMedia6 Mixer", "INT2_MI2S_TX", "INT2_MI2S_TX"}, + {"MultiMedia3 Mixer", "INT2_MI2S_TX", "INT2_MI2S_TX"}, + {"MultiMedia5 Mixer", "INT2_MI2S_TX", "INT2_MI2S_TX"}, + {"MultiMedia10 Mixer", "INT2_MI2S_TX", "INT2_MI2S_TX"}, + {"MultiMedia16 Mixer", "INT2_MI2S_TX", "INT2_MI2S_TX"}, + {"MultiMedia6 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, + {"MultiMedia3 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, + {"MultiMedia5 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, + {"MultiMedia10 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, + {"MultiMedia16 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, + {"MultiMedia17 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, + {"MultiMedia18 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, + {"MultiMedia19 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, + {"MultiMedia28 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, + {"MultiMedia29 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, + {"MultiMedia30 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, + {"MultiMedia6 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"MultiMedia6 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"MultiMedia6 Mixer", "QUIN_MI2S_TX", "QUIN_MI2S_TX"}, + {"MultiMedia6 Mixer", "SENARY_MI2S_TX", "SENARY_MI2S_TX"}, + + {"MultiMedia20 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"MultiMedia20 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"MultiMedia20 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"MultiMedia20 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, + {"MultiMedia20 Mixer", "QUIN_MI2S_TX", "QUIN_MI2S_TX"}, + {"MultiMedia20 Mixer", "SENARY_MI2S_TX", "SENARY_MI2S_TX"}, + {"MultiMedia27 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"MultiMedia27 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"MultiMedia27 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"MultiMedia27 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, + {"MultiMedia27 Mixer", "QUIN_MI2S_TX", "QUIN_MI2S_TX"}, + {"MultiMedia27 Mixer", "SENARY_MI2S_TX", "SENARY_MI2S_TX"}, {"PRI_RX_Voice Mixer", "Voip", "VOIP_DL"}, {"PRI_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, @@ -29116,105 +31004,6 @@ static const struct snd_soc_dapm_route intercon[] = { {"SEC_MI2S_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, {"SEC_MI2S_RX", NULL, "SEC_MI2S_RX_Voice Mixer"}, - {"SLIM_0_RX_Voice Mixer", "Voip", "VOIP_DL"}, - {"SLIM_0_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"SLIM_0_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"SLIM_0_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"SLIM_0_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"SLIMBUS_0_RX", NULL, "SLIM_0_RX_Voice Mixer"}, - - {"SLIM_6_RX_Voice Mixer", "Voip", "VOIP_DL"}, - {"SLIM_6_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"SLIM_6_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"SLIM_6_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"SLIM_6_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"SLIMBUS_6_RX", NULL, "SLIM_6_RX_Voice Mixer"}, - - {"USB_AUDIO_RX_Voice Mixer", "Voip", "VOIP_DL"}, - {"USB_AUDIO_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"USB_AUDIO_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"USB_AUDIO_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"USB_AUDIO_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"USB_AUDIO_RX", NULL, "USB_AUDIO_RX_Voice Mixer"}, - - {"DISPLAY_PORT_RX_Voice Mixer", "Voip", "VOIP_DL"}, - {"DISPLAY_PORT_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"DISPLAY_PORT_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"DISPLAY_PORT_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"DISPLAY_PORT_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"DISPLAY_PORT", NULL, "DISPLAY_PORT_RX_Voice Mixer"}, - - {"DISPLAY_PORT_RX1_Voice Mixer", "Voip", "VOIP_DL"}, - {"DISPLAY_PORT_RX1_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"DISPLAY_PORT_RX1_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"DISPLAY_PORT_RX1_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"DISPLAY_PORT_RX1_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"DISPLAY_PORT1", NULL, "DISPLAY_PORT_RX1_Voice Mixer"}, - - {"INTERNAL_BT_SCO_RX_Voice Mixer", "Voip", "VOIP_DL"}, - {"INTERNAL_BT_SCO_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"INTERNAL_BT_SCO_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"INTERNAL_BT_SCO_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"INTERNAL_BT_SCO_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"INT_BT_SCO_RX", NULL, "INTERNAL_BT_SCO_RX_Voice Mixer"}, - - {"AFE_PCM_RX_Voice Mixer", "Voip", "VOIP_DL"}, - {"AFE_PCM_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"AFE_PCM_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"AFE_PCM_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"AFE_PCM_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"PCM_RX", NULL, "AFE_PCM_RX_Voice Mixer"}, - - {"AUX_PCM_RX_Voice Mixer", "Voip", "VOIP_DL"}, - {"AUX_PCM_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"AUX_PCM_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"AUX_PCM_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"AUX_PCM_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"AUX_PCM_RX", NULL, "AUX_PCM_RX_Voice Mixer"}, - - {"SEC_AUX_PCM_RX_Voice Mixer", "Voip", "VOIP_DL"}, - {"SEC_AUX_PCM_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"SEC_AUX_PCM_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"SEC_AUX_PCM_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"SEC_AUX_PCM_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"SEC_AUX_PCM_RX", NULL, "SEC_AUX_PCM_RX_Voice Mixer"}, - - {"TERT_AUX_PCM_RX_Voice Mixer", "Voip", "VOIP_DL"}, - {"TERT_AUX_PCM_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"TERT_AUX_PCM_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"TERT_AUX_PCM_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"TERT_AUX_PCM_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"TERT_AUX_PCM_RX", NULL, "TERT_AUX_PCM_RX_Voice Mixer"}, - - {"QUAT_AUX_PCM_RX_Voice Mixer", "Voip", "VOIP_DL"}, - {"QUAT_AUX_PCM_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"QUAT_AUX_PCM_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"QUAT_AUX_PCM_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"QUAT_AUX_PCM_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"QUAT_AUX_PCM_RX", NULL, "QUAT_AUX_PCM_RX_Voice Mixer"}, - - {"QUIN_AUX_PCM_RX_Voice Mixer", "Voip", "VOIP_DL"}, - {"QUIN_AUX_PCM_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"QUIN_AUX_PCM_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"QUIN_AUX_PCM_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"QUIN_AUX_PCM_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"QUIN_AUX_PCM_RX", NULL, "QUIN_AUX_PCM_RX_Voice Mixer"}, - - {"SEN_AUX_PCM_RX_Voice Mixer", "Voip", "VOIP_DL"}, - {"SEN_AUX_PCM_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"SEN_AUX_PCM_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"SEN_AUX_PCM_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"SEN_AUX_PCM_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"SEN_AUX_PCM_RX", NULL, "SEN_AUX_PCM_RX_Voice Mixer"}, - - {"HDMI_RX_Voice Mixer", "Voip", "VOIP_DL"}, - {"HDMI_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"HDMI_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"HDMI_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"HDMI_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"HDMI", NULL, "HDMI_RX_Voice Mixer"}, - {"HDMI", NULL, "HDMI_DL_HL"}, - {"MI2S_RX_Voice Mixer", "Voip", "VOIP_DL"}, {"MI2S_RX_Voice Mixer", "Voice Stub", "VOICE_STUB_DL"}, {"MI2S_RX_Voice Mixer", "Voice2 Stub", "VOICE2_STUB_DL"}, @@ -29272,104 +31061,22 @@ static const struct snd_soc_dapm_route intercon[] = { {"QUIN_MI2S_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, {"QUIN_MI2S_RX", NULL, "QUIN_MI2S_RX_Voice Mixer"}, - {"PRI_TDM_RX_0_Voice Mixer", "Voip", "VOIP_DL"}, - {"PRI_TDM_RX_0_Voice Mixer", "VoLTE Stub", "VOLTE_STUB_DL"}, - {"PRI_TDM_RX_0_Voice Mixer", "Voice Stub", "VOICE_STUB_DL"}, - {"PRI_TDM_RX_0_Voice Mixer", "Voice2 Stub", "VOICE2_STUB_DL"}, - {"PRI_TDM_RX_0_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"PRI_TDM_RX_0_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"PRI_TDM_RX_0_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"PRI_TDM_RX_0_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"PRI_TDM_RX_0", NULL, "PRI_TDM_RX_0_Voice Mixer"}, - - {"PRI_TDM_RX_1_Voice Mixer", "Voip", "VOIP_DL"}, - {"PRI_TDM_RX_1_Voice Mixer", "VoLTE Stub", "VOLTE_STUB_DL"}, - {"PRI_TDM_RX_1_Voice Mixer", "Voice Stub", "VOICE_STUB_DL"}, - {"PRI_TDM_RX_1_Voice Mixer", "Voice2 Stub", "VOICE2_STUB_DL"}, - {"PRI_TDM_RX_1_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"PRI_TDM_RX_1_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"PRI_TDM_RX_1_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"PRI_TDM_RX_1_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"PRI_TDM_RX_1", NULL, "PRI_TDM_RX_1_Voice Mixer"}, - - {"PRI_TDM_RX_2_Voice Mixer", "Voip", "VOIP_DL"}, - {"PRI_TDM_RX_2_Voice Mixer", "VoLTE Stub", "VOLTE_STUB_DL"}, - {"PRI_TDM_RX_2_Voice Mixer", "Voice Stub", "VOICE_STUB_DL"}, - {"PRI_TDM_RX_2_Voice Mixer", "Voice2 Stub", "VOICE2_STUB_DL"}, - {"PRI_TDM_RX_2_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"PRI_TDM_RX_2_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"PRI_TDM_RX_2_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"PRI_TDM_RX_2_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"PRI_TDM_RX_2", NULL, "PRI_TDM_RX_2_Voice Mixer"}, - - {"PRI_TDM_RX_3_Voice Mixer", "Voip", "VOIP_DL"}, - {"PRI_TDM_RX_3_Voice Mixer", "VoLTE Stub", "VOLTE_STUB_DL"}, - {"PRI_TDM_RX_3_Voice Mixer", "Voice Stub", "VOICE_STUB_DL"}, - {"PRI_TDM_RX_3_Voice Mixer", "Voice2 Stub", "VOICE2_STUB_DL"}, - {"PRI_TDM_RX_3_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"PRI_TDM_RX_3_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"PRI_TDM_RX_3_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"PRI_TDM_RX_3_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"PRI_TDM_RX_3", NULL, "PRI_TDM_RX_3_Voice Mixer"}, - {"SEN_MI2S_RX_Voice Mixer", "Voip", "VOIP_DL"}, {"SEN_MI2S_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, {"SEN_MI2S_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, {"SEN_MI2S_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, {"SEN_MI2S_RX", NULL, "SEN_MI2S_RX_Voice Mixer"}, - {"QUAT_TDM_RX_2_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"QUAT_TDM_RX_2", NULL, "QUAT_TDM_RX_2_Voice Mixer"}, - - {"QUIN_TDM_RX_2_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"QUIN_TDM_RX_2", NULL, "QUIN_TDM_RX_2_Voice Mixer"}, - - {"WSA_CDC_DMA_RX_0_Voice Mixer", "Voip", "VOIP_DL"}, - {"WSA_CDC_DMA_RX_0_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"WSA_CDC_DMA_RX_0_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"WSA_CDC_DMA_RX_0", NULL, "WSA_CDC_DMA_RX_0_Voice Mixer"}, - - {"PROXY_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"PROXY_RX", NULL, "PROXY_RX_Voice Mixer"}, - - {"PROXY_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"PROXY_RX", NULL, "PROXY_RX_Voice Mixer"}, - - {"RX_CDC_DMA_RX_0_Voice Mixer", "Voip", "VOIP_DL"}, - {"RX_CDC_DMA_RX_0_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"RX_CDC_DMA_RX_0_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"RX_CDC_DMA_RX_0", NULL, "RX_CDC_DMA_RX_0_Voice Mixer"}, - - {"RX_CDC_DMA_RX_1_Voice Mixer", "Voip", "VOIP_DL"}, - {"RX_CDC_DMA_RX_1_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"RX_CDC_DMA_RX_1_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"RX_CDC_DMA_RX_1", NULL, "RX_CDC_DMA_RX_1_Voice Mixer"}, - {"VOC_EXT_EC MUX", "PRI_MI2S_TX", "PRI_MI2S_TX"}, {"VOC_EXT_EC MUX", "SEC_MI2S_TX", "SEC_MI2S_TX"}, {"VOC_EXT_EC MUX", "TERT_MI2S_TX", "TERT_MI2S_TX"}, {"VOC_EXT_EC MUX", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, {"VOC_EXT_EC MUX", "QUIN_MI2S_TX", "QUIN_MI2S_TX"}, - {"VOC_EXT_EC MUX", "SLIM_1_TX", "SLIMBUS_1_TX"}, - {"VOC_EXT_EC MUX", "PRI_TDM_TX", "PRI_TDM_TX_0"}, - {"VOC_EXT_EC MUX", "SEC_TDM_TX", "SEC_TDM_TX_0"}, - {"VOIP_UL", NULL, "VOC_EXT_EC MUX"}, - {"VOICEMMODE1_UL", NULL, "VOC_EXT_EC MUX"}, - {"VOICEMMODE2_UL", NULL, "VOC_EXT_EC MUX"}, {"AUDIO_REF_EC_UL1 MUX", "PRI_MI2S_TX", "PRI_MI2S_TX"}, {"AUDIO_REF_EC_UL1 MUX", "SEC_MI2S_TX", "SEC_MI2S_TX"}, {"AUDIO_REF_EC_UL1 MUX", "TERT_MI2S_TX", "TERT_MI2S_TX"}, {"AUDIO_REF_EC_UL1 MUX", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"AUDIO_REF_EC_UL1 MUX", "SLIM_1_TX", "SLIMBUS_1_TX"}, - {"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"}, - {"AUDIO_REF_EC_UL1 MUX", "QUAT_TDM_RX_2", "QUAT_TDM_RX_2"}, - {"AUDIO_REF_EC_UL1 MUX", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"AUDIO_REF_EC_UL1 MUX", "TERT_TDM_RX_2", "TERT_TDM_RX_2"}, - {"AUDIO_REF_EC_UL1 MUX", "SEC_TDM_TX_0", "SEC_TDM_TX_0"}, - {"AUDIO_REF_EC_UL1 MUX", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, {"AUDIO_REF_EC_UL2 MUX", "PRI_MI2S_TX", "PRI_MI2S_TX"}, {"AUDIO_REF_EC_UL2 MUX", "SEC_MI2S_TX", "SEC_MI2S_TX"}, @@ -29410,14 +31117,6 @@ static const struct snd_soc_dapm_route intercon[] = { {"AUDIO_REF_EC_UL10 MUX", "SEC_MI2S_TX", "SEC_MI2S_TX"}, {"AUDIO_REF_EC_UL10 MUX", "TERT_MI2S_TX", "TERT_MI2S_TX"}, {"AUDIO_REF_EC_UL10 MUX", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"AUDIO_REF_EC_UL10 MUX", "SLIM_1_TX", "SLIMBUS_1_TX"}, - {"AUDIO_REF_EC_UL10 MUX", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"AUDIO_REF_EC_UL10 MUX", "QUAT_TDM_RX_0", "QUAT_TDM_RX_0"}, - {"AUDIO_REF_EC_UL10 MUX", "QUAT_TDM_RX_1", "QUAT_TDM_RX_1"}, - {"AUDIO_REF_EC_UL10 MUX", "QUAT_TDM_RX_2", "QUAT_TDM_RX_2"}, - {"AUDIO_REF_EC_UL10 MUX", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"AUDIO_REF_EC_UL10 MUX", "TERT_TDM_RX_2", "TERT_TDM_RX_2"}, - {"AUDIO_REF_EC_UL10 MUX", "SEC_TDM_TX_0", "SEC_TDM_TX_0"}, {"AUDIO_REF_EC_UL16 MUX", "PRI_MI2S_TX", "PRI_MI2S_TX"}, {"AUDIO_REF_EC_UL16 MUX", "SEC_MI2S_TX", "SEC_MI2S_TX"}, @@ -29454,62 +31153,14 @@ static const struct snd_soc_dapm_route intercon[] = { {"AUDIO_REF_EC_UL30 MUX", "TERT_MI2S_TX", "TERT_MI2S_TX"}, {"AUDIO_REF_EC_UL30 MUX", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"LSM1_UL_HL", NULL, "AUDIO_REF_EC_UL1 MUX"}, - {"LSM2_UL_HL", NULL, "AUDIO_REF_EC_UL1 MUX"}, - {"LSM3_UL_HL", NULL, "AUDIO_REF_EC_UL1 MUX"}, - {"LSM4_UL_HL", NULL, "AUDIO_REF_EC_UL1 MUX"}, - {"LSM5_UL_HL", NULL, "AUDIO_REF_EC_UL1 MUX"}, - {"LSM6_UL_HL", NULL, "AUDIO_REF_EC_UL1 MUX"}, - {"LSM7_UL_HL", NULL, "AUDIO_REF_EC_UL1 MUX"}, - {"LSM8_UL_HL", NULL, "AUDIO_REF_EC_UL1 MUX"}, - - {"MM_UL1", NULL, "AUDIO_REF_EC_UL1 MUX"}, - {"MM_UL2", NULL, "AUDIO_REF_EC_UL2 MUX"}, - {"MM_UL3", NULL, "AUDIO_REF_EC_UL3 MUX"}, - {"MM_UL4", NULL, "AUDIO_REF_EC_UL4 MUX"}, - {"MM_UL5", NULL, "AUDIO_REF_EC_UL5 MUX"}, - {"MM_UL6", NULL, "AUDIO_REF_EC_UL6 MUX"}, - {"MM_UL8", NULL, "AUDIO_REF_EC_UL8 MUX"}, - {"MM_UL9", NULL, "AUDIO_REF_EC_UL9 MUX"}, - {"MM_UL10", NULL, "AUDIO_REF_EC_UL10 MUX"}, - {"MM_UL16", NULL, "AUDIO_REF_EC_UL16 MUX"}, - {"MM_UL17", NULL, "AUDIO_REF_EC_UL17 MUX"}, - {"MM_UL18", NULL, "AUDIO_REF_EC_UL18 MUX"}, - {"MM_UL19", NULL, "AUDIO_REF_EC_UL19 MUX"}, - {"MM_UL28", NULL, "AUDIO_REF_EC_UL28 MUX"}, - {"MM_UL29", NULL, "AUDIO_REF_EC_UL29 MUX"}, - {"MM_UL30", NULL, "AUDIO_REF_EC_UL30 MUX"}, - {"VoiceMMode1_Tx Mixer", "PRI_TX_MMode1", "PRI_I2S_TX"}, {"VoiceMMode1_Tx Mixer", "PRI_MI2S_TX_MMode1", "PRI_MI2S_TX"}, {"VoiceMMode1_Tx Mixer", "MI2S_TX_MMode1", "MI2S_TX"}, {"VoiceMMode1_Tx Mixer", "SEC_MI2S_TX_MMode1", "SEC_MI2S_TX"}, {"VoiceMMode1_Tx Mixer", "TERT_MI2S_TX_MMode1", "TERT_MI2S_TX"}, {"VoiceMMode1_Tx Mixer", "INT3_MI2S_TX_MMode1", "INT3_MI2S_TX"}, - {"VoiceMMode1_Tx Mixer", "SLIM_0_TX_MMode1", "SLIMBUS_0_TX"}, - {"VoiceMMode1_Tx Mixer", "SLIM_7_TX_MMode1", "SLIMBUS_7_TX"}, - {"VoiceMMode1_Tx Mixer", "SLIM_8_TX_MMode1", "SLIMBUS_8_TX"}, - {"VoiceMMode1_Tx Mixer", "USB_AUDIO_TX_MMode1", "USB_AUDIO_TX"}, - {"VoiceMMode1_Tx Mixer", "INT_BT_SCO_TX_MMode1", "INT_BT_SCO_TX"}, - {"VoiceMMode1_Tx Mixer", "AFE_PCM_TX_MMode1", "PCM_TX"}, - {"VoiceMMode1_Tx Mixer", "AUX_PCM_TX_MMode1", "AUX_PCM_TX"}, - {"VoiceMMode1_Tx Mixer", "SEC_AUX_PCM_TX_MMode1", "SEC_AUX_PCM_TX"}, - {"VoiceMMode1_Tx Mixer", "TERT_AUX_PCM_TX_MMode1", "TERT_AUX_PCM_TX"}, - {"VoiceMMode1_Tx Mixer", "QUAT_AUX_PCM_TX_MMode1", "QUAT_AUX_PCM_TX"}, - {"VoiceMMode1_Tx Mixer", "QUIN_AUX_PCM_TX_MMode1", "QUIN_AUX_PCM_TX"}, - {"VoiceMMode1_Tx Mixer", "SEN_AUX_PCM_TX_MMode1", "SEN_AUX_PCM_TX"}, - {"VoiceMMode1_Tx Mixer", "QUAT_TDM_TX_0_MMode1", "QUAT_TDM_TX_0"}, - {"VoiceMMode1_Tx Mixer", "TX_CDC_DMA_TX_0_MMode1", "TX_CDC_DMA_TX_0"}, - {"VoiceMMode1_Tx Mixer", "TX_CDC_DMA_TX_1_MMode1", "TX_CDC_DMA_TX_1"}, - {"VoiceMMode1_Tx Mixer", "TX_CDC_DMA_TX_2_MMode1", "TX_CDC_DMA_TX_2"}, - {"VoiceMMode1_Tx Mixer", "TX_CDC_DMA_TX_3_MMode1", "TX_CDC_DMA_TX_3"}, - {"VoiceMMode1_Tx Mixer", "TX_CDC_DMA_TX_4_MMode1", "TX_CDC_DMA_TX_4"}, - {"VoiceMMode1_Tx Mixer", "TX_CDC_DMA_TX_5_MMode1", "TX_CDC_DMA_TX_5"}, {"VoiceMMode1_Tx Mixer", "QUAT_MI2S_TX_MMode1", "QUAT_MI2S_TX"}, {"VoiceMMode1_Tx Mixer", "QUIN_MI2S_TX_MMode1", "QUIN_MI2S_TX"}, - {"VoiceMMode1_Tx Mixer", "PRI_TDM_TX_3_MMode1", "PRI_TDM_TX_3"}, - {"VoiceMMode1_Tx Mixer", "PROXY_TX_MMode1", "PROXY_TX"}, - {"VOICEMMODE1_UL", NULL, "VoiceMMode1_Tx Mixer"}, {"VoiceMMode2_Tx Mixer", "PRI_TX_MMode2", "PRI_I2S_TX"}, {"VoiceMMode2_Tx Mixer", "PRI_MI2S_TX_MMode2", "PRI_MI2S_TX"}, @@ -29517,250 +31168,56 @@ static const struct snd_soc_dapm_route intercon[] = { {"VoiceMMode2_Tx Mixer", "MI2S_TX_MMode2", "MI2S_TX"}, {"VoiceMMode2_Tx Mixer", "TERT_MI2S_TX_MMode2", "TERT_MI2S_TX"}, {"VoiceMMode2_Tx Mixer", "INT3_MI2S_TX_MMode2", "INT3_MI2S_TX"}, - {"VoiceMMode2_Tx Mixer", "SLIM_0_TX_MMode2", "SLIMBUS_0_TX"}, - {"VoiceMMode2_Tx Mixer", "SLIM_7_TX_MMode2", "SLIMBUS_7_TX"}, - {"VoiceMMode2_Tx Mixer", "SLIM_8_TX_MMode2", "SLIMBUS_8_TX"}, - {"VoiceMMode2_Tx Mixer", "USB_AUDIO_TX_MMode2", "USB_AUDIO_TX"}, - {"VoiceMMode2_Tx Mixer", "INT_BT_SCO_TX_MMode2", "INT_BT_SCO_TX"}, - {"VoiceMMode2_Tx Mixer", "AFE_PCM_TX_MMode2", "PCM_TX"}, - {"VoiceMMode2_Tx Mixer", "AUX_PCM_TX_MMode2", "AUX_PCM_TX"}, - {"VoiceMMode2_Tx Mixer", "SEC_AUX_PCM_TX_MMode2", "SEC_AUX_PCM_TX"}, - {"VoiceMMode2_Tx Mixer", "TERT_AUX_PCM_TX_MMode2", "TERT_AUX_PCM_TX"}, - {"VoiceMMode2_Tx Mixer", "QUAT_AUX_PCM_TX_MMode2", "QUAT_AUX_PCM_TX"}, - {"VoiceMMode2_Tx Mixer", "QUIN_AUX_PCM_TX_MMode2", "QUIN_AUX_PCM_TX"}, - {"VoiceMMode2_Tx Mixer", "SEN_AUX_PCM_TX_MMode2", "SEN_AUX_PCM_TX"}, - {"VoiceMMode2_Tx Mixer", "TX_CDC_DMA_TX_0_MMode2", "TX_CDC_DMA_TX_0"}, - {"VoiceMMode2_Tx Mixer", "TX_CDC_DMA_TX_1_MMode2", "TX_CDC_DMA_TX_1"}, - {"VoiceMMode2_Tx Mixer", "TX_CDC_DMA_TX_2_MMode2", "TX_CDC_DMA_TX_2"}, - {"VoiceMMode2_Tx Mixer", "TX_CDC_DMA_TX_3_MMode2", "TX_CDC_DMA_TX_3"}, - {"VoiceMMode2_Tx Mixer", "TX_CDC_DMA_TX_4_MMode2", "TX_CDC_DMA_TX_4"}, - {"VoiceMMode2_Tx Mixer", "TX_CDC_DMA_TX_5_MMode2", "TX_CDC_DMA_TX_5"}, - {"VoiceMMode2_Tx Mixer", "QUAT_MI2S_TX_MMode2", "QUAT_MI2S_TX"}, - {"VoiceMMode2_Tx Mixer", "QUIN_MI2S_TX_MMode2", "QUIN_MI2S_TX"}, - {"VoiceMMode2_Tx Mixer", "PRI_TDM_TX_3_MMode2", "PRI_TDM_TX_3"}, - {"VoiceMMode2_Tx Mixer", "PROXY_TX_MMode2", "PROXY_TX"}, - {"VOICEMMODE2_UL", NULL, "VoiceMMode2_Tx Mixer"}, {"Voip_Tx Mixer", "PRI_TX_Voip", "PRI_I2S_TX"}, {"Voip_Tx Mixer", "MI2S_TX_Voip", "MI2S_TX"}, {"Voip_Tx Mixer", "SEC_MI2S_TX_Voip", "SEC_MI2S_TX"}, {"Voip_Tx Mixer", "TERT_MI2S_TX_Voip", "TERT_MI2S_TX"}, {"Voip_Tx Mixer", "INT3_MI2S_TX_Voip", "INT3_MI2S_TX"}, - {"Voip_Tx Mixer", "SLIM_0_TX_Voip", "SLIMBUS_0_TX"}, - {"Voip_Tx Mixer", "SLIM_7_TX_Voip", "SLIMBUS_7_TX"}, - {"Voip_Tx Mixer", "SLIM_8_TX_Voip", "SLIMBUS_8_TX"}, - {"Voip_Tx Mixer", "USB_AUDIO_TX_Voip", "USB_AUDIO_TX"}, - {"Voip_Tx Mixer", "INTERNAL_BT_SCO_TX_Voip", "INT_BT_SCO_TX"}, - {"Voip_Tx Mixer", "AFE_PCM_TX_Voip", "PCM_TX"}, - {"Voip_Tx Mixer", "AUX_PCM_TX_Voip", "AUX_PCM_TX"}, - {"Voip_Tx Mixer", "SEC_AUX_PCM_TX_Voip", "SEC_AUX_PCM_TX"}, - {"Voip_Tx Mixer", "TERT_AUX_PCM_TX_Voip", "TERT_AUX_PCM_TX"}, - {"Voip_Tx Mixer", "QUAT_AUX_PCM_TX_Voip", "QUAT_AUX_PCM_TX"}, - {"Voip_Tx Mixer", "QUIN_AUX_PCM_TX_Voip", "QUIN_AUX_PCM_TX"}, - {"Voip_Tx Mixer", "SEN_AUX_PCM_TX_Voip", "SEN_AUX_PCM_TX"}, {"Voip_Tx Mixer", "PRI_MI2S_TX_Voip", "PRI_MI2S_TX"}, {"Voip_Tx Mixer", "PRI_TDM_TX_3_Voip", "PRI_TDM_TX_3"}, - {"Voip_Tx Mixer", "TX_CDC_DMA_TX_0_Voip", "TX_CDC_DMA_TX_0"}, - {"Voip_Tx Mixer", "TX_CDC_DMA_TX_1_Voip", "TX_CDC_DMA_TX_1"}, - {"Voip_Tx Mixer", "TX_CDC_DMA_TX_2_Voip", "TX_CDC_DMA_TX_2"}, - {"Voip_Tx Mixer", "TX_CDC_DMA_TX_3_Voip", "TX_CDC_DMA_TX_3"}, - {"Voip_Tx Mixer", "TX_CDC_DMA_TX_4_Voip", "TX_CDC_DMA_TX_4"}, - {"Voip_Tx Mixer", "TX_CDC_DMA_TX_5_Voip", "TX_CDC_DMA_TX_5"}, - {"VOIP_UL", NULL, "Voip_Tx Mixer"}, - {"SLIMBUS_DL_HL", "Switch", "SLIM0_DL_HL"}, - {"SLIMBUS_0_RX", NULL, "SLIMBUS_DL_HL"}, - {"SLIMBUS1_DL_HL", "Switch", "SLIM1_DL_HL"}, - {"SLIMBUS_1_RX", NULL, "SLIMBUS1_DL_HL"}, - {"SLIMBUS3_DL_HL", "Switch", "SLIM3_DL_HL"}, - {"SLIMBUS_3_RX", NULL, "SLIMBUS3_DL_HL"}, - {"SLIMBUS4_DL_HL", "Switch", "SLIM4_DL_HL"}, - {"SLIMBUS_4_RX", NULL, "SLIMBUS4_DL_HL"}, - {"SLIMBUS6_DL_HL", "Switch", "SLIM0_DL_HL"}, - {"SLIMBUS_6_RX", NULL, "SLIMBUS6_DL_HL"}, - {"SCO_SLIM7_DL_HL", "Switch", "SLIM7_DL_HL"}, - {"SLIMBUS_7_RX", NULL, "SCO_SLIM7_DL_HL"}, - {"SLIM0_UL_HL", NULL, "SLIMBUS_0_TX"}, - {"SLIM1_UL_HL", NULL, "SLIMBUS_1_TX"}, - {"SLIM3_UL_HL", NULL, "SLIMBUS_3_TX"}, - {"SLIM4_UL_HL", NULL, "SLIMBUS_4_TX"}, - {"SLIM8_UL_HL", NULL, "SLIMBUS_8_TX"}, - {"WSA_CDC_DMA_RX_0_DL_HL", "Switch", "CDC_DMA_DL_HL"}, - {"WSA_CDC_DMA_RX_0", NULL, "WSA_CDC_DMA_RX_0_DL_HL"}, - {"CDC_DMA_UL_HL", NULL, "VA_CDC_DMA_TX_0"}, - {"RX_CDC_DMA_RX_0_DL_HL", "Switch", "CDC_DMA_DL_HL"}, - {"RX_CDC_DMA_RX_0", NULL, "RX_CDC_DMA_RX_0_DL_HL"}, - {"RX_CDC_DMA_RX_1_DL_HL", "Switch", "CDC_DMA_DL_HL"}, - {"RX_CDC_DMA_RX_1", NULL, "RX_CDC_DMA_RX_1_DL_HL"}, - {"TX3_CDC_DMA_UL_HL", NULL, "TX_CDC_DMA_TX_3"}, - {"LSM1 Mixer", "SLIMBUS_0_TX", "SLIMBUS_0_TX"}, - {"LSM1 Mixer", "SLIMBUS_1_TX", "SLIMBUS_1_TX"}, - {"LSM1 Mixer", "SLIMBUS_3_TX", "SLIMBUS_3_TX"}, - {"LSM1 Mixer", "SLIMBUS_4_TX", "SLIMBUS_4_TX"}, - {"LSM1 Mixer", "SLIMBUS_5_TX", "SLIMBUS_5_TX"}, {"LSM1 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, {"LSM1 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, {"LSM1 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, - {"LSM1 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"LSM1 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"LSM1 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"LSM1 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"LSM1 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"LSM1 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"LSM1_UL_HL", NULL, "LSM1 Mixer"}, - - {"LSM2 Mixer", "SLIMBUS_0_TX", "SLIMBUS_0_TX"}, - {"LSM2 Mixer", "SLIMBUS_1_TX", "SLIMBUS_1_TX"}, - {"LSM2 Mixer", "SLIMBUS_3_TX", "SLIMBUS_3_TX"}, - {"LSM2 Mixer", "SLIMBUS_4_TX", "SLIMBUS_4_TX"}, - {"LSM2 Mixer", "SLIMBUS_5_TX", "SLIMBUS_5_TX"}, {"LSM2 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, {"LSM2 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, {"LSM2 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, - {"LSM2 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"LSM2 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"LSM2 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"LSM2 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"LSM2 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"LSM2 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"LSM2_UL_HL", NULL, "LSM2 Mixer"}, - - - {"LSM3 Mixer", "SLIMBUS_0_TX", "SLIMBUS_0_TX"}, - {"LSM3 Mixer", "SLIMBUS_1_TX", "SLIMBUS_1_TX"}, - {"LSM3 Mixer", "SLIMBUS_3_TX", "SLIMBUS_3_TX"}, - {"LSM3 Mixer", "SLIMBUS_4_TX", "SLIMBUS_4_TX"}, - {"LSM3 Mixer", "SLIMBUS_5_TX", "SLIMBUS_5_TX"}, {"LSM3 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, {"LSM3 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, {"LSM3 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, - {"LSM3 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"LSM3 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"LSM3 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"LSM3 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"LSM3 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"LSM3 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"LSM3_UL_HL", NULL, "LSM3 Mixer"}, - - - {"LSM4 Mixer", "SLIMBUS_0_TX", "SLIMBUS_0_TX"}, - {"LSM4 Mixer", "SLIMBUS_1_TX", "SLIMBUS_1_TX"}, - {"LSM4 Mixer", "SLIMBUS_3_TX", "SLIMBUS_3_TX"}, - {"LSM4 Mixer", "SLIMBUS_4_TX", "SLIMBUS_4_TX"}, - {"LSM4 Mixer", "SLIMBUS_5_TX", "SLIMBUS_5_TX"}, {"LSM4 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, {"LSM4 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, {"LSM4 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, - {"LSM4 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"LSM4 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"LSM4 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"LSM4 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"LSM4 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"LSM4 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"LSM4_UL_HL", NULL, "LSM4 Mixer"}, - - {"LSM5 Mixer", "SLIMBUS_0_TX", "SLIMBUS_0_TX"}, - {"LSM5 Mixer", "SLIMBUS_1_TX", "SLIMBUS_1_TX"}, - {"LSM5 Mixer", "SLIMBUS_3_TX", "SLIMBUS_3_TX"}, - {"LSM5 Mixer", "SLIMBUS_4_TX", "SLIMBUS_4_TX"}, - {"LSM5 Mixer", "SLIMBUS_5_TX", "SLIMBUS_5_TX"}, {"LSM5 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, {"LSM5 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, {"LSM5 Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, - {"LSM5 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"LSM5 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"LSM5 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"LSM5 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"LSM5 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"LSM5 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"LSM5_UL_HL", NULL, "LSM5 Mixer"}, - - {"LSM6 Mixer", "SLIMBUS_0_TX", "SLIMBUS_0_TX"}, - {"LSM6 Mixer", "SLIMBUS_1_TX", "SLIMBUS_1_TX"}, - {"LSM6 Mixer", "SLIMBUS_3_TX", "SLIMBUS_3_TX"}, - {"LSM6 Mixer", "SLIMBUS_4_TX", "SLIMBUS_4_TX"}, - {"LSM6 Mixer", "SLIMBUS_5_TX", "SLIMBUS_5_TX"}, {"LSM6 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"LSM6 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"LSM6 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"LSM6 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"LSM6 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"LSM6 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"LSM6 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"LSM6_UL_HL", NULL, "LSM6 Mixer"}, - - {"LSM7 Mixer", "SLIMBUS_0_TX", "SLIMBUS_0_TX"}, - {"LSM7 Mixer", "SLIMBUS_1_TX", "SLIMBUS_1_TX"}, - {"LSM7 Mixer", "SLIMBUS_3_TX", "SLIMBUS_3_TX"}, - {"LSM7 Mixer", "SLIMBUS_4_TX", "SLIMBUS_4_TX"}, - {"LSM7 Mixer", "SLIMBUS_5_TX", "SLIMBUS_5_TX"}, {"LSM7 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"LSM7 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"LSM7 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"LSM7 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"LSM7 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"LSM7 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"LSM7 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"LSM7_UL_HL", NULL, "LSM7 Mixer"}, - - {"LSM8 Mixer", "SLIMBUS_0_TX", "SLIMBUS_0_TX"}, - {"LSM8 Mixer", "SLIMBUS_1_TX", "SLIMBUS_1_TX"}, - {"LSM8 Mixer", "SLIMBUS_3_TX", "SLIMBUS_3_TX"}, - {"LSM8 Mixer", "SLIMBUS_4_TX", "SLIMBUS_4_TX"}, - {"LSM8 Mixer", "SLIMBUS_5_TX", "SLIMBUS_5_TX"}, {"LSM8 Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"LSM8 Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"LSM8 Mixer", "VA_CDC_DMA_TX_1", "VA_CDC_DMA_TX_1"}, - {"LSM8 Mixer", "VA_CDC_DMA_TX_2", "VA_CDC_DMA_TX_2"}, - {"LSM8 Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"LSM8 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"LSM8 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"LSM8_UL_HL", NULL, "LSM8 Mixer"}, - - {"CPE_LSM_UL_HL", NULL, "BE_IN"}, {"QCHAT_Tx Mixer", "PRI_TX_QCHAT", "PRI_I2S_TX"}, - {"QCHAT_Tx Mixer", "SLIM_0_TX_QCHAT", "SLIMBUS_0_TX"}, - {"QCHAT_Tx Mixer", "SLIM_7_TX_QCHAT", "SLIMBUS_7_TX"}, - {"QCHAT_Tx Mixer", "SLIM_8_TX_QCHAT", "SLIMBUS_8_TX"}, - {"QCHAT_Tx Mixer", "INTERNAL_BT_SCO_TX_QCHAT", "INT_BT_SCO_TX"}, - {"QCHAT_Tx Mixer", "AFE_PCM_TX_QCHAT", "PCM_TX"}, - {"QCHAT_Tx Mixer", "AUX_PCM_TX_QCHAT", "AUX_PCM_TX"}, - {"QCHAT_Tx Mixer", "SEC_AUX_PCM_TX_QCHAT", "SEC_AUX_PCM_TX"}, - {"QCHAT_Tx Mixer", "TERT_AUX_PCM_TX_QCHAT", "TERT_AUX_PCM_TX"}, - {"QCHAT_Tx Mixer", "QUAT_AUX_PCM_TX_QCHAT", "QUAT_AUX_PCM_TX"}, - {"QCHAT_Tx Mixer", "QUIN_AUX_PCM_TX_QCHAT", "QUIN_AUX_PCM_TX"}, - {"QCHAT_Tx Mixer", "SEN_AUX_PCM_TX_QCHAT", "SEN_AUX_PCM_TX"}, {"QCHAT_Tx Mixer", "MI2S_TX_QCHAT", "MI2S_TX"}, {"QCHAT_Tx Mixer", "PRI_MI2S_TX_QCHAT", "PRI_MI2S_TX"}, {"QCHAT_Tx Mixer", "TERT_MI2S_TX_QCHAT", "TERT_MI2S_TX"}, {"QCHAT_Tx Mixer", "INT3_MI2S_TX_QCHAT", "INT3_MI2S_TX"}, - {"QCHAT_Tx Mixer", "USB_AUDIO_TX_QCHAT", "USB_AUDIO_TX"}, - {"QCHAT_UL", NULL, "QCHAT_Tx Mixer"}, - {"INT_FM_RX", NULL, "INTFM_DL_HL"}, - {"INTFM_UL_HL", NULL, "INT_FM_TX"}, - {"INTHFP_UL_HL", NULL, "HFP_PRI_AUX_UL_HL"}, - {"HFP_PRI_AUX_UL_HL", "Switch", "AUX_PCM_TX"}, - {"INTHFP_UL_HL", NULL, "HFP_AUX_UL_HL"}, - {"HFP_AUX_UL_HL", "Switch", "SEC_AUX_PCM_TX"}, - {"INTHFP_UL_HL", NULL, "HFP_INT_UL_HL"}, - {"HFP_INT_UL_HL", "Switch", "INT_BT_SCO_TX"}, - {"SLIM7_UL_HL", NULL, "HFP_SLIM7_UL_HL"}, - {"HFP_SLIM7_UL_HL", "Switch", "SLIMBUS_7_TX"}, - {"AUX_PCM_RX", NULL, "AUXPCM_DL_HL"}, - {"AUX_PCM_RX", NULL, "INTHFP_DL_HL"}, - {"SLIM7_UL_HL", NULL, "A2DP_SLIM7_UL_HL"}, - {"A2DP_SLIM7_UL_HL", "Switch", "SLIMBUS_7_TX"}, - {"SEC_AUX_PCM_RX", NULL, "SEC_AUXPCM_DL_HL"}, - {"AUXPCM_UL_HL", NULL, "AUX_PCM_TX"}, - {"SEC_AUXPCM_UL_HL", NULL, "SEC_AUX_PCM_TX"}, {"MI2S_RX", NULL, "MI2S_DL_HL"}, {"MI2S_UL_HL", NULL, "MI2S_TX"}, - {"PCM_RX_DL_HL", "Switch", "SLIM0_DL_HL"}, - {"PCM_RX", NULL, "PCM_RX_DL_HL"}, /* connect to INT4_MI2S_DL_HL since same pcm_id */ + {"WSA_CDC_DMA_RX_0 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"RX_CDC_DMA_RX_0 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"RX_CDC_DMA_RX_1 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + + {"SLIMBUS_0_RX Port Mixer", "MI2S_TX", "MI2S_TX"}, + {"SLIMBUS_0_RX Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SLIMBUS_0_RX Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, + {"SLIMBUS_0_RX Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"SLIMBUS_0_RX Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, + {"SLIMBUS_0_RX Port Mixer", "QUIN_MI2S_TX", "QUIN_MI2S_TX"}, + {"SLIMBUS_0_RX Port Mixer", "SENARY_MI2S_TX", "SENARY_MI2S_TX"}, + {"INT0_MI2S_RX_DL_HL", "Switch", "INT4_MI2S_DL_HL"}, {"INT0_MI2S_RX", NULL, "INT0_MI2S_RX_DL_HL"}, {"INT4_MI2S_RX_DL_HL", "Switch", "INT4_MI2S_DL_HL"}, @@ -29789,684 +31246,10 @@ static const struct snd_soc_dapm_route intercon[] = { {"TERT_MI2S_RX", NULL, "TERT_MI2S_DL_HL"}, {"QUAT_MI2S_UL_HL", NULL, "QUAT_MI2S_TX"}, - {"PRI_TDM_TX_0_UL_HL", NULL, "PRI_TDM_TX_0"}, - {"PRI_TDM_TX_1_UL_HL", NULL, "PRI_TDM_TX_1"}, - {"PRI_TDM_TX_2_UL_HL", NULL, "PRI_TDM_TX_2"}, - {"PRI_TDM_TX_3_UL_HL", NULL, "PRI_TDM_TX_3"}, - {"PRI_TDM_RX_0", NULL, "PRI_TDM_RX_0_DL_HL"}, - {"PRI_TDM_RX_1", NULL, "PRI_TDM_RX_1_DL_HL"}, - {"PRI_TDM_RX_2", NULL, "PRI_TDM_RX_2_DL_HL"}, - {"PRI_TDM_RX_3", NULL, "PRI_TDM_RX_3_DL_HL"}, - {"SEC_TDM_TX_0_UL_HL", NULL, "SEC_TDM_TX_0"}, - {"SEC_TDM_TX_1_UL_HL", NULL, "SEC_TDM_TX_1"}, - {"SEC_TDM_TX_2_UL_HL", NULL, "SEC_TDM_TX_2"}, - {"SEC_TDM_TX_3_UL_HL", NULL, "SEC_TDM_TX_3"}, - {"SEC_TDM_RX_0", NULL, "SEC_TDM_RX_0_DL_HL"}, - {"SEC_TDM_RX_1", NULL, "SEC_TDM_RX_1_DL_HL"}, - {"SEC_TDM_RX_2", NULL, "SEC_TDM_RX_2_DL_HL"}, - {"SEC_TDM_RX_3", NULL, "SEC_TDM_RX_3_DL_HL"}, - {"SEC_TDM_RX_7", NULL, "SEC_TDM_RX_7_DL_HL"}, - {"TERT_TDM_TX_0_UL_HL", NULL, "TERT_TDM_TX_0"}, - {"TERT_TDM_TX_1_UL_HL", NULL, "TERT_TDM_TX_1"}, - {"TERT_TDM_TX_2_UL_HL", NULL, "TERT_TDM_TX_2"}, - {"TERT_TDM_TX_3_UL_HL", NULL, "TERT_TDM_TX_3"}, - {"TERT_TDM_TX_7_UL_HL", NULL, "TERT_TDM_TX_7"}, - {"TERT_TDM_RX_0", NULL, "TERT_TDM_RX_0_DL_HL"}, - {"TERT_TDM_RX_1", NULL, "TERT_TDM_RX_1_DL_HL"}, - {"TERT_TDM_RX_2", NULL, "TERT_TDM_RX_2_DL_HL"}, - {"TERT_TDM_RX_3", NULL, "TERT_TDM_RX_3_DL_HL"}, - {"QUAT_TDM_TX_0_UL_HL", NULL, "QUAT_TDM_TX_0"}, - {"QUAT_TDM_TX_1_UL_HL", NULL, "QUAT_TDM_TX_1"}, - {"QUAT_TDM_TX_2_UL_HL", NULL, "QUAT_TDM_TX_2"}, - {"QUAT_TDM_TX_3_UL_HL", NULL, "QUAT_TDM_TX_3"}, - {"QUAT_TDM_TX_7_UL_HL", NULL, "QUAT_TDM_TX_7"}, - {"QUAT_TDM_RX_0", NULL, "QUAT_TDM_RX_0_DL_HL"}, - {"QUAT_TDM_RX_1", NULL, "QUAT_TDM_RX_1_DL_HL"}, - {"QUAT_TDM_RX_2", NULL, "QUAT_TDM_RX_2_DL_HL"}, - {"QUAT_TDM_RX_3", NULL, "QUAT_TDM_RX_3_DL_HL"}, - {"QUAT_TDM_RX_7", NULL, "QUAT_TDM_RX_7_DL_HL"}, - {"QUIN_TDM_TX_0_UL_HL", NULL, "QUIN_TDM_TX_0"}, - {"QUIN_TDM_TX_1_UL_HL", NULL, "QUIN_TDM_TX_1"}, - {"QUIN_TDM_TX_2_UL_HL", NULL, "QUIN_TDM_TX_2"}, - {"QUIN_TDM_TX_3_UL_HL", NULL, "QUIN_TDM_TX_3"}, - {"QUIN_TDM_TX_7_UL_HL", NULL, "QUIN_TDM_TX_7"}, - {"QUIN_TDM_RX_0", NULL, "QUIN_TDM_RX_0_DL_HL"}, - {"QUIN_TDM_RX_1", NULL, "QUIN_TDM_RX_1_DL_HL"}, - {"QUIN_TDM_RX_2", NULL, "QUIN_TDM_RX_2_DL_HL"}, - {"QUIN_TDM_RX_3", NULL, "QUIN_TDM_RX_3_DL_HL"}, - {"QUIN_TDM_RX_7", NULL, "QUIN_TDM_RX_7_DL_HL"}, - {"SEN_TDM_TX_0_UL_HL", NULL, "SEN_TDM_TX_0"}, - {"SEN_TDM_TX_1_UL_HL", NULL, "SEN_TDM_TX_1"}, - {"SEN_TDM_TX_2_UL_HL", NULL, "SEN_TDM_TX_2"}, - {"SEN_TDM_TX_3_UL_HL", NULL, "SEN_TDM_TX_3"}, - {"SEN_TDM_RX_0", NULL, "SEN_TDM_RX_0_DL_HL"}, - {"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"}, - - {"PRI_TDM_RX_0 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"PRI_TDM_RX_0 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"PRI_TDM_RX_0 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"PRI_TDM_RX_0 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"PRI_TDM_RX_0 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"PRI_TDM_RX_0 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"PRI_TDM_RX_0 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"PRI_TDM_RX_0 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"PRI_TDM_RX_0 Port Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, - {"PRI_TDM_RX_0 Port Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, - {"PRI_TDM_RX_0 Port Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"}, - {"PRI_TDM_RX_0 Port Mixer", "PRI_TDM_TX_3", "PRI_TDM_TX_3"}, - {"PRI_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"PRI_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"PRI_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"PRI_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"PRI_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"PRI_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"PRI_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"PRI_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"PRI_TDM_RX_0 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"PRI_TDM_RX_0 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"PRI_TDM_RX_0 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"PRI_TDM_RX_0 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"PRI_TDM_RX_0", NULL, "PRI_TDM_RX_0 Port Mixer"}, - - {"PRI_TDM_RX_1 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"PRI_TDM_RX_1 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"PRI_TDM_RX_1 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"PRI_TDM_RX_1 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"PRI_TDM_RX_1 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"PRI_TDM_RX_1 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"PRI_TDM_RX_1 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"PRI_TDM_RX_1 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"PRI_TDM_RX_1 Port Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, - {"PRI_TDM_RX_1 Port Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, - {"PRI_TDM_RX_1 Port Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"}, - {"PRI_TDM_RX_1 Port Mixer", "PRI_TDM_TX_3", "PRI_TDM_TX_3"}, - {"PRI_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"PRI_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"PRI_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"PRI_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"PRI_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"PRI_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"PRI_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"PRI_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"PRI_TDM_RX_1 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"PRI_TDM_RX_1 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"PRI_TDM_RX_1 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"PRI_TDM_RX_1 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"PRI_TDM_RX_1", NULL, "PRI_TDM_RX_1 Port Mixer"}, - - {"PRI_TDM_RX_2 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"PRI_TDM_RX_2 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"PRI_TDM_RX_2 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"PRI_TDM_RX_2 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"PRI_TDM_RX_2 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"PRI_TDM_RX_2 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"PRI_TDM_RX_2 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"PRI_TDM_RX_2 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"PRI_TDM_RX_2 Port Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, - {"PRI_TDM_RX_2 Port Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, - {"PRI_TDM_RX_2 Port Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"}, - {"PRI_TDM_RX_2 Port Mixer", "PRI_TDM_TX_3", "PRI_TDM_TX_3"}, - {"PRI_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"PRI_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"PRI_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"PRI_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"PRI_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"PRI_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"PRI_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"PRI_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"PRI_TDM_RX_2 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"PRI_TDM_RX_2 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"PRI_TDM_RX_2 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"PRI_TDM_RX_2 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"PRI_TDM_RX_2", NULL, "PRI_TDM_RX_2 Port Mixer"}, - - {"PRI_TDM_RX_3 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"PRI_TDM_RX_3 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"PRI_TDM_RX_3 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"PRI_TDM_RX_3 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"PRI_TDM_RX_3 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"PRI_TDM_RX_3 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"PRI_TDM_RX_3 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"PRI_TDM_RX_3 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"PRI_TDM_RX_3 Port Mixer", "PRI_TDM_TX_0", "PRI_TDM_TX_0"}, - {"PRI_TDM_RX_3 Port Mixer", "PRI_TDM_TX_1", "PRI_TDM_TX_1"}, - {"PRI_TDM_RX_3 Port Mixer", "PRI_TDM_TX_2", "PRI_TDM_TX_2"}, - {"PRI_TDM_RX_3 Port Mixer", "PRI_TDM_TX_3", "PRI_TDM_TX_3"}, - {"PRI_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"PRI_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"PRI_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"PRI_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"PRI_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"PRI_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"PRI_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"PRI_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"PRI_TDM_RX_3 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"PRI_TDM_RX_3 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"PRI_TDM_RX_3 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"PRI_TDM_RX_3 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"PRI_TDM_RX_3", NULL, "PRI_TDM_RX_3 Port Mixer"}, - - {"SEC_TDM_RX_0 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"SEC_TDM_RX_0 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"SEC_TDM_RX_0 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"SEC_TDM_RX_0 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"SEC_TDM_RX_0 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"SEC_TDM_RX_0 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"SEC_TDM_RX_0 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"SEC_TDM_RX_0 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"SEC_TDM_RX_0 Port Mixer", "SEC_TDM_TX_0", "SEC_TDM_TX_0"}, - {"SEC_TDM_RX_0 Port Mixer", "SEC_TDM_TX_1", "SEC_TDM_TX_1"}, - {"SEC_TDM_RX_0 Port Mixer", "SEC_TDM_TX_2", "SEC_TDM_TX_2"}, - {"SEC_TDM_RX_0 Port Mixer", "SEC_TDM_TX_3", "SEC_TDM_TX_3"}, - {"SEC_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"SEC_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"SEC_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"SEC_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"SEC_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"SEC_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"SEC_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"SEC_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"SEC_TDM_RX_0 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"SEC_TDM_RX_0 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"SEC_TDM_RX_0 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"SEC_TDM_RX_0 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"SEC_TDM_RX_0", NULL, "SEC_TDM_RX_0 Port Mixer"}, - - {"SEC_TDM_RX_1 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"SEC_TDM_RX_1 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"SEC_TDM_RX_1 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"SEC_TDM_RX_1 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"SEC_TDM_RX_1 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"SEC_TDM_RX_1 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"SEC_TDM_RX_1 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"SEC_TDM_RX_1 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"SEC_TDM_RX_1 Port Mixer", "SEC_TDM_TX_0", "SEC_TDM_TX_0"}, - {"SEC_TDM_RX_1 Port Mixer", "SEC_TDM_TX_1", "SEC_TDM_TX_1"}, - {"SEC_TDM_RX_1 Port Mixer", "SEC_TDM_TX_2", "SEC_TDM_TX_2"}, - {"SEC_TDM_RX_1 Port Mixer", "SEC_TDM_TX_3", "SEC_TDM_TX_3"}, - {"SEC_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"SEC_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"SEC_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"SEC_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"SEC_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"SEC_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"SEC_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"SEC_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"SEC_TDM_RX_1 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"SEC_TDM_RX_1 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"SEC_TDM_RX_1 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"SEC_TDM_RX_1 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"SEC_TDM_RX_1", NULL, "SEC_TDM_RX_1 Port Mixer"}, - - {"SEC_TDM_RX_2 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"SEC_TDM_RX_2 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"SEC_TDM_RX_2 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"SEC_TDM_RX_2 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"SEC_TDM_RX_2 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"SEC_TDM_RX_2 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"SEC_TDM_RX_2 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"SEC_TDM_RX_2 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"SEC_TDM_RX_2 Port Mixer", "SEC_TDM_TX_0", "SEC_TDM_TX_0"}, - {"SEC_TDM_RX_2 Port Mixer", "SEC_TDM_TX_1", "SEC_TDM_TX_1"}, - {"SEC_TDM_RX_2 Port Mixer", "SEC_TDM_TX_2", "SEC_TDM_TX_2"}, - {"SEC_TDM_RX_2 Port Mixer", "SEC_TDM_TX_3", "SEC_TDM_TX_3"}, - {"SEC_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"SEC_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"SEC_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"SEC_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"SEC_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"SEC_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"SEC_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"SEC_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"SEC_TDM_RX_2 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"SEC_TDM_RX_2 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"SEC_TDM_RX_2 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"SEC_TDM_RX_2 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"SEC_TDM_RX_2", NULL, "SEC_TDM_RX_2 Port Mixer"}, - - {"SEC_TDM_RX_3 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"SEC_TDM_RX_3 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"SEC_TDM_RX_3 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"SEC_TDM_RX_3 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"SEC_TDM_RX_3 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"SEC_TDM_RX_3 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"SEC_TDM_RX_3 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"SEC_TDM_RX_3 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"SEC_TDM_RX_3 Port Mixer", "SEC_TDM_TX_0", "SEC_TDM_TX_0"}, - {"SEC_TDM_RX_3 Port Mixer", "SEC_TDM_TX_1", "SEC_TDM_TX_1"}, - {"SEC_TDM_RX_3 Port Mixer", "SEC_TDM_TX_2", "SEC_TDM_TX_2"}, - {"SEC_TDM_RX_3 Port Mixer", "SEC_TDM_TX_3", "SEC_TDM_TX_3"}, - {"SEC_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"SEC_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"SEC_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"SEC_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"SEC_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"SEC_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"SEC_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"SEC_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"SEC_TDM_RX_3 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"SEC_TDM_RX_3 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"SEC_TDM_RX_3 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"SEC_TDM_RX_3 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"SEC_TDM_RX_3", NULL, "SEC_TDM_RX_3 Port Mixer"}, - - {"SEC_TDM_RX_7 Port Mixer", "TERT_TDM_TX_7", "TERT_TDM_TX_7"}, - {"SEC_TDM_RX_7", NULL, "SEC_TDM_RX_7 Port Mixer"}, - - {"TERT_TDM_RX_0 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"TERT_TDM_RX_0 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"TERT_TDM_RX_0 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"TERT_TDM_RX_0 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"TERT_TDM_RX_0 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"TERT_TDM_RX_0 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"TERT_TDM_RX_0 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"TERT_TDM_RX_0 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"TERT_TDM_RX_0 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"TERT_TDM_RX_0 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, - {"TERT_TDM_RX_0 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, - {"TERT_TDM_RX_0 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, - {"TERT_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"TERT_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"TERT_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"TERT_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"TERT_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"TERT_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"TERT_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"TERT_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"TERT_TDM_RX_0 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"TERT_TDM_RX_0 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"TERT_TDM_RX_0 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"TERT_TDM_RX_0 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"TERT_TDM_RX_0", NULL, "TERT_TDM_RX_0 Port Mixer"}, - - {"TERT_TDM_RX_1 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"TERT_TDM_RX_1 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"TERT_TDM_RX_1 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"TERT_TDM_RX_1 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"TERT_TDM_RX_1 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"TERT_TDM_RX_1 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"TERT_TDM_RX_1 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"TERT_TDM_RX_1 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"TERT_TDM_RX_1 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"TERT_TDM_RX_1 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, - {"TERT_TDM_RX_1 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, - {"TERT_TDM_RX_1 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, - {"TERT_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"TERT_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"TERT_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"TERT_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"TERT_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"TERT_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"TERT_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"TERT_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"TERT_TDM_RX_1 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"TERT_TDM_RX_1 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"TERT_TDM_RX_1 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"TERT_TDM_RX_1 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"TERT_TDM_RX_1", NULL, "TERT_TDM_RX_1 Port Mixer"}, - - {"TERT_TDM_RX_2 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"TERT_TDM_RX_2 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"TERT_TDM_RX_2 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"TERT_TDM_RX_2 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"TERT_TDM_RX_2 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"TERT_TDM_RX_2 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"TERT_TDM_RX_2 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"TERT_TDM_RX_2 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"TERT_TDM_RX_2 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"TERT_TDM_RX_2 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, - {"TERT_TDM_RX_2 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, - {"TERT_TDM_RX_2 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, - {"TERT_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"TERT_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"TERT_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"TERT_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"TERT_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"TERT_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"TERT_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"TERT_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"TERT_TDM_RX_2 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"TERT_TDM_RX_2 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"TERT_TDM_RX_2 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"TERT_TDM_RX_2 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"TERT_TDM_RX_2", NULL, "TERT_TDM_RX_2 Port Mixer"}, - - {"TERT_TDM_RX_3 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"TERT_TDM_RX_3 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"TERT_TDM_RX_3 Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"TERT_TDM_RX_3 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"TERT_TDM_RX_3 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"TERT_TDM_RX_3 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"TERT_TDM_RX_3 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"TERT_TDM_RX_3 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"TERT_TDM_RX_3 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"TERT_TDM_RX_3 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, - {"TERT_TDM_RX_3 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, - {"TERT_TDM_RX_3 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, - {"TERT_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"TERT_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"TERT_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"TERT_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"TERT_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"TERT_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"TERT_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"TERT_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"TERT_TDM_RX_3 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"TERT_TDM_RX_3 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"TERT_TDM_RX_3 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"TERT_TDM_RX_3 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"TERT_TDM_RX_3", NULL, "TERT_TDM_RX_3 Port Mixer"}, - - {"QUAT_TDM_RX_0 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"QUAT_TDM_RX_0 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"QUAT_TDM_RX_0 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"QUAT_TDM_RX_0 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"QUAT_TDM_RX_0 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"QUAT_TDM_RX_0 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"QUAT_TDM_RX_0 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"QUAT_TDM_RX_0 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"QUAT_TDM_RX_0 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"QUAT_TDM_RX_0 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, - {"QUAT_TDM_RX_0 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, - {"QUAT_TDM_RX_0 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, - {"QUAT_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"QUAT_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"QUAT_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"QUAT_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"QUAT_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"QUAT_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"QUAT_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"QUAT_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"QUAT_TDM_RX_0 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"QUAT_TDM_RX_0 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"QUAT_TDM_RX_0 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"QUAT_TDM_RX_0 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"QUAT_TDM_RX_0", NULL, "QUAT_TDM_RX_0 Port Mixer"}, - - {"QUAT_TDM_RX_1 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"QUAT_TDM_RX_1 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"QUAT_TDM_RX_1 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"QUAT_TDM_RX_1 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"QUAT_TDM_RX_1 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"QUAT_TDM_RX_1 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"QUAT_TDM_RX_1 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"QUAT_TDM_RX_1 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"QUAT_TDM_RX_1 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"QUAT_TDM_RX_1 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, - {"QUAT_TDM_RX_1 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, - {"QUAT_TDM_RX_1 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, - {"QUAT_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"QUAT_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"QUAT_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"QUAT_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"QUAT_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"QUAT_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"QUAT_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"QUAT_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"QUAT_TDM_RX_1 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"QUAT_TDM_RX_1 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"QUAT_TDM_RX_1 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"QUAT_TDM_RX_1 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"QUAT_TDM_RX_1", NULL, "QUAT_TDM_RX_1 Port Mixer"}, - - {"QUAT_TDM_RX_2 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"QUAT_TDM_RX_2 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"QUAT_TDM_RX_2 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"QUAT_TDM_RX_2 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"QUAT_TDM_RX_2 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"QUAT_TDM_RX_2 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"QUAT_TDM_RX_2 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"QUAT_TDM_RX_2 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"QUAT_TDM_RX_2 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"QUAT_TDM_RX_2 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, - {"QUAT_TDM_RX_2 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, - {"QUAT_TDM_RX_2 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, - {"QUAT_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"QUAT_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"QUAT_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"QUAT_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"QUAT_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"QUAT_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"QUAT_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"QUAT_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"QUAT_TDM_RX_2 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"QUAT_TDM_RX_2 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"QUAT_TDM_RX_2 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"QUAT_TDM_RX_2 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"QUAT_TDM_RX_2", NULL, "QUAT_TDM_RX_2 Port Mixer"}, - - {"QUAT_TDM_RX_3 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"QUAT_TDM_RX_3 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"QUAT_TDM_RX_3 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"QUAT_TDM_RX_3 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"QUAT_TDM_RX_3 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"QUAT_TDM_RX_3 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"QUAT_TDM_RX_3 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"QUAT_TDM_RX_3 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"QUAT_TDM_RX_3 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"QUAT_TDM_RX_3 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, - {"QUAT_TDM_RX_3 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, - {"QUAT_TDM_RX_3 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, - {"QUAT_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"QUAT_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"QUAT_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"QUAT_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"QUAT_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"QUAT_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"QUAT_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"QUAT_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"QUAT_TDM_RX_3 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"QUAT_TDM_RX_3 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"QUAT_TDM_RX_3 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"QUAT_TDM_RX_3 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"QUAT_TDM_RX_3", NULL, "QUAT_TDM_RX_3 Port Mixer"}, - - {"QUAT_TDM_RX_7 Port Mixer", "QUAT_TDM_TX_7", "QUAT_TDM_TX_7"}, - {"QUAT_TDM_RX_7 Port Mixer", "QUIN_TDM_TX_7", "QUIN_TDM_TX_7"}, - {"QUAT_TDM_RX_7", NULL, "QUAT_TDM_RX_7 Port Mixer"}, - - {"QUIN_TDM_RX_0 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"QUIN_TDM_RX_0 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"QUIN_TDM_RX_0 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"QUIN_TDM_RX_0 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"QUIN_TDM_RX_0 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"QUIN_TDM_RX_0 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"QUIN_TDM_RX_0 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"QUIN_TDM_RX_0 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"QUIN_TDM_RX_0 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"QUIN_TDM_RX_0 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, - {"QUIN_TDM_RX_0 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, - {"QUIN_TDM_RX_0 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, - {"QUIN_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"QUIN_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"QUIN_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"QUIN_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"QUIN_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"QUIN_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"QUIN_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"QUIN_TDM_RX_0 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"QUIN_TDM_RX_0 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"QUIN_TDM_RX_0 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"QUIN_TDM_RX_0 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"QUIN_TDM_RX_0 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"QUIN_TDM_RX_0", NULL, "QUIN_TDM_RX_0 Port Mixer"}, - - {"QUIN_TDM_RX_1 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"QUIN_TDM_RX_1 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"QUIN_TDM_RX_1 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"QUIN_TDM_RX_1 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"QUIN_TDM_RX_1 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"QUIN_TDM_RX_1 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"QUIN_TDM_RX_1 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"QUIN_TDM_RX_1 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"QUIN_TDM_RX_1 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"QUIN_TDM_RX_1 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, - {"QUIN_TDM_RX_1 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, - {"QUIN_TDM_RX_1 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, - {"QUIN_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"QUIN_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"QUIN_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"QUIN_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"QUIN_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"QUIN_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"QUIN_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"QUIN_TDM_RX_1 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"QUIN_TDM_RX_1 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"QUIN_TDM_RX_1 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"QUIN_TDM_RX_1 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"QUIN_TDM_RX_1 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"QUIN_TDM_RX_1", NULL, "QUIN_TDM_RX_1 Port Mixer"}, - - {"QUIN_TDM_RX_2 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"QUIN_TDM_RX_2 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"QUIN_TDM_RX_2 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"QUIN_TDM_RX_2 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"QUIN_TDM_RX_2 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"QUIN_TDM_RX_2 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"QUIN_TDM_RX_2 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"QUIN_TDM_RX_2 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"QUIN_TDM_RX_2 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"QUIN_TDM_RX_2 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, - {"QUIN_TDM_RX_2 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, - {"QUIN_TDM_RX_2 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, - {"QUIN_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"QUIN_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"QUIN_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"QUIN_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"QUIN_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"QUIN_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"QUIN_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"QUIN_TDM_RX_2 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"QUIN_TDM_RX_2 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"QUIN_TDM_RX_2 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"QUIN_TDM_RX_2 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"QUIN_TDM_RX_2 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"QUIN_TDM_RX_2", NULL, "QUIN_TDM_RX_2 Port Mixer"}, - - {"QUIN_TDM_RX_3 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"QUIN_TDM_RX_3 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"QUIN_TDM_RX_3 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"QUIN_TDM_RX_3 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"QUIN_TDM_RX_3 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"QUIN_TDM_RX_3 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"QUIN_TDM_RX_3 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"QUIN_TDM_RX_3 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"QUIN_TDM_RX_3 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"QUIN_TDM_RX_3 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, - {"QUIN_TDM_RX_3 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, - {"QUIN_TDM_RX_3 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, - {"QUIN_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"QUIN_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"QUIN_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"QUIN_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"QUIN_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, - {"QUIN_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_1", "QUIN_TDM_TX_1"}, - {"QUIN_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_2", "QUIN_TDM_TX_2"}, - {"QUIN_TDM_RX_3 Port Mixer", "QUIN_TDM_TX_3", "QUIN_TDM_TX_3"}, - {"QUIN_TDM_RX_3 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"QUIN_TDM_RX_3 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"QUIN_TDM_RX_3 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"QUIN_TDM_RX_3 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"QUIN_TDM_RX_3", NULL, "QUIN_TDM_RX_3 Port Mixer"}, - - {"QUIN_TDM_RX_7 Port Mixer", "TERT_TDM_TX_7", "TERT_TDM_TX_7"}, - {"QUIN_TDM_RX_7 Port Mixer", "QUAT_TDM_TX_7", "QUAT_TDM_TX_7"}, - {"QUIN_TDM_RX_7 Port Mixer", "QUIN_TDM_TX_7", "QUIN_TDM_TX_7"}, - {"QUIN_TDM_RX_7", NULL, "QUIN_TDM_RX_7 Port Mixer"}, - - {"SEN_TDM_RX_0 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"SEN_TDM_RX_0 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"SEN_TDM_RX_0 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"SEN_TDM_RX_0 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"SEN_TDM_RX_0 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"SEN_TDM_RX_0 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"SEN_TDM_RX_0 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"SEN_TDM_RX_0 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"SEN_TDM_RX_0 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"SEN_TDM_RX_0 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, - {"SEN_TDM_RX_0 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, - {"SEN_TDM_RX_0 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, - {"SEN_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"SEN_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"SEN_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"SEN_TDM_RX_0 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"SEN_TDM_RX_0 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"SEN_TDM_RX_0 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"SEN_TDM_RX_0 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"SEN_TDM_RX_0 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"SEN_TDM_RX_0", NULL, "SEN_TDM_RX_0 Port Mixer"}, - - {"SEN_TDM_RX_1 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"SEN_TDM_RX_1 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"SEN_TDM_RX_1 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"SEN_TDM_RX_1 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"SEN_TDM_RX_1 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"SEN_TDM_RX_1 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"SEN_TDM_RX_1 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"SEN_TDM_RX_1 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"SEN_TDM_RX_1 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"SEN_TDM_RX_1 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, - {"SEN_TDM_RX_1 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, - {"SEN_TDM_RX_1 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, - {"SEN_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"SEN_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"SEN_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"SEN_TDM_RX_1 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"SEN_TDM_RX_1 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"SEN_TDM_RX_1 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"SEN_TDM_RX_1 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"SEN_TDM_RX_1 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"SEN_TDM_RX_1", NULL, "SEN_TDM_RX_1 Port Mixer"}, - - {"SEN_TDM_RX_2 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"SEN_TDM_RX_2 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"SEN_TDM_RX_2 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"SEN_TDM_RX_2 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"SEN_TDM_RX_2 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"SEN_TDM_RX_2 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"SEN_TDM_RX_2 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"SEN_TDM_RX_2 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"SEN_TDM_RX_2 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"SEN_TDM_RX_2 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, - {"SEN_TDM_RX_2 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, - {"SEN_TDM_RX_2 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, - {"SEN_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"SEN_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"SEN_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"SEN_TDM_RX_2 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"SEN_TDM_RX_2 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"SEN_TDM_RX_2 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"SEN_TDM_RX_2 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"SEN_TDM_RX_2 Port Mixer", "SEN_TDM_TX_3", "SEN_TDM_TX_3"}, - {"SEN_TDM_RX_2", NULL, "SEN_TDM_RX_2 Port Mixer"}, - - {"SEN_TDM_RX_3 Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"SEN_TDM_RX_3 Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"SEN_TDM_RX_3 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"SEN_TDM_RX_3 Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"SEN_TDM_RX_3 Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"SEN_TDM_RX_3 Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"SEN_TDM_RX_3 Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"SEN_TDM_RX_3 Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"SEN_TDM_RX_3 Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"SEN_TDM_RX_3 Port Mixer", "TERT_TDM_TX_1", "TERT_TDM_TX_1"}, - {"SEN_TDM_RX_3 Port Mixer", "TERT_TDM_TX_2", "TERT_TDM_TX_2"}, - {"SEN_TDM_RX_3 Port Mixer", "TERT_TDM_TX_3", "TERT_TDM_TX_3"}, - {"SEN_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"SEN_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_1", "QUAT_TDM_TX_1"}, - {"SEN_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_2", "QUAT_TDM_TX_2"}, - {"SEN_TDM_RX_3 Port Mixer", "QUAT_TDM_TX_3", "QUAT_TDM_TX_3"}, - {"SEN_TDM_RX_3 Port Mixer", "SEN_TDM_TX_0", "SEN_TDM_TX_0"}, - {"SEN_TDM_RX_3 Port Mixer", "SEN_TDM_TX_1", "SEN_TDM_TX_1"}, - {"SEN_TDM_RX_3 Port Mixer", "SEN_TDM_TX_2", "SEN_TDM_TX_2"}, - {"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"}, - {"INT0_MI2S_RX Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, {"INT0_MI2S_RX Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, {"INT0_MI2S_RX Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"INT0_MI2S_RX Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, {"INT0_MI2S_RX Port Mixer", "QUIN_MI2S_TX", "QUIN_MI2S_TX"}, {"INT0_MI2S_RX Port Mixer", "SENARY_MI2S_TX", "SENARY_MI2S_TX"}, @@ -30492,199 +31275,17 @@ static const struct snd_soc_dapm_route intercon[] = { {"INT4_MI2S_RX Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, {"INT4_MI2S_RX", NULL, "INT4_MI2S_RX Port Mixer"}, - {"WSA_CDC_DMA_RX_0 Port Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"WSA_CDC_DMA_RX_0 Port Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"WSA_CDC_DMA_RX_0 Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, - {"WSA_CDC_DMA_RX_0 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"WSA_CDC_DMA_RX_0", NULL, "WSA_CDC_DMA_RX_0 Port Mixer"}, - - {"RX_CDC_DMA_RX_0 Port Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"RX_CDC_DMA_RX_0 Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, - {"RX_CDC_DMA_RX_0 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"RX_CDC_DMA_RX_0", NULL, "RX_CDC_DMA_RX_0 Port Mixer"}, - - {"RX_CDC_DMA_RX_1 Port Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"}, - {"RX_CDC_DMA_RX_1 Port Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"}, - {"RX_CDC_DMA_RX_1 Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, - {"RX_CDC_DMA_RX_1 Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"RX_CDC_DMA_RX_1", NULL, "RX_CDC_DMA_RX_1 Port Mixer"}, - - {"SLIMBUS_0_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"SLIMBUS_0_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, - {"SLIMBUS_0_RX Port Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, - {"SLIMBUS_0_RX Port Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"}, - {"SLIMBUS_0_RX Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, - {"SLIMBUS_0_RX Port Mixer", "SLIM_9_TX", "SLIMBUS_9_TX"}, - {"SLIMBUS_0_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"SLIMBUS_0_RX Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"SLIMBUS_0_RX Port Mixer", "TERT_AUXPCM_UL_TX", "TERT_AUX_PCM_TX"}, - {"SLIMBUS_0_RX Port Mixer", "QUAT_AUXPCM_UL_TX", "QUAT_AUX_PCM_TX"}, - {"SLIMBUS_0_RX Port Mixer", "QUIN_AUXPCM_UL_TX", "QUIN_AUX_PCM_TX"}, - {"SLIMBUS_0_RX Port Mixer", "SEN_AUXPCM_UL_TX", "SEN_AUX_PCM_TX"}, - {"SLIMBUS_0_RX Port Mixer", "MI2S_TX", "MI2S_TX"}, - {"SLIMBUS_0_RX Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"SLIMBUS_0_RX Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"SLIMBUS_0_RX Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"SLIMBUS_0_RX Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"SLIMBUS_0_RX Port Mixer", "QUIN_MI2S_TX", "QUIN_MI2S_TX"}, - {"SLIMBUS_0_RX Port Mixer", "SENARY_MI2S_TX", "SENARY_MI2S_TX"}, - {"SLIMBUS_0_RX Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"SLIMBUS_0_RX", NULL, "SLIMBUS_0_RX Port Mixer"}, - {"AFE_PCM_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"AFE_PCM_RX Port Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, - {"PCM_RX", NULL, "AFE_PCM_RX Port Mixer"}, - {"USB_AUDIO_RX Port Mixer", "USB_AUDIO_TX", "USB_AUDIO_TX"}, - {"USB_AUDIO_RX", NULL, "USB_AUDIO_RX Port Mixer"}, - {"USB_DL_HL", "Switch", "USBAUDIO_DL_HL"}, - {"USB_AUDIO_RX", NULL, "USB_DL_HL"}, - {"USBAUDIO_UL_HL", NULL, "USB_AUDIO_TX"}, - - - {"AUX_PCM_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"AUX_PCM_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, - {"AUX_PCM_RX Port Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, - {"AUX_PCM_RX Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"AUX_PCM_RX Port Mixer", "QUAT_TDM_TX_0", "QUAT_TDM_TX_0"}, - {"AUX_PCM_RX Port Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, - {"AUX_PCM_RX Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, - {"AUX_PCM_RX", NULL, "AUX_PCM_RX Port Mixer"}, - - {"SEC_AUXPCM_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"SEC_AUXPCM_RX Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"SEC_AUXPCM_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, - {"SEC_AUXPCM_RX Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"SEC_AUX_PCM_RX", NULL, "SEC_AUXPCM_RX Port Mixer"}, - - {"TERT_AUXPCM_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"TERT_AUXPCM_RX Port Mixer", "TERT_AUXPCM_UL_TX", "TERT_AUX_PCM_TX"}, - {"TERT_AUXPCM_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, - {"TERT_AUX_PCM_RX", NULL, "TERT_AUXPCM_RX Port Mixer"}, - - {"QUAT_AUXPCM_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"QUAT_AUXPCM_RX Port Mixer", "QUAT_AUXPCM_UL_TX", "QUAT_AUX_PCM_TX"}, - {"QUAT_AUXPCM_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, - {"QUAT_AUX_PCM_RX", NULL, "QUAT_AUXPCM_RX Port Mixer"}, - - {"QUIN_AUXPCM_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"QUIN_AUXPCM_RX Port Mixer", "QUIN_AUXPCM_UL_TX", "QUIN_AUX_PCM_TX"}, - {"QUIN_AUXPCM_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, - {"QUIN_AUX_PCM_RX", NULL, "QUIN_AUXPCM_RX Port Mixer"}, - - {"Voice Stub Tx Mixer", "STUB_TX_HL", "STUB_TX"}, - {"Voice Stub Tx Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, - {"Voice Stub Tx Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"Voice Stub Tx Mixer", "STUB_1_TX_HL", "STUB_1_TX"}, - {"Voice Stub Tx Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"Voice Stub Tx Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"Voice Stub Tx Mixer", "TERT_AUXPCM_UL_TX", "TERT_AUX_PCM_TX"}, - {"Voice Stub Tx Mixer", "QUAT_AUXPCM_UL_TX", "QUAT_AUX_PCM_TX"}, - {"Voice Stub Tx Mixer", "QUIN_AUXPCM_UL_TX", "QUIN_AUX_PCM_TX"}, - {"Voice Stub Tx Mixer", "SEN_AUXPCM_UL_TX", "SEN_AUX_PCM_TX"}, {"Voice Stub Tx Mixer", "MI2S_TX", "MI2S_TX"}, {"Voice Stub Tx Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, {"Voice Stub Tx Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, {"Voice Stub Tx Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"}, {"Voice Stub Tx Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"Voice Stub Tx Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, - {"Voice Stub Tx Mixer", "SLIM_3_TX", "SLIMBUS_3_TX"}, - {"Voice Stub Tx Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"}, - {"Voice Stub Tx Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, - {"Voice Stub Tx Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"VOICE_STUB_UL", NULL, "Voice Stub Tx Mixer"}, - {"VoLTE Stub Tx Mixer", "STUB_TX_HL", "STUB_TX"}, - {"VoLTE Stub Tx Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, - {"VoLTE Stub Tx Mixer", "STUB_1_TX_HL", "STUB_1_TX"}, - {"VoLTE Stub Tx Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"VoLTE Stub Tx Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, - {"VoLTE Stub Tx Mixer", "SLIM_3_TX", "SLIMBUS_3_TX"}, - {"VoLTE Stub Tx Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"}, - {"VoLTE Stub Tx Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, - {"VoLTE Stub Tx Mixer", "AFE_PCM_TX", "PCM_TX"}, {"VoLTE Stub Tx Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, {"VoLTE Stub Tx Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"VOLTE_STUB_UL", NULL, "VoLTE Stub Tx Mixer"}, - - {"Voice2 Stub Tx Mixer", "STUB_TX_HL", "STUB_TX"}, - {"Voice2 Stub Tx Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, - {"Voice2 Stub Tx Mixer", "STUB_1_TX_HL", "STUB_1_TX"}, - {"Voice2 Stub Tx Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"Voice2 Stub Tx Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, - {"Voice2 Stub Tx Mixer", "SLIM_3_TX", "SLIMBUS_3_TX"}, - {"Voice2 Stub Tx Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"}, - {"Voice2 Stub Tx Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, - {"Voice2 Stub Tx Mixer", "AFE_PCM_TX", "PCM_TX"}, {"Voice2 Stub Tx Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, {"Voice2 Stub Tx Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, {"Voice2 Stub Tx Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"VOICE2_STUB_UL", NULL, "Voice2 Stub Tx Mixer"}, - - {"STUB_RX Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"STUB_RX Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"STUB_RX", NULL, "STUB_RX Mixer"}, - - {"SLIMBUS_1_RX Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"SLIMBUS_1_RX Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"SLIMBUS_1_RX", NULL, "SLIMBUS_1_RX Mixer"}, - - {"SLIMBUS_3_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"SLIMBUS_3_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"SLIMBUS_3_RX", NULL, "SLIMBUS_3_RX_Voice Mixer"}, - - {"SLIM_7_RX_Voice Mixer", "Voip", "VOIP_DL"}, - {"SLIM_7_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"SLIM_7_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"SLIM_7_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"SLIM_7_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"SLIMBUS_7_RX", NULL, "SLIM_7_RX_Voice Mixer"}, - - {"SLIM_8_RX_Voice Mixer", "Voip", "VOIP_DL"}, - {"SLIM_8_RX_Voice Mixer", "DTMF", "DTMF_DL_HL"}, - {"SLIM_8_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, - {"SLIM_8_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, - {"SLIM_8_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, - {"SLIMBUS_8_RX", NULL, "SLIM_8_RX_Voice Mixer"}, - - {"SLIMBUS_1_RX Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"SLIMBUS_1_RX Port Mixer", "AFE_PCM_TX", "PCM_TX"}, - {"SLIMBUS_1_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"SLIMBUS_1_RX", NULL, "SLIMBUS_1_RX Port Mixer"}, - {"INTERNAL_BT_SCO_RX Port Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, - {"INTERNAL_BT_SCO_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, - {"INT_BT_SCO_RX", NULL, "INTERNAL_BT_SCO_RX Port Mixer"}, - {"SLIMBUS_3_RX Port Mixer", "INTERNAL_BT_SCO_RX", "INT_BT_SCO_RX"}, - {"SLIMBUS_3_RX Port Mixer", "MI2S_TX", "MI2S_TX"}, - {"SLIMBUS_3_RX Port Mixer", "AFE_PCM_RX", "PCM_RX"}, - {"SLIMBUS_3_RX Port Mixer", "AUX_PCM_RX", "AUX_PCM_RX"}, - {"SLIMBUS_3_RX Port Mixer", "SLIM_0_RX", "SLIMBUS_0_RX"}, - {"SLIMBUS_3_RX", NULL, "SLIMBUS_3_RX Port Mixer"}, - - {"SLIMBUS_6_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, - {"SLIMBUS_6_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, - {"SLIMBUS_6_RX Port Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, - {"SLIMBUS_6_RX Port Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"}, - {"SLIMBUS_6_RX Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, - {"SLIMBUS_6_RX Port Mixer", "SLIM_9_TX", "SLIMBUS_9_TX"}, - {"SLIMBUS_6_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, - {"SLIMBUS_6_RX Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, - {"SLIMBUS_6_RX Port Mixer", "MI2S_TX", "MI2S_TX"}, - {"SLIMBUS_6_RX Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, - {"SLIMBUS_6_RX Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, - {"SLIMBUS_6_RX Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, - {"SLIMBUS_6_RX Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, - {"SLIMBUS_6_RX", NULL, "SLIMBUS_6_RX Port Mixer"}, - - {"HDMI_RX Port Mixer", "MI2S_TX", "MI2S_TX"}, - {"HDMI", NULL, "HDMI_RX Port Mixer"}, - - {"HDMI_RX_MS Port Mixer", "MI2S_TX", "MI2S_TX"}, - {"HDMI_MS", NULL, "HDMI_RX_MS Port Mixer"}, - - {"DISPLAY_PORT_RX Port Mixer", "MI2S_TX", "MI2S_TX"}, - {"DISPLAY_PORT", NULL, "DISPLAY_PORT_RX Port Mixer"}, - - {"DISPLAY_PORT_RX1 Port Mixer", "MI2S_TX", "MI2S_TX"}, - {"DISPLAY_PORT1", NULL, "DISPLAY_PORT_RX1 Port Mixer"}, {"SEC_I2S_RX Port Mixer", "MI2S_TX", "MI2S_TX"}, {"SEC_I2S_RX", NULL, "SEC_I2S_RX Port Mixer"}, @@ -30703,7 +31304,9 @@ static const struct snd_soc_dapm_route intercon[] = { {"PRI_MI2S_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, {"PRI_MI2S_RX Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"}, {"PRI_MI2S_RX Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE {"PRI_MI2S_RX Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"}, +#endif {"PRI_MI2S_RX", NULL, "PRI_MI2S_RX Port Mixer"}, {"SEC_MI2S_RX Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, @@ -30715,7 +31318,9 @@ static const struct snd_soc_dapm_route intercon[] = { {"SEC_MI2S_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, {"SEC_MI2S_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, {"SEC_MI2S_RX Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE {"SEC_MI2S_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, +#endif {"SEC_MI2S_RX", NULL, "SEC_MI2S_RX Port Mixer"}, {"TERT_MI2S_RX Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, @@ -30736,7 +31341,9 @@ static const struct snd_soc_dapm_route intercon[] = { {"SEN_MI2S_RX Port Mixer", "SENARY_MI2S_TX", "SENARY_MI2S_TX"}, {"QUAT_MI2S_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, {"QUAT_MI2S_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, +#ifndef CONFIG_AUXPCM_DISABLE {"QUAT_MI2S_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, +#endif {"QUAT_MI2S_RX Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, {"QUAT_MI2S_RX", NULL, "QUAT_MI2S_RX Port Mixer"}, @@ -30759,27 +31366,20 @@ static const struct snd_soc_dapm_route intercon[] = { {"SEN_MI2S_RX Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, {"SEN_MI2S_RX", NULL, "SEN_MI2S_RX Port Mixer"}, - /* Backend Enablement */ + {"SLIMBUS_3_RX Port Mixer", "MI2S_TX", "MI2S_TX"}, + {"SLIMBUS_6_RX Port Mixer", "MI2S_TX", "MI2S_TX"}, + {"SLIMBUS_6_RX Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, + {"SLIMBUS_6_RX Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, + {"SLIMBUS_6_RX Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, + + {"HDMI_RX Port Mixer", "MI2S_TX", "MI2S_TX"}, + {"DISPLAY_PORT_RX Port Mixer", "MI2S_TX", "MI2S_TX"}, + {"DISPLAY_PORT_RX1 Port Mixer", "MI2S_TX", "MI2S_TX"}, + + /* Backend Enablement */ {"BE_OUT", NULL, "PRI_I2S_RX"}, {"BE_OUT", NULL, "SEC_I2S_RX"}, - {"BE_OUT", NULL, "SLIMBUS_0_RX"}, - {"BE_OUT", NULL, "SLIMBUS_1_RX"}, - {"BE_OUT", NULL, "SLIMBUS_2_RX"}, - {"BE_OUT", NULL, "SLIMBUS_3_RX"}, - {"BE_OUT", NULL, "SLIMBUS_4_RX"}, - {"BE_OUT", NULL, "SLIMBUS_5_RX"}, - {"BE_OUT", NULL, "SLIMBUS_6_RX"}, - {"BE_OUT", NULL, "SLIMBUS_7_RX"}, - {"BE_OUT", NULL, "SLIMBUS_8_RX"}, - {"BE_OUT", NULL, "SLIMBUS_9_RX"}, - {"BE_OUT", NULL, "USB_AUDIO_RX"}, - {"BE_OUT", NULL, "HDMI"}, - {"BE_OUT", NULL, "HDMI_MS"}, - {"BE_OUT", NULL, "DISPLAY_PORT"}, - {"BE_OUT", NULL, "DISPLAY_PORT1"}, - {"BE_OUT", NULL, "PRI_SPDIF_RX"}, - {"BE_OUT", NULL, "SEC_SPDIF_RX"}, {"BE_OUT", NULL, "MI2S_RX"}, {"BE_OUT", NULL, "QUAT_MI2S_RX"}, {"BE_OUT", NULL, "QUIN_MI2S_RX"}, @@ -30793,62 +31393,6 @@ static const struct snd_soc_dapm_route intercon[] = { {"BE_OUT", NULL, "INT2_MI2S_RX"}, {"BE_OUT", NULL, "INT3_MI2S_RX"}, {"BE_OUT", NULL, "INT5_MI2S_RX"}, - {"BE_OUT", NULL, "INT_BT_SCO_RX"}, - {"BE_OUT", NULL, "INT_BT_A2DP_RX"}, - {"BE_OUT", NULL, "INT_FM_RX"}, - {"BE_OUT", NULL, "PCM_RX"}, - {"BE_OUT", NULL, "SLIMBUS_3_RX"}, - {"BE_OUT", NULL, "AUX_PCM_RX"}, - {"BE_OUT", NULL, "SEC_AUX_PCM_RX"}, - {"BE_OUT", NULL, "TERT_AUX_PCM_RX"}, - {"BE_OUT", NULL, "QUAT_AUX_PCM_RX"}, - {"BE_OUT", NULL, "QUIN_AUX_PCM_RX"}, - {"BE_OUT", NULL, "SEN_AUX_PCM_RX"}, - {"BE_OUT", NULL, "INT_BT_SCO_RX"}, - {"BE_OUT", NULL, "INT_FM_RX"}, - {"BE_OUT", NULL, "PCM_RX"}, - {"BE_OUT", NULL, "SLIMBUS_3_RX"}, - {"BE_OUT", NULL, "VOICE_PLAYBACK_TX"}, - {"BE_OUT", NULL, "VOICE2_PLAYBACK_TX"}, - {"BE_OUT", NULL, "PRI_TDM_RX_0"}, - {"BE_OUT", NULL, "PRI_TDM_RX_1"}, - {"BE_OUT", NULL, "PRI_TDM_RX_2"}, - {"BE_OUT", NULL, "PRI_TDM_RX_3"}, - {"BE_OUT", NULL, "SEC_TDM_RX_0"}, - {"BE_OUT", NULL, "SEC_TDM_RX_1"}, - {"BE_OUT", NULL, "SEC_TDM_RX_2"}, - {"BE_OUT", NULL, "SEC_TDM_RX_3"}, - {"BE_OUT", NULL, "SEC_TDM_RX_7"}, - {"BE_OUT", NULL, "TERT_TDM_RX_0"}, - {"BE_OUT", NULL, "TERT_TDM_RX_1"}, - {"BE_OUT", NULL, "TERT_TDM_RX_2"}, - {"BE_OUT", NULL, "TERT_TDM_RX_3"}, - {"BE_OUT", NULL, "TERT_TDM_RX_4"}, - {"BE_OUT", NULL, "QUAT_TDM_RX_0"}, - {"BE_OUT", NULL, "QUAT_TDM_RX_1"}, - {"BE_OUT", NULL, "QUAT_TDM_RX_2"}, - {"BE_OUT", NULL, "QUAT_TDM_RX_3"}, - {"BE_OUT", NULL, "QUAT_TDM_RX_7"}, - {"BE_OUT", NULL, "QUIN_TDM_RX_0"}, - {"BE_OUT", NULL, "QUIN_TDM_RX_1"}, - {"BE_OUT", NULL, "QUIN_TDM_RX_2"}, - {"BE_OUT", NULL, "QUIN_TDM_RX_3"}, - {"BE_OUT", NULL, "QUIN_TDM_RX_7"}, - {"BE_OUT", NULL, "SEN_TDM_RX_0"}, - {"BE_OUT", NULL, "SEN_TDM_RX_1"}, - {"BE_OUT", NULL, "SEN_TDM_RX_2"}, - {"BE_OUT", NULL, "SEN_TDM_RX_3"}, - {"BE_OUT", NULL, "WSA_CDC_DMA_RX_0"}, - {"BE_OUT", NULL, "WSA_CDC_DMA_RX_1"}, - {"BE_OUT", NULL, "RX_CDC_DMA_RX_0"}, - {"BE_OUT", NULL, "RX_CDC_DMA_RX_1"}, - {"BE_OUT", NULL, "RX_CDC_DMA_RX_2"}, - {"BE_OUT", NULL, "RX_CDC_DMA_RX_3"}, - {"BE_OUT", NULL, "RX_CDC_DMA_RX_4"}, - {"BE_OUT", NULL, "RX_CDC_DMA_RX_5"}, - {"BE_OUT", NULL, "RX_CDC_DMA_RX_6"}, - {"BE_OUT", NULL, "RX_CDC_DMA_RX_7"}, - {"BE_OUT", NULL, "PROXY_RX"}, {"PRI_I2S_TX", NULL, "BE_IN"}, {"MI2S_TX", NULL, "BE_IN"}, @@ -30863,90 +31407,15 @@ static const struct snd_soc_dapm_route intercon[] = { {"INT5_MI2S_TX", NULL, "BE_IN"}, {"SEC_MI2S_TX", NULL, "BE_IN"}, {"SENARY_MI2S_TX", NULL, "BE_IN"}, - {"SLIMBUS_0_TX", NULL, "BE_IN" }, - {"SLIMBUS_1_TX", NULL, "BE_IN" }, - {"SLIMBUS_3_TX", NULL, "BE_IN" }, - {"SLIMBUS_4_TX", NULL, "BE_IN" }, - {"SLIMBUS_5_TX", NULL, "BE_IN" }, - {"SLIMBUS_6_TX", NULL, "BE_IN" }, - {"SLIMBUS_7_TX", NULL, "BE_IN" }, - {"SLIMBUS_8_TX", NULL, "BE_IN" }, - {"SLIMBUS_9_TX", NULL, "BE_IN" }, - {"USB_AUDIO_TX", NULL, "BE_IN" }, - {"INT_BT_SCO_TX", NULL, "BE_IN"}, - {"INT_FM_TX", NULL, "BE_IN"}, - {"PCM_TX", NULL, "BE_IN"}, - {"BE_OUT", NULL, "SLIMBUS_3_RX"}, - {"BE_OUT", NULL, "STUB_RX"}, - {"STUB_TX", NULL, "BE_IN"}, - {"STUB_1_TX", NULL, "BE_IN"}, - {"BE_OUT", NULL, "AUX_PCM_RX"}, - {"AUX_PCM_TX", NULL, "BE_IN"}, - {"SEC_AUX_PCM_TX", NULL, "BE_IN"}, - {"TERT_AUX_PCM_TX", NULL, "BE_IN"}, - {"QUAT_AUX_PCM_TX", NULL, "BE_IN"}, - {"QUIN_AUX_PCM_TX", NULL, "BE_IN"}, - {"SEN_AUX_PCM_TX", NULL, "BE_IN"}, - {"INCALL_RECORD_TX", NULL, "BE_IN"}, - {"INCALL_RECORD_RX", NULL, "BE_IN"}, - {"SLIM0_RX_VI_FB_LCH_MUX", "SLIM4_TX", "SLIMBUS_4_TX"}, - {"SLIM0_RX_VI_FB_RCH_MUX", "SLIM4_TX", "SLIMBUS_4_TX"}, - {"WSA_RX_0_VI_FB_LCH_MUX", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, - {"WSA_RX_0_VI_FB_RCH_MUX", "WSA_CDC_DMA_TX_0", "WSA_CDC_DMA_TX_0"}, + {"PRI_MI2S_RX_VI_FB_MUX", "SENARY_TX", "SENARY_TX"}, {"INT4_MI2S_RX_VI_FB_MONO_CH_MUX", "INT5_MI2S_TX", "INT5_MI2S_TX"}, {"INT4_MI2S_RX_VI_FB_STEREO_CH_MUX", "INT5_MI2S_TX", "INT5_MI2S_TX"}, - {"SLIMBUS_0_RX", NULL, "SLIM0_RX_VI_FB_LCH_MUX"}, - {"SLIMBUS_0_RX", NULL, "SLIM0_RX_VI_FB_RCH_MUX"}, - {"WSA_CDC_DMA_RX_0", NULL, "WSA_RX_0_VI_FB_LCH_MUX"}, - {"WSA_CDC_DMA_RX_0", NULL, "WSA_RX_0_VI_FB_RCH_MUX"}, {"PRI_MI2S_RX", NULL, "PRI_MI2S_RX_VI_FB_MUX"}, {"INT4_MI2S_RX", NULL, "INT4_MI2S_RX_VI_FB_MONO_CH_MUX"}, {"INT4_MI2S_RX", NULL, "INT4_MI2S_RX_VI_FB_STEREO_CH_MUX"}, - {"PRI_TDM_TX_0", NULL, "BE_IN"}, - {"PRI_TDM_TX_1", NULL, "BE_IN"}, - {"PRI_TDM_TX_2", NULL, "BE_IN"}, - {"PRI_TDM_TX_3", NULL, "BE_IN"}, - {"SEC_TDM_TX_0", NULL, "BE_IN"}, - {"SEC_TDM_TX_1", NULL, "BE_IN"}, - {"SEC_TDM_TX_2", NULL, "BE_IN"}, - {"SEC_TDM_TX_3", NULL, "BE_IN"}, - {"TERT_TDM_TX_0", NULL, "BE_IN"}, - {"TERT_TDM_TX_1", NULL, "BE_IN"}, - {"TERT_TDM_TX_2", NULL, "BE_IN"}, - {"TERT_TDM_TX_3", NULL, "BE_IN"}, - {"TERT_TDM_TX_7", NULL, "BE_IN"}, - {"QUAT_TDM_TX_0", NULL, "BE_IN"}, - {"QUAT_TDM_TX_1", NULL, "BE_IN"}, - {"QUAT_TDM_TX_2", NULL, "BE_IN"}, - {"QUAT_TDM_TX_3", NULL, "BE_IN"}, - {"QUAT_TDM_TX_7", NULL, "BE_IN"}, - {"AFE_LOOPBACK_TX", NULL, "BE_IN"}, - {"QUIN_TDM_TX_0", NULL, "BE_IN"}, - {"QUIN_TDM_TX_1", NULL, "BE_IN"}, - {"QUIN_TDM_TX_2", NULL, "BE_IN"}, - {"QUIN_TDM_TX_3", NULL, "BE_IN"}, - {"QUIN_TDM_TX_7", NULL, "BE_IN"}, - {"SEN_TDM_TX_0", NULL, "BE_IN"}, - {"SEN_TDM_TX_1", NULL, "BE_IN"}, - {"SEN_TDM_TX_2", NULL, "BE_IN"}, - {"SEN_TDM_TX_3", NULL, "BE_IN"}, - {"WSA_CDC_DMA_TX_0", NULL, "BE_IN"}, - {"WSA_CDC_DMA_TX_1", NULL, "BE_IN"}, - {"WSA_CDC_DMA_TX_2", NULL, "BE_IN"}, - {"VA_CDC_DMA_TX_0", NULL, "BE_IN"}, - {"VA_CDC_DMA_TX_1", NULL, "BE_IN"}, - {"VA_CDC_DMA_TX_2", NULL, "BE_IN"}, - {"TX_CDC_DMA_TX_0", NULL, "BE_IN"}, - {"TX_CDC_DMA_TX_1", NULL, "BE_IN"}, - {"TX_CDC_DMA_TX_2", NULL, "BE_IN"}, - {"TX_CDC_DMA_TX_3", NULL, "BE_IN"}, - {"TX_CDC_DMA_TX_4", NULL, "BE_IN"}, - {"TX_CDC_DMA_TX_5", NULL, "BE_IN"}, - {"PRI_SPDIF_TX", NULL, "BE_IN"}, - {"SEC_SPDIF_TX", NULL, "BE_IN"}, - {"PROXY_TX", NULL, "BE_IN"}, }; +#endif static int msm_pcm_routing_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params) @@ -31764,6 +32233,78 @@ static const struct snd_pcm_ops msm_routing_pcm_ops = { .prepare = msm_pcm_routing_prepare, }; +#ifndef CONFIG_TDM_DISABLE +static void snd_soc_dapm_new_controls_tdm(struct snd_soc_component *component) +{ + snd_soc_dapm_new_controls(&component->dapm, + msm_qdsp6_widgets_tdm, + ARRAY_SIZE(msm_qdsp6_widgets_tdm)); +} +static void snd_soc_dapm_add_routes_tdm(struct snd_soc_component *component) +{ + snd_soc_dapm_add_routes(&component->dapm, intercon_tdm, + ARRAY_SIZE(intercon_tdm)); +} +#else +static void snd_soc_dapm_new_controls_tdm(struct snd_soc_component *component) +{ + return; +} + +static void snd_soc_dapm_add_routes_tdm(struct snd_soc_component *component) +{ + return; +} +#endif + + +#ifndef CONFIG_MI2S_DISABLE +static void snd_soc_dapm_new_controls_mi2s(struct snd_soc_component *component) +{ + snd_soc_dapm_new_controls(&component->dapm, + msm_qdsp6_widgets_mi2s, + ARRAY_SIZE(msm_qdsp6_widgets_mi2s)); +} +static void snd_soc_dapm_add_routes_mi2s(struct snd_soc_component *component) +{ + snd_soc_dapm_add_routes(&component->dapm, intercon_mi2s, + ARRAY_SIZE(intercon_mi2s)); +} +#else +static void snd_soc_dapm_new_controls_mi2s(struct snd_soc_component *component) +{ + return; +} +static void snd_soc_dapm_add_routes_mi2s(struct snd_soc_component *component) +{ + return; +} +#endif + +#ifndef CONFIG_AUXPCM_DISABLE +static void snd_soc_dapm_new_controls_aux_pcm(struct snd_soc_component *component) +{ + snd_soc_dapm_new_controls(&component->dapm, + msm_qdsp6_widgets_aux_pcm, + ARRAY_SIZE(msm_qdsp6_widgets_aux_pcm)); +} +static void snd_soc_dapm_add_routes_aux_pcm(struct snd_soc_component *component) +{ + snd_soc_dapm_add_routes(&component->dapm, intercon_aux_pcm, + ARRAY_SIZE(intercon_aux_pcm)); +} +#else +static void snd_soc_dapm_new_controls_aux_pcm(struct snd_soc_component *component) +{ + return; +} +static void snd_soc_dapm_add_routes_aux_pcm(struct snd_soc_component *component) +{ + return; +} +#endif + + #ifdef CONFIG_DOA_PARAMS_ENABLED void msm_routing_add_doa_control(struct snd_soc_component *component) { @@ -31783,11 +32324,19 @@ static int msm_routing_probe(struct snd_soc_component *component) { snd_soc_dapm_new_controls(&component->dapm, msm_qdsp6_widgets, ARRAY_SIZE(msm_qdsp6_widgets)); + + snd_soc_dapm_new_controls_tdm(component); + snd_soc_dapm_new_controls_mi2s(component); + snd_soc_dapm_new_controls_aux_pcm(component); + snd_soc_dapm_ignore_suspend(&component->dapm, "BE_OUT"); snd_soc_dapm_ignore_suspend(&component->dapm, "BE_IN"); snd_soc_dapm_add_routes(&component->dapm, intercon, ARRAY_SIZE(intercon)); + snd_soc_dapm_add_routes_tdm(component); + snd_soc_dapm_add_routes_mi2s(component); + snd_soc_dapm_add_routes_aux_pcm(component); snd_soc_dapm_new_widgets(component->dapm.card); snd_soc_add_component_controls(component, lsm_controls,