alsa-lib/SOURCES/alsa-ucm-conf.patch

2375 lines
64 KiB
Diff

From 25f519f66c3e496b21ca1ad83ebc6114dfaa9fc3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Maja=20K=C4=85dzio=C5=82ka?= <maya@compilercrim.es>
Date: Tue, 22 Apr 2025 07:46:21 +0200
Subject: [PATCH 01/24] acp3x-alc5682-max98357: Fix path of HiFi.conf
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/551
Closes: https://github.com/alsa-project/alsa-ucm-conf/issues/550
Fixes: 1048796e7fa9 ("Rename ucm2/AMD/acp3xalc5682m98 to ucm2/AMD/acp3x-alc5682-max98357")
Signed-off-by: Maja Kądziołka <maya@compilercrim.es>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/AMD/acp3x-alc5682-max98357/acp3x-alc5682-max98357.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ucm2/AMD/acp3x-alc5682-max98357/acp3x-alc5682-max98357.conf b/ucm2/AMD/acp3x-alc5682-max98357/acp3x-alc5682-max98357.conf
index e1f1c9e..5b3f24a 100644
--- a/ucm2/AMD/acp3x-alc5682-max98357/acp3x-alc5682-max98357.conf
+++ b/ucm2/AMD/acp3x-alc5682-max98357/acp3x-alc5682-max98357.conf
@@ -66,7 +66,7 @@ If.found {
Empty "${var:Found}"
}
False.SectionUseCase."HiFi" {
- File "/AMD/acp3xalc5682m98/HiFi.conf"
+ File "HiFi.conf"
Comment "Default"
}
}
--
2.49.0
From ac64586ab4ad3a0f162af3ec8a196bfd3799c5c0 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Fri, 25 Apr 2025 11:47:20 +0200
Subject: [PATCH 02/24] USB-Audio: Remove useless sections for Solid State Labs
SSL 2+
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/USB-Audio/SolidStateLabs/SSL2Plus-HiFi.conf | 8 --------
1 file changed, 8 deletions(-)
diff --git a/ucm2/USB-Audio/SolidStateLabs/SSL2Plus-HiFi.conf b/ucm2/USB-Audio/SolidStateLabs/SSL2Plus-HiFi.conf
index d07e499..94e040f 100644
--- a/ucm2/USB-Audio/SolidStateLabs/SSL2Plus-HiFi.conf
+++ b/ucm2/USB-Audio/SolidStateLabs/SSL2Plus-HiFi.conf
@@ -28,14 +28,6 @@ Macro [
SectionDevice."Line1" {
Comment "Line Outputs 1/L + 2/R"
- EnableSequence [
- cdev "hw:${CardId}"
- ]
-
- DisableSequence [
- cdev "hw:${CardId}"
- ]
-
Value {
PlaybackPriority 200
}
--
2.49.0
From fc17ed4f991836bb92f288b8714ad7efe6c05926 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Fri, 25 Apr 2025 11:53:11 +0200
Subject: [PATCH 03/24] USB-Audio: Solid State Labs SSL 2+ - fix capture
channels
It seems that there are 4 capture channels per report in issue #552:
Capture:
Status: Stop
Interface 2
Altset 1
Format: S32_LE
Channels: 4
Endpoint: 0x81 (1 IN) (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Channel map: FL FR FC LFE
Closes: https://github.com/alsa-project/alsa-ucm-conf/issues/552
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/USB-Audio/SolidStateLabs/SSL2Plus-HiFi.conf | 6 +++---
ucm2/USB-Audio/SolidStateLabs/SSL2Plus.conf | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/ucm2/USB-Audio/SolidStateLabs/SSL2Plus-HiFi.conf b/ucm2/USB-Audio/SolidStateLabs/SSL2Plus-HiFi.conf
index 94e040f..30160d3 100644
--- a/ucm2/USB-Audio/SolidStateLabs/SSL2Plus-HiFi.conf
+++ b/ucm2/USB-Audio/SolidStateLabs/SSL2Plus-HiFi.conf
@@ -18,7 +18,7 @@ Macro [
Name "ssl2plus_mono_in"
Direction Capture
Channels 1
- HWChannels 2
+ HWChannels 4
HWChannelPos0 MONO
HWChannelPos1 MONO
}
@@ -70,7 +70,7 @@ SectionDevice."Mic1" {
Macro.pcm_split.SplitPCMDevice {
Name "ssl2plus_mono_in"
Direction Capture
- HWChannels 2
+ HWChannels 4
Channels 1
Channel0 0
ChannelPos0 MONO
@@ -86,7 +86,7 @@ SectionDevice."Mic2" {
Macro.pcm_split.SplitPCMDevice {
Name "ssl2plus_mono_in"
Direction Capture
- HWChannels 2
+ HWChannels 4
Channels 1
Channel0 1
ChannelPos0 MONO
diff --git a/ucm2/USB-Audio/SolidStateLabs/SSL2Plus.conf b/ucm2/USB-Audio/SolidStateLabs/SSL2Plus.conf
index 2ffe4c4..c886593 100644
--- a/ucm2/USB-Audio/SolidStateLabs/SSL2Plus.conf
+++ b/ucm2/USB-Audio/SolidStateLabs/SSL2Plus.conf
@@ -6,6 +6,6 @@ SectionUseCase."HiFi" {
}
Define.DirectPlaybackChannels 4
-Define.DirectCaptureChannels 2
+Define.DirectCaptureChannels 4
Include.dhw.File "/common/direct.conf"
--
2.49.0
From 6c2177e856ffa884929ba84de2ba379b80e054a3 Mon Sep 17 00:00:00 2001
From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Date: Mon, 14 Apr 2025 20:47:38 +0200
Subject: [PATCH 04/24] ucm2: Qualcomm: x1e80100: Also match DMI board name
The Surface Laptop 7 only says "Microsoft Corporation" and "Surface"
in the board_vendor and product_family fields respectively. Add another
field to match on.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/546
Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/Qualcomm/x1e80100/x1e80100.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ucm2/Qualcomm/x1e80100/x1e80100.conf b/ucm2/Qualcomm/x1e80100/x1e80100.conf
index 3f89986..3eef4d4 100644
--- a/ucm2/Qualcomm/x1e80100/x1e80100.conf
+++ b/ucm2/Qualcomm/x1e80100/x1e80100.conf
@@ -1,6 +1,6 @@
Syntax 4
-Define.DMI_info "${sys:devices/virtual/dmi/id/board_vendor}-${sys:devices/virtual/dmi/id/product_family}"
+Define.DMI_info "${sys:devices/virtual/dmi/id/board_vendor}-${sys:devices/virtual/dmi/id/product_family}-${sys:devices/virtual/dmi/id/board_name}"
If.LENOVOT14s {
Condition {
--
2.49.0
From c93b7c8cc3137180cf1e91af2dd212bbf604b66f Mon Sep 17 00:00:00 2001
From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Date: Mon, 14 Apr 2025 20:47:38 +0200
Subject: [PATCH 05/24] ucm2: Qualcomm: Add Surface Laptop 7
2 speakers, 2 dmics, combo jack, just like the T14s - reuse its
configuration
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/546
Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/Qualcomm/x1e80100/x1e80100.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ucm2/Qualcomm/x1e80100/x1e80100.conf b/ucm2/Qualcomm/x1e80100/x1e80100.conf
index 3eef4d4..10faf5f 100644
--- a/ucm2/Qualcomm/x1e80100/x1e80100.conf
+++ b/ucm2/Qualcomm/x1e80100/x1e80100.conf
@@ -6,7 +6,7 @@ If.LENOVOT14s {
Condition {
Type RegexMatch
String "${var:DMI_info}"
- Regex "LENOVO.*Think((Pad T14s Gen 6.*)|(Book 16 G7 QOY))|(HP.*Omnibook X.*)|(ASUSTeK COMPUTER.*ASUS Zenbook A14)"
+ Regex "LENOVO.*Think((Pad T14s Gen 6.*)|(Book 16 G7 QOY))|(HP.*Omnibook X.*)|(ASUSTeK COMPUTER.*ASUS Zenbook A14)|(Microsoft Corporation.*Surface.*Microsoft Surface Laptop, 7th Edition)"
}
True.Include.t14s.File "/Qualcomm/x1e80100/LENOVO-T14s.conf"
}
--
2.49.0
From 9105573b6cb71c4821d88e6eef0c4b2cfbb4ea61 Mon Sep 17 00:00:00 2001
From: Svyatoslav Ryhel <clamor95@gmail.com>
Date: Sun, 27 Apr 2025 13:02:19 +0300
Subject: [PATCH 06/24] tegra: max98089: fix cset names
Adjust configs to match Linux kernel MAX98089 codec driver change.
Fixes: 725570f9 ("ASoC: max98088: Remove duplicate DACs")
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/556
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/Tegra/max98089/lge-x3-HiFi.conf | 24 +++++----------
ucm2/Tegra/max98089/lge-x3-VoiceCall.conf | 36 ++++++++---------------
ucm2/Tegra/max98089/lge-x3.conf | 6 ++--
3 files changed, 22 insertions(+), 44 deletions(-)
diff --git a/ucm2/Tegra/max98089/lge-x3-HiFi.conf b/ucm2/Tegra/max98089/lge-x3-HiFi.conf
index 3738d72..d074b9f 100644
--- a/ucm2/Tegra/max98089/lge-x3-HiFi.conf
+++ b/ucm2/Tegra/max98089/lge-x3-HiFi.conf
@@ -11,20 +11,16 @@ SectionDevice."Speaker" {
cset "name='Speaker Switch' on"
cset "name='Int Spk Switch' on"
- cset "name='Left SPK Mixer Left DAC1 Switch' on"
- cset "name='Left SPK Mixer Left DAC2 Switch' on"
- cset "name='Left SPK Mixer Right DAC1 Switch' on"
- cset "name='Left SPK Mixer Right DAC2 Switch' on"
+ cset "name='Left SPK Mixer Left DAC Switch' on"
+ cset "name='Left SPK Mixer Right DAC Switch' on"
]
DisableSequence [
cset "name='Speaker Switch' off"
cset "name='Int Spk Switch' off"
- cset "name='Left SPK Mixer Left DAC1 Switch' off"
- cset "name='Left SPK Mixer Left DAC2 Switch' off"
- cset "name='Left SPK Mixer Right DAC1 Switch' off"
- cset "name='Left SPK Mixer Right DAC2 Switch' off"
+ cset "name='Left SPK Mixer Left DAC Switch' off"
+ cset "name='Left SPK Mixer Right DAC Switch' off"
]
Value {
@@ -46,19 +42,15 @@ SectionDevice."Headphones" {
EnableSequence [
cset "name='Headphone Switch' on"
- cset "name='Left HP Mixer Left DAC1 Switch' on"
- cset "name='Left HP Mixer Left DAC2 Switch' on"
- cset "name='Right HP Mixer Right DAC1 Switch' on"
- cset "name='Right HP Mixer Right DAC2 Switch' on"
+ cset "name='Left HP Mixer Left DAC Switch' on"
+ cset "name='Right HP Mixer Right DAC Switch' on"
]
DisableSequence [
cset "name='Headphone Switch' off"
- cset "name='Left HP Mixer Left DAC1 Switch' off"
- cset "name='Left HP Mixer Left DAC2 Switch' off"
- cset "name='Right HP Mixer Right DAC1 Switch' off"
- cset "name='Right HP Mixer Right DAC2 Switch' off"
+ cset "name='Left HP Mixer Left DAC Switch' off"
+ cset "name='Right HP Mixer Right DAC Switch' off"
]
Value {
diff --git a/ucm2/Tegra/max98089/lge-x3-VoiceCall.conf b/ucm2/Tegra/max98089/lge-x3-VoiceCall.conf
index 1634c7b..8e3a389 100644
--- a/ucm2/Tegra/max98089/lge-x3-VoiceCall.conf
+++ b/ucm2/Tegra/max98089/lge-x3-VoiceCall.conf
@@ -11,20 +11,16 @@ SectionDevice."Speaker" {
cset "name='Speaker Switch' on"
cset "name='Int Spk Switch' on"
- cset "name='Left SPK Mixer Left DAC1 Switch' on"
- cset "name='Left SPK Mixer Left DAC2 Switch' on"
- cset "name='Left SPK Mixer Right DAC1 Switch' on"
- cset "name='Left SPK Mixer Right DAC2 Switch' on"
+ cset "name='Left SPK Mixer Left DAC Switch' on"
+ cset "name='Left SPK Mixer Right DAC Switch' on"
]
DisableSequence [
cset "name='Speaker Switch' off"
cset "name='Int Spk Switch' off"
- cset "name='Left SPK Mixer Left DAC1 Switch' off"
- cset "name='Left SPK Mixer Left DAC2 Switch' off"
- cset "name='Left SPK Mixer Right DAC1 Switch' off"
- cset "name='Left SPK Mixer Right DAC2 Switch' off"
+ cset "name='Left SPK Mixer Left DAC Switch' off"
+ cset "name='Left SPK Mixer Right DAC Switch' off"
]
Value {
@@ -47,30 +43,22 @@ SectionDevice."Earpiece" {
cset "name='Receiver Switch' on"
cset "name='Earpiece Switch' on"
- cset "name='Left REC Mixer Left DAC1 Switch' on"
- cset "name='Left REC Mixer Left DAC2 Switch' on"
- cset "name='Left REC Mixer Right DAC1 Switch' on"
- cset "name='Left REC Mixer Right DAC2 Switch' on"
+ cset "name='Left REC Mixer Left DAC Switch' on"
+ cset "name='Left REC Mixer Right DAC Switch' on"
- cset "name='Right REC Mixer Left DAC1 Switch' on"
- cset "name='Right REC Mixer Left DAC2 Switch' on"
- cset "name='Right REC Mixer Right DAC1 Switch' on"
- cset "name='Right REC Mixer Right DAC2 Switch' on"
+ cset "name='Right REC Mixer Left DAC Switch' on"
+ cset "name='Right REC Mixer Right DAC Switch' on"
]
DisableSequence [
cset "name='Receiver Switch' off"
cset "name='Earpiece Switch' off"
- cset "name='Left REC Mixer Left DAC1 Switch' off"
- cset "name='Left REC Mixer Left DAC2 Switch' off"
- cset "name='Left REC Mixer Right DAC1 Switch' off"
- cset "name='Left REC Mixer Right DAC2 Switch' off"
+ cset "name='Left REC Mixer Left DAC Switch' off"
+ cset "name='Left REC Mixer Right DAC Switch' off"
- cset "name='Right REC Mixer Left DAC1 Switch' off"
- cset "name='Right REC Mixer Left DAC2 Switch' off"
- cset "name='Right REC Mixer Right DAC1 Switch' off"
- cset "name='Right REC Mixer Right DAC2 Switch' off"
+ cset "name='Right REC Mixer Left DAC Switch' off"
+ cset "name='Right REC Mixer Right DAC Switch' off"
]
Value {
diff --git a/ucm2/Tegra/max98089/lge-x3.conf b/ucm2/Tegra/max98089/lge-x3.conf
index 9bea0cc..c90c4a1 100644
--- a/ucm2/Tegra/max98089/lge-x3.conf
+++ b/ucm2/Tegra/max98089/lge-x3.conf
@@ -30,10 +30,8 @@ BootSequence [
cset "name='Internal Mic 2 Switch' off"
cset "name='Mic Jack Switch' off"
- cset "name='Right SPK Mixer Left DAC1 Switch' on"
- cset "name='Right SPK Mixer Left DAC2 Switch' on"
- cset "name='Right SPK Mixer Right DAC1 Switch' on"
- cset "name='Right SPK Mixer Right DAC2 Switch' on"
+ cset "name='Right SPK Mixer Left DAC Switch' on"
+ cset "name='Right SPK Mixer Right DAC Switch' on"
]
SectionUseCase."HiFi" {
--
2.49.0
From a1edaee761d301f7d010124599fd9f82c34fc7db Mon Sep 17 00:00:00 2001
From: Markus Parviainen <mrksprvn@gmail.com>
Date: Sun, 27 Apr 2025 20:20:42 +0300
Subject: [PATCH 07/24] Fix Presonus Revelator IO44 HWChannels count
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/557
Signed-off-by: Markus Parviainen <mrksprvn@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/USB-Audio/Presonus/Revelator-IO-44-HiFi.conf | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/ucm2/USB-Audio/Presonus/Revelator-IO-44-HiFi.conf b/ucm2/USB-Audio/Presonus/Revelator-IO-44-HiFi.conf
index f223e08..6439613 100644
--- a/ucm2/USB-Audio/Presonus/Revelator-IO-44-HiFi.conf
+++ b/ucm2/USB-Audio/Presonus/Revelator-IO-44-HiFi.conf
@@ -59,7 +59,7 @@ SectionDevice."Line1" {
Macro.pcm_split.SplitPCMDevice {
Name "revelator_stereo_out"
Direction Playback
- HWChannels 2
+ HWChannels 6
Channels 2
Channel0 0
Channel1 1
@@ -78,7 +78,7 @@ SectionDevice."Line2" {
Macro.pcm_split.SplitPCMDevice {
Name "revelator_stereo_out"
Direction Playback
- HWChannels 2
+ HWChannels 6
Channels 2
Channel0 2
Channel1 3
@@ -97,7 +97,7 @@ SectionDevice."Line3" {
Macro.pcm_split.SplitPCMDevice {
Name "revelator_stereo_out"
Direction Playback
- HWChannels 2
+ HWChannels 6
Channels 2
Channel0 4
Channel1 5
--
2.49.0
From aa25928dd03299afc9bff994f06c37fc700bb8c0 Mon Sep 17 00:00:00 2001
From: Johan Hovold <johan+linaro@kernel.org>
Date: Thu, 15 May 2025 15:06:56 +0200
Subject: [PATCH 08/24] ucm2: Qualcomm: sc8280xp: fix internal microphones
device
A recent change renamed the internal microphones device from "DMic01" to
"Mic", but the latter name is already used by the headset microphone so
this breaks the internal microphones on the Lenovo ThinkPad X13s.
Rename the headset microphone device so that the names are unique and
fix up the jack hw mute property which is still using the old name.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/563
Fixes: ea7a065a7b50 ("ucm: fix SectionDevice identifiers")
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/Qualcomm/sc8280xp/HiFi.conf | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/ucm2/Qualcomm/sc8280xp/HiFi.conf b/ucm2/Qualcomm/sc8280xp/HiFi.conf
index e20aa9c..916f1ee 100644
--- a/ucm2/Qualcomm/sc8280xp/HiFi.conf
+++ b/ucm2/Qualcomm/sc8280xp/HiFi.conf
@@ -50,8 +50,8 @@ SectionDevice."Headphones" {
}
}
-SectionDevice."Mic" {
- Comment "Mic"
+SectionDevice."Headset" {
+ Comment "Headset microphone"
Include.wcdmice.File "/codecs/wcd938x/HeadphoneMicEnableSeq.conf"
Include.wcdmicd.File "/codecs/wcd938x/HeadphoneMicDisableSeq.conf"
@@ -63,12 +63,12 @@ SectionDevice."Mic" {
CapturePCM "hw:${CardId},2"
CaptureMixerElem "ADC2"
JackControl "Mic Jack"
- JackHWMute "DMic01"
+ JackHWMute "Mic"
}
}
SectionDevice."Mic" {
- Comment "Microphone"
+ Comment "Internal microphones"
Include.vadm0e.File "/codecs/qcom-lpass/va-macro/DMIC0EnableSeq.conf"
Include.vadm0d.File "/codecs/qcom-lpass/va-macro/DMIC0DisableSeq.conf"
--
2.49.0
From 88e1cd78633ea0ad46115ffe8779140fa91fd2f5 Mon Sep 17 00:00:00 2001
From: Johan Hovold <johan+linaro@kernel.org>
Date: Thu, 15 May 2025 15:14:53 +0200
Subject: [PATCH 09/24] ucm2: Qualcomm: sm8650: QRD: fix headset jack hw mute
A recent change renamed the internal microphone devices but failed to
update the headset jack hw mute properties that are still using the old
names.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/563
Fixes: ea7a065a7b50 ("ucm: fix SectionDevice identifiers")
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/Qualcomm/sm8650/QRD/HiFi.conf | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ucm2/Qualcomm/sm8650/QRD/HiFi.conf b/ucm2/Qualcomm/sm8650/QRD/HiFi.conf
index 4336525..ca40c29 100644
--- a/ucm2/Qualcomm/sm8650/QRD/HiFi.conf
+++ b/ucm2/Qualcomm/sm8650/QRD/HiFi.conf
@@ -77,8 +77,8 @@ SectionDevice."Headset" {
CapturePCM "hw:${CardId},2"
CaptureMixerElem "ADC2"
JackControl "Mic Jack"
- JackHWMute "Bottom"
- JackHWMute "Back"
+ JackHWMute "Mic1"
+ JackHWMute "Mic2"
}
}
--
2.49.0
From bab88e0c31cee1c2603428c2ce6444aea343b646 Mon Sep 17 00:00:00 2001
From: Johan Hovold <johan+linaro@kernel.org>
Date: Thu, 15 May 2025 15:17:02 +0200
Subject: [PATCH 10/24] ucm2: tegra: max98090: fix headphones conflicting
device
A recent change renames the speaker device but failed to update the
headphones conflicting device list.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/563
Fixes: ea7a065a7b50 ("ucm: fix SectionDevice identifiers")
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/Tegra/max98090/HiFi.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ucm2/Tegra/max98090/HiFi.conf b/ucm2/Tegra/max98090/HiFi.conf
index d6e4e9d..5d4ef71 100644
--- a/ucm2/Tegra/max98090/HiFi.conf
+++ b/ucm2/Tegra/max98090/HiFi.conf
@@ -33,7 +33,7 @@ SectionDevice."Headphones" {
Comment = "Headphones"
ConflictingDevice [
- "Speakers"
+ "Speaker"
]
EnableSequence [
--
2.49.0
From 24d62b54d5ad6c7e6f9cff4cedcc334b1c98602f Mon Sep 17 00:00:00 2001
From: Johan Hovold <johan+linaro@kernel.org>
Date: Thu, 15 May 2025 15:19:01 +0200
Subject: [PATCH 11/24] ucm2: USB-Audio: Behringer: Flow8: fix conflicting
devices
A recent change renamed the Line-56 and Line-78 devices but failed to
update the conflicting device lists.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/563
Fixes: ea7a065a7b50 ("ucm: fix SectionDevice identifiers")
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/USB-Audio/Behringer/Flow8-Recording-Hifi.conf | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/ucm2/USB-Audio/Behringer/Flow8-Recording-Hifi.conf b/ucm2/USB-Audio/Behringer/Flow8-Recording-Hifi.conf
index 5dce19c..8ce7590 100644
--- a/ucm2/USB-Audio/Behringer/Flow8-Recording-Hifi.conf
+++ b/ucm2/USB-Audio/Behringer/Flow8-Recording-Hifi.conf
@@ -157,7 +157,7 @@ SectionDevice."Line5" {
Comment "Line/Inst 5 (L)"
ConflictingDevice [
- "Line56"
+ "Line9"
]
Value {
@@ -177,7 +177,7 @@ SectionDevice."Line6" {
Comment "Line/Inst(HiZ) 6 (R)"
ConflictingDevice [
- "Line56"
+ "Line9"
]
Value {
@@ -197,7 +197,7 @@ SectionDevice."Line7" {
Comment "Line/Inst 7 (L)"
ConflictingDevice [
- "Line78"
+ "Line10"
]
Value {
@@ -217,7 +217,7 @@ SectionDevice."Line8" {
Comment "Line/Inst(HiZ) 8 (R)"
ConflictingDevice [
- "Line78"
+ "Line10"
]
Value {
--
2.49.0
From 1f816194a9feb2ce0c973ccc2a93551a6f641d77 Mon Sep 17 00:00:00 2001
From: Hiago De Franco <hiago.franco@toradex.com>
Date: Mon, 12 May 2025 13:57:32 -0300
Subject: [PATCH 12/24] ucm2: IO-Boards: Toradex: smarc: add support
Add support for Toradex SMARC Development board, using the WM8904 audio
codec.
This is a carrier board for the Toradex SMARC family, where any SMARC
SoM can be connected to it, therefore this is being added to the
IO-Boards instead of a specific hardware vendor.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/562
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/IO-Boards/Toradex/smarc/dev-HiFi.conf | 39 +++++++++++++++++++
ucm2/IO-Boards/Toradex/smarc/dev.conf | 17 ++++++++
ucm2/conf.d/simple-card/tdx-smarc-wm8904.conf | 1 +
3 files changed, 57 insertions(+)
create mode 100644 ucm2/IO-Boards/Toradex/smarc/dev-HiFi.conf
create mode 100644 ucm2/IO-Boards/Toradex/smarc/dev.conf
create mode 120000 ucm2/conf.d/simple-card/tdx-smarc-wm8904.conf
diff --git a/ucm2/IO-Boards/Toradex/smarc/dev-HiFi.conf b/ucm2/IO-Boards/Toradex/smarc/dev-HiFi.conf
new file mode 100644
index 0000000..7d2dffc
--- /dev/null
+++ b/ucm2/IO-Boards/Toradex/smarc/dev-HiFi.conf
@@ -0,0 +1,39 @@
+# Use case configuration for Toradex SMARC Development Carrier Board
+# This is a carrier board for the Toradex SMARC family, where any Toradex SMARC
+# SoM (with different SoCs as iMX8MP, iMX95...) can be connected to it.
+
+SectionDevice."Headphones" {
+ Comment "Headphones"
+
+ EnableSequence [
+ cset "name='Headphone Switch' on"
+ ]
+
+ DisableSequence [
+ cset "name='Headphone Switch' off"
+ ]
+
+ Value {
+ PlaybackPCM "hw:${CardId}"
+ PlaybackVolume "Headphone Volume"
+ PlaybackSwitch "Headphone Switch"
+ }
+}
+
+SectionDevice."Mic" {
+ Comment "Microphone"
+
+ EnableSequence [
+ cset "name='Capture Switch' on"
+ ]
+
+ DisableSequence [
+ cset "name='Capture Switch' off"
+ ]
+
+ Value {
+ CapturePCM "hw:${CardId}"
+ CaptureVolume "Capture Volume"
+ CaptureSwitch "Capture Switch"
+ }
+}
diff --git a/ucm2/IO-Boards/Toradex/smarc/dev.conf b/ucm2/IO-Boards/Toradex/smarc/dev.conf
new file mode 100644
index 0000000..e795068
--- /dev/null
+++ b/ucm2/IO-Boards/Toradex/smarc/dev.conf
@@ -0,0 +1,17 @@
+# Use case configuration for Toradex SMARC Development Carrier Board
+# This is a carrier board for the Toradex SMARC family, where any Toradex SMARC
+# SoM (with different SoCs as iMX8MP, iMX95...) can be connected to it.
+
+Syntax 4
+
+SectionUseCase."HiFi" {
+ File "/IO-Boards/Toradex/smarc/dev-HiFi.conf"
+ Comment "Default"
+}
+
+BootSequence [
+ cset "name='Headphone Volume' 50%"
+ cset "name='Left Capture Inverting Mux' 'IN1L'"
+ cset "name='Right Capture Inverting Mux' 'IN1R'"
+ cset "name='Capture Volume' 31"
+]
diff --git a/ucm2/conf.d/simple-card/tdx-smarc-wm8904.conf b/ucm2/conf.d/simple-card/tdx-smarc-wm8904.conf
new file mode 120000
index 0000000..096f833
--- /dev/null
+++ b/ucm2/conf.d/simple-card/tdx-smarc-wm8904.conf
@@ -0,0 +1 @@
+../../IO-Boards/Toradex/smarc/dev.conf
\ No newline at end of file
--
2.49.0
From ac918f9b606f6bfe102c449997a1bcab01934db0 Mon Sep 17 00:00:00 2001
From: Flo <flo@fino.fr>
Date: Sat, 24 May 2025 11:52:12 +0200
Subject: [PATCH 13/24] USB-Audio: Solid State Labs SSL 2 - fix capture
channels
Same fix as for SSL+, commit fc17ed4.
Capture configuration is the same, with 4 channels.
Capture:
Status: Stop
Interface 2
Altset 1
Format: S32_LE
Channels: 4
Endpoint: 0x81 (1 IN) (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Channel map: FL FR FC LFE
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/566
Signed-off-by: Flo <flo@fino.fr>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/USB-Audio/SolidStateLabs/SSL2-HiFi.conf | 6 +++---
ucm2/USB-Audio/SolidStateLabs/SSL2.conf | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/ucm2/USB-Audio/SolidStateLabs/SSL2-HiFi.conf b/ucm2/USB-Audio/SolidStateLabs/SSL2-HiFi.conf
index 46b2e26..8663384 100644
--- a/ucm2/USB-Audio/SolidStateLabs/SSL2-HiFi.conf
+++ b/ucm2/USB-Audio/SolidStateLabs/SSL2-HiFi.conf
@@ -6,7 +6,7 @@ Macro [
Name "ssl2_mono_in"
Direction Capture
Channels 1
- HWChannels 2
+ HWChannels 4
HWChannelPos0 MONO
HWChannelPos1 MONO
}
@@ -31,7 +31,7 @@ SectionDevice."Mic1" {
Macro.pcm_split.SplitPCMDevice {
Name "ssl2_mono_in"
Direction Capture
- HWChannels 2
+ HWChannels 4
Channels 1
Channel0 0
ChannelPos0 MONO
@@ -47,7 +47,7 @@ SectionDevice."Mic2" {
Macro.pcm_split.SplitPCMDevice {
Name "ssl2_mono_in"
Direction Capture
- HWChannels 2
+ HWChannels 4
Channels 1
Channel0 1
ChannelPos0 MONO
diff --git a/ucm2/USB-Audio/SolidStateLabs/SSL2.conf b/ucm2/USB-Audio/SolidStateLabs/SSL2.conf
index 5531834..3cdb60b 100644
--- a/ucm2/USB-Audio/SolidStateLabs/SSL2.conf
+++ b/ucm2/USB-Audio/SolidStateLabs/SSL2.conf
@@ -6,6 +6,6 @@ SectionUseCase."HiFi" {
}
Define.DirectPlaybackChannels 2
-Define.DirectCaptureChannels 2
+Define.DirectCaptureChannels 4
Include.dhw.File "/common/direct.conf"
--
2.49.0
From 421e37bae75efc1fc134fbc84bc301f041aaff3b Mon Sep 17 00:00:00 2001
From: Craig McLure <craig@mclure.net>
Date: Tue, 6 May 2025 18:40:47 +0100
Subject: [PATCH 14/24] USB-Audio: Added Beacn Mic and Studio Support
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/558
Signed-off-by: Craig McLure <craig@mclure.net>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/USB-Audio/Beacn/Beacn-Mic-HiFi.conf | 63 ++++++
ucm2/USB-Audio/Beacn/Beacn-Mic.conf | 11 ++
.../Beacn/Beacn-Studio-USB1-Channels.conf | 41 ++++
.../Beacn/Beacn-Studio-USB1-HiFi.conf | 35 ++++
.../Beacn/Beacn-Studio-USB1-Link-HiFi.conf | 179 ++++++++++++++++++
.../Beacn/Beacn-Studio-USB2-HiFi.conf | 175 +++++++++++++++++
ucm2/USB-Audio/Beacn/Beacn-Studio.conf | 42 ++++
ucm2/USB-Audio/USB-Audio.conf | 16 ++
8 files changed, 562 insertions(+)
create mode 100644 ucm2/USB-Audio/Beacn/Beacn-Mic-HiFi.conf
create mode 100644 ucm2/USB-Audio/Beacn/Beacn-Mic.conf
create mode 100644 ucm2/USB-Audio/Beacn/Beacn-Studio-USB1-Channels.conf
create mode 100644 ucm2/USB-Audio/Beacn/Beacn-Studio-USB1-HiFi.conf
create mode 100644 ucm2/USB-Audio/Beacn/Beacn-Studio-USB1-Link-HiFi.conf
create mode 100644 ucm2/USB-Audio/Beacn/Beacn-Studio-USB2-HiFi.conf
create mode 100644 ucm2/USB-Audio/Beacn/Beacn-Studio.conf
diff --git a/ucm2/USB-Audio/Beacn/Beacn-Mic-HiFi.conf b/ucm2/USB-Audio/Beacn/Beacn-Mic-HiFi.conf
new file mode 100644
index 0000000..2445531
--- /dev/null
+++ b/ucm2/USB-Audio/Beacn/Beacn-Mic-HiFi.conf
@@ -0,0 +1,63 @@
+Include.pcm_split.File "/common/pcm/split.conf"
+
+Macro [
+ {
+ SplitPCM {
+ Name "beacn_mic_stereo_out"
+ Direction Playback
+ Channels 2
+ HWChannels 3
+ HWChannelPos0 FL
+ HWChannelPos1 FR
+ HWChannelPos2 MONO
+ }
+ }
+ {
+ SplitPCM {
+ Name "beacn_mic_stereo_in"
+ Direction Capture
+ Channels 2
+ HWChannels 4
+ HWChannelPos0 FL
+ HWChannelPos1 FR
+ HWChannelPos2 MONO # Dry Mic
+ HWChannelPos3 MONO # Dry + Expander
+ }
+ }
+]
+
+SectionDevice."Headphones" {
+ Comment "Headphones"
+
+ Value {
+ PlaybackPriority 200
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_mic_stereo_out"
+ Direction Playback
+ HWChannels 3
+ Channels 2
+ Channel0 0
+ Channel1 1
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Mic" {
+ Comment "Microphone"
+
+ Value {
+ CapturePriority 200
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_mic_stereo_in"
+ Direction Capture
+ HWChannels 4
+ Channels 2
+ Channel0 0
+ Channel1 1
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
diff --git a/ucm2/USB-Audio/Beacn/Beacn-Mic.conf b/ucm2/USB-Audio/Beacn/Beacn-Mic.conf
new file mode 100644
index 0000000..95c6f81
--- /dev/null
+++ b/ucm2/USB-Audio/Beacn/Beacn-Mic.conf
@@ -0,0 +1,11 @@
+Comment "Beacn Mic USB"
+
+SectionUseCase."HiFi" {
+ Comment "Default Alsa Profile"
+ File "/USB-Audio/Beacn/Beacn-Mic-HiFi.conf"
+}
+
+Define.DirectPlaybackChannels 3
+Define.DirectCaptureChannels 4
+
+Include.dhw.File "/common/direct.conf"
diff --git a/ucm2/USB-Audio/Beacn/Beacn-Studio-USB1-Channels.conf b/ucm2/USB-Audio/Beacn/Beacn-Studio-USB1-Channels.conf
new file mode 100644
index 0000000..b9886f4
--- /dev/null
+++ b/ucm2/USB-Audio/Beacn/Beacn-Studio-USB1-Channels.conf
@@ -0,0 +1,41 @@
+Include.pcm_split.File "/common/pcm/split.conf"
+
+Macro.playback.SplitPCM {
+ Name "beacn_studio_stereo_out"
+ Direction Playback
+ Channels 2
+ HWChannels 11
+ HWChannelPos0 FL # Headphone Left
+ HWChannelPos1 FR # Headphone Right
+ HWChannelPos2 MONO # Unused Channel
+ HWChannelPos3 FL # Link 1 Out Left
+ HWChannelPos4 FR # Link 1 Out Right
+ HWChannelPos5 FL # Link 2 Out Left
+ HWChannelPos6 FR # Link 2 Out Right
+ HWChannelPos7 FL # Link 3 Out Left
+ HWChannelPos8 FR # Link 3 Out Right
+ HWChannelPos9 FL # Link 4 Out Left
+ HWChannelPos10 FR # Link 4 Out Right
+}
+
+Macro.capture.SplitPCM {
+ Name "beacn_studio_stereo_in"
+ Direction Capture
+ Channels 2
+ HWChannels 12
+
+ HWChannelPos0 FL # Microphone Left
+ HWChannelPos1 FR # Microphone Right
+
+ HWChannelPos2 MONO # UNKNOWN (Possible Dry Mic)
+ HWChannelPos3 MONO # UNKNOWN (Possible Dry + Expander)
+
+ HWChannelPos4 FL # Link 1 In Left
+ HWChannelPos5 FR # Link 1 In Right
+ HWChannelPos6 FL # Link 2 In Left
+ HWChannelPos7 FR # Link 2 In Right
+ HWChannelPos8 FL # Link 3 In Left
+ HWChannelPos9 FR # Link 3 In Right
+ HWChannelPos10 FL # Link 4 In Left
+ HWChannelPos11 FR # Link 4 In Right
+}
diff --git a/ucm2/USB-Audio/Beacn/Beacn-Studio-USB1-HiFi.conf b/ucm2/USB-Audio/Beacn/Beacn-Studio-USB1-HiFi.conf
new file mode 100644
index 0000000..8c90d5b
--- /dev/null
+++ b/ucm2/USB-Audio/Beacn/Beacn-Studio-USB1-HiFi.conf
@@ -0,0 +1,35 @@
+SectionDevice."Headphones" {
+ Comment "Headphones"
+
+ Value {
+ PlaybackPriority 100
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_out"
+ Direction Playback
+ HWChannels 11
+ Channels 2
+ Channel0 0
+ Channel1 1
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Mic" {
+ Comment "Microphone"
+
+ Value {
+ CapturePriority 100
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_in"
+ Direction Capture
+ HWChannels 12
+ Channels 2
+ Channel0 0
+ Channel1 1
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
diff --git a/ucm2/USB-Audio/Beacn/Beacn-Studio-USB1-Link-HiFi.conf b/ucm2/USB-Audio/Beacn/Beacn-Studio-USB1-Link-HiFi.conf
new file mode 100644
index 0000000..74ff142
--- /dev/null
+++ b/ucm2/USB-Audio/Beacn/Beacn-Studio-USB1-Link-HiFi.conf
@@ -0,0 +1,179 @@
+SectionDevice."Line1" {
+ Comment "Link 4"
+
+ Value {
+ PlaybackPriority 400
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_out"
+ Direction Playback
+ HWChannels 11
+ Channels 2
+ Channel0 9
+ Channel1 10
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Line2" {
+ Comment "Link 3"
+
+ Value {
+ PlaybackPriority 400
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_out"
+ Direction Playback
+ HWChannels 11
+ Channels 2
+ Channel0 7
+ Channel1 8
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Line3" {
+ Comment "Link 2"
+
+ Value {
+ PlaybackPriority 400
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_out"
+ Direction Playback
+ HWChannels 11
+ Channels 2
+ Channel0 5
+ Channel1 6
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Line4" {
+ Comment "Link 1"
+
+ Value {
+ PlaybackPriority 400
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_out"
+ Direction Playback
+ HWChannels 11
+ Channels 2
+ Channel0 3
+ Channel1 4
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Headphones" {
+ Comment "Headphones"
+
+ Value {
+ PlaybackPriority 100
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_out"
+ Direction Playback
+ HWChannels 11
+ Channels 2
+ Channel0 0
+ Channel1 1
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Line5" {
+ Comment "Link 4"
+
+ Value {
+ PlaybackPriority 400
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_in"
+ Direction Capture
+ HWChannels 12
+ Channels 2
+ Channel0 10
+ Channel1 11
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Line6" {
+ Comment "Link 3"
+
+ Value {
+ PlaybackPriority 400
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_in"
+ Direction Capture
+ HWChannels 12
+ Channels 2
+ Channel0 8
+ Channel1 9
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Line7" {
+ Comment "Link 2"
+
+ Value {
+ PlaybackPriority 400
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_in"
+ Direction Capture
+ HWChannels 12
+ Channels 2
+ Channel0 6
+ Channel1 7
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Line8" {
+ Comment "Link 1"
+
+ Value {
+ PlaybackPriority 400
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_in"
+ Direction Capture
+ HWChannels 12
+ Channels 2
+ Channel0 4
+ Channel1 5
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Mic" {
+ Comment "Microphone"
+
+ Value {
+ CapturePriority 100
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_in"
+ Direction Capture
+ HWChannels 12
+ Channels 2
+ Channel0 0
+ Channel1 1
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
diff --git a/ucm2/USB-Audio/Beacn/Beacn-Studio-USB2-HiFi.conf b/ucm2/USB-Audio/Beacn/Beacn-Studio-USB2-HiFi.conf
new file mode 100644
index 0000000..5988d41
--- /dev/null
+++ b/ucm2/USB-Audio/Beacn/Beacn-Studio-USB2-HiFi.conf
@@ -0,0 +1,175 @@
+Include.pcm_split.File "/common/pcm/split.conf"
+
+Macro.playback.SplitPCM {
+ Name "beacn_studio_stereo_out"
+ Direction Playback
+ Channels 2
+ HWChannels 8
+ HWChannelPos0 FL
+ HWChannelPos1 FR
+ HWChannelPos2 FL
+ HWChannelPos3 FR
+ HWChannelPos4 FL
+ HWChannelPos5 FR
+ HWChannelPos6 FL
+ HWChannelPos7 FR
+}
+
+Macro.capture.SplitPCM {
+ Name "beacn_studio_stereo_in"
+ Direction Capture
+ Channels 2
+ HWChannels 8
+ HWChannelPos0 FL
+ HWChannelPos1 FR
+ HWChannelPos2 FL
+ HWChannelPos3 FR
+ HWChannelPos4 FL
+ HWChannelPos5 FR
+ HWChannelPos6 FL
+ HWChannelPos7 FR
+}
+
+SectionDevice."Line1" {
+ Comment "Link 4"
+
+ Value {
+ PlaybackPriority 400
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_out"
+ Direction Playback
+ HWChannels 8
+ Channels 2
+ Channel0 6
+ Channel1 7
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Line2" {
+ Comment "Link 3"
+
+ Value {
+ PlaybackPriority 400
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_out"
+ Direction Playback
+ HWChannels 8
+ Channels 2
+ Channel0 4
+ Channel1 5
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Line3" {
+ Comment "Link 2"
+
+ Value {
+ PlaybackPriority 400
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_out"
+ Direction Playback
+ HWChannels 8
+ Channels 2
+ Channel0 2
+ Channel1 3
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Line4" {
+ Comment "Link 1"
+
+ Value {
+ PlaybackPriority 400
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_out"
+ Direction Playback
+ HWChannels 8
+ Channels 2
+ Channel0 0
+ Channel1 1
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Line5" {
+ Comment "Link 4"
+
+ Value {
+ PlaybackPriority 400
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_in"
+ Direction Capture
+ HWChannels 8
+ Channels 2
+ Channel0 6
+ Channel1 7
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Line6" {
+ Comment "Link 3"
+
+ Value {
+ PlaybackPriority 400
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_in"
+ Direction Capture
+ HWChannels 8
+ Channels 2
+ Channel0 4
+ Channel1 5
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Line7" {
+ Comment "Link 2"
+
+ Value {
+ PlaybackPriority 400
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_in"
+ Direction Capture
+ HWChannels 8
+ Channels 2
+ Channel0 2
+ Channel1 3
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Line8" {
+ Comment "Link 1"
+
+ Value {
+ PlaybackPriority 400
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "beacn_studio_stereo_in"
+ Direction Capture
+ HWChannels 8
+ Channels 2
+ Channel0 0
+ Channel1 1
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
diff --git a/ucm2/USB-Audio/Beacn/Beacn-Studio.conf b/ucm2/USB-Audio/Beacn/Beacn-Studio.conf
new file mode 100644
index 0000000..1b3adc0
--- /dev/null
+++ b/ucm2/USB-Audio/Beacn/Beacn-Studio.conf
@@ -0,0 +1,42 @@
+# The Beacn Studio has two USB ports which both present different PIDs, so we do
+# individual checks, and load the appropriate configs for the port connected.
+
+Comment "Beacn Studio USB"
+If.usb1 {
+ Condition {
+ Type String
+ Haystack "${CardComponents}"
+ Needle "USB33ae:0003"
+ }
+ True {
+ # Channel configuration is common between all the profiles, so we'll include it here
+ Include.pcm_split.File "/USB-Audio/Beacn/Beacn-Studio-USB1-Channels.conf"
+
+ # If the user isn't using the 'Dual PC' feature of the Beacn Studio, there isn't really
+ # much point presenting them with an additional 4 unusable inputs and outputs, so we'll
+ # offer two profile options so those channels can be hidden.
+ SectionUseCase."Basic" {
+ Comment "Beacn Studio"
+ File "/USB-Audio/Beacn/Beacn-Studio-USB1-HiFi.conf"
+ }
+
+ SectionUseCase."Link" {
+ Comment "Beacn Studio with Link"
+ File "/USB-Audio/Beacn/Beacn-Studio-USB1-Link-HiFi.conf"
+ }
+ }
+}
+
+If.usb2 {
+ Condition {
+ Type String
+ Haystack "${CardComponents}"
+ Needle "USB33ae:4003"
+ }
+ True {
+ SectionUseCase."Link" {
+ Comment "Beacn Studio Link"
+ File "/USB-Audio/Beacn/Beacn-Studio-USB2-HiFi.conf"
+ }
+ }
+}
diff --git a/ucm2/USB-Audio/USB-Audio.conf b/ucm2/USB-Audio/USB-Audio.conf
index fe2cd46..d90db39 100644
--- a/ucm2/USB-Audio/USB-Audio.conf
+++ b/ucm2/USB-Audio/USB-Audio.conf
@@ -541,7 +541,23 @@ If.ssl2plus {
ProfileName "SolidStateLabs/SSL2Plus"
}
}
+If.beacn-mic {
+ Condition {
+ Type String
+ Haystack "${CardComponents}"
+ Needle "USB33ae:0001"
+ }
+ True.Define.ProfileName "Beacn/Beacn-Mic"
+}
+If.beacn-studio {
+ Condition {
+ Type RegexMatch
+ String "${CardComponents}"
+ Regex "USB33ae:[04]003"
+ }
+ True.Define.ProfileName "Beacn/Beacn-Studio"
+}
If.mixremap {
Condition {
Type String
--
2.49.0
From e055d16bdf971e26c3d92d998bccb2ca4e4f3c1a Mon Sep 17 00:00:00 2001
From: binarycraft007 <elliot.huang.signed@gmail.com>
Date: Mon, 2 Jun 2025 13:41:38 +0800
Subject: [PATCH 15/24] ucm2: Qualcomm: add ASUS Vivobook S 15 support
S15 supports:
- 2 speakers.
- 2 dmics
- headset with mic.
This patch adds support to all these, however only speakers, dmic and
headset playback is tested.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/570
Signed-off-by: binarycraft007 <elliot.huang.signed@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/Qualcomm/x1e80100/x1e80100.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ucm2/Qualcomm/x1e80100/x1e80100.conf b/ucm2/Qualcomm/x1e80100/x1e80100.conf
index 10faf5f..ecbb13d 100644
--- a/ucm2/Qualcomm/x1e80100/x1e80100.conf
+++ b/ucm2/Qualcomm/x1e80100/x1e80100.conf
@@ -6,7 +6,7 @@ If.LENOVOT14s {
Condition {
Type RegexMatch
String "${var:DMI_info}"
- Regex "LENOVO.*Think((Pad T14s Gen 6.*)|(Book 16 G7 QOY))|(HP.*Omnibook X.*)|(ASUSTeK COMPUTER.*ASUS Zenbook A14)|(Microsoft Corporation.*Surface.*Microsoft Surface Laptop, 7th Edition)"
+ Regex "LENOVO.*Think((Pad T14s Gen 6.*)|(Book 16 G7 QOY))|(HP.*Omnibook X.*)|ASUSTeK COMPUTER.*ASUS (Zenbook A14|Vivobook S 15)|(Microsoft Corporation.*Surface.*Microsoft Surface Laptop, 7th Edition)"
}
True.Include.t14s.File "/Qualcomm/x1e80100/LENOVO-T14s.conf"
}
--
2.49.0
From 59d53fd9cac27e9a05623251aefa6d06da94260c Mon Sep 17 00:00:00 2001
From: Craig McLure <craig@mclure.net>
Date: Wed, 4 Jun 2025 23:25:51 +0100
Subject: [PATCH 16/24] Changed 'Stream Mix' channel names to match the latest
Window release
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/572
Signed-off-by: Craig McLure <craig@mclure.net>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/USB-Audio/GoXLR/GoXLR-HiFi.conf | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ucm2/USB-Audio/GoXLR/GoXLR-HiFi.conf b/ucm2/USB-Audio/GoXLR/GoXLR-HiFi.conf
index 6614b00..17c6580 100644
--- a/ucm2/USB-Audio/GoXLR/GoXLR-HiFi.conf
+++ b/ucm2/USB-Audio/GoXLR/GoXLR-HiFi.conf
@@ -140,7 +140,7 @@ SectionDevice."Line3" {
}
SectionDevice."Line4" {
- Comment "Broadcast Stream Mix"
+ Comment "Stream Mix 1"
Value {
CapturePriority 200
@@ -200,7 +200,7 @@ If.mix2 {
String2 "25"
}
True.SectionDevice."Line6" {
- Comment "Broadcast Stream Mix 2"
+ Comment "Stream Mix 2"
Value {
CapturePriority 200
--
2.49.0
From bd5cf3839f902b67a355669fdf1bd3231e0cb4c1 Mon Sep 17 00:00:00 2001
From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Date: Mon, 9 Jun 2025 20:52:42 +0530
Subject: [PATCH 17/24] Qualcomm: Add QCS9075-IQ-EVK HiFi config
Add UCM2 configs for the Qualcomm QCS9075-IQ-EVK Board to handle:
- I2S Speaker Amplifier
- I2S Mic
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/576
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
.../qcs9075/qcs9075-iq-evk-snd-card/HiFi.conf | 29 +++++++++++++++++++
.../qcs9075-iq-evk-snd-card.conf | 6 ++++
.../qcs9075/qcs9075-iq-evk-snd-card.conf | 6 ++++
3 files changed, 41 insertions(+)
create mode 100644 ucm2/Qualcomm/qcs9075/qcs9075-iq-evk-snd-card/HiFi.conf
create mode 100644 ucm2/Qualcomm/qcs9075/qcs9075-iq-evk-snd-card/qcs9075-iq-evk-snd-card.conf
create mode 100644 ucm2/conf.d/qcs9075/qcs9075-iq-evk-snd-card.conf
diff --git a/ucm2/Qualcomm/qcs9075/qcs9075-iq-evk-snd-card/HiFi.conf b/ucm2/Qualcomm/qcs9075/qcs9075-iq-evk-snd-card/HiFi.conf
new file mode 100644
index 0000000..6673324
--- /dev/null
+++ b/ucm2/Qualcomm/qcs9075/qcs9075-iq-evk-snd-card/HiFi.conf
@@ -0,0 +1,29 @@
+SectionVerb {
+ Value {
+ TQ "HiFi"
+ }
+ EnableSequence [
+ cset "name='PRIMARY_SDR_MI2S_RX Audio Mixer MULTIMEDIA0' 1"
+ cset "name='MULTIMEDIA1 Audio Mixer TERTIARY_SDR_MI2S_TX' 1"
+ ]
+}
+
+SectionDevice."Speaker" {
+ Comment "Speaker playback"
+
+ Value {
+ PlaybackPriority 100
+ PlaybackPCM "hw:${CardId},0"
+ PlaybackMixer "default:${CardId}"
+ PlaybackMixerElem "Speakers"
+ }
+}
+
+SectionDevice."Mic" {
+ Comment "Mic"
+
+ Value {
+ CapturePriority 100
+ CapturePCM "hw:${CardId},1"
+ }
+}
diff --git a/ucm2/Qualcomm/qcs9075/qcs9075-iq-evk-snd-card/qcs9075-iq-evk-snd-card.conf b/ucm2/Qualcomm/qcs9075/qcs9075-iq-evk-snd-card/qcs9075-iq-evk-snd-card.conf
new file mode 100644
index 0000000..669ba6b
--- /dev/null
+++ b/ucm2/Qualcomm/qcs9075/qcs9075-iq-evk-snd-card/qcs9075-iq-evk-snd-card.conf
@@ -0,0 +1,6 @@
+Syntax 4
+
+SectionUseCase."HiFi" {
+ File "/Qualcomm/qcs9075/qcs9075-iq-evk-snd-card/HiFi.conf"
+ Comment "HiFi quality Music"
+}
diff --git a/ucm2/conf.d/qcs9075/qcs9075-iq-evk-snd-card.conf b/ucm2/conf.d/qcs9075/qcs9075-iq-evk-snd-card.conf
new file mode 100644
index 0000000..1e49d38
--- /dev/null
+++ b/ucm2/conf.d/qcs9075/qcs9075-iq-evk-snd-card.conf
@@ -0,0 +1,6 @@
+Syntax 4
+
+SectionUseCase."HiFi" {
+ File "/Qualcomm/qcs9075/qcs9075-iq-evk-snd-card/HiFi.conf"
+ Comment "HiFi quality Music."
+}
--
2.49.0
From e7ec0f1ac3eebfa04e18a944d511bbb5fa57239d Mon Sep 17 00:00:00 2001
From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Date: Tue, 10 Jun 2025 16:46:59 +0530
Subject: [PATCH 18/24] ucm2: Qualcomm: Update the QCM6490 and QCS6490 hifi
conf files
Rename the HiFi conf files for QCM6490-IDP and QCS6490-RB3Gen2 boards
to match with soundcard name.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/577
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
.../QCM6490-IDP/{QCM6490-IDP.conf => qcm6490-idp-snd-card.conf} | 0
.../{QCS6490-RB3Gen2.conf => qcs6490-rb3gen2-snd-card.conf} | 0
.../qcm6490/{QCM6490-IDP.conf => qcm6490-idp-snd-card.conf} | 0
.../{QCS6490-RB3Gen2.conf => qcs6490-rb3gen2-snd-card.conf} | 0
4 files changed, 0 insertions(+), 0 deletions(-)
rename ucm2/Qualcomm/qcm6490/QCM6490-IDP/{QCM6490-IDP.conf => qcm6490-idp-snd-card.conf} (100%)
rename ucm2/Qualcomm/qcs6490/QCS6490-RB3Gen2/{QCS6490-RB3Gen2.conf => qcs6490-rb3gen2-snd-card.conf} (100%)
rename ucm2/conf.d/qcm6490/{QCM6490-IDP.conf => qcm6490-idp-snd-card.conf} (100%)
rename ucm2/conf.d/qcs6490/{QCS6490-RB3Gen2.conf => qcs6490-rb3gen2-snd-card.conf} (100%)
diff --git a/ucm2/Qualcomm/qcm6490/QCM6490-IDP/QCM6490-IDP.conf b/ucm2/Qualcomm/qcm6490/QCM6490-IDP/qcm6490-idp-snd-card.conf
similarity index 100%
rename from ucm2/Qualcomm/qcm6490/QCM6490-IDP/QCM6490-IDP.conf
rename to ucm2/Qualcomm/qcm6490/QCM6490-IDP/qcm6490-idp-snd-card.conf
diff --git a/ucm2/Qualcomm/qcs6490/QCS6490-RB3Gen2/QCS6490-RB3Gen2.conf b/ucm2/Qualcomm/qcs6490/QCS6490-RB3Gen2/qcs6490-rb3gen2-snd-card.conf
similarity index 100%
rename from ucm2/Qualcomm/qcs6490/QCS6490-RB3Gen2/QCS6490-RB3Gen2.conf
rename to ucm2/Qualcomm/qcs6490/QCS6490-RB3Gen2/qcs6490-rb3gen2-snd-card.conf
diff --git a/ucm2/conf.d/qcm6490/QCM6490-IDP.conf b/ucm2/conf.d/qcm6490/qcm6490-idp-snd-card.conf
similarity index 100%
rename from ucm2/conf.d/qcm6490/QCM6490-IDP.conf
rename to ucm2/conf.d/qcm6490/qcm6490-idp-snd-card.conf
diff --git a/ucm2/conf.d/qcs6490/QCS6490-RB3Gen2.conf b/ucm2/conf.d/qcs6490/qcs6490-rb3gen2-snd-card.conf
similarity index 100%
rename from ucm2/conf.d/qcs6490/QCS6490-RB3Gen2.conf
rename to ucm2/conf.d/qcs6490/qcs6490-rb3gen2-snd-card.conf
--
2.49.0
From a98b12220989e2187a47b0e06ac9145c92232a8e Mon Sep 17 00:00:00 2001
From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Date: Wed, 18 Jun 2025 16:46:18 +0530
Subject: [PATCH 19/24] ucm2: Qualcomm: Update the HIFI enable mixer commands
for qcm6490-idp and qcs6490-rb3gen2
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/577
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/Qualcomm/qcm6490/QCM6490-IDP/HiFi.conf | 8 ++++----
ucm2/Qualcomm/qcs6490/QCS6490-RB3Gen2/HiFi.conf | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/ucm2/Qualcomm/qcm6490/QCM6490-IDP/HiFi.conf b/ucm2/Qualcomm/qcm6490/QCM6490-IDP/HiFi.conf
index 0d6497e..0a0d331 100644
--- a/ucm2/Qualcomm/qcm6490/QCM6490-IDP/HiFi.conf
+++ b/ucm2/Qualcomm/qcm6490/QCM6490-IDP/HiFi.conf
@@ -3,10 +3,10 @@ SectionVerb {
TQ "HiFi"
}
EnableSequence [
- cset "name='WSA_CODEC_DMA_RX_0 Audio Mixer MULTIMEDIA0' 1"
- cset "name='MULTIMEDIA1 Audio Mixer VA_CODEC_DMA_TX_0' 1"
- cset "name='RX_CODEC_DMA_RX_0 Audio Mixer MULTIMEDIA2' 1"
- cset "name='MULTIMEDIA3 Audio Mixer TX_CODEC_DMA_TX_3' 1"
+ cset "name='WSA_CODEC_DMA_RX_0 Audio Mixer MultiMedia1' 1"
+ cset "name='MultiMedia2 Mixer VA_CODEC_DMA_TX_0' 1"
+ cset "name='RX_CODEC_DMA_RX_0 Audio Mixer MultiMedia3' 1"
+ cset "name='MultiMedia4 Mixer TX_CODEC_DMA_TX_3' 1"
]
Include.wsae.File "/codecs/wsa883x/DefaultEnableSeq.conf"
diff --git a/ucm2/Qualcomm/qcs6490/QCS6490-RB3Gen2/HiFi.conf b/ucm2/Qualcomm/qcs6490/QCS6490-RB3Gen2/HiFi.conf
index 954dbfa..2488523 100644
--- a/ucm2/Qualcomm/qcs6490/QCS6490-RB3Gen2/HiFi.conf
+++ b/ucm2/Qualcomm/qcs6490/QCS6490-RB3Gen2/HiFi.conf
@@ -3,8 +3,8 @@ SectionVerb {
TQ "HiFi"
}
EnableSequence [
- cset "name='WSA_CODEC_DMA_RX_0 Audio Mixer MULTIMEDIA0' 1"
- cset "name='MULTIMEDIA1 Audio Mixer VA_CODEC_DMA_TX_0' 1"
+ cset "name='WSA_CODEC_DMA_RX_0 Audio Mixer MultiMedia1' 1"
+ cset "name='MultiMedia2 Mixer VA_CODEC_DMA_TX_0' 1"
]
Include.wsae.File "/codecs/wsa883x/DefaultEnableSeq.conf"
--
2.49.0
From 56cbdfd04339cf9598cd9d57f5c1a382504ae902 Mon Sep 17 00:00:00 2001
From: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Date: Thu, 12 Jun 2025 16:33:01 +0300
Subject: [PATCH 20/24] UCM2: Intel: sof-hda-dsp: HiFi: Fix handling of mono
DMICs
When a single DMIC is present in the system we need to set the
CaptureChannels to 1 since the PCM device only supports mono, PA/PW will
reject the profile since it cannot open the DMIC PCM device.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/579
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/Intel/sof-hda-dsp/HiFi.conf | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/ucm2/Intel/sof-hda-dsp/HiFi.conf b/ucm2/Intel/sof-hda-dsp/HiFi.conf
index 9689b56..e452f83 100644
--- a/ucm2/Intel/sof-hda-dsp/HiFi.conf
+++ b/ucm2/Intel/sof-hda-dsp/HiFi.conf
@@ -34,6 +34,16 @@ If.dmic {
True {
CaptureChannels 4
}
+ False.If.mono {
+ Condition {
+ Type RegexMatch
+ Regex "cfg-dmics:[1]"
+ String "${CardComponents}"
+ }
+ True {
+ CaptureChannels 1
+ }
+ }
}
If.vol {
Condition {
--
2.49.0
From e4791900954c3951d15038822a55a3031aac49d2 Mon Sep 17 00:00:00 2001
From: Shuming Fan <shumingf@realtek.com>
Date: Fri, 6 Jun 2025 12:47:08 +0800
Subject: [PATCH 21/24] ucm2: sof-soundwire: add rt712-vb device
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/573
Signed-off-by: Shuming Fan <shumingf@realtek.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/codecs/rt712/init.conf | 34 ++++++++++++++++++++++++++++------
ucm2/sof-soundwire/rt712.conf | 29 +++++++++++++++++++++++++++++
2 files changed, 57 insertions(+), 6 deletions(-)
diff --git a/ucm2/codecs/rt712/init.conf b/ucm2/codecs/rt712/init.conf
index e09bf7f..1e45380 100644
--- a/ucm2/codecs/rt712/init.conf
+++ b/ucm2/codecs/rt712/init.conf
@@ -1,8 +1,30 @@
# RT712 specific volume control settings
-BootSequence [
- cset "name='rt712 FU05 Playback Volume' 87"
- cset "name='rt712 ADC 23 Mux' 'MIC2'"
- cset "name='rt712 FU0F Capture Volume' 57"
- cset "name='rt712 FU0F Capture Switch' 1"
-]
+If.rt712_init {
+ Condition {
+ Type RegexMatch
+ Regex "(rt712(-sdca)?)"
+ String "${var:MultiMicShadow}"
+ }
+ True {
+ # RT712-VB integrated with DMIC
+ BootSequence [
+ cset "name='rt712 FU05 Playback Volume' 87"
+ cset "name='rt712 ADC 23 Mux' 'MIC2'"
+ cset "name='rt712 FU0F Capture Volume' 57"
+ cset "name='rt712 FU0F Capture Switch' 1"
+ cset "name='rt712 FU1E Capture Switch' 1"
+ cset "name='rt712 FU1E Capture Volume' 47"
+ cset "name='rt712 ADC 0A Mux' 'DMIC1'"
+ cset "name='rt712 ADC 0B Mux' 'DMIC2'"
+ ]
+ }
+ False {
+ BootSequence [
+ cset "name='rt712 FU05 Playback Volume' 87"
+ cset "name='rt712 ADC 23 Mux' 'MIC2'"
+ cset "name='rt712 FU0F Capture Volume' 57"
+ cset "name='rt712 FU0F Capture Switch' 1"
+ ]
+ }
+}
diff --git a/ucm2/sof-soundwire/rt712.conf b/ucm2/sof-soundwire/rt712.conf
index 409bef9..346cff1 100644
--- a/ucm2/sof-soundwire/rt712.conf
+++ b/ucm2/sof-soundwire/rt712.conf
@@ -85,3 +85,32 @@ SectionDevice."Headset" {
JackControl "Headset Mic Jack"
}
}
+
+If.codecmic {
+ Condition {
+ Type RegexMatch
+ Regex "(rt712(-sdca)?)"
+ String "${var:MultiMicShadow}"
+ }
+ True {
+ SectionDevice."Mic" {
+ Comment "SoundWire Microphones"
+
+ EnableSequence [
+ cset "name='rt712 FU1E Capture Switch' 1"
+ ]
+
+ DisableSequence [
+ cset "name='rt712 FU1E Capture Switch' 0"
+ ]
+
+ Value {
+ CapturePriority 100
+ CapturePCM "hw:${CardId},4"
+ CaptureSwitch "rt712 FU1E Capture Switch"
+ CaptureVolume "rt712 FU1E Capture Volume"
+ CaptureMixerElem "rt712 FU1E"
+ }
+ }
+ }
+}
--
2.49.0
From 436fbad2a02b91435645e039664af469595ab500 Mon Sep 17 00:00:00 2001
From: DanielDecker <90106468+DanielDecker@users.noreply.github.com>
Date: Mon, 16 Jun 2025 18:27:21 +0200
Subject: [PATCH 22/24] add MSI MAG B850M Mortar Wifi to USB-Audio.conf
add MSI MAG B850M Mortar Wifi USB-ID for Realtek/ALC4080 to USB-Audio.conf
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/581
Signed-off-by: DanielDecker <90106468+DanielDecker@users.noreply.github.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/USB-Audio/USB-Audio.conf | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/ucm2/USB-Audio/USB-Audio.conf b/ucm2/USB-Audio/USB-Audio.conf
index d90db39..ef88ded 100644
--- a/ucm2/USB-Audio/USB-Audio.conf
+++ b/ucm2/USB-Audio/USB-Audio.conf
@@ -89,6 +89,7 @@ If.realtek-alc4080 {
# 0db0:a47c MSI MEG X570S Ace Max
# 0db0:a74b MSI MPG Z790 Edge Wifi
# 0db0:b202 MSI MAG Z690 Tomahawk Wifi
+ # 0db0:cc78 MSI MAG B850M Mortar Wifi
# 0db0:cd0e MSI X870 Tomahawk
# 0db0:d1d7 MSI PRO Z790-A WIFI
# 0db0:d6e7 MSI MPG X670E Carbon Wifi
@@ -96,7 +97,7 @@ If.realtek-alc4080 {
# 26ce:0a06 ASRock X670E/Z790 Taichi
# 26ce:0a08 ASRock Z790 PG-ITX/TB4, X870 Steel Legend
# 26ce:0a0b ASRock X870E Taichi
- Regex "USB((0414:a0(0e|1[0124]))|(0b05:(19(84|9[69])|1a(16|2[07]|5[23c]|97|f1)|1b(7c|9b|e1)))|(0db0:(005a|0b58|124b|151f|1feb|3130|36e7|4(19c|22d|240|88c)|543d|62a4|6c[0c]9|70d3|7696|82c7|8af7|961e|9e6d|a(073|228|47c|74b)|b202|cd0e|d1d7|d6e7|e1f8))|(26ce:0a0[68b]))"
+ Regex "USB((0414:a0(0e|1[0124]))|(0b05:(19(84|9[69])|1a(16|2[07]|5[23c]|97|f1)|1b(7c|9b|e1)))|(0db0:(005a|0b58|124b|151f|1feb|3130|36e7|4(19c|22d|240|88c)|543d|62a4|6c[0c]9|70d3|7696|82c7|8af7|961e|9e6d|a(073|228|47c|74b)|b202|c(c78|d0e)|d1d7|d6e7|e1f8))|(26ce:0a0[68b]))"
}
True.Define.ProfileName "Realtek/ALC4080"
}
--
2.49.0
From b4896cf413e618f4b20c570544a4e668aaa72f64 Mon Sep 17 00:00:00 2001
From: Harald Sitter <sitter@kde.org>
Date: Sat, 21 Jun 2025 17:10:20 +0200
Subject: [PATCH 23/24] ucm2: USB-Audio: Add Teufel CAGE PRO
two stereo outputs: one for "game" and one for "chat".
one mono input
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/582
Signed-off-by: Harald Sitter <sitter@kde.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/USB-Audio/Teufel/CAGE-PRO-HiFi.conf | 21 +++++++++++++++++++++
ucm2/USB-Audio/Teufel/CAGE-PRO.conf | 9 +++++++++
ucm2/USB-Audio/USB-Audio.conf | 10 ++++++++++
3 files changed, 40 insertions(+)
create mode 100644 ucm2/USB-Audio/Teufel/CAGE-PRO-HiFi.conf
create mode 100644 ucm2/USB-Audio/Teufel/CAGE-PRO.conf
diff --git a/ucm2/USB-Audio/Teufel/CAGE-PRO-HiFi.conf b/ucm2/USB-Audio/Teufel/CAGE-PRO-HiFi.conf
new file mode 100644
index 0000000..c0fbe7b
--- /dev/null
+++ b/ucm2/USB-Audio/Teufel/CAGE-PRO-HiFi.conf
@@ -0,0 +1,21 @@
+# SPDX-License-Identifier: MIT
+# SPDX-FileCopyrightText: 2025 Harald Sitter <sitter@kde.org>
+
+SectionDevice."Headset" {
+ Comment "Chat"
+ Value {
+ PlaybackPCM "hw:${CardId},0"
+ PlaybackMixerElem "PCM"
+ CapturePCM "hw:${CardId},0"
+ CaptureMixerElem "Mic"
+ CaptureChannels 1
+ }
+}
+
+SectionDevice."Headphones" {
+ Comment "Game"
+ Value {
+ PlaybackPCM "hw:${CardId},1"
+ PlaybackMixerElem "PCM,1"
+ }
+}
diff --git a/ucm2/USB-Audio/Teufel/CAGE-PRO.conf b/ucm2/USB-Audio/Teufel/CAGE-PRO.conf
new file mode 100644
index 0000000..bf75033
--- /dev/null
+++ b/ucm2/USB-Audio/Teufel/CAGE-PRO.conf
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: MIT
+# SPDX-FileCopyrightText: 2025 Harald Sitter <sitter@kde.org>
+
+Comment "Lautsprecher Teufel GmbH CAGE PRO"
+
+SectionUseCase."HiFi" {
+ Comment "Default"
+ File "/USB-Audio/Teufel/CAGE-PRO-HiFi.conf"
+}
diff --git a/ucm2/USB-Audio/USB-Audio.conf b/ucm2/USB-Audio/USB-Audio.conf
index ef88ded..7a6a0ac 100644
--- a/ucm2/USB-Audio/USB-Audio.conf
+++ b/ucm2/USB-Audio/USB-Audio.conf
@@ -521,6 +521,15 @@ If.ua-volt2 {
}
}
+If.teufel-cage-pro {
+ Condition {
+ Type String
+ Haystack "${CardComponents}"
+ Needle "USB2cc2:0033"
+ }
+ True.Define.ProfileName "Teufel/CAGE-PRO"
+}
+
If.ssl2 {
Condition {
Type String
@@ -559,6 +568,7 @@ If.beacn-studio {
}
True.Define.ProfileName "Beacn/Beacn-Studio"
}
+
If.mixremap {
Condition {
Type String
--
2.49.0
From 63f161cb8d65ed828a1ce49b506f4e1b9a7c58e4 Mon Sep 17 00:00:00 2001
From: Zoran Zhan <zoran.zhan@mediatek.com>
Date: Wed, 7 May 2025 14:41:14 +0800
Subject: [PATCH 24/24] ucm2: MediaTek: mt8365-evk: Add SOF support
Add support for MT8365 EVK with SOF enabled. When SOF is
disabled, the "HiFi" use case is used; when SOF is enabled,
the "SOF" use case is used.
The main difference compared to the UCM with SOF disabled is
the device number for playback and capture, which now uses the
PCMs for SOF instead.
Define these parameters as variables for each case (with and
without SOF), and move the common initialization to init.conf,
so the UCM can be shared by both configurations.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/583
Signed-off-by: Zoran Zhan <zoran.zhan@mediatek.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
ucm2/MediaTek/mt8365-evk/HiFi.conf | 126 ++++++------------
ucm2/MediaTek/mt8365-evk/init.conf | 31 +++++
ucm2/MediaTek/mt8365-evk/mt8365-evk.conf | 40 +-----
ucm2/MediaTek/mt8365-evk/sof/SOF.conf | 87 ++++++++++++
.../mt8365-evk/sof/sof-mt8365-evk.conf | 9 ++
.../conf.d/sof-mt8365-evk/sof-mt8365-evk.conf | 1 +
6 files changed, 174 insertions(+), 120 deletions(-)
create mode 100644 ucm2/MediaTek/mt8365-evk/init.conf
create mode 100644 ucm2/MediaTek/mt8365-evk/sof/SOF.conf
create mode 100644 ucm2/MediaTek/mt8365-evk/sof/sof-mt8365-evk.conf
create mode 120000 ucm2/conf.d/sof-mt8365-evk/sof-mt8365-evk.conf
diff --git a/ucm2/MediaTek/mt8365-evk/HiFi.conf b/ucm2/MediaTek/mt8365-evk/HiFi.conf
index 81f563f..83514c7 100644
--- a/ucm2/MediaTek/mt8365-evk/HiFi.conf
+++ b/ucm2/MediaTek/mt8365-evk/HiFi.conf
@@ -1,141 +1,97 @@
SectionDevice."HDMI" {
- Comment "Hdmi output"
+ Comment "HDMI output"
Value {
- PlaybackPriority 250
+ PlaybackPriority 100
PlaybackChannels 2
PlaybackPCM "hw:${CardId},1"
}
-
- EnableSequence [
- cset "name='O00 I07 Switch' on"
- cset "name='O01 I08 Switch' on"
- ]
-
- DisableSequence [
- cset "name='O00 I07 Switch' off"
- cset "name='O01 I08 Switch' off"
- ]
}
SectionDevice."Speaker" {
- Comment "Line-out Jack "
+ Comment "Lineout speaker"
ConflictingDevice [
"Headphones"
]
- Value {
- PlaybackPriority 300
- PlaybackChannels 2
- PlaybackPCM "hw:${CardId},0"
- PlaybackVolume "name='Lineout_PGAL_GAIN'"
- }
-
EnableSequence [
- cset "name='Audio_Amp_L_Switch' Off"
- cset "name='Audio_Amp_R_Switch' Off"
- cset "name='Lineout_PGAL_GAIN' 0"
- cset "name='Speaker_Amp_Switch' On"
+ cset "name='Headphone Left Source' Open"
+ cset "name='Headphone Right Source' Open"
+ cset "name='Line Out Source' Playback"
]
- DisableSequence [
- cset "name='Audio_Amp_L_Switch' On"
- cset "name='Audio_Amp_R_Switch' On"
- cset "name='Speaker_Amp_Switch' Off"
- ]
+ Value {
+ PlaybackPriority 200
+ PlaybackChannels 2
+ PlaybackPCM "hw:${CardId},${var:PlayDevN}"
+ }
}
SectionDevice."Headphones" {
- Comment "Headset speakers"
+ Comment "Earphone speaker"
ConflictingDevice [
"Speaker"
]
+ EnableSequence [
+ cset "name='Headphone Left Source' DAC"
+ cset "name='Headphone Right Source' DAC"
+ cset "name='Line Out Source' Open"
+ ]
+
Value {
PlaybackPriority 300
PlaybackChannels 2
- PlaybackPCM "hw:${CardId},0"
- PlaybackVolume "name='Headset_PGAL_GAIN'"
+ PlaybackPCM "hw:${CardId},${var:PlayDevN}"
}
-
- EnableSequence [
- cset "name='Audio_Amp_L_Switch' On"
- cset "name='Audio_Amp_R_Switch' On"
- cset "name='Headset_PGAL_GAIN' 1"
- cset "name='Speaker_Amp_Switch' Off"
- ]
-
- DisableSequence [
- cset "name='Audio_Amp_L_Switch' Off"
- cset "name='Audio_Amp_R_Switch' Off"
- cset "name='Speaker_Amp_Switch' On"
- ]
}
-SectionDevice."Mic1" {
- Comment "Amic"
+SectionDevice."Headset" {
+ Comment "Earphone microphone"
ConflictingDevice [
- "Mic2"
+ "Mic1"
]
- Value {
- CapturePriority 300
- CaptureChannels 1
- CapturePCM "hw:${CardId},2"
- }
-
EnableSequence [
- cset "name='Audio_MicSource1_Setting' ADC1"
- cset "name='Audio_MICBIAS0_Switch' Off"
+ cset "name='PGA L Mux' AIN1"
+ cset "name='PGA R Mux' AIN1"
]
- DisableSequence [
- cset "name='Audio_MicSource1_Setting' ADC2"
- cset "name='Audio_MICBIAS0_Switch' On"
- ]
+ Value {
+ CapturePriority 300
+ CaptureChannels "${var:CapChanN}"
+ CapturePCM "hw:${CardId},${var:CapDevN}"
+ }
}
-SectionDevice."Mic2" {
- Comment "Headset microphone"
+SectionDevice."Mic1" {
+ Comment "Analog microphone"
ConflictingDevice [
- "Mic1"
+ "Headset"
]
- Value {
- CapturePriority 350
- CaptureChannels 1
- CapturePCM "hw:${CardId},2"
- }
-
EnableSequence [
- cset "name='Audio_MicSource1_Setting' ADC2"
- cset "name='Audio_MICBIAS0_Switch' On"
+ cset "name='PGA L Mux' AIN0"
+ cset "name='PGA R Mux' AIN0"
]
- DisableSequence [
- cset "name='Audio_MicSource1_Setting' ADC1"
- cset "name='Audio_MICBIAS0_Switch' Off"
- ]
+ Value {
+ CapturePriority 200
+ CaptureChannels "${var:CapChanN}"
+ CapturePCM "hw:${CardId},${var:CapDevN}"
+ }
}
-SectionDevice."Mic3" {
- Comment "PDM microphones"
+SectionDevice."Mic2" {
+ Comment "Digital microphone"
Value {
CapturePriority 100
CaptureChannels 2
CapturePCM "hw:${CardId},3"
}
-
- EnableSequence [
- cset "name='Audio_MICBIAS0_Switch' On"
- ]
-
- DisableSequence [
- cset "name='Audio_MICBIAS0_Switch' Off"
- ]
}
diff --git a/ucm2/MediaTek/mt8365-evk/init.conf b/ucm2/MediaTek/mt8365-evk/init.conf
new file mode 100644
index 0000000..269530a
--- /dev/null
+++ b/ucm2/MediaTek/mt8365-evk/init.conf
@@ -0,0 +1,31 @@
+Syntax 4
+
+SectionUseCase."HiFi" {
+ File "/MediaTek/mt8365-evk/HiFi.conf"
+ Comment "Default"
+}
+
+SectionUseCase."SOF" {
+ File "/MediaTek/mt8365-evk/sof/SOF.conf"
+ Comment "Enable SOF"
+}
+
+BootSequence [
+ cset "name='Headphone Left Source' DAC"
+ cset "name='Headphone Right Source' DAC"
+ cset "name='Line Out Source' Open"
+ cset "name='PGA L Mux' AIN1"
+ cset "name='PGA R Mux' AIN1"
+ cset "name='Mic Type Mux' DCC"
+ cset "name='INT ADDA O03_O04 Switch' on"
+ cset "name='Headphone Volume' 10"
+ cset "name='Lineout Volume' 10"
+ cset "name='O00 I07 Switch' on"
+ cset "name='O01 I08 Switch' on"
+ cset "name='O03 I05 Switch' on"
+ cset "name='O04 I06 Switch' on"
+ cset "name='O05 I03 Switch' on"
+ cset "name='O06 I04 Switch' on"
+ cset "name='O09 I14 Switch' on"
+ cset "name='O10 I15 Switch' on"
+]
diff --git a/ucm2/MediaTek/mt8365-evk/mt8365-evk.conf b/ucm2/MediaTek/mt8365-evk/mt8365-evk.conf
index e396f8c..9df5644 100644
--- a/ucm2/MediaTek/mt8365-evk/mt8365-evk.conf
+++ b/ucm2/MediaTek/mt8365-evk/mt8365-evk.conf
@@ -1,39 +1,9 @@
Syntax 4
-SectionUseCase."HiFi" {
- File "/MediaTek/mt8365-evk/HiFi.conf"
- Comment "Play high quality music"
+Define {
+ PlayDevN "0"
+ CapDevN "2"
+ CapChanN "1"
}
-BootSequence [
- #Audio volume
- cset "name='Headset_PGAL_GAIN' 0"
- cset "name='Lineout_PGAL_GAIN' 0"
-
- #Audio amp
- cset "name='Audio_Amp_R_Switch' On"
- cset "name='Audio_Amp_L_Switch' On"
-
- #Headset out
- cset "name='Speaker_Amp_Switch' Off"
-
- #Dmic
- cset "name='Audio_MICBIAS0_Switch' On"
-
- #HDMI audio (I2S3 Out)
- cset "name='O00 I07 Switch' on"
- cset "name='O01 I08 Switch' on"
-
- #jack_mic Headset In
- cset "name='Audio_MicSource1_Setting' ADC2"
-
- cset "name='O03 I05 Switch' on"
- cset "name='O04 I06 Switch' on"
- cset "name='O05 I03 Switch' on"
- cset "name='O06 I04 Switch' on"
- cset "name='O09 I14 Switch' on"
- cset "name='O10 I15 Switch' on"
- cset "name='AUD_CLK_BUF_Switch' On"
- cset "name='Audio_ADC_1_Switch' On"
- cset "name='INT ADDA O03_O04 Switch' on"
-]
+Include.init.File "/MediaTek/mt8365-evk/init.conf"
diff --git a/ucm2/MediaTek/mt8365-evk/sof/SOF.conf b/ucm2/MediaTek/mt8365-evk/sof/SOF.conf
new file mode 100644
index 0000000..af44feb
--- /dev/null
+++ b/ucm2/MediaTek/mt8365-evk/sof/SOF.conf
@@ -0,0 +1,87 @@
+SectionDevice."Speaker" {
+ Comment "SOF Lineout speaker"
+
+ ConflictingDevice [
+ "Headphones"
+ ]
+
+ EnableSequence [
+ cset "name='Headphone Left Source' Open"
+ cset "name='Headphone Right Source' Open"
+ cset "name='Line Out Source' Playback"
+ ]
+
+ Value {
+ PlaybackPriority 100
+ PlaybackChannels 2
+ PlaybackPCM "hw:${CardId},${var:PlayDevN}"
+ }
+}
+
+SectionDevice."Headphones" {
+ Comment "SOF Earphone speaker"
+
+ ConflictingDevice [
+ "Speaker"
+ ]
+
+ EnableSequence [
+ cset "name='Headphone Left Source' DAC"
+ cset "name='Headphone Right Source' DAC"
+ cset "name='Line Out Source' Open"
+ ]
+
+ Value {
+ PlaybackPriority 200
+ PlaybackChannels 2
+ PlaybackPCM "hw:${CardId},${var:PlayDevN}"
+ }
+}
+
+SectionDevice."Headset" {
+ Comment "SOF Earphone microphone"
+
+ ConflictingDevice [
+ "Mic1"
+ ]
+
+ EnableSequence [
+ cset "name='PGA L Mux' AIN1"
+ cset "name='PGA R Mux' AIN1"
+ ]
+
+ Value {
+ CapturePriority 300
+ CaptureChannels "${var:CapChanN}"
+ CapturePCM "hw:${CardId},${var:CapDevN}"
+ }
+}
+
+SectionDevice."Mic1" {
+ Comment "SOF Analog microphone"
+
+ ConflictingDevice [
+ "Headset"
+ ]
+
+ EnableSequence [
+ cset "name='PGA L Mux' AIN0"
+ cset "name='PGA R Mux' AIN0"
+ ]
+
+ Value {
+ CapturePriority 200
+ CaptureChannels "${var:CapChanN}"
+ CapturePCM "hw:${CardId},${var:CapDevN}"
+ }
+}
+
+SectionDevice."Mic2" {
+ Comment "SOF Digital microphone"
+
+ Value {
+ CapturePriority 100
+ CaptureChannels 2
+ CapturePCM "hw:${CardId},19"
+ }
+}
diff --git a/ucm2/MediaTek/mt8365-evk/sof/sof-mt8365-evk.conf b/ucm2/MediaTek/mt8365-evk/sof/sof-mt8365-evk.conf
new file mode 100644
index 0000000..6369aac
--- /dev/null
+++ b/ucm2/MediaTek/mt8365-evk/sof/sof-mt8365-evk.conf
@@ -0,0 +1,9 @@
+Syntax 4
+
+Define {
+ PlayDevN "16"
+ CapDevN "18"
+ CapChanN "2"
+}
+
+Include.init.File "/MediaTek/mt8365-evk/init.conf"
diff --git a/ucm2/conf.d/sof-mt8365-evk/sof-mt8365-evk.conf b/ucm2/conf.d/sof-mt8365-evk/sof-mt8365-evk.conf
new file mode 120000
index 0000000..527f25f
--- /dev/null
+++ b/ucm2/conf.d/sof-mt8365-evk/sof-mt8365-evk.conf
@@ -0,0 +1 @@
+../../MediaTek/mt8365-evk/sof/sof-mt8365-evk.conf
\ No newline at end of file
--
2.49.0