]> git.alsa-project.org Git - alsa-ucm-conf.git/commitdiff
USB-Audio: Add support for Solid State Labs SSL 2+
authorJeremy Kescher <jeremy@kescher.at>
Thu, 4 Jul 2024 00:08:08 +0000 (02:08 +0200)
committerJaroslav Kysela <perex@perex.cz>
Fri, 2 Aug 2024 13:44:06 +0000 (15:44 +0200)
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/429
Signed-off-by: Jeremy Kescher <jeremy@kescher.at>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ucm2/USB-Audio/SolidStateLabs/SSL2Plus-HiFi.conf [new file with mode: 0644]
ucm2/USB-Audio/SolidStateLabs/SSL2Plus.conf [new file with mode: 0644]
ucm2/USB-Audio/USB-Audio.conf

diff --git a/ucm2/USB-Audio/SolidStateLabs/SSL2Plus-HiFi.conf b/ucm2/USB-Audio/SolidStateLabs/SSL2Plus-HiFi.conf
new file mode 100644 (file)
index 0000000..d07e499
--- /dev/null
@@ -0,0 +1,102 @@
+Include.pcm_split.File "/common/pcm/split.conf"
+
+Macro [
+       {
+               SplitPCM {
+                       Name "ssl2plus_stereo_out"
+                       Direction Playback
+                       Channels 2
+                       HWChannels 4
+                       HWChannelPos0 FL
+                       HWChannelPos1 FR
+                       HWChannelPos2 FL
+                       HWChannelPos3 FR
+               }
+       }
+       {
+               SplitPCM {
+                       Name "ssl2plus_mono_in"
+                       Direction Capture
+                       Channels 1
+                       HWChannels 2
+                       HWChannelPos0 MONO
+                       HWChannelPos1 MONO
+               }
+       }
+]
+
+SectionDevice."Line1" {
+       Comment "Line Outputs 1/L + 2/R"
+
+       EnableSequence [
+               cdev "hw:${CardId}"
+       ]
+
+       DisableSequence [
+               cdev "hw:${CardId}"
+       ]
+
+       Value {
+               PlaybackPriority 200
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "ssl2plus_stereo_out"
+               Direction Playback
+               HWChannels 4
+               Channels 2
+               Channel0 0
+               Channel1 1
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."Line2" {
+       Comment "Line Outputs 3 + 4"
+
+       Value {
+               PlaybackPriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "ssl2plus_stereo_out"
+               Direction Playback
+               HWChannels 4
+               Channels 2
+               Channel0 2
+               Channel1 3
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."Mic1" {
+       Comment "Mic/Line/Inst 1"
+
+       Value {
+               CapturePriority 200
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "ssl2plus_mono_in"
+               Direction Capture
+               HWChannels 2
+               Channels 1
+               Channel0 0
+               ChannelPos0 MONO
+       }
+}
+
+SectionDevice."Mic2" {
+       Comment "Mic/Line/Inst 2"
+
+       Value {
+               CapturePriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "ssl2plus_mono_in"
+               Direction Capture
+               HWChannels 2
+               Channels 1
+               Channel0 1
+               ChannelPos0 MONO
+       }
+}
diff --git a/ucm2/USB-Audio/SolidStateLabs/SSL2Plus.conf b/ucm2/USB-Audio/SolidStateLabs/SSL2Plus.conf
new file mode 100644 (file)
index 0000000..2ffe4c4
--- /dev/null
@@ -0,0 +1,11 @@
+Comment "Solid State Labs SSL 2+"
+
+SectionUseCase."HiFi" {
+       Comment "HiFi"
+       File "/USB-Audio/SolidStateLabs/SSL2Plus-HiFi.conf"
+}
+
+Define.DirectPlaybackChannels 4
+Define.DirectCaptureChannels 2
+
+Include.dhw.File "/common/direct.conf"
index ac85a180393d07bf849a656ed3fa951c560e2152..0e12d2d48a09566cabc5f8770c492ac57390ae1f 100644 (file)
@@ -395,6 +395,17 @@ If.ssl2 {
        }
 }
 
+If.ssl2plus {
+       Condition {
+               Type String
+               Haystack "${CardComponents}"
+               Needle "USB31e9:0002"
+       }
+       True.Define {
+               ProfileName "SolidStateLabs/SSL2Plus"
+       }
+}
+
 If.mixremap {
        Condition {
                Type String