[PATCH alsa-ucm-conf v4 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 --- v4: Add "CaptureMixer" to headset config 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 | 3 ++- 4 files changed, 14 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..ddca67a 100644 --- a/ucm2/sof-soundwire/cs42l43.conf +++ b/ucm2/sof-soundwire/cs42l43.conf @@ -40,7 +40,8 @@ SectionDevice."Headset" { Value { CapturePriority 200 CapturePCM "hw:${CardId},4" - CaptureMixerElem "cs42l43 Decimator 1" + CaptureMixer "default:${CardId}" + 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 --- v4: no changes 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 ddca67a..dc11840 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 17. 10. 24 11:49, Maciej Strozek wrote:
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"
It should be 'PlaybackMixerElem "Speaker"'. The direction is removed for abstracted mixer controls (see 'amixer -c 0 scontrols'). This renaming is acceptable for me.
Jaroslav
participants (2)
-
Jaroslav Kysela
-
Maciej Strozek