summaryrefslogtreecommitdiffstats
path: root/asound.conf
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2010-10-21 11:49:45 -0700
committerEric Laurent <elaurent@google.com>2010-10-22 17:39:32 -0700
commit5f3ccdc426ae00d6caacc33810d373ac2f1a4d50 (patch)
tree7c41841ca3113b2d947fa2deb83f89b9a908a9f0 /asound.conf
parent98447ec76f11e15025991d367e48ea052756245e (diff)
downloaddevice_samsung_crespo-5f3ccdc426ae00d6caacc33810d373ac2f1a4d50.tar.gz
device_samsung_crespo-5f3ccdc426ae00d6caacc33810d373ac2f1a4d50.tar.bz2
device_samsung_crespo-5f3ccdc426ae00d6caacc33810d373ac2f1a4d50.zip
Fix issue 3119463.
There is no call audio uplink when headphones w/o mic are connected. This change together with a corresponding change in the kernel driver adds a separate device for headphonjes without mic: output is routed to headphones and input is routed from built-in mic. Change-Id: I19955f76ece19f661ae25d6a42bbcbe235a9e652
Diffstat (limited to 'asound.conf')
-rwxr-xr-xasound.conf271
1 files changed, 223 insertions, 48 deletions
diff --git a/asound.conf b/asound.conf
index a1c9119..fce98c5 100755
--- a/asound.conf
+++ b/asound.conf
@@ -1,14 +1,14 @@
# Android ALSA configuration file for the WM8994 audio.
-######################################################################################
+##################################################################################################################
#
-# {name "Playback Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:BT
-# # 5:SPK_HP 6:R_SPK 7:R_HP 8: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:BT
+# {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
#
-######################################################################################
+##################################################################################################################
##
@@ -56,7 +56,7 @@ pcm.AndroidPlayback_Earpiece {
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:BT
+ {name "Voice Call Path" value 1} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
]
}
}
@@ -72,8 +72,8 @@ pcm.AndroidPlayback_Speaker {
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
- # 5:SPK_HP 6:R_SPK 7:R_HP 8:R_SPK_HP
+ {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
]
}
}
@@ -89,8 +89,25 @@ pcm.AndroidPlayback_Headset {
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
- # 5:SPK_HP 6:R_SPK 7:R_HP 8:R_SPK_HP
+ {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
]
}
}
@@ -106,8 +123,8 @@ pcm.AndroidPlayback_Bluetooth {
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
- # 5:SPK_HP 6:R_SPK 7:R_HP 8:R_SPK_HP
+ {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
]
}
}
@@ -123,8 +140,8 @@ pcm.AndroidPlayback_Earpiece_normal {
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:BT
- # 5:SPK_HP 6:R_SPK 7:R_HP 8:R_SPK_HP
+ {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
]
}
}
@@ -140,8 +157,8 @@ pcm.AndroidPlayback_Speaker_normal {
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
- # 5:SPK_HP 6:R_SPK 7:R_HP 8:R_SPK_HP
+ {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
]
}
}
@@ -157,8 +174,25 @@ pcm.AndroidPlayback_Headset_normal {
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
- # 5:SPK_HP 6:R_SPK 7:R_HP 8:R_SPK_HP
+ {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
]
}
}
@@ -174,8 +208,8 @@ pcm.AndroidPlayback_Bluetooth_normal {
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
- # 5:SPK_HP 6:R_SPK 7:R_HP 8:R_SPK_HP
+ {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
]
}
}
@@ -191,8 +225,25 @@ pcm.AndroidPlayback_Speaker_Headset_normal {
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:SPK_HP 6:R_SPK 7:R_HP 8:R_SPK_HP
+ {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
]
}
}
@@ -208,8 +259,8 @@ pcm.AndroidPlayback_Earpiece_ringtone {
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:SPK_HP 6:R_SPK 7:R_HP 8:R_SPK_HP
+ {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
]
}
}
@@ -225,8 +276,8 @@ pcm.AndroidPlayback_Speaker_ringtone {
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:SPK_HP 6:R_SPK 7:R_HP 8:R_SPK_HP
+ {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
]
}
}
@@ -242,8 +293,25 @@ pcm.AndroidPlayback_Headset_ringtone {
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:BT
- # 5:SPK_HP 6:R_SPK 7:R_HP 8:R_SPK_HP
+ {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
]
}
}
@@ -259,8 +327,8 @@ pcm.AndroidPlayback_Bluetooth_ringtone {
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
- # 5:SPK_HP 6:R_SPK 7:R_HP 8:R_SPK_HP
+ {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
]
}
}
@@ -276,8 +344,25 @@ pcm.AndroidPlayback_Speaker_Headset_ringtone {
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:BT
- # 5:SPK_HP 6:R_SPK 7:R_HP 8:R_SPK_HP
+ {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
]
}
}
@@ -293,8 +378,7 @@ pcm.AndroidPlayback_Earpiece_incall {
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:BT
+ {name "Voice Call Path" value 1} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
]
}
}
@@ -310,8 +394,7 @@ pcm.AndroidPlayback_Speaker_incall {
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:BT
+ {name "Voice Call Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
]
}
}
@@ -327,8 +410,23 @@ pcm.AndroidPlayback_Headset_incall {
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
+ {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
]
}
}
@@ -344,8 +442,7 @@ pcm.AndroidPlayback_Bluetooth_incall {
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
+ {name "Voice Call Path" value 5} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
]
}
}
@@ -361,8 +458,23 @@ pcm.AndroidPlayback_Speaker_Headset_incall {
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:BT
+ {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
]
}
}
@@ -427,6 +539,17 @@ pcm.AndroidRecord_Headset_normal {
}
}
+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 {
@@ -453,6 +576,17 @@ pcm.AndroidRecord_Speaker_Headset_normal {
}
}
+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 {
@@ -463,8 +597,8 @@ pcm.AndroidRecord_Speaker_ringtone {
hooks.0 {
type ctl_elems
hook_args [
- {name "Playback Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:BT
- # 5:SPK_HP 6:R_SPK 7:R_HP 8:R_SPK_HP
+ {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
]
}
}
@@ -479,8 +613,24 @@ pcm.AndroidRecord_Headset_ringtone {
hooks.0 {
type ctl_elems
hook_args [
- {name "Playback Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:BT
- # 5:SPK_HP 6:R_SPK 7:R_HP 8:R_SPK_HP
+ {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
]
}
}
@@ -521,6 +671,18 @@ pcm.AndroidRecord_Headset_incall {
}
}
+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
@@ -541,7 +703,20 @@ pcm.AndroidRecord_Speaker_Headset_incall {
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:BT
+ {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
]
}
}