[PATCH 1/3] bytcr-rt5640: Fix DMIC1 not working when connected over AIF2
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Mon Jun 8 23:44:25 CEST 2020
On 6/8/20 3:21 PM, Hans de Goede wrote:
> The RT5640 codec has 2 ADC-s which are caled the Stereo ADC and the
> Mono ADC (even though the mono ADC seems to be stereo too?). The Stereo
> ADC is connected to the AIF1 interface of the codec and the Mono ADC
> to the AIF2 interface.
>
> Almost all X86 BYT/CHT design use the AIF1 interface, but a few models
> use the AIF2 interface. For this reason the IN?-InternalMic.conf bits
> not only select/enable the microphone input on the Stereo ADC, but
> also on the Mono ADC, so that the analog mic. inputs also work in devices
> using the AIF2 interface.
>
> Before this commit DigitalMics.conf was only setting up the DMIC input
> on the Stereo ADC and not on the Mono ADC, causing DMIC1 to not work
> when connected over AIF2.
>
> This commit adds selecting / enabling DMIC1 on the Mono ADC.
> This fixes the internal microphone not working on the Toshiba Encore WT10A.
>
> Note that for devices which use the AIF1 interface this is a no-op since
> the AIF1 interface is not connected to anything, there is no complete
> chain so DAPM will not enable any of the elements in the chain.
Sounds good to me.
For the series
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
>
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> ---
> ucm2/codecs/rt5640/DigitalMics.conf | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/ucm2/codecs/rt5640/DigitalMics.conf b/ucm2/codecs/rt5640/DigitalMics.conf
> index 503c4a9..fdd412f 100644
> --- a/ucm2/codecs/rt5640/DigitalMics.conf
> +++ b/ucm2/codecs/rt5640/DigitalMics.conf
> @@ -6,6 +6,9 @@ SectionDevice."Mic" {
> ]
>
> EnableSequence [
> + cset "name='Mono ADC MIXL ADC2 Switch' on"
> + cset "name='Mono ADC MIXR ADC2 Switch' on"
> + cset "name='Mono ADC Capture Switch' on"
> cset "name='Stereo ADC MIXL ADC2 Switch' on"
> cset "name='Stereo ADC MIXR ADC2 Switch' on"
> cset "name='Internal Mic Switch' on"
> @@ -13,6 +16,9 @@ SectionDevice."Mic" {
> ]
>
> DisableSequence [
> + cset "name='Mono ADC MIXL ADC2 Switch' off"
> + cset "name='Mono ADC MIXR ADC2 Switch' off"
> + cset "name='Mono ADC Capture Switch' off"
> cset "name='Stereo ADC MIXL ADC2 Switch' off"
> cset "name='Stereo ADC MIXR ADC2 Switch' off"
> cset "name='Internal Mic Switch' off"
>
More information about the Alsa-devel
mailing list