On Tue, Oct 22, 2019 at 12:01 PM Mark Brown broonie@kernel.org wrote:
On Tue, Oct 22, 2019 at 11:28:53AM -0700, Curtis Malainey wrote:
You are right, I forgot to add that to the dapm paths, got distracted by the race conditions I was fixing. I am thinking the best route is a mux object that the driver turns on but has its route selected by userspace to the various DMICs. Would that suffice?
I *think* so - basically anything that just describes the DSP part of it and leaves it up to userspace how to route the audio into the DSP.
Turns out all the routing is available already, I was just forcing DMIC L1 on unnecessarily. I was able to use DMIC L2 to get the hotword working, but for some reason I can sound activation levels fluctuate when I use the right channels but the hotword is never detected.
Example userspace settings to setup for recording form DMIC L1.
amixer -c 1 cset name='Mono DMIC L Mux' DMIC1 amixer -c 1 cset name='Mono ADC2 L Mux' DMIC amixer -c 1 cset name='Mono ADC Capture Switch' on amixer -c 1 cset name='Mono ADC Boost Volume' 2,2 amixer -c 1 cset name='Mono ADC MIXL ADC1 Switch' off amixer -c 1 cset name='Mono ADC MIXL ADC2 Switch' on amixer -c 1 cset name='IB01 Mux' 'VAD ADC/DAC1 FS' amixer -c 1 cset name='VAD ADC Mux' 'MONO ADC MIX L'
I will send another patchset with the removal of the DMIC forced on (the sync has to stay due to race conditions between dapm and the DSP changing write modes) and that return fix Cezary requested.