# Android ALSA configuration file for the WM8994 audio. ################################################################################################################## # # {name "Playback Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 9:R_SPK_HP # {name "Capture MIC Path" value 1} # 0:Main Mic 1:Ear MIC 2:BT MIC # {name "Voice Call Path" value 1} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # ################################################################################################################## ## ## Mixer Devices ## ctl.AndroidPlayback { type hw card 0 } ctl.AndroidRecord { type hw card 0 } ## ## Playback Devices ## pcm.AndroidPlayback { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP ] } } pcm.AndroidPlayback_Earpiece { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Voice Call Path" value 1} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT ] } } pcm.AndroidPlayback_Speaker { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Playback Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidPlayback_Headset { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Playback Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidPlayback_Headphone { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Playback Path" value 4} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidPlayback_Bluetooth { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Playback Path" value 5} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidPlayback_Earpiece_normal { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Playback Path" value 1} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidPlayback_Speaker_normal { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Playback Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidPlayback_Headset_normal { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Playback Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidPlayback_Headphone_normal { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Playback Path" value 4} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidPlayback_Bluetooth_normal { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Playback Path" value 5} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidPlayback_Speaker_Headset_normal { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Playback Path" value 6} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidPlayback_Speaker_Headphone_normal { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Playback Path" value 6} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidPlayback_Earpiece_ringtone { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Playback Path" value 7} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidPlayback_Speaker_ringtone { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Playback Path" value 7} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidPlayback_Headset_ringtone { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Playback Path" value 8} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidPlayback_Headphone_ringtone { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Playback Path" value 9} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidPlayback_Bluetooth_ringtone { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Playback Path" value 5} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidPlayback_Speaker_Headset_ringtone { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Playback Path" value 10} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidPlayback_Speaker_Headphone_ringtone { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Playback Path" value 10} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidPlayback_Earpiece_incall { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Voice Call Path" value 1} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT ] } } pcm.AndroidPlayback_Speaker_incall { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Voice Call Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT ] } } pcm.AndroidPlayback_Headset_incall { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Voice Call Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT ] } } pcm.AndroidPlayback_Headphone_incall { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Voice Call Path" value 4} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT ] } } pcm.AndroidPlayback_Bluetooth_incall { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Voice Call Path" value 5} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT ] } } pcm.AndroidPlayback_Speaker_Headset_incall { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Voice Call Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT ] } } pcm.AndroidPlayback_Speaker_Headphone_incall { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio playback" } hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Voice Call Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT ] } } ## ## Capture device ## pcm.AndroidRecord { type hooks slave.pcm default hooks.0 { type ctl_elems hook_args [ {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC ] } } pcm.AndroidRecord_Microphone { type hooks slave.pcm default hooks.0 { type ctl_elems hook_args [ {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC ] } } pcm.AndroidRecord_Earpiece_normal { type hooks slave.pcm default hooks.0 { type ctl_elems hook_args [ {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC ] } } pcm.AndroidRecord_Speaker_normal { type hooks slave.pcm default hooks.0 { type ctl_elems hook_args [ {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC ] } } pcm.AndroidRecord_Headset_normal { type hooks slave.pcm default hooks.0 { type ctl_elems hook_args [ {name "Capture MIC Path" value 1} # 0:Main Mic 1:Ear MIC 2:BT MIC ] } } pcm.AndroidRecord_Headphone_normal { type hooks slave.pcm default hooks.0 { type ctl_elems hook_args [ {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC ] } } pcm.AndroidRecord_Bluetooth_normal { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio capture" } hooks.0 { type ctl_elems hook_args [ {name "Capture MIC Path" value 2} # 0:Main Mic 1:Ear MIC 2:BT MIC ] } } pcm.AndroidRecord_Speaker_Headset_normal { type hooks slave.pcm default hooks.0 { type ctl_elems hook_args [ {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC ] } } pcm.AndroidRecord_Speaker_Headphone_normal { type hooks slave.pcm default hooks.0 { type ctl_elems hook_args [ {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC ] } } pcm.AndroidRecord_Speaker_ringtone { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio capture" } hooks.0 { type ctl_elems hook_args [ {name "Playback Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidRecord_Headset_ringtone { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio capture" } hooks.0 { type ctl_elems hook_args [ {name "Playback Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidRecord_Headphone_ringtone { type hooks slave.pcm { type hw card 0 device 0 # Must be of type "digital audio capture" } hooks.0 { type ctl_elems hook_args [ {name "Playback Path" value 4} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP ] } } pcm.AndroidRecord_Earpiece_incall { type hooks slave.pcm default hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC ] } } pcm.AndroidRecord_Speaker_incall { type hooks slave.pcm default hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC ] } } pcm.AndroidRecord_Headset_incall { type hooks slave.pcm default hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Capture MIC Path" value 1} # 0:Main Mic 1:Ear MIC 2:BT MIC ] } } pcm.AndroidRecord_Headphone_incall { type hooks slave.pcm default hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC ] } } pcm.AndroidRecord_Bluetooth_incall { type hooks slave.pcm default hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Capture MIC Path" value 2} # 0:Main Mic 1:Ear MIC 2:BT MIC ] } } pcm.AndroidRecord_Speaker_Headset_incall { type hooks slave.pcm default hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Capture MIC Path" value 1} # 0:Main Mic 1:Ear MIC 2:BT MIC {name "Voice Call Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT ] } } pcm.AndroidRecord_Speaker_Headphone_incall { type hooks slave.pcm default hooks.0 { type ctl_elems hook_args [ # Enable audio output from the DSP {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC {name "Voice Call Path" value 4} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT ] } }