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"
}

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}"
	}
}

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"
	}
}
