Syntax 6
SectionUseCase."HiFi" {
File "/sof-soundwire/HiFi.conf"
Comment "Play HiFi quality Music"
}
Include.card-init.File "/lib/card-init.conf"
Include.ctl-remap.File "/lib/ctl-remap.conf"
Define {
SpeakerCodec1 ""
SpeakerChannels1 "2"
SpeakerAmps1 "0"
HeadsetCodec1 ""
MicCodec1 ""
Mics1 "0"
Iec61937Pcms1 ""
MultiCodec1 ""
}
DefineRegex {
SpeakerCodec {
Regex " spk:([a-z0-9]+(-sdca)?)"
String "${CardComponents}"
}
SpeakerChannels {
Regex " cfg-spk:([0-9]+)"
String "${CardComponents}"
}
SpeakerAmps {
Regex " cfg-amp:([0-9]+)"
String "${CardComponents}"
}
HeadsetCodec {
Regex " hs:([a-z0-9]+(-sdca)?)"
String "${CardComponents}"
}
MicCodec {
Regex " mic:([a-z0-9]+(-dmic)?+(-sdca)?)"
String "${CardComponents}"
}
Mics {
Regex " cfg-mics:([1-9][0-9]*)"
String "${CardComponents}"
}
Iec61937Pcms {
Regex "iec61937-pcm:(([0-9]+(,))*[0-9]+)"
String "${CardComponents}"
}
MultiCodec {
Regex "(rt722(-sdca)?)"
String "${var:SpeakerCodec1} ${var:HeadsetCodec1} ${var:MicCodec1}"
}
}
If.multi_init {
Condition {
Type String
Empty "${var:MultiCodec1}"
}
False {
Define {
MultiSpeakerShadow "${var:SpeakerCodec1}"
MultiMicShadow "${var:MicCodec1}"
}
Include.multi_init.File "/codecs/${var:MultiCodec1}/init.conf"
}
}
If.multi_speaker {
Condition {
Type RegexMatch
Regex "${var:SpeakerCodec1}"
String "${var:MultiCodec1}"
}
True {
Define.SpeakerCodec1 ""
}
}
If.multi_mic {
Condition {
Type RegexMatch
Regex "${var:MicCodec1}"
String "${var:MultiCodec1}"
}
True {
Define.MicCodec1 ""
}
}
If.multi_headset {
Condition {
Type RegexMatch
Regex "${var:HeadsetCodec1}"
String "${var:MultiCodec1}"
}
True {
Define.HeadsetCodec1 ""
}
}
If.hs_init {
Condition {
Type RegexMatch
Regex "(cs42l43|rt5682|rt700|rt711|rt713(-sdca)?)"
String "${var:HeadsetCodec1}"
}
True.Include.hs_init.File "/codecs/${var:HeadsetCodec1}/init.conf"
}
If.mic_init {
Condition {
Type RegexMatch
Regex "(rt713-dmic|rt715(-sdca)?)"
String "${var:MicCodec1}"
}
True.Include.mic_init.File "/codecs/${var:MicCodec1}/init.conf"
}
If.mic_init_rt715 {
Condition {
Type String
Needle "rt715"
Haystack "${var:MicCodec1}"
}
True.BootSequence [
sysw "-/class/sound/ctl-led/mic/card${CardNumber}/detach:PGA5.0 5 Master Capture Switch"
]
}
If.pga_init_pga2 {
Condition {
Type ControlExists
Control "name='PGA2.0 2 Master Capture Switch'"
}
True.BootSequence [
cset "name='PGA2.0 2 Master Capture Switch' 1"
]
}
If.pga_init_pga5 {
Condition {
Type ControlExists
Control "name='PGA5.0 5 Master Capture Switch'"
}
True.BootSequence [
cset "name='PGA5.0 5 Master Capture Switch' 1"
]
}
If.mics-array {
Condition {
Type String
Empty "${var:Mics1}"
}
False.FixedBootSequence {
# dmic array info
exec "-nhlt-dmic-info -o ${var:LibDir}/dmics-nhlt.json"
}
}
Include.hdmi-pcm.File "/common/pcm/hdmi.conf"
If.Hdmi5-iec61937 {
Condition {
Type RegexMatch
Regex "((^|,)[5](,|$))"
String "${var:Iec61937Pcms1}"
}
True.Macro.hdmi5.HdmiPCM { Device 5 Index 0 }
}
If.Hdmi6-iec61937 {
Condition {
Type RegexMatch
Regex "((^|,)[6](,|$))"
String "${var:Iec61937Pcms1}"
}
True.Macro.hdmi6.HdmiPCM { Device 6 Index 1 }
}
If.Hdmi7-iec61937 {
Condition {
Type RegexMatch
Regex "((^|,)[7](,|$))"
String "${var:Iec61937Pcms1}"
}
True.Macro.hdmi7.HdmiPCM { Device 7 Index 2 }
}
If.HdmiIec61937 {
Condition {
Type RegexMatch
Regex "((^|,)[567](,|$))"
String "${var:Iec61937Pcms1}"
}
True.Macro.save_hdmi_cfg.HdmiPCMSave { Name "42-sof-hdmi" }
}