# command-line sequence to switch playback/capture # alsaucm -c bytcr-rt5651 set _verb HiFi set _enadev Headphones # alsaucm -c bytcr-rt5651 set _verb HiFi set _enadev Speaker # alsaucm -c bytcr-rt5651 set _verb HiFi set _enadev HeadsetMic-IN1 # alsaucm -c bytcr-rt5651 set _verb HiFi set _enadev HeadsetMic-IN3 # alsaucm -c bytcr-rt5651 set _verb HiFi set _enadev InternalMic-IN1 # alsaucm -c bytcr-rt5651 set _verb HiFi set _enadev InternalMic-IN2 # alsaucm -c bytcr-rt5651 set _verb HiFi set _enadev InternalMic-IN12 # alsaucm -c bytcr-rt5651 set _verb HiFi set _enadev LineIn SectionVerb { EnableSequence [ cdev "hw:bytcrrt5651" exec "echo HiFi enable sequence" ] DisableSequence [ cdev "hw:bytcrrt5651" exec "echo HiFi disable sequence" ] Value { PlaybackPCM "hw:bytcrrt5651" CapturePCM "hw:bytcrrt5651" } } SectionDevice."Headphones" { Comment "Headphones playback" ConflictingDevice [ "Speaker" ] EnableSequence [ cdev "hw:bytcrrt5651" exec "echo Headphones playback enable sequence" cset "name='Headphone Switch' on" cset "name='HPO L Playback Switch' on" cset "name='HPO R Playback Switch' on" # Done after turning the HP on to keep the bias and clk on cset "name='Speaker Switch' off" cset "name='LOUT L Playback Switch' off" cset "name='LOUT R Playback Switch' off" ] DisableSequence [ cdev "hw:bytcrrt5651" exec "echo Headphones playback disable sequence" # This is done by the Speaker EnableSequence, so that the # Platform Clock and BIAS do not temporarily get turned off # as that breaks audio-streams which are playing when # switching between Speaker/Headphone ] Value { PlaybackChannels "2" PlaybackPriority "2000" JackControl "Headphone Jack" } } SectionDevice."Speaker" { Comment "Speaker playback" ConflictingDevice [ "Headphones" ] EnableSequence [ cdev "hw:bytcrrt5651" exec "echo Speaker enable sequence" cset "name='Speaker Switch' on" cset "name='LOUT L Playback Switch' on" cset "name='LOUT R Playback Switch' on" # Done after turning the speaker on to keep the bias and clk on cset "name='Headphone Switch' off" cset "name='HPO L Playback Switch' off" cset "name='HPO R Playback Switch' off" ] DisableSequence [ cdev "hw:bytcrrt5651" exec "echo Speaker disable sequence" # This is done by the Headphones EnableSequence, so that the # Platform Clock and BIAS do not temporarily get turned off # as that breaks audio-streams which are playing when # switching between Speaker/Headphone ] Value { PlaybackChannels "2" } } SectionDevice."HeadsetMic-IN1" { Comment "HeadsetMic-IN1 Microphone" ConflictingDevice [ "InternalMic-IN1" "InternalMic-IN2" "InternalMic-IN12" "HeadsetMic-IN3" "LineIn" ] EnableSequence [ cdev "hw:bytcrrt5651" exec "echo HeadsetMic-IN1 Microphone enable sequence" cset "name='Headset Mic Switch' on" cset "name='RECMIXL BST1 Switch' on" cset "name='RECMIXR BST1 Switch' on" ] DisableSequence [ cdev "hw:bytcrrt5651" exec "echo HeadsetMic-IN1 Microphone disable sequence" cset "name='Headset Mic Switch' off" cset "name='RECMIXL BST1 Switch' off" cset "name='RECMIXR BST1 Switch' off" ] Value { CaptureChannels "2" JackControl "Headset Mic Jack" } } SectionDevice."HeadsetMic-IN3" { Comment "HeadsetMic-IN3 Microphone" ConflictingDevice [ "InternalMic-IN1" "InternalMic-IN2" "InternalMic-IN12" "HeadsetMic-IN1" "LineIn" ] EnableSequence [ cdev "hw:bytcrrt5651" exec "echo HeadsetMic-IN3 Microphone enable sequence" cset "name='Headset Mic Switch' on" cset "name='RECMIXL BST3 Switch' on" cset "name='RECMIXR BST3 Switch' on" ] DisableSequence [ cdev "hw:bytcrrt5651" exec "echo HeadsetMic-IN3 Microphone disable sequence" cset "name='Headset Mic Switch' off" cset "name='RECMIXL BST3 Switch' off" cset "name='RECMIXR BST3 Switch' off" ] Value { CaptureChannels "2" JackControl "Headset Mic Jack" } } SectionDevice."InternalMic-IN1" { Comment "Internal Mic IN1 Microphone" ConflictingDevice [ "HeadsetMic-IN1" "HeadsetMic-IN3" "InternalMic-IN2" "InternalMic-IN12" "LineIn" ] EnableSequence [ cdev "hw:bytcrrt5651" exec "echo Internal Mic IN1 Microphone enable sequence" cset "name='Internal Mic Switch' on" cset "name='RECMIXL BST1 Switch' on" cset "name='RECMIXR BST1 Switch' on" ] DisableSequence [ cdev "hw:bytcrrt5651" exec "echo Internal Mic IN1 Microphone disable sequence" cset "name='Internal Mic Switch' off" cset "name='RECMIXL BST1 Switch' off" cset "name='RECMIXR BST1 Switch' off" ] Value { CaptureChannels "2" } } SectionDevice."InternalMic-IN2" { Comment "Internal Mic IN2 Microphone" ConflictingDevice [ "HeadsetMic-IN1" "HeadsetMic-IN3" "InternalMic-IN1" "InternalMic-IN12" "LineIn" ] EnableSequence [ cdev "hw:bytcrrt5651" exec "echo Internal Mic IN2 Microphone enable sequence" cset "name='Internal Mic Switch' on" cset "name='RECMIXL BST2 Switch' on" cset "name='RECMIXR BST2 Switch' on" ] DisableSequence [ cdev "hw:bytcrrt5651" exec "echo Internal Mic IN2 Microphone disable sequence" cset "name='Internal Mic Switch' off" cset "name='RECMIXL BST2 Switch' off" cset "name='RECMIXR BST2 Switch' off" ] Value { CaptureChannels "2" } } SectionDevice."InternalMic-IN12" { Comment "Internal Mic IN12" ConflictingDevice [ "HeadsetMic-IN1" "HeadsetMic-IN3" "InternalMic-IN1" "InternalMic-IN2" "LineIn" ] EnableSequence [ cdev "hw:bytcrrt5651" exec "echo Internal Mic IN12 Microphone enable sequence" cset "name='Internal Mic Switch' on" cset "name='RECMIXL BST1 Switch' on" cset "name='RECMIXR BST1 Switch' on" cset "name='RECMIXL BST2 Switch' on" cset "name='RECMIXR BST2 Switch' on" ] DisableSequence [ cdev "hw:bytcrrt5651" exec "echo Internal Mic IN1 Microphone disable sequence" cset "name='Internal Mic Switch' off" cset "name='RECMIXL BST1 Switch' off" cset "name='RECMIXR BST1 Switch' off" cset "name='RECMIXL BST2 Switch' off" cset "name='RECMIXR BST2 Switch' off" ] Value { CaptureChannels "2" } } SectionDevice."LineIn" { Comment "Line-In input" ConflictingDevice [ "HeadsetMic-IN1" "HeadsetMic-IN3" "InternalMic-IN1" "InternalMic-IN2" "InternalMic-IN12" ] EnableSequence [ cdev "hw:bytcrrt5651" exec "echo Line In enable sequence" cset "name='Line In Switch' on" cset "name='RECMIXL INL1 Switch' on" cset "name='RECMIXR INR1 Switch' on" ] DisableSequence [ cdev "hw:bytcrrt5651" exec "echo Line In disable sequence" cset "name='Line In Switch' off" cset "name='RECMIXL INL1 Switch' off" cset "name='RECMIXR INR1 Switch' off" ] Value { CaptureChannels "2" } }