distribution/packages/audio/alsa-ucm-conf/patches/001-steamdeck.patch

299 lines
7.5 KiB
Diff

diff -rupN alsa-ucm-conf.orig/ucm2/conf.d/acp5x/acp5x.conf alsa-ucm-conf/ucm2/conf.d/acp5x/acp5x.conf
--- alsa-ucm-conf.orig/ucm2/conf.d/acp5x/acp5x.conf 1969-12-31 19:00:00.000000000 -0500
+++ alsa-ucm-conf/ucm2/conf.d/acp5x/acp5x.conf 2023-01-15 22:05:57.605619272 -0500
@@ -0,0 +1,17 @@
+Syntax 2
+
+Comment "Vangogh internal card"
+
+SectionUseCase."HiFi" {
+ If.upstream {
+ Condition {
+ Type ControlExists
+ Control "name='Left Analog PCM Volume'"
+ }
+ True.File "HiFi-upstream.conf"
+ False.File "HiFi.conf"
+ }
+
+ Comment "Default"
+}
+
diff -rupN alsa-ucm-conf.orig/ucm2/conf.d/acp5x/HiFi.conf alsa-ucm-conf/ucm2/conf.d/acp5x/HiFi.conf
--- alsa-ucm-conf.orig/ucm2/conf.d/acp5x/HiFi.conf 1969-12-31 19:00:00.000000000 -0500
+++ alsa-ucm-conf/ucm2/conf.d/acp5x/HiFi.conf 2023-01-15 22:05:57.609619224 -0500
@@ -0,0 +1,140 @@
+SectionVerb {
+ Value {
+ FullySpecifiedUCM "1"
+ }
+ EnableSequence [
+ cdev "hw:acp5x"
+
+ exec "echo Main Verb Config EnableSequence"
+
+ cset "name='Left DSP Booted' 0"
+ cset "name='Right DSP Booted' 0"
+ cset "name='Left DSP1 Preload Switch' 0"
+ cset "name='Right DSP1 Preload Switch' 0"
+ cset "name='Headphone Volume' 0"
+ cset "name='Digital Playback Volume' 207"
+ cset "name='Frontend PGA Volume' 27"
+ cset "name='ADC Phase Switch' 1"
+ cset "name='BIQ Coefficients' 0x03,0x5a,0x00,0x06,0xfc,0xac,0x00,0x00,0xfe,0x58,0x00,0x00,0x03,0x50,0x00,0x06,0xfe,0x58,0x00,0x08"
+ cset "name='Left AMP PCM Gain' 17"
+ cset "name='Right AMP PCM Gain' 17"
+ cset "name='Left Digital PCM Volume' 817"
+ cset "name='Right Digital PCM Volume' 817"
+ cset "name='Left ASPRX1 Slot Position' 0"
+ cset "name='Left ASPRX2 Slot Position' 1"
+ cset "name='Left DSP RX1 Source' ASPRX1"
+ cset "name='Left DSP RX2 Source' ASPRX1"
+ cset "name='Right ASPRX1 Slot Position' 0"
+ cset "name='Right ASPRX2 Slot Position' 1"
+ cset "name='Right DSP RX1 Source' ASPRX2"
+ cset "name='Right DSP RX2 Source' ASPRX2"
+
+ cset "name='Left Boost Converter Enable' 2"
+ cset "name='Right DSP RX1 Source' 2"
+ cset "name='Left DSP RX2 Source' 1"
+ ]
+ DisableSequence [
+ cdev "hw:acp5x"
+
+ exec "echo Main Verb Config DisableSequence"
+ cset "name='Left DSP Booted' 0"
+ cset "name='Right DSP Booted' 0"
+ cset "name='Left DSP1 Preload Switch' 0"
+ cset "name='Right DSP1 Preload Switch' 0"
+ ]
+}
+
+SectionDevice."Headphones".0 {
+ Comment "Headphones"
+
+ Value {
+ PlaybackPriority 200
+ PlaybackPCM "hw:acp5x,0"
+ JackControl "Headphone Jack"
+ }
+ ConflictingDevice [
+ ]
+ EnableSequence [
+ cdev "hw:acp5x"
+ exec "echo Headphones EnableSequence"
+ cset "name='Headphone Switch' on"
+ ]
+ DisableSequence [
+ cdev "hw:acp5x"
+ exec "echo Headphones DisableSequence"
+ cset "name='Headphone Switch' off"
+ ]
+}
+
+SectionDevice."Speaker".0 {
+ Comment "Speaker"
+
+ Value {
+ PlaybackPriority 100
+ PlaybackPCM "hw:acp5x,1"
+ }
+ ConflictingDevice [
+ ]
+ EnableSequence [
+ cdev "hw:acp5x"
+ exec "echo Speaker EnableSequence"
+ cset "name='Left DSP1 Preload Switch' 1"
+ cset "name='Right DSP1 Preload Switch' 1"
+ cset "name='Left AMP Enable Switch' on"
+ cset "name='Right AMP Enable Switch' on"
+ cset "name='Left PCM Source' DSP"
+ cset "name='Right PCM Source' DSP"
+ ]
+ DisableSequence [
+ cdev "hw:acp5x"
+ exec "echo Speaker DisableSequence"
+ cset "name='Left AMP Enable Switch' off"
+ cset "name='Right AMP Enable Switch' off"
+ ]
+}
+
+SectionDevice."Internal Mic".0 {
+ Comment "Internal Microphone"
+
+ Value {
+ CapturePriority 200
+ CapturePCM "hw:acp5x,0"
+ }
+ ConflictingDevice [
+ "Headset"
+ ]
+ EnableSequence [
+ cdev "hw:acp5x"
+ cset "name='Int Mic Switch' on"
+ cset "name='DMIC Enable Switch' on"
+ cset "name='Mic Volume' 252"
+ ]
+ DisableSequence [
+ cdev "hw:acp5x"
+ cset "name='Int Mic Switch' off"
+ cset "name='DMIC Enable Switch' off"
+ ]
+}
+
+SectionDevice."Headset" {
+ Comment "Headset Microphone"
+
+ Value {
+ CapturePriority 300
+ CapturePCM "hw:acp5x,0"
+ JackControl "Headset Mic Jack"
+ }
+ ConflictingDevice [
+ "Internal Mic"
+ ]
+ EnableSequence [
+ cdev "hw:acp5x"
+ cset "name='Headset Mic Switch' on"
+ cset "name='Mic Volume' 200"
+ ]
+ DisableSequence [
+ cdev "hw:acp5x"
+ cset "name='Headset Mic Switch' off"
+ ]
+}
+
diff -rupN alsa-ucm-conf.orig/ucm2/conf.d/acp5x/HiFi-upstream.conf alsa-ucm-conf/ucm2/conf.d/acp5x/HiFi-upstream.conf
--- alsa-ucm-conf.orig/ucm2/conf.d/acp5x/HiFi-upstream.conf 1969-12-31 19:00:00.000000000 -0500
+++ alsa-ucm-conf/ucm2/conf.d/acp5x/HiFi-upstream.conf 2023-01-15 22:05:57.609619224 -0500
@@ -0,0 +1,130 @@
+SectionVerb {
+ Value {
+ FullySpecifiedUCM "1"
+ }
+ EnableSequence [
+ cdev "hw:acp5x"
+
+ exec "echo Main Verb Config EnableSequence"
+
+ cset "name='Left DSP1 Preload Switch' 0"
+ cset "name='Right DSP1 Preload Switch' 0"
+ cset "name='Digital Playback Volume' 207"
+ cset "name='Headphone Volume' 0"
+ cset "name='Frontend PGA Volume' 27"
+ cset "name='ADC Phase Switch' 1"
+ cset "name='BIQ Coefficients' 0x03,0x5a,0x00,0x06,0xfc,0xac,0x00,0x00,0xfe,0x58,0x00,0x00,0x03,0x50,0x00,0x06,0xfe,0x58,0x00,0x08"
+ cset "name='Left Analog PCM Volume' 17"
+ cset "name='Right Analog PCM Volume' 17"
+ cset "name='Left Digital PCM Volume' 817"
+ cset "name='Right Digital PCM Volume' 817"
+ cset "name='Left DSP RX1 Source' ASPRX1"
+ cset "name='Left DSP RX2 Source' ASPRX1"
+ cset "name='Right DSP RX1 Source' ASPRX2"
+ cset "name='Right DSP RX2 Source' ASPRX2"
+
+ cset "name='Right DSP RX1 Source' 2"
+ cset "name='Left DSP RX2 Source' 1"
+ ]
+ DisableSequence [
+ cdev "hw:acp5x"
+
+ exec "echo Main Verb Config DisableSequence"
+ cset "name='Left DSP Booted' 0"
+ cset "name='Right DSP Booted' 0"
+ cset "name='Left DSP1 Preload Switch' 0"
+ cset "name='Right DSP1 Preload Switch' 0"
+ ]
+}
+
+SectionDevice."Headphones".0 {
+ Comment "Headphones"
+
+ Value {
+ PlaybackPriority 200
+ PlaybackPCM "hw:acp5x,0"
+ JackControl "Headphone Jack"
+ }
+ ConflictingDevice [
+ ]
+ EnableSequence [
+ cdev "hw:acp5x"
+ exec "echo Headphones EnableSequence"
+ cset "name='Headphone Switch' on"
+ ]
+ DisableSequence [
+ cdev "hw:acp5x"
+ exec "echo Headphones DisableSequence"
+ cset "name='Headphone Switch' off"
+ ]
+}
+
+SectionDevice."Speaker".0 {
+ Comment "Speaker"
+
+ Value {
+ PlaybackPriority 100
+ PlaybackPCM "hw:acp5x,1"
+ }
+ ConflictingDevice [
+ ]
+ EnableSequence [
+ cdev "hw:acp5x"
+ exec "echo Speaker EnableSequence"
+ cset "name='Left DSP1 Preload Switch' 1"
+ cset "name='Right DSP1 Preload Switch' 1"
+ cset "name='Left PCM Source' DSP"
+ cset "name='Right PCM Source' DSP"
+ ]
+ DisableSequence [
+ cdev "hw:acp5x"
+ exec "echo Speaker DisableSequence"
+ cset "name='Left AMP Enable Switch' off"
+ cset "name='Right AMP Enable Switch' off"
+ ]
+}
+
+SectionDevice."Internal Mic".0 {
+ Comment "Internal Microphone"
+
+ Value {
+ CapturePriority 200
+ CapturePCM "hw:acp5x,0"
+ }
+ ConflictingDevice [
+ "Headset"
+ ]
+ EnableSequence [
+ cdev "hw:acp5x"
+ cset "name='Int Mic Switch' on"
+ cset "name='DMIC Enable Switch' on"
+ cset "name='Mic Volume' 252"
+ ]
+ DisableSequence [
+ cdev "hw:acp5x"
+ cset "name='Int Mic Switch' off"
+ cset "name='DMIC Enable Switch' off"
+ ]
+}
+
+SectionDevice."Headset" {
+ Comment "Headset Microphone"
+
+ Value {
+ CapturePriority 300
+ CapturePCM "hw:acp5x,0"
+ JackControl "Headset Mic Jack"
+ }
+ ConflictingDevice [
+ "Internal Mic"
+ ]
+ EnableSequence [
+ cdev "hw:acp5x"
+ cset "name='Headset Mic Switch' on"
+ cset "name='Mic Volume' 200"
+ ]
+ DisableSequence [
+ cdev "hw:acp5x"
+ cset "name='Headset Mic Switch' off"
+ ]
+}