alsa-project / alsa-ucm-conf

ALSA Use Case Manager configuration
BSD 3-Clause "New" or "Revised" License
70 stars 205 forks source link

Dmic mute button is not working with SOF based acp-dmic solution #385

Open Venkata-Prasad-Potturu opened 5 months ago

Venkata-Prasad-Potturu commented 5 months ago

Hi, We have enabled ACP-DMIC endpoint support using SOF stack, and created mixer controls for capture switch and volume. Trying to link Mic mute button with amixer controls in the UCM config file, but unable to invoke the enable/disable sequence when we press mic mute button. Please find the below ucm configuration, amixer controls and pactl list. pactl_list.txt

Could anyone help on this.

AMIXER CONTROLS:- root@systemc-Mayan-RMB:/usr/share/alsa/ucm2# arecord -l List of CAPTURE Hardware Devices card 1: sofrmbdsp [sof-rmb-dsp], device 6: DMIC (*) [] Subdevices: 0/1 Subdevice #0: subdevice #0 root@systemc-Mayan-RMB:/usr/share/alsa/ucm2# amixer -c 1 contents numid=2,iface=MIXER,name='PGA4.0 4 Master Capture Switch' ; type=BOOLEAN,access=rw------,values=2 : values=on,on numid=1,iface=MIXER,name='PGA4.0 4 Master Capture Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0 : values=44,44 | dBscale-min=-50.00dB,step=1.00dB,mute=1 root@systemc-Mayan-RMB:/usr/share/alsa/ucm2# UCM Configuration:-

    SectionDevice."dmic" {
            Comment "Digital Microphone"
            EnableSequence [
                    exec "echo DMIC EnableSequence"
                    cset "name='PGA4.0 4 Master Capture Switch' 1"
                    cset "name='PGA4.0 4 Master Capture Volume' 44"
           ]

            DisableSequence [
                    exec "echo DMIC DisableSequence"
                    cset "name='PGA4.0 4 Master Capture Switch' 0"
                    cset "name='PGA4.0 4 Master Capture Volume' 33"
            ]

            Value {
                    CapturePriority 100
                    CapturePCM "hw:${CardId},6"
            }
    }
Venkata-Prasad-Potturu commented 5 months ago

@perexg Could you please help me on this.

perexg commented 5 months ago

I'm sorry but you're mixing PCM device initialization with mixer control. The Switch/Volume control should be in Value section - CaptureMixerElem. See other configurations for an example. For your case, the configuration would be:

Value {
   CaptureMixerElem "PGA4.0 4 Master Capture"
}