Split the initialisation of cs42l43 into a headset part and a dmic part. This will prevent the dmic mute controls getting attached to the mute LED when the codec dmics are not being used. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx> --- ucm2/codecs/cs42l43-dmic/init.conf | 23 +++++++++++++++++++++++ ucm2/codecs/cs42l43/init.conf | 11 +---------- ucm2/sof-soundwire/sof-soundwire.conf | 2 +- 3 files changed, 25 insertions(+), 11 deletions(-) create mode 100644 ucm2/codecs/cs42l43-dmic/init.conf diff --git a/ucm2/codecs/cs42l43-dmic/init.conf b/ucm2/codecs/cs42l43-dmic/init.conf new file mode 100644 index 0000000..441d082 --- /dev/null +++ b/ucm2/codecs/cs42l43-dmic/init.conf @@ -0,0 +1,23 @@ +# cs42l43 specific control settings + +LibraryConfig.remap.Config { + ctl.default.map { + "name='cs42l43 Microphone Capture Switch'" { + "name='cs42l43 Decimator 3 Switch'".vindex.0 0 + "name='cs42l43 Decimator 4 Switch'".vindex.1 0 + } + "name='cs42l43 Microphone Capture Volume'" { + "name='cs42l43 Decimator 3 Volume'".vindex.0 0 + "name='cs42l43 Decimator 4 Volume'".vindex.1 0 + } + } +} + +FixedBootSequence [ + cset "name='cs42l43 Decimator 3 Switch' 0" + cset "name='cs42l43 Decimator 4 Switch' 0" + exec "-/sbin/modprobe snd_ctl_led" + sysw "-/class/sound/ctl-led/mic/card${CardNumber}/attach:cs42l43 Decimator 3 Switch" + sysw "-/class/sound/ctl-led/mic/card${CardNumber}/attach:cs42l43 Decimator 4 Switch" +] + diff --git a/ucm2/codecs/cs42l43/init.conf b/ucm2/codecs/cs42l43/init.conf index 0fbb517..8e41a0f 100644 --- a/ucm2/codecs/cs42l43/init.conf +++ b/ucm2/codecs/cs42l43/init.conf @@ -2,14 +2,6 @@ LibraryConfig.remap.Config { ctl.default.map { - "name='cs42l43 Microphone Capture Switch'" { - "name='cs42l43 Decimator 3 Switch'".vindex.0 0 - "name='cs42l43 Decimator 4 Switch'".vindex.1 0 - } - "name='cs42l43 Microphone Capture Volume'" { - "name='cs42l43 Decimator 3 Volume'".vindex.0 0 - "name='cs42l43 Decimator 4 Volume'".vindex.1 0 - } "name='cs42l43 Headset Microphone Capture Switch'" { "name='cs42l43 Decimator 1 Switch'".vindex.0 0 } @@ -20,8 +12,7 @@ LibraryConfig.remap.Config { } FixedBootSequence [ + cset "name='cs42l43 Decimator 1 Switch' 0" exec "-/sbin/modprobe snd_ctl_led" sysw "-/class/sound/ctl-led/mic/card${CardNumber}/attach:cs42l43 Decimator 1 Switch" - sysw "-/class/sound/ctl-led/mic/card${CardNumber}/attach:cs42l43 Decimator 3 Switch" - sysw "-/class/sound/ctl-led/mic/card${CardNumber}/attach:cs42l43 Decimator 4 Switch" ] diff --git a/ucm2/sof-soundwire/sof-soundwire.conf b/ucm2/sof-soundwire/sof-soundwire.conf index 96d2966..57e5610 100644 --- a/ucm2/sof-soundwire/sof-soundwire.conf +++ b/ucm2/sof-soundwire/sof-soundwire.conf @@ -114,7 +114,7 @@ If.hs_init { If.mic_init { Condition { Type RegexMatch - Regex "(rt712-dmic|rt713-dmic|rt715(-sdca)?)" + Regex "(cs42l43-dmic|rt712-dmic|rt713-dmic|rt715(-sdca)?)" String "${var:MicCodec1}" } True.Include.mic_init.File "/codecs/${var:MicCodec1}/init.conf" -- 2.39.5