Loading sound/soc/codecs/wcd9320.c +33 −8 Original line number Diff line number Diff line Loading @@ -1131,6 +1131,24 @@ static const struct soc_enum class_h_dsm_enum = static const struct snd_kcontrol_new class_h_dsm_mux = SOC_DAPM_ENUM("CLASS_H_DSM MUX Mux", class_h_dsm_enum); static const char * const rx1_interpolator_text[] = { "ZERO", "RX1 MIX2" }; static const struct soc_enum rx1_interpolator_enum = SOC_ENUM_SINGLE(TAIKO_A_CDC_CLK_RX_B1_CTL, 0, 2, rx1_interpolator_text); static const struct snd_kcontrol_new rx1_interpolator = SOC_DAPM_ENUM("RX1 INTERP Mux", rx1_interpolator_enum); static const char * const rx2_interpolator_text[] = { "ZERO", "RX2 MIX2" }; static const struct soc_enum rx2_interpolator_enum = SOC_ENUM_SINGLE(TAIKO_A_CDC_CLK_RX_B1_CTL, 1, 2, rx2_interpolator_text); static const struct snd_kcontrol_new rx2_interpolator = SOC_DAPM_ENUM("RX2 INTERP Mux", rx2_interpolator_enum); static const char *const taiko_conn_mad_text[] = { "ADC_MB", "ADC1", "ADC2", "ADC3", "ADC4", "ADC5", "ADC6", "NOTUSED1", "DMIC1", "DMIC2", "DMIC3", "DMIC4", "DMIC5", "DMIC6", "NOTUSED2", Loading Loading @@ -3287,6 +3305,7 @@ static int taiko_hphl_dac_event(struct snd_soc_dapm_widget *w, case SND_SOC_DAPM_POST_PMD: snd_soc_update_bits(codec, TAIKO_A_CDC_CLK_RDAC_CLK_EN_CTL, 0x02, 0x00); break; } return 0; } Loading Loading @@ -3789,8 +3808,11 @@ static const struct snd_soc_dapm_route audio_map[] = { {"CLASS_H_DSM MUX", "DSM_HPHL_RX1", "RX1 CHAIN"}, {"RX1 CHAIN", NULL, "RX1 MIX2"}, {"RX2 CHAIN", NULL, "RX2 MIX2"}, {"RX1 INTERP", NULL, "RX1 MIX2"}, {"RX1 CHAIN", NULL, "RX1 INTERP"}, {"RX2 INTERP", NULL, "RX2 MIX2"}, {"RX2 CHAIN", NULL, "RX2 INTERP"}, {"RX1 MIX2", NULL, "ANC1 MUX"}, {"RX2 MIX2", NULL, "ANC2 MUX"}, Loading Loading @@ -5543,12 +5565,9 @@ static const struct snd_soc_dapm_widget taiko_dapm_widgets[] = { SND_SOC_DAPM_MIXER("RX2 MIX1", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_MIXER("RX7 MIX1", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_MIXER_E("RX1 MIX2", TAIKO_A_CDC_CLK_RX_B1_CTL, 0, 0, NULL, 0, taiko_codec_enable_interpolator, SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU), SND_SOC_DAPM_MIXER_E("RX2 MIX2", TAIKO_A_CDC_CLK_RX_B1_CTL, 1, 0, NULL, 0, taiko_codec_enable_interpolator, SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU), SND_SOC_DAPM_MIXER("RX1 MIX2", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_MIXER("RX2 MIX2", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_MIXER_E("RX3 MIX1", TAIKO_A_CDC_CLK_RX_B1_CTL, 2, 0, NULL, 0, taiko_codec_enable_interpolator, SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU), Loading @@ -5565,6 +5584,12 @@ static const struct snd_soc_dapm_widget taiko_dapm_widgets[] = { 0, taiko_codec_enable_interpolator, SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU), SND_SOC_DAPM_MUX_E("RX1 INTERP", TAIKO_A_CDC_CLK_RX_B1_CTL, 0, 0, &rx1_interpolator, taiko_codec_enable_interpolator, SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU), SND_SOC_DAPM_MUX_E("RX2 INTERP", TAIKO_A_CDC_CLK_RX_B1_CTL, 1, 0, &rx2_interpolator, taiko_codec_enable_interpolator, SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU), SND_SOC_DAPM_MIXER("RX1 CHAIN", TAIKO_A_CDC_RX1_B6_CTL, 5, 0, NULL, 0), SND_SOC_DAPM_MIXER("RX2 CHAIN", TAIKO_A_CDC_RX2_B6_CTL, 5, 0, NULL, 0), Loading Loading
sound/soc/codecs/wcd9320.c +33 −8 Original line number Diff line number Diff line Loading @@ -1131,6 +1131,24 @@ static const struct soc_enum class_h_dsm_enum = static const struct snd_kcontrol_new class_h_dsm_mux = SOC_DAPM_ENUM("CLASS_H_DSM MUX Mux", class_h_dsm_enum); static const char * const rx1_interpolator_text[] = { "ZERO", "RX1 MIX2" }; static const struct soc_enum rx1_interpolator_enum = SOC_ENUM_SINGLE(TAIKO_A_CDC_CLK_RX_B1_CTL, 0, 2, rx1_interpolator_text); static const struct snd_kcontrol_new rx1_interpolator = SOC_DAPM_ENUM("RX1 INTERP Mux", rx1_interpolator_enum); static const char * const rx2_interpolator_text[] = { "ZERO", "RX2 MIX2" }; static const struct soc_enum rx2_interpolator_enum = SOC_ENUM_SINGLE(TAIKO_A_CDC_CLK_RX_B1_CTL, 1, 2, rx2_interpolator_text); static const struct snd_kcontrol_new rx2_interpolator = SOC_DAPM_ENUM("RX2 INTERP Mux", rx2_interpolator_enum); static const char *const taiko_conn_mad_text[] = { "ADC_MB", "ADC1", "ADC2", "ADC3", "ADC4", "ADC5", "ADC6", "NOTUSED1", "DMIC1", "DMIC2", "DMIC3", "DMIC4", "DMIC5", "DMIC6", "NOTUSED2", Loading Loading @@ -3287,6 +3305,7 @@ static int taiko_hphl_dac_event(struct snd_soc_dapm_widget *w, case SND_SOC_DAPM_POST_PMD: snd_soc_update_bits(codec, TAIKO_A_CDC_CLK_RDAC_CLK_EN_CTL, 0x02, 0x00); break; } return 0; } Loading Loading @@ -3789,8 +3808,11 @@ static const struct snd_soc_dapm_route audio_map[] = { {"CLASS_H_DSM MUX", "DSM_HPHL_RX1", "RX1 CHAIN"}, {"RX1 CHAIN", NULL, "RX1 MIX2"}, {"RX2 CHAIN", NULL, "RX2 MIX2"}, {"RX1 INTERP", NULL, "RX1 MIX2"}, {"RX1 CHAIN", NULL, "RX1 INTERP"}, {"RX2 INTERP", NULL, "RX2 MIX2"}, {"RX2 CHAIN", NULL, "RX2 INTERP"}, {"RX1 MIX2", NULL, "ANC1 MUX"}, {"RX2 MIX2", NULL, "ANC2 MUX"}, Loading Loading @@ -5543,12 +5565,9 @@ static const struct snd_soc_dapm_widget taiko_dapm_widgets[] = { SND_SOC_DAPM_MIXER("RX2 MIX1", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_MIXER("RX7 MIX1", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_MIXER_E("RX1 MIX2", TAIKO_A_CDC_CLK_RX_B1_CTL, 0, 0, NULL, 0, taiko_codec_enable_interpolator, SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU), SND_SOC_DAPM_MIXER_E("RX2 MIX2", TAIKO_A_CDC_CLK_RX_B1_CTL, 1, 0, NULL, 0, taiko_codec_enable_interpolator, SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU), SND_SOC_DAPM_MIXER("RX1 MIX2", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_MIXER("RX2 MIX2", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_MIXER_E("RX3 MIX1", TAIKO_A_CDC_CLK_RX_B1_CTL, 2, 0, NULL, 0, taiko_codec_enable_interpolator, SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU), Loading @@ -5565,6 +5584,12 @@ static const struct snd_soc_dapm_widget taiko_dapm_widgets[] = { 0, taiko_codec_enable_interpolator, SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU), SND_SOC_DAPM_MUX_E("RX1 INTERP", TAIKO_A_CDC_CLK_RX_B1_CTL, 0, 0, &rx1_interpolator, taiko_codec_enable_interpolator, SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU), SND_SOC_DAPM_MUX_E("RX2 INTERP", TAIKO_A_CDC_CLK_RX_B1_CTL, 1, 0, &rx2_interpolator, taiko_codec_enable_interpolator, SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU), SND_SOC_DAPM_MIXER("RX1 CHAIN", TAIKO_A_CDC_RX1_B6_CTL, 5, 0, NULL, 0), SND_SOC_DAPM_MIXER("RX2 CHAIN", TAIKO_A_CDC_RX2_B6_CTL, 5, 0, NULL, 0), Loading