a6cb93
From 2667378a6b9120d99e44f783ac4d247fb683d83c Mon Sep 17 00:00:00 2001
a6cb93
From: =?UTF-8?q?N=C3=ADcolas=20F=2E=20R=2E=20A=2E=20Prado?=
a6cb93
 <nfraprado@collabora.com>
a6cb93
Date: Thu, 24 Mar 2022 18:13:45 -0400
a6cb93
Subject: [PATCH 01/21] ucm2: Add support for MT8192 Asurada Spherion
a6cb93
 Chromebook
a6cb93
MIME-Version: 1.0
a6cb93
Content-Type: text/plain; charset=UTF-8
a6cb93
Content-Transfer-Encoding: 8bit
a6cb93
a6cb93
Add support for the Acer Chromebook 514 CP514-2H, powered by MediaTek
a6cb93
Kompanio 820 (MT8192). This machine uses a MT6359 PMIC, with RT1015P as
a6cb93
speaker codec and RT5682 as headphone codec.
a6cb93
a6cb93
Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/217
a6cb93
Signed-off-by: NĂ­colas F. R. A. Prado <nfraprado@collabora.com>
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 .../mt8192/mt6359-rt1015p-rt5682/HiFi.conf    | 88 +++++++++++++++++++
a6cb93
 .../mt8192/mt6359-rt1015p-rt5682/init.conf    | 24 +++++
a6cb93
 .../mt8192_mt6359_rt1015p_rt5682.conf         | 11 +++
a6cb93
 .../mt8192_mt6359_rt1015p_rt5682.conf         |  1 +
a6cb93
 4 files changed, 124 insertions(+)
a6cb93
 create mode 100644 ucm2/MediaTek/mt8192/mt6359-rt1015p-rt5682/HiFi.conf
a6cb93
 create mode 100644 ucm2/MediaTek/mt8192/mt6359-rt1015p-rt5682/init.conf
a6cb93
 create mode 100644 ucm2/MediaTek/mt8192/mt6359-rt1015p-rt5682/mt8192_mt6359_rt1015p_rt5682.conf
a6cb93
 create mode 120000 ucm2/conf.d/mt8192_mt6359/mt8192_mt6359_rt1015p_rt5682.conf
a6cb93
a6cb93
diff --git a/ucm2/MediaTek/mt8192/mt6359-rt1015p-rt5682/HiFi.conf b/ucm2/MediaTek/mt8192/mt6359-rt1015p-rt5682/HiFi.conf
a6cb93
new file mode 100644
a6cb93
index 0000000..cf0d2c1
a6cb93
--- /dev/null
a6cb93
+++ b/ucm2/MediaTek/mt8192/mt6359-rt1015p-rt5682/HiFi.conf
a6cb93
@@ -0,0 +1,88 @@
a6cb93
+SectionVerb {
a6cb93
+	EnableSequence [
a6cb93
+		disdevall ""
a6cb93
+	]
a6cb93
+
a6cb93
+	Value {
a6cb93
+		TQ "HiFi"
a6cb93
+	}
a6cb93
+}
a6cb93
+
a6cb93
+SectionDevice."Speaker" {
a6cb93
+	Comment "Speaker"
a6cb93
+
a6cb93
+	EnableSequence [
a6cb93
+		cset "name='Speakers Switch' 1"
a6cb93
+	]
a6cb93
+
a6cb93
+	DisableSequence [
a6cb93
+		cset "name='Speakers Switch' 0"
a6cb93
+	]
a6cb93
+
a6cb93
+	Value {
a6cb93
+		PlaybackPCM "hw:${CardId},0"
a6cb93
+		PlaybackPriority 100
a6cb93
+	}
a6cb93
+}
a6cb93
+
a6cb93
+SectionDevice."Headphones" {
a6cb93
+	Comment "Headphones"
a6cb93
+
a6cb93
+	EnableSequence [
a6cb93
+		cset "name='Headphone Jack Switch' 1"
a6cb93
+	]
a6cb93
+
a6cb93
+	DisableSequence [
a6cb93
+		cset "name='Headphone Jack Switch' 0"
a6cb93
+	]
a6cb93
+
a6cb93
+	Value {
a6cb93
+		PlaybackPCM "hw:${CardId},3"
a6cb93
+		JackControl "Headphone Jack"
a6cb93
+		PlaybackMixerElem "DAC1"
a6cb93
+		PlaybackPriority 200
a6cb93
+	}
a6cb93
+}
a6cb93
+
a6cb93
+SectionDevice."Mic" {
a6cb93
+	Comment "Internal Microphone"
a6cb93
+
a6cb93
+	EnableSequence [
a6cb93
+		cset "name='MTKAIF_DMIC Switch' 1"
a6cb93
+	]
a6cb93
+
a6cb93
+	DisableSequence [
a6cb93
+		cset "name='MTKAIF_DMIC Switch' 0"
a6cb93
+	]
a6cb93
+
a6cb93
+	Value {
a6cb93
+		CapturePCM "hw:${CardId},10"
a6cb93
+		CapturePriority 100
a6cb93
+	}
a6cb93
+}
a6cb93
+
a6cb93
+SectionDevice."Headset" {
a6cb93
+	Comment "Headset Microphone"
a6cb93
+
a6cb93
+	EnableSequence [
a6cb93
+		cset "name='Headset Mic Switch' 1"
a6cb93
+		cset "name='STO1 ADC Capture Switch' 1"
a6cb93
+		cset "name='RECMIX1L CBJ Switch' 1"
a6cb93
+		cset "name='Stereo1 ADC MIXL ADC1 Switch' 1"
a6cb93
+		cset "name='Stereo1 ADC MIXR ADC1 Switch' 1"
a6cb93
+	]
a6cb93
+
a6cb93
+	DisableSequence [
a6cb93
+		cset "name='STO1 ADC Capture Switch' 0"
a6cb93
+		cset "name='RECMIX1L CBJ Switch' 0"
a6cb93
+		cset "name='Stereo1 ADC MIXL ADC1 Switch' 0"
a6cb93
+		cset "name='Stereo1 ADC MIXR ADC1 Switch' 0"
a6cb93
+		cset "name='Headset Mic Switch' 0"
a6cb93
+	]
a6cb93
+
a6cb93
+	Value {
a6cb93
+		CapturePCM  "hw:${CardId},11"
a6cb93
+		JackControl "Headset Mic Jack"
a6cb93
+		CapturePriority 200
a6cb93
+	}
a6cb93
+}
a6cb93
diff --git a/ucm2/MediaTek/mt8192/mt6359-rt1015p-rt5682/init.conf b/ucm2/MediaTek/mt8192/mt6359-rt1015p-rt5682/init.conf
a6cb93
new file mode 100644
a6cb93
index 0000000..b53178e
a6cb93
--- /dev/null
a6cb93
+++ b/ucm2/MediaTek/mt8192/mt6359-rt1015p-rt5682/init.conf
a6cb93
@@ -0,0 +1,24 @@
a6cb93
+BootSequence [
a6cb93
+	# Speaker
a6cb93
+	cset "name='I2S3_CH1 DL1_CH1' 1"
a6cb93
+	cset "name='I2S3_CH2 DL1_CH2' 1"
a6cb93
+	cset "name='I2S3_HD_Mux' 1"
a6cb93
+
a6cb93
+	# Headphone
a6cb93
+	cset "name='I2S9_CH1 DL3_CH1' 1"
a6cb93
+	cset "name='I2S9_CH2 DL3_CH2' 1"
a6cb93
+	cset "name='I2S9_HD_Mux' 1"
a6cb93
+
a6cb93
+	# Internal Mic
a6cb93
+	cset "name='UL1_CH1 ADDA_UL_CH1' 1"
a6cb93
+	cset "name='UL1_CH2 ADDA_UL_CH2' 1"
a6cb93
+	cset "name='UL_SRC_MUX' DMIC"
a6cb93
+
a6cb93
+	# Headset Mic
a6cb93
+	cset "name='UL2_CH1 I2S8_CH1' 1"
a6cb93
+	cset "name='UL2_CH2 I2S8_CH2' 1"
a6cb93
+	cset "name='I2S8_HD_Mux' 1"
a6cb93
+	cset "name='Stereo1 ADC L1 Mux' 1"
a6cb93
+	cset "name='Stereo1 ADC R1 Mux' 1"
a6cb93
+	cset "name='CBJ Boost Volume' 3"
a6cb93
+]
a6cb93
diff --git a/ucm2/MediaTek/mt8192/mt6359-rt1015p-rt5682/mt8192_mt6359_rt1015p_rt5682.conf b/ucm2/MediaTek/mt8192/mt6359-rt1015p-rt5682/mt8192_mt6359_rt1015p_rt5682.conf
a6cb93
new file mode 100644
a6cb93
index 0000000..b4e124d
a6cb93
--- /dev/null
a6cb93
+++ b/ucm2/MediaTek/mt8192/mt6359-rt1015p-rt5682/mt8192_mt6359_rt1015p_rt5682.conf
a6cb93
@@ -0,0 +1,11 @@
a6cb93
+Comment "MT8192 MT6359 RT1015P RT5682 sound card"
a6cb93
+Syntax 4
a6cb93
+
a6cb93
+SectionUseCase."HiFi" {
a6cb93
+  File "HiFi.conf"
a6cb93
+  Comment "Default"
a6cb93
+}
a6cb93
+
a6cb93
+Include.card-init.File "/lib/card-init.conf"
a6cb93
+Include.ctl-remap.File "/lib/ctl-remap.conf"
a6cb93
+Include.init.File "init.conf"
a6cb93
diff --git a/ucm2/conf.d/mt8192_mt6359/mt8192_mt6359_rt1015p_rt5682.conf b/ucm2/conf.d/mt8192_mt6359/mt8192_mt6359_rt1015p_rt5682.conf
a6cb93
new file mode 120000
a6cb93
index 0000000..4425b19
a6cb93
--- /dev/null
a6cb93
+++ b/ucm2/conf.d/mt8192_mt6359/mt8192_mt6359_rt1015p_rt5682.conf
a6cb93
@@ -0,0 +1 @@
a6cb93
+../../MediaTek/mt8192/mt6359-rt1015p-rt5682/mt8192_mt6359_rt1015p_rt5682.conf
a6cb93
\ No newline at end of file
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From 6dee56f11fbd48dd412179722a445416fcd779ef Mon Sep 17 00:00:00 2001
a6cb93
From: Jaroslav Kysela <perex@perex.cz>
a6cb93
Date: Sun, 6 Nov 2022 18:08:27 +0100
a6cb93
Subject: [PATCH 02/21] ucm: USB-Audio - Add support for Focusrite Scarlett 2i2
a6cb93
 gen2
a6cb93
a6cb93
BugLink: https://github.com/alsa-project/alsa-ucm-conf/pull/234
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ...2-HiFi.conf => Scarlett-2i-gen2-HiFi.conf} | 45 +++++++++++--------
a6cb93
 .../USB-Audio/Focusrite/Scarlett-2i-gen2.conf | 22 +++++++++
a6cb93
 .../Focusrite/Scarlett-2i4-gen2.conf          | 11 -----
a6cb93
 ucm2/USB-Audio/USB-Audio.conf                 | 10 ++---
a6cb93
 4 files changed, 53 insertions(+), 35 deletions(-)
a6cb93
 rename ucm2/USB-Audio/Focusrite/{Scarlett-2i4-gen2-HiFi.conf => Scarlett-2i-gen2-HiFi.conf} (65%)
a6cb93
 create mode 100644 ucm2/USB-Audio/Focusrite/Scarlett-2i-gen2.conf
a6cb93
 delete mode 100644 ucm2/USB-Audio/Focusrite/Scarlett-2i4-gen2.conf
a6cb93
a6cb93
diff --git a/ucm2/USB-Audio/Focusrite/Scarlett-2i4-gen2-HiFi.conf b/ucm2/USB-Audio/Focusrite/Scarlett-2i-gen2-HiFi.conf
a6cb93
similarity index 65%
a6cb93
rename from ucm2/USB-Audio/Focusrite/Scarlett-2i4-gen2-HiFi.conf
a6cb93
rename to ucm2/USB-Audio/Focusrite/Scarlett-2i-gen2-HiFi.conf
a6cb93
index 5ee5076..ab69bc7 100644
a6cb93
--- a/ucm2/USB-Audio/Focusrite/Scarlett-2i4-gen2-HiFi.conf
a6cb93
+++ b/ucm2/USB-Audio/Focusrite/Scarlett-2i-gen2-HiFi.conf
a6cb93
@@ -3,7 +3,7 @@ Include.pcm_split.File "/common/pcm/split.conf"
a6cb93
 Macro [
a6cb93
 	{
a6cb93
 		SplitPCM {
a6cb93
-			Name "scarlett2i4_stereo_out"
a6cb93
+			Name "scarlett2i_stereo_out"
a6cb93
 			Direction Playback
a6cb93
 			Format S32_LE
a6cb93
 			Channels 2
a6cb93
@@ -16,7 +16,7 @@ Macro [
a6cb93
 	}
a6cb93
 	{
a6cb93
 		SplitPCM {
a6cb93
-			Name "scarlett2i4_mono_in"
a6cb93
+			Name "scarlett2i_mono_in"
a6cb93
 			Direction Capture
a6cb93
 			Format S32_LE
a6cb93
 			Channels 1
a6cb93
@@ -33,7 +33,7 @@ SectionDevice."Line1" {
a6cb93
 		PlaybackPriority 200
a6cb93
 	}
a6cb93
 	Macro.pcm_split.SplitPCMDevice {
a6cb93
-		Name "scarlett2i4_stereo_out"
a6cb93
+		Name "scarlett2i_stereo_out"
a6cb93
 		Direction Playback
a6cb93
 		HWChannels 4
a6cb93
 		Channels 2
a6cb93
@@ -44,21 +44,28 @@ SectionDevice."Line1" {
a6cb93
 	}
a6cb93
 }
a6cb93
 
a6cb93
-SectionDevice."Line2" {
a6cb93
-	Comment "Line 3-4"
a6cb93
-
a6cb93
-	Value {
a6cb93
-		PlaybackPriority 100
a6cb93
+If.scarlett_2i4 {
a6cb93
+	Condition {
a6cb93
+		Type String
a6cb93
+		String1 "${var:PlaybackChannels}"
a6cb93
+		String2 "4"
a6cb93
 	}
a6cb93
-	Macro.pcm_split.SplitPCMDevice {
a6cb93
-		Name "scarlett2i4_stereo_out"
a6cb93
-		Direction Playback
a6cb93
-		HWChannels 4
a6cb93
-		Channels 2
a6cb93
-		Channel0 2
a6cb93
-		Channel1 3
a6cb93
-		ChannelPos0 FL
a6cb93
-		ChannelPos1 FR
a6cb93
+	True.SectionDevice."Line2" {
a6cb93
+		Comment "Line 3-4"
a6cb93
+
a6cb93
+		Value {
a6cb93
+			PlaybackPriority 100
a6cb93
+		}
a6cb93
+		Macro.pcm_split.SplitPCMDevice {
a6cb93
+			Name "scarlett2i_stereo_out"
a6cb93
+			Direction Playback
a6cb93
+			HWChannels 4
a6cb93
+			Channels 2
a6cb93
+			Channel0 2
a6cb93
+			Channel1 3
a6cb93
+			ChannelPos0 FL
a6cb93
+			ChannelPos1 FR
a6cb93
+		}
a6cb93
 	}
a6cb93
 }
a6cb93
 
a6cb93
@@ -69,7 +76,7 @@ SectionDevice."Mic1" {
a6cb93
 		CapturePriority 200
a6cb93
 	}
a6cb93
 	Macro.pcm_split.SplitPCMDevice {
a6cb93
-		Name "scarlett2i4_mono_in"
a6cb93
+		Name "scarlett2i_mono_in"
a6cb93
 		Direction Capture
a6cb93
 		HWChannels 2
a6cb93
 		Channels 1
a6cb93
@@ -85,7 +92,7 @@ SectionDevice."Mic2" {
a6cb93
 		CapturePriority 100
a6cb93
 	}
a6cb93
 	Macro.pcm_split.SplitPCMDevice {
a6cb93
-		Name "scarlett2i4_mono_in"
a6cb93
+		Name "scarlett2i_mono_in"
a6cb93
 		Direction Capture
a6cb93
 		HWChannels 2
a6cb93
 		Channels 1
a6cb93
diff --git a/ucm2/USB-Audio/Focusrite/Scarlett-2i-gen2.conf b/ucm2/USB-Audio/Focusrite/Scarlett-2i-gen2.conf
a6cb93
new file mode 100644
a6cb93
index 0000000..ee5b0b5
a6cb93
--- /dev/null
a6cb93
+++ b/ucm2/USB-Audio/Focusrite/Scarlett-2i-gen2.conf
a6cb93
@@ -0,0 +1,22 @@
a6cb93
+Define.PlaybackChannels 4
a6cb93
+
a6cb93
+If.scarlett_2i4 {
a6cb93
+	Condition {
a6cb93
+		Type String
a6cb93
+		Haystack "${CardComponents}"
a6cb93
+		Needle "USB1235:8202"
a6cb93
+	}
a6cb93
+	True.Define.PlaybackChannels 2
a6cb93
+}
a6cb93
+
a6cb93
+Comment "Focusrite Scarlett 2i${var:PlaybackChannels} Gen 2"
a6cb93
+
a6cb93
+SectionUseCase."HiFi" {
a6cb93
+    Comment "Default"
a6cb93
+    File "/USB-Audio/Focusrite/Scarlett-2i-gen2-HiFi.conf"
a6cb93
+}
a6cb93
+
a6cb93
+Define.DirectPlaybackChannels "${var:PlaybackChannels}"
a6cb93
+Define.DirectCaptureChannels 2
a6cb93
+
a6cb93
+Include.dhw.File "/common/direct.conf"
a6cb93
diff --git a/ucm2/USB-Audio/Focusrite/Scarlett-2i4-gen2.conf b/ucm2/USB-Audio/Focusrite/Scarlett-2i4-gen2.conf
a6cb93
deleted file mode 100644
a6cb93
index ffc296d..0000000
a6cb93
--- a/ucm2/USB-Audio/Focusrite/Scarlett-2i4-gen2.conf
a6cb93
+++ /dev/null
a6cb93
@@ -1,11 +0,0 @@
a6cb93
-Comment "Focusrite Scarlett 2i4 Gen 2"
a6cb93
-
a6cb93
-SectionUseCase."HiFi" {
a6cb93
-    Comment "Default"
a6cb93
-    File "/USB-Audio/Focusrite/Scarlett-2i4-gen2-HiFi.conf"
a6cb93
-}
a6cb93
-
a6cb93
-Define.DirectPlaybackChannels 4
a6cb93
-Define.DirectCaptureChannels 2
a6cb93
-
a6cb93
-Include.dhw.File "/common/direct.conf"
a6cb93
diff --git a/ucm2/USB-Audio/USB-Audio.conf b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
index 90a88d4..3479ba1 100644
a6cb93
--- a/ucm2/USB-Audio/USB-Audio.conf
a6cb93
+++ b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
@@ -135,14 +135,14 @@ If.goxlr {
a6cb93
 	True.Define.ProfileName "GoXLR/GoXLR"
a6cb93
 }
a6cb93
 
a6cb93
-If.focusrite-scarlett-2i4-gen2 {
a6cb93
+If.focusrite-scarlett-2i-gen2 {
a6cb93
 	Condition {
a6cb93
-		Type String
a6cb93
-		Haystack "${CardComponents}"
a6cb93
-		Needle "USB1235:8200"
a6cb93
+		Type RegexMatch
a6cb93
+		String "${CardComponents}"
a6cb93
+		Regex "USB1235:820[02]"
a6cb93
 	}
a6cb93
 	True.Define {
a6cb93
-		ProfileName "Focusrite/Scarlett-2i4-gen2"
a6cb93
+		ProfileName "Focusrite/Scarlett-2i-gen2"
a6cb93
 	}
a6cb93
 }
a6cb93
 
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From b50a903f488e3f6479001b603c1b42b2a9600882 Mon Sep 17 00:00:00 2001
a6cb93
From: Manu Linares <mbarriolinares@gmail.com>
a6cb93
Date: Sat, 5 Nov 2022 19:32:27 -0300
a6cb93
Subject: [PATCH 04/21] ucm2: USB-Audio - Added Digidesign Mbox 3 support
a6cb93
a6cb93
Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/237
a6cb93
Signed-off-by: Manu Linares <mbarriolinares@gmail.com>
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 .../Digidesign/Digidesign-Mbox-3-HiFi.conf    | 126 ++++++++++++++++++
a6cb93
 .../Digidesign/Digidesign-Mbox-3.conf         |  11 ++
a6cb93
 ucm2/USB-Audio/USB-Audio.conf                 |   9 ++
a6cb93
 3 files changed, 146 insertions(+)
a6cb93
 create mode 100644 ucm2/USB-Audio/Digidesign/Digidesign-Mbox-3-HiFi.conf
a6cb93
 create mode 100644 ucm2/USB-Audio/Digidesign/Digidesign-Mbox-3.conf
a6cb93
a6cb93
diff --git a/ucm2/USB-Audio/Digidesign/Digidesign-Mbox-3-HiFi.conf b/ucm2/USB-Audio/Digidesign/Digidesign-Mbox-3-HiFi.conf
a6cb93
new file mode 100644
a6cb93
index 0000000..7219bea
a6cb93
--- /dev/null
a6cb93
+++ b/ucm2/USB-Audio/Digidesign/Digidesign-Mbox-3-HiFi.conf
a6cb93
@@ -0,0 +1,126 @@
a6cb93
+Include.pcm_split.File "/common/pcm/split.conf"
a6cb93
+
a6cb93
+Macro [
a6cb93
+	{
a6cb93
+		SplitPCM {
a6cb93
+			Name "mbox3_stereo_out"
a6cb93
+			Direction Playback
a6cb93
+			Channels 2
a6cb93
+			HWChannels 4
a6cb93
+			HWChannelPos0 FL
a6cb93
+			HWChannelPos1 FR
a6cb93
+			HWChannelPos2 FL
a6cb93
+			HWChannelPos3 FR
a6cb93
+		}
a6cb93
+	}
a6cb93
+	{
a6cb93
+		SplitPCM {
a6cb93
+			Name "mbox3_stereo_in"
a6cb93
+			Direction Capture
a6cb93
+			Channels 2
a6cb93
+			HWChannels 4
a6cb93
+			HWChannelPos0 FL
a6cb93
+			HWChannelPos1 FR
a6cb93
+			HWChannelPos2 FL
a6cb93
+			HWChannelPos3 FR
a6cb93
+		}
a6cb93
+	}
a6cb93
+	{
a6cb93
+		SplitPCM {
a6cb93
+			Name "mbox3_mono_in"
a6cb93
+			Direction Capture
a6cb93
+			Channels 1
a6cb93
+			HWChannels 4
a6cb93
+			HWChannelPos0 MONO
a6cb93
+			HWChannelPos1 MONO
a6cb93
+			HWChannelPos2 MONO
a6cb93
+			HWChannelPos3 MONO
a6cb93
+		}
a6cb93
+	}
a6cb93
+]
a6cb93
+
a6cb93
+SectionDevice."Line1" {
a6cb93
+	Comment "Main Output L/R"
a6cb93
+
a6cb93
+	Value {
a6cb93
+		PlaybackPriority 300
a6cb93
+	}
a6cb93
+	Macro.pcm_split.SplitPCMDevice {
a6cb93
+		Name "mbox3_stereo_out"
a6cb93
+		Direction Playback
a6cb93
+		HWChannels 4
a6cb93
+		Channels 2
a6cb93
+		Channel0 0
a6cb93
+		Channel1 1
a6cb93
+		ChannelPos0 FL
a6cb93
+		ChannelPos1 FR
a6cb93
+	}
a6cb93
+}
a6cb93
+
a6cb93
+
a6cb93
+SectionDevice."line2SPDIF" {
a6cb93
+	Comment "SPDIF Out"
a6cb93
+	Value {
a6cb93
+		PlaybackPriority 100
a6cb93
+	}
a6cb93
+	Macro.pcm_split.SplitPCMDevice {
a6cb93
+		Name "mbox3_stereo_out"
a6cb93
+		Direction Playback
a6cb93
+		HWChannels 4
a6cb93
+		Channels 2
a6cb93
+		Channel0 2
a6cb93
+		Channel1 3
a6cb93
+		ChannelPos0 FL
a6cb93
+		ChannelPos1 FR
a6cb93
+	}
a6cb93
+}
a6cb93
+
a6cb93
+SectionDevice."mic1" {
a6cb93
+	Comment "Mic/Line 1"
a6cb93
+
a6cb93
+	Value {
a6cb93
+		CapturePriority 300
a6cb93
+	}
a6cb93
+	Macro.pcm_split.SplitPCMDevice {
a6cb93
+		Name "mbox3_mono_in"
a6cb93
+		Direction Capture
a6cb93
+		HWChannels 4
a6cb93
+		Channels 1
a6cb93
+		Channel0 0
a6cb93
+		ChannelPos0 MONO
a6cb93
+	}
a6cb93
+}
a6cb93
+
a6cb93
+SectionDevice."mic2" {
a6cb93
+	Comment "Mic/Line 2"
a6cb93
+
a6cb93
+	Value {
a6cb93
+		CapturePriority 200
a6cb93
+	}
a6cb93
+	Macro.pcm_split.SplitPCMDevice {
a6cb93
+		Name "mbox3_mono_in"
a6cb93
+		Direction Capture
a6cb93
+		HWChannels 4
a6cb93
+		Channels 1
a6cb93
+		Channel0 1
a6cb93
+		ChannelPos0 MONO
a6cb93
+	}
a6cb93
+}
a6cb93
+
a6cb93
+SectionDevice."mic3SPDIF" {
a6cb93
+	Comment "SPDIF In"
a6cb93
+
a6cb93
+	Value {
a6cb93
+		CapturePriority 100
a6cb93
+	}
a6cb93
+	Macro.pcm_split.SplitPCMDevice {
a6cb93
+		Name "mbox3_stereo_in"
a6cb93
+		Direction Capture
a6cb93
+		HWChannels 4
a6cb93
+		Channels 2
a6cb93
+		Channel0 2
a6cb93
+		Channel1 3
a6cb93
+		ChannelPos0 FL
a6cb93
+		ChannelPos1 FR
a6cb93
+	}
a6cb93
+}
a6cb93
diff --git a/ucm2/USB-Audio/Digidesign/Digidesign-Mbox-3.conf b/ucm2/USB-Audio/Digidesign/Digidesign-Mbox-3.conf
a6cb93
new file mode 100644
a6cb93
index 0000000..d6e19f9
a6cb93
--- /dev/null
a6cb93
+++ b/ucm2/USB-Audio/Digidesign/Digidesign-Mbox-3.conf
a6cb93
@@ -0,0 +1,11 @@
a6cb93
+Comment "Digidesign Mbox 3"
a6cb93
+
a6cb93
+SectionUseCase."Mixer" {
a6cb93
+	Comment "Stereo Duplex"
a6cb93
+	File "/USB-Audio/Digidesign/Digidesign-Mbox-3-HiFi.conf"
a6cb93
+}
a6cb93
+
a6cb93
+Define.DirectPlaybackChannels 4
a6cb93
+Define.DirectCaptureChannels 4
a6cb93
+
a6cb93
+Include.dhw.File "/common/direct.conf"
a6cb93
diff --git a/ucm2/USB-Audio/USB-Audio.conf b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
index 3479ba1..d1d70d8 100644
a6cb93
--- a/ucm2/USB-Audio/USB-Audio.conf
a6cb93
+++ b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
@@ -126,6 +126,15 @@ If.dell-desktop-rear {
a6cb93
 	True.Define.ProfileName "Dell/Desktop-Rear"
a6cb93
 }
a6cb93
 
a6cb93
+If.mbox3 {
a6cb93
+	Condition {
a6cb93
+		Type String
a6cb93
+		Haystack "${CardComponents}"
a6cb93
+		Needle "USB0dba:5000"
a6cb93
+	}
a6cb93
+	True.Define.ProfileName "Digidesign/Digidesign-Mbox-3"
a6cb93
+}
a6cb93
+
a6cb93
 If.goxlr {
a6cb93
 	Condition {
a6cb93
 		Type RegexMatch
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From 88f232dffd54e1b9222ea76c7885445efebaa74d Mon Sep 17 00:00:00 2001
a6cb93
From: "Ben Scholzen (DASPRiD)" <mail@dasprids.de>
a6cb93
Date: Mon, 31 Oct 2022 17:41:02 +0100
a6cb93
Subject: [PATCH 05/21] ucm2: Alc4080 - add support for ASUS ROG Strix Z790-E
a6cb93
 Gaming Wifi
a6cb93
a6cb93
Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/235
a6cb93
Signed-off-by: Ben Scholzen (DASPRiD) <mail@dasprids.de>
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/USB-Audio/Realtek/ALC4080-HiFi.conf | 2 +-
a6cb93
 ucm2/USB-Audio/USB-Audio.conf            | 3 ++-
a6cb93
 2 files changed, 3 insertions(+), 2 deletions(-)
a6cb93
a6cb93
diff --git a/ucm2/USB-Audio/Realtek/ALC4080-HiFi.conf b/ucm2/USB-Audio/Realtek/ALC4080-HiFi.conf
a6cb93
index 519f3b0..fa8d445 100644
a6cb93
--- a/ucm2/USB-Audio/Realtek/ALC4080-HiFi.conf
a6cb93
+++ b/ucm2/USB-Audio/Realtek/ALC4080-HiFi.conf
a6cb93
@@ -68,7 +68,7 @@ If.spdif_dev2 {
a6cb93
 	Condition {
a6cb93
 		Type RegexMatch
a6cb93
 		String "${CardComponents}"
a6cb93
-		Regex "USB(0b05:1996|0db0:1feb)"
a6cb93
+		Regex "USB(0b05:1996|0b05:1a52|0db0:1feb)"
a6cb93
 	}
a6cb93
 	True.Define.SpdifPCM "hw:${CardId},2"
a6cb93
 }
a6cb93
diff --git a/ucm2/USB-Audio/USB-Audio.conf b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
index d1d70d8..e30dc2b 100644
a6cb93
--- a/ucm2/USB-Audio/USB-Audio.conf
a6cb93
+++ b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
@@ -41,6 +41,7 @@ If.realtek-alc4080 {
a6cb93
 		# 0b05:1a16 ASUS ROG Strix B660-F Gaming WiFi
a6cb93
 		# 0b05:1a20 ASUS ROG STRIX Z690-I Gaming Wifi
a6cb93
 		# 0b05:1a27 ALC4082 on ASUS ROG Maximus Z690 Hero
a6cb93
+		# 0b05:1a52 ASUS ROG Strix Z790-E Gaming Wifi
a6cb93
 		# 0db0:005a MSI MPG Z690 CARBON WIFI
a6cb93
 		# 0db0:151f MSI X570S EDGE MAX WIFI
a6cb93
 		# 0db0:1feb MSI Edge Wifi Z690
a6cb93
@@ -50,7 +51,7 @@ If.realtek-alc4080 {
a6cb93
 		# 0db0:a47c MSI MEG X570S Ace Max
a6cb93
 		# 0db0:b202 MSI MAG Z690 Tomahawk Wifi
a6cb93
 		# 0db0:d6e7 MSI MPG X670E Carbon Wifi
a6cb93
-		Regex "USB((0414:a00e)|(0b05:(1996|1a(16|2[07])))|(0db0:(005a|151f|1feb|419c|82c7|a073|a47c|b202|d6e7)))"
a6cb93
+		Regex "USB((0414:a00e)|(0b05:(1996|1a(16|2[07]|52)))|(0db0:(005a|151f|1feb|419c|82c7|a073|a47c|b202|d6e7)))"
a6cb93
 	}
a6cb93
 	True.Define.ProfileName "Realtek/ALC4080"
a6cb93
 }
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From b121b63f30c24e89beec506ae1d2bac9ebb3cc61 Mon Sep 17 00:00:00 2001
a6cb93
From: Jaroslav Kysela <perex@perex.cz>
a6cb93
Date: Tue, 15 Nov 2022 17:49:13 +0100
a6cb93
Subject: [PATCH 06/21] USB-Audio: ALC4080 - add 0db0:6cc9 MSI MPG Z590 Gaming
a6cb93
 Plus device
a6cb93
a6cb93
BugLink: https://github.com/alsa-project/alsa-ucm-conf/issues/241
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/USB-Audio/USB-Audio.conf | 3 ++-
a6cb93
 1 file changed, 2 insertions(+), 1 deletion(-)
a6cb93
a6cb93
diff --git a/ucm2/USB-Audio/USB-Audio.conf b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
index e30dc2b..89482cb 100644
a6cb93
--- a/ucm2/USB-Audio/USB-Audio.conf
a6cb93
+++ b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
@@ -46,12 +46,13 @@ If.realtek-alc4080 {
a6cb93
 		# 0db0:151f MSI X570S EDGE MAX WIFI
a6cb93
 		# 0db0:1feb MSI Edge Wifi Z690
a6cb93
 		# 0db0:419c MSI MPG X570S Carbon Max Wifi
a6cb93
+		# 0db0:6cc9 MSI MPG Z590 Gaming Plus
a6cb93
 		# 0db0:82c7 MSI MEG Z690I Unify
a6cb93
 		# 0db0:a073 MSI MAG X570S Torpedo Max
a6cb93
 		# 0db0:a47c MSI MEG X570S Ace Max
a6cb93
 		# 0db0:b202 MSI MAG Z690 Tomahawk Wifi
a6cb93
 		# 0db0:d6e7 MSI MPG X670E Carbon Wifi
a6cb93
-		Regex "USB((0414:a00e)|(0b05:(1996|1a(16|2[07]|52)))|(0db0:(005a|151f|1feb|419c|82c7|a073|a47c|b202|d6e7)))"
a6cb93
+		Regex "USB((0414:a00e)|(0b05:(1996|1a(16|2[07]|52)))|(0db0:(005a|151f|1feb|419c|6cc9|82c7|a073|a47c|b202|d6e7)))"
a6cb93
 	}
a6cb93
 	True.Define.ProfileName "Realtek/ALC4080"
a6cb93
 }
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From c82c400fb653292bbf0570e278d60e1ba14cc341 Mon Sep 17 00:00:00 2001
a6cb93
From: Shuming Fan <shumingf@realtek.com>
a6cb93
Date: Wed, 16 Nov 2022 17:36:51 +0800
a6cb93
Subject: [PATCH 07/21] ucm2: sof-soundwire: add basic settings for RT1318 SDCA
a6cb93
 device
a6cb93
a6cb93
Add support for rt1318 amplifier
a6cb93
a6cb93
Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/242
a6cb93
Signed-off-by: Shuming Fan <shumingf@realtek.com>
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/sof-soundwire/rt1318-1.conf | 20 ++++++++++++++++++++
a6cb93
 ucm2/sof-soundwire/rt1318-2.conf | 25 +++++++++++++++++++++++++
a6cb93
 2 files changed, 45 insertions(+)
a6cb93
 create mode 100644 ucm2/sof-soundwire/rt1318-1.conf
a6cb93
 create mode 100644 ucm2/sof-soundwire/rt1318-2.conf
a6cb93
a6cb93
diff --git a/ucm2/sof-soundwire/rt1318-1.conf b/ucm2/sof-soundwire/rt1318-1.conf
a6cb93
new file mode 100644
a6cb93
index 0000000..13d77e1
a6cb93
--- /dev/null
a6cb93
+++ b/ucm2/sof-soundwire/rt1318-1.conf
a6cb93
@@ -0,0 +1,20 @@
a6cb93
+# Use case Configuration for sof-soundwire card
a6cb93
+
a6cb93
+SectionDevice."Speaker" {
a6cb93
+	Comment	"Speaker"
a6cb93
+
a6cb93
+	EnableSequence [
a6cb93
+		cset "name='rt1318-1 DAC Switch' 1"
a6cb93
+		cset "name='Speaker Switch' on"
a6cb93
+	]
a6cb93
+
a6cb93
+	DisableSequence [
a6cb93
+		cset "name='rt1318-1 DAC Switch' 0"
a6cb93
+		cset "name='Speaker Switch' off"
a6cb93
+	]
a6cb93
+
a6cb93
+	Value {
a6cb93
+	      PlaybackPriority 100
a6cb93
+	      PlaybackPCM "hw:${CardId},2"
a6cb93
+	}
a6cb93
+}
a6cb93
diff --git a/ucm2/sof-soundwire/rt1318-2.conf b/ucm2/sof-soundwire/rt1318-2.conf
a6cb93
new file mode 100644
a6cb93
index 0000000..5602470
a6cb93
--- /dev/null
a6cb93
+++ b/ucm2/sof-soundwire/rt1318-2.conf
a6cb93
@@ -0,0 +1,25 @@
a6cb93
+# Use case Configuration for sof-soundwire card
a6cb93
+
a6cb93
+SectionDevice."Speaker" {
a6cb93
+	Comment	"Speaker"
a6cb93
+
a6cb93
+	EnableSequence [
a6cb93
+		cset "name='rt1318-1 RX Channel Select' L,L"
a6cb93
+		cset "name='rt1318-2 RX Channel Select' R,R"
a6cb93
+
a6cb93
+		cset "name='rt1318-1 DAC Switch' 1"
a6cb93
+		cset "name='rt1318-2 DAC Switch' 1"
a6cb93
+		cset "name='Speaker Switch' on"
a6cb93
+	]
a6cb93
+
a6cb93
+	DisableSequence [
a6cb93
+		cset "name='rt1318-1 DAC Switch' 0"
a6cb93
+		cset "name='rt1318-2 DAC Switch' 0"
a6cb93
+		cset "name='Speaker Switch' off"
a6cb93
+	]
a6cb93
+
a6cb93
+	Value {
a6cb93
+	      PlaybackPriority 100
a6cb93
+	      PlaybackPCM "hw:${CardId},2"
a6cb93
+	}
a6cb93
+}
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From 998849d9510754960d808e20dad4c440adaf87ef Mon Sep 17 00:00:00 2001
a6cb93
From: Clayton Craft <clayton@craftyguy.net>
a6cb93
Date: Wed, 29 Jun 2022 15:23:23 -0700
a6cb93
Subject: [PATCH 08/21] ucm2: add profile for the Librem 5
a6cb93
MIME-Version: 1.0
a6cb93
Content-Type: text/plain; charset=UTF-8
a6cb93
Content-Transfer-Encoding: 8bit
a6cb93
a6cb93
Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/181
a6cb93
Tested-by: Guido GĂ¼nther <agx@sigxcpu.org>
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/NXP/iMX8/Librem_5/HiFi.conf      | 151 ++++++++++++++++++++++++++
a6cb93
 ucm2/NXP/iMX8/Librem_5/Librem 5.conf  |  25 +++++
a6cb93
 ucm2/conf.d/simple-card/Librem 5.conf |   1 +
a6cb93
 3 files changed, 177 insertions(+)
a6cb93
 create mode 100644 ucm2/NXP/iMX8/Librem_5/HiFi.conf
a6cb93
 create mode 100644 ucm2/NXP/iMX8/Librem_5/Librem 5.conf
a6cb93
 create mode 120000 ucm2/conf.d/simple-card/Librem 5.conf
a6cb93
a6cb93
diff --git a/ucm2/NXP/iMX8/Librem_5/HiFi.conf b/ucm2/NXP/iMX8/Librem_5/HiFi.conf
a6cb93
new file mode 100644
a6cb93
index 0000000..55eabe3
a6cb93
--- /dev/null
a6cb93
+++ b/ucm2/NXP/iMX8/Librem_5/HiFi.conf
a6cb93
@@ -0,0 +1,151 @@
a6cb93
+SectionVerb {
a6cb93
+	EnableSequence [
a6cb93
+		disdevall ""
a6cb93
+	]
a6cb93
+
a6cb93
+	Value.TQ "HiFi"
a6cb93
+}
a6cb93
+
a6cb93
+SectionDevice."Handset" {
a6cb93
+	Comment "Handset"
a6cb93
+
a6cb93
+	ConflictingDevice [
a6cb93
+		"Headphones"
a6cb93
+		"Speaker"
a6cb93
+	]
a6cb93
+
a6cb93
+	EnableSequence [
a6cb93
+		cset "name='Speaker Switch' off,on"
a6cb93
+		cset "name='DAC L/R Swap Switch' on"
a6cb93
+		cset "name='DAC Monomix Switch' on"
a6cb93
+		cset "name='SPKOUTR PGA' DAC"
a6cb93
+		cset "name='Speaker Boost Volume' 2"
a6cb93
+	]
a6cb93
+
a6cb93
+	DisableSequence [
a6cb93
+		cset "name='Speaker Switch' off,off"
a6cb93
+		cset "name='DAC L/R Swap Switch' off"
a6cb93
+		cset "name='DAC Monomix Switch' off"
a6cb93
+		cset "name='SPKOUTR PGA' Mixer"
a6cb93
+	]
a6cb93
+
a6cb93
+	Value {
a6cb93
+		PlaybackPriority "100"
a6cb93
+		PlaybackVolume "name='Speaker Volume'"
a6cb93
+		PlaybackSwitch "name='Speaker Switch'"
a6cb93
+		PlaybackMixerElem "Speaker"
a6cb93
+		PlaybackPCM "hw:${CardId}"
a6cb93
+	}
a6cb93
+}
a6cb93
+
a6cb93
+SectionDevice."Speaker" {
a6cb93
+	Comment "Speaker"
a6cb93
+
a6cb93
+	ConflictingDevice [
a6cb93
+		"Handset"
a6cb93
+		"Headphones"
a6cb93
+	]
a6cb93
+
a6cb93
+	EnableSequence [
a6cb93
+		cset "name='Speaker Switch' on,off"
a6cb93
+		cset "name='DAC Monomix Switch' on"
a6cb93
+		cset "name='SPKOUTL PGA' DAC"
a6cb93
+		cset "name='Speaker Boost Volume' 6"
a6cb93
+	]
a6cb93
+
a6cb93
+	DisableSequence [
a6cb93
+		cset "name='Speaker Switch' off,off"
a6cb93
+		cset "name='DAC Monomix Switch' off"
a6cb93
+		cset "name='SPKOUTL PGA' Mixer"
a6cb93
+	]
a6cb93
+
a6cb93
+	Value {
a6cb93
+		PlaybackPriority "500"
a6cb93
+		PlaybackVolume "name='Speaker Volume'"
a6cb93
+		PlaybackSwitch "name='Speaker Switch'"
a6cb93
+		PlaybackMixerElem "Speaker"
a6cb93
+		PlaybackPCM "hw:${CardId}"
a6cb93
+	}
a6cb93
+}
a6cb93
+
a6cb93
+SectionDevice."Headphones" {
a6cb93
+	Comment "Headphones"
a6cb93
+
a6cb93
+	ConflictingDevice [
a6cb93
+		"Handset"
a6cb93
+		"Speaker"
a6cb93
+	]
a6cb93
+
a6cb93
+	EnableSequence [
a6cb93
+		cset "name='Headphone Switch' on,on"
a6cb93
+		cset "name='HPOUTL PGA' 0 unmute"
a6cb93
+		cset "name='HPOUTR PGA' 0 unmute"
a6cb93
+	]
a6cb93
+
a6cb93
+	DisableSequence [
a6cb93
+		cset "name='Headphone Switch' off off"
a6cb93
+		cset "name='HPOUTL PGA' 0 mute"
a6cb93
+		cset "name='HPOUTR PGA' 0 mute"
a6cb93
+	]
a6cb93
+
a6cb93
+	Value {
a6cb93
+		PlaybackPriority "1000"
a6cb93
+		PlaybackVolume "name='Headphone Volume'"
a6cb93
+		PlaybackSwitch "name='Headphone Switch'"
a6cb93
+		PlaybackMixerElem "Headphone"
a6cb93
+		PlaybackPCM "hw:${CardId}"
a6cb93
+		JackControl "Headphones Jack"
a6cb93
+	}
a6cb93
+}
a6cb93
+
a6cb93
+SectionDevice."Mic" {
a6cb93
+	Comment "Internal Microphone"
a6cb93
+
a6cb93
+	ConflictingDevice [
a6cb93
+		"Headset"
a6cb93
+	]
a6cb93
+
a6cb93
+	EnableSequence [
a6cb93
+		cset "name='ADC L/R Swap Switch' on"
a6cb93
+		cset "name='Input Mode' Digital"
a6cb93
+	]
a6cb93
+
a6cb93
+	DisableSequence [
a6cb93
+		cset "name='ADC L/R Swap Switch' off"
a6cb93
+	]
a6cb93
+
a6cb93
+	Value {
a6cb93
+		CapturePriority "500"
a6cb93
+		CaptureVolume "name='Digital Capture Volume'"
a6cb93
+		CaptureMixerElem "Digital"
a6cb93
+		CapturePCM "hw:${CardId}"
a6cb93
+	}
a6cb93
+}
a6cb93
+
a6cb93
+SectionDevice."Headset" {
a6cb93
+	Comment "Headset Microphone"
a6cb93
+
a6cb93
+	ConflictingDevice [
a6cb93
+		"Mic"
a6cb93
+	]
a6cb93
+
a6cb93
+	EnableSequence [
a6cb93
+		cset "name='Input Mode' Analog"
a6cb93
+		cset "name='MIXINR PGA Switch' on,on"
a6cb93
+		cset "name='Capture Switch' on,on"
a6cb93
+	]
a6cb93
+
a6cb93
+	DisableSequence [
a6cb93
+		cset "name='Capture Switch' off,off"
a6cb93
+		cset "name='MIXINR PGA Switch' off,off"
a6cb93
+		cset "name='Input Mode' Digital"
a6cb93
+	]
a6cb93
+
a6cb93
+	Value {
a6cb93
+		CapturePriority "100"
a6cb93
+		CaptureVolume "name='Capture Volume'"
a6cb93
+		CaptureMixerElem "Capture"
a6cb93
+		CapturePCM "hw:${CardId}"
a6cb93
+		JackControl "Headphones Jack"
a6cb93
+	}
a6cb93
+}
a6cb93
diff --git a/ucm2/NXP/iMX8/Librem_5/Librem 5.conf b/ucm2/NXP/iMX8/Librem_5/Librem 5.conf
a6cb93
new file mode 100644
a6cb93
index 0000000..4d7dbd6
a6cb93
--- /dev/null
a6cb93
+++ b/ucm2/NXP/iMX8/Librem_5/Librem 5.conf	
a6cb93
@@ -0,0 +1,25 @@
a6cb93
+Syntax 2
a6cb93
+
a6cb93
+SectionUseCase."HiFi" {
a6cb93
+	File "HiFi.conf"
a6cb93
+	Comment "Default"
a6cb93
+}
a6cb93
+
a6cb93
+BootSequence [
a6cb93
+	cset "name='Digital Playback Volume' 100,100"
a6cb93
+	cset "name='MIXINL IN2L Switch' off"
a6cb93
+	cset "name='MIXINL IN3L Switch' off"
a6cb93
+	cset "name='MIXINR IN2R Switch' off"
a6cb93
+	cset "name='MIXINR IN3R Switch' off"
a6cb93
+	cset "name='INPGAR IN1R Switch' off"
a6cb93
+	cset "name='INPGAR IN2R Switch' off"
a6cb93
+	cset "name='INPGAR IN3R Switch' on"
a6cb93
+	cset "name='INPGAR IN4R Switch' off"
a6cb93
+	cset "name='INPGAL IN1L Switch' off"
a6cb93
+	cset "name='INPGAL IN2L Switch' off"
a6cb93
+	cset "name='INPGAL IN3L Switch' off"
a6cb93
+	cset "name='INPGAL IN4L Switch' off"
a6cb93
+	cset "name='Input Mixer Switch' off,on"
a6cb93
+	cset "name='SPKOUTL PGA' Mixer"
a6cb93
+	cset "name='SPKOUTR PGA' Mixer"
a6cb93
+]
a6cb93
diff --git a/ucm2/conf.d/simple-card/Librem 5.conf b/ucm2/conf.d/simple-card/Librem 5.conf
a6cb93
new file mode 120000
a6cb93
index 0000000..c687942
a6cb93
--- /dev/null
a6cb93
+++ b/ucm2/conf.d/simple-card/Librem 5.conf	
a6cb93
@@ -0,0 +1 @@
a6cb93
+../../NXP/iMX8/Librem_5/Librem 5.conf
a6cb93
\ No newline at end of file
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From 71ff24cdd2e0fecb71c2fcf8a45a1ae50233c34b Mon Sep 17 00:00:00 2001
a6cb93
From: Jaroslav Kysela <perex@perex.cz>
a6cb93
Date: Mon, 21 Nov 2022 09:51:54 +0100
a6cb93
Subject: [PATCH 09/21] USB-Audio: allow to configure period size for PCM split
a6cb93
MIME-Version: 1.0
a6cb93
Content-Type: text/plain; charset=UTF-8
a6cb93
Content-Transfer-Encoding: 8bit
a6cb93
a6cb93
The environment variable UCM_USB_PERIOD_TIME (microseconds / μs)
a6cb93
can define the period size for the PCM channel split over
a6cb93
the default value 10000μs.
a6cb93
a6cb93
BugLink: https://github.com/alsa-project/alsa-ucm-conf/pull/240
a6cb93
Fixes: https://github.com/alsa-project/alsa-ucm-conf/issues/238
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/USB-Audio/USB-Audio.conf | 8 ++++++++
a6cb93
 1 file changed, 8 insertions(+)
a6cb93
a6cb93
diff --git a/ucm2/USB-Audio/USB-Audio.conf b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
index 89482cb..fdc29ec 100644
a6cb93
--- a/ucm2/USB-Audio/USB-Audio.conf
a6cb93
+++ b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
@@ -4,6 +4,14 @@ Define.ProfileName ""
a6cb93
 Define.MixerRemap ""
a6cb93
 Define.SplitPCMPeriodTime 10000		# 10ms
a6cb93
 
a6cb93
+If.env1 {
a6cb93
+	Condition {
a6cb93
+		Type String
a6cb93
+		Empty "${env:UCM_USB_PERIOD_TIME}"
a6cb93
+	}
a6cb93
+	False.Define.SplitPCMPeriodTime "${env:UCM_USB_PERIOD_TIME}"
a6cb93
+}
a6cb93
+
a6cb93
 If.linked {
a6cb93
 	Condition {
a6cb93
 		Type RegexMatch
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From 445c079665979802d50b237fe5a55be82ffd0bd9 Mon Sep 17 00:00:00 2001
a6cb93
From: Fadwa Chiby <fchiby@baylibre.com>
a6cb93
Date: Fri, 22 Jul 2022 09:45:07 +0000
a6cb93
Subject: [PATCH 10/21] mt8195-demo: fix soundcard initialization
a6cb93
a6cb93
The previous initialization in Bootsequence set all Switch
a6cb93
to off after boot.
a6cb93
a6cb93
So remove the setting off of the Switch in the BootSequence
a6cb93
and define Enable/DisableSequence in verb section for
a6cb93
a proper setting.
a6cb93
a6cb93
Note that the controls enable access to the PCM devices
a6cb93
(controls routes between Front End and Back End in ASoC).
a6cb93
a6cb93
Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/211
a6cb93
Signed-off-by: Fadwa Chiby <fchiby@baylibre.com>
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/MediaTek/mt8195_demo/HiFi.conf        | 57 ++++++++++++++++++++++
a6cb93
 ucm2/MediaTek/mt8195_demo/mt8195_demo.conf | 36 ++++----------
a6cb93
 2 files changed, 66 insertions(+), 27 deletions(-)
a6cb93
a6cb93
diff --git a/ucm2/MediaTek/mt8195_demo/HiFi.conf b/ucm2/MediaTek/mt8195_demo/HiFi.conf
a6cb93
index 95f2b51..660b4ad 100644
a6cb93
--- a/ucm2/MediaTek/mt8195_demo/HiFi.conf
a6cb93
+++ b/ucm2/MediaTek/mt8195_demo/HiFi.conf
a6cb93
@@ -1,3 +1,60 @@
a6cb93
+SectionVerb {
a6cb93
+
a6cb93
+	EnableSequence [
a6cb93
+		cset "name='HDMI_OUT_MUX' Connect"
a6cb93
+		cset "name='DPTX_OUT_MUX' Connect"
a6cb93
+		cset "name='O176 I070 Switch' on"
a6cb93
+		cset "name='O177 I071 Switch' on"
a6cb93
+		cset "name='O034 I168 Switch' on"
a6cb93
+		cset "name='O035 I169 Switch' on"
a6cb93
+		cset "name='O036 I012 Switch' on"
a6cb93
+		cset "name='O037 I013 Switch' on"
a6cb93
+		cset "name='O072 I022 Switch' on"
a6cb93
+		cset "name='O073 I023 Switch' on"
a6cb93
+		cset "name='O074 I024 Switch' on"
a6cb93
+		cset "name='O075 I025 Switch' on"
a6cb93
+		cset "name='O076 I026 Switch' on"
a6cb93
+		cset "name='O077 I027 Switch' on"
a6cb93
+		cset "name='O078 I028 Switch' on"
a6cb93
+		cset "name='O079 I029 Switch' on"
a6cb93
+		cset "name='O002 I004 Switch' on"
a6cb93
+		cset "name='O003 I005 Switch' on"
a6cb93
+		cset "name='O004 I006 Switch' on"
a6cb93
+		cset "name='O005 I007 Switch' on"
a6cb93
+		cset "name='O006 I008 Switch' on"
a6cb93
+		cset "name='O007 I009 Switch' on"
a6cb93
+		cset "name='O008 I010 Switch' on"
a6cb93
+		cset "name='O009 I011 Switch' on"
a6cb93
+	]
a6cb93
+
a6cb93
+	DisableSequence [
a6cb93
+		cset "name='HDMI_OUT_MUX' Disconnect"
a6cb93
+		cset "name='DPTX_OUT_MUX' Disconnect"
a6cb93
+		cset "name='O176 I070 Switch' off"
a6cb93
+		cset "name='O177 I071 Switch' off"
a6cb93
+		cset "name='O034 I168 Switch' off"
a6cb93
+		cset "name='O035 I169 Switch' off"
a6cb93
+		cset "name='O036 I012 Switch' off"
a6cb93
+		cset "name='O037 I013 Switch' off"
a6cb93
+		cset "name='O072 I022 Switch' off"
a6cb93
+		cset "name='O073 I023 Switch' off"
a6cb93
+		cset "name='O074 I024 Switch' off"
a6cb93
+		cset "name='O075 I025 Switch' off"
a6cb93
+		cset "name='O076 I026 Switch' off"
a6cb93
+		cset "name='O077 I027 Switch' off"
a6cb93
+		cset "name='O078 I028 Switch' off"
a6cb93
+		cset "name='O079 I029 Switch' off"
a6cb93
+		cset "name='O002 I004 Switch' off"
a6cb93
+		cset "name='O003 I005 Switch' off"
a6cb93
+		cset "name='O004 I006 Switch' off"
a6cb93
+		cset "name='O005 I007 Switch' off"
a6cb93
+		cset "name='O006 I008 Switch' off"
a6cb93
+		cset "name='O007 I009 Switch' off"
a6cb93
+		cset "name='O008 I010 Switch' off"
a6cb93
+		cset "name='O009 I011 Switch' off"
a6cb93
+	]
a6cb93
+}
a6cb93
+
a6cb93
 SectionDevice."HDMI" {
a6cb93
 	Comment "Hdmi/DP output"
a6cb93
 
a6cb93
diff --git a/ucm2/MediaTek/mt8195_demo/mt8195_demo.conf b/ucm2/MediaTek/mt8195_demo/mt8195_demo.conf
a6cb93
index c23dc37..896b6dc 100644
a6cb93
--- a/ucm2/MediaTek/mt8195_demo/mt8195_demo.conf
a6cb93
+++ b/ucm2/MediaTek/mt8195_demo/mt8195_demo.conf
a6cb93
@@ -1,4 +1,4 @@
a6cb93
-Syntax 3
a6cb93
+Syntax 2
a6cb93
 
a6cb93
 SectionUseCase."HiFi" {
a6cb93
 	File "/MediaTek/mt8195_demo/HiFi.conf"
a6cb93
@@ -16,12 +16,12 @@ BootSequence [
a6cb93
 	cset "name='PGA_L_Mux' AIN1"
a6cb93
 	cset "name='HDMI_OUT_MUX' Connect"
a6cb93
 	cset "name='DPTX_OUT_MUX' Connect"
a6cb93
+	# we need to enable all devices before starting PA.
a6cb93
+	# In our driver we use PCM, which means that we have
a6cb93
+	# to route Front End to a BackEnd and then only we can
a6cb93
+	# open a device. Without linking to BE it will fail.
a6cb93
 	cset "name='O176 I070 Switch' on"
a6cb93
 	cset "name='O177 I071 Switch' on"
a6cb93
-	cset "name='O034 I168 Switch' on"
a6cb93
-	cset "name='O035 I169 Switch' on"
a6cb93
-	cset "name='O036 I012 Switch' on"
a6cb93
-	cset "name='O037 I013 Switch' on"
a6cb93
 	cset "name='O072 I022 Switch' on"
a6cb93
 	cset "name='O073 I023 Switch' on"
a6cb93
 	cset "name='O074 I024 Switch' on"
a6cb93
@@ -30,6 +30,10 @@ BootSequence [
a6cb93
 	cset "name='O077 I027 Switch' on"
a6cb93
 	cset "name='O078 I028 Switch' on"
a6cb93
 	cset "name='O079 I029 Switch' on"
a6cb93
+	cset "name='O034 I168 Switch' on"
a6cb93
+	cset "name='O035 I169 Switch' on"
a6cb93
+	cset "name='O036 I012 Switch' on"
a6cb93
+	cset "name='O037 I013 Switch' on"
a6cb93
 	cset "name='O002 I004 Switch' on"
a6cb93
 	cset "name='O003 I005 Switch' on"
a6cb93
 	cset "name='O004 I006 Switch' on"
a6cb93
@@ -38,26 +42,4 @@ BootSequence [
a6cb93
 	cset "name='O007 I009 Switch' on"
a6cb93
 	cset "name='O008 I010 Switch' on"
a6cb93
 	cset "name='O009 I011 Switch' on"
a6cb93
-	cset "name='O176 I070 Switch' off"
a6cb93
-	cset "name='O177 I071 Switch' off"
a6cb93
-	cset "name='O034 I168 Switch' off"
a6cb93
-	cset "name='O035 I169 Switch' off"
a6cb93
-	cset "name='O036 I012 Switch' off"
a6cb93
-	cset "name='O037 I013 Switch' off"
a6cb93
-	cset "name='O072 I022 Switch' off"
a6cb93
-	cset "name='O073 I023 Switch' off"
a6cb93
-	cset "name='O074 I024 Switch' off"
a6cb93
-	cset "name='O075 I025 Switch' off"
a6cb93
-	cset "name='O076 I026 Switch' off"
a6cb93
-	cset "name='O077 I027 Switch' off"
a6cb93
-	cset "name='O078 I028 Switch' off"
a6cb93
-	cset "name='O079 I029 Switch' off"
a6cb93
-	cset "name='O002 I004 Switch' off"
a6cb93
-	cset "name='O003 I005 Switch' off"
a6cb93
-	cset "name='O004 I006 Switch' off"
a6cb93
-	cset "name='O005 I007 Switch' off"
a6cb93
-	cset "name='O006 I008 Switch' off"
a6cb93
-	cset "name='O007 I009 Switch' off"
a6cb93
-	cset "name='O008 I010 Switch' off"
a6cb93
-	cset "name='O009 I011 Switch' off"
a6cb93
 ]
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From 5c865236e8de9fd75c741892fd3bd2cff62d4f3f Mon Sep 17 00:00:00 2001
a6cb93
From: Jaroslav Kysela <perex@perex.cz>
a6cb93
Date: Tue, 22 Nov 2022 09:54:22 +0100
a6cb93
Subject: [PATCH 11/21] USB-Audio: the environment variable UCM_USB_PERIOD_TIME
a6cb93
 may be undefined
a6cb93
a6cb93
Fixes: 71ff24c ("USB-Audio: allow to configure period size for PCM split")
a6cb93
BugLink: https://github.com/alsa-project/alsa-ucm-conf/pull/240
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/USB-Audio/USB-Audio.conf | 2 +-
a6cb93
 1 file changed, 1 insertion(+), 1 deletion(-)
a6cb93
a6cb93
diff --git a/ucm2/USB-Audio/USB-Audio.conf b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
index fdc29ec..1c11da9 100644
a6cb93
--- a/ucm2/USB-Audio/USB-Audio.conf
a6cb93
+++ b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
@@ -7,7 +7,7 @@ Define.SplitPCMPeriodTime 10000		# 10ms
a6cb93
 If.env1 {
a6cb93
 	Condition {
a6cb93
 		Type String
a6cb93
-		Empty "${env:UCM_USB_PERIOD_TIME}"
a6cb93
+		Empty "$${env:UCM_USB_PERIOD_TIME}"
a6cb93
 	}
a6cb93
 	False.Define.SplitPCMPeriodTime "${env:UCM_USB_PERIOD_TIME}"
a6cb93
 }
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From 01e37f4fb7aab57e3f0051d81f5f6e5b2f15c831 Mon Sep 17 00:00:00 2001
a6cb93
From: Jaroslav Kysela <perex@perex.cz>
a6cb93
Date: Mon, 21 Nov 2022 10:16:57 +0100
a6cb93
Subject: [PATCH 12/21] HDA: DualCodecs - handle S/PDIF without analog
a6cb93
 connections
a6cb93
a6cb93
When no analog wires are connected, the S/PDIF output cannot be
a6cb93
selected in pipewire. Handle this for motherboards without Speaker
a6cb93
UCM device.
a6cb93
a6cb93
Fixes: https://github.com/alsa-project/alsa-ucm-conf/issues/239
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/HDA/DualCodecs/HiFi.conf | 15 +++++++++++----
a6cb93
 1 file changed, 11 insertions(+), 4 deletions(-)
a6cb93
a6cb93
diff --git a/ucm2/HDA/DualCodecs/HiFi.conf b/ucm2/HDA/DualCodecs/HiFi.conf
a6cb93
index 10c9162..8c0f403 100644
a6cb93
--- a/ucm2/HDA/DualCodecs/HiFi.conf
a6cb93
+++ b/ucm2/HDA/DualCodecs/HiFi.conf
a6cb93
@@ -66,13 +66,20 @@ SectionDevice."Line1" {
a6cb93
 		}
a6cb93
 		True.Value.PlaybackMixerElem "Front"
a6cb93
 	}
a6cb93
-	If.1 {
a6cb93
+	# make S/PDIF output working when no analog jacks are connected
a6cb93
+	If.speaker {
a6cb93
 		Condition {
a6cb93
 			Type ControlExists
a6cb93
-			Control "iface=CARD,name='Line Out Front Jack'"
a6cb93
+			Control "name='Speaker Playback Switch'"
a6cb93
+		}
a6cb93
+		True.If.1 {
a6cb93
+			Condition {
a6cb93
+				Type ControlExists
a6cb93
+				Control "iface=CARD,name='Line Out Front Jack'"
a6cb93
+			}
a6cb93
+			True.Value.JackControl "Line Out Front Jack"
a6cb93
+			False.Value.JackControl "Line Out Jack"
a6cb93
 		}
a6cb93
-		True.Value.JackControl "Line Out Front Jack"
a6cb93
-		False.Value.JackControl "Line Out Jack"
a6cb93
 	}
a6cb93
 }
a6cb93
 
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From 79a8ec44d3dcf097f4a4492c506cbcf338324175 Mon Sep 17 00:00:00 2001
a6cb93
From: Jaroslav Kysela <perex@perex.cz>
a6cb93
Date: Wed, 7 Dec 2022 10:18:04 +0100
a6cb93
Subject: [PATCH 13/21] ucm2: sof-hda-dsp: Update Mic LED settings
a6cb93
a6cb93
Users expect to turn the LED on when only internal mic is off, but
a6cb93
it makes sense to turn this LED when all internal inputs are off.
a6cb93
a6cb93
This configuration may be changed when the affected applications
a6cb93
are updated.
a6cb93
a6cb93
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=2134824
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/Intel/sof-hda-dsp/sof-hda-dsp.conf | 12 +++++++++++-
a6cb93
 1 file changed, 11 insertions(+), 1 deletion(-)
a6cb93
a6cb93
diff --git a/ucm2/Intel/sof-hda-dsp/sof-hda-dsp.conf b/ucm2/Intel/sof-hda-dsp/sof-hda-dsp.conf
a6cb93
index e6a8a15..9e85914 100644
a6cb93
--- a/ucm2/Intel/sof-hda-dsp/sof-hda-dsp.conf
a6cb93
+++ b/ucm2/Intel/sof-hda-dsp/sof-hda-dsp.conf
a6cb93
@@ -9,7 +9,17 @@ If.devdmic {
a6cb93
 		Haystack "${CardComponents}"
a6cb93
 		Needle "cfg-dmics:"
a6cb93
 	}
a6cb93
-	True.Define.DeviceDmic "Mic1"
a6cb93
+	True {
a6cb93
+		Define.DeviceDmic "Mic1"
a6cb93
+		FixedBootSequence [
a6cb93
+			#
a6cb93
+			# users expect to turn the LED on when only internal
a6cb93
+			# mic is off, but it makes sense to turn this LED
a6cb93
+			# when all internal inputs are off
a6cb93
+			#
a6cb93
+			sysw "-/class/sound/ctl-led/mic/card${CardNumber}/detach:Capture Switch"
a6cb93
+		]
a6cb93
+	}
a6cb93
 	True.Define.DeviceMic "Mic2"
a6cb93
 }
a6cb93
 
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From 9ce9ddb4a84fb467602b716575ea1d8f2bab0c39 Mon Sep 17 00:00:00 2001
a6cb93
From: Jaroslav Kysela <perex@perex.cz>
a6cb93
Date: Wed, 7 Dec 2022 15:00:35 +0100
a6cb93
Subject: [PATCH 14/21] ucm2: HDA: Update Mic LED settings for ACP DMIC
a6cb93
a6cb93
Users expect to turn the LED on when only internal mic is off, but
a6cb93
it makes sense to turn this LED when all internal inputs are off.
a6cb93
a6cb93
This configuration may be changed when the affected applications
a6cb93
are updated.
a6cb93
a6cb93
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=2134824
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/HDA/HDA.conf | 1 +
a6cb93
 1 file changed, 1 insertion(+)
a6cb93
a6cb93
diff --git a/ucm2/HDA/HDA.conf b/ucm2/HDA/HDA.conf
a6cb93
index 64ffe83..47dfc05 100644
a6cb93
--- a/ucm2/HDA/HDA.conf
a6cb93
+++ b/ucm2/HDA/HDA.conf
a6cb93
@@ -55,6 +55,7 @@ If.use {
a6cb93
 					cset-new "name='Mic ACP LED Capture Switch' type=bool,count=1 off"
a6cb93
 					exec "-/sbin/modprobe snd_ctl_led"
a6cb93
 					sysw "-/class/sound/ctl-led/mic/card${CardNumber}/attach:Mic ACP LED Capture Switch"
a6cb93
+					sysw "-/class/sound/ctl-led/mic/card${CardNumber}/detach:Capture Switch"
a6cb93
 				]
a6cb93
 			}
a6cb93
 		}
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From 3984514b25a5b2a2a09d29ad8ddbc1ad78c6a1e4 Mon Sep 17 00:00:00 2001
a6cb93
From: Jaroslav Kysela <perex@perex.cz>
a6cb93
Date: Wed, 7 Dec 2022 15:48:05 +0100
a6cb93
Subject: [PATCH 15/21] ucm2: sof-hda-dsp - If.devdmic cleanup
a6cb93
a6cb93
Simplify the If.devdmic block.
a6cb93
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/Intel/sof-hda-dsp/sof-hda-dsp.conf | 2 +-
a6cb93
 1 file changed, 1 insertion(+), 1 deletion(-)
a6cb93
a6cb93
diff --git a/ucm2/Intel/sof-hda-dsp/sof-hda-dsp.conf b/ucm2/Intel/sof-hda-dsp/sof-hda-dsp.conf
a6cb93
index 9e85914..7ef4f24 100644
a6cb93
--- a/ucm2/Intel/sof-hda-dsp/sof-hda-dsp.conf
a6cb93
+++ b/ucm2/Intel/sof-hda-dsp/sof-hda-dsp.conf
a6cb93
@@ -11,6 +11,7 @@ If.devdmic {
a6cb93
 	}
a6cb93
 	True {
a6cb93
 		Define.DeviceDmic "Mic1"
a6cb93
+		Define.DeviceMic "Mic2"
a6cb93
 		FixedBootSequence [
a6cb93
 			#
a6cb93
 			# users expect to turn the LED on when only internal
a6cb93
@@ -20,7 +21,6 @@ If.devdmic {
a6cb93
 			sysw "-/class/sound/ctl-led/mic/card${CardNumber}/detach:Capture Switch"
a6cb93
 		]
a6cb93
 	}
a6cb93
-	True.Define.DeviceMic "Mic2"
a6cb93
 }
a6cb93
 
a6cb93
 SectionUseCase."HiFi" {
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From e395d7b743584cba60876b6356fb3bc7834992aa Mon Sep 17 00:00:00 2001
a6cb93
From: Jaroslav Kysela <perex@perex.cz>
a6cb93
Date: Mon, 26 Dec 2022 09:20:51 +0100
a6cb93
Subject: [PATCH 16/21] sof-soundwire: set PGA capture switch for rt715 mic in
a6cb93
 BootSequence
a6cb93
a6cb93
Fixes: https://github.com/alsa-project/alsa-ucm-conf/issues/255
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/sof-soundwire/sof-soundwire.conf | 11 +++++++++++
a6cb93
 1 file changed, 11 insertions(+)
a6cb93
a6cb93
diff --git a/ucm2/sof-soundwire/sof-soundwire.conf b/ucm2/sof-soundwire/sof-soundwire.conf
a6cb93
index 03df16c..bdc48ff 100644
a6cb93
--- a/ucm2/sof-soundwire/sof-soundwire.conf
a6cb93
+++ b/ucm2/sof-soundwire/sof-soundwire.conf
a6cb93
@@ -61,3 +61,14 @@ If.mic_init {
a6cb93
 	}
a6cb93
 	True.Include.mic_init.File "/codecs/${var:MicCodec1}/init.conf"
a6cb93
 }
a6cb93
+
a6cb93
+If.mic_init_rt715 {
a6cb93
+	Condition {
a6cb93
+		Type String
a6cb93
+		Needle "rt715"
a6cb93
+		Haystack "${var:MicCodec1}"
a6cb93
+	}
a6cb93
+	True.BootSequence [
a6cb93
+		cset "name='PGA5.0 5 Master Capture Switch' 1"
a6cb93
+	]
a6cb93
+}
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From c0b9d6fb207d533d348942e02ecdc57984eb5fc3 Mon Sep 17 00:00:00 2001
a6cb93
From: Kai-Chuan Hsieh <kaichuan.hsieh@canonical.com>
a6cb93
Date: Mon, 26 Dec 2022 10:24:20 +0800
a6cb93
Subject: [PATCH 17/21] sof-hda-dsp: Set Dmic0 Capture Switch on
a6cb93
a6cb93
Internal micrphone default is off after fresh installation.
a6cb93
Add operation to set the control on to align with other architecture.
a6cb93
a6cb93
Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/259
a6cb93
Signed-off-by: Kai-Chuan Hsieh <kaichuan.hsieh@canonical.com>
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/Intel/sof-hda-dsp/sof-hda-dsp.conf | 1 +
a6cb93
 1 file changed, 1 insertion(+)
a6cb93
a6cb93
diff --git a/ucm2/Intel/sof-hda-dsp/sof-hda-dsp.conf b/ucm2/Intel/sof-hda-dsp/sof-hda-dsp.conf
a6cb93
index 7ef4f24..6887938 100644
a6cb93
--- a/ucm2/Intel/sof-hda-dsp/sof-hda-dsp.conf
a6cb93
+++ b/ucm2/Intel/sof-hda-dsp/sof-hda-dsp.conf
a6cb93
@@ -83,6 +83,7 @@ If.dmic {
a6cb93
 		}
a6cb93
 		True.BootSequence [
a6cb93
 			cset "name='Dmic0 Capture Volume' 70%"
a6cb93
+			cset "name='Dmic0 Capture Switch' on"
a6cb93
 		]
a6cb93
 	}
a6cb93
 }
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From 1923bd19c0bef947c085e2941dd8ed2d1310731e Mon Sep 17 00:00:00 2001
a6cb93
From: 13r0ck <brock@szu.email>
a6cb93
Date: Mon, 19 Dec 2022 18:08:38 -0700
a6cb93
Subject: [PATCH 18/21] USB-Audio: alc4080 - add MSI MAG B650I Edge WiFi (ID
a6cb93
 0db0:36e7)
a6cb93
a6cb93
This motherboard is recognized as the thelio-r3 by System76
a6cb93
a6cb93
Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/254
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/USB-Audio/USB-Audio.conf | 3 ++-
a6cb93
 1 file changed, 2 insertions(+), 1 deletion(-)
a6cb93
a6cb93
diff --git a/ucm2/USB-Audio/USB-Audio.conf b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
index 1c11da9..6e48f98 100644
a6cb93
--- a/ucm2/USB-Audio/USB-Audio.conf
a6cb93
+++ b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
@@ -53,6 +53,7 @@ If.realtek-alc4080 {
a6cb93
 		# 0db0:005a MSI MPG Z690 CARBON WIFI
a6cb93
 		# 0db0:151f MSI X570S EDGE MAX WIFI
a6cb93
 		# 0db0:1feb MSI Edge Wifi Z690
a6cb93
+		# 0db0:36e7 MSI MAG B650I Edge WiFi
a6cb93
 		# 0db0:419c MSI MPG X570S Carbon Max Wifi
a6cb93
 		# 0db0:6cc9 MSI MPG Z590 Gaming Plus
a6cb93
 		# 0db0:82c7 MSI MEG Z690I Unify
a6cb93
@@ -60,7 +61,7 @@ If.realtek-alc4080 {
a6cb93
 		# 0db0:a47c MSI MEG X570S Ace Max
a6cb93
 		# 0db0:b202 MSI MAG Z690 Tomahawk Wifi
a6cb93
 		# 0db0:d6e7 MSI MPG X670E Carbon Wifi
a6cb93
-		Regex "USB((0414:a00e)|(0b05:(1996|1a(16|2[07]|52)))|(0db0:(005a|151f|1feb|419c|6cc9|82c7|a073|a47c|b202|d6e7)))"
a6cb93
+		Regex "USB((0414:a00e)|(0b05:(1996|1a(16|2[07]|52)))|(0db0:(005a|151f|1feb|36e7|419c|6cc9|82c7|a073|a47c|b202|d6e7)))"
a6cb93
 	}
a6cb93
 	True.Define.ProfileName "Realtek/ALC4080"
a6cb93
 }
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From fea43c9342dd32ab93fa71b419abb97778def5c9 Mon Sep 17 00:00:00 2001
a6cb93
From: Samuel Williams <samuel.williams@oriontransfer.co.nz>
a6cb93
Date: Sun, 11 Dec 2022 18:30:40 +1300
a6cb93
Subject: [PATCH 19/21] USB-Audio: ALC4080 - Add support for ASUS ROG Crosshair
a6cb93
 X670 Extreme (ID 0b05:1a53)
a6cb93
a6cb93
- Confirmed working.
a6cb93
a6cb93
Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/249
a6cb93
Signed-off-by: Samuel Williams <samuel.williams@oriontransfer.co.nz>
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/USB-Audio/USB-Audio.conf | 3 ++-
a6cb93
 1 file changed, 2 insertions(+), 1 deletion(-)
a6cb93
a6cb93
diff --git a/ucm2/USB-Audio/USB-Audio.conf b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
index 6e48f98..041db9d 100644
a6cb93
--- a/ucm2/USB-Audio/USB-Audio.conf
a6cb93
+++ b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
@@ -50,6 +50,7 @@ If.realtek-alc4080 {
a6cb93
 		# 0b05:1a20 ASUS ROG STRIX Z690-I Gaming Wifi
a6cb93
 		# 0b05:1a27 ALC4082 on ASUS ROG Maximus Z690 Hero
a6cb93
 		# 0b05:1a52 ASUS ROG Strix Z790-E Gaming Wifi
a6cb93
+		# 0b05:1a53 ALC4082 on ASUS ROG Crosshair X670E Extreme
a6cb93
 		# 0db0:005a MSI MPG Z690 CARBON WIFI
a6cb93
 		# 0db0:151f MSI X570S EDGE MAX WIFI
a6cb93
 		# 0db0:1feb MSI Edge Wifi Z690
a6cb93
@@ -61,7 +62,7 @@ If.realtek-alc4080 {
a6cb93
 		# 0db0:a47c MSI MEG X570S Ace Max
a6cb93
 		# 0db0:b202 MSI MAG Z690 Tomahawk Wifi
a6cb93
 		# 0db0:d6e7 MSI MPG X670E Carbon Wifi
a6cb93
-		Regex "USB((0414:a00e)|(0b05:(1996|1a(16|2[07]|52)))|(0db0:(005a|151f|1feb|36e7|419c|6cc9|82c7|a073|a47c|b202|d6e7)))"
a6cb93
+		Regex "USB((0414:a00e)|(0b05:(1996|1a(16|2[07]|5[23])))|(0db0:(005a|151f|1feb|36e7|419c|6cc9|82c7|a073|a47c|b202|d6e7)))"
a6cb93
 	}
a6cb93
 	True.Define.ProfileName "Realtek/ALC4080"
a6cb93
 }
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From 12db78292676441dfea39c2d0e5db448ec740e2a Mon Sep 17 00:00:00 2001
a6cb93
From: Adrian Rudnik <adrian@klonmaschine.de>
a6cb93
Date: Thu, 8 Dec 2022 00:49:13 +0100
a6cb93
Subject: [PATCH 20/21] ucm2: alc4080 - add support for MSI PRO Z790-A WIFI (ID
a6cb93
 0db0:d1d7)
a6cb93
a6cb93
Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/248
a6cb93
Signed-off-by: Adrian Rudnik <adrian@klonmaschine.de>
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/USB-Audio/USB-Audio.conf | 3 ++-
a6cb93
 1 file changed, 2 insertions(+), 1 deletion(-)
a6cb93
a6cb93
diff --git a/ucm2/USB-Audio/USB-Audio.conf b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
index 041db9d..da9acd0 100644
a6cb93
--- a/ucm2/USB-Audio/USB-Audio.conf
a6cb93
+++ b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
@@ -61,8 +61,9 @@ If.realtek-alc4080 {
a6cb93
 		# 0db0:a073 MSI MAG X570S Torpedo Max
a6cb93
 		# 0db0:a47c MSI MEG X570S Ace Max
a6cb93
 		# 0db0:b202 MSI MAG Z690 Tomahawk Wifi
a6cb93
+		# 0db0:d1d7 MSI PRO Z790-A WIFI
a6cb93
 		# 0db0:d6e7 MSI MPG X670E Carbon Wifi
a6cb93
-		Regex "USB((0414:a00e)|(0b05:(1996|1a(16|2[07]|5[23])))|(0db0:(005a|151f|1feb|36e7|419c|6cc9|82c7|a073|a47c|b202|d6e7)))"
a6cb93
+		Regex "USB((0414:a00e)|(0b05:(1996|1a(16|2[07]|5[23])))|(0db0:(005a|151f|1feb|36e7|419c|6cc9|82c7|a073|a47c|b202|d1d7|d6e7)))"
a6cb93
 	}
a6cb93
 	True.Define.ProfileName "Realtek/ALC4080"
a6cb93
 }
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
a6cb93
From d771df0333e70cd474389bade0f52a804de7b5ea Mon Sep 17 00:00:00 2001
a6cb93
From: 13r0ck <bnr@tuta.io>
a6cb93
Date: Tue, 22 Nov 2022 15:40:50 -0700
a6cb93
Subject: [PATCH 21/21] Add: 0b05:1999 ASUS ROG Strix Z590-A Gaming WiFi
a6cb93
a6cb93
This model is recognized as a thelio-mira-b1 by system76
a6cb93
a6cb93
Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/247/
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/USB-Audio/Realtek/ALC4080-HiFi.conf | 13 +++++++++++++
a6cb93
 ucm2/USB-Audio/USB-Audio.conf            |  3 ++-
a6cb93
 2 files changed, 15 insertions(+), 1 deletion(-)
a6cb93
a6cb93
diff --git a/ucm2/USB-Audio/Realtek/ALC4080-HiFi.conf b/ucm2/USB-Audio/Realtek/ALC4080-HiFi.conf
a6cb93
index fa8d445..868e267 100644
a6cb93
--- a/ucm2/USB-Audio/Realtek/ALC4080-HiFi.conf
a6cb93
+++ b/ucm2/USB-Audio/Realtek/ALC4080-HiFi.conf
a6cb93
@@ -100,6 +100,19 @@ If.msi-meg-unify {
a6cb93
 	}
a6cb93
 }
a6cb93
 
a6cb93
+If.asus-rog-strix {
a6cb93
+	Condition {
a6cb93
+		Type RegexMatch
a6cb93
+		String "${CardComponents}"
a6cb93
+		Regex "USB(0b05:1999)"
a6cb93
+	}
a6cb93
+	True.Define {
a6cb93
+		Line1PCM "hw:${CardId},3"
a6cb93
+		HeadphonesName ""
a6cb93
+		SpdifName ""
a6cb93
+	}
a6cb93
+}
a6cb93
+
a6cb93
 SectionVerb {
a6cb93
 	EnableSequence [
a6cb93
 		disdevall ""
a6cb93
diff --git a/ucm2/USB-Audio/USB-Audio.conf b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
index da9acd0..2a27b89 100644
a6cb93
--- a/ucm2/USB-Audio/USB-Audio.conf
a6cb93
+++ b/ucm2/USB-Audio/USB-Audio.conf
a6cb93
@@ -46,6 +46,7 @@ If.realtek-alc4080 {
a6cb93
 		String "${CardComponents}"
a6cb93
 		# 0414:a00e Gigabyte Z590 Aorus Pro AX
a6cb93
 		# 0b05:1996 ASUS on multiple boards (including ASUS ROG Maximus XIII)
a6cb93
+		# 0b05:1999 ASUS ROG Strix Z590-A Gaming WiFi
a6cb93
 		# 0b05:1a16 ASUS ROG Strix B660-F Gaming WiFi
a6cb93
 		# 0b05:1a20 ASUS ROG STRIX Z690-I Gaming Wifi
a6cb93
 		# 0b05:1a27 ALC4082 on ASUS ROG Maximus Z690 Hero
a6cb93
@@ -63,7 +64,7 @@ If.realtek-alc4080 {
a6cb93
 		# 0db0:b202 MSI MAG Z690 Tomahawk Wifi
a6cb93
 		# 0db0:d1d7 MSI PRO Z790-A WIFI
a6cb93
 		# 0db0:d6e7 MSI MPG X670E Carbon Wifi
a6cb93
-		Regex "USB((0414:a00e)|(0b05:(1996|1a(16|2[07]|5[23])))|(0db0:(005a|151f|1feb|36e7|419c|6cc9|82c7|a073|a47c|b202|d1d7|d6e7)))"
a6cb93
+		Regex "USB((0414:a00e)|(0b05:(199[69]|1a(16|2[07]|5[23])))|(0db0:(005a|151f|1feb|36e7|419c|6cc9|82c7|a073|a47c|b202|d1d7|d6e7)))"
a6cb93
 	}
a6cb93
 	True.Define.ProfileName "Realtek/ALC4080"
a6cb93
 }
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
From cfb595c9d94db05f35c86530385e6280fa60ec70 Mon Sep 17 00:00:00 2001
a6cb93
From: Andy Chi <andy.chi@canonical.com>
a6cb93
Date: Wed, 28 Dec 2022 17:36:37 +0800
a6cb93
Subject: [PATCH 1/2] ucm2: sof-soundwire: Update Mic LED settings
a6cb93
a6cb93
It would be better to make this settings as default in
a6cb93
the driver. See PR.
a6cb93
a6cb93
Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/261
a6cb93
Signed-off-by: Andy Chi <andy.chi@canonical.com>
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/sof-soundwire/sof-soundwire.conf | 1 +
a6cb93
 1 file changed, 1 insertion(+)
a6cb93
a6cb93
diff --git a/ucm2/sof-soundwire/sof-soundwire.conf b/ucm2/sof-soundwire/sof-soundwire.conf
a6cb93
index bdc48ff..c6c9115 100644
a6cb93
--- a/ucm2/sof-soundwire/sof-soundwire.conf
a6cb93
+++ b/ucm2/sof-soundwire/sof-soundwire.conf
a6cb93
@@ -70,5 +70,6 @@ If.mic_init_rt715 {
a6cb93
 	}
a6cb93
 	True.BootSequence [
a6cb93
 		cset "name='PGA5.0 5 Master Capture Switch' 1"
a6cb93
+		sysw "-/class/sound/ctl-led/mic/card${CardNumber}/detach:PGA5.0 5 Master Capture Switch"
a6cb93
 	]
a6cb93
 }
a6cb93
-- 
a6cb93
2.39.0
a6cb93
a6cb93
From 3ebf342dbe3c1e3e6e668cfbdc314b0be550cdb5 Mon Sep 17 00:00:00 2001
a6cb93
From: Jaroslav Kysela <perex@perex.cz>
a6cb93
Date: Mon, 20 Feb 2023 15:36:53 +0100
a6cb93
Subject: [PATCH] sof-soundwire: Initialize PGA switch controls in the
a6cb93
 BootSequence
a6cb93
a6cb93
A bug in the driver / firmware may cause that the paths are
a6cb93
active for the first boot, but if the sound card state is saved
a6cb93
and restored later (e.g. next boot), the paths may be deactivated.
a6cb93
a6cb93
BugLink: https://github.com/thesofproject/linux/issues/4196
a6cb93
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
a6cb93
---
a6cb93
 ucm2/sof-soundwire/sof-soundwire.conf | 21 ++++++++++++++++++++-
a6cb93
 1 file changed, 20 insertions(+), 1 deletion(-)
a6cb93
a6cb93
diff --git a/ucm2/sof-soundwire/sof-soundwire.conf b/ucm2/sof-soundwire/sof-soundwire.conf
a6cb93
index c6c9115..786ba63 100644
a6cb93
--- a/ucm2/sof-soundwire/sof-soundwire.conf
a6cb93
+++ b/ucm2/sof-soundwire/sof-soundwire.conf
a6cb93
@@ -69,7 +69,26 @@ If.mic_init_rt715 {
a6cb93
 		Haystack "${var:MicCodec1}"
a6cb93
 	}
a6cb93
 	True.BootSequence [
a6cb93
-		cset "name='PGA5.0 5 Master Capture Switch' 1"
a6cb93
 		sysw "-/class/sound/ctl-led/mic/card${CardNumber}/detach:PGA5.0 5 Master Capture Switch"
a6cb93
 	]
a6cb93
 }
a6cb93
+
a6cb93
+If.pga_init_pga2 {
a6cb93
+	Condition {
a6cb93
+		Type ControlExists
a6cb93
+		Control "name='PGA2.0 2 Master Capture Switch'"
a6cb93
+	}
a6cb93
+	True.BootSequence [
a6cb93
+		cset "name='PGA2.0 2 Master Capture Switch' 1"
a6cb93
+	]
a6cb93
+}
a6cb93
+
a6cb93
+If.pga_init_pga5 {
a6cb93
+	Condition {
a6cb93
+		Type ControlExists
a6cb93
+		Control "name='PGA5.0 5 Master Capture Switch'"
a6cb93
+	}
a6cb93
+	True.BootSequence [
a6cb93
+		cset "name='PGA5.0 5 Master Capture Switch' 1"
a6cb93
+	]
a6cb93
+}
a6cb93
-- 
a6cb93
2.39.0
a6cb93