--- /dev/null
+# Android ALSA configuration file for the mfld_cdk audio.
+
+#
+# Mixer Devices
+#
+
+ctl.AndroidPlayback {
+ type hw
+ card medfieldaudio
+}
+
+ctl.AndroidPlayback_HDMI {
+ type hw
+ card IntelHDMI
+ device 0
+}
+
+ctl.AndroidPlayback_Widi-Loopback {
+ type hw
+ card Loopback
+ device 0
+}
+
+ctl.AndroidRecord {
+ type hw
+ card medfieldaudio
+}
+
+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 medfieldaudio
+ device 1
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "Speaker Mux Playback Route" value [0 0]}
+ ]
+ }
+ hooks.1 {
+ type ctl_elems
+ hook_args [
+ {name "Mode Playback Route" value 0}
+ ]
+ }
+ hooks.2 {
+ type ctl_elems
+ hook_args [
+ {name "Headset Playback Route" value 1}
+ ]
+ }
+}
+
+#
+# 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 medfieldaudio
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "Playback Switch" value 0}
+ ]
+ }
+ hooks.1 {
+ type ctl_elems
+ hook_args [
+ {name "Mode Playback Route" value 0}
+ ]
+ }
+ hooks.2 {
+ type ctl_elems
+ hook_args [
+ {name "Speaker Mux Playback Route" value [0 0]}
+ ]
+ }
+ hooks.3 {
+ type ctl_elems
+ hook_args [
+ {name "Headset Playback Route" value 1}
+ ]
+ }
+}
+
+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 medfieldaudio
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "Playback Switch" value 1}
+ ]
+ }
+ hooks.1 {
+ type ctl_elems
+ hook_args [
+ {name "Mode Playback Route" value 0}
+ ]
+ }
+ hooks.2 {
+ type ctl_elems
+ hook_args [
+ {name "Speaker Mux Playback Route" value [0 0]}
+ ]
+ }
+ hooks.3 {
+ type ctl_elems
+ hook_args [
+ {name "Headset Playback Route" value 0}
+ ]
+ }
+}
+
+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 medfieldaudio
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "Playback Switch" value 1}
+ ]
+ }
+ hooks.1 {
+ type ctl_elems
+ hook_args [
+ {name "Mode Playback Route" value 0}
+ ]
+ }
+ hooks.2 {
+ type ctl_elems
+ hook_args [
+ {name "Speaker Mux Playback Route" value [0 0]}
+ ]
+ }
+ hooks.3 {
+ type ctl_elems
+ hook_args [
+ {name "Headset Playback Route" value 0}
+ ]
+ }
+}
+
+#
+# HDMI routing
+#
+pcm.AndroidPlayback_HDMI {
+ type linear
+ slave {
+ pcm HDMI
+ format S24_LE
+ }
+}
+
+pcm.AndroidPlayback_HDMI_normal {
+ type linear
+ slave {
+ pcm HDMI
+ format S24_LE
+ }
+}
+
+pcm.AndroidPlayback_Speaker_HDMI_ringtone {
+ type plug
+ slave.pcm "speaker"
+}
+
+pcm.AndroidPlayback_Speaker_HDMI_normal {
+ type plug
+ slave.pcm "HDMI_plus_speaker"
+ route_policy duplicate
+}
+
+pcm.HDMI_plus_speaker {
+ type multi
+ slaves.a.pcm "AndroidPlayback_HDMI_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
+}
+
+pcm.HDMI {
+ type hw
+ card IntelHDMI
+ device 0
+}
+
+#
+# WIDI routing
+#
+pcm.AndroidPlayback_Widi-Loopback{
+ type hw
+ card Loopback
+ device 0
+ subdevice 0
+}
+pcm.AndroidPlayback_Widi-Loopback_normal{
+ type hw
+ card Loopback
+ device 0
+ subdevice 0
+}
+
+
+#
+# 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 medfieldaudio
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "Playback Switch" value 1}
+ {name "Mode Playback Route" value 0}
+ {name "Speaker Mux Playback Route" value [1 1]}
+ ]
+ }
+ hooks.1 {
+ type ctl_elems
+ hook_args [
+ {name "Headset Playback Route" value 0}
+ ]
+ }
+}
+
+#
+# Capture device
+#
+pcm.AndroidCapture {
+ type null
+}
+
+pcm.AndroidCapture_BuiltinMic_normal {
+ type plug
+ slave.pcm builtinmic
+}
+
+pcm.builtinmic {
+ type hooks
+ slave.pcm {
+ type hw
+ card medfieldaudio
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "DMIC12 Capture Route" value 1}
+ ]
+ }
+ hooks.1 {
+ type ctl_elems
+ hook_args [
+ {name "DMIC56 Capture Route" value 1}
+ ]
+ }
+ hooks.2 {
+ type ctl_elems
+ hook_args [
+ {name "Txpath1 Capture Route" value 0}
+ ]
+ }
+ hooks.3 {
+ type ctl_elems
+ hook_args [
+ {name "Txpath2 Capture Route" value 4}
+ ]
+ }
+ hooks.4 {
+ type ctl_elems
+ hook_args [
+ {name "Txpath3 Capture Route" value 3}
+ ]
+ }
+ hooks.5 {
+ type ctl_elems
+ hook_args [
+ {name "Txpath4 Capture Route" value 5}
+ ]
+ }
+}
+#
+# Adroid 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 medfieldaudio
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "Mic1Mode Capture Route" value 0}
+ ]
+ }
+ hooks.1 {
+ type ctl_elems
+ hook_args [
+ {name "Mic_InputL Capture Route" value 0}
+ ]
+ }
+ hooks.2{
+ type ctl_elems
+ hook_args[
+ {name "Mic_InputR Capture Route" value 1}
+ ]
+ }
+ hooks.3 {
+ type ctl_elems
+ hook_args [
+ {name "Txpath1 Capture Route" value 6}
+ ]
+ }
+ hooks.4 {
+ type ctl_elems
+ hook_args [
+ {name "Txpath3 Capture Route" value 3}
+ ]
+ }
+ hooks.5 {
+ type ctl_elems
+ hook_args [
+ {name "Txpath4 Capture Route" value 5}
+ ]
+ }
+ hooks.6 {
+ type ctl_elems
+ hook_args [
+ {name "Mic1 Capture Volume" value 1}
+ ]
+ }
+}
+
+
+#
+# Bluetooth SCO
+#
+pcm.AndroidPlayback_Bluetooth {
+ type null
+}
+
+pcm.AndroidCapture_BluetoothScoHeadset {
+ type null
+}
+
+pcm.AndroidPlayback_Bluetooth_normal {
+ type plug
+ slave.pcm "playbackBluetoothSco"
+}
+
+pcm.AndroidCapture_BluetoothScoHeadset_normal {
+ type plug
+ slave.pcm "captureBluetoothSco"
+}
+
+
+pcm.playbackBluetoothSco {
+ type hooks
+ slave.pcm {
+ type hw
+ card IntelALSASSP
+ device 0
+ }
+}
+
+pcm.captureBluetoothSco {
+ type hooks
+ slave.pcm {
+ type hw
+ card IntelALSASSP
+ device 0
+ }
+}
+
+
+#
+# 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 plug
+ slave.pcm "voiceOut"
+}
+
+pcm.AndroidCapture_BuiltinMic_incall {
+ type null
+}
+
+pcm.AndroidCapture_Headset_incall {
+ type null
+}
+
+
+pcm.voiceOut {
+ type hooks
+ slave.pcm {
+ type voice
+ card IntelALSAIFX
+ device 0
+ }
+}
+
+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.VoiceCapture_incall {
+ type plug
+ slave.pcm "voiceOut_incall"
+}
+
+
+pcm.voiceOut_incall {
+ type hooks
+ slave.pcm {
+ type hw
+ card medfieldaudio
+ device 2
+ }
+}
+
+pcm.voiceIn_Earpiece_incall {
+ type hooks
+ slave.pcm {
+ type hw
+ card medfieldaudio
+ device 2
+ }
+ hooks.0 { type ctl_elems hook_args [ {name "Playback Switch" value 0} ] }
+ hooks.1 { type ctl_elems hook_args [ {name "Headset Playback Route" value 1} ] }
+ hooks.2 { type ctl_elems hook_args [ {name "Mode Playback Route" value 1} ] }
+ hooks.3 { type ctl_elems hook_args [ {name "Speaker Mux Playback Route" value [0 0]} ] }
+ hooks.4 { type ctl_elems hook_args [ {name "DMIC12 Capture Route" value 1} ] }
+ hooks.5 { type ctl_elems hook_args [ {name "DMIC56 Capture Route" value 1} ] }
+ hooks.6 { type ctl_elems hook_args [ {name "Txpath1 Capture Route" value 0} ] }
+ hooks.7 { type ctl_elems hook_args [ {name "Txpath2 Capture Route" value 4} ] }
+ hooks.8 { type ctl_elems hook_args [ {name "PCM1 Mode" value 0} ] }
+}
+
+pcm.voiceIn_Speaker_incall {
+ type hooks
+ slave.pcm {
+ type hw
+ card medfieldaudio
+ device 2
+ }
+ hooks.0 { type ctl_elems hook_args [ {name "Playback Switch" value 1} ] }
+ hooks.1 { type ctl_elems hook_args [ {name "Headset Playback Route" value 1} ] }
+ hooks.2 { type ctl_elems hook_args [ {name "Mode Playback Route" value 1} ] }
+ hooks.3 { type ctl_elems hook_args [ {name "Speaker Mux Playback Route" value [1 1]} ] }
+ hooks.4 { type ctl_elems hook_args [ {name "DMIC12 Capture Route" value 0} ] }
+ hooks.5 { type ctl_elems hook_args [ {name "DMIC56 Capture Route" value 1} ] }
+ hooks.6 { type ctl_elems hook_args [ {name "Txpath1 Capture Route" value 4} ] }
+ hooks.7 { type ctl_elems hook_args [ {name "Txpath2 Capture Route" value 0} ] }
+ hooks.8 { type ctl_elems hook_args [ {name "PCM1 Mode" value 0} ] }
+}
+
+pcm.voiceIn_Headset_incall {
+ type hooks
+ slave.pcm {
+ type hw
+ card medfieldaudio
+ device 2
+ }
+ hooks.0 { type ctl_elems hook_args [ {name "Playback Switch" value 1} ] }
+ hooks.1 { type ctl_elems hook_args [ {name "Headset Playback Route" value 0} ] }
+ hooks.2 { type ctl_elems hook_args [ {name "Mode Playback Route" value 1} ] }
+ hooks.3 { type ctl_elems hook_args [ {name "Speaker Mux Playback Route" value [0 0]} ] }
+ hooks.4 { type ctl_elems hook_args [ {name "Mic1Mode Capture Route" value 0} ] }
+ hooks.5 { type ctl_elems hook_args [ {name "Mic_InputL Capture Route" value 0} ] }
+ hooks.6 { type ctl_elems hook_args [ {name "DMIC56 Capture Route" value 1} ] }
+ hooks.7 { type ctl_elems hook_args [ {name "Txpath1 Capture Route" value 6} ] }
+ hooks.8 { type ctl_elems hook_args [ {name "Txpath2 Capture Route" value 4} ] }
+ hooks.9 { type ctl_elems hook_args [ {name "Mic1 Capture Volume" value 1} ] }
+ hooks.10 { type ctl_elems hook_args [ {name "PCM1 Mode" value 0} ] }
+}
+
+pcm.voiceIn_Headphone_incall {
+ type hooks
+ slave.pcm {
+ type hw
+ card medfieldaudio
+ device 2
+ }
+ hooks.0 { type ctl_elems hook_args [ {name "Playback Switch" value 1} ] }
+ hooks.1 { type ctl_elems hook_args [ {name "Headset Playback Route" value 0} ] }
+ hooks.2 { type ctl_elems hook_args [ {name "Mode Playback Route" value 1} ] }
+ hooks.3 { type ctl_elems hook_args [ {name "Speaker Mux Playback Route" value [0 0]} ] }
+ hooks.4 { type ctl_elems hook_args [ {name "DMIC12 Capture Route" value 1} ] }
+ hooks.5 { type ctl_elems hook_args [ {name "DMIC56 Capture Route" value 1} ] }
+ hooks.6 { type ctl_elems hook_args [ {name "Txpath1 Capture Route" value 0} ] }
+ hooks.7 { type ctl_elems hook_args [ {name "Txpath2 Capture Route" value 4} ] }
+ hooks.8 { type ctl_elems hook_args [ {name "PCM1 Mode" value 0} ] }
+}
+
+
+#
+# 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
+ 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 hooks
+ slave.pcm {
+ type voice
+ card IntelALSASSP
+ device 2
+ }
+}
+
+
+pcm.voipOut_BT {
+ type hooks
+ slave.pcm {
+ type voice
+ card IntelALSASSP
+ device 0
+ }
+}
+
+pcm.voipOut_BT_hw {
+ type hw
+ card IntelALSASSP
+ device 0
+}
+
+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 {
+ type hooks
+ slave.pcm {
+ type voice
+ card IntelALSASSP
+ device 0
+ }
+ hooks.0 { type ctl_voice hook_args [ {name "Voice BT" value 1} ] }
+}
+
+#
+# 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.VoiceCapture_incommunication {
+ type plug
+ slave.pcm "voiceOut_incommunication"
+}
+
+
+pcm.voiceOut_incommunication {
+ type hooks
+ slave.pcm {
+ type hw
+ card medfieldaudio
+ device 2
+ }
+}
+
+pcm.voiceIn_Earpiece_incommunication {
+ type hooks
+ slave.pcm {
+ type hw
+ card medfieldaudio
+ device 2
+ }
+ hooks.0 { type ctl_elems hook_args [ {name "Playback Switch" value 0} ] }
+ hooks.1 { type ctl_elems hook_args [ {name "Headset Playback Route" value 0} ] }
+ hooks.2 { type ctl_elems hook_args [ {name "Mode Playback Route" value 1} ] }
+ hooks.3 { type ctl_elems hook_args [ {name "Speaker Mux Playback Route" value [0 0]} ] }
+ hooks.4 { type ctl_elems hook_args [ {name "DMIC12 Capture Route" value 1} ] }
+ hooks.5 { type ctl_elems hook_args [ {name "DMIC56 Capture Route" value 1} ] }
+ hooks.6 { type ctl_elems hook_args [ {name "Txpath1 Capture Route" value 0} ] }
+ hooks.7 { type ctl_elems hook_args [ {name "Txpath2 Capture Route" value 4} ] }
+ hooks.8 { type ctl_elems hook_args [ {name "PCM1 Mode" value 1} ] }
+}
+
+pcm.voiceIn_Speaker_incommunication {
+ type hooks
+ slave.pcm {
+ type hw
+ card medfieldaudio
+ device 2
+ }
+ hooks.0 { type ctl_elems hook_args [ {name "Playback Switch" value 1} ] }
+ hooks.1 { type ctl_elems hook_args [ {name "Headset Playback Route" value 1} ] }
+ hooks.2 { type ctl_elems hook_args [ {name "Mode Playback Route" value 1} ] }
+ hooks.3 { type ctl_elems hook_args [ {name "Speaker Mux Playback Route" value [1 1]} ] }
+ hooks.4 { type ctl_elems hook_args [ {name "DMIC12 Capture Route" value 0} ] }
+ hooks.5 { type ctl_elems hook_args [ {name "DMIC56 Capture Route" value 1} ] }
+ hooks.6 { type ctl_elems hook_args [ {name "Txpath1 Capture Route" value 4} ] }
+ hooks.7 { type ctl_elems hook_args [ {name "Txpath2 Capture Route" value 0} ] }
+ hooks.8 { type ctl_elems hook_args [ {name "PCM1 Mode" value 1} ] }
+}
+
+pcm.voiceIn_Headset_incommunication {
+ type hooks
+ slave.pcm {
+ type hw
+ card medfieldaudio
+ device 2
+ }
+ hooks.0 { type ctl_elems hook_args [ {name "Playback Switch" value 1} ] }
+ hooks.1 { type ctl_elems hook_args [ {name "Headset Playback Route" value 0} ] }
+ hooks.2 { type ctl_elems hook_args [ {name "Mode Playback Route" value 1} ] }
+ hooks.3 { type ctl_elems hook_args [ {name "Speaker Mux Playback Route" value [0 0]} ] }
+ hooks.4 { type ctl_elems hook_args [ {name "Mic1Mode Capture Route" value 0} ] }
+ hooks.5 { type ctl_elems hook_args [ {name "Mic_InputL Capture Route" value 0} ] }
+ hooks.6 { type ctl_elems hook_args [ {name "DMIC56 Capture Route" value 1} ] }
+ hooks.7 { type ctl_elems hook_args [ {name "Txpath1 Capture Route" value 6} ] }
+ hooks.8 { type ctl_elems hook_args [ {name "Txpath2 Capture Route" value 4} ] }
+ hooks.9 { type ctl_elems hook_args [ {name "Mic1 Capture Volume" value 1} ] }
+ hooks.10 { type ctl_elems hook_args [ {name "PCM1 Mode" value 1} ] }
+}
+
+pcm.voiceIn_Headphone_incommunication {
+ type hooks
+ slave.pcm {
+ type hw
+ card medfieldaudio
+ device 2
+ }
+ hooks.0 { type ctl_elems hook_args [ {name "Playback Switch" value 1} ] }
+ hooks.1 { type ctl_elems hook_args [ {name "Headset Playback Route" value 0} ] }
+ hooks.2 { type ctl_elems hook_args [ {name "Mode Playback Route" value 1} ] }
+ hooks.3 { type ctl_elems hook_args [ {name "Speaker Mux Playback Route" value [0 0]} ] }
+ hooks.4 { type ctl_elems hook_args [ {name "DMIC12 Capture Route" value 1} ] }
+ hooks.5 { type ctl_elems hook_args [ {name "DMIC56 Capture Route" value 1} ] }
+ hooks.6 { type ctl_elems hook_args [ {name "Txpath1 Capture Route" value 0} ] }
+ hooks.7 { type ctl_elems hook_args [ {name "Txpath2 Capture Route" value 4} ] }
+ hooks.8 { type ctl_elems hook_args [ {name "PCM1 Mode" value 1} ] }
+}
+
+#
+# WIDI routing
+#
+pcm.loopback_src{
+ type hw
+ card Loopback
+ device 1
+ subdevice 0
+}