tgl/sof-rt5682: Probe for codecs

Instead of having a HiFi file for each codec variant, probe for codecs
and add include the ones found. Currently only supports rt5682s and
max98373, but more support will come.
common-codecs
WeirdTreeThing 2023-11-04 10:42:05 -04:00
parent 267c054d36
commit 534ea69fee
No known key found for this signature in database
GPG Key ID: 1F56A4B52998B851
12 changed files with 149 additions and 939 deletions

11
codecs/max98373/init.conf Normal file
View File

@ -0,0 +1,11 @@
# MAX98373 specific volume control settings
BootSequence [
cset "name='Left DAI Sel Mux' Right"
cset "name='Right DAI Sel Mux' Left"
cset "name='Left Digital Volume' 127"
cset "name='Right Digital Volume' 127"
cset "name='Left FS Max Volume' 7"
cset "name='Right FS Max Volume' 7"
]

View File

@ -0,0 +1,17 @@
SectionDevice."Speaker" {
Comment "Speaker"
Value {
PlaybackPriority 100
PlaybackPCM "hw:${CardId},0"
EchoReferenceDev "Echo Reference"
}
EnableSequence [
cset "name='Left VI Sense Switch' on"
cset "name='Right VI Sense Switch' on"
]
DisableSequence [
cset "name='Left VI Sense Switch' off"
cset "name='Right VI Sense Switch' off"
]
}

View File

@ -0,0 +1,38 @@
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."Headset" {
Comment "Headset Microphone"
Value {
CapturePriority 200
CapturePCM "hw:${CardId},1"
CaptureMixerElem "Headset Mic"
JackControl "Headset Mic Jack"
}
EnableSequence [
cset "name='Headset Mic Switch' on"
]
DisableSequence [
cset "name='Headset Mic Switch' off"
]
}

14
codecs/rt5682s/init.conf Normal file
View File

@ -0,0 +1,14 @@
# RT5682S specific volume control settings
BootSequence [
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' 28"
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"
]

View File

@ -1,118 +0,0 @@
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 "/common/pcm/split.conf"
Macro [
{
SplitPCM {
Name "tgl_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' 1"
cset "name='HPOR Playback Switch' 1"
cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1"
cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1"
]
DisableSequence [
cset "name='Headphone Jack Switch' off"
cset "name='HPOL Playback Switch' 0"
cset "name='HPOR Playback Switch' 0"
]
}
SectionDevice."Mic" {
Comment "Internal Microphone"
Value {
CapturePriority 100
CapturePCM "hw:${CardId},99"
CaptureChannels 4
}
Macro.pcm_split.SplitPCMDevice {
Name "tgl_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 Mic Jack"
}
EnableSequence [
cset "name='Headset Mic Switch' on"
]
DisableSequence [
cset "name='Headset Mic Switch' off"
]
}
Include.hdmi.File "/common/hdmi/hdmi2345.conf"

58
tgl/sof-rt5682/HiFi.conf Normal file
View File

@ -0,0 +1,58 @@
If.rt5682s {
Condition {
Type String
Haystack "${sys:bus/i2c/devices/i2c-RTL5682:00/modalias}"
Needle "apci:RTL5682:"
}
True.Include.headset.File "/codecs/rt5682s/headset.conf"
}
If.max98373 {
Condition {
Type String
Haystack "${sys:bus/i2c/devices/i2c-MX98373:00/modalias}"
Needle "apci:MX98373:"
}
True.Include.speaker.File "/codecs/max98373/speaker.conf"
}
Include.pcm_split.File "/common/pcm/split.conf"
Macro [
{
SplitPCM {
Name "tgl_stereo_in"
Direction Capture
Format S32_LE
Channels 2
HWChannels 4
HWChannelPos0 FL
HWChannelPos1 FR
HWChannelPos2 FL
HWChannelPos3 FR
}
}
]
SectionDevice."Mic" {
Comment "Internal Microphone"
Value {
CapturePrioirty 100
CapturePCM "hw:${CardId},99"
CaptureChannels 4
}
Macro.pcm_split.SplitPCMDevice {
Name "tgl_stereo_in"
Direction Capture
Device 99
HWChannels 4
Channels 2
Channel0 2
Channel1 3
ChannelPos0 FL
ChannelPos1 FR
}
}
Include.hdmi.File "/common/hdmi/hdmi2345.conf"

View File

@ -1,121 +0,0 @@
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 "/common/pcm/split.conf"
Macro [
{
SplitPCM {
Name "tgl_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' 1"
cset "name='HPOR Playback Switch' 1"
cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1"
cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1"
]
DisableSequence [
cset "name='Headphone Jack Switch' off"
cset "name='HPOL Playback Switch' 0"
cset "name='HPOR Playback Switch' 0"
]
}
SectionDevice."Mic" {
Comment "Internal Microphone"
Value {
CapturePrioirty 100
CapturePCM "hw:${CardId},99"
CaptureChannels 4
}
Macro.pcm_split.SplitPCMDevice {
Name "tgl_stereo_in"
Direction Capture
Device 99
HWChannels 4
Channels 2
Channel0 2
Channel1 3
ChannelPos0 FL
ChannelPos1 FR
}
}
SectionDevice."Headset" {
Comment "Headset Microphone"
Value {
CapturePriority 200
CapturePCM "hw:${CardId},1"
CaptureMixerElem "Headset Mic"
JackControl "Headset Mic Jack"
}
EnableSequence [
cset "name='Headset Mic Switch' on"
]
DisableSequence [
cset "name='Headset Mic Switch' off"
]
}
Include.hdmi.File "/common/hdmi/hdmi2345.conf"

View File

@ -1,91 +0,0 @@
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"
]
}
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' 1"
cset "name='HPOR Playback Switch' 1"
cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1"
cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1"
]
DisableSequence [
cset "name='Headphone Jack Switch' off"
cset "name='HPOL Playback Switch' 0"
cset "name='HPOR Playback Switch' 0"
]
}
SectionDevice."Mic" {
Comment "Internal Microphone"
Value {
CapturePriority 100
CapturePCM "hw:${CardId},99"
CaptureChannels 4
}
}
SectionDevice."Headset" {
Comment "Headset Microphone"
Value {
CapturePriority 200
CapturePCM "hw:${CardId},1"
CaptureMixerElem "Headset Mic"
JackControl "Headset Mic Jack"
}
EnableSequence [
cset "name='Headset Mic Switch' on"
]
DisableSequence [
cset "name='Headset Mic Switch' off"
]
}
Include.hdmi.File "/common/hdmi/hdmi234.conf"

View File

@ -1,137 +0,0 @@
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"
cset "name='Left AdvanceMode Initial Set' 17828384,17312037,17257728,51601492,52958962,53165653,53216544,53346574,53739520,86540288,87429212,356253696,85000368,84805383,84951200,84672717,356253796,356387192,356531727,86088640,86116869,86247339,86638729,52609184,52846583,51806020,17743872,84705485,50347805,85811200,85067714,84721869"
cset "name='Left AdvanceMode SEP BQ Coeff' 365954037,366063386,366091786,366163599,366222336,366280704,366346752,366411776,366477566,366545183,366609397,366718746,366747146,366818959,366877696,366936064,367002112,367067136,367132926,367200543,367264757,367374106,367402506,367474319,367533056,367591424,367657472,367722496,367788538,367910435,367920117,368029466,368057866,368129679,368188416,368246784,368312832,368377856,368443898,368565795,87069440,352330503,17257728,359662591,359781817,359800320,359867736,359923712,359989248,360062464,360120320,360185856,360256172,360317951,360437177,360455680,360523096,360579072,360644608,360717824,360775680,360841216,360911532,361759743,361878969,361897472,361964888,362020864,362086400,362159616,362217472,362283008,362353324,362415103,362534329,362552832,362620248,362676224,362741760,362814976,362872832,362938368,363008684,365153280,87294056,364380211,364476794,365153280,363986947,364107530,364118019,364213436,16973570"
cset "name='Left AdvanceMode EQ BQ Coeff' 120586749,120678088,120781824,120782848,120848896,120913920,120980474,121096768,121175557,121188130,121635325,121726664,121830400,121831424,121897472,121962496,122029050,122145344,122224133,122236706,122683899,122812992,122878998,122928328,122946028,123033654,123077601,123168116,123272731,123308992,118489600,118554624,117891084"
cset "name='Left AdvanceMode BQ UI Coeff' 373293312,374341632,373424178,373558067,373750808,374472754,374606643,374799384,375521830,375660544,375845960,376570756,376703795,376896536,377619432,377752371,377945112,378668508,378800947,378993688,386009040,386140979,386333720,387058616,387189555,387382296,388109192,388238131,388430872,389160768,389286707,389479448,117571596,373817744,369098874,369219630,369295300,369357998,369360896,369429705,374866320,369492090,369612846,369688516,369751214,369754173,369850592,101785600,101863519,101909572,101990400,102106630,102205700,102834176,102912095,102958148,103038976,103155206,103254276,103960907,104005696,104205318,104303887,371261968,372324886,100727808,103915520"
cset "name='Left AdvanceMode SmartBoost Coeff' 320995361,321062978,321126437,321202506,321257511,321382906,321388585,321473106,321519658,321628842,321912876,321981186,322043949,322136922,322175022,322292658,322306096,322382859,322437170,322563259,322568249,322686579,322699331,322793692,322830409,322937448,322961487,323081204,323092572,323172109,323223656,323328550,323354734,323472306,323485810,323566735,7864321"
cset "name='Right AdvanceMode Initial Set' 17828384,17312037,17257728,51601492,52958962,53165653,53216544,53346574,53739520,86540288,87429212,356253696,85000368,84805383,84951200,84672717,356253796,356387192,356531727,86088640,86116869,86247339,86638729,52609184,52846583,51806020,17743872,84705485,50347805,85811200,85067714,84721869"
cset "name='Right AdvanceMode SEP BQ Coeff' 365954037,366063386,366091786,366163599,366222336,366280704,366346752,366411776,366477566,366545183,366609397,366718746,366747146,366818959,366877696,366936064,367002112,367067136,367132926,367200543,367264757,367374106,367402506,367474319,367533056,367591424,367657472,367722496,367788538,367910435,367920117,368029466,368057866,368129679,368188416,368246784,368312832,368377856,368443898,368565795,87069440,352330503,17257728,359662591,359781817,359800320,359867736,359923712,359989248,360062464,360120320,360185856,360256172,360317951,360437177,360455680,360523096,360579072,360644608,360717824,360775680,360841216,360911532,361759743,361878969,361897472,361964888,362020864,362086400,362159616,362217472,362283008,362353324,362415103,362534329,362552832,362620248,362676224,362741760,362814976,362872832,362938368,363008684,365153280,87294056,364380211,364476794,365153280,363986947,364107530,364118019,364213436,16973570"
cset "name='Right AdvanceMode EQ BQ Coeff' 120586749,120678088,120781824,120782848,120848896,120913920,120980474,121096768,121175557,121188130,121635325,121726664,121830400,121831424,121897472,121962496,122029050,122145344,122224133,122236706,122683899,122812992,122878998,122928328,122946028,123033654,123077601,123168116,123272731,123308992,118489600,118554624,117891084"
cset "name='Right AdvanceMode BQ UI Coeff' 373293312,374341632,373424178,373558067,373750808,374472754,374606643,374799384,375521830,375660544,375845960,376570756,376703795,376896536,377619432,377752371,377945112,378668508,378800947,378993688,386009040,386140979,386333720,387058616,387189555,387382296,388109192,388238131,388430872,389160768,389286707,389479448,117571628,373817744,369098874,369219630,369295300,369357998,369360896,369429705,374866320,369492090,369612846,369688516,369751214,369754173,369850592,101785600,101863519,101909572,101990400,102106630,102205700,102834176,102912095,102958148,103038976,103155206,103254276,103960907,104005696,104205318,104303887,371261968,372324886,100727808,103915520"
cset "name='Right AdvanceMode SmartBoost Coeff' 320995361,321062978,321126437,321202506,321257511,321382906,321388585,321473106,321519658,321628842,321912876,321981186,322043949,322136922,322175022,322292658,322306096,322382859,322437170,322563259,322568249,322686579,322699331,322793692,322830409,322937448,322961487,323081204,323092572,323172109,323223656,323328550,323354734,323472306,323485810,323566735,7864321"
]
}
# Split 4ch dmic into 2 virtual 2ch mics
Include.pcm_split.File "/common/pcm/split.conf"
Macro [
{
SplitPCM {
Name "tgl_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='Left Spk Switch' on"
cset "name='Right Spk Switch' on"
]
DisableSequence [
cset "name='Left Spk Switch' off"
cset "name='Right Spk Switch' off"
]
}
SectionDevice."Headphone" {
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' 1"
cset "name='HPOR Playback Switch' 1"
cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1"
cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1"
]
DisableSequence [
cset "name='Headphone Jack Switch' off"
cset "name='HPOL Playback Switch' 0"
cset "name='HPOR Playback Switch' 0"
]
}
SectionDevice."Mic" {
Comment "Internal Microphone"
Value {
CapturePriority 100
CapturePCM "hw:${CardId},99"
CaptureChannels 4
CaptureMixer "default:${CardId}"
CaptureMixerElem "Mic 1"
}
Macro.pcm_split.SplitPCMDevice {
Name "tgl_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 Mic Jack"
}
EnableSequence [
cset "name='Headset Mic Switch' on"
]
DisableSequence [
cset "name='Headset Mic Switch' off"
]
}
Include.hdmi.File "/common/hdmi/hdmi2345.conf"

View File

@ -1,139 +0,0 @@
SectionVerb {
EnableSequence [
cset "name='Left DAI Sel Mux' Right"
cset "name='Right DAI Sel Mux' Left"
cset "name='Left Digital Volume' 127"
cset "name='Right Digital Volume' 127"
cset "name='Left FS Max Volume' 7"
cset "name='Right FS Max Volume' 7"
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' 1"
cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1"
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 "/common/pcm/split.conf"
Macro [
{
SplitPCM {
Name "tgl_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"
EchoReferenceDev "Echo Reference"
}
EnableSequence [
cset "name='Left VI Sense Switch' on"
cset "name='Left Spk Switch' on"
cset "name='Right VI Sense Switch' on"
cset "name='Right Spk Switch' on"
]
DisableSequence [
cset "name='Left VI Sense Switch' off"
cset "name='Left Spk Switch' off"
cset "name='Right VI Sense Switch' off"
cset "name='Right 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' 1"
cset "name='HPOR Playback Switch' 1"
]
DisableSequence [
cset "name='Headphone Jack Switch' off"
cset "name='HPOL Playback Switch' 0"
cset "name='HPOR Playback Switch' 0"
]
}
SectionDevice."Echo Reference" {
Comment "Echo Reference"
Value {
CapturePCM "hw:${CardId},0"
}
}
SectionDevice."Mic" {
Comment "Internal Microphone"
Value {
CapturePriority 100
CapturePCM "hw:${CardId},99"
CaptureChannels 4
}
Macro.pcm_split.SplitPCMDevice {
Name "tgl_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 Mic Jack"
}
EnableSequence [
cset "name='Headset Mic Switch' on"
]
DisableSequence [
cset "name='Headset Mic Switch' off"
]
}
Include.hdmi.File "/common/hdmi/hdmi2345.conf"

View File

@ -1,149 +0,0 @@
SectionVerb {
EnableSequence [
cset "name='Left DAI Sel Mux' Right"
cset "name='Right DAI Sel Mux' Left"
cset "name='Left Digital Volume' 127"
cset "name='Right Digital Volume' 127"
cset "name='Left FS Max Volume' 7"
cset "name='Right FS Max Volume' 7"
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' 28"
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 "/common/pcm/split.conf"
Macro [
{
SplitPCM {
Name "tgl_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"
EchoReferenceDev "Echo Reference"
}
EnableSequence [
cset "name='Left VI Sense Switch' on"
cset "name='Right VI Sense Switch' on"
]
DisableSequence [
cset "name='Left VI Sense Switch' off"
cset "name='Right VI Sense 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."Echo Reference" {
Comment "Echo Reference"
Value {
CapturePCM "hw:${CardId},0"
}
}
SectionDevice."Mic" {
Comment "Front Mic"
Value {
CapturePriority 100
CapturePCM "hw:${CardId},99"
CaptureChannels 4
}
Macro.pcm_split.SplitPCMDevice {
Name "tgl_stereo_in"
Direction Capture
Device 99
HWChannels 4
Channels 2
Channel0 1
Channel1 0
ChannelPos0 FL
ChannelPos1 FR
}
}
SectionDevice."Mic 1" {
Comment "Rear Mic"
Value {
CapturePriority 100
CapturePCM "hw:${CardId},99"
CaptureChannels 4
}
Macro.pcm_split.SplitPCMDevice {
Name "tgl_stereo_in"
Direction Capture
Device 99
HWChannels 4
Channels 2
Channel0 2
Channel1 2
ChannelPos0 FL
ChannelPos1 FR
}
}
SectionDevice."Headset" {
Comment "Headset Microphone"
Value {
CapturePriority 200
CapturePCM "hw:${CardId},1"
CaptureMixerElem "Headset Mic"
JackControl "Headset Mic Jack"
}
EnableSequence [
cset "name='Headset Mic Switch' on"
]
DisableSequence [
cset "name='Headset Mic Switch' off"
]
}
Include.hdmi.File "/common/hdmi/hdmi2345.conf"

View File

@ -1,197 +1,24 @@
Syntax 6
If.delbin {
Condition {
Type String
Haystack "${sys:devices/virtual/dmi/id/product_name}"
Needle "Delbin"
}
True {
If.rt5682vs {
Condition {
Type RegexMatch
Regex "^sku(65541)$"
String "${sys:devices/virtual/dmi/id/product_sku}"
}
True.SectionUseCase."HiFi" {
File "HiFi.max98373.rt5682vs.conf"
Comment "Default"
}
False.SectionUseCase."HiFi" {
File "HiFi.max98373.conf"
Comment "Default"
}
}
}
SectionUseCase."HiFi" {
File "HiFi.conf"
Comment "Default"
}
If.collis {
If.rt5682s {
Condition {
Type String
Haystack "${sys:devices/virtual/dmi/id/product_name}"
Needle "Collis"
}
True {
If.rt5682vs {
Condition {
Type RegexMatch
Regex "^sku(983045|983046|983047|983048)$"
String "${sys:devices/virtual/dmi/id/product_sku}"
}
True.SectionUseCase."HiFi" {
File "HiFi.max98373.rt5682vs.conf"
Comment "Default"
}
False.SectionUseCase."HiFi" {
File "HiFi.max98373.conf"
Comment "Default"
}
}
Haystack "${sys:bus/i2c/devices/i2c-RTL5682:00/modalias}"
Needle "apci:RTL5682:"
}
True.Include.codec-init.File "/codecs/rt5682s/init.conf"
}
If.copano {
If.max98373 {
Condition {
Type String
Haystack "${sys:devices/virtual/dmi/id/product_name}"
Needle "Copano"
}
True {
If.rt5682vs {
Condition {
Type RegexMatch
Regex "^sku(917507)$"
String "${sys:devices/virtual/dmi/id/product_sku}"
}
True.SectionUseCase."HiFi" {
File "HiFi.max98373.rt5682vs.conf"
Comment "Default"
}
False.SectionUseCase."HiFi" {
File "HiFi.max98373.conf"
Comment "Default"
}
}
}
}
If.drobit {
Condition {
Type String
Haystack "${sys:devices/virtual/dmi/id/product_name}"
Needle "Drobit"
}
True {
If.rt5682vs {
Condition {
Type RegexMatch
Regex "^sku(786436|786437|786438)$"
String "${sys:devices/virtual/dmi/id/product_sku}"
}
True.SectionUseCase."HiFi" {
File "HiFi.max98373.rt5682vs.conf"
Comment "Default"
}
False.SectionUseCase."HiFi" {
File "HiFi.max98373.conf"
Comment "Default"
}
}
}
}
If.voema {
Condition {
Type String
Haystack "${sys:devices/virtual/dmi/id/product_name}"
Needle "Voema"
}
True.SectionUseCase."HiFi" {
File "HiFi.max98373.conf"
Comment "Default"
}
}
If.volet {
Condition {
Type String
Haystack "${sys:devices/virtual/dmi/id/product_name}"
Needle "Volet"
}
True.SectionUseCase."HiFi" {
File "HiFi.max98373.conf"
Comment "Default"
}
}
If.volta {
Condition {
Type String
Haystack "${sys:devices/virtual/dmi/id/product_name}"
Needle "Volta"
}
True.SectionUseCase."HiFi" {
File "HiFi.max98373.conf"
Comment "Default"
}
}
If.voxel {
Condition {
Type String
Haystack "${sys:devices/virtual/dmi/id/product_name}"
Needle "Voxel"
}
True.SectionUseCase."HiFi" {
File "HiFi.max98373.conf"
Comment "Default"
}
}
If.elemi {
Condition {
Type String
Haystack "${sys:devices/virtual/dmi/id/product_name}"
Needle "Elemi"
}
True.SectionUseCase."HiFi" {
File "HiFi.elemi.conf"
Comment "Default"
}
}
If.eldrid {
Condition {
Type String
Haystack "${sys:devices/virtual/dmi/id/product_name}"
Needle "Eldrid"
}
True.SectionUseCase."HiFi" {
File "HiFi.eldrid.conf"
Comment "Default"
}
}
If.chronicler {
Condition {
Type String
Haystack "${sys:devices/virtual/dmi/id/product_name}"
Needle "Chronicler"
}
True.SectionUseCase."HiFi" {
File "HiFi.chronicler.conf"
Comment "Default"
}
}
If.lillipup {
Condition {
Type RegexMatch
Regex "^(Lillipup|Lindar)$"
String "${sys:devices/virtual/dmi/id/product_name}"
}
True.SectionUseCase."HiFi" {
File "HiFi.lillipup.conf"
Comment "Default"
Haystack "${sys:bus/i2c/devices/i2c-MX98373:00/modalias}"
Needle "apci:MX98373:"
}
True.Include.codec-init.File "/codecs/max98373/init.conf"
}