# Android ALSA configuration file for the CTP-PR0 board. # # Mixer Devices # ctl.AndroidPlayback { type hw card cloverviewaudio } ctl.AndroidPlayback_HDMI { type hw card IntelHDMI device 0 } ctl.AndroidPlayback_Widi { type hw card Loopback device 0 } ctl.AndroidRecord { type hw card cloverviewaudio } ctl.voice { type voice } # # Playback Devices # pcm.AndroidPlayback { type plug slave.pcm "speaker" } pcm.AndroidPlayback_Speaker_ringtone { type plug slave.pcm "speaker" } pcm.AndroidPlayback_Speaker_normal { type plug slave.pcm "speaker" } pcm.speaker { type hooks slave.pcm { type hw card cloverviewaudio device 0 subdevice 0 } hooks.0 { type ctl_elems hook_args [ { name "HP Amp Switch" value Off} ] } hooks.1 { type ctl_elems hook_args [ { name "EAR Amp Switch" value off} ] } hooks.2 { type ctl_elems hook_args [ { name "SPK Amp Switch" value off} ] } hooks.3 { type ctl_elems hook_args [ { name "SPKLO Amp Switch" value on} ] } hooks.4 { type ctl_elems hook_args [ { name "LPE IHF mixer" value 2} ] } } # # Android out stream should be Earpiece. # Excution: alsa_amixer cset numid=1 1 # pcm.AndroidPlayback_Earpiece_normal { type plug slave.pcm "earpiece" } pcm.earpiece { type hooks slave.pcm { type hw card cloverviewaudio device 0 subdevice 0 } hooks.0 { type ctl_elems hook_args [ { name "SPK Amp Switch" value off} ] } hooks.1 { type ctl_elems hook_args [ { name "SPKLO Amp Switch" value off} ] } hooks.2 { type ctl_elems hook_args [ { name "EAR Amp Switch" value on} ] } hooks.3 { type ctl_elems hook_args [ { name "HP Amp Switch" value Off} ] } hooks.4 { type ctl_elems hook_args [ { name "LPE headset mixer" value 2} ] } } # configuration used for enforced_audible streams pcm.AndroidPlayback_Earpiece_Speaker_normal { type plug slave.pcm "earpiece_dualroute" } pcm.earpiece_dualroute { type hooks slave.pcm { type hw card cloverviewaudio device 0 } hooks.0 { type ctl_elems hook_args [ {name "SPK Amp Switch" value on} ] } hooks.1 { type ctl_elems hook_args [ { name "SPKLO Amp Switch" value on} ] } hooks.2 { type ctl_elems hook_args [ { name "EAR Amp Switch" value on} ] } hooks.3 { type ctl_elems hook_args [ { name "HP Amp Switch" value Off} ] } hooks.4 { type ctl_elems hook_args [ { name "LPE headset mixer" value 2} ] } } pcm.AndroidPlayback_Headset_ringtone { type plug slave.pcm "headset" } pcm.AndroidPlayback_Headset_normal { type plug slave.pcm "headset" } pcm.headset { type hooks slave.pcm { type hw card cloverviewaudio device 0 subdevice 0 } hooks.0 { type ctl_elems hook_args [ { name "SPK Amp Switch" value off} ] } hooks.1 { type ctl_elems hook_args [ { name "SPKLO Amp Switch" value off} ] } hooks.2 { type ctl_elems hook_args [ { name "EAR Amp Switch" value off} ] } hooks.3 { type ctl_elems hook_args [ { name "HP Amp Switch" value On} ] } hooks.4 { type ctl_elems hook_args [ { name "LPE headset mixer" value 2} ] } } pcm.AndroidPlayback_Headphone_ringtone { type plug slave.pcm "headphone" } pcm.AndroidPlayback_Headphone_normal { type plug slave.pcm "headphone" } pcm.headphone { type hooks slave.pcm { type hw card cloverviewaudio device 0 subdevice 0 } hooks.0 { type ctl_elems hook_args [ { name "SPK Amp Switch" value off} ] } hooks.1 { type ctl_elems hook_args [ { name "SPKLO Amp Switch" value off} ] } hooks.2 { type ctl_elems hook_args [ { name "EAR Amp Switch" value off} ] } hooks.3 { type ctl_elems hook_args [ { name "HP Amp Switch" value On} ] } hooks.4 { type ctl_elems hook_args [ { name "LPE headset mixer" value 2} ] } } # # HDMI Routing # pcm.AndroidPlayback_HDMI { type linear slave { pcm HDMI format S24_LE } } pcm.HDMI { type hw card IntelHDMI device 0 } # # WIDI routing # pcm.AndroidPlayback_Widi{ type hw card Loopback device 0 subdevice 0 } pcm.AndroidPlayback_Widi_normal{ type hw card Loopback device 0 subdevice 0 } # Duplicate output to speaker and Widi pcm.AndroidPlayback_Speaker_Widi_normal { type plug slave.pcm "Widi_plus_speaker" route_policy duplicate } pcm.Widi_plus_speaker { type multi slaves.a.pcm "AndroidPlayback_Widi_normal" slaves.a.channels 2 slaves.b.pcm "speaker" slaves.b.channels 2 bindings.0.slave a bindings.0.channel 0 bindings.1.slave a bindings.1.channel 1 bindings.2.slave b bindings.2.channel 0 bindings.3.slave b bindings.3.channel 1 } # # Speaker and Headset dual routing for ringtone # pcm.AndroidPlayback_Speaker_Headphone_normal { type plug slave.pcm "dualroute" } pcm.AndroidPlayback_Speaker_Headset_normal { type plug slave.pcm "dualroute" } pcm.AndroidPlayback_Speaker_Headphone_ringtone { type plug slave.pcm "dualroute" } pcm.AndroidPlayback_Speaker_Headset_ringtone { type plug slave.pcm "dualroute" } pcm.dualroute { type hooks slave.pcm { type hw card cloverviewaudio device 0 subdevice 0 } hooks.0 { type ctl_elems hook_args [ { name "SPK Amp Switch" value off} ] } hooks.1 { type ctl_elems hook_args [ { name "SPKLO Amp Switch" value on} ] } hooks.2 { type ctl_elems hook_args [ { name "EAR Amp Switch" value off} ] } hooks.3 { type ctl_elems hook_args [ { name "HP Amp Switch" value On} ] } } # # Capture device # pcm.AndroidCapture { type null } pcm.AndroidCapture_BuiltinMic_normal { type plug slave.pcm builtinmic } pcm.AndroidCapture_BuiltinBackMic_normal { type plug slave.pcm builtinbackmic } # Front DMIC (bottom mic) pcm.builtinmic { type hooks slave.pcm { type hw card cloverviewaudio device 0 subdevice 0 } hooks.0 { type ctl_elems hook_args [ { name "Input Left Capture" value "DMIC A"} ] } hooks.1 { type ctl_elems hook_args [ { name "Input Right Capture" value "DMIC B"} ] } hooks.2 { type ctl_elems hook_args [ { name "IP Digital Swap/Mono Select" value 'Mono B'} ] } } # Back mic (Up DMIC) pcm.builtinbackmic { type hooks slave.pcm { type hw card cloverviewaudio device 0 subdevice 0 } hooks.0 { type ctl_elems hook_args [ { name "Input Left Capture" value "DMIC A"} ] } hooks.1 { type ctl_elems hook_args [ { name "Input Right Capture" value "DMIC B"} ] } hooks.2 { type ctl_elems hook_args [ { name "IP Digital Swap/Mono Select" value 'Mono A'} ] } } # # Android out stream should be Headset. # Excution: alsa_amixer cset numid=1 0 # pcm.AndroidCapture_Headset_normal { type plug slave.pcm captureheadset } pcm.captureheadset { type hooks slave.pcm { type hw card cloverviewaudio device 0 subdevice 0 } hooks.0 { type ctl_elems hook_args [ {name "Input Right Capture" value "ADC B"} ] } hooks.1 { type ctl_elems hook_args [ {name "Input Left Capture" value "ADC A"} ] } hooks.2 { type ctl_elems hook_args [ {name "PGA Left Mux" value 1} ] } hooks.3 { type ctl_elems hook_args [ {name "PGA Right Mux" value 1} ] } hooks.4 { type ctl_elems hook_args [ {name "MIC Preamp Switch" value [off off]} ] } hooks.5 { type ctl_elems hook_args [ {name "IP Digital Swap/Mono Select" value "Mono B"} ] } } # # FM Playback # pcm.AndroidPlayback_Headset_infmrx { type plug slave.pcm FmPlaybackMix_HeadsetOrHeadphone } pcm.AndroidPlayback_Headphone_infmrx { type plug slave.pcm FmPlaybackMix_HeadsetOrHeadphone } pcm.AndroidPlayback_Speaker_infmrx { type plug slave.pcm FmPlayback_Speaker } pcm.AndroidPlayback_Speaker_Headset_infmrx { type plug slave.pcm FmPlaybackMix_Speaker_HeadsetOrHeadphone } pcm.AndroidPlayback_Speaker_Headphone_infmrx { type plug slave.pcm FmPlaybackMix_Speaker_HeadsetOrHeadphone } #play FM Rx on wired headset or speaker pcm.FmPlaybackMix_HeadsetOrHeadphone { type hooks slave.pcm { type hw card cloverviewaudio device 0 subdevice 0 } hooks.0 { type ctl_elems hook_args [ {name "Input Right Capture" value "ADC B"} ] } hooks.1 { type ctl_elems hook_args [ {name "Input Left Capture" value "ADC A"} ] } hooks.2 { type ctl_elems hook_args [ {name "PGA Left Mux" value 0} ] } hooks.3 { type ctl_elems hook_args [ {name "PGA Right Mux" value 0} ] } hooks.4 { type ctl_elems hook_args [ {name "MIC Preamp Switch" value [off off]} ] } hooks.5 { type ctl_elems hook_args [ { name "SPK Amp Switch" value off} ] } hooks.6 { type ctl_elems hook_args [ { name "SPKLO Amp Switch" value off} ] } hooks.7 { type ctl_elems hook_args [ { name "EAR Amp Switch" value off} ] } hooks.8 { type ctl_elems hook_args [ { name "HP Amp Switch" value On} ] } hooks.9 { type ctl_elems hook_args [ { name "LPE headset mixer" value 2} ] } hooks.10 { type ctl_elems hook_args [ { name "HL Loopback" value 0} ] } } #play FM Rx on IHF and speaker pcm.FmPlaybackMix_Speaker_HeadsetOrHeadphone { type hooks slave.pcm { type hw card cloverviewaudio device 0 subdevice 0 } hooks.0 { type ctl_elems hook_args [ {name "Input Right Capture" value "ADC B"} ] } hooks.1 { type ctl_elems hook_args [ {name "Input Left Capture" value "ADC A"} ] } hooks.2 { type ctl_elems hook_args [ {name "PGA Left Mux" value 0} ] } hooks.3 { type ctl_elems hook_args [ {name "PGA Right Mux" value 0} ] } hooks.4 { type ctl_elems hook_args [ {name "MIC Preamp Switch" value [off off]} ] } hooks.5 { type ctl_elems hook_args [ { name "SPK Amp Switch" value off} ] } hooks.6 { type ctl_elems hook_args [ { name "SPKLO Amp Switch" value on} ] } hooks.7 { type ctl_elems hook_args [ { name "EAR Amp Switch" value off} ] } hooks.8 { type ctl_elems hook_args [ { name "HP Amp Switch" value On} ] } hooks.9 { type ctl_elems hook_args [ { name "LPE headset mixer" value 2} ] } hooks.10 { type ctl_elems hook_args [ { name "HL Loopback" value 0} ] } } #play FM Rx on IHF pcm.FmPlayback_Speaker { type hooks slave.pcm { type hw card cloverviewaudio device 0 subdevice 0 } hooks.0 { type ctl_elems hook_args [ {name "Input Right Capture" value "ADC B"} ] } hooks.1 { type ctl_elems hook_args [ {name "Input Left Capture" value "ADC A"} ] } hooks.2 { type ctl_elems hook_args [ {name "PGA Left Mux" value 0} ] } hooks.3 { type ctl_elems hook_args [ {name "PGA Right Mux" value 0} ] } hooks.4 { type ctl_elems hook_args [ {name "MIC Preamp Switch" value [off off]} ] } hooks.5 { type ctl_elems hook_args [ { name "SPK Amp Switch" value off} ] } hooks.6 { type ctl_elems hook_args [ { name "SPKLO Amp Switch" value on} ] } hooks.7 { type ctl_elems hook_args [ { name "EAR Amp Switch" value off} ] } hooks.8 { type ctl_elems hook_args [ { name "HP Amp Switch" value On} ] } hooks.9 { type ctl_elems hook_args [ { name "LPE headset mixer" value 2} ] } hooks.10 { type ctl_elems hook_args [ { name "HL Loopback" value 0} ] } } #capture FM (DMIC or AMIC cannot be used) pcm.AndroidCapture_Headset_infmrx { type plug slave.pcm capturefmrecord } pcm.capturefmrecord { type hw card cloverviewaudio device 0 subdevice 0 } # # Bluetooth SCO # pcm.AndroidPlayback_Bluetooth { type null } pcm.AndroidCapture_BluetoothScoHeadset { type null } pcm.AndroidPlayback_Bluetooth_normal { type plug slave.pcm voipIn_BT_hw slave.channels 1 # copy 0 <- 0 route_policy copy # Average 0 <- 0*0.5 + 1*0.5 # route_policy average } pcm.AndroidPlayback_Speaker_Bluetooth_normal { type plug slave.pcm "speaker" } pcm.AndroidCapture_BluetoothScoHeadset_normal { type plug slave.pcm voipOut_BT_hw slave.channels 1 route_policy duplicate } # # CSV Call # pcm.AndroidPlayback_Speaker_incall { type plug slave.pcm "voiceIn_Speaker" } pcm.AndroidPlayback_Earpiece_incall { type plug slave.pcm "voiceIn_Earpiece" } pcm.AndroidPlayback_Headset_incall { type plug slave.pcm "voiceIn_Headset" } pcm.AndroidPlayback_Headphone_incall { type plug slave.pcm "voiceIn_Headphone" } pcm.AndroidPlayback_Bluetooth_incall { type plug slave.pcm "voiceIn_BT" } pcm.AndroidCapture_VoiceCall_incall { type plug slave.pcm "voiceOut" } pcm.AndroidCapture_BluetoothScoHeadset_incall { type null } pcm.AndroidCapture_BuiltinMic_incall { type null } pcm.AndroidCapture_Headset_incall { type null } pcm.voiceOut { type hw card IntelALSAIFX device 0 rate 48000 } pcm.voiceIn_Speaker { type hooks slave.pcm { type voice card IntelALSAIFX device 0 } hooks.0 { type ctl_voice hook_args [ {name "Voice Speaker" value 1} ] } } pcm.voiceIn_Headset { type hooks slave.pcm { type voice card IntelALSAIFX device 0 } hooks.0 { type ctl_voice hook_args [ {name "Voice Headset" value 1} ] } } pcm.voiceIn_Headphone { type hooks slave.pcm { type voice card IntelALSAIFX device 0 } hooks.0 { type ctl_voice hook_args [ {name "Voice Headphone" value 1} ] } } pcm.voiceIn_Earpiece { type hooks slave.pcm { type voice card IntelALSAIFX device 0 } hooks.0 { type ctl_voice hook_args [ {name "Voice Earpiece" value 1} ] } } pcm.voiceIn_BT { type hooks slave.pcm { type voice card IntelALSAIFX device 0 } hooks.0 { type ctl_voice hook_args [ {name "Voice BT" value 1} ] } } # # CSV Call Codec settings # pcm.VoicePlayback_Earpiece_incall { type plug slave.pcm "voiceIn_Earpiece_incall" } pcm.VoicePlayback_Speaker_incall { type plug slave.pcm "voiceIn_Speaker_incall" } pcm.VoicePlayback_Headset_incall { type plug slave.pcm "voiceIn_Headset_incall" } pcm.VoicePlayback_Headphone_incall { type plug slave.pcm "voiceIn_Headphone_incall" } pcm.VoicePlayback_HAC_incall { type plug slave.pcm "voiceIn_HAC_incall" } pcm.VoiceCapture_incall { type plug slave.pcm "voiceOut_incall" } pcm.voiceOut_incall { type hooks slave.pcm { type hw card cloverviewaudio device 1 subdevice 0 } } pcm.voiceIn_Earpiece_incall { type hooks slave.pcm { type hw card cloverviewaudio device 1 subdevice 0 } hooks.0 { type ctl_elems hook_args [ {name "HP Amp Switch" value Off} ] } hooks.1 { type ctl_elems hook_args [ {name "SPK Amp Switch" value off} ] } hooks.2 { type ctl_elems hook_args [ {name "SPKLO Amp Switch" value off} ] } hooks.3 { type ctl_elems hook_args [ {name "EAR Amp Switch" value on} ] } hooks.4 { type ctl_elems hook_args [ {name "Input Left Capture" value "DMIC A"} ] } hooks.5 { type ctl_elems hook_args [ {name "Input Right Capture" value "DMIC B"} ] } hooks.6 { type ctl_elems hook_args [ {name "VSPOUT Mono/Stereo Select" value "Stereo"} ] } hooks.7 { type ctl_elems hook_args [ {name "IP Digital Swap/Mono Select" value "Swap A-B"} ] } } pcm.voiceIn_Speaker_incall { type hooks slave.pcm { type hw card cloverviewaudio device 1 subdevice 0 } hooks.0 { type ctl_elems hook_args [ {name "HP Amp Switch" value Off} ] } hooks.1 { type ctl_elems hook_args [ {name "EAR Amp Switch" value off} ] } hooks.2 { type ctl_elems hook_args [ {name "SPK Amp Switch" value off} ] } hooks.3 { type ctl_elems hook_args [ {name "SPKLO Amp Switch" value on} ] } hooks.4 { type ctl_elems hook_args [ {name "Input Left Capture" value "DMIC A"} ] } hooks.5 { type ctl_elems hook_args [ {name "Input Right Capture" value "DMIC B"} ] } hooks.6 { type ctl_elems hook_args [ {name "IP Digital Swap/Mono Select" value "Mono A"} ] } } pcm.voiceIn_Headset_incall { type hooks slave.pcm { type hw card cloverviewaudio device 1 subdevice 0 } hooks.0 { type ctl_elems hook_args [ {name "HP Amp Switch" value on} ] } hooks.1 { type ctl_elems hook_args [ {name "EAR Amp Switch" value off} ] } hooks.2 { type ctl_elems hook_args [ {name "SPK Amp Switch" value off} ] } hooks.3 { type ctl_elems hook_args [ {name "SPKLO Amp Switch" value off} ] } hooks.4 { type ctl_elems hook_args [ {name "Input Left Capture" value "ADC A"} ] } hooks.5 { type ctl_elems hook_args [ {name "Input Right Capture" value "ADC B"} ] } hooks.6 { type ctl_elems hook_args [ {name "PGA Left Mux" value 1} ] } hooks.7 { type ctl_elems hook_args [ {name "PGA Right Mux" value 1} ] } hooks.8 { type ctl_elems hook_args [ {name "MIC Preamp Switch" value [off off]} ] } hooks.9 { type ctl_elems hook_args [ {name "IP Digital Swap/Mono Select" value "Mono B"} ] } } pcm.voiceIn_Headphone_incall { type hooks slave.pcm { type hw card cloverviewaudio device 1 subdevice 0 } hooks.0 { type ctl_elems hook_args [ {name "HP Amp Switch" value on} ] } hooks.1 { type ctl_elems hook_args [ {name "EAR Amp Switch" value off} ] } hooks.2 { type ctl_elems hook_args [ {name "SPK Amp Switch" value off} ] } hooks.3 { type ctl_elems hook_args [ {name "SPKLO Amp Switch" value off} ] } hooks.4 { type ctl_elems hook_args [ {name "Input Left Capture" value "DMIC A"} ] } hooks.5 { type ctl_elems hook_args [ {name "Input Right Capture" value "DMIC B"} ] } hooks.6 { type ctl_elems hook_args [ {name "IP Digital Swap/Mono Select" value "Mono A"} ] } } pcm.voiceIn_HAC_incall { type hooks slave.pcm { type hw card cloverviewaudio device 1 subdevice 0 } hooks.0 { type ctl_elems hook_args [ {name "HP Amp Switch" value Off} ] } hooks.1 { type ctl_elems hook_args [ {name "EAR Amp Switch" value off} ] } hooks.2 { type ctl_elems hook_args [ {name "SPK Amp Switch" value on} ] } hooks.3 { type ctl_elems hook_args [ {name "SPKLO Amp Switch" value off} ] } hooks.4 { type ctl_elems hook_args [ {name "Input Left Capture" value "DMIC A"} ] } hooks.5 { type ctl_elems hook_args [ {name "Input Right Capture" value "DMIC B"} ] } hooks.6 { type ctl_elems hook_args [ {name "VSPOUT Mono/Stereo Select" value "Stereo"} ] } hooks.7 { type ctl_elems hook_args [ {name "IP Digital Swap/Mono Select" value "Swap A-B"} ] } } # # VoIP Call # pcm.AndroidPlayback_Speaker_incommunication { type plug slave.pcm "voipIn_Speaker" } pcm.AndroidPlayback_Earpiece_incommunication { type plug slave.pcm "voipIn_Earpiece" } pcm.AndroidPlayback_Headset_incommunication { type plug slave.pcm "voipIn_Headset" } pcm.AndroidPlayback_Headphone_incommunication { type plug slave.pcm "voipIn_Headphone" } pcm.AndroidPlayback_Bluetooth_incommunication { type plug slave.pcm voipIn_BT_hw slave.channels 1 # copy 0 <- 0 route_policy copy # Average 0 <- 0*0.5 + 1*0.5 # route_policy average } pcm.AndroidCapture_VoiceCall_incommunication { type plug slave.pcm "voipOut_Codec" } pcm.AndroidCapture_BuiltinMic_incommunication { type plug slave.pcm "voipOut_Codec" } pcm.AndroidCapture_Headset_incommunication { type plug slave.pcm "voipOut_Codec" } pcm.AndroidCapture_BluetoothScoHeadset_incommunication { type plug slave.pcm voipOut_BT_hw slave.channels 1 route_policy duplicate } pcm.voipOut_Codec { type hw card IntelALSASSP device 2 } pcm.voipOut_BT_hw { type hw card IntelALSASSP device 0 rate 8000 } pcm.voipIn_Speaker { type hooks slave.pcm { type voice card IntelALSASSP device 2 } hooks.0 { type ctl_voice hook_args [ {name "Voice Speaker" value 1} ] } } pcm.voipIn_Headset { type hooks slave.pcm { type voice card IntelALSASSP device 2 } hooks.0 { type ctl_voice hook_args [ {name "Voice Headset" value 1} ] } } pcm.voipIn_Headphone { type hooks slave.pcm { type voice card IntelALSASSP device 2 } hooks.0 { type ctl_voice hook_args [ {name "Voice Headphone" value 1} ] } } pcm.voipIn_Earpiece { type hooks slave.pcm { type voice card IntelALSASSP device 2 } hooks.0 { type ctl_voice hook_args [ {name "Voice Earpiece" value 1} ] } } pcm.voipIn_BT_hw { type hw card IntelALSASSP device 0 format S16_LE channels 1 rate 8000 } # # VoIP Call Codec settings # pcm.VoicePlayback_Earpiece_incommunication { type plug slave.pcm "voiceIn_Earpiece_incommunication" } pcm.VoicePlayback_Speaker_incommunication { type plug slave.pcm "voiceIn_Speaker_incommunication" } pcm.VoicePlayback_Headset_incommunication { type plug slave.pcm "voiceIn_Headset_incommunication" } pcm.VoicePlayback_Headphone_incommunication { type plug slave.pcm "voiceIn_Headphone_incommunication" } pcm.VoicePlayback_HAC_incommunication { type plug slave.pcm "voiceIn_HAC_incommunication" } pcm.VoiceCapture_incommunication { type plug slave.pcm "voiceOut_incommunication" } pcm.voiceOut_incommunication { type hooks slave.pcm { type hw card cloverviewaudio device 1 subdevice 0 } } pcm.voiceIn_Earpiece_incommunication { type hooks slave.pcm { type hw card cloverviewaudio device 1 subdevice 0 } hooks.0 { type ctl_elems hook_args [ {name "HP Amp Switch" value Off} ] } hooks.1 { type ctl_elems hook_args [ {name "SPK Amp Switch" value off} ] } hooks.2 { type ctl_elems hook_args [ {name "SPKLO Amp Switch" value off} ] } hooks.3 { type ctl_elems hook_args [ {name "EAR Amp Switch" value on} ] } hooks.4 { type ctl_elems hook_args [ {name "Input Left Capture" value "DMIC A"} ] } hooks.5 { type ctl_elems hook_args [ {name "Input Right Capture" value "DMIC B"} ] } hooks.6 { type ctl_elems hook_args [ {name "VSPOUT Mono/Stereo Select" value "Stereo"} ] } hooks.7 { type ctl_elems hook_args [ {name "IP Digital Swap/Mono Select" value "Swap A-B"} ] } } pcm.voiceIn_Speaker_incommunication { type hooks slave.pcm { type hw card cloverviewaudio device 1 subdevice 0 } hooks.0 { type ctl_elems hook_args [ {name "HP Amp Switch" value Off} ] } hooks.1 { type ctl_elems hook_args [ {name "EAR Amp Switch" value off} ] } hooks.2 { type ctl_elems hook_args [ {name "SPK Amp Switch" value off} ] } hooks.3 { type ctl_elems hook_args [ {name "SPKLO Amp Switch" value on} ] } hooks.4 { type ctl_elems hook_args [ {name "Input Left Capture" value "DMIC A"} ] } hooks.5 { type ctl_elems hook_args [ {name "Input Right Capture" value "DMIC B"} ] } hooks.6 { type ctl_elems hook_args [ {name "IP Digital Swap/Mono Select" value "Mono A"} ] } } pcm.voiceIn_Headset_incommunication { type hooks slave.pcm { type hw card cloverviewaudio device 1 subdevice 0 } hooks.0 { type ctl_elems hook_args [ {name "HP Amp Switch" value on} ] } hooks.1 { type ctl_elems hook_args [ {name "EAR Amp Switch" value off} ] } hooks.2 { type ctl_elems hook_args [ {name "SPK Amp Switch" value off} ] } hooks.3 { type ctl_elems hook_args [ {name "SPKLO Amp Switch" value off} ] } hooks.4 { type ctl_elems hook_args [ {name "Input Left Capture" value "ADC A"} ] } hooks.5 { type ctl_elems hook_args [ {name "Input Right Capture" value "ADC B"} ] } hooks.6 { type ctl_elems hook_args [ {name "PGA Left Mux" value 1} ] } hooks.7 { type ctl_elems hook_args [ {name "PGA Right Mux" value 1} ] } hooks.8 { type ctl_elems hook_args [ {name "MIC Preamp Switch" value [off off]} ] } hooks.9 { type ctl_elems hook_args [ {name "IP Digital Swap/Mono Select" value "Mono B"} ] } } pcm.voiceIn_Headphone_incommunication { type hooks slave.pcm { type hw card cloverviewaudio device 1 subdevice 0 } hooks.0 { type ctl_elems hook_args [ {name "HP Amp Switch" value on} ] } hooks.1 { type ctl_elems hook_args [ {name "EAR Amp Switch" value off} ] } hooks.2 { type ctl_elems hook_args [ {name "SPK Amp Switch" value off} ] } hooks.3 { type ctl_elems hook_args [ {name "SPKLO Amp Switch" value off} ] } hooks.4 { type ctl_elems hook_args [ {name "Input Left Capture" value "DMIC A"} ] } hooks.5 { type ctl_elems hook_args [ {name "Input Right Capture" value "DMIC B"} ] } hooks.6 { type ctl_elems hook_args [ {name "IP Digital Swap/Mono Select" value "Mono A"} ] } } pcm.voiceIn_HAC_incommunication { type hooks slave.pcm { type hw card cloverviewaudio device 1 subdevice 0 } hooks.0 { type ctl_elems hook_args [ {name "HP Amp Switch" value Off} ] } hooks.1 { type ctl_elems hook_args [ {name "EAR Amp Switch" value off} ] } hooks.2 { type ctl_elems hook_args [ {name "SPK Amp Switch" value on} ] } hooks.3 { type ctl_elems hook_args [ {name "SPKLO Amp Switch" value off} ] } hooks.4 { type ctl_elems hook_args [ {name "Input Left Capture" value "DMIC A"} ] } hooks.5 { type ctl_elems hook_args [ {name "Input Right Capture" value "DMIC B"} ] } hooks.6 { type ctl_elems hook_args [ {name "VSPOUT Mono/Stereo Select" value "Stereo"} ] } hooks.7 { type ctl_elems hook_args [ {name "IP Digital Swap/Mono Select" value "Swap A-B"} ] } } # # WIDI routing # pcm.loopback_src{ type hw card Loopback device 1 subdevice 0 }