diff --git a/0001-bytcr-rt5640-Fix-DMIC1-not-working-when-connected-ov.patch b/0001-bytcr-rt5640-Fix-DMIC1-not-working-when-connected-ov.patch new file mode 100644 index 0000000..6eabf5e --- /dev/null +++ b/0001-bytcr-rt5640-Fix-DMIC1-not-working-when-connected-ov.patch @@ -0,0 +1,61 @@ +From f047a91f82e87fee3533b01329521a68ac4eea23 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Mon, 8 Jun 2020 22:21:40 +0200 +Subject: [PATCH 01/51] bytcr-rt5640: Fix DMIC1 not working when connected over + AIF2 + +The RT5640 codec has 2 ADC-s which are caled the Stereo ADC and the +Mono ADC (even though the mono ADC seems to be stereo too?). The Stereo +ADC is connected to the AIF1 interface of the codec and the Mono ADC +to the AIF2 interface. + +Almost all X86 BYT/CHT design use the AIF1 interface, but a few models +use the AIF2 interface. For this reason the IN?-InternalMic.conf bits +not only select/enable the microphone input on the Stereo ADC, but +also on the Mono ADC, so that the analog mic. inputs also work in devices +using the AIF2 interface. + +Before this commit DigitalMics.conf was only setting up the DMIC input +on the Stereo ADC and not on the Mono ADC, causing DMIC1 to not work +when connected over AIF2. + +This commit adds selecting / enabling DMIC1 on the Mono ADC. +This fixes the internal microphone not working on the Toshiba Encore WT10A. + +Note that for devices which use the AIF1 interface this is a no-op since +the AIF1 interface is not connected to anything, there is no complete +chain so DAPM will not enable any of the elements in the chain. + +Signed-off-by: Hans de Goede +Signed-off-by: Jaroslav Kysela +--- + ucm2/codecs/rt5640/DigitalMics.conf | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/ucm2/codecs/rt5640/DigitalMics.conf b/ucm2/codecs/rt5640/DigitalMics.conf +index 503c4a9cd7bf..fdd412f5e323 100644 +--- a/ucm2/codecs/rt5640/DigitalMics.conf ++++ b/ucm2/codecs/rt5640/DigitalMics.conf +@@ -6,6 +6,9 @@ SectionDevice."Mic" { + ] + + EnableSequence [ ++ cset "name='Mono ADC MIXL ADC2 Switch' on" ++ cset "name='Mono ADC MIXR ADC2 Switch' on" ++ cset "name='Mono ADC Capture Switch' on" + cset "name='Stereo ADC MIXL ADC2 Switch' on" + cset "name='Stereo ADC MIXR ADC2 Switch' on" + cset "name='Internal Mic Switch' on" +@@ -13,6 +16,9 @@ SectionDevice."Mic" { + ] + + DisableSequence [ ++ cset "name='Mono ADC MIXL ADC2 Switch' off" ++ cset "name='Mono ADC MIXR ADC2 Switch' off" ++ cset "name='Mono ADC Capture Switch' off" + cset "name='Stereo ADC MIXL ADC2 Switch' off" + cset "name='Stereo ADC MIXR ADC2 Switch' off" + cset "name='Internal Mic Switch' off" +-- +2.16.4 + diff --git a/0002-bytcr-rt5651-Fix-high-noise-level-soft-input-on-DMIC.patch b/0002-bytcr-rt5651-Fix-high-noise-level-soft-input-on-DMIC.patch new file mode 100644 index 0000000..629cbe0 --- /dev/null +++ b/0002-bytcr-rt5651-Fix-high-noise-level-soft-input-on-DMIC.patch @@ -0,0 +1,40 @@ +From b878413c626a6797d382ae4abed4c3f417eed2bd Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Mon, 8 Jun 2020 22:21:41 +0200 +Subject: [PATCH 02/51] bytcr-rt5651: Fix high noise level + soft input on DMIC + +The DMIC needs to have the DMIC ASRC enabled, otherwise capturing audio +from it results in mostly capturing noise + the actual recorded voice +very soft in the background of the noise. + +This has been tested on a Point of View P1006W v1.0 tablet, which is the +only RT5651 X86 device using a DMIC that I am aware of. + +Signed-off-by: Hans de Goede +Signed-off-by: Jaroslav Kysela +--- + ucm2/codecs/rt5651/DigitalMic.conf | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ucm2/codecs/rt5651/DigitalMic.conf b/ucm2/codecs/rt5651/DigitalMic.conf +index aa40c1c2efeb..d21b21d1d2f2 100644 +--- a/ucm2/codecs/rt5651/DigitalMic.conf ++++ b/ucm2/codecs/rt5651/DigitalMic.conf +@@ -4,12 +4,14 @@ SectionDevice."Mic" { + EnableSequence [ + cset "name='Stereo1 ADC MIXL ADC2 Switch' on" + cset "name='Stereo1 ADC MIXR ADC2 Switch' on" ++ cset "name='DMIC ASRC Switch' on" + cset "name='Internal Mic Switch' on" + ] + + DisableSequence [ + cset "name='Stereo1 ADC MIXL ADC2 Switch' off" + cset "name='Stereo1 ADC MIXR ADC2 Switch' off" ++ cset "name='DMIC ASRC Switch' off" + cset "name='Internal Mic Switch' off" + ] + +-- +2.16.4 + diff --git a/0003-chtrt5645-Add-ASUSTeKCOMPUTERINC.-T101HA-1.0.conf-sy.patch b/0003-chtrt5645-Add-ASUSTeKCOMPUTERINC.-T101HA-1.0.conf-sy.patch new file mode 100644 index 0000000..7e72eb0 --- /dev/null +++ b/0003-chtrt5645-Add-ASUSTeKCOMPUTERINC.-T101HA-1.0.conf-sy.patch @@ -0,0 +1,30 @@ +From 2ac33b010c7c493066592a093d422a67e8df0bf6 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Mon, 8 Jun 2020 22:21:42 +0200 +Subject: [PATCH 03/51] chtrt5645: Add ASUSTeKCOMPUTERINC.-T101HA-1.0.conf + symlink to chtrt5645-dmic1.conf + +The Asus T101HA uses a digital mic connected to the dmic1 pin, rather then +the default analog mic on in2 (just like the Asus T100HA). + +Add a long name symlink to chtrt5645-dmic1.conf for this, so that +the right config is used. + +Signed-off-by: Hans de Goede +Signed-off-by: Jaroslav Kysela +--- + ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T101HA-1.0.conf | 1 + + 1 file changed, 1 insertion(+) + create mode 120000 ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T101HA-1.0.conf + +diff --git a/ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T101HA-1.0.conf b/ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T101HA-1.0.conf +new file mode 120000 +index 000000000000..b4d2816229b4 +--- /dev/null ++++ b/ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T101HA-1.0.conf +@@ -0,0 +1 @@ ++chtrt5645-dmic1.conf +\ No newline at end of file +-- +2.16.4 + diff --git a/0004-sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch b/0004-sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch new file mode 100644 index 0000000..1eae30a --- /dev/null +++ b/0004-sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch @@ -0,0 +1,44 @@ +From 4c1189fdcb4819df6c36cf490d17f532f82c8bbe Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen +Date: Wed, 10 Jun 2020 17:14:16 +0300 +Subject: [PATCH 04/51] sof-hda-dsp: don't fail if Auto-Mute control is not + present + +The "Auto-Mute Mode" control is not present in all HDA codecs. +The generic SOF HDA UCM file should be robust enough to handle +these cases as well. + +Signed-off-by: Kai Vehmanen +Signed-off-by: Jaroslav Kysela +--- + ucm2/sof-hda-dsp/HiFi.conf | 14 +++++++++++--- + 1 file changed, 11 insertions(+), 3 deletions(-) + +diff --git a/ucm2/sof-hda-dsp/HiFi.conf b/ucm2/sof-hda-dsp/HiFi.conf +index 9a8293077e3e..eea6ed9c6ccc 100644 +--- a/ucm2/sof-hda-dsp/HiFi.conf ++++ b/ucm2/sof-hda-dsp/HiFi.conf +@@ -1,9 +1,17 @@ + # Use case Configuration for sof-hda-dsp + + SectionVerb { +- EnableSequence [ +- cset "name='Auto-Mute Mode' 'Disabled'" +- ] ++ If.automute { ++ Condition { ++ Type ControlExists ++ Control "name='Auto-Mute Mode'" ++ } ++ True { ++ EnableSequence [ ++ cset "name='Auto-Mute Mode' 'Disabled'" ++ ] ++ } ++ } + } + + SectionDevice."Headphones" { +-- +2.16.4 + diff --git a/0005-ucm2-use-Include-Syntax-3.patch b/0005-ucm2-use-Include-Syntax-3.patch new file mode 100644 index 0000000..fb52ead --- /dev/null +++ b/0005-ucm2-use-Include-Syntax-3.patch @@ -0,0 +1,3114 @@ +From 0a8dd118f7b56372e3f0d6037fe91e4e8108f508 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Fri, 5 Jun 2020 18:20:58 +0200 +Subject: [PATCH 05/51] ucm2: use Include (Syntax 3) + +Instead the unconditional include, use the Include configuration +directive which can load some files when evaluated (on demand only). + +Signed-off-by: Jaroslav Kysela +--- + ucm2/DB845c/DB845c.conf | 2 +- + ucm2/DB845c/HiFi.conf | 25 ++- + ucm2/SOF/HiFi.conf | 37 +--- + ucm2/SOF/SOF.conf | 2 +- + ucm2/broxton-rt298/HiFi.conf | 2 +- + ucm2/broxton-rt298/broxton-rt298.conf | 2 +- + ucm2/bytcht-cx2072x/HiFi.conf | 33 +-- + ucm2/bytcht-cx2072x/bytcht-cx2072x.conf | 2 +- + ucm2/bytcht-es8316/HiFi-Components.conf | 18 +- + ucm2/bytcht-es8316/HiFi-LongName.conf | 18 +- + ucm2/bytcht-es8316/HiFi.conf | 25 +-- + ucm2/bytcht-es8316/bytcht-es8316.conf | 2 +- + ucm2/bytcr-rt5640/HiFi-Components.conf | 24 +-- + ucm2/bytcr-rt5640/HiFi-LongName.conf | 24 +-- + ucm2/bytcr-rt5640/HiFi.conf | 26 +-- + ucm2/bytcr-rt5640/bytcr-rt5640.conf | 2 +- + ucm2/bytcr-rt5651/HiFi-Components.conf | 20 +- + ucm2/bytcr-rt5651/HiFi-LongName.conf | 20 +- + ucm2/bytcr-rt5651/HiFi.conf | 22 +- + ucm2/bytcr-rt5651/bytcr-rt5651.conf | 2 +- + ucm2/cht-bsw-rt5672/HiFi-stereo-dmic2.conf | 25 +-- + ucm2/cht-bsw-rt5672/HiFi.conf | 31 +-- + .../cht-bsw-rt5672-stereo-dmic2.conf | 2 +- + ucm2/cht-bsw-rt5672/cht-bsw-rt5672.conf | 2 +- + ucm2/chtmax98090/HiFi.conf | 21 +- + ucm2/chtmax98090/chtmax98090.conf | 2 +- + ucm2/chtnau8824/HiFi-mono.conf | 26 +-- + ucm2/chtnau8824/HiFi.conf | 34 ++- + ucm2/chtnau8824/chtnau8824-mono.conf | 2 +- + ucm2/chtnau8824/chtnau8824.conf | 2 +- + ucm2/chtrt5645/HiFi-dmic1.conf | 73 ++----- + ucm2/chtrt5645/HiFi-dmic2.conf | 73 ++----- + ucm2/chtrt5645/HiFi-mono-speaker-analog-mic.conf | 68 +++--- + ucm2/chtrt5645/HiFi.conf | 69 +++--- + ucm2/chtrt5645/chtrt5645-dmic1.conf | 2 +- + ucm2/chtrt5645/chtrt5645-dmic2.conf | 2 +- + .../chtrt5645-mono-speaker-analog-mic.conf | 2 +- + ucm2/chtrt5645/chtrt5645.conf | 2 +- + ucm2/chtrt5650/HiFi.conf | 59 ++---- + ucm2/chtrt5650/chtrt5650.conf | 2 +- + ucm2/codecs/cx2072x/DisableSeq.conf | 14 +- + ucm2/codecs/cx2072x/EnableSeq.conf | 24 ++- + ucm2/codecs/es8316/EnableSeq.conf | 36 ++-- + ucm2/codecs/max98090/EnableSeq.conf | 44 ++-- + ucm2/codecs/nau8824/EnableSeq.conf | 32 +-- + ucm2/codecs/rt5640/EnableSeq.conf | 70 ++++--- + ucm2/codecs/rt5645/DigitalMicDisableSeq.conf | 12 +- + ucm2/codecs/rt5645/DigitalMicEnableSeq.conf | 20 +- + ucm2/codecs/rt5645/DisableSeq.conf | 26 +-- + ucm2/codecs/rt5645/EnableSeq.conf | 84 ++++---- + ucm2/codecs/rt5645/HSMicDisableSeq.conf | 12 +- + ucm2/codecs/rt5645/HSMicEnableSeq.conf | 12 +- + ucm2/codecs/rt5645/HeadphonesEnableSeq.conf | 14 +- + ucm2/codecs/rt5645/SpeakerEnableSeq.conf | 12 +- + ucm2/codecs/rt5651/EnableSeq.conf | 111 +++++----- + ucm2/codecs/rt5672/EnableSeq.conf | 84 ++++---- + ucm2/codecs/wcd934x/DefaultDisableSeq.conf | 12 +- + ucm2/codecs/wcd934x/DefaultEnableSeq.conf | 28 +-- + ucm2/codecs/wcd934x/SpeakerDisableSeq.conf | 10 +- + ucm2/codecs/wcd934x/SpeakerEnableSeq.conf | 10 +- + ucm2/codecs/wsa881x/DefaultEnableSeq.conf | 18 +- + ucm2/codecs/wsa881x/SpeakerDisableSeq.conf | 18 +- + ucm2/codecs/wsa881x/SpeakerEnableSeq.conf | 22 +- + ucm2/hda-dsp/HiFi.conf | 4 +- + ucm2/hda-dsp/hda-dsp.conf | 2 +- + ucm2/platforms/bytcr/PlatformDisableSeq.conf | 33 +-- + ucm2/platforms/bytcr/PlatformEnableSeq.conf | 233 +++++++++++---------- + ucm2/skylake-rt286/HiFi.conf | 4 +- + ucm2/skylake-rt286/skylake-rt286.conf | 2 +- + ucm2/sof-hda-dsp/HiFi.conf | 8 +- + ucm2/sof-hda-dsp/sof-hda-dsp.conf | 2 +- + 71 files changed, 814 insertions(+), 1006 deletions(-) + +diff --git a/ucm2/DB845c/DB845c.conf b/ucm2/DB845c/DB845c.conf +index bfd1ee56123c..84296d1cee28 100644 +--- a/ucm2/DB845c/DB845c.conf ++++ b/ucm2/DB845c/DB845c.conf +@@ -1,4 +1,4 @@ +-Syntax 2 ++Syntax 3 + + SectionUseCase."HiFi" { + File "HiFi.conf" +diff --git a/ucm2/DB845c/HiFi.conf b/ucm2/DB845c/HiFi.conf +index 7b62e3749c34..1ef57c1e6019 100644 +--- a/ucm2/DB845c/HiFi.conf ++++ b/ucm2/DB845c/HiFi.conf +@@ -5,13 +5,17 @@ SectionVerb { + + EnableSequence [ + cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1" +- +- +- + ] + ++ Include.wcde.File "/codecs/wcd934x/DefaultEnableSeq.conf" ++ Include.wsae.File "/codecs/wsa881x/DefaultEnableSeq.conf" ++ ++ Include.wcdd { ++ File "/codecs/wcd934x/DefaultDisableSeq.conf" ++ Before.DisableSequence "0" ++ } ++ + DisableSequence [ +- + cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 0" + ] + +@@ -23,15 +27,10 @@ SectionVerb { + SectionDevice."Speaker" { + Comment "Speaker playback" + +- EnableSequence [ +- +- +- ] +- +- DisableSequence [ +- +- +- ] ++ Include.wcde.File "/codecs/wcd934x/SpeakerEnableSeq.conf" ++ Include.wsae.File "/codecs/wsa881x/SpeakerEnableSeq.conf" ++ Include.wsad.File "/codecs/wsa881x/SpeakerDisableSeq.conf" ++ Include.wcdd.File "/codecs/wcd934x/SpeakerDisableSeq.conf" + + Value { + PlaybackPriority 100 +diff --git a/ucm2/SOF/HiFi.conf b/ucm2/SOF/HiFi.conf +index ed4b163d99f3..82a66a067c49 100644 +--- a/ucm2/SOF/HiFi.conf ++++ b/ucm2/SOF/HiFi.conf +@@ -1,13 +1,10 @@ +- + If.bytcht_rt5640 { + Condition { + Type String + Haystack "${CardName}" + Needle "bytcht rt5640" + } +- True { +- +- } ++ True.Include.main.File "/bytcr-rt5640/HiFi.conf" + } + + If.bytcht_rt5651 { +@@ -16,9 +13,7 @@ If.bytcht_rt5651 { + Haystack "${CardName}" + Needle "bytcht rt5651" + } +- True { +- +- } ++ True.Include.main.File "/bytcr-rt5651/HiFi.conf" + } + + If.bytcht_cx2072x { +@@ -27,9 +22,7 @@ If.bytcht_cx2072x { + Haystack "${CardName}" + Needle "bytcht cx2072x" + } +- True { +- +- } ++ True.Include.main.File "/bytcht-cx2072x/HiFi.conf" + } + + If.bytcht_es8316 { +@@ -38,9 +31,7 @@ If.bytcht_es8316 { + Haystack "${CardName}" + Needle "bytcht es8316" + } +- True { +- +- } ++ True.Include.main.File "/bytcht-es8316/HiFi.conf" + } + + If.bytcht_rt5672 { +@@ -49,9 +40,7 @@ If.bytcht_rt5672 { + Haystack "${CardName}" + Needle "bytcht rt5672" + } +- True { +- +- } ++ True.Include.main.File "/cht-bsw-rt5672/HiFi.conf" + } + + If.bytcht_nau8824 { +@@ -60,9 +49,7 @@ If.bytcht_nau8824 { + Haystack "${CardName}" + Needle "bytcht nau8824" + } +- True { +- +- } ++ True.Include.main.File "/chtnau8824/HiFi.conf" + } + + If.bytcht_rt5645 { +@@ -71,9 +58,7 @@ If.bytcht_rt5645 { + Haystack "${CardName}" + Needle "bytcht rt5645" + } +- True { +- +- } ++ True.Include.main.File "/chtrt5645/HiFi.conf" + } + + If.bytcht_rt5650 { +@@ -82,9 +67,7 @@ If.bytcht_rt5650 { + Haystack "${CardName}" + Needle "bytcht rt5650" + } +- True { +- +- } ++ True.Include.main.File "/chtrt5650/HiFi.conf" + } + + If.bytcht_max98090 { +@@ -93,7 +76,5 @@ If.bytcht_max98090 { + Haystack "${CardName}" + Needle "bytcht max98090" + } +- True { +- +- } ++ True.Include.main.File "/chtmax98090/HiFi.conf" + } +diff --git a/ucm2/SOF/SOF.conf b/ucm2/SOF/SOF.conf +index d7a0518169fc..af966ef83011 100644 +--- a/ucm2/SOF/SOF.conf ++++ b/ucm2/SOF/SOF.conf +@@ -1,4 +1,4 @@ +-Syntax 2 ++Syntax 3 + + SectionUseCase."HiFi" { + File "HiFi.conf" +diff --git a/ucm2/broxton-rt298/HiFi.conf b/ucm2/broxton-rt298/HiFi.conf +index f7e561f9c4eb..41739174bad2 100644 +--- a/ucm2/broxton-rt298/HiFi.conf ++++ b/ucm2/broxton-rt298/HiFi.conf +@@ -109,4 +109,4 @@ SectionDevice."Headset" { + } + } + +- ++Include.hdmi.File "/broxton-rt298/Hdmi.conf" +diff --git a/ucm2/broxton-rt298/broxton-rt298.conf b/ucm2/broxton-rt298/broxton-rt298.conf +index 95f9ac51522a..5167c9e36909 100644 +--- a/ucm2/broxton-rt298/broxton-rt298.conf ++++ b/ucm2/broxton-rt298/broxton-rt298.conf +@@ -1,7 +1,7 @@ + # UCM for Intel Broxton platforms + # For Audio in I2S mode + +-Syntax 2 ++Syntax 3 + + SectionUseCase."HiFi" { + File "HiFi.conf" +diff --git a/ucm2/bytcht-cx2072x/HiFi.conf b/ucm2/bytcht-cx2072x/HiFi.conf +index 1ac4931e011e..bf4ed1178d68 100644 +--- a/ucm2/bytcht-cx2072x/HiFi.conf ++++ b/ucm2/bytcht-cx2072x/HiFi.conf +@@ -1,36 +1,23 @@ + SectionVerb { + ++ Include.e.File "/codecs/cx2072x/EnableSeq.conf" ++ Include.d.File "/codecs/cx2072x/DisableSeq.conf" ++ + If.Controls { + Condition { + Type ControlExists + Control "name='media0_in Gain 0 Switch'" + } ++ Before.EnableSequence "0" + True { +- EnableSequence [ +- +- +- ] +- +- DisableSequence [ +- +- +- ] +- } +- False { +- EnableSequence [ +- +- ] +- +- DisableSequence [ +- +- ] +- ++ Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" ++ Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" + } + } + } + +- +- ++Include.spk.File "/codecs/cx2072x/Speaker.conf" ++Include.hp.File "/codecs/cx2072x/HeadPhones.conf" + +- +- ++Include.imic.File "/codecs/cx2072x/InternalMic.conf" ++Include.hsmic.File "/codecs/cx2072x/HeadsetMic.conf" +diff --git a/ucm2/bytcht-cx2072x/bytcht-cx2072x.conf b/ucm2/bytcht-cx2072x/bytcht-cx2072x.conf +index d7a0518169fc..af966ef83011 100644 +--- a/ucm2/bytcht-cx2072x/bytcht-cx2072x.conf ++++ b/ucm2/bytcht-cx2072x/bytcht-cx2072x.conf +@@ -1,4 +1,4 @@ +-Syntax 2 ++Syntax 3 + + SectionUseCase."HiFi" { + File "HiFi.conf" +diff --git a/ucm2/bytcht-es8316/HiFi-Components.conf b/ucm2/bytcht-es8316/HiFi-Components.conf +index c40bd491bac9..825ba5ccd903 100644 +--- a/ucm2/bytcht-es8316/HiFi-Components.conf ++++ b/ucm2/bytcht-es8316/HiFi-Components.conf +@@ -4,9 +4,7 @@ If.spk { + Haystack "${CardComponents}" + Needle "cfg-spk:2" + } +- True { +- +- } ++ True.Include.spk.File "/codecs/es8316/Speaker.conf" + } + + If.mono { +@@ -15,12 +13,10 @@ If.mono { + Haystack "${CardComponents}" + Needle "cfg-spk:1" + } +- True { +- +- } ++ True.Include.mspk.File "/codecs/es8316/MonoSpeaker.conf" + } + +- ++Include.hs.File "/codecs/es8316/HeadPhones.conf" + + If.in1 { + Condition { +@@ -29,8 +25,8 @@ If.in1 { + Needle "cfg-mic:in1" + } + True { +- +- ++ Include.mic.File "/codecs/es8316/IN1-InternalMic.conf" ++ Include.hsmic.File "/codecs/es8316/IN2-HeadsetMic.conf" + } + } + +@@ -41,7 +37,7 @@ If.in2 { + Needle "cfg-mic:in2" + } + True { +- +- ++ Include.hsmic.File "/codecs/es8316/IN1-HeadsetMic.conf" ++ Include.mic.File "/codecs/es8316/IN2-InternalMic.conf" + } + } +diff --git a/ucm2/bytcht-es8316/HiFi-LongName.conf b/ucm2/bytcht-es8316/HiFi-LongName.conf +index 03cf17b54cda..ed88aff72b52 100644 +--- a/ucm2/bytcht-es8316/HiFi-LongName.conf ++++ b/ucm2/bytcht-es8316/HiFi-LongName.conf +@@ -4,9 +4,7 @@ If.spk { + Haystack "${CardLongName}" + Needle "-stereo-spk" + } +- True { +- +- } ++ True.Include.spk.File "/codecs/es8316/Speaker.conf" + } + + If.mono { +@@ -15,12 +13,10 @@ If.mono { + Haystack "${CardLongName}" + Needle "-mono-spk" + } +- True { +- +- } ++ True.Include.mspk.File "/codecs/es8316/MonoSpeaker.conf" + } + +- ++Include.hs.File "/codecs/es8316/HeadPhones.conf" + + If.in1 { + Condition { +@@ -29,8 +25,8 @@ If.in1 { + Needle "-in1-mic" + } + True { +- +- ++ Include.mic.File "/codecs/es8316/IN1-InternalMic.conf" ++ Include.hsmic.File "/codecs/es8316/IN2-HeadsetMic.conf" + } + } + +@@ -41,7 +37,7 @@ If.in2 { + Needle "-in2-mic" + } + True { +- +- ++ Include.hsmic.File "/codecs/es8316/IN1-HeadsetMic.conf" ++ Include.mic.File "/codecs/es8316/IN2-InternalMic.conf" + } + } +diff --git a/ucm2/bytcht-es8316/HiFi.conf b/ucm2/bytcht-es8316/HiFi.conf +index 2143d7920c38..d122c69dadc5 100644 +--- a/ucm2/bytcht-es8316/HiFi.conf ++++ b/ucm2/bytcht-es8316/HiFi.conf +@@ -1,24 +1,15 @@ + SectionVerb { ++ Include.e.File "/codecs/es8316/EnableSeq.conf" + + If.Controls { + Condition { + Type ControlExists + Control "name='media0_in Gain 0 Switch'" + } ++ Before.EnableSequence "0" + True { +- EnableSequence [ +- +- +- ] +- +- DisableSequence [ +- +- ] +- } +- False { +- EnableSequence [ +- +- ] ++ Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" ++ Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" + } + } + } +@@ -29,10 +20,6 @@ If.0 { + Haystack "${CardComponents}" + Needle "cfg-spk:" + } +- True { +- +- } +- False { +- +- } ++ True.Include.comp.File "/bytcht-es8316/HiFi-Components.conf" ++ False.Include.long.File "/bytcht-es8316/HiFi-LongName.conf" + } +diff --git a/ucm2/bytcht-es8316/bytcht-es8316.conf b/ucm2/bytcht-es8316/bytcht-es8316.conf +index d7a0518169fc..af966ef83011 100644 +--- a/ucm2/bytcht-es8316/bytcht-es8316.conf ++++ b/ucm2/bytcht-es8316/bytcht-es8316.conf +@@ -1,4 +1,4 @@ +-Syntax 2 ++Syntax 3 + + SectionUseCase."HiFi" { + File "HiFi.conf" +diff --git a/ucm2/bytcr-rt5640/HiFi-Components.conf b/ucm2/bytcr-rt5640/HiFi-Components.conf +index 75f0c834eef6..2ce4f5978567 100644 +--- a/ucm2/bytcr-rt5640/HiFi-Components.conf ++++ b/ucm2/bytcr-rt5640/HiFi-Components.conf +@@ -4,9 +4,7 @@ If.spk { + Haystack "${CardComponents}" + Needle "cfg-spk:2" + } +- True { +- +- } ++ True.Include.spk.File "/codecs/rt5640/Speaker.conf" + } + + If.mono { +@@ -15,12 +13,10 @@ If.mono { + Haystack "${CardComponents}" + Needle "cfg-spk:1" + } +- True { +- +- } ++ True.Include.mspk.File "/codecs/rt5640/MonoSpeaker.conf" + } + +- ++Include.hs.File "/codecs/rt5640/HeadPhones.conf" + + If.dmic1 { + Condition { +@@ -28,9 +24,7 @@ If.dmic1 { + Haystack "${CardComponents}" + Needle "cfg-mic:dmic1" + } +- True { +- +- } ++ True.Include.dmic.File "/codecs/rt5640/DigitalMics.conf" + } + + If.in1 { +@@ -39,9 +33,7 @@ If.in1 { + Haystack "${CardComponents}" + Needle "cfg-mic:in1" + } +- True { +- +- } ++ True.Include.mic1.File "/codecs/rt5640/IN1-InternalMic.conf" + } + + If.in3 { +@@ -50,9 +42,7 @@ If.in3 { + Haystack "${CardComponents}" + Needle "cfg-mic:in3" + } +- True { +- +- } ++ True.Include.mic3.File "/codecs/rt5640/IN3-InternalMic.conf" + } + +- ++Include.hsmic.File "/codecs/rt5640/HeadsetMic.conf" +diff --git a/ucm2/bytcr-rt5640/HiFi-LongName.conf b/ucm2/bytcr-rt5640/HiFi-LongName.conf +index e930f35f7fd1..c07f153a969b 100644 +--- a/ucm2/bytcr-rt5640/HiFi-LongName.conf ++++ b/ucm2/bytcr-rt5640/HiFi-LongName.conf +@@ -4,9 +4,7 @@ If.spk { + Haystack "${CardLongName}" + Needle "-stereo-spk" + } +- True { +- +- } ++ True.Include.spk.File "/codecs/rt5640/Speaker.conf" + } + + If.mono { +@@ -15,12 +13,10 @@ If.mono { + Haystack "${CardLongName}" + Needle "-mono-spk" + } +- True { +- +- } ++ True.Include.mspk.File "/codecs/rt5640/MonoSpeaker.conf" + } + +- ++Include.hs.File "/codecs/rt5640/HeadPhones.conf" + + If.dmic1 { + Condition { +@@ -28,9 +24,7 @@ If.dmic1 { + Haystack "${CardLongName}" + Needle "-dmic1-mic" + } +- True { +- +- } ++ True.Include.dmic.File "/codecs/rt5640/DigitalMics.conf" + } + + If.in1 { +@@ -39,9 +33,7 @@ If.in1 { + Haystack "${CardLongName}" + Needle "-in1-mic" + } +- True { +- +- } ++ True.Include.mic1.File "/codecs/rt5640/IN1-InternalMic.conf" + } + + If.in3 { +@@ -50,9 +42,7 @@ If.in3 { + Haystack "${CardLongName}" + Needle "-in3-mic" + } +- True { +- +- } ++ True.Include.mic3.File "/codecs/rt5640/IN3-InternalMic.conf" + } + +- ++Include.hsmic.File "/codecs/rt5640/HeadsetMic.conf" +diff --git a/ucm2/bytcr-rt5640/HiFi.conf b/ucm2/bytcr-rt5640/HiFi.conf +index 89795cb01cdb..a5c05ba4467b 100644 +--- a/ucm2/bytcr-rt5640/HiFi.conf ++++ b/ucm2/bytcr-rt5640/HiFi.conf +@@ -1,27 +1,17 @@ + # Use case Configuration for bytcr-rt5640 + +- + SectionVerb { ++ Include.e.File "/codecs/rt5640/EnableSeq.conf" + + If.Controls { + Condition { + Type ControlExists + Control "name='media0_in Gain 0 Switch'" + } ++ Before.EnableSequence "0" + True { +- EnableSequence [ +- +- +- ] +- +- DisableSequence [ +- +- ] +- } +- False { +- EnableSequence [ +- +- ] ++ Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" ++ Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" + } + } + } +@@ -32,10 +22,6 @@ If.0 { + Haystack "${CardComponents}" + Needle "cfg-spk:" + } +- True { +- +- } +- False { +- +- } ++ True.Include.comp.File "/bytcr-rt5640/HiFi-Components.conf" ++ False.Include.long.File "/bytcr-rt5640/HiFi-LongName.conf" + } +diff --git a/ucm2/bytcr-rt5640/bytcr-rt5640.conf b/ucm2/bytcr-rt5640/bytcr-rt5640.conf +index d7a0518169fc..af966ef83011 100644 +--- a/ucm2/bytcr-rt5640/bytcr-rt5640.conf ++++ b/ucm2/bytcr-rt5640/bytcr-rt5640.conf +@@ -1,4 +1,4 @@ +-Syntax 2 ++Syntax 3 + + SectionUseCase."HiFi" { + File "HiFi.conf" +diff --git a/ucm2/bytcr-rt5651/HiFi-Components.conf b/ucm2/bytcr-rt5651/HiFi-Components.conf +index 966e8797f6b7..3584a4e6b139 100644 +--- a/ucm2/bytcr-rt5651/HiFi-Components.conf ++++ b/ucm2/bytcr-rt5651/HiFi-Components.conf +@@ -5,7 +5,7 @@ If.spk { + Needle "cfg-spk:2" + } + True { +- ++ Include.spk.File "/codecs/rt5651/Speaker.conf" + } + } + +@@ -16,7 +16,7 @@ If.mono { + Needle "cfg-spk:1" + } + True { +- ++ Include.mspk.File "/codecs/rt5651/MonoSpeaker.conf" + } + } + +@@ -27,10 +27,10 @@ If.headphones { + Needle "cfg-hp:lrswap" + } + True { +- ++ Include.hp.File "/codecs/rt5651/HeadPhones-swapped.conf" + } + False { +- ++ Include.hp.File "/codecs/rt5651/HeadPhones.conf" + } + } + +@@ -41,12 +41,12 @@ If.dmic { + Needle "cfg-mic:dmic" + } + True { +- +- ++ Include.dmic.File "/codecs/rt5651/DigitalMic.conf" ++ Include.hsmic.File "/codecs/rt5651/IN2-HeadsetMic.conf" + SectionDevice."Mic".ConflictingDevice.0 "Headset" + } + False { +- ++ Include.hsmic.File "/codecs/rt5651/IN3-HeadsetMic.conf" + } + } + +@@ -57,7 +57,7 @@ If.in2 { + Needle "cfg-mic:in2" + } + True { +- ++ Include.mic.File "/codecs/rt5651/IN2-InternalMic.conf" + } + } + +@@ -68,7 +68,7 @@ If.in12 { + Needle "cfg-mic:in12" + } + True { +- ++ Include.mic.File "/codecs/rt5651/IN12-InternalMic.conf" + } + False { + If.in1 { +@@ -78,7 +78,7 @@ If.in12 { + Needle "cfg-mic:in1" + } + True { +- ++ Include.mic.File "/codecs/rt5651/IN1-InternalMic.conf" + } + } + } +diff --git a/ucm2/bytcr-rt5651/HiFi-LongName.conf b/ucm2/bytcr-rt5651/HiFi-LongName.conf +index e6dd90813681..436106db4333 100644 +--- a/ucm2/bytcr-rt5651/HiFi-LongName.conf ++++ b/ucm2/bytcr-rt5651/HiFi-LongName.conf +@@ -5,7 +5,7 @@ If.spk { + Needle "-stereo-spk" + } + True { +- ++ Include.spk.File "/codecs/rt5651/Speaker.conf" + } + } + +@@ -16,7 +16,7 @@ If.mono { + Needle "-mono-spk" + } + True { +- ++ Include.mspk.File "/codecs/rt5651/MonoSpeaker.conf" + } + } + +@@ -27,10 +27,10 @@ If.headphones { + Needle "-mic-hp-swapped" + } + True { +- ++ Include.hp.File "/codecs/rt5651/HeadPhones-swapped.conf" + } + False { +- ++ Include.hp.File "/codecs/rt5651/HeadPhones.conf" + } + } + +@@ -41,11 +41,11 @@ If.dmic1 { + Needle "-dmic1-mic" + } + True { +- +- ++ Include.dmic.File "/codecs/rt5651/DigitalMic.conf" ++ Include.hsmic.File "/codecs/rt5651/IN2-HeadsetMic.conf" + } + False { +- ++ Include.hsmic.File "/codecs/rt5651/IN3-HeadsetMic.conf" + } + } + +@@ -56,7 +56,7 @@ If.in1 { + Needle "-in1-mic" + } + True { +- ++ Include.mic.File "/codecs/rt5651/IN1-InternalMic.conf" + } + } + +@@ -67,7 +67,7 @@ If.in2 { + Needle "-in2-mic" + } + True { +- ++ Include.mic.File "/codecs/rt5651/IN2-InternalMic.conf" + } + } + +@@ -78,6 +78,6 @@ If.in12 { + Needle "-in12-mic" + } + True { +- ++ Include.mic.File "/codecs/rt5651/IN12-InternalMic.conf" + } + } +diff --git a/ucm2/bytcr-rt5651/HiFi.conf b/ucm2/bytcr-rt5651/HiFi.conf +index 3f664d7f1950..031334d2dd94 100644 +--- a/ucm2/bytcr-rt5651/HiFi.conf ++++ b/ucm2/bytcr-rt5651/HiFi.conf +@@ -3,25 +3,17 @@ + + SectionVerb { + ++ Include.e.File "/codecs/rt5651/EnableSeq.conf" ++ + If.Controls { + Condition { + Type ControlExists + Control "name='media0_in Gain 0 Switch'" + } ++ Before.EnableSequence "0" + True { +- EnableSequence [ +- +- +- ] +- +- DisableSequence [ +- +- ] +- } +- False { +- EnableSequence [ +- +- ] ++ Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" ++ Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" + } + } + } +@@ -33,9 +25,9 @@ If.0 { + Needle "cfg-spk:" + } + True { +- ++ Include.comp.File "/bytcr-rt5651/HiFi-Components.conf" + } + False { +- ++ Include.long.File "/bytcr-rt5651/HiFi-LongName.conf" + } + } +diff --git a/ucm2/bytcr-rt5651/bytcr-rt5651.conf b/ucm2/bytcr-rt5651/bytcr-rt5651.conf +index 64888bab8c42..b6a7407efeb8 100644 +--- a/ucm2/bytcr-rt5651/bytcr-rt5651.conf ++++ b/ucm2/bytcr-rt5651/bytcr-rt5651.conf +@@ -1,6 +1,6 @@ + # Adapted from https://github.com/plbossart/UCM/tree/master/bytcr-rt5651 + +-Syntax 2 ++Syntax 3 + + SectionUseCase."HiFi" { + File "HiFi.conf" +diff --git a/ucm2/cht-bsw-rt5672/HiFi-stereo-dmic2.conf b/ucm2/cht-bsw-rt5672/HiFi-stereo-dmic2.conf +index 50612aa815f4..0d95e902b6ef 100644 +--- a/ucm2/cht-bsw-rt5672/HiFi-stereo-dmic2.conf ++++ b/ucm2/cht-bsw-rt5672/HiFi-stereo-dmic2.conf +@@ -1,36 +1,27 @@ + # Adapted from https://github.com/plbossart/UCM/tree/master/cht-bsw-rt5672 + + SectionVerb { ++ Include.e.File "/codecs/rt5672/EnableSeq.conf" + + If.Controls { + Condition { + Type ControlExists + Control "name='media0_in Gain 0 Switch'" + } ++ Before.EnableSequence "0" + True { +- EnableSequence [ +- +- +- ] +- +- DisableSequence [ +- +- ] +- } +- False { +- EnableSequence [ +- +- ] ++ Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" ++ Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" + } + } + } + +- ++Include.spk.File "/codecs/rt5672/Speaker.conf" + RenameDevice."Speaker1" "Speaker" + RemoveDevice."Speaker2" "Speaker2" +- ++Include.hp.File "/codecs/rt5672/HeadPhones.conf" + +- ++Include.dmic.File "/codecs/rt5672/DMIC2.conf" + RenameDevice."Mic2" "Mic" + RemoveDevice."Mic1" "Mic1" +- ++Include.hsmic.File "/codecs/rt5672/HeadsetMic.conf" +diff --git a/ucm2/cht-bsw-rt5672/HiFi.conf b/ucm2/cht-bsw-rt5672/HiFi.conf +index fd344527505b..39cb0fe125cd 100644 +--- a/ucm2/cht-bsw-rt5672/HiFi.conf ++++ b/ucm2/cht-bsw-rt5672/HiFi.conf +@@ -2,33 +2,22 @@ + + SectionVerb { + ++ Include.e.File "/codecs/rt5672/EnableSeq.conf" ++ + If.Controls { + Condition { + Type ControlExists + Control "name='media0_in Gain 0 Switch'" + } +- True { +- EnableSequence [ +- +- +- ] +- +- DisableSequence [ +- +- ] +- } +- False { +- EnableSequence [ +- +- ] +- } ++ Before.EnableSequence "0" ++ True.Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" + } + } + +- +- +- ++Include.spk.File "/codecs/rt5672/Speaker.conf" ++Include.mspk.File "/codecs/rt5672/MonoSpeaker.conf" ++Include.hp.File "/codecs/rt5672/HeadPhones.conf" + +- +- +- ++Include.dmic1.File "/codecs/rt5672/DMIC1.conf" ++Include.dmic2.File "/codecs/rt5672/DMIC2.conf" ++Include.hsmic.File "/codecs/rt5672/HeadsetMic.conf" +diff --git a/ucm2/cht-bsw-rt5672/cht-bsw-rt5672-stereo-dmic2.conf b/ucm2/cht-bsw-rt5672/cht-bsw-rt5672-stereo-dmic2.conf +index 68837b2656e5..e793e9d99a0f 100644 +--- a/ucm2/cht-bsw-rt5672/cht-bsw-rt5672-stereo-dmic2.conf ++++ b/ucm2/cht-bsw-rt5672/cht-bsw-rt5672-stereo-dmic2.conf +@@ -1,4 +1,4 @@ +-Syntax 2 ++Syntax 3 + + SectionUseCase."HiFi" { + File "HiFi-stereo-dmic2.conf" +diff --git a/ucm2/cht-bsw-rt5672/cht-bsw-rt5672.conf b/ucm2/cht-bsw-rt5672/cht-bsw-rt5672.conf +index eb1f60a3d5e8..db2924ff6ee1 100644 +--- a/ucm2/cht-bsw-rt5672/cht-bsw-rt5672.conf ++++ b/ucm2/cht-bsw-rt5672/cht-bsw-rt5672.conf +@@ -1,6 +1,6 @@ + # Adapted from https://github.com/plbossart/UCM/tree/master/cht-bsw-rt5672 + +-Syntax 2 ++Syntax 3 + + SectionUseCase."HiFi" { + File "HiFi.conf" +diff --git a/ucm2/chtmax98090/HiFi.conf b/ucm2/chtmax98090/HiFi.conf +index e5015f710c78..d7f69a91d416 100644 +--- a/ucm2/chtmax98090/HiFi.conf ++++ b/ucm2/chtmax98090/HiFi.conf +@@ -3,22 +3,17 @@ SectionVerb { + TQ "HiFi" + } + ++ Include.e.File "/codecs/max98090/EnableSeq.conf" ++ + If.platform { + Condition { + Type ControlExists + Control "name='media0_in Gain 0 Switch'" + } +- True { +- EnableSequence [ +- +- ] +- } ++ Before.EnableSequence "0" ++ True.Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" + } + +- EnableSequence [ +- +- ] +- + If.Quawks { + Condition { + Type String +@@ -35,7 +30,7 @@ SectionVerb { + } + } + +- +- +- +- ++Include.hs.File "/codecs/max98090/Headphones.conf" ++Include.spk.File "/codecs/max98090/Speaker.conf" ++Include.mic.File "/codecs/max98090/InternalMic.conf" ++Include.hsmic.File "/codecs/max98090/HeadsetMic.conf" +diff --git a/ucm2/chtmax98090/chtmax98090.conf b/ucm2/chtmax98090/chtmax98090.conf +index 84f7a1cb15c9..dc51cdb22b5b 100644 +--- a/ucm2/chtmax98090/chtmax98090.conf ++++ b/ucm2/chtmax98090/chtmax98090.conf +@@ -1,4 +1,4 @@ +-Syntax 2 ++Syntax 3 + SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Play HiFi quality Music" +diff --git a/ucm2/chtnau8824/HiFi-mono.conf b/ucm2/chtnau8824/HiFi-mono.conf +index e87ebe31ac2b..6d899ce6fc69 100644 +--- a/ucm2/chtnau8824/HiFi-mono.conf ++++ b/ucm2/chtnau8824/HiFi-mono.conf +@@ -5,31 +5,23 @@ SectionVerb { + TQ "HiFi" + } + ++ Include.e.File "/codecs/nau8824/EnableSeq.conf" ++ + If.Controls { + Condition { + Type ControlExists + Control "name='media0_in Gain 0 Switch'" + } ++ Before.EnableSequence "0" + True { +- EnableSequence [ +- +- +- ] +- +- DisableSequence [ +- +- ] +- } +- False { +- EnableSequence [ +- +- ] ++ Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" ++ Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" + } + } + } + +- +- ++Include.mspk.File "/codecs/nau8824/MonoSpeaker.conf" ++Include.hp.File "/codecs/nau8824/HeadPhones.conf" + +- +- ++Include.mic.File "/codecs/nau8824/InternalMic.conf" ++Include.hsmic.File "/codecs/nau8824/HeadsetMic.conf" +diff --git a/ucm2/chtnau8824/HiFi.conf b/ucm2/chtnau8824/HiFi.conf +index 6ed4e4f0da94..b3c0209aa0ec 100644 +--- a/ucm2/chtnau8824/HiFi.conf ++++ b/ucm2/chtnau8824/HiFi.conf +@@ -1,31 +1,29 @@ ++ + SectionVerb { + ++ Value { ++ TQ "HiFi" ++ } ++ ++ Include.e.File "/codecs/nau8824/EnableSeq.conf" ++ + If.Controls { + Condition { + Type ControlExists + Control "name='media0_in Gain 0 Switch'" + } + True { +- EnableSequence [ +- +- +- ] +- +- DisableSequence [ +- +- ] +- } +- False { +- EnableSequence [ +- +- ] ++ Include.pe { ++ File "/platforms/bytcr/PlatformEnableSeq.conf" ++ Before.EnableSequence "0" ++ } ++ Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" + } + } + } + ++Include.spk.File "/codecs/nau8824/Speaker.conf" ++Include.hp.File "/codecs/nau8824/HeadPhones.conf" + +- +- +- +- +- ++Include.mic.File "/codecs/nau8824/InternalMic.conf" ++Include.hsmic.File "/codecs/nau8824/HeadsetMic.conf" +diff --git a/ucm2/chtnau8824/chtnau8824-mono.conf b/ucm2/chtnau8824/chtnau8824-mono.conf +index 75f48709da33..6c498c74ec35 100644 +--- a/ucm2/chtnau8824/chtnau8824-mono.conf ++++ b/ucm2/chtnau8824/chtnau8824-mono.conf +@@ -1,4 +1,4 @@ +-Syntax 2 ++Syntax 3 + + Comment "chtnau8824 internal card" + +diff --git a/ucm2/chtnau8824/chtnau8824.conf b/ucm2/chtnau8824/chtnau8824.conf +index acd5deb30078..64ed4e4b133f 100644 +--- a/ucm2/chtnau8824/chtnau8824.conf ++++ b/ucm2/chtnau8824/chtnau8824.conf +@@ -1,4 +1,4 @@ +-Syntax 2 ++Syntax 3 + + Comment "chtnau8824 internal card" + +diff --git a/ucm2/chtrt5645/HiFi-dmic1.conf b/ucm2/chtrt5645/HiFi-dmic1.conf +index 4e9ada8b1314..f28783f39b7f 100644 +--- a/ucm2/chtrt5645/HiFi-dmic1.conf ++++ b/ucm2/chtrt5645/HiFi-dmic1.conf +@@ -4,44 +4,27 @@ SectionVerb { + TQ "HiFi" + } + ++ Include.ce.File "/codecs/rt5645/EnableSeq.conf" ++ Include.cd.File "/codecs/rt5645/DisableSeq.conf" ++ ++ EnableSequence [ ++ cset "name='Stereo1 ADC1 Mux' 1" ++ cset "name='I2S2 Func Switch' on" ++ # 3/12 the headphone mic tends to be quite loud ++ cset "name='IN1 Boost' 3" ++ # 8/8 the internal analog mic tends to be quite soft ++ cset "name='IN2 Boost' 8" ++ ] ++ + If.Controls { + Condition { + Type ControlExists + Control "name='media0_in Gain 0 Switch'" + } ++ Before.EnableSequence "0" + True { +- EnableSequence [ +- +- +- +- cset "name='Stereo1 ADC1 Mux' 1" +- cset "name='I2S2 Func Switch' on" +- # 3/12 the headphone mic tends to be quite loud +- cset "name='IN1 Boost' 3" +- # 8/8 the internal analog mic tends to be quite soft +- cset "name='IN2 Boost' 8" +- ] +- +- DisableSequence [ +- +- +- ] +- } +- False { +- EnableSequence [ +- +- +- cset "name='Stereo1 ADC1 Mux' 1" +- cset "name='I2S2 Func Switch' on" +- # 3/12 the headphone mic tends to be quite loud +- cset "name='IN1 Boost' 3" +- # 8/8 the internal analog mic tends to be quite soft +- cset "name='IN2 Boost' 8" +- ] +- +- DisableSequence [ +- +- ] ++ Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" ++ Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" + } + } + } +@@ -58,9 +41,7 @@ SectionDevice."Speaker" { + "Headphones" + ] + +- EnableSequence [ +- +- ] ++ Include.e.File "/codecs/rt5645/SpeakerEnableSeq.conf" + + DisableSequence [ + cset "name='Ext Spk Switch' off" +@@ -81,9 +62,7 @@ SectionDevice."Headphones" { + "Speaker" + ] + +- EnableSequence [ +- +- ] ++ Include.e.File "/codecs/rt5645/HeadphonesEnableSeq.conf" + + DisableSequence [ + cset "name='Headphone Switch' off" +@@ -99,18 +78,15 @@ SectionDevice."Mic" { + CapturePCM "hw:${CardId}" + } + +- EnableSequence [ +- ++ Include.e.File "/codecs/rt5645/DigitalMicEnableSeq.conf" ++ Include.d.File "/codecs/rt5645/DigitalMicDisableSeq.conf" + ++ EnableSequence [ + cset "name='Stereo1 DMIC Mux' DMIC1" + cset "name='Stereo1 ADC2 Mux' DMIC" + cset "name='Mono ADC L2 Mux' DMIC" + cset "name='Mono ADC R2 Mux' DMIC" + ] +- +- DisableSequence [ +- +- ] + } + + SectionDevice."Headset" { +@@ -122,9 +98,10 @@ SectionDevice."Headset" { + JackControl "Headset Mic Jack" + } + +- EnableSequence [ +- ++ Include.e.File "/codecs/rt5645/HSMicEnableSeq.conf" ++ Include.d.File "/codecs/rt5645/HSMicDisableSeq.conf" + ++ EnableSequence [ + cset "name='Sto1 ADC MIXL ADC2 Switch' off" + cset "name='Sto1 ADC MIXR ADC2 Switch' off" + +@@ -133,8 +110,4 @@ SectionDevice."Headset" { + cset "name='Mono ADC MIXL ADC2 Switch' off" + cset "name='Mono ADC MIXR ADC2 Switch' off" + ] +- +- DisableSequence [ +- +- ] + } +diff --git a/ucm2/chtrt5645/HiFi-dmic2.conf b/ucm2/chtrt5645/HiFi-dmic2.conf +index aa2a87b39230..1407e9caf09e 100644 +--- a/ucm2/chtrt5645/HiFi-dmic2.conf ++++ b/ucm2/chtrt5645/HiFi-dmic2.conf +@@ -4,44 +4,27 @@ SectionVerb { + TQ "HiFi" + } + ++ Include.ce.File "/codecs/rt5645/EnableSeq.conf" ++ Include.cd.File "/codecs/rt5645/DisableSeq.conf" ++ ++ EnableSequence [ ++ cset "name='Stereo1 ADC1 Mux' 1" ++ cset "name='I2S2 Func Switch' on" ++ # 3/12 the headphone mic tends to be quite loud ++ cset "name='IN1 Boost' 3" ++ # 8/8 the internal analog mic tends to be quite soft ++ cset "name='IN2 Boost' 8" ++ ] ++ + If.Controls { + Condition { + Type ControlExists + Control "name='media0_in Gain 0 Switch'" + } ++ Before.EnableSequence "0" + True { +- EnableSequence [ +- +- +- +- cset "name='Stereo1 ADC1 Mux' 1" +- cset "name='I2S2 Func Switch' on" +- # 3/12 the headphone mic tends to be quite loud +- cset "name='IN1 Boost' 3" +- # 8/8 the internal analog mic tends to be quite soft +- cset "name='IN2 Boost' 8" +- ] +- +- DisableSequence [ +- +- +- ] +- } +- False { +- EnableSequence [ +- +- +- cset "name='Stereo1 ADC1 Mux' 1" +- cset "name='I2S2 Func Switch' on" +- # 3/12 the headphone mic tends to be quite loud +- cset "name='IN1 Boost' 3" +- # 8/8 the internal analog mic tends to be quite soft +- cset "name='IN2 Boost' 8" +- ] +- +- DisableSequence [ +- +- ] ++ Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" ++ Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" + } + } + } +@@ -58,9 +41,7 @@ SectionDevice."Speaker" { + "Headphones" + ] + +- EnableSequence [ +- +- ] ++ Include.e.File "/codecs/rt5645/SpeakerEnableSeq.conf" + + DisableSequence [ + cset "name='Ext Spk Switch' off" +@@ -81,9 +62,7 @@ SectionDevice."Headphones" { + "Speaker" + ] + +- EnableSequence [ +- +- ] ++ Include.e.File "/codecs/rt5645/HeadphonesEnableSeq.conf" + + DisableSequence [ + cset "name='Headphone Switch' off" +@@ -99,9 +78,10 @@ SectionDevice."Mic" { + CapturePCM "hw:${CardId}" + } + +- EnableSequence [ +- ++ Include.e.File "/codecs/rt5645/DigitalMicEnableSeq.conf" ++ Include.d.File "/codecs/rt5645/DigitalMicDisableSeq.conf" + ++ EnableSequence [ + cset "name='Stereo1 DMIC Mux' DMIC2" + cset "name='Stereo1 ADC2 Mux' DMIC" + cset "name='Mono DMIC L Mux' DMIC2" +@@ -109,10 +89,6 @@ SectionDevice."Mic" { + cset "name='Mono ADC L2 Mux' DMIC" + cset "name='Mono ADC R2 Mux' DMIC" + ] +- +- DisableSequence [ +- +- ] + } + + SectionDevice."Headset" { +@@ -124,9 +100,10 @@ SectionDevice."Headset" { + JackControl "Headset Mic Jack" + } + +- EnableSequence [ +- ++ Include.e.File "/codecs/rt5645/HSMicEnableSeq.conf" ++ Include.d.File "/codecs/rt5645/HSMicDisableSeq.conf" + ++ EnableSequence [ + cset "name='Sto1 ADC MIXL ADC2 Switch' off" + cset "name='Sto1 ADC MIXR ADC2 Switch' off" + +@@ -135,8 +112,4 @@ SectionDevice."Headset" { + cset "name='Mono ADC MIXL ADC2 Switch' off" + cset "name='Mono ADC MIXR ADC2 Switch' off" + ] +- +- DisableSequence [ +- +- ] + } +diff --git a/ucm2/chtrt5645/HiFi-mono-speaker-analog-mic.conf b/ucm2/chtrt5645/HiFi-mono-speaker-analog-mic.conf +index fc8244ef8e44..7794cae15ccd 100644 +--- a/ucm2/chtrt5645/HiFi-mono-speaker-analog-mic.conf ++++ b/ucm2/chtrt5645/HiFi-mono-speaker-analog-mic.conf +@@ -4,44 +4,26 @@ SectionVerb { + TQ "HiFi" + } + ++ Include.ce.File "/codecs/rt5645/EnableSeq.conf" ++ Include.cd.File "/codecs/rt5645/DisableSeq.conf" ++ ++ EnableSequence [ ++ cset "name='Stereo1 ADC1 Mux' 1" ++ cset "name='I2S2 Func Switch' on" ++ # 3/12 the headphone mic tends to be quite loud ++ cset "name='IN1 Boost' 3" ++ cset "name='IN2 Boost' 8" ++ ] ++ + If.Controls { + Condition { + Type ControlExists + Control "name='media0_in Gain 0 Switch'" + } ++ Before.EnableSequence "0" + True { +- EnableSequence [ +- +- +- +- cset "name='Stereo1 ADC1 Mux' 1" +- cset "name='I2S2 Func Switch' on" +- # 3/12 the headphone mic tends to be quite loud +- cset "name='IN1 Boost' 3" +- # 8/8 the internal analog mic tends to be quite soft +- cset "name='IN2 Boost' 8" +- ] +- +- DisableSequence [ +- +- +- ] +- } +- False { +- EnableSequence [ +- +- +- cset "name='Stereo1 ADC1 Mux' 1" +- cset "name='I2S2 Func Switch' on" +- # 3/12 the headphone mic tends to be quite loud +- cset "name='IN1 Boost' 3" +- # 8/8 the internal analog mic tends to be quite soft +- cset "name='IN2 Boost' 8" +- ] +- +- DisableSequence [ +- +- ] ++ Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" ++ Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" + } + } + } +@@ -58,12 +40,12 @@ SectionDevice."Speaker" { + "Headphones" + ] + ++ Include.e.File "/codecs/rt5645/SpeakerEnableSeq.conf" ++ + EnableSequence [ + # Monospeaker: Mix right to left + cset "name='Stereo DAC MIXL DAC R1 Switch' 1" + cset "name='Stereo DAC MIXR DAC R1 Switch' 0" +- +- + ] + + DisableSequence [ +@@ -85,12 +67,12 @@ SectionDevice."Headphones" { + "Speaker" + ] + ++ Include.e.File "/codecs/rt5645/HeadphonesEnableSeq.conf" ++ + EnableSequence [ + # Undo monospeaker mixing + cset "name='Stereo DAC MIXL DAC R1 Switch' 0" + cset "name='Stereo DAC MIXR DAC R1 Switch' 1" +- +- + ] + + DisableSequence [ +@@ -99,7 +81,10 @@ SectionDevice."Headphones" { + ] + } + +- ++Include.amic { ++ File "/codecs/rt5645/AnalogMic.conf" ++ Before.SectionDevice "Headset" ++} + + SectionDevice."Headset" { + Comment "Headset Microphone" +@@ -110,9 +95,10 @@ SectionDevice."Headset" { + JackControl "Headset Mic Jack" + } + +- EnableSequence [ +- ++ Include.e.File "/codecs/rt5645/HSMicEnableSeq.conf" ++ Include.d.File "/codecs/rt5645/HSMicDisableSeq.conf" + ++ EnableSequence [ + cset "name='Sto1 ADC MIXL ADC2 Switch' off" + cset "name='Sto1 ADC MIXR ADC2 Switch' off" + +@@ -121,8 +107,4 @@ SectionDevice."Headset" { + cset "name='Mono ADC MIXL ADC2 Switch' off" + cset "name='Mono ADC MIXR ADC2 Switch' off" + ] +- +- DisableSequence [ +- +- ] + } +diff --git a/ucm2/chtrt5645/HiFi.conf b/ucm2/chtrt5645/HiFi.conf +index dd6328c4287b..1adc9fcb21fe 100644 +--- a/ucm2/chtrt5645/HiFi.conf ++++ b/ucm2/chtrt5645/HiFi.conf +@@ -4,44 +4,27 @@ SectionVerb { + TQ "HiFi" + } + ++ Include.ce.File "/codecs/rt5645/EnableSeq.conf" ++ Include.cd.File "/codecs/rt5645/DisableSeq.conf" ++ ++ EnableSequence [ ++ cset "name='Stereo1 ADC1 Mux' 1" ++ cset "name='I2S2 Func Switch' on" ++ # 3/12 the headphone mic tends to be quite loud ++ cset "name='IN1 Boost' 3" ++ # 8/8 the internal analog mic tends to be quite soft ++ cset "name='IN2 Boost' 8" ++ ] ++ + If.Controls { + Condition { + Type ControlExists + Control "name='media0_in Gain 0 Switch'" + } ++ Before.EnableSequence "0" + True { +- EnableSequence [ +- +- +- +- cset "name='Stereo1 ADC1 Mux' 1" +- cset "name='I2S2 Func Switch' on" +- # 3/12 the headphone mic tends to be quite loud +- cset "name='IN1 Boost' 3" +- # 8/8 the internal analog mic tends to be quite soft +- cset "name='IN2 Boost' 8" +- ] +- +- DisableSequence [ +- +- +- ] +- } +- False { +- EnableSequence [ +- +- +- cset "name='Stereo1 ADC1 Mux' 1" +- cset "name='I2S2 Func Switch' on" +- # 3/12 the headphone mic tends to be quite loud +- cset "name='IN1 Boost' 3" +- # 8/8 the internal analog mic tends to be quite soft +- cset "name='IN2 Boost' 8" +- ] +- +- DisableSequence [ +- +- ] ++ Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" ++ Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" + } + } + } +@@ -58,9 +41,7 @@ SectionDevice."Speaker" { + "Headphones" + ] + +- EnableSequence [ +- +- ] ++ Include.e.File "/codecs/rt5645/SpeakerEnableSeq.conf" + + DisableSequence [ + cset "name='Ext Spk Switch' off" +@@ -81,9 +62,7 @@ SectionDevice."Headphones" { + "Speaker" + ] + +- EnableSequence [ +- +- ] ++ Include.e.File "/codecs/rt5645/HeadphonesEnableSeq.conf" + + DisableSequence [ + cset "name='Headphone Switch' off" +@@ -91,7 +70,10 @@ SectionDevice."Headphones" { + ] + } + +- ++Include.amic { ++ File "/codecs/rt5645/AnalogMic.conf" ++ Before.SectionDevice "Headset" ++} + + SectionDevice."Headset" { + Comment "Headset Microphone" +@@ -102,9 +84,10 @@ SectionDevice."Headset" { + JackControl "Headset Mic Jack" + } + +- EnableSequence [ +- ++ Include.e.File "/codecs/rt5645/HSMicEnableSeq.conf" ++ Include.d.File "/codecs/rt5645/HSMicDisableSeq.conf" + ++ EnableSequence [ + cset "name='Sto1 ADC MIXL ADC2 Switch' off" + cset "name='Sto1 ADC MIXR ADC2 Switch' off" + +@@ -113,8 +96,4 @@ SectionDevice."Headset" { + cset "name='Mono ADC MIXL ADC2 Switch' off" + cset "name='Mono ADC MIXR ADC2 Switch' off" + ] +- +- DisableSequence [ +- +- ] + } +diff --git a/ucm2/chtrt5645/chtrt5645-dmic1.conf b/ucm2/chtrt5645/chtrt5645-dmic1.conf +index fc6c32f2216b..60c3b50ac1a3 100644 +--- a/ucm2/chtrt5645/chtrt5645-dmic1.conf ++++ b/ucm2/chtrt5645/chtrt5645-dmic1.conf +@@ -1,4 +1,4 @@ +-Syntax 2 ++Syntax 3 + Comment "Intel SoC Audio Device" + SectionUseCase."HiFi" { + File "HiFi-dmic1.conf" +diff --git a/ucm2/chtrt5645/chtrt5645-dmic2.conf b/ucm2/chtrt5645/chtrt5645-dmic2.conf +index 2ea095ca5261..e94451651d3b 100644 +--- a/ucm2/chtrt5645/chtrt5645-dmic2.conf ++++ b/ucm2/chtrt5645/chtrt5645-dmic2.conf +@@ -1,4 +1,4 @@ +-Syntax 2 ++Syntax 3 + Comment "Intel SoC Audio Device" + SectionUseCase."HiFi" { + File "HiFi-dmic2.conf" +diff --git a/ucm2/chtrt5645/chtrt5645-mono-speaker-analog-mic.conf b/ucm2/chtrt5645/chtrt5645-mono-speaker-analog-mic.conf +index aacce6c637d9..10d9a9e63726 100644 +--- a/ucm2/chtrt5645/chtrt5645-mono-speaker-analog-mic.conf ++++ b/ucm2/chtrt5645/chtrt5645-mono-speaker-analog-mic.conf +@@ -1,4 +1,4 @@ +-Syntax 2 ++Syntax 3 + Comment "Intel SoC Audio Device" + SectionUseCase."HiFi" { + File "HiFi-mono-speaker-analog-mic.conf" +diff --git a/ucm2/chtrt5645/chtrt5645.conf b/ucm2/chtrt5645/chtrt5645.conf +index 7de572a4a961..63f135b3fc3a 100644 +--- a/ucm2/chtrt5645/chtrt5645.conf ++++ b/ucm2/chtrt5645/chtrt5645.conf +@@ -1,4 +1,4 @@ +-Syntax 2 ++Syntax 3 + Comment "Intel SoC Audio Device" + SectionUseCase."HiFi" { + File "HiFi.conf" +diff --git a/ucm2/chtrt5650/HiFi.conf b/ucm2/chtrt5650/HiFi.conf +index 2342e85eb673..66bf28550cde 100644 +--- a/ucm2/chtrt5650/HiFi.conf ++++ b/ucm2/chtrt5650/HiFi.conf +@@ -5,45 +5,28 @@ SectionVerb { + TQ "HiFi" + } + ++ Include.e.File "/codecs/rt5645/EnableSeq.conf" ++ Include.d.File "/codecs/rt5645/DisableSeq.conf" ++ + If.Controls { + Condition { + Type ControlExists + Control "name='media0_in Gain 0 Switch'" + } ++ Before.EnableSequence "0" + True { +- EnableSequence [ +- +- +- +- cset "name='Speaker HWEQ' 1,164,237,135,1,165,0,0,1,166,237,135,1,167,0,0,1,192,30,196,1,193,0,0,1,194,30,196,1,195,0,0,1,196,31,180,1,197,0,75,1,198,31,180,1,199,31,180,1,200,0,75,1,201,31,180,0,177,51,224" +- cset "name='DAC1 Playback Volume' 77,77" +- cset "name='Speaker ClassD Playback Volume' 4" +- cset "name='I2S2 Func Switch' off" +- cset "name='RT5650 IF1 ADC Mux' 0" +- ] +- +- DisableSequence [ +- +- +- ] +- } +- False { +- EnableSequence [ +- +- +- cset "name='Speaker HWEQ' 1,164,237,135,1,165,0,0,1,166,237,135,1,167,0,0,1,192,30,196,1,193,0,0,1,194,30,196,1,195,0,0,1,196,31,180,1,197,0,75,1,198,31,180,1,199,31,180,1,200,0,75,1,201,31,180,0,177,51,224" +- cset "name='DAC1 Playback Volume' 77,77" +- cset "name='Speaker ClassD Playback Volume' 4" +- cset "name='I2S2 Func Switch' off" +- cset "name='RT5650 IF1 ADC Mux' 0" +- ] +- +- DisableSequence [ +- +- ] ++ Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" ++ Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" + } + } + ++ EnableSequence [ ++ cset "name='Speaker HWEQ' 1,164,237,135,1,165,0,0,1,166,237,135,1,167,0,0,1,192,30,196,1,193,0,0,1,194,30,196,1,195,0,0,1,196,31,180,1,197,0,75,1,198,31,180,1,199,31,180,1,200,0,75,1,201,31,180,0,177,51,224" ++ cset "name='DAC1 Playback Volume' 77,77" ++ cset "name='Speaker ClassD Playback Volume' 4" ++ cset "name='I2S2 Func Switch' off" ++ cset "name='RT5650 IF1 ADC Mux' 0" ++ ] + } + + SectionDevice."Speaker" { +@@ -58,9 +41,7 @@ SectionDevice."Speaker" { + "Headphones" + ] + +- EnableSequence [ +- +- ] ++ Include.spk.File "/codecs/rt5645/SpeakerEnableSeq.conf" + + DisableSequence [ + cset "name='Ext Spk Switch' off" +@@ -82,9 +63,7 @@ SectionDevice."Headphones" { + "Speaker" + ] + +- EnableSequence [ +- +- ] ++ Include.hse.File "/codecs/rt5645/HeadphonesEnableSeq.conf" + + DisableSequence [ + cset "name='Headphone Switch' off" +@@ -123,15 +102,15 @@ SectionDevice."Mic2" { + JackHWMute "Mic1" + } + +- EnableSequence [ +- ++ Include.hsmice.File "/codecs/rt5645/HSMicEnableSeq.conf" + ++ EnableSequence [ + cset "name='IN1 Boost' 1" + ] + +- DisableSequence [ +- ++ Include.hsmicd.File "/codecs/rt5645/HSMicDisableSeq.conf" + ++ DisableSequence [ + cset "name='IN1 Boost' 0" + ] + } +diff --git a/ucm2/chtrt5650/chtrt5650.conf b/ucm2/chtrt5650/chtrt5650.conf +index 383180c7384a..41c6d6bf8240 100644 +--- a/ucm2/chtrt5650/chtrt5650.conf ++++ b/ucm2/chtrt5650/chtrt5650.conf +@@ -1,5 +1,5 @@ + Comment "Intel SoC Audio Device" +-Syntax 2 ++Syntax 3 + SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +diff --git a/ucm2/codecs/cx2072x/DisableSeq.conf b/ucm2/codecs/cx2072x/DisableSeq.conf +index 1e3d5489da3f..ce3ad6dd1880 100644 +--- a/ucm2/codecs/cx2072x/DisableSeq.conf ++++ b/ucm2/codecs/cx2072x/DisableSeq.conf +@@ -1,7 +1,9 @@ +-# Output Configuration +-cset "name='I2S DAC1L Switch' off" +-cset "name='I2S DAC1R Switch' off" ++DisableSequence [ ++ # Output Configuration ++ cset "name='I2S DAC1L Switch' off" ++ cset "name='I2S DAC1R Switch' off" + +-# Input Configuration +-cset "name='I2S ADC1L Switch' off" +-cset "name='I2S ADC1R Switch' off" ++ # Input Configuration ++ cset "name='I2S ADC1L Switch' off" ++ cset "name='I2S ADC1R Switch' off" ++] +diff --git a/ucm2/codecs/cx2072x/EnableSeq.conf b/ucm2/codecs/cx2072x/EnableSeq.conf +index fb8e3fe23c4d..02d918fd914f 100644 +--- a/ucm2/codecs/cx2072x/EnableSeq.conf ++++ b/ucm2/codecs/cx2072x/EnableSeq.conf +@@ -1,13 +1,15 @@ +-# Disable all inputs / outputs +-cset "name='Ext Spk Switch' off" +-cset "name='Headphone Switch' off" +-cset "name='Headset Mic Switch' off" +-cset "name='Int Mic Switch' off" ++EnableSequence [ ++ # Disable all inputs / outputs ++ cset "name='Ext Spk Switch' off" ++ cset "name='Headphone Switch' off" ++ cset "name='Headset Mic Switch' off" ++ cset "name='Int Mic Switch' off" + +-# Output Configuration +-cset "name='I2S DAC1L Switch' on" +-cset "name='I2S DAC1R Switch' on" ++ # Output Configuration ++ cset "name='I2S DAC1L Switch' on" ++ cset "name='I2S DAC1R Switch' on" + +-# Input Configuration +-cset "name='I2S ADC1L Switch' on" +-cset "name='I2S ADC1R Switch' on" ++ # Input Configuration ++ cset "name='I2S ADC1L Switch' on" ++ cset "name='I2S ADC1R Switch' on" ++] +diff --git a/ucm2/codecs/es8316/EnableSeq.conf b/ucm2/codecs/es8316/EnableSeq.conf +index 551b79b7d553..97ccfc939ef4 100644 +--- a/ucm2/codecs/es8316/EnableSeq.conf ++++ b/ucm2/codecs/es8316/EnableSeq.conf +@@ -1,19 +1,21 @@ +-# Disable all inputs / outputs +-cset "name='Speaker Switch' off" +-cset "name='Headphone Switch' off" +-cset "name='Headset Mic Switch' off" +-cset "name='Internal Mic Switch' off" ++EnableSequence [ ++ # Disable all inputs / outputs ++ cset "name='Speaker Switch' off" ++ cset "name='Headphone Switch' off" ++ cset "name='Headset Mic Switch' off" ++ cset "name='Internal Mic Switch' off" + +-# Set HP vol to 0 dB (3/3) +-cset "name='Headphone Playback Volume' 3" +-# Set HP mixer vol to -6 dB (4/7) louder does not work +-cset "name='Headphone Mixer Volume' 4" +-# Set DAC vol to 0 dB (192/192) +-cset "name='DAC Playback Volume' 192" +-# Set ADC vold to 0 dB (10/10) +-cset "name='ADC PGA Gain Volume' 10" ++ # Set HP vol to 0 dB (3/3) ++ cset "name='Headphone Playback Volume' 3" ++ # Set HP mixer vol to -6 dB (4/7) louder does not work ++ cset "name='Headphone Mixer Volume' 4" ++ # Set DAC vol to 0 dB (192/192) ++ cset "name='DAC Playback Volume' 192" ++ # Set ADC vold to 0 dB (10/10) ++ cset "name='ADC PGA Gain Volume' 10" + +-# Setup muxes / switches +-cset "name='Left Headphone Mixer Left DAC Switch' on" +-cset "name='Right Headphone Mixer Right DAC Switch' on" +-cset "name='ALC Capture Switch' on" ++ # Setup muxes / switches ++ cset "name='Left Headphone Mixer Left DAC Switch' on" ++ cset "name='Right Headphone Mixer Right DAC Switch' on" ++ cset "name='ALC Capture Switch' on" ++] +diff --git a/ucm2/codecs/max98090/EnableSeq.conf b/ucm2/codecs/max98090/EnableSeq.conf +index a04420f4af3d..23c897bf7126 100644 +--- a/ucm2/codecs/max98090/EnableSeq.conf ++++ b/ucm2/codecs/max98090/EnableSeq.conf +@@ -1,25 +1,27 @@ +-cset "name='Left Speaker Mixer Left DAC Switch' on" +-cset "name='Right Speaker Mixer Right DAC Switch' on" +-cset "name='Digital EQ 3 Band Switch' off" +-cset "name='Digital EQ 5 Band Switch' off" +-cset "name='Digital EQ 7 Band Switch' off" +-cset "name='Biquad Switch' off" +-cset "name='Filter Mode' Music" +-cset "name='ADC Oversampling Rate' 0" ++EnableSequence [ ++ cset "name='Left Speaker Mixer Left DAC Switch' on" ++ cset "name='Right Speaker Mixer Right DAC Switch' on" ++ cset "name='Digital EQ 3 Band Switch' off" ++ cset "name='Digital EQ 5 Band Switch' off" ++ cset "name='Digital EQ 7 Band Switch' off" ++ cset "name='Biquad Switch' off" ++ cset "name='Filter Mode' Music" ++ cset "name='ADC Oversampling Rate' 0" + +-cset "name='DMIC Mux' DMIC" +-cset "name='MIC2 Mux' IN34" +-cset "name='MIC2 Volume' 10" +-cset "name='MIC2 Boost Volume' 0" ++ cset "name='DMIC Mux' DMIC" ++ cset "name='MIC2 Mux' IN34" ++ cset "name='MIC2 Volume' 10" ++ cset "name='MIC2 Boost Volume' 0" + +-cset "name='ADCR Boost Volume' 4" +-cset "name='ADCL Boost Volume' 4" +-cset "name='ADCR Volume' 11" +-cset "name='ADCL Volume' 11" ++ cset "name='ADCR Boost Volume' 4" ++ cset "name='ADCL Boost Volume' 4" ++ cset "name='ADCR Volume' 11" ++ cset "name='ADCL Volume' 11" + +-cset "name='Headphone Volume' 10" +-cset "name='Speaker Volume' 10" ++ cset "name='Headphone Volume' 10" ++ cset "name='Speaker Volume' 10" + +-cset "name='Speaker Left Mixer Volume' 3" +-cset "name='Speaker Right Mixer Volume' 3" +-cset "name='Playback Path DC Blocking' on" ++ cset "name='Speaker Left Mixer Volume' 3" ++ cset "name='Speaker Right Mixer Volume' 3" ++ cset "name='Playback Path DC Blocking' on" ++] +diff --git a/ucm2/codecs/nau8824/EnableSeq.conf b/ucm2/codecs/nau8824/EnableSeq.conf +index 05f5f0b46d22..433e8e283d4b 100644 +--- a/ucm2/codecs/nau8824/EnableSeq.conf ++++ b/ucm2/codecs/nau8824/EnableSeq.conf +@@ -1,15 +1,17 @@ +-# Playback TDM configuration +-cset "name='DACL Channel Source' 0" +-cset "name='DACR Channel Source' 1" +-# Input Configuration +-cset "name='DMIC1 Enable Switch' off" +-cset "name='DMIC2 Enable Switch' off" +-cset "name='DMIC3 Enable Switch' off" +-cset "name='DMIC4 Enable Switch' off" +-cset "name='MIC1 Volume' 10" +-cset "name='MIC2 Volume' 10" +-# Button Configuration +-cset "name='THD for key media' 10" +-cset "name='THD for key voice command' 16" +-cset "name='THD for key volume up' 38" +-cset "name='THD for key volume down' 115" ++EnableSequence [ ++ # Playback TDM configuration ++ cset "name='DACL Channel Source' 0" ++ cset "name='DACR Channel Source' 1" ++ # Input Configuration ++ cset "name='DMIC1 Enable Switch' off" ++ cset "name='DMIC2 Enable Switch' off" ++ cset "name='DMIC3 Enable Switch' off" ++ cset "name='DMIC4 Enable Switch' off" ++ cset "name='MIC1 Volume' 10" ++ cset "name='MIC2 Volume' 10" ++ # Button Configuration ++ cset "name='THD for key media' 10" ++ cset "name='THD for key voice command' 16" ++ cset "name='THD for key volume up' 38" ++ cset "name='THD for key volume down' 115" ++] +diff --git a/ucm2/codecs/rt5640/EnableSeq.conf b/ucm2/codecs/rt5640/EnableSeq.conf +index 62795fa66d94..cbf403814a6f 100644 +--- a/ucm2/codecs/rt5640/EnableSeq.conf ++++ b/ucm2/codecs/rt5640/EnableSeq.conf +@@ -1,41 +1,43 @@ +-# RT5640 default output routing +-cset "name='OUT MIXL DAC L1 Switch' on" +-cset "name='OUT MIXR DAC R1 Switch' on" ++EnableSequence [ ++ # RT5640 default output routing ++ cset "name='OUT MIXL DAC L1 Switch' on" ++ cset "name='OUT MIXR DAC R1 Switch' on" + +-# uncomment for loopback mic->speakers +-# cset "name='SPOL MIX BST1 Switch' on" +-# cset "name='SPOR MIX BST1 Switch' on" ++ # uncomment for loopback mic->speakers ++ # cset "name='SPOL MIX BST1 Switch' on" ++ # cset "name='SPOR MIX BST1 Switch' on" + +-# uncomment for loopback playback -> capture +-# cset "name='RECMIXL OUT MIXL Switch' on" +-# cset "name='RECMIXR OUT MIXR Switch' on" ++ # uncomment for loopback playback -> capture ++ # cset "name='RECMIXL OUT MIXL Switch' on" ++ # cset "name='RECMIXR OUT MIXR Switch' on" + +-# uncomment to enable swap between AIF1 and AIF2 +-# warning: can only work with SSP0 firmware enabled +-cset "name='SDI select' 0" +-cset "name='DAI select' 0" +-#cset "name='SDI select' 1" +-#cset "name='DAI select' 1" ++ # uncomment to enable swap between AIF1 and AIF2 ++ # warning: can only work with SSP0 firmware enabled ++ cset "name='SDI select' 0" ++ cset "name='DAI select' 0" ++ #cset "name='SDI select' 1" ++ #cset "name='DAI select' 1" + +-cset "name='DAC2 Playback Switch' on" +-cset "name='DIG MIXL DAC L2 Switch' on" ++ cset "name='DAC2 Playback Switch' on" ++ cset "name='DIG MIXL DAC L2 Switch' on" + +-# Input Configuration +-cset "name='Stereo ADC1 Mux' ADC" +-cset "name='Stereo ADC2 Mux' DMIC1" +-cset "name='Mono ADC L1 Mux' 1" +-cset "name='Mono ADC R1 Mux' 1" ++ # Input Configuration ++ cset "name='Stereo ADC1 Mux' ADC" ++ cset "name='Stereo ADC2 Mux' DMIC1" ++ cset "name='Mono ADC L1 Mux' 1" ++ cset "name='Mono ADC R1 Mux' 1" + +-# 47=0dB, 0.375 dB/step, set it to 6 dB to help with soft mics +-cset "name='ADC Capture Volume' 63" +-# Set ADC Boost Gain to 3dB higher vals result in too much noise +-cset "name='ADC Boost Gain' 1" +-# Set IN1/IN3 internal mic boost to 8 (max) +-# Set IN2 headset-mic boost to 1, headset mics are quite loud +-cset "name='IN1 Boost' 8" +-cset "name='IN2 Boost' 1" +-cset "name='IN3 Boost' 8" ++ # 47=0dB, 0.375 dB/step, set it to 6 dB to help with soft mics ++ cset "name='ADC Capture Volume' 63" ++ # Set ADC Boost Gain to 3dB higher vals result in too much noise ++ cset "name='ADC Boost Gain' 1" ++ # Set IN1/IN3 internal mic boost to 8 (max) ++ # Set IN2 headset-mic boost to 1, headset mics are quite loud ++ cset "name='IN1 Boost' 8" ++ cset "name='IN2 Boost' 1" ++ cset "name='IN3 Boost' 8" + +-cset "name='Internal Mic Switch' off" +-cset "name='Headset Mic Switch' off" +-cset "name='ADC Capture Switch' on" ++ cset "name='Internal Mic Switch' off" ++ cset "name='Headset Mic Switch' off" ++ cset "name='ADC Capture Switch' on" ++] +diff --git a/ucm2/codecs/rt5645/DigitalMicDisableSeq.conf b/ucm2/codecs/rt5645/DigitalMicDisableSeq.conf +index 751f38c00ecd..227cc3ed2037 100644 +--- a/ucm2/codecs/rt5645/DigitalMicDisableSeq.conf ++++ b/ucm2/codecs/rt5645/DigitalMicDisableSeq.conf +@@ -1,5 +1,7 @@ +-cset "name='Sto1 ADC MIXL ADC2 Switch' off" +-cset "name='Sto1 ADC MIXR ADC2 Switch' off" +-cset "name='Mono ADC MIXL ADC2 Switch' off" +-cset "name='Mono ADC MIXR ADC2 Switch' off" +-cset "name='Int Mic Switch' off" ++DisableSequence [ ++ cset "name='Sto1 ADC MIXL ADC2 Switch' off" ++ cset "name='Sto1 ADC MIXR ADC2 Switch' off" ++ cset "name='Mono ADC MIXL ADC2 Switch' off" ++ cset "name='Mono ADC MIXR ADC2 Switch' off" ++ cset "name='Int Mic Switch' off" ++] +diff --git a/ucm2/codecs/rt5645/DigitalMicEnableSeq.conf b/ucm2/codecs/rt5645/DigitalMicEnableSeq.conf +index cb243b33a670..45510ad4a0d9 100644 +--- a/ucm2/codecs/rt5645/DigitalMicEnableSeq.conf ++++ b/ucm2/codecs/rt5645/DigitalMicEnableSeq.conf +@@ -1,10 +1,12 @@ +-cset "name='Int Mic Switch' on" ++EnableSequence [ ++ cset "name='Int Mic Switch' on" + +-cset "name='Sto1 ADC MIXL ADC1 Switch' off" +-cset "name='Sto1 ADC MIXR ADC1 Switch' off" +-cset "name='Sto1 ADC MIXL ADC2 Switch' on" +-cset "name='Sto1 ADC MIXR ADC2 Switch' on" +-cset "name='Mono ADC MIXL ADC1 Switch' off" +-cset "name='Mono ADC MIXR ADC1 Switch' off" +-cset "name='Mono ADC MIXL ADC2 Switch' on" +-cset "name='Mono ADC MIXR ADC2 Switch' on" ++ cset "name='Sto1 ADC MIXL ADC1 Switch' off" ++ cset "name='Sto1 ADC MIXR ADC1 Switch' off" ++ cset "name='Sto1 ADC MIXL ADC2 Switch' on" ++ cset "name='Sto1 ADC MIXR ADC2 Switch' on" ++ cset "name='Mono ADC MIXL ADC1 Switch' off" ++ cset "name='Mono ADC MIXR ADC1 Switch' off" ++ cset "name='Mono ADC MIXL ADC2 Switch' on" ++ cset "name='Mono ADC MIXR ADC2 Switch' on" ++] +diff --git a/ucm2/codecs/rt5645/DisableSeq.conf b/ucm2/codecs/rt5645/DisableSeq.conf +index 5127d1aea106..5726d8a488fc 100644 +--- a/ucm2/codecs/rt5645/DisableSeq.conf ++++ b/ucm2/codecs/rt5645/DisableSeq.conf +@@ -1,15 +1,17 @@ +-# Disable audio output path +-cset "name='codec_out1 mix 0 pcm0_in Switch' off" +-cset "name='media0_out mix 0 media1_in Switch' off" ++DisableSequence [ ++ # Disable audio output path ++ cset "name='codec_out1 mix 0 pcm0_in Switch' off" ++ cset "name='media0_out mix 0 media1_in Switch' off" + +-cset "name='media1_in Gain 0 Switch' off" +-cset "name='pcm0_in Gain 0 Switch' off" +-cset "name='codec_out1 Gain 0 Switch' off" ++ cset "name='media1_in Gain 0 Switch' off" ++ cset "name='pcm0_in Gain 0 Switch' off" ++ cset "name='codec_out1 Gain 0 Switch' off" + +-# Disable audio input path +-cset "name='pcm1_out mix 0 media_loop2_in Switch' off" +-cset "name='media_loop2_out mix 0 codec_in0 Switch' off" ++ # Disable audio input path ++ cset "name='pcm1_out mix 0 media_loop2_in Switch' off" ++ cset "name='media_loop2_out mix 0 codec_in0 Switch' off" + +-cset "name='media_loop2_out Gain 0 Switch' off" +-cset "name='pcm1_out Gain 0 Switch' off" +-cset "name='codec_in0 Gain 0 Switch' off" ++ cset "name='media_loop2_out Gain 0 Switch' off" ++ cset "name='pcm1_out Gain 0 Switch' off" ++ cset "name='codec_in0 Gain 0 Switch' off" ++] +\ No newline at end of file +diff --git a/ucm2/codecs/rt5645/EnableSeq.conf b/ucm2/codecs/rt5645/EnableSeq.conf +index d3ad4cf9d18c..68fdcbbb3b1a 100644 +--- a/ucm2/codecs/rt5645/EnableSeq.conf ++++ b/ucm2/codecs/rt5645/EnableSeq.conf +@@ -1,46 +1,48 @@ +-# Output Configuration +-cset "name='DAC1 L Mux' IF1 DAC" +-cset "name='DAC1 R Mux' IF1 DAC" +-cset "name='DAC1 MIXL DAC1 Switch' 1" +-cset "name='DAC1 MIXR DAC1 Switch' 1" +-cset "name='Stereo DAC MIXL DAC L1 Switch' 1" +-cset "name='Stereo DAC MIXR DAC R1 Switch' 1" ++EnableSequence [ ++ # Output Configuration ++ cset "name='DAC1 L Mux' IF1 DAC" ++ cset "name='DAC1 R Mux' IF1 DAC" ++ cset "name='DAC1 MIXL DAC1 Switch' 1" ++ cset "name='DAC1 MIXR DAC1 Switch' 1" ++ cset "name='Stereo DAC MIXL DAC L1 Switch' 1" ++ cset "name='Stereo DAC MIXR DAC R1 Switch' 1" + +-cset "name='DAC L2 Mux' IF2 DAC" +-cset "name='DAC R2 Mux' IF2 DAC" +-cset "name='Mono DAC MIXL DAC L2 Switch' on" +-cset "name='Mono DAC MIXR DAC R2 Switch' on" +-cset "name='DAC2 Playback Switch' on" ++ cset "name='DAC L2 Mux' IF2 DAC" ++ cset "name='DAC R2 Mux' IF2 DAC" ++ cset "name='Mono DAC MIXL DAC L2 Switch' on" ++ cset "name='Mono DAC MIXR DAC R2 Switch' on" ++ cset "name='DAC2 Playback Switch' on" + +-cset "name='HPOVOL MIXL DAC1 Switch' on" +-cset "name='HPOVOL MIXR DAC1 Switch' on" +-cset "name='HPOVOL MIXL DAC2 Switch' on" +-cset "name='HPOVOL MIXR DAC2 Switch' on" +-cset "name='HPO MIX HPVOL Switch' on" +-cset "name='HPOVOL L Switch' on" +-cset "name='HPOVOL R Switch' on" ++ cset "name='HPOVOL MIXL DAC1 Switch' on" ++ cset "name='HPOVOL MIXR DAC1 Switch' on" ++ cset "name='HPOVOL MIXL DAC2 Switch' on" ++ cset "name='HPOVOL MIXR DAC2 Switch' on" ++ cset "name='HPO MIX HPVOL Switch' on" ++ cset "name='HPOVOL L Switch' on" ++ cset "name='HPOVOL R Switch' on" + +-cset "name='SPK MIXL DAC L1 Switch' on" +-cset "name='SPK MIXR DAC R1 Switch' on" +-cset "name='SPK MIXL DAC L2 Switch' on" +-cset "name='SPK MIXR DAC R2 Switch' on" +-cset "name='SPOL MIX SPKVOL L Switch' on" +-cset "name='SPOR MIX SPKVOL R Switch' on" +-cset "name='SPKVOL L Switch' on" +-cset "name='SPKVOL R Switch' on" ++ cset "name='SPK MIXL DAC L1 Switch' on" ++ cset "name='SPK MIXR DAC R1 Switch' on" ++ cset "name='SPK MIXL DAC L2 Switch' on" ++ cset "name='SPK MIXR DAC R2 Switch' on" ++ cset "name='SPOL MIX SPKVOL L Switch' on" ++ cset "name='SPOR MIX SPKVOL R Switch' on" ++ cset "name='SPKVOL L Switch' on" ++ cset "name='SPKVOL R Switch' on" + +-# Input Configuration +-cset "name='Stereo1 DMIC Mux' 0" +-cset "name='Stereo1 ADC2 Mux' 1" +-cset "name='ADC Capture Switch' on" ++ # Input Configuration ++ cset "name='Stereo1 DMIC Mux' 0" ++ cset "name='Stereo1 ADC2 Mux' 1" ++ cset "name='ADC Capture Switch' on" + +-# 55/63 +-cset "name='ADC Capture Volume' 55" +-# set ADC Boost to 0/3, higher vals cause a lot of white noise +-cset "name='ADC Boost Capture Volume' 0" +-# 55/63 +-cset "name='Mono ADC Capture Volume' 55" +-# 0/3 +-cset "name='Mono ADC Boost Capture Volume' 0" +-# 27/31 +-cset "name='IN Capture Volume' 27" ++ # 55/63 ++ cset "name='ADC Capture Volume' 55" ++ # set ADC Boost to 0/3, higher vals cause a lot of white noise ++ cset "name='ADC Boost Capture Volume' 0" ++ # 55/63 ++ cset "name='Mono ADC Capture Volume' 55" ++ # 0/3 ++ cset "name='Mono ADC Boost Capture Volume' 0" ++ # 27/31 ++ cset "name='IN Capture Volume' 27" ++] +\ No newline at end of file +diff --git a/ucm2/codecs/rt5645/HSMicDisableSeq.conf b/ucm2/codecs/rt5645/HSMicDisableSeq.conf +index ef42b176a631..d6944235a684 100644 +--- a/ucm2/codecs/rt5645/HSMicDisableSeq.conf ++++ b/ucm2/codecs/rt5645/HSMicDisableSeq.conf +@@ -1,6 +1,8 @@ +-cset "name='Headset Mic Switch' off" ++DisableSequence [ ++ cset "name='Headset Mic Switch' off" + +-cset "name='RECMIXL BST1 Switch' off" +-cset "name='RECMIXR BST1 Switch' off" +-cset "name='Sto1 ADC MIXL ADC1 Switch' off" +-cset "name='Sto1 ADC MIXR ADC1 Switch' off" ++ cset "name='RECMIXL BST1 Switch' off" ++ cset "name='RECMIXR BST1 Switch' off" ++ cset "name='Sto1 ADC MIXL ADC1 Switch' off" ++ cset "name='Sto1 ADC MIXR ADC1 Switch' off" ++] +diff --git a/ucm2/codecs/rt5645/HSMicEnableSeq.conf b/ucm2/codecs/rt5645/HSMicEnableSeq.conf +index 6c26d6876466..cf806370f14b 100644 +--- a/ucm2/codecs/rt5645/HSMicEnableSeq.conf ++++ b/ucm2/codecs/rt5645/HSMicEnableSeq.conf +@@ -1,7 +1,9 @@ +-cset "name='Headset Mic Switch' on" ++EnableSequence [ ++ cset "name='Headset Mic Switch' on" + +-cset "name='Sto1 ADC MIXL ADC1 Switch' on" +-cset "name='Sto1 ADC MIXR ADC1 Switch' on" ++ cset "name='Sto1 ADC MIXL ADC1 Switch' on" ++ cset "name='Sto1 ADC MIXR ADC1 Switch' on" + +-cset "name='RECMIXL BST1 Switch' on" +-cset "name='RECMIXR BST1 Switch' on" ++ cset "name='RECMIXL BST1 Switch' on" ++ cset "name='RECMIXR BST1 Switch' on" ++] +diff --git a/ucm2/codecs/rt5645/HeadphonesEnableSeq.conf b/ucm2/codecs/rt5645/HeadphonesEnableSeq.conf +index 6c231da7d6d6..4406d5aaee8d 100644 +--- a/ucm2/codecs/rt5645/HeadphonesEnableSeq.conf ++++ b/ucm2/codecs/rt5645/HeadphonesEnableSeq.conf +@@ -1,7 +1,9 @@ +-cset "name='Ext Spk Switch' off" +-cset "name='Speaker Channel Switch' off" ++EnableSequence [ ++ cset "name='Ext Spk Switch' off" ++ cset "name='Speaker Channel Switch' off" + +-cset "name='Headphone Switch' on" +-cset "name='Headphone Channel Switch' on" +-# 25/39 higher values cause crackling on some boards +-cset "name='Headphone Playback Volume' 25" ++ cset "name='Headphone Switch' on" ++ cset "name='Headphone Channel Switch' on" ++ # 25/39 higher values cause crackling on some boards ++ cset "name='Headphone Playback Volume' 25" ++] +diff --git a/ucm2/codecs/rt5645/SpeakerEnableSeq.conf b/ucm2/codecs/rt5645/SpeakerEnableSeq.conf +index 2cc62fc5dc09..7b9138751765 100644 +--- a/ucm2/codecs/rt5645/SpeakerEnableSeq.conf ++++ b/ucm2/codecs/rt5645/SpeakerEnableSeq.conf +@@ -1,6 +1,8 @@ +-cset "name='Headphone Switch' off" +-cset "name='Headphone Channel Switch' off" ++EnableSequence [ ++ cset "name='Headphone Switch' off" ++ cset "name='Headphone Channel Switch' off" + +-cset "name='Ext Spk Switch' on" +-cset "name='Speaker Channel Switch' on" +-cset "name='Speaker Playback Volume' 31" ++ cset "name='Ext Spk Switch' on" ++ cset "name='Speaker Channel Switch' on" ++ cset "name='Speaker Playback Volume' 31" ++] +diff --git a/ucm2/codecs/rt5651/EnableSeq.conf b/ucm2/codecs/rt5651/EnableSeq.conf +index 9c1386facbac..3d30e15e0370 100644 +--- a/ucm2/codecs/rt5651/EnableSeq.conf ++++ b/ucm2/codecs/rt5651/EnableSeq.conf +@@ -1,56 +1,59 @@ +-# default state +-cset "name='HPO MIX DAC1 Switch' on" +-cset "name='HPO MIX HPVOL Switch' off" +-cset "name='HPO L Playback Switch' off" +-cset "name='HPO R Playback Switch' off" +-cset "name='HPOVOL L Switch' on" +-cset "name='HPOVOL R Switch' on" +-cset "name='LOUT MIX DAC L1 Switch' on" +-cset "name='LOUT MIX DAC R1 Switch' on" +-cset "name='IF1 ASRC Switch' on" +-cset "name='LOUT L Playback Switch' off" +-cset "name='LOUT R Playback Switch' off" +-cset "name='Stereo DAC MIXL DAC L1 Switch' on" +-cset "name='Stereo DAC MIXL DAC R1 Switch' off" +-cset "name='Stereo DAC MIXR DAC L1 Switch' off" +-cset "name='Stereo DAC MIXR DAC R1 Switch' on" +-cset "name='Stereo1 ADC MIXL ADC1 Switch' off" +-cset "name='Stereo1 ADC MIXR ADC1 Switch' off" +-cset "name='Stereo1 ADC MIXL ADC2 Switch' off" +-cset "name='Stereo1 ADC MIXR ADC2 Switch' off" +-cset "name='Stereo2 ADC MIXL ADC1 Switch' off" +-cset "name='Stereo2 ADC MIXR ADC1 Switch' off" +-cset "name='Stereo2 ADC MIXL ADC2 Switch' off" +-cset "name='Stereo2 ADC MIXR ADC2 Switch' off" +-cset "name='Headphone Switch' off" +-cset "name='Speaker Switch' off" ++EnableSequence [ + +-# volumes +-cset "name='OUT Playback Volume' 31" +-cset "name='HP Playback Volume' 31" +-cset "name='DAC1 Playback Volume' 175" +-cset "name='IN Capture Volume' 23" +-# 47=0dB, 0.375 dB/step, set it to 6 dB to help with soft mics +-cset "name='ADC Capture Volume' 63" +-cset "name='ADC Capture Switch' on" +-# Set ADC Boost Gain to 3dB higher vals result in too much noise +-cset "name='ADC Boost Gain' 1" +-# Set IN1, IN2 and IN3 internal mic boost to 1 +-cset "name='IN1 Boost' 1" +-cset "name='IN2 Boost' 1" +-cset "name='IN3 Boost' 1" ++ # default state ++ cset "name='HPO MIX DAC1 Switch' on" ++ cset "name='HPO MIX HPVOL Switch' off" ++ cset "name='HPO L Playback Switch' off" ++ cset "name='HPO R Playback Switch' off" ++ cset "name='HPOVOL L Switch' on" ++ cset "name='HPOVOL R Switch' on" ++ cset "name='LOUT MIX DAC L1 Switch' on" ++ cset "name='LOUT MIX DAC R1 Switch' on" ++ cset "name='IF1 ASRC Switch' on" ++ cset "name='LOUT L Playback Switch' off" ++ cset "name='LOUT R Playback Switch' off" ++ cset "name='Stereo DAC MIXL DAC L1 Switch' on" ++ cset "name='Stereo DAC MIXL DAC R1 Switch' off" ++ cset "name='Stereo DAC MIXR DAC L1 Switch' off" ++ cset "name='Stereo DAC MIXR DAC R1 Switch' on" ++ cset "name='Stereo1 ADC MIXL ADC1 Switch' off" ++ cset "name='Stereo1 ADC MIXR ADC1 Switch' off" ++ cset "name='Stereo1 ADC MIXL ADC2 Switch' off" ++ cset "name='Stereo1 ADC MIXR ADC2 Switch' off" ++ cset "name='Stereo2 ADC MIXL ADC1 Switch' off" ++ cset "name='Stereo2 ADC MIXR ADC1 Switch' off" ++ cset "name='Stereo2 ADC MIXL ADC2 Switch' off" ++ cset "name='Stereo2 ADC MIXR ADC2 Switch' off" ++ cset "name='Headphone Switch' off" ++ cset "name='Speaker Switch' off" + +-# input +-cset "name='Stereo1 ADC L1 Mux' ADC" +-cset "name='Stereo1 ADC R1 Mux' ADC" +-cset "name='Stereo1 ADC L2 Mux' DMIC" +-cset "name='Stereo1 ADC R2 Mux' DMIC" +-cset "name='RECMIXL BST1 Switch' off" +-cset "name='RECMIXR BST1 Switch' off" +-cset "name='RECMIXL BST3 Switch' off" +-cset "name='RECMIXR BST3 Switch' off" +-cset "name='RECMIXL BST2 Switch' off" +-cset "name='RECMIXR BST2 Switch' off" +-cset "name='Headset Mic Switch' off" +-cset "name='Internal Mic Switch' off" +-cset "name='Line In Switch' off" ++ # volumes ++ cset "name='OUT Playback Volume' 31" ++ cset "name='HP Playback Volume' 31" ++ cset "name='DAC1 Playback Volume' 175" ++ cset "name='IN Capture Volume' 23" ++ # 47=0dB, 0.375 dB/step, set it to 6 dB to help with soft mics ++ cset "name='ADC Capture Volume' 63" ++ cset "name='ADC Capture Switch' on" ++ # Set ADC Boost Gain to 3dB higher vals result in too much noise ++ cset "name='ADC Boost Gain' 1" ++ # Set IN1, IN2 and IN3 internal mic boost to 1 ++ cset "name='IN1 Boost' 1" ++ cset "name='IN2 Boost' 1" ++ cset "name='IN3 Boost' 1" ++ ++ # input ++ cset "name='Stereo1 ADC L1 Mux' ADC" ++ cset "name='Stereo1 ADC R1 Mux' ADC" ++ cset "name='Stereo1 ADC L2 Mux' DMIC" ++ cset "name='Stereo1 ADC R2 Mux' DMIC" ++ cset "name='RECMIXL BST1 Switch' off" ++ cset "name='RECMIXR BST1 Switch' off" ++ cset "name='RECMIXL BST3 Switch' off" ++ cset "name='RECMIXR BST3 Switch' off" ++ cset "name='RECMIXL BST2 Switch' off" ++ cset "name='RECMIXR BST2 Switch' off" ++ cset "name='Headset Mic Switch' off" ++ cset "name='Internal Mic Switch' off" ++ cset "name='Line In Switch' off" ++] +diff --git a/ucm2/codecs/rt5672/EnableSeq.conf b/ucm2/codecs/rt5672/EnableSeq.conf +index bd4f357c72a1..a19a98291b8c 100644 +--- a/ucm2/codecs/rt5672/EnableSeq.conf ++++ b/ucm2/codecs/rt5672/EnableSeq.conf +@@ -1,48 +1,50 @@ +-# Playback (I2S1) ++EnableSequence [ ++ # Playback (I2S1) + +-# common +-cset "name='DAC1 L Mux' IF1 DAC" +-cset "name='DAC1 R Mux' IF1 DAC" +-cset "name='DAC1 MIXL DAC1 Switch' on" +-cset "name='DAC1 MIXR DAC1 Switch' on" +-cset "name='Stereo DAC MIXL DAC L1 Switch' on" +-cset "name='Stereo DAC MIXL DAC R1 Switch' off" +-cset "name='Stereo DAC MIXR DAC R1 Switch' on" +-cset "name='Stereo DAC MIXR DAC L1 Switch' off" ++ # common ++ cset "name='DAC1 L Mux' IF1 DAC" ++ cset "name='DAC1 R Mux' IF1 DAC" ++ cset "name='DAC1 MIXL DAC1 Switch' on" ++ cset "name='DAC1 MIXR DAC1 Switch' on" ++ cset "name='Stereo DAC MIXL DAC L1 Switch' on" ++ cset "name='Stereo DAC MIXL DAC R1 Switch' off" ++ cset "name='Stereo DAC MIXR DAC R1 Switch' on" ++ cset "name='Stereo DAC MIXR DAC L1 Switch' off" + +-# speaker +-cset "name='PDM1 L Mux' Stereo DAC" +-cset "name='PDM1 R Mux' Stereo DAC" ++ # speaker ++ cset "name='PDM1 L Mux' Stereo DAC" ++ cset "name='PDM1 R Mux' Stereo DAC" + +-# headphone +-cset "name='HPOVOL MIXL DAC1 Switch' on" +-cset "name='HPOVOL MIXR DAC1 Switch' on" +-cset "name='HPO MIX HPVOL Switch' on" ++ # headphone ++ cset "name='HPOVOL MIXL DAC1 Switch' on" ++ cset "name='HPOVOL MIXR DAC1 Switch' on" ++ cset "name='HPO MIX HPVOL Switch' on" + +-# line out +-# cset "name='OUT MIXL DAC L1 Switch' on" +-# cset "name='OUT MIXR DAC R1 Switch' on" +-# cset "name='LOUT MIX OUTMIX L Switch' on" +-# cset "name='LOUT MIX OUTMIX R Switch' on" ++ # line out ++ # cset "name='OUT MIXL DAC L1 Switch' on" ++ # cset "name='OUT MIXR DAC R1 Switch' on" ++ # cset "name='LOUT MIX OUTMIX L Switch' on" ++ # cset "name='LOUT MIX OUTMIX R Switch' on" + +-# 47=0dB, 0.375 dB/step +-cset "name='ADC Capture Volume' 47" +-cset "name='ADC Capture Switch' on" ++ # 47=0dB, 0.375 dB/step ++ cset "name='ADC Capture Volume' 47" ++ cset "name='ADC Capture Switch' on" + +-# Headset mic is quite soft, boost it a bit, 1 = 20dB which is the first +-# available boost step +-cset "name='IN1 Boost Volume' 1" ++ # Headset mic is quite soft, boost it a bit, 1 = 20dB which is the first ++ # available boost step ++ cset "name='IN1 Boost Volume' 1" + +-# Start with all outputs / inputs disabled +-cset "name='Ext Spk Switch' off" +-cset "name='Headphone Switch' off" +-cset "name='Int Mic Switch' off" +-cset "name='Headset Mic Switch' off" +-cset "name='Sto1 ADC MIXL ADC1 Switch' off" +-cset "name='Sto1 ADC MIXR ADC1 Switch' off" +-cset "name='Sto1 ADC MIXL ADC2 Switch' off" +-cset "name='Sto1 ADC MIXR ADC2 Switch' off" +-cset "name='RECMIXL BST1 Switch' off" +-cset "name='RECMIXR BST1 Switch' off" +-cset "name='RECMIXL BST2 Switch' off" +-cset "name='RECMIXR BST2 Switch' off" ++ # Start with all outputs / inputs disabled ++ cset "name='Ext Spk Switch' off" ++ cset "name='Headphone Switch' off" ++ cset "name='Int Mic Switch' off" ++ cset "name='Headset Mic Switch' off" ++ cset "name='Sto1 ADC MIXL ADC1 Switch' off" ++ cset "name='Sto1 ADC MIXR ADC1 Switch' off" ++ cset "name='Sto1 ADC MIXL ADC2 Switch' off" ++ cset "name='Sto1 ADC MIXR ADC2 Switch' off" ++ cset "name='RECMIXL BST1 Switch' off" ++ cset "name='RECMIXR BST1 Switch' off" ++ cset "name='RECMIXL BST2 Switch' off" ++ cset "name='RECMIXR BST2 Switch' off" ++] +diff --git a/ucm2/codecs/wcd934x/DefaultDisableSeq.conf b/ucm2/codecs/wcd934x/DefaultDisableSeq.conf +index 88d82a32f9f6..9df16641da32 100644 +--- a/ucm2/codecs/wcd934x/DefaultDisableSeq.conf ++++ b/ucm2/codecs/wcd934x/DefaultDisableSeq.conf +@@ -1,5 +1,7 @@ +-cset "name='RX INT7_1 MIX1 INP0' ZERO" +-cset "name='RX INT8_1 MIX1 INP0' ZERO" +-cset "name='RX INT1_2 MUX' ZERO" +-cset "name='RX INT2_2 MUX' ZERO" +-cset "name='CDC_IF TX0 MUX' ZERO" ++DisableSequence [ ++ cset "name='RX INT7_1 MIX1 INP0' ZERO" ++ cset "name='RX INT8_1 MIX1 INP0' ZERO" ++ cset "name='RX INT1_2 MUX' ZERO" ++ cset "name='RX INT2_2 MUX' ZERO" ++ cset "name='CDC_IF TX0 MUX' ZERO" ++] +diff --git a/ucm2/codecs/wcd934x/DefaultEnableSeq.conf b/ucm2/codecs/wcd934x/DefaultEnableSeq.conf +index e5bdbbd2293b..4b6f3e787ccd 100644 +--- a/ucm2/codecs/wcd934x/DefaultEnableSeq.conf ++++ b/ucm2/codecs/wcd934x/DefaultEnableSeq.conf +@@ -1,14 +1,16 @@ +-cset "name='SLIM RX1 MUX' AIF1_PB" +-cset "name='SLIM RX2 MUX' AIF1_PB" +-cset "name='SLIM RX6 MUX' ZERO" +-cset "name='SLIM RX7 MUX' ZERO" +-cset "name='SLIM RX3 MUX' ZERO" +-cset "name='SLIM RX4 MUX' ZERO" +-cset "name='SLIM RX5 MUX' ZERO" +-cset "name='AIF1_CAP Mixer SLIM TX0' 1" ++EnableSequence [ ++ cset "name='SLIM RX1 MUX' AIF1_PB" ++ cset "name='SLIM RX2 MUX' AIF1_PB" ++ cset "name='SLIM RX6 MUX' ZERO" ++ cset "name='SLIM RX7 MUX' ZERO" ++ cset "name='SLIM RX3 MUX' ZERO" ++ cset "name='SLIM RX4 MUX' ZERO" ++ cset "name='SLIM RX5 MUX' ZERO" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 1" + +-cset "name='RX INT7_1 MIX1 INP0' RX1" +-cset "name='RX INT8_1 MIX1 INP0' RX2" +-cset "name='RX INT1_2 MUX' RX1" +-cset "name='RX INT2_2 MUX' RX2" +-cset "name='CDC_IF TX0 MUX' DEC0" ++ cset "name='RX INT7_1 MIX1 INP0' RX1" ++ cset "name='RX INT8_1 MIX1 INP0' RX2" ++ cset "name='RX INT1_2 MUX' RX1" ++ cset "name='RX INT2_2 MUX' RX2" ++ cset "name='CDC_IF TX0 MUX' DEC0" ++] +diff --git a/ucm2/codecs/wcd934x/SpeakerDisableSeq.conf b/ucm2/codecs/wcd934x/SpeakerDisableSeq.conf +index 3c977c81fcf6..92f9dea30a07 100644 +--- a/ucm2/codecs/wcd934x/SpeakerDisableSeq.conf ++++ b/ucm2/codecs/wcd934x/SpeakerDisableSeq.conf +@@ -1,4 +1,6 @@ +-cset "name='RX7 Digital Volume' 0" +-cset "name='RX8 Digital Volume' 0" +-cset "name='COMP7 Switch' 0" +-cset "name='COMP8 Switch' 0" ++DisableSequence [ ++ cset "name='RX7 Digital Volume' 0" ++ cset "name='RX8 Digital Volume' 0" ++ cset "name='COMP7 Switch' 0" ++ cset "name='COMP8 Switch' 0" ++] +\ No newline at end of file +diff --git a/ucm2/codecs/wcd934x/SpeakerEnableSeq.conf b/ucm2/codecs/wcd934x/SpeakerEnableSeq.conf +index 2d9a3d893317..2d8d01a39fe5 100644 +--- a/ucm2/codecs/wcd934x/SpeakerEnableSeq.conf ++++ b/ucm2/codecs/wcd934x/SpeakerEnableSeq.conf +@@ -1,4 +1,6 @@ +-cset "name='COMP7 Switch' 1" +-cset "name='COMP8 Switch' 1" +-cset "name='RX7 Digital Volume' 80" +-cset "name='RX8 Digital Volume' 80" ++EnableSequence [ ++ cset "name='COMP7 Switch' 1" ++ cset "name='COMP8 Switch' 1" ++ cset "name='RX7 Digital Volume' 80" ++ cset "name='RX8 Digital Volume' 80" ++] +diff --git a/ucm2/codecs/wsa881x/DefaultEnableSeq.conf b/ucm2/codecs/wsa881x/DefaultEnableSeq.conf +index 499342bdf457..98310a9b4f81 100644 +--- a/ucm2/codecs/wsa881x/DefaultEnableSeq.conf ++++ b/ucm2/codecs/wsa881x/DefaultEnableSeq.conf +@@ -1,8 +1,10 @@ +-cset "name='SpkrLeft COMP Switch' 1" +-cset "name='SpkrLeft BOOST Switch' 1" +-cset "name='SpkrLeft DAC Switch' 1" +-cset "name='SpkrLeft VISENSE Switch' 0" +-cset "name='SpkrRight COMP Switch' 1" +-cset "name='SpkrRight BOOST Switch' 1" +-cset "name='SpkrRight DAC Switch' 1" +-cset "name='SpkrRight VISENSE Switch' 0" ++EnableSequence [ ++ cset "name='SpkrLeft COMP Switch' 1" ++ cset "name='SpkrLeft BOOST Switch' 1" ++ cset "name='SpkrLeft DAC Switch' 1" ++ cset "name='SpkrLeft VISENSE Switch' 0" ++ cset "name='SpkrRight COMP Switch' 1" ++ cset "name='SpkrRight BOOST Switch' 1" ++ cset "name='SpkrRight DAC Switch' 1" ++ cset "name='SpkrRight VISENSE Switch' 0" ++] +diff --git a/ucm2/codecs/wsa881x/SpeakerDisableSeq.conf b/ucm2/codecs/wsa881x/SpeakerDisableSeq.conf +index 96144224eb2f..9439eb8b9ddb 100644 +--- a/ucm2/codecs/wsa881x/SpeakerDisableSeq.conf ++++ b/ucm2/codecs/wsa881x/SpeakerDisableSeq.conf +@@ -1,8 +1,10 @@ +-cset "name='SpkrLeft COMP Switch' 0" +-cset "name='SpkrLeft BOOST Switch' 0" +-cset "name='SpkrLeft DAC Switch' 0" +-cset "name='SpkrLeft VISENSE Switch' 0" +-cset "name='SpkrRight COMP Switch' 0" +-cset "name='SpkrRight BOOST Switch' 0" +-cset "name='SpkrRight DAC Switch' 0" +-cset "name='SpkrRight VISENSE Switch' 0" ++DisableSequence [ ++ cset "name='SpkrLeft COMP Switch' 0" ++ cset "name='SpkrLeft BOOST Switch' 0" ++ cset "name='SpkrLeft DAC Switch' 0" ++ cset "name='SpkrLeft VISENSE Switch' 0" ++ cset "name='SpkrRight COMP Switch' 0" ++ cset "name='SpkrRight BOOST Switch' 0" ++ cset "name='SpkrRight DAC Switch' 0" ++ cset "name='SpkrRight VISENSE Switch' 0" ++] +diff --git a/ucm2/codecs/wsa881x/SpeakerEnableSeq.conf b/ucm2/codecs/wsa881x/SpeakerEnableSeq.conf +index 31c27f3fb5e0..72a02ec980f8 100644 +--- a/ucm2/codecs/wsa881x/SpeakerEnableSeq.conf ++++ b/ucm2/codecs/wsa881x/SpeakerEnableSeq.conf +@@ -1,10 +1,12 @@ +-cset "name='SpkrLeft COMP Switch' 1" +-cset "name='SpkrLeft BOOST Switch' 1" +-cset "name='SpkrLeft DAC Switch' 1" +-cset "name='SpkrLeft VISENSE Switch' 0" +-cset "name='SpkrLeft PA Volume' 12" +-cset "name='SpkrRight COMP Switch' 1" +-cset "name='SpkrRight BOOST Switch' 1" +-cset "name='SpkrRight DAC Switch' 1" +-cset "name='SpkrRight VISENSE Switch' 0" +-cset "name='SpkrRight PA Volume' 12" ++EnableSequence [ ++ cset "name='SpkrLeft COMP Switch' 1" ++ cset "name='SpkrLeft BOOST Switch' 1" ++ cset "name='SpkrLeft DAC Switch' 1" ++ cset "name='SpkrLeft VISENSE Switch' 0" ++ cset "name='SpkrLeft PA Volume' 12" ++ cset "name='SpkrRight COMP Switch' 1" ++ cset "name='SpkrRight BOOST Switch' 1" ++ cset "name='SpkrRight DAC Switch' 1" ++ cset "name='SpkrRight VISENSE Switch' 0" ++ cset "name='SpkrRight PA Volume' 12" ++] +diff --git a/ucm2/hda-dsp/HiFi.conf b/ucm2/hda-dsp/HiFi.conf +index cdeb215832c7..c274b376961b 100644 +--- a/ucm2/hda-dsp/HiFi.conf ++++ b/ucm2/hda-dsp/HiFi.conf +@@ -92,5 +92,5 @@ SectionDevice."Mic" { + } + } + +- +- ++Include.hdmi1.File "Hdmi1.conf" ++Include.hdmi2.File "Hdmi2.conf" +diff --git a/ucm2/hda-dsp/hda-dsp.conf b/ucm2/hda-dsp/hda-dsp.conf +index bf80b099349e..2434f4dfe185 100644 +--- a/ucm2/hda-dsp/hda-dsp.conf ++++ b/ucm2/hda-dsp/hda-dsp.conf +@@ -1,7 +1,7 @@ + # UCM for Intel CAVS platforms + # For Audio in HDA and DMIC mode + +-Syntax 2 ++Syntax 3 + + SectionUseCase."HiFi" { + File "HiFi.conf" +diff --git a/ucm2/platforms/bytcr/PlatformDisableSeq.conf b/ucm2/platforms/bytcr/PlatformDisableSeq.conf +index 9bb018bc8c14..cd48dc001058 100644 +--- a/ucm2/platforms/bytcr/PlatformDisableSeq.conf ++++ b/ucm2/platforms/bytcr/PlatformDisableSeq.conf +@@ -1,20 +1,23 @@ + # disable audio output path +-cset "name='codec_out0 mix 0 pcm0_in Switch' off" +-cset "name='modem_out mix 0 pcm0_in Switch' off" + +-cset "name='media0_out mix 0 media0_in Switch' off" +-cset "name='media0_out mix 0 media1_in Switch' off" +-cset "name='media0_out mix 0 media3_in Switch' off" ++DisableSequence [ ++ cset "name='codec_out0 mix 0 pcm0_in Switch' off" ++ cset "name='modem_out mix 0 pcm0_in Switch' off" + +-cset "name='media0_in Gain 0 Switch' off" +-cset "name='media1_in Gain 0 Switch' off" +-cset "name='media3_in Gain 0 Switch' off" ++ cset "name='media0_out mix 0 media0_in Switch' off" ++ cset "name='media0_out mix 0 media1_in Switch' off" ++ cset "name='media0_out mix 0 media3_in Switch' off" + +-cset "name='pcm0_in Gain 0 Switch' off" +-cset "name='codec_out0 Gain 0 Switch' off" +-cset "name='modem_out Gain 0 Switch' off" ++ cset "name='media0_in Gain 0 Switch' off" ++ cset "name='media1_in Gain 0 Switch' off" ++ cset "name='media3_in Gain 0 Switch' off" + +-# disable audio input path +-cset "name='pcm1_out Gain 0 Switch' off" +-cset "name='codec_in0 Gain 0 Switch' off" +-cset "name='modem_in Gain 0 Switch' off" ++ cset "name='pcm0_in Gain 0 Switch' off" ++ cset "name='codec_out0 Gain 0 Switch' off" ++ cset "name='modem_out Gain 0 Switch' off" ++ ++ # disable audio input path ++ cset "name='pcm1_out Gain 0 Switch' off" ++ cset "name='codec_in0 Gain 0 Switch' off" ++ cset "name='modem_in Gain 0 Switch' off" ++] +diff --git a/ucm2/platforms/bytcr/PlatformEnableSeq.conf b/ucm2/platforms/bytcr/PlatformEnableSeq.conf +index b5ee2b415831..65de7c2ec656 100644 +--- a/ucm2/platforms/bytcr/PlatformEnableSeq.conf ++++ b/ucm2/platforms/bytcr/PlatformEnableSeq.conf +@@ -1,115 +1,118 @@ +-# media mixer settings +-# compress +-cset "name='media0_in Gain 0 Switch' on" +-cset "name='media0_in Gain 0 Volume' 0" +- +-# normal +-cset "name='media1_in Gain 0 Switch' on" +-cset "name='media1_in Gain 0 Volume' 0" +-# swm loopback +-cset "name='media2_in Gain 0 Switch' off" +-cset "name='media2_in Gain 0 Volume' 0%" +-# deep buffer +-cset "name='media3_in Gain 0 Switch' on" +-cset "name='media3_in Gain 0 Volume' 0" +- +-cset "name='media0_out mix 0 media0_in Switch' on" +-cset "name='media0_out mix 0 media1_in Switch' on" +-cset "name='media0_out mix 0 media2_in Switch' off" +-cset "name='media0_out mix 0 media3_in Switch' on" +- +-cset "name='media1_out mix 0 media0_in Switch' off" +-cset "name='media1_out mix 0 media1_in Switch' off" +-cset "name='media1_out mix 0 media2_in Switch' off" +-cset "name='media1_out mix 0 media3_in Switch' off" +- +-cset "name='pcm0_in Gain 0 Switch' on" +-cset "name='pcm0_in Gain 0 Volume' 0" +- +-cset "name='pcm1_in Gain 0 Switch' off" +-cset "name='pcm1_in Gain 0 Volume' 0%" +- +-# codec0_out settings (used if SSP2 is connected) +-cset "name='codec_out0 mix 0 codec_in0 Switch' off" +-cset "name='codec_out0 mix 0 codec_in1 Switch' off" +-cset "name='codec_out0 mix 0 media_loop1_in Switch' off" +-cset "name='codec_out0 mix 0 media_loop2_in Switch' off" +-cset "name='codec_out0 mix 0 pcm0_in Switch' on" +-cset "name='codec_out0 mix 0 pcm1_in Switch' off" +-cset "name='codec_out0 mix 0 sprot_loop_in Switch' off" +-cset "name='codec_out0 Gain 0 Switch' on" +-cset "name='codec_out0 Gain 0 Volume' 0" +- +-# modem_out settings (used if SSP0 is connected) +-cset "name='modem_out mix 0 codec_in0 Switch' off" +-cset "name='modem_out mix 0 codec_in1 Switch' off" +-cset "name='modem_out mix 0 media_loop1_in Switch' off" +-cset "name='modem_out mix 0 media_loop2_in Switch' off" +-cset "name='modem_out mix 0 pcm0_in Switch' on" +-cset "name='modem_out mix 0 pcm1_in Switch' off" +-cset "name='modem_out mix 0 sprot_loop_in Switch' off" +-cset "name='modem_out Gain 0 Switch' on" +-cset "name='modem_out Gain 0 Volume' 0" +- +-# input settings +- +-# input used when SSP2 is connected +-cset "name='codec_in0 Gain 0 Switch' on" +-cset "name='codec_in0 Gain 0 Volume' 0" +- +-# input used when SSP0 is connected +-cset "name='modem_in Gain 0 Switch' on" +-cset "name='modem_in Gain 0 Volume' 0" +- +-# pcm1_out settings +-cset "name='pcm1_out mix 0 codec_in0 Switch' on" +-cset "name='pcm1_out mix 0 modem_in Switch' on" +-cset "name='pcm1_out mix 0 codec_in1 Switch' off" +-cset "name='pcm1_out mix 0 media_loop1_in Switch' off" +-cset "name='pcm1_out mix 0 media_loop2_in Switch' off" +-cset "name='pcm1_out mix 0 pcm0_in Switch' off" +-cset "name='pcm1_out mix 0 pcm1_in Switch' off" +-cset "name='pcm1_out mix 0 sprot_loop_in Switch' off" +- +-cset "name='pcm1_out Gain 0 Switch' on" +-cset "name='pcm1_out Gain 0 Volume' 0" +- +-# disable codec_out1 +-cset "name='codec_out1 mix 0 codec_in0 Switch' off" +-cset "name='codec_out1 mix 0 codec_in1 Switch' off" +-cset "name='codec_out1 mix 0 media_loop1_in Switch' off" +-cset "name='codec_out1 mix 0 media_loop2_in Switch' off" +-cset "name='codec_out1 mix 0 pcm0_in Switch' off" +-cset "name='codec_out1 mix 0 pcm1_in Switch' off" +-cset "name='codec_out1 mix 0 sprot_loop_in Switch' off" +-cset "name='codec_out1 Gain 0 Switch' off" +-cset "name='codec_out1 Gain 0 Volume' 0%" +- +-# disable codec_in1 +-cset "name='codec_in1 Gain 0 Switch' off" +-cset "name='codec_in1 Gain 0 Volume' 0%" +- +-# disable all loops +-cset "name='media_loop1_out mix 0 codec_in0 Switch' off" +-cset "name='media_loop1_out mix 0 codec_in1 Switch' off" +-cset "name='media_loop1_out mix 0 media_loop1_in Switch' off" +-cset "name='media_loop1_out mix 0 media_loop2_in Switch' off" +-cset "name='media_loop1_out mix 0 pcm0_in Switch' off" +-cset "name='media_loop1_out mix 0 pcm1_in Switch' off" +-cset "name='media_loop1_out mix 0 sprot_loop_in Switch' off" +- +-cset "name='media_loop2_out mix 0 codec_in0 Switch' off" +-cset "name='media_loop2_out mix 0 codec_in1 Switch' off" +-cset "name='media_loop2_out mix 0 media_loop1_in Switch' off" +-cset "name='media_loop2_out mix 0 media_loop2_in Switch' off" +-cset "name='media_loop2_out mix 0 pcm0_in Switch' off" +-cset "name='media_loop2_out mix 0 pcm1_in Switch' off" +-cset "name='media_loop2_out mix 0 sprot_loop_in Switch' off" +- +-cset "name='sprot_loop_out mix 0 codec_in0 Switch' off" +-cset "name='sprot_loop_out mix 0 codec_in1 Switch' off" +-cset "name='sprot_loop_out mix 0 media_loop1_in Switch' off" +-cset "name='sprot_loop_out mix 0 media_loop2_in Switch' off" +-cset "name='sprot_loop_out mix 0 pcm0_in Switch' off" +-cset "name='sprot_loop_out mix 0 pcm1_in Switch' off" +-cset "name='sprot_loop_out mix 0 sprot_loop_in Switch' off" ++EnableSequence [ ++ ++ # media mixer settings ++ # compress ++ cset "name='media0_in Gain 0 Switch' on" ++ cset "name='media0_in Gain 0 Volume' 0" ++ ++ # normal ++ cset "name='media1_in Gain 0 Switch' on" ++ cset "name='media1_in Gain 0 Volume' 0" ++ # swm loopback ++ cset "name='media2_in Gain 0 Switch' off" ++ cset "name='media2_in Gain 0 Volume' 0%" ++ # deep buffer ++ cset "name='media3_in Gain 0 Switch' on" ++ cset "name='media3_in Gain 0 Volume' 0" ++ ++ cset "name='media0_out mix 0 media0_in Switch' on" ++ cset "name='media0_out mix 0 media1_in Switch' on" ++ cset "name='media0_out mix 0 media2_in Switch' off" ++ cset "name='media0_out mix 0 media3_in Switch' on" ++ ++ cset "name='media1_out mix 0 media0_in Switch' off" ++ cset "name='media1_out mix 0 media1_in Switch' off" ++ cset "name='media1_out mix 0 media2_in Switch' off" ++ cset "name='media1_out mix 0 media3_in Switch' off" ++ ++ cset "name='pcm0_in Gain 0 Switch' on" ++ cset "name='pcm0_in Gain 0 Volume' 0" ++ ++ cset "name='pcm1_in Gain 0 Switch' off" ++ cset "name='pcm1_in Gain 0 Volume' 0%" ++ ++ # codec0_out settings (used if SSP2 is connected) ++ cset "name='codec_out0 mix 0 codec_in0 Switch' off" ++ cset "name='codec_out0 mix 0 codec_in1 Switch' off" ++ cset "name='codec_out0 mix 0 media_loop1_in Switch' off" ++ cset "name='codec_out0 mix 0 media_loop2_in Switch' off" ++ cset "name='codec_out0 mix 0 pcm0_in Switch' on" ++ cset "name='codec_out0 mix 0 pcm1_in Switch' off" ++ cset "name='codec_out0 mix 0 sprot_loop_in Switch' off" ++ cset "name='codec_out0 Gain 0 Switch' on" ++ cset "name='codec_out0 Gain 0 Volume' 0" ++ ++ # modem_out settings (used if SSP0 is connected) ++ cset "name='modem_out mix 0 codec_in0 Switch' off" ++ cset "name='modem_out mix 0 codec_in1 Switch' off" ++ cset "name='modem_out mix 0 media_loop1_in Switch' off" ++ cset "name='modem_out mix 0 media_loop2_in Switch' off" ++ cset "name='modem_out mix 0 pcm0_in Switch' on" ++ cset "name='modem_out mix 0 pcm1_in Switch' off" ++ cset "name='modem_out mix 0 sprot_loop_in Switch' off" ++ cset "name='modem_out Gain 0 Switch' on" ++ cset "name='modem_out Gain 0 Volume' 0" ++ ++ # input settings ++ ++ # input used when SSP2 is connected ++ cset "name='codec_in0 Gain 0 Switch' on" ++ cset "name='codec_in0 Gain 0 Volume' 0" ++ ++ # input used when SSP0 is connected ++ cset "name='modem_in Gain 0 Switch' on" ++ cset "name='modem_in Gain 0 Volume' 0" ++ ++ # pcm1_out settings ++ cset "name='pcm1_out mix 0 codec_in0 Switch' on" ++ cset "name='pcm1_out mix 0 modem_in Switch' on" ++ cset "name='pcm1_out mix 0 codec_in1 Switch' off" ++ cset "name='pcm1_out mix 0 media_loop1_in Switch' off" ++ cset "name='pcm1_out mix 0 media_loop2_in Switch' off" ++ cset "name='pcm1_out mix 0 pcm0_in Switch' off" ++ cset "name='pcm1_out mix 0 pcm1_in Switch' off" ++ cset "name='pcm1_out mix 0 sprot_loop_in Switch' off" ++ ++ cset "name='pcm1_out Gain 0 Switch' on" ++ cset "name='pcm1_out Gain 0 Volume' 0" ++ ++ # disable codec_out1 ++ cset "name='codec_out1 mix 0 codec_in0 Switch' off" ++ cset "name='codec_out1 mix 0 codec_in1 Switch' off" ++ cset "name='codec_out1 mix 0 media_loop1_in Switch' off" ++ cset "name='codec_out1 mix 0 media_loop2_in Switch' off" ++ cset "name='codec_out1 mix 0 pcm0_in Switch' off" ++ cset "name='codec_out1 mix 0 pcm1_in Switch' off" ++ cset "name='codec_out1 mix 0 sprot_loop_in Switch' off" ++ cset "name='codec_out1 Gain 0 Switch' off" ++ cset "name='codec_out1 Gain 0 Volume' 0%" ++ ++ # disable codec_in1 ++ cset "name='codec_in1 Gain 0 Switch' off" ++ cset "name='codec_in1 Gain 0 Volume' 0%" ++ ++ # disable all loops ++ cset "name='media_loop1_out mix 0 codec_in0 Switch' off" ++ cset "name='media_loop1_out mix 0 codec_in1 Switch' off" ++ cset "name='media_loop1_out mix 0 media_loop1_in Switch' off" ++ cset "name='media_loop1_out mix 0 media_loop2_in Switch' off" ++ cset "name='media_loop1_out mix 0 pcm0_in Switch' off" ++ cset "name='media_loop1_out mix 0 pcm1_in Switch' off" ++ cset "name='media_loop1_out mix 0 sprot_loop_in Switch' off" ++ ++ cset "name='media_loop2_out mix 0 codec_in0 Switch' off" ++ cset "name='media_loop2_out mix 0 codec_in1 Switch' off" ++ cset "name='media_loop2_out mix 0 media_loop1_in Switch' off" ++ cset "name='media_loop2_out mix 0 media_loop2_in Switch' off" ++ cset "name='media_loop2_out mix 0 pcm0_in Switch' off" ++ cset "name='media_loop2_out mix 0 pcm1_in Switch' off" ++ cset "name='media_loop2_out mix 0 sprot_loop_in Switch' off" ++ ++ cset "name='sprot_loop_out mix 0 codec_in0 Switch' off" ++ cset "name='sprot_loop_out mix 0 codec_in1 Switch' off" ++ cset "name='sprot_loop_out mix 0 media_loop1_in Switch' off" ++ cset "name='sprot_loop_out mix 0 media_loop2_in Switch' off" ++ cset "name='sprot_loop_out mix 0 pcm0_in Switch' off" ++ cset "name='sprot_loop_out mix 0 pcm1_in Switch' off" ++ cset "name='sprot_loop_out mix 0 sprot_loop_in Switch' off" ++] +diff --git a/ucm2/skylake-rt286/HiFi.conf b/ucm2/skylake-rt286/HiFi.conf +index ed4bfa73c095..ac50062a2115 100644 +--- a/ucm2/skylake-rt286/HiFi.conf ++++ b/ucm2/skylake-rt286/HiFi.conf +@@ -108,5 +108,5 @@ SectionDevice."Mic" { + } + } + +- +- ++Include.hdmi1.File "/skylake-rt286/Hdmi1.conf" ++Include.hdmi2.File "/skylake-rt286/Hdmi2.conf" +diff --git a/ucm2/skylake-rt286/skylake-rt286.conf b/ucm2/skylake-rt286/skylake-rt286.conf +index 97f2a7c6e594..5e6165fe75a5 100644 +--- a/ucm2/skylake-rt286/skylake-rt286.conf ++++ b/ucm2/skylake-rt286/skylake-rt286.conf +@@ -1,7 +1,7 @@ + # UCM for Intel SKYLAKE/KABYLAKE platforms + # For Audio in I2S mode + +-Syntax 2 ++Syntax 3 + + SectionUseCase."HiFi" { + File "HiFi.conf" +diff --git a/ucm2/sof-hda-dsp/HiFi.conf b/ucm2/sof-hda-dsp/HiFi.conf +index eea6ed9c6ccc..3b54d4a2ccfa 100644 +--- a/ucm2/sof-hda-dsp/HiFi.conf ++++ b/ucm2/sof-hda-dsp/HiFi.conf +@@ -108,7 +108,7 @@ If.monomic { + + Value { + CapturePriority 200 +- ++ Include.value.File "HDA-Capture-value.conf" + JackControl "Headphone Mic Jack" + } + } +@@ -122,7 +122,7 @@ If.monomic { + + Value { + CapturePriority 300 +- ++ Include.value.File "HDA-Capture-value.conf" + JackControl "Headphone Mic Jack" + } + } +@@ -133,7 +133,7 @@ If.monomic { + + Value { + CapturePriority 200 +- ++ Include.value.File "HDA-Capture-value.conf" + JackControl "Mic Jack" + } + } +@@ -175,4 +175,4 @@ SectionDevice."Mic1" { + } + } + +- ++Include.hdmi.File "Hdmi.conf" +diff --git a/ucm2/sof-hda-dsp/sof-hda-dsp.conf b/ucm2/sof-hda-dsp/sof-hda-dsp.conf +index d7a0518169fc..af966ef83011 100644 +--- a/ucm2/sof-hda-dsp/sof-hda-dsp.conf ++++ b/ucm2/sof-hda-dsp/sof-hda-dsp.conf +@@ -1,4 +1,4 @@ +-Syntax 2 ++Syntax 3 + + SectionUseCase."HiFi" { + File "HiFi.conf" +-- +2.16.4 + diff --git a/0006-chtrt5645-merge-all-possible-configurations-to-HiFi..patch b/0006-chtrt5645-merge-all-possible-configurations-to-HiFi..patch new file mode 100644 index 0000000..15278f0 --- /dev/null +++ b/0006-chtrt5645-merge-all-possible-configurations-to-HiFi..patch @@ -0,0 +1,631 @@ +From fe3b0bdc2f43c3a615f4aa7c724aac17a782259c Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Tue, 16 Jun 2020 11:33:01 +0200 +Subject: [PATCH 06/51] chtrt5645: merge all possible configurations to + HiFi.conf + +Signed-off-by: Jaroslav Kysela +--- + .../ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN.conf | 1 - + .../chtrt5645/ASUSTeKCOMPUTERINC.-T100HAN-1.0.conf | 1 - + ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T101HA-1.0.conf | 1 - + ucm2/chtrt5645/HiFi-dmic1.conf | 113 -------------------- + ucm2/chtrt5645/HiFi-dmic2.conf | 115 --------------------- + ucm2/chtrt5645/HiFi-mono-speaker-analog-mic.conf | 110 -------------------- + ucm2/chtrt5645/HiFi.conf | 108 ++++++++++++++++++- + ...ENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216.conf | 1 - + .../MEDION-E1239TMD60568-0.1-Wingman.conf | 1 - + ...TECLAST-X80Pro-Defaultstring-CherryTrailCR.conf | 1 - + ucm2/chtrt5645/chtrt5645-dmic1.conf | 6 -- + ucm2/chtrt5645/chtrt5645-dmic2.conf | 6 -- + .../chtrt5645-mono-speaker-analog-mic.conf | 6 -- + ucm2/chtrt5645/chtrt5645.conf | 1 + + ucm2/chtrt5645/gpd-win-pocket-rt5645.conf | 1 - + 15 files changed, 107 insertions(+), 365 deletions(-) + delete mode 120000 ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN.conf + delete mode 120000 ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T100HAN-1.0.conf + delete mode 120000 ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T101HA-1.0.conf + delete mode 100644 ucm2/chtrt5645/HiFi-dmic1.conf + delete mode 100644 ucm2/chtrt5645/HiFi-dmic2.conf + delete mode 100644 ucm2/chtrt5645/HiFi-mono-speaker-analog-mic.conf + delete mode 120000 ucm2/chtrt5645/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216.conf + delete mode 120000 ucm2/chtrt5645/MEDION-E1239TMD60568-0.1-Wingman.conf + delete mode 120000 ucm2/chtrt5645/TECLAST-X80Pro-Defaultstring-CherryTrailCR.conf + delete mode 100644 ucm2/chtrt5645/chtrt5645-dmic1.conf + delete mode 100644 ucm2/chtrt5645/chtrt5645-dmic2.conf + delete mode 100644 ucm2/chtrt5645/chtrt5645-mono-speaker-analog-mic.conf + delete mode 120000 ucm2/chtrt5645/gpd-win-pocket-rt5645.conf + +diff --git a/ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN.conf b/ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN.conf +deleted file mode 120000 +index b4d2816229b4..000000000000 +--- a/ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN.conf ++++ /dev/null +@@ -1 +0,0 @@ +-chtrt5645-dmic1.conf +\ No newline at end of file +diff --git a/ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T100HAN-1.0.conf b/ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T100HAN-1.0.conf +deleted file mode 120000 +index b4d2816229b4..000000000000 +--- a/ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T100HAN-1.0.conf ++++ /dev/null +@@ -1 +0,0 @@ +-chtrt5645-dmic1.conf +\ No newline at end of file +diff --git a/ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T101HA-1.0.conf b/ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T101HA-1.0.conf +deleted file mode 120000 +index b4d2816229b4..000000000000 +--- a/ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T101HA-1.0.conf ++++ /dev/null +@@ -1 +0,0 @@ +-chtrt5645-dmic1.conf +\ No newline at end of file +diff --git a/ucm2/chtrt5645/HiFi-dmic1.conf b/ucm2/chtrt5645/HiFi-dmic1.conf +deleted file mode 100644 +index f28783f39b7f..000000000000 +--- a/ucm2/chtrt5645/HiFi-dmic1.conf ++++ /dev/null +@@ -1,113 +0,0 @@ +-SectionVerb { +- # ALSA PCM +- Value { +- TQ "HiFi" +- } +- +- Include.ce.File "/codecs/rt5645/EnableSeq.conf" +- Include.cd.File "/codecs/rt5645/DisableSeq.conf" +- +- EnableSequence [ +- cset "name='Stereo1 ADC1 Mux' 1" +- cset "name='I2S2 Func Switch' on" +- # 3/12 the headphone mic tends to be quite loud +- cset "name='IN1 Boost' 3" +- # 8/8 the internal analog mic tends to be quite soft +- cset "name='IN2 Boost' 8" +- ] +- +- If.Controls { +- Condition { +- Type ControlExists +- Control "name='media0_in Gain 0 Switch'" +- } +- Before.EnableSequence "0" +- True { +- Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" +- Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" +- } +- } +-} +- +-SectionDevice."Speaker" { +- Comment "Speaker" +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId}" +- } +- +- ConflictingDevice [ +- "Headphones" +- ] +- +- Include.e.File "/codecs/rt5645/SpeakerEnableSeq.conf" +- +- DisableSequence [ +- cset "name='Ext Spk Switch' off" +- cset "name='Speaker Channel Switch' off" +- ] +-} +- +-SectionDevice."Headphones" { +- Comment "Headphones" +- +- Value { +- PlaybackPriority 200 +- PlaybackPCM "hw:${CardId}" +- JackControl "Headphone Jack" +- } +- +- ConflictingDevice [ +- "Speaker" +- ] +- +- Include.e.File "/codecs/rt5645/HeadphonesEnableSeq.conf" +- +- DisableSequence [ +- cset "name='Headphone Switch' off" +- cset "name='Headphone Channel Switch' off" +- ] +-} +- +-SectionDevice."Mic" { +- Comment "Internal Microphone" +- +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId}" +- } +- +- Include.e.File "/codecs/rt5645/DigitalMicEnableSeq.conf" +- Include.d.File "/codecs/rt5645/DigitalMicDisableSeq.conf" +- +- EnableSequence [ +- cset "name='Stereo1 DMIC Mux' DMIC1" +- cset "name='Stereo1 ADC2 Mux' DMIC" +- cset "name='Mono ADC L2 Mux' DMIC" +- cset "name='Mono ADC R2 Mux' DMIC" +- ] +-} +- +-SectionDevice."Headset" { +- Comment "Headset Microphone" +- +- Value { +- CapturePriority 200 +- CapturePCM "hw:${CardId}" +- JackControl "Headset Mic Jack" +- } +- +- Include.e.File "/codecs/rt5645/HSMicEnableSeq.conf" +- Include.d.File "/codecs/rt5645/HSMicDisableSeq.conf" +- +- EnableSequence [ +- cset "name='Sto1 ADC MIXL ADC2 Switch' off" +- cset "name='Sto1 ADC MIXR ADC2 Switch' off" +- +- cset "name='Mono ADC MIXL ADC1 Switch' on" +- cset "name='Mono ADC MIXR ADC1 Switch' on" +- cset "name='Mono ADC MIXL ADC2 Switch' off" +- cset "name='Mono ADC MIXR ADC2 Switch' off" +- ] +-} +diff --git a/ucm2/chtrt5645/HiFi-dmic2.conf b/ucm2/chtrt5645/HiFi-dmic2.conf +deleted file mode 100644 +index 1407e9caf09e..000000000000 +--- a/ucm2/chtrt5645/HiFi-dmic2.conf ++++ /dev/null +@@ -1,115 +0,0 @@ +-SectionVerb { +- # ALSA PCM +- Value { +- TQ "HiFi" +- } +- +- Include.ce.File "/codecs/rt5645/EnableSeq.conf" +- Include.cd.File "/codecs/rt5645/DisableSeq.conf" +- +- EnableSequence [ +- cset "name='Stereo1 ADC1 Mux' 1" +- cset "name='I2S2 Func Switch' on" +- # 3/12 the headphone mic tends to be quite loud +- cset "name='IN1 Boost' 3" +- # 8/8 the internal analog mic tends to be quite soft +- cset "name='IN2 Boost' 8" +- ] +- +- If.Controls { +- Condition { +- Type ControlExists +- Control "name='media0_in Gain 0 Switch'" +- } +- Before.EnableSequence "0" +- True { +- Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" +- Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" +- } +- } +-} +- +-SectionDevice."Speaker" { +- Comment "Speaker" +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId}" +- } +- +- ConflictingDevice [ +- "Headphones" +- ] +- +- Include.e.File "/codecs/rt5645/SpeakerEnableSeq.conf" +- +- DisableSequence [ +- cset "name='Ext Spk Switch' off" +- cset "name='Speaker Channel Switch' off" +- ] +-} +- +-SectionDevice."Headphones" { +- Comment "Headphones" +- +- Value { +- PlaybackPriority 200 +- PlaybackPCM "hw:${CardId}" +- JackControl "Headphone Jack" +- } +- +- ConflictingDevice [ +- "Speaker" +- ] +- +- Include.e.File "/codecs/rt5645/HeadphonesEnableSeq.conf" +- +- DisableSequence [ +- cset "name='Headphone Switch' off" +- cset "name='Headphone Channel Switch' off" +- ] +-} +- +-SectionDevice."Mic" { +- Comment "Internal Microphone" +- +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId}" +- } +- +- Include.e.File "/codecs/rt5645/DigitalMicEnableSeq.conf" +- Include.d.File "/codecs/rt5645/DigitalMicDisableSeq.conf" +- +- EnableSequence [ +- cset "name='Stereo1 DMIC Mux' DMIC2" +- cset "name='Stereo1 ADC2 Mux' DMIC" +- cset "name='Mono DMIC L Mux' DMIC2" +- cset "name='Mono DMIC R Mux' DMIC2" +- cset "name='Mono ADC L2 Mux' DMIC" +- cset "name='Mono ADC R2 Mux' DMIC" +- ] +-} +- +-SectionDevice."Headset" { +- Comment "Headset Microphone" +- +- Value { +- CapturePriority 200 +- CapturePCM "hw:${CardId}" +- JackControl "Headset Mic Jack" +- } +- +- Include.e.File "/codecs/rt5645/HSMicEnableSeq.conf" +- Include.d.File "/codecs/rt5645/HSMicDisableSeq.conf" +- +- EnableSequence [ +- cset "name='Sto1 ADC MIXL ADC2 Switch' off" +- cset "name='Sto1 ADC MIXR ADC2 Switch' off" +- +- cset "name='Mono ADC MIXL ADC1 Switch' on" +- cset "name='Mono ADC MIXR ADC1 Switch' on" +- cset "name='Mono ADC MIXL ADC2 Switch' off" +- cset "name='Mono ADC MIXR ADC2 Switch' off" +- ] +-} +diff --git a/ucm2/chtrt5645/HiFi-mono-speaker-analog-mic.conf b/ucm2/chtrt5645/HiFi-mono-speaker-analog-mic.conf +deleted file mode 100644 +index 7794cae15ccd..000000000000 +--- a/ucm2/chtrt5645/HiFi-mono-speaker-analog-mic.conf ++++ /dev/null +@@ -1,110 +0,0 @@ +-SectionVerb { +- # ALSA PCM +- Value { +- TQ "HiFi" +- } +- +- Include.ce.File "/codecs/rt5645/EnableSeq.conf" +- Include.cd.File "/codecs/rt5645/DisableSeq.conf" +- +- EnableSequence [ +- cset "name='Stereo1 ADC1 Mux' 1" +- cset "name='I2S2 Func Switch' on" +- # 3/12 the headphone mic tends to be quite loud +- cset "name='IN1 Boost' 3" +- cset "name='IN2 Boost' 8" +- ] +- +- If.Controls { +- Condition { +- Type ControlExists +- Control "name='media0_in Gain 0 Switch'" +- } +- Before.EnableSequence "0" +- True { +- Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" +- Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" +- } +- } +-} +- +-SectionDevice."Speaker" { +- Comment "Speaker" +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId}" +- } +- +- ConflictingDevice [ +- "Headphones" +- ] +- +- Include.e.File "/codecs/rt5645/SpeakerEnableSeq.conf" +- +- EnableSequence [ +- # Monospeaker: Mix right to left +- cset "name='Stereo DAC MIXL DAC R1 Switch' 1" +- cset "name='Stereo DAC MIXR DAC R1 Switch' 0" +- ] +- +- DisableSequence [ +- cset "name='Ext Spk Switch' off" +- cset "name='Speaker Channel Switch' off" +- ] +-} +- +-SectionDevice."Headphones" { +- Comment "Headphones" +- +- Value { +- PlaybackPriority 200 +- PlaybackPCM "hw:${CardId}" +- JackControl "Headphone Jack" +- } +- +- ConflictingDevice [ +- "Speaker" +- ] +- +- Include.e.File "/codecs/rt5645/HeadphonesEnableSeq.conf" +- +- EnableSequence [ +- # Undo monospeaker mixing +- cset "name='Stereo DAC MIXL DAC R1 Switch' 0" +- cset "name='Stereo DAC MIXR DAC R1 Switch' 1" +- ] +- +- DisableSequence [ +- cset "name='Headphone Switch' off" +- cset "name='Headphone Channel Switch' off" +- ] +-} +- +-Include.amic { +- File "/codecs/rt5645/AnalogMic.conf" +- Before.SectionDevice "Headset" +-} +- +-SectionDevice."Headset" { +- Comment "Headset Microphone" +- +- Value { +- CapturePriority 200 +- CapturePCM "hw:${CardId}" +- JackControl "Headset Mic Jack" +- } +- +- Include.e.File "/codecs/rt5645/HSMicEnableSeq.conf" +- Include.d.File "/codecs/rt5645/HSMicDisableSeq.conf" +- +- EnableSequence [ +- cset "name='Sto1 ADC MIXL ADC2 Switch' off" +- cset "name='Sto1 ADC MIXR ADC2 Switch' off" +- +- cset "name='Mono ADC MIXL ADC1 Switch' on" +- cset "name='Mono ADC MIXR ADC1 Switch' on" +- cset "name='Mono ADC MIXL ADC2 Switch' off" +- cset "name='Mono ADC MIXR ADC2 Switch' off" +- ] +-} +diff --git a/ucm2/chtrt5645/HiFi.conf b/ucm2/chtrt5645/HiFi.conf +index 1adc9fcb21fe..fb8636d8ffac 100644 +--- a/ucm2/chtrt5645/HiFi.conf ++++ b/ucm2/chtrt5645/HiFi.conf +@@ -1,3 +1,42 @@ ++Define.MonoSpeaker "" ++Define.AnalogMic "yes" ++Define.DigitalMic "" ++ ++If.cfg-dmic1 { ++ Condition { ++ Type Regex ++ String "${CardLongName}" ++ Regex "(ASUSTeK.*T100HAN|ASUSTeK.*T101HA)" ++ } ++ True { ++ Define.AnalogMic "" ++ Define.DigitalMic "DMIC1" ++ } ++} ++ ++If.cfg-dmic2 { ++ Condition { ++ Type Regex ++ String "${CardLongName}" ++ Regex "(LENOVO.*LenovoMIIX320|MEDION.*Wingman)" ++ } ++ True { ++ Define.AnalogMic "" ++ Define.DigitalMic "DMIC2" ++ } ++} ++ ++If.cfg-mspk { ++ Condition { ++ Type Regex ++ String "${CardLongName}" ++ Regex "(gpd-win-pocket-rt5645|TECLAST-X80Pro)" ++ } ++ True { ++ Define.MonoSpeaker "yes" ++ } ++} ++ + SectionVerb { + # ALSA PCM + Value { +@@ -43,6 +82,20 @@ SectionDevice."Speaker" { + + Include.e.File "/codecs/rt5645/SpeakerEnableSeq.conf" + ++ If.mspk { ++ Condition { ++ Type String ++ Empty "${var:MonoSpeaker}" ++ } ++ False { ++ EnableSequence [ ++ # Monospeaker: Mix right to left ++ cset "name='Stereo DAC MIXL DAC R1 Switch' 1" ++ cset "name='Stereo DAC MIXR DAC R1 Switch' 0" ++ ] ++ } ++ } ++ + DisableSequence [ + cset "name='Ext Spk Switch' off" + cset "name='Speaker Channel Switch' off" +@@ -70,9 +123,60 @@ SectionDevice."Headphones" { + ] + } + +-Include.amic { +- File "/codecs/rt5645/AnalogMic.conf" ++If.amic { ++ Condition { ++ Type String ++ Empty "${var:AnalogMic}" ++ } ++ Before.SectionDevice "Headset" ++ False.Include.amic.File "/codecs/rt5645/AnalogMic.conf" ++} ++ ++If.dmic { ++ Condition { ++ Type String ++ Empty "${var:DigitalMic}" ++ } + Before.SectionDevice "Headset" ++ False { ++ SectionDevice."Mic" { ++ Comment "Internal Microphone" ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${CardId}" ++ } ++ ++ Include.e.File "/codecs/rt5645/DigitalMicEnableSeq.conf" ++ Include.d.File "/codecs/rt5645/DigitalMicDisableSeq.conf" ++ ++ EnableSequence [ ++ cset "name='Stereo1 ADC2 Mux' DMIC" ++ cset "name='Mono ADC L2 Mux' DMIC" ++ cset "name='Mono ADC R2 Mux' DMIC" ++ ] ++ ++ If.dmic2 { ++ Condition { ++ Type String ++ String1 "${var:DigitalMic}" ++ String2 "DMIC1" ++ } ++ True { ++ EnableSequence [ ++ cset "name='Stereo1 DMIC Mux' DMIC1" ++ ] ++ } ++ False { ++ EnableSequence [ ++ cset "name='Stereo1 DMIC Mux' DMIC2" ++ cset "name='Mono DMIC L Mux' DMIC2" ++ cset "name='Mono DMIC R Mux' DMIC2" ++ ] ++ } ++ } ++ } ++ } + } + + SectionDevice."Headset" { +diff --git a/ucm2/chtrt5645/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216.conf b/ucm2/chtrt5645/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216.conf +deleted file mode 120000 +index 7823e312498e..000000000000 +--- a/ucm2/chtrt5645/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216.conf ++++ /dev/null +@@ -1 +0,0 @@ +-chtrt5645-dmic2.conf +\ No newline at end of file +diff --git a/ucm2/chtrt5645/MEDION-E1239TMD60568-0.1-Wingman.conf b/ucm2/chtrt5645/MEDION-E1239TMD60568-0.1-Wingman.conf +deleted file mode 120000 +index 7823e312498e..000000000000 +--- a/ucm2/chtrt5645/MEDION-E1239TMD60568-0.1-Wingman.conf ++++ /dev/null +@@ -1 +0,0 @@ +-chtrt5645-dmic2.conf +\ No newline at end of file +diff --git a/ucm2/chtrt5645/TECLAST-X80Pro-Defaultstring-CherryTrailCR.conf b/ucm2/chtrt5645/TECLAST-X80Pro-Defaultstring-CherryTrailCR.conf +deleted file mode 120000 +index 578d55abf0cf..000000000000 +--- a/ucm2/chtrt5645/TECLAST-X80Pro-Defaultstring-CherryTrailCR.conf ++++ /dev/null +@@ -1 +0,0 @@ +-chtrt5645-mono-speaker-analog-mic.conf +\ No newline at end of file +diff --git a/ucm2/chtrt5645/chtrt5645-dmic1.conf b/ucm2/chtrt5645/chtrt5645-dmic1.conf +deleted file mode 100644 +index 60c3b50ac1a3..000000000000 +--- a/ucm2/chtrt5645/chtrt5645-dmic1.conf ++++ /dev/null +@@ -1,6 +0,0 @@ +-Syntax 3 +-Comment "Intel SoC Audio Device" +-SectionUseCase."HiFi" { +- File "HiFi-dmic1.conf" +- Comment "Default" +-} +diff --git a/ucm2/chtrt5645/chtrt5645-dmic2.conf b/ucm2/chtrt5645/chtrt5645-dmic2.conf +deleted file mode 100644 +index e94451651d3b..000000000000 +--- a/ucm2/chtrt5645/chtrt5645-dmic2.conf ++++ /dev/null +@@ -1,6 +0,0 @@ +-Syntax 3 +-Comment "Intel SoC Audio Device" +-SectionUseCase."HiFi" { +- File "HiFi-dmic2.conf" +- Comment "Default" +-} +diff --git a/ucm2/chtrt5645/chtrt5645-mono-speaker-analog-mic.conf b/ucm2/chtrt5645/chtrt5645-mono-speaker-analog-mic.conf +deleted file mode 100644 +index 10d9a9e63726..000000000000 +--- a/ucm2/chtrt5645/chtrt5645-mono-speaker-analog-mic.conf ++++ /dev/null +@@ -1,6 +0,0 @@ +-Syntax 3 +-Comment "Intel SoC Audio Device" +-SectionUseCase."HiFi" { +- File "HiFi-mono-speaker-analog-mic.conf" +- Comment "Default" +-} +diff --git a/ucm2/chtrt5645/chtrt5645.conf b/ucm2/chtrt5645/chtrt5645.conf +index 63f135b3fc3a..2904bb589613 100644 +--- a/ucm2/chtrt5645/chtrt5645.conf ++++ b/ucm2/chtrt5645/chtrt5645.conf +@@ -1,5 +1,6 @@ + Syntax 3 + Comment "Intel SoC Audio Device" ++ + SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +diff --git a/ucm2/chtrt5645/gpd-win-pocket-rt5645.conf b/ucm2/chtrt5645/gpd-win-pocket-rt5645.conf +deleted file mode 120000 +index 578d55abf0cf..000000000000 +--- a/ucm2/chtrt5645/gpd-win-pocket-rt5645.conf ++++ /dev/null +@@ -1 +0,0 @@ +-chtrt5645-mono-speaker-analog-mic.conf +\ No newline at end of file +-- +2.16.4 + diff --git a/0007-cht-bsw-rt5672-merge-all-possible-configurations-to-.patch b/0007-cht-bsw-rt5672-merge-all-possible-configurations-to-.patch new file mode 100644 index 0000000..3fc87d7 --- /dev/null +++ b/0007-cht-bsw-rt5672-merge-all-possible-configurations-to-.patch @@ -0,0 +1,217 @@ +From 5646b46b9635cd8641a6a44669dc80fa4007baa9 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Tue, 16 Jun 2020 13:40:21 +0200 +Subject: [PATCH 07/51] cht-bsw-rt5672: merge all possible configurations to + HiFi.conf + +Signed-off-by: Jaroslav Kysela +--- + ucm2/cht-bsw-rt5672/HiFi-stereo-dmic2.conf | 27 ----- + ucm2/cht-bsw-rt5672/HiFi.conf | 115 +++++++++++++++++++-- + .../LENOVO-20BN002QGE-ThinkPad8-20BN002QGE.conf | 1 - + .../LENOVO-20BN002QGE-ThinkPad8.conf | 1 - + .../cht-bsw-rt5672-stereo-dmic2.conf | 6 -- + 5 files changed, 107 insertions(+), 43 deletions(-) + delete mode 100644 ucm2/cht-bsw-rt5672/HiFi-stereo-dmic2.conf + delete mode 120000 ucm2/cht-bsw-rt5672/LENOVO-20BN002QGE-ThinkPad8-20BN002QGE.conf + delete mode 120000 ucm2/cht-bsw-rt5672/LENOVO-20BN002QGE-ThinkPad8.conf + delete mode 100644 ucm2/cht-bsw-rt5672/cht-bsw-rt5672-stereo-dmic2.conf + +diff --git a/ucm2/cht-bsw-rt5672/HiFi-stereo-dmic2.conf b/ucm2/cht-bsw-rt5672/HiFi-stereo-dmic2.conf +deleted file mode 100644 +index 0d95e902b6ef..000000000000 +--- a/ucm2/cht-bsw-rt5672/HiFi-stereo-dmic2.conf ++++ /dev/null +@@ -1,27 +0,0 @@ +-# Adapted from https://github.com/plbossart/UCM/tree/master/cht-bsw-rt5672 +- +-SectionVerb { +- Include.e.File "/codecs/rt5672/EnableSeq.conf" +- +- If.Controls { +- Condition { +- Type ControlExists +- Control "name='media0_in Gain 0 Switch'" +- } +- Before.EnableSequence "0" +- True { +- Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" +- Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" +- } +- } +-} +- +-Include.spk.File "/codecs/rt5672/Speaker.conf" +-RenameDevice."Speaker1" "Speaker" +-RemoveDevice."Speaker2" "Speaker2" +-Include.hp.File "/codecs/rt5672/HeadPhones.conf" +- +-Include.dmic.File "/codecs/rt5672/DMIC2.conf" +-RenameDevice."Mic2" "Mic" +-RemoveDevice."Mic1" "Mic1" +-Include.hsmic.File "/codecs/rt5672/HeadsetMic.conf" +diff --git a/ucm2/cht-bsw-rt5672/HiFi.conf b/ucm2/cht-bsw-rt5672/HiFi.conf +index 39cb0fe125cd..394e45d39ace 100644 +--- a/ucm2/cht-bsw-rt5672/HiFi.conf ++++ b/ucm2/cht-bsw-rt5672/HiFi.conf +@@ -1,7 +1,37 @@ + # Adapted from https://github.com/plbossart/UCM/tree/master/cht-bsw-rt5672 + +-SectionVerb { ++Define.Speaker "yes" ++Define.Headphones "yes" ++Define.MonoSpeaker "yes" ++Define.DigitalMic1 "yes" ++Define.DigitalMic2 "yes" ++Define.HeadsetMic "yes" ++ ++If.cfg-dmic1 { ++ Condition { ++ Type Regex ++ String "${CardLongName}" ++ Regex "(SoMeThInK1)" # fixme! ++ } ++ True { ++ Define.MonoSpeaker "" ++ Define.DigitalMic2 "" ++ } ++} ++ ++If.cfg-dmic2 { ++ Condition { ++ Type Regex ++ String "${CardLongName}" ++ Regex "(LENOVO.*ThinkPad8)" ++ } ++ True { ++ Define.MonoSpeaker "" ++ Define.DigitalMic1 "" ++ } ++} + ++SectionVerb { + Include.e.File "/codecs/rt5672/EnableSeq.conf" + + If.Controls { +@@ -10,14 +40,83 @@ SectionVerb { + Control "name='media0_in Gain 0 Switch'" + } + Before.EnableSequence "0" +- True.Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" ++ True { ++ Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" ++ Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" ++ } ++ } ++} ++ ++If.spk { ++ Condition { ++ Type String ++ Empty "${var:Speaker}" ++ } ++ False.Include.spk.File "/codecs/rt5672/Speaker.conf" ++} ++ ++If.mspk { ++ Condition { ++ Type String ++ Empty "${var:MonoSpeaker}" ++ } ++ True { ++ RenameDevice."Speaker1" "Speaker" ++ RemoveDevice."Speaker2" "Speaker2" ++ } ++ False.Include.mspk.File "/codecs/rt5672/MonoSpeaker.conf" ++} ++ ++If.hp { ++ Condition { ++ Type String ++ Empty "${var:Headphones}" ++ } ++ #True.RemoveDevice."Headphones" "Headphones" ++ False.Include.hp.File "/codecs/rt5672/HeadPhones.conf" ++} ++ ++If.dmic1 { ++ Condition { ++ Type String ++ Empty "${var:DigitalMic1}" ++ } ++ True.RemoveDevice."Mic1" "Mic1" ++ False { ++ Include.dmic1.File "/codecs/rt5672/DMIC1.conf" ++ If.dmic2 { ++ Condition { ++ Type "String" ++ Empty "${var:DigitalMic2}" ++ } ++ True.RenameDevice."Mic1" "Mic" ++ } + } + } + +-Include.spk.File "/codecs/rt5672/Speaker.conf" +-Include.mspk.File "/codecs/rt5672/MonoSpeaker.conf" +-Include.hp.File "/codecs/rt5672/HeadPhones.conf" ++If.dmic2 { ++ Condition { ++ Type String ++ Empty "${var:DigitalMic2}" ++ } ++ True.RemoveDevice."Mic2" "Mic2" ++ False { ++ Include.dmic2.File "/codecs/rt5672/DMIC2.conf" ++ If.dmic1 { ++ Condition { ++ Type "String" ++ Empty "${var:DigitalMic1}" ++ } ++ True.RenameDevice."Mic2" "Mic" ++ } ++ } ++} + +-Include.dmic1.File "/codecs/rt5672/DMIC1.conf" +-Include.dmic2.File "/codecs/rt5672/DMIC2.conf" +-Include.hsmic.File "/codecs/rt5672/HeadsetMic.conf" ++If.hsmic { ++ Condition { ++ Type String ++ Empty "${var:HeadsetMic}" ++ } ++ #True.RemoveDevice."Headset" "Headset" ++ False.Include.hsmic.File "/codecs/rt5672/HeadsetMic.conf" ++} +diff --git a/ucm2/cht-bsw-rt5672/LENOVO-20BN002QGE-ThinkPad8-20BN002QGE.conf b/ucm2/cht-bsw-rt5672/LENOVO-20BN002QGE-ThinkPad8-20BN002QGE.conf +deleted file mode 120000 +index 461f0c442ffa..000000000000 +--- a/ucm2/cht-bsw-rt5672/LENOVO-20BN002QGE-ThinkPad8-20BN002QGE.conf ++++ /dev/null +@@ -1 +0,0 @@ +-cht-bsw-rt5672-stereo-dmic2.conf +\ No newline at end of file +diff --git a/ucm2/cht-bsw-rt5672/LENOVO-20BN002QGE-ThinkPad8.conf b/ucm2/cht-bsw-rt5672/LENOVO-20BN002QGE-ThinkPad8.conf +deleted file mode 120000 +index 461f0c442ffa..000000000000 +--- a/ucm2/cht-bsw-rt5672/LENOVO-20BN002QGE-ThinkPad8.conf ++++ /dev/null +@@ -1 +0,0 @@ +-cht-bsw-rt5672-stereo-dmic2.conf +\ No newline at end of file +diff --git a/ucm2/cht-bsw-rt5672/cht-bsw-rt5672-stereo-dmic2.conf b/ucm2/cht-bsw-rt5672/cht-bsw-rt5672-stereo-dmic2.conf +deleted file mode 100644 +index e793e9d99a0f..000000000000 +--- a/ucm2/cht-bsw-rt5672/cht-bsw-rt5672-stereo-dmic2.conf ++++ /dev/null +@@ -1,6 +0,0 @@ +-Syntax 3 +- +-SectionUseCase."HiFi" { +- File "HiFi-stereo-dmic2.conf" +- Comment "Play HiFi quality Music" +-} +-- +2.16.4 + diff --git a/0008-chtnau8824-merge-all-possible-configurations-to-HiFi.patch b/0008-chtnau8824-merge-all-possible-configurations-to-HiFi.patch new file mode 100644 index 0000000..30a0927 --- /dev/null +++ b/0008-chtnau8824-merge-all-possible-configurations-to-HiFi.patch @@ -0,0 +1,114 @@ +From 7fde5c213a91d407ece28de144612f9566487de1 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Mon, 22 Jun 2020 17:51:09 +0200 +Subject: [PATCH 08/51] chtnau8824: merge all possible configurations to + HiFi.conf + +Signed-off-by: Jaroslav Kysela +--- + ucm2/chtnau8824/HiFi-mono.conf | 27 ---------------------- + ucm2/chtnau8824/HiFi.conf | 14 ++++++++++- + .../PIPO-W2S-Defaultstring-CherryTrailCR.conf | 1 - + ucm2/chtnau8824/chtnau8824-mono.conf | 8 ------- + .../cube-i1_TF-Defaultstring-CherryTrailCR.conf | 1 - + 5 files changed, 13 insertions(+), 38 deletions(-) + delete mode 100644 ucm2/chtnau8824/HiFi-mono.conf + delete mode 120000 ucm2/chtnau8824/PIPO-W2S-Defaultstring-CherryTrailCR.conf + delete mode 100644 ucm2/chtnau8824/chtnau8824-mono.conf + delete mode 120000 ucm2/chtnau8824/cube-i1_TF-Defaultstring-CherryTrailCR.conf + +diff --git a/ucm2/chtnau8824/HiFi-mono.conf b/ucm2/chtnau8824/HiFi-mono.conf +deleted file mode 100644 +index 6d899ce6fc69..000000000000 +--- a/ucm2/chtnau8824/HiFi-mono.conf ++++ /dev/null +@@ -1,27 +0,0 @@ +- +-SectionVerb { +- +- Value { +- TQ "HiFi" +- } +- +- Include.e.File "/codecs/nau8824/EnableSeq.conf" +- +- If.Controls { +- Condition { +- Type ControlExists +- Control "name='media0_in Gain 0 Switch'" +- } +- Before.EnableSequence "0" +- True { +- Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" +- Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" +- } +- } +-} +- +-Include.mspk.File "/codecs/nau8824/MonoSpeaker.conf" +-Include.hp.File "/codecs/nau8824/HeadPhones.conf" +- +-Include.mic.File "/codecs/nau8824/InternalMic.conf" +-Include.hsmic.File "/codecs/nau8824/HeadsetMic.conf" +diff --git a/ucm2/chtnau8824/HiFi.conf b/ucm2/chtnau8824/HiFi.conf +index b3c0209aa0ec..6b7624d6e775 100644 +--- a/ucm2/chtnau8824/HiFi.conf ++++ b/ucm2/chtnau8824/HiFi.conf +@@ -1,3 +1,15 @@ ++Define.Speaker "Speaker" ++ ++If.cfg-mspk { ++ Condition { ++ Type Regex ++ String "${CardLongName}" ++ Regex "(cube-i1_TF|PIPO-W2S)" ++ } ++ True { ++ Define.Speaker "MonoSpeaker" ++ } ++} + + SectionVerb { + +@@ -22,7 +34,7 @@ SectionVerb { + } + } + +-Include.spk.File "/codecs/nau8824/Speaker.conf" ++Include.spk.File "/codecs/nau8824/${var:Speaker}.conf" + Include.hp.File "/codecs/nau8824/HeadPhones.conf" + + Include.mic.File "/codecs/nau8824/InternalMic.conf" +diff --git a/ucm2/chtnau8824/PIPO-W2S-Defaultstring-CherryTrailCR.conf b/ucm2/chtnau8824/PIPO-W2S-Defaultstring-CherryTrailCR.conf +deleted file mode 120000 +index e3af8b605fc1..000000000000 +--- a/ucm2/chtnau8824/PIPO-W2S-Defaultstring-CherryTrailCR.conf ++++ /dev/null +@@ -1 +0,0 @@ +-chtnau8824-mono.conf +\ No newline at end of file +diff --git a/ucm2/chtnau8824/chtnau8824-mono.conf b/ucm2/chtnau8824/chtnau8824-mono.conf +deleted file mode 100644 +index 6c498c74ec35..000000000000 +--- a/ucm2/chtnau8824/chtnau8824-mono.conf ++++ /dev/null +@@ -1,8 +0,0 @@ +-Syntax 3 +- +-Comment "chtnau8824 internal card" +- +-SectionUseCase."HiFi" { +- File "HiFi-mono.conf" +- Comment "Default" +-} +diff --git a/ucm2/chtnau8824/cube-i1_TF-Defaultstring-CherryTrailCR.conf b/ucm2/chtnau8824/cube-i1_TF-Defaultstring-CherryTrailCR.conf +deleted file mode 120000 +index e3af8b605fc1..000000000000 +--- a/ucm2/chtnau8824/cube-i1_TF-Defaultstring-CherryTrailCR.conf ++++ /dev/null +@@ -1 +0,0 @@ +-chtnau8824-mono.conf +\ No newline at end of file +-- +2.16.4 + diff --git a/0009-ucm.conf-add-support-for-the-kernel-module-name-tree.patch b/0009-ucm.conf-add-support-for-the-kernel-module-name-tree.patch new file mode 100644 index 0000000..08c9943 --- /dev/null +++ b/0009-ucm.conf-add-support-for-the-kernel-module-name-tree.patch @@ -0,0 +1,179 @@ +From d001c8de287f9fa3ce1814fb1c0804390576a19e Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Mon, 22 Jun 2020 17:52:54 +0200 +Subject: [PATCH 09/51] ucm.conf: add support for the kernel module name tree + +It seems that some ASoC drivers (mainly created from the DT tree) +does not offer any good identification for the common part. +This change adds the sysfs kernel module name lookup to +module/.conf . + +Also, modularize V1, V2Name, V2Module blocks. The V1 compatibility +is turned off by default now. + +Signed-off-by: Jaroslav Kysela +--- + ucm2/ucm.conf | 112 ++++++++++++++++++++++++++++++++++++++++------------------ + 1 file changed, 77 insertions(+), 35 deletions(-) + +diff --git a/ucm2/ucm.conf b/ucm2/ucm.conf +index 29bef5c96c00..ec8287817a5a 100644 +--- a/ucm2/ucm.conf ++++ b/ucm2/ucm.conf +@@ -13,76 +13,118 @@ + + Syntax 3 + ++Define.V1 "" # non-empty string to enable ucm v1 paths ++Define.V2Module yes # empty string to disable ++Define.V2Name yes # empty string to disable ++ + If.driver { + Condition { + Type String + Empty "${CardNumber}" + } + True { +- + # +- # The last probed path for no-hw-card: ++ # The probed path for no-hw-card: + # + # ucm2/${OpenName}/${OpenName}.conf +- # ucm/${OpenName}/${OpenName}.conf + # +- + UseCasePath { + legacy { + Directory "${OpenName}" + File "${OpenName}.conf" + } +- v1_legacy { +- Version 1 +- Directory "${OpenName}" +- File "${OpenName}.conf" +- } + } +- + } + False { + + # +- # The last probed path when hw-card is found: ++ # The probed path when hw-card is found: + # ++ # ucm2/${KernelModule}/${KernelModule}.conf + # ucm2/${CardDriver}/${CardLongName}.conf + # ucm2/${CardDriver}/${CardDriver}.conf +- # ucm/${CardLongName}/${CardLongName}.conf +- # ucm/${CardName}/${CardName}.conf or \ +- # ucm/${OpenName}/${OpenName}.conf + # + +- UseCasePath { +- longname { +- Directory "${CardDriver}" +- File "${CardLongName}.conf" +- } +- driver { +- Directory "${CardDriver}" +- File "${CardDriver}.conf" ++ If.V2Module { ++ Condition { ++ Type String ++ Empty "${var:V2Module}" + } +- v1_longname { +- Version 1 +- Directory "${CardLongName}" +- File "${CardLongName}.conf" ++ False { ++ Define.KernelModulePath "class/sound/card${CardNumber}/device/driver" ++ Define.KernelModule "${sys:$KernelModulePath}" ++ UseCasePath.module { ++ Directory "module" ++ File "${var:KernelModule}.conf" ++ } + } + } +- +- If.hw { ++ If.V2Name { + Condition { + Type String +- Haystack "${OpenName}.conf" +- Needle "hw:" ++ Empty "${var:V2Name}" ++ } ++ False.UseCasePath { ++ longname { ++ Directory "${CardDriver}" ++ File "${CardLongName}.conf" ++ } ++ driver { ++ Directory "${CardDriver}" ++ File "${CardDriver}.conf" ++ } + } +- True { +- UseCasePath.v1_cardnamme { ++ } ++ } ++} ++ ++If.V1 { ++ Condition { ++ Type String ++ Empty "${var:V1}" ++ } ++ False.If.v1_driver { ++ Condition { ++ Type String ++ Empty "${CardNumber}" ++ } ++ True { ++ # ++ # The probed path for no-hw-card: ++ # ++ # ucm/${OpenName}/${OpenName}.conf ++ # ++ UseCasePath.v1_legacy { ++ Version 1 ++ Directory "${OpenName}" ++ File "${OpenName}.conf" ++ } ++ } ++ False { ++ # ++ # The ucm v1 probed path when hw-card is found: ++ # ++ # ucm/${CardLongName}/${CardLongName}.conf ++ # ucm/${CardName}/${CardName}.conf or \ ++ # ucm/${OpenName}/${OpenName}.conf ++ # ++ UseCasePath.v1_longname { ++ Version 1 ++ Directory "${CardLongName}" ++ File "${CardLongName}.conf" ++ } ++ If.v1_hw { ++ Condition { ++ Type String ++ Haystack "${OpenName}" ++ Needle "hw:" ++ } ++ True.UseCasePath.v1_cardnamme { + Version 1 + Directory "${CardName}" + File "${CardName}.conf" + } +- } +- False { +- UseCasePath.v1_openname { ++ False.UseCasePath.v1_openname { + Version 1 + Directory "${OpenName}" + File "${OpenName}.conf" +-- +2.16.4 + diff --git a/0010-sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch b/0010-sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch new file mode 100644 index 0000000..5cb409b --- /dev/null +++ b/0010-sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch @@ -0,0 +1,50 @@ +From 6b0216d7b9ed5094a7bf28e6f643d90dd7e6fa62 Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen +Date: Thu, 11 Jun 2020 17:46:07 +0300 +Subject: [PATCH 10/51] sof-hda-dsp: make Headphone Playback Switch conditional + +The Headphone Playback Switch control is not present in all +HDA codecs. Allow the Headphones definition to work also on +such systems. + +Signed-off-by: Kai Vehmanen +Signed-off-by: Jaroslav Kysela +--- + ucm2/sof-hda-dsp/HiFi.conf | 21 ++++++++++++++------- + 1 file changed, 14 insertions(+), 7 deletions(-) + +diff --git a/ucm2/sof-hda-dsp/HiFi.conf b/ucm2/sof-hda-dsp/HiFi.conf +index 3b54d4a2ccfa..127948844d67 100644 +--- a/ucm2/sof-hda-dsp/HiFi.conf ++++ b/ucm2/sof-hda-dsp/HiFi.conf +@@ -17,13 +17,20 @@ SectionVerb { + SectionDevice."Headphones" { + Comment "Headphones" + +- EnableSequence [ +- cset "name='Headphone Playback Switch' on" +- ] +- +- DisableSequence [ +- cset "name='Headphone Playback Switch' off" +- ] ++ If.headphone_switch { ++ Condition { ++ Type ControlExists ++ Control "name='Headphone Playback Switch'" ++ } ++ True { ++ EnableSequence [ ++ cset "name='Headphone Playback Switch' on" ++ ] ++ DisableSequence [ ++ cset "name='Headphone Playback Switch' off" ++ ] ++ } ++ } + + Value { + PlaybackPriority 200 +-- +2.16.4 + diff --git a/0011-sof-hda-dsp-add-initial-kcontrol-values.patch b/0011-sof-hda-dsp-add-initial-kcontrol-values.patch new file mode 100644 index 0000000..d4bf06a --- /dev/null +++ b/0011-sof-hda-dsp-add-initial-kcontrol-values.patch @@ -0,0 +1,45 @@ +From 450bebd628975ffab153978b80f1493100910e53 Mon Sep 17 00:00:00 2001 +From: Libin Yang +Date: Thu, 21 May 2020 03:45:16 -0400 +Subject: [PATCH 11/51] sof-hda-dsp: add initial kcontrol values + +This patch adds the initial values of sof-hda-dsp card. + +Signed-off-by: Libin Yang +Signed-off-by: Jaroslav Kysela +--- + ucm2/sof-hda-dsp/sof-hda-dsp.conf | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +diff --git a/ucm2/sof-hda-dsp/sof-hda-dsp.conf b/ucm2/sof-hda-dsp/sof-hda-dsp.conf +index af966ef83011..24d0359f304f 100644 +--- a/ucm2/sof-hda-dsp/sof-hda-dsp.conf ++++ b/ucm2/sof-hda-dsp/sof-hda-dsp.conf +@@ -4,3 +4,24 @@ SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Play HiFi quality Music" + } ++ ++# the kcontrols initial values, which will be set by `alsactl init` ++ ++BootSequence [ ++ cset "name='Master Playback Volume' 80" ++ cset "name='Headphone Playback Volume' 80" ++ cset "name='Speaker Playback Volume' 80" ++ cset "name='Auto-Mute Mode' off" ++] ++ ++If.Dmic0 { ++ Condition { ++ Type ControlExists ++ Control "name='Dmic0 Capture Volume'" ++ } ++ True { ++ BootSequence [ ++ cset "name='Dmic0 Capture Volume' 70" ++ ] ++ } ++} +-- +2.16.4 + diff --git a/0012-sof-hda-dsp-make-the-boot-init-optional-for-all-cont.patch b/0012-sof-hda-dsp-make-the-boot-init-optional-for-all-cont.patch new file mode 100644 index 0000000..0d7ba81 --- /dev/null +++ b/0012-sof-hda-dsp-make-the-boot-init-optional-for-all-cont.patch @@ -0,0 +1,108 @@ +From 6ed067e0d448b34eaa8217f9785830aa1a3f716f Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Wed, 24 Jun 2020 10:39:42 +0200 +Subject: [PATCH 12/51] sof-hda-dsp: make the boot init optional for all + controls + +Also don't initialize "Auto-Mute Mode" in the HiFi verb. + +Signed-off-by: Jaroslav Kysela +--- + ucm2/sof-hda-dsp/HiFi.conf | 12 +-------- + ucm2/sof-hda-dsp/sof-hda-dsp.conf | 53 +++++++++++++++++++++++++++++++-------- + 2 files changed, 43 insertions(+), 22 deletions(-) + +diff --git a/ucm2/sof-hda-dsp/HiFi.conf b/ucm2/sof-hda-dsp/HiFi.conf +index 127948844d67..5c03da1a164e 100644 +--- a/ucm2/sof-hda-dsp/HiFi.conf ++++ b/ucm2/sof-hda-dsp/HiFi.conf +@@ -1,17 +1,7 @@ + # Use case Configuration for sof-hda-dsp + + SectionVerb { +- If.automute { +- Condition { +- Type ControlExists +- Control "name='Auto-Mute Mode'" +- } +- True { +- EnableSequence [ +- cset "name='Auto-Mute Mode' 'Disabled'" +- ] +- } +- } ++ Value.TQ "HiFi" + } + + SectionDevice."Headphones" { +diff --git a/ucm2/sof-hda-dsp/sof-hda-dsp.conf b/ucm2/sof-hda-dsp/sof-hda-dsp.conf +index 24d0359f304f..c8069a6bbf28 100644 +--- a/ucm2/sof-hda-dsp/sof-hda-dsp.conf ++++ b/ucm2/sof-hda-dsp/sof-hda-dsp.conf +@@ -7,21 +7,52 @@ SectionUseCase."HiFi" { + + # the kcontrols initial values, which will be set by `alsactl init` + +-BootSequence [ +- cset "name='Master Playback Volume' 80" +- cset "name='Headphone Playback Volume' 80" +- cset "name='Speaker Playback Volume' 80" +- cset "name='Auto-Mute Mode' off" +-] ++If.amute { ++ Condition { ++ Type ControlExists ++ Control "name='Auto-Mute Mode'" ++ } ++ True.BootSequence [ ++ cset "name='Auto-Mute Mode' off" ++ ] ++} ++ ++If.master { ++ Condition { ++ Type ControlExists ++ Control "name='Master Playback Volume'" ++ } ++ True.BootSequence [ ++ cset "name='Master Playback Volume' 60%" ++ ] ++} ++ ++If.speaker { ++ Condition { ++ Type ControlExists ++ Control "name='Speaker Playback Volume'" ++ } ++ True.BootSequence [ ++ cset "name='Speaker Playback Volume' 60%" ++ ] ++} ++ ++If.headphone { ++ Condition { ++ Type ControlExists ++ Control "name='Headphone Playback Volume'" ++ } ++ True.BootSequence [ ++ cset "name='Headphone Playback Volume' 60%" ++ ] ++} + + If.Dmic0 { + Condition { + Type ControlExists + Control "name='Dmic0 Capture Volume'" + } +- True { +- BootSequence [ +- cset "name='Dmic0 Capture Volume' 70" +- ] +- } ++ True.BootSequence [ ++ cset "name='Dmic0 Capture Volume' 70%" ++ ] + } +-- +2.16.4 + diff --git a/0013-bdw-rt5677-add-support-for-legacy-and-SOF-drivers.patch b/0013-bdw-rt5677-add-support-for-legacy-and-SOF-drivers.patch new file mode 100644 index 0000000..d334961 --- /dev/null +++ b/0013-bdw-rt5677-add-support-for-legacy-and-SOF-drivers.patch @@ -0,0 +1,417 @@ +From 898602208888da63d758ff3c293b5ad2ec6e6c19 Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart +Date: Mon, 8 Jun 2020 20:09:04 -0500 +Subject: [PATCH 13/51] bdw-rt5677: add support for legacy and SOF drivers + +Use inclusion mechanism defined for Baytrail and reuse same configuration. + +Signed-off-by: Pierre-Louis Bossart +Signed-off-by: Jaroslav Kysela +--- + ucm2/bdw-rt5677/HiFi.conf | 179 ++++++++++++++++++++++++++++++++ + ucm2/bdw-rt5677/bdw-rt5677.conf | 6 ++ + ucm2/sof-bdw-rt5677/HiFi.conf | 179 -------------------------------- + ucm2/sof-bdw-rt5677/sof-bdw-rt5677.conf | 6 -- + 4 files changed, 185 insertions(+), 185 deletions(-) + create mode 100644 ucm2/bdw-rt5677/HiFi.conf + create mode 100644 ucm2/bdw-rt5677/bdw-rt5677.conf + delete mode 100644 ucm2/sof-bdw-rt5677/HiFi.conf + delete mode 100644 ucm2/sof-bdw-rt5677/sof-bdw-rt5677.conf + +diff --git a/ucm2/bdw-rt5677/HiFi.conf b/ucm2/bdw-rt5677/HiFi.conf +new file mode 100644 +index 000000000000..a514cf5e7144 +--- /dev/null ++++ b/ucm2/bdw-rt5677/HiFi.conf +@@ -0,0 +1,179 @@ ++# Use case Configuration for sof-bdw-rt5677 ++# command-line sequence to switch playback/capture ++# alsaucm -c bdw-rt5677 set _verb HiFi ++# alsaucm -c bdw-rt5677 set _verb HiFi set _enadev Headphones ++ ++ ++SectionVerb { ++ ++ EnableSequence [ ++ ++ cset "name='PDM1 L Mux' STO1 DAC MIX" ++ cset "name='PDM1 R Mux' STO1 DAC MIX" ++ ++ # Adjust Master Playback volume if needed ++ # cset "name='Master Playback Volume' 30" ++ ++ cset "name='OUT1 Playback Switch' off" ++ cset "name='OUT2 Playback Switch' off" ++ ++ cset "name='DAC1 Playback Volume' 175" ++ cset "name='DAC2 Playback Volume' 175" ++ cset "name='DAC12 SRC Mux' STO1 DAC MIX" ++ ++ cset "name='Stereo DAC MIXL ST L Switch' off" ++ cset "name='Stereo DAC MIXL DAC1 L Switch' off" ++ cset "name='Stereo DAC MIXL DAC2 L Switch' off" ++ cset "name='Stereo DAC MIXL DAC1 R Switch' on" ++ ++ cset "name='Stereo DAC MIXR ST R Switch' off" ++ cset "name='Stereo DAC MIXR DAC1 R Switch' off" ++ cset "name='Stereo DAC MIXR DAC2 R Switch' off" ++ cset "name='Stereo DAC MIXR DAC1 L Switch' on" ++ ++ cset "name='DAC1 MIXL Stereo ADC Switch' off" ++ cset "name='DAC1 MIXL DAC1 Switch' on" ++ ++ cset "name='DAC1 MIXR Stereo ADC Switch' off" ++ cset "name='DAC1 MIXR DAC1 Switch' on" ++ ++ cset "name='DAC1 Mux' IF1 DAC 01" ++ ++ cset "name='Stereo1 DMIC Mux' DMIC1" ++ cset "name='Stereo1 ADC2 Mux' DMIC" ++ cset "name='Stereo1 ADC1 Mux' ADC1/2" ++ ++ cset "name='Sto1 ADC MIXL ADC1 Switch' off" ++ cset "name='Sto1 ADC MIXL ADC2 Switch' off" ++ cset "name='Sto1 ADC MIXL ADC2 Switch' on" ++ ++ cset "name='Sto1 ADC MIXR ADC1 Switch' off" ++ cset "name='Sto1 ADC MIXR ADC2 Switch' off" ++ cset "name='Sto1 ADC MIXR ADC2 Switch' on" ++ ++ cset "name='IF1 ADC1 Mux' STO1 ADC MIX" ++ cset "name='IF1 ADC1 Swap Mux' L/R" ++ ++ # Adjust Mic Capture Volume if needed ++ # cset "name='Mic Capture Volume' 30" ++ ++ cset "name='ADC1 Capture Switch' on" ++ cset "name='ADC1 Capture Volume' 31" ++ cset "name='STO1 ADC Boost Volume' 2" ++ ++ cset "name='Headphone Switch' off" ++ cset "name='Speaker Switch' on" ++ ++ cset "name='Remote DMICs Switch' on" ++ cset "name='Mono DMIC L Mux' DMIC1" ++ cset "name='Mono ADC2 L Mux' DMIC" ++ cset "name='Mono ADC MIXL ADC1 Switch' off" ++ cset "name='Mono ADC MIXL ADC2 Switch' on" ++ cset "name='VAD ADC Mux' MONO ADC MIX L" ++ cset "name='IB01 Mux' VAD ADC/DAC1 FS" ++ cset "name='IB01 Bypass Mux' Bypass" ++ cset "name='Mono ADC Boost Volume' 2" ++ ] ++} ++ ++SectionDevice."Speaker" { ++ Comment "Speakers" ++ ++ ConflictingDevice [ ++ "Headphones" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId}" ++ } ++} ++ ++ ++SectionDevice."Headphones" { ++ Comment "Headphones" ++ ++ ConflictingDevice [ ++ "Speaker" ++ ] ++ ++ EnableSequence [ ++ cset "name='Speaker Switch' off" ++ cset "name='Stereo DAC MIXL DAC1 R Switch' off" ++ cset "name='Stereo DAC MIXR DAC1 L Switch' off" ++ cset "name='Stereo DAC MIXL DAC1 L Switch' on" ++ cset "name='Stereo DAC MIXR DAC1 R Switch' on" ++ cset "name='OUT1 Playback Switch' on" ++ cset "name='OUT2 Playback Switch' on" ++ cset "name='Headphone Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='Headphone Switch' off" ++ cset "name='OUT1 Playback Switch' off" ++ cset "name='OUT2 Playback Switch' off" ++ cset "name='Stereo DAC MIXL DAC1 L Switch' off" ++ cset "name='Stereo DAC MIXR DAC1 R Switch' off" ++ cset "name='Stereo DAC MIXL DAC1 R Switch' on" ++ cset "name='Stereo DAC MIXR DAC1 L Switch' on" ++ cset "name='Speaker Switch' on" ++ ] ++ ++ Value { ++ PlaybackPriority 300 ++ PlaybackPCM "hw:${CardId}" ++ JackControl "Headphone Jack" ++ JackHWMute "Speaker" ++ } ++} ++ ++SectionDevice."Mic" { ++ Comment "Internal Microphone" ++ ++ ConflictingDevice [ ++ "Headset" ++ ] ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${CardId}" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "Headset Microphone" ++ ++ ConflictingDevice [ ++ "Mic" ++ ] ++ ++ EnableSequence [ ++ cset "name='Sto1 ADC MIXL ADC2 Switch' off" ++ cset "name='Sto1 ADC MIXR ADC2 Switch' off" ++ cset "name='Local DMICs Switch' off" ++ ++ cset "name='IF1 ADC1 Swap Mux' L/L" ++ ++ cset "name='Sto1 ADC MIXL ADC1 Switch' on" ++ cset "name='Sto1 ADC MIXR ADC1 Switch' on" ++ cset "name='Headset Mic Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='Sto1 ADC MIXL ADC1 Switch' off" ++ cset "name='Sto1 ADC MIXR ADC1 Switch' off" ++ cset "name='Headset Mic Switch' off" ++ ++ cset "name='IF1 ADC1 Swap Mux' L/R" ++ ++ cset "name='Sto1 ADC MIXL ADC2 Switch' on" ++ cset "name='Sto1 ADC MIXR ADC2 Switch' on" ++ cset "name='Local DMICs Switch' on" ++ ] ++ ++ Value { ++ CapturePriority 300 ++ CapturePCM "hw:${CardId}" ++ JackControl "Mic Jack" ++ } ++} +diff --git a/ucm2/bdw-rt5677/bdw-rt5677.conf b/ucm2/bdw-rt5677/bdw-rt5677.conf +new file mode 100644 +index 000000000000..d672df281af8 +--- /dev/null ++++ b/ucm2/bdw-rt5677/bdw-rt5677.conf +@@ -0,0 +1,6 @@ ++Syntax 2 ++ ++SectionUseCase."HiFi" { ++ File "HiFi.conf" ++ Comment "Default" ++} +diff --git a/ucm2/sof-bdw-rt5677/HiFi.conf b/ucm2/sof-bdw-rt5677/HiFi.conf +deleted file mode 100644 +index 30dc987cc607..000000000000 +--- a/ucm2/sof-bdw-rt5677/HiFi.conf ++++ /dev/null +@@ -1,179 +0,0 @@ +-# Use case Configuration for sof-bdw-rt5677 +-# command-line sequence to switch playback/capture +-# alsaucm -c sof-bdw-rt5677 set _verb HiFi +-# alsaucm -c sof-bdw-rt5677 set _verb HiFi set _enadev Headphones +- +- +-SectionVerb { +- +- EnableSequence [ +- +- cset "name='PDM1 L Mux' STO1 DAC MIX" +- cset "name='PDM1 R Mux' STO1 DAC MIX" +- +- # Adjust Master Playback volume if needed +- # cset "name='Master Playback Volume' 30" +- +- cset "name='OUT1 Playback Switch' off" +- cset "name='OUT2 Playback Switch' off" +- +- cset "name='DAC1 Playback Volume' 175" +- cset "name='DAC2 Playback Volume' 175" +- cset "name='DAC12 SRC Mux' STO1 DAC MIX" +- +- cset "name='Stereo DAC MIXL ST L Switch' off" +- cset "name='Stereo DAC MIXL DAC1 L Switch' off" +- cset "name='Stereo DAC MIXL DAC2 L Switch' off" +- cset "name='Stereo DAC MIXL DAC1 R Switch' on" +- +- cset "name='Stereo DAC MIXR ST R Switch' off" +- cset "name='Stereo DAC MIXR DAC1 R Switch' off" +- cset "name='Stereo DAC MIXR DAC2 R Switch' off" +- cset "name='Stereo DAC MIXR DAC1 L Switch' on" +- +- cset "name='DAC1 MIXL Stereo ADC Switch' off" +- cset "name='DAC1 MIXL DAC1 Switch' on" +- +- cset "name='DAC1 MIXR Stereo ADC Switch' off" +- cset "name='DAC1 MIXR DAC1 Switch' on" +- +- cset "name='DAC1 Mux' IF1 DAC 01" +- +- cset "name='Stereo1 DMIC Mux' DMIC1" +- cset "name='Stereo1 ADC2 Mux' DMIC" +- cset "name='Stereo1 ADC1 Mux' ADC1/2" +- +- cset "name='Sto1 ADC MIXL ADC1 Switch' off" +- cset "name='Sto1 ADC MIXL ADC2 Switch' off" +- cset "name='Sto1 ADC MIXL ADC2 Switch' on" +- +- cset "name='Sto1 ADC MIXR ADC1 Switch' off" +- cset "name='Sto1 ADC MIXR ADC2 Switch' off" +- cset "name='Sto1 ADC MIXR ADC2 Switch' on" +- +- cset "name='IF1 ADC1 Mux' STO1 ADC MIX" +- cset "name='IF1 ADC1 Swap Mux' L/R" +- +- # Adjust Mic Capture Volume if needed +- # cset "name='Mic Capture Volume' 30" +- +- cset "name='ADC1 Capture Switch' on" +- cset "name='ADC1 Capture Volume' 31" +- cset "name='STO1 ADC Boost Volume' 2" +- +- cset "name='Headphone Switch' off" +- cset "name='Speaker Switch' on" +- +- cset "name='Remote DMICs Switch' on" +- cset "name='Mono DMIC L Mux' DMIC1" +- cset "name='Mono ADC2 L Mux' DMIC" +- cset "name='Mono ADC MIXL ADC1 Switch' off" +- cset "name='Mono ADC MIXL ADC2 Switch' on" +- cset "name='VAD ADC Mux' MONO ADC MIX L" +- cset "name='IB01 Mux' VAD ADC/DAC1 FS" +- cset "name='IB01 Bypass Mux' Bypass" +- cset "name='Mono ADC Boost Volume' 2" +- ] +-} +- +-SectionDevice."Speaker" { +- Comment "Speakers" +- +- ConflictingDevice [ +- "Headphones" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId}" +- } +-} +- +- +-SectionDevice."Headphones" { +- Comment "Headphones" +- +- ConflictingDevice [ +- "Speaker" +- ] +- +- EnableSequence [ +- cset "name='Speaker Switch' off" +- cset "name='Stereo DAC MIXL DAC1 R Switch' off" +- cset "name='Stereo DAC MIXR DAC1 L Switch' off" +- cset "name='Stereo DAC MIXL DAC1 L Switch' on" +- cset "name='Stereo DAC MIXR DAC1 R Switch' on" +- cset "name='OUT1 Playback Switch' on" +- cset "name='OUT2 Playback Switch' on" +- cset "name='Headphone Switch' on" +- ] +- +- DisableSequence [ +- cset "name='Headphone Switch' off" +- cset "name='OUT1 Playback Switch' off" +- cset "name='OUT2 Playback Switch' off" +- cset "name='Stereo DAC MIXL DAC1 L Switch' off" +- cset "name='Stereo DAC MIXR DAC1 R Switch' off" +- cset "name='Stereo DAC MIXL DAC1 R Switch' on" +- cset "name='Stereo DAC MIXR DAC1 L Switch' on" +- cset "name='Speaker Switch' on" +- ] +- +- Value { +- PlaybackPriority 300 +- PlaybackPCM "hw:${CardId}" +- JackControl "Headphone Jack" +- JackHWMute "Speaker" +- } +-} +- +-SectionDevice."Mic" { +- Comment "Internal Microphone" +- +- ConflictingDevice [ +- "Headset" +- ] +- +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId}" +- } +-} +- +-SectionDevice."Headset" { +- Comment "Headset Microphone" +- +- ConflictingDevice [ +- "Mic" +- ] +- +- EnableSequence [ +- cset "name='Sto1 ADC MIXL ADC2 Switch' off" +- cset "name='Sto1 ADC MIXR ADC2 Switch' off" +- cset "name='Local DMICs Switch' off" +- +- cset "name='IF1 ADC1 Swap Mux' L/L" +- +- cset "name='Sto1 ADC MIXL ADC1 Switch' on" +- cset "name='Sto1 ADC MIXR ADC1 Switch' on" +- cset "name='Headset Mic Switch' on" +- ] +- +- DisableSequence [ +- cset "name='Sto1 ADC MIXL ADC1 Switch' off" +- cset "name='Sto1 ADC MIXR ADC1 Switch' off" +- cset "name='Headset Mic Switch' off" +- +- cset "name='IF1 ADC1 Swap Mux' L/R" +- +- cset "name='Sto1 ADC MIXL ADC2 Switch' on" +- cset "name='Sto1 ADC MIXR ADC2 Switch' on" +- cset "name='Local DMICs Switch' on" +- ] +- +- Value { +- CapturePriority 300 +- CapturePCM "hw:${CardId}" +- JackControl "Mic Jack" +- } +-} +diff --git a/ucm2/sof-bdw-rt5677/sof-bdw-rt5677.conf b/ucm2/sof-bdw-rt5677/sof-bdw-rt5677.conf +deleted file mode 100644 +index d672df281af8..000000000000 +--- a/ucm2/sof-bdw-rt5677/sof-bdw-rt5677.conf ++++ /dev/null +@@ -1,6 +0,0 @@ +-Syntax 2 +- +-SectionUseCase."HiFi" { +- File "HiFi.conf" +- Comment "Default" +-} +-- +2.16.4 + diff --git a/0014-broadwell-rt286-add-SOF-support.patch b/0014-broadwell-rt286-add-SOF-support.patch new file mode 100644 index 0000000..abed1db --- /dev/null +++ b/0014-broadwell-rt286-add-SOF-support.patch @@ -0,0 +1,33 @@ +From 36d44bf9f9b99cca77dea313eec3bfef435cbd5d Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart +Date: Mon, 8 Jun 2020 20:15:32 -0500 +Subject: [PATCH 14/51] broadwell-rt286: add SOF support + +Include legacy configuration using SOF driver name and card check + +Signed-off-by: Pierre-Louis Bossart +Signed-off-by: Jaroslav Kysela +--- + ucm2/SOF/HiFi.conf | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/ucm2/SOF/HiFi.conf b/ucm2/SOF/HiFi.conf +index 82a66a067c49..2a6e21e89bcc 100644 +--- a/ucm2/SOF/HiFi.conf ++++ b/ucm2/SOF/HiFi.conf +@@ -78,3 +78,12 @@ If.bytcht_max98090 { + } + True.Include.main.File "/chtmax98090/HiFi.conf" + } ++ ++If.bdw_rt286 { ++ Condition { ++ Type String ++ Haystack "${CardName}" ++ Needle "sof-bdw rt286" ++ } ++ True.Include.main.File "/broadwell-rt286/HiFi.conf" ++} +-- +2.16.4 + diff --git a/0015-sof-soundwire-initial-UCM2-version.patch b/0015-sof-soundwire-initial-UCM2-version.patch new file mode 100644 index 0000000..60ec938 --- /dev/null +++ b/0015-sof-soundwire-initial-UCM2-version.patch @@ -0,0 +1,606 @@ +From 9f2dae6a560c60593c24aa4b85aed07418f9dd8e Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart +Date: Mon, 16 Mar 2020 16:42:11 -0500 +Subject: [PATCH 15/51] sof-soundwire: initial UCM2 version + +Add support for sof-soundwire driver, with conditional inclusion of +sections for RT700, RT711, RT5682, RT1308, RT715. + +Signed-off-by: Libin Yang +Signed-off-by: Pierre-Louis Bossart +Signed-off-by: Jaroslav Kysela +--- + ucm2/codecs/rt5682/init.conf | 24 +++++++++++ + ucm2/codecs/rt700/init.conf | 17 ++++++++ + ucm2/codecs/rt711/init.conf | 17 ++++++++ + ucm2/codecs/rt715/init.conf | 19 +++++++++ + ucm2/sof-soundwire/Hdmi.conf | 79 +++++++++++++++++++++++++++++++++++ + ucm2/sof-soundwire/HiFi.conf | 8 ++++ + ucm2/sof-soundwire/RT1308-1.conf | 23 ++++++++++ + ucm2/sof-soundwire/RT1308-2.conf | 30 +++++++++++++ + ucm2/sof-soundwire/RT1308.conf | 30 +++++++++++++ + ucm2/sof-soundwire/RT5682.conf | 62 +++++++++++++++++++++++++++ + ucm2/sof-soundwire/RT700.conf | 75 +++++++++++++++++++++++++++++++++ + ucm2/sof-soundwire/RT711.conf | 51 ++++++++++++++++++++++ + ucm2/sof-soundwire/RT715.conf | 31 ++++++++++++++ + ucm2/sof-soundwire/sof-soundwire.conf | 11 +++++ + 14 files changed, 477 insertions(+) + create mode 100644 ucm2/codecs/rt5682/init.conf + create mode 100644 ucm2/codecs/rt700/init.conf + create mode 100644 ucm2/codecs/rt711/init.conf + create mode 100644 ucm2/codecs/rt715/init.conf + create mode 100644 ucm2/sof-soundwire/Hdmi.conf + create mode 100644 ucm2/sof-soundwire/HiFi.conf + create mode 100644 ucm2/sof-soundwire/RT1308-1.conf + create mode 100644 ucm2/sof-soundwire/RT1308-2.conf + create mode 100644 ucm2/sof-soundwire/RT1308.conf + create mode 100644 ucm2/sof-soundwire/RT5682.conf + create mode 100644 ucm2/sof-soundwire/RT700.conf + create mode 100644 ucm2/sof-soundwire/RT711.conf + create mode 100644 ucm2/sof-soundwire/RT715.conf + create mode 100644 ucm2/sof-soundwire/sof-soundwire.conf + +diff --git a/ucm2/codecs/rt5682/init.conf b/ucm2/codecs/rt5682/init.conf +new file mode 100644 +index 000000000000..d819febf1e06 +--- /dev/null ++++ b/ucm2/codecs/rt5682/init.conf +@@ -0,0 +1,24 @@ ++# RT5682 specific volume control settings ++If.RT5682init { ++ Condition { ++ Type String ++ Haystack "${CardComponents}" ++ Needle "hs:rt5682" ++ } ++ True { ++ BootSequence [ ++ cset "name='rt5682 Stereo1 DAC MIXL DAC L1 Switch' 1" ++ cset "name='rt5682 Stereo1 DAC MIXR DAC R1 Switch' 1" ++ cset "name='rt5682 DAC L Mux' 1" ++ cset "name='rt5682 DAC R Mux' 1" ++ cset "name='rt5682 IF1 01 ADC Swap Mux' 2" ++ cset "name='rt5682 CBJ Boost Volume' 3" ++ cset "name='rt5682 Stereo1 ADC L Mux' 0" ++ cset "name='rt5682 Stereo1 ADC R Mux' 0" ++ cset "name='rt5682 Stereo1 ADC L1 Mux' 1" ++ cset "name='rt5682 Stereo1 ADC R1 Mux' 1" ++ cset "name='rt5682 Stereo1 ADC MIXL ADC2 Switch' 0" ++ cset "name='rt5682 Stereo1 ADC MIXR ADC2 Switch' 0" ++ ] ++ } ++} +diff --git a/ucm2/codecs/rt700/init.conf b/ucm2/codecs/rt700/init.conf +new file mode 100644 +index 000000000000..c5be34fc6250 +--- /dev/null ++++ b/ucm2/codecs/rt700/init.conf +@@ -0,0 +1,17 @@ ++# RT700 specific volume control settings ++If.rt700init { ++ Condition { ++ Type String ++ Haystack "${CardComponents}" ++ Needle "hs:rt700" ++ } ++ True { ++ BootSequence [ ++ cset "name='DAC Front Playback Volume' 87" ++ cset "name='HPO Mux' 'Front'" ++ cset "name='ADC 09 Capture Volume' 63" ++ cset "name='ADC 22 Mux' 'MIC2'" ++ cset "name='AMIC Volume' 1" ++ ] ++ } ++} +diff --git a/ucm2/codecs/rt711/init.conf b/ucm2/codecs/rt711/init.conf +new file mode 100644 +index 000000000000..c2b86296fa9e +--- /dev/null ++++ b/ucm2/codecs/rt711/init.conf +@@ -0,0 +1,17 @@ ++# RT711 specific volume control settings ++If.rt711init { ++ Condition { ++ Type String ++ Haystack "${CardComponents}" ++ Needle "hs:rt711" ++ } ++ True { ++ BootSequence [ ++ cset "name='rt711 DAC Surr Playback Volume' 87" ++ cset "name='rt711 ADC 08 Capture Volume' 63" ++ cset "name='rt711 ADC 23 Mux' 'MIC2'" ++ cset "name='rt711 ADC 08 Capture Switch' 1" ++ cset "name='rt711 AMIC Volume' 1" ++ ] ++ } ++} +diff --git a/ucm2/codecs/rt715/init.conf b/ucm2/codecs/rt715/init.conf +new file mode 100644 +index 000000000000..745f4712ebc4 +--- /dev/null ++++ b/ucm2/codecs/rt715/init.conf +@@ -0,0 +1,19 @@ ++# RT715 specific volume control settings ++If.RT715init { ++ Condition { ++ Type String ++ Haystack "${CardComponents}" ++ Needle "mic:rt715" ++ } ++ True { ++ BootSequence [ ++ cset "name='rt715 DMIC3 Boost' 2" ++ cset "name='rt715 DMIC4 Boost' 2" ++ cset "name='rt715 ADC 24 Mux' 3" ++ cset "name='rt715 ADC 25 Mux' 4" ++ cset "name='rt715 ADC 27 Capture Switch' 1" ++ cset "name='rt715 ADC 07 Capture Switch' 1" ++ ++ ] ++ } ++} +diff --git a/ucm2/sof-soundwire/Hdmi.conf b/ucm2/sof-soundwire/Hdmi.conf +new file mode 100644 +index 000000000000..d0ba7907e3a3 +--- /dev/null ++++ b/ucm2/sof-soundwire/Hdmi.conf +@@ -0,0 +1,79 @@ ++# Use case Configuration for sof-soundwire card ++ ++If.hdmi1 { ++ Condition { ++ Type ControlExists ++ Control "iface=CARD,name='HDMI/DP,pcm=5 Jack'" ++ } ++ True { ++ SectionDevice."HDMI1" { ++ Comment "HDMI1/DP1 Output" ++ ++ EnableSequence [ ++ cset "name='IEC958 Playback Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='IEC958 Playback Switch' off" ++ ] ++ ++ Value { ++ PlaybackPriority 500 ++ PlaybackPCM "hw:${CardId},5" ++ JackControl "HDMI/DP,pcm=5 Jack" ++ } ++ } ++ } ++} ++ ++If.hdmi2 { ++ Condition { ++ Type ControlExists ++ Control "iface=CARD,name='HDMI/DP,pcm=6 Jack'" ++ } ++ True { ++ SectionDevice."HDMI2" { ++ Comment "HDMI2/DP2 Output" ++ ++ EnableSequence [ ++ cset "name='IEC958 Playback Switch',index=1 on" ++ ] ++ ++ DisableSequence [ ++ cset "name='IEC958 Playback Switch',index=1 off" ++ ] ++ ++ Value { ++ PlaybackPriority 600 ++ PlaybackPCM "hw:${CardId},6" ++ JackControl "HDMI/DP,pcm=6 Jack" ++ } ++ } ++ } ++} ++ ++If.hdmi3 { ++ Condition { ++ Type ControlExists ++ Control "iface=CARD,name='HDMI/DP,pcm=7 Jack'" ++ } ++ True { ++ SectionDevice."HDMI3" { ++ Comment "HDMI3/DP3 Output" ++ ++ EnableSequence [ ++ cset "name='IEC958 Playback Switch',index=2 on" ++ ] ++ ++ DisableSequence [ ++ cset "name='IEC958 Playback Switch',index=2 off" ++ ] ++ ++ Value { ++ PlaybackPriority 700 ++ PlaybackPCM "hw:${CardId},7" ++ JackControl "HDMI/DP,pcm=7 Jack" ++ } ++ } ++ } ++} +diff --git a/ucm2/sof-soundwire/HiFi.conf b/ucm2/sof-soundwire/HiFi.conf +new file mode 100644 +index 000000000000..457cf6748346 +--- /dev/null ++++ b/ucm2/sof-soundwire/HiFi.conf +@@ -0,0 +1,8 @@ ++# Use case Configuration for sof-soundwire card ++ ++ ++ ++ ++ ++ ++ +diff --git a/ucm2/sof-soundwire/RT1308-1.conf b/ucm2/sof-soundwire/RT1308-1.conf +new file mode 100644 +index 000000000000..da2eeaee0294 +--- /dev/null ++++ b/ucm2/sof-soundwire/RT1308-1.conf +@@ -0,0 +1,23 @@ ++# Use case Configuration for sof-soundwire card ++ ++SectionDevice."Speaker" { ++ Comment "Speaker" ++ ++ EnableSequence [ ++ cset "name='rt1308-1 DAC L Switch' 1" ++ cset "name='rt1308-1 DAC R Switch' 1" ++ cset "name='Speaker Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='rt1308-1 DAC L Switch' 0" ++ cset "name='rt1308-1 DAC R Switch' 0" ++ cset "name='Speaker Switch' off" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId},2" ++ PlaybackChannels "2" ++ } ++} +diff --git a/ucm2/sof-soundwire/RT1308-2.conf b/ucm2/sof-soundwire/RT1308-2.conf +new file mode 100644 +index 000000000000..3484b7038b82 +--- /dev/null ++++ b/ucm2/sof-soundwire/RT1308-2.conf +@@ -0,0 +1,30 @@ ++# Use case Configuration for sof-soundwire card ++ ++SectionDevice."Speaker" { ++ Comment "Speaker" ++ ++ EnableSequence [ ++ cset "name='rt1308-1 RX Channel Select' LL" ++ cset "name='rt1308-2 RX Channel Select' RR" ++ ++ cset "name='rt1308-1 DAC L Switch' 1" ++ cset "name='rt1308-1 DAC R Switch' 1" ++ cset "name='rt1308-2 DAC L Switch' 1" ++ cset "name='rt1308-2 DAC R Switch' 1" ++ cset "name='Speaker Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='rt1308-1 DAC L Switch' 0" ++ cset "name='rt1308-1 DAC R Switch' 0" ++ cset "name='rt1308-2 DAC L Switch' 0" ++ cset "name='rt1308-2 DAC R Switch' 0" ++ cset "name='Speaker Switch' off" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId},2" ++ PlaybackChannels "2" ++ } ++} +diff --git a/ucm2/sof-soundwire/RT1308.conf b/ucm2/sof-soundwire/RT1308.conf +new file mode 100644 +index 000000000000..f8e36a3e20a4 +--- /dev/null ++++ b/ucm2/sof-soundwire/RT1308.conf +@@ -0,0 +1,30 @@ ++# Use case Configuration for sof-soundwire card ++# alsaucm -c sof-soundwire set _verb HiFi set _enadev Speaker ++ ++If.RT1308 { ++ Condition { ++ Type String ++ Haystack "${CardComponents}" ++ Needle "spk:rt1308" ++ } ++ True { ++ ++ If.2ch { ++ Condition { ++ Type String ++ Haystack "${CardComponents}" ++ Needle "cfg-spk:2" ++ } ++ True { ++ ++ ++ ++ } ++ False { ++ ++ ++ ++ } ++ } ++ } ++} +diff --git a/ucm2/sof-soundwire/RT5682.conf b/ucm2/sof-soundwire/RT5682.conf +new file mode 100644 +index 000000000000..2a63bf2f610a +--- /dev/null ++++ b/ucm2/sof-soundwire/RT5682.conf +@@ -0,0 +1,62 @@ ++# Use case Configuration for sof-soundwire card ++ ++If.RT5682 { ++ Condition { ++ Type String ++ Haystack "${CardComponents}" ++ Needle "hs:rt5682" ++ } ++ True { ++ ++ SectionDevice."Headphones" { ++ Comment "Headphones" ++ ++ EnableSequence [ ++ cset "name='Headphone Switch' on" ++ cset "name='rt5682 HPOL Playback Switch' 1" ++ cset "name='rt5682 HPOR Playback Switch' 1" ++ ] ++ ++ DisableSequence [ ++ cset "name='rt5682 HPOL Playback Switch' 0" ++ cset "name='rt5682 HPOR Playback Switch' 0" ++ cset "name='Headphone Switch' off" ++ ++ ] ++ ++ Value { ++ PlaybackPriority 200 ++ PlaybackPCM "hw:${CardId},0" ++ PlaybackChannels "2" ++ JackControl "Headphone Jack" ++ } ++ } ++ ++ SectionDevice."Headset" { ++ Comment "Headset Microphone" ++ ++ EnableSequence [ ++ cset "name='Headset Mic Switch' on" ++ cset "name='rt5682 STO1 ADC Capture Switch' 1" ++ cset "name='rt5682 RECMIX1L CBJ Switch' 1" ++ cset "name='rt5682 Stereo1 ADC MIXL ADC1 Switch' 1" ++ cset "name='rt5682 Stereo1 ADC MIXR ADC1 Switch' 1" ++ ] ++ ++ DisableSequence [ ++ cset "name='rt5682 STO1 ADC Capture Switch' 0" ++ cset "name='rt5682 RECMIX1L CBJ Switch' 0" ++ cset "name='rt5682 Stereo1 ADC MIXL ADC1 Switch' 0" ++ cset "name='rt5682 Stereo1 ADC MIXR ADC1 Switch' 0" ++ cset "name='Headset Mic Switch' off" ++ ] ++ ++ Value { ++ CapturePriority 200 ++ CapturePCM "hw:${CardId},1" ++ CaptureChannels "2" ++ JackControl "Headset Mic Jack" ++ } ++ } ++ } ++} +diff --git a/ucm2/sof-soundwire/RT700.conf b/ucm2/sof-soundwire/RT700.conf +new file mode 100644 +index 000000000000..9fe532c3c528 +--- /dev/null ++++ b/ucm2/sof-soundwire/RT700.conf +@@ -0,0 +1,75 @@ ++# Use case Configuration for sof-soundwire card ++ ++If.RT700 { ++ Condition { ++ Type String ++ Haystack "${CardComponents}" ++ Needle "hs:rt700" ++ } ++ True { ++ ++ SectionDevice."Headphones" { ++ Comment "Headphones" ++ ++ ConflictingDevice [ ++ "Speaker" ++ ] ++ ++ EnableSequence [ ++ cset "name='Headphones Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='Headphones Switch' off" ++ ] ++ ++ Value { ++ PlaybackPriority 200 ++ PlaybackPCM "hw:${CardId},0" ++ PlaybackChannels "2" ++ JackControl "Headphone Jack" ++ } ++ } ++ ++ SectionDevice."Speaker" { ++ Comment "Speaker" ++ ++ ConflictingDevice [ ++ "Headphones" ++ ] ++ ++ EnableSequence [ ++ cset "name='Speaker Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='Speaker Switch' off" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId},0" ++ PlaybackChannels "2" ++ } ++ } ++ ++ SectionDevice."Headset" { ++ Comment "Headset Microphone" ++ ++ EnableSequence [ ++ cset "name='ADC 09 Capture Switch' 1" ++ ] ++ ++ DisableSequence [ ++ cset "name='ADC 09 Capture Switch' 0" ++ ] ++ ++ Value { ++ CapturePriority 200 ++ CapturePCM "hw:${CardId},1" ++ CaptureChannels "2" ++ JackControl "Headset Mic Jack" ++ } ++ } ++ } ++} +diff --git a/ucm2/sof-soundwire/RT711.conf b/ucm2/sof-soundwire/RT711.conf +new file mode 100644 +index 000000000000..11a504ab6916 +--- /dev/null ++++ b/ucm2/sof-soundwire/RT711.conf +@@ -0,0 +1,51 @@ ++# Use case Configuration for sof-soundwire card ++ ++If.RT711 { ++ Condition { ++ Type String ++ Haystack "${CardComponents}" ++ Needle "hs:rt711" ++ } ++ True { ++ ++ SectionDevice."Headphones" { ++ Comment "Headphones" ++ ++ EnableSequence [ ++ cset "name='Headphone Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='Headphone Switch' off" ++ ] ++ ++ Value { ++ PlaybackPriority 200 ++ PlaybackPCM "hw:${CardId},0" ++ PlaybackChannels "2" ++ JackControl "Headphone Jack" ++ } ++ } ++ ++ SectionDevice."Headset" { ++ Comment "Headset Microphone" ++ ++ EnableSequence [ ++ cset "name='PGA2.0 2 Master Capture Switch' 1" ++ ] ++ ++ DisableSequence [ ++ cset "name='PGA2.0 2 Master Capture Switch' 0" ++ ] ++ ++ Value { ++ CapturePriority 200 ++ CapturePCM "hw:${CardId},1" ++ CaptureChannels "2" ++ JackControl "Headset Mic Jack" ++ CaptureSwitch "PGA2.0 2 Master Capture Switch" ++ CaptureVolume "PGA2.0 2 Master Capture Volume" ++ } ++ } ++ } ++} +diff --git a/ucm2/sof-soundwire/RT715.conf b/ucm2/sof-soundwire/RT715.conf +new file mode 100644 +index 000000000000..2b8d89d3e0b5 +--- /dev/null ++++ b/ucm2/sof-soundwire/RT715.conf +@@ -0,0 +1,31 @@ ++# Use case Configuration for sof-soundwire card ++ ++If.RT715 { ++ Condition { ++ Type String ++ Haystack "${CardComponents}" ++ Needle "mic:rt715" ++ } ++ True { ++ ++ SectionDevice."Mic" { ++ Comment "SoundWire microphones" ++ ++ EnableSequence [ ++ cset "name='PGA5.0 5 Master Capture Switch' 1" ++ ] ++ ++ DisableSequence [ ++ cset "name='PGA5.0 5 Master Capture Switch' 0" ++ ] ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${CardId},4" ++ CaptureChannels "2" ++ CaptureSwitch "PGA5.0 5 Master Capture Switch" ++ CaptureVolume "PGA5.0 5 Master Capture Volume" ++ } ++ } ++ } ++} +diff --git a/ucm2/sof-soundwire/sof-soundwire.conf b/ucm2/sof-soundwire/sof-soundwire.conf +new file mode 100644 +index 000000000000..565f2b5092da +--- /dev/null ++++ b/ucm2/sof-soundwire/sof-soundwire.conf +@@ -0,0 +1,11 @@ ++Syntax 2 ++ ++SectionUseCase."HiFi" { ++ File "HiFi.conf" ++ Comment "Play HiFi quality Music" ++} ++ ++ ++ ++ ++ +-- +2.16.4 + diff --git a/0016-sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch b/0016-sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch new file mode 100644 index 0000000..8d879fa --- /dev/null +++ b/0016-sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch @@ -0,0 +1,129 @@ +From 1072c6d68e69ac432b411557237effa2dcc869cc Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Wed, 24 Jun 2020 11:15:42 +0200 +Subject: [PATCH 16/51] sof-soundwire: cleanups recommended by the + ucm-validator + +Signed-off-by: Jaroslav Kysela +--- + ucm2/sof-soundwire/RT1308-1.conf | 1 - + ucm2/sof-soundwire/RT1308-2.conf | 1 - + ucm2/sof-soundwire/RT5682.conf | 4 +--- + ucm2/sof-soundwire/RT700.conf | 7 ++----- + ucm2/sof-soundwire/RT711.conf | 4 +--- + ucm2/sof-soundwire/RT715.conf | 1 - + 6 files changed, 4 insertions(+), 14 deletions(-) + +diff --git a/ucm2/sof-soundwire/RT1308-1.conf b/ucm2/sof-soundwire/RT1308-1.conf +index da2eeaee0294..6da5b7e30a5f 100644 +--- a/ucm2/sof-soundwire/RT1308-1.conf ++++ b/ucm2/sof-soundwire/RT1308-1.conf +@@ -18,6 +18,5 @@ SectionDevice."Speaker" { + Value { + PlaybackPriority 100 + PlaybackPCM "hw:${CardId},2" +- PlaybackChannels "2" + } + } +diff --git a/ucm2/sof-soundwire/RT1308-2.conf b/ucm2/sof-soundwire/RT1308-2.conf +index 3484b7038b82..f88cb819d6a3 100644 +--- a/ucm2/sof-soundwire/RT1308-2.conf ++++ b/ucm2/sof-soundwire/RT1308-2.conf +@@ -25,6 +25,5 @@ SectionDevice."Speaker" { + Value { + PlaybackPriority 100 + PlaybackPCM "hw:${CardId},2" +- PlaybackChannels "2" + } + } +diff --git a/ucm2/sof-soundwire/RT5682.conf b/ucm2/sof-soundwire/RT5682.conf +index 2a63bf2f610a..95a251dbe4fa 100644 +--- a/ucm2/sof-soundwire/RT5682.conf ++++ b/ucm2/sof-soundwire/RT5682.conf +@@ -26,8 +26,7 @@ If.RT5682 { + + Value { + PlaybackPriority 200 +- PlaybackPCM "hw:${CardId},0" +- PlaybackChannels "2" ++ PlaybackPCM "hw:${CardId}" + JackControl "Headphone Jack" + } + } +@@ -54,7 +53,6 @@ If.RT5682 { + Value { + CapturePriority 200 + CapturePCM "hw:${CardId},1" +- CaptureChannels "2" + JackControl "Headset Mic Jack" + } + } +diff --git a/ucm2/sof-soundwire/RT700.conf b/ucm2/sof-soundwire/RT700.conf +index 9fe532c3c528..d2df46377710 100644 +--- a/ucm2/sof-soundwire/RT700.conf ++++ b/ucm2/sof-soundwire/RT700.conf +@@ -25,8 +25,7 @@ If.RT700 { + + Value { + PlaybackPriority 200 +- PlaybackPCM "hw:${CardId},0" +- PlaybackChannels "2" ++ PlaybackPCM "hw:${CardId}" + JackControl "Headphone Jack" + } + } +@@ -48,8 +47,7 @@ If.RT700 { + + Value { + PlaybackPriority 100 +- PlaybackPCM "hw:${CardId},0" +- PlaybackChannels "2" ++ PlaybackPCM "hw:${CardId}" + } + } + +@@ -67,7 +65,6 @@ If.RT700 { + Value { + CapturePriority 200 + CapturePCM "hw:${CardId},1" +- CaptureChannels "2" + JackControl "Headset Mic Jack" + } + } +diff --git a/ucm2/sof-soundwire/RT711.conf b/ucm2/sof-soundwire/RT711.conf +index 11a504ab6916..12b48ed4b4a8 100644 +--- a/ucm2/sof-soundwire/RT711.conf ++++ b/ucm2/sof-soundwire/RT711.conf +@@ -21,8 +21,7 @@ If.RT711 { + + Value { + PlaybackPriority 200 +- PlaybackPCM "hw:${CardId},0" +- PlaybackChannels "2" ++ PlaybackPCM "hw:${CardId}" + JackControl "Headphone Jack" + } + } +@@ -41,7 +40,6 @@ If.RT711 { + Value { + CapturePriority 200 + CapturePCM "hw:${CardId},1" +- CaptureChannels "2" + JackControl "Headset Mic Jack" + CaptureSwitch "PGA2.0 2 Master Capture Switch" + CaptureVolume "PGA2.0 2 Master Capture Volume" +diff --git a/ucm2/sof-soundwire/RT715.conf b/ucm2/sof-soundwire/RT715.conf +index 2b8d89d3e0b5..d1734adc4fb5 100644 +--- a/ucm2/sof-soundwire/RT715.conf ++++ b/ucm2/sof-soundwire/RT715.conf +@@ -22,7 +22,6 @@ If.RT715 { + Value { + CapturePriority 100 + CapturePCM "hw:${CardId},4" +- CaptureChannels "2" + CaptureSwitch "PGA5.0 5 Master Capture Switch" + CaptureVolume "PGA5.0 5 Master Capture Volume" + } +-- +2.16.4 + diff --git a/0017-sof-soundwire-rewrite-for-syntax-3.patch b/0017-sof-soundwire-rewrite-for-syntax-3.patch new file mode 100644 index 0000000..8871444 --- /dev/null +++ b/0017-sof-soundwire-rewrite-for-syntax-3.patch @@ -0,0 +1,880 @@ +From 4734c44b38cd36588c774a4f52aa899ae5ad7fc4 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Wed, 24 Jun 2020 12:24:45 +0200 +Subject: [PATCH 17/51] sof-soundwire: rewrite for 'syntax 3' + +The codec/ sequences must not have the platform specific checks. + +Signed-off-by: Jaroslav Kysela +--- + ucm2/codecs/rt5682/init.conf | 38 ++++++++---------- + ucm2/codecs/rt700/init.conf | 24 ++++-------- + ucm2/codecs/rt711/init.conf | 24 ++++-------- + ucm2/codecs/rt715/init.conf | 25 ++++-------- + ucm2/sof-soundwire/HiFi.conf | 33 +++++++++++++--- + ucm2/sof-soundwire/RT1308-1.conf | 22 ----------- + ucm2/sof-soundwire/RT1308-2.conf | 29 -------------- + ucm2/sof-soundwire/RT1308.conf | 30 --------------- + ucm2/sof-soundwire/RT5682.conf | 60 ----------------------------- + ucm2/sof-soundwire/RT700.conf | 72 ----------------------------------- + ucm2/sof-soundwire/RT711.conf | 49 ------------------------ + ucm2/sof-soundwire/RT715.conf | 30 --------------- + ucm2/sof-soundwire/rt1308-2.conf | 22 +++++++++++ + ucm2/sof-soundwire/rt1308-4.conf | 29 ++++++++++++++ + ucm2/sof-soundwire/rt5682.conf | 50 ++++++++++++++++++++++++ + ucm2/sof-soundwire/rt700.conf | 62 ++++++++++++++++++++++++++++++ + ucm2/sof-soundwire/rt711.conf | 39 +++++++++++++++++++ + ucm2/sof-soundwire/rt715.conf | 20 ++++++++++ + ucm2/sof-soundwire/sof-soundwire.conf | 54 +++++++++++++++++++++++--- + 19 files changed, 338 insertions(+), 374 deletions(-) + delete mode 100644 ucm2/sof-soundwire/RT1308-1.conf + delete mode 100644 ucm2/sof-soundwire/RT1308-2.conf + delete mode 100644 ucm2/sof-soundwire/RT1308.conf + delete mode 100644 ucm2/sof-soundwire/RT5682.conf + delete mode 100644 ucm2/sof-soundwire/RT700.conf + delete mode 100644 ucm2/sof-soundwire/RT711.conf + delete mode 100644 ucm2/sof-soundwire/RT715.conf + create mode 100644 ucm2/sof-soundwire/rt1308-2.conf + create mode 100644 ucm2/sof-soundwire/rt1308-4.conf + create mode 100644 ucm2/sof-soundwire/rt5682.conf + create mode 100644 ucm2/sof-soundwire/rt700.conf + create mode 100644 ucm2/sof-soundwire/rt711.conf + create mode 100644 ucm2/sof-soundwire/rt715.conf + +diff --git a/ucm2/codecs/rt5682/init.conf b/ucm2/codecs/rt5682/init.conf +index d819febf1e06..11ce9dbf0c17 100644 +--- a/ucm2/codecs/rt5682/init.conf ++++ b/ucm2/codecs/rt5682/init.conf +@@ -1,24 +1,16 @@ + # RT5682 specific volume control settings +-If.RT5682init { +- Condition { +- Type String +- Haystack "${CardComponents}" +- Needle "hs:rt5682" +- } +- True { +- BootSequence [ +- cset "name='rt5682 Stereo1 DAC MIXL DAC L1 Switch' 1" +- cset "name='rt5682 Stereo1 DAC MIXR DAC R1 Switch' 1" +- cset "name='rt5682 DAC L Mux' 1" +- cset "name='rt5682 DAC R Mux' 1" +- cset "name='rt5682 IF1 01 ADC Swap Mux' 2" +- cset "name='rt5682 CBJ Boost Volume' 3" +- cset "name='rt5682 Stereo1 ADC L Mux' 0" +- cset "name='rt5682 Stereo1 ADC R Mux' 0" +- cset "name='rt5682 Stereo1 ADC L1 Mux' 1" +- cset "name='rt5682 Stereo1 ADC R1 Mux' 1" +- cset "name='rt5682 Stereo1 ADC MIXL ADC2 Switch' 0" +- cset "name='rt5682 Stereo1 ADC MIXR ADC2 Switch' 0" +- ] +- } +-} ++ ++BootSequence [ ++ cset "name='rt5682 Stereo1 DAC MIXL DAC L1 Switch' 1" ++ cset "name='rt5682 Stereo1 DAC MIXR DAC R1 Switch' 1" ++ cset "name='rt5682 DAC L Mux' 1" ++ cset "name='rt5682 DAC R Mux' 1" ++ cset "name='rt5682 IF1 01 ADC Swap Mux' 2" ++ cset "name='rt5682 CBJ Boost Volume' 3" ++ cset "name='rt5682 Stereo1 ADC L Mux' 0" ++ cset "name='rt5682 Stereo1 ADC R Mux' 0" ++ cset "name='rt5682 Stereo1 ADC L1 Mux' 1" ++ cset "name='rt5682 Stereo1 ADC R1 Mux' 1" ++ cset "name='rt5682 Stereo1 ADC MIXL ADC2 Switch' 0" ++ cset "name='rt5682 Stereo1 ADC MIXR ADC2 Switch' 0" ++] +diff --git a/ucm2/codecs/rt700/init.conf b/ucm2/codecs/rt700/init.conf +index c5be34fc6250..406e2cb3053d 100644 +--- a/ucm2/codecs/rt700/init.conf ++++ b/ucm2/codecs/rt700/init.conf +@@ -1,17 +1,9 @@ + # RT700 specific volume control settings +-If.rt700init { +- Condition { +- Type String +- Haystack "${CardComponents}" +- Needle "hs:rt700" +- } +- True { +- BootSequence [ +- cset "name='DAC Front Playback Volume' 87" +- cset "name='HPO Mux' 'Front'" +- cset "name='ADC 09 Capture Volume' 63" +- cset "name='ADC 22 Mux' 'MIC2'" +- cset "name='AMIC Volume' 1" +- ] +- } +-} ++ ++BootSequence [ ++ cset "name='DAC Front Playback Volume' 87" ++ cset "name='HPO Mux' 'Front'" ++ cset "name='ADC 09 Capture Volume' 63" ++ cset "name='ADC 22 Mux' 'MIC2'" ++ cset "name='AMIC Volume' 1" ++] +diff --git a/ucm2/codecs/rt711/init.conf b/ucm2/codecs/rt711/init.conf +index c2b86296fa9e..f3cea28cd4d4 100644 +--- a/ucm2/codecs/rt711/init.conf ++++ b/ucm2/codecs/rt711/init.conf +@@ -1,17 +1,9 @@ + # RT711 specific volume control settings +-If.rt711init { +- Condition { +- Type String +- Haystack "${CardComponents}" +- Needle "hs:rt711" +- } +- True { +- BootSequence [ +- cset "name='rt711 DAC Surr Playback Volume' 87" +- cset "name='rt711 ADC 08 Capture Volume' 63" +- cset "name='rt711 ADC 23 Mux' 'MIC2'" +- cset "name='rt711 ADC 08 Capture Switch' 1" +- cset "name='rt711 AMIC Volume' 1" +- ] +- } +-} ++ ++BootSequence [ ++ cset "name='rt711 DAC Surr Playback Volume' 87" ++ cset "name='rt711 ADC 08 Capture Volume' 63" ++ cset "name='rt711 ADC 23 Mux' 'MIC2'" ++ cset "name='rt711 ADC 08 Capture Switch' 1" ++ cset "name='rt711 AMIC Volume' 1" ++] +diff --git a/ucm2/codecs/rt715/init.conf b/ucm2/codecs/rt715/init.conf +index 745f4712ebc4..6e07b2df5a79 100644 +--- a/ucm2/codecs/rt715/init.conf ++++ b/ucm2/codecs/rt715/init.conf +@@ -1,19 +1,10 @@ + # RT715 specific volume control settings +-If.RT715init { +- Condition { +- Type String +- Haystack "${CardComponents}" +- Needle "mic:rt715" +- } +- True { +- BootSequence [ +- cset "name='rt715 DMIC3 Boost' 2" +- cset "name='rt715 DMIC4 Boost' 2" +- cset "name='rt715 ADC 24 Mux' 3" +- cset "name='rt715 ADC 25 Mux' 4" +- cset "name='rt715 ADC 27 Capture Switch' 1" +- cset "name='rt715 ADC 07 Capture Switch' 1" + +- ] +- } +-} ++BootSequence [ ++ cset "name='rt715 DMIC3 Boost' 2" ++ cset "name='rt715 DMIC4 Boost' 2" ++ cset "name='rt715 ADC 24 Mux' 3" ++ cset "name='rt715 ADC 25 Mux' 4" ++ cset "name='rt715 ADC 27 Capture Switch' 1" ++ cset "name='rt715 ADC 07 Capture Switch' 1" ++] +diff --git a/ucm2/sof-soundwire/HiFi.conf b/ucm2/sof-soundwire/HiFi.conf +index 457cf6748346..f2240e8e31a8 100644 +--- a/ucm2/sof-soundwire/HiFi.conf ++++ b/ucm2/sof-soundwire/HiFi.conf +@@ -1,8 +1,31 @@ + # Use case Configuration for sof-soundwire card + +- +- +- +- +- ++SectionVerb { ++ Value.TQ "HiFi" ++} ++ ++If.spkdev { ++ Condition { ++ Type String ++ Empty "${var:SpeakerCodec1}" ++ } ++ False.Include.spkdev.File "/sof-soundwire/${var:SpeakerCodec1}-${var:SpeakerChannels1}.conf" ++} ++ ++If.micdev { ++ Condition { ++ Type String ++ Empty "${var:MicCodec1}" ++ } ++ False.Include.micdev.File "/sof-soundwire/${var:MicCodec1}.conf" ++} ++ ++If.hsdev { ++ Condition { ++ Type String ++ Empty "${var:HeadsetCodec1}" ++ } ++ False.Include.hsdev.File "/sof-soundwire/${var:HeadsetCodec1}.conf" ++} ++ + +diff --git a/ucm2/sof-soundwire/RT1308-1.conf b/ucm2/sof-soundwire/RT1308-1.conf +deleted file mode 100644 +index 6da5b7e30a5f..000000000000 +--- a/ucm2/sof-soundwire/RT1308-1.conf ++++ /dev/null +@@ -1,22 +0,0 @@ +-# Use case Configuration for sof-soundwire card +- +-SectionDevice."Speaker" { +- Comment "Speaker" +- +- EnableSequence [ +- cset "name='rt1308-1 DAC L Switch' 1" +- cset "name='rt1308-1 DAC R Switch' 1" +- cset "name='Speaker Switch' on" +- ] +- +- DisableSequence [ +- cset "name='rt1308-1 DAC L Switch' 0" +- cset "name='rt1308-1 DAC R Switch' 0" +- cset "name='Speaker Switch' off" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId},2" +- } +-} +diff --git a/ucm2/sof-soundwire/RT1308-2.conf b/ucm2/sof-soundwire/RT1308-2.conf +deleted file mode 100644 +index f88cb819d6a3..000000000000 +--- a/ucm2/sof-soundwire/RT1308-2.conf ++++ /dev/null +@@ -1,29 +0,0 @@ +-# Use case Configuration for sof-soundwire card +- +-SectionDevice."Speaker" { +- Comment "Speaker" +- +- EnableSequence [ +- cset "name='rt1308-1 RX Channel Select' LL" +- cset "name='rt1308-2 RX Channel Select' RR" +- +- cset "name='rt1308-1 DAC L Switch' 1" +- cset "name='rt1308-1 DAC R Switch' 1" +- cset "name='rt1308-2 DAC L Switch' 1" +- cset "name='rt1308-2 DAC R Switch' 1" +- cset "name='Speaker Switch' on" +- ] +- +- DisableSequence [ +- cset "name='rt1308-1 DAC L Switch' 0" +- cset "name='rt1308-1 DAC R Switch' 0" +- cset "name='rt1308-2 DAC L Switch' 0" +- cset "name='rt1308-2 DAC R Switch' 0" +- cset "name='Speaker Switch' off" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId},2" +- } +-} +diff --git a/ucm2/sof-soundwire/RT1308.conf b/ucm2/sof-soundwire/RT1308.conf +deleted file mode 100644 +index f8e36a3e20a4..000000000000 +--- a/ucm2/sof-soundwire/RT1308.conf ++++ /dev/null +@@ -1,30 +0,0 @@ +-# Use case Configuration for sof-soundwire card +-# alsaucm -c sof-soundwire set _verb HiFi set _enadev Speaker +- +-If.RT1308 { +- Condition { +- Type String +- Haystack "${CardComponents}" +- Needle "spk:rt1308" +- } +- True { +- +- If.2ch { +- Condition { +- Type String +- Haystack "${CardComponents}" +- Needle "cfg-spk:2" +- } +- True { +- +- +- +- } +- False { +- +- +- +- } +- } +- } +-} +diff --git a/ucm2/sof-soundwire/RT5682.conf b/ucm2/sof-soundwire/RT5682.conf +deleted file mode 100644 +index 95a251dbe4fa..000000000000 +--- a/ucm2/sof-soundwire/RT5682.conf ++++ /dev/null +@@ -1,60 +0,0 @@ +-# Use case Configuration for sof-soundwire card +- +-If.RT5682 { +- Condition { +- Type String +- Haystack "${CardComponents}" +- Needle "hs:rt5682" +- } +- True { +- +- SectionDevice."Headphones" { +- Comment "Headphones" +- +- EnableSequence [ +- cset "name='Headphone Switch' on" +- cset "name='rt5682 HPOL Playback Switch' 1" +- cset "name='rt5682 HPOR Playback Switch' 1" +- ] +- +- DisableSequence [ +- cset "name='rt5682 HPOL Playback Switch' 0" +- cset "name='rt5682 HPOR Playback Switch' 0" +- cset "name='Headphone Switch' off" +- +- ] +- +- Value { +- PlaybackPriority 200 +- PlaybackPCM "hw:${CardId}" +- JackControl "Headphone Jack" +- } +- } +- +- SectionDevice."Headset" { +- Comment "Headset Microphone" +- +- EnableSequence [ +- cset "name='Headset Mic Switch' on" +- cset "name='rt5682 STO1 ADC Capture Switch' 1" +- cset "name='rt5682 RECMIX1L CBJ Switch' 1" +- cset "name='rt5682 Stereo1 ADC MIXL ADC1 Switch' 1" +- cset "name='rt5682 Stereo1 ADC MIXR ADC1 Switch' 1" +- ] +- +- DisableSequence [ +- cset "name='rt5682 STO1 ADC Capture Switch' 0" +- cset "name='rt5682 RECMIX1L CBJ Switch' 0" +- cset "name='rt5682 Stereo1 ADC MIXL ADC1 Switch' 0" +- cset "name='rt5682 Stereo1 ADC MIXR ADC1 Switch' 0" +- cset "name='Headset Mic Switch' off" +- ] +- +- Value { +- CapturePriority 200 +- CapturePCM "hw:${CardId},1" +- JackControl "Headset Mic Jack" +- } +- } +- } +-} +diff --git a/ucm2/sof-soundwire/RT700.conf b/ucm2/sof-soundwire/RT700.conf +deleted file mode 100644 +index d2df46377710..000000000000 +--- a/ucm2/sof-soundwire/RT700.conf ++++ /dev/null +@@ -1,72 +0,0 @@ +-# Use case Configuration for sof-soundwire card +- +-If.RT700 { +- Condition { +- Type String +- Haystack "${CardComponents}" +- Needle "hs:rt700" +- } +- True { +- +- SectionDevice."Headphones" { +- Comment "Headphones" +- +- ConflictingDevice [ +- "Speaker" +- ] +- +- EnableSequence [ +- cset "name='Headphones Switch' on" +- ] +- +- DisableSequence [ +- cset "name='Headphones Switch' off" +- ] +- +- Value { +- PlaybackPriority 200 +- PlaybackPCM "hw:${CardId}" +- JackControl "Headphone Jack" +- } +- } +- +- SectionDevice."Speaker" { +- Comment "Speaker" +- +- ConflictingDevice [ +- "Headphones" +- ] +- +- EnableSequence [ +- cset "name='Speaker Switch' on" +- ] +- +- DisableSequence [ +- cset "name='Speaker Switch' off" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId}" +- } +- } +- +- SectionDevice."Headset" { +- Comment "Headset Microphone" +- +- EnableSequence [ +- cset "name='ADC 09 Capture Switch' 1" +- ] +- +- DisableSequence [ +- cset "name='ADC 09 Capture Switch' 0" +- ] +- +- Value { +- CapturePriority 200 +- CapturePCM "hw:${CardId},1" +- JackControl "Headset Mic Jack" +- } +- } +- } +-} +diff --git a/ucm2/sof-soundwire/RT711.conf b/ucm2/sof-soundwire/RT711.conf +deleted file mode 100644 +index 12b48ed4b4a8..000000000000 +--- a/ucm2/sof-soundwire/RT711.conf ++++ /dev/null +@@ -1,49 +0,0 @@ +-# Use case Configuration for sof-soundwire card +- +-If.RT711 { +- Condition { +- Type String +- Haystack "${CardComponents}" +- Needle "hs:rt711" +- } +- True { +- +- SectionDevice."Headphones" { +- Comment "Headphones" +- +- EnableSequence [ +- cset "name='Headphone Switch' on" +- ] +- +- DisableSequence [ +- cset "name='Headphone Switch' off" +- ] +- +- Value { +- PlaybackPriority 200 +- PlaybackPCM "hw:${CardId}" +- JackControl "Headphone Jack" +- } +- } +- +- SectionDevice."Headset" { +- Comment "Headset Microphone" +- +- EnableSequence [ +- cset "name='PGA2.0 2 Master Capture Switch' 1" +- ] +- +- DisableSequence [ +- cset "name='PGA2.0 2 Master Capture Switch' 0" +- ] +- +- Value { +- CapturePriority 200 +- CapturePCM "hw:${CardId},1" +- JackControl "Headset Mic Jack" +- CaptureSwitch "PGA2.0 2 Master Capture Switch" +- CaptureVolume "PGA2.0 2 Master Capture Volume" +- } +- } +- } +-} +diff --git a/ucm2/sof-soundwire/RT715.conf b/ucm2/sof-soundwire/RT715.conf +deleted file mode 100644 +index d1734adc4fb5..000000000000 +--- a/ucm2/sof-soundwire/RT715.conf ++++ /dev/null +@@ -1,30 +0,0 @@ +-# Use case Configuration for sof-soundwire card +- +-If.RT715 { +- Condition { +- Type String +- Haystack "${CardComponents}" +- Needle "mic:rt715" +- } +- True { +- +- SectionDevice."Mic" { +- Comment "SoundWire microphones" +- +- EnableSequence [ +- cset "name='PGA5.0 5 Master Capture Switch' 1" +- ] +- +- DisableSequence [ +- cset "name='PGA5.0 5 Master Capture Switch' 0" +- ] +- +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId},4" +- CaptureSwitch "PGA5.0 5 Master Capture Switch" +- CaptureVolume "PGA5.0 5 Master Capture Volume" +- } +- } +- } +-} +diff --git a/ucm2/sof-soundwire/rt1308-2.conf b/ucm2/sof-soundwire/rt1308-2.conf +new file mode 100644 +index 000000000000..6da5b7e30a5f +--- /dev/null ++++ b/ucm2/sof-soundwire/rt1308-2.conf +@@ -0,0 +1,22 @@ ++# Use case Configuration for sof-soundwire card ++ ++SectionDevice."Speaker" { ++ Comment "Speaker" ++ ++ EnableSequence [ ++ cset "name='rt1308-1 DAC L Switch' 1" ++ cset "name='rt1308-1 DAC R Switch' 1" ++ cset "name='Speaker Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='rt1308-1 DAC L Switch' 0" ++ cset "name='rt1308-1 DAC R Switch' 0" ++ cset "name='Speaker Switch' off" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId},2" ++ } ++} +diff --git a/ucm2/sof-soundwire/rt1308-4.conf b/ucm2/sof-soundwire/rt1308-4.conf +new file mode 100644 +index 000000000000..f88cb819d6a3 +--- /dev/null ++++ b/ucm2/sof-soundwire/rt1308-4.conf +@@ -0,0 +1,29 @@ ++# Use case Configuration for sof-soundwire card ++ ++SectionDevice."Speaker" { ++ Comment "Speaker" ++ ++ EnableSequence [ ++ cset "name='rt1308-1 RX Channel Select' LL" ++ cset "name='rt1308-2 RX Channel Select' RR" ++ ++ cset "name='rt1308-1 DAC L Switch' 1" ++ cset "name='rt1308-1 DAC R Switch' 1" ++ cset "name='rt1308-2 DAC L Switch' 1" ++ cset "name='rt1308-2 DAC R Switch' 1" ++ cset "name='Speaker Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='rt1308-1 DAC L Switch' 0" ++ cset "name='rt1308-1 DAC R Switch' 0" ++ cset "name='rt1308-2 DAC L Switch' 0" ++ cset "name='rt1308-2 DAC R Switch' 0" ++ cset "name='Speaker Switch' off" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId},2" ++ } ++} +diff --git a/ucm2/sof-soundwire/rt5682.conf b/ucm2/sof-soundwire/rt5682.conf +new file mode 100644 +index 000000000000..092ac9c89012 +--- /dev/null ++++ b/ucm2/sof-soundwire/rt5682.conf +@@ -0,0 +1,50 @@ ++# Use case Configuration for sof-soundwire card ++ ++SectionDevice."Headphones" { ++ Comment "Headphones" ++ ++ EnableSequence [ ++ cset "name='Headphone Switch' on" ++ cset "name='rt5682 HPOL Playback Switch' 1" ++ cset "name='rt5682 HPOR Playback Switch' 1" ++ ] ++ ++ DisableSequence [ ++ cset "name='rt5682 HPOL Playback Switch' 0" ++ cset "name='rt5682 HPOR Playback Switch' 0" ++ cset "name='Headphone Switch' off" ++ ++ ] ++ ++ Value { ++ PlaybackPriority 200 ++ PlaybackPCM "hw:${CardId}" ++ JackControl "Headphone Jack" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "Headset Microphone" ++ ++ EnableSequence [ ++ cset "name='Headset Mic Switch' on" ++ cset "name='rt5682 STO1 ADC Capture Switch' 1" ++ cset "name='rt5682 RECMIX1L CBJ Switch' 1" ++ cset "name='rt5682 Stereo1 ADC MIXL ADC1 Switch' 1" ++ cset "name='rt5682 Stereo1 ADC MIXR ADC1 Switch' 1" ++ ] ++ ++ DisableSequence [ ++ cset "name='rt5682 STO1 ADC Capture Switch' 0" ++ cset "name='rt5682 RECMIX1L CBJ Switch' 0" ++ cset "name='rt5682 Stereo1 ADC MIXL ADC1 Switch' 0" ++ cset "name='rt5682 Stereo1 ADC MIXR ADC1 Switch' 0" ++ cset "name='Headset Mic Switch' off" ++ ] ++ ++ Value { ++ CapturePriority 200 ++ CapturePCM "hw:${CardId},1" ++ JackControl "Headset Mic Jack" ++ } ++} +diff --git a/ucm2/sof-soundwire/rt700.conf b/ucm2/sof-soundwire/rt700.conf +new file mode 100644 +index 000000000000..ab647f7f9670 +--- /dev/null ++++ b/ucm2/sof-soundwire/rt700.conf +@@ -0,0 +1,62 @@ ++# Use case Configuration for sof-soundwire card ++ ++SectionDevice."Headphones" { ++ Comment "Headphones" ++ ++ ConflictingDevice [ ++ "Speaker" ++ ] ++ ++ EnableSequence [ ++ cset "name='Headphones Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='Headphones Switch' off" ++ ] ++ ++ Value { ++ PlaybackPriority 200 ++ PlaybackPCM "hw:${CardId}" ++ JackControl "Headphone Jack" ++ } ++} ++ ++SectionDevice."Speaker" { ++ Comment "Speaker" ++ ++ ConflictingDevice [ ++ "Headphones" ++ ] ++ ++ EnableSequence [ ++ cset "name='Speaker Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='Speaker Switch' off" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId}" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "Headset Microphone" ++ ++ EnableSequence [ ++ cset "name='ADC 09 Capture Switch' 1" ++ ] ++ ++ DisableSequence [ ++ cset "name='ADC 09 Capture Switch' 0" ++ ] ++ ++ Value { ++ CapturePriority 200 ++ CapturePCM "hw:${CardId},1" ++ JackControl "Headset Mic Jack" ++ } ++} +diff --git a/ucm2/sof-soundwire/rt711.conf b/ucm2/sof-soundwire/rt711.conf +new file mode 100644 +index 000000000000..5300cf99797b +--- /dev/null ++++ b/ucm2/sof-soundwire/rt711.conf +@@ -0,0 +1,39 @@ ++# Use case Configuration for sof-soundwire card ++ ++SectionDevice."Headphones" { ++ Comment "Headphones" ++ ++ EnableSequence [ ++ cset "name='Headphone Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='Headphone Switch' off" ++ ] ++ ++ Value { ++ PlaybackPriority 200 ++ PlaybackPCM "hw:${CardId}" ++ JackControl "Headphone Jack" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "Headset Microphone" ++ ++ EnableSequence [ ++ cset "name='PGA2.0 2 Master Capture Switch' 1" ++ ] ++ ++ DisableSequence [ ++ cset "name='PGA2.0 2 Master Capture Switch' 0" ++ ] ++ ++ Value { ++ CapturePriority 200 ++ CapturePCM "hw:${CardId},1" ++ JackControl "Headset Mic Jack" ++ CaptureSwitch "PGA2.0 2 Master Capture Switch" ++ CaptureVolume "PGA2.0 2 Master Capture Volume" ++ } ++} +diff --git a/ucm2/sof-soundwire/rt715.conf b/ucm2/sof-soundwire/rt715.conf +new file mode 100644 +index 000000000000..7b8ca594aa43 +--- /dev/null ++++ b/ucm2/sof-soundwire/rt715.conf +@@ -0,0 +1,20 @@ ++# Use case Configuration for sof-soundwire card ++ ++SectionDevice."Mic" { ++ Comment "SoundWire microphones" ++ ++ EnableSequence [ ++ cset "name='PGA5.0 5 Master Capture Switch' 1" ++ ] ++ ++ DisableSequence [ ++ cset "name='PGA5.0 5 Master Capture Switch' 0" ++ ] ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${CardId},4" ++ CaptureSwitch "PGA5.0 5 Master Capture Switch" ++ CaptureVolume "PGA5.0 5 Master Capture Volume" ++ } ++} +diff --git a/ucm2/sof-soundwire/sof-soundwire.conf b/ucm2/sof-soundwire/sof-soundwire.conf +index 565f2b5092da..fe43d5f81d57 100644 +--- a/ucm2/sof-soundwire/sof-soundwire.conf ++++ b/ucm2/sof-soundwire/sof-soundwire.conf +@@ -1,11 +1,55 @@ +-Syntax 2 ++Syntax 3 + + SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Play HiFi quality Music" + } + +- +- +- +- ++Define { ++ SpeakerCodec1 "" ++ SpeakerChannels1 "2" ++ SpeakerAmps1 "0" ++ HeadsetCodec1 "" ++ MicCodec1 "" ++} ++ ++DefineRegex { ++ SpeakerCodec { ++ Regex " spk:([a-z0-9]+)" ++ String "${CardComponents}" ++ } ++ SpeakerChannels { ++ Regex " cfg-spk:([0-9]+)" ++ String "${CardComponents}" ++ } ++ SpeakerAmps { ++ Regex " cfg-amp:([0-9]+)" ++ String "${CardComponents}" ++ } ++ HeadsetCodec { ++ Regex " hs:([a-z0-9]+)" ++ String "${CardComponents}" ++ } ++ MicCodec { ++ Regex " mic:([a-z0-9]+)" ++ String "${CardComponents}" ++ } ++} ++ ++If.hs_init { ++ Condition { ++ Type Regex ++ Regex "(rt5682|rt700|rt711)" ++ String "${var:HeadsetCodec1}" ++ } ++ True.Include.hs_init.File "/codecs/${var:HeadsetCodec1}/init.conf" ++} ++ ++If.mic_init { ++ Condition { ++ Type Regex ++ Regex "(rt715)" ++ String "${var:MicCodec1}" ++ } ++ True.Include.mic_init.File "/codecs/${var:MicCodec1}/init.conf" ++} +-- +2.16.4 + diff --git a/0018-sof-hda-dsp-fix-the-device-order-Hdmi-devices.patch b/0018-sof-hda-dsp-fix-the-device-order-Hdmi-devices.patch new file mode 100644 index 0000000..014dece --- /dev/null +++ b/0018-sof-hda-dsp-fix-the-device-order-Hdmi-devices.patch @@ -0,0 +1,23 @@ +From 38e5906cd1b18b6f4df5a1d35ca535325e7b65a0 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Wed, 24 Jun 2020 12:34:13 +0200 +Subject: [PATCH 18/51] sof-hda-dsp: fix the device order (Hdmi devices) + +Signed-off-by: Jaroslav Kysela +--- + ucm2/sof-hda-dsp/HiFi.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ucm2/sof-hda-dsp/HiFi.conf b/ucm2/sof-hda-dsp/HiFi.conf +index 5c03da1a164e..62358e26edb5 100644 +--- a/ucm2/sof-hda-dsp/HiFi.conf ++++ b/ucm2/sof-hda-dsp/HiFi.conf +@@ -172,4 +172,4 @@ SectionDevice."Mic1" { + } + } + +-Include.hdmi.File "Hdmi.conf" ++ +-- +2.16.4 + diff --git a/0019-HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch b/0019-HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch new file mode 100644 index 0000000..c49abfc --- /dev/null +++ b/0019-HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch @@ -0,0 +1,673 @@ +From dcef48f13d4f5db79b006755074940b94730a883 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Wed, 24 Jun 2020 13:39:07 +0200 +Subject: [PATCH 19/51] HDA-Intel: add support for AMD acp microphone devices + +- move the generic HDA code from sof-hda-dsp to HDA-Intel +- add generic codecs/hda/hdmi.conf + +Signed-off-by: Jaroslav Kysela +--- + ucm2/HDA-Intel/HDA-Capture-value.conf | 4 + + ucm2/HDA-Intel/HDA-Intel.conf | 28 +++++++ + ucm2/HDA-Intel/Hdmi.conf | 37 +++++++++ + ucm2/HDA-Intel/HiFi-acp.conf | 8 ++ + ucm2/HDA-Intel/HiFi-analog.conf | 133 +++++++++++++++++++++++++++++++ + ucm2/HDA-Intel/HiFi.conf | 32 ++++++++ + ucm2/HDA-Intel/init.conf | 39 +++++++++ + ucm2/codecs/hda/hdmi.conf | 25 ++++++ + ucm2/module/lib/linked.conf | 3 + + ucm2/module/snd_acp3x_rn.conf | 1 + + ucm2/sof-hda-dsp/HDA-Capture-value.conf | 4 - + ucm2/sof-hda-dsp/Hdmi.conf | 78 +++++------------- + ucm2/sof-hda-dsp/HiFi.conf | 135 +------------------------------- + 13 files changed, 331 insertions(+), 196 deletions(-) + create mode 100644 ucm2/HDA-Intel/HDA-Capture-value.conf + create mode 100644 ucm2/HDA-Intel/HDA-Intel.conf + create mode 100644 ucm2/HDA-Intel/Hdmi.conf + create mode 100644 ucm2/HDA-Intel/HiFi-acp.conf + create mode 100644 ucm2/HDA-Intel/HiFi-analog.conf + create mode 100644 ucm2/HDA-Intel/HiFi.conf + create mode 100644 ucm2/HDA-Intel/init.conf + create mode 100644 ucm2/codecs/hda/hdmi.conf + create mode 100644 ucm2/module/lib/linked.conf + create mode 120000 ucm2/module/snd_acp3x_rn.conf + delete mode 100644 ucm2/sof-hda-dsp/HDA-Capture-value.conf + +diff --git a/ucm2/HDA-Intel/HDA-Capture-value.conf b/ucm2/HDA-Intel/HDA-Capture-value.conf +new file mode 100644 +index 000000000000..2f1316ab753f +--- /dev/null ++++ b/ucm2/HDA-Intel/HDA-Capture-value.conf +@@ -0,0 +1,4 @@ ++CapturePCM "hw:${CardId}" ++CaptureMixerElem "Capture" ++CaptureVolume "Capture Volume" ++CaptureSwitch "Capture Switch" +diff --git a/ucm2/HDA-Intel/HDA-Intel.conf b/ucm2/HDA-Intel/HDA-Intel.conf +new file mode 100644 +index 000000000000..109eea6454aa +--- /dev/null ++++ b/ucm2/HDA-Intel/HDA-Intel.conf +@@ -0,0 +1,28 @@ ++Syntax 3 ++ ++Define.Use "" # a non-empty string to use UCM configuration for HDA devices ++ ++Define.AcpCardId "$${CardIdByName:acp}" ++ ++If.acp { ++ Condition { ++ Type String ++ Empty "${var:AcpCardId}" ++ } ++ False.Define.Use y ++} ++ ++If.use { ++ Condition { ++ Type String ++ Empty "${var:Use}" ++ } ++ False { ++ SectionUseCase."HiFi" { ++ File "HiFi.conf" ++ Comment "Play HiFi quality Music" ++ } ++ ++ Include.init.File "/HDA-Intel/init.conf" ++ } ++} +diff --git a/ucm2/HDA-Intel/Hdmi.conf b/ucm2/HDA-Intel/Hdmi.conf +new file mode 100644 +index 000000000000..8b1843b91e6b +--- /dev/null ++++ b/ucm2/HDA-Intel/Hdmi.conf +@@ -0,0 +1,37 @@ ++# Use case Configuration for sof-hda-dsp ++ ++If.hdmi1 { ++ Condition { Type String Empty "" } ++ True { ++ Define { ++ HdmiNum 1 ++ HdmiPCM 3 ++ HdmiPrio 500 ++ } ++ Include.hdmi1.File "/codecs/hda/hdmi.conf" ++ } ++} ++ ++If.hdmi2 { ++ Condition { Type String Empty "" } ++ True { ++ Define { ++ HdmiNum 2 ++ HdmiPCM 7 ++ HdmiPrio 600 ++ } ++ Include.hdmi2.File "/codecs/hda/hdmi.conf" ++ } ++} ++ ++If.hdmi3 { ++ Condition { Type String Empty "" } ++ True { ++ Define { ++ HdmiNum 3 ++ HdmiPCM 8 ++ HdmiPrio 700 ++ } ++ Include.hdmi3.File "/codecs/hda/hdmi.conf" ++ } ++} +diff --git a/ucm2/HDA-Intel/HiFi-acp.conf b/ucm2/HDA-Intel/HiFi-acp.conf +new file mode 100644 +index 000000000000..123ae15f0406 +--- /dev/null ++++ b/ucm2/HDA-Intel/HiFi-acp.conf +@@ -0,0 +1,8 @@ ++SectionDevice."Mic1" { ++ Comment "Digital Microphone" ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${var:AcpCardId}" ++ } ++} +diff --git a/ucm2/HDA-Intel/HiFi-analog.conf b/ucm2/HDA-Intel/HiFi-analog.conf +new file mode 100644 +index 000000000000..1143a6758f87 +--- /dev/null ++++ b/ucm2/HDA-Intel/HiFi-analog.conf +@@ -0,0 +1,133 @@ ++# Generic HDA devices for analog I/O ++ ++SectionDevice."Headphones" { ++ Comment "Headphones" ++ ++ If.headphone_switch { ++ Condition { ++ Type ControlExists ++ Control "name='Headphone Playback Switch'" ++ } ++ True { ++ EnableSequence [ ++ cset "name='Headphone Playback Switch' on" ++ ] ++ DisableSequence [ ++ cset "name='Headphone Playback Switch' off" ++ ] ++ } ++ } ++ ++ Value { ++ PlaybackPriority 200 ++ PlaybackPCM "hw:${CardId}" ++ PlaybackMixerElem "Headphone" ++ PlaybackMasterElem "Master" ++ PlaybackVolume "Headphone Playback Volume" ++ PlaybackSwitch "Headphone Playback Switch" ++ If.jack { ++ Condition { ++ Type ControlExists ++ Control "iface=CARD,name='Headphone Mic Jack'" ++ } ++ True { ++ JackControl "Headphone Mic Jack" ++ } ++ False { ++ JackControl "Headphone Jack" ++ } ++ } ++ } ++} ++ ++SectionDevice."Speaker" { ++ Comment "Speaker" ++ ++ If.seq { ++ Condition { ++ Type ControlExists ++ Control "name='Bass Speaker Playback Switch'" ++ } ++ True { ++ EnableSequence [ ++ cset "name='Speaker Playback Switch' on" ++ cset "name='Bass Speaker Playback Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='Speaker Playback Switch' off" ++ cset "name='Bass Speaker Playback Switch' off" ++ ] ++ } ++ False { ++ EnableSequence [ ++ cset "name='Speaker Playback Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='Speaker Playback Switch' off" ++ ] ++ } ++ } ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId}" ++ PlaybackMixerElem "Speaker" ++ PlaybackMasterElem "Master" ++ PlaybackVolume "Speaker Playback Volume" ++ PlaybackSwitch "Speaker Playback Switch" ++ } ++} ++ ++If.monomic { ++ Condition { ++ Type ControlExists ++ Control "name='Input Source'" ++ ControlEnum "Headphone Mic" ++ } ++ True { ++ SectionDevice."Mic2" { ++ Comment "Headphones Stereo Microphone" ++ ++ ConflictingDevice [ ++ "Headset" ++ ] ++ ++ EnableSequence [ ++ cset "name='Input Source' 'Headphone Mic'" ++ ] ++ ++ Value { ++ CapturePriority 200 ++ Include.value.File "/HDA-Intel/HDA-Capture-value.conf" ++ JackControl "Headphone Mic Jack" ++ } ++ } ++ ++ SectionDevice."Headset" { ++ Comment "Headset Mono Microphone" ++ ++ EnableSequence [ ++ cset "name='Input Source' 'Headset Mic'" ++ ] ++ ++ Value { ++ CapturePriority 300 ++ Include.value.File "/HDA-Intel/HDA-Capture-value.conf" ++ JackControl "Headphone Mic Jack" ++ } ++ } ++ } ++ False { ++ SectionDevice."Mic2" { ++ Comment "Headphones Stereo Microphone" ++ ++ Value { ++ CapturePriority 200 ++ Include.value.File "/HDA-Intel/HDA-Capture-value.conf" ++ JackControl "Mic Jack" ++ } ++ } ++ } ++} +diff --git a/ucm2/HDA-Intel/HiFi.conf b/ucm2/HDA-Intel/HiFi.conf +new file mode 100644 +index 000000000000..2d18c9ed627a +--- /dev/null ++++ b/ucm2/HDA-Intel/HiFi.conf +@@ -0,0 +1,32 @@ ++# Use case Configuration for sof-hda-dsp ++ ++SectionVerb { ++ Value.TQ "HiFi" ++} ++ ++If.analog { ++ Condition { ++ Type ControlExists ++ Control "name='Master Playback Switch'" ++ } ++ True.Include.analog.File "/HDA-Intel/HiFi-analog.conf" ++} ++ ++If.hdmi { ++ Condition { Type String Empty "" } ++ True.Include.hdmi.File "/HDA-Intel/Hdmi.conf" ++} ++ ++If.acp { ++ Condition { ++ Type String ++ Empty "${var:AcpCardId}" ++ } ++ True { ++ RenameDevice."Mic1" "Mic" ++ } ++ False.Include.acp { ++ Before.SectionDevice "Mic1" ++ File "/HDA-Intel/HiFi-acp.conf" ++ } ++} +diff --git a/ucm2/HDA-Intel/init.conf b/ucm2/HDA-Intel/init.conf +new file mode 100644 +index 000000000000..1a351a9cb3d5 +--- /dev/null ++++ b/ucm2/HDA-Intel/init.conf +@@ -0,0 +1,39 @@ ++If.amute { ++ Condition { ++ Type ControlExists ++ Control "name='Auto-Mute Mode'" ++ } ++ True.BootSequence [ ++ cset "name='Auto-Mute Mode' off" ++ ] ++} ++ ++If.master { ++ Condition { ++ Type ControlExists ++ Control "name='Master Playback Volume'" ++ } ++ True.BootSequence [ ++ cset "name='Master Playback Volume' 60%" ++ ] ++} ++ ++If.speaker { ++ Condition { ++ Type ControlExists ++ Control "name='Speaker Playback Volume'" ++ } ++ True.BootSequence [ ++ cset "name='Speaker Playback Volume' 60%" ++ ] ++} ++ ++If.headphone { ++ Condition { ++ Type ControlExists ++ Control "name='Headphone Playback Volume'" ++ } ++ True.BootSequence [ ++ cset "name='Headphone Playback Volume' 60%" ++ ] ++} +diff --git a/ucm2/codecs/hda/hdmi.conf b/ucm2/codecs/hda/hdmi.conf +new file mode 100644 +index 000000000000..c22f61521756 +--- /dev/null ++++ b/ucm2/codecs/hda/hdmi.conf +@@ -0,0 +1,25 @@ ++If.hdmi { ++ Condition { ++ Type ControlExists ++ Control "iface=CARD,name='HDMI/DP,pcm=${var:HdmiPCM} Jack'" ++ } ++ True { ++ SectionDevice."HDMI${var:HdmiNum}" { ++ Comment "HDMI${var:HdmiNum}/${var:HdmiNum} Output" ++ ++ EnableSequence [ ++ cset "name='IEC958 Playback Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='IEC958 Playback Switch' off" ++ ] ++ ++ Value { ++ PlaybackPriority "${var:HdmiPrio}" ++ PlaybackPCM "hw:${CardId},${var:HdmiPCM}" ++ JackControl "HDMI/DP,pcm=${var:HdmiPCM} Jack" ++ } ++ } ++ } ++} +diff --git a/ucm2/module/lib/linked.conf b/ucm2/module/lib/linked.conf +new file mode 100644 +index 000000000000..d7656a8806f1 +--- /dev/null ++++ b/ucm2/module/lib/linked.conf +@@ -0,0 +1,3 @@ ++ValueDefaults { ++ Linked 1 ++} +diff --git a/ucm2/module/snd_acp3x_rn.conf b/ucm2/module/snd_acp3x_rn.conf +new file mode 120000 +index 000000000000..b56794a7bc1f +--- /dev/null ++++ b/ucm2/module/snd_acp3x_rn.conf +@@ -0,0 +1 @@ ++lib/linked.conf +\ No newline at end of file +diff --git a/ucm2/sof-hda-dsp/HDA-Capture-value.conf b/ucm2/sof-hda-dsp/HDA-Capture-value.conf +deleted file mode 100644 +index 2f1316ab753f..000000000000 +--- a/ucm2/sof-hda-dsp/HDA-Capture-value.conf ++++ /dev/null +@@ -1,4 +0,0 @@ +-CapturePCM "hw:${CardId}" +-CaptureMixerElem "Capture" +-CaptureVolume "Capture Volume" +-CaptureSwitch "Capture Switch" +diff --git a/ucm2/sof-hda-dsp/Hdmi.conf b/ucm2/sof-hda-dsp/Hdmi.conf +index 6f2c4aa99db2..480e2d6f4203 100644 +--- a/ucm2/sof-hda-dsp/Hdmi.conf ++++ b/ucm2/sof-hda-dsp/Hdmi.conf +@@ -1,79 +1,37 @@ + # Use case Configuration for sof-hda-dsp + + If.hdmi1 { +- Condition { +- Type ControlExists +- Control "iface=CARD,name='HDMI/DP,pcm=3 Jack'" +- } ++ Condition { Type String Empty "" } + True { +- SectionDevice."HDMI1" { +- Comment "HDMI1/DP1 Output" +- +- EnableSequence [ +- cset "name='IEC958 Playback Switch' on" +- ] +- +- DisableSequence [ +- cset "name='IEC958 Playback Switch' off" +- ] +- +- Value { +- PlaybackPriority 500 +- PlaybackPCM "hw:${CardId},3" +- JackControl "HDMI/DP,pcm=3 Jack" +- } ++ Define { ++ HdmiNum 1 ++ HdmiPCM 3 ++ HdmiPrio 500 + } ++ Include.hdmi1.File "/codec/hda/hdmi.conf" + } + } + + If.hdmi2 { +- Condition { +- Type ControlExists +- Control "iface=CARD,name='HDMI/DP,pcm=4 Jack'" +- } ++ Condition { Type String Empty "" } + True { +- SectionDevice."HDMI2" { +- Comment "HDMI2/DP2 Output" +- +- EnableSequence [ +- cset "name='IEC958 Playback Switch',index=1 on" +- ] +- +- DisableSequence [ +- cset "name='IEC958 Playback Switch',index=1 off" +- ] +- +- Value { +- PlaybackPriority 600 +- PlaybackPCM "hw:${CardId},4" +- JackControl "HDMI/DP,pcm=4 Jack" +- } ++ Define { ++ HdmiNum 2 ++ HdmiPCM 4 ++ HdmiPrio 600 + } ++ Include.hdmi2.File "/codec/hda/hdmi.conf" + } + } + + If.hdmi3 { +- Condition { +- Type ControlExists +- Control "iface=CARD,name='HDMI/DP,pcm=5 Jack'" +- } ++ Condition { Type String Empty "" } + True { +- SectionDevice."HDMI3" { +- Comment "HDMI3/DP3 Output" +- +- EnableSequence [ +- cset "name='IEC958 Playback Switch',index=2 on" +- ] +- +- DisableSequence [ +- cset "name='IEC958 Playback Switch',index=2 off" +- ] +- +- Value { +- PlaybackPriority 700 +- PlaybackPCM "hw:${CardId},5" +- JackControl "HDMI/DP,pcm=5 Jack" +- } ++ Define { ++ HdmiNum 3 ++ HdmiPCM 5 ++ HdmiPrio 700 + } ++ Include.hdmi3.File "/codec/hda/hdmi.conf" + } + } +diff --git a/ucm2/sof-hda-dsp/HiFi.conf b/ucm2/sof-hda-dsp/HiFi.conf +index 62358e26edb5..0f221b79ce21 100644 +--- a/ucm2/sof-hda-dsp/HiFi.conf ++++ b/ucm2/sof-hda-dsp/HiFi.conf +@@ -4,138 +4,9 @@ SectionVerb { + Value.TQ "HiFi" + } + +-SectionDevice."Headphones" { +- Comment "Headphones" ++ + +- If.headphone_switch { +- Condition { +- Type ControlExists +- Control "name='Headphone Playback Switch'" +- } +- True { +- EnableSequence [ +- cset "name='Headphone Playback Switch' on" +- ] +- DisableSequence [ +- cset "name='Headphone Playback Switch' off" +- ] +- } +- } +- +- Value { +- PlaybackPriority 200 +- PlaybackPCM "hw:${CardId}" +- PlaybackMixerElem "Headphone" +- PlaybackMasterElem "Master" +- PlaybackVolume "Headphone Playback Volume" +- PlaybackSwitch "Headphone Playback Switch" +- If.jack { +- Condition { +- Type ControlExists +- Control "iface=CARD,name='Headphone Mic Jack'" +- } +- True { +- JackControl "Headphone Mic Jack" +- } +- False { +- JackControl "Headphone Jack" +- } +- } +- } +-} +- +-SectionDevice."Speaker" { +- Comment "Speaker" +- +- If.seq { +- Condition { +- Type ControlExists +- Control "name='Bass Speaker Playback Switch'" +- } +- True { +- EnableSequence [ +- cset "name='Speaker Playback Switch' on" +- cset "name='Bass Speaker Playback Switch' on" +- ] +- +- DisableSequence [ +- cset "name='Speaker Playback Switch' off" +- cset "name='Bass Speaker Playback Switch' off" +- ] +- } +- False { +- EnableSequence [ +- cset "name='Speaker Playback Switch' on" +- ] +- +- DisableSequence [ +- cset "name='Speaker Playback Switch' off" +- ] +- } +- } +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId}" +- PlaybackMixerElem "Speaker" +- PlaybackMasterElem "Master" +- PlaybackVolume "Speaker Playback Volume" +- PlaybackSwitch "Speaker Playback Switch" +- } +-} +- +-If.monomic { +- Condition { +- Type ControlExists +- Control "name='Input Source'" +- ControlEnum "Headphone Mic" +- } +- After.SectionDevice "Mic1" +- True { +- SectionDevice."Mic2" { +- Comment "Headphones Stereo Microphone" +- +- ConflictingDevice [ +- "Headset" +- ] +- +- EnableSequence [ +- cset "name='Input Source' 'Headphone Mic'" +- ] +- +- Value { +- CapturePriority 200 +- Include.value.File "HDA-Capture-value.conf" +- JackControl "Headphone Mic Jack" +- } +- } +- +- SectionDevice."Headset" { +- Comment "Headset Mono Microphone" +- +- EnableSequence [ +- cset "name='Input Source' Headset Mic" +- ] +- +- Value { +- CapturePriority 300 +- Include.value.File "HDA-Capture-value.conf" +- JackControl "Headphone Mic Jack" +- } +- } +- } +- False { +- SectionDevice."Mic2" { +- Comment "Headphones Stereo Microphone" +- +- Value { +- CapturePriority 200 +- Include.value.File "HDA-Capture-value.conf" +- JackControl "Mic Jack" +- } +- } +- } +-} ++If.monomic.After.SectionDevice "Mic1" + + SectionDevice."Mic1" { + Comment "Digital Microphone" +@@ -172,4 +43,4 @@ SectionDevice."Mic1" { + } + } + +- ++ +-- +2.16.4 + diff --git a/0020-DAISY-I2S-move-to-Samsung-snow-snow.conf.patch b/0020-DAISY-I2S-move-to-Samsung-snow-snow.conf.patch new file mode 100644 index 0000000..f513e2b --- /dev/null +++ b/0020-DAISY-I2S-move-to-Samsung-snow-snow.conf.patch @@ -0,0 +1,184 @@ +From 6b8518c431cac18a825bd7342875f54b44cb7afc Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Thu, 25 Jun 2020 16:06:37 +0200 +Subject: [PATCH 20/51] DAISY-I2S: move to Samsung/snow/snow.conf + +Signed-off-by: Jaroslav Kysela +--- + ucm2/DAISY-I2S/DAISY-I2S.conf | 8 ------ + ucm2/DAISY-I2S/HiFi.conf | 56 ----------------------------------------- + ucm2/Samsung/snow/HiFi.conf | 58 +++++++++++++++++++++++++++++++++++++++++++ + ucm2/Samsung/snow/snow.conf | 8 ++++++ + ucm2/module/snd_soc_snow.conf | 1 + + 5 files changed, 67 insertions(+), 64 deletions(-) + delete mode 100644 ucm2/DAISY-I2S/DAISY-I2S.conf + delete mode 100644 ucm2/DAISY-I2S/HiFi.conf + create mode 100644 ucm2/Samsung/snow/HiFi.conf + create mode 100644 ucm2/Samsung/snow/snow.conf + create mode 120000 ucm2/module/snd_soc_snow.conf + +diff --git a/ucm2/DAISY-I2S/DAISY-I2S.conf b/ucm2/DAISY-I2S/DAISY-I2S.conf +deleted file mode 100644 +index 040db6379b34..000000000000 +--- a/ucm2/DAISY-I2S/DAISY-I2S.conf ++++ /dev/null +@@ -1,8 +0,0 @@ +-Syntax 2 +- +-Comment "Daisy internal card" +- +-SectionUseCase."HiFi" { +- File "HiFi.conf" +- Comment "Default" +-} +diff --git a/ucm2/DAISY-I2S/HiFi.conf b/ucm2/DAISY-I2S/HiFi.conf +deleted file mode 100644 +index 877f6ff02937..000000000000 +--- a/ucm2/DAISY-I2S/HiFi.conf ++++ /dev/null +@@ -1,56 +0,0 @@ +-SectionVerb { +- EnableSequence [ +- cset "name='Left Speaker Mixer Left DAC1 Switch' on" +- cset "name='Right Speaker Mixer Right DAC1 Switch' on" +- cset "name='Left Headphone Mixer Left DAC1 Switch' on" +- cset "name='Right Headphone Mixer Right DAC1 Switch' on" +- cset "name='DMIC1 Left Capture Switch' on" +- cset "name='DMIC1 Right Capture Switch' on" +- cset "name='MIC2 External Mic Switch' on" +- cset "name='Left ADC Mixer MIC2 Switch' on" +- cset "name='Right ADC Mixer MIC2 Switch' on" +- cset "name='EQ1 Mode' Default" +- cset "name='DAI1 Filter Mode' Music" +- ] +-} +- +-SectionDevice."Headphones" { +- EnableSequence [ +- cset "name='EQ1 Switch' off" +- cset "name='Left Headphone Mixer Left DAC1 Switch' on" +- cset "name='Right Headphone Mixer Right DAC1 Switch' on" +- ] +- +- DisableSequence [ +- cset "name='EQ1 Mode' Default" +- cset "name='EQ1 Switch' on" +- cset "name='Left Speaker Mixer Left DAC1 Switch' on" +- cset "name='Right Speaker Mixer Right DAC1 Switch' on" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId}" +- } +-} +- +-SectionDevice."Mic" { +- EnableSequence [ +- cset "name='DMIC1 Left Capture Switch' off" +- cset "name='DMIC1 Right Capture Switch' off" +- cset "name='Left ADC Mixer MIC2 Switch' on" +- cset "name='Right ADC Mixer MIC2 Switch' on" +- ] +- +- DisableSequence [ +- cset "name='Left ADC Mixer MIC2 Switch' off" +- cset "name='Right ADC Mixer MIC2 Switch' off" +- cset "name='DMIC1 Left Capture Switch' on" +- cset "name='DMIC1 Right Capture Switch' on" +- ] +- +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId}" +- } +-} +diff --git a/ucm2/Samsung/snow/HiFi.conf b/ucm2/Samsung/snow/HiFi.conf +new file mode 100644 +index 000000000000..c278ad669f2f +--- /dev/null ++++ b/ucm2/Samsung/snow/HiFi.conf +@@ -0,0 +1,58 @@ ++# It's configuration for DAISY-I2S, update for another hw! ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='Left Speaker Mixer Left DAC1 Switch' on" ++ cset "name='Right Speaker Mixer Right DAC1 Switch' on" ++ cset "name='Left Headphone Mixer Left DAC1 Switch' on" ++ cset "name='Right Headphone Mixer Right DAC1 Switch' on" ++ cset "name='DMIC1 Left Capture Switch' on" ++ cset "name='DMIC1 Right Capture Switch' on" ++ cset "name='MIC2 External Mic Switch' on" ++ cset "name='Left ADC Mixer MIC2 Switch' on" ++ cset "name='Right ADC Mixer MIC2 Switch' on" ++ cset "name='EQ1 Mode' Default" ++ cset "name='DAI1 Filter Mode' Music" ++ ] ++} ++ ++SectionDevice."Headphones" { ++ EnableSequence [ ++ cset "name='EQ1 Switch' off" ++ cset "name='Left Headphone Mixer Left DAC1 Switch' on" ++ cset "name='Right Headphone Mixer Right DAC1 Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='EQ1 Mode' Default" ++ cset "name='EQ1 Switch' on" ++ cset "name='Left Speaker Mixer Left DAC1 Switch' on" ++ cset "name='Right Speaker Mixer Right DAC1 Switch' on" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId}" ++ } ++} ++ ++SectionDevice."Mic" { ++ EnableSequence [ ++ cset "name='DMIC1 Left Capture Switch' off" ++ cset "name='DMIC1 Right Capture Switch' off" ++ cset "name='Left ADC Mixer MIC2 Switch' on" ++ cset "name='Right ADC Mixer MIC2 Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='Left ADC Mixer MIC2 Switch' off" ++ cset "name='Right ADC Mixer MIC2 Switch' off" ++ cset "name='DMIC1 Left Capture Switch' on" ++ cset "name='DMIC1 Right Capture Switch' on" ++ ] ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${CardId}" ++ } ++} +diff --git a/ucm2/Samsung/snow/snow.conf b/ucm2/Samsung/snow/snow.conf +new file mode 100644 +index 000000000000..aea4710ff8a4 +--- /dev/null ++++ b/ucm2/Samsung/snow/snow.conf +@@ -0,0 +1,8 @@ ++Syntax 3 ++ ++Comment "Internal card" ++ ++SectionUseCase."HiFi" { ++ File "/Samsung/snow/HiFi.conf" ++ Comment "Default" ++} +diff --git a/ucm2/module/snd_soc_snow.conf b/ucm2/module/snd_soc_snow.conf +new file mode 120000 +index 000000000000..f6fcdce5f0ce +--- /dev/null ++++ b/ucm2/module/snd_soc_snow.conf +@@ -0,0 +1 @@ ++../Samsung/snow/snow.conf +\ No newline at end of file +-- +2.16.4 + diff --git a/0021-DB410c-move-to-Qualcomm-apq8016-sbc.patch b/0021-DB410c-move-to-Qualcomm-apq8016-sbc.patch new file mode 100644 index 0000000..2e49958 --- /dev/null +++ b/0021-DB410c-move-to-Qualcomm-apq8016-sbc.patch @@ -0,0 +1,442 @@ +From c13c8cb51a826a50e52c3724115d56f2a98f582f Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Thu, 25 Jun 2020 16:39:01 +0200 +Subject: [PATCH 21/51] DB410c: move to Qualcomm/apq8016-sbc + +Signed-off-by: Jaroslav Kysela +--- + ucm2/DB410c/DB410c.conf | 10 -- + ucm2/DB410c/HDMI.conf | 17 --- + ucm2/DB410c/HiFi.conf | 159 ----------------------------- + ucm2/Qualcomm/apq8016-sbc/HDMI.conf | 17 +++ + ucm2/Qualcomm/apq8016-sbc/HiFi.conf | 159 +++++++++++++++++++++++++++++ + ucm2/Qualcomm/apq8016-sbc/apq8016-sbc.conf | 10 ++ + ucm2/module/snd_soc_apq8016_sbc.conf | 1 + + 7 files changed, 187 insertions(+), 186 deletions(-) + delete mode 100644 ucm2/DB410c/DB410c.conf + delete mode 100644 ucm2/DB410c/HDMI.conf + delete mode 100644 ucm2/DB410c/HiFi.conf + create mode 100644 ucm2/Qualcomm/apq8016-sbc/HDMI.conf + create mode 100644 ucm2/Qualcomm/apq8016-sbc/HiFi.conf + create mode 100644 ucm2/Qualcomm/apq8016-sbc/apq8016-sbc.conf + create mode 120000 ucm2/module/snd_soc_apq8016_sbc.conf + +diff --git a/ucm2/DB410c/DB410c.conf b/ucm2/DB410c/DB410c.conf +deleted file mode 100644 +index 45931800f479..000000000000 +--- a/ucm2/DB410c/DB410c.conf ++++ /dev/null +@@ -1,10 +0,0 @@ +-Syntax 2 +- +-SectionUseCase."HiFi" { +- File "HiFi.conf" +- Comment "Play HiFi quality Music" +-} +-SectionUseCase."HDMI" { +- File "HDMI.conf" +- Comment "HDMI output" +-} +diff --git a/ucm2/DB410c/HDMI.conf b/ucm2/DB410c/HDMI.conf +deleted file mode 100644 +index 3335422f9a90..000000000000 +--- a/ucm2/DB410c/HDMI.conf ++++ /dev/null +@@ -1,17 +0,0 @@ +-# Use case configuration for DB410c board. +-# Author: Srinivas Kandagatla +- +-SectionVerb { +- Value { +- TQ "HiFi" +- } +-} +- +-SectionDevice."HDMI" { +- # Name "HDMI-stereo" +- Comment "HDMI Digital Stereo Output" +- Value { +- PlaybackPriority 200 +- PlaybackPCM "plughw:${CardId}" +- } +-} +diff --git a/ucm2/DB410c/HiFi.conf b/ucm2/DB410c/HiFi.conf +deleted file mode 100644 +index 62ddc8e1eb35..000000000000 +--- a/ucm2/DB410c/HiFi.conf ++++ /dev/null +@@ -1,159 +0,0 @@ +-# Use case configuration for DB410c board. +-# Author: Srinivas Kandagatla +- +-SectionDevice."Speaker" { +- Comment "Speaker playback" +- +- ConflictingDevice [ +- "Headphones" +- "Earpiece" +- ] +- +- EnableSequence [ +- cset "name='SPK DAC Switch' 1" +- cset "name='RX3 MIX1 INP1' RX1" +- ## gain to 0dB +- cset "name='RX3 Digital Volume' 128" +- ] +- +- DisableSequence [ +- cset "name='SPK DAC Switch' 0" +- cset "name='RX3 MIX1 INP1' ZERO" +- ] +- +- Value { +- PlaybackPriority 200 +- PlaybackPCM "plughw:${CardId},1" +- } +-} +- +-SectionDevice."Headphones" { +- Comment "Headphones playback" +- +- ConflictingDevice [ +- "Speaker" +- "Earpiece" +- ] +- EnableSequence [ +- cset "name='RX1 MIX1 INP1' RX1" +- cset "name='RX2 MIX1 INP1' RX2" +- cset "name='RDAC2 MUX' RX2" +- cset "name='HPHL' 1" +- cset "name='HPHR' 1" +- ## gain to 0dB +- cset "name='RX1 Digital Volume' 128" +- ## gain to 0dB +- cset "name='RX2 Digital Volume' 128" +- ] +- +- DisableSequence [ +- cset "name='RX1 Digital Volume' 0" +- cset "name='RX2 Digital Volume' 0" +- cset "name='HPHL' 0" +- cset "name='HPHR' 0" +- cset "name='RDAC2 MUX' ZERO" +- cset "name='RX1 MIX1 INP1' ZERO" +- cset "name='RX2 MIX1 INP1' ZERO" +- ] +- +- Value { +- PlaybackPriority 300 +- PlaybackPCM "plughw:${CardId},1" +- } +-} +- +-SectionDevice."Earpiece" { +- Comment "Earpiece playback" +- +- ConflictingDevice [ +- "Speaker" +- "Headphones" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "plughw:${CardId},1" +- } +-} +- +-SectionDevice."Handset" { +- Comment "Headset Microphone" +- +- EnableSequence [ +- cset "name='DEC1 MUX' ADC2" +- cset "name='CIC1 MUX' AMIC" +- cset "name='ADC2 Volume' 8" +- cset "name='ADC2 MUX' INP2" +- ] +- +- DisableSequence [ +- cset "name='ADC2 MUX' ZERO" +- cset "name='ADC2 Volume' 0" +- cset "name='DEC1 MUX' ZERO" +- ] +- +- Value { +- CapturePriority 400 +- CapturePCM "plughw:${CardId},2" +- } +-} +- +-SectionDevice."Mic1" { +- Comment "Primary Microphone" +- +- EnableSequence [ +- cset "name='DEC1 MUX' ADC1" +- cset "name='CIC1 MUX' AMIC" +- cset "name='ADC1 Volume' 8" +- ] +- +- DisableSequence [ +- cset "name='DEC1 MUX' ZERO" +- cset "name='ADC1 Volume' 0" +- ] +- +- Value { +- CapturePriority 300 +- CapturePCM "plughw:${CardId},2" +- } +-} +- +-SectionDevice."Mic2" { +- Comment "Secondary Microphone" +- +- EnableSequence [ +- cset "name='DEC1 MUX' ADC2" +- cset "name='CIC1 MUX' AMIC" +- cset "name='ADC2 Volume' 8" +- cset "name='ADC2 MUX' INP2" +- ] +- +- DisableSequence [ +- cset "name='DEC1 MUX' ZERO" +- cset "name='ADC2 Volume' 0" +- cset "name='ADC2 MUX' ZERO" +- ] +- +- Value { +- CapturePriority 200 +- CapturePCM "plughw:${CardId},2" +- } +-} +- +-SectionDevice."Mic3" { +- Comment "Digital Microphone" +- +- EnableSequence [ +- cset "name='DEC1 MUX' DMIC1" +- cset "name='CIC1 MUX' DMIC" +- ] +- +- DisableSequence [ +- cset "name='DEC1 MUX' ZERO" +- ] +- +- Value { +- CapturePriority 100 +- CapturePCM "plughw:${CardId},2" +- } +-} +diff --git a/ucm2/Qualcomm/apq8016-sbc/HDMI.conf b/ucm2/Qualcomm/apq8016-sbc/HDMI.conf +new file mode 100644 +index 000000000000..3335422f9a90 +--- /dev/null ++++ b/ucm2/Qualcomm/apq8016-sbc/HDMI.conf +@@ -0,0 +1,17 @@ ++# Use case configuration for DB410c board. ++# Author: Srinivas Kandagatla ++ ++SectionVerb { ++ Value { ++ TQ "HiFi" ++ } ++} ++ ++SectionDevice."HDMI" { ++ # Name "HDMI-stereo" ++ Comment "HDMI Digital Stereo Output" ++ Value { ++ PlaybackPriority 200 ++ PlaybackPCM "plughw:${CardId}" ++ } ++} +diff --git a/ucm2/Qualcomm/apq8016-sbc/HiFi.conf b/ucm2/Qualcomm/apq8016-sbc/HiFi.conf +new file mode 100644 +index 000000000000..62ddc8e1eb35 +--- /dev/null ++++ b/ucm2/Qualcomm/apq8016-sbc/HiFi.conf +@@ -0,0 +1,159 @@ ++# Use case configuration for DB410c board. ++# Author: Srinivas Kandagatla ++ ++SectionDevice."Speaker" { ++ Comment "Speaker playback" ++ ++ ConflictingDevice [ ++ "Headphones" ++ "Earpiece" ++ ] ++ ++ EnableSequence [ ++ cset "name='SPK DAC Switch' 1" ++ cset "name='RX3 MIX1 INP1' RX1" ++ ## gain to 0dB ++ cset "name='RX3 Digital Volume' 128" ++ ] ++ ++ DisableSequence [ ++ cset "name='SPK DAC Switch' 0" ++ cset "name='RX3 MIX1 INP1' ZERO" ++ ] ++ ++ Value { ++ PlaybackPriority 200 ++ PlaybackPCM "plughw:${CardId},1" ++ } ++} ++ ++SectionDevice."Headphones" { ++ Comment "Headphones playback" ++ ++ ConflictingDevice [ ++ "Speaker" ++ "Earpiece" ++ ] ++ EnableSequence [ ++ cset "name='RX1 MIX1 INP1' RX1" ++ cset "name='RX2 MIX1 INP1' RX2" ++ cset "name='RDAC2 MUX' RX2" ++ cset "name='HPHL' 1" ++ cset "name='HPHR' 1" ++ ## gain to 0dB ++ cset "name='RX1 Digital Volume' 128" ++ ## gain to 0dB ++ cset "name='RX2 Digital Volume' 128" ++ ] ++ ++ DisableSequence [ ++ cset "name='RX1 Digital Volume' 0" ++ cset "name='RX2 Digital Volume' 0" ++ cset "name='HPHL' 0" ++ cset "name='HPHR' 0" ++ cset "name='RDAC2 MUX' ZERO" ++ cset "name='RX1 MIX1 INP1' ZERO" ++ cset "name='RX2 MIX1 INP1' ZERO" ++ ] ++ ++ Value { ++ PlaybackPriority 300 ++ PlaybackPCM "plughw:${CardId},1" ++ } ++} ++ ++SectionDevice."Earpiece" { ++ Comment "Earpiece playback" ++ ++ ConflictingDevice [ ++ "Speaker" ++ "Headphones" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "plughw:${CardId},1" ++ } ++} ++ ++SectionDevice."Handset" { ++ Comment "Headset Microphone" ++ ++ EnableSequence [ ++ cset "name='DEC1 MUX' ADC2" ++ cset "name='CIC1 MUX' AMIC" ++ cset "name='ADC2 Volume' 8" ++ cset "name='ADC2 MUX' INP2" ++ ] ++ ++ DisableSequence [ ++ cset "name='ADC2 MUX' ZERO" ++ cset "name='ADC2 Volume' 0" ++ cset "name='DEC1 MUX' ZERO" ++ ] ++ ++ Value { ++ CapturePriority 400 ++ CapturePCM "plughw:${CardId},2" ++ } ++} ++ ++SectionDevice."Mic1" { ++ Comment "Primary Microphone" ++ ++ EnableSequence [ ++ cset "name='DEC1 MUX' ADC1" ++ cset "name='CIC1 MUX' AMIC" ++ cset "name='ADC1 Volume' 8" ++ ] ++ ++ DisableSequence [ ++ cset "name='DEC1 MUX' ZERO" ++ cset "name='ADC1 Volume' 0" ++ ] ++ ++ Value { ++ CapturePriority 300 ++ CapturePCM "plughw:${CardId},2" ++ } ++} ++ ++SectionDevice."Mic2" { ++ Comment "Secondary Microphone" ++ ++ EnableSequence [ ++ cset "name='DEC1 MUX' ADC2" ++ cset "name='CIC1 MUX' AMIC" ++ cset "name='ADC2 Volume' 8" ++ cset "name='ADC2 MUX' INP2" ++ ] ++ ++ DisableSequence [ ++ cset "name='DEC1 MUX' ZERO" ++ cset "name='ADC2 Volume' 0" ++ cset "name='ADC2 MUX' ZERO" ++ ] ++ ++ Value { ++ CapturePriority 200 ++ CapturePCM "plughw:${CardId},2" ++ } ++} ++ ++SectionDevice."Mic3" { ++ Comment "Digital Microphone" ++ ++ EnableSequence [ ++ cset "name='DEC1 MUX' DMIC1" ++ cset "name='CIC1 MUX' DMIC" ++ ] ++ ++ DisableSequence [ ++ cset "name='DEC1 MUX' ZERO" ++ ] ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "plughw:${CardId},2" ++ } ++} +diff --git a/ucm2/Qualcomm/apq8016-sbc/apq8016-sbc.conf b/ucm2/Qualcomm/apq8016-sbc/apq8016-sbc.conf +new file mode 100644 +index 000000000000..a0c37c2bcf39 +--- /dev/null ++++ b/ucm2/Qualcomm/apq8016-sbc/apq8016-sbc.conf +@@ -0,0 +1,10 @@ ++Syntax 3 ++ ++SectionUseCase."HiFi" { ++ File "/Qualcomm/apq8016-sbc/HiFi.conf" ++ Comment "Play HiFi quality Music" ++} ++SectionUseCase."HDMI" { ++ File "/Qualcomm/apq8016-sbc/HDMI.conf" ++ Comment "HDMI output" ++} +diff --git a/ucm2/module/snd_soc_apq8016_sbc.conf b/ucm2/module/snd_soc_apq8016_sbc.conf +new file mode 120000 +index 000000000000..c217f6f75f79 +--- /dev/null ++++ b/ucm2/module/snd_soc_apq8016_sbc.conf +@@ -0,0 +1 @@ ++../Qualcomm/apq8016-sbc/apq8016-sbc.conf +\ No newline at end of file +-- +2.16.4 + diff --git a/0022-DB820c-DB845c-move-to-Qualcomm-tree.patch b/0022-DB820c-DB845c-move-to-Qualcomm-tree.patch new file mode 100644 index 0000000..1d61d1c --- /dev/null +++ b/0022-DB820c-DB845c-move-to-Qualcomm-tree.patch @@ -0,0 +1,568 @@ +From 73c105b4707b601de63d1f24641e65e5ac23f3a6 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Thu, 25 Jun 2020 16:55:42 +0200 +Subject: [PATCH 22/51] DB820c/DB845c: move to Qualcomm/ tree + +Signed-off-by: Jaroslav Kysela +--- + ucm2/DB820c/DB820c.conf | 11 ---- + ucm2/DB820c/HDMI.conf | 33 ------------ + ucm2/DB820c/HiFi.conf | 100 ------------------------------------- + ucm2/DB845c/DB845c.conf | 11 ---- + ucm2/DB845c/HDMI.conf | 26 ---------- + ucm2/DB845c/HiFi.conf | 39 --------------- + ucm2/Qualcomm/apq8016/HDMI.conf | 33 ++++++++++++ + ucm2/Qualcomm/apq8016/HiFi.conf | 100 +++++++++++++++++++++++++++++++++++++ + ucm2/Qualcomm/apq8016/apq8016.conf | 11 ++++ + ucm2/Qualcomm/sdm845/HDMI.conf | 26 ++++++++++ + ucm2/Qualcomm/sdm845/HiFi.conf | 39 +++++++++++++++ + ucm2/Qualcomm/sdm845/sdm845.conf | 11 ++++ + ucm2/module/snd_soc_apq8096.conf | 1 + + ucm2/module/snd_soc_sdm845.conf | 1 + + 14 files changed, 222 insertions(+), 220 deletions(-) + delete mode 100644 ucm2/DB820c/DB820c.conf + delete mode 100644 ucm2/DB820c/HDMI.conf + delete mode 100644 ucm2/DB820c/HiFi.conf + delete mode 100644 ucm2/DB845c/DB845c.conf + delete mode 100644 ucm2/DB845c/HDMI.conf + delete mode 100644 ucm2/DB845c/HiFi.conf + create mode 100644 ucm2/Qualcomm/apq8016/HDMI.conf + create mode 100644 ucm2/Qualcomm/apq8016/HiFi.conf + create mode 100644 ucm2/Qualcomm/apq8016/apq8016.conf + create mode 100644 ucm2/Qualcomm/sdm845/HDMI.conf + create mode 100644 ucm2/Qualcomm/sdm845/HiFi.conf + create mode 100644 ucm2/Qualcomm/sdm845/sdm845.conf + create mode 120000 ucm2/module/snd_soc_apq8096.conf + create mode 120000 ucm2/module/snd_soc_sdm845.conf + +diff --git a/ucm2/DB820c/DB820c.conf b/ucm2/DB820c/DB820c.conf +deleted file mode 100644 +index 7eab8aa9bb09..000000000000 +--- a/ucm2/DB820c/DB820c.conf ++++ /dev/null +@@ -1,11 +0,0 @@ +-Syntax 2 +- +-SectionUseCase."HiFi" { +- File "HiFi.conf" +- Comment "HiFi quality Music" +-} +- +-SectionUseCase."HDMI" { +- File "HDMI.conf" +- Comment "HDMI output" +-} +diff --git a/ucm2/DB820c/HDMI.conf b/ucm2/DB820c/HDMI.conf +deleted file mode 100644 +index 5bdf07eac5c9..000000000000 +--- a/ucm2/DB820c/HDMI.conf ++++ /dev/null +@@ -1,33 +0,0 @@ +-# Use case configuration for DB820c board. +-# Author: Srinivas Kandagatla +- +-SectionVerb { +- EnableSequence [ +- cset "name='HDMI Mixer MultiMedia1' 1" +- ] +- +- DisableSequence [ +- cset "name='HDMI Mixer MultiMedia1' 0" +- ] +- +- Value { +- TQ "HiFi" +- } +-} +- +-SectionDevice."HDMI" { +- Comment "HDMI Digital Stereo Output" +- +- EnableSequence [ +- cset "name='HDMI Mixer MultiMedia1' 1" +- ] +- +- DisableSequence [ +- cset "name='HDMI Mixer MultiMedia1' 0" +- ] +- +- Value { +- PlaybackPriority 200 +- PlaybackPCM "plughw:${CardId}" +- } +-} +diff --git a/ucm2/DB820c/HiFi.conf b/ucm2/DB820c/HiFi.conf +deleted file mode 100644 +index 89280d72450c..000000000000 +--- a/ucm2/DB820c/HiFi.conf ++++ /dev/null +@@ -1,100 +0,0 @@ +-# Use case configuration for DB820c board. +-# Author: Srinivas Kandagatla +- +-SectionVerb { +- +- EnableSequence [ +- cset "name='SLIM RX0 MUX' ZERO" +- cset "name='SLIM RX1 MUX' ZERO" +- cset "name='SLIM RX2 MUX' ZERO" +- cset "name='SLIM RX3 MUX' ZERO" +- cset "name='SLIM RX4 MUX' ZERO" +- cset "name='SLIM RX5 MUX' AIF4_PB" +- cset "name='SLIM RX6 MUX' AIF4_PB" +- cset "name='SLIM RX7 MUX' ZERO" +- cset "name='RX INT1_2 MUX' RX5" +- cset "name='RX INT2_2 MUX' RX6" +- ## gain to 0dB +- cset "name='RX5 Digital Volume' 68" +- ## gain to 0dB +- cset "name='RX6 Digital Volume' 68" +- cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 1" +- cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" +- cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT" +- cset "name='RX INT2 DEM MUX' CLSH_DSM_OUT" +- cset "name='AIF1_CAP Mixer SLIM TX0' 1" +- cset "name='SLIM TX0 MUX' DEC0" +- cset "name='ADC2 Volume' 12" +- cset "name='ADC MUX0' AMIC" +- cset "name='AMIC MUX0' ADC2" +- ] +- +- DisableSequence [ +- cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 0" +- cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" +- ] +-} +- +-SectionDevice."Headphones" { +- Comment "Headphones playback" +- +- EnableSequence [ +- cset "name='SLIM RX0 MUX' ZERO" +- cset "name='SLIM RX1 MUX' ZERO" +- cset "name='SLIM RX2 MUX' ZERO" +- cset "name='SLIM RX3 MUX' ZERO" +- cset "name='SLIM RX4 MUX' ZERO" +- cset "name='SLIM RX5 MUX' AIF4_PB" +- cset "name='SLIM RX6 MUX' AIF4_PB" +- cset "name='SLIM RX7 MUX' ZERO" +- cset "name='RX INT1_2 MUX' RX5" +- cset "name='RX INT2_2 MUX' RX6" +- ## gain to 0dB +- cset "name='RX5 Digital Volume' 68" +- ## gain to 0dB +- cset "name='RX6 Digital Volume' 68" +- cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 1" +- cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT" +- cset "name='RX INT2 DEM MUX' CLSH_DSM_OUT" +- ] +- +- DisableSequence [ +- cset "name='RX5 Digital Volume' 0" +- cset "name='RX6 Digital Volume' 0" +- cset "name='SLIM RX5 MUX' ZERO" +- cset "name='SLIM RX6 MUX' ZERO" +- cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 0" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "plughw:${CardId},1" +- } +-} +- +-SectionDevice."Headset" { +- Comment "Headset Microphone" +- +- EnableSequence [ +- cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" +- cset "name='AIF1_CAP Mixer SLIM TX0' 1" +- cset "name='SLIM TX0 MUX' DEC0" +- cset "name='ADC2 Volume' 12" +- cset "name='ADC MUX0' AMIC" +- cset "name='AMIC MUX0' ADC2" +- ] +- +- DisableSequence [ +- cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" +- cset "name='AIF1_CAP Mixer SLIM TX0' 0" +- cset "name='AMIC MUX0' ZERO" +- cset "name='SLIM TX0 MUX' ZERO" +- cset "name='ADC2 Volume' 0" +- ] +- +- Value { +- CapturePriority 100 +- CapturePCM "plughw:${CardId},2" +- CaptureChannels 1 +- } +-} +diff --git a/ucm2/DB845c/DB845c.conf b/ucm2/DB845c/DB845c.conf +deleted file mode 100644 +index 84296d1cee28..000000000000 +--- a/ucm2/DB845c/DB845c.conf ++++ /dev/null +@@ -1,11 +0,0 @@ +-Syntax 3 +- +-SectionUseCase."HiFi" { +- File "HiFi.conf" +- Comment "HiFi quality Music." +-} +- +-SectionUseCase."HDMI" { +- File "HDMI.conf" +- Comment "HDMI output." +-} +diff --git a/ucm2/DB845c/HDMI.conf b/ucm2/DB845c/HDMI.conf +deleted file mode 100644 +index 18448837d5d9..000000000000 +--- a/ucm2/DB845c/HDMI.conf ++++ /dev/null +@@ -1,26 +0,0 @@ +-# Use case configuration for DB845c board. +-# Author: Srinivas Kandagatla +- +-SectionVerb { +- EnableSequence [ +- cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 1" +- ] +- +- DisableSequence [ +- cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 0" +- ] +- +- Value { +- TQ "HiFi" +- } +-} +- +-SectionDevice."HDMI" { +- #Name "HDMI" +- Comment "HDMI Digital Stereo Output" +- +- Value { +- PlaybackPCM "hw:${CardId}" +- PlaybackPriority 200 +- } +-} +diff --git a/ucm2/DB845c/HiFi.conf b/ucm2/DB845c/HiFi.conf +deleted file mode 100644 +index 1ef57c1e6019..000000000000 +--- a/ucm2/DB845c/HiFi.conf ++++ /dev/null +@@ -1,39 +0,0 @@ +-# Use case configuration for DB845c. +-# Author: Srinivas Kandagatla +- +-SectionVerb { +- +- EnableSequence [ +- cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1" +- ] +- +- Include.wcde.File "/codecs/wcd934x/DefaultEnableSeq.conf" +- Include.wsae.File "/codecs/wsa881x/DefaultEnableSeq.conf" +- +- Include.wcdd { +- File "/codecs/wcd934x/DefaultDisableSeq.conf" +- Before.DisableSequence "0" +- } +- +- DisableSequence [ +- cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 0" +- ] +- +- Value { +- TQ "HiFi" +- } +-} +- +-SectionDevice."Speaker" { +- Comment "Speaker playback" +- +- Include.wcde.File "/codecs/wcd934x/SpeakerEnableSeq.conf" +- Include.wsae.File "/codecs/wsa881x/SpeakerEnableSeq.conf" +- Include.wsad.File "/codecs/wsa881x/SpeakerDisableSeq.conf" +- Include.wcdd.File "/codecs/wcd934x/SpeakerDisableSeq.conf" +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId},1" +- } +-} +diff --git a/ucm2/Qualcomm/apq8016/HDMI.conf b/ucm2/Qualcomm/apq8016/HDMI.conf +new file mode 100644 +index 000000000000..5bdf07eac5c9 +--- /dev/null ++++ b/ucm2/Qualcomm/apq8016/HDMI.conf +@@ -0,0 +1,33 @@ ++# Use case configuration for DB820c board. ++# Author: Srinivas Kandagatla ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='HDMI Mixer MultiMedia1' 1" ++ ] ++ ++ DisableSequence [ ++ cset "name='HDMI Mixer MultiMedia1' 0" ++ ] ++ ++ Value { ++ TQ "HiFi" ++ } ++} ++ ++SectionDevice."HDMI" { ++ Comment "HDMI Digital Stereo Output" ++ ++ EnableSequence [ ++ cset "name='HDMI Mixer MultiMedia1' 1" ++ ] ++ ++ DisableSequence [ ++ cset "name='HDMI Mixer MultiMedia1' 0" ++ ] ++ ++ Value { ++ PlaybackPriority 200 ++ PlaybackPCM "plughw:${CardId}" ++ } ++} +diff --git a/ucm2/Qualcomm/apq8016/HiFi.conf b/ucm2/Qualcomm/apq8016/HiFi.conf +new file mode 100644 +index 000000000000..89280d72450c +--- /dev/null ++++ b/ucm2/Qualcomm/apq8016/HiFi.conf +@@ -0,0 +1,100 @@ ++# Use case configuration for DB820c board. ++# Author: Srinivas Kandagatla ++ ++SectionVerb { ++ ++ EnableSequence [ ++ cset "name='SLIM RX0 MUX' ZERO" ++ cset "name='SLIM RX1 MUX' ZERO" ++ cset "name='SLIM RX2 MUX' ZERO" ++ cset "name='SLIM RX3 MUX' ZERO" ++ cset "name='SLIM RX4 MUX' ZERO" ++ cset "name='SLIM RX5 MUX' AIF4_PB" ++ cset "name='SLIM RX6 MUX' AIF4_PB" ++ cset "name='SLIM RX7 MUX' ZERO" ++ cset "name='RX INT1_2 MUX' RX5" ++ cset "name='RX INT2_2 MUX' RX6" ++ ## gain to 0dB ++ cset "name='RX5 Digital Volume' 68" ++ ## gain to 0dB ++ cset "name='RX6 Digital Volume' 68" ++ cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 1" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" ++ cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT" ++ cset "name='RX INT2 DEM MUX' CLSH_DSM_OUT" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 1" ++ cset "name='SLIM TX0 MUX' DEC0" ++ cset "name='ADC2 Volume' 12" ++ cset "name='ADC MUX0' AMIC" ++ cset "name='AMIC MUX0' ADC2" ++ ] ++ ++ DisableSequence [ ++ cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 0" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" ++ ] ++} ++ ++SectionDevice."Headphones" { ++ Comment "Headphones playback" ++ ++ EnableSequence [ ++ cset "name='SLIM RX0 MUX' ZERO" ++ cset "name='SLIM RX1 MUX' ZERO" ++ cset "name='SLIM RX2 MUX' ZERO" ++ cset "name='SLIM RX3 MUX' ZERO" ++ cset "name='SLIM RX4 MUX' ZERO" ++ cset "name='SLIM RX5 MUX' AIF4_PB" ++ cset "name='SLIM RX6 MUX' AIF4_PB" ++ cset "name='SLIM RX7 MUX' ZERO" ++ cset "name='RX INT1_2 MUX' RX5" ++ cset "name='RX INT2_2 MUX' RX6" ++ ## gain to 0dB ++ cset "name='RX5 Digital Volume' 68" ++ ## gain to 0dB ++ cset "name='RX6 Digital Volume' 68" ++ cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 1" ++ cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT" ++ cset "name='RX INT2 DEM MUX' CLSH_DSM_OUT" ++ ] ++ ++ DisableSequence [ ++ cset "name='RX5 Digital Volume' 0" ++ cset "name='RX6 Digital Volume' 0" ++ cset "name='SLIM RX5 MUX' ZERO" ++ cset "name='SLIM RX6 MUX' ZERO" ++ cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 0" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "plughw:${CardId},1" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "Headset Microphone" ++ ++ EnableSequence [ ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 1" ++ cset "name='SLIM TX0 MUX' DEC0" ++ cset "name='ADC2 Volume' 12" ++ cset "name='ADC MUX0' AMIC" ++ cset "name='AMIC MUX0' ADC2" ++ ] ++ ++ DisableSequence [ ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 0" ++ cset "name='AMIC MUX0' ZERO" ++ cset "name='SLIM TX0 MUX' ZERO" ++ cset "name='ADC2 Volume' 0" ++ ] ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "plughw:${CardId},2" ++ CaptureChannels 1 ++ } ++} +diff --git a/ucm2/Qualcomm/apq8016/apq8016.conf b/ucm2/Qualcomm/apq8016/apq8016.conf +new file mode 100644 +index 000000000000..538c7984e180 +--- /dev/null ++++ b/ucm2/Qualcomm/apq8016/apq8016.conf +@@ -0,0 +1,11 @@ ++Syntax 2 ++ ++SectionUseCase."HiFi" { ++ File "/Qualcomm/apq8016/HiFi.conf" ++ Comment "HiFi quality Music" ++} ++ ++SectionUseCase."HDMI" { ++ File "/Qualcomm/apq8016/HDMI.conf" ++ Comment "HDMI output" ++} +diff --git a/ucm2/Qualcomm/sdm845/HDMI.conf b/ucm2/Qualcomm/sdm845/HDMI.conf +new file mode 100644 +index 000000000000..18448837d5d9 +--- /dev/null ++++ b/ucm2/Qualcomm/sdm845/HDMI.conf +@@ -0,0 +1,26 @@ ++# Use case configuration for DB845c board. ++# Author: Srinivas Kandagatla ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 1" ++ ] ++ ++ DisableSequence [ ++ cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 0" ++ ] ++ ++ Value { ++ TQ "HiFi" ++ } ++} ++ ++SectionDevice."HDMI" { ++ #Name "HDMI" ++ Comment "HDMI Digital Stereo Output" ++ ++ Value { ++ PlaybackPCM "hw:${CardId}" ++ PlaybackPriority 200 ++ } ++} +diff --git a/ucm2/Qualcomm/sdm845/HiFi.conf b/ucm2/Qualcomm/sdm845/HiFi.conf +new file mode 100644 +index 000000000000..1ef57c1e6019 +--- /dev/null ++++ b/ucm2/Qualcomm/sdm845/HiFi.conf +@@ -0,0 +1,39 @@ ++# Use case configuration for DB845c. ++# Author: Srinivas Kandagatla ++ ++SectionVerb { ++ ++ EnableSequence [ ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1" ++ ] ++ ++ Include.wcde.File "/codecs/wcd934x/DefaultEnableSeq.conf" ++ Include.wsae.File "/codecs/wsa881x/DefaultEnableSeq.conf" ++ ++ Include.wcdd { ++ File "/codecs/wcd934x/DefaultDisableSeq.conf" ++ Before.DisableSequence "0" ++ } ++ ++ DisableSequence [ ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 0" ++ ] ++ ++ Value { ++ TQ "HiFi" ++ } ++} ++ ++SectionDevice."Speaker" { ++ Comment "Speaker playback" ++ ++ Include.wcde.File "/codecs/wcd934x/SpeakerEnableSeq.conf" ++ Include.wsae.File "/codecs/wsa881x/SpeakerEnableSeq.conf" ++ Include.wsad.File "/codecs/wsa881x/SpeakerDisableSeq.conf" ++ Include.wcdd.File "/codecs/wcd934x/SpeakerDisableSeq.conf" ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId},1" ++ } ++} +diff --git a/ucm2/Qualcomm/sdm845/sdm845.conf b/ucm2/Qualcomm/sdm845/sdm845.conf +new file mode 100644 +index 000000000000..097c1d4e2f2c +--- /dev/null ++++ b/ucm2/Qualcomm/sdm845/sdm845.conf +@@ -0,0 +1,11 @@ ++Syntax 3 ++ ++SectionUseCase."HiFi" { ++ File "/Qualcomm/sdm845/HiFi.conf" ++ Comment "HiFi quality Music." ++} ++ ++SectionUseCase."HDMI" { ++ File "/Qualcomm/sdm845/HDMI.conf" ++ Comment "HDMI output." ++} +diff --git a/ucm2/module/snd_soc_apq8096.conf b/ucm2/module/snd_soc_apq8096.conf +new file mode 120000 +index 000000000000..9afc13c79031 +--- /dev/null ++++ b/ucm2/module/snd_soc_apq8096.conf +@@ -0,0 +1 @@ ++../Qualcomm/apq8016/apq8016.conf +\ No newline at end of file +diff --git a/ucm2/module/snd_soc_sdm845.conf b/ucm2/module/snd_soc_sdm845.conf +new file mode 120000 +index 000000000000..ce04e6a98713 +--- /dev/null ++++ b/ucm2/module/snd_soc_sdm845.conf +@@ -0,0 +1 @@ ++../Qualcomm/sdm845/sdm845.conf +\ No newline at end of file +-- +2.16.4 + diff --git a/0023-PAZ00-tegraalc5632-move-to-Tegra-alc5632-tree.patch b/0023-PAZ00-tegraalc5632-move-to-Tegra-alc5632-tree.patch new file mode 100644 index 0000000..9303623 --- /dev/null +++ b/0023-PAZ00-tegraalc5632-move-to-Tegra-alc5632-tree.patch @@ -0,0 +1,387 @@ +From 8ff2d50745efbb6959324f672460e413f0b618b8 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Thu, 25 Jun 2020 17:01:05 +0200 +Subject: [PATCH 23/51] PAZ00/tegraalc5632: move to Tegra/alc5632 tree + +Signed-off-by: Jaroslav Kysela +--- + ucm2/PAZ00/HiFi.conf | 39 ---------------------- + ucm2/PAZ00/PAZ00.conf | 44 ------------------------- + ucm2/PAZ00/Record.conf | 59 ---------------------------------- + ucm2/Tegra/alc5632/HiFi.conf | 39 ++++++++++++++++++++++ + ucm2/Tegra/alc5632/Record.conf | 59 ++++++++++++++++++++++++++++++++++ + ucm2/Tegra/alc5632/alc5632.conf | 44 +++++++++++++++++++++++++ + ucm2/module/snd_soc_tegra_alc5632.conf | 1 + + ucm2/tegraalc5632/tegraalc5632.conf | 25 -------------- + 8 files changed, 143 insertions(+), 167 deletions(-) + delete mode 100644 ucm2/PAZ00/HiFi.conf + delete mode 100644 ucm2/PAZ00/PAZ00.conf + delete mode 100644 ucm2/PAZ00/Record.conf + create mode 100644 ucm2/Tegra/alc5632/HiFi.conf + create mode 100644 ucm2/Tegra/alc5632/Record.conf + create mode 100644 ucm2/Tegra/alc5632/alc5632.conf + create mode 120000 ucm2/module/snd_soc_tegra_alc5632.conf + delete mode 100644 ucm2/tegraalc5632/tegraalc5632.conf + +diff --git a/ucm2/PAZ00/HiFi.conf b/ucm2/PAZ00/HiFi.conf +deleted file mode 100644 +index e3136a76a512..000000000000 +--- a/ucm2/PAZ00/HiFi.conf ++++ /dev/null +@@ -1,39 +0,0 @@ +-SectionVerb { +- EnableSequence [ +- cset "name='Speaker Playback Switch' on" +- cset "name='Int Spk Switch' on" +- cset "name='Speaker Mix DAC2SPK Playback Switch' on" +- ] +- DisableSequence [ +- cset "name='Speaker Playback Switch' off" +- cset "name='Int Spk Switch' off" +- cset "name='Speaker Mix DAC2SPK Playback Switch' off" +- ] +-} +- +-SectionDevice."Headset" { +- Comment "3.5mm Headset" +- +- EnableSequence [ +- # Internal speaker +- cset "name='Int Spk Switch' off" +- +- # Headphones +- cset "name='Headphone Playback Switch' on" +- cset "name='HPL Mix DACL2HP Playback Switch' on" +- cset "name='HPR Mix DACR2HP Playback Switch' on" +- ] +- DisableSequence [ +- # Headphones +- cset "name='Headphone Playback Switch' off" +- cset "name='HPL Mix DACL2HP Playback Switch' off" +- cset "name='HPR Mix DACR2HP Playback Switch' off" +- +- # Internal speaker +- cset "name='Int Spk Switch' on" +- ] +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId}" +- } +-} +diff --git a/ucm2/PAZ00/PAZ00.conf b/ucm2/PAZ00/PAZ00.conf +deleted file mode 100644 +index d999bd0af8b1..000000000000 +--- a/ucm2/PAZ00/PAZ00.conf ++++ /dev/null +@@ -1,44 +0,0 @@ +-Syntax 2 +- +-Comment "PAZ00 alc5632" +- +-BootSequence [ +- cset "name='Master Playback Switch' on" +- cset "name='Master Playback Volume' 44,44" +- cset "name='Headphone Playback Volume' 21,21" +- cset "name='Speaker Playback Volume' 21,21" +- cset "name='SpeakerOut Mux' 2" +- cset "name='SpeakerOut N Mux' LN/-R" +- cset "name='AB-D Amp Mux' 0" +- cset "name='Left Headphone Mux' 1" +- cset "name='Right Headphone Mux' 1" +- cset "name='DMIC Boost Capture Volume' 4" +- cset "name='Rec Capture Volume' 24" +- +- # Fix external mic record volumes +- cset "name='Mic 1 Boost Volume' 0" +- cset "name='Mic 2 Boost Volume' 0" +- cset "name='Mic1 Playback Volume' 0" +- cset "name='Mic2 Playback Volume' 0" +- cset "name='Rec Capture Volume' 0" +- +- # Enable internal speaker +- cset "name='Speaker Playback Switch' on" +- cset "name='Int Spk Switch' on" +- cset "name='Speaker Mix DAC2SPK Playback Switch' on" +- +- # Enable DMIC +- cset "name='DMICL Mix DMICL2ADC Capture Switch' on" +- cset "name='DMIC En Capture Switch' on" +- cset "name='DMIC PreFilter Capture Switch' on" +-] +- +-SectionUseCase."HiFi" { +- File "HiFi.conf" +- Comment "Music playback" +-} +- +-SectionUseCase."Record" { +- File "Record.conf" +- Comment "Playback and capture" +-} +diff --git a/ucm2/PAZ00/Record.conf b/ucm2/PAZ00/Record.conf +deleted file mode 100644 +index 15b8164c6454..000000000000 +--- a/ucm2/PAZ00/Record.conf ++++ /dev/null +@@ -1,59 +0,0 @@ +-SectionVerb { +- EnableSequence [ +- cset "name='Speaker Playback Switch' on" +- cset "name='Int Spk Switch' on" +- cset "name='Speaker Mix DAC2SPK Playback Switch' on" +- +- cset "name='DMICL Mix DMICL2ADC Capture Switch' on" +- cset "name='DMIC En Capture Switch' on" +- cset "name='DMIC PreFilter Capture Switch' on" +- ] +- DisableSequence [ +- cset "name='Speaker Playback Switch' off" +- cset "name='Int Spk Switch' off" +- cset "name='Speaker Mix DAC2SPK Playback Switch' off" +- +- cset "name='DMICL Mix DMICL2ADC Capture Switch' off" +- cset "name='DMIC En Capture Switch' off" +- cset "name='DMIC PreFilter Capture Switch' off" +- ] +-} +- +-SectionDevice."Headset" { +- Comment "3.5mm Headset" +- +- EnableSequence [ +- # Internal speaker +- cset "name='Int Spk Switch' off" +- +- # Internal mic +- cset "name='DMIC En Capture Switch' off" +- +- # Headphones +- cset "name='Headphone Playback Switch' on" +- cset "name='HPL Mix DACL2HP Playback Switch' on" +- cset "name='HPR Mix DACR2HP Playback Switch' on" +- +- # External min +- cset "name='Left Capture Mix MIC12REC_L Capture Switch' on" +- ] +- DisableSequence [ +- # Headphones +- cset "name='Headphone Playback Switch' off" +- cset "name='HPL Mix DACL2HP Playback Switch' off" +- cset "name='HPR Mix DACR2HP Playback Switch' off" +- +- # External mic +- cset "name='Left Capture Mix MIC12REC_L Capture Switch' on" +- +- # Internal speaker +- cset "name='Int Spk Switch' on" +- +- # Internal mic +- cset "name='DMIC En Capture Switch' on" +- ] +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId}" +- } +-} +diff --git a/ucm2/Tegra/alc5632/HiFi.conf b/ucm2/Tegra/alc5632/HiFi.conf +new file mode 100644 +index 000000000000..e3136a76a512 +--- /dev/null ++++ b/ucm2/Tegra/alc5632/HiFi.conf +@@ -0,0 +1,39 @@ ++SectionVerb { ++ EnableSequence [ ++ cset "name='Speaker Playback Switch' on" ++ cset "name='Int Spk Switch' on" ++ cset "name='Speaker Mix DAC2SPK Playback Switch' on" ++ ] ++ DisableSequence [ ++ cset "name='Speaker Playback Switch' off" ++ cset "name='Int Spk Switch' off" ++ cset "name='Speaker Mix DAC2SPK Playback Switch' off" ++ ] ++} ++ ++SectionDevice."Headset" { ++ Comment "3.5mm Headset" ++ ++ EnableSequence [ ++ # Internal speaker ++ cset "name='Int Spk Switch' off" ++ ++ # Headphones ++ cset "name='Headphone Playback Switch' on" ++ cset "name='HPL Mix DACL2HP Playback Switch' on" ++ cset "name='HPR Mix DACR2HP Playback Switch' on" ++ ] ++ DisableSequence [ ++ # Headphones ++ cset "name='Headphone Playback Switch' off" ++ cset "name='HPL Mix DACL2HP Playback Switch' off" ++ cset "name='HPR Mix DACR2HP Playback Switch' off" ++ ++ # Internal speaker ++ cset "name='Int Spk Switch' on" ++ ] ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId}" ++ } ++} +diff --git a/ucm2/Tegra/alc5632/Record.conf b/ucm2/Tegra/alc5632/Record.conf +new file mode 100644 +index 000000000000..15b8164c6454 +--- /dev/null ++++ b/ucm2/Tegra/alc5632/Record.conf +@@ -0,0 +1,59 @@ ++SectionVerb { ++ EnableSequence [ ++ cset "name='Speaker Playback Switch' on" ++ cset "name='Int Spk Switch' on" ++ cset "name='Speaker Mix DAC2SPK Playback Switch' on" ++ ++ cset "name='DMICL Mix DMICL2ADC Capture Switch' on" ++ cset "name='DMIC En Capture Switch' on" ++ cset "name='DMIC PreFilter Capture Switch' on" ++ ] ++ DisableSequence [ ++ cset "name='Speaker Playback Switch' off" ++ cset "name='Int Spk Switch' off" ++ cset "name='Speaker Mix DAC2SPK Playback Switch' off" ++ ++ cset "name='DMICL Mix DMICL2ADC Capture Switch' off" ++ cset "name='DMIC En Capture Switch' off" ++ cset "name='DMIC PreFilter Capture Switch' off" ++ ] ++} ++ ++SectionDevice."Headset" { ++ Comment "3.5mm Headset" ++ ++ EnableSequence [ ++ # Internal speaker ++ cset "name='Int Spk Switch' off" ++ ++ # Internal mic ++ cset "name='DMIC En Capture Switch' off" ++ ++ # Headphones ++ cset "name='Headphone Playback Switch' on" ++ cset "name='HPL Mix DACL2HP Playback Switch' on" ++ cset "name='HPR Mix DACR2HP Playback Switch' on" ++ ++ # External min ++ cset "name='Left Capture Mix MIC12REC_L Capture Switch' on" ++ ] ++ DisableSequence [ ++ # Headphones ++ cset "name='Headphone Playback Switch' off" ++ cset "name='HPL Mix DACL2HP Playback Switch' off" ++ cset "name='HPR Mix DACR2HP Playback Switch' off" ++ ++ # External mic ++ cset "name='Left Capture Mix MIC12REC_L Capture Switch' on" ++ ++ # Internal speaker ++ cset "name='Int Spk Switch' on" ++ ++ # Internal mic ++ cset "name='DMIC En Capture Switch' on" ++ ] ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${CardId}" ++ } ++} +diff --git a/ucm2/Tegra/alc5632/alc5632.conf b/ucm2/Tegra/alc5632/alc5632.conf +new file mode 100644 +index 000000000000..57c64e3551db +--- /dev/null ++++ b/ucm2/Tegra/alc5632/alc5632.conf +@@ -0,0 +1,44 @@ ++Syntax 2 ++ ++Comment "PAZ00 alc5632" ++ ++BootSequence [ ++ cset "name='Master Playback Switch' on" ++ cset "name='Master Playback Volume' 44,44" ++ cset "name='Headphone Playback Volume' 21,21" ++ cset "name='Speaker Playback Volume' 21,21" ++ cset "name='SpeakerOut Mux' 2" ++ cset "name='SpeakerOut N Mux' LN/-R" ++ cset "name='AB-D Amp Mux' 0" ++ cset "name='Left Headphone Mux' 1" ++ cset "name='Right Headphone Mux' 1" ++ cset "name='DMIC Boost Capture Volume' 4" ++ cset "name='Rec Capture Volume' 24" ++ ++ # Fix external mic record volumes ++ cset "name='Mic 1 Boost Volume' 0" ++ cset "name='Mic 2 Boost Volume' 0" ++ cset "name='Mic1 Playback Volume' 0" ++ cset "name='Mic2 Playback Volume' 0" ++ cset "name='Rec Capture Volume' 0" ++ ++ # Enable internal speaker ++ cset "name='Speaker Playback Switch' on" ++ cset "name='Int Spk Switch' on" ++ cset "name='Speaker Mix DAC2SPK Playback Switch' on" ++ ++ # Enable DMIC ++ cset "name='DMICL Mix DMICL2ADC Capture Switch' on" ++ cset "name='DMIC En Capture Switch' on" ++ cset "name='DMIC PreFilter Capture Switch' on" ++] ++ ++SectionUseCase."HiFi" { ++ File "/Tegra/alc5632/HiFi.conf" ++ Comment "Music playback" ++} ++ ++SectionUseCase."Record" { ++ File "/Tegra/alc5632/Record.conf" ++ Comment "Playback and capture" ++} +diff --git a/ucm2/module/snd_soc_tegra_alc5632.conf b/ucm2/module/snd_soc_tegra_alc5632.conf +new file mode 120000 +index 000000000000..8685001f661a +--- /dev/null ++++ b/ucm2/module/snd_soc_tegra_alc5632.conf +@@ -0,0 +1 @@ ++../Tegra/alc5632/alc5632.conf +\ No newline at end of file +diff --git a/ucm2/tegraalc5632/tegraalc5632.conf b/ucm2/tegraalc5632/tegraalc5632.conf +deleted file mode 100644 +index ecc934a2a5fc..000000000000 +--- a/ucm2/tegraalc5632/tegraalc5632.conf ++++ /dev/null +@@ -1,25 +0,0 @@ +-# UCM configuration for tegra-alc5632 +- +-Syntax 2 +- +-SectionDefaults [ +- cset "name='Master Playback Switch' on" +- cset "name='Master Playback Volume' 44,44" +- cset "name='Headphone Playback Switch' on" +- cset "name='Headphone Playback Volume' 21,21" +- cset "name='Speaker Playback Switch' on" +- cset "name='Speaker Playback Volume' 21,21" +- cset "name='Speaker Mix DAC2SPK Playback Switch' on" +- cset "name='SpeakerOut Mux' 2" +- cset "name='SpeakerOut N Mux' LN/-R" +- cset "name='AB-D Amp Mux' 0" +- cset "name='HPL Mix DACL2HP Playback Switch' on" +- cset "name='HPR Mix DACR2HP Playback Switch' on" +- cset "name='Int Spk Switch' on" +- cset "name='Left Headphone Mux' 1" +- cset "name='Right Headphone Mux' 1" +- cset "name='DMIC En Capture Switch' on" +- cset "name='DMIC PreFilter Capture Switch' on" +- cset "name='DMIC Boost Capture Volume' 4" +- cset "name='Rec Capture Volume' 24" +-] +-- +2.16.4 + diff --git a/0024-VEYRON-I2C-move-to-Rockchip-max98090-tree.patch b/0024-VEYRON-I2C-move-to-Rockchip-max98090-tree.patch new file mode 100644 index 0000000..1589071 --- /dev/null +++ b/0024-VEYRON-I2C-move-to-Rockchip-max98090-tree.patch @@ -0,0 +1,308 @@ +From 8069e4df01bd5d18b78110e0aa3f0f149683f62a Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Thu, 25 Jun 2020 17:05:25 +0200 +Subject: [PATCH 24/51] VEYRON-I2C: move to Rockchip/max98090 tree + +Signed-off-by: Jaroslav Kysela +--- + ucm2/Rockchip/max98090/HiFi.conf | 119 +++++++++++++++++++++++++++++ + ucm2/Rockchip/max98090/max98090.conf | 8 ++ + ucm2/VEYRON-I2S/HiFi.conf | 119 ----------------------------- + ucm2/VEYRON-I2S/VEYRON-I2S.conf | 8 -- + ucm2/module/snd_soc_rockchip_max98090.conf | 1 + + 5 files changed, 128 insertions(+), 127 deletions(-) + create mode 100644 ucm2/Rockchip/max98090/HiFi.conf + create mode 100644 ucm2/Rockchip/max98090/max98090.conf + delete mode 100644 ucm2/VEYRON-I2S/HiFi.conf + delete mode 100644 ucm2/VEYRON-I2S/VEYRON-I2S.conf + create mode 120000 ucm2/module/snd_soc_rockchip_max98090.conf + +diff --git a/ucm2/Rockchip/max98090/HiFi.conf b/ucm2/Rockchip/max98090/HiFi.conf +new file mode 100644 +index 000000000000..bed87c54cbd9 +--- /dev/null ++++ b/ucm2/Rockchip/max98090/HiFi.conf +@@ -0,0 +1,119 @@ ++SectionVerb { ++ Value { ++ MinBufferLevel "512" ++ } ++ ++ EnableSequence [ ++ cset "name='Left Speaker Mixer Left DAC Switch' on" ++ cset "name='Right Speaker Mixer Right DAC Switch' on" ++ cset "name='Headphone Left Switch' off" ++ cset "name='Headphone Right Switch' off" ++ cset "name='Digital EQ 3 Band Switch' off" ++ cset "name='Digital EQ 5 Band Switch' off" ++ cset "name='Digital EQ 7 Band Switch' off" ++ cset "name='Biquad Switch' off" ++ cset "name='Filter Mode' Music" ++ cset "name='ADC Oversampling Rate' 0" ++ ++ cset "name='DMIC Mux' DMIC" ++ cset "name='MIC2 Mux' IN34" ++ cset "name='Right ADC Mixer MIC2 Switch' on" ++ cset "name='Left ADC Mixer MIC2 Switch' on" ++ cset "name='MIC2 Volume' 20" ++ cset "name='Headset Mic Switch' off" ++ cset "name='Int Mic Switch' on" ++ ++ cset "name='ADCR Boost Volume' 4" ++ cset "name='ADCL Boost Volume' 4" ++ cset "name='ADCR Volume' 11" ++ cset "name='ADCL Volume' 11" ++ ++ cset "name='Left Speaker Mixer Left DAC Switch' on" ++ cset "name='Right Speaker Mixer Right DAC Switch' on" ++ cset "name='Speaker Left Mixer Volume' 2" ++ cset "name='Speaker Right Mixer Volume' 2" ++ cset "name='Record Path DC Blocking' on" ++ cset "name='Playback Path DC Blocking' on" ++ ++ cset "name='Speaker Left Switch' on" ++ cset "name='Speaker Right Switch' on" ++ cset "name='Speaker Switch' on" ++ ] ++} ++ ++SectionDevice."Speaker" { ++ Comment "Speaker" ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId}" ++ } ++ ++ EnableSequence [ ++ cset "name='Speaker Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='Speaker Switch' off" ++ ] ++} ++ ++SectionDevice."Mic" { ++ Comment "Internal Microphone" ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${CardId}" ++ } ++ ++ EnableSequence [ ++ cset "name='Int Mic Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='Int Mic Switch' off" ++ ] ++} ++ ++SectionDevice."Headphones" { ++ Comment "Headphones" ++ ++ Value { ++ PlaybackPriority 200 ++ PlaybackPCM "hw:${CardId}" ++ } ++ ++ EnableSequence [ ++ cset "name='Speaker Switch' off" ++ cset "name='Headphone Left Switch' on" ++ cset "name='Headphone Right Switch' on" ++ ] ++ DisableSequence [ ++ cset "name='Headphone Left Switch' off" ++ cset "name='Headphone Right Switch' off" ++ cset "name='Speaker Switch' on" ++ ] ++} ++ ++SectionDevice."Headset" { ++ Comment "Headset Microphone" ++ ++ Value { ++ CapturePriority 200 ++ CapturePCM "hw:${CardId}" ++ } ++ ++ EnableSequence [ ++ cset "name='Int Mic Switch' off" ++ cset "name='DMIC Mux' ADC" ++ cset "name='Headset Mic Switch' on" ++ cset "name='Record Path DC Blocking' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='Headset Mic Switch' off" ++ cset "name='DMIC Mux' DMIC" ++ cset "name='Int Mic Switch' on" ++ cset "name='Record Path DC Blocking' off" ++ ] ++} +diff --git a/ucm2/Rockchip/max98090/max98090.conf b/ucm2/Rockchip/max98090/max98090.conf +new file mode 100644 +index 000000000000..9e482a07fd58 +--- /dev/null ++++ b/ucm2/Rockchip/max98090/max98090.conf +@@ -0,0 +1,8 @@ ++Syntax 2 ++ ++Comment "Rockchip Veyron card" ++ ++SectionUseCase."HiFi" { ++ File "/Rockchip/max98090/HiFi.conf" ++ Comment "Default" ++} +diff --git a/ucm2/VEYRON-I2S/HiFi.conf b/ucm2/VEYRON-I2S/HiFi.conf +deleted file mode 100644 +index bed87c54cbd9..000000000000 +--- a/ucm2/VEYRON-I2S/HiFi.conf ++++ /dev/null +@@ -1,119 +0,0 @@ +-SectionVerb { +- Value { +- MinBufferLevel "512" +- } +- +- EnableSequence [ +- cset "name='Left Speaker Mixer Left DAC Switch' on" +- cset "name='Right Speaker Mixer Right DAC Switch' on" +- cset "name='Headphone Left Switch' off" +- cset "name='Headphone Right Switch' off" +- cset "name='Digital EQ 3 Band Switch' off" +- cset "name='Digital EQ 5 Band Switch' off" +- cset "name='Digital EQ 7 Band Switch' off" +- cset "name='Biquad Switch' off" +- cset "name='Filter Mode' Music" +- cset "name='ADC Oversampling Rate' 0" +- +- cset "name='DMIC Mux' DMIC" +- cset "name='MIC2 Mux' IN34" +- cset "name='Right ADC Mixer MIC2 Switch' on" +- cset "name='Left ADC Mixer MIC2 Switch' on" +- cset "name='MIC2 Volume' 20" +- cset "name='Headset Mic Switch' off" +- cset "name='Int Mic Switch' on" +- +- cset "name='ADCR Boost Volume' 4" +- cset "name='ADCL Boost Volume' 4" +- cset "name='ADCR Volume' 11" +- cset "name='ADCL Volume' 11" +- +- cset "name='Left Speaker Mixer Left DAC Switch' on" +- cset "name='Right Speaker Mixer Right DAC Switch' on" +- cset "name='Speaker Left Mixer Volume' 2" +- cset "name='Speaker Right Mixer Volume' 2" +- cset "name='Record Path DC Blocking' on" +- cset "name='Playback Path DC Blocking' on" +- +- cset "name='Speaker Left Switch' on" +- cset "name='Speaker Right Switch' on" +- cset "name='Speaker Switch' on" +- ] +-} +- +-SectionDevice."Speaker" { +- Comment "Speaker" +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId}" +- } +- +- EnableSequence [ +- cset "name='Speaker Switch' on" +- ] +- +- DisableSequence [ +- cset "name='Speaker Switch' off" +- ] +-} +- +-SectionDevice."Mic" { +- Comment "Internal Microphone" +- +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId}" +- } +- +- EnableSequence [ +- cset "name='Int Mic Switch' on" +- ] +- +- DisableSequence [ +- cset "name='Int Mic Switch' off" +- ] +-} +- +-SectionDevice."Headphones" { +- Comment "Headphones" +- +- Value { +- PlaybackPriority 200 +- PlaybackPCM "hw:${CardId}" +- } +- +- EnableSequence [ +- cset "name='Speaker Switch' off" +- cset "name='Headphone Left Switch' on" +- cset "name='Headphone Right Switch' on" +- ] +- DisableSequence [ +- cset "name='Headphone Left Switch' off" +- cset "name='Headphone Right Switch' off" +- cset "name='Speaker Switch' on" +- ] +-} +- +-SectionDevice."Headset" { +- Comment "Headset Microphone" +- +- Value { +- CapturePriority 200 +- CapturePCM "hw:${CardId}" +- } +- +- EnableSequence [ +- cset "name='Int Mic Switch' off" +- cset "name='DMIC Mux' ADC" +- cset "name='Headset Mic Switch' on" +- cset "name='Record Path DC Blocking' on" +- ] +- +- DisableSequence [ +- cset "name='Headset Mic Switch' off" +- cset "name='DMIC Mux' DMIC" +- cset "name='Int Mic Switch' on" +- cset "name='Record Path DC Blocking' off" +- ] +-} +diff --git a/ucm2/VEYRON-I2S/VEYRON-I2S.conf b/ucm2/VEYRON-I2S/VEYRON-I2S.conf +deleted file mode 100644 +index 670f15b821e0..000000000000 +--- a/ucm2/VEYRON-I2S/VEYRON-I2S.conf ++++ /dev/null +@@ -1,8 +0,0 @@ +-Syntax 2 +- +-Comment "Rockchip Veyron card" +- +-SectionUseCase."HiFi" { +- File "HiFi.conf" +- Comment "Default" +-} +diff --git a/ucm2/module/snd_soc_rockchip_max98090.conf b/ucm2/module/snd_soc_rockchip_max98090.conf +new file mode 120000 +index 000000000000..10efb8a1442f +--- /dev/null ++++ b/ucm2/module/snd_soc_rockchip_max98090.conf +@@ -0,0 +1 @@ ++../Rockchip/max98090/max98090.conf +\ No newline at end of file +-- +2.16.4 + diff --git a/0025-Pandaboard-ES-move-to-OMAP-abe-twl6040-tree.patch b/0025-Pandaboard-ES-move-to-OMAP-abe-twl6040-tree.patch new file mode 100644 index 0000000..9a02cd6 --- /dev/null +++ b/0025-Pandaboard-ES-move-to-OMAP-abe-twl6040-tree.patch @@ -0,0 +1,1239 @@ +From 634e84bb5f5630140c3be4eb30347de2af44128c Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Thu, 25 Jun 2020 17:09:56 +0200 +Subject: [PATCH 25/51] Pandaboard(ES): move to OMAP/abe-twl6040 tree + +Signed-off-by: Jaroslav Kysela +--- + ucm2/OMAP/abe-twl6040/FMAnalog.conf | 45 +++++++++++++++++++++ + ucm2/OMAP/abe-twl6040/HiFi.conf | 56 ++++++++++++++++++++++++++ + ucm2/OMAP/abe-twl6040/HiFiLP.conf | 46 +++++++++++++++++++++ + ucm2/OMAP/abe-twl6040/Record.conf | 47 ++++++++++++++++++++++ + ucm2/OMAP/abe-twl6040/Voice.conf | 46 +++++++++++++++++++++ + ucm2/OMAP/abe-twl6040/VoiceCall.conf | 67 +++++++++++++++++++++++++++++++ + ucm2/OMAP/abe-twl6040/abe-twl6040.conf | 43 ++++++++++++++++++++ + ucm2/PandaBoard/FMAnalog.conf | 45 --------------------- + ucm2/PandaBoard/HiFi.conf | 56 -------------------------- + ucm2/PandaBoard/HiFiLP.conf | 46 --------------------- + ucm2/PandaBoard/PandaBoard.conf | 43 -------------------- + ucm2/PandaBoard/Record.conf | 47 ---------------------- + ucm2/PandaBoard/Voice.conf | 46 --------------------- + ucm2/PandaBoard/VoiceCall.conf | 67 ------------------------------- + ucm2/PandaBoardES/FMAnalog.conf | 45 --------------------- + ucm2/PandaBoardES/HiFi.conf | 56 -------------------------- + ucm2/PandaBoardES/HiFiLP.conf | 46 --------------------- + ucm2/PandaBoardES/PandaBoardES.conf | 43 -------------------- + ucm2/PandaBoardES/Record.conf | 46 --------------------- + ucm2/PandaBoardES/Voice.conf | 46 --------------------- + ucm2/PandaBoardES/VoiceCall.conf | 67 ------------------------------- + ucm2/module/snd_soc_omap_abe_twl6040.conf | 1 + + 22 files changed, 351 insertions(+), 699 deletions(-) + create mode 100644 ucm2/OMAP/abe-twl6040/FMAnalog.conf + create mode 100644 ucm2/OMAP/abe-twl6040/HiFi.conf + create mode 100644 ucm2/OMAP/abe-twl6040/HiFiLP.conf + create mode 100644 ucm2/OMAP/abe-twl6040/Record.conf + create mode 100644 ucm2/OMAP/abe-twl6040/Voice.conf + create mode 100644 ucm2/OMAP/abe-twl6040/VoiceCall.conf + create mode 100644 ucm2/OMAP/abe-twl6040/abe-twl6040.conf + delete mode 100644 ucm2/PandaBoard/FMAnalog.conf + delete mode 100644 ucm2/PandaBoard/HiFi.conf + delete mode 100644 ucm2/PandaBoard/HiFiLP.conf + delete mode 100644 ucm2/PandaBoard/PandaBoard.conf + delete mode 100644 ucm2/PandaBoard/Record.conf + delete mode 100644 ucm2/PandaBoard/Voice.conf + delete mode 100644 ucm2/PandaBoard/VoiceCall.conf + delete mode 100644 ucm2/PandaBoardES/FMAnalog.conf + delete mode 100644 ucm2/PandaBoardES/HiFi.conf + delete mode 100644 ucm2/PandaBoardES/HiFiLP.conf + delete mode 100644 ucm2/PandaBoardES/PandaBoardES.conf + delete mode 100644 ucm2/PandaBoardES/Record.conf + delete mode 100644 ucm2/PandaBoardES/Voice.conf + delete mode 100644 ucm2/PandaBoardES/VoiceCall.conf + create mode 120000 ucm2/module/snd_soc_omap_abe_twl6040.conf + +diff --git a/ucm2/OMAP/abe-twl6040/FMAnalog.conf b/ucm2/OMAP/abe-twl6040/FMAnalog.conf +new file mode 100644 +index 000000000000..fa819771d6a1 +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/FMAnalog.conf +@@ -0,0 +1,45 @@ ++# Use case Configurationfor TI PandaBoard(ES) HiFi Music ++# By Liam Girdwood ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='AMIC_UL PDM Switch' 1" ++ cset "name='MUX_UL00' 9" ++ cset "name='MUX_UL01' 10" ++ cset "name='Capture Volume' 4" ++ ] ++ ++ ++ DisableSequence [ ++ cset "name='AMIC_UL PDM Switch' 0" ++ cset "name='MUX_UL00' 0" ++ cset "name='MUX_UL01' 0" ++ cset "name='Capture Volume' 0" ++ ] ++ ++ # Optional TQ ++ Value { ++ TQ "Music" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "3.5mm Headset" ++ ++ EnableSequence [ ++ cset "name='Analog Left Capture Route' 2" ++ cset "name='Analog Right Capture Route' 2" ++ cset "name='Capture Preamplifier Volume' 2" ++ ] ++ ++ DisableSequence [ ++ cset "name='Analog Left Capture Route' 3" ++ cset "name='Analog Right Capture Route' 3" ++ cset "name='Capture Preamplifier Volume' 0" ++ ] ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${CardId}" ++ } ++} +diff --git a/ucm2/OMAP/abe-twl6040/HiFi.conf b/ucm2/OMAP/abe-twl6040/HiFi.conf +new file mode 100644 +index 000000000000..597c32621c81 +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/HiFi.conf +@@ -0,0 +1,56 @@ ++# Use case Configuration for TI PandaBoard(ES) HiFi Music ++# By Liam Girdwood ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='DL1 Mixer Multimedia' 1" ++ cset "name='Sidetone Mixer Playback' 1" ++ cset "name='DL1 PDM Switch' 1" ++ cset "name='DL1 Media Playback Volume' 90,90" ++ cset "name='SDT DL Volume' 120" ++ ++ cset "name='Headset Left Playback' 1" ++ cset "name='Headset Right Playback' 1" ++ cset "name='Headset Playback Volume' 13" ++ ] ++ ++ DisableSequence [ ++ cset "name='DL1 Mixer Multimedia' 0" ++ cset "name='Sidetone Mixer Playback' 0" ++ cset "name='DL1 PDM Switch' 0" ++ cset "name='DL1 Media Playback Volume' 0,0" ++ cset "name='SDT DL Volume' 0" ++ ++ cset "name='Headset Right Playback' 0" ++ cset "name='Headset Left Playback' 0" ++ cset "name='Headset Playback Volume' 0" ++ ] ++ ++ # Optional TQ ++ Value { ++ TQ "Music" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "3.5mm Headset" ++ ++ EnableSequence [ ++ cset "name='Headset Left Playback' 1" ++ cset "name='Headset Right Playback' 1" ++ cset "name='Headset Playback Volume' 13" ++ ] ++ ++ DisableSequence [ ++ cset "name='Headset Right Playback' 0" ++ cset "name='Headset Left Playback' 0" ++ cset "name='Headset Playback Volume' 0" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId}" ++ # PlaybackVolume "name='DL1 Media Playback Volume' 90,90" ++ # PlaybackSwitch "name='DL1 PDM Switch' 1" ++ } ++} +diff --git a/ucm2/OMAP/abe-twl6040/HiFiLP.conf b/ucm2/OMAP/abe-twl6040/HiFiLP.conf +new file mode 100644 +index 000000000000..481f2384daf5 +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/HiFiLP.conf +@@ -0,0 +1,46 @@ ++# Use case Configuration for TI PandaBoard(ES) HiFi Music ++# By Liam Girdwood ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='DL1 Mixer Multimedia' 1" ++ cset "name='Sidetone Mixer Playback' 1" ++ cset "name='DL1 PDM Switch' 1" ++ cset "name='DL1 Media Playback Volume' 90,90" ++ cset "name='SDT DL Volume' 120" ++ ] ++ ++ DisableSequence [ ++ cset "name='DL1 Mixer Multimedia' 0" ++ cset "name='Sidetone Mixer Playback' 0" ++ cset "name='DL1 PDM Switch' 0" ++ cset "name='DL1 Media Playback Volume' 0,0" ++ cset "name='SDT DL Volume' 0" ++ ] ++ ++ # Optional TQ ++ Value { ++ TQ "Music" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "3.5mm Headset" ++ ++ EnableSequence [ ++ cset "name='Headset Left Playback' 1" ++ cset "name='Headset Right Playback' 1" ++ cset "name='Headset Playback Volume' 13" ++ ] ++ ++ DisableSequence [ ++ cset "name='Headset Right Playback' 0" ++ cset "name='Headset Left Playback' 0" ++ cset "name='Headset Playback Volume' 0" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId},6" ++ } ++} +diff --git a/ucm2/OMAP/abe-twl6040/Record.conf b/ucm2/OMAP/abe-twl6040/Record.conf +new file mode 100644 +index 000000000000..042e5cea53ee +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/Record.conf +@@ -0,0 +1,47 @@ ++# Use case Configuration for TI PandaBoard(ES) HiFi Music ++# By Liam Girdwood ++ ++SectionVerb { ++ EnableSequence [ ++ # No more AMIC PDM Switch in current kernels ++ #cset "name='AMIC_UL PDM Switch' 1" ++ cset "name='MUX_UL00' 9" ++ cset "name='MUX_UL01' 10" ++ cset "name='Capture Volume' 4" ++ ] ++ ++ DisableSequence [ ++ # No more AMIC PDM Switch in current kernels ++ #cset "name='AMIC_UL PDM Switch' 0" ++ cset "name='MUX_UL00' 0" ++ cset "name='MUX_UL01' 0" ++ cset "name='Capture Volume' 0" ++ ] ++ ++ # Optional TQ ++ Value { ++ TQ "Music" ++ } ++ ++} ++ ++SectionDevice."Headset" { ++ Comment "3.5mm Headset" ++ ++ EnableSequence [ ++ cset "name='Analog Left Capture Route' 0" ++ cset "name='Analog Right Capture Route' 0" ++ cset "name='Capture Preamplifier Volume' 2" ++ ] ++ ++ DisableSequence [ ++ cset "name='Analog Left Capture Route' 3" ++ cset "name='Analog Right Capture Route' 3" ++ cset "name='Capture Preamplifier Volume' 0" ++ ] ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${CardId}" ++ } ++} +diff --git a/ucm2/OMAP/abe-twl6040/Voice.conf b/ucm2/OMAP/abe-twl6040/Voice.conf +new file mode 100644 +index 000000000000..3eaffb4f1e73 +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/Voice.conf +@@ -0,0 +1,46 @@ ++# Use case Configuration for TI PandaBoard(ES) HiFi Music ++# By Liam Girdwood ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='DL1 Mixer Voice' 1" ++ cset "name='Sidetone Mixer Playback' 1" ++ cset "name='DL1 PDM Switch' 1" ++ cset "name='DL1 Voice Playback Volume' 90,90" ++ cset "name='SDT DL Volume' 120" ++ ] ++ ++ DisableSequence [ ++ cset "name='DL1 Mixer Voice' 0" ++ cset "name='Sidetone Mixer Playback' 0" ++ cset "name='DL1 PDM Switch' 0" ++ cset "name='DL1 Voice Playback Volume' 0,0" ++ cset "name='SDT DL Volume' 0" ++ ] ++ ++ # Optional TQ ++ Value { ++ TQ "Voice" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "3.5mm Headset" ++ ++ EnableSequence [ ++ cset "name='Headset Left Playback' 1" ++ cset "name='Headset Right Playback' 1" ++ cset "name='Headset Playback Volume' 13" ++ ] ++ ++ DisableSequence [ ++ cset "name='Headset Right Playback' 0" ++ cset "name='Headset Left Playback' 0" ++ cset "name='Headset Playback Volume' 0" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId},2" ++ } ++} +diff --git a/ucm2/OMAP/abe-twl6040/VoiceCall.conf b/ucm2/OMAP/abe-twl6040/VoiceCall.conf +new file mode 100644 +index 000000000000..4e82e7af093c +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/VoiceCall.conf +@@ -0,0 +1,67 @@ ++# Use case Configuration for TI PandaBoard(ES) HiFi Music ++# By Liam Girdwood ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='AMIC_UL PDM Switch' 1" ++ cset "name='Sidetone Mixer Capture' 1" ++ cset "name='MUX_VX0' 9" ++ cset "name='MUX_VX1' 10" ++ cset "name='DL1 Mixer Voice' 1" ++ cset "name='Sidetone Mixer Playback' 1" ++ cset "name='DL1 PDM Switch' 1" ++ cset "name='DL1 Voice Playback Volume' 90,90" ++ cset "name='Capture Volume' 4" ++ cset "name='Capture Mixer Voice Capture' 90,90" ++ cset "name='SDT DL Volume' 120" ++ ] ++ ++ ++ DisableSequence [ ++ cset "name='AMIC_UL PDM Switch' 0" ++ cset "name='Sidetone Mixer Capture' 0" ++ cset "name='MUX_VX0' 0" ++ cset "name='MUX_VX1' 0" ++ cset "name='DL1 Mixer Voice' 0" ++ cset "name='Sidetone Mixer Playback' 0" ++ cset "name='DL1 PDM Switch' 0" ++ cset "name='DL1 Voice Playback Volume' 0,0" ++ cset "name='Capture Volume' 0" ++ cset "name='DL1 Voice Playback Volume' 0,0" ++ cset "name='SDT DL Volume' 0" ++ ] ++ ++ # Optional TQ ++ Value { ++ TQ "Voice" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "3.5mm Headset" ++ ++ EnableSequence [ ++ cset "name='Analog Left Capture Route' 0" ++ cset "name='Analog Right Capture Route' 0" ++ cset "name='Capture Preamplifier Volume' 2" ++ cset "name='Headset Left Playback' 1" ++ cset "name='Headset Right Playback' 1" ++ cset "name='Headset Playback Volume' 13" ++ ] ++ ++ DisableSequence [ ++ cset "name='Analog Left Capture Route' 3" ++ cset "name='Analog Right Capture Route' 3" ++ cset "name='Capture Preamplifier Volume' 0" ++ cset "name='Headset Right Playback' 0" ++ cset "name='Headset Left Playback' 0" ++ cset "name='Headset Playback Volume' 0" ++ ] ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${CardId},2" ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId},2" ++ } ++} +diff --git a/ucm2/OMAP/abe-twl6040/abe-twl6040.conf b/ucm2/OMAP/abe-twl6040/abe-twl6040.conf +new file mode 100644 +index 000000000000..199408f875fd +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/abe-twl6040.conf +@@ -0,0 +1,43 @@ ++# UCM configuration for PandaBoard(ES) ++ ++Syntax 2 ++ ++SectionUseCase."Record" { ++ File "/OMAP/abe-twl6040/Record.conf" ++ Comment "Record" ++} ++ ++SectionUseCase."HiFi" { ++ File "/OMAP/abe-twl6040/HiFi.conf" ++ Comment "Play HiFi quality Music" ++} ++ ++SectionUseCase."HiFi_Low_Power" { ++ File "/OMAP/abe-twl6040/HiFiLP.conf" ++ Comment "Play HiFi quality Music in Low Power Mode" ++} ++ ++SectionUseCase."Voice" { ++ File "/OMAP/abe-twl6040/Voice.conf" ++ Comment "Playback Voice quality" ++} ++ ++SectionUseCase."Voice_Low_Power" { ++ File "/OMAP/abe-twl6040/Voice.conf" ++ Comment "Playback Voice quality in Low Power Mode" ++} ++ ++SectionUseCase."Voice_Call" { ++ File "/OMAP/abe-twl6040/VoiceCall.conf" ++ Comment "Capture and Playback in Voice quality" ++} ++ ++SectionUseCase."Voice_Call_IP" { ++ File "/OMAP/abe-twl6040/VoiceCall.conf" ++ Comment "Capture and Playback in Voice quality" ++} ++ ++SectionUseCase."FM_Analog_Radio" { ++ File "/OMAP/abe-twl6040/FMAnalog.conf" ++ Comment "Capture FM Analog Radio" ++} +diff --git a/ucm2/PandaBoard/FMAnalog.conf b/ucm2/PandaBoard/FMAnalog.conf +deleted file mode 100644 +index 1764de9da81c..000000000000 +--- a/ucm2/PandaBoard/FMAnalog.conf ++++ /dev/null +@@ -1,45 +0,0 @@ +-# Use case Configurationfor TI PandaBoard HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='AMIC_UL PDM Switch' 1" +- cset "name='MUX_UL00' 9" +- cset "name='MUX_UL01' 10" +- cset "name='Capture Volume' 4" +- ] +- +- +- DisableSequence [ +- cset "name='AMIC_UL PDM Switch' 0" +- cset "name='MUX_UL00' 0" +- cset "name='MUX_UL01' 0" +- cset "name='Capture Volume' 0" +- ] +- +- # Optional TQ +- Value { +- TQ "Music" +- } +-} +- +-SectionDevice."Headset" { +- Comment "PandaBoard 3.5mm Headset" +- +- EnableSequence [ +- cset "name='Analog Left Capture Route' 2" +- cset "name='Analog Right Capture Route' 2" +- cset "name='Capture Preamplifier Volume' 2" +- ] +- +- DisableSequence [ +- cset "name='Analog Left Capture Route' 3" +- cset "name='Analog Right Capture Route' 3" +- cset "name='Capture Preamplifier Volume' 0" +- ] +- +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId}" +- } +-} +diff --git a/ucm2/PandaBoard/HiFi.conf b/ucm2/PandaBoard/HiFi.conf +deleted file mode 100644 +index 5420fa6e26a0..000000000000 +--- a/ucm2/PandaBoard/HiFi.conf ++++ /dev/null +@@ -1,56 +0,0 @@ +-# Use case Configuration for TI PandaBoard HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='DL1 Mixer Multimedia' 1" +- cset "name='Sidetone Mixer Playback' 1" +- cset "name='DL1 PDM Switch' 1" +- cset "name='DL1 Media Playback Volume' 90,90" +- cset "name='SDT DL Volume' 120" +- +- cset "name='Headset Left Playback' 1" +- cset "name='Headset Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='DL1 Mixer Multimedia' 0" +- cset "name='Sidetone Mixer Playback' 0" +- cset "name='DL1 PDM Switch' 0" +- cset "name='DL1 Media Playback Volume' 0,0" +- cset "name='SDT DL Volume' 0" +- +- cset "name='Headset Right Playback' 0" +- cset "name='Headset Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- # Optional TQ +- Value { +- TQ "Music" +- } +-} +- +-SectionDevice."Headset" { +- Comment "PandaBoard 3.5mm Headset" +- +- EnableSequence [ +- cset "name='Headset Left Playback' 1" +- cset "name='Headset Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='Headset Right Playback' 0" +- cset "name='Headset Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId}" +- # PlaybackVolume "name='DL1 Media Playback Volume' 90,90" +- # PlaybackSwitch "name='DL1 PDM Switch' 1" +- } +-} +diff --git a/ucm2/PandaBoard/HiFiLP.conf b/ucm2/PandaBoard/HiFiLP.conf +deleted file mode 100644 +index 45c828949e20..000000000000 +--- a/ucm2/PandaBoard/HiFiLP.conf ++++ /dev/null +@@ -1,46 +0,0 @@ +-# Use case Configuration for TI PandaBoard HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='DL1 Mixer Multimedia' 1" +- cset "name='Sidetone Mixer Playback' 1" +- cset "name='DL1 PDM Switch' 1" +- cset "name='DL1 Media Playback Volume' 90,90" +- cset "name='SDT DL Volume' 120" +- ] +- +- DisableSequence [ +- cset "name='DL1 Mixer Multimedia' 0" +- cset "name='Sidetone Mixer Playback' 0" +- cset "name='DL1 PDM Switch' 0" +- cset "name='DL1 Media Playback Volume' 0,0" +- cset "name='SDT DL Volume' 0" +- ] +- +- # Optional TQ +- Value { +- TQ "Music" +- } +-} +- +-SectionDevice."Headset" { +- Comment "PandaBoard 3.5mm Headset" +- +- EnableSequence [ +- cset "name='Headset Left Playback' 1" +- cset "name='Headset Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='Headset Right Playback' 0" +- cset "name='Headset Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId},6" +- } +-} +diff --git a/ucm2/PandaBoard/PandaBoard.conf b/ucm2/PandaBoard/PandaBoard.conf +deleted file mode 100644 +index b7fbba14219c..000000000000 +--- a/ucm2/PandaBoard/PandaBoard.conf ++++ /dev/null +@@ -1,43 +0,0 @@ +-# UCM configuration for PandaBoard +- +-Syntax 2 +- +-SectionUseCase."Record" { +- File "Record.conf" +- Comment "Record" +-} +- +-SectionUseCase."HiFi" { +- File "HiFi.conf" +- Comment "Play HiFi quality Music" +-} +- +-SectionUseCase."HiFi_Low_Power" { +- File "HiFiLP.conf" +- Comment "Play HiFi quality Music in Low Power Mode" +-} +- +-SectionUseCase."Voice" { +- File "Voice.conf" +- Comment "Playback Voice quality" +-} +- +-SectionUseCase."Voice_Low_Power" { +- File "Voice.conf" +- Comment "Playback Voice quality in Low Power Mode" +-} +- +-SectionUseCase."Voice_Call" { +- File "VoiceCall.conf" +- Comment "Capture and Playback in Voice quality" +-} +- +-SectionUseCase."Voice_Call_IP" { +- File "VoiceCall.conf" +- Comment "Capture and Playback in Voice quality" +-} +- +-SectionUseCase."FM_Analog_Radio" { +- File "FMAnalog.conf" +- Comment "Capture FM Analog Radio" +-} +diff --git a/ucm2/PandaBoard/Record.conf b/ucm2/PandaBoard/Record.conf +deleted file mode 100644 +index 4a3e477cac7c..000000000000 +--- a/ucm2/PandaBoard/Record.conf ++++ /dev/null +@@ -1,47 +0,0 @@ +-# Use case Configuration for TI PandaBoard HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- # No more AMIC PDM Switch in current kernels +- #cset "name='AMIC_UL PDM Switch' 1" +- cset "name='MUX_UL00' 9" +- cset "name='MUX_UL01' 10" +- cset "name='Capture Volume' 4" +- ] +- +- DisableSequence [ +- # No more AMIC PDM Switch in current kernels +- #cset "name='AMIC_UL PDM Switch' 0" +- cset "name='MUX_UL00' 0" +- cset "name='MUX_UL01' 0" +- cset "name='Capture Volume' 0" +- ] +- +- # Optional TQ +- Value { +- TQ "Music" +- } +- +-} +- +-SectionDevice."Headset" { +- Comment "PandaBoard 3.5mm Headset" +- +- EnableSequence [ +- cset "name='Analog Left Capture Route' 0" +- cset "name='Analog Right Capture Route' 0" +- cset "name='Capture Preamplifier Volume' 2" +- ] +- +- DisableSequence [ +- cset "name='Analog Left Capture Route' 3" +- cset "name='Analog Right Capture Route' 3" +- cset "name='Capture Preamplifier Volume' 0" +- ] +- +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId}" +- } +-} +diff --git a/ucm2/PandaBoard/Voice.conf b/ucm2/PandaBoard/Voice.conf +deleted file mode 100644 +index 59cf13c3c632..000000000000 +--- a/ucm2/PandaBoard/Voice.conf ++++ /dev/null +@@ -1,46 +0,0 @@ +-# Use case Configuration for TI PandaBoard HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='DL1 Mixer Voice' 1" +- cset "name='Sidetone Mixer Playback' 1" +- cset "name='DL1 PDM Switch' 1" +- cset "name='DL1 Voice Playback Volume' 90,90" +- cset "name='SDT DL Volume' 120" +- ] +- +- DisableSequence [ +- cset "name='DL1 Mixer Voice' 0" +- cset "name='Sidetone Mixer Playback' 0" +- cset "name='DL1 PDM Switch' 0" +- cset "name='DL1 Voice Playback Volume' 0,0" +- cset "name='SDT DL Volume' 0" +- ] +- +- # Optional TQ +- Value { +- TQ "Voice" +- } +-} +- +-SectionDevice."Headset" { +- Comment "PandaBoard 3.5mm Headset" +- +- EnableSequence [ +- cset "name='Headset Left Playback' 1" +- cset "name='Headset Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='Headset Right Playback' 0" +- cset "name='Headset Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId},2" +- } +-} +diff --git a/ucm2/PandaBoard/VoiceCall.conf b/ucm2/PandaBoard/VoiceCall.conf +deleted file mode 100644 +index e92af35c2711..000000000000 +--- a/ucm2/PandaBoard/VoiceCall.conf ++++ /dev/null +@@ -1,67 +0,0 @@ +-# Use case Configuration for TI PandaBoard HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='AMIC_UL PDM Switch' 1" +- cset "name='Sidetone Mixer Capture' 1" +- cset "name='MUX_VX0' 9" +- cset "name='MUX_VX1' 10" +- cset "name='DL1 Mixer Voice' 1" +- cset "name='Sidetone Mixer Playback' 1" +- cset "name='DL1 PDM Switch' 1" +- cset "name='DL1 Voice Playback Volume' 90,90" +- cset "name='Capture Volume' 4" +- cset "name='Capture Mixer Voice Capture' 90,90" +- cset "name='SDT DL Volume' 120" +- ] +- +- +- DisableSequence [ +- cset "name='AMIC_UL PDM Switch' 0" +- cset "name='Sidetone Mixer Capture' 0" +- cset "name='MUX_VX0' 0" +- cset "name='MUX_VX1' 0" +- cset "name='DL1 Mixer Voice' 0" +- cset "name='Sidetone Mixer Playback' 0" +- cset "name='DL1 PDM Switch' 0" +- cset "name='DL1 Voice Playback Volume' 0,0" +- cset "name='Capture Volume' 0" +- cset "name='DL1 Voice Playback Volume' 0,0" +- cset "name='SDT DL Volume' 0" +- ] +- +- # Optional TQ +- Value { +- TQ "Voice" +- } +-} +- +-SectionDevice."Headset" { +- Comment "PandaBoard 3.5mm Headset" +- +- EnableSequence [ +- cset "name='Analog Left Capture Route' 0" +- cset "name='Analog Right Capture Route' 0" +- cset "name='Capture Preamplifier Volume' 2" +- cset "name='Headset Left Playback' 1" +- cset "name='Headset Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='Analog Left Capture Route' 3" +- cset "name='Analog Right Capture Route' 3" +- cset "name='Capture Preamplifier Volume' 0" +- cset "name='Headset Right Playback' 0" +- cset "name='Headset Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId},2" +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId},2" +- } +-} +diff --git a/ucm2/PandaBoardES/FMAnalog.conf b/ucm2/PandaBoardES/FMAnalog.conf +deleted file mode 100644 +index e7eef1f3be48..000000000000 +--- a/ucm2/PandaBoardES/FMAnalog.conf ++++ /dev/null +@@ -1,45 +0,0 @@ +-# Use case Configurationfor TI PandaBoardES HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='AMIC_UL PDM Switch' 1" +- cset "name='MUX_UL00' 9" +- cset "name='MUX_UL01' 10" +- cset "name='Capture Volume' 4" +- ] +- +- +- DisableSequence [ +- cset "name='AMIC_UL PDM Switch' 0" +- cset "name='MUX_UL00' 0" +- cset "name='MUX_UL01' 0" +- cset "name='Capture Volume' 0" +- ] +- +- # Optional TQ +- Value { +- TQ "Music" +- } +-} +- +-SectionDevice."Headset" { +- Comment "PandaBoardES 3.5mm Headset" +- +- EnableSequence [ +- cset "name='Analog Left Capture Route' 2" +- cset "name='Analog Right Capture Route' 2" +- cset "name='Capture Preamplifier Volume' 2" +- ] +- +- DisableSequence [ +- cset "name='Analog Left Capture Route' 3" +- cset "name='Analog Right Capture Route' 3" +- cset "name='Capture Preamplifier Volume' 0" +- ] +- +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId}" +- } +-} +diff --git a/ucm2/PandaBoardES/HiFi.conf b/ucm2/PandaBoardES/HiFi.conf +deleted file mode 100644 +index 99b3cb440e37..000000000000 +--- a/ucm2/PandaBoardES/HiFi.conf ++++ /dev/null +@@ -1,56 +0,0 @@ +-# Use case Configuration for TI PandaBoardES HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='DL1 Mixer Multimedia' 1" +- cset "name='Sidetone Mixer Playback' 1" +- cset "name='DL1 PDM Switch' 1" +- cset "name='DL1 Media Playback Volume' 90,90" +- cset "name='SDT DL Volume' 120" +- +- cset "name='Headset Left Playback' 1" +- cset "name='Headset Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='DL1 Mixer Multimedia' 0" +- cset "name='Sidetone Mixer Playback' 0" +- cset "name='DL1 PDM Switch' 0" +- cset "name='DL1 Media Playback Volume' 0,0" +- cset "name='SDT DL Volume' 0" +- +- cset "name='Headset Right Playback' 0" +- cset "name='Headset Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- # Optional TQ +- Value { +- TQ "Music" +- } +-} +- +-SectionDevice."Headset" { +- Comment "PandaBoardES 3.5mm Headset" +- +- EnableSequence [ +- cset "name='Headset Left Playback' 1" +- cset "name='Headset Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='Headset Right Playback' 0" +- cset "name='Headset Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId}" +- # PlaybackVolume "name='DL1 Media Playback Volume' 90,90" +- # PlaybackSwitch "name='DL1 PDM Switch' 1" +- } +-} +diff --git a/ucm2/PandaBoardES/HiFiLP.conf b/ucm2/PandaBoardES/HiFiLP.conf +deleted file mode 100644 +index ccde316ca66c..000000000000 +--- a/ucm2/PandaBoardES/HiFiLP.conf ++++ /dev/null +@@ -1,46 +0,0 @@ +-# Use case Configuration for TI PandaBoardES HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='DL1 Mixer Multimedia' 1" +- cset "name='Sidetone Mixer Playback' 1" +- cset "name='DL1 PDM Switch' 1" +- cset "name='DL1 Media Playback Volume' 90,90" +- cset "name='SDT DL Volume' 120" +- ] +- +- DisableSequence [ +- cset "name='DL1 Mixer Multimedia' 0" +- cset "name='Sidetone Mixer Playback' 0" +- cset "name='DL1 PDM Switch' 0" +- cset "name='DL1 Media Playback Volume' 0,0" +- cset "name='SDT DL Volume' 0" +- ] +- +- # Optional TQ +- Value { +- TQ "Music" +- } +-} +- +-SectionDevice."Headset" { +- Comment "PandaBoardES 3.5mm Headset" +- +- EnableSequence [ +- cset "name='Headset Left Playback' 1" +- cset "name='Headset Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='Headset Right Playback' 0" +- cset "name='Headset Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId},6" +- } +-} +diff --git a/ucm2/PandaBoardES/PandaBoardES.conf b/ucm2/PandaBoardES/PandaBoardES.conf +deleted file mode 100644 +index 946c2cff7cef..000000000000 +--- a/ucm2/PandaBoardES/PandaBoardES.conf ++++ /dev/null +@@ -1,43 +0,0 @@ +-# UCM configuration for PandaBoardES +- +-Syntax 2 +- +-SectionUseCase."Record" { +- File "Record.conf" +- Comment "Record" +-} +- +-SectionUseCase."HiFi" { +- File "HiFi.conf" +- Comment "Play HiFi quality Music" +-} +- +-SectionUseCase."HiFi_Low_Power" { +- File "HiFiLP.conf" +- Comment "Play HiFi quality Music in Low Power Mode" +-} +- +-SectionUseCase."Voice" { +- File "Voice.conf" +- Comment "Playback Voice quality." +-} +- +-SectionUseCase."Voice_Low_Power" { +- File "Voice.conf" +- Comment "Playback Voice quality in Low Power Mode" +-} +- +-SectionUseCase."Voice_Call" { +- File "VoiceCall.conf" +- Comment "Capture and Playback in Voice quality" +-} +- +-SectionUseCase."Voice_Call_IP" { +- File "VoiceCall.conf" +- Comment "Capture and Playback in Voice quality" +-} +- +-SectionUseCase."FM_Analog_Radio" { +- File "FMAnalog.conf" +- Comment "Capture FM Analog Radio" +-} +diff --git a/ucm2/PandaBoardES/Record.conf b/ucm2/PandaBoardES/Record.conf +deleted file mode 100644 +index 15cb311bfa22..000000000000 +--- a/ucm2/PandaBoardES/Record.conf ++++ /dev/null +@@ -1,46 +0,0 @@ +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- # No more AMIC PDM Switch in current kernels +- #cset "name='AMIC_UL PDM Switch' 1" +- cset "name='MUX_UL00' 9" +- cset "name='MUX_UL01' 10" +- cset "name='Capture Volume' 4" +- ] +- +- DisableSequence [ +- # No more AMIC PDM Switch in current kernels +- #cset "name='AMIC_UL PDM Switch' 0" +- cset "name='MUX_UL00' 0" +- cset "name='MUX_UL01' 0" +- cset "name='Capture Volume' 0" +- ] +- +- # Optional TQ +- Value { +- TQ "Music" +- } +- +-} +- +-SectionDevice."Headset" { +- Comment "PandaBoardES 3.5mm Headset" +- +- EnableSequence [ +- cset "name='Analog Left Capture Route' 0" +- cset "name='Analog Right Capture Route' 0" +- cset "name='Capture Preamplifier Volume' 2" +- ] +- +- DisableSequence [ +- cset "name='Analog Left Capture Route' 3" +- cset "name='Analog Right Capture Route' 3" +- cset "name='Capture Preamplifier Volume' 0" +- ] +- +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId}" +- } +-} +diff --git a/ucm2/PandaBoardES/Voice.conf b/ucm2/PandaBoardES/Voice.conf +deleted file mode 100644 +index b290d75996d1..000000000000 +--- a/ucm2/PandaBoardES/Voice.conf ++++ /dev/null +@@ -1,46 +0,0 @@ +-# Use case Configuration for TI PandaBoardES HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='DL1 Mixer Voice' 1" +- cset "name='Sidetone Mixer Playback' 1" +- cset "name='DL1 PDM Switch' 1" +- cset "name='DL1 Voice Playback Volume' 90,90" +- cset "name='SDT DL Volume' 120" +- ] +- +- DisableSequence [ +- cset "name='DL1 Mixer Voice' 0" +- cset "name='Sidetone Mixer Playback' 0" +- cset "name='DL1 PDM Switch' 0" +- cset "name='DL1 Voice Playback Volume' 0,0" +- cset "name='SDT DL Volume' 0" +- ] +- +- # Optional TQ +- Value { +- TQ "Voice" +- } +-} +- +-SectionDevice."Headset" { +- Comment "PandaBoardES 3.5mm Headset" +- +- EnableSequence [ +- cset "name='Headset Left Playback' 1" +- cset "name='Headset Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='Headset Right Playback' 0" +- cset "name='Headset Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId},2" +- } +-} +diff --git a/ucm2/PandaBoardES/VoiceCall.conf b/ucm2/PandaBoardES/VoiceCall.conf +deleted file mode 100644 +index ce3991b505aa..000000000000 +--- a/ucm2/PandaBoardES/VoiceCall.conf ++++ /dev/null +@@ -1,67 +0,0 @@ +-# Use case Configuration for TI PandaBoardES HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='AMIC_UL PDM Switch' 1" +- cset "name='Sidetone Mixer Capture' 1" +- cset "name='MUX_VX0' 9" +- cset "name='MUX_VX1' 10" +- cset "name='DL1 Mixer Voice' 1" +- cset "name='Sidetone Mixer Playback' 1" +- cset "name='DL1 PDM Switch' 1" +- cset "name='DL1 Voice Playback Volume' 90,90" +- cset "name='Capture Volume' 4" +- cset "name='Capture Mixer Voice Capture' 90,90" +- cset "name='SDT DL Volume' 120" +- ] +- +- +- DisableSequence [ +- cset "name='AMIC_UL PDM Switch' 0" +- cset "name='Sidetone Mixer Capture' 0" +- cset "name='MUX_VX0' 0" +- cset "name='MUX_VX1' 0" +- cset "name='DL1 Mixer Voice' 0" +- cset "name='Sidetone Mixer Playback' 0" +- cset "name='DL1 PDM Switch' 0" +- cset "name='DL1 Voice Playback Volume' 0,0" +- cset "name='Capture Volume' 0" +- cset "name='DL1 Voice Playback Volume' 0,0" +- cset "name='SDT DL Volume' 0" +- ] +- +- # Optional TQ and ALSA PCMs +- Value { +- TQ "Voice" +- } +-} +- +-SectionDevice."Headset" { +- Comment "PandaBoardES 3.5mm Headset" +- +- EnableSequence [ +- cset "name='Analog Left Capture Route' 0" +- cset "name='Analog Right Capture Route' 0" +- cset "name='Capture Preamplifier Volume' 2" +- cset "name='Headset Left Playback' 1" +- cset "name='Headset Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='Analog Left Capture Route' 3" +- cset "name='Analog Right Capture Route' 3" +- cset "name='Capture Preamplifier Volume' 0" +- cset "name='Headset Right Playback' 0" +- cset "name='Headset Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId},2" +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId},2" +- } +-} +diff --git a/ucm2/module/snd_soc_omap_abe_twl6040.conf b/ucm2/module/snd_soc_omap_abe_twl6040.conf +new file mode 120000 +index 000000000000..0e70a9e351a0 +--- /dev/null ++++ b/ucm2/module/snd_soc_omap_abe_twl6040.conf +@@ -0,0 +1 @@ ++../OMAP/abe-twl6040/abe-twl6040.conf +\ No newline at end of file +-- +2.16.4 + diff --git a/0026-GoogleNyan-move-to-Tegra-max98090.patch b/0026-GoogleNyan-move-to-Tegra-max98090.patch new file mode 100644 index 0000000..2226d64 --- /dev/null +++ b/0026-GoogleNyan-move-to-Tegra-max98090.patch @@ -0,0 +1,212 @@ +From b2110f65246c8442002294125d1f0314728f93de Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Thu, 25 Jun 2020 17:32:40 +0200 +Subject: [PATCH 26/51] GoogleNyan: move to Tegra/max98090 + +Signed-off-by: Jaroslav Kysela +--- + ucm2/GoogleNyan/GoogleNyan.conf | 6 --- + ucm2/GoogleNyan/HiFi.conf | 73 --------------------------------- + ucm2/Tegra/max98090/HiFi.conf | 73 +++++++++++++++++++++++++++++++++ + ucm2/Tegra/max98090/max98090.conf | 6 +++ + ucm2/module/snd_soc_tegra_max98090.conf | 1 + + 5 files changed, 80 insertions(+), 79 deletions(-) + delete mode 100644 ucm2/GoogleNyan/GoogleNyan.conf + delete mode 100644 ucm2/GoogleNyan/HiFi.conf + create mode 100644 ucm2/Tegra/max98090/HiFi.conf + create mode 100644 ucm2/Tegra/max98090/max98090.conf + create mode 120000 ucm2/module/snd_soc_tegra_max98090.conf + +diff --git a/ucm2/GoogleNyan/GoogleNyan.conf b/ucm2/GoogleNyan/GoogleNyan.conf +deleted file mode 100644 +index 33f22cc80aec..000000000000 +--- a/ucm2/GoogleNyan/GoogleNyan.conf ++++ /dev/null +@@ -1,6 +0,0 @@ +-Syntax 2 +-Comment "Nyan internal card" +-SectionUseCase."HiFi" { +- File "HiFi.conf" +- Comment "Default" +-} +diff --git a/ucm2/GoogleNyan/HiFi.conf b/ucm2/GoogleNyan/HiFi.conf +deleted file mode 100644 +index 542859160b4c..000000000000 +--- a/ucm2/GoogleNyan/HiFi.conf ++++ /dev/null +@@ -1,73 +0,0 @@ +-SectionVerb { +- EnableSequence [ +- cset "name='Left Speaker Mixer Left DAC Switch' on" +- cset "name='Right Speaker Mixer Right DAC Switch' on" +- cset "name='Headphone Left Switch' on" +- cset "name='Headphone Right Switch' on" +- cset "name='Digital EQ 3 Band Switch' off" +- cset "name='Digital EQ 5 Band Switch' off" +- cset "name='Digital EQ 7 Band Switch' off" +- cset "name='Biquad Switch' off" +- cset "name='Filter Mode' Music" +- cset "name='ADC Oversampling Rate' 0" +- cset "name='DMIC Mux' DMIC" +- cset "name='MIC2 Mux' IN34" +- cset "name='Right ADC Mixer MIC2 Switch' on" +- cset "name='Left ADC Mixer MIC2 Switch' on" +- cset "name='MIC2 Volume' 10" +- cset "name='MIC2 Boost Volume' 0" +- cset "name='Mic Jack Switch' off" +- cset "name='Int Mic Switch' on" +- cset "name='ADCR Boost Volume' 4" +- cset "name='ADCL Boost Volume' 4" +- cset "name='ADCR Volume' 11" +- cset "name='ADCL Volume' 11" +- cset "name='Left Speaker Mixer Left DAC Switch' on" +- cset "name='Right Speaker Mixer Right DAC Switch' on" +- cset "name='Speaker Left Mixer Volume' 2" +- cset "name='Speaker Right Mixer Volume' 2" +- cset "name='Record Path DC Blocking' on" +- cset "name='Playback Path DC Blocking' on" +- cset "name='Headphone Left Switch' on" +- cset "name='Headphone Right Switch' on" +- cset "name='Headphones Switch' off" +- cset "name='Speaker Left Switch' on" +- cset "name='Speaker Right Switch' on" +- cset "name='Speakers Switch' on" +- ] +-} +- +-SectionDevice."Headphones" { +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId}" +- } +- EnableSequence [ +- cset "name='Speakers Switch' off" +- cset "name='Headphones Switch' on" +- ] +- DisableSequence [ +- cset "name='Headphones Switch' off" +- cset "name='Speakers Switch' on" +- ] +-} +- +-SectionDevice."Mic" { +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId}" +- #CaptureControl "MIC2" +- } +- EnableSequence [ +- cset "name='Int Mic Switch' off" +- cset "name='DMIC Mux' ADC" +- cset "name='Mic Jack Switch' on" +- cset "name='Record Path DC Blocking' on" +- ] +- DisableSequence [ +- cset "name='Mic Jack Switch' off" +- cset "name='DMIC Mux' DMIC" +- cset "name='Int Mic Switch' on" +- cset "name='Record Path DC Blocking' off" +- ] +-} +diff --git a/ucm2/Tegra/max98090/HiFi.conf b/ucm2/Tegra/max98090/HiFi.conf +new file mode 100644 +index 000000000000..542859160b4c +--- /dev/null ++++ b/ucm2/Tegra/max98090/HiFi.conf +@@ -0,0 +1,73 @@ ++SectionVerb { ++ EnableSequence [ ++ cset "name='Left Speaker Mixer Left DAC Switch' on" ++ cset "name='Right Speaker Mixer Right DAC Switch' on" ++ cset "name='Headphone Left Switch' on" ++ cset "name='Headphone Right Switch' on" ++ cset "name='Digital EQ 3 Band Switch' off" ++ cset "name='Digital EQ 5 Band Switch' off" ++ cset "name='Digital EQ 7 Band Switch' off" ++ cset "name='Biquad Switch' off" ++ cset "name='Filter Mode' Music" ++ cset "name='ADC Oversampling Rate' 0" ++ cset "name='DMIC Mux' DMIC" ++ cset "name='MIC2 Mux' IN34" ++ cset "name='Right ADC Mixer MIC2 Switch' on" ++ cset "name='Left ADC Mixer MIC2 Switch' on" ++ cset "name='MIC2 Volume' 10" ++ cset "name='MIC2 Boost Volume' 0" ++ cset "name='Mic Jack Switch' off" ++ cset "name='Int Mic Switch' on" ++ cset "name='ADCR Boost Volume' 4" ++ cset "name='ADCL Boost Volume' 4" ++ cset "name='ADCR Volume' 11" ++ cset "name='ADCL Volume' 11" ++ cset "name='Left Speaker Mixer Left DAC Switch' on" ++ cset "name='Right Speaker Mixer Right DAC Switch' on" ++ cset "name='Speaker Left Mixer Volume' 2" ++ cset "name='Speaker Right Mixer Volume' 2" ++ cset "name='Record Path DC Blocking' on" ++ cset "name='Playback Path DC Blocking' on" ++ cset "name='Headphone Left Switch' on" ++ cset "name='Headphone Right Switch' on" ++ cset "name='Headphones Switch' off" ++ cset "name='Speaker Left Switch' on" ++ cset "name='Speaker Right Switch' on" ++ cset "name='Speakers Switch' on" ++ ] ++} ++ ++SectionDevice."Headphones" { ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId}" ++ } ++ EnableSequence [ ++ cset "name='Speakers Switch' off" ++ cset "name='Headphones Switch' on" ++ ] ++ DisableSequence [ ++ cset "name='Headphones Switch' off" ++ cset "name='Speakers Switch' on" ++ ] ++} ++ ++SectionDevice."Mic" { ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${CardId}" ++ #CaptureControl "MIC2" ++ } ++ EnableSequence [ ++ cset "name='Int Mic Switch' off" ++ cset "name='DMIC Mux' ADC" ++ cset "name='Mic Jack Switch' on" ++ cset "name='Record Path DC Blocking' on" ++ ] ++ DisableSequence [ ++ cset "name='Mic Jack Switch' off" ++ cset "name='DMIC Mux' DMIC" ++ cset "name='Int Mic Switch' on" ++ cset "name='Record Path DC Blocking' off" ++ ] ++} +diff --git a/ucm2/Tegra/max98090/max98090.conf b/ucm2/Tegra/max98090/max98090.conf +new file mode 100644 +index 000000000000..7ec416dc85e0 +--- /dev/null ++++ b/ucm2/Tegra/max98090/max98090.conf +@@ -0,0 +1,6 @@ ++Syntax 2 ++Comment "Nyan internal card" ++SectionUseCase."HiFi" { ++ File "/Tegra/max98090/HiFi.conf" ++ Comment "Default" ++} +diff --git a/ucm2/module/snd_soc_tegra_max98090.conf b/ucm2/module/snd_soc_tegra_max98090.conf +new file mode 120000 +index 000000000000..406747c12aec +--- /dev/null ++++ b/ucm2/module/snd_soc_tegra_max98090.conf +@@ -0,0 +1 @@ ++../Tegra/max98090/max98090.conf +\ No newline at end of file +-- +2.16.4 + diff --git a/0027-SDP4430-Move-to-OMAP-abe-twl6040-SDP4430-tree.patch b/0027-SDP4430-Move-to-OMAP-abe-twl6040-SDP4430-tree.patch new file mode 100644 index 0000000..53384a4 --- /dev/null +++ b/0027-SDP4430-Move-to-OMAP-abe-twl6040-SDP4430-tree.patch @@ -0,0 +1,1622 @@ +From 415b126f2ac372598f8af480f0b76da99df27d7d Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Thu, 25 Jun 2020 17:43:40 +0200 +Subject: [PATCH 27/51] SDP4430: Move to OMAP/abe-twl6040/SDP4430 tree + +Signed-off-by: Jaroslav Kysela +--- + ucm2/OMAP/abe-twl6040/FMAnalog.conf | 45 ---------------- + ucm2/OMAP/abe-twl6040/HiFi.conf | 56 -------------------- + ucm2/OMAP/abe-twl6040/HiFiLP.conf | 46 ---------------- + ucm2/OMAP/abe-twl6040/Pandaboard/FMAnalog.conf | 45 ++++++++++++++++ + ucm2/OMAP/abe-twl6040/Pandaboard/HiFi.conf | 56 ++++++++++++++++++++ + ucm2/OMAP/abe-twl6040/Pandaboard/HiFiLP.conf | 46 ++++++++++++++++ + ucm2/OMAP/abe-twl6040/Pandaboard/Pandaboard.conf | 41 +++++++++++++++ + ucm2/OMAP/abe-twl6040/Pandaboard/Record.conf | 47 +++++++++++++++++ + ucm2/OMAP/abe-twl6040/Pandaboard/Voice.conf | 46 ++++++++++++++++ + ucm2/OMAP/abe-twl6040/Pandaboard/VoiceCall.conf | 67 ++++++++++++++++++++++++ + ucm2/OMAP/abe-twl6040/Record.conf | 47 ----------------- + ucm2/OMAP/abe-twl6040/SDP4430/FMAnalog.conf | 40 ++++++++++++++ + ucm2/OMAP/abe-twl6040/SDP4430/HiFi.conf | 57 ++++++++++++++++++++ + ucm2/OMAP/abe-twl6040/SDP4430/HiFiLP.conf | 45 ++++++++++++++++ + ucm2/OMAP/abe-twl6040/SDP4430/Record.conf | 45 ++++++++++++++++ + ucm2/OMAP/abe-twl6040/SDP4430/SDP4430.conf | 41 +++++++++++++++ + ucm2/OMAP/abe-twl6040/SDP4430/Voice.conf | 45 ++++++++++++++++ + ucm2/OMAP/abe-twl6040/SDP4430/VoiceCall.conf | 66 +++++++++++++++++++++++ + ucm2/OMAP/abe-twl6040/Voice.conf | 46 ---------------- + ucm2/OMAP/abe-twl6040/VoiceCall.conf | 67 ------------------------ + ucm2/OMAP/abe-twl6040/abe-twl6040.conf | 50 ++++-------------- + ucm2/SDP4430/FMAnalog.conf | 40 -------------- + ucm2/SDP4430/HiFi.conf | 57 -------------------- + ucm2/SDP4430/HiFiLP.conf | 45 ---------------- + ucm2/SDP4430/Record.conf | 45 ---------------- + ucm2/SDP4430/SDP4430.conf | 43 --------------- + ucm2/SDP4430/Voice.conf | 45 ---------------- + ucm2/SDP4430/VoiceCall.conf | 66 ----------------------- + 28 files changed, 697 insertions(+), 688 deletions(-) + delete mode 100644 ucm2/OMAP/abe-twl6040/FMAnalog.conf + delete mode 100644 ucm2/OMAP/abe-twl6040/HiFi.conf + delete mode 100644 ucm2/OMAP/abe-twl6040/HiFiLP.conf + create mode 100644 ucm2/OMAP/abe-twl6040/Pandaboard/FMAnalog.conf + create mode 100644 ucm2/OMAP/abe-twl6040/Pandaboard/HiFi.conf + create mode 100644 ucm2/OMAP/abe-twl6040/Pandaboard/HiFiLP.conf + create mode 100644 ucm2/OMAP/abe-twl6040/Pandaboard/Pandaboard.conf + create mode 100644 ucm2/OMAP/abe-twl6040/Pandaboard/Record.conf + create mode 100644 ucm2/OMAP/abe-twl6040/Pandaboard/Voice.conf + create mode 100644 ucm2/OMAP/abe-twl6040/Pandaboard/VoiceCall.conf + delete mode 100644 ucm2/OMAP/abe-twl6040/Record.conf + create mode 100644 ucm2/OMAP/abe-twl6040/SDP4430/FMAnalog.conf + create mode 100644 ucm2/OMAP/abe-twl6040/SDP4430/HiFi.conf + create mode 100644 ucm2/OMAP/abe-twl6040/SDP4430/HiFiLP.conf + create mode 100644 ucm2/OMAP/abe-twl6040/SDP4430/Record.conf + create mode 100644 ucm2/OMAP/abe-twl6040/SDP4430/SDP4430.conf + create mode 100644 ucm2/OMAP/abe-twl6040/SDP4430/Voice.conf + create mode 100644 ucm2/OMAP/abe-twl6040/SDP4430/VoiceCall.conf + delete mode 100644 ucm2/OMAP/abe-twl6040/Voice.conf + delete mode 100644 ucm2/OMAP/abe-twl6040/VoiceCall.conf + delete mode 100644 ucm2/SDP4430/FMAnalog.conf + delete mode 100644 ucm2/SDP4430/HiFi.conf + delete mode 100644 ucm2/SDP4430/HiFiLP.conf + delete mode 100644 ucm2/SDP4430/Record.conf + delete mode 100644 ucm2/SDP4430/SDP4430.conf + delete mode 100644 ucm2/SDP4430/Voice.conf + delete mode 100644 ucm2/SDP4430/VoiceCall.conf + +diff --git a/ucm2/OMAP/abe-twl6040/FMAnalog.conf b/ucm2/OMAP/abe-twl6040/FMAnalog.conf +deleted file mode 100644 +index fa819771d6a1..000000000000 +--- a/ucm2/OMAP/abe-twl6040/FMAnalog.conf ++++ /dev/null +@@ -1,45 +0,0 @@ +-# Use case Configurationfor TI PandaBoard(ES) HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='AMIC_UL PDM Switch' 1" +- cset "name='MUX_UL00' 9" +- cset "name='MUX_UL01' 10" +- cset "name='Capture Volume' 4" +- ] +- +- +- DisableSequence [ +- cset "name='AMIC_UL PDM Switch' 0" +- cset "name='MUX_UL00' 0" +- cset "name='MUX_UL01' 0" +- cset "name='Capture Volume' 0" +- ] +- +- # Optional TQ +- Value { +- TQ "Music" +- } +-} +- +-SectionDevice."Headset" { +- Comment "3.5mm Headset" +- +- EnableSequence [ +- cset "name='Analog Left Capture Route' 2" +- cset "name='Analog Right Capture Route' 2" +- cset "name='Capture Preamplifier Volume' 2" +- ] +- +- DisableSequence [ +- cset "name='Analog Left Capture Route' 3" +- cset "name='Analog Right Capture Route' 3" +- cset "name='Capture Preamplifier Volume' 0" +- ] +- +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId}" +- } +-} +diff --git a/ucm2/OMAP/abe-twl6040/HiFi.conf b/ucm2/OMAP/abe-twl6040/HiFi.conf +deleted file mode 100644 +index 597c32621c81..000000000000 +--- a/ucm2/OMAP/abe-twl6040/HiFi.conf ++++ /dev/null +@@ -1,56 +0,0 @@ +-# Use case Configuration for TI PandaBoard(ES) HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='DL1 Mixer Multimedia' 1" +- cset "name='Sidetone Mixer Playback' 1" +- cset "name='DL1 PDM Switch' 1" +- cset "name='DL1 Media Playback Volume' 90,90" +- cset "name='SDT DL Volume' 120" +- +- cset "name='Headset Left Playback' 1" +- cset "name='Headset Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='DL1 Mixer Multimedia' 0" +- cset "name='Sidetone Mixer Playback' 0" +- cset "name='DL1 PDM Switch' 0" +- cset "name='DL1 Media Playback Volume' 0,0" +- cset "name='SDT DL Volume' 0" +- +- cset "name='Headset Right Playback' 0" +- cset "name='Headset Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- # Optional TQ +- Value { +- TQ "Music" +- } +-} +- +-SectionDevice."Headset" { +- Comment "3.5mm Headset" +- +- EnableSequence [ +- cset "name='Headset Left Playback' 1" +- cset "name='Headset Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='Headset Right Playback' 0" +- cset "name='Headset Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId}" +- # PlaybackVolume "name='DL1 Media Playback Volume' 90,90" +- # PlaybackSwitch "name='DL1 PDM Switch' 1" +- } +-} +diff --git a/ucm2/OMAP/abe-twl6040/HiFiLP.conf b/ucm2/OMAP/abe-twl6040/HiFiLP.conf +deleted file mode 100644 +index 481f2384daf5..000000000000 +--- a/ucm2/OMAP/abe-twl6040/HiFiLP.conf ++++ /dev/null +@@ -1,46 +0,0 @@ +-# Use case Configuration for TI PandaBoard(ES) HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='DL1 Mixer Multimedia' 1" +- cset "name='Sidetone Mixer Playback' 1" +- cset "name='DL1 PDM Switch' 1" +- cset "name='DL1 Media Playback Volume' 90,90" +- cset "name='SDT DL Volume' 120" +- ] +- +- DisableSequence [ +- cset "name='DL1 Mixer Multimedia' 0" +- cset "name='Sidetone Mixer Playback' 0" +- cset "name='DL1 PDM Switch' 0" +- cset "name='DL1 Media Playback Volume' 0,0" +- cset "name='SDT DL Volume' 0" +- ] +- +- # Optional TQ +- Value { +- TQ "Music" +- } +-} +- +-SectionDevice."Headset" { +- Comment "3.5mm Headset" +- +- EnableSequence [ +- cset "name='Headset Left Playback' 1" +- cset "name='Headset Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='Headset Right Playback' 0" +- cset "name='Headset Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId},6" +- } +-} +diff --git a/ucm2/OMAP/abe-twl6040/Pandaboard/FMAnalog.conf b/ucm2/OMAP/abe-twl6040/Pandaboard/FMAnalog.conf +new file mode 100644 +index 000000000000..fa819771d6a1 +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/Pandaboard/FMAnalog.conf +@@ -0,0 +1,45 @@ ++# Use case Configurationfor TI PandaBoard(ES) HiFi Music ++# By Liam Girdwood ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='AMIC_UL PDM Switch' 1" ++ cset "name='MUX_UL00' 9" ++ cset "name='MUX_UL01' 10" ++ cset "name='Capture Volume' 4" ++ ] ++ ++ ++ DisableSequence [ ++ cset "name='AMIC_UL PDM Switch' 0" ++ cset "name='MUX_UL00' 0" ++ cset "name='MUX_UL01' 0" ++ cset "name='Capture Volume' 0" ++ ] ++ ++ # Optional TQ ++ Value { ++ TQ "Music" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "3.5mm Headset" ++ ++ EnableSequence [ ++ cset "name='Analog Left Capture Route' 2" ++ cset "name='Analog Right Capture Route' 2" ++ cset "name='Capture Preamplifier Volume' 2" ++ ] ++ ++ DisableSequence [ ++ cset "name='Analog Left Capture Route' 3" ++ cset "name='Analog Right Capture Route' 3" ++ cset "name='Capture Preamplifier Volume' 0" ++ ] ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${CardId}" ++ } ++} +diff --git a/ucm2/OMAP/abe-twl6040/Pandaboard/HiFi.conf b/ucm2/OMAP/abe-twl6040/Pandaboard/HiFi.conf +new file mode 100644 +index 000000000000..597c32621c81 +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/Pandaboard/HiFi.conf +@@ -0,0 +1,56 @@ ++# Use case Configuration for TI PandaBoard(ES) HiFi Music ++# By Liam Girdwood ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='DL1 Mixer Multimedia' 1" ++ cset "name='Sidetone Mixer Playback' 1" ++ cset "name='DL1 PDM Switch' 1" ++ cset "name='DL1 Media Playback Volume' 90,90" ++ cset "name='SDT DL Volume' 120" ++ ++ cset "name='Headset Left Playback' 1" ++ cset "name='Headset Right Playback' 1" ++ cset "name='Headset Playback Volume' 13" ++ ] ++ ++ DisableSequence [ ++ cset "name='DL1 Mixer Multimedia' 0" ++ cset "name='Sidetone Mixer Playback' 0" ++ cset "name='DL1 PDM Switch' 0" ++ cset "name='DL1 Media Playback Volume' 0,0" ++ cset "name='SDT DL Volume' 0" ++ ++ cset "name='Headset Right Playback' 0" ++ cset "name='Headset Left Playback' 0" ++ cset "name='Headset Playback Volume' 0" ++ ] ++ ++ # Optional TQ ++ Value { ++ TQ "Music" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "3.5mm Headset" ++ ++ EnableSequence [ ++ cset "name='Headset Left Playback' 1" ++ cset "name='Headset Right Playback' 1" ++ cset "name='Headset Playback Volume' 13" ++ ] ++ ++ DisableSequence [ ++ cset "name='Headset Right Playback' 0" ++ cset "name='Headset Left Playback' 0" ++ cset "name='Headset Playback Volume' 0" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId}" ++ # PlaybackVolume "name='DL1 Media Playback Volume' 90,90" ++ # PlaybackSwitch "name='DL1 PDM Switch' 1" ++ } ++} +diff --git a/ucm2/OMAP/abe-twl6040/Pandaboard/HiFiLP.conf b/ucm2/OMAP/abe-twl6040/Pandaboard/HiFiLP.conf +new file mode 100644 +index 000000000000..481f2384daf5 +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/Pandaboard/HiFiLP.conf +@@ -0,0 +1,46 @@ ++# Use case Configuration for TI PandaBoard(ES) HiFi Music ++# By Liam Girdwood ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='DL1 Mixer Multimedia' 1" ++ cset "name='Sidetone Mixer Playback' 1" ++ cset "name='DL1 PDM Switch' 1" ++ cset "name='DL1 Media Playback Volume' 90,90" ++ cset "name='SDT DL Volume' 120" ++ ] ++ ++ DisableSequence [ ++ cset "name='DL1 Mixer Multimedia' 0" ++ cset "name='Sidetone Mixer Playback' 0" ++ cset "name='DL1 PDM Switch' 0" ++ cset "name='DL1 Media Playback Volume' 0,0" ++ cset "name='SDT DL Volume' 0" ++ ] ++ ++ # Optional TQ ++ Value { ++ TQ "Music" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "3.5mm Headset" ++ ++ EnableSequence [ ++ cset "name='Headset Left Playback' 1" ++ cset "name='Headset Right Playback' 1" ++ cset "name='Headset Playback Volume' 13" ++ ] ++ ++ DisableSequence [ ++ cset "name='Headset Right Playback' 0" ++ cset "name='Headset Left Playback' 0" ++ cset "name='Headset Playback Volume' 0" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId},6" ++ } ++} +diff --git a/ucm2/OMAP/abe-twl6040/Pandaboard/Pandaboard.conf b/ucm2/OMAP/abe-twl6040/Pandaboard/Pandaboard.conf +new file mode 100644 +index 000000000000..1a19f969de1a +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/Pandaboard/Pandaboard.conf +@@ -0,0 +1,41 @@ ++# UCM configuration for PandaBoard(ES) ++ ++SectionUseCase."Record" { ++ File "/OMAP/abe-twl6040/Pandaboard/Record.conf" ++ Comment "Record" ++} ++ ++SectionUseCase."HiFi" { ++ File "/OMAP/abe-twl6040/Pandaboard/HiFi.conf" ++ Comment "Play HiFi quality Music" ++} ++ ++SectionUseCase."HiFi_Low_Power" { ++ File "/OMAP/abe-twl6040/Pandaboard/HiFiLP.conf" ++ Comment "Play HiFi quality Music in Low Power Mode" ++} ++ ++SectionUseCase."Voice" { ++ File "/OMAP/abe-twl6040/Pandaboard/Voice.conf" ++ Comment "Playback Voice quality" ++} ++ ++SectionUseCase."Voice_Low_Power" { ++ File "/OMAP/abe-twl6040/Pandaboard/Voice.conf" ++ Comment "Playback Voice quality in Low Power Mode" ++} ++ ++SectionUseCase."Voice_Call" { ++ File "/OMAP/abe-twl6040/Pandaboard/VoiceCall.conf" ++ Comment "Capture and Playback in Voice quality" ++} ++ ++SectionUseCase."Voice_Call_IP" { ++ File "/OMAP/abe-twl6040/Pandaboard/VoiceCall.conf" ++ Comment "Capture and Playback in Voice quality" ++} ++ ++SectionUseCase."FM_Analog_Radio" { ++ File "/OMAP/abe-twl6040/Pandaboard/FMAnalog.conf" ++ Comment "Capture FM Analog Radio" ++} +diff --git a/ucm2/OMAP/abe-twl6040/Pandaboard/Record.conf b/ucm2/OMAP/abe-twl6040/Pandaboard/Record.conf +new file mode 100644 +index 000000000000..042e5cea53ee +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/Pandaboard/Record.conf +@@ -0,0 +1,47 @@ ++# Use case Configuration for TI PandaBoard(ES) HiFi Music ++# By Liam Girdwood ++ ++SectionVerb { ++ EnableSequence [ ++ # No more AMIC PDM Switch in current kernels ++ #cset "name='AMIC_UL PDM Switch' 1" ++ cset "name='MUX_UL00' 9" ++ cset "name='MUX_UL01' 10" ++ cset "name='Capture Volume' 4" ++ ] ++ ++ DisableSequence [ ++ # No more AMIC PDM Switch in current kernels ++ #cset "name='AMIC_UL PDM Switch' 0" ++ cset "name='MUX_UL00' 0" ++ cset "name='MUX_UL01' 0" ++ cset "name='Capture Volume' 0" ++ ] ++ ++ # Optional TQ ++ Value { ++ TQ "Music" ++ } ++ ++} ++ ++SectionDevice."Headset" { ++ Comment "3.5mm Headset" ++ ++ EnableSequence [ ++ cset "name='Analog Left Capture Route' 0" ++ cset "name='Analog Right Capture Route' 0" ++ cset "name='Capture Preamplifier Volume' 2" ++ ] ++ ++ DisableSequence [ ++ cset "name='Analog Left Capture Route' 3" ++ cset "name='Analog Right Capture Route' 3" ++ cset "name='Capture Preamplifier Volume' 0" ++ ] ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${CardId}" ++ } ++} +diff --git a/ucm2/OMAP/abe-twl6040/Pandaboard/Voice.conf b/ucm2/OMAP/abe-twl6040/Pandaboard/Voice.conf +new file mode 100644 +index 000000000000..3eaffb4f1e73 +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/Pandaboard/Voice.conf +@@ -0,0 +1,46 @@ ++# Use case Configuration for TI PandaBoard(ES) HiFi Music ++# By Liam Girdwood ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='DL1 Mixer Voice' 1" ++ cset "name='Sidetone Mixer Playback' 1" ++ cset "name='DL1 PDM Switch' 1" ++ cset "name='DL1 Voice Playback Volume' 90,90" ++ cset "name='SDT DL Volume' 120" ++ ] ++ ++ DisableSequence [ ++ cset "name='DL1 Mixer Voice' 0" ++ cset "name='Sidetone Mixer Playback' 0" ++ cset "name='DL1 PDM Switch' 0" ++ cset "name='DL1 Voice Playback Volume' 0,0" ++ cset "name='SDT DL Volume' 0" ++ ] ++ ++ # Optional TQ ++ Value { ++ TQ "Voice" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "3.5mm Headset" ++ ++ EnableSequence [ ++ cset "name='Headset Left Playback' 1" ++ cset "name='Headset Right Playback' 1" ++ cset "name='Headset Playback Volume' 13" ++ ] ++ ++ DisableSequence [ ++ cset "name='Headset Right Playback' 0" ++ cset "name='Headset Left Playback' 0" ++ cset "name='Headset Playback Volume' 0" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId},2" ++ } ++} +diff --git a/ucm2/OMAP/abe-twl6040/Pandaboard/VoiceCall.conf b/ucm2/OMAP/abe-twl6040/Pandaboard/VoiceCall.conf +new file mode 100644 +index 000000000000..4e82e7af093c +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/Pandaboard/VoiceCall.conf +@@ -0,0 +1,67 @@ ++# Use case Configuration for TI PandaBoard(ES) HiFi Music ++# By Liam Girdwood ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='AMIC_UL PDM Switch' 1" ++ cset "name='Sidetone Mixer Capture' 1" ++ cset "name='MUX_VX0' 9" ++ cset "name='MUX_VX1' 10" ++ cset "name='DL1 Mixer Voice' 1" ++ cset "name='Sidetone Mixer Playback' 1" ++ cset "name='DL1 PDM Switch' 1" ++ cset "name='DL1 Voice Playback Volume' 90,90" ++ cset "name='Capture Volume' 4" ++ cset "name='Capture Mixer Voice Capture' 90,90" ++ cset "name='SDT DL Volume' 120" ++ ] ++ ++ ++ DisableSequence [ ++ cset "name='AMIC_UL PDM Switch' 0" ++ cset "name='Sidetone Mixer Capture' 0" ++ cset "name='MUX_VX0' 0" ++ cset "name='MUX_VX1' 0" ++ cset "name='DL1 Mixer Voice' 0" ++ cset "name='Sidetone Mixer Playback' 0" ++ cset "name='DL1 PDM Switch' 0" ++ cset "name='DL1 Voice Playback Volume' 0,0" ++ cset "name='Capture Volume' 0" ++ cset "name='DL1 Voice Playback Volume' 0,0" ++ cset "name='SDT DL Volume' 0" ++ ] ++ ++ # Optional TQ ++ Value { ++ TQ "Voice" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "3.5mm Headset" ++ ++ EnableSequence [ ++ cset "name='Analog Left Capture Route' 0" ++ cset "name='Analog Right Capture Route' 0" ++ cset "name='Capture Preamplifier Volume' 2" ++ cset "name='Headset Left Playback' 1" ++ cset "name='Headset Right Playback' 1" ++ cset "name='Headset Playback Volume' 13" ++ ] ++ ++ DisableSequence [ ++ cset "name='Analog Left Capture Route' 3" ++ cset "name='Analog Right Capture Route' 3" ++ cset "name='Capture Preamplifier Volume' 0" ++ cset "name='Headset Right Playback' 0" ++ cset "name='Headset Left Playback' 0" ++ cset "name='Headset Playback Volume' 0" ++ ] ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${CardId},2" ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId},2" ++ } ++} +diff --git a/ucm2/OMAP/abe-twl6040/Record.conf b/ucm2/OMAP/abe-twl6040/Record.conf +deleted file mode 100644 +index 042e5cea53ee..000000000000 +--- a/ucm2/OMAP/abe-twl6040/Record.conf ++++ /dev/null +@@ -1,47 +0,0 @@ +-# Use case Configuration for TI PandaBoard(ES) HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- # No more AMIC PDM Switch in current kernels +- #cset "name='AMIC_UL PDM Switch' 1" +- cset "name='MUX_UL00' 9" +- cset "name='MUX_UL01' 10" +- cset "name='Capture Volume' 4" +- ] +- +- DisableSequence [ +- # No more AMIC PDM Switch in current kernels +- #cset "name='AMIC_UL PDM Switch' 0" +- cset "name='MUX_UL00' 0" +- cset "name='MUX_UL01' 0" +- cset "name='Capture Volume' 0" +- ] +- +- # Optional TQ +- Value { +- TQ "Music" +- } +- +-} +- +-SectionDevice."Headset" { +- Comment "3.5mm Headset" +- +- EnableSequence [ +- cset "name='Analog Left Capture Route' 0" +- cset "name='Analog Right Capture Route' 0" +- cset "name='Capture Preamplifier Volume' 2" +- ] +- +- DisableSequence [ +- cset "name='Analog Left Capture Route' 3" +- cset "name='Analog Right Capture Route' 3" +- cset "name='Capture Preamplifier Volume' 0" +- ] +- +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId}" +- } +-} +diff --git a/ucm2/OMAP/abe-twl6040/SDP4430/FMAnalog.conf b/ucm2/OMAP/abe-twl6040/SDP4430/FMAnalog.conf +new file mode 100644 +index 000000000000..822f3d8b3070 +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/SDP4430/FMAnalog.conf +@@ -0,0 +1,40 @@ ++# Use case Configuratio ++# By Liam Girdwood ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='AMIC_UL PDM Switch' 1" ++ cset "name='MUX_UL00' 9" ++ cset "name='MUX_UL01' 10" ++ cset "name='Capture Volume' 4" ++ ] ++ ++ DisableSequence [ ++ cset "name='AMIC_UL PDM Switch' 0" ++ cset "name='MUX_UL00' 0" ++ cset "name='MUX_UL01' 0" ++ cset "name='Capture Volume' 0" ++ ] ++} ++ ++SectionDevice."Headset" { ++ Comment "SDP4430 3.5mm Headset" ++ ++ EnableSequence [ ++ cset "name='Analog Left Capture Route' 2" ++ cset "name='Analog Right Capture Route' 2" ++ cset "name='Capture Preamplifier Volume' 2" ++ ] ++ ++ DisableSequence [ ++ cset "name='Analog Left Capture Route' 3" ++ cset "name='Analog Right Capture Route' 3" ++ cset "name='Capture Preamplifier Volume' 0" ++ ] ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${CardId}" ++ } ++} ++ +diff --git a/ucm2/OMAP/abe-twl6040/SDP4430/HiFi.conf b/ucm2/OMAP/abe-twl6040/SDP4430/HiFi.conf +new file mode 100644 +index 000000000000..6d4a8ae53f4e +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/SDP4430/HiFi.conf +@@ -0,0 +1,57 @@ ++# Use case Configuration for TI SDP4430 HiFi Music ++# By Liam Girdwood ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='DL1 Mixer Multimedia' 1" ++ cset "name='Sidetone Mixer Playback' 1" ++ cset "name='DL1 PDM Switch' 1" ++ cset "name='DL1 Media Playback Volume' 90,90" ++ cset "name='SDT DL Volume' 120" ++ ++ cset "name='HS Left Playback' 1" ++ cset "name='HS Right Playback' 1" ++ cset "name='Headset Playback Volume' 13" ++ ] ++ ++ DisableSequence [ ++ cset "name='DL1 Mixer Multimedia' 0" ++ cset "name='Sidetone Mixer Playback' 0" ++ cset "name='DL1 PDM Switch' 0" ++ cset "name='DL1 Media Playback Volume' 0,0" ++ cset "name='SDT DL Volume' 0" ++ ++ cset "name='HS Right Playback' 0" ++ cset "name='HS Left Playback' 0" ++ cset "name='Headset Playback Volume' 0" ++ ] ++ ++ # Optional TQ and ALSA PCMs ++# Value { ++# TQ "Music" ++# PlaybackPCM "hw:${CardId},0" ++# PlaybackVolume "name='DL1 Media Playback Volume' 90,90" ++# PlaybackSwitch "name='DL1 PDM Switch' 1" ++# } ++} ++ ++SectionDevice."Headset" { ++ Comment "SDP4430 3.5mm Headset" ++ ++ EnableSequence [ ++ cset "name='HS Left Playback' 1" ++ cset "name='HS Right Playback' 1" ++ cset "name='Headset Playback Volume' 13" ++ ] ++ ++ DisableSequence [ ++ cset "name='HS Right Playback' 0" ++ cset "name='HS Left Playback' 0" ++ cset "name='Headset Playback Volume' 0" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId}" ++ } ++} +diff --git a/ucm2/OMAP/abe-twl6040/SDP4430/HiFiLP.conf b/ucm2/OMAP/abe-twl6040/SDP4430/HiFiLP.conf +new file mode 100644 +index 000000000000..4cb8b1d38ce7 +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/SDP4430/HiFiLP.conf +@@ -0,0 +1,45 @@ ++# Use case Configuration for TI SDP4430 HiFi Music ++# By Liam Girdwood ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='DL1 Mixer Multimedia' 1" ++ cset "name='Sidetone Mixer Playback' 1" ++ cset "name='DL1 PDM Switch' 1" ++ cset "name='DL1 Media Playback Volume' 90,90" ++ cset "name='SDT DL Volume' 120" ++ ] ++ ++ DisableSequence [ ++ cset "name='DL1 Mixer Multimedia' 0" ++ cset "name='Sidetone Mixer Playback' 0" ++ cset "name='DL1 PDM Switch' 0" ++ cset "name='DL1 Media Playback Volume' 0,0" ++ cset "name='SDT DL Volume' 0" ++ ] ++ ++ Value { ++ TQ "Music" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "SDP4430 3.5mm Headset" ++ ++ EnableSequence [ ++ cset "name='HS Left Playback' 1" ++ cset "name='HS Right Playback' 1" ++ cset "name='Headset Playback Volume' 13" ++ ] ++ ++ DisableSequence [ ++ cset "name='HS Right Playback' 0" ++ cset "name='HS Left Playback' 0" ++ cset "name='Headset Playback Volume' 0" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId},6" ++ } ++} +diff --git a/ucm2/OMAP/abe-twl6040/SDP4430/Record.conf b/ucm2/OMAP/abe-twl6040/SDP4430/Record.conf +new file mode 100644 +index 000000000000..1763781b0e84 +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/SDP4430/Record.conf +@@ -0,0 +1,45 @@ ++# Use case Configuration for TI SDP4430 HiFi Music ++# By Liam Girdwood ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='AMIC_UL PDM Switch' 1" ++ cset "name='MUX_UL00' 9" ++ cset "name='MUX_UL01' 10" ++ cset "name='Capture Volume' 4" ++ ] ++ ++ DisableSequence [ ++ cset "name='AMIC_UL PDM Switch' 0" ++ cset "name='MUX_UL00' 0" ++ cset "name='MUX_UL01' 0" ++ cset "name='Capture Volume' 0" ++ ] ++ ++ # Optional TQ and ALSA PCMs ++ Value { ++ TQ "Music" ++ } ++ ++} ++ ++SectionDevice."Headset" { ++ Comment "SDP4430 3.5mm Headset" ++ ++ EnableSequence [ ++ cset "name='Analog Left Capture Route' 0" ++ cset "name='Analog Right Capture Route' 0" ++ cset "name='Capture Preamplifier Volume' 2" ++ ] ++ ++ DisableSequence [ ++ cset "name='Analog Left Capture Route' 3" ++ cset "name='Analog Right Capture Route' 3" ++ cset "name='Capture Preamplifier Volume' 0" ++ ] ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${CardId}" ++ } ++} +diff --git a/ucm2/OMAP/abe-twl6040/SDP4430/SDP4430.conf b/ucm2/OMAP/abe-twl6040/SDP4430/SDP4430.conf +new file mode 100644 +index 000000000000..6ffd87469c34 +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/SDP4430/SDP4430.conf +@@ -0,0 +1,41 @@ ++# UCM configuration for SDP4430 ++ ++SectionUseCase."Record" { ++ File "/OMAP/abe-twl6040/SDP4430/Record.conf" ++ Comment "Record" ++} ++ ++SectionUseCase."HiFi" { ++ File "/OMAP/abe-twl6040/SDP4430/HiFi.conf" ++ Comment "Play HiFi quality Music" ++} ++ ++SectionUseCase."HiFi_Low_Power" { ++ File "/OMAP/abe-twl6040/SDP4430/HiFiLP.conf" ++ Comment "Play HiFi quality Music in Low Power Mode" ++} ++ ++SectionUseCase."Voice" { ++ File "/OMAP/abe-twl6040/SDP4430/Voice.conf" ++ Comment "Playback Voice quality" ++} ++ ++SectionUseCase."Voice_Low_Power" { ++ File "/OMAP/abe-twl6040/SDP4430/Voice.conf" ++ Comment "Playback Voice quality in Low Power Mode." ++} ++ ++SectionUseCase."Voice_Call" { ++ File "/OMAP/abe-twl6040/SDP4430/VoiceCall.conf" ++ Comment "Capture and Playback in Voice quality" ++} ++ ++SectionUseCase."Voice_Call_IP" { ++ File "/OMAP/abe-twl6040/SDP4430/VoiceCall.conf" ++ Comment "Capture and Playback in Voice quality" ++} ++ ++SectionUseCase."FM_Analog_Radio" { ++ File "/OMAP/abe-twl6040/SDP4430/FMAnalog.conf" ++ Comment "Capture FM Analog Radio" ++} +diff --git a/ucm2/OMAP/abe-twl6040/SDP4430/Voice.conf b/ucm2/OMAP/abe-twl6040/SDP4430/Voice.conf +new file mode 100644 +index 000000000000..57f45549d31f +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/SDP4430/Voice.conf +@@ -0,0 +1,45 @@ ++# Use case Configuration for TI SDP4430 HiFi Music ++# By Liam Girdwood ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='DL1 Mixer Voice' 1" ++ cset "name='Sidetone Mixer Playback' 1" ++ cset "name='DL1 PDM Switch' 1" ++ cset "name='DL1 Voice Playback Volume' 90,90" ++ cset "name='SDT DL Volume' 120" ++ ] ++ ++ DisableSequence [ ++ cset "name='DL1 Mixer Voice' 0" ++ cset "name='Sidetone Mixer Playback' 0" ++ cset "name='DL1 PDM Switch' 0" ++ cset "name='DL1 Voice Playback Volume' 0,0" ++ cset "name='SDT DL Volume' 0" ++ ] ++ ++ Value { ++ TQ "Voice" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "SDP4430 3.5mm Headset" ++ ++ EnableSequence [ ++ cset "name='HS Left Playback' 1" ++ cset "name='HS Right Playback' 1" ++ cset "name='Headset Playback Volume' 13" ++ ] ++ ++ DisableSequence [ ++ cset "name='HS Right Playback' 0" ++ cset "name='HS Left Playback' 0" ++ cset "name='Headset Playback Volume' 0" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId},2" ++ } ++} +diff --git a/ucm2/OMAP/abe-twl6040/SDP4430/VoiceCall.conf b/ucm2/OMAP/abe-twl6040/SDP4430/VoiceCall.conf +new file mode 100644 +index 000000000000..adf62ea25aa7 +--- /dev/null ++++ b/ucm2/OMAP/abe-twl6040/SDP4430/VoiceCall.conf +@@ -0,0 +1,66 @@ ++# Use case Configuration for TI SDP4430 HiFi Music ++# By Liam Girdwood ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='AMIC_UL PDM Switch' 1" ++ cset "name='Sidetone Mixer Capture' 1" ++ cset "name='MUX_VX0' 9" ++ cset "name='MUX_VX1' 10" ++ cset "name='DL1 Mixer Voice' 1" ++ cset "name='Sidetone Mixer Playback' 1" ++ cset "name='DL1 PDM Switch' 1" ++ cset "name='DL1 Voice Playback Volume' 90,90" ++ cset "name='Capture Volume' 4" ++ cset "name='Capture Mixer Voice Capture' 90,90" ++ cset "name='SDT DL Volume' 120" ++ ] ++ ++ ++ DisableSequence [ ++ cset "name='AMIC_UL PDM Switch' 0" ++ cset "name='Sidetone Mixer Capture' 0" ++ cset "name='MUX_VX0' 0" ++ cset "name='MUX_VX1' 0" ++ cset "name='DL1 Mixer Voice' 0" ++ cset "name='Sidetone Mixer Playback' 0" ++ cset "name='DL1 PDM Switch' 0" ++ cset "name='DL1 Voice Playback Volume' 0,0" ++ cset "name='Capture Volume' 0" ++ cset "name='DL1 Voice Playback Volume' 0,0" ++ cset "name='SDT DL Volume' 0" ++ ] ++ ++ Value { ++ TQ "Voice" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "SDP4430 3.5mm Headset" ++ ++ EnableSequence [ ++ cset "name='Analog Left Capture Route' 0" ++ cset "name='Analog Right Capture Route' 0" ++ cset "name='Capture Preamplifier Volume' 2" ++ cset "name='HS Left Playback' 1" ++ cset "name='HS Right Playback' 1" ++ cset "name='Headset Playback Volume' 13" ++ ] ++ ++ DisableSequence [ ++ cset "name='Analog Left Capture Route' 3" ++ cset "name='Analog Right Capture Route' 3" ++ cset "name='Capture Preamplifier Volume' 0" ++ cset "name='HS Right Playback' 0" ++ cset "name='HS Left Playback' 0" ++ cset "name='Headset Playback Volume' 0" ++ ] ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${CardId},2" ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId},2" ++ } ++} +diff --git a/ucm2/OMAP/abe-twl6040/Voice.conf b/ucm2/OMAP/abe-twl6040/Voice.conf +deleted file mode 100644 +index 3eaffb4f1e73..000000000000 +--- a/ucm2/OMAP/abe-twl6040/Voice.conf ++++ /dev/null +@@ -1,46 +0,0 @@ +-# Use case Configuration for TI PandaBoard(ES) HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='DL1 Mixer Voice' 1" +- cset "name='Sidetone Mixer Playback' 1" +- cset "name='DL1 PDM Switch' 1" +- cset "name='DL1 Voice Playback Volume' 90,90" +- cset "name='SDT DL Volume' 120" +- ] +- +- DisableSequence [ +- cset "name='DL1 Mixer Voice' 0" +- cset "name='Sidetone Mixer Playback' 0" +- cset "name='DL1 PDM Switch' 0" +- cset "name='DL1 Voice Playback Volume' 0,0" +- cset "name='SDT DL Volume' 0" +- ] +- +- # Optional TQ +- Value { +- TQ "Voice" +- } +-} +- +-SectionDevice."Headset" { +- Comment "3.5mm Headset" +- +- EnableSequence [ +- cset "name='Headset Left Playback' 1" +- cset "name='Headset Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='Headset Right Playback' 0" +- cset "name='Headset Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId},2" +- } +-} +diff --git a/ucm2/OMAP/abe-twl6040/VoiceCall.conf b/ucm2/OMAP/abe-twl6040/VoiceCall.conf +deleted file mode 100644 +index 4e82e7af093c..000000000000 +--- a/ucm2/OMAP/abe-twl6040/VoiceCall.conf ++++ /dev/null +@@ -1,67 +0,0 @@ +-# Use case Configuration for TI PandaBoard(ES) HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='AMIC_UL PDM Switch' 1" +- cset "name='Sidetone Mixer Capture' 1" +- cset "name='MUX_VX0' 9" +- cset "name='MUX_VX1' 10" +- cset "name='DL1 Mixer Voice' 1" +- cset "name='Sidetone Mixer Playback' 1" +- cset "name='DL1 PDM Switch' 1" +- cset "name='DL1 Voice Playback Volume' 90,90" +- cset "name='Capture Volume' 4" +- cset "name='Capture Mixer Voice Capture' 90,90" +- cset "name='SDT DL Volume' 120" +- ] +- +- +- DisableSequence [ +- cset "name='AMIC_UL PDM Switch' 0" +- cset "name='Sidetone Mixer Capture' 0" +- cset "name='MUX_VX0' 0" +- cset "name='MUX_VX1' 0" +- cset "name='DL1 Mixer Voice' 0" +- cset "name='Sidetone Mixer Playback' 0" +- cset "name='DL1 PDM Switch' 0" +- cset "name='DL1 Voice Playback Volume' 0,0" +- cset "name='Capture Volume' 0" +- cset "name='DL1 Voice Playback Volume' 0,0" +- cset "name='SDT DL Volume' 0" +- ] +- +- # Optional TQ +- Value { +- TQ "Voice" +- } +-} +- +-SectionDevice."Headset" { +- Comment "3.5mm Headset" +- +- EnableSequence [ +- cset "name='Analog Left Capture Route' 0" +- cset "name='Analog Right Capture Route' 0" +- cset "name='Capture Preamplifier Volume' 2" +- cset "name='Headset Left Playback' 1" +- cset "name='Headset Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='Analog Left Capture Route' 3" +- cset "name='Analog Right Capture Route' 3" +- cset "name='Capture Preamplifier Volume' 0" +- cset "name='Headset Right Playback' 0" +- cset "name='Headset Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId},2" +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId},2" +- } +-} +diff --git a/ucm2/OMAP/abe-twl6040/abe-twl6040.conf b/ucm2/OMAP/abe-twl6040/abe-twl6040.conf +index 199408f875fd..5184211fdac5 100644 +--- a/ucm2/OMAP/abe-twl6040/abe-twl6040.conf ++++ b/ucm2/OMAP/abe-twl6040/abe-twl6040.conf +@@ -1,43 +1,13 @@ + # UCM configuration for PandaBoard(ES) + +-Syntax 2 +- +-SectionUseCase."Record" { +- File "/OMAP/abe-twl6040/Record.conf" +- Comment "Record" +-} +- +-SectionUseCase."HiFi" { +- File "/OMAP/abe-twl6040/HiFi.conf" +- Comment "Play HiFi quality Music" +-} +- +-SectionUseCase."HiFi_Low_Power" { +- File "/OMAP/abe-twl6040/HiFiLP.conf" +- Comment "Play HiFi quality Music in Low Power Mode" +-} +- +-SectionUseCase."Voice" { +- File "/OMAP/abe-twl6040/Voice.conf" +- Comment "Playback Voice quality" +-} +- +-SectionUseCase."Voice_Low_Power" { +- File "/OMAP/abe-twl6040/Voice.conf" +- Comment "Playback Voice quality in Low Power Mode" +-} +- +-SectionUseCase."Voice_Call" { +- File "/OMAP/abe-twl6040/VoiceCall.conf" +- Comment "Capture and Playback in Voice quality" +-} +- +-SectionUseCase."Voice_Call_IP" { +- File "/OMAP/abe-twl6040/VoiceCall.conf" +- Comment "Capture and Playback in Voice quality" +-} +- +-SectionUseCase."FM_Analog_Radio" { +- File "/OMAP/abe-twl6040/FMAnalog.conf" +- Comment "Capture FM Analog Radio" ++Syntax 3 ++ ++If.sdp4430 { ++ Condition { ++ Type String ++ String1 "${CardName}" ++ String2 "SDP4430" ++ } ++ True.Include.sdp4430.File "/OMAP/abe-twl6040/SDP4430/SDP4430.conf" ++ False.Include.pandaboard.File "/OMAP/abe-twl6040/Pandaboard/Pandaboard.conf" + } +diff --git a/ucm2/SDP4430/FMAnalog.conf b/ucm2/SDP4430/FMAnalog.conf +deleted file mode 100644 +index 822f3d8b3070..000000000000 +--- a/ucm2/SDP4430/FMAnalog.conf ++++ /dev/null +@@ -1,40 +0,0 @@ +-# Use case Configuratio +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='AMIC_UL PDM Switch' 1" +- cset "name='MUX_UL00' 9" +- cset "name='MUX_UL01' 10" +- cset "name='Capture Volume' 4" +- ] +- +- DisableSequence [ +- cset "name='AMIC_UL PDM Switch' 0" +- cset "name='MUX_UL00' 0" +- cset "name='MUX_UL01' 0" +- cset "name='Capture Volume' 0" +- ] +-} +- +-SectionDevice."Headset" { +- Comment "SDP4430 3.5mm Headset" +- +- EnableSequence [ +- cset "name='Analog Left Capture Route' 2" +- cset "name='Analog Right Capture Route' 2" +- cset "name='Capture Preamplifier Volume' 2" +- ] +- +- DisableSequence [ +- cset "name='Analog Left Capture Route' 3" +- cset "name='Analog Right Capture Route' 3" +- cset "name='Capture Preamplifier Volume' 0" +- ] +- +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId}" +- } +-} +- +diff --git a/ucm2/SDP4430/HiFi.conf b/ucm2/SDP4430/HiFi.conf +deleted file mode 100644 +index 6d4a8ae53f4e..000000000000 +--- a/ucm2/SDP4430/HiFi.conf ++++ /dev/null +@@ -1,57 +0,0 @@ +-# Use case Configuration for TI SDP4430 HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='DL1 Mixer Multimedia' 1" +- cset "name='Sidetone Mixer Playback' 1" +- cset "name='DL1 PDM Switch' 1" +- cset "name='DL1 Media Playback Volume' 90,90" +- cset "name='SDT DL Volume' 120" +- +- cset "name='HS Left Playback' 1" +- cset "name='HS Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='DL1 Mixer Multimedia' 0" +- cset "name='Sidetone Mixer Playback' 0" +- cset "name='DL1 PDM Switch' 0" +- cset "name='DL1 Media Playback Volume' 0,0" +- cset "name='SDT DL Volume' 0" +- +- cset "name='HS Right Playback' 0" +- cset "name='HS Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- # Optional TQ and ALSA PCMs +-# Value { +-# TQ "Music" +-# PlaybackPCM "hw:${CardId},0" +-# PlaybackVolume "name='DL1 Media Playback Volume' 90,90" +-# PlaybackSwitch "name='DL1 PDM Switch' 1" +-# } +-} +- +-SectionDevice."Headset" { +- Comment "SDP4430 3.5mm Headset" +- +- EnableSequence [ +- cset "name='HS Left Playback' 1" +- cset "name='HS Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='HS Right Playback' 0" +- cset "name='HS Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId}" +- } +-} +diff --git a/ucm2/SDP4430/HiFiLP.conf b/ucm2/SDP4430/HiFiLP.conf +deleted file mode 100644 +index 4cb8b1d38ce7..000000000000 +--- a/ucm2/SDP4430/HiFiLP.conf ++++ /dev/null +@@ -1,45 +0,0 @@ +-# Use case Configuration for TI SDP4430 HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='DL1 Mixer Multimedia' 1" +- cset "name='Sidetone Mixer Playback' 1" +- cset "name='DL1 PDM Switch' 1" +- cset "name='DL1 Media Playback Volume' 90,90" +- cset "name='SDT DL Volume' 120" +- ] +- +- DisableSequence [ +- cset "name='DL1 Mixer Multimedia' 0" +- cset "name='Sidetone Mixer Playback' 0" +- cset "name='DL1 PDM Switch' 0" +- cset "name='DL1 Media Playback Volume' 0,0" +- cset "name='SDT DL Volume' 0" +- ] +- +- Value { +- TQ "Music" +- } +-} +- +-SectionDevice."Headset" { +- Comment "SDP4430 3.5mm Headset" +- +- EnableSequence [ +- cset "name='HS Left Playback' 1" +- cset "name='HS Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='HS Right Playback' 0" +- cset "name='HS Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId},6" +- } +-} +diff --git a/ucm2/SDP4430/Record.conf b/ucm2/SDP4430/Record.conf +deleted file mode 100644 +index 1763781b0e84..000000000000 +--- a/ucm2/SDP4430/Record.conf ++++ /dev/null +@@ -1,45 +0,0 @@ +-# Use case Configuration for TI SDP4430 HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='AMIC_UL PDM Switch' 1" +- cset "name='MUX_UL00' 9" +- cset "name='MUX_UL01' 10" +- cset "name='Capture Volume' 4" +- ] +- +- DisableSequence [ +- cset "name='AMIC_UL PDM Switch' 0" +- cset "name='MUX_UL00' 0" +- cset "name='MUX_UL01' 0" +- cset "name='Capture Volume' 0" +- ] +- +- # Optional TQ and ALSA PCMs +- Value { +- TQ "Music" +- } +- +-} +- +-SectionDevice."Headset" { +- Comment "SDP4430 3.5mm Headset" +- +- EnableSequence [ +- cset "name='Analog Left Capture Route' 0" +- cset "name='Analog Right Capture Route' 0" +- cset "name='Capture Preamplifier Volume' 2" +- ] +- +- DisableSequence [ +- cset "name='Analog Left Capture Route' 3" +- cset "name='Analog Right Capture Route' 3" +- cset "name='Capture Preamplifier Volume' 0" +- ] +- +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId}" +- } +-} +diff --git a/ucm2/SDP4430/SDP4430.conf b/ucm2/SDP4430/SDP4430.conf +deleted file mode 100644 +index fd958903f290..000000000000 +--- a/ucm2/SDP4430/SDP4430.conf ++++ /dev/null +@@ -1,43 +0,0 @@ +-# UCM configuration for SDP4430 +- +-Syntax 2 +- +-SectionUseCase."Record" { +- File "Record.conf" +- Comment "Record" +-} +- +-SectionUseCase."HiFi" { +- File "HiFi.conf" +- Comment "Play HiFi quality Music" +-} +- +-SectionUseCase."HiFi_Low_Power" { +- File "HiFiLP.conf" +- Comment "Play HiFi quality Music in Low Power Mode" +-} +- +-SectionUseCase."Voice" { +- File "Voice.conf" +- Comment "Playback Voice quality" +-} +- +-SectionUseCase."Voice_Low_Power" { +- File "Voice.conf" +- Comment "Playback Voice quality in Low Power Mode." +-} +- +-SectionUseCase."Voice_Call" { +- File "VoiceCall.conf" +- Comment "Capture and Playback in Voice quality" +-} +- +-SectionUseCase."Voice_Call_IP" { +- File "VoiceCall.conf" +- Comment "Capture and Playback in Voice quality" +-} +- +-SectionUseCase."FM_Analog_Radio" { +- File "FMAnalog.conf" +- Comment "Capture FM Analog Radio" +-} +diff --git a/ucm2/SDP4430/Voice.conf b/ucm2/SDP4430/Voice.conf +deleted file mode 100644 +index 57f45549d31f..000000000000 +--- a/ucm2/SDP4430/Voice.conf ++++ /dev/null +@@ -1,45 +0,0 @@ +-# Use case Configuration for TI SDP4430 HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='DL1 Mixer Voice' 1" +- cset "name='Sidetone Mixer Playback' 1" +- cset "name='DL1 PDM Switch' 1" +- cset "name='DL1 Voice Playback Volume' 90,90" +- cset "name='SDT DL Volume' 120" +- ] +- +- DisableSequence [ +- cset "name='DL1 Mixer Voice' 0" +- cset "name='Sidetone Mixer Playback' 0" +- cset "name='DL1 PDM Switch' 0" +- cset "name='DL1 Voice Playback Volume' 0,0" +- cset "name='SDT DL Volume' 0" +- ] +- +- Value { +- TQ "Voice" +- } +-} +- +-SectionDevice."Headset" { +- Comment "SDP4430 3.5mm Headset" +- +- EnableSequence [ +- cset "name='HS Left Playback' 1" +- cset "name='HS Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='HS Right Playback' 0" +- cset "name='HS Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId},2" +- } +-} +diff --git a/ucm2/SDP4430/VoiceCall.conf b/ucm2/SDP4430/VoiceCall.conf +deleted file mode 100644 +index adf62ea25aa7..000000000000 +--- a/ucm2/SDP4430/VoiceCall.conf ++++ /dev/null +@@ -1,66 +0,0 @@ +-# Use case Configuration for TI SDP4430 HiFi Music +-# By Liam Girdwood +- +-SectionVerb { +- EnableSequence [ +- cset "name='AMIC_UL PDM Switch' 1" +- cset "name='Sidetone Mixer Capture' 1" +- cset "name='MUX_VX0' 9" +- cset "name='MUX_VX1' 10" +- cset "name='DL1 Mixer Voice' 1" +- cset "name='Sidetone Mixer Playback' 1" +- cset "name='DL1 PDM Switch' 1" +- cset "name='DL1 Voice Playback Volume' 90,90" +- cset "name='Capture Volume' 4" +- cset "name='Capture Mixer Voice Capture' 90,90" +- cset "name='SDT DL Volume' 120" +- ] +- +- +- DisableSequence [ +- cset "name='AMIC_UL PDM Switch' 0" +- cset "name='Sidetone Mixer Capture' 0" +- cset "name='MUX_VX0' 0" +- cset "name='MUX_VX1' 0" +- cset "name='DL1 Mixer Voice' 0" +- cset "name='Sidetone Mixer Playback' 0" +- cset "name='DL1 PDM Switch' 0" +- cset "name='DL1 Voice Playback Volume' 0,0" +- cset "name='Capture Volume' 0" +- cset "name='DL1 Voice Playback Volume' 0,0" +- cset "name='SDT DL Volume' 0" +- ] +- +- Value { +- TQ "Voice" +- } +-} +- +-SectionDevice."Headset" { +- Comment "SDP4430 3.5mm Headset" +- +- EnableSequence [ +- cset "name='Analog Left Capture Route' 0" +- cset "name='Analog Right Capture Route' 0" +- cset "name='Capture Preamplifier Volume' 2" +- cset "name='HS Left Playback' 1" +- cset "name='HS Right Playback' 1" +- cset "name='Headset Playback Volume' 13" +- ] +- +- DisableSequence [ +- cset "name='Analog Left Capture Route' 3" +- cset "name='Analog Right Capture Route' 3" +- cset "name='Capture Preamplifier Volume' 0" +- cset "name='HS Right Playback' 0" +- cset "name='HS Left Playback' 0" +- cset "name='Headset Playback Volume' 0" +- ] +- +- Value { +- CapturePriority 100 +- CapturePCM "hw:${CardId},2" +- PlaybackPriority 100 +- PlaybackPCM "hw:${CardId},2" +- } +-} +-- +2.16.4 + diff --git a/0028-Fix-invalid-Regex-Type-in-various-Condition-blocks.patch b/0028-Fix-invalid-Regex-Type-in-various-Condition-blocks.patch new file mode 100644 index 0000000..79ec635 --- /dev/null +++ b/0028-Fix-invalid-Regex-Type-in-various-Condition-blocks.patch @@ -0,0 +1,113 @@ +From a396908d25976c030e7a6a56bd5be0738c11d2ee Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Sun, 28 Jun 2020 19:44:17 +0200 +Subject: [PATCH 28/51] Fix invalid "Regex" Type in various Condition blocks + +Regex is not a valid Condition type, using it leads to errors like these: + +ALSA lib ucm_cond.c:300:(if_eval) unknown If.Condition.Type +ALSA lib main.c:983:(snd_use_case_mgr_open) error: failed to import cht-bsw-rt5672 use case configuration -22 +alsaucm: error failed to open sound card cht-bsw-rt5672: Invalid argument + +Replacing it with "RegexMatch" fixes this. + +Signed-off-by: Hans de Goede +Signed-off-by: Jaroslav Kysela +--- + ucm2/cht-bsw-rt5672/HiFi.conf | 4 ++-- + ucm2/chtnau8824/HiFi.conf | 2 +- + ucm2/chtrt5645/HiFi.conf | 6 +++--- + ucm2/sof-soundwire/sof-soundwire.conf | 4 ++-- + 4 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/ucm2/cht-bsw-rt5672/HiFi.conf b/ucm2/cht-bsw-rt5672/HiFi.conf +index 394e45d39ace..dc8ddd5ed45f 100644 +--- a/ucm2/cht-bsw-rt5672/HiFi.conf ++++ b/ucm2/cht-bsw-rt5672/HiFi.conf +@@ -9,7 +9,7 @@ Define.HeadsetMic "yes" + + If.cfg-dmic1 { + Condition { +- Type Regex ++ Type RegexMatch + String "${CardLongName}" + Regex "(SoMeThInK1)" # fixme! + } +@@ -21,7 +21,7 @@ If.cfg-dmic1 { + + If.cfg-dmic2 { + Condition { +- Type Regex ++ Type RegexMatch + String "${CardLongName}" + Regex "(LENOVO.*ThinkPad8)" + } +diff --git a/ucm2/chtnau8824/HiFi.conf b/ucm2/chtnau8824/HiFi.conf +index 6b7624d6e775..3ccd6b149517 100644 +--- a/ucm2/chtnau8824/HiFi.conf ++++ b/ucm2/chtnau8824/HiFi.conf +@@ -2,7 +2,7 @@ Define.Speaker "Speaker" + + If.cfg-mspk { + Condition { +- Type Regex ++ Type RegexMatch + String "${CardLongName}" + Regex "(cube-i1_TF|PIPO-W2S)" + } +diff --git a/ucm2/chtrt5645/HiFi.conf b/ucm2/chtrt5645/HiFi.conf +index fb8636d8ffac..5d0e3bf42f40 100644 +--- a/ucm2/chtrt5645/HiFi.conf ++++ b/ucm2/chtrt5645/HiFi.conf +@@ -4,7 +4,7 @@ Define.DigitalMic "" + + If.cfg-dmic1 { + Condition { +- Type Regex ++ Type RegexMatch + String "${CardLongName}" + Regex "(ASUSTeK.*T100HAN|ASUSTeK.*T101HA)" + } +@@ -16,7 +16,7 @@ If.cfg-dmic1 { + + If.cfg-dmic2 { + Condition { +- Type Regex ++ Type RegexMatch + String "${CardLongName}" + Regex "(LENOVO.*LenovoMIIX320|MEDION.*Wingman)" + } +@@ -28,7 +28,7 @@ If.cfg-dmic2 { + + If.cfg-mspk { + Condition { +- Type Regex ++ Type RegexMatch + String "${CardLongName}" + Regex "(gpd-win-pocket-rt5645|TECLAST-X80Pro)" + } +diff --git a/ucm2/sof-soundwire/sof-soundwire.conf b/ucm2/sof-soundwire/sof-soundwire.conf +index fe43d5f81d57..2ba44be8b284 100644 +--- a/ucm2/sof-soundwire/sof-soundwire.conf ++++ b/ucm2/sof-soundwire/sof-soundwire.conf +@@ -38,7 +38,7 @@ DefineRegex { + + If.hs_init { + Condition { +- Type Regex ++ Type RegexMatch + Regex "(rt5682|rt700|rt711)" + String "${var:HeadsetCodec1}" + } +@@ -47,7 +47,7 @@ If.hs_init { + + If.mic_init { + Condition { +- Type Regex ++ Type RegexMatch + Regex "(rt715)" + String "${var:MicCodec1}" + } +-- +2.16.4 + diff --git a/0029-cht-bsw-rt5672-Add-Lenovo-Miix-2-10-specific-configu.patch b/0029-cht-bsw-rt5672-Add-Lenovo-Miix-2-10-specific-configu.patch new file mode 100644 index 0000000..7916c31 --- /dev/null +++ b/0029-cht-bsw-rt5672-Add-Lenovo-Miix-2-10-specific-configu.patch @@ -0,0 +1,39 @@ +From f498c31816af4d47800185b0f4036c89a5c522af Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Sun, 28 Jun 2020 19:44:18 +0200 +Subject: [PATCH 29/51] cht-bsw-rt5672: Add Lenovo Miix 2 10 specific + configuration + +By default the cht-bsw-rt5672 config lets the user figure out if a device +has a Mono spaker or Stereo speakers and which DMIC input is used. + +Since this is not very user-friendly we do regex matches on the DMI derived +longname to automaticaly select the right options (and to only advertise +those options). + +This commit adds support for automatically selecting the right options +on the Lenovo Miix 2 10 tablet. Since this is the first device for which +we do longname matching using a DMIC on DMIC1, this also fixes a fixme :) + +Signed-off-by: Hans de Goede +Signed-off-by: Jaroslav Kysela +--- + ucm2/cht-bsw-rt5672/HiFi.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ucm2/cht-bsw-rt5672/HiFi.conf b/ucm2/cht-bsw-rt5672/HiFi.conf +index dc8ddd5ed45f..94de7dbb1504 100644 +--- a/ucm2/cht-bsw-rt5672/HiFi.conf ++++ b/ucm2/cht-bsw-rt5672/HiFi.conf +@@ -11,7 +11,7 @@ If.cfg-dmic1 { + Condition { + Type RegexMatch + String "${CardLongName}" +- Regex "(SoMeThInK1)" # fixme! ++ Regex "(LENOVO.*LenovoMiix210)" + } + True { + Define.MonoSpeaker "" +-- +2.16.4 + diff --git a/0030-cht-bsw-rt5672-Add-Lenovo-ThinkPad-10-specific-confi.patch b/0030-cht-bsw-rt5672-Add-Lenovo-ThinkPad-10-specific-confi.patch new file mode 100644 index 0000000..5c87933 --- /dev/null +++ b/0030-cht-bsw-rt5672-Add-Lenovo-ThinkPad-10-specific-confi.patch @@ -0,0 +1,34 @@ +From 8a9609cc694cb1de501a67d7c091edaa9a338932 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Sun, 28 Jun 2020 19:44:19 +0200 +Subject: [PATCH 30/51] cht-bsw-rt5672: Add Lenovo ThinkPad 10 specific + configuration + +The Lenovo ThinkPad 10 (first gen) has stereo speakers and the stereo +DMICs in the top-edge of the tablet are connected to DMIC1. + +Add a RegexMatch for this, so that users do not have to select the right +settings manually. + +Signed-off-by: Hans de Goede +Signed-off-by: Jaroslav Kysela +--- + ucm2/cht-bsw-rt5672/HiFi.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ucm2/cht-bsw-rt5672/HiFi.conf b/ucm2/cht-bsw-rt5672/HiFi.conf +index 94de7dbb1504..5e5f78f0be08 100644 +--- a/ucm2/cht-bsw-rt5672/HiFi.conf ++++ b/ucm2/cht-bsw-rt5672/HiFi.conf +@@ -11,7 +11,7 @@ If.cfg-dmic1 { + Condition { + Type RegexMatch + String "${CardLongName}" +- Regex "(LENOVO.*LenovoMiix210)" ++ Regex "(LENOVO.*LenovoMiix210)|(LENOVO.*ThinkPad10)" + } + True { + Define.MonoSpeaker "" +-- +2.16.4 + diff --git a/0031-cht-bsw-rt5672-Boost-ADC-volume-a-bit.patch b/0031-cht-bsw-rt5672-Boost-ADC-volume-a-bit.patch new file mode 100644 index 0000000..65afee1 --- /dev/null +++ b/0031-cht-bsw-rt5672-Boost-ADC-volume-a-bit.patch @@ -0,0 +1,44 @@ +From 0c0928c2fba54c7b95dd3c9cf0436846ded57a3d Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Sun, 28 Jun 2020 19:44:20 +0200 +Subject: [PATCH 31/51] cht-bsw-rt5672: Boost ADC volume a bit + +Both the DMICs and the headset mic are quite soft, even with the 20 dB +IN1 boost we already congfigure for the headset. + +This commit sets the ADC Boost gain (range 0-3) to 1 = 12 dB, which makes +the volume a lot better. The next step of the ADC Boost gain setting is +24 dB which is a bit too much. + +This has been tested with both the builtin DMIC and with a headset mic +on the following devices: + +Lenovo Miix 2 10 +Lenovo Thinkpad 8 +Lenovo Thinkpad 10 (gen 1) + +Signed-off-by: Hans de Goede +Signed-off-by: Jaroslav Kysela +--- + ucm2/codecs/rt5672/EnableSeq.conf | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/ucm2/codecs/rt5672/EnableSeq.conf b/ucm2/codecs/rt5672/EnableSeq.conf +index a19a98291b8c..ddfb1c7b6c72 100644 +--- a/ucm2/codecs/rt5672/EnableSeq.conf ++++ b/ucm2/codecs/rt5672/EnableSeq.conf +@@ -30,6 +30,11 @@ EnableSequence [ + cset "name='ADC Capture Volume' 47" + cset "name='ADC Capture Switch' on" + ++ # Both the DMICs and the headset mic (even with the 20 dB boost below) ++ # are quite soft, set the ADC Boost gain (range 0-3) to 1 = 12 dB the ++ # next step is 24 dB which is a bit too much ++ cset "name='STO1 ADC Boost Gain Volume' 1" ++ + # Headset mic is quite soft, boost it a bit, 1 = 20dB which is the first + # available boost step + cset "name='IN1 Boost Volume' 1" +-- +2.16.4 + diff --git a/0032-chtrt5645-Restore-stereo-sound-output-when-switching.patch b/0032-chtrt5645-Restore-stereo-sound-output-when-switching.patch new file mode 100644 index 0000000..5814d74 --- /dev/null +++ b/0032-chtrt5645-Restore-stereo-sound-output-when-switching.patch @@ -0,0 +1,41 @@ +From 7f07632932a7df572c3a5f5b3f6c83c03d0e798e Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Sun, 28 Jun 2020 19:44:21 +0200 +Subject: [PATCH 32/51] chtrt5645: Restore stereo sound output when switching + from MonoSpeaker to Headphones + +Commit fe3b0bdc2f43 ("chtrt5645: merge all possible configurations to +HiFi.conf") missed the part of the removed HiFi-mono-speaker-analog-mic.conf +file which restores stereo mixing (instead of mixing left + right to the +left DAC mixer output) when switching from the mono speaker setup to the +headphones output. + +This was causing both left and right channels to only be played on the +left ear of the headphones. This commit fixes this. + +Fixes: fe3b0bdc2f43 ("chtrt5645: merge all possible configurations to HiFi.conf") +Signed-off-by: Hans de Goede +Signed-off-by: Jaroslav Kysela +--- + ucm2/chtrt5645/HiFi.conf | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/ucm2/chtrt5645/HiFi.conf b/ucm2/chtrt5645/HiFi.conf +index 5d0e3bf42f40..10b0a1c22f97 100644 +--- a/ucm2/chtrt5645/HiFi.conf ++++ b/ucm2/chtrt5645/HiFi.conf +@@ -93,6 +93,11 @@ SectionDevice."Speaker" { + cset "name='Stereo DAC MIXL DAC R1 Switch' 1" + cset "name='Stereo DAC MIXR DAC R1 Switch' 0" + ] ++ DisableSequence [ ++ # Undo monospeaker mixing ++ cset "name='Stereo DAC MIXL DAC R1 Switch' 0" ++ cset "name='Stereo DAC MIXR DAC R1 Switch' 1" ++ ] + } + } + +-- +2.16.4 + diff --git a/0033-DB820c-Correctly-move-DB820c-to-Qualcomm-apq8096.patch b/0033-DB820c-Correctly-move-DB820c-to-Qualcomm-apq8096.patch new file mode 100644 index 0000000..8adb032 --- /dev/null +++ b/0033-DB820c-Correctly-move-DB820c-to-Qualcomm-apq8096.patch @@ -0,0 +1,365 @@ +From 22cb634148b70ee2474aa6d63d609a26c0f8461f Mon Sep 17 00:00:00 2001 +From: Srinivas Kandagatla +Date: Tue, 30 Jun 2020 12:24:57 +0100 +Subject: [PATCH 33/51] DB820c: Correctly move DB820c to Qualcomm/apq8096 + +DB820c belongs to APQ8096 SoC, so it should be moved to ucm2/apq8096 +folder rather than apq8016. + +So correctly move it to apq8096 to reflect the correct SoC. + +Fixes: 73c105b4707b ("DB820c/DB845c: move to Qualcomm/ tree") +Signed-off-by: Srinivas Kandagatla +Signed-off-by: Jaroslav Kysela +--- + ucm2/Qualcomm/apq8016/HDMI.conf | 33 ------------ + ucm2/Qualcomm/apq8016/HiFi.conf | 100 ------------------------------------- + ucm2/Qualcomm/apq8016/apq8016.conf | 11 ---- + ucm2/Qualcomm/apq8096/HDMI.conf | 33 ++++++++++++ + ucm2/Qualcomm/apq8096/HiFi.conf | 100 +++++++++++++++++++++++++++++++++++++ + ucm2/Qualcomm/apq8096/apq8096.conf | 11 ++++ + ucm2/module/snd_soc_apq8096.conf | 2 +- + 7 files changed, 145 insertions(+), 145 deletions(-) + delete mode 100644 ucm2/Qualcomm/apq8016/HDMI.conf + delete mode 100644 ucm2/Qualcomm/apq8016/HiFi.conf + delete mode 100644 ucm2/Qualcomm/apq8016/apq8016.conf + create mode 100644 ucm2/Qualcomm/apq8096/HDMI.conf + create mode 100644 ucm2/Qualcomm/apq8096/HiFi.conf + create mode 100644 ucm2/Qualcomm/apq8096/apq8096.conf + +diff --git a/ucm2/Qualcomm/apq8016/HDMI.conf b/ucm2/Qualcomm/apq8016/HDMI.conf +deleted file mode 100644 +index 5bdf07eac5c9..000000000000 +--- a/ucm2/Qualcomm/apq8016/HDMI.conf ++++ /dev/null +@@ -1,33 +0,0 @@ +-# Use case configuration for DB820c board. +-# Author: Srinivas Kandagatla +- +-SectionVerb { +- EnableSequence [ +- cset "name='HDMI Mixer MultiMedia1' 1" +- ] +- +- DisableSequence [ +- cset "name='HDMI Mixer MultiMedia1' 0" +- ] +- +- Value { +- TQ "HiFi" +- } +-} +- +-SectionDevice."HDMI" { +- Comment "HDMI Digital Stereo Output" +- +- EnableSequence [ +- cset "name='HDMI Mixer MultiMedia1' 1" +- ] +- +- DisableSequence [ +- cset "name='HDMI Mixer MultiMedia1' 0" +- ] +- +- Value { +- PlaybackPriority 200 +- PlaybackPCM "plughw:${CardId}" +- } +-} +diff --git a/ucm2/Qualcomm/apq8016/HiFi.conf b/ucm2/Qualcomm/apq8016/HiFi.conf +deleted file mode 100644 +index 89280d72450c..000000000000 +--- a/ucm2/Qualcomm/apq8016/HiFi.conf ++++ /dev/null +@@ -1,100 +0,0 @@ +-# Use case configuration for DB820c board. +-# Author: Srinivas Kandagatla +- +-SectionVerb { +- +- EnableSequence [ +- cset "name='SLIM RX0 MUX' ZERO" +- cset "name='SLIM RX1 MUX' ZERO" +- cset "name='SLIM RX2 MUX' ZERO" +- cset "name='SLIM RX3 MUX' ZERO" +- cset "name='SLIM RX4 MUX' ZERO" +- cset "name='SLIM RX5 MUX' AIF4_PB" +- cset "name='SLIM RX6 MUX' AIF4_PB" +- cset "name='SLIM RX7 MUX' ZERO" +- cset "name='RX INT1_2 MUX' RX5" +- cset "name='RX INT2_2 MUX' RX6" +- ## gain to 0dB +- cset "name='RX5 Digital Volume' 68" +- ## gain to 0dB +- cset "name='RX6 Digital Volume' 68" +- cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 1" +- cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" +- cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT" +- cset "name='RX INT2 DEM MUX' CLSH_DSM_OUT" +- cset "name='AIF1_CAP Mixer SLIM TX0' 1" +- cset "name='SLIM TX0 MUX' DEC0" +- cset "name='ADC2 Volume' 12" +- cset "name='ADC MUX0' AMIC" +- cset "name='AMIC MUX0' ADC2" +- ] +- +- DisableSequence [ +- cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 0" +- cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" +- ] +-} +- +-SectionDevice."Headphones" { +- Comment "Headphones playback" +- +- EnableSequence [ +- cset "name='SLIM RX0 MUX' ZERO" +- cset "name='SLIM RX1 MUX' ZERO" +- cset "name='SLIM RX2 MUX' ZERO" +- cset "name='SLIM RX3 MUX' ZERO" +- cset "name='SLIM RX4 MUX' ZERO" +- cset "name='SLIM RX5 MUX' AIF4_PB" +- cset "name='SLIM RX6 MUX' AIF4_PB" +- cset "name='SLIM RX7 MUX' ZERO" +- cset "name='RX INT1_2 MUX' RX5" +- cset "name='RX INT2_2 MUX' RX6" +- ## gain to 0dB +- cset "name='RX5 Digital Volume' 68" +- ## gain to 0dB +- cset "name='RX6 Digital Volume' 68" +- cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 1" +- cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT" +- cset "name='RX INT2 DEM MUX' CLSH_DSM_OUT" +- ] +- +- DisableSequence [ +- cset "name='RX5 Digital Volume' 0" +- cset "name='RX6 Digital Volume' 0" +- cset "name='SLIM RX5 MUX' ZERO" +- cset "name='SLIM RX6 MUX' ZERO" +- cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 0" +- ] +- +- Value { +- PlaybackPriority 100 +- PlaybackPCM "plughw:${CardId},1" +- } +-} +- +-SectionDevice."Headset" { +- Comment "Headset Microphone" +- +- EnableSequence [ +- cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" +- cset "name='AIF1_CAP Mixer SLIM TX0' 1" +- cset "name='SLIM TX0 MUX' DEC0" +- cset "name='ADC2 Volume' 12" +- cset "name='ADC MUX0' AMIC" +- cset "name='AMIC MUX0' ADC2" +- ] +- +- DisableSequence [ +- cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" +- cset "name='AIF1_CAP Mixer SLIM TX0' 0" +- cset "name='AMIC MUX0' ZERO" +- cset "name='SLIM TX0 MUX' ZERO" +- cset "name='ADC2 Volume' 0" +- ] +- +- Value { +- CapturePriority 100 +- CapturePCM "plughw:${CardId},2" +- CaptureChannels 1 +- } +-} +diff --git a/ucm2/Qualcomm/apq8016/apq8016.conf b/ucm2/Qualcomm/apq8016/apq8016.conf +deleted file mode 100644 +index 538c7984e180..000000000000 +--- a/ucm2/Qualcomm/apq8016/apq8016.conf ++++ /dev/null +@@ -1,11 +0,0 @@ +-Syntax 2 +- +-SectionUseCase."HiFi" { +- File "/Qualcomm/apq8016/HiFi.conf" +- Comment "HiFi quality Music" +-} +- +-SectionUseCase."HDMI" { +- File "/Qualcomm/apq8016/HDMI.conf" +- Comment "HDMI output" +-} +diff --git a/ucm2/Qualcomm/apq8096/HDMI.conf b/ucm2/Qualcomm/apq8096/HDMI.conf +new file mode 100644 +index 000000000000..5bdf07eac5c9 +--- /dev/null ++++ b/ucm2/Qualcomm/apq8096/HDMI.conf +@@ -0,0 +1,33 @@ ++# Use case configuration for DB820c board. ++# Author: Srinivas Kandagatla ++ ++SectionVerb { ++ EnableSequence [ ++ cset "name='HDMI Mixer MultiMedia1' 1" ++ ] ++ ++ DisableSequence [ ++ cset "name='HDMI Mixer MultiMedia1' 0" ++ ] ++ ++ Value { ++ TQ "HiFi" ++ } ++} ++ ++SectionDevice."HDMI" { ++ Comment "HDMI Digital Stereo Output" ++ ++ EnableSequence [ ++ cset "name='HDMI Mixer MultiMedia1' 1" ++ ] ++ ++ DisableSequence [ ++ cset "name='HDMI Mixer MultiMedia1' 0" ++ ] ++ ++ Value { ++ PlaybackPriority 200 ++ PlaybackPCM "plughw:${CardId}" ++ } ++} +diff --git a/ucm2/Qualcomm/apq8096/HiFi.conf b/ucm2/Qualcomm/apq8096/HiFi.conf +new file mode 100644 +index 000000000000..89280d72450c +--- /dev/null ++++ b/ucm2/Qualcomm/apq8096/HiFi.conf +@@ -0,0 +1,100 @@ ++# Use case configuration for DB820c board. ++# Author: Srinivas Kandagatla ++ ++SectionVerb { ++ ++ EnableSequence [ ++ cset "name='SLIM RX0 MUX' ZERO" ++ cset "name='SLIM RX1 MUX' ZERO" ++ cset "name='SLIM RX2 MUX' ZERO" ++ cset "name='SLIM RX3 MUX' ZERO" ++ cset "name='SLIM RX4 MUX' ZERO" ++ cset "name='SLIM RX5 MUX' AIF4_PB" ++ cset "name='SLIM RX6 MUX' AIF4_PB" ++ cset "name='SLIM RX7 MUX' ZERO" ++ cset "name='RX INT1_2 MUX' RX5" ++ cset "name='RX INT2_2 MUX' RX6" ++ ## gain to 0dB ++ cset "name='RX5 Digital Volume' 68" ++ ## gain to 0dB ++ cset "name='RX6 Digital Volume' 68" ++ cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 1" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" ++ cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT" ++ cset "name='RX INT2 DEM MUX' CLSH_DSM_OUT" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 1" ++ cset "name='SLIM TX0 MUX' DEC0" ++ cset "name='ADC2 Volume' 12" ++ cset "name='ADC MUX0' AMIC" ++ cset "name='AMIC MUX0' ADC2" ++ ] ++ ++ DisableSequence [ ++ cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 0" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" ++ ] ++} ++ ++SectionDevice."Headphones" { ++ Comment "Headphones playback" ++ ++ EnableSequence [ ++ cset "name='SLIM RX0 MUX' ZERO" ++ cset "name='SLIM RX1 MUX' ZERO" ++ cset "name='SLIM RX2 MUX' ZERO" ++ cset "name='SLIM RX3 MUX' ZERO" ++ cset "name='SLIM RX4 MUX' ZERO" ++ cset "name='SLIM RX5 MUX' AIF4_PB" ++ cset "name='SLIM RX6 MUX' AIF4_PB" ++ cset "name='SLIM RX7 MUX' ZERO" ++ cset "name='RX INT1_2 MUX' RX5" ++ cset "name='RX INT2_2 MUX' RX6" ++ ## gain to 0dB ++ cset "name='RX5 Digital Volume' 68" ++ ## gain to 0dB ++ cset "name='RX6 Digital Volume' 68" ++ cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 1" ++ cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT" ++ cset "name='RX INT2 DEM MUX' CLSH_DSM_OUT" ++ ] ++ ++ DisableSequence [ ++ cset "name='RX5 Digital Volume' 0" ++ cset "name='RX6 Digital Volume' 0" ++ cset "name='SLIM RX5 MUX' ZERO" ++ cset "name='SLIM RX6 MUX' ZERO" ++ cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 0" ++ ] ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "plughw:${CardId},1" ++ } ++} ++ ++SectionDevice."Headset" { ++ Comment "Headset Microphone" ++ ++ EnableSequence [ ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 1" ++ cset "name='SLIM TX0 MUX' DEC0" ++ cset "name='ADC2 Volume' 12" ++ cset "name='ADC MUX0' AMIC" ++ cset "name='AMIC MUX0' ADC2" ++ ] ++ ++ DisableSequence [ ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 0" ++ cset "name='AMIC MUX0' ZERO" ++ cset "name='SLIM TX0 MUX' ZERO" ++ cset "name='ADC2 Volume' 0" ++ ] ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "plughw:${CardId},2" ++ CaptureChannels 1 ++ } ++} +diff --git a/ucm2/Qualcomm/apq8096/apq8096.conf b/ucm2/Qualcomm/apq8096/apq8096.conf +new file mode 100644 +index 000000000000..3a26c5ed5f29 +--- /dev/null ++++ b/ucm2/Qualcomm/apq8096/apq8096.conf +@@ -0,0 +1,11 @@ ++Syntax 2 ++ ++SectionUseCase."HiFi" { ++ File "/Qualcomm/apq8096/HiFi.conf" ++ Comment "HiFi quality Music" ++} ++ ++SectionUseCase."HDMI" { ++ File "/Qualcomm/apq8096/HDMI.conf" ++ Comment "HDMI output" ++} +diff --git a/ucm2/module/snd_soc_apq8096.conf b/ucm2/module/snd_soc_apq8096.conf +index 9afc13c79031..2470d93fb597 120000 +--- a/ucm2/module/snd_soc_apq8096.conf ++++ b/ucm2/module/snd_soc_apq8096.conf +@@ -1 +1 @@ +-../Qualcomm/apq8016/apq8016.conf +\ No newline at end of file ++../Qualcomm/apq8096/apq8096.conf +\ No newline at end of file +-- +2.16.4 + diff --git a/0034-sof-hda-dsp-fixup-typo-in-Hdmi.conf.patch b/0034-sof-hda-dsp-fixup-typo-in-Hdmi.conf.patch new file mode 100644 index 0000000..d81d551 --- /dev/null +++ b/0034-sof-hda-dsp-fixup-typo-in-Hdmi.conf.patch @@ -0,0 +1,46 @@ +From 8c411c576cec748c8e202ffadf85ad44062c4fbd Mon Sep 17 00:00:00 2001 +From: Libin Yang +Date: Wed, 1 Jul 2020 01:50:06 -0400 +Subject: [PATCH 34/51] sof-hda-dsp: fixup typo in Hdmi.conf + +It should be "/codecs/hda/hdmi.conf" instead of "/codec/hda/hdmi.conf" + +Signed-off-by: Libin Yang +Signed-off-by: Jaroslav Kysela +--- + ucm2/sof-hda-dsp/Hdmi.conf | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/ucm2/sof-hda-dsp/Hdmi.conf b/ucm2/sof-hda-dsp/Hdmi.conf +index 480e2d6f4203..7b777d1b1d22 100644 +--- a/ucm2/sof-hda-dsp/Hdmi.conf ++++ b/ucm2/sof-hda-dsp/Hdmi.conf +@@ -8,7 +8,7 @@ If.hdmi1 { + HdmiPCM 3 + HdmiPrio 500 + } +- Include.hdmi1.File "/codec/hda/hdmi.conf" ++ Include.hdmi1.File "/codecs/hda/hdmi.conf" + } + } + +@@ -20,7 +20,7 @@ If.hdmi2 { + HdmiPCM 4 + HdmiPrio 600 + } +- Include.hdmi2.File "/codec/hda/hdmi.conf" ++ Include.hdmi2.File "/codecs/hda/hdmi.conf" + } + } + +@@ -32,6 +32,6 @@ If.hdmi3 { + HdmiPCM 5 + HdmiPrio 700 + } +- Include.hdmi3.File "/codec/hda/hdmi.conf" ++ Include.hdmi3.File "/codecs/hda/hdmi.conf" + } + } +-- +2.16.4 + diff --git a/0035-sof-hda-dsp-use-sof-hda-dsp-Hdmi.conf.patch b/0035-sof-hda-dsp-use-sof-hda-dsp-Hdmi.conf.patch new file mode 100644 index 0000000..740d517 --- /dev/null +++ b/0035-sof-hda-dsp-use-sof-hda-dsp-Hdmi.conf.patch @@ -0,0 +1,27 @@ +From ffe0cab5cfceb921a50a655d4024467f8aeab701 Mon Sep 17 00:00:00 2001 +From: Libin Yang +Date: Wed, 1 Jul 2020 01:51:58 -0400 +Subject: [PATCH 35/51] sof-hda-dsp: use sof-hda-dsp/Hdmi.conf + +sof-hda-dsp should use sof-hda-dsp/Hdmi.conf, not HDA-Intel/Hdmi.conf. +HDA-Intel/Hdmi.conf is for legacy HDA. + +Signed-off-by: Libin Yang +Signed-off-by: Jaroslav Kysela +--- + ucm2/sof-hda-dsp/HiFi.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ucm2/sof-hda-dsp/HiFi.conf b/ucm2/sof-hda-dsp/HiFi.conf +index 0f221b79ce21..a250331eb86d 100644 +--- a/ucm2/sof-hda-dsp/HiFi.conf ++++ b/ucm2/sof-hda-dsp/HiFi.conf +@@ -43,4 +43,4 @@ SectionDevice."Mic1" { + } + } + +- ++ +-- +2.16.4 + diff --git a/0036-hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch b/0036-hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch new file mode 100644 index 0000000..2499425 --- /dev/null +++ b/0036-hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch @@ -0,0 +1,98 @@ +From 3e8973062fa2b2c7df6d07ac98bfd4aef6bff5e3 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Mon, 6 Jul 2020 16:47:57 +0200 +Subject: [PATCH 36/51] hda hdmi: add HDMI4,HDMI5,HDMI6 devices + +- fix the duplicate index value in the comment section +- change priorities + +Signed-off-by: Jaroslav Kysela +--- + ucm2/HDA-Intel/Hdmi.conf | 42 +++++++++++++++++++++++++++++++++++++++--- + ucm2/codecs/hda/hdmi.conf | 2 +- + 2 files changed, 40 insertions(+), 4 deletions(-) + +diff --git a/ucm2/HDA-Intel/Hdmi.conf b/ucm2/HDA-Intel/Hdmi.conf +index 8b1843b91e6b..c8b6e77a0299 100644 +--- a/ucm2/HDA-Intel/Hdmi.conf ++++ b/ucm2/HDA-Intel/Hdmi.conf +@@ -6,7 +6,7 @@ If.hdmi1 { + Define { + HdmiNum 1 + HdmiPCM 3 +- HdmiPrio 500 ++ HdmiPrio 1100 + } + Include.hdmi1.File "/codecs/hda/hdmi.conf" + } +@@ -18,7 +18,7 @@ If.hdmi2 { + Define { + HdmiNum 2 + HdmiPCM 7 +- HdmiPrio 600 ++ HdmiPrio 1200 + } + Include.hdmi2.File "/codecs/hda/hdmi.conf" + } +@@ -30,8 +30,44 @@ If.hdmi3 { + Define { + HdmiNum 3 + HdmiPCM 8 +- HdmiPrio 700 ++ HdmiPrio 1300 + } + Include.hdmi3.File "/codecs/hda/hdmi.conf" + } + } ++ ++If.hdmi4 { ++ Condition { Type String Empty "" } ++ True { ++ Define { ++ HdmiNum 4 ++ HdmiPCM 9 ++ HdmiPrio 1400 ++ } ++ Include.hdmi4.File "/codecs/hda/hdmi.conf" ++ } ++} ++ ++If.hdmi5 { ++ Condition { Type String Empty "" } ++ True { ++ Define { ++ HdmiNum 5 ++ HdmiPCM 10 ++ HdmiPrio 1500 ++ } ++ Include.hdmi5.File "/codecs/hda/hdmi.conf" ++ } ++} ++ ++If.hdmi6 { ++ Condition { Type String Empty "" } ++ True { ++ Define { ++ HdmiNum 6 ++ HdmiPCM 11 ++ HdmiPrio 1600 ++ } ++ Include.hdmi5.File "/codecs/hda/hdmi.conf" ++ } ++} +diff --git a/ucm2/codecs/hda/hdmi.conf b/ucm2/codecs/hda/hdmi.conf +index c22f61521756..ba80fefc214e 100644 +--- a/ucm2/codecs/hda/hdmi.conf ++++ b/ucm2/codecs/hda/hdmi.conf +@@ -5,7 +5,7 @@ If.hdmi { + } + True { + SectionDevice."HDMI${var:HdmiNum}" { +- Comment "HDMI${var:HdmiNum}/${var:HdmiNum} Output" ++ Comment "HDMI${var:HdmiNum} Output" + + EnableSequence [ + cset "name='IEC958 Playback Switch' on" +-- +2.16.4 + diff --git a/0037-update-ucm2-README.md-more-kernel-module-lookup-clar.patch b/0037-update-ucm2-README.md-more-kernel-module-lookup-clar.patch new file mode 100644 index 0000000..34612da --- /dev/null +++ b/0037-update-ucm2-README.md-more-kernel-module-lookup-clar.patch @@ -0,0 +1,50 @@ +From db3a362d7523ef30a1640a76f2e460ce582f82fc Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Tue, 18 Aug 2020 16:00:31 +0200 +Subject: [PATCH 37/51] update ucm2/README.md - more kernel module lookup + clarifications + +Signed-off-by: Jaroslav Kysela +--- + ucm2/README.md | 18 +++++++++++++++--- + 1 file changed, 15 insertions(+), 3 deletions(-) + +diff --git a/ucm2/README.md b/ucm2/README.md +index b5a4196e50e8..3f07548a8aef 100644 +--- a/ucm2/README.md ++++ b/ucm2/README.md +@@ -12,7 +12,12 @@ configurations. They contain files included from other UCMs. + + UCM master configuration path lookup is defined in the top level + ucm.conf file. This file allows custom directory layout. The new +-ucm2 layout is based on the driver name. ++ucm2 layout is based on the kernel module driver name with the ++ALSA driver name fallback. ++ ++The lookup configuration: ++ ++ https://git.alsa-project.org/?p=alsa-ucm-conf.git;a=blob;f=ucm2/ucm.conf + + Example paths: + +@@ -21,8 +26,15 @@ Example paths: + - TwoCardsMix/TwoCardsMix.conf + -- virtual UCM from two soundcards + +-Note: For the driver configurations, use always the real driver name +-not the ucm card name configuration paths! ++Note: For the driver configurations, use always the real kernel driver ++name or the ALSA driver name - not the ucm card name configuration paths! ++ ++The kernel driver name is obtained using sysfs like (last ++part of the path is used from the symlink): ++ ++```` ++ /sys/class/sound/card0/device/driver ++```` + + The driver name can be obtained using procfs like: + +-- +2.16.4 + diff --git a/0038-ucm2-Add-config-for-Rockchip-rk3399-gru-sound.patch b/0038-ucm2-Add-config-for-Rockchip-rk3399-gru-sound.patch new file mode 100644 index 0000000..e4871a4 --- /dev/null +++ b/0038-ucm2-Add-config-for-Rockchip-rk3399-gru-sound.patch @@ -0,0 +1,179 @@ +From 79c21c132da68849c429f7238070567d3dd001dc Mon Sep 17 00:00:00 2001 +From: Alper Nebi Yasak +Date: Wed, 8 Jul 2020 23:09:19 +0300 +Subject: [PATCH 38/51] ucm2: Add config for Rockchip/rk3399-gru-sound + +This is the internal card for a number of ChromeOS devices based on the +Gru board. Config is taken from ChromeOS sources [1] and modified to +mostly look like Rockchip/max98090. Tested on a Samsung Chromebook Plus +(rk3399-gru-kevin) running Linux 5.7+. + +[1] https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/75cf7da335c11469956c84ddfa4e2ca73b268441/overlay-kevin/chromeos-base/chromeos-bsp-kevin/files/audio-config/ucm-config/rk3399-gru-sound + +Signed-off-by: Alper Nebi Yasak +Signed-off-by: Jaroslav Kysela +--- + ucm2/Rockchip/rk3399-gru-sound/HiFi.conf | 125 +++++++++++++++++++++ + .../rk3399-gru-sound/rk3399-gru-sound.conf | 8 ++ + ucm2/module/rk3399-gru-sound.conf | 1 + + 3 files changed, 134 insertions(+) + create mode 100644 ucm2/Rockchip/rk3399-gru-sound/HiFi.conf + create mode 100644 ucm2/Rockchip/rk3399-gru-sound/rk3399-gru-sound.conf + create mode 120000 ucm2/module/rk3399-gru-sound.conf + +diff --git a/ucm2/Rockchip/rk3399-gru-sound/HiFi.conf b/ucm2/Rockchip/rk3399-gru-sound/HiFi.conf +new file mode 100644 +index 000000000000..4da6f1add200 +--- /dev/null ++++ b/ucm2/Rockchip/rk3399-gru-sound/HiFi.conf +@@ -0,0 +1,125 @@ ++SectionVerb { ++ Value { ++ MinBufferLevel "512" ++ } ++ ++ EnableSequence [ ++ cset "name='Stereo1 DMIC Mux' DMIC1" ++ cset "name='Sto1 ADC MIXL DMIC Switch' on" ++ cset "name='Sto1 ADC MIXR DMIC Switch' on" ++ ++ cset "name='Mixer Out FilterL DACL Switch' on" ++ cset "name='Mixer Out FilterR DACR Switch' on" ++ cset "name='Playback Digital Switch' on" ++ cset "name='Headphone Switch' on" ++ ++ cset "name='Mixin Volume' 11" ++ cset "name='Mixin Switch' on" ++ cset "name='Mixer In Mic Switch' on" ++ cset "name='Out DAIL Mux' ADC" ++ cset "name='Out DAIR Mux' ADC" ++ cset "name='ADC1 Capture Volume' 51" ++ cset "name='Mic Volume' 6" ++ cset "name='Capture Digital Switch' on" ++ cset "name='Mic Switch' on" ++ ++ cset "name='Speakers Switch' off" ++ cset "name='Int Mic Switch' off" ++ cset "name='Headphones Switch' off" ++ cset "name='Headset Mic Switch' off" ++ ] ++} ++ ++SectionDevice."Speaker" { ++ Comment "Speaker" ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId},0" ++ PlaybackMixerElem "Speakers" ++ } ++ ++ EnableSequence [ ++ cset "name='Speakers Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='Speakers Switch' off" ++ ] ++ ++ ConflictingDevice [ ++ "Headphones" ++ ] ++} ++ ++SectionDevice."Mic" { ++ Comment "Internal Microphone" ++ ++ Value { ++ CapturePriority 100 ++ CapturePCM "hw:${CardId},1" ++ CaptureMixerElem "ADC1" ++ } ++ ++ EnableSequence [ ++ cset "name='Int Mic Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='Int Mic Switch' off" ++ ] ++ ++ ConflictingDevice [ ++ "Headset" ++ ] ++} ++ ++SectionDevice."Headphones" { ++ Comment "Headphones" ++ ++ Value { ++ PlaybackPriority 200 ++ PlaybackPCM "hw:${CardId},2" ++ PlaybackMixerElem "Headphone" ++ JackControl "Headphones Jack" ++ } ++ ++ EnableSequence [ ++ cset "name='Headphones Switch' on" ++ cset "name='DAC Soft Mute Switch' off" ++ cset "name='Headphone Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='Headphone Switch' off" ++ cset "name='DAC Soft Mute Switch' on" ++ cset "name='Headphones Switch' off" ++ ] ++ ++ ConflictingDevice [ ++ "Speaker" ++ ] ++} ++ ++SectionDevice."Headset" { ++ Comment "Headset Microphone" ++ ++ Value { ++ CapturePriority 200 ++ CapturePCM "hw:${CardId},2" ++ CaptureMixerElem "Mic" ++ JackControl "Headset Mic Jack" ++ } ++ ++ EnableSequence [ ++ cset "name='Headset Mic Switch' on" ++ ] ++ ++ DisableSequence [ ++ cset "name='Headset Mic Switch' off" ++ ] ++ ++ ConflictingDevice [ ++ "Mic" ++ ] ++} +diff --git a/ucm2/Rockchip/rk3399-gru-sound/rk3399-gru-sound.conf b/ucm2/Rockchip/rk3399-gru-sound/rk3399-gru-sound.conf +new file mode 100644 +index 000000000000..afd7ac1678eb +--- /dev/null ++++ b/ucm2/Rockchip/rk3399-gru-sound/rk3399-gru-sound.conf +@@ -0,0 +1,8 @@ ++Syntax 2 ++ ++Comment "Rockchip Gru card" ++ ++SectionUseCase."HiFi" { ++ File "/Rockchip/rk3399-gru-sound/HiFi.conf" ++ Comment "Default" ++} +diff --git a/ucm2/module/rk3399-gru-sound.conf b/ucm2/module/rk3399-gru-sound.conf +new file mode 120000 +index 000000000000..9116f7731e1d +--- /dev/null ++++ b/ucm2/module/rk3399-gru-sound.conf +@@ -0,0 +1 @@ ++../Rockchip/rk3399-gru-sound/rk3399-gru-sound.conf +\ No newline at end of file +-- +2.16.4 + diff --git a/0039-amd-renoir-acp-use-the-machine-driver-s-name-for-top.patch b/0039-amd-renoir-acp-use-the-machine-driver-s-name-for-top.patch new file mode 100644 index 0000000..9fad5db --- /dev/null +++ b/0039-amd-renoir-acp-use-the-machine-driver-s-name-for-top.patch @@ -0,0 +1,37 @@ +From 35277f419b1dc0f8500d3ab4bceabf6cad05c76d Mon Sep 17 00:00:00 2001 +From: Hui Wang +Date: Tue, 21 Jul 2020 16:51:00 +0800 +Subject: [PATCH 39/51] amd/renoir/acp: use the machine driver's name for + top-level's conf + +On the machines with amd renoir audio, the /sys/class/sound/card2/ +device/driver links to /sys/bus/platform/drivers/acp_pdm_mach. + +Signed-off-by: Hui Wang +Signed-off-by: Jaroslav Kysela +--- + ucm2/module/acp_pdm_mach.conf | 1 + + ucm2/module/snd_acp3x_rn.conf | 1 - + 2 files changed, 1 insertion(+), 1 deletion(-) + create mode 120000 ucm2/module/acp_pdm_mach.conf + delete mode 120000 ucm2/module/snd_acp3x_rn.conf + +diff --git a/ucm2/module/acp_pdm_mach.conf b/ucm2/module/acp_pdm_mach.conf +new file mode 120000 +index 000000000000..b56794a7bc1f +--- /dev/null ++++ b/ucm2/module/acp_pdm_mach.conf +@@ -0,0 +1 @@ ++lib/linked.conf +\ No newline at end of file +diff --git a/ucm2/module/snd_acp3x_rn.conf b/ucm2/module/snd_acp3x_rn.conf +deleted file mode 120000 +index b56794a7bc1f..000000000000 +--- a/ucm2/module/snd_acp3x_rn.conf ++++ /dev/null +@@ -1 +0,0 @@ +-lib/linked.conf +\ No newline at end of file +-- +2.16.4 + diff --git a/0040-amd-renoir-acp-Add-Syntax-3-in-the-module-lib-Linked.patch b/0040-amd-renoir-acp-Add-Syntax-3-in-the-module-lib-Linked.patch new file mode 100644 index 0000000..f8908f5 --- /dev/null +++ b/0040-amd-renoir-acp-Add-Syntax-3-in-the-module-lib-Linked.patch @@ -0,0 +1,28 @@ +From 9ec8e7fb7c12cc144462fa923d0383e2212baebf Mon Sep 17 00:00:00 2001 +From: Hui Wang +Date: Wed, 22 Jul 2020 14:25:15 +0800 +Subject: [PATCH 40/51] amd/renoir/acp: Add Syntax 3 in the + module/lib/Linked.conf + +Otherwise the alsalib will report: +parser.c: Syntax field not found in xxx.conf + +Signed-off-by: Hui Wang +Signed-off-by: Jaroslav Kysela +--- + ucm2/module/lib/linked.conf | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ucm2/module/lib/linked.conf b/ucm2/module/lib/linked.conf +index d7656a8806f1..ca93c52dcb2b 100644 +--- a/ucm2/module/lib/linked.conf ++++ b/ucm2/module/lib/linked.conf +@@ -1,3 +1,5 @@ ++Syntax 3 ++ + ValueDefaults { + Linked 1 + } +-- +2.16.4 + diff --git a/0041-Correct-conflicting-mic-in-max98090.patch b/0041-Correct-conflicting-mic-in-max98090.patch new file mode 100644 index 0000000..0858702 --- /dev/null +++ b/0041-Correct-conflicting-mic-in-max98090.patch @@ -0,0 +1,32 @@ +From d3ffca2f9846afcc046a4253d914afe905a1a382 Mon Sep 17 00:00:00 2001 +From: jacobopantoja +Date: Thu, 6 Aug 2020 13:53:07 +0200 +Subject: [PATCH 41/51] Correct conflicting mic in max98090 + +'mic' was conflicting 'mic' instead of 'headset', thus preventing correct configuration regarding microphones. + +With this corrected, introducing a headset enables 'headset' mic and disables internal 'mic', whereas releasing the headset disables 'headset' mic and enables internal 'mic' + +BugLink: https://github.com/alsa-project/alsa-ucm-conf/pull/43 +From: acobopantoja@gmail.com +Signed-off-by: Jaroslav Kysela +--- + ucm2/codecs/max98090/InternalMic.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ucm2/codecs/max98090/InternalMic.conf b/ucm2/codecs/max98090/InternalMic.conf +index 01967a65e8e0..25056f5c28da 100644 +--- a/ucm2/codecs/max98090/InternalMic.conf ++++ b/ucm2/codecs/max98090/InternalMic.conf +@@ -8,7 +8,7 @@ SectionDevice."Mic" { + } + + ConflictingDevice [ +- "Mic" ++ "Headset" + ] + + EnableSequence [ +-- +2.16.4 + diff --git a/0042-HDA-Intel-HiFi-dual-Fix-the-Rear-Mic-s-Jack-name.patch b/0042-HDA-Intel-HiFi-dual-Fix-the-Rear-Mic-s-Jack-name.patch new file mode 100644 index 0000000..932ae73 --- /dev/null +++ b/0042-HDA-Intel-HiFi-dual-Fix-the-Rear-Mic-s-Jack-name.patch @@ -0,0 +1,43 @@ +From 368f10bdc3dbfd4f83ab348b54b8455f08fd1a9e Mon Sep 17 00:00:00 2001 +From: Hui Wang +Date: Mon, 17 Aug 2020 11:28:04 +0800 +Subject: [PATCH 42/51] HDA-Intel: HiFi-dual: Fix the Rear Mic's Jack name + +On the LENOVO P520 (dual codecs machine), the Jack name of Rear Mic is +"Rear Mic Jack" instead of "Mic Jack". + +Below is picked from alsa-info.txt on the LENOVO p520 machine: + control.18 { + iface CARD + name 'Rear Mic Jack' + value true + comment { + access read + type BOOLEAN + count 1 + } + } + +Signed-off-by: Hui Wang +BugLink: https://github.com/alsa-project/alsa-ucm-conf/pull/46 +Signed-off-by: Jaroslav Kysela +--- + ucm2/HDA-Intel/HiFi-dual.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ucm2/HDA-Intel/HiFi-dual.conf b/ucm2/HDA-Intel/HiFi-dual.conf +index 2eb74ee7a0c7..cff948efee91 100644 +--- a/ucm2/HDA-Intel/HiFi-dual.conf ++++ b/ucm2/HDA-Intel/HiFi-dual.conf +@@ -96,7 +96,7 @@ SectionDevice."Mic2" { + CapturePriority 300 + CapturePCM "hw:${CardId}" + JackHWMute "Line2" +- JackControl "Mic Jack" ++ JackControl "Rear Mic Jack" + } + + ConflictingDevice [ +-- +2.16.4 + diff --git a/0043-USB-Audio-Dell-WD15-Dock-make-input-and-output-volum.patch b/0043-USB-Audio-Dell-WD15-Dock-make-input-and-output-volum.patch new file mode 100644 index 0000000..a73aa66 --- /dev/null +++ b/0043-USB-Audio-Dell-WD15-Dock-make-input-and-output-volum.patch @@ -0,0 +1,87 @@ +From 15a3ab694c703530e0d9317116be5d28129986e0 Mon Sep 17 00:00:00 2001 +From: Hui Wang +Date: Mon, 17 Aug 2020 12:37:44 +0800 +Subject: [PATCH 43/51] USB-Audio: Dell-WD15-Dock: make input and output volume + adjustable + +Recently we found the input volume is too low for some specific +headset-mic, even we adjust the input volume to max from PA, we still +can't record the sound from that headset-mic. That is because we +change the input or output volume from PA, but the mixer's volume +is not changed, only PA's soft-volume is changed. + +Checking the amixer controls for the sound card in the WD19, it +supports MixerElem, Volume and Switch, and checking the sound card in +the WD15, it doesn't have Volume and Switch for Headphone and Line, +So adding the volume and switch control in the ucm conditionally. + +Signed-off-by: Hui Wang +BugLink: https://github.com/alsa-project/alsa-ucm-conf/pull/47 +Signed-off-by: Jaroslav Kysela +--- + ucm2/USB-Audio/Dell-WD15-Dock-HiFi.conf | 36 +++++++++++++++++++++++++++++++++ + 1 file changed, 36 insertions(+) + +diff --git a/ucm2/USB-Audio/Dell-WD15-Dock-HiFi.conf b/ucm2/USB-Audio/Dell-WD15-Dock-HiFi.conf +index 2f625e437b57..04355a7061b5 100644 +--- a/ucm2/USB-Audio/Dell-WD15-Dock-HiFi.conf ++++ b/ucm2/USB-Audio/Dell-WD15-Dock-HiFi.conf +@@ -4,6 +4,18 @@ SectionDevice."Headphones" { + Value { + PlaybackPriority 100 + PlaybackPCM "hw:${CardId}" ++ ++ If.Headphone_ctl { ++ Condition { ++ Type ControlExists ++ Control "name='Headphone Playback Switch'" ++ } ++ True { ++ PlaybackMixerElem "Headphone" ++ PlaybackVolume "Headphone Playback Volume" ++ PlaybackSwitch "Headphone Playback Switch" ++ } ++ } + } + } + +@@ -13,6 +25,18 @@ SectionDevice."Line" { + Value { + PlaybackPriority 200 + PlaybackPCM "hw:${CardId},1" ++ ++ If.Line_ctl { ++ Condition { ++ Type ControlExists ++ Control "name='Line Playback Switch'" ++ } ++ True { ++ PlaybackMixerElem "Line" ++ PlaybackVolume "Line Playback Volume" ++ PlaybackSwitch "Line Playback Switch" ++ } ++ } + } + } + +@@ -22,5 +46,17 @@ SectionDevice."Mic" { + Value { + CapturePriority 100 + CapturePCM "hw:${CardId}" ++ ++ If.Mic_ctl { ++ Condition { ++ Type ControlExists ++ Control "name='Mic Capture Switch'" ++ } ++ True { ++ CaptureMixerElem "Mic" ++ CaptureVolume "Mic Capture Volume" ++ CaptureSwitch "Mic Capture Switch" ++ } ++ } + } + } +-- +2.16.4 + diff --git a/0044-Rockchip-rk3399-gru-sound-remove-zero-PCM-subdevice.patch b/0044-Rockchip-rk3399-gru-sound-remove-zero-PCM-subdevice.patch new file mode 100644 index 0000000..388062a --- /dev/null +++ b/0044-Rockchip-rk3399-gru-sound-remove-zero-PCM-subdevice.patch @@ -0,0 +1,26 @@ +From 3a4539b00fa3a8852387af784b84af62c71a02d6 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Tue, 18 Aug 2020 17:39:50 +0200 +Subject: [PATCH 44/51] Rockchip/rk3399-gru-sound: remove zero PCM subdevice + +Signed-off-by: Jaroslav Kysela +--- + ucm2/Rockchip/rk3399-gru-sound/HiFi.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ucm2/Rockchip/rk3399-gru-sound/HiFi.conf b/ucm2/Rockchip/rk3399-gru-sound/HiFi.conf +index 4da6f1add200..4d2d3fa5d6a6 100644 +--- a/ucm2/Rockchip/rk3399-gru-sound/HiFi.conf ++++ b/ucm2/Rockchip/rk3399-gru-sound/HiFi.conf +@@ -35,7 +35,7 @@ SectionDevice."Speaker" { + + Value { + PlaybackPriority 100 +- PlaybackPCM "hw:${CardId},0" ++ PlaybackPCM "hw:${CardId}" + PlaybackMixerElem "Speakers" + } + +-- +2.16.4 + diff --git a/0045-ucm2-ucm.conf-fix-the-fix-the-sysfs-kernel-module-pa.patch b/0045-ucm2-ucm.conf-fix-the-fix-the-sysfs-kernel-module-pa.patch new file mode 100644 index 0000000..9d85150 --- /dev/null +++ b/0045-ucm2-ucm.conf-fix-the-fix-the-sysfs-kernel-module-pa.patch @@ -0,0 +1,31 @@ +From b3531451db3b4ac6aa8c6a8bec3992bcf30fffe4 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Wed, 19 Aug 2020 16:03:48 +0200 +Subject: [PATCH 45/51] ucm2: ucm.conf - fix the fix the sysfs kernel module + path + +The idea was to use the kernel module name not the driver name which +may be different. + +BugLink: https://github.com/alsa-project/alsa-lib/pull/79 +Signed-off-by: Jaroslav Kysela +--- + ucm2/ucm.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ucm2/ucm.conf b/ucm2/ucm.conf +index ec8287817a5a..ed410dde64ce 100644 +--- a/ucm2/ucm.conf ++++ b/ucm2/ucm.conf +@@ -51,7 +51,7 @@ If.driver { + Empty "${var:V2Module}" + } + False { +- Define.KernelModulePath "class/sound/card${CardNumber}/device/driver" ++ Define.KernelModulePath "class/sound/card${CardNumber}/device/driver/module" + Define.KernelModule "${sys:$KernelModulePath}" + UseCasePath.module { + Directory "module" +-- +2.16.4 + diff --git a/0046-Revert-amd-renoir-acp-use-the-machine-driver-s-name-.patch b/0046-Revert-amd-renoir-acp-use-the-machine-driver-s-name-.patch new file mode 100644 index 0000000..80c5000 --- /dev/null +++ b/0046-Revert-amd-renoir-acp-use-the-machine-driver-s-name-.patch @@ -0,0 +1,38 @@ +From ca1fdc8b251897266839a27a38980c28f3a5b5e6 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Wed, 19 Aug 2020 16:04:48 +0200 +Subject: [PATCH 46/51] Revert "amd/renoir/acp: use the machine driver's name + for top-level's conf" + +This reverts commit 35277f419b1dc0f8500d3ab4bceabf6cad05c76d. + +We use the snd_acp3x_rn kernel module name again with the correct +sysfs lookup. + +Signed-off-by: Jaroslav Kysela +--- + ucm2/module/acp_pdm_mach.conf | 1 - + ucm2/module/snd_acp3x_rn.conf | 1 + + 2 files changed, 1 insertion(+), 1 deletion(-) + delete mode 120000 ucm2/module/acp_pdm_mach.conf + create mode 120000 ucm2/module/snd_acp3x_rn.conf + +diff --git a/ucm2/module/acp_pdm_mach.conf b/ucm2/module/acp_pdm_mach.conf +deleted file mode 120000 +index b56794a7bc1f..000000000000 +--- a/ucm2/module/acp_pdm_mach.conf ++++ /dev/null +@@ -1 +0,0 @@ +-lib/linked.conf +\ No newline at end of file +diff --git a/ucm2/module/snd_acp3x_rn.conf b/ucm2/module/snd_acp3x_rn.conf +new file mode 120000 +index 000000000000..b56794a7bc1f +--- /dev/null ++++ b/ucm2/module/snd_acp3x_rn.conf +@@ -0,0 +1 @@ ++lib/linked.conf +\ No newline at end of file +-- +2.16.4 + diff --git a/0047-ucm2-module-rename-rk3399-gru-sound.conf-snd_soc_rk3.patch b/0047-ucm2-module-rename-rk3399-gru-sound.conf-snd_soc_rk3.patch new file mode 100644 index 0000000..1436096 --- /dev/null +++ b/0047-ucm2-module-rename-rk3399-gru-sound.conf-snd_soc_rk3.patch @@ -0,0 +1,35 @@ +From ec2d7eba314679e564b051ee497544d7d987b320 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Wed, 19 Aug 2020 16:15:04 +0200 +Subject: [PATCH 47/51] ucm2: module - rename rk3399-gru-sound.conf => + snd_soc_rk3399_gru_sound.conf + +We are using the real kernel module name for the first level selection now. + +Signed-off-by: Jaroslav Kysela +--- + ucm2/module/rk3399-gru-sound.conf | 1 - + ucm2/module/snd_soc_rk3399_gru_sound.conf | 1 + + 2 files changed, 1 insertion(+), 1 deletion(-) + delete mode 120000 ucm2/module/rk3399-gru-sound.conf + create mode 120000 ucm2/module/snd_soc_rk3399_gru_sound.conf + +diff --git a/ucm2/module/rk3399-gru-sound.conf b/ucm2/module/rk3399-gru-sound.conf +deleted file mode 120000 +index 9116f7731e1d..000000000000 +--- a/ucm2/module/rk3399-gru-sound.conf ++++ /dev/null +@@ -1 +0,0 @@ +-../Rockchip/rk3399-gru-sound/rk3399-gru-sound.conf +\ No newline at end of file +diff --git a/ucm2/module/snd_soc_rk3399_gru_sound.conf b/ucm2/module/snd_soc_rk3399_gru_sound.conf +new file mode 120000 +index 000000000000..9116f7731e1d +--- /dev/null ++++ b/ucm2/module/snd_soc_rk3399_gru_sound.conf +@@ -0,0 +1 @@ ++../Rockchip/rk3399-gru-sound/rk3399-gru-sound.conf +\ No newline at end of file +-- +2.16.4 + diff --git a/0048-ucm2-HDA-acp-add-Capture-simple-mixer-element-to-the.patch b/0048-ucm2-HDA-acp-add-Capture-simple-mixer-element-to-the.patch new file mode 100644 index 0000000..7039e91 --- /dev/null +++ b/0048-ucm2-HDA-acp-add-Capture-simple-mixer-element-to-the.patch @@ -0,0 +1,25 @@ +From 3320b1ac804595d6c145c1ad7af85917182a3c98 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Tue, 1 Sep 2020 13:57:18 +0200 +Subject: [PATCH 48/51] ucm2: HDA/acp - add Capture simple mixer element to the + ACP Mic device + +Signed-off-by: Jaroslav Kysela +--- + ucm2/HDA-Intel/HiFi-acp.conf | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/ucm2/HDA-Intel/HiFi-acp.conf b/ucm2/HDA-Intel/HiFi-acp.conf +index 123ae15f0406..15eeca527907 100644 +--- a/ucm2/HDA-Intel/HiFi-acp.conf ++++ b/ucm2/HDA-Intel/HiFi-acp.conf +@@ -4,5 +4,6 @@ SectionDevice."Mic1" { + Value { + CapturePriority 100 + CapturePCM "hw:${var:AcpCardId}" ++ CaptureMixerElem "Capture" + } + } +-- +2.16.4 + diff --git a/0049-HDA-Intel-only-add-the-acp-dmic-to-the-sound-card-wi.patch b/0049-HDA-Intel-only-add-the-acp-dmic-to-the-sound-card-wi.patch new file mode 100644 index 0000000..2f262b3 --- /dev/null +++ b/0049-HDA-Intel-only-add-the-acp-dmic-to-the-sound-card-wi.patch @@ -0,0 +1,63 @@ +From 4c703a5504deb1772cadfdc783257d9a927b422b Mon Sep 17 00:00:00 2001 +From: Hui Wang +Date: Thu, 20 Aug 2020 11:25:24 +0800 +Subject: [PATCH 49/51] HDA-Intel: only add the acp dmic to the sound card with + analog codec + +Without this change, the acp dmic will be added to both Intel sound +card (with analog codec) and Nvidia Hdmi audio sound card. + +Signed-off-by: Hui Wang +Signed-off-by: Jaroslav Kysela +--- + ucm2/HDA-Intel/HiFi.conf | 31 ++++++++++++++++--------------- + 1 file changed, 16 insertions(+), 15 deletions(-) + +diff --git a/ucm2/HDA-Intel/HiFi.conf b/ucm2/HDA-Intel/HiFi.conf +index 2d18c9ed627a..f09ce1cbeb90 100644 +--- a/ucm2/HDA-Intel/HiFi.conf ++++ b/ucm2/HDA-Intel/HiFi.conf +@@ -9,24 +9,25 @@ If.analog { + Type ControlExists + Control "name='Master Playback Switch'" + } +- True.Include.analog.File "/HDA-Intel/HiFi-analog.conf" ++ True { ++ Include.analog.File "/HDA-Intel/HiFi-analog.conf" ++ If.acp { ++ Condition { ++ Type String ++ Empty "${var:AcpCardId}" ++ } ++ True { ++ RenameDevice."Mic1" "Mic" ++ } ++ False.Include.acp { ++ Before.SectionDevice "Mic1" ++ File "/HDA-Intel/HiFi-acp.conf" ++ } ++ } ++ } + } + + If.hdmi { + Condition { Type String Empty "" } + True.Include.hdmi.File "/HDA-Intel/Hdmi.conf" + } +- +-If.acp { +- Condition { +- Type String +- Empty "${var:AcpCardId}" +- } +- True { +- RenameDevice."Mic1" "Mic" +- } +- False.Include.acp { +- Before.SectionDevice "Mic1" +- File "/HDA-Intel/HiFi-acp.conf" +- } +-} +-- +2.16.4 + diff --git a/0050-Add-support-for-Lenovo-ThinkStation-P620-Main-Audio.patch b/0050-Add-support-for-Lenovo-ThinkStation-P620-Main-Audio.patch new file mode 100644 index 0000000..89105d1 --- /dev/null +++ b/0050-Add-support-for-Lenovo-ThinkStation-P620-Main-Audio.patch @@ -0,0 +1,66 @@ +From ce06a252d60e41fc41134a6ea7914e7645029ab2 Mon Sep 17 00:00:00 2001 +From: Kai-Heng Feng +Date: Thu, 20 Aug 2020 22:12:02 +0800 +Subject: [PATCH 50/51] Add support for Lenovo ThinkStation P620 Main Audio + +This add support for its internal speaker and front headset. + +Signed-off-by: Kai-Heng Feng +Signed-off-by: Jaroslav Kysela +--- + .../Lenovo-ThinkStation-P620-Main-HiFi.conf | 29 ++++++++++++++++++++++ + ucm2/USB-Audio/Lenovo-ThinkStation-P620-Main.conf | 6 +++++ + 2 files changed, 35 insertions(+) + create mode 100644 ucm2/USB-Audio/Lenovo-ThinkStation-P620-Main-HiFi.conf + create mode 100644 ucm2/USB-Audio/Lenovo-ThinkStation-P620-Main.conf + +diff --git a/ucm2/USB-Audio/Lenovo-ThinkStation-P620-Main-HiFi.conf b/ucm2/USB-Audio/Lenovo-ThinkStation-P620-Main-HiFi.conf +new file mode 100644 +index 000000000000..c515d46699c7 +--- /dev/null ++++ b/ucm2/USB-Audio/Lenovo-ThinkStation-P620-Main-HiFi.conf +@@ -0,0 +1,29 @@ ++SectionDevice."Headphones" { ++ Comment "Headphones" ++ ++ Value { ++ PlaybackPriority 200 ++ PlaybackPCM "hw:${CardId},1" ++ JackControl "Headphone - Output Jack" ++ } ++} ++ ++SectionDevice."Mic" { ++ Comment "Mic" ++ ++ Value { ++ CapturePriority 200 ++ CapturePCM "hw:${CardId}" ++ JackControl "Mic - Input Jack" ++ } ++} ++ ++SectionDevice."Speaker" { ++ Comment "Speaker" ++ ++ Value { ++ PlaybackPriority 100 ++ PlaybackPCM "hw:${CardId}" ++ JackControl "Speaker - Output Jack" ++ } ++} +diff --git a/ucm2/USB-Audio/Lenovo-ThinkStation-P620-Main.conf b/ucm2/USB-Audio/Lenovo-ThinkStation-P620-Main.conf +new file mode 100644 +index 000000000000..53ef729acf03 +--- /dev/null ++++ b/ucm2/USB-Audio/Lenovo-ThinkStation-P620-Main.conf +@@ -0,0 +1,6 @@ ++Syntax 2 ++Comment "USB-audio on Lenovo ThinkStation P620 Main Audio" ++SectionUseCase."HiFi" { ++ Comment "Default" ++ File "Lenovo-ThinkStation-P620-Main-HiFi.conf" ++} +-- +2.16.4 + diff --git a/0051-ucm2-Qualcomm-sdm845-fixes-HDMI-select-card-and-HiFi.patch b/0051-ucm2-Qualcomm-sdm845-fixes-HDMI-select-card-and-HiFi.patch new file mode 100644 index 0000000..183bd5c --- /dev/null +++ b/0051-ucm2-Qualcomm-sdm845-fixes-HDMI-select-card-and-HiFi.patch @@ -0,0 +1,30 @@ +From 3048ff7b15a922985499fa04b12b6abe929b8e4a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= +Date: Mon, 31 Aug 2020 17:25:13 -0500 +Subject: [PATCH 51/51] ucm2: Qualcomm sdm845 fixes HDMI select card and HiFi + set DigitalVol +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Aníbal Limón +Signed-off-by: Jaroslav Kysela +--- + ucm2/Qualcomm/sdm845/HiFi.conf | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ucm2/Qualcomm/sdm845/HiFi.conf b/ucm2/Qualcomm/sdm845/HiFi.conf +index 1ef57c1e6019..2537acd1c1e0 100644 +--- a/ucm2/Qualcomm/sdm845/HiFi.conf ++++ b/ucm2/Qualcomm/sdm845/HiFi.conf +@@ -35,5 +35,7 @@ SectionDevice."Speaker" { + Value { + PlaybackPriority 100 + PlaybackPCM "hw:${CardId},1" ++ PlaybackVolume "RX1 Digital Volume" ++ PlaybackVolume "RX2 Digital Volume" + } + } +-- +2.16.4 + diff --git a/alsa-ucm-conf.changes b/alsa-ucm-conf.changes index 2cd6360..de6d442 100644 --- a/alsa-ucm-conf.changes +++ b/alsa-ucm-conf.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Mon Sep 7 14:26:35 CEST 2020 - tiwai@suse.de + +- Update from alsa-ucm-conf git (commit 3048ff7b15a9): + mainly for adding the support for sof-soundwire (bsc#1176200): + 0001-bytcr-rt5640-Fix-DMIC1-not-working-when-connected-ov.patch + 0002-bytcr-rt5651-Fix-high-noise-level-soft-input-on-DMIC.patch + 0003-chtrt5645-Add-ASUSTeKCOMPUTERINC.-T101HA-1.0.conf-sy.patch + 0004-sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch + 0005-ucm2-use-Include-Syntax-3.patch + 0006-chtrt5645-merge-all-possible-configurations-to-HiFi..patch + 0007-cht-bsw-rt5672-merge-all-possible-configurations-to-.patch + 0008-chtnau8824-merge-all-possible-configurations-to-HiFi.patch + 0009-ucm.conf-add-support-for-the-kernel-module-name-tree.patch + 0010-sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch + 0011-sof-hda-dsp-add-initial-kcontrol-values.patch + 0012-sof-hda-dsp-make-the-boot-init-optional-for-all-cont.patch + 0013-bdw-rt5677-add-support-for-legacy-and-SOF-drivers.patch + 0014-broadwell-rt286-add-SOF-support.patch + 0015-sof-soundwire-initial-UCM2-version.patch + 0016-sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch + 0017-sof-soundwire-rewrite-for-syntax-3.patch + 0018-sof-hda-dsp-fix-the-device-order-Hdmi-devices.patch + 0019-HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch + 0020-DAISY-I2S-move-to-Samsung-snow-snow.conf.patch + 0021-DB410c-move-to-Qualcomm-apq8016-sbc.patch + 0022-DB820c-DB845c-move-to-Qualcomm-tree.patch + 0023-PAZ00-tegraalc5632-move-to-Tegra-alc5632-tree.patch + 0024-VEYRON-I2C-move-to-Rockchip-max98090-tree.patch + 0025-Pandaboard-ES-move-to-OMAP-abe-twl6040-tree.patch + 0026-GoogleNyan-move-to-Tegra-max98090.patch + 0027-SDP4430-Move-to-OMAP-abe-twl6040-SDP4430-tree.patch + 0028-Fix-invalid-Regex-Type-in-various-Condition-blocks.patch + 0029-cht-bsw-rt5672-Add-Lenovo-Miix-2-10-specific-configu.patch + 0030-cht-bsw-rt5672-Add-Lenovo-ThinkPad-10-specific-confi.patch + 0031-cht-bsw-rt5672-Boost-ADC-volume-a-bit.patch + 0032-chtrt5645-Restore-stereo-sound-output-when-switching.patch + 0033-DB820c-Correctly-move-DB820c-to-Qualcomm-apq8096.patch + 0034-sof-hda-dsp-fixup-typo-in-Hdmi.conf.patch + 0035-sof-hda-dsp-use-sof-hda-dsp-Hdmi.conf.patch + 0036-hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch + 0037-update-ucm2-README.md-more-kernel-module-lookup-clar.patch + 0038-ucm2-Add-config-for-Rockchip-rk3399-gru-sound.patch + 0039-amd-renoir-acp-use-the-machine-driver-s-name-for-top.patch + 0040-amd-renoir-acp-Add-Syntax-3-in-the-module-lib-Linked.patch + 0041-Correct-conflicting-mic-in-max98090.patch + 0042-HDA-Intel-HiFi-dual-Fix-the-Rear-Mic-s-Jack-name.patch + 0043-USB-Audio-Dell-WD15-Dock-make-input-and-output-volum.patch + 0044-Rockchip-rk3399-gru-sound-remove-zero-PCM-subdevice.patch + 0045-ucm2-ucm.conf-fix-the-fix-the-sysfs-kernel-module-pa.patch + 0046-Revert-amd-renoir-acp-use-the-machine-driver-s-name-.patch + 0047-ucm2-module-rename-rk3399-gru-sound.conf-snd_soc_rk3.patch + 0048-ucm2-HDA-acp-add-Capture-simple-mixer-element-to-the.patch + 0049-HDA-Intel-only-add-the-acp-dmic-to-the-sound-card-wi.patch + 0050-Add-support-for-Lenovo-ThinkStation-P620-Main-Audio.patch + 0051-ucm2-Qualcomm-sdm845-fixes-HDMI-select-card-and-HiFi.patch + ------------------------------------------------------------------- Tue Jun 9 11:25:16 CEST 2020 - tiwai@suse.de diff --git a/alsa-ucm-conf.spec b/alsa-ucm-conf.spec index 7a39c5a..7ee8345 100644 --- a/alsa-ucm-conf.spec +++ b/alsa-ucm-conf.spec @@ -23,6 +23,57 @@ Summary: ALSA UCM Profiles License: BSD-3-Clause Url: http://www.alsa-project.org/ Source: ftp://ftp.alsa-project.org/pub/lib/alsa-ucm-conf-%{version}.tar.bz2 +Patch1: 0001-bytcr-rt5640-Fix-DMIC1-not-working-when-connected-ov.patch +Patch2: 0002-bytcr-rt5651-Fix-high-noise-level-soft-input-on-DMIC.patch +Patch3: 0003-chtrt5645-Add-ASUSTeKCOMPUTERINC.-T101HA-1.0.conf-sy.patch +Patch4: 0004-sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch +Patch5: 0005-ucm2-use-Include-Syntax-3.patch +Patch6: 0006-chtrt5645-merge-all-possible-configurations-to-HiFi..patch +Patch7: 0007-cht-bsw-rt5672-merge-all-possible-configurations-to-.patch +Patch8: 0008-chtnau8824-merge-all-possible-configurations-to-HiFi.patch +Patch9: 0009-ucm.conf-add-support-for-the-kernel-module-name-tree.patch +Patch10: 0010-sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch +Patch11: 0011-sof-hda-dsp-add-initial-kcontrol-values.patch +Patch12: 0012-sof-hda-dsp-make-the-boot-init-optional-for-all-cont.patch +Patch13: 0013-bdw-rt5677-add-support-for-legacy-and-SOF-drivers.patch +Patch14: 0014-broadwell-rt286-add-SOF-support.patch +Patch15: 0015-sof-soundwire-initial-UCM2-version.patch +Patch16: 0016-sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch +Patch17: 0017-sof-soundwire-rewrite-for-syntax-3.patch +Patch18: 0018-sof-hda-dsp-fix-the-device-order-Hdmi-devices.patch +Patch19: 0019-HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch +Patch20: 0020-DAISY-I2S-move-to-Samsung-snow-snow.conf.patch +Patch21: 0021-DB410c-move-to-Qualcomm-apq8016-sbc.patch +Patch22: 0022-DB820c-DB845c-move-to-Qualcomm-tree.patch +Patch23: 0023-PAZ00-tegraalc5632-move-to-Tegra-alc5632-tree.patch +Patch24: 0024-VEYRON-I2C-move-to-Rockchip-max98090-tree.patch +Patch25: 0025-Pandaboard-ES-move-to-OMAP-abe-twl6040-tree.patch +Patch26: 0026-GoogleNyan-move-to-Tegra-max98090.patch +Patch27: 0027-SDP4430-Move-to-OMAP-abe-twl6040-SDP4430-tree.patch +Patch28: 0028-Fix-invalid-Regex-Type-in-various-Condition-blocks.patch +Patch29: 0029-cht-bsw-rt5672-Add-Lenovo-Miix-2-10-specific-configu.patch +Patch30: 0030-cht-bsw-rt5672-Add-Lenovo-ThinkPad-10-specific-confi.patch +Patch31: 0031-cht-bsw-rt5672-Boost-ADC-volume-a-bit.patch +Patch32: 0032-chtrt5645-Restore-stereo-sound-output-when-switching.patch +Patch33: 0033-DB820c-Correctly-move-DB820c-to-Qualcomm-apq8096.patch +Patch34: 0034-sof-hda-dsp-fixup-typo-in-Hdmi.conf.patch +Patch35: 0035-sof-hda-dsp-use-sof-hda-dsp-Hdmi.conf.patch +Patch36: 0036-hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch +Patch37: 0037-update-ucm2-README.md-more-kernel-module-lookup-clar.patch +Patch38: 0038-ucm2-Add-config-for-Rockchip-rk3399-gru-sound.patch +Patch39: 0039-amd-renoir-acp-use-the-machine-driver-s-name-for-top.patch +Patch40: 0040-amd-renoir-acp-Add-Syntax-3-in-the-module-lib-Linked.patch +Patch41: 0041-Correct-conflicting-mic-in-max98090.patch +Patch42: 0042-HDA-Intel-HiFi-dual-Fix-the-Rear-Mic-s-Jack-name.patch +Patch43: 0043-USB-Audio-Dell-WD15-Dock-make-input-and-output-volum.patch +Patch44: 0044-Rockchip-rk3399-gru-sound-remove-zero-PCM-subdevice.patch +Patch45: 0045-ucm2-ucm.conf-fix-the-fix-the-sysfs-kernel-module-pa.patch +Patch46: 0046-Revert-amd-renoir-acp-use-the-machine-driver-s-name-.patch +Patch47: 0047-ucm2-module-rename-rk3399-gru-sound.conf-snd_soc_rk3.patch +Patch48: 0048-ucm2-HDA-acp-add-Capture-simple-mixer-element-to-the.patch +Patch49: 0049-HDA-Intel-only-add-the-acp-dmic-to-the-sound-card-wi.patch +Patch50: 0050-Add-support-for-Lenovo-ThinkStation-P620-Main-Audio.patch +Patch51: 0051-ucm2-Qualcomm-sdm845-fixes-HDMI-select-card-and-HiFi.patch BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -31,6 +82,57 @@ This package contains the profiles files for ALSA UCM (Use Case Manager). %prep %setup -q +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 +%patch11 -p1 +%patch12 -p1 +%patch13 -p1 +%patch14 -p1 +%patch15 -p1 +%patch16 -p1 +%patch17 -p1 +%patch18 -p1 +%patch19 -p1 +%patch20 -p1 +%patch21 -p1 +%patch22 -p1 +%patch23 -p1 +%patch24 -p1 +%patch25 -p1 +%patch26 -p1 +%patch27 -p1 +%patch28 -p1 +%patch29 -p1 +%patch30 -p1 +%patch31 -p1 +%patch32 -p1 +%patch33 -p1 +%patch34 -p1 +%patch35 -p1 +%patch36 -p1 +%patch37 -p1 +%patch38 -p1 +%patch39 -p1 +%patch40 -p1 +%patch41 -p1 +%patch42 -p1 +%patch43 -p1 +%patch44 -p1 +%patch45 -p1 +%patch46 -p1 +%patch47 -p1 +%patch48 -p1 +%patch49 -p1 +%patch50 -p1 +%patch51 -p1 %build