adl: Add Primus UCM

common-codecs
WeirdTreeThing 2023-10-08 15:31:01 -04:00
parent 8d764b66af
commit 5fccbeda9f
No known key found for this signature in database
GPG Key ID: 1F56A4B52998B851
3 changed files with 255 additions and 1 deletions

View File

@ -0,0 +1,121 @@
SectionVerb {
EnableSequence [
cset "name='Headphone Jack Switch' off"
cset "name='HPOL Playback Switch' off"
cset "name='HPOR Playback Switch' off"
cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0"
cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0"
cset "name='Stereo1 ADC L Mux' 0"
cset "name='STO1 ADC Capture Switch' on"
cset "name='RECMIX1L CBJ Switch' 1"
cset "name='IF1 01 ADC Swap Mux' 2"
cset "name='CBJ Boost Volume' 3"
cset "name='Stereo1 ADC L1 Mux' 1"
cset "name='Stereo1 ADC R1 Mux' 1"
cset "name='Stereo1 ADC MIXL ADC2 Switch' 0"
cset "name='Stereo1 ADC MIXR ADC2 Switch' 0"
cset "name='Stereo1 ADC MIXL ADC1 Switch' 1"
cset "name='Stereo1 ADC MIXR ADC1 Switch' 1"
]
}
# Split 4ch dmic into 2 virtual 2ch mics
Include.pcm_split.File "/conf.d/dmic-common/split.conf"
Macro [
{
SplitPCM {
Name "adl_stereo_in"
Direction Capture
Format S32_LE
Channels 2
HWChannels 4
HWChannelPos0 FL
HWChannelPos1 FR
HWChannelPos2 FL
HWChannelPos3 FR
}
}
]
SectionDevice."Speaker" {
Comment "Speaker"
Value {
PlaybackPriority 100
PlaybackPCM "hw:${CardId},0"
}
EnableSequence [
cset "name='Spk Switch' on"
]
DisableSequence [
cset "name='Spk Switch' off"
]
}
SectionDevice."Headphones" {
Comment "Headphones"
Value {
PlaybackPriority 200
PlaybackPCM "hw:${CardId},1"
PlaybackMixerElem "DAC1"
JackControl "Headphone Jack"
}
EnableSequence [
cset "name='Headphone Jack Switch' on"
cset "name='HPOL Playback Switch' on"
cset "name='HPOR Playback Switch' on"
cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1"
cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1"
]
DisableSequence [
cset "name='Headphone Jack Switch' off"
cset "name='HPOL Playback Switch' off"
cset "name='HPOR Playback Switch' off"
cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0"
cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0"
]
}
SectionDevice."Mic" {
Comment "Internal Microphone"
Value {
CapturePriority 100
CapturePCM "hw:${CardId},99"
CaptureChannels 4
}
Macro.pcm_split.SplitPCMDevice {
Name "adl_stereo_in"
Direction Capture
Device 99
HWChannels 4
Channels 2
Channel0 0
Channel1 1
ChannelPos0 FL
ChannelPos1 FR
}
}
SectionDevice."Headset" {
Comment "Headset Microphone"
Value {
CapturePriority 200
CapturePCM "hw:${CardId},1"
CaptureMixerElem "Headset Mic"
JackControl "Headphone Jack"
}
EnableSequence [
cset "name='Headset Mic Switch' on"
]
DisableSequence [
cset "name='Headset Mic Switch' off"
]
}
Include.hdmi.File "/conf.d/hdmi-common/hdmi2345.conf"

View File

@ -0,0 +1,108 @@
SectionVerb {
EnableSequence [
cset "name='Stereo1 DAC MIXL DAC L1 Switch' off"
cset "name='Stereo1 DAC MIXR DAC R1 Switch' off"
cset "name='RECMIX1L CBJ Switch' on"
cset "name='IF1 01 ADC Swap Mux' L/L"
cset "name='CBJ Boost Volume' 27"
cset "name='Stereo1 ADC L Mux' ADC1 L"
cset "name='Stereo1 ADC L1 Mux' ADC"
cset "name='Stereo1 ADC MIXL ADC2 Switch' off"
cset "name='Stereo1 ADC MIXL ADC1 Switch' on"
]
}
# Split 4ch dmic into 2 virtual 2ch mics
Include.pcm_split.File "/conf.d/dmic-common/split.conf"
Macro [
{
SplitPCM {
Name "adl_stereo_in"
Direction Capture
Format S32_LE
Channels 2
HWChannels 4
HWChannelPos0 FL
HWChannelPos1 FR
HWChannelPos2 FL
HWChannelPos3 FR
}
}
]
SectionDevice."Speaker" {
Comment "Speaker"
Value {
PlaybackPriority 100
PlaybackPCM "hw:${CardId},0"
}
EnableSequence [
cset "name='Spk Switch' on"
]
DisableSequence [
cset "name='Spk Switch' off"
]
}
SectionDevice."Headphones" {
Comment "Headphones"
Value {
PlaybackPriority 200
PlaybackPCM "hw:${CardId},1"
PlaybackMixerElem "DAC1"
JackControl "Headphone jack"
}
EnableSequence [
cset "name='Headphone Jack Switch' on"
cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1"
cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1"
]
DisableSequence [
cset "name='Headphone Jack Switch' off"
cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0"
cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0"
]
}
SectionDevice."Mic" {
Comment "Internal Microphone"
Value {
CapturePriority 100
CapturePCM "hw:${CardId},99"
CaptureChannels 4
}
Macro.pcm_split.SplitPCMDevice {
Name "adl_stereo_in"
Direction Capture
Device 99
HWChannels 4
Channels 2
Channel0 0
Channel1 1
ChannelPos0 FL
ChannelPos1 FR
}
}
SectionDevice."Headset" {
Comment "Headset Microphone"
Value {
CapturePriority 200
CapturePCM "hw:${CardId},1"
CaptureMixerElem "Headset Mic"
JackControl "Headset Jack"
}
EnableSequence [
cset "name='Headset Mic Switch' on"
]
DisableSequence [
cset "name='Headset Mic Switch' off"
]
}
Include.hdmi.File "/conf.d/hdmi-common/hdmi2345.conf"

View File

@ -10,7 +10,7 @@ If.felwinter {
If.rt5682vs {
Condition {
Type RegexMatch
Regex "^sku(2147483647|524290|524291|524292|524293)$"
Regex "^sku(196865|196866|196867|196868|196869|196870|196871|196872|196873|196874|196875|196876|196877|196878|196879|196880|197121|197122|197123|197124|197125|197126|197127|197128|197129|197130|197131|197132|197133|197134|197135|197136)$"
String "${sys:devices/virtual/dmi/id/product_sku}"
}
True.SectionUseCase."HiFi" {
@ -25,6 +25,31 @@ If.felwinter {
}
}
If.primus {
Condition {
Type String
Haystack "${sys:devices/virtual/dmi/id/product_name}"
Needle "Primus"
}
True {
If.rt5682vs {
Condition {
Type RegexMatch
Regex "^sku(2147483647|524290|524291|524292|524293)$"
String "${sys:devices/virtual/dmi/id/product_sku}"
}
True.SectionUseCase."HiFi" {
File "HiFi.primus.rt5682vs.conf"
Comment "Default"
}
False.SectionUseCase."HiFi" {
File "HiFi.primus.conf"
Comment "Default"
}
}
}
}
If.banshee {
Condition {
Type String