From e25e8171473f844cf64788b27af0df6558fa90ba Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 9 Dec 2021 12:24:17 +0100 Subject: [PATCH] AMD acp UCM fix --- alsa-lib.spec | 4 +- alsa-ucm-conf.patch | 228 +++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 229 insertions(+), 3 deletions(-) diff --git a/alsa-lib.spec b/alsa-lib.spec index 28c4a33..450ce1d 100644 --- a/alsa-lib.spec +++ b/alsa-lib.spec @@ -9,7 +9,7 @@ Summary: The Advanced Linux Sound Architecture (ALSA) library Name: alsa-lib Version: %{version_alsa_lib} -Release: 2%{?prever_dot}%{?dist} +Release: 3%{?prever_dot}%{?dist} License: LGPLv2+ URL: http://www.alsa-project.org/ @@ -167,7 +167,7 @@ rm %{buildroot}/%{_includedir}/asoundlib.h %{_datadir}/alsa/topology %changelog -* Thu Dec 9 2021 Jaroslav Kysela - 1.2.6-2 +* Thu Dec 9 2021 Jaroslav Kysela - 1.2.6-3 - device open fixes from upstream * Mon Dec 6 2021 Jaroslav Kysela - 1.2.6-1 diff --git a/alsa-ucm-conf.patch b/alsa-ucm-conf.patch index b04faba..f7e2ff1 100644 --- a/alsa-ucm-conf.patch +++ b/alsa-ucm-conf.patch @@ -1,7 +1,7 @@ From 244fc744e90c85f2816c5baba9fee08a85fec58e Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 9 Dec 2021 09:00:12 +0100 -Subject: [PATCH] USB-Audio: fix the wrong condition type for +Subject: [PATCH 1/3] USB-Audio: fix the wrong condition type for If.realtek-alc1220-vb BugLink: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1246 @@ -26,3 +26,229 @@ index 878d16d..d9d740e 100644 -- 2.31.1 + +From cefbdeb9f763ab4cbba1c338716d40acb6a4e43a Mon Sep 17 00:00:00 2001 +From: AngeloGioacchino Del Regno +Date: Wed, 10 Nov 2021 14:12:39 +0100 +Subject: [PATCH 2/3] ucm2: Add support for SC7180 Trogdor Lazor Chromebooks + +Almost all Trogdor Chromebooks are using RT5682 for headphones/headset +on 3.5mm jack, internal microphone and headset microphone, and MAX98357A +for the internal speakers (Lazor and Limozeen). + +This adds support for the sc7180-rt5682-max98357a-1mic sound card found +on the aforementioned Chromebooks. + +Signed-off-by: AngeloGioacchino Del Regno +Signed-off-by: Jaroslav Kysela +--- + .../sc7180/rt5682-max98357a/HiFi.conf | 101 ++++++++++++++++++ + .../sc7180/rt5682-max98357a/init.conf | 24 +++++ + .../sc7180-rt5682-max98357a-1mic.conf | 11 ++ + .../SC7180/sc7180-rt5682-max98357a-1mic.conf | 1 + + 4 files changed, 137 insertions(+) + create mode 100644 ucm2/Qualcomm/sc7180/rt5682-max98357a/HiFi.conf + create mode 100644 ucm2/Qualcomm/sc7180/rt5682-max98357a/init.conf + create mode 100644 ucm2/Qualcomm/sc7180/rt5682-max98357a/sc7180-rt5682-max98357a-1mic.conf + create mode 120000 ucm2/conf.d/SC7180/sc7180-rt5682-max98357a-1mic.conf + +diff --git a/ucm2/Qualcomm/sc7180/rt5682-max98357a/HiFi.conf b/ucm2/Qualcomm/sc7180/rt5682-max98357a/HiFi.conf +new file mode 100644 +index 0000000..c93b4f7 +--- /dev/null ++++ b/ucm2/Qualcomm/sc7180/rt5682-max98357a/HiFi.conf +@@ -0,0 +1,101 @@ ++# Use case configuration for ALC5682+MAX98357A on SC7180 ++ ++SectionVerb { ++ Value { ++ TQ "HiFi" ++ } ++} ++ ++SectionDevice."Speaker" { ++ Comment "Speaker" ++ ++ Value { ++ PlaybackChannels 2 ++ PlaybackPCM "hw:${CardId},1" ++ PlaybackPriority 100 ++ PlaybackMixerElem "Speaker" ++ PlaybackVolume "Speaker Playback Volume" ++ } ++} ++ ++SectionDevice."Headphones" { ++ Comment "Headphones" ++ ++ EnableSequence [ ++ cset "name='HPOL Playback Switch' 1" ++ cset "name='HPOR Playback Switch' 1" ++ cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1" ++ cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1" ++ ] ++ ++ DisableSequence [ ++ cset "name='HPOL Playback Switch' 0" ++ cset "name='HPOR Playback Switch' 0" ++ cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0" ++ cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0" ++ ] ++ ++ Value { ++ PlaybackPCM "hw:${CardId},0" ++ PlaybackPriority 200 ++ PlaybackMasterElem "DAC1" ++ PlaybackMixerElem "Headphone" ++ PlaybackVolume "Headphone Playback Volume" ++ } ++} ++ ++SectionDevice."Mic" { ++ Comment "Internal Microphone" ++ ++ ConflictingDevice [ ++ "Headset" ++ ] ++ ++ EnableSequence [ ++ cset "name='IF1 01 ADC Swap Mux' 1" ++ cset "name='Stereo1 ADC L2 Mux' 1" ++ cset "name='Stereo1 ADC R2 Mux' 1" ++ cset "name='Stereo1 ADC MIXL ADC2 Switch' 1" ++ cset "name='Stereo1 ADC MIXR ADC2 Switch' 1" ++ ] ++ ++ DisableSequence [ ++ cset "name='Stereo1 ADC L2 Mux' 0" ++ cset "name='Stereo1 ADC R2 Mux' 0" ++ cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" ++ cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" ++ ] ++ ++ Value { ++ CapturePCM "hw:${CardId},0" ++ CapturePriority 100 ++ CaptureMixerElem "STO1 ADC" ++ CaptureVolume "STO1 ADC Capture Volume" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "Headset Microphone" ++ ++ EnableSequence [ ++ cset "name='IF1 01 ADC Swap Mux' 2" ++ cset "name='Stereo1 ADC L1 Mux' 1" ++ cset "name='Stereo1 ADC R1 Mux' 1" ++ cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" ++ cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" ++ ] ++ ++ DisableSequence [ ++ cset "name='Stereo1 ADC L1 Mux' 0" ++ cset "name='Stereo1 ADC R1 Mux' 0" ++ cset "name='Stereo1 ADC MIXL ADC1 Switch' 0" ++ cset "name='Stereo1 ADC MIXR ADC1 Switch' 0" ++ ] ++ ++ Value { ++ CapturePCM "hw:${CardId},0" ++ CapturePriority 200 ++ CaptureMixerElem "STO1 ADC" ++ CaptureVolume "STO1 ADC Capture Volume" ++ } ++} +diff --git a/ucm2/Qualcomm/sc7180/rt5682-max98357a/init.conf b/ucm2/Qualcomm/sc7180/rt5682-max98357a/init.conf +new file mode 100644 +index 0000000..5dee38a +--- /dev/null ++++ b/ucm2/Qualcomm/sc7180/rt5682-max98357a/init.conf +@@ -0,0 +1,24 @@ ++BootSequence [ ++ # Headphone ++ cset "name='HPOL Playback Switch' 0" ++ cset "name='HPOR Playback Switch' 0" ++ cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0" ++ cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0" ++ ++ # Headset mic ++ cset "name='Stereo1 ADC L Mux' 0" ++ cset "name='STO1 ADC Capture Switch' on" ++ cset "name='RECMIX1L CBJ Switch' 1" ++ cset "name='CBJ Boost Volume' 3" ++ cset "name='Stereo1 ADC L1 Mux' 0" ++ cset "name='Stereo1 ADC R1 Mux' 0" ++ cset "name='Stereo1 ADC MIXL ADC1 Switch' 0" ++ cset "name='Stereo1 ADC MIXR ADC1 Switch' 0" ++ ++ # Internal mic on ALC5682 ++ cset "name='IF1 01 ADC Swap Mux' 1" ++ cset "name='Stereo1 ADC L2 Mux' 0" ++ cset "name='Stereo1 ADC R2 Mux' 0" ++ cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" ++ cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" ++] +diff --git a/ucm2/Qualcomm/sc7180/rt5682-max98357a/sc7180-rt5682-max98357a-1mic.conf b/ucm2/Qualcomm/sc7180/rt5682-max98357a/sc7180-rt5682-max98357a-1mic.conf +new file mode 100644 +index 0000000..6a2be7e +--- /dev/null ++++ b/ucm2/Qualcomm/sc7180/rt5682-max98357a/sc7180-rt5682-max98357a-1mic.conf +@@ -0,0 +1,11 @@ ++Comment "SC7180 RT5682 MAX98357A single microphone sound card" ++Syntax 4 ++ ++SectionUseCase."HiFi" { ++ File "/Qualcomm/sc7180/rt5682-max98357a/HiFi.conf" ++ Comment "Default" ++} ++ ++Include.card-init.File "/lib/card-init.conf" ++Include.ctl-remap.File "/lib/ctl-remap.conf" ++Include.init.File "/Qualcomm/sc7180/rt5682-max98357a/init.conf" +diff --git a/ucm2/conf.d/SC7180/sc7180-rt5682-max98357a-1mic.conf b/ucm2/conf.d/SC7180/sc7180-rt5682-max98357a-1mic.conf +new file mode 120000 +index 0000000..00f3e9e +--- /dev/null ++++ b/ucm2/conf.d/SC7180/sc7180-rt5682-max98357a-1mic.conf +@@ -0,0 +1 @@ ++../../Qualcomm/sc7180/rt5682-max98357a/sc7180-rt5682-max98357a-1mic.conf +\ No newline at end of file +-- +2.31.1 + + +From 60ea26507390bad3742af2272ba08b21f009d0ef Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Thu, 9 Dec 2021 11:24:14 +0100 +Subject: [PATCH 3/3] acp: fix linked configuration + +Fixes: https://github.com/alsa-project/alsa-lib/issues/199 +Signed-off-by: Jaroslav Kysela +--- + ucm2/common/linked-card.conf | 3 +++ + ucm2/conf.d/acp/acp.conf | 2 +- + 2 files changed, 4 insertions(+), 1 deletion(-) + create mode 100644 ucm2/common/linked-card.conf + +diff --git a/ucm2/common/linked-card.conf b/ucm2/common/linked-card.conf +new file mode 100644 +index 0000000..a90f20e +--- /dev/null ++++ b/ucm2/common/linked-card.conf +@@ -0,0 +1,3 @@ ++Syntax 3 ++ ++Include.linked.File "/common/linked.conf" +diff --git a/ucm2/conf.d/acp/acp.conf b/ucm2/conf.d/acp/acp.conf +index 5f056c7..7298c24 120000 +--- a/ucm2/conf.d/acp/acp.conf ++++ b/ucm2/conf.d/acp/acp.conf +@@ -1 +1 @@ +-../../common/linked.conf +\ No newline at end of file ++../../common/linked-card.conf +\ No newline at end of file +-- +2.31.1 +