diff --git a/sound/soc/codecs/cs35l41.c b/sound/soc/codecs/cs35l41.c index b397a59bad01..9b4e26158192 100644 --- a/sound/soc/codecs/cs35l41.c +++ b/sound/soc/codecs/cs35l41.c @@ -235,6 +235,9 @@ static SOC_VALUE_ENUM_SINGLE_DECL(cs35l41_pcm_source_enum, static const struct snd_kcontrol_new pcm_source_mux = SOC_DAPM_ENUM("PCM Source", cs35l41_pcm_source_enum); +static const struct snd_kcontrol_new amp_enable_ctrl = + SOC_DAPM_SINGLE("Switch", SND_SOC_NOPM, 0, 1, 0); + static const char * const cs35l41_tx_input_texts[] = {"Zero", "ASPRX1", "ASPRX2", "VMON", "IMON", "VPMON", @@ -633,6 +636,7 @@ static const struct snd_soc_dapm_widget cs35l41_dapm_widgets[] = { SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD), SND_SOC_DAPM_OUTPUT("SPK"), + SND_SOC_DAPM_SWITCH("AMP Enable", SND_SOC_NOPM, 0, 1, &_enable_ctrl), SND_SOC_DAPM_AIF_IN("ASPRX1", NULL, 0, CS35L41_SP_ENABLES, 16, 0), SND_SOC_DAPM_AIF_IN("ASPRX2", NULL, 0, CS35L41_SP_ENABLES, 17, 0), SND_SOC_DAPM_AIF_OUT("ASPTX1", NULL, 0, CS35L41_SP_ENABLES, 0, 0), @@ -721,8 +725,9 @@ static const struct snd_soc_dapm_route cs35l41_audio_map[] = { {"DSP1", NULL, "VPMON ADC"}, {"DSP1", NULL, "TEMPMON ADC"}, - {"ASPRX1", NULL, "AMP Playback"}, - {"ASPRX2", NULL, "AMP Playback"}, + {"AMP Enable", "Switch", "AMP Playback"}, + {"ASPRX1", NULL, "AMP Enable"}, + {"ASPRX2", NULL, "AMP Enable"}, {"DRE", "DRE Switch", "CLASS H"}, {"Main AMP", NULL, "CLASS H"}, {"Main AMP", NULL, "DRE"},