SectionVerb {
	# ALSA PCM
	Value {
		TQ "HiFi"

		# ALSA PCM device for HiFi
		PlaybackPCM "hw:chtrt5645"
		CapturePCM "hw:chtrt5645"
	}

	EnableSequence [
		cdev "hw:chtrt5645"

		<platforms/bytcr/PlatformEnableSeq.conf>
		<codecs/rt5645/EnableSeq.conf>

		cset "name='Stereo1 ADC1 Mux' 1"
		cset "name='I2S2 Func Switch' on"
		# 3/12 the headphone mic tends to be quite loud
		cset "name='IN1 Boost' 3"
		# 8/8 the internal analog mic tends to be quite soft
		cset "name='IN2 Boost' 8"
	]

	DisableSequence [
		cdev "hw:chtrt5645"

		<codecs/rt5645/DisableSeq.conf>
	]
}

SectionDevice."Speaker" {
	Comment "Speaker"

	Value {
		PlaybackChannels "2"
	}

	ConflictingDevice [
		"Headphones"
	]

	EnableSequence [
		cdev "hw:chtrt5645"

		<codecs/rt5645/SpeakerEnableSeq.conf>
	]

	DisableSequence [
		cdev "hw:chtrt5645"

		cset "name='Ext Spk Switch' off"
		cset "name='Speaker Channel Switch' off"
	]
}

SectionDevice."Headphones" {
	Comment "Headphones"

	Value {
		PlaybackChannels "2"
		JackControl "Headphone Jack"
		JackHWMute "Speaker"
	}

	ConflictingDevice [
		"Speaker"
	]

	EnableSequence [
		cdev "hw:chtrt5645"

		<codecs/rt5645/HeadphonesEnableSeq.conf>
	]

	DisableSequence [
		cdev "hw:chtrt5645"

		cset "name='Headphone Switch' off"
		cset "name='Headphone Channel Switch' off"
	]
}

SectionDevice."DMic".0 {
	Comment "Internal Microphone"

	Value {
		CaptureChannels "2"
		CapturePriority "150"
	}

	EnableSequence [
		cdev "hw:chtrt5645"

		<codecs/rt5645/DigitalMicEnableSeq.conf>

		cset "name='Stereo1 DMIC Mux' DMIC1"
		cset "name='Stereo1 ADC2 Mux' DMIC"
		cset "name='Mono ADC L2 Mux' DMIC"
		cset "name='Mono ADC R2 Mux' DMIC"
	]

	DisableSequence [
		cdev "hw:chtrt5645"

		<codecs/rt5645/DigitalMicDisableSeq.conf>
	]
}

SectionDevice."HSMic".0 {
	Comment "Headset Microphone"

	Value {
		CaptureChannels "2"
		JackControl "Headset Mic Jack"
		JackHWMute "DMic"
	}

	EnableSequence [
		cdev "hw:chtrt5645"

		<codecs/rt5645/HSMicEnableSeq.conf>

		cset "name='Sto1 ADC MIXL ADC2 Switch' off"
		cset "name='Sto1 ADC MIXR ADC2 Switch' off"

		cset "name='Mono ADC MIXL ADC1 Switch' on"
		cset "name='Mono ADC MIXR ADC1 Switch' on"
		cset "name='Mono ADC MIXL ADC2 Switch' off"
		cset "name='Mono ADC MIXR ADC2 Switch' off"
	]

	DisableSequence [
		cdev "hw:chtrt5645"

		<codecs/rt5645/HSMicEnableSeq.conf>

		cset "name='Mono ADC MIXL ADC1 Switch' on"
		cset "name='Mono ADC MIXR ADC1 Switch' on"
	]
}
