summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Čížek <DavidCizek@seznam.cz>2015-04-21 10:06:51 +0200
committerDavid Čížek <DavidCizek@seznam.cz>2015-04-22 06:49:34 +0000
commite3591e7a641044f28598dfe628c4e0d46d3d7435 (patch)
treedcb7051617e79546f85f842f93bbb36244d65f05
parent7b432a83f4574352f990be56d7f9930972613252 (diff)
downloaddevice_samsung_galaxys2-common-e3591e7a641044f28598dfe628c4e0d46d3d7435.zip
device_samsung_galaxys2-common-e3591e7a641044f28598dfe628c4e0d46d3d7435.tar.gz
device_samsung_galaxys2-common-e3591e7a641044f28598dfe628c4e0d46d3d7435.tar.bz2
Car dock analog audio support (fixes CYAN-40 on i9100).
Change-Id: Ie1b26cc1d67ada9c1d639dc6fc6f69fd7504707a
-rwxr-xr-x[-rw-r--r--]configs/audio_policy.conf2
-rwxr-xr-x[-rw-r--r--]configs/tinyalsa-audio.xml10
-rwxr-xr-x[-rw-r--r--]overlay/frameworks/base/core/res/res/values/config.xml4
-rwxr-xr-x[-rw-r--r--]yamaha-mc1n2-audio/device/galaxys2.c50
4 files changed, 65 insertions, 1 deletions
diff --git a/configs/audio_policy.conf b/configs/audio_policy.conf
index d85af14..e020d1f 100644..100755
--- a/configs/audio_policy.conf
+++ b/configs/audio_policy.conf
@@ -26,7 +26,7 @@ audio_hw_modules {
sampling_rates 44100
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
- devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET
+ devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET
flags AUDIO_OUTPUT_FLAG_PRIMARY
}
# deep_buffer {
diff --git a/configs/tinyalsa-audio.xml b/configs/tinyalsa-audio.xml
index c35d8f5..d406ab8 100644..100755
--- a/configs/tinyalsa-audio.xml
+++ b/configs/tinyalsa-audio.xml
@@ -79,6 +79,16 @@
<ctrl name="Headphone Playback Switch" value="off" />
</path>
</device>
+ <device type="analog-dock-headset">
+ <path type="enable">
+ <ctrl name="Line 1 Playback Volume" value="31" />
+ <ctrl name="Line 1 Playback Switch" value="on" />
+ </path>
+ <path type="disable">
+ <ctrl name="Line 1 Playback Volume" value="0" />
+ <ctrl name="Line 1 Playback Switch" value="off" />
+ </path>
+ </device>
</output>
<input card="0" device="0"
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index d0b0bb5..273eff0 100644..100755
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -163,4 +163,8 @@
<!-- Device supports LED flashlight -->
<bool name="config_enableTorch">true</bool>
+
+ <!-- Control whether a car dock event should override the default bluetooth
+ audio routing, FORCE_BT_CAR_DOCK, with an analog dock, FORCE_ANALOG_DOCK. -->
+ <bool name="config_forceAnalogCarDock">true</bool>
</resources>
diff --git a/yamaha-mc1n2-audio/device/galaxys2.c b/yamaha-mc1n2-audio/device/galaxys2.c
index 371ce83..b4d1510 100644..100755
--- a/yamaha-mc1n2-audio/device/galaxys2.c
+++ b/yamaha-mc1n2-audio/device/galaxys2.c
@@ -472,6 +472,56 @@ struct yamaha_mc1n2_audio_params_route galaxys2_params_routes[] = {
},
},
{
+ .device = AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET,
+ .direction = YAMAHA_MC1N2_AUDIO_DIRECTION_OUTPUT,
+
+ .ae_info = {
+ .bOnOff = 0x00,
+ .abBex = { 0x00 },
+ .abWide = { 0x00 },
+ .abDrc = { 0x00 },
+ .abEq5 = { 0x00 },
+ .abEq3 = { 0x00 },
+ },
+
+ .path_info.asHpOut[0].abSrcOnOff = { 0 },
+ .path_info.asHpOut[1].abSrcOnOff = { 0 },
+ .path_info.asSpOut[0].abSrcOnOff = { 0 },
+ .path_info.asSpOut[1].abSrcOnOff = { 0 },
+ .path_info.asRcOut[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[1].abSrcOnOff = { 0 },
+ .path_info.asLout2[0].abSrcOnOff = { 0 },
+ .path_info.asLout2[1].abSrcOnOff = { 0 },
+ .path_info.asPeak[0].abSrcOnOff = { 0 },
+ .path_info.asDit0[0].abSrcOnOff = { 0 },
+ .path_info.asDit1[0].abSrcOnOff = { 0 },
+ .path_info.asDit2[0].abSrcOnOff = { 0 },
+ .path_info.asDac[0].abSrcOnOff = { 0 },
+ .path_info.asDac[1].abSrcOnOff = { 0 },
+ .path_info.asAe[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[1].abSrcOnOff = { 0 },
+ .path_info.asCdsp[2].abSrcOnOff = { 0 },
+ .path_info.asCdsp[3].abSrcOnOff = { 0 },
+ .path_info.asAdc0[0].abSrcOnOff = { 0 },
+ .path_info.asAdc0[1].abSrcOnOff = { 0 },
+ .path_info.asAdc1[0].abSrcOnOff = { 0 },
+ .path_info.asMix[0].abSrcOnOff = { 0 },
+ .path_info.asBias[0].abSrcOnOff = { 0 },
+
+ .path_info.asLout1[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_L_ON,
+ .path_info.asLout1[1].abSrcOnOff[5] = MCDRV_SRC5_DAC_R_ON,
+ .path_info.asDac[0].abSrcOnOff[6] = MCDRV_SRC6_MIX_ON,
+ .path_info.asMix[0].abSrcOnOff[3] = MCDRV_SRC3_DIR0_ON,
+
+ .dac_info = {
+ .bMasterSwap = 0,
+ .bVoiceSwap = 0,
+ .bDcCut = 0,
+ },
+ },
+ {
.device = AUDIO_DEVICE_IN_BUILTIN_MIC,
.direction = YAMAHA_MC1N2_AUDIO_DIRECTION_INPUT,