Mics1 "0"
Iec61937Pcms1 ""
MultiCodec1 ""
- MultiCodecRegex "rt712|rt713|rt721|rt722|rt1320|es9356"
+ MultiCodecRegex "rt712|rt713|rt721|rt722|rt1320|es9356|tac5572"
}
DefineRegex {
Macro.rt722.MultiCodecInit "CodecId=rt722"
Macro.rt1320.MultiCodecInit "CodecId=rt1320"
Macro.es9356.MultiCodecInit "CodecId=es9356"
+ Macro.tac5572.MultiCodecInit "CodecId=tac5572"
}
}
--- /dev/null
+# Use case Configuration for sof-soundwire card
+# Texas Instruments TAC5572 audio codec
+
+If.codec_spk {
+ Condition {
+ Type RegexMatch
+ Regex "(tac5572)"
+ String "${var:SpeakerCodec1}"
+ }
+ True {
+ SectionDevice."Speaker" {
+ Comment "Speaker"
+
+ ConflictingDevice [
+ "Headphones"
+ ]
+
+ 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"
+ ]
+
+ Value {
+ PlaybackPriority 100
+ PlaybackPCM "hw:${CardId},2"
+ PlaybackVolume "tac5572 Speaker Volume"
+ }
+ }
+ }
+}
+
+If.codec_hs {
+ Condition {
+ Type RegexMatch
+ Regex "(tac5572)"
+ String "${var:HeadsetCodec1}"
+ }
+ True {
+ SectionDevice."Headphones" {
+ Comment "Headphones"
+
+ ConflictingDevice [
+ "Speaker"
+ ]
+
+ EnableSequence [
+ cset "name='Headphone Switch' on"
+ ]
+
+ DisableSequence [
+ cset "name='Headphone Switch' off"
+ ]
+
+ Value {
+ PlaybackPriority 200
+ PlaybackPCM "hw:${CardId}"
+ PlaybackVolume "tac5572 UAJ Playback Volume"
+ JackControl "Headphone Jack"
+ }
+ }
+
+ SectionDevice."Headset" {
+ Comment "Headset Microphone"
+
+ EnableSequence [
+ cset "name='Headset Mic Switch' on"
+ ]
+
+ DisableSequence [
+ cset "name='Headset Mic Switch' off"
+ ]
+
+ Value {
+ CapturePriority 200
+ CapturePCM "hw:${CardId},1"
+ CaptureSwitch "Headset Mic Switch"
+ CaptureVolume "tac5572 UAJ Capture Volume"
+ JackControl "Headset Mic Jack"
+ }
+ }
+ }
+}