# Use case Configuration for TI Tuna HiFi audio playback and capture # By Liam Girdwood # Updated by Sebastien Jan # Adapted to Ubuntu Touch by David Henningsson ######### Main Verb Config ################# SectionVerb { EnableSequence [ # Set SDP device for following cset commands cdev "hw:Tuna" # Enable ABE playback path through DL1 cset "name='DL1 Mixer Multimedia' 1" cset "name='Sidetone Mixer Playback' 1" cset "name='DL1 PDM Switch' 1" # set ABE playback gains to 0dB cset "name='DL1 Media Playback Volume' 120" cset "name='DL2 Media Playback Volume' 120" cset "name='SDT DL Volume' 120" # Enable ABE PDM-UL Capture path cset "name='MUX_UL10' 11" cset "name='MUX_UL11' 12" # set ABE capture gains to 0dB cset "name='AMIC UL Volume' 120" # Disable Earpiece output, leave enabling to device enable # sequence cset "name='Earphone Enable Switch' 0" ] DisableSequence [ # Set SDP device for following cset commands cdev "hw:Tuna" # Disable ABE playback path through DL1 cset "name='DL1 Mixer Multimedia' 0" cset "name='Sidetone Mixer Playback' 0" cset "name='DL1 PDM Switch' 0" # mute ABE playback gains cset "name='DL1 Media Playback Volume' 0" cset "name='DL2 Media Playback Volume' 0" cset "name='SDT DL Volume' 0" # Disable ABE PDM-UL Capture path cset "name='MUX_UL10' 0" cset "name='MUX_UL11' 0" # mute ABE capture gains cset "name='AMIC UL Volume' 0" ] # ALSA PCM Value { TQ "HiFi" # ALSA PCM device for HiFi PlaybackPCM "hw:Tuna,0" CapturePCM "hw:Tuna,1" } } ###### Headset Devices Options ############ SectionDevice."Headset" { Comment "Headset Microphone" # Headset is mutually exclusive to some devices ConflictingDevice [ "Mainmic" "Submic" ] EnableSequence [ cdev "hw:Tuna" # TWL6040 Capture Path cset "name='Analog Left Capture Route' 0" cset "name='Analog Right Capture Route' 0" cset "name='Capture Preamplifier Volume' 2" cset "name='Capture Volume' 4" ] DisableSequence [ cdev "hw:Tuna" # TWL6040 Capture path cset "name='Analog Left Capture Route' 3" cset "name='Analog Right Capture Route' 3" cset "name='Capture Preamplifier Volume' 0" ] Value { CaptureChannels "2" } } ###### Headphones Devices Options ############ SectionDevice."Headphones" { Comment "Tuna 3.5mm Headphones playback" # Headphones is mutually exclusive to some devices ConflictingDevice [ "Speaker" "Earpiece" ] EnableSequence [ cdev "hw:Tuna" # TWL6040 playback path cset "name='HS Left Playback' 1" cset "name='HS Right Playback' 1" cset "name='Headset Playback Volume' 14" ] DisableSequence [ cdev "hw:Tuna" cset "name='Headset Playback Volume' 0" # TWL6040 playback path cset "name='HS Right Playback' 0" cset "name='HS Left Playback' 0" ] Value { PlaybackChannels "2" } } ########### Earpiece Device Options ################ SectionDevice."Earpiece" { Comment "Earpiece playback" EnableSequence [ cdev "hw:Tuna" # TWL6040 playback path cset "name='Earphone Enable Switch' 1" cset "name='Earphone Enable Volume' 13" ] DisableSequence [ cdev "hw:Tuna" cset "name='Earphone Enable Volume' 0" # TWL6040 playback path cset "name='Earphone Enable Switch' 0" ] Value { PlaybackChannels "2" } } ########### Speaker Device Options ################ SectionDevice."Speaker" { Comment "Main speaker playback" EnableSequence [ cdev "hw:Tuna" # ABE playback path through DL2 cset "name='DL2 Mixer Multimedia' 1" # TWL6040 playback path cset "name='HF Left Playback' 1" cset "name='HF Right Playback' 1" cset "name='Handsfree Playback Volume' 28" ] DisableSequence [ cdev "hw:Tuna" cset "name='Handsfree Playback Volume' 0" # ABE playback path through DL2 cset "name='DL2 Mixer Multimedia' 0" # TWL6040 playback path cset "name='HF Left Playback' 0" cset "name='HF Right Playback' 0" ] Value { PlaybackChannels "2" } } ############ Main Mic Device ######################### SectionDevice."Handset" { Comment "Main Microphone Left Channel Capture" ConflictingDevice [ "Headset" ] EnableSequence [ cdev "hw:Tuna" # TWL6040 Capture Path cset "name='Analog Left Capture Route' 0" cset "name='Capture Volume' 4" ] DisableSequence [ cdev "hw:Tuna" # TWL6040 Capture path cset "name='Analog Left Capture Route' 3" ] Value { # Default ALSA volume gain and mute kcontrols CaptureChannels "2" } } ############ Sub Mic Device ######################### SectionDevice."Submic" { Comment "Sub Microphone Right Channel Capture" ConflictingDevice [ "Headset" ] EnableSequence [ cdev "hw:Tuna" # TWL6040 Capture Path cset "name='Analog Right Capture Route' 1" cset "name='Capture Volume' 4" ] DisableSequence [ cdev "hw:Tuna" # TWL6040 Capture path cset "name='Analog Right Capture Route' 3" ] Value { CaptureChannels "2" } } ############## Play Tone Modifier #################### # # We have 2 PlayTone modifiers. Each one supports different devices as the # path configuration is different depending on the device being used when # the modifier is enabled. # SectionModifier."PlayTone" { Comment "Play a ring tone or system sound" # For the following devices we need to set the DL2 path SupportedDevice [ "Headphones" "Earpiece" ] EnableSequence [ # Set SDP device for following cset commands cdev "hw:Tuna" # ABE playback path through DL2 cset "name='DL2 Mixer Tones' 1" cset "name='DL2 Tones Playback Volume' 120" cset "name='DL1 Mixer Tones' 1" cset "name='DL1 Tones Playback Volume' 120" # # TWL6040 playback path # cset "name='HF Left Playback' 1" # cset "name='HF Right Playback' 1" ] DisableSequence [ # Set SDP device for following cset commands cdev "hw:Tuna" # ABE playback path through DL2 cset "name='DL2 Mixer Tones' 0" cset "name='DL2 Tones Playback Volume' 0" cset "name='DL1 Mixer Tones' 0" cset "name='DL1 Tones Playback Volume' 0" # # TWL6040 playback path # cset "name='HF Left Playback' 0" # cset "name='HF Right Playback' 0" ] # QoS, Mixers and ALSA PCMs Value { TQ "Tones" PlaybackPCM "hw:Tuna,3" PlaybackVolume "name='DL2 Tones Playback Volume' 120" } } SectionModifier."PlayTone" { Comment "Play a ring tone or system sound" # For the following devices we dont need to set the DL2 path SupportedDevice [ "Speaker" ] EnableSequence [ # Set SDP device for following cset commands cdev "hw:Tuna" # ABE playback path through DL2 cset "name='DL2 Mixer Tones' 1" cset "name='DL2 Tones Playback Volume' 120" ] DisableSequence [ # Set SDP device for following cset commands cdev "hw:Tuna" cset "name='DL2 Mixer Tones' 0" ] # QoS, Mixers and ALSA PCMs Value { TQ "Tones" PlaybackPCM "hw:Tuna,3" PlaybackVolume "name='DL2 Tones Playback Volume' 120" } }