diff options
author | Ralph Nathan <ralphnathan@google.com> | 2015-11-23 14:43:39 -0800 |
---|---|---|
committer | Ralph Nathan <ralphnathan@google.com> | 2015-11-23 15:49:38 -0800 |
commit | 883aede3bc446329510dc2e953b20fa27cf1aab1 (patch) | |
tree | 1469795e32b61d24427ab9d497cd2ee9eba79d2e | |
parent | c50192b8aa04ea274233dbc853d006bec3c28149 (diff) | |
download | qcom-883aede3bc446329510dc2e953b20fa27cf1aab1.tar.gz |
audio: Move audio config files.
Move the audio config files required for routing, policy, etc from
devices/qcom/dragonboard/base_product to hardware/bsp/qcom/soc/msm8916.
All products that use audio need these configs, not just the
base_product.
BUG=25844626
TEST=manual test
Change-Id: I7e3b61776fbd2314637393f28a97b80d5a84c88d
-rwxr-xr-x | soc/msm8916/audio-config/audio_effects.conf | 291 | ||||
-rw-r--r-- | soc/msm8916/audio-config/audio_policy.conf | 116 | ||||
-rw-r--r-- | soc/msm8916/audio-config/media_codecs_8916.xml | 143 | ||||
-rwxr-xr-x | soc/msm8916/audio-config/mixer_paths_sbc.xml | 687 | ||||
-rw-r--r-- | soc/msm8916/soc.mk | 23 |
5 files changed, 1260 insertions, 0 deletions
diff --git a/soc/msm8916/audio-config/audio_effects.conf b/soc/msm8916/audio-config/audio_effects.conf new file mode 100755 index 0000000..adfc597 --- /dev/null +++ b/soc/msm8916/audio-config/audio_effects.conf @@ -0,0 +1,291 @@ +# List of effect libraries to load. Each library element must contain a "path" element +# giving the full path of the library .so file. +# libraries { +# <lib name> { +# path <lib path> +# } +# } +libraries { + bundle { + path /system/lib/soundfx/libbundlewrapper.so + } + reverb { + path /system/lib/soundfx/libreverbwrapper.so + } + qcbassboost { + path /vendor/lib/soundfx/libqcbassboost.so + } + qcvirt { + path /vendor/lib/soundfx/libqcvirt.so + } + qcreverb { + path /vendor/lib/soundfx/libqcreverb.so + } + visualizer_sw { + path /system/lib/soundfx/libvisualizer.so + } + visualizer_hw { + path /system/lib/soundfx/libqcomvisualizer.so + } + downmix { + path /system/lib/soundfx/libdownmix.so + } + loudness_enhancer { + path /system/lib/soundfx/libldnhncr.so + } + proxy { + path /system/lib/soundfx/libeffectproxy.so + } + offload_bundle { + path /system/lib/soundfx/libqcompostprocbundle.so + } + audio_pre_processing { + path /system/lib/soundfx/libqcomvoiceprocessing.so + } +} + +# Default pre-processing library. Add to audio_effect.conf "libraries" section if +# audio HAL implements support for default software audio pre-processing effects +# +# pre_processing { +# path /system/lib/soundfx/libaudiopreprocessing.so +# } + +# List of effects to load. Each effect element must contain a "library" and a "uuid" element. +# The value of the "library" element must correspond to the name of one library element in the +# "libraries" element. +# The name of the effect element is indicative, only the value of the "uuid" element +# designates the effect. +# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the +# generic effect type UUID. +# effects { +# <fx name> { +# library <lib name> +# uuid <effect uuid> +# } +# ... +# } + +effects { + +# additions for the proxy implementation +# Proxy implementation + #effectname { + #library proxy + #uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + + # SW implemetation of the effect. Added as a node under the proxy to + # indicate this as a sub effect. + #libsw { + #library libSW + #uuid yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy + #} End of SW effect + + # HW implementation of the effect. Added as a node under the proxy to + # indicate this as a sub effect. + #libhw { + #library libHW + #uuid zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz + #}End of HW effect + #} End of effect proxy + + bassboost { + library proxy + uuid 14804144-a5ee-4d24-aa88-0002a5d5c51b + + libsw { + library qcbassboost + uuid 23aca180-44bd-11e2-bcfd-0800200c9a66 + } + + libhw { + library offload_bundle + uuid 2c4a8c24-1581-487f-94f6-0002a5d5c51b + } + } + virtualizer { + library proxy + uuid d3467faa-acc7-4d34-acaf-0002a5d5c51b + + libsw { + library qcvirt + uuid e6c98a16-22a3-11e2-b87b-f23c91aec05e + } + + libhw { + library offload_bundle + uuid 509a4498-561a-4bea-b3b1-0002a5d5c51b + } + } + equalizer { + library proxy + uuid c8e70ecd-48ca-456e-8a4f-0002a5d5c51b + + libsw { + library bundle + uuid ce772f20-847d-11df-bb17-0002a5d5c51b + } + + libhw { + library offload_bundle + uuid a0dac280-401c-11e3-9379-0002a5d5c51b + } + } + volume { + library bundle + uuid 119341a0-8469-11df-81f9-0002a5d5c51b + } + reverb_env_aux { + library proxy + uuid 48404ac9-d202-4ccc-bf84-0002a5d5c51b + + libsw { + library qcreverb + uuid a8c1e5f3-293d-43cd-95ec-d5e26c02e217 + } + + libhw { + library offload_bundle + uuid 79a18026-18fd-4185-8233-0002a5d5c51b + } + } + reverb_env_ins { + library proxy + uuid b707403a-a1c1-4291-9573-0002a5d5c51b + + libsw { + library qcreverb + uuid 791fff8b-8129-4655-83a4-59bc61034c3a + } + + libhw { + library offload_bundle + uuid eb64ea04-973b-43d2-8f5e-0002a5d5c51b + } + } + reverb_pre_aux { + library proxy + uuid 1b78f587-6d1c-422e-8b84-0002a5d5c51b + + libsw { + library qcreverb + uuid 53ef1db5-c0c0-445b-b060-e34d20ebb70a + } + + libhw { + library offload_bundle + uuid 6987be09-b142-4b41-9056-0002a5d5c51b + } + } + reverb_pre_ins { + library proxy + uuid f3e178d2-ebcb-408e-8357-0002a5d5c51b + + libsw { + library qcreverb + uuid b08a0e38-22a5-11e2-b87b-f23c91aec05e + } + + libhw { + library offload_bundle + uuid aa2bebf6-47cf-4613-9bca-0002a5d5c51b + } + } + visualizer { + library proxy + uuid 1d0a1a53-7d5d-48f2-8e71-27fbd10d842c + + libsw { + library visualizer_sw + uuid d069d9e0-8329-11df-9168-0002a5d5c51b + } + + libhw { + library visualizer_hw + uuid 7a8044a0-1a71-11e3-a184-0002a5d5c51b + } + } + downmix { + library downmix + uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f + } + loudness_enhancer { + library loudness_enhancer + uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c + } + aec { + library audio_pre_processing + uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109 + } + ns { + library audio_pre_processing + uuid 1d97bb0b-9e2f-4403-9ae3-58c2554306f8 + } +} + +# Default pre-processing effects. Add to audio_effect.conf "effects" section if +# audio HAL implements support for them. +# +# agc { +# library pre_processing +# uuid aa8130e0-66fc-11e0-bad0-0002a5d5c51b +# } +# aec { +# library pre_processing +# uuid bb392ec0-8d4d-11e0-a896-0002a5d5c51b +# } +# ns { +# library pre_processing +# uuid c06c8400-8e06-11e0-9cb6-0002a5d5c51b +# } + +# Audio preprocessor configurations. +# The pre processor configuration consists in a list of elements each describing +# pre processor settings for a given input source. Valid input source names are: +# "mic", "camcorder", "voice_recognition", "voice_communication" +# Each input source element contains a list of effects elements. The name of the effect +# element must be the name of one of the effects in the "effects" list of the file. +# Each effect element may optionally contain a list of parameters and their +# default value to apply when the pre processor effect is created. +# A parameter is defined by a "param" element and a "value" element. Each of these elements +# consists in one or more elements specifying a type followed by a value. +# The types defined are: "int", "short", "float", "bool" and "string" +# When both "param" and "value" are a single int, a simple form is allowed where just +# the param and value pair is present in the parameter description +# pre_processing { +# <input source name> { +# <fx name> { +# <param 1 name> { +# param { +# int|short|float|bool|string <value> +# [ int|short|float|bool|string <value> ] +# ... +# } +# value { +# int|short|float|bool|string <value> +# [ int|short|float|bool|string <value> ] +# ... +# } +# } +# <param 2 name > {<param> <value>} +# ... +# } +# ... +# } +# ... +# } + +# Added aec, ns effects for voice_commuincation, which are supported by the board + +pre_processing { + voice_communication { + aec { + } + ns { + } + } +} + +# +# TODO: add default audio pre processor configurations after debug and tuning phase +# diff --git a/soc/msm8916/audio-config/audio_policy.conf b/soc/msm8916/audio-config/audio_policy.conf new file mode 100644 index 0000000..4a88b49 --- /dev/null +++ b/soc/msm8916/audio-config/audio_policy.conf @@ -0,0 +1,116 @@ +# Global configuration section: lists input and output devices always present on the device +# as well as the output device selected by default. +# Devices are designated by a string that corresponds to the enum in audio.h + +global_configuration { + attached_output_devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER + default_output_device AUDIO_DEVICE_OUT_SPEAKER + attached_input_devices AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_REMOTE_SUBMIX|AUDIO_DEVICE_IN_FM_RX|AUDIO_DEVICE_IN_FM_RX_A2DP|AUDIO_DEVICE_IN_VOICE_CALL +} + +# audio hardware module section: contains descriptors for all audio hw modules present on the +# device. Each hw module node is named after the corresponding hw module library base name. +# For instance, "primary" corresponds to audio.primary.<device>.so. +# The "primary" module is mandatory and must include at least one output with +# AUDIO_OUTPUT_FLAG_PRIMARY flag. +# Each module descriptor contains one or more output profile descriptors and zero or more +# input profile descriptors. Each profile lists all the parameters supported by a given output +# or input stream category. +# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding +# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n". + +audio_hw_modules { + primary { + outputs { + primary { + sampling_rates 44100|48000 + 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_PROXY|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET|AUDIO_DEVICE_OUT_FM|AUDIO_DEVICE_OUT_FM_TX + flags AUDIO_OUTPUT_FLAG_PRIMARY + } + low_latency { + sampling_rates 44100|48000 + channel_masks AUDIO_CHANNEL_OUT_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_PROXY|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET|AUDIO_DEVICE_OUT_FM|AUDIO_DEVICE_OUT_FM_TX + flags AUDIO_OUTPUT_FLAG_FAST + } + compress_offload { + sampling_rates 8000|11025|16000|22050|32000|44100|48000 + channel_masks AUDIO_CHANNEL_OUT_MONO|AUDIO_CHANNEL_OUT_STEREO + formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2 + devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_PROXY|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET|AUDIO_DEVICE_OUT_FM_TX + flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING + } + voip_rx { + sampling_rates 8000|16000 + channel_masks AUDIO_CHANNEL_OUT_MONO + formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_AMR_NB|AUDIO_FORMAT_AMR_WB|AUDIO_FORMAT_QCELP|AUDIO_FORMAT_EVRC|AUDIO_FORMAT_EVRCB|AUDIO_FORMAT_EVRCWB|AUDIO_FORMAT_EVRCNW + devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET|AUDIO_DEVICE_OUT_ALL_USB|AUDIO_DEVICE_OUT_ALL_SCO + flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX + } + } + inputs { + primary { + sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000 + channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_FRONT_BACK + formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_AMR_NB|AUDIO_FORMAT_AMR_WB|AUDIO_FORMAT_QCELP|AUDIO_FORMAT_EVRC|AUDIO_FORMAT_EVRCB|AUDIO_FORMAT_EVRCWB|AUDIO_FORMAT_EVRCNW + devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET|AUDIO_DEVICE_IN_FM_RX|AUDIO_DEVICE_IN_FM_RX_A2DP|AUDIO_DEVICE_IN_VOICE_CALL + } + } + } + a2dp { + outputs { + a2dp { + sampling_rates 44100 + channel_masks AUDIO_CHANNEL_OUT_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_OUT_ALL_A2DP + } + } + } + usb { + outputs { + usb_accessory { + sampling_rates 44100 + channel_masks AUDIO_CHANNEL_OUT_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_OUT_USB_ACCESSORY + } + usb_device { + sampling_rates dynamic + channel_masks dynamic + formats dynamic + devices AUDIO_DEVICE_OUT_USB_DEVICE + } + } + inputs { + usb_device { + sampling_rates dynamic + channel_masks AUDIO_CHANNEL_IN_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_IN_USB_DEVICE + } + } + } + r_submix { + outputs { + submix { + sampling_rates 48000 + channel_masks AUDIO_CHANNEL_OUT_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_OUT_REMOTE_SUBMIX + } + } + inputs { + submix { + sampling_rates 48000 + channel_masks AUDIO_CHANNEL_IN_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_IN_REMOTE_SUBMIX + } + } + } +} + diff --git a/soc/msm8916/audio-config/media_codecs_8916.xml b/soc/msm8916/audio-config/media_codecs_8916.xml new file mode 100644 index 0000000..ef8ce7e --- /dev/null +++ b/soc/msm8916/audio-config/media_codecs_8916.xml @@ -0,0 +1,143 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2012-2014, The Linux Foundation. All rights reserved. + Not a contribution. + + Copyright (C) 2012 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<CodecList> + <Encoders> + <!-- Audio Hardware --> + <MediaCodec name="OMX.google.aac.encoder" type="audio/mp4a-latm" /> + <MediaCodec name="OMX.qcom.audio.encoder.evrc" type="audio/evrc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + </MediaCodec> + <MediaCodec name="OMX.google.flac.encoder" type="audio/flac"/> + <MediaCodec name="OMX.qcom.audio.encoder.qcelp13" type="audio/qcelp" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + </MediaCodec> + <!-- Audio Software --> + <MediaCodec name="AACEncoder" type="audio/mp4a-latm" /> + <MediaCodec name="OMX.google.amrnb.encoder" type="audio/3gpp" /> + <MediaCodec name="OMX.google.amrwb.encoder" type="audio/amr-wb" /> + <!-- Video Hardware --> + <MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.mpeg4" type="video/mp4v-es" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation"/> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.h263" type="video/3gpp" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + </MediaCodec> + <!-- Video Software --> + <MediaCodec name="OMX.google.h264.encoder" type="video/avc" /> + <MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" /> + <MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" /> + </Encoders> + <Decoders> + <!-- Audio Software --> + <MediaCodec name="OMX.google.vorbis.decoder" type="audio/vorbis" /> + <MediaCodec name="OMX.google.mp3.decoder" type="audio/mpeg" /> + <MediaCodec name="MP3Decoder" type="audio/mpeg" /> + <MediaCodec name="FLACDecoder" type="audio/flac" /> + <MediaCodec name="OMX.google.amrnb.decoder" type="audio/3gpp" /> + <MediaCodec name="OMX.google.amrwb.decoder" type="audio/amr-wb" /> + <MediaCodec name="OMX.google.aac.decoder" type="audio/mp4a-latm" /> + <MediaCodec name="AACDecoder" type="audio/mp4a-latm" /> + <MediaCodec name="OMX.google.g711.alaw.decoder" type="audio/g711-alaw" /> + <MediaCodec name="OMX.google.g711.mlaw.decoder" type="audio/g711-mlaw" /> + <MediaCodec name="OMX.qcom.audio.decoder.Qcelp13" type="audio/qcelp" > + <Quirk name="requires-global-flush" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.audio.decoder.evrc" type="audio/evrc" > + <Quirk name="requires-global-flush" /> + </MediaCodec> + <MediaCodec name="OMX.google.raw.decoder" type="audio/raw"> + <Limit name="channel-count" max="8" /> + <Limit name="sample-rate" ranges="8000-96000" /> + <Limit name="bitrate" range="1-10000000" /> + </MediaCodec> + <!-- Video Hardware --> + <MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="defers-output-buffer-allocation" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.mpeg2" type="video/mpeg2" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="defers-output-buffer-allocation" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.mpeg4" type="video/mp4v-es" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="defers-output-buffer-allocation" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.h263" type="video/3gpp" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="defers-output-buffer-allocation" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.vc1" type="video/x-ms-wmv" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="defers-output-buffer-allocation" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.divx" type="video/divx" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="defers-output-buffer-allocation" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.divx" type="video/divx" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="defers-output-buffer-allocation" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.divx311" type="video/divx311" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="defers-output-buffer-allocation" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.divx4" type="video/divx4" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="defers-output-buffer-allocation" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="defers-output-buffer-allocation" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.hevchybrid" type="video/hevc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="defers-output-buffer-allocation" /> + </MediaCodec> + <!-- Video Software --> + <MediaCodec name="OMX.google.h264.decoder" type="video/avc" /> + <MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es" /> + <MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" /> + <MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" /> + <MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" /> + </Decoders> +</CodecList> diff --git a/soc/msm8916/audio-config/mixer_paths_sbc.xml b/soc/msm8916/audio-config/mixer_paths_sbc.xml new file mode 100755 index 0000000..08fc604 --- /dev/null +++ b/soc/msm8916/audio-config/mixer_paths_sbc.xml @@ -0,0 +1,687 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<mixer> + <!-- These are the initial mixer settings --> + <ctl name="Voice Rx Device Mute" id="0" value="0" /> + <ctl name="Voice Rx Device Mute" id="1" value="-1" /> + <ctl name="Voice Rx Device Mute" id="2" value="20" /> + <ctl name="Voice Tx Mute" id="0" value="0" /> + <ctl name="Voice Tx Mute" id="1" value="-1" /> + <ctl name="Voice Tx Mute" id="2" value="500" /> + <ctl name="Voice Rx Gain" id="0" value="0" /> + <ctl name="Voice Rx Gain" id="1" value="-1" /> + <ctl name="Voice Rx Gain" id="2" value="20" /> + <ctl name="Voip Tx Mute" id="0" value="0" /> + <ctl name="Voip Tx Mute" id="1" value="500" /> + <ctl name="Voip Rx Gain" id="0" value="0" /> + <ctl name="Voip Rx Gain" id="1" value="20" /> + <ctl name="Voip Mode Config" value="12" /> + <ctl name="Voip Rate Config" value="0" /> + <ctl name="Voip Evrc Min Max Rate Config" id="0" value="1" /> + <ctl name="Voip Evrc Min Max Rate Config" id="1" value="4" /> + <ctl name="Voip Dtx Mode" value="0" /> + <ctl name="TTY Mode" value="Off" /> + <ctl name="HPHL Volume" value="9" /> + <ctl name="HPHR Volume" value="9" /> + <ctl name="RX1 Digital Volume" value="84" /> + <ctl name="RX2 Digital Volume" value="84" /> + <ctl name="RX3 Digital Volume" value="84" /> + <ctl name="IIR1 INP1 Volume" value="84" /> + <ctl name="IIR1 INP2 Volume" value="84" /> + <ctl name="IIR1 INP3 Volume" value="84" /> + <ctl name="IIR1 INP4 Volume" value="84" /> + <ctl name="ADC1 Volume" value="6" /> + <ctl name="ADC2 Volume" value="6" /> + <ctl name="ADC3 Volume" value="6" /> + <ctl name="DEC1 Volume" value="84" /> + <ctl name="DEC2 Volume" value="84" /> + <ctl name="DEC2 MUX" value="ZERO" /> + <ctl name="DEC1 MUX" value="ZERO" /> + <ctl name="ADC2 MUX" value="ZERO" /> + <ctl name="RDAC2 MUX" value="ZERO" /> + <ctl name="RX2 MIX2 INP2" value="ZERO" /> + <ctl name="RX2 MIX2 INP1" value="ZERO" /> + <ctl name="RX1 MIX2 INP2" value="ZERO" /> + <ctl name="RX1 MIX2 INP1" value="ZERO" /> + <ctl name="RX3 MIX1 INP2" value="ZERO" /> + <ctl name="RX3 MIX1 INP1" value="ZERO" /> + <ctl name="RX2 MIX1 INP2" value="ZERO" /> + <ctl name="RX2 MIX1 INP1" value="ZERO" /> + <ctl name="RX1 MIX1 INP2" value="ZERO" /> + <ctl name="RX1 MIX1 INP1" value="ZERO" /> + <ctl name="EAR_S" value="ZERO" /> + <ctl name="HPHL" value="ZERO" /> + <ctl name="HPHR" value="ZERO" /> + <ctl name="SPK DAC Switch" value="0" /> + <ctl name="Speaker Boost" value="ENABLE" /> + <ctl name="EAR PA Gain" value="POS_1P5_DB" /> + <ctl name="EAR PA Boost" value="ENABLE" /> + <ctl name="MI2S_RX Channels" value="Two" /> + <ctl name="MI2S_TX Channels" value="One" /> + <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia1" value="0" /> + <ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia1" value="0" /> + <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia1" value="0" /> + <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia4" value="0" /> + <ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia4" value="0" /> + <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia4" value="0" /> + <ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="0" /> + <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia4" value="0" /> + <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia5" value="0" /> + <ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia5" value="0" /> + <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia5" value="0" /> + <ctl name="MultiMedia1 Mixer TERT_MI2S_TX" value="0" /> + <ctl name="MultiMedia5 Mixer TERT_MI2S_TX" value="0" /> + <ctl name="MultiMedia1 Mixer INTERNAL_BT_SCO_TX" value="0" /> + <ctl name="PRI_MI2S_RX_Voice Mixer CSVoice" value="0" /> + <ctl name="QUAT_MI2S_RX_Voice Mixer CSVoice" value="0" /> + <ctl name="Voice_Tx Mixer TERT_MI2S_TX_Voice" value="0" /> + + <!-- Voice BTSCO --> + <ctl name="Internal BTSCO SampleRate" value="8000" /> + <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer CSVoice" value="0" /> + <ctl name="Voice_Tx Mixer INTERNAL_BT_SCO_TX_Voice" value="0" /> + <!-- Voice BTSCO end --> + + <!-- Voice2 --> + <ctl name="PRI_MI2S_RX_Voice Mixer Voice2" value="0" /> + <ctl name="Voice2_Tx Mixer TERT_MI2S_TX_Voice2" value="0" /> + <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voice2" value="0" /> + <ctl name="Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2" value="0" /> + <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="0" /> + <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="0" /> + <!-- Voice2 end --> + + <!-- Voip --> + <ctl name="PRI_MI2S_RX_Voice Mixer Voip" value="0" /> + <ctl name="Voip_Tx Mixer TERT_MI2S_TX_Voip" value="0" /> + <ctl name="Internal BTSCO SampleRate" value="8000" /> + <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voip" value="0" /> + <ctl name="Voip_Tx Mixer INTERNAL_BT_SCO_TX_Voip" value="0" /> + <!-- Voip end --> + + <!-- fm --> + <ctl name="Internal FM RX Volume" value="0" /> + <ctl name="PRI_MI2S_RX Port Mixer INTERNAL_FM_TX" value="0" /> + <ctl name="MI2S_DL_HL Switch" value="1" /> + <ctl name="MultiMedia1 Mixer INTERNAL_FM_TX" value="0" /> + <ctl name="MultiMedia2 Mixer INTERNAL_FM_TX" value="0" /> + <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia1" value="0" /> + <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia5" value="0" /> + <!-- fm end --> + + <!-- Incall Recording --> + <ctl name="MultiMedia1 Mixer VOC_REC_UL" value="0" /> + <ctl name="MultiMedia1 Mixer VOC_REC_DL" value="0" /> + <!-- Incall Recording end --> + + <!-- Incall Music --> + <ctl name="Incall_Music Audio Mixer MultiMedia2" value="0" /> + <ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="0" /> + <!-- Incall Music end --> + + <!-- QCHAT --> + <ctl name="PRI_MI2S_RX_Voice Mixer QCHAT" value="0" /> + <ctl name="QCHAT_Tx Mixer TERT_MI2S_TX_QCHAT" value="0" /> + <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer QCHAT" value="0" /> + <ctl name="QCHAT_Tx Mixer INTERNAL_BT_SCO_TX_QCHAT" value="0" /> + <!-- QCHAT end --> + + <!-- EC_REF --> + <ctl name="AUDIO_REF_EC_UL1 MUX" value="None" /> + + <!-- IIR --> + <ctl name="IIR1 Band1" id ="0" value="268435456" /> + <ctl name="IIR1 Band1" id ="1" value="0" /> + <ctl name="IIR1 Band1" id ="2" value="0" /> + <ctl name="IIR1 Band1" id ="3" value="0" /> + <ctl name="IIR1 Band1" id ="4" value="0" /> + <ctl name="IIR1 Band2" id ="0" value="268435456" /> + <ctl name="IIR1 Band2" id ="1" value="0" /> + <ctl name="IIR1 Band2" id ="2" value="0" /> + <ctl name="IIR1 Band2" id ="3" value="0" /> + <ctl name="IIR1 Band2" id ="4" value="0" /> + <ctl name="IIR1 Band3" id ="0" value="268435456" /> + <ctl name="IIR1 Band3" id ="1" value="0" /> + <ctl name="IIR1 Band3" id ="2" value="0" /> + <ctl name="IIR1 Band3" id ="3" value="0" /> + <ctl name="IIR1 Band3" id ="4" value="0" /> + <ctl name="IIR1 Band4" id ="0" value="268435456" /> + <ctl name="IIR1 Band4" id ="1" value="0" /> + <ctl name="IIR1 Band4" id ="2" value="0" /> + <ctl name="IIR1 Band4" id ="3" value="0" /> + <ctl name="IIR1 Band4" id ="4" value="0" /> + <ctl name="IIR1 Band5" id ="0" value="268435456" /> + <ctl name="IIR1 Band5" id ="1" value="0" /> + <ctl name="IIR1 Band5" id ="2" value="0" /> + <ctl name="IIR1 Band5" id ="3" value="0" /> + <ctl name="IIR1 Band5" id ="4" value="0" /> + <ctl name="IIR1 Enable Band1" value="0" /> + <ctl name="IIR1 Enable Band2" value="0" /> + <ctl name="IIR1 Enable Band3" value="0" /> + <ctl name="IIR1 Enable Band4" value="0" /> + <ctl name="IIR1 Enable Band5" value="0" /> + <!-- IIR end --> + + <!-- ADSP testfwk --> + <ctl name="MI2S_DL_HL Switch" value="0" /> + <!-- ADSP testfwk end--> + + <!-- These are audio route (FE to BE) specific mixer settings --> + <path name="deep-buffer-playback"> + <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia1" value="1" /> + </path> + + <path name="deep-buffer-playback hdmi"> + <ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia1" value="1" /> + </path> + + <path name="deep-buffer-playback bt-sco"> + <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia1" value="1" /> + </path> + + <path name="deep-buffer-playback bt-sco-wb"> + <ctl name="Internal BTSCO SampleRate" value="16000" /> + <path name="deep-buffer-playback bt-sco" /> + </path> + + <path name="deep-buffer-playback afe-proxy"> + <ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" /> + </path> + + <path name="deep-buffer-playback usb-headphones"> + <path name="deep-buffer-playback afe-proxy" /> + </path> + + <path name="deep-buffer-playback speaker-and-usb-headphones"> + <path name="deep-buffer-playback usb-headphones" /> + <path name="deep-buffer-playback" /> + </path> + + <path name="deep-buffer-playback transmission-fm"> + <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia1" value="1" /> + </path> + + <path name="low-latency-playback"> + <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia5" value="1" /> + </path> + + <path name="low-latency-playback hdmi"> + <ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia5" value="1" /> + </path> + + <path name="low-latency-playback bt-sco"> + <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia5" value="1" /> + </path> + + <path name="low-latency-playback bt-sco-wb"> + <ctl name="Internal BTSCO SampleRate" value="16000" /> + <path name="low-latency-playback bt-sco" /> + </path> + + <path name="low-latency-playback afe-proxy"> + <ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" /> + </path> + + <path name="low-latency-playback usb-headphones"> + <path name="low-latency-playback afe-proxy" /> + </path> + + <path name="low-latency-playback speaker-and-usb-headphones"> + <path name="low-latency-playback usb-headphones" /> + <path name="low-latency-playback" /> + </path> + + <path name="low-latency-playback transmission-fm"> + <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia5" value="1" /> + </path> + + <path name="compress-offload-playback"> + <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia4" value="1" /> + </path> + + <path name="compress-offload-playback hdmi"> + <ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia4" value="1" /> + </path> + + <path name="compress-offload-playback bt-sco"> + <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia4" value="1" /> + </path> + + <path name="compress-offload-playback bt-sco-wb"> + <ctl name="Internal BTSCO SampleRate" value="16000" /> + <path name="compress-offload-playback bt-sco" /> + </path> + + <path name="compress-offload-playback afe-proxy"> + <ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" /> + </path> + + <path name="compress-offload-playback usb-headphones"> + <path name="compress-offload-playback afe-proxy" /> + </path> + + <path name="compress-offload-playback speaker-and-usb-headphones"> + <path name="compress-offload-playback usb-headphones" /> + <path name="compress-offload-playback" /> + </path> + + <path name="compress-offload-playback transmission-fm"> + <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia4" value="1" /> + </path> + + <path name="audio-record"> + <ctl name="MultiMedia1 Mixer TERT_MI2S_TX" value="1" /> + </path> + + <path name="audio-record speaker"> + <ctl name="MultiMedia1 Mixer TERT_MI2S_TX" value="1" /> + </path> + + <path name="audio-record bt-sco"> + <ctl name="MultiMedia1 Mixer INTERNAL_BT_SCO_TX" value="1" /> + </path> + + <path name="audio-record bt-sco-wb"> + <ctl name="Internal BTSCO SampleRate" value="16000" /> + <path name="audio-record bt-sco" /> + </path> + + <path name="audio-record usb-headset-mic"> + <ctl name="MultiMedia1 Mixer AFE_PCM_TX" value="1" /> + </path> + + <path name="audio-record capture-fm"> + <ctl name="MultiMedia1 Mixer INTERNAL_FM_TX" value="1" /> + </path> + + <path name="low-latency-record"> + <ctl name="MultiMedia5 Mixer TERT_MI2S_TX" value="1" /> + </path> + + <path name="fm-virtual-record capture-fm"> + <ctl name="MultiMedia2 Mixer INTERNAL_FM_TX" value="1" /> + </path> + + <path name="voice-call"> + <ctl name="PRI_MI2S_RX_Voice Mixer CSVoice" value="1" /> + <ctl name="Voice_Tx Mixer TERT_MI2S_TX_Voice" value="1" /> + </path> + + <path name="voice-call hdmi"> + <ctl name="QUAT_MI2S_RX_Voice Mixer CSVoice" value="1" /> + <ctl name="Voice_Tx Mixer TERT_MI2S_TX_Voice" value="1" /> + </path> + + + <path name="voice-call bt-sco"> + <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer CSVoice" value="1" /> + <ctl name="Voice_Tx Mixer INTERNAL_BT_SCO_TX_Voice" value="1" /> + </path> + + <path name="voice-call bt-sco-wb"> + <ctl name="Internal BTSCO SampleRate" value="16000" /> + <path name="voice-call bt-sco" /> + </path> + + <path name="voice-call usb-headphones"> + <ctl name="AFE_PCM_RX_Voice Mixer CSVoice" value="1" /> + <ctl name="Voice_Tx Mixer AFE_PCM_TX_Voice" value="1" /> + </path> + + <path name="voice2-call"> + <ctl name="PRI_MI2S_RX_Voice Mixer Voice2" value="1" /> + <ctl name="Voice2_Tx Mixer TERT_MI2S_TX_Voice2" value="1" /> + </path> + + <path name="voice2-call hdmi"> + <ctl name="QUAT_MI2S_RX_Voice Mixer Voice2" value="1" /> + <ctl name="Voice2_Tx Mixer TERT_MI2S_TX_Voice2" value="1" /> + </path> + + <path name="voice2-call bt-sco"> + <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voice2" value="1" /> + <ctl name="Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2" value="1" /> + </path> + + <path name="voice2-call bt-sco-wb"> + <ctl name="Internal BTSCO SampleRate" value="16000" /> + <path name="voice2-call bt-sco" /> + </path> + + <path name="voice2-call usb-headphones"> + <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="1" /> + <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="1" /> + </path> + + <path name="play-fm"> + <ctl name="Internal FM RX Volume" value="1" /> + <ctl name="PRI_MI2S_RX Port Mixer INTERNAL_FM_TX" value="1" /> + <ctl name="MI2S_DL_HL Switch" value="1" /> + </path> + + <path name="incall-rec-uplink"> + <ctl name="MultiMedia1 Mixer VOC_REC_UL" value="1" /> + </path> + + <path name="incall-rec-uplink bt-sco"> + <path name="incall-rec-uplink" /> + </path> + + <path name="incall-rec-uplink bt-sco-wb"> + <path name="incall-rec-uplink" /> + </path> + + <path name="incall-rec-downlink"> + <ctl name="MultiMedia1 Mixer VOC_REC_DL" value="1" /> + </path> + + <path name="incall-rec-downlink bt-sco"> + <path name="incall-rec-downlink" /> + </path> + + <path name="incall-rec-downlink bt-sco-wb"> + <path name="incall-rec-downlink" /> + </path> + + <path name="incall-rec-uplink-and-downlink"> + <path name="incall-rec-uplink" /> + <path name="incall-rec-downlink" /> + </path> + + <path name="incall-rec-uplink-and-downlink bt-sco"> + <path name="incall-rec-uplink-and-downlink" /> + </path> + + <path name="incall-rec-uplink-and-downlink bt-sco-wb"> + <path name="incall-rec-uplink-and-downlink" /> + </path> + + <path name="incall_music_uplink"> + <ctl name="Incall_Music Audio Mixer MultiMedia2" value="1" /> + </path> + + <path name="incall_music_uplink2"> + <ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="1" /> + </path> + + <path name="volte-call"> + <ctl name="PRI_MI2S_RX_Voice Mixer VoLTE" value="1" /> + <ctl name="VoLTE_Tx Mixer TERT_MI2S_TX_VoLTE" value="1" /> + </path> + + <path name="volte-call hdmi"> + <ctl name="HDMI_RX_Voice Mixer VoLTE" value="1" /> + <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="1" /> + </path> + + <path name="volte-call bt-sco"> + <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoLTE" value="1" /> + <ctl name="VoLTE_Tx Mixer INTERNAL_BT_SCO_TX_VoLTE" value="1" /> + </path> + + <path name="volte-call bt-sco-wb"> + <ctl name="Internal BTSCO SampleRate" value="16000" /> + <path name="volte-call bt-sco" /> + </path> + + <path name="volte-call usb-headphones"> + <ctl name="AFE_PCM_RX_Voice Mixer VoLTE" value="1" /> + <ctl name="VoLTE_Tx Mixer AFE_PCM_TX_VoLTE" value="1" /> + </path> + + <path name="compress-voip-call"> + <ctl name="PRI_MI2S_RX_Voice Mixer Voip" value="1" /> + <ctl name="Voip_Tx Mixer TERT_MI2S_TX_Voip" value="1" /> + </path> + + <path name="compress-voip-speaker"> + <ctl name="PRI_MI2S_RX_Voice Mixer Voip" value="1" /> + <ctl name="Voip_Tx Mixer TERT_MI2S_TX_Voip" value="1" /> + </path> + + <path name="compress-voip-call bt-sco"> + <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voip" value="1" /> + <ctl name="Voip_Tx Mixer INTERNAL_BT_SCO_TX_Voip" value="1" /> + </path> + + <path name="compress-voip-call bt-sco-wb"> + <ctl name="Internal BTSCO SampleRate" value="16000" /> + <path name="compress-voip-call bt-sco" /> + </path> + + <path name="qchat-call"> + <ctl name="PRI_MI2S_RX_Voice Mixer QCHAT" value="1" /> + <ctl name="QCHAT_Tx Mixer TERT_MI2S_TX_QCHAT" value="1" /> + </path> + + <path name="qchat-call bt-sco"> + <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer QCHAT" value="1" /> + <ctl name="QCHAT_Tx Mixer INTERNAL_BT_SCO_TX_QCHAT" value="1" /> + </path> + + <path name="qchat-call bt-sco-wb"> + <ctl name="Internal BTSCO SampleRate" value="16000" /> + <path name="qchat-call bt-sco" /> + </path> + + <!-- These are actual sound device specific mixer settings --> + <path name="adc1"> + <ctl name="DEC1 MUX" value="ADC1" /> + </path> + + <path name="adc2"> + <ctl name="DEC1 MUX" value="ADC2" /> + </path> + + <path name="speaker"> + <ctl name="RX3 MIX1 INP1" value="RX1" /> + <ctl name="SPK DAC Switch" value="1" /> + </path> + + <path name="hdmi"> + <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia1" value="0" /> + <ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia1" value="1" /> + <ctl name="MI2S_RX Channels" value="Two" /> + </path> + + <path name="speaker-mic"> + <path name="adc1" /> + <ctl name="IIR1 INP1 MUX" value="DEC1" /> + </path> + + <path name="handset"> + <ctl name="RX1 MIX1 INP1" value="RX1" /> + <ctl name="RDAC2 MUX" value="RX1" /> + <ctl name="RX1 Digital Volume" value="84" /> + <ctl name="EAR PA Gain" value="POS_6_DB" /> + <ctl name="EAR_S" value="Switch" /> + </path> + + <path name="handset-mic"> + <path name="adc1" /> + <ctl name="IIR1 INP1 MUX" value="DEC1" /> + </path> + + <path name="headphones"> + <ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia1" value="0" /> + <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia1" value="1" /> + <ctl name="MI2S_RX Channels" value="Two" /> + <ctl name="RX1 MIX1 INP1" value="RX1" /> + <ctl name="RX2 MIX1 INP1" value="RX2" /> + <ctl name="RDAC2 MUX" value="RX2" /> + <ctl name="HPHL" value="Switch" /> + <ctl name="HPHR" value="Switch" /> + </path> + + <path name="headset-mic"> + <path name="adc2" /> + <ctl name="ADC2 MUX" value="INP2" /> + <ctl name="IIR1 INP1 MUX" value="DEC1" /> + </path> + + <path name="sidetone-iir"> + <ctl name="IIR1 Enable Band1" value="1" /> + <ctl name="IIR1 Enable Band2" value="1" /> + <ctl name="IIR1 Enable Band3" value="1" /> + <ctl name="IIR1 Enable Band4" value="1" /> + <ctl name="IIR1 Enable Band5" value="1" /> + </path> + + <path name="sidetone-handset"> + <path name="sidetone-iir" /> + <ctl name="IIR1 INP1 Volume" value="53" /> + <ctl name="RX1 MIX2 INP1" value="IIR1" /> + </path> + + <path name="sidetone-headphone"> + <path name="sidetone-iir" /> + <ctl name="RX1 MIX2 INP1" value="IIR1" /> + <ctl name="RX2 MIX2 INP1" value="IIR1" /> + <ctl name="IIR1 INP1 Volume" value="53" /> + </path> + + <path name="voice-handset"> + <path name="sidetone-handset" /> + <path name="handset" /> + </path> + + <path name="voice-speaker"> + <path name="speaker" /> + </path> + + <path name="voice-speaker-mic"> + <path name="speaker-mic" /> + </path> + + <path name="voice-headphones"> + <path name="sidetone-headphone" /> + <path name="headphones" /> + <path name="sidetone-headphone" /> + </path> + + <path name="voice-headset-mic"> + <path name="headset-mic" /> + </path> + + <path name="speaker-and-headphones"> + <path name="speaker" /> + <path name="headphones" /> + </path> + + <path name="usb-headphones"> + </path> + + <path name="afe-proxy"> + </path> + + <path name="transmission-fm"> + </path> + + <path name="speaker-and-usb-headphones"> + <path name="speaker" /> + <path name="usb-headphones" /> + </path> + + <path name="voice-rec-mic"> + <path name="handset-mic" /> + </path> + + <path name="camcorder-mic"> + <path name="handset-mic" /> + </path> + + <path name="bt-sco-headset"> + </path> + + <path name="bt-sco-mic"> + </path> + + <path name="usb-headset-mic"> + </path> + + <path name="capture-fm"> + </path> + + <!-- Dual MIC devices --> + <path name="speaker-dmic-endfire"> + <path name="adc1" /> + <ctl name="DEC2 MUX" value="ADC2" /> + <ctl name="MI2S_TX Channels" value="Two" /> + <ctl name="ADC2 MUX" value="INP3" /> + </path> + + <path name="dmic-endfire"> + <path name="speaker-dmic-endfire" /> + </path> + + <path name="voice-dmic-ef-tmus"> + <path name="dmic-endfire" /> + </path> + + <path name="voice-dmic-ef"> + <path name="dmic-endfire" /> + </path> + + <path name="voice-speaker-dmic-ef"> + <path name="dmic-endfire" /> + </path> + + <path name="voice-rec-dmic-ef"> + <path name="dmic-endfire" /> + </path> + + <path name="voice-rec-dmic-ef-fluence"> + <path name="dmic-endfire" /> + </path> + + <path name="handset-stereo-dmic-ef"> + <path name="speaker-dmic-endfire" /> + </path> + + <path name="speaker-stereo-dmic-ef"> + <path name="speaker-dmic-endfire" /> + </path> + + <path name="echo-reference"> + <ctl name="AUDIO_REF_EC_UL1 MUX" value="I2S_RX" /> + </path> + + <!-- TTY devices --> + + <path name="tty-headphones"> + <ctl name="RX1 MIX1 INP1" value="RX1" /> + <ctl name="HPHL" value="Switch" /> + </path> + + <path name="voice-tty-full-headphones"> + <ctl name="TTY Mode" value="FULL" /> + <path name="tty-headphones" /> + </path> + + <path name="voice-tty-vco-headphones"> + <ctl name="TTY Mode" value="VCO" /> + <path name="tty-headphones" /> + </path> + + <path name="voice-tty-hco-handset"> + <ctl name="TTY Mode" value="HCO" /> + <path name="handset" /> + </path> + + <path name="voice-tty-full-headset-mic"> + <path name="adc2" /> + <ctl name="ADC2 MUX" value="INP2" /> + </path> + + <path name="voice-tty-hco-headset-mic"> + <path name="voice-tty-full-headset-mic" /> + </path> + + <path name="voice-tty-vco-handset-mic"> + <path name="adc1" /> + </path> + + <path name="ADSP testfwk"> + <ctl name="MI2S_DL_HL Switch" value="1" /> + </path> + +</mixer> diff --git a/soc/msm8916/soc.mk b/soc/msm8916/soc.mk index 6f71f0c..e960367 100644 --- a/soc/msm8916/soc.mk +++ b/soc/msm8916/soc.mk @@ -57,10 +57,33 @@ DEVICE_PACKAGES += \ DEVICE_PACKAGES += \ bootctrl.msm8916 +# Audio feature flags. +BOARD_USES_ALSA_AUDIO := true +AUDIO_FEATURE_ENABLED_EXTN_RESAMPLER := true +AUDIO_FEATURE_ENABLED_HFP := true +AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true +AUDIO_FEATURE_ENABLED_VOICE_CONCURRENCY := true +AUDIO_FEATURE_ENABLED_WFD_CONCURRENCY := true +BOARD_USES_SRS_TRUEMEDIA := true +AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := true +AUDIO_FEATURE_ENABLED_ACDB_LICENSE := true +DOLBY_DAP_HW_QDSP_HAL_API := true +DOLBY_UDC_MULTICHANNEL_PCM_OFFLOAD := false +MM_AUDIO_ENABLED_FTM := true +MM_AUDIO_ENABLED_SAFX := true +TARGET_USES_QCOM_MM_AUDIO := true + # Include Qualcomm Audio HAL implementation. DEVICE_PACKAGES += \ audio.primary.msm8916 +# Install DragonBoard-specific audio policy, audio effects config, media codecs and mixer path files. +PRODUCT_COPY_FILES += \ + hardware/bsp/qcom/soc/msm8916/audio-config/audio_policy.conf:system/etc/audio_policy.conf \ + hardware/bsp/qcom/soc/msm8916/audio-config/audio_effects.conf:system/etc/audio_effects.conf \ + hardware/bsp/qcom/soc/msm8916/audio-config/mixer_paths_sbc.xml:system/etc/mixer_paths_sbc.xml \ + hardware/bsp/qcom/soc/msm8916/audio-config/media_codecs_8916.xml:system/etc/media_codecs.xml + # Include prebuilts to detect audio devices. PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/prebuilts/audio.rc:system/etc/init/audio.rc \ |