# Master file for snd_soc_msm Tapan sound card
# Lists all use case verbs
SectionUseCase."HiFi" {
Comment "Music playback use case"
SectionVerb
	Name "HiFi"

	EnableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia1':1:1
	EndSequence

	DisableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia1':1:0
	EndSequence

	# ALSA PCMs
	CapturePCM 0
	PlaybackPCM 0

EndSection

SectionVerb
        Name "HiFiPROXY Rx"

        EnableSequence
                'AFE_PCM_RX Audio Mixer MultiMedia1':1:1
        EndSequence

        DisableSequence
                'AFE_PCM_RX Audio Mixer MultiMedia1':1:0
        EndSequence

        # ALSA PCMs
        CapturePCM 0
        PlaybackPCM 0

EndSection

SectionVerb
        Name "HiFi LowlatencyPROXY Rx"

        EnableSequence
                'AFE_PCM_RX Audio Mixer MultiMedia5':1:1
        EndSequence

        DisableSequence
                'AFE_PCM_RX Audio Mixer MultiMedia5':1:0
        EndSequence

        # ALSA PCMs
        PlaybackPCM 15

EndSection
}
SectionUseCase."HiFi2" {
Comment "Music playback use case for MM2 FE"
SectionVerb
	Name "HiFi2"

	EnableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia2':1:1
	EndSequence

	DisableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia2':1:0
	EndSequence

	# ALSA PCMs
	CapturePCM 1
	PlaybackPCM 1

EndSection
}
SectionUseCase."HiFi3" {
Comment "Music playback use case for MM3 FE"
SectionVerb
	Name "HiFi3"

	EnableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia5':1:1
	EndSequence

	DisableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia5':1:0
	EndSequence

	# ALSA PCMs
	CapturePCM 14
	PlaybackPCM 14

EndSection
}
SectionUseCase."HiFi Low Power" {
Comment "LPA use case"
SectionVerb
	Name "HiFi Low Power"

	EnableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia3':1:1
	EndSequence

	DisableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia3':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 4

EndSection
}
SectionUseCase."HiFi Rec" {
Comment "Recording use case"
SectionVerb
	Name "HiFi Rec"

	EnableSequence
		'MultiMedia1 Mixer SLIM_0_TX':1:1
	EndSequence

	DisableSequence
		'MultiMedia1 Mixer SLIM_0_TX':1:0
	EndSequence

	# ALSA PCMs
	CapturePCM 0
	PlaybackPCM 0

EndSection
}
SectionUseCase."HiFi Rec2" {
Comment "Recording use case 2"
SectionVerb
	Name "HiFi Rec2"

	EnableSequence
		'MultiMedia2 Mixer SLIM_0_TX':1:1
	EndSequence

	DisableSequence
		'MultiMedia2 Mixer SLIM_0_TX':1:0
	EndSequence

	# ALSA PCMs
	CapturePCM 1
	PlaybackPCM 1

EndSection
}
SectionUseCase."HiFi Rec Compressed" {
Comment "HiFi Rec Compressed use case"
SectionVerb
	Name "HiFi Rec Compressed"

	EnableSequence
		'MultiMedia4 Mixer SLIM_0_TX':1:1
	EndSequence

	DisableSequence
		'MultiMedia4 Mixer SLIM_0_TX':1:0
	EndSequence

	# ALSA PCMs
	CapturePCM 9
	PlaybackPCM 9

EndSection
}
SectionUseCase."Voice Call" {
Comment "Voice Call use case"
SectionVerb
	Name "Voice Call"

	EnableSequence
		'SLIM_0_RX_Voice Mixer CSVoice':1:1
		'Voice_Tx Mixer SLIM_0_TX_Voice':1:1
	EndSequence

	DisableSequence
		'SLIM_0_RX_Voice Mixer CSVoice':1:0
		'Voice_Tx Mixer SLIM_0_TX_Voice':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 2
	CapturePCM 2

EndSection
}
SectionUseCase."Voice Call IP" {
Comment "VOIP Call use case"
SectionVerb
	Name "Voice Call IP"

	EnableSequence
		'SLIM_0_RX_Voice Mixer Voip':1:1
		'Voip_Tx Mixer SLIM_0_TX_Voip':1:1
	EndSequence

	DisableSequence
		'SLIM_0_RX_Voice Mixer Voip':1:0
		'Voip_Tx Mixer SLIM_0_TX_Voip':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 3
	CapturePCM 3

EndSection
}
SectionUseCase."FM Digital Radio" {
Comment "FM Radio use case"
SectionVerb
	Name "FM Digital Radio"

	EnableSequence
		'Internal FM RX Volume':1:0
		'SLIMBUS_0_RX Port Mixer INTERNAL_FM_TX':1:1
		'SLIMBUS_DL_HL Switch':1:1
	EndSequence

	DisableSequence
		'SLIMBUS_0_RX Port Mixer INTERNAL_FM_TX':1:0
		'SLIMBUS_DL_HL Switch':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 5
	CapturePCM 6

EndSection
}
SectionUseCase."DL REC" {
Comment "Voice Downlink Recording use case"
SectionVerb
	Name "DL REC"

	EnableSequence
		'MultiMedia1 Mixer VOC_REC_DL':1:1
	EndSequence

	DisableSequence
		'MultiMedia1 Mixer VOC_REC_DL':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 0
	CapturePCM 0

EndSection
}
SectionUseCase."UL DL REC" {
Comment "Voice Uplink Downlink Recording use case"
SectionVerb
	Name "UL DL REC"

	EnableSequence
		'MultiMedia1 Mixer VOC_REC_UL':1:1
		'MultiMedia1 Mixer VOC_REC_DL':1:1
	EndSequence

	DisableSequence
		'MultiMedia1 Mixer VOC_REC_UL':1:0
		'MultiMedia1 Mixer VOC_REC_DL':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 0
	CapturePCM 0

EndSection
}
SectionUseCase."HiFi Tunnel" {
Comment "Tunnel mode playback use case"
SectionVerb
	Name "HiFi Tunnel"

	EnableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia4':1:1
	EndSequence

	DisableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia4':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 9

EndSection
}
SectionUseCase."HiFi Tunnel2" {
Comment "Tunnel mode playback use case"
SectionVerb
	Name "HiFi Tunnel2"

	EnableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia7':1:1
	EndSequence

	DisableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia7':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 16

EndSection
}
SectionUseCase."HiFi Lowlatency" {
Comment "LowLatency mode playback use case"
SectionVerb
	Name "HiFi Lowlatency"

	EnableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia5':1:1
	EndSequence

	DisableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia5':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 15
	CapturePCM 15

EndSection
}
SectionUseCase."Voice2" {
Comment "Voice2 use case"
SectionVerb
	Name "Voice2"

	EnableSequence
		'SLIM_0_RX_Voice Mixer Voice2':1:1
		'Voice2_Tx Mixer SLIM_0_TX_Voice2':1:1
	EndSequence

	DisableSequence
		'SLIM_0_RX_Voice Mixer Voice2':1:0
		'Voice2_Tx Mixer SLIM_0_TX_Voice2':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 14
	CapturePCM 14

EndSection

SectionVerb
	Name "Voice2 CallBT SCO Rx"

	EnableSequence
	EndSequence

	DisableSequence
		'Internal BTSCO SampleRate':1:8000
		'INTERNAL_BT_SCO_RX_Voice Mixer Voice2':1:0
		'Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 14
	CapturePCM 14

EndSection

SectionVerb
	Name "Voice2 CallBT SCO Tx"

	EnableSequence
		'Internal BTSCO SampleRate':1:8000
		'INTERNAL_BT_SCO_RX_Voice Mixer Voice2':1:1
		'Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2':1:1
	EndSequence

	DisableSequence
	EndSequence

	# ALSA PCMs
	PlaybackPCM 14
	CapturePCM 14

EndSection

SectionVerb
	Name "Voice2 CallBT SCO WB Rx"

	EnableSequence
	EndSequence

	DisableSequence
		'Internal BTSCO SampleRate':1:8000
		'INTERNAL_BT_SCO_RX_Voice Mixer Voice2':1:0
		'Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 14
	CapturePCM 14

EndSection

SectionVerb
	Name "Voice2 CallBT SCO WB Tx"

	EnableSequence
		'Internal BTSCO SampleRate':1:16000
		'INTERNAL_BT_SCO_RX_Voice Mixer Voice2':1:1
		'Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2':1:1
	EndSequence

	DisableSequence
	EndSequence

	# ALSA PCMs
	PlaybackPCM 14
	CapturePCM 14

EndSection

SectionVerb
	Name "Voice2 CallPROXY Rx"

	EnableSequence
	EndSequence

	DisableSequence
		'AFE_PCM_RX_Voice Mixer Voice2':1:0
		'Voice2_Tx Mixer AFE_PCM_TX_Voice2':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 14
	CapturePCM 14

EndSection

SectionVerb
	Name "Voice2 CallPROXY Tx"

	EnableSequence
		'AFE_PCM_RX_Voice Mixer Voice2':1:1
		'Voice2_Tx Mixer AFE_PCM_TX_Voice2':1:1
	EndSequence

	DisableSequence
	EndSequence

	# ALSA PCMs
	PlaybackPCM 14
	CapturePCM 14

EndSection
}
SectionDevice
	Name "Earpiece"
	Comment "Handset Rx device"

	EnableSequence
		'SLIM RX1 MUX':0:AIF1_PB
		'SLIM_0_RX Channels':0:One
		'RX1 MIX1 INP1':0:RX1
		'CLASS_H_DSM MUX':0:RX_HPHL
		'RX1 Digital Volume':1:67
		'EAR PA Gain':0:POS_2_DB
		'DAC1 Switch':1:1
	EndSequence

	DisableSequence
		'SLIM RX1 MUX':0:ZERO
		'RX1 MIX1 INP1':0:ZERO
		'CLASS_H_DSM MUX':0:ZERO
		'RX1 Digital Volume':1:0
		'DAC1 Switch':1:0
	EndSequence

	ACDBID	7:1
	EffectsMixerCTL "SRS TruMedia"
	EC_REF_RXMixerCTL "SLIM_RX"

EndSection

SectionDevice
	Name "Voice Earpiece"
	Comment "Handset Rx device for voice call"

	EnableSequence
		'SLIM RX1 MUX':0:AIF1_PB
		'SLIM_0_RX Channels':0:One
		'RX1 MIX1 INP1':0:RX1
		'IIR1 Band1':2:0x10000000 0x0 0x0 0x0 0x0
		'IIR1 Band2':2:0x10000000 0x0 0x0 0x0 0x0
		'IIR1 Band3':2:0x10000000 0x0 0x0 0x0 0x0
		'IIR1 Band4':2:0x10000000 0x0 0x0 0x0 0x0
		'IIR1 Band5':2:0x10000000 0x0 0x0 0x0 0x0
		'IIR1 Enable Band1':1:1
		'IIR1 Enable Band2':1:1
		'IIR1 Enable Band3':1:1
		'IIR1 Enable Band4':1:1
		'IIR1 Enable Band5':1:1
		'IIR1 INP1 Volume':1:50
		'RX1 MIX2 INP1':0:IIR1
		'CLASS_H_DSM MUX':0:RX_HPHL
		'RX1 Digital Volume':1:67
		'DAC1 Switch':1:1
	EndSequence

	DisableSequence
		'SLIM RX1 MUX':0:ZERO
		'RX1 MIX1 INP1':0:ZERO
		'RX1 MIX2 INP1':0:ZERO
		'IIR1 Enable Band1':1:0
		'IIR1 Enable Band2':1:0
		'IIR1 Enable Band3':1:0
		'IIR1 Enable Band4':1:0
		'IIR1 Enable Band5':1:0
		'IIR1 Band1':2:0x0 0x0 0x0 0x0 0x0
		'IIR1 Band2':2:0x0 0x0 0x0 0x0 0x0
		'IIR1 Band3':2:0x0 0x0 0x0 0x0 0x0
		'IIR1 Band4':2:0x0 0x0 0x0 0x0 0x0
		'IIR1 Band5':2:0x0 0x0 0x0 0x0 0x0
		'IIR1 INP1 Volume':1:0
		'CLASS_H_DSM MUX':0:ZERO
		'RX1 Digital Volume':1:0
		'DAC1 Switch':1:0
	EndSequence

	ACDBID	7:1
	EffectsMixerCTL "SRS TruMedia"

EndSection

SectionDevice
	Name "Speaker"
	Comment "Speaker Rx device"

	EnableSequence
		'SLIM RX1 MUX':0:AIF1_PB
		'SLIM_0_RX Channels':0:One
		'RX4 MIX1 INP1':0:RX1
		'RX4 Digital Volume':1:67
		'SPK DAC Switch':1:1
	EndSequence

	DisableSequence
		'SLIM RX1 MUX':0:ZERO
		'RX1 MIX1 INP1':0:ZERO
		'RX4 Digital Volume':1:0
		'SPK DAC Switch':1:0
	EndSequence

	ACDBID	15:1
	EffectsMixerCTL "SRS TruMedia"
	EC_REF_RXMixerCTL "SLIM_RX"

EndSection

SectionDevice
	Name "Headphones"
	Comment "Headset Rx device"

	EnableSequence
		'SLIM RX1 MUX':0:AIF1_PB
		'SLIM RX2 MUX':0:AIF1_PB
		'SLIM_0_RX Channels':0:Two
		'RX1 MIX1 INP1':0:RX1
		'RX2 MIX1 INP1':0:RX2
		'CLASS_H_DSM MUX':0:RX_HPHL
		'HPHL DAC Switch':1:1
		'HPHL Volume':1:80
		'HPHR Volume':1:80
		'RX1 Digital Volume':1:67
		'RX2 Digital Volume':1:67
	EndSequence

	DisableSequence
		'SLIM RX1 MUX':0:ZERO
		'SLIM RX2 MUX':0:ZERO
		'RX1 MIX1 INP1':0:ZERO
		'RX2 MIX1 INP1':0:ZERO
		'CLASS_H_DSM MUX':0:ZERO
		'HPHL DAC Switch':1:0
		'HPHL Volume':1:0
		'HPHR Volume':1:0
		'RX1 Digital Volume':1:0
		'RX2 Digital Volume':1:0
	EndSequence

	ACDBID	10:1
	EffectsMixerCTL "SRS TruMedia"
	EC_REF_RXMixerCTL "SLIM_RX"

EndSection

SectionDevice
	Name "Voice Headphones"
	Comment "Headset Rx device for voice call"

	EnableSequence
		'SLIM RX1 MUX':0:AIF1_PB
		'SLIM RX2 MUX':0:AIF1_PB
		'SLIM_0_RX Channels':0:Two
		'RX1 MIX1 INP1':0:RX1
		'RX2 MIX1 INP1':0:RX2
		'IIR1 Band1':2:0x10000000 0x0 0x0 0x0 0x0
		'IIR1 Band2':2:0x10000000 0x0 0x0 0x0 0x0
		'IIR1 Band3':2:0x10000000 0x0 0x0 0x0 0x0
		'IIR1 Band4':2:0x10000000 0x0 0x0 0x0 0x0
		'IIR1 Band5':2:0x10000000 0x0 0x0 0x0 0x0
		'IIR1 Enable Band1':1:1
		'IIR1 Enable Band2':1:1
		'IIR1 Enable Band3':1:1
		'IIR1 Enable Band4':1:1
		'IIR1 Enable Band5':1:1
		'IIR1 INP1 Volume':1:62
		'RX1 MIX2 INP1':0:IIR1
		'RX2 MIX2 INP1':0:IIR1
		'CLASS_H_DSM MUX':0:RX_HPHL
		'HPHL DAC Switch':1:1
		'HPHL Volume':1:80
		'HPHR Volume':1:80
		'RX1 Digital Volume':1:67
		'RX2 Digital Volume':1:67
	EndSequence

	DisableSequence
		'SLIM RX1 MUX':0:ZERO
		'SLIM RX2 MUX':0:ZERO
		'RX1 MIX1 INP1':0:ZERO
		'RX2 MIX1 INP1':0:ZERO
		'RX1 MIX2 INP1':0:ZERO
		'RX2 MIX2 INP1':0:ZERO
		'IIR1 Enable Band1':1:0
		'IIR1 Enable Band2':1:0
		'IIR1 Enable Band3':1:0
		'IIR1 Enable Band4':1:0
		'IIR1 Enable Band5':1:0
		'IIR1 Band1':2:0x0 0x0 0x0 0x0 0x0
		'IIR1 Band2':2:0x0 0x0 0x0 0x0 0x0
		'IIR1 Band3':2:0x0 0x0 0x0 0x0 0x0
		'IIR1 Band4':2:0x0 0x0 0x0 0x0 0x0
		'IIR1 Band5':2:0x0 0x0 0x0 0x0 0x0
		'IIR1 INP1 Volume':1:0
		'CLASS_H_DSM MUX':0:ZERO
		'HPHL DAC Switch':1:0
		'HPHL Volume':1:0
		'HPHR Volume':1:0
		'RX1 Digital Volume':1:0
		'RX2 Digital Volume':1:0
	EndSequence

	ACDBID	10:1
	EffectsMixerCTL "SRS TruMedia"

EndSection

SectionDevice
	Name "Headset"
	Comment "Headset Tx device"

	EnableSequence
		'AIF1_CAP Mixer SLIM TX1':1:1
		'SLIM_0_TX Channels':0:One
		'SLIM TX1 MUX':0:DEC1
		'DEC5 MUX':0:ADC2
		'DEC5 Volume':1:67
		'ADC2 Volume':1:100
		'IIR1 INP1 MUX':0:DEC1
	EndSequence

	DisableSequence
		'AIF1_CAP Mixer SLIM TX1':1:0
		'SLIM TX1 MUX':0:ZERO
		'DEC1 MUX':0:ZERO
		'ADC2 Volume':1:0
		'DEC1 Volume':1:0
		'IIR1 INP1 MUX':0:ZERO
	EndSequence

	ACDBID	8:2
	EffectsMixerCTL "SRS TruMedia"

EndSection

SectionDevice
	Name "Handset"
	Comment "Handset Tx device"

	EnableSequence
		'AIF1_CAP Mixer SLIM TX1':1:1
		'SLIM_0_TX Channels':0:One
		'SLIM TX1 MUX':0:DEC1
		'DEC1 MUX':0:ADC1
		'ADC1 Volume':1:100
		'DEC1 Volume':1:67
		'IIR1 INP1 MUX':0:DEC1
	EndSequence

	DisableSequence
		'AIF1_CAP Mixer SLIM TX1':1:0
		'SLIM TX1 MUX':0:ZERO
		'DEC1 MUX':0:ZERO
		'ADC1 Volume':1:0
		'IIR1 INP1 MUX':0:ZERO
	EndSequence

	ACDBID	4:2
	EffectsMixerCTL "SRS TruMedia"

EndSection

SectionDevice
	Name "Line"
	Comment "Speaker Tx device"

	EnableSequence
		'AIF1_CAP Mixer SLIM TX1':1:1
		'SLIM_0_TX Channels':0:One
		'SLIM TX1 MUX':0:DEC1
		'DEC1 MUX':0:ADC1
                'ADC1 Volume':1:100
		'DEC1 Volume':1:80
	EndSequence

	DisableSequence
		'AIF1_CAP Mixer SLIM TX1':1:0
		'SLIM TX1 MUX':0:ZERO
		'DEC1 MUX':0:ZERO
	EndSequence

	ACDBID	4:2
	EffectsMixerCTL "SRS TruMedia"

EndSection

SectionDevice
        Name "PROXY Rx"
        Comment "PROXY Rx device"

        EnableSequence
        EndSequence

        DisableSequence
        EndSequence

        ACDBID  0:1
        EffectsMixerCTL "SRS TruMedia"

EndSection

SectionModifier
	Name "Play Music"
	Comment "Modifier for music playback"

	EnableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia1':1:1
	EndSequence

	DisableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia1':1:0
	EndSequence

	# ALSA PCMs
	CapturePCM 0
	PlaybackPCM 0

EndSection

SectionModifier
	Name "Play LPA"

	EnableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia3':1:1
	EndSequence

	DisableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia3':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 4

EndSection

SectionModifier
	Name "Capture Music"

	EnableSequence
		'MultiMedia1 Mixer SLIM_0_TX':1:1
	EndSequence

	DisableSequence
		'MultiMedia1 Mixer SLIM_0_TX':1:0
	EndSequence

	# ALSA PCMs
	CapturePCM 0
	PlaybackPCM 0

EndSection

SectionModifier
	Name "Play Voice"

	EnableSequence
		'SLIM_0_RX_Voice Mixer CSVoice':1:1
		'Voice_Tx Mixer SLIM_0_TX_Voice':1:1
	EndSequence

	DisableSequence
		'SLIM_0_RX_Voice Mixer CSVoice':1:0
		'Voice_Tx Mixer SLIM_0_TX_Voice':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 2
	CapturePCM 2

EndSection

SectionModifier
        Name "Capture Voice Downlink"

        EnableSequence
                'MultiMedia1 Mixer VOC_REC_DL':1:1
        EndSequence

        DisableSequence
                'MultiMedia1 Mixer VOC_REC_DL':1:0
        EndSequence

        # ALSA PCMs
        PlaybackPCM 0
        CapturePCM 0

EndSection

SectionModifier
        Name "Capture Voice Uplink Downlink"

        EnableSequence
                'MultiMedia1 Mixer VOC_REC_UL':1:1
                'MultiMedia1 Mixer VOC_REC_DL':1:1
        EndSequence

        DisableSequence
                'MultiMedia1 Mixer VOC_REC_UL':1:0
                'MultiMedia1 Mixer VOC_REC_DL':1:0
        EndSequence

        # ALSA PCMs
        PlaybackPCM 0
        CapturePCM 0

EndSection

SectionModifier
	Name "Play Tunnel"

	EnableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia4':1:1
	EndSequence

	DisableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia4':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 9

EndSection

SectionModifier
	Name "Capture Music2"

	EnableSequence
		'MultiMedia2 Mixer SLIM_0_TX':1:1
	EndSequence

	DisableSequence
		'MultiMedia2 Mixer SLIM_0_TX':1:0
	EndSequence

	# ALSA PCMs
	CapturePCM 1
	PlaybackPCM 1

EndSection

SectionModifier
	Name "Play Music3"

	EnableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia5':1:1
	EndSequence

	DisableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia5':1:0
	EndSequence

	# ALSA PCMs
	CapturePCM 14
	PlaybackPCM 14

EndSection

SectionModifier
	Name "Play Tunnel2"

	EnableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia7':1:1
	EndSequence

	DisableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia7':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 16

EndSection
SectionModifier
	Name "Play Lowlatency Music"
	Comment "Modifier for Lowlatency music playback"

	EnableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia5':1:1
	EndSequence

	DisableSequence
		'SLIMBUS_0_RX Audio Mixer MultiMedia5':1:0
	EndSequence

	# ALSA PCMs
	CapturePCM 15
	PlaybackPCM 15

EndSection

SectionModifier
        Name "Play MusicPROXY Rx"

        EnableSequence
                'AFE_PCM_RX Audio Mixer MultiMedia1':1:1
        EndSequence

        DisableSequence
                'AFE_PCM_RX Audio Mixer MultiMedia1':1:0
        EndSequence

        # ALSA PCMs
        CapturePCM 0
        PlaybackPCM 0

EndSection

SectionModifier
        Name "Play FM"

        EnableSequence
                'Internal FM RX Volume':1:0
                'SLIMBUS_0_RX Port Mixer INTERNAL_FM_TX':1:1
                'SLIMBUS_DL_HL Switch':1:1
        EndSequence

        DisableSequence
                'SLIMBUS_0_RX Port Mixer INTERNAL_FM_TX':1:0
                'SLIMBUS_DL_HL Switch':1:0
        EndSequence

        # ALSA PCMs
        PlaybackPCM 5
        CapturePCM 6

EndSection

SectionModifier
	Name "Play Voice2"

	EnableSequence
		'SLIM_0_RX_Voice Mixer Voice2':1:1
		'Voice2_Tx Mixer SLIM_0_TX_Voice2':1:1
	EndSequence

	DisableSequence
		'SLIM_0_RX_Voice Mixer Voice2':1:0
		'Voice2_Tx Mixer SLIM_0_TX_Voice2':1:0
	EndSequence

	# ALSA PCMs
	CapturePCM 14
	PlaybackPCM 14

EndSection

SectionModifier
	Name "Play Voice2BT SCO Rx"

	EnableSequence
	EndSequence

	DisableSequence
		'Internal BTSCO SampleRate':1:8000
		'INTERNAL_BT_SCO_RX_Voice Mixer Voice2':1:0
		'Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 14
	CapturePCM 14

EndSection

SectionModifier
	Name "Play Voice2BT SCO Tx"

	EnableSequence
		'Internal BTSCO SampleRate':1:8000
		'INTERNAL_BT_SCO_RX_Voice Mixer Voice2':1:1
		'Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2':1:1
	EndSequence

	DisableSequence
	EndSequence

	# ALSA PCMs
	PlaybackPCM 14
	CapturePCM 14

EndSection

SectionModifier
	Name "Play Voice2BT SCO WB Rx"

	EnableSequence
	EndSequence

	DisableSequence
		'Internal BTSCO SampleRate':1:16000
		'INTERNAL_BT_SCO_RX_Voice Mixer Voice2':1:0
		'Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 14
	CapturePCM 14

EndSection

SectionModifier
	Name "Play Voice2BT SCO WB Tx"

	EnableSequence
		'Internal BTSCO SampleRate':1:16000
		'INTERNAL_BT_SCO_RX_Voice Mixer Voice2':1:1
		'Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2':1:1
	EndSequence

	DisableSequence
	EndSequence

	# ALSA PCMs
	PlaybackPCM 14
	CapturePCM 14

EndSection

SectionModifier
	Name "Play Voice2PROXY Rx"

	EnableSequence
	EndSequence

	DisableSequence
		'AFE_PCM_RX_Voice Mixer Voice2':1:0
		'Voice2_Tx Mixer AFE_PCM_TX_Voice2':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 14
	CapturePCM 14

EndSection

SectionModifier
	Name "Play Voice2PROXY Tx"

	EnableSequence
		'AFE_PCM_RX_Voice Mixer Voice2':1:1
		'Voice2_Tx Mixer AFE_PCM_TX_Voice2':1:1
	EndSequence

	DisableSequence
	EndSequence

	# ALSA PCMs
	PlaybackPCM 14
	CapturePCM 14

EndSection

SectionModifier
	Name "Play Voice2USB PROXY Rx"

	EnableSequence
	EndSequence

	DisableSequence
		'AFE_PCM_RX_Voice Mixer Voice2':1:0
		'Voice2_Tx Mixer AFE_PCM_TX_Voice2':1:0
	EndSequence

	# ALSA PCMs
	PlaybackPCM 14
	CapturePCM 14

EndSection

SectionModifier
	Name "Play Voice2USB PROXY Tx"

	EnableSequence
		'AFE_PCM_RX_Voice Mixer Voice2':1:1
		'Voice2_Tx Mixer AFE_PCM_TX_Voice2':1:1
	EndSequence

	DisableSequence
	EndSequence

	# ALSA PCMs
	PlaybackPCM 14
	CapturePCM 14

EndSection
# End of master file
