# Use case configuration for Xiaomi Redmi Note 5 / Plus # All analog outputs/inputs connected to internal PM8953 codec, Define { WcdPlaybackPCM "hw:${CardId}" WcdCapturePCM "hw:${CardId}" } SectionVerb { EnableSequence[ cset "name='PRI_MI2S_RX Audio Mixer MultiMedia1' 1" cset "name='MultiMedia1 Mixer TERT_MI2S_TX' 1" ] DisableSequence[ cset "name='PRI_MI2S_RX Audio Mixer MultiMedia1' 0" cset "name='MultiMedia1 Mixer TERT_MI2S_TX' 0" ] Value { TQ "HiFi" PlaybackPCM "${var:WcdPlaybackPCM}" CapturePCM "${var:WcdCapturePCM}" } } SectionDevice."Headphones" { Comment "Headphones playback" EnableSequence[ cdev "${var:WcdPlaybackPCM}" cset "name='MI2S_RX Channels' Two" cset "name='RX1 MIX1 INP1' RX1" cset "name='RX2 MIX1 INP1' RX2" cset "name='RX HPH Mode' HD2" cset "name='RDAC2 MUX' RX2" cset "name='HPHL' Switch" cset "name='HPHR' Switch" # cset "name='Ext Spk Switch' On" cset "name='PRI_MI2S_RX Audio Mixer MultiMedia1' 1" ] DisableSequence[ cdev "${var:WcdPlaybackPCM}" cset "name='MI2S_RX Channels' One" cset "name='RX1 MIX1 INP1' ZERO" cset "name='RX2 MIX1 INP1' ZERO" cset "name='RX HPH Mode' NORMAL" cset "name='RDAC2 MUX' ZERO" cset "name='HPHL' ZERO" cset "name='HPHR' ZERO" cset "name='PRI_MI2S_RX Audio Mixer MultiMedia1' 0" ] Value { PlaybackPCM "${var:WcdPlaybackPCM}" PlaybackChannels 2 PlaybackPriority 100 JackControl "Headphone Jack" } } SectionDevice."Handset" { Comment "Handset earpiece" ConflictingDevice[ "Headphones" ] EnableSequence[ cdev "${var:WcdPlaybackPCM}" cset "name='RX1 MIX1 INP1' RX1" cset "name='RDAC2 MUX' RX1" cset "name='RX1 Digital Volume' 88" cset "name='EAR PA Gain' POS_6_DB" cset "name='EAR_S' Switch" cset "name='PRI_MI2S_RX Audio Mixer MultiMedia1' 1" ] DisableSequence[ cdev "${var:WcdPlaybackPCM}" cset "name='RX1 MIX1 INP1' ZERO" cset "name='RDAC2 MUX' ZERO" ## cset "name='RX1 Digital Volume' 84" cset "name='EAR PA Gain' POS_6_DB" cset "name='EAR_S' ZERO" cset "name='PRI_MI2S_RX Audio Mixer MultiMedia1' 0" ] Value { PlaybackPCM "${var:WcdPlaybackPCM}" PlaybackChannels 2 PlaybackPriority 100 } } SectionDevice."HandsetMic" { Comment "Handset microphone" ConflictingDevice[ "SpeakerMic" "HeadsetMic" ] EnableSequence[ cdev "${var:WcdCapturePCM}" cset "name='ADC1 Volume' 6" cset "name='DEC1 MUX' ADC1" cset "name='ADC1_INP1 Switch' 1" cset "name='IIR1 INP1 MUX' DEC1" cset "name='MultiMedia1 Mixer TERT_MI2S_TX' 1" ] DisableSequence[ cdev "${var:WcdCapturePCM}" cset "name='ADC1 Volume' 4" cset "name='DEC1 MUX' ZERO" cset "name='ADC1_INP1 Switch' 0" cset "name='MultiMedia1 Mixer TERT_MI2S_TX' 0" ] Value { CapturePCM "${var:WcdCapturePCM}" CaptureChannels 2 CapturePriority 300 } } SectionDevice."SpeakerMic" { Comment "Handset microphone for speaker-mode" ConflictingDevice[ "Handset" "HandsetMic" "HeadsetMic" ] EnableSequence[ cdev "${var:WcdCapturePCM}" cset "name='ADC1 Volume' 6" cset "name='DEC1 MUX' ADC1" cset "name='ADC1_INP1 Switch' 1" cset "name='IIR1 INP1 MUX' DEC1" cset "name='MultiMedia1 Mixer TERT_MI2S_TX' 1" ] DisableSequence[ cdev "${var:WcdCapturePCM}" cset "name='ADC1 Volume' 4" cset "name='DEC1 MUX' ZERO" cset "name='ADC1_INP1 Switch' 0" cset "name='MultiMedia1 Mixer TERT_MI2S_TX' 0" ] Value { CapturePCM "${var:WcdCapturePCM}" CaptureChannels "2" } } SectionDevice."HeadsetMic" { Comment "Headset microphone" ConflictingDevice[ "HandsetMic" "SpeakerMic" ] EnableSequence[ cdev "${var:WcdCapturePCM}" cset "name='ADC2 Volume' 6" cset "name='DEC1 MUX' ADC2" cset "name='ADC2 MUX' INP2" cset "name='IIR1 INP1 MUX' DEC1" cset "name='MultiMedia1 Mixer TERT_MI2S_TX' 1" ] DisableSequence[ cdev "${var:WcdCapturePCM}" cset "name='ADC2 Volume' 4" cset "name='DEC1 MUX' ZERO" cset "name='ADC2 MUX' ZERO" cset "name='MultiMedia1 Mixer TERT_MI2S_TX' 0" ] Value { CapturePCM "${var:WcdCapturePCM}" CaptureChannels 2 CapturePriority 100 JackControl "Headset Mic Jack" } }