# Android ALSA configuration file for the AK4671 audio. ######################################################################## # {name "Playback Path" value 2} # 0:OFF 1:RCV 2:SPK # # 3:HP 4:BT # {name "Output Volume" value 30} # min:0 max:48 # {name "Output Volume - RCV" value 2}# min:0 max:7 # {name "Output Volume - SPK/EAR" value 8} # min:0 max:15 # {name "MIC Path" value 1} # 0:Main Mic 1:Sub MIC # {name "Voice Call Path" value 1} # 0:OFF 1:RCV 2:SPK # # 3:HP 4:BT # {name "Voice Memo Path" value 1} # 0:OFF 1:MAIN 2:SUB # # 3:EAR 4:BT # {name "MIC Gain" value 5,5} # min:0 max:15 # {name "FM Radio Path" value 1} # 0:off 1:RCV 2:SPK # # 3:HP 4:BT # {name "Idle Mode" value 1} # 0:off 1:on ######################################################################### ## ## 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 "MIC Path" value 0} # 0:Main Mic 1:Sub MIC {name "Voice Call Path" value 1} # 0:OFF 1:RCV 2:SPK # 3:HP 4: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:BT ] } } 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 4} # 0:OFF 1:RCV 2:SPK # 3:HP 4:BT ] } } 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:BT ] } } 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 "MIC Path" value 0} # 0:Main Mic 1:Sub MIC #{name "Voice Call Path" value 1} # 0:OFF 1:RCV 2:SPK # 3:HP 4:BT {name "Playback Path" value 1} # 0:OFF 1:RCV 2:SPK # 3:HP 4:BT ] } } 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:BT ] } } 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 5} # 0:OFF 1:RCV 2:SPK # 3:HP 4:BT 5:SPKHP ] } } 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 4} # 0:OFF 1:RCV 2:SPK # 3:HP 4:BT ] } } 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:BT ] } } 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 2} # 0:OFF 1:RCV 2:SPK # 3:HP 4:BT ] } } 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 2} # 0:OFF 1:RCV 2:SPK # 3:HP 4:BT ] } } 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 6} # 0:OFF 1:RCV 2:SPK # 3:HP 4:BT 5:SPKHP # 6:R_SPKHP ] } } 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 4} # 0:OFF 1:RCV 2:SPK # 3:HP 4:BT ] } } 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 3} # 0:OFF 1:RCV 2:SPK # 3:HP 4:BT ] } } 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 "MIC Path" value 0} # 0:Main Mic 1:Sub MIC {name "Voice Call Path" value 1} # 0:OFF 1:RCV 2:SPK # 3:HP 4: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 "MIC Path" value 1} # 0:Main Mic 1:Sub MIC {name "Voice Call Path" value 2} # 0:OFF 1:RCV 2:SPK # 3:HP 4: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 "MIC Path" value 1} # 0:Main Mic 1:Sub MIC {name "Voice Call Path" value 2} # 0:OFF 1:RCV 2:SPK # 3:HP 4: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 4} # 0:OFF 1:RCV 2:SPK # 3:HP 4: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:BT ] } } ## ## Idle control device ## pcm.AndroidPlayback_On_idle { 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 "Idle Mode" value 1} # off:0 on:1 ] } } pcm.AndroidPlayback_Off_idle { 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 "Idle Mode" value 0} # off:0 on:1 ] } } pcm.AndroidRecord_On_idle { 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 "Idle Mode" value 1} # off:0 on:1 ] } } pcm.AndroidRecord_Off_idle { 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 "Idle Mode" value 0} # off:0 on:1 ] } } ## ## Recording device ## pcm.AndroidRecord { 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 "MIC Path" value 0} # 0:OFF 1:MAIN 2:SUB # 3:EAR 4:BT ] } } pcm.AndroidRecord_Microphone { 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 "MIC Path" value 0} # 0:OFF 1:MAIN 2:SUB # 3:EAR 4:BT ] } } pcm.AndroidRecord_Earpiece_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 "Playback Path" value 1} # 0:OFF 1:RCV 2:SPK # 3:HP 4:BT {name "Voice Memo Path" value 1} # 0:OFF 1:MAIN 2:SUB # 3:EAR 4:BT ] } } pcm.AndroidRecord_Speaker_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 "Voice Memo Path" value 2} # 0:OFF 1:MAIN 2:SUB # 3:EAR 4:BT ] } } 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:BT ] } } 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:BT ] } } pcm.AndroidRecord_Speaker_Headset_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 "Voice Memo Path" value 3} # 0:OFF 1:MAIN 2:SUB # 3:EAR 4:BT ] } } 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 "Voice Memo Path" value 4} # 0:OFF 1:MAIN 2:SUB # 3:EAR 4:BT ] } } pcm.AndroidRecord_Headset_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 "MIC Path" value 0} # 0:MAIN 1:SUB # {name "Voice Memo Path" value 3} # 0:OFF 1:MAIN 2:SUB # 3:EAR 4:BT ] } } pcm.AndroidRecord_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 "MIC Path" value 0} # 0:Main Mic 1:Sub MIC {name "Voice Call Path" value 1} # 0:OFF 1:RCV 2:SPK # 3:HP 4:BT {name "Voice Memo Path" value 1} # 0:OFF 1:MAIN 2:SUB # 3:EAR 4:BT ] } } pcm.AndroidRecord_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 "MIC Path" value 1} # 0:Main Mic 1:Sub MIC {name "Voice Call Path" value 2} # 0:OFF 1:RCV 2:SPK # 3:HP 4:BT {name "Voice Memo Path" value 2} # 0:OFF 1:MAIN 2:SUB # 3:EAR 4:BT ] } } pcm.AndroidRecord_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 "MIC Path" value 1} # 0:Main Mic 1:Sub MIC {name "Voice Call Path" value 3} # 0:OFF 1:RCV 2:SPK # 3:HP 4:BT {name "Voice Memo Path" value 3} # 0:OFF 1:MAIN 2:SUB # 3:EAR 4:BT ] } } pcm.AndroidRecord_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 "MIC Path" value 1} # 0:Main Mic 1:Sub MIC {name "Voice Call Path" value 4} # 0:OFF 1:RCV 2:SPK # 3:HP 4:BT {name "Voice Memo Path" value 4} # 0:OFF 1:MAIN 2:SUB # 3:EAR 4:BT ] } } pcm.AndroidRecord_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 "MIC Path" value 1} # 0:Main Mic 1:Sub MIC {name "Voice Call Path" value 3} # 0:OFF 1:RCV 2:SPK # 3:HP 4:BT {name "Voice Memo Path" value 3} # 0:OFF 1:MAIN 2:SUB # 3:EAR 4:BT ] } }