zenfone9: Fix and copy audio config to sku_cape folder
Change-Id: I34d7c77ac5342d0ca25b88592d69e6b175655d5e
diff --git a/audio/audio_effects.conf b/audio/audio_effects.conf
new file mode 100644
index 0000000..7dce3dd
--- /dev/null
+++ b/audio/audio_effects.conf
@@ -0,0 +1,360 @@
+# 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 /vendor/lib/soundfx/libbundlewrapper.so
+ }
+ reverb {
+ path /vendor/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 /vendor/lib/soundfx/libvisualizer.so
+ }
+ visualizer_hw {
+ path /vendor/lib/soundfx/libqcomvisualizer.so
+ }
+ downmix {
+ path /vendor/lib/soundfx/libdownmix.so
+ }
+ loudness_enhancer {
+ path /vendor/lib/soundfx/libldnhncr.so
+ }
+ dynamics_processing {
+ path /vendor/lib/soundfx/libdynproc.so
+ }
+ proxy {
+ path /vendor/lib/soundfx/libeffectproxy.so
+ }
+ offload_bundle {
+ path /vendor/lib/soundfx/libqcompostprocbundle.so
+ }
+ audio_pre_processing {
+ path /vendor/lib/soundfx/libqcomvoiceprocessing.so
+ }
+ volume_listener {
+ path /vendor/lib/soundfx/libvolumelistener.so
+ }
+ audiosphere {
+ path /vendor/lib/soundfx/libasphere.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 /vendor/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
+ }
+ hw_acc {
+ library offload_bundle
+ uuid 7d1580bd-297f-4683-9239-e475b6d1d69f
+ }
+ loudness_enhancer {
+ library loudness_enhancer
+ uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c
+ }
+ dynamics_processing {
+ library dynamics_processing
+ uuid e0e6539b-1781-7261-676f-6d7573696340
+ }
+ aec {
+ library audio_pre_processing
+ uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
+ }
+ ns {
+ library audio_pre_processing
+ uuid 1d97bb0b-9e2f-4403-9ae3-58c2554306f8
+ }
+ music_helper {
+ library volume_listener
+ uuid 08b8b058-0590-11e5-ac71-0025b32654a0
+ }
+ ring_helper {
+ library volume_listener
+ uuid 0956df94-0590-11e5-bdbe-0025b32654a0
+ }
+ alarm_helper {
+ library volume_listener
+ uuid 09f303e2-0590-11e5-8fdb-0025b32654a0
+ }
+ # voice_helper is called when stream type is voice_call in VoIP usecase
+ voice_helper {
+ library volume_listener
+ uuid 0ace5c08-0590-11e5-ae9e-0025b32654a0
+ }
+ notification_helper {
+ library volume_listener
+ uuid 0b776dde-0590-11e5-81ba-0025b32654a0
+ }
+ audiosphere {
+ library audiosphere
+ uuid 184e62ab-2d19-4364-9d1b-c0a40733866c
+ }
+}
+
+# additional effect from vendor
+# UUID generated using version 1
+
+output_session_processing {
+ music {
+ music_helper {
+ }
+ }
+ ring {
+ ring_helper {
+ }
+ }
+ alarm {
+ alarm_helper {
+ }
+ }
+ # stream type voice_call is used for VoIP call
+ voice_call {
+ voice_helper {
+ }
+ }
+ notification {
+ notification_helper {
+ }
+ }
+}
+
+# Added aec, ns effects for voice_communication, which are supported by the board
+
+pre_processing {
+ voice_communication {
+ aec {
+ }
+ ns {
+ }
+ }
+}
+
+# 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>}
+# ...
+# }
+# ...
+# }
+# ...
+# }
+
+#
+# TODO: add default audio pre processor configurations after debug and tuning phase
+#
diff --git a/audio/audio_effects_AI2202.xml b/audio/audio_effects_AI2202.xml
new file mode 100644
index 0000000..846347e
--- /dev/null
+++ b/audio/audio_effects_AI2202.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--- Copyright (c) 2018-2019, 2021 The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+
+<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
+ <libraries>
+ <library name="bundle" path="libbundlewrapper.so"/>
+ <library name="reverb" path="libreverbwrapper.so"/>
+ <library name="visualizer_sw" path="libvisualizer.so"/>
+ <library name="visualizer_hw" path="libqcomvisualizer.so"/>
+ <library name="downmix" path="libdownmix.so"/>
+ <library name="loudness_enhancer" path="libldnhncr.so"/>
+ <library name="dynamics_processing" path="libdynproc.so"/>
+ <library name="proxy" path="libeffectproxy.so"/>
+ <library name="offload_bundle" path="libqcompostprocbundle.so"/>
+ <library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>
+ <library name="volume_listener" path="libvolumelistener.so"/>
+ <library name="audiosphere" path="libasphere.so"/>
+ <library name="ozo_processing" path="libozoprocessing.so"/>
+ <!--- add dirac effect-->
+ <library name="dirac_gef" path="libdiraceffect.so"/>
+ </libraries>
+ <effects>
+ <effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
+ <libsw library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
+ <libhw library="offload_bundle" uuid="2c4a8c24-1581-487f-94f6-0002a5d5c51b"/>
+ </effectProxy>
+ <effectProxy name="virtualizer" library="proxy" uuid="d3467faa-acc7-4d34-acaf-0002a5d5c51b">
+ <libsw library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
+ <libhw library="offload_bundle" uuid="509a4498-561a-4bea-b3b1-0002a5d5c51b"/>
+ </effectProxy>
+ <effectProxy name="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"/>
+ </effectProxy>
+ <effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
+ <effectProxy name="reverb_env_aux" library="proxy" uuid="48404ac9-d202-4ccc-bf84-0002a5d5c51b">
+ <libsw library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
+ <libhw library="offload_bundle" uuid="79a18026-18fd-4185-8233-0002a5d5c51b"/>
+ </effectProxy>
+ <effectProxy name="reverb_env_ins" library="proxy" uuid="b707403a-a1c1-4291-9573-0002a5d5c51b">
+ <libsw library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
+ <libhw library="offload_bundle" uuid="eb64ea04-973b-43d2-8f5e-0002a5d5c51b"/>
+ </effectProxy>
+ <effectProxy name="reverb_pre_aux" library="proxy" uuid="1b78f587-6d1c-422e-8b84-0002a5d5c51b">
+ <libsw library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
+ <libhw library="offload_bundle" uuid="6987be09-b142-4b41-9056-0002a5d5c51b"/>
+ </effectProxy>
+ <effectProxy name="reverb_pre_ins" library="proxy" uuid="f3e178d2-ebcb-408e-8357-0002a5d5c51b">
+ <libsw library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
+ <libhw library="offload_bundle" uuid="aa2bebf6-47cf-4613-9bca-0002a5d5c51b"/>
+ </effectProxy>
+ <effectProxy name="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"/>
+ </effectProxy>
+ <effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
+ <effect name="hw_acc" library="offload_bundle" uuid="7d1580bd-297f-4683-9239-e475b6d1d69f"/>
+ <effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>
+ <effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
+ <effect name="aec" library="audio_pre_processing" uuid="0f8d0d2a-59e5-45fe-b6e4-248c8a799109"/>
+ <effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/>
+ <effect name="music_helper" library="volume_listener" uuid="08b8b058-0590-11e5-ac71-0025b32654a0"/>
+ <effect name="ring_helper" library="volume_listener" uuid="0956df94-0590-11e5-bdbe-0025b32654a0"/>
+ <effect name="alarm_helper" library="volume_listener" uuid="09f303e2-0590-11e5-8fdb-0025b32654a0"/>
+ <effect name="voice_helper" library="volume_listener" uuid="0ace5c08-0590-11e5-ae9e-0025b32654a0"/>
+ <effect name="notification_helper" library="volume_listener" uuid="0b776dde-0590-11e5-81ba-0025b32654a0"/>
+ <effect name="audiosphere" library="audiosphere" uuid="184e62ab-2d19-4364-9d1b-c0a40733866c"/>
+ <effect name="ozo" library="ozo_processing" uuid="7e384a3b-7850-4a64-a097-884250d8a737"/>
+ <!--- add dirac effect-->
+ <effect name="dirac_gef" library="dirac_gef" uuid="3799D6D1-22C5-43C3-B3EC-D664CF8D2F0D"/>
+ </effects>
+ <postprocess>
+ <stream type="music">
+ <apply effect="music_helper"/>
+ </stream>
+ <stream type="ring">
+ <apply effect="ring_helper"/>
+ </stream>
+ <stream type="alarm">
+ <apply effect="alarm_helper"/>
+ </stream>
+ <stream type="voice_call">
+ <apply effect="voice_helper"/>
+ </stream>
+ <stream type="notification">
+ <apply effect="notification_helper"/>
+ </stream>
+ </postprocess>
+ <preprocess>
+ <stream type="voice_communication">
+ <apply effect="aec"/>
+ <apply effect="ns"/>
+ </stream>
+ </preprocess>
+</audio_effects_conf>
diff --git a/audio/default_volume_tables_AI2202.xml b/audio/default_volume_tables_AI2202.xml
new file mode 100644
index 0000000..d9bd4ce
--- /dev/null
+++ b/audio/default_volume_tables_AI2202.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+-->
+<!-- Default Volume Tables included by Audio Policy Configuration file -->
+<!-- Full Default Volume table for all device category -->
+<volumes>
+ <reference name="FULL_SCALE_VOLUME_CURVE">
+ <!-- Full Scale reference Volume Curve -->
+ <point>0,0</point>
+ <point>100,0</point>
+ </reference>
+ <reference name="SILENT_VOLUME_CURVE">
+ <point>0,-9600</point>
+ <point>100,-9600</point>
+ </reference>
+ <reference name="DEFAULT_SYSTEM_VOLUME_CURVE">
+ <!-- Default System reference Volume Curve -->
+ <point>1,-2400</point>
+ <point>33,-1800</point>
+ <point>66,-1200</point>
+ <point>100,-600</point>
+ </reference>
+ <reference name="DEFAULT_MEDIA_VOLUME_CURVE">
+ <!-- Default Media reference Volume Curve -->
+ <point>1,-5800</point>
+ <point>20,-4000</point>
+ <point>60,-1700</point>
+ <point>100,0</point>
+ </reference>
+ <reference name="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE">
+ <!--Default Volume Curve -->
+ <point>1,-4950</point>
+ <point>33,-3350</point>
+ <point>66,-1700</point>
+ <point>100,0</point>
+ </reference>
+ <reference name="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE">
+ <!-- Default is Speaker Media Volume Curve -->
+ <point>1,-5925</point>
+ <point>26,-3360</point>
+ <point>50,-2440</point>
+ <point>80,-1220</point>
+ <point>100,0</point>
+ </reference>
+ <reference name="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE">
+ <!--Default Volume Curve -->
+ <point>1,-4950</point>
+ <point>33,-3350</point>
+ <point>66,-1700</point>
+ <point>100,0</point>
+ </reference>
+ <reference name="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE">
+ <!-- Default is Ext Media System Volume Curve -->
+ <point>1,-5800</point>
+ <point>20,-4000</point>
+ <point>60,-2100</point>
+ <point>100,-1000</point>
+ </reference>
+ <reference name="DEFAULT_HEARING_AID_VOLUME_CURVE">
+ <!-- Default Hearing Aid Volume Curve -->
+ <point>1,-12700</point>
+ <point>20,-8000</point>
+ <point>60,-4000</point>
+ <point>100,0</point>
+ </reference>
+ <!-- **************************************************************** -->
+ <!-- Non-mutable default volume curves: -->
+ <!-- * first point is always for index 0 -->
+ <!-- * attenuation is small enough that stream can still be heard -->
+ <reference name="DEFAULT_NON_MUTABLE_VOLUME_CURVE">
+ <!-- Default non-mutable reference Volume Curve -->
+ <!-- based on DEFAULT_MEDIA_VOLUME_CURVE -->
+ <point>0,-5800</point>
+ <point>20,-4000</point>
+ <point>60,-1700</point>
+ <point>100,0</point>
+ </reference>
+ <reference name="DEFAULT_NON_MUTABLE_HEADSET_VOLUME_CURVE">
+ <!--Default non-mutable Volume Curve for headset -->
+ <!-- based on DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE -->
+ <point>0,-4950</point>
+ <point>33,-3350</point>
+ <point>66,-1700</point>
+ <point>100,0</point>
+ </reference>
+ <reference name="DEFAULT_NON_MUTABLE_SPEAKER_VOLUME_CURVE">
+ <!-- Default non-mutable Speaker Volume Curve -->
+ <!-- based on DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE -->
+ <point>0,-5800</point>
+ <point>20,-4000</point>
+ <point>60,-1700</point>
+ <point>100,0</point>
+ </reference>
+ <reference name="DEFAULT_NON_MUTABLE_EARPIECE_VOLUME_CURVE">
+ <!--Default non-mutable Volume Curve -->
+ <!-- based on DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE -->
+ <point>0,-4950</point>
+ <point>33,-3350</point>
+ <point>66,-1700</point>
+ <point>100,0</point>
+ </reference>
+ <reference name="DEFAULT_NON_MUTABLE_EXT_VOLUME_CURVE">
+ <!-- Default non-mutable Ext Media System Volume Curve -->
+ <!-- based on DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE -->
+ <point>0,-5800</point>
+ <point>20,-4000</point>
+ <point>60,-2100</point>
+ <point>100,-1000</point>
+ </reference>
+ <reference name="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE">
+ <!-- Default non-mutable Hearing Aid Volume Curve -->
+ <!-- based on DEFAULT_HEARING_AID_VOLUME_CURVE -->
+ <point>0,-12700</point>
+ <point>20,-8000</point>
+ <point>60,-4000</point>
+ <point>100,0</point>
+ </reference>
+</volumes>
diff --git a/audio/resourcemanager_davinci.xml b/audio/resourcemanager_davinci.xml
new file mode 100644
index 0000000..5735ce6
--- /dev/null
+++ b/audio/resourcemanager_davinci.xml
@@ -0,0 +1,1185 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. -->
+<!-- -->
+<!-- Redistribution and use in source and binary forms, with or without -->
+<!-- modification, are permitted provided that the following conditions are -->
+<!-- met: -->
+<!-- * Redistributions of source code must retain the above copyright -->
+<!-- notice, this list of conditions and the following disclaimer. -->
+<!-- * Redistributions in binary form must reproduce the above -->
+<!-- copyright notice, this list of conditions and the following -->
+<!-- disclaimer in the documentation and/or other materials provided -->
+<!-- with the distribution. -->
+<!-- * Neither the name of The Linux Foundation nor the names of its -->
+<!-- contributors may be used to endorse or promote products derived -->
+<!-- from this software without specific prior written permission. -->
+<!-- -->
+<!-- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!-- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!-- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!-- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!-- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<resource_manager_info>
+ <config_params>
+ <param key="native_audio_mode" value="multiple_mix_dsp"/>
+ <!-- Uncomment HIFI Filter Headphones related sections when set this
+ hifi_filter key to true -->
+ <param key="hifi_filter" value="false"/>
+ <param key="max_sessions" value="128"/>
+ <param key="max_nonTunnel_sessions" value="4"/>
+ <param key="logging_level" value ="3" />
+ <param key="context_manager_enable" value ="false" />
+ <param key="upd_dedicated_be" value ="true" />
+ <param key="dual_mono" value ="false" />
+ <param key="signal_handler" value ="true" />
+ </config_params>
+ <config_volume>
+ <use_volume_set_param>0</use_volume_set_param>
+ <supported_streams>
+ <supported_stream>PAL_STREAM_ULTRA_LOW_LATENCY</supported_stream>
+ <supported_stream>PAL_STREAM_COMPRESSED</supported_stream>
+ </supported_streams>
+ </config_volume>
+ <config_lpm>
+ <use_disable_lpm>1</use_disable_lpm>
+ <lpm_supported_streams>
+ <lpm_supported_stream>PAL_STREAM_LOW_LATENCY</lpm_supported_stream>
+ <lpm_supported_stream>PAL_STREAM_ULTRA_LOW_LATENCY</lpm_supported_stream>
+ </lpm_supported_streams>
+ </config_lpm>
+ <config_gapless key="gapless_supported" value="1"/>
+ <bt_codecs>
+ <codec codec_format="CODEC_TYPE_AAC" codec_type="enc|dec" codec_library="lib_bt_bundle.so" />
+ <codec codec_format="CODEC_TYPE_SBC" codec_type="enc|dec" codec_library="lib_bt_bundle.so" />
+ <codec codec_format="CODEC_TYPE_LDAC" codec_type="enc" codec_library="lib_bt_bundle.so" />
+ <codec codec_format="CODEC_TYPE_APTX" codec_type="enc" codec_library="lib_bt_aptx.so" />
+ <codec codec_format="CODEC_TYPE_APTX_HD" codec_type="enc" codec_library="lib_bt_aptx.so" />
+ <codec codec_format="CODEC_TYPE_APTX_AD" codec_type="enc" codec_library="lib_bt_aptx.so" />
+ <codec codec_format="CODEC_TYPE_APTX_DUAL_MONO" codec_type="enc" codec_library="lib_bt_aptx.so" />
+ <codec codec_format="CODEC_TYPE_APTX_AD_SPEECH" codec_type="enc|dec" codec_library="lib_bt_aptx.so" />
+ <codec codec_format="CODEC_TYPE_LC3" codec_type="enc|dec" codec_library="lib_bt_ble.so" />
+ </bt_codecs>
+ <gain_db_to_level_mapping>
+ <gain_level_map db="-59" level="5"/>
+ <gain_level_map db="-17.4" level="4"/>
+ <gain_level_map db="-13.8" level="3"/>
+ <gain_level_map db="-10.2" level="2"/>
+ <gain_level_map db="0" level="1"/>
+ </gain_db_to_level_mapping>
+ <config_voice>
+ <vsid>0xB3000000</vsid>
+ <loopbackDelay>1000</loopbackDelay>
+ <maxVolIndex>5</maxVolIndex>
+ <mode_map>
+ <modepair key="0x11C05000" value="0xB3000001"/>
+ <modepair key="0x11DC5000" value="0xB3000001"/>
+ <modepair key="0x12006000" value="0xB3000001"/>
+ <modepair key="0x121C6000" value="0xB3000001"/>
+ </mode_map>
+ </config_voice>
+ <low_power_vote_streams>
+ <stream_type>PAL_STREAM_VOICE_UI</stream_type>
+ <stream_type>PAL_STREAM_ACD</stream_type>
+ <stream_type>PAL_STREAM_ULTRASOUND</stream_type>
+ <stream_type>PAL_STREAM_SENSOR_PCM_DATA</stream_type>
+ </low_power_vote_streams>
+ <device_profile>
+ <in-device>
+ <id>PAL_DEVICE_IN_HANDSET_MIC</id>
+ <back_end_name>CODEC_DMA-LPAIF_RXTX-TX-3</back_end_name>
+ <max_channels>4</max_channels>
+ <channels>2</channels>
+ <samplerate>48000</samplerate>
+ <bit_width>16</bit_width>
+ <snd_device_name>handset-dmic-endfire</snd_device_name>
+ <usecase>
+ <name>PAL_STREAM_LOW_LATENCY</name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOICE_RECOGNITION</name>
+ <channels>1</channels>
+ <snd_device_name>voice-rec-mic</snd_device_name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_DEEP_BUFFER</name>
+ <custom-config key="dmic-endfire">
+ <snd_device_name>dmic-endfire</snd_device_name>
+ </custom-config>
+ <custom-config key="camcorder-mic">
+ <snd_device_name>camcorder-mic</snd_device_name>
+ <channels>2</channels>
+ </custom-config>
+ <custom-config key="camcorder-mic-inv">
+ <snd_device_name>camcorder-mic-inv</snd_device_name>
+ <channels>2</channels>
+ </custom-config>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOIP_TX</name>
+ <priority>2</priority>
+ <snd_device_name>voip-handset-dmic</snd_device_name>
+ <custom-config key="smmi-mic">
+ <channels>1</channels>
+ <snd_device_name>handset-mic</snd_device_name>
+ </custom-config>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOICE_CALL</name>
+ <priority>1</priority>
+ <sidetone_mode>OFF</sidetone_mode>
+ <channels>2</channels>
+ <snd_device_name>voice-dmic-ef</snd_device_name>
+ <bit_width>16</bit_width>
+ <custom-config key="dual-mic">
+ <channels>2</channels>
+ <snd_device_name>handset-dmic-endfire</snd_device_name>
+ </custom-config>
+ <custom-config key="quad-mic">
+ <channels>4</channels>
+ <snd_device_name>quad-mic</snd_device_name>
+ </custom-config>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_ULTRA_LOW_LATENCY</name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_RAW</name>
+ <custom-config key="unprocessed-hdr-mic-landscape">
+ <channels>4</channels>
+ <snd_device_name>unprocessed-hdr-mic-landscape</snd_device_name>
+ </custom-config>
+ <custom-config key="unprocessed-hdr-mic-portrait">
+ <channels>4</channels>
+ <snd_device_name>unprocessed-hdr-mic-portrait</snd_device_name>
+ </custom-config>
+ <custom-config key="unprocessed-hdr-mic-inverted-landscape">
+ <channels>4</channels>
+ <snd_device_name>unprocessed-hdr-mic-inverted-landscape</snd_device_name>
+ </custom-config>
+ <custom-config key="unprocessed-hdr-mic-inverted-portrait">
+ <channels>4</channels>
+ <snd_device_name>unprocessed-hdr-mic-inverted-portrait</snd_device_name>
+ </custom-config>
+ <custom-config key="unprocessed-ozo-stereo-mic">
+ <channels>2</channels>
+ <snd_device_name>unprocessed-ozo-stereo-mic</snd_device_name>
+ </custom-config>
+ </usecase>
+ <ec_rx_device>
+ <id>PAL_DEVICE_OUT_HANDSET</id>
+ <id>PAL_DEVICE_OUT_SPEAKER</id>
+ </ec_rx_device>
+ </in-device>
+ <in-device>
+ <id>PAL_DEVICE_IN_SPEAKER_MIC</id>
+ <back_end_name>CODEC_DMA-LPAIF_RXTX-TX-3</back_end_name>
+ <max_channels>4</max_channels>
+ <samplerate>48000</samplerate>
+ <bit_width>16</bit_width>
+ <channels>1</channels>
+ <snd_device_name>speaker-mic</snd_device_name>
+ <usecase>
+ <name>PAL_STREAM_LOW_LATENCY</name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_DEEP_BUFFER</name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOIP_TX</name>
+ <priority>2</priority>
+ <snd_device_name>voice-speaker-mic</snd_device_name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOICE_CALL</name>
+ <priority>1</priority>
+ <sidetone_mode>OFF</sidetone_mode>
+ <bit_width>16</bit_width>
+ <snd_device_name>voice-speaker-mic</snd_device_name>
+ <custom-config key="dual-mic">
+ <channels>2</channels>
+ <snd_device_name>speaker-dmic-endfire</snd_device_name>
+ </custom-config>
+ <custom-config key="quad-mic">
+ <channels>4</channels>
+ <snd_device_name>quad-mic</snd_device_name>
+ </custom-config>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_LOOPBACK</name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_ULTRA_LOW_LATENCY</name>
+ </usecase>
+ <ec_rx_device>
+ <id>PAL_DEVICE_OUT_SPEAKER</id>
+ </ec_rx_device>
+ </in-device>
+ <in-device>
+ <id>PAL_DEVICE_IN_WIRED_HEADSET</id>
+ <back_end_name>CODEC_DMA-LPAIF_RXTX-TX-3</back_end_name>
+ <max_channels>1</max_channels>
+ <channels>1</channels>
+ <snd_device_name>headset-mic</snd_device_name>
+ <usecase>
+ <name>PAL_STREAM_LOW_LATENCY</name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_DEEP_BUFFER</name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOICE_RECOGNITION</name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOIP_TX</name>
+ <samplerate>48000</samplerate>
+ <bit_width>16</bit_width>
+ <snd_device_name>voip-headset-mic</snd_device_name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOICE_CALL</name>
+ <sidetone_mode>OFF</sidetone_mode>
+ <samplerate>48000</samplerate>
+ <bit_width>16</bit_width>
+ <priority>1</priority>
+ <snd_device_name>voice-headset-mic</snd_device_name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_ULTRA_LOW_LATENCY</name>
+ </usecase>
+ <ec_rx_device>
+ <id>PAL_DEVICE_OUT_WIRED_HEADSET</id>
+ <id>PAL_DEVICE_OUT_WIRED_HEADPHONE</id>
+ </ec_rx_device>
+ </in-device>
+ <in-device>
+ <id>PAL_DEVICE_IN_BLUETOOTH_SCO_HEADSET</id>
+ <back_end_name>SLIM-DEV1-TX-7</back_end_name>
+ <max_channels>1</max_channels>
+ <channels>1</channels>
+ <samplerate>8000</samplerate>
+ <bit_width>16</bit_width>
+ <snd_device_name>bt-sco-mic</snd_device_name>
+ <usecase>
+ <name>PAL_STREAM_LOW_LATENCY</name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_DEEP_BUFFER</name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOIP_TX</name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOICE_CALL</name>
+ <priority>1</priority>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_ULTRA_LOW_LATENCY</name>
+ </usecase>
+ <ec_rx_device>
+ <id>PAL_DEVICE_OUT_BLUETOOTH_SCO</id>
+ </ec_rx_device>
+ </in-device>
+ <in-device>
+ <id>PAL_DEVICE_IN_HANDSET_VA_MIC</id>
+ <back_end_name>CODEC_DMA-LPAIF_VA-TX-0</back_end_name>
+ <max_channels>2</max_channels>
+ <channels>1</channels>
+ <samplerate>48000</samplerate>
+ <bit_width>16</bit_width>
+ <snd_device_name>va-mic</snd_device_name>
+ <ec_rx_device>
+ <id>PAL_DEVICE_OUT_SPEAKER</id>
+ <id>PAL_DEVICE_OUT_HANDSET</id>
+ <id>PAL_DEVICE_OUT_BLUETOOTH_A2DP</id>
+ </ec_rx_device>
+ </in-device>
+ <in-device>
+ <id>PAL_DEVICE_IN_HEADSET_VA_MIC</id>
+ <back_end_name>CODEC_DMA-LPAIF_VA-TX-0</back_end_name>
+ <max_channels>2</max_channels>
+ <channels>1</channels>
+ <snd_device_name>headset-va-mic</snd_device_name>
+ <samplerate>48000</samplerate>
+ <bit_width>16</bit_width>
+ <ec_rx_device>
+ <id>PAL_DEVICE_OUT_WIRED_HEADSET</id>
+ <id>PAL_DEVICE_OUT_WIRED_HEADPHONE</id>
+ <id>PAL_DEVICE_OUT_BLUETOOTH_A2DP</id>
+ </ec_rx_device>
+ </in-device>
+ <in-device>
+ <id>PAL_DEVICE_IN_USB_HEADSET</id>
+ <back_end_name>USB_AUDIO-TX</back_end_name>
+ <max_channels>1</max_channels>
+ <channels>1</channels>
+ <samplerate>48000</samplerate>
+ <bit_width>16</bit_width>
+ <snd_device_name>usb-headset-mic</snd_device_name>
+ <usecase>
+ <name>PAL_STREAM_VOIP_TX</name>
+ <priority>2</priority>
+ <snd_device_name>usb-headset-mic-for-voip</snd_device_name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_LOW_LATENCY</name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_DEEP_BUFFER</name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOICE_RECOGNITION</name>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOICE_CALL</name>
+ <priority>1</priority>
+ <sidetone_mode>OFF</sidetone_mode>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_ULTRA_LOW_LATENCY</name>
+ </usecase>
+ <ec_rx_device>
+ <id>PAL_DEVICE_OUT_USB_DEVICE</id>
+ <id>PAL_DEVICE_OUT_USB_HEADSET</id>
+ </ec_rx_device>
+ </in-device>
+ <in-device>
+ <id>PAL_DEVICE_IN_FM_TUNER</id>
+ <back_end_name>MI2S-LPAIF-TX-TERTIARY</back_end_name>
+ <max_channels>2</max_channels>
+ <channels>2</channels>
+ <snd_device_name>play-fm</snd_device_name>
+ <samplerate>48000</samplerate>
+ <bit_width>16</bit_width>
+ <usecase>
+ <name>PAL_STREAM_LOOPBACK</name>
+ </usecase>
+ </in-device>
+ <in-device>
+ <id>PAL_DEVICE_IN_PROXY</id>
+ <back_end_name>PCM_RT_PROXY-TX-1</back_end_name>
+ <max_channels>2</max_channels>
+ <channels>1</channels>
+ <snd_device_name>afe-proxy</snd_device_name>
+ <usecase>
+ <name>PAL_STREAM_PROXY</name>
+ </usecase>
+ </in-device>
+ <in-device>
+ <id>PAL_DEVICE_IN_VI_FEEDBACK</id>
+ <back_end_name>CODEC_DMA-LPAIF_WSA-TX-0</back_end_name>
+ <max_channels>2</max_channels>
+ <channels>2</channels>
+ <samplerate>48000</samplerate>
+ <bit_width>32</bit_width>
+ <snd_device_name>vi-feedback</snd_device_name>
+ </in-device>
+ <in-device>
+ <id>PAL_DEVICE_IN_BLUETOOTH_A2DP</id>
+ <back_end_name>SLIM-DEV1-TX-7</back_end_name>
+ <max_channels>1</max_channels>
+ <channels>1</channels>
+ <snd_device_name>bt-a2dp-mic</snd_device_name>
+ <samplerate>44100</samplerate>
+ <bit_width>16</bit_width>
+ </in-device>
+ <in-device>
+ <id>PAL_DEVICE_IN_TELEPHONY_RX</id>
+ <back_end_name>PCM_RT_PROXY-TX-1</back_end_name>
+ <max_channels>2</max_channels>
+ <channels>2</channels>
+ <snd_device_name>afe-proxy</snd_device_name>
+ <usecase>
+ <name>PAL_STREAM_PROXY</name>
+ </usecase>
+ </in-device>
+ <in-device>
+ <id>PAL_DEVICE_IN_ULTRASOUND_MIC</id>
+ <back_end_name>CODEC_DMA-LPAIF_RXTX-TX-4</back_end_name>
+ <max_channels>2</max_channels>
+ <channels>1</channels>
+ <samplerate>96000</samplerate>
+ <bit_width>16</bit_width>
+ <snd_device_name>ultrasound-mic</snd_device_name>
+ <usecase>
+ <name>PAL_STREAM_ULTRASOUND</name>
+ </usecase>
+ </in-device>
+ <in-device>
+ <id>PAL_DEVICE_IN_EXT_EC_REF</id>
+ <back_end_name>MI2S-LPAIF-TX-TERTIARY</back_end_name>
+ <snd_device_name>ext_ec_ref_tx</snd_device_name>
+ <max_channels>2</max_channels>
+ <channels>2</channels>
+ <bit_width>16</bit_width>
+ <samplerate>48000</samplerate>
+ </in-device>
+ <out-device>
+ <id>PAL_DEVICE_NONE</id>
+ <back_end_name>CODEC_DMA-LPAIF_WSA-RX-0</back_end_name>
+ <max_channels>2</max_channels>
+ <channels>1</channels>
+ <snd_device_name>none</snd_device_name>
+ <samplerate>48000</samplerate>
+ <bit_width>16</bit_width>
+ </out-device>
+ <out-device>
+ <id>PAL_DEVICE_OUT_SPEAKER</id>
+ <back_end_name>CODEC_DMA-LPAIF_WSA-RX-0</back_end_name>
+ <max_channels>2</max_channels>
+ <channels>2</channels>
+ <samplerate>48000</samplerate>
+ <bit_width>24</bit_width>
+ <snd_device_name>speaker</snd_device_name>
+ <speaker_protection_enabled>1</speaker_protection_enabled>
+ <fractional_sr>0</fractional_sr>
+ <!-- To enable external EC reference the flag extec_ref_enabled must be added as 1 -->
+ <ext_ec_ref_enabled>0</ext_ec_ref_enabled>
+ <cps_enabled>1</cps_enabled>
+ <vbat_enabled>0</vbat_enabled>
+ <!--specify the supported bit format on speaker end point -->
+ <!--this should be in the form of pal_audio_fmt_id-->
+ <!--e.g <supported_bit_format >PAL_AUDIO_FMT_PCM_S24_LE</supported_bit_format>-->
+ <supported_bit_format>PAL_AUDIO_FMT_PCM_S16_LE</supported_bit_format>
+ <!-- RAS should be enabled with speaker protection always -->
+ <ras_enabled>0</ras_enabled>
+ <!-- Flag to specify speaker in case Voice call is switched from
+ handset to speaker with only 1 speaker.
+ Values: Both speaker : 0
+ Right speaker: 1
+ Left speaker : 2
+ -->
+ <speaker_mono_right>0</speaker_mono_right>
+ <!-- Time in seconds for Quick cal. Set 0 to disable -->
+ <quick_cal_time>30</quick_cal_time>
+ <usecase>
+ <name>PAL_STREAM_LOW_LATENCY</name>
+ <custom-config key="mono_key">
+ <channels>1</channels>
+ <snd_device_name>speaker-mono-2</snd_device_name>
+ </custom-config>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOICE_CALL</name>
+ <priority>2</priority>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOIP_RX</name>
+ <priority>3</priority>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_ULTRASOUND</name>
+ <priority>1</priority>
+ <samplerate>96000</samplerate>
+ </usecase>
+ </out-device>
+ <out-device>
+ <id>PAL_DEVICE_OUT_HANDSET</id>
+ <back_end_name>CODEC_DMA-LPAIF_WSA-RX-0</back_end_name>
+ <max_channels>2</max_channels>
+ <channels>1</channels>
+ <!-- To enable external EC reference the flag extec_ref_enabled must be added as 1 -->
+ <ext_ec_ref_enabled>0</ext_ec_ref_enabled>
+ <samplerate>48000</samplerate>
+ <bit_width>16</bit_width>
+ <fractional_sr>0</fractional_sr>
+ <snd_device_name>handset</snd_device_name>
+ <usecase>
+ <name>PAL_STREAM_VOICE_CALL</name>
+ <priority>2</priority>
+ <custom-config key="HAC">
+ <snd_device_name>voice-handset-hac</snd_device_name> <!-- override sound device name with HAC handset -->
+ </custom-config>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOIP_RX</name>
+ <priority>3</priority>
+ <custom-config key="HAC">
+ <snd_device_name>voice-handset-hac</snd_device_name> <!-- override sound device name with HAC handset for voip -->
+ </custom-config>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_ULTRASOUND</name>
+ <priority>1</priority>
+ <samplerate>96000</samplerate>
+ </usecase>
+ </out-device>
+ <out-device>
+ <id>PAL_DEVICE_OUT_WIRED_HEADPHONE</id>
+ <back_end_name>CODEC_DMA-LPAIF_RXTX-RX-0</back_end_name>
+ <max_channels>2</max_channels>
+ <channels>2</channels>
+ <fractional_sr>1</fractional_sr>
+ <snd_device_name>headphones</snd_device_name>
+ <bit_width>32</bit_width>
+ <!--HIFI Filter Headphones-Uncomment this when param key hifi_filter is true
+ <usecase>
+ <name>PAL_STREAM_COMPRESSED</name>
+ <custom-config key="hifi-filter_custom_key">
+ <snd_device_name>headphones-hifi-filter</snd_device_name>
+ </custom-config>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_PCM_OFFLOAD</name>
+ <custom-config key="hifi-filter_custom_key">
+ <snd_device_name>headphones-hifi-filter</snd_device_name>
+ </custom-config>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_DEEP_BUFFER</name>
+ <custom-config key="hifi-filter_custom_key">
+ <snd_device_name>headphones-hifi-filter</snd_device_name>
+ </custom-config>
+ </usecase>
+ -->
+ <usecase>
+ <name>PAL_STREAM_VOICE_CALL</name>
+ <priority>1</priority>
+ <samplerate>48000</samplerate>
+ <bit_width>16</bit_width>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOIP_RX</name>
+ <priority>2</priority>
+ <samplerate>48000</samplerate>
+ <bit_width>16</bit_width>
+ </usecase>
+ </out-device>
+ <out-device>
+ <id>PAL_DEVICE_OUT_WIRED_HEADSET</id>
+ <back_end_name>CODEC_DMA-LPAIF_RXTX-RX-0</back_end_name>
+ <max_channels>2</max_channels>
+ <channels>2</channels>
+ <fractional_sr>1</fractional_sr>
+ <snd_device_name>headphones</snd_device_name>
+ <bit_width>32</bit_width>
+ <!--HIFI Filter Headphones-Uncomment this when param key hifi_filter is true
+ <usecase>
+ <name>PAL_STREAM_COMPRESSED</name>
+ <custom-config key="hifi-filter_custom_key">
+ <snd_device_name>headphones-hifi-filter</snd_device_name>
+ </custom-config>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_PCM_OFFLOAD</name>
+ <custom-config key="hifi-filter_custom_key">
+ <snd_device_name>headphones-hifi-filter</snd_device_name>
+ </custom-config>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_DEEP_BUFFER</name>
+ <custom-config key="hifi-filter_custom_key">
+ <snd_device_name>headphones-hifi-filter</snd_device_name>
+ </custom-config>
+ </usecase>
+ -->
+ <usecase>
+ <name>PAL_STREAM_VOICE_CALL</name>
+ <priority>1</priority>
+ <samplerate>48000</samplerate>
+ <bit_width>16</bit_width>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOIP_RX</name>
+ <priority>2</priority>
+ <samplerate>48000</samplerate>
+ <bit_width>16</bit_width>
+ </usecase>
+ </out-device>
+ <out-device>
+ <id>PAL_DEVICE_OUT_BLUETOOTH_A2DP</id>
+ <back_end_name>SLIM-DEV1-RX-7</back_end_name>
+ <max_channels>1</max_channels>
+ <channels>1</channels>
+ <snd_device_name>bt-a2dp</snd_device_name>
+ <samplerate>44100</samplerate>
+ <bit_width>16</bit_width>
+ <usecase>
+ <name>PAL_STREAM_VOICE_CALL</name>
+ <priority>1</priority>
+ </usecase>
+ </out-device>
+ <out-device>
+ <id>PAL_DEVICE_OUT_BLUETOOTH_SCO</id>
+ <back_end_name>SLIM-DEV1-RX-7</back_end_name>
+ <max_channels>1</max_channels>
+ <channels>1</channels>
+ <snd_device_name>bt-sco</snd_device_name>
+ <samplerate>8000</samplerate>
+ <bit_width>16</bit_width>
+ <usecase>
+ <name>PAL_STREAM_VOICE_CALL</name>
+ <priority>1</priority>
+ </usecase>
+ </out-device>
+ <out-device>
+ <id>PAL_DEVICE_OUT_AUX_DIGITAL</id>
+ <back_end_name>DISPLAY_PORT-RX</back_end_name>
+ <max_channels>32</max_channels>
+ <channels>2</channels>
+ <snd_device_name>display-port</snd_device_name>
+ <fractional_sr>1</fractional_sr>
+ <usecase>
+ <name>PAL_STREAM_VOICE_CALL</name>
+ <priority>1</priority>
+ </usecase>
+ </out-device>
+ <out-device>
+ <id>PAL_DEVICE_OUT_HDMI</id>
+ <back_end_name>DISPLAY_PORT-RX</back_end_name>
+ <max_channels>32</max_channels>
+ <channels>2</channels>
+ <fractional_sr>1</fractional_sr>
+ <snd_device_name>display-port</snd_device_name>
+ <usecase>
+ <name>PAL_STREAM_VOICE_CALL</name>
+ <priority>1</priority>
+ </usecase>
+ </out-device>
+ <out-device>
+ <id>PAL_DEVICE_OUT_USB_DEVICE</id>
+ <back_end_name>USB_AUDIO-RX</back_end_name>
+ <max_channels>2</max_channels>
+ <channels>2</channels>
+ <snd_device_name>usb-headphones</snd_device_name>
+ <fractional_sr>1</fractional_sr>
+ <usecase>
+ <name>PAL_STREAM_VOICE_CALL</name>
+ <priority>1</priority>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOIP_RX</name>
+ <priority>2</priority>
+ </usecase>
+ </out-device>
+ <out-device>
+ <id>PAL_DEVICE_OUT_USB_HEADSET</id>
+ <back_end_name>USB_AUDIO-RX</back_end_name>
+ <max_channels>2</max_channels>
+ <channels>2</channels>
+ <snd_device_name>usb-headphones</snd_device_name>
+ <fractional_sr>1</fractional_sr>
+ <usecase>
+ <name>PAL_STREAM_VOICE_CALL</name>
+ <priority>1</priority>
+ </usecase>
+ <usecase>
+ <name>PAL_STREAM_VOIP_RX</name>
+ <priority>2</priority>
+ </usecase>
+ </out-device>
+ <out-device>
+ <id>PAL_DEVICE_OUT_AUX_DIGITAL_1</id>
+ <back_end_name>DISPLAY_PORT-RX</back_end_name>
+ <max_channels>8</max_channels>
+ <channels>2</channels>
+ <snd_device_name>display-port</snd_device_name>
+ <fractional_sr>1</fractional_sr>
+ <usecase>
+ <name>PAL_STREAM_VOICE_CALL</name>
+ <priority>1</priority>
+ </usecase>
+ </out-device>
+ <out-device>
+ <id>PAL_DEVICE_OUT_PROXY</id>
+ <back_end_name>PCM_RT_PROXY-RX-1</back_end_name>
+ <max_channels>8</max_channels>
+ <channels>2</channels>
+ <snd_device_name>afe-proxy</snd_device_name>
+ <fractional_sr>0</fractional_sr>
+ <samplerate>48000</samplerate>
+ <usecase>
+ <name>PAL_STREAM_VOICE_CALL</name>
+ <priority>1</priority>
+ </usecase>
+ </out-device>
+ <out-device>
+ <id>PAL_DEVICE_OUT_HEARING_AID</id>
+ <back_end_name>PCM_RT_PROXY-RX-1</back_end_name>
+ <max_channels>8</max_channels>
+ <channels>2</channels>
+ <snd_device_name>afe-proxy</snd_device_name>
+ <fractional_sr>0</fractional_sr>
+ <usecase>
+ <name>PAL_STREAM_VOICE_CALL</name>
+ <priority>1</priority>
+ </usecase>
+ </out-device>
+ <out-device>
+ <id>PAL_DEVICE_OUT_HAPTICS_DEVICE</id>
+ <back_end_name>CODEC_DMA-LPAIF_RXTX-RX-6</back_end_name>
+ <max_channels>2</max_channels>
+ <channels>1</channels>
+ <snd_device_name>haptics-dev</snd_device_name>
+ </out-device>
+ <out-device>
+ <id>PAL_DEVICE_OUT_ULTRASOUND</id>
+ <back_end_name>CODEC_DMA-LPAIF_WSA-RX-1</back_end_name>
+ <max_channels>2</max_channels>
+ <channels>1</channels>
+ <snd_device_name>ultrasound-handset</snd_device_name>
+ <samplerate>96000</samplerate>
+ <bit_width>16</bit_width>
+ </out-device>
+ </device_profile>
+ <in_streams>
+ <in_stream>
+ <name>PAL_STREAM_VOIP_TX</name>
+ <policies>
+ <ec_ref>
+ <disabled_stream>PAL_STREAM_GENERIC</disabled_stream>
+ </ec_ref>
+ </policies>
+ </in_stream>
+ <in_stream>
+ <name>PAL_STREAM_DEEP_BUFFER</name>
+ <policies>
+ <ec_ref>
+ <disabled_stream>PAL_STREAM_LOW_LATENCY</disabled_stream>
+ <disabled_stream>PAL_STREAM_GENERIC</disabled_stream>
+ </ec_ref>
+ </policies>
+ </in_stream>
+ <in_stream>
+ <name>PAL_STREAM_VOICE_UI</name>
+ <policies>
+ <ec_ref>
+ <disabled_stream>PAL_STREAM_LOW_LATENCY</disabled_stream>
+ <disabled_stream>PAL_STREAM_GENERIC</disabled_stream>
+ </ec_ref>
+ </policies>
+ </in_stream>
+ <in_stream>
+ <name>PAL_STREAM_ACD</name>
+ <policies>
+ <ec_ref>
+ <disabled_stream>PAL_STREAM_LOW_LATENCY</disabled_stream>
+ <disabled_stream>PAL_STREAM_GENERIC</disabled_stream>
+ </ec_ref>
+ </policies>
+ </in_stream>
+ <in_stream>
+ <name>PAL_STREAM_PROXY</name>
+ <policies>
+ <ec_ref>
+ <disabled_stream>PAL_STREAM_COMPRESSED</disabled_stream>
+ <disabled_stream>PAL_STREAM_ULTRA_LOW_LATENCY</disabled_stream>
+ <disabled_stream>PAL_STREAM_LOW_LATENCY</disabled_stream>
+ <disabled_stream>PAL_STREAM_GENERIC</disabled_stream>
+ </ec_ref>
+ </policies>
+ </in_stream>
+ <in_stream>
+ <name>PAL_STREAM_RAW</name>
+ <policies>
+ <ec_ref>
+ <disabled_stream>PAL_STREAM_COMPRESSED</disabled_stream>
+ <disabled_stream>PAL_STREAM_ULTRA_LOW_LATENCY</disabled_stream>
+ <disabled_stream>PAL_STREAM_LOW_LATENCY</disabled_stream>
+ <disabled_stream>PAL_STREAM_GENERIC</disabled_stream>
+ </ec_ref>
+ </policies>
+ </in_stream>
+ <in_stream>
+ <name>PAL_STREAM_SENSOR_PCM_DATA</name>
+ <policies>
+ <ec_ref>
+ <disabled_stream>PAL_STREAM_LOW_LATENCY</disabled_stream>
+ <disabled_stream>PAL_STREAM_GENERIC</disabled_stream>
+ </ec_ref>
+ </policies>
+ </in_stream>
+ </in_streams>
+ <acd_platform_info>
+ <common_config>
+ <param acd_enable="true" />
+ <param support_device_switch="true" />
+ <param support_nlpi_switch="true" />
+ <param lpi_enable="true" />
+ <param enable_debug_dumps="false" />
+ <param concurrent_capture="true" />
+ <param concurrent_voice_call="true" />
+ <param concurrent_voip_call="true" />
+ <param low_latency_bargein_enable="false" />
+ </common_config>
+ <capture_profile_list>
+ <capture_profile name="SINGLE_MIC_16KHZ_16BIT_HEADSET_LPI">
+ <param sample_rate="16000" />
+ <param channels="1" />
+ <param bit_width="16" />
+ <param snd_name="headset-va-mic-lpi" />
+ <param ec_ref="false" />
+ </capture_profile>
+ <capture_profile name="SINGLE_MIC_16KHZ_16BIT_HEADSET_RAW_LPI">
+ <param sample_rate="16000" />
+ <param channels="1" />
+ <param bit_width="16" />
+ <param snd_name="headset-va-mic-lpi" />
+ <param ec_ref="false" />
+ </capture_profile>
+ <capture_profile name="SINGLE_MIC_16KHZ_16BIT_HEADSET_FFNS">
+ <param sample_rate="16000" />
+ <param channels="1" />
+ <param bit_width="16" />
+ <param snd_name="headset-va-mic-lpi" />
+ <param ec_ref="false" />
+ </capture_profile>
+ <capture_profile name="SINGLE_MIC_16KHZ_16BIT_HEADSET_FFECNS">
+ <param sample_rate="16000" />
+ <param channels="1" />
+ <param bit_width="16" />
+ <param snd_name="headset-va-mic" />
+ <param ec_ref="true" />
+ </capture_profile>
+ <capture_profile name="SINGLE_MIC_16KHZ_16BIT_HEADSET_FFEC">
+ <param sample_rate="16000" />
+ <param channels="1" />
+ <param bit_width="16" />
+ <param snd_name="headset-va-mic" />
+ <param ec_ref="true" />
+ </capture_profile>
+ <capture_profile name="SINGLE_MIC_16KHZ_16BIT_LPI">
+ <param sample_rate="16000" />
+ <param channels="1" />
+ <param bit_width="16" />
+ <param snd_name="va-mic-mono-lpi" />
+ <param ec_ref="false" />
+ </capture_profile>
+ <capture_profile name="SINGLE_MIC_16KHZ_16BIT_RAW_LPI">
+ <param sample_rate="16000" />
+ <param channels="1" />
+ <param bit_width="16" />
+ <param snd_name="va-mic-mono-lpi" />
+ <param ec_ref="false" />
+ </capture_profile>
+ <capture_profile name="SINGLE_MIC_16KHZ_16BIT_FFNS">
+ <param sample_rate="16000" />
+ <param channels="1" />
+ <param bit_width="16" />
+ <param snd_name="va-mic-mono-lpi" />
+ <param ec_ref="false" />
+ </capture_profile>
+ <capture_profile name="SINGLE_MIC_16KHZ_16BIT_FFECNS">
+ <param sample_rate="16000" />
+ <param channels="1" />
+ <param bit_width="16" />
+ <param snd_name="va-mic-mono" />
+ <param ec_ref="true" />
+ </capture_profile>
+ <capture_profile name="SINGLE_MIC_16KHZ_16BIT_FFEC">
+ <param sample_rate="16000" />
+ <param channels="1" />
+ <param bit_width="16" />
+ <param snd_name="va-mic-mono" />
+ <param ec_ref="true" />
+ </capture_profile>
+ </capture_profile_list>
+ <!-- ACD -->
+ <stream_config>
+ <name>QC_ACD</name>
+ <param vendor_uuid="4e93281b-296e-4d73-9833-2710c3c7c1db"/>
+ <!-- Profile specific data which the algorithm can support -->
+ <param sample_rate="16000" />
+ <param bit_width="16" />
+ <param out_channels="1"/> <!-- Module output channels -->
+ <operating_modes>
+ <low_power capture_profile_handset="SINGLE_MIC_16KHZ_16BIT_LPI" capture_profile_headset="SINGLE_MIC_16KHZ_16BIT_HEADSET_LPI"/>
+ <high_performance capture_profile_handset="SINGLE_MIC_16KHZ_16BIT_FFECNS" capture_profile_headset="SINGLE_MIC_16KHZ_16BIT_HEADSET_FFECNS"/>
+ </operating_modes>
+ <sound_models>
+ <model>
+ <name>ACD_SOUND_MODEL_ID_EVENT</name>
+ <bin>event.eai</bin>
+ <uuid>0x0B001007</uuid>
+ <contexts>
+ <context id="0x0800132D"/> <!-- EVENT_ALARM -->
+ <context id="0x0800132E"/> <!-- EVENT_BABYCRYING -->
+ <context id="0x0800132F"/> <!-- EVENT_DOGBARKING -->
+ <context id="0x08001330"/> <!-- EVENT_DOORBELL -->
+ <context id="0x08001331"/> <!-- EVENT_DOORCLOSE -->
+ <context id="0x08001332"/> <!-- EVENT_DOOROPEN -->
+ <context id="0x08001333"/> <!-- EVENT_GLASSBREAKING -->
+ <context id="0x08001334"/> <!-- EVENT_SIREN -->
+ </contexts>
+ </model>
+ <model>
+ <name>ACD_SOUND_MODEL_ID_SPEECH</name>
+ <bin>speech.eai</bin>
+ <uuid>0x0B001008</uuid>
+ <contexts>
+ <context id="0x08001335"/> <!-- AMBIENCE_SPEECH -->
+ </contexts>
+ </model>
+ <model>
+ <name>ACD_SOUND_MODEL_ID_MUSIC</name>
+ <bin>music.eai</bin>
+ <uuid>0x0B001009</uuid>
+ <contexts>
+ <context id="0x08001336"/> <!-- AMBIENCE_MUSIC -->
+ </contexts>
+ </model>
+ <model>
+ <name>ACD_SOUND_MODEL_AMBIENCE_NOISE_SILENCE</name>
+ <bin></bin> <!-- Following contexts dont have a model, hence empty bin -->
+ <uuid>0xFFFFFFFF</uuid> <!-- Indicates no sound model -->
+ <contexts>
+ <context id="0x08001337"/> <!-- AMBIENCE_NOISY_SPL -->
+ <context id="0x08001338"/> <!-- AMBIENCE_SILENT_SPL -->
+ <context id="0x08001339"/> <!-- AMBIENCE_NOISY_SFLUX -->
+ <context id="0x0800133A"/> <!-- AMBIENCE_SILENT_SFLUX -->
+ </contexts>
+ </model>
+ </sound_models>
+ </stream_config>
+ <!-- Sensor PCM Data -->
+ <stream_config>
+ <name>QC_SENSOR_PCM_DATA</name>
+ <param vendor_uuid="c88a2c89-7a55-498c-836f-5d7ec8582990" />
+ <!-- Profile specific data which the algorithm can support -->
+ <param sample_rate="16000" />
+ <param bit_width="16" />
+ <param out_channels="1" /> <!-- Module output channels -->
+ <operating_modes>
+ <low_power capture_profile_handset="SINGLE_MIC_16KHZ_16BIT_RAW_LPI" capture_profile_headset="SINGLE_MIC_16KHZ_16BIT_HEADSET_RAW_LPI"/>
+ <low_power_ns capture_profile_handset="SINGLE_MIC_16KHZ_16BIT_FFNS" capture_profile_headset="SINGLE_MIC_16KHZ_16BIT_HEADSET_FFNS"/>
+ <high_performance capture_profile_handset="SINGLE_MIC_16KHZ_16BIT_FFEC" capture_profile_headset="SINGLE_MIC_16KHZ_16BIT_HEADSET_FFEC"/>
+ <high_performance_ns capture_profile_handset="SINGLE_MIC_16KHZ_16BIT_FFECNS" capture_profile_headset="SINGLE_MIC_16KHZ_16BIT_HEADSET_FFECNS"/>
+ </operating_modes>
+ </stream_config>
+ </acd_platform_info>
+ <sound_trigger_platform_info>
+ <common_config>
+ <!-- Param used by apk to indicate the SVA version current platform supports -->
+ <param version="0x0103" />
+ <param enable_failure_detection="false" />
+ <param support_device_switch="false" />
+ <param support_nlpi_switch="true" />
+ <param transit_to_non_lpi_on_charging="false" />
+ <!-- Param used to indicate if SVA has dedicated back end path and ports not conflicting with other audio paths -->
+ <param dedicated_sva_path="true" />
+ <param dedicated_headset_path="false" />
+ <param lpi_enable="true" />
+ <param enable_debug_dumps="false" />
+ <param concurrent_capture="false" />
+ <param concurrent_voice_call="false" />
+ <param concurrent_voip_call="false" />
+ <param low_latency_bargein_enable="false" />
+ <param mmap_enable="true" />
+ <param mmap_buffer_duration="5000" />
+ <param mmap_frame_length="5" /> <!-- 5ms duration of data -->
+ <param notify_second_stage_failure="false"/>
+ </common_config>
+ <capture_profile_list>
+ <capture_profile name="SINGLE_MIC_16KHZ_16BIT_HEADSET_FFNS">
+ <param sample_rate="16000" />
+ <param channels="1" />
+ <param bit_width="16" />
+ <param snd_name="headset-va-mic-lpi" />
+ <param ec_ref="false" />
+ </capture_profile>
+ <capture_profile name="SINGLE_MIC_16KHZ_16BIT_HEADSET_FFECNS">
+ <param sample_rate="16000" />
+ <param channels="1" />
+ <param bit_width="16" />
+ <param snd_name="headset-va-mic" />
+ <param ec_ref="true" />
+ </capture_profile>
+ <capture_profile name="SINGLE_MIC_16KHZ_16BIT_HEADSET_RAW_LPI">
+ <param sample_rate="16000" />
+ <param channels="1" />
+ <param bit_width="16" />
+ <param snd_name="headset-va-mic-lpi" />
+ <param ec_ref="false" />
+ </capture_profile>
+ <capture_profile name="SINGLE_MIC_16KHZ_16BIT_HEADSET_RAW_NLPI">
+ <param sample_rate="16000" />
+ <param channels="1" />
+ <param bit_width="16" />
+ <param snd_name="headset-va-mic" />
+ <param ec_ref="false" />
+ </capture_profile>
+ <capture_profile name="SINGLE_MIC_16KHZ_16BIT_RAW_LPI">
+ <param sample_rate="16000" />
+ <param channels="1" />
+ <param bit_width="16" />
+ <param snd_name="va-mic-mono-lpi" />
+ <param ec_ref="false" />
+ </capture_profile>
+ <capture_profile name="SINGLE_MIC_16KHZ_16BIT_RAW_NLPI">
+ <param sample_rate="16000" />
+ <param channels="1" />
+ <param bit_width="16" />
+ <param snd_name="va-mic-mono" />
+ <param ec_ref="false" />
+ </capture_profile>
+ <capture_profile name="DUAL_MIC_16KHZ_16BIT_RAW_LPI">
+ <param sample_rate="16000" />
+ <param channels="2" />
+ <param bit_width="16" />
+ <param snd_name="va-mic-dmic-lpi" />
+ <param ec_ref="false" />
+ </capture_profile>
+ <capture_profile name="DUAL_MIC_16KHZ_16BIT_RAW_NLPI">
+ <param sample_rate="16000" />
+ <param channels="2" />
+ <param bit_width="16" />
+ <param snd_name="va-mic-dmic" />
+ <param ec_ref="false" />
+ </capture_profile>
+ <capture_profile name="SINGLE_MIC_16KHZ_16BIT_FFNS">
+ <param sample_rate="16000" />
+ <param channels="1" />
+ <param bit_width="16" />
+ <param snd_name="va-mic-mono-lpi" />
+ <param ec_ref="false" />
+ </capture_profile>
+ <capture_profile name="DUAL_MIC_16KHZ_16BIT_FFNS">
+ <param sample_rate="16000" />
+ <param channels="2" />
+ <param bit_width="16" />
+ <param snd_name="va-mic-dmic-lpi" />
+ <param ec_ref="false" />
+ </capture_profile>
+ <capture_profile name="TRI_MIC_16KHZ_16BIT_FFNS">
+ <param sample_rate="16000" />
+ <param channels="3" />
+ <param bit_width="16" />
+ <param snd_name="va-mic-tmic-lpi" />
+ <param ec_ref="false" />
+ </capture_profile>
+ <capture_profile name="QUAD_MIC_16KHZ_16BIT_FFNS">
+ <param sample_rate="16000" />
+ <param channels="4" />
+ <param bit_width="16" />
+ <param snd_name="va-mic-qmic-lpi" />
+ <param ec_ref="false" />
+ </capture_profile>
+ <capture_profile name="SINGLE_MIC_16KHZ_16BIT_FFECNS">
+ <param sample_rate="16000" />
+ <param channels="1" />
+ <param bit_width="16" />
+ <param snd_name="va-mic-mono" />
+ <param ec_ref="true" />
+ </capture_profile>
+ <capture_profile name="DUAL_MIC_16KHZ_16BIT_FFECNS">
+ <param sample_rate="16000" />
+ <param channels="2" />
+ <param bit_width="16" />
+ <param snd_name="va-mic-dmic" />
+ <param ec_ref="true" />
+ </capture_profile>
+ <capture_profile name="TRI_MIC_16KHZ_16BIT_FFECNS">
+ <param sample_rate="16000" />
+ <param channels="3" />
+ <param bit_width="16" />
+ <param snd_name="va-mic-tmic" />
+ <param ec_ref="true" />
+ </capture_profile>
+ <capture_profile name="QUAD_MIC_16KHZ_16BIT_FFECNS">
+ <param sample_rate="16000" />
+ <param channels="4" />
+ <param bit_width="16" />
+ <param snd_name="va-mic-qmic" />
+ <param ec_ref="true" />
+ </capture_profile>
+ </capture_profile_list>
+ <!-- Multiple sound_model_config tags can be listed, each with unique -->
+ <!-- vendor_uuid. The below tag represents QTI SVA sound model -->
+ <!-- configuration. ISV must use their own unique vendor_uuid. -->
+ <!-- QTI SVA -->
+ <sound_model_config>
+ <param vendor_uuid="68ab2d40-e860-11e3-95ef-0002a5d5c51b"/>
+ <!-- durations in us -->
+ <param kw_start_tolerance="360000" />
+ <param kw_end_tolerance="240000" />
+ <param data_before_kw_start="360000" />
+ <param data_after_kw_end="480000" />
+ <param merge_first_stage_sound_models="false"/>
+ <!-- Profile specific data which the algorithm can support -->
+ <param sample_rate="16000" />
+ <param bit_width="16" />
+ <param out_channels="1"/> <!-- Module output channels -->
+ <param capture_keyword="2000" />
+ <param client_capture_read_delay="2000" />
+ <operating_modes>
+ <low_power capture_profile_handset="DUAL_MIC_16KHZ_16BIT_FFNS" capture_profile_headset="SINGLE_MIC_16KHZ_16BIT_HEADSET_FFNS"/>
+ <high_performance capture_profile_handset="DUAL_MIC_16KHZ_16BIT_FFECNS" capture_profile_headset="SINGLE_MIC_16KHZ_16BIT_HEADSET_FFECNS"/>
+ <high_performance_and_charging capture_profile_handset="DUAL_MIC_16KHZ_16BIT_FFECNS" capture_profile_headset="SINGLE_MIC_16KHZ_16BIT_HEADSET_FFECNS"/>
+ </operating_modes>
+ <arm_ss_usecase>
+ <!-- Options are "KEYWORD_DETECTION", "USER_VERIFICATION", "CUSTOM_DETECTION" -->
+ <param sm_detection_type= "KEYWORD_DETECTION" />
+ <param sm_id="0x2" />
+ <param module_lib="libcapiv2svacnnvendor.so"/>
+ <param sample_rate="16000"/>
+ <param bit_width="16"/>
+ <param channel_count="1"/>
+ </arm_ss_usecase>
+ <arm_ss_usecase>
+ <param sm_detection_type= "USER_VERIFICATION" />
+ <param sm_id="0x4" />
+ <param module_lib="libcapiv2uvvendor.so"/>
+ <param sample_rate="16000"/>
+ <param bit_width="16"/>
+ <param channel_count="1"/>
+ </arm_ss_usecase>
+ <arm_ss_usecase>
+ <param sm_detection_type= "KEYWORD_DETECTION" />
+ <param sm_id="0x8" />
+ <param module_lib="libcapiv2svarnnvendor.so"/>
+ <param sample_rate="16000"/>
+ <param bit_width="16"/>
+ <param channel_count="1"/>
+ </arm_ss_usecase>
+ <module_params>
+ <param module_type="GMM" />
+ <param load_sound_model_ids="0xC0000008, 0x0800104C" />
+ <param wakeup_config_ids="0xC0000008, 0x08001049" />
+ <param buffering_config_ids="0xC0000008, 0x08001044" />
+ <param engine_reset_ids="0xC0000008, 0x08001051" />
+ </module_params>
+ <module_params>
+ <param module_type="PDK" />
+ <param load_sound_model_ids="0xC0000008, 0x0800124E"/>
+ <param unload_sound_model_ids="0xC0000008, 0x08001250"/>
+ <param wakeup_config_ids="0xC0000008, 0x08001049" />
+ <param buffering_config_ids="0xC0000008, 0x0800124F"/>
+ <param engine_reset_ids="0xC0000008, 0x08001051" />
+ </module_params>
+ </sound_model_config>
+ <!-- Hotword -->
+ <sound_model_config>
+ <param vendor_uuid="7038ddc8-30f2-11e6-b0ac-40a8f03d3f15"/>
+ <param get_module_version="true" />
+ <param kw_start_tolerance="100" />
+ <param kw_end_tolerance="100" />
+ <param merge_first_stage_sound_models="false"/>
+ <param capture_keyword="2000" />
+ <param client_capture_read_delay="2000" />
+ <!-- Profile specific data which the algorithm can support -->
+ <param sample_rate="16000" />
+ <param bit_width="16" />
+ <param out_channels="1"/> <!-- Module output channels -->
+ <param capture_keyword="2000" />
+ <param client_capture_read_delay="2000" />
+ <operating_modes>
+ <low_power capture_profile_handset="SINGLE_MIC_16KHZ_16BIT_RAW_LPI" capture_profile_headset="SINGLE_MIC_16KHZ_16BIT_HEADSET_RAW_LPI"/>
+ <high_performance capture_profile_handset="DUAL_MIC_16KHZ_16BIT_RAW_NLPI" capture_profile_headset="SINGLE_MIC_16KHZ_16BIT_HEADSET_RAW_NLPI"/>
+ <high_performance_and_charging capture_profile_handset="DUAL_MIC_16KHZ_16BIT_RAW_NLPI" capture_profile_headset="SINGLE_MIC_16KHZ_16BIT_HEADSET_RAW_NLPI"/>
+ </operating_modes>
+ <module_params>
+ <param module_type="HOTWORD" />
+ <param load_sound_model_ids="0xC0000008, 0x0800104C" />
+ <param unload_sound_model_ids="0xC0000008, 0x00012C15" />
+ <param buffering_config_ids="0xC0000008, 0x08001044" />
+ <param version_ids="0xC0000008, 0x18000101" />
+ <param engine_reset_ids="0xC0000008, 0x08001051" />
+ </module_params>
+ </sound_model_config>
+ </sound_trigger_platform_info>
+</resource_manager_info>
diff --git a/audio/usecaseKvManager_davinci.xml b/audio/usecaseKvManager_davinci.xml
new file mode 100644
index 0000000..59a499f
--- /dev/null
+++ b/audio/usecaseKvManager_davinci.xml
@@ -0,0 +1,1157 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Copyright (c) 2021, The Linux Foundation. All rights reserved. -->
+<!-- -->
+<!-- Redistribution and use in source and binary forms, with or without -->
+<!-- modification, are permitted provided that the following conditions are -->
+<!-- met: -->
+<!-- * Redistributions of source code must retain the above copyright -->
+<!-- notice, this list of conditions and the following disclaimer. -->
+<!-- * Redistributions in binary form must reproduce the above -->
+<!-- copyright notice, this list of conditions and the following -->
+<!-- disclaimer in the documentation and/or other materials provided -->
+<!-- with the distribution. -->
+<!-- * Neither the name of The Linux Foundation nor the names of its -->
+<!-- contributors may be used to endorse or promote products derived -->
+<!-- from this software without specific prior written permission. -->
+<!-- -->
+<!-- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!-- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!-- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!-- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!-- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+
+<graph_key_value_pair_info>
+ <streams>
+ <!-- Low-latency stream -->
+ <stream type="PAL_STREAM_LOW_LATENCY">
+ <keys_and_values Direction="TX" Instance="1">
+ <!-- STREAMTX - RAW_RECORD -->
+ <graph_kv key="0xB1000000" value="0xB1000009"/>
+ </keys_and_values>
+ <keys_and_values Direction="RX" Instance="1">
+ <!-- STREAMRX - PCM_LL_PLAYBACK -->
+ <graph_kv key="0xA1000000" value="0xA100000E"/>
+ <!-- INSTANCE - INSTANCE_1 -->
+ <graph_kv key="0xAB000000" value="0x1"/>
+ </keys_and_values>
+ <keys_and_values Direction="RX" Instance="2">
+ <!-- STREAMRX - PCM_LL_PLAYBACK -->
+ <graph_kv key="0xA1000000" value="0xA100000E"/>
+ <!-- INSTANCE - INSTANCE_2 -->
+ <graph_kv key="0xAB000000" value="0x2"/>
+ </keys_and_values>
+ </stream>
+ <!-- Deep Buffer stream -->
+ <stream type="PAL_STREAM_DEEP_BUFFER">
+ <keys_and_values Direction="RX" Instance="1">
+ <!-- STREAMRX - PCM_DEEP_BUFFER -->
+ <graph_kv key="0xA1000000" value="0xA1000001"/>
+ <!-- INSTANCE - INSTANCE_1 -->
+ <graph_kv key="0xAB000000" value="0x1"/>
+ </keys_and_values>
+ <keys_and_values Direction="RX" Instance="2">
+ <!-- STREAMRX - PCM_DEEP_BUFFER -->
+ <graph_kv key="0xA1000000" value="0xA1000001"/>
+ <!-- INSTANCE - INSTANCE_2 -->
+ <graph_kv key="0xAB000000" value="0x2"/>
+ </keys_and_values>
+ <keys_and_values Direction="TX" Instance="1">
+ <!-- STREAMTX - PCM_RECORD -->
+ <graph_kv key="0xB1000000" value="0xB1000001"/>
+ <!-- INSTANCE - INSTANCE_1 -->
+ <graph_kv key="0xAB000000" value="0x1"/>
+ </keys_and_values>
+ <keys_and_values Direction="TX" Instance="2">
+ <!-- STREAMTX - PCM_RECORD -->
+ <graph_kv key="0xB1000000" value="0xB1000001"/>
+ <!-- INSTANCE - INSTANCE_2 -->
+ <graph_kv key="0xAB000000" value="0x2"/>
+ </keys_and_values>
+ </stream>
+ <stream type="PAL_STREAM_VOICE_RECOGNITION">
+ <keys_and_values Direction="TX" Instance="1">
+ <!-- STREAMTX - VOICE_RECOGNITION_RECORD -->
+ <graph_kv key="0xB1000000" value="0xB1000011"/>
+ <!-- INSTANCE - INSTANCE_1 -->
+ <graph_kv key="0xAB000000" value="0x1"/>
+ </keys_and_values>
+ </stream>
+ <!-- Compressed-playback stream -->
+ <stream type="PAL_STREAM_COMPRESSED">
+ <keys_and_values Direction="RX" Instance="1">
+ <!-- STREAMRX - COMPRESSED_OFFLOAD_PLAYBACK -->
+ <graph_kv key="0xA1000000" value="0xA100000A"/>
+ <!-- INSTANCE - INSTANCE_1 -->
+ <graph_kv key="0xAB000000" value="0x1"/>
+ </keys_and_values>
+ </stream>
+ <!-- VOIP RX stream -->
+ <stream type="PAL_STREAM_VOIP_RX">
+ <keys_and_values>
+ <!-- STREAMRX - VOIP_RX_PLAYBACK -->
+ <graph_kv key="0xA1000000" value="0xA1000005"/>
+ </keys_and_values>
+ </stream>
+ <!-- VOIP TX stream -->
+ <stream type="PAL_STREAM_VOIP_TX">
+ <keys_and_values>
+ <!-- STREAMTX - VOIP_TX_RECORD -->
+ <graph_kv key="0xB1000000" value="0xB1000004"/>
+ </keys_and_values>
+ </stream>
+ <!-- Voice Call Music stream -->
+ <stream type="PAL_STREAM_VOICE_CALL_MUSIC">
+ <keys_and_values>
+ <!-- STREAMRX - INCALL_MUSIC -->
+ <graph_kv key="0xA1000000" value="0xA1000013"/>
+ </keys_and_values>
+ </stream>
+ <!-- Generic-playback stream -->
+ <stream type="PAL_STREAM_GENERIC">
+ <keys_and_values Direction="RX">
+ <!-- STREAMRX - GENERIC_PLAYBACK -->
+ <graph_kv key="0xA1000000" value="0xA1000014"/>
+ </keys_and_values>
+ </stream>
+ <!-- Voice Call Record stream -->
+ <stream type="PAL_STREAM_VOICE_CALL_RECORD">
+ <keys_and_values>
+ <!-- STREAMTX - INCALL_RECORD -->
+ <graph_kv key="0xB1000000" value="0xB100000C"/>
+ </keys_and_values>
+ </stream>
+ <!-- Voice stream -->
+ <stream type="PAL_STREAM_VOICE_CALL">
+ <keys_and_values Direction="RX" VSID="VOICEMMODE1,VOICEMMODE2,VOICELBMMODE1,VOICELBMMODE2">
+ <!-- STREAMRX - VOICE_CALL_RX -->
+ <graph_kv key="0xA1000000" value="0xA1000010"/>
+ <!-- VSID - VSID_DEFAULT -->
+ <graph_kv key="0xB3000000" value="0xB3000001"/>
+ </keys_and_values>
+ <keys_and_values Direction="TX" VSID="VOICEMMODE1,VOICEMMODE2,VOICELBMMODE1,VOICELBMMODE2">
+ <!-- STREAMTX - VOICE_CALL_TX -->
+ <graph_kv key="0xB1000000" value="0xB1000007"/>
+ <!-- VSID - VSID_DEFAULT -->
+ <graph_kv key="0xB3000000" value="0xB3000001"/>
+ </keys_and_values>
+ </stream>
+ <!-- Loopback stream -->
+ <stream type="PAL_STREAM_LOOPBACK">
+ <keys_and_values Direction="RX" SubType="PAL_STREAM_LOOPBACK_HFP_RX">
+ <!-- STREAMRX - HFP_RX_PLAYBACK -->
+ <graph_kv key="0xA1000000" value="0xA100000C"/>
+ </keys_and_values>
+ <keys_and_values Direction="TX" SubType="PAL_STREAM_LOOPBACK_HFP_RX">
+ <!-- STREAMTX - HFP_RX_CAPTURE -->
+ <graph_kv key="0xB1000000" value="0xB1000005"/>
+ </keys_and_values>
+ <keys_and_values Direction="RX_TX" SubType="PAL_STREAM_LOOPBACK_PCM,PAL_STREAM_LOOPBACK_FM,PAL_STREAM_LOOPBACK_KARAOKE">
+ <!-- STREAMRX - PCM_RX_LOOPBACK -->
+ <graph_kv key="0xA1000000" value="0xA1000003"/>
+ </keys_and_values>
+ </stream>
+ <!-- Voice UI stream -->
+ <stream type="PAL_STREAM_VOICE_UI">
+ <keys_and_values VUIModuleType="GMM" Instance="1">
+ <!-- STREAM_CONFIG - STREAM_CFG_VUI_GMM -->
+ <graph_kv key="0xBC000000" value="0xBC000005"/>
+ <!-- STREAMTX - VOICE_UI -->
+ <graph_kv key="0xB1000000" value="0xB1000003"/>
+ <!-- INSTANCE - INSTANCE_1 -->
+ <graph_kv key="0xAB000000" value="0x1"/>
+ </keys_and_values>
+ <keys_and_values VUIModuleType="GMM" Instance="2">
+ <!-- STREAM_CONFIG - STREAM_CFG_VUI_GMM -->
+ <graph_kv key="0xBC000000" value="0xBC000005"/>
+ <!-- STREAMTX - VOICE_UI -->
+ <graph_kv key="0xB1000000" value="0xB1000003"/>
+ <!-- INSTANCE - INSTANCE_2 -->
+ <graph_kv key="0xAB000000" value="0x2"/>
+ </keys_and_values>
+ <keys_and_values VUIModuleType="PDK" Instance="1">
+ <!-- STREAM_CONFIG - STREAM_CFG_VUI_PDK -->
+ <graph_kv key="0xBC000000" value="0xBC000006"/>
+ <!-- STREAMTX - VOICE_UI -->
+ <graph_kv key="0xB1000000" value="0xB1000003"/>
+ <!-- INSTANCE - INSTANCE_1 -->
+ <graph_kv key="0xAB000000" value="0x1"/>
+ </keys_and_values>
+ <keys_and_values VUIModuleType="HOTWORD" Instance="1">
+ <!-- STREAM_CONFIG - STREAM_CFG_VUI_HW -->
+ <graph_kv key="0xBC000000" value="0xBC000002"/>
+ <!-- STREAMTX - VOICE_UI -->
+ <graph_kv key="0xB1000000" value="0xB1000003"/>
+ <!-- INSTANCE - INSTANCE_1 -->
+ <graph_kv key="0xAB000000" value="0x1"/>
+ </keys_and_values>
+ </stream>
+ <!-- PCM-Offload stream -->
+ <stream type="PAL_STREAM_PCM_OFFLOAD">
+ <keys_and_values Direction="RX" Instance="1">
+ <!-- STREAMRX - PCM_OFFLOAD_PLAYBACK -->
+ <graph_kv key="0xA1000000" value="0xA100000F"/>
+ <!-- INSTANCE - INSTANCE_1 -->
+ <graph_kv key="0xAB000000" value="0x1"/>
+ </keys_and_values>
+ </stream>
+ <!-- Ultra-Low-latency stream -->
+ <stream type="PAL_STREAM_ULTRA_LOW_LATENCY">
+ <keys_and_values Direction="RX" Instance="1">
+ <!-- STREAMRX - PCM_ULL_PLAYBACK -->
+ <graph_kv key="0xA1000000" value="0xA1000011"/>
+ <!-- INSTANCE - INSTANCE_1 -->
+ <graph_kv key="0xAB000000" value="0x1"/>
+ </keys_and_values>
+ <keys_and_values Direction="RX" Instance="2">
+ <!-- STREAMRX - PCM_ULL_PLAYBACK -->
+ <graph_kv key="0xA1000000" value="0xA1000011"/>
+ <!-- INSTANCE - INSTANCE_2 -->
+ <graph_kv key="0xAB000000" value="0x2"/>
+ </keys_and_values>
+ <keys_and_values Direction="TX" Instance="1">
+ <!-- STREAMTX - PCM_ULL_RECORD -->
+ <graph_kv key="0xB1000000" value="0xB100000A"/>
+ </keys_and_values>
+ </stream>
+ <!-- Proxy stream -->
+ <stream type="PAL_STREAM_PROXY">
+ <keys_and_values Direction="TX">
+ <!-- STREAMTX - PCM_PROXY_RECORD -->
+ <graph_kv key="0xB1000000" value="0xB100000B"/>
+ </keys_and_values>
+ <keys_and_values Direction="TX" SubType="PAL_STREAM_PROXY_TX_WFD">
+ <!-- STREAMTX - PCM_PROXY_RECORD -->
+ <graph_kv key="0xB1000000" value="0xB100000B"/>
+ <!-- PROXY_TX_TYPE - PROXY_TX_WFD -->
+ <graph_kv key="0xD1000000" value="0xD1000002"/>
+ </keys_and_values>
+ <keys_and_values Direction="TX" SubType="PAL_STREAM_PROXY_TX_TELEPHONY_RX">
+ <!-- STREAMTX - PCM_PROXY_RECORD -->
+ <graph_kv key="0xB1000000" value="0xB100000B"/>
+ <!-- PROXY_TX_TYPE - PROXY_TX_VOICE_RX -->
+ <graph_kv key="0xD1000000" value="0xD1000003"/>
+ </keys_and_values>
+ <keys_and_values Direction="RX">
+ <!-- STREAMRX - PCM_PROXY_PLAYBACK -->
+ <graph_kv key="0xA1000000" value="0xA1000012"/>
+ </keys_and_values>
+ </stream>
+ <!-- Non-Tunnel stream -->
+ <stream type="PAL_STREAM_NON_TUNNEL">
+ <keys_and_values AudioFormat="PAL_AUDIO_FMT_PCM" Instance="1">
+ <!-- STREAM - NT_ENCODE -->
+ <graph_kv key="0xD3000000" value="0xD2000002"/>
+ <!-- INSTANCE - INSTANCE_1 -->
+ <graph_kv key="0xAB000000" value="0x1"/>
+ </keys_and_values>
+ <keys_and_values AudioFormat="PAL_AUDIO_FMT_NON_PCM" Instance="1">
+ <!-- STREAM - NT_DECODE -->
+ <graph_kv key="0xD3000000" value="0xD2000001"/>
+ <!-- INSTANCE - INSTANCE_1 -->
+ <graph_kv key="0xAB000000" value="0x1"/>
+ </keys_and_values>
+ <keys_and_values AudioFormat="PAL_AUDIO_FMT_PCM" Instance="2">
+ <!-- STREAM - NT_ENCODE -->
+ <graph_kv key="0xD3000000" value="0xD2000002"/>
+ <!-- INSTANCE - INSTANCE_2 -->
+ <graph_kv key="0xAB000000" value="0x2"/>
+ </keys_and_values>
+ <keys_and_values AudioFormat="PAL_AUDIO_FMT_NON_PCM" Instance="2">
+ <!-- STREAM - NT_DECODE -->
+ <graph_kv key="0xD3000000" value="0xD2000001"/>
+ <!-- INSTANCE - INSTANCE_2 -->
+ <graph_kv key="0xAB000000" value="0x2"/>
+ </keys_and_values>
+ </stream>
+ <!-- Haptics stream -->
+ <stream type="PAL_STREAM_HAPTICS">
+ <keys_and_values>
+ <!-- STREAMRX - HAPTICS_PLAYBACK -->
+ <graph_kv key="0xA1000000" value="0xA1000015"/>
+ </keys_and_values>
+ </stream>
+ <!-- Raw stream -->
+ <stream type="PAL_STREAM_RAW">
+ <keys_and_values Direction="TX">
+ <!-- STREAMTX - RAW_RECORD -->
+ <graph_kv key="0xB1000000" value="0xB1000009"/>
+ </keys_and_values>
+ <keys_and_values Direction="RX_TX">
+ <!-- STREAMRX - PCM_RX_LOOPBACK -->
+ <graph_kv key="0xA1000000" value="0xA1000003"/>
+ </keys_and_values>
+ </stream>
+ <!-- ACD stream -->
+ <stream type="PAL_STREAM_ACD">
+ <keys_and_values ACDModuleType="QC_ACD">
+ <!-- STREAM_CONFIG - STREAM_CFG_ACD_QC -->
+ <graph_kv key="0xBC000000" value="0xBC000007"/>
+ <!-- STREAMTX - ACD -->
+ <graph_kv key="0xB1000000" value="0xB100000D"/>
+ </keys_and_values>
+ </stream>
+ <!-- Sensor PCM Data stream -->
+ <stream type="PAL_STREAM_SENSOR_PCM_DATA">
+ <keys_and_values ACDModuleType="QC_SENSOR_PCM_DATA">
+ <!-- STREAMTX - SENSOR_PCM_DATA -->
+ <graph_kv key="0xB1000000" value="0xB100000E"/>
+ </keys_and_values>
+ </stream>
+ </streams>
+ <streampps>
+ <!-- Voice Call stream PP -->
+ <streampp type="PAL_STREAM_VOICE_CALL">
+ <keys_and_values>
+ <!-- STREAMPP_RX - STREAMPP_RX_DEFAULT -->
+ <graph_kv key="0xAF000000" value="0xAF000001"/>
+ </keys_and_values>
+ </streampp>
+ </streampps>
+ <devices>
+ <!-- Speaker Device -->
+ <device id="PAL_DEVICE_OUT_SPEAKER">
+ <keys_and_values>
+ <!-- DEVICERX - SPEAKER -->
+ <graph_kv key="0xA2000000" value="0xA2000001"/>
+ </keys_and_values>
+ </device>
+ <!-- Handset Device -->
+ <device id="PAL_DEVICE_OUT_HANDSET">
+ <keys_and_values>
+ <!-- DEVICERX - HANDSET -->
+ <graph_kv key="0xA2000000" value="0xA2000004"/>
+ </keys_and_values>
+ </device>
+ <!-- AUX Device -->
+ <device id="PAL_DEVICE_OUT_AUX_DIGITAL,PAL_DEVICE_OUT_AUX_DIGITAL_1,PAL_DEVICE_OUT_HDMI">
+ <keys_and_values>
+ <!-- DEVICERX - HDMI_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000006"/>
+ </keys_and_values>
+ </device>
+ <!-- wired USB Device-->
+ <device id="PAL_DEVICE_OUT_WIRED_HEADSET,PAL_DEVICE_OUT_WIRED_HEADPHONE">
+ <keys_and_values>
+ <!-- DEVICERX - HEADPHONES -->
+ <graph_kv key="0xA2000000" value="0xA2000002"/>
+ </keys_and_values>
+ </device>
+ <!-- USB Device-->
+ <device id="PAL_DEVICE_OUT_USB_HEADSET,PAL_DEVICE_OUT_USB_DEVICE">
+ <keys_and_values>
+ <!-- DEVICERX - USB_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000005"/>
+ </keys_and_values>
+ </device>
+ <!-- In Handset MIC Device -->
+ <device id="PAL_DEVICE_IN_HANDSET_MIC">
+ <keys_and_values>
+ <!-- DEVICETX - HANDSETMIC -->
+ <graph_kv key="0xA3000000" value="0xA3000004"/>
+ </keys_and_values>
+ <keys_and_values SidetoneMode="SW">
+ <!-- SW_SIDETONE - SW_SIDETONE_ON -->
+ <graph_kv key="0xBA000000" value="0xBA000001"/>
+ </keys_and_values>
+ </device>
+ <!-- In speaker MIC Device-->
+ <device id="PAL_DEVICE_IN_SPEAKER_MIC">
+ <keys_and_values>
+ <!-- DEVICETX - SPEAKER_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000001"/>
+ </keys_and_values>
+ <keys_and_values SidetoneMode="SW">
+ <!-- SW_SIDETONE - SW_SIDETONE_ON -->
+ <graph_kv key="0xBA000000" value="0xBA000001"/>
+ </keys_and_values>
+ </device>
+ <!-- In wired Headset Device -->
+ <device id="PAL_DEVICE_IN_WIRED_HEADSET">
+ <keys_and_values>
+ <!-- DEVICETX - HEADPHONE_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000003"/>
+ </keys_and_values>
+ <keys_and_values SidetoneMode="SW">
+ <!-- SW_SIDETONE - SW_SIDETONE_ON -->
+ <graph_kv key="0xBA000000" value="0xBA000001"/>
+ </keys_and_values>
+ </device>
+ <!-- In USB Headset Device -->
+ <device id="PAL_DEVICE_IN_USB_DEVICE,PAL_DEVICE_IN_USB_HEADSET">
+ <keys_and_values>
+ <!-- DEVICETX - USB_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000005"/>
+ </keys_and_values>
+ <keys_and_values SidetoneMode="SW">
+ <!-- SW_SIDETONE - SW_SIDETONE_ON -->
+ <graph_kv key="0xBA000000" value="0xBA000001"/>
+ </keys_and_values>
+ </device>
+ <!-- In Handset VA MIC Device -->
+ <device id="PAL_DEVICE_IN_HANDSET_VA_MIC">
+ <keys_and_values>
+ <!-- DEVICETX - HANDSETMIC_VA -->
+ <graph_kv key="0xA3000000" value="0xA3000006"/>
+ </keys_and_values>
+ </device>
+ <!-- In Headset VA MIC Device -->
+ <device id="PAL_DEVICE_IN_HEADSET_VA_MIC">
+ <keys_and_values>
+ <!-- DEVICETX - HEADSETMIC_VA -->
+ <graph_kv key="0xA3000000" value="0xA3000007"/>
+ </keys_and_values>
+ </device>
+ <!-- Proxy IN Device -->
+ <device id="PAL_DEVICE_IN_PROXY">
+ <keys_and_values>
+ <!-- DEVICETX - PROXY_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000008"/>
+ </keys_and_values>
+ <keys_and_values SubType="PAL_STREAM_PROXY_TX_WFD">
+ <!-- DEVICETX - PROXY_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000008"/>
+ <!-- PROXY_TX_TYPE - PROXY_TX_WFD -->
+ <graph_kv key="0xD1000000" value="0xD1000002"/>
+ </keys_and_values>
+ </device>
+ <!-- Proxy Out Device -->
+ <device id="PAL_DEVICE_OUT_PROXY">
+ <keys_and_values>
+ <!-- DEVICERX - PROXY_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000007"/>
+ </keys_and_values>
+ </device>
+ <!-- In Telephony RX Device -->
+ <device id="PAL_DEVICE_IN_TELEPHONY_RX">
+ <keys_and_values>
+ <!-- DEVICETX - PROXY_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000008"/>
+ </keys_and_values>
+ <keys_and_values SubType="PAL_STREAM_PROXY_TX_TELEPHONY_RX">
+ <!-- DEVICETX - PROXY_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000008"/>
+ <!-- PROXY_TX_TYPE - PROXY_TX_VOICE_RX -->
+ <graph_kv key="0xD1000000" value="0xD1000003"/>
+ </keys_and_values>
+ </device>
+ <!-- In VI feedback Device -->
+ <device id="PAL_DEVICE_IN_VI_FEEDBACK">
+ <keys_and_values>
+ <!-- DEVICETX - VI_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000009"/>
+ </keys_and_values>
+ </device>
+ <!-- Out hearing AID Device -->
+ <device id="PAL_DEVICE_OUT_HEARING_AID">
+ <keys_and_values>
+ <!-- DEVICERX - PROXY_RX_VOICE -->
+ <graph_kv key="0xA2000000" value="0xA2000008"/>
+ </keys_and_values>
+ </device>
+ <!-- Out Haptics Device -->
+ <device id="PAL_DEVICE_OUT_HAPTICS_DEVICE">
+ <keys_and_values>
+ <!-- DEVICERX - HAPTICS_DEVICE -->
+ <graph_kv key="0xA2000000" value="0xA2000009"/>
+ </keys_and_values>
+ </device>
+ <!-- In FM Tuner Device -->
+ <device id="PAL_DEVICE_IN_FM_TUNER">
+ <keys_and_values>
+ <!-- DEVICETX - FM_TX -->
+ <graph_kv key="0xA3000000" value="0xA300000A"/>
+ </keys_and_values>
+ </device>
+ <!-- Out Ultrasound Device -->
+ <device id="PAL_DEVICE_OUT_ULTRASOUND">
+ <keys_and_values>
+ <!-- DEVICERX - ULTRASOUND_RX -->
+ <graph_kv key="0xA2000000" value="0xA200000A"/>
+ </keys_and_values>
+ </device>
+ <!-- In Ultrasound Device -->
+ <device id="PAL_DEVICE_IN_ULTRASOUND_MIC">
+ <keys_and_values>
+ <!-- DEVICETX - ULTRASOUND_TX -->
+ <graph_kv key="0xA3000000" value="0xA300000B"/>
+ </keys_and_values>
+ </device>
+ <!-- In External EC Reference Device -->
+ <device id="PAL_DEVICE_IN_EXT_EC_REF">
+ <keys_and_values>
+ <!-- DEVICETX_EXT - EXT_EC_TX -->
+ <graph_kv key="0xD7000000" value="0xD7000001"/>
+ </keys_and_values>
+ </device>
+ <!-- BT A2DP OUT Device -->
+ <device id="PAL_DEVICE_OUT_BLUETOOTH_A2DP">
+ <keys_and_values CodecFormat="CODEC_TYPE_LDAC" AbrEnabled="TRUE,FALSE" Hostless="TRUE,FALSE">
+ <!-- DEVICERX - BT_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000003"/>
+ <!-- BT_PROFILE - A2DP -->
+ <graph_kv key="0xB4000000" value="0xB4000002"/>
+ <!-- BT_FORMAT - LDAC -->
+ <graph_kv key="0xB5000000" value="0xB5000002"/>
+ </keys_and_values>
+ <!-- In APTX_AD ABR is always enabled -->
+ <keys_and_values CodecFormat="CODEC_TYPE_APTX_AD" AbrEnabled="TRUE,FALSE" Hostless="TRUE,FALSE">
+ <!-- DEVICERX - BT_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000003"/>
+ <!-- BT_PROFILE - A2DP -->
+ <graph_kv key="0xB4000000" value="0xB4000002"/>
+ <!-- BT_FORMAT - APTX_ADAPTIVE -->
+ <graph_kv key="0xB5000000" value="0xB5000003"/>
+ </keys_and_values>
+ <keys_and_values CodecFormat="CODEC_TYPE_LC3" AbrEnabled="TRUE,FALSE" Hostless="TRUE">
+ <!-- DEVICERX - BT_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000003"/>
+ <!-- BT_PROFILE - A2DP -->
+ <graph_kv key="0xB4000000" value="0xB4000002"/>
+ <!-- BT_FORMAT - LC3 -->
+ <graph_kv key="0xB5000000" value="0xB5000005"/>
+ </keys_and_values>
+ <keys_and_values CodecFormat="CODEC_TYPE_LC3" AbrEnabled="TRUE,FALSE" Hostless="FALSE">
+ <!-- DEVICERX - BT_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000003"/>
+ <!-- BT_PROFILE - A2DP -->
+ <graph_kv key="0xB4000000" value="0xB4000002"/>
+ <!-- BT_FORMAT - LC3 -->
+ <graph_kv key="0xB5000000" value="0xB5000005"/>
+ </keys_and_values>
+ <keys_and_values CodecFormat="CODEC_TYPE_AAC" AbrEnabled="TRUE" Hostless="TRUE,FALSE">
+ <!-- DEVICERX - BT_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000003"/>
+ <!-- BT_PROFILE - A2DP -->
+ <graph_kv key="0xB4000000" value="0xB4000002"/>
+ <!-- BT_FORMAT - AAC_ABR -->
+ <graph_kv key="0xB5000000" value="0xB5000006"/>
+ </keys_and_values>
+ <keys_and_values CodecFormat="CODEC_TYPE_AAC,CODEC_TYPE_SBC,CODEC_TYPE_APTX,CODEC_TYPE_APTX_HD,CODEC_TYPE_APTX_DUAL_MONO" AbrEnabled="FALSE" Hostless="TRUE,FALSE">
+ <!-- DEVICERX - BT_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000003"/>
+ <!-- BT_PROFILE - A2DP -->
+ <graph_kv key="0xB4000000" value="0xB4000002"/>
+ <!-- BT_FORMAT - GENERIC -->
+ <graph_kv key="0xB5000000" value="0xB5000001"/>
+ </keys_and_values>
+ </device>
+ <!-- BT A2DP IN Device -->
+ <device id="PAL_DEVICE_IN_BLUETOOTH_A2DP">
+ <keys_and_values CodecFormat="CODEC_TYPE_LDAC,CODEC_TYPE_APTX_AD,CODEC_TYPE_AAC" Hostless="TRUE,FALSE">
+ <!-- DEVICETX - BT_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000002"/>
+ </keys_and_values>
+ <keys_and_values CodecFormat="CODEC_TYPE_LC3" Hostless="TRUE">
+ <!-- DEVICETX - BT_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000002"/>
+ <!-- BT_PROFILE - A2DP -->
+ <graph_kv key="0xB4000000" value="0xB4000002"/>
+ <!-- BT_FORMAT - LC3 -->
+ <graph_kv key="0xB5000000" value="0xB5000005"/>
+ </keys_and_values>
+ <keys_and_values CodecFormat="CODEC_TYPE_LC3" Hostless="FALSE">
+ <!-- DEVICETX - BT_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000002"/>
+ <!-- BT_PROFILE - A2DP -->
+ <graph_kv key="0xB4000000" value="0xB4000002"/>
+ <!-- BT_FORMAT - LC3 -->
+ <graph_kv key="0xB5000000" value="0xB5000005"/>
+ </keys_and_values>
+ </device>
+ <!-- BT SCO OUT Device -->
+ <device id="PAL_DEVICE_OUT_BLUETOOTH_SCO">
+ <keys_and_values CodecFormat="CODEC_TYPE_INVALID">
+ <!-- DEVICERX - BT_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000003"/>
+ <!-- BT_PROFILE - SCO -->
+ <graph_kv key="0xB4000000" value="0xB4000001"/>
+ </keys_and_values>
+ <keys_and_values CodecFormat="CODEC_TYPE_APTX_AD_SPEECH">
+ <!-- DEVICERX - BT_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000003"/>
+ <!-- BT_PROFILE - SCO -->
+ <graph_kv key="0xB4000000" value="0xB4000001"/>
+ <!-- BT_FORMAT - SWB -->
+ <graph_kv key="0xB5000000" value="0xB5000004"/>
+ </keys_and_values>
+ <keys_and_values CodecFormat="CODEC_TYPE_LC3">
+ <!-- DEVICERX - BT_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000003"/>
+ <!-- BT_PROFILE - SCO -->
+ <graph_kv key="0xB4000000" value="0xB4000001"/>
+ <!-- BT_FORMAT - LC3 -->
+ <graph_kv key="0xB5000000" value="0xB5000005"/>
+ </keys_and_values>
+ </device>
+ <!-- BT SCO In Headset Device -->
+ <device id="PAL_DEVICE_IN_BLUETOOTH_SCO_HEADSET">
+ <keys_and_values CodecFormat="CODEC_TYPE_INVALID">
+ <!-- DEVICETX - BT_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000002"/>
+ <!-- BT_PROFILE - SCO -->
+ <graph_kv key="0xB4000000" value="0xB4000001"/>
+ </keys_and_values>
+ <keys_and_values CodecFormat="CODEC_TYPE_APTX_AD_SPEECH">
+ <!-- DEVICETX - BT_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000002"/>
+ <!-- BT_PROFILE - SCO -->
+ <graph_kv key="0xB4000000" value="0xB4000001"/>
+ <!-- BT_FORMAT - SWB -->
+ <graph_kv key="0xB5000000" value="0xB5000004"/>
+ </keys_and_values>
+ <keys_and_values CodecFormat="CODEC_TYPE_LC3">
+ <!-- DEVICERX - BT_RX -->
+ <graph_kv key="0xA3000000" value="0xA3000002"/>
+ <!-- BT_PROFILE - SCO -->
+ <graph_kv key="0xB4000000" value="0xB4000001"/>
+ <!-- BT_FORMAT - LC3 -->
+ <graph_kv key="0xB5000000" value="0xB5000005"/>
+ </keys_and_values>
+ </device>
+ </devices>
+ <devicepps>
+ <!-- OUT Speaker DevicePPs -->
+ <devicepp id="PAL_DEVICE_OUT_SPEAKER">
+ <keys_and_values StreamType="PAL_STREAM_DEEP_BUFFER,PAL_STREAM_PCM_OFFLOAD,PAL_STREAM_COMPRESSED,PAL_STREAM_LOW_LATENCY,PAL_STREAM_GENERIC">
+ <!-- DEVICERX - SPEAKER -->
+ <graph_kv key="0xA2000000" value="0xA2000001"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_AUDIO_MBDRC -->
+ <graph_kv key="0xAC000000" value="0xAC000002"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_LOW_LATENCY" CustomConfig="speaker-safe">
+ <!-- DEVICERX - SPEAKER -->
+ <graph_kv key="0xA2000000" value="0xA2000001"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_AUDIO_MBDRC -->
+ <graph_kv key="0xAC000000" value="0xAC000002"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOIP_RX">
+ <!-- DEVICERX - SPEAKER -->
+ <graph_kv key="0xA2000000" value="0xA2000001"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_VOIP_MBDRC -->
+ <graph_kv key="0xAC000000" value="0xAC000003"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_LOOPBACK" SubType="PAL_STREAM_LOOPBACK_HFP_RX">
+ <!-- DEVICERX - SPEAKER -->
+ <graph_kv key="0xA2000000" value="0xA2000001"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_HFPSINK -->
+ <graph_kv key="0xAC000000" value="0xAC000004"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL">
+ <!-- DEVICERX - SPEAKER -->
+ <graph_kv key="0xA2000000" value="0xA2000001"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_VOICE_DEFAULT -->
+ <graph_kv key="0xAC000000" value="0xAC000005"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_ULTRASOUND">
+ <!-- DEVICERX - SPEAKER -->
+ <graph_kv key="0xA2000000" value="0xA2000001"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_ULTRASOUND_GENERATOR -->
+ <graph_kv key="0xAC000000" value="0xAC000006"/>
+ </keys_and_values>
+ </devicepp>
+ <!-- OUT Handset DevicePPs -->
+ <devicepp id="PAL_DEVICE_OUT_HANDSET">
+ <keys_and_values StreamType="PAL_STREAM_DEEP_BUFFER,PAL_STREAM_PCM_OFFLOAD,PAL_STREAM_COMPRESSED,PAL_STREAM_LOW_LATENCY,PAL_STREAM_GENERIC">
+ <!-- DEVICERX - HANDSET -->
+ <graph_kv key="0xA2000000" value="0xA2000004"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_AUDIO_MBDRC -->
+ <graph_kv key="0xAC000000" value="0xAC000002"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOIP_RX">
+ <!-- DEVICERX - HANDSET -->
+ <graph_kv key="0xA2000000" value="0xA2000004"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_VOIP_MBDRC -->
+ <graph_kv key="0xAC000000" value="0xAC000003"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL">
+ <!-- DEVICERX - HANDSET -->
+ <graph_kv key="0xA2000000" value="0xA2000004"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_VOICE_DEFAULT -->
+ <graph_kv key="0xAC000000" value="0xAC000005"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_ULTRASOUND">
+ <!-- DEVICERX - HANDSET -->
+ <graph_kv key="0xA2000000" value="0xA2000004"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_ULTRASOUND_GENERATOR -->
+ <graph_kv key="0xAC000000" value="0xAC000006"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL" CustomConfig="dual-mic-rve">
+ <!-- DEVICERX - HANDSET -->
+ <graph_kv key="0xA2000000" value="0xA2000004"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_VOICE_RVE -->
+ <graph_kv key="0xAC000000" value="0xAC000007"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL" CustomConfig="HAC">
+ <!-- DEVICERX - HANDSET -->
+ <graph_kv key="0xA2000000" value="0xA2000004"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_VOICE_RVE -->
+ <graph_kv key="0xAC000000" value="0xAC000007"/>
+ </keys_and_values>
+ </devicepp>
+ <!-- OUT Headset and Headphone Digital DevicePPs -->
+ <devicepp id="PAL_DEVICE_OUT_WIRED_HEADSET,PAL_DEVICE_OUT_WIRED_HEADPHONE">
+ <keys_and_values StreamType="PAL_STREAM_DEEP_BUFFER,PAL_STREAM_PCM_OFFLOAD,PAL_STREAM_COMPRESSED,PAL_STREAM_LOW_LATENCY,PAL_STREAM_GENERIC">
+ <!-- DEVICERX - HEADPHONES -->
+ <graph_kv key="0xA2000000" value="0xA2000002"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_AUDIO_MBDRC -->
+ <graph_kv key="0xAC000000" value="0xAC000002"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOIP_RX">
+ <!-- DEVICERX - HEADPHONES -->
+ <graph_kv key="0xA2000000" value="0xA2000002"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_VOIP_MBDRC -->
+ <graph_kv key="0xAC000000" value="0xAC000003"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL">
+ <!-- DEVICERX - HEADPHONES -->
+ <graph_kv key="0xA2000000" value="0xA2000002"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_VOICE_DEFAULT -->
+ <graph_kv key="0xAC000000" value="0xAC000005"/>
+ </keys_and_values>
+ </devicepp>
+ <!-- OUT Bluetooth A2DP DevicePPs -->
+ <devicepp id="PAL_DEVICE_OUT_BLUETOOTH_A2DP">
+ <keys_and_values StreamType="PAL_STREAM_COMPRESSED,PAL_STREAM_DEEP_BUFFER,PAL_STREAM_LOW_LATENCY,PAL_STREAM_PCM_OFFLOAD">
+ <!-- DEVICEPP_RX - DEVICEPP_RX_AUDIO_MBDRC -->
+ <graph_kv key="0xAC000000" value="0xAC000002"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOIP_RX" >
+ <!-- DEVICEPP_RX - DEVICEPP_RX_VOIP_MBDRC -->
+ <graph_kv key="0xAC000000" value="0xAC000003"/>
+ </keys_and_values>
+ </devicepp>
+ <!-- OUT BT SCO DevicePPs -->
+ <devicepp id="PAL_DEVICE_OUT_BLUETOOTH_SCO">
+ <keys_and_values StreamType="PAL_STREAM_DEEP_BUFFER,PAL_STREAM_PCM_OFFLOAD,PAL_STREAM_COMPRESSED,PAL_STREAM_LOW_LATENCY">
+ <!-- DEVICERX - BT_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000003"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_AUDIO_MBDRC -->
+ <graph_kv key="0xAC000000" value="0xAC000002"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOIP_RX">
+ <!-- DEVICERX - BT_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000003"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_VOIP_MBDRC -->
+ <graph_kv key="0xAC000000" value="0xAC000003"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL">
+ <!-- DEVICERX - BT_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000003"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_VOICE_DEFAULT -->
+ <graph_kv key="0xAC000000" value="0xAC000005"/>
+ </keys_and_values>
+ </devicepp>
+ <!-- OUT HDMI and AUX Digital DevicePPs -->
+ <devicepp id="PAL_DEVICE_OUT_HDMI,PAL_DEVICE_OUT_AUX_DIGITAL,PAL_DEVICE_OUT_AUX_DIGITAL_1">
+ <keys_and_values StreamType="PAL_STREAM_DEEP_BUFFER,PAL_STREAM_PCM_OFFLOAD,PAL_STREAM_COMPRESSED,PAL_STREAM_LOW_LATENCY">
+ <!-- DEVICERX - HDMI_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000006"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_AUDIO_MBDRC -->
+ <graph_kv key="0xAC000000" value="0xAC000002"/>
+ </keys_and_values>
+ </devicepp>
+ <!-- OUT USB device and USB Headset DevicePPs -->
+ <devicepp id="PAL_DEVICE_OUT_USB_DEVICE,PAL_DEVICE_OUT_USB_HEADSET">
+ <keys_and_values StreamType="PAL_STREAM_DEEP_BUFFER,PAL_STREAM_PCM_OFFLOAD,PAL_STREAM_COMPRESSED,PAL_STREAM_LOW_LATENCY,PAL_STREAM_GENERIC">
+ <!-- DEVICERX - USB_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000005"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_AUDIO_MBDRC -->
+ <graph_kv key="0xAC000000" value="0xAC000002"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOIP_RX">
+ <!-- DEVICERX - USB_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000005"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_VOIP_MBDRC -->
+ <graph_kv key="0xAC000000" value="0xAC000003"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL">
+ <!-- DEVICERX - USB_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000005"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_VOICE_DEFAULT -->
+ <graph_kv key="0xAC000000" value="0xAC000005"/>
+ </keys_and_values>
+ </devicepp>
+ <!-- OUT Device Proxy DevicePPs -->
+ <devicepp id="PAL_DEVICE_OUT_PROXY">
+ <keys_and_values StreamType="PAL_STREAM_DEEP_BUFFER,PAL_STREAM_PCM_OFFLOAD,PAL_STREAM_COMPRESSED,PAL_STREAM_LOW_LATENCY">
+ <!-- DEVICERX - PROXY_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000007"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_DEFAULT -->
+ <graph_kv key="0xAC000000" value="0xAC000001"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL">
+ <!-- DEVICERX - PROXY_RX -->
+ <graph_kv key="0xA2000000" value="0xA2000007"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_VOICE_DEFAULT -->
+ <graph_kv key="0xAC000000" value="0xAC000005"/>
+ </keys_and_values>
+ </devicepp>
+ <!-- OUT Hearing Aid DevicePPs -->
+ <devicepp id="PAL_DEVICE_OUT_HEARING_AID">
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL">
+ <!-- DEVICERX - PROXY_RX_VOICE -->
+ <graph_kv key="0xA2000000" value="0xA2000008"/>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_VOICE_DEFAULT -->
+ <graph_kv key="0xAC000000" value="0xAC000005"/>
+ </keys_and_values>
+ </devicepp>
+ <!-- IN Handset MIC DevicePPs -->
+ <devicepp id="PAL_DEVICE_IN_HANDSET_MIC">
+ <keys_and_values StreamType="PAL_STREAM_VOICE_RECOGNITION">
+ <!-- DEVICETX - HANDSETMIC -->
+ <graph_kv key="0xA3000000" value="0xA3000004"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOICE_RECOGNITION -->
+ <graph_kv key="0xAD000000" value="0xAD000017"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_DEEP_BUFFER">
+ <!-- DEVICETX - HANDSETMIC -->
+ <graph_kv key="0xA3000000" value="0xA3000004"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_AUDIO_FLUENCE_SMECNS -->
+ <graph_kv key="0xAD000000" value="0xAD000002"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_DEEP_BUFFER" CustomConfig="dual-mic">
+ <!-- DEVICETX - HANDSETMIC -->
+ <graph_kv key="0xA3000000" value="0xA3000004"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_AUDIO_FLUENCE_ENDFIRE -->
+ <graph_kv key="0xAD000000" value="0xAD000003"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_DEEP_BUFFER" CustomConfig="quad-mic">
+ <!-- DEVICETX - HANDSETMIC -->
+ <graph_kv key="0xA3000000" value="0xA3000004"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_AUDIO_FLUENCE_PRO -->
+ <graph_kv key="0xAD000000" value="0xAD000004"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL">
+ <!-- DEVICETX - HANDSETMIC -->
+ <graph_kv key="0xA3000000" value="0xA3000004"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOICE_FLUENCE_NN_SM -->
+ <graph_kv key="0xAD000000" value="0xAD00000F"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL" CustomConfig="dual-mic">
+ <!-- DEVICETX - HANDSETMIC -->
+ <graph_kv key="0xA3000000" value="0xA3000004"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOICE_FLUENCE_ENDFIRE -->
+ <graph_kv key="0xAD000000" value="0xAD000009"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL" CustomConfig="quad-mic">
+ <!-- DEVICETX - HANDSETMIC -->
+ <graph_kv key="0xA3000000" value="0xA3000004"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOICE_FLUENCE_PRO -->
+ <graph_kv key="0xAD000000" value="0xAD00000A"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL" CustomConfig="nn-sm">
+ <!-- DEVICETX - HANDSETMIC -->
+ <graph_kv key="0xA3000000" value="0xA3000004"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOICE_FLUENCE_NN_SM -->
+ <graph_kv key="0xAD000000" value="0xAD00000F"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL" CustomConfig="dual-mic-rve">
+ <!-- DEVICETX - HANDSETMIC -->
+ <graph_kv key="0xA3000000" value="0xA3000004"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOICE_FLUENCE_ENDFIRE_RVE -->
+ <graph_kv key="0xAD000000" value="0xAD000013"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOIP_TX">
+ <!-- DEVICETX - HANDSETMIC -->
+ <graph_kv key="0xA3000000" value="0xA3000004"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOIP_FLUENCE_NN_SM -->
+ <graph_kv key="0xAD000000" value="0xAD000010"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOIP_TX" CustomConfig="dual-mic">
+ <!-- DEVICETX - HANDSETMIC -->
+ <graph_kv key="0xA3000000" value="0xA3000004"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOIP_FLUENCE_ENDFIRE -->
+ <graph_kv key="0xAD000000" value="0xAD00000D"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOIP_TX" CustomConfig="quad-mic">
+ <!-- DEVICETX - HANDSETMIC -->
+ <graph_kv key="0xA3000000" value="0xA3000004"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOIP_FLUENCE_PRO -->
+ <graph_kv key="0xAD000000" value="0xAD000005"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOIP_TX" CustomConfig="nn-sm">
+ <!-- DEVICETX - HANDSETMIC -->
+ <graph_kv key="0xA3000000" value="0xA3000004"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOIP_FLUENCE_NN_SM -->
+ <graph_kv key="0xAD000000" value="0xAD000010"/>
+ </keys_and_values>
+ </devicepp>
+ <!-- IN Speaker MIC DevicePPs -->
+ <devicepp id="PAL_DEVICE_IN_SPEAKER_MIC">
+ <keys_and_values StreamType="PAL_STREAM_DEEP_BUFFER">
+ <!-- DEVICETX - SPEAKER_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000001"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_AUDIO_FLUENCE_SMECNS -->
+ <graph_kv key="0xAD000000" value="0xAD000002"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_DEEP_BUFFER" CustomConfig="dual-mic">
+ <!-- DEVICETX - SPEAKER_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000001"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_AUDIO_FLUENCE_ENDFIRE -->
+ <graph_kv key="0xAD000000" value="0xAD000003"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_DEEP_BUFFER" CustomConfig="quad-mic">
+ <!-- DEVICETX - SPEAKER_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000001"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_AUDIO_FLUENCE_PRO -->
+ <graph_kv key="0xAD000000" value="0xAD000004"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL">
+ <!-- DEVICETX - SPEAKER_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000001"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOICE_FLUENCE_NN_SM -->
+ <graph_kv key="0xAD000000" value="0xAD00000F"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL" CustomConfig="dual-mic">
+ <!-- DEVICETX - SPEAKER_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000001"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOICE_FLUENCE_ENDFIRE -->
+ <graph_kv key="0xAD000000" value="0xAD000009"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL" CustomConfig="quad-mic">
+ <!-- DEVICETX - SPEAKER_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000001"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOICE_FLUENCE_PRO -->
+ <graph_kv key="0xAD000000" value="0xAD00000A"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL" CustomConfig="nn-sm">
+ <!-- DEVICETX - SPEAKER_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000001"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOICE_FLUENCE_NN_SM -->
+ <graph_kv key="0xAD000000" value="0xAD00000F"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOIP_TX">
+ <!-- DEVICETX - SPEAKER_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000001"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOIP_FLUENCE_NN_SM -->
+ <graph_kv key="0xAD000000" value="0xAD000010"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOIP_TX" CustomConfig="dual-mic">>
+ <!-- DEVICETX - SPEAKER_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000001"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOIP_FLUENCE_ENDFIRE -->
+ <graph_kv key="0xAD000000" value="0xAD00000D"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOIP_TX" CustomConfig="quad-mic">>
+ <!-- DEVICETX - SPEAKER_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000001"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOIP_FLUENCE_PRO -->
+ <graph_kv key="0xAD000000" value="0xAD000005"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOIP_TX" CustomConfig="nn-sm">>
+ <!-- DEVICETX - SPEAKER_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000001"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOIP_FLUENCE_NN_SM -->
+ <graph_kv key="0xAD000000" value="0xAD000010"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_LOOPBACK" SubType="PAL_STREAM_LOOPBACK_HFP_TX">
+ <!-- DEVICETX - SPEAKER_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000001"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_HFP_SINK_FLUENCE_SMECNS -->
+ <graph_kv key="0xAD000000" value="0xAD000006"/>
+ </keys_and_values>
+ </devicepp>
+ <!-- IN BT_SCO_Headset DevicePPs -->
+ <devicepp id="PAL_DEVICE_IN_BLUETOOTH_SCO_HEADSET">
+ <keys_and_values StreamType="PAL_STREAM_VOICE_RECOGNITION">
+ <!-- DEVICETX - BT_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000002"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOICE_RECOGNITION -->
+ <graph_kv key="0xAD000000" value="0xAD000017"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_DEEP_BUFFER">
+ <!-- DEVICETX - BT_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000002"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_AUDIO_FLUENCE_SMECNS -->
+ <graph_kv key="0xAD000000" value="0xAD000002"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL">
+ <!-- DEVICETX - BT_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000002"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOICE_FLUENCE_SMECNS -->
+ <graph_kv key="0xAD000000" value="0xAD000008"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOIP_TX">
+ <!-- DEVICETX - BT_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000002"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOIP_FLUENCE_SMECNS -->
+ <graph_kv key="0xAD000000" value="0xAD000007"/>
+ </keys_and_values>
+ </devicepp>
+ <!--IN Wired headset_IN DevicePPs -->
+ <devicepp id="PAL_DEVICE_IN_WIRED_HEADSET">
+ <keys_and_values StreamType="PAL_STREAM_VOICE_RECOGNITION">
+ <!-- DEVICETX - HEADPHONE_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000003"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOICE_RECOGNITION -->
+ <graph_kv key="0xAD000000" value="0xAD000017"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_DEEP_BUFFER">
+ <!-- DEVICETX - HEADPHONE_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000003"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_AUDIO_FLUENCE_SMECNS -->
+ <graph_kv key="0xAD000000" value="0xAD000002"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_DEEP_BUFFER" CustomConfig="camcorder-mic,camcorder-mic-inv">
+ <!-- DEVICETX - HEADPHONE_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000003"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_CAMERA_MODE -->
+ <graph_kv key="0xAD000000" value="0xAD000101"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL">
+ <!-- DEVICETX - HEADPHONE_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000003"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOICE_FLUENCE_SMECNS -->
+ <graph_kv key="0xAD000000" value="0xAD000008"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL" CustomConfig="tty-tx-fnnsm">
+ <!-- DEVICETX - HEADPHONE_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000003"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOICE_FLUENCE_NN_SM -->
+ <graph_kv key="0xAD000000" value="0xAD00000F"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOIP_TX">
+ <!-- DEVICETX - HEADPHONE_MIC -->
+ <graph_kv key="0xA3000000" value="0xA3000003"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOIP_FLUENCE_SMECNS -->
+ <graph_kv key="0xAD000000" value="0xAD000007"/>
+ </keys_and_values>
+ </devicepp>
+ <!-- IN USB device and USB headset DevicePPs -->
+ <devicepp id="PAL_DEVICE_IN_USB_DEVICE,PAL_DEVICE_IN_USB_HEADSET">
+ <keys_and_values StreamType="PAL_STREAM_VOICE_RECOGNITION">
+ <!-- DEVICETX - USB_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000005"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOICE_RECOGNITION -->
+ <graph_kv key="0xAD000000" value="0xAD000017"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_DEEP_BUFFER">
+ <!-- DEVICETX - USB_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000005"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_AUDIO_FLUENCE_SMECNS -->
+ <graph_kv key="0xAD000000" value="0xAD000002"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_DEEP_BUFFER" CustomConfig="camcorder-mic,camcorder-mic-inv">
+ <!-- DEVICETX - USB_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000005"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_CAMERA_MODE -->
+ <graph_kv key="0xAD000000" value="0xAD000101"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_CALL">
+ <!-- DEVICETX - USB_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000005"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOICE_FLUENCE_SMECNS -->
+ <graph_kv key="0xAD000000" value="0xAD000008"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOIP_TX">
+ <!-- DEVICETX - USB_TX -->
+ <graph_kv key="0xA3000000" value="0xA3000005"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOIP_FLUENCE_SMECNS -->
+ <graph_kv key="0xAD000000" value="0xAD000007"/>
+ </keys_and_values>
+ </devicepp>
+ <!-- IN Handset_VA_MIC DevicePPs -->
+ <devicepp id="PAL_DEVICE_IN_HANDSET_VA_MIC">
+ <keys_and_values StreamType="PAL_STREAM_ACD,PAL_STREAM_VOICE_UI,PAL_STREAM_SENSOR_PCM_DATA"
+ DevicePPType="SINGLE_MIC_16KHZ_16BIT_FFECNS,DUAL_MIC_16KHZ_16BIT_FFECNS,TRI_MIC_16KHZ_16BIT_FFECNS,QUAD_MIC_16KHZ_16BIT_FFECNS">
+ <!-- DEVICETX - HANDSETMIC_VA -->
+ <graph_kv key="0xA3000000" value="0xA3000006"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_FLUENCE_FFECNS -->
+ <graph_kv key="0xAD000000" value="0xAD000001"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_SENSOR_PCM_DATA"
+ DevicePPType="SINGLE_MIC_16KHZ_16BIT_FFEC">
+ <!-- DEVICETX - HANDSETMIC_VA -->
+ <graph_kv key="0xA3000000" value="0xA3000006"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_FLUENCE_FFEC -->
+ <graph_kv key="0xAD000000" value="0xAD000012"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_UI,PAL_STREAM_SENSOR_PCM_DATA"
+ DevicePPType="SINGLE_MIC_16KHZ_16BIT_FFNS,DUAL_MIC_16KHZ_16BIT_FFNS,TRI_MIC_16KHZ_16BIT_FFNS,QUAD_MIC_16KHZ_16BIT_FFNS">
+ <!-- DEVICETX - HANDSETMIC_VA -->
+ <graph_kv key="0xA3000000" value="0xA3000006"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_FLUENCE_FFNS -->
+ <graph_kv key="0xAD000000" value="0xAD00000B"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_UI,PAL_STREAM_SENSOR_PCM_DATA"
+ DevicePPType="SINGLE_MIC_16KHZ_16BIT_RAW_LPI,DUAL_MIC_16KHZ_16BIT_RAW_LPI">
+ <!-- DEVICETX - HANDSETMIC_VA -->
+ <graph_kv key="0xA3000000" value="0xA3000006"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_RAW_LPI -->
+ <graph_kv key="0xAD000000" value="0xAD00000C"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_UI"
+ DevicePPType="SINGLE_MIC_16KHZ_16BIT_RAW_NLPI,DUAL_MIC_16KHZ_16BIT_RAW_NLPI">
+ <!-- DEVICETX - HANDSETMIC_VA -->
+ <graph_kv key="0xA3000000" value="0xA3000006"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_RAW_NLPI -->
+ <graph_kv key="0xAD000000" value="0xAD00000E"/>
+ </keys_and_values>
+ </devicepp>
+ <!-- IN Headset VA MIC DevicePPs -->
+ <devicepp id="PAL_DEVICE_IN_HEADSET_VA_MIC">
+ <keys_and_values StreamType="PAL_STREAM_ACD,PAL_STREAM_VOICE_UI,PAL_STREAM_SENSOR_PCM_DATA"
+ DevicePPType="SINGLE_MIC_16KHZ_16BIT_HEADSET_FFECNS">
+ <!-- DEVICETX - HEADSETMIC_VA -->
+ <graph_kv key="0xA3000000" value="0xA3000007"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_FLUENCE_FFECNS -->
+ <graph_kv key="0xAD000000" value="0xAD000001"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_SENSOR_PCM_DATA"
+ DevicePPType="SINGLE_MIC_16KHZ_16BIT_HEADSET_FFEC">
+ <!-- DEVICETX - HEADSETMIC_VA -->
+ <graph_kv key="0xA3000000" value="0xA3000007"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_FLUENCE_FFEC -->
+ <graph_kv key="0xAD000000" value="0xAD000012"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_UI,PAL_STREAM_SENSOR_PCM_DATA"
+ DevicePPType="SINGLE_MIC_16KHZ_16BIT_HEADSET_FFNS">
+ <!-- DEVICETX - HEADSETMIC_VA -->
+ <graph_kv key="0xA3000000" value="0xA3000007"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_FLUENCE_FFNS -->
+ <graph_kv key="0xAD000000" value="0xAD00000B"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_UI,PAL_STREAM_SENSOR_PCM_DATA"
+ DevicePPType="SINGLE_MIC_16KHZ_16BIT_HEADSET_RAW_LPI">
+ <!-- DEVICETX - HEADSETMIC_VA -->
+ <graph_kv key="0xA3000000" value="0xA3000007"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_RAW_LPI -->
+ <graph_kv key="0xAD000000" value="0xAD00000C"/>
+ </keys_and_values>
+ <keys_and_values StreamType="PAL_STREAM_VOICE_UI"
+ DevicePPType="SINGLE_MIC_16KHZ_16BIT_HEADSET_RAW_NLPI">
+ <!-- DEVICETX - HEADSETMIC_VA -->
+ <graph_kv key="0xA3000000" value="0xA3000007"/>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_RAW_NLPI -->
+ <graph_kv key="0xAD000000" value="0xAD00000E"/>
+ </keys_and_values>
+ </devicepp>
+ <!-- IN BT A2DP DevicePPs -->
+ <devicepp id="PAL_DEVICE_IN_BLUETOOTH_A2DP">
+ <keys_and_values StreamType="PAL_STREAM_VOIP_TX" >
+ <!-- DEVICEPP_TX - DEVICEPP_TX_VOIP_FLUENCE_SMECNS -->
+ <graph_kv key="0xAD000000" value="0xAD000007"/>
+ </keys_and_values>
+ </devicepp>
+ <!-- IN Ultrasound DevicePPs -->
+ <devicepp id="PAL_DEVICE_IN_ULTRASOUND_MIC">
+ <keys_and_values>
+ <!-- DEVICEPP_TX - DEVICEPP_TX_ULTRASOUND_DETECTOR -->
+ <graph_kv key="0xAD000000" value="0xAD000011"/>
+ </keys_and_values>
+ </devicepp>
+ <!-- OUT Ultrasound DevicePPs -->
+ <devicepp id="PAL_DEVICE_OUT_ULTRASOUND">
+ <keys_and_values>
+ <!-- DEVICEPP_RX - DEVICEPP_RX_ULTRASOUND_GENERATOR -->
+ <graph_kv key="0xAC000000" value="0xAC000006"/>
+ </keys_and_values>
+ </devicepp>
+ </devicepps>
+</graph_key_value_pair_info>