From f10c04e8da06415c239fd62b9a41a89931994063 Mon Sep 17 00:00:00 2001 From: Jeremy Kescher Date: Thu, 4 Jul 2024 02:08:08 +0200 Subject: [PATCH] USB-Audio: Add support for Solid State Labs SSL 2+ Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/429 Signed-off-by: Jeremy Kescher Signed-off-by: Jaroslav Kysela --- .../SolidStateLabs/SSL2Plus-HiFi.conf | 102 ++++++++++++++++++ ucm2/USB-Audio/SolidStateLabs/SSL2Plus.conf | 11 ++ ucm2/USB-Audio/USB-Audio.conf | 11 ++ 3 files changed, 124 insertions(+) create mode 100644 ucm2/USB-Audio/SolidStateLabs/SSL2Plus-HiFi.conf create mode 100644 ucm2/USB-Audio/SolidStateLabs/SSL2Plus.conf diff --git a/ucm2/USB-Audio/SolidStateLabs/SSL2Plus-HiFi.conf b/ucm2/USB-Audio/SolidStateLabs/SSL2Plus-HiFi.conf new file mode 100644 index 00000000..d07e4998 --- /dev/null +++ b/ucm2/USB-Audio/SolidStateLabs/SSL2Plus-HiFi.conf @@ -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 index 00000000..2ffe4c4b --- /dev/null +++ b/ucm2/USB-Audio/SolidStateLabs/SSL2Plus.conf @@ -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" diff --git a/ucm2/USB-Audio/USB-Audio.conf b/ucm2/USB-Audio/USB-Audio.conf index ac85a180..0e12d2d4 100644 --- a/ucm2/USB-Audio/USB-Audio.conf +++ b/ucm2/USB-Audio/USB-Audio.conf @@ -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