[alsa-devel] [PATCH] ASoC: cs4265: Add a MIC pre. switch

Charles Keepax ckeepax at opensource.cirrus.com
Fri Sep 7 10:26:26 CEST 2018


On Fri, Sep 07, 2018 at 01:27:29PM +1000, Matt Flax wrote:
> This patch adds a MIC preamp enable switch as a SOC_SINGLE.
> 
> Signed-off-by: Matt Flax <flatmax at flatmax.org>
> ---
>  sound/soc/codecs/cs4265.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/sound/soc/codecs/cs4265.c b/sound/soc/codecs/cs4265.c
> index d9eebf6a..03476f93 100644
> --- a/sound/soc/codecs/cs4265.c
> +++ b/sound/soc/codecs/cs4265.c
> @@ -161,6 +161,7 @@ static const struct snd_kcontrol_new cs4265_snd_controls[] = {
>  	SOC_SINGLE("MMTLR Data Switch", CS4265_SPDIF_CTL2, 0, 1, 0),
>  	SOC_ENUM("Mono Channel Select", spdif_mono_select_enum),
>  	SND_SOC_BYTES("C Data Buffer", CS4265_C_DATA_BUFF, 24),
> +	SOC_SINGLE("MIC Preamp", CS4265_PWRCTL, 3, 1, 1),
>  };

Is this the correct way to control this bit? There is already
a SND_SOC_DAPM_PGA widget called "Pre-amp MIC" that controls
the bit, it looks like this widget is not connected to the
rest of the DAPM graph. Should we just be hooking that widget
up instead?  The datasheet isn't abundantly clear but it looks
like the bit needs to be set whenever the mic is in use:

"The microphone preamplifier block will enter a low-power state
whenever this bit is set."

Which would really make DAPM a better fit, unless there are valid
use-cases for using the mic with the preamp powered down?

Thanks,
Charles


More information about the Alsa-devel mailing list