diff mbox series

[alsa-ucm-conf] sof-soundwire: Split cs42l43 dmic initialisation

Message ID 20250306125402.1741562-1-ckeepax@opensource.cirrus.com (mailing list archive)
State New
Headers show
Series [alsa-ucm-conf] sof-soundwire: Split cs42l43 dmic initialisation | expand

Commit Message

Charles Keepax March 6, 2025, 12:54 p.m. UTC
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@opensource.cirrus.com>
---
 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

Comments

Jaroslav Kysela March 10, 2025, 9:43 a.m. UTC | #1
On 06. 03. 25 13:54, Charles Keepax wrote:
> 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@opensource.cirrus.com>

Applied. Thank you.

				Jaroslav
diff mbox series

Patch

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"