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