[PATCH alsa-ucm-conf v3 1/2] sof-soundwire: Change map control names to make them unique and user friendly
Both 'Speaker Digital' and 'cs42l43 PDM2' names were found in other alsa controls, confusing the MixerElems paths. Make them unique to avoid errors for hardware mutes. Also add 'Capture' string into microphone controls to make them work properly.
Signed-off-by: Maciej Strozek mstrozek@opensource.cirrus.com --- v3: Make Headset Microphone more user-friendly and contain the word "Capture" v2: Rename to "Speaker Playback" instead of "Speaker Combined" --- ucm2/codecs/cs42l43/init.conf | 10 ++++++++-- ucm2/sof-soundwire/cs35l56-bridge.conf | 6 +++--- ucm2/sof-soundwire/cs42l43-dmic.conf | 2 +- ucm2/sof-soundwire/cs42l43.conf | 2 +- 4 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/ucm2/codecs/cs42l43/init.conf b/ucm2/codecs/cs42l43/init.conf index 10a6e1f..b2796e2 100644 --- a/ucm2/codecs/cs42l43/init.conf +++ b/ucm2/codecs/cs42l43/init.conf @@ -2,13 +2,19 @@
LibraryConfig.remap.Config { ctl.default.map { - "name='cs42l43 PDM2 Switch'" { + "name='cs42l43 Microphone Capture Switch'" { "name='cs42l43 Decimator 3 Switch'".vindex.0 0 "name='cs42l43 Decimator 4 Switch'".vindex.1 0 } - "name='cs42l43 PDM2 Volume'" { + "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 + } + "name='cs42l43 Headset Microphone Capture Volume'" { + "name='cs42l43 Decimator 1 Volume'".vindex.0 0 + } } } diff --git a/ucm2/sof-soundwire/cs35l56-bridge.conf b/ucm2/sof-soundwire/cs35l56-bridge.conf index 5435b11..a3cf6ad 100644 --- a/ucm2/sof-soundwire/cs35l56-bridge.conf +++ b/ucm2/sof-soundwire/cs35l56-bridge.conf @@ -2,11 +2,11 @@
LibraryConfig.remap.Config { ctl.default.map { - "name='Speaker Digital Switch'" { + "name='Speaker Playback Switch'" { "name='AMPL Speaker Switch'".vindex.0 0 "name='AMPR Speaker Switch'".vindex.1 0 } - "name='Speaker Digital Volume'" { + "name='Speaker Playback Volume'" { "name='AMPL Speaker Volume'".vindex.0 0 "name='AMPR Speaker Volume'".vindex.1 0 } @@ -56,6 +56,6 @@ SectionDevice."Speaker" { PlaybackPriority 100 PlaybackPCM "hw:${CardId},0" PlaybackMixer "default:${CardId}" - PlaybackMixerElem "Speaker Digital" + PlaybackMixerElem "Speaker Playback" } } diff --git a/ucm2/sof-soundwire/cs42l43-dmic.conf b/ucm2/sof-soundwire/cs42l43-dmic.conf index d5f895d..b68a70d 100644 --- a/ucm2/sof-soundwire/cs42l43-dmic.conf +++ b/ucm2/sof-soundwire/cs42l43-dmic.conf @@ -21,6 +21,6 @@ SectionDevice."Mic" { CapturePriority 100 CapturePCM "hw:${CardId},4" CaptureMixer "default:${CardId}" - CaptureMixerElem "cs42l43 PDM2" + CaptureMixerElem "cs42l43 Microphone" } } diff --git a/ucm2/sof-soundwire/cs42l43.conf b/ucm2/sof-soundwire/cs42l43.conf index 1702cf0..7e74fb8 100644 --- a/ucm2/sof-soundwire/cs42l43.conf +++ b/ucm2/sof-soundwire/cs42l43.conf @@ -40,7 +40,7 @@ SectionDevice."Headset" { Value { CapturePriority 200 CapturePCM "hw:${CardId},4" - CaptureMixerElem "cs42l43 Decimator 1" + CaptureMixerElem "cs42l43 Headset Microphone" JackControl "Headset Mic Jack" } } -- 2.39.5
Also ensure the unused microphone is disabled so that currently used mic can fully control the LED.
Signed-off-by: Maciej Strozek mstrozek@opensource.cirrus.com --- v3: Add Headset Microphone, ensure unused mic is disabled v2: no changes --- ucm2/codecs/cs42l43/init.conf | 7 +++++++ ucm2/sof-soundwire/cs42l43-dmic.conf | 2 ++ ucm2/sof-soundwire/cs42l43.conf | 1 + 3 files changed, 10 insertions(+)
diff --git a/ucm2/codecs/cs42l43/init.conf b/ucm2/codecs/cs42l43/init.conf index b2796e2..c2f52ad 100644 --- a/ucm2/codecs/cs42l43/init.conf +++ b/ucm2/codecs/cs42l43/init.conf @@ -18,3 +18,10 @@ LibraryConfig.remap.Config { } } } + +FixedBootSequence [ + 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/cs42l43-dmic.conf b/ucm2/sof-soundwire/cs42l43-dmic.conf index b68a70d..70ce40f 100644 --- a/ucm2/sof-soundwire/cs42l43-dmic.conf +++ b/ucm2/sof-soundwire/cs42l43-dmic.conf @@ -13,6 +13,8 @@ SectionDevice."Mic" { ]
DisableSequence [ + cset "name='cs42l43 Decimator 3 Switch' 0" + cset "name='cs42l43 Decimator 4 Switch' 0" cset "name='cs42l43 DP1TX1 Input' 'None'" cset "name='cs42l43 DP1TX2 Input' 'None'" ] diff --git a/ucm2/sof-soundwire/cs42l43.conf b/ucm2/sof-soundwire/cs42l43.conf index 7e74fb8..af3fd03 100644 --- a/ucm2/sof-soundwire/cs42l43.conf +++ b/ucm2/sof-soundwire/cs42l43.conf @@ -33,6 +33,7 @@ SectionDevice."Headset" { ]
DisableSequence [ + cset "name='cs42l43 Decimator 1 Switch' 0" cset "name='cs42l43 DP1TX1 Input' 'None'" cset "name='cs42l43 DP1TX2 Input' 'None'" ] -- 2.39.5
On Fri, Oct 11, 2024 at 11:57:09AM +0100, Maciej Strozek wrote:
Both 'Speaker Digital' and 'cs42l43 PDM2' names were found in other alsa controls, confusing the MixerElems paths. Make them unique to avoid errors for hardware mutes. Also add 'Capture' string into microphone controls to make them work properly.
Signed-off-by: Maciej Strozek mstrozek@opensource.cirrus.com
Both patches look good to me:
Reviewed-by: Charles Keepax ckeepax@opensource.cirrus.com
Thanks, Charles
participants (2)
-
Charles Keepax
-
Maciej Strozek