summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2023-12-08 13:13:48 -0800
committerXin Li <delphij@google.com>2023-12-08 13:13:48 -0800
commit468c8b3d40a93c2b1b6c1be53fc40f9fd9e77d8f (patch)
tree4caf5731f328e5cc1872c092a6754eaecf625bb8
parent29713d8b373d97be4dd49edc796d4d79623c17f8 (diff)
parent0a84ad7caa009e2b9e0a8fcb4e4325fb4df5e289 (diff)
downloadtangorpro-468c8b3d40a93c2b1b6c1be53fc40f9fd9e77d8f.tar.gz
Merge Android 14 QPR1
Merged-In: I17fe20380b327b4af1734a761bac585fa5d16eaf Bug: 315507370 Change-Id: I378db4d2e3cbfbaa271fd8cc07c5015d6c882d1f
-rw-r--r--audio/tangorpro/aidl_config/audio_platform_configuration_aidl.xml76
-rw-r--r--audio/tangorpro/aidl_config/audio_policy_volumes.xml227
-rw-r--r--audio/tangorpro/aidl_config/mixer_paths_aidl.xml1408
-rw-r--r--audio/tangorpro/audio-tables.mk21
-rw-r--r--audio/tangorpro/config/audio_effects.xml2
-rw-r--r--audio/tangorpro/config/audio_platform_configuration.xml23
-rw-r--r--audio/tangorpro/config/audio_policy_configuration.xml24
-rw-r--r--audio/tangorpro/config/audio_policy_configuration_a2dp_offload_disabled.xml10
-rw-r--r--audio/tangorpro/config/mixer_paths.xml6
-rw-r--r--audio/tangorpro/tuning/apmg3/downlink_dock_config.pbbin0 -> 371 bytes
-rw-r--r--audio/tangorpro/tuning/apmg3/downlink_headset_config.pbbin0 -> 72 bytes
-rw-r--r--audio/tangorpro/tuning/apmg3/downlink_tablet_stereo_config.pbbin0 -> 371 bytes
-rw-r--r--audio/tangorpro/tuning/apmg3/uplink_dock_aec_off_config.pbbin0 -> 2078 bytes
-rw-r--r--audio/tangorpro/tuning/apmg3/uplink_dock_config.pbbin0 -> 2078 bytes
-rw-r--r--audio/tangorpro/tuning/apmg3/uplink_headset_aec_off_config.pbbin0 -> 2069 bytes
-rw-r--r--audio/tangorpro/tuning/apmg3/uplink_headset_config.pbbin0 -> 2069 bytes
-rw-r--r--audio/tangorpro/tuning/apmg3/uplink_tablet_stereo_aec_off_config.pbbin0 -> 2833 bytes
-rw-r--r--audio/tangorpro/tuning/apmg3/uplink_tablet_stereo_config.pbbin0 -> 2833 bytes
-rw-r--r--audio/tangorpro/tuning/waves/waves_config.ini21
-rw-r--r--audio/tangorpro/tuning/waves/waves_preset.mpsbin44398 -> 71008 bytes
-rw-r--r--bluetooth/syna_default.mk21
-rw-r--r--conf/init.tangorpro.rc3
-rw-r--r--device-tangorpro.mk36
-rw-r--r--manifest.xml10
-rw-r--r--powerhint.json370
-rw-r--r--tangorpro/overlay/frameworks/base/core/res/res/values/config.xml6
-rw-r--r--wifi/BoardConfig-wifi.mk3
27 files changed, 1886 insertions, 381 deletions
diff --git a/audio/tangorpro/aidl_config/audio_platform_configuration_aidl.xml b/audio/tangorpro/aidl_config/audio_platform_configuration_aidl.xml
new file mode 100644
index 0000000..912b4aa
--- /dev/null
+++ b/audio/tangorpro/aidl_config/audio_platform_configuration_aidl.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- Copyright (c) 2023, 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, -->
+<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<audio_platform_configuration>
+ <product_lists>
+ <product name="Blackbird">
+ <id value="18d1:5033" />
+ </product>
+ <product name="Condor">
+ <id value="18d1:5034" />
+ </product>
+ <product name="Condor_Sprint">
+ <id value="18d1:5038" />
+ </product>
+ <product name="Condor_Sprint2">
+ <id value="18d1:5036" />
+ </product>
+ </product_lists>
+
+ <features>
+ <feature name="ThermalThrottle=Type:SKIN,Name:VIRTUAL-SKIN" />
+ <feature
+ name="BatteryThrottle=Type:BCL_VOLTAGE,Name:BCL_AUDIO_BAACL,Strategy:MediaSpeakerAndScreenOn" />
+ <feature
+ name="PlaybackThermalThrottle=PollWaitMs:20000,ThermistorName:VIRTUAL-SKIN,ThermistorType:SKIN,ThrottlingSeverity:MODERATE" />
+ </features>
+
+ <!-- The voip_db_mapping: format is "device="x" value="f1,f2..." -->
+ <!-- device should be "handset","speaker","usb","bt","bt_hearing_aid" or "digital_dock" -->
+ <voip_db_mapping>
+ <voip_path device="usb" value="0.01,0.02,0.04,0.1,0.21,0.47,1.0" />
+ </voip_db_mapping>
+
+ <!-- The device_builder: format is "type="x" codec_name="y" argu="z". name and argu are optional. -->
+ <device_builder>
+ <device type="bt" />
+ <device type="usb" argu="MaxSamplingRate=96000,UnsupportedFormat=S24_LE" />
+ <device type="speaker" codec_name="cs35l41" argu="SpeakerNum=4,Rotation,AcousticShockProtection" />
+ </device_builder>
+
+ <!-- The spatial_capture_conditions: format is "use_case="x" audio_source="y" -->
+ <!-- use_case defines in aidl/audio/usecase/use_case.h, audio_source is definied in aidl interfaces. -->
+ <spatial_capture_conditions>
+ <conditions use_case="primary-capture" audio_source="MIC,CAMCORDER,VOICE_RECOGNITION" />
+ </spatial_capture_conditions>
+
+ <!-- The tuner_builder: format is "type="x" codec_name="y" argu="z". argu is optional. -->
+ <tuner_builder>
+ <tuner type="playback" name="waves" argu="Sink=SPK ThermistorsName=VIRTUAL-SKIN" />
+ <tuner type="telephony" name="fortemedia" argu="VoIP_DLCHs=SPK:2,USB:2 VoIP_Rate=32000 BOOST_USB_SWB_CLK=y CCA=y" />
+ <tuner type="capture" name="gs_capture" />
+ </tuner_builder>
+</audio_platform_configuration>
diff --git a/audio/tangorpro/aidl_config/audio_policy_volumes.xml b/audio/tangorpro/aidl_config/audio_policy_volumes.xml
new file mode 100644
index 0000000..dfba47a
--- /dev/null
+++ b/audio/tangorpro/aidl_config/audio_policy_volumes.xml
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2023 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.
+-->
+<!-- Volume section defines a volume curve for a given use case and device category.
+It contains a list of points of this curve expressing the attenuation in Millibels for a given
+volume index from 0 to 100.
+<volume stream=”AUDIO_STREAM_MUSIC” deviceCategory=””>
+<point>0,-9600</point>
+<point>100,0</point>
+</volume>
+-->
+
+<volumes>
+ <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEADSET">
+ <point>0,-4200</point>
+ <point>33,-2800</point>
+ <point>66,-1400</point>
+ <point>100,0</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_SPEAKER">
+ <point>0,-2400</point>
+ <point>33,-1600</point>
+ <point>66,-800</point>
+ <point>100,0</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EARPIECE">
+ <point>0,-2400</point>
+ <point>33,-1600</point>
+ <point>66,-800</point>
+ <point>100,0</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_HEADSET">
+ <point>1,-3000</point>
+ <point>33,-2600</point>
+ <point>66,-2200</point>
+ <point>100,-1800</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_SPEAKER">
+ <point>1,-4700</point>
+ <point>33,-3500</point>
+ <point>66,-2350</point>
+ <point>100,-1250</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_HEADSET"
+ ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_SPEAKER">
+ <point>1,-3350</point>
+ <point>33,-2100</point>
+ <point>66,-1000</point>
+ <point>100,0</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_HEADSET"
+ ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_SPEAKER"
+ ref="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_HEADSET"
+ ref="DEFAULT_NON_MUTABLE_HEADSET_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_SPEAKER">
+ <point>0,-4800</point>
+ <point>33,-2050</point>
+ <point>66,-800</point>
+ <point>100,0</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="DEFAULT_NON_MUTABLE_EARPIECE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_NON_MUTABLE_EXT_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_HEADSET"
+ ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_SPEAKER">
+ <point>1,-3800</point>
+ <point>33,-2600</point>
+ <point>66,-1400</point>
+ <point>100,0</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_HEADSET">
+ <point>0,-4200</point>
+ <point>33,-2800</point>
+ <point>66,-1400</point>
+ <point>100,0</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_SPEAKER">
+ <point>0,-2400</point>
+ <point>33,-1600</point>
+ <point>66,-800</point>
+ <point>100,0</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_EARPIECE">
+ <point>0,-4200</point>
+ <point>33,-2800</point>
+ <point>66,-1400</point>
+ <point>100,0</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_HEADSET">
+ <point>1,-3000</point>
+ <point>33,-2600</point>
+ <point>66,-2200</point>
+ <point>100,-1800</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_SPEAKER">
+ <point>1,-4700</point>
+ <point>33,-3500</point>
+ <point>66,-2350</point>
+ <point>100,-1250</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_HEADSET">
+ <point>1,-3000</point>
+ <point>33,-2600</point>
+ <point>66,-2200</point>
+ <point>100,-1800</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_SPEAKER">
+ <point>1,-5500</point>
+ <point>33,-3650</point>
+ <point>66,-2700</point>
+ <point>100,-1800</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_HEADSET"
+ ref="SILENT_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_SPEAKER"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="SILENT_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="SILENT_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="SILENT_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_HEADSET"
+ ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_SPEAKER"
+ ref="DEFAULT_NON_MUTABLE_SPEAKER_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_HEADSET"
+ ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_SPEAKER"
+ ref="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_HEADSET"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_SPEAKER"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_HEADSET"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_SPEAKER"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+</volumes>
+
diff --git a/audio/tangorpro/aidl_config/mixer_paths_aidl.xml b/audio/tangorpro/aidl_config/mixer_paths_aidl.xml
new file mode 100644
index 0000000..2d051b8
--- /dev/null
+++ b/audio/tangorpro/aidl_config/mixer_paths_aidl.xml
@@ -0,0 +1,1408 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- Copyright (c) 2023, 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, -->
+<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<mixer>
+ <!-- Initial default value of ALSA command -->
+ <!-- PCM timeout -->
+ <ctl name="PCM Stream Wait Time in MSec" value="100" />
+ <ctl name="Voice PCM Stream Wait Time in MSec" value="500" />
+
+ <!-- Enable it when AOC is ready to trim delay and padding -->
+ <ctl name="Gapless Offload Enable" value="1" />
+
+ <!-- TDM 0 setting -->
+ <ctl name="TDM_0_RX Chan" value="Four" />
+ <ctl name="TDM_0_RX Format" value="S32_LE" />
+ <ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
+ <ctl name="TDM_0_TX Chan" value="Four" />
+ <ctl name="TDM_0_TX Format" value="S32_LE" />
+ <ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
+
+ <!-- Cirrus default 96K -->
+ <ctl name="Default 96K" value="1"/>
+ <ctl name="R Default 96K" value="1"/>
+ <ctl name="L2 Default 96K" value="1"/>
+ <ctl name="R2 Default 96K" value="1"/>
+
+
+ <!-- Cirrus Booster Amp TDM slot assignment-->
+ <!-- RX slot -->
+ <ctl name="ASPRX1 Slot Position" value="0"/>
+ <ctl name="ASPRX2 Slot Position" value="1"/>
+ <ctl name="R ASPRX1 Slot Position" value="1"/>
+ <ctl name="R ASPRX2 Slot Position" value="0"/>
+ <ctl name="L2 ASPRX1 Slot Position" value="0"/>
+ <ctl name="L2 ASPRX2 Slot Position" value="1"/>
+ <ctl name="R2 ASPRX1 Slot Position" value="1"/>
+ <ctl name="R2 ASPRX2 Slot Position" value="0"/>
+ <!-- TX slot -->
+ <ctl name="ASPTX1 Slot Position" value="0"/>
+ <ctl name="R ASPTX1 Slot Position" value="1"/>
+ <ctl name="L2 ASPTX1 Slot Position" value="2"/>
+ <ctl name="R2 ASPTX1 Slot Position" value="3"/>
+ <ctl name="ASPTX2 Slot Position" value="4"/>
+ <ctl name="R ASPTX2 Slot Position" value="5"/>
+ <ctl name="L2 ASPTX2 Slot Position" value="6"/>
+ <ctl name="R2 ASPTX2 Slot Position" value="7"/>
+ <ctl name="ASPTX3 Slot Position" value="4"/>
+ <ctl name="R ASPTX3 Slot Position" value="5"/>
+ <ctl name="L2 ASPTX3 Slot Position" value="6"/>
+ <ctl name="R2 ASPTX3 Slot Position" value="7"/>
+ <ctl name="ASPTX4 Slot Position" value="4"/>
+ <ctl name="R ASPTX4 Slot Position" value="5"/>
+ <ctl name="L2 ASPTX4 Slot Position" value="6"/>
+ <ctl name="R2 ASPTX4 Slot Position" value="7"/>
+
+ <!-- Cirrus Booster Amp DRE and VBST config-->
+ <ctl name="VBSTMON Output Switch" value="1"/>
+ <ctl name="R VBSTMON Output Switch" value="1"/>
+ <ctl name="L2 VBSTMON Output Switch" value="1"/>
+ <ctl name="R2 VBSTMON Output Switch" value="1"/>
+ <ctl name="DRE DRE Switch" value="1"/>
+ <ctl name="R DRE DRE Switch" value="1"/>
+ <ctl name="L2 DRE DRE Switch" value="1"/>
+ <ctl name="R2 DRE DRE Switch" value="1"/>
+
+ <!-- Cirrus Booster Amp Output Gain -->
+ <ctl name="AMP PCM Gain" value="17"/>
+ <ctl name="R AMP PCM Gain" value="17"/>
+ <ctl name="L2 AMP PCM Gain" value="17"/>
+ <ctl name="R2 AMP PCM Gain" value="17"/>
+ <ctl name="Digital PCM Volume" value="769"/>
+ <ctl name="R Digital PCM Volume" value="769"/>
+ <ctl name="L2 Digital PCM Volume" value="769"/>
+ <ctl name="R2 Digital PCM Volume" value="769"/>
+
+ <!-- Cirrus Booster Amp Power -->
+ <ctl name="Main AMP Enable Switch" value="0"/>
+ <ctl name="R Main AMP Enable Switch" value="0"/>
+ <ctl name="L2 Main AMP Enable Switch" value="0"/>
+ <ctl name="R2 Main AMP Enable Switch" value="0"/>
+
+ <!-- Cirrus Booster mode -->
+ <ctl name="PCM Source" value="DSP"/>
+ <ctl name="R PCM Source" value="DSP"/>
+ <ctl name="L2 PCM Source" value="DSP"/>
+ <ctl name="R2 PCM Source" value="DSP"/>
+
+ <ctl name="DSP1 Firmware" value="Protection"/>
+ <ctl name="R DSP1 Firmware" value="Protection"/>
+ <ctl name="L2 DSP1 Firmware" value="Protection"/>
+ <ctl name="R2 DSP1 Firmware" value="Protection"/>
+ <ctl name="DSP RX1 Source" value="ASPRX1"/>
+ <ctl name="DSP RX2 Source" value="ASPRX2"/>
+ <ctl name="R DSP RX1 Source" value="ASPRX1"/>
+ <ctl name="R DSP RX2 Source" value="ASPRX2"/>
+ <ctl name="L2 DSP RX1 Source" value="ASPRX1"/>
+ <ctl name="L2 DSP RX2 Source" value="ASPRX2"/>
+ <ctl name="R2 DSP RX1 Source" value="ASPRX1"/>
+ <ctl name="R2 DSP RX2 Source" value="ASPRX2"/>
+ <ctl name="Boost Peak Current Limit" value="3.50A"/>
+ <ctl name="R Boost Peak Current Limit" value="3.50A"/>
+ <ctl name="L2 Boost Peak Current Limit" value="3.50A"/>
+ <ctl name="R2 Boost Peak Current Limit" value="3.50A"/>
+
+ <!-- Cirrus ASP TX source -->
+ <ctl name="ASP TX1 Source" value="VMON" />
+ <ctl name="R ASP TX1 Source" value="VMON" />
+ <ctl name="L2 ASP TX1 Source" value="VMON" />
+ <ctl name="R2 ASP TX1 Source" value="VMON" />
+ <ctl name="ASP TX2 Source" value="Zero" />
+ <ctl name="R ASP TX2 Source" value="Zero" />
+ <ctl name="L2 ASP TX2 Source" value="Zero" />
+ <ctl name="R2 ASP TX2 Source" value="Zero" />
+ <ctl name="ASP TX3 Source" value="Zero" />
+ <ctl name="R ASP TX3 Source" value="Zero" />
+ <ctl name="L2 ASP TX3 Source" value="Zero" />
+ <ctl name="R2 ASP TX3 Source" value="Zero" />
+ <ctl name="ASP TX4 Source" value="Zero" />
+ <ctl name="R ASP TX4 Source" value="Zero" />
+ <ctl name="L2 ASP TX4 Source" value="Zero" />
+ <ctl name="R2 ASP TX4 Source" value="Zero" />
+
+ <!-- audio RX route initial/default value -->
+ <ctl name="TDM_0_RX Mixer EP1" value="0" />
+ <ctl name="TDM_0_RX Mixer EP2" value="0" />
+ <ctl name="TDM_0_RX Mixer EP3" value="0" />
+ <ctl name="TDM_0_RX Mixer EP4" value="0" />
+ <ctl name="TDM_0_RX Mixer EP5" value="0" />
+ <ctl name="TDM_0_RX Mixer EP6" value="0" />
+ <ctl name="TDM_0_RX Mixer EP7" value="0" />
+ <ctl name="TDM_0_RX Mixer EP8" value="0" />
+ <ctl name="TDM_0_RX Mixer NoHost1" value="0" />
+ <ctl name="TDM_0_RX Mixer VOIP" value="0" />
+ <ctl name="TDM_0_RX Mixer RAW" value="0" />
+ <ctl name="TDM_0_RX Mixer IMSV" value="0" />
+ <ctl name="TDM_0_RX Mixer US" value="0"/>
+
+ <ctl name="TDM_1_RX Mixer EP1" value="0" />
+ <ctl name="TDM_1_RX Mixer EP2" value="0" />
+ <ctl name="TDM_1_RX Mixer EP3" value="0" />
+ <ctl name="TDM_1_RX Mixer EP4" value="0" />
+ <ctl name="TDM_1_RX Mixer EP5" value="0" />
+ <ctl name="TDM_1_RX Mixer EP6" value="0" />
+ <ctl name="TDM_1_RX Mixer EP7" value="0" />
+ <ctl name="TDM_1_RX Mixer EP8" value="0" />
+ <ctl name="TDM_1_RX Mixer NoHost1" value="0" />
+
+ <ctl name="USB_RX Mixer EP1" value="0" />
+ <ctl name="USB_RX Mixer EP2" value="0" />
+ <ctl name="USB_RX Mixer EP3" value="0" />
+ <ctl name="USB_RX Mixer EP4" value="0" />
+ <ctl name="USB_RX Mixer EP5" value="0" />
+ <ctl name="USB_RX Mixer EP6" value="0" />
+ <ctl name="USB_RX Mixer EP7" value="0" />
+ <ctl name="USB_RX Mixer NoHost1" value="0" />
+ <ctl name="USB_RX Mixer VOIP" value="0" />
+ <ctl name="USB_RX Mixer HIFI" value="0" />
+ <ctl name="USB_RX Mixer RAW" value="0" />
+ <ctl name="USB_RX Mixer IMSV" value="0" />
+
+ <ctl name="BT_RX Mixer EP1" value="0" />
+ <ctl name="BT_RX Mixer EP2" value="0" />
+ <ctl name="BT_RX Mixer EP3" value="0" />
+ <ctl name="BT_RX Mixer EP4" value="0" />
+ <ctl name="BT_RX Mixer EP5" value="0" />
+ <ctl name="BT_RX Mixer EP6" value="0" />
+ <ctl name="BT_RX Mixer EP7" value="0" />
+ <ctl name="BT_RX Mixer NoHost1" value="0" />
+ <ctl name="BT_RX Mixer VOIP" value="0" />
+ <ctl name="BT_RX Mixer RAW" value="0" />
+ <ctl name="BT_RX Mixer IMSV" value="0" />
+
+ <ctl name="INCALL_RX Mixer EP1" value="0" />
+ <ctl name="INCALL_RX Mixer EP2" value="0" />
+ <ctl name="INCALL_RX Mixer EP3" value="0" />
+ <ctl name="INCALL_RX Mixer EP4" value="0" />
+ <ctl name="INCALL_RX Mixer EP5" value="0" />
+ <ctl name="INCALL_RX Mixer EP6" value="0" />
+ <ctl name="INCALL_RX Mixer EP7" value="0" />
+ <ctl name="INCALL_RX Mixer NoHost1" value="0" />
+
+ <ctl name="SINK_IDS" id="0" value="-1" />
+ <ctl name="SINK_IDS" id="1" value="-1" />
+
+ <!-- audio TX route initial/default value -->
+ <ctl name="EP1 TX Mixer TDM_0_TX" value="0" />
+ <ctl name="EP2 TX Mixer TDM_0_TX" value="0" />
+ <ctl name="EP3 TX Mixer TDM_0_TX" value="0" />
+ <ctl name="EP4 TX Mixer TDM_0_TX" value="0" />
+ <ctl name="EP5 TX Mixer TDM_0_TX" value="0" />
+ <ctl name="EP6 TX Mixer TDM_0_TX" value="0" />
+ <ctl name="NoHost1 TX Mixer TDM_0_TX" value="0" />
+
+ <ctl name="EP1 TX Mixer TDM_1_TX" value="0" />
+ <ctl name="EP2 TX Mixer TDM_1_TX" value="0" />
+ <ctl name="EP3 TX Mixer TDM_1_TX" value="0" />
+ <ctl name="EP4 TX Mixer TDM_1_TX" value="0" />
+ <ctl name="EP5 TX Mixer TDM_1_TX" value="0" />
+ <ctl name="EP6 TX Mixer TDM_1_TX" value="0" />
+ <ctl name="NoHost1 TX Mixer TDM_1_TX" value="0" />
+
+ <ctl name="EP1 TX Mixer INTERNAL_MIC_TX" value="0" />
+ <ctl name="EP2 TX Mixer INTERNAL_MIC_TX" value="0" />
+ <ctl name="EP3 TX Mixer INTERNAL_MIC_TX" value="0" />
+ <ctl name="EP4 TX Mixer INTERNAL_MIC_TX" value="0" />
+ <ctl name="EP5 TX Mixer INTERNAL_MIC_TX" value="0" />
+ <ctl name="EP6 TX Mixer INTERNAL_MIC_TX" value="0" />
+ <ctl name="NoHost1 TX Mixer INTERNAL_MIC_TX" value="0" />
+ <ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="0" />
+
+ <ctl name="EP1 TX Mixer BT_TX" value="0" />
+ <ctl name="EP2 TX Mixer BT_TX" value="0" />
+ <ctl name="EP3 TX Mixer BT_TX" value="0" />
+ <ctl name="EP4 TX Mixer BT_TX" value="0" />
+ <ctl name="EP5 TX Mixer BT_TX" value="0" />
+ <ctl name="EP6 TX Mixer BT_TX" value="0" />
+ <ctl name="NoHost1 TX Mixer BT_TX" value="0" />
+ <ctl name="VOIP TX Mixer BT_TX" value="0" />
+
+ <ctl name="EP1 TX Mixer USB_TX" value="0" />
+ <ctl name="EP2 TX Mixer USB_TX" value="0" />
+ <ctl name="EP3 TX Mixer USB_TX" value="0" />
+ <ctl name="EP4 TX Mixer USB_TX" value="0" />
+ <ctl name="EP5 TX Mixer USB_TX" value="0" />
+ <ctl name="EP6 TX Mixer USB_TX" value="0" />
+ <ctl name="NoHost1 TX Mixer USB_TX" value="0" />
+ <ctl name="VOIP TX Mixer USB_TX" value="0" />
+
+ <ctl name="EP1 TX Mixer INCALL_TX" value="0" />
+ <ctl name="EP2 TX Mixer INCALL_TX" value="0" />
+ <ctl name="EP3 TX Mixer INCALL_TX" value="0" />
+ <ctl name="EP4 TX Mixer INCALL_TX" value="0" />
+ <ctl name="EP5 TX Mixer INCALL_TX" value="0" />
+ <ctl name="EP6 TX Mixer INCALL_TX" value="0" />
+ <ctl name="NoHost1 TX Mixer INCALL_TX" value="0" />
+
+ <ctl name="EP5 TX Mixer INTERNAL_MIC_US_TX" value="0"/>
+ <ctl name="EP4 TX Mixer I2S_2_TX" value="0" />
+
+ <!-- AoC Mic setting -->
+ <ctl name="MIC DC Blocker" value="1" />
+ <ctl name="MIC HW Gain At High Power Mode (cB)" value="0" />
+ <ctl name="MIC Record Soft Gain (dB)" value="-40" />
+
+ <!-- USB setting v2 -->
+ <ctl name="USB Bus ID v2" value="2" />
+ <ctl name="USB Dev ID v2" value="2" />
+ <ctl name="USB Playback EP ID v2" value="1" />
+ <ctl name="USB Playback FORMAT v2" value="0" />
+ <ctl name="USB Playback SR v2" value="48000" />
+ <ctl name="USB Playback CH v2" value="2" />
+ <ctl name="USB Playback BW v2" value="24" />
+ <ctl name="USB Capture EP ID v2" value="1" />
+ <ctl name="USB Capture FORMAT v2" value="0" />
+ <ctl name="USB Capture SR v2" value="48000" />
+ <ctl name="USB Capture CH v2" value="1" />
+ <ctl name="USB Capture BW v2" value="16" />
+
+ <ctl name="AoC Modem Downlink ASRC Mode" value="ASP_ON" />
+ <ctl name="Voice Call Mic Source" value="Builtin_MIC" />
+ <ctl name="Mic Spatial Module Enable" value="0" />
+ <ctl name="Audio Capture Eraser Enable" value="0" />
+ <ctl name="Hotword Tap Enable" value="0" />
+
+ <!-- audio PDM mic default state -->
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="-1" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="-1" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
+ <ctl name="Audio Capture Mic Source" value="Builtin_MIC" />
+
+ <!-- audio Ultrasound mic default state -->
+ <ctl name="BUILDIN US MIC ID CAPTURE LIST" id="0" value="-1"/>
+ <ctl name="BUILDIN US MIC ID CAPTURE LIST" id="1" value="-1"/>
+ <ctl name="BUILDIN US MIC ID CAPTURE LIST" id="2" value="-1"/>
+ <ctl name="BUILDIN US MIC ID CAPTURE LIST" id="3" value="-1"/>
+
+ <!-- sidetone controls -->
+ <ctl name="Sidetone Enable" value="0" />
+ <ctl name="Sidetone Volume" value="-96" />
+ <ctl name="Sidetone Selected Mic" value="0" />
+ <ctl name="Sidetone EQ Stage Number" value="1" />
+ <!-- IEEE 754, value is in float -->
+ <ctl name="Sidetone Biquad0" id="0" value="0" />
+ <ctl name="Sidetone Biquad0" id="1" value="0" />
+ <ctl name="Sidetone Biquad0" id="2" value="0" />
+ <ctl name="Sidetone Biquad0" id="3" value="0" />
+ <ctl name="Sidetone Biquad0" id="4" value="0" />
+ <ctl name="Sidetone Biquad0" id="5" value="0" />
+ <ctl name="Sidetone Biquad1" id="0" value="0" />
+ <ctl name="Sidetone Biquad1" id="1" value="0" />
+ <ctl name="Sidetone Biquad1" id="2" value="0" />
+ <ctl name="Sidetone Biquad1" id="3" value="0" />
+ <ctl name="Sidetone Biquad1" id="4" value="0" />
+ <ctl name="Sidetone Biquad1" id="5" value="0" />
+ <ctl name="Sidetone Biquad2" id="0" value="0" />
+ <ctl name="Sidetone Biquad2" id="1" value="0" />
+ <ctl name="Sidetone Biquad2" id="2" value="0" />
+ <ctl name="Sidetone Biquad2" id="3" value="0" />
+ <ctl name="Sidetone Biquad2" id="4" value="0" />
+ <ctl name="Sidetone Biquad2" id="5" value="0" />
+ <ctl name="Sidetone Biquad3" id="0" value="0" />
+ <ctl name="Sidetone Biquad3" id="1" value="0" />
+ <ctl name="Sidetone Biquad3" id="2" value="0" />
+ <ctl name="Sidetone Biquad3" id="3" value="0" />
+ <ctl name="Sidetone Biquad3" id="4" value="0" />
+ <ctl name="Sidetone Biquad3" id="5" value="0" />
+ <ctl name="Sidetone Biquad4" id="0" value="0" />
+ <ctl name="Sidetone Biquad4" id="1" value="0" />
+ <ctl name="Sidetone Biquad4" id="2" value="0" />
+ <ctl name="Sidetone Biquad4" id="3" value="0" />
+ <ctl name="Sidetone Biquad4" id="4" value="0" />
+ <ctl name="Sidetone Biquad4" id="5" value="0" />
+
+ <ctl name="Incall Capture Stream0" value="Off" />
+ <ctl name="Incall Capture Stream1" value="Off" />
+ <ctl name="Incall Capture Stream2" value="Off" />
+
+ <!-- These two controls control the muting function of mics and sinks during the voice call. -->
+ <!-- They would be enabled by HAL. -->
+ <ctl name="Incall Sink Mute" value="0" />
+ <ctl name="Incall Mic Mute" value="0" />
+
+ <ctl name="Compress Offload Volume" value="1000" />
+ <ctl name="Decoder Reference Enable" value="0" />
+ <ctl name="LVM Enable" value="0" />
+
+ <!-- sidetone dynamic control -->
+ <path name="sidetone-for handset">
+ <!-- 1065353216 = 0x3f800000 = 1.0 -->
+ <ctl name="Sidetone Biquad0" id="0" value="1065353216" />
+ <ctl name="Sidetone Biquad0" id="1" value="1065353216" />
+ <ctl name="Sidetone Biquad0" id="2" value="0" />
+ <ctl name="Sidetone Biquad0" id="3" value="0" />
+ <ctl name="Sidetone Biquad0" id="4" value="0" />
+ <ctl name="Sidetone Biquad0" id="5" value="0" />
+ <ctl name="Sidetone Biquad1" id="0" value="1065353216" />
+ <ctl name="Sidetone Biquad1" id="1" value="1065353216" />
+ <ctl name="Sidetone Biquad1" id="2" value="0" />
+ <ctl name="Sidetone Biquad1" id="3" value="0" />
+ <ctl name="Sidetone Biquad1" id="4" value="0" />
+ <ctl name="Sidetone Biquad1" id="5" value="0" />
+ <ctl name="Sidetone Biquad2" id="0" value="1065353216" />
+ <ctl name="Sidetone Biquad2" id="1" value="1065353216" />
+ <ctl name="Sidetone Biquad2" id="2" value="0" />
+ <ctl name="Sidetone Biquad2" id="3" value="0" />
+ <ctl name="Sidetone Biquad2" id="4" value="0" />
+ <ctl name="Sidetone Biquad2" id="5" value="0" />
+ <ctl name="Sidetone Biquad3" id="0" value="1065353216" />
+ <ctl name="Sidetone Biquad3" id="1" value="1065353216" />
+ <ctl name="Sidetone Biquad3" id="2" value="0" />
+ <ctl name="Sidetone Biquad3" id="3" value="0" />
+ <ctl name="Sidetone Biquad3" id="4" value="0" />
+ <ctl name="Sidetone Biquad3" id="5" value="0" />
+ <ctl name="Sidetone Biquad4" id="0" value="1065353216" />
+ <ctl name="Sidetone Biquad4" id="1" value="1065353216" />
+ <ctl name="Sidetone Biquad4" id="2" value="0" />
+ <ctl name="Sidetone Biquad4" id="3" value="0" />
+ <ctl name="Sidetone Biquad4" id="4" value="0" />
+ <ctl name="Sidetone Biquad4" id="5" value="0" />
+ <ctl name="Sidetone EQ Stage Number" value="5" />
+ <ctl name="Sidetone Volume" value="-90" />
+ <ctl name="Sidetone Enable" value="1" />
+ </path>
+
+ <!-- audio playback dynamic route -->
+ <path name="primary-playback -> speaker">
+ <ctl name="TDM_0_RX Mixer EP2" value="1" />
+ </path>
+
+ <path name="primary-playback-0 -> speaker">
+ <path name="primary-playback -> speaker" />
+ </path>
+
+ <path name="primary-playback-0 -> speaker-earpiece">
+ <path name="primary-playback -> speaker" />
+ </path>
+
+ <path name="primary-playback-0 -> speaker-safe">
+ <path name="primary-playback -> speaker" />
+ </path>
+
+ <path name="primary-playback -> bt">
+ <ctl name="BT_RX Mixer EP2" value="1" />
+ </path>
+
+ <path name="primary-playback-0 -> bt">
+ <path name="primary-playback -> bt" />
+ </path>
+
+ <path name="primary-playback-0 -> bluetooth-a2dp-device">
+ <path name="primary-playback -> bt" />
+ </path>
+
+ <path name="primary-playback-0 -> bluetooth-a2dp-headphone">
+ <path name="primary-playback -> bt" />
+ </path>
+
+ <path name="primary-playback-0 -> bluetooth-a2dp-speaker">
+ <path name="primary-playback -> bt" />
+ </path>
+
+ <path name="primary-playback-0 -> bluetooth-sco-default">
+ <path name="primary-playback -> bt" />
+ </path>
+
+ <path name="primary-playback-0 -> bluetooth-sco-headset">
+ <path name="primary-playback -> bt" />
+ </path>
+
+ <path name="primary-playback-0 -> bluetooth-sco-car-kit">
+ <path name="primary-playback -> bt" />
+ </path>
+
+ <path name="primary-playback-0 -> usb">
+ <ctl name="USB_RX Mixer EP2" value="1" />
+ </path>
+
+ <path name="primary-playback-0 -> usb-headset">
+ <path name="primary-playback-0 -> usb" />
+ </path>
+
+ <path name="primary-playback-0 -> usb-device">
+ <path name="primary-playback-0 -> usb" />
+ </path>
+
+ <path name="primary-playback-0 -> usb-dock">
+ <path name="primary-playback-0 -> usb" />
+ </path>
+
+ <path name="raw-playback -> speaker">
+ <ctl name="TDM_0_RX Mixer RAW" value="1" />
+ </path>
+
+ <path name="raw-playback-0 -> speaker">
+ <path name="raw-playback -> speaker" />
+ </path>
+
+ <path name="raw-playback-0 -> speaker-earpiece">
+ <path name="raw-playback -> speaker" />
+ </path>
+
+ <path name="raw-playback-0 -> speaker-safe">
+ <path name="raw-playback -> speaker" />
+ </path>
+
+ <path name="raw-playback -> bt">
+ <ctl name="BT_RX Mixer RAW" value="1" />
+ </path>
+
+ <path name="raw-playback-0 -> bt">
+ <path name="raw-playback -> bt" />
+ </path>
+
+ <path name="raw-playback-0 -> bluetooth-a2dp-device">
+ <path name="raw-playback -> bt" />
+ </path>
+
+ <path name="raw-playback-0 -> bluetooth-a2dp-headphone">
+ <path name="raw-playback -> bt" />
+ </path>
+
+ <path name="raw-playback-0 -> bluetooth-a2dp-speaker">
+ <path name="raw-playback -> bt" />
+ </path>
+
+ <path name="raw-playback-0 -> bluetooth-sco-default">
+ <path name="raw-playback -> bt" />
+ </path>
+
+ <path name="raw-playback-0 -> bluetooth-sco-headset">
+ <path name="raw-playback -> bt" />
+ </path>
+
+ <path name="raw-playback-0 -> bluetooth-sco-car-kit">
+ <path name="raw-playback -> bt" />
+ </path>
+
+ <path name="raw-playback-0 -> usb">
+ <ctl name="USB_RX Mixer RAW" value="1" />
+ </path>
+
+ <path name="raw-playback-0 -> usb-headset">
+ <path name="raw-playback-0 -> usb" />
+ </path>
+
+ <path name="raw-playback-0 -> usb-device">
+ <path name="raw-playback-0 -> usb" />
+ </path>
+
+ <path name="deep-buffer-playback -> speaker">
+ <ctl name="TDM_0_RX Mixer EP6" value="1" />
+ </path>
+
+ <path name="deep-buffer-playback-0 -> speaker">
+ <path name="deep-buffer-playback -> speaker" />
+ </path>
+
+ <path name="deep-buffer-playback-0 -> speaker-earpiece">
+ <path name="deep-buffer-playback -> speaker" />
+ </path>
+
+ <path name="deep-buffer-playback-0 -> speaker-safe">
+ <path name="deep-buffer-playback -> speaker" />
+ </path>
+
+ <path name="deep-buffer-playback -> bt">
+ <ctl name="BT_RX Mixer EP6" value="1" />
+ </path>
+
+ <path name="deep-buffer-playback-0 -> bt">
+ <path name="deep-buffer-playback -> bt" />
+ </path>
+
+ <path name="deep-buffer-playback-0 -> bluetooth-a2dp-device">
+ <path name="deep-buffer-playback -> bt" />
+ </path>
+
+ <path name="deep-buffer-playback-0 -> bluetooth-a2dp-headphone">
+ <path name="deep-buffer-playback -> bt" />
+ </path>
+
+ <path name="deep-buffer-playback-0 -> bluetooth-a2dp-speaker">
+ <path name="deep-buffer-playback -> bt" />
+ </path>
+
+ <path name="deep-buffer-playback-0 -> bluetooth-sco-default">
+ <path name="deep-buffer-playback -> bt" />
+ </path>
+
+ <path name="deep-buffer-playback-0 -> bluetooth-sco-headset">
+ <path name="deep-buffer-playback -> bt" />
+ </path>
+
+ <path name="deep-buffer-playback-0 -> bluetooth-sco-car-kit">
+ <path name="deep-buffer-playback -> bt" />
+ </path>
+
+ <path name="deep-buffer-playback-0 -> usb">
+ <ctl name="USB_RX Mixer EP6" value="1" />
+ </path>
+
+ <path name="deep-buffer-playback-0 -> usb-headset">
+ <path name="deep-buffer-playback-0 -> usb" />
+ </path>
+
+ <path name="deep-buffer-playback-0 -> usb-device">
+ <path name="deep-buffer-playback-0 -> usb" />
+ </path>
+
+ <path name="deep-buffer-playback-0 -> usb-dock">
+ <path name="deep-buffer-playback-0 -> usb" />
+ </path>
+
+ <path name="compress-offload-playback">
+ <ctl name="LVM Enable" value="1" />
+ </path>
+
+ <path name="compress-offload-playback -> speaker">
+ <path name="compress-offload-playback" />
+ <ctl name="TDM_0_RX Mixer EP7" value="1" />
+ </path>
+
+ <path name="compress-offload-playback-0 -> speaker">
+ <path name="compress-offload-playback -> speaker" />
+ </path>
+
+ <path name="compress-offload-playback-0 -> speaker-earpiece">
+ <path name="compress-offload-playback -> speaker" />
+ </path>
+
+ <path name="compress-offload-playback-0 -> speaker-safe">
+ <path name="compress-offload-playback -> speaker" />
+ </path>
+
+ <path name="compress-offload-playback -> bt">
+ <ctl name="BT_RX Mixer EP7" value="1" />
+ </path>
+
+ <path name="compress-offload-playback-0 -> bt">
+ <path name="compress-offload-playback -> bt" />
+ </path>
+
+ <path name="compress-offload-playback-0 -> bluetooth-a2dp-device">
+ <path name="compress-offload-playback -> bt" />
+ </path>
+
+ <path name="compress-offload-playback-0 -> bluetooth-a2dp-headphone">
+ <path name="compress-offload-playback -> bt" />
+ </path>
+
+ <path name="compress-offload-playback-0 -> bluetooth-a2dp-speaker">
+ <path name="compress-offload-playback -> bt" />
+ </path>
+
+ <path name="compress-offload-playback-0 -> bluetooth-sco-default">
+ <path name="compress-offload-playback -> bt" />
+ </path>
+
+ <path name="compress-offload-playback-0 -> bluetooth-sco-headset">
+ <path name="compress-offload-playback -> bt" />
+ </path>
+
+ <path name="compress-offload-playback-0 -> bluetooth-sco-car-kit">
+ <path name="compress-offload-playback -> bt" />
+ </path>
+
+ <path name="compress-offload-playback-0 -> usb">
+ <ctl name="USB_RX Mixer EP7" value="1" />
+ </path>
+
+ <path name="compress-offload-playback-0 -> usb-headset">
+ <path name="compress-offload-playback-0 -> usb" />
+ </path>
+
+ <path name="compress-offload-playback-0 -> usb-device">
+ <path name="compress-offload-playback-0 -> usb" />
+ </path>
+
+ <path name="compress-offload-playback-0 -> usb-dock">
+ <path name="compress-offload-playback-0 -> usb" />
+ </path>
+
+ <path name="mmap-playback -> speaker">
+ <ctl name="TDM_0_RX Mixer EP1" value="1" />
+ </path>
+
+ <path name="mmap-playback-0 -> speaker">
+ <path name="mmap-playback -> speaker" />
+ </path>
+
+ <path name="mmap-playback-0 -> speaker-earpiece">
+ <path name="mmap-playback -> speaker" />
+ </path>
+
+ <path name="mmap-playback-0 -> speaker-safe">
+ <path name="mmap-playback -> speaker" />
+ </path>
+
+ <path name="mmap-playback -> bt">
+ <ctl name="BT_RX Mixer EP1" value="1" />
+ </path>
+
+ <path name="mmap-playback-0 -> bt">
+ <path name="mmap-playback -> bt" />
+ </path>
+
+ <path name="mmap-playback-0 -> bluetooth-a2dp-device">
+ <path name="mmap-playback -> bt" />
+ </path>
+
+ <path name="mmap-playback-0 -> bluetooth-a2dp-headphone">
+ <path name="mmap-playback -> bt" />
+ </path>
+
+ <path name="mmap-playback-0 -> bluetooth-a2dp-speaker">
+ <path name="mmap-playback -> bt" />
+ </path>
+
+ <path name="mmap-playback-0 -> bluetooth-sco-default">
+ <path name="mmap-playback -> bt" />
+ </path>
+
+ <path name="mmap-playback-0 -> bluetooth-sco-headset">
+ <path name="mmap-playback -> bt" />
+ </path>
+
+ <path name="mmap-playback-0 -> bluetooth-sco-car-kit">
+ <path name="mmap-playback -> bt" />
+ </path>
+
+ <path name="mmap-playback-0 -> usb">
+ <ctl name="USB_RX Mixer EP1" value="1" />
+ </path>
+
+ <path name="mmap-playback-0 -> usb-headset">
+ <path name="mmap-playback-0 -> usb" />
+ </path>
+
+ <path name="mmap-playback-0 -> usb-device">
+ <path name="mmap-playback-0 -> usb" />
+ </path>
+
+ <path name="mmap-playback-0 -> usb-dock">
+ <path name="mmap-playback-0 -> usb" />
+ </path>
+
+ <path name="hifi-playback-0 -> usb">
+ <ctl name="USB_RX Mixer HIFI" value="1" />
+ </path>
+
+ <path name="hifi-playback-0 -> usb-headset">
+ <path name="hifi-playback-0 -> usb" />
+ </path>
+
+ <path name="hifi-playback-0 -> usb-device">
+ <path name="hifi-playback-0 -> usb" />
+ </path>
+
+ <path name="voip-playback -> speaker">
+ <ctl name="TDM_0_RX Mixer VOIP" value="1" />
+ </path>
+
+ <path name="voip-playback-0 -> speaker">
+ <path name="voip-playback -> speaker" />
+ </path>
+
+ <path name="voip-playback-0 -> speaker-earpiece">
+ <path name="voip-playback -> speaker" />
+ </path>
+
+ <path name="voip-playback-0 -> speaker-safe">
+ <path name="voip-playback -> speaker" />
+ </path>
+
+ <path name="voip-playback -> bt">
+ <ctl name="BT_RX Mixer VOIP" value="1" />
+ </path>
+
+ <path name="voip-playback-0 -> bt">
+ <path name="voip-playback -> bt" />
+ </path>
+
+ <path name="voip-playback-0 -> bluetooth-a2dp-device">
+ <path name="voip-playback -> bt" />
+ </path>
+
+ <path name="voip-playback-0 -> bluetooth-a2dp-headphone">
+ <path name="voip-playback -> bt" />
+ </path>
+
+ <path name="voip-playback-0 -> bluetooth-a2dp-speaker">
+ <path name="voip-playback -> bt" />
+ </path>
+
+ <path name="voip-playback-0 -> bluetooth-sco-default">
+ <path name="voip-playback -> bt" />
+ </path>
+
+ <path name="voip-playback-0 -> bluetooth-sco-headset">
+ <path name="voip-playback -> bt" />
+ </path>
+
+ <path name="voip-playback-0 -> bluetooth-sco-car-kit">
+ <path name="voip-playback -> bt" />
+ </path>
+
+ <path name="voip-playback-0 -> usb">
+ <ctl name="USB_RX Mixer VOIP" value="1" />
+ </path>
+
+ <path name="voip-playback-0 -> usb-headset">
+ <path name="voip-playback-0 -> usb" />
+ </path>
+
+ <path name="voip-playback-0 -> usb-device">
+ <path name="voip-playback-0 -> usb" />
+ </path>
+
+ <path name="voip-playback-0 -> usb-dock">
+ <path name="voip-playback-0 -> usb" />
+ </path>
+
+ <path name="immersive-playback -> speaker">
+ <ctl name="TDM_0_RX Mixer IMSV" value="1" />
+ </path>
+
+ <path name="immersive-playback-0 -> speaker">
+ <path name="immersive-playback -> speaker" />
+ </path>
+
+ <path name="immersive-playback-0 -> speaker-earpiece">
+ <path name="immersive-playback -> speaker" />
+ </path>
+
+ <path name="immersive-playback-0 -> speaker-safe">
+ <path name="immersive-playback -> speaker" />
+ </path>
+
+ <path name="immersive-playback -> bt">
+ <ctl name="BT_RX Mixer IMSV" value="1" />
+ </path>
+
+ <path name="immersive-playback-0 -> bt">
+ <path name="immersive-playback -> bt" />
+ </path>
+
+ <path name="immersive-playback-0 -> bluetooth-a2dp-device">
+ <path name="immersive-playback -> bt" />
+ </path>
+
+ <path name="immersive-playback-0 -> bluetooth-a2dp-headphone">
+ <path name="immersive-playback -> bt" />
+ </path>
+
+ <path name="immersive-playback-0 -> bluetooth-a2dp-speaker">
+ <path name="immersive-playback -> bt" />
+ </path>
+
+ <path name="immersive-playback-0 -> usb">
+ <ctl name="USB_RX Mixer IMSV" value="1" />
+ </path>
+
+ <path name="immersive-playback-0 -> usb-headset">
+ <path name="immersive-playback-0 -> usb" />
+ </path>
+
+ <path name="immersive-playback-0 -> usb-device">
+ <path name="immersive-playback-0 -> usb" />
+ </path>
+
+ <path name="haptic-playback -> speaker">
+ <ctl name="TDM_0_RX Mixer EP3" value="1" />
+ <ctl name="TDM_0_RX Mixer EP8" value="1" />
+ </path>
+
+ <path name="haptic-playback-0 -> speaker">
+ <path name="haptic-playback -> speaker" />
+ </path>
+
+ <path name="haptic-playback-0 -> speaker-earpiece">
+ <path name="haptic-playback -> speaker" />
+ </path>
+
+ <path name="haptic-playback-0 -> speaker-safe">
+ <path name="haptic-playback -> speaker" />
+ </path>
+
+ <path name="haptic-playback -> bt">
+ <ctl name="BT_RX Mixer EP3" value="1" />
+ <ctl name="TDM_0_RX Mixer EP8" value="1" />
+ </path>
+
+ <path name="haptic-playback-0 -> bt">
+ <path name="haptic-playback -> bt" />
+ </path>
+
+ <path name="haptic-playback-0 -> bluetooth-a2dp-device">
+ <path name="haptic-playback -> bt" />
+ </path>
+
+ <path name="haptic-playback-0 -> bluetooth-a2dp-headphone">
+ <path name="haptic-playback -> bt" />
+ </path>
+
+ <path name="haptic-playback-0 -> bluetooth-a2dp-speaker">
+ <path name="haptic-playback -> bt" />
+ </path>
+
+ <path name="haptic-playback-0 -> bluetooth-sco-default">
+ <path name="haptic-playback -> bt" />
+ </path>
+
+ <path name="haptic-playback-0 -> bluetooth-sco-headset">
+ <path name="haptic-playback -> bt" />
+ </path>
+
+ <path name="haptic-playback-0 -> bluetooth-sco-car-kit">
+ <path name="haptic-playback -> bt" />
+ </path>
+
+ <path name="haptic-playback-0 -> usb">
+ <ctl name="USB_RX Mixer EP3" value="1" />
+ <ctl name="TDM_0_RX Mixer EP8" value="1" />
+ </path>
+
+ <path name="haptic-playback-0 -> usb-headset">
+ <path name="haptic-playback-0 -> usb" />
+ </path>
+
+ <path name="haptic-playback-0 -> usb-device">
+ <path name="haptic-playback-0 -> usb" />
+ </path>
+
+ <path name="haptic-playback-0 -> usb-dock">
+ <path name="haptic-playback-0 -> usb" />
+ </path>
+
+ <!-- audio capture dynamic route -->
+ <path name="microphones -> primary-capture-0">
+ <ctl name="EP1 TX Mixer INTERNAL_MIC_TX" value="1" />
+ </path>
+
+ <path name="back-microphones -> primary-capture-0">
+ <ctl name="EP1 TX Mixer INTERNAL_MIC_TX" value="1" />
+ </path>
+
+ <path name="usb-microphones -> primary-capture-0">
+ <ctl name="EP1 TX Mixer USB_TX" value="1" />
+ </path>
+
+ <path name="usb-headset-microphones -> primary-capture-0">
+ <path name="usb-microphones -> primary-capture-0" />
+ </path>
+
+ <path name="usb-device-microphones -> primary-capture-0">
+ <path name="usb-microphones -> primary-capture-0" />
+ </path>
+
+ <path name="microphones -> voip-capture-0">
+ <ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1" />
+ </path>
+
+ <path name="back-microphones -> voip-capture-0">
+ <ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1" />
+ </path>
+
+ <path name="usb-microphones -> voip-capture-0">
+ <ctl name="VOIP TX Mixer USB_TX" value="1" />
+ </path>
+
+ <path name="usb-headset-microphones -> voip-capture-0">
+ <path name="usb-microphones -> voip-capture-0" />
+ </path>
+
+ <path name="usb-device-microphones -> voip-capture-0">
+ <path name="usb-microphones -> voip-capture-0" />
+ </path>
+
+ <path name="bluetooth-sco-headset-microphones -> voip-capture-0">
+ <ctl name="VOIP TX Mixer BT_TX" value="1" />
+ </path>
+
+ <path name="microphones -> fast-capture-0">
+ <ctl name="EP3 TX Mixer INTERNAL_MIC_TX" value="1" />
+ </path>
+
+ <path name="back-microphones -> fast-capture-0">
+ <ctl name="EP3 TX Mixer INTERNAL_MIC_TX" value="1" />
+ </path>
+
+ <path name="usb-microphones -> fast-capture-0">
+ <ctl name="EP3 TX Mixer USB_TX" value="1" />
+ </path>
+
+ <path name="usb-headset-microphones -> fast-capture-0">
+ <path name="usb-microphones -> fast-capture-0" />
+ </path>
+
+ <path name="usb-device-microphones -> fast-capture-0">
+ <path name="usb-microphones -> fast-capture-0" />
+ </path>
+
+ <path name="bluetooth-sco-headset-microphones -> fast-capture-0">
+ <ctl name="EP3 TX Mixer BT_TX" value="1" />
+ </path>
+
+ <path name="microphones -> sound-trigger-capture-0">
+ </path>
+
+ <path name="microphones -> sound-trigger-tap-capture-0">
+ </path>
+
+ <path name="microphones -> hotword-lookback-capture-0">
+ </path>
+
+ <!-- voice-call dynamic route -->
+ <path name="voice-call-downlink-0 -> speaker">
+ <ctl name="TDM_0_RX Mixer EP5" value="1" />
+ </path>
+
+ <path name="voice-call-downlink-0 -> speaker-earpiece">
+ <ctl name="TDM_0_RX Mixer EP5" value="1" />
+ </path>
+
+ <path name="voice-call-downlink-0 -> bt">
+ <ctl name="BT_RX Mixer EP5" value="1" />
+ </path>
+
+ <path name="voice-call-downlink-0 -> bluetooth-sco-default">
+ <path name="voice-call-downlink-0 -> bt" />
+ </path>
+
+ <path name="voice-call-downlink-0 -> bluetooth-sco-headset">
+ <path name="voice-call-downlink-0 -> bt" />
+ </path>
+
+ <path name="voice-call-downlink-0 -> bluetooth-sco-car-kit">
+ <path name="voice-call-downlink-0 -> bt" />
+ </path>
+
+ <path name="voice-call-downlink-0 -> usb">
+ <ctl name="USB_RX Mixer EP5" value="1" />
+ </path>
+
+ <path name="voice-call-downlink-0 -> usb-headset">
+ <path name="voice-call-downlink-0 -> usb" />
+ </path>
+
+ <path name="voice-call-downlink-0 -> usb-device">
+ <path name="voice-call-downlink-0 -> usb" />
+ </path>
+
+ <path name="voice-call-downlink-0 -> usb-dock">
+ <path name="voice-call-downlink-0 -> usb" />
+ </path>
+
+ <path name="voice-call-downlink-0 -> null-sink">
+ <ctl name="INCALL_RX Mixer EP5" value="1" />
+ </path>
+
+ <path name="microphones -> voice-call-uplink-0">
+ <ctl name="EP4 TX Mixer INTERNAL_MIC_TX" value="1" />
+ </path>
+
+ <path name="back-microphones -> voice-call-uplink-0">
+ <ctl name="EP4 TX Mixer INTERNAL_MIC_TX" value="1" />
+ </path>
+
+ <path name="usb-microphones -> voice-call-uplink-0">
+ <ctl name="EP4 TX Mixer USB_TX" value="1" />
+ </path>
+
+ <path name="usb-headset-microphones -> voice-call-uplink-0">
+ <path name="usb-microphones -> voice-call-uplink-0" />
+ </path>
+
+ <path name="usb-device-microphones -> voice-call-uplink-0">
+ <path name="usb-microphones -> voice-call-uplink-0" />
+ </path>
+
+ <path name="bluetooth-sco-headset-microphones -> voice-call-uplink-0">
+ <ctl name="EP4 TX Mixer BT_TX" value="1" />
+ </path>
+
+ <path name="null-source -> voice-call-uplink-0">
+ <ctl name="EP4 TX Mixer INCALL_TX" value="1" />
+ </path>
+
+ <path name="hostless-ulC spk-vi">
+ <ctl name="NoHost1 TX Mixer TDM_0_TX" value="1" />
+ </path>
+
+ <path name="telephony-rx (VOICE_DOWNLINK) -> in-call-capture-0">
+ <ctl name="Incall Capture Stream0" value="DL" />
+ </path>
+
+ <path name="telephony-rx (VOICE_UPLINK) -> in-call-capture-0">
+ <ctl name="Incall Capture Stream0" value="UL" />
+ </path>
+
+ <path name="telephony-rx (VOICE_CALL) -> in-call-capture-0">
+ <ctl name="Incall Capture Stream0" value="UL_DL" />
+ </path>
+
+ <path name="telephony-rx (VOICE_DOWNLINK) -> in-call-capture-1">
+ <ctl name="Incall Capture Stream1" value="DL" />
+ </path>
+
+ <path name="telephony-rx (VOICE_UPLINK) -> in-call-capture-1">
+ <ctl name="Incall Capture Stream1" value="UL" />
+ </path>
+
+ <path name="telephony-rx (VOICE_CALL) -> in-call-capture-1">
+ <ctl name="Incall Capture Stream1" value="UL_DL" />
+ </path>
+
+ <path name="telephony-rx (VOICE_DOWNLINK) -> in-call-capture-2">
+ <ctl name="Incall Capture Stream2" value="DL" />
+ </path>
+
+ <path name="telephony-rx (VOICE_UPLINK) -> in-call-capture-2">
+ <ctl name="Incall Capture Stream2" value="UL" />
+ </path>
+
+ <path name="telephony-rx (VOICE_CALL) -> in-call-capture-2">
+ <ctl name="Incall Capture Stream2" value="UL_DL" />
+ </path>
+
+ <path name="microphones -> mmap-capture-0">
+ <ctl name="EP2 TX Mixer INTERNAL_MIC_TX" value="1" />
+ </path>
+
+ <path name="usb-microphones -> mmap-capture-0">
+ <ctl name="EP2 TX Mixer USB_TX" value="1" />
+ </path>
+
+ <path name="usb-headset-microphones -> mmap-capture-0">
+ <path name="usb-microphones -> mmap-capture-0" />
+ </path>
+
+ <path name="usb-device-microphones -> mmap-capture-0">
+ <path name="usb-microphones -> mmap-capture-0" />
+ </path>
+
+ <path name="bluetooth-sco-headset-microphones -> mmap-capture-0">
+ <ctl name="EP2 TX Mixer BT_TX" value="1" />
+ </path>
+
+ <!-- codec setting -->
+ <!-- Rx device -->
+ <path name="speaker-earpiece">
+ <ctl name="PCM Source" value="ASP" />
+ <ctl name="AMP PCM Gain" value="6" />
+ <ctl name="Main AMP Enable Switch" value="1" />
+ <ctl name="Digital PCM Volume" value="817" />
+ </path>
+
+ <path name="speaker-earpiece (VOICE)">
+ <ctl name="PCM Source" value="ASP" />
+ <ctl name="AMP PCM Gain" value="6" />
+ <ctl name="Main AMP Enable Switch" value="1" />
+ <ctl name="Digital PCM Volume" value="817" />
+ </path>
+
+ <path name="speaker">
+ <ctl name="Boost Peak Current Limit" value="4.50A"/>
+ <ctl name="R Boost Peak Current Limit" value="4.50A"/>
+ <ctl name="L2 Boost Peak Current Limit" value="4.50A"/>
+ <ctl name="R2 Boost Peak Current Limit" value="4.50A"/>
+ <!-- Set digital gain -->
+ <ctl name="Digital PCM Volume" value="817"/>
+ <ctl name="R Digital PCM Volume" value="817"/>
+ <ctl name="L2 Digital PCM Volume" value="817"/>
+ <ctl name="R2 Digital PCM Volume" value="817"/>
+ <ctl name="Main AMP Enable Switch" value="1"/>
+ <ctl name="R Main AMP Enable Switch" value="1"/>
+ <ctl name="L2 Main AMP Enable Switch" value="1"/>
+ <ctl name="R2 Main AMP Enable Switch" value="1"/>
+ </path>
+
+ <path name="speaker (VOICE)">
+ <!-- Set DSP input to (A+B)/2 -->
+ <ctl name="DSP RX2 Source" value="ASPRX2"/>
+ <ctl name="R DSP RX2 Source" value="ASPRX2"/>
+ <ctl name="L2 DSP RX2 Source" value="ASPRX2"/>
+ <ctl name="R2 DSP RX2 Source" value="ASPRX2"/>
+ <!-- Set digital gain -->
+ <ctl name="Digital PCM Volume" value="817"/>
+ <ctl name="R Digital PCM Volume" value="817"/>
+ <ctl name="L2 Digital PCM Volume" value="817"/>
+ <ctl name="R2 Digital PCM Volume" value="817"/>
+ <!-- Enable all amps -->
+ <ctl name="Main AMP Enable Switch" value="1"/>
+ <ctl name="R Main AMP Enable Switch" value="1"/>
+ <ctl name="L2 Main AMP Enable Switch" value="1"/>
+ <ctl name="R2 Main AMP Enable Switch" value="1"/>
+ </path>
+
+ <path name="speaker-safe">
+ <path name="speaker"/>
+ </path>
+
+ <path name="speaker-amp1">
+ <ctl name="Boost Peak Current Limit" value="4.50A"/>
+ <!-- Set digital gain -->
+ <ctl name="Digital PCM Volume" value="817"/>
+ <ctl name="Main AMP Enable Switch" value="1"/>
+ </path>
+
+ <path name="speaker-amp2">
+ <ctl name="L2 Boost Peak Current Limit" value="4.50A"/>
+ <!-- Set digital gain -->
+ <ctl name="L2 Digital PCM Volume" value="817"/>
+ <ctl name="L2 Main AMP Enable Switch" value="1"/>
+ </path>
+
+ <path name="speaker-amp3">
+ <ctl name="R2 Boost Peak Current Limit" value="4.50A"/>
+ <!-- Set digital gain -->
+ <ctl name="R2 Digital PCM Volume" value="817"/>
+ <ctl name="R2 Main AMP Enable Switch" value="1"/>
+ </path>
+
+ <path name="speaker-amp4">
+ <ctl name="R Boost Peak Current Limit" value="4.50A"/>
+ <!-- Set digital gain -->
+ <ctl name="R Digital PCM Volume" value="817"/>
+ <ctl name="R Main AMP Enable Switch" value="1"/>
+ </path>
+
+ <!-- Tx device -->
+ <path name="microphones">
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
+ <ctl name="MIC DC Blocker" value="1" />
+ <ctl name="MIC Record Soft Gain (dB)" value="22" />
+ </path>
+
+ <path name="microphones (VOICE)">
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
+ <ctl name="MIC DC Blocker" value="1" />
+ <ctl name="MIC HW Gain At High Power Mode (cB)" value="130" />
+ <ctl name="MIC Record Soft Gain (dB)" value="0" />
+ </path>
+
+ <path name="microphones (VOICE_RECOGNITION)">
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
+ <ctl name="MIC DC Blocker" value="1" />
+ <ctl name="MIC Record Soft Gain (dB)" value="22" />
+ </path>
+
+ <path name="microphones (VOICE_RECOGNITION,SOUND_TRIGGER_TAP)">
+ <ctl name="Audio Capture Eraser Enable" value="1" />
+ <ctl name="Hotword Tap Enable" value="1" />
+ <ctl name="MIC Record Soft Gain (dB)" value="0" />
+ </path>
+
+ <path name="microphones (SOUND_TRIGGER_AEC)">
+ <ctl name="Audio Capture Eraser Enable" value="1" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
+ <ctl name="MIC DC Blocker" value="1" />
+ <ctl name="Audio Capture Mic Source" value="ERASER" />
+ <ctl name="MIC Record Soft Gain (dB)" value="0" />
+ </path>
+
+ <path name="back-microphones">
+ <ctl name="Mic Spatial Module Enable" value="1" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
+ <ctl name="MIC DC Blocker" value="1" />
+ <ctl name="MIC Record Soft Gain (dB)" value="22" />
+ </path>
+
+ <path name="back-microphones (VOICE)">
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
+ <ctl name="MIC DC Blocker" value="1" />
+ <ctl name="MIC HW Gain At High Power Mode (cB)" value="130" />
+ <ctl name="MIC Record Soft Gain (dB)" value="0" />
+ </path>
+
+ <path name="microphones (CAMCORDER)">
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
+ <ctl name="MIC DC Blocker" value="1" />
+ <ctl name="MIC Record Soft Gain (dB)" value="0" />
+ </path>
+
+ <path name="back-microphones (CAMCORDER)">
+ <path name="microphones (CAMCORDER)" />
+ </path>
+
+ <path name="camcorder-mic">
+ <ctl name="Mic Spatial Module Enable" value="1" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
+ <ctl name="MIC DC Blocker" value="1" />
+ <ctl name="MIC Record Soft Gain (dB)" value="0" />
+ </path>
+
+ <path name="unprocessed-mic">
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
+ <ctl name="MIC DC Blocker" value="1" />
+ <ctl name="MIC Record Soft Gain (dB)" value="5" />
+ </path>
+
+ <path name="unprocessed-dual-mic">
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
+ <ctl name="MIC DC Blocker" value="1" />
+ <ctl name="MIC Record Soft Gain (dB)" value="5" />
+ </path>
+
+ <path name="unprocessed-triple-mic">
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
+ <ctl name="MIC DC Blocker" value="1" />
+ <ctl name="MIC Record Soft Gain (dB)" value="5" />
+ </path>
+
+ <path name="bluetooth-sco-headset-microphones">
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
+ <ctl name="Audio Capture Mic Source" value="BT_MIC" />
+ <ctl name="Voice Call Mic Source" value="BT_MIC" />
+ <ctl name="MIC Record Soft Gain (dB)" value="0" />
+ </path>
+
+ <path name="usb-headset-microphones">
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2" />
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
+ <ctl name="Audio Capture Mic Source" value="USB_MIC" />
+ <ctl name="Voice Call Mic Source" value="USB_MIC" />
+ <ctl name="MIC Record Soft Gain (dB)" value="0" />
+ </path>
+
+ <!-- cs35l41 specific path for rotation start -->
+ <path name="cs35l41-rotation-0">
+ </path>
+
+ <path name="cs35l41-rotation-90">
+ </path>
+
+ <path name="cs35l41-rotation-180">
+ </path>
+
+ <path name="cs35l41-rotation-270">
+ </path>
+ <!-- cs35l41 specific path for rotation end -->
+
+ <!-- cs35l41 specific path to load firmware in cs35l41.c -->
+ <path name="cs35l41-load-protection-firmware-start">
+ <!-- Enable it after get the protection firmware -->
+ <ctl name="DSP Booted" value="0" />
+ <ctl name="R DSP Booted" value="0" />
+ <ctl name="L2 DSP Booted" value="0" />
+ <ctl name="R2 DSP Booted" value="0" />
+ <ctl name="DSP1 Preload Switch" value="0" />
+ <ctl name="R DSP1 Preload Switch" value="0" />
+ <ctl name="L2 DSP1 Preload Switch" value="0" />
+ <ctl name="R2 DSP1 Preload Switch" value="0" />
+ </path>
+
+ <path name="cs35l41-load-protection-firmware-end">
+ <!-- Enable it after get the protection firmware -->
+ <ctl name="DSP1 Preload Switch" value="1" />
+ <ctl name="R DSP1 Preload Switch" value="1" />
+ <ctl name="L2 DSP1 Preload Switch" value="1" />
+ <ctl name="R2 DSP1 Preload Switch" value="1" />
+ </path>
+
+ <!-- cs35l41 specific path to config ultrasound -->
+ <path name="cs35l41-us-config">
+ <ctl name="ASPRX2 Slot Position" value="2"/>
+ <ctl name="R ASPRX2 Slot Position" value="3"/>
+ <ctl name="DSP RX2 Source" value="ASPRX2"/>
+ <ctl name="R DSP RX2 Source" value="ASPRX2"/>
+ </path>
+ <!-- cs35l41 specific path to load firmware in cs35l41.c end-->
+ <!-- cs35l41 specific path to set current limit in cs35l41 -->
+ <path name="speaker-boost-peak-current-limit">
+ <ctl name="Boost Peak Current Limit" value="2.50A" />
+ <ctl name="R Boost Peak Current Limit" value="2.50A" />
+ </path>
+ <path name="speaker-boost-peak-current-limit-battery-throttled">
+ <ctl name="Boost Peak Current Limit" value="1.80A" />
+ <ctl name="R Boost Peak Current Limit" value="1.80A" />
+ </path>
+
+ <path name="speaker-safe-boost-peak-current-limit">
+ <ctl name="R Boost Peak Current Limit" value="3.50A" />
+ </path>
+ <path name="speaker-safe-boost-peak-current-limit-battery-throttled">
+ </path>
+
+ <path name="earpiece-boost-peak-current-limit">
+ </path>
+ <path name="earpiece-boost-peak-current-limit-battery-throttled">
+ </path>
+
+ <path name="voice-speaker-boost-peak-current-limit">
+ <ctl name="R Boost Peak Current Limit" value="3.50A" />
+ <ctl name="Boost Peak Current Limit" value="3.50A" />
+ </path>
+ <path name="voice-speaker-boost-peak-current-limit-battery-throttled">
+ </path>
+
+ <path name="voice-earpiece-boost-peak-current-limit">
+ <ctl name="Boost Peak Current Limit" value="3.50A" />
+ </path>
+ <path name="voice-earpiece-boost-peak-current-limit-battery-throttled">
+ </path>
+ <!-- cs35l41 specific path to set current limit in cs35l41 end -->
+</mixer>
diff --git a/audio/tangorpro/audio-tables.mk b/audio/tangorpro/audio-tables.mk
index 0debff0..b7e383a 100644
--- a/audio/tangorpro/audio-tables.mk
+++ b/audio/tangorpro/audio-tables.mk
@@ -16,6 +16,15 @@
AUDIO_TABLE_FOLDER := tangorpro
+# Enable this to build AIDL
+BUILD_AUDIO_AIDL_VERSION := false
+
+ifeq ($(BUILD_AUDIO_AIDL_VERSION),true)
+PRODUCT_COPY_FILES += \
+ device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/aidl_config/audio_platform_configuration_aidl.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_configuration_aidl.xml \
+ device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/aidl_config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
+ device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/aidl_config/mixer_paths_aidl.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_aidl.xml
+else
# Platform Configuration for AudioHAL / SoundTriggerHAL
PRODUCT_COPY_FILES += \
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \
@@ -34,6 +43,7 @@ PRODUCT_COPY_FILES += \
# Mixer Path Configuration for AudioHAL
PRODUCT_COPY_FILES += \
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/config/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml
+endif
# Speaker firmware files
SPK_FIRMWARE_PATH := $(AUDIO_TABLE_FOLDER)/cs35l41/fw
@@ -51,7 +61,16 @@ PRODUCT_COPY_FILES += \
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HEADSET.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HEADSET.dat \
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/mcps.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/mcps.dat \
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/waves_config.ini:$(TARGET_COPY_OUT_VENDOR)/etc/waves_config.ini \
- device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/waves_preset.mps:$(TARGET_COPY_OUT_VENDOR)/etc/waves_preset.mps
+ device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/waves_preset.mps:$(TARGET_COPY_OUT_VENDOR)/etc/waves_preset.mps \
+ device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/apmg3/uplink_headset_config.pb:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/uplink_headset_config.pb \
+ device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/apmg3/uplink_dock_config.pb:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/uplink_dock_config.pb \
+ device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/apmg3/uplink_tablet_stereo_config.pb:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/uplink_tablet_stereo_config.pb \
+ device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/apmg3/uplink_headset_aec_off_config.pb:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/uplink_headset_aec_off_config.pb \
+ device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/apmg3/uplink_dock_aec_off_config.pb:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/uplink_dock_aec_off_config.pb \
+ device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/apmg3/uplink_tablet_stereo_aec_off_config.pb:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/uplink_tablet_stereo_aec_off_config.pb \
+ device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/apmg3/downlink_headset_config.pb:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/downlink_headset_config.pb \
+ device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/apmg3/downlink_dock_config.pb:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/downlink_dock_config.pb \
+ device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/apmg3/downlink_tablet_stereo_config.pb:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/downlink_tablet_stereo_config.pb
# userdebug specific
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
diff --git a/audio/tangorpro/config/audio_effects.xml b/audio/tangorpro/config/audio_effects.xml
index 9c2ba29..11e66e5 100644
--- a/audio/tangorpro/config/audio_effects.xml
+++ b/audio/tangorpro/config/audio_effects.xml
@@ -10,6 +10,7 @@
<library name="proxy" path="libeffectproxy.so"/>
<library name="offload_effect" path="liboffloadeffect.so"/>
<library name="haptic_generator" path="libhapticgenerator.so"/>
+ <library name="spatializer" path="libspatialaudio.so"/>
</libraries>
<effects>
<effectProxy name="bassboost" library="proxy" uuid="2f0871a2-c93c-4824-9664-42eb2909f2ef">
@@ -54,6 +55,7 @@
<effect name="aec" library="offload_effect" uuid="28c28780-ec8b-48b6-8590-8c84557d797d"/>
<effect name="ns" library="offload_effect" uuid="62ff2836-d050-43c3-9c2d-94a73dad2c64"/>
<effect name="haptic_generator" library="haptic_generator" uuid="97c4acd1-8b82-4f2f-832e-c2fe5d7a9931"/>
+ <effect name="spatializer" library="spatializer" uuid="cc4677de-ff72-11eb-9a03-0242ac130003"/>
</effects>
<postprocess>
</postprocess>
diff --git a/audio/tangorpro/config/audio_platform_configuration.xml b/audio/tangorpro/config/audio_platform_configuration.xml
index f8fb665..959b4c5 100644
--- a/audio/tangorpro/config/audio_platform_configuration.xml
+++ b/audio/tangorpro/config/audio_platform_configuration.xml
@@ -187,6 +187,8 @@
<usecase id="UC_DEEP_BUFFER_PLAYBACK" dev1="5" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
<!-- dev1: voice-call downlink dev2: voice-clal uplink -->
<usecase id="UC_VOICE_CALL" dev1="4" dev2="11"/>
+ <!-- for output with flag AUDIO_OUTPUT_SPATIALIZER -->
+ <usecase id="UC_IMMERSIVE_PLAYBACK" dev1="3" dyn_path="true" dsp_vol="false" mmap="false" period="10" period_num="3"/>
<!-- for output with AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD, 4 * 128KB buffer -->
<usecase id="UC_COMPRESSED_OFFLOAD_PLAYBACK" dev1="6" dyn_path="true" dsp_vol="true" mmap="false" period="131072" period_num="4" pre_proc_id="14"/>
<!-- dev1: audio dev2: haptic -->
@@ -197,7 +199,7 @@
<usecase id="UC_AUDIO_RECORD" dev1="8" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
<usecase id="UC_HOSTLESS_UL" dev1="15"/>
<!-- for VOIP input, 4 * 10ms buffer -->
- <usecase id="UC_VOIP_RECORD" dev1="17" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="2"/>
+ <usecase id="UC_VOIP_RECORD" dev1="20" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="2" pcm_ch="4"/>
<!-- for input wit AUDIO_INPUT_FLAG_FAST 480 periods * 1ms buffer, 16-bit, 2ch, buffer size 92160 bytes-->
<usecase id="UC_LOW_LATENCY_AUDIO_RECORD" dev1="10" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="480"/>
<!-- for input wit AUDIO_INPUT_FLAG_MMAP_NOIRQ 240 periods * 1ms buffer, 32-bit,2 ch, buffer size 92160 bytes -->
@@ -223,6 +225,10 @@
<be_cfg be_id="OUT_A2DP_BE_CFG" latency="180000"/>
</usecase>
+ <usecase id="UC_IMMERSIVE_PLAYBACK" type="playback">
+ <be_cfg be_id="OUT_A2DP_BE_CFG" latency="100000"/>
+ </usecase>
+
<usecase id="UC_AUDIO_RECORD" type="capture">
<be_cfg be_id="IN_CAMCORDER_LANDSCAPE_BE_CFG" latency="160000"/>
<be_cfg be_id="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG" latency="160000"/>
@@ -239,10 +245,15 @@
</usecase>
</dsp_latency>
+ <usecase_effect>
+ <usecase id="UC_VOIP_RECORD" effect_lib="audio_speech_enhancer_aoc.so"/>
+ </usecase_effect>
+
<soundcard_name name="google,aoc-snd-card" />
<features>
<feature name="SoundTriggerDockTuning"/>
<feature name="BatteryThrottle=Type:BCL_VOLTAGE,Name:BCL_AUDIO_BAACL,Strategy:WholeSpeaker"/>
+ <feature name="Apmg3"/>
</features>
<cfg_attr>
@@ -280,7 +291,9 @@
<xlate_id>
<item component="TUNING_COMPONENT_WAVES" id="2"/>
<item component="TUNING_COMPONENT_FORTEMEDIA" id="3"/>
+ <item component="TUNING_COMPONENT_APMG3" id="24"/>
<item component="TUNING_COMPONENT_CAMCORDER" id="6"/>
+ <item component="TUNING_COMPONENT_STEREO_SPATIALIZER" id="26"/>
</xlate_id>
<voip_db_mapping>
@@ -293,11 +306,15 @@
</device_handle>
<external_module>
- <module libname="audio_waves_aoc.so" argu="Sink=SPK:1,USB_DOCK:4,USB_HP:4"/>
+ <module libname="audio_waves_aoc.so" argu="Sink=SPK:1,USB_DOCK:4,USB_HP:4 Extensions=StereoSpatializer"/>
<module libname="audio_spk_35l41.so" argu="SpeakerNum=4,Rotation"/>
- <module libname="audio_fortemedia_aoc.so" argu="RTN_SUP=y DOCK_CHARGER_MONITOR=y DL_CH=y VoIP_DLCHs=SPK:2,USB:2 VoIP_Rate=32000"/>
<module libname="liboffloadeffect.so"/>
<module libname="audio_amcs_ext.so" argu="SpeakerNum=4" />
<module libname="audio_bluenote_aoc.so"/>
+ <module libname="audio_apmg3_aoc.so"/>
</external_module>
+
+ <hal_effect>
+ <module libname="audio_speech_enhancer_aoc.so"/>
+ </hal_effect>
</audio_platform_configuration>
diff --git a/audio/tangorpro/config/audio_policy_configuration.xml b/audio/tangorpro/config/audio_policy_configuration.xml
index 78c8ea3..15c529b 100644
--- a/audio/tangorpro/config/audio_policy_configuration.xml
+++ b/audio/tangorpro/config/audio_policy_configuration.xml
@@ -58,6 +58,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
+ <mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
+ <profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
<mixPort name="incall playback" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@@ -162,17 +166,17 @@
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
</devicePort>
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
- encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
- encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
- encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
@@ -189,21 +193,21 @@
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Speaker"
- sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,ultrasound output"/>
+ sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,ultrasound output,immersive_out"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,ultrasound output"/>
<route type="mix" sink="BT A2DP Out"
- sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
+ sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out,immersive_out"/>
<route type="mix" sink="BT A2DP Headphones"
- sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
+ sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out,immersive_out"/>
<route type="mix" sink="BT A2DP Speaker"
- sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
+ sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out,immersive_out"/>
<route type="mix" sink="USB Device Out"
- sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
+ sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="USB Dock"
- sources="primary output,deep buffer,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
+ sources="primary output,deep buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="USB Headset Out"
- sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
+ sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="BT SCO"
sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Headset"
diff --git a/audio/tangorpro/config/audio_policy_configuration_a2dp_offload_disabled.xml b/audio/tangorpro/config/audio_policy_configuration_a2dp_offload_disabled.xml
index d201379..b373ecc 100644
--- a/audio/tangorpro/config/audio_policy_configuration_a2dp_offload_disabled.xml
+++ b/audio/tangorpro/config/audio_policy_configuration_a2dp_offload_disabled.xml
@@ -58,6 +58,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
+ <mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
+ <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
<mixPort name="incall playback" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@@ -178,11 +182,11 @@
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,ultrasound output"/>
<route type="mix" sink="USB Device Out"
- sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
+ sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="USB Headset Out"
- sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
+ sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="USB Dock"
- sources="primary output,deep buffer,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
+ sources="primary output,deep buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="BT SCO"
sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Headset"
diff --git a/audio/tangorpro/config/mixer_paths.xml b/audio/tangorpro/config/mixer_paths.xml
index a252a43..a2f8ea2 100644
--- a/audio/tangorpro/config/mixer_paths.xml
+++ b/audio/tangorpro/config/mixer_paths.xml
@@ -155,6 +155,7 @@
<ctl name="TDM_0_RX Mixer VOIP" value="0"/>
<ctl name="TDM_0_RX Mixer RAW" value="0"/>
<ctl name="TDM_0_RX Mixer US" value="0"/>
+ <ctl name="TDM_0_RX Mixer IMSV" value="0"/>
<ctl name="TDM_1_RX Mixer EP1" value="0"/>
<ctl name="TDM_1_RX Mixer EP2" value="0"/>
@@ -177,6 +178,7 @@
<ctl name="USB_RX Mixer VOIP" value="0"/>
<ctl name="USB_RX Mixer HIFI" value="0"/>
<ctl name="USB_RX Mixer RAW" value="0"/>
+ <ctl name="USB_RX Mixer IMSV" value="0"/>
<ctl name="BT_RX Mixer EP1" value="0"/>
<ctl name="BT_RX Mixer EP2" value="0"/>
@@ -188,6 +190,7 @@
<ctl name="BT_RX Mixer NoHost1" value="0"/>
<ctl name="BT_RX Mixer VOIP" value="0"/>
<ctl name="BT_RX Mixer RAW" value="0"/>
+ <ctl name="BT_RX Mixer IMSV" value="0"/>
<ctl name="INCALL_RX Mixer EP1" value="0"/>
<ctl name="INCALL_RX Mixer EP2" value="0"/>
@@ -607,14 +610,17 @@
</path>
<path name="voip-recordC">
+ <ctl name="Incall Capture Stream0" value="3MIC"/>
<ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1"/>
</path>
<path name="voip-recordC usb-headset-mic">
+ <ctl name="Incall Capture Stream0" value="3MIC"/>
<ctl name="VOIP TX Mixer USB_TX" value="1"/>
</path>
<path name="voip-recordC bt-mic">
+ <ctl name="Incall Capture Stream0" value="3MIC"/>
<ctl name="VOIP TX Mixer BT_TX" value="1"/>
</path>
diff --git a/audio/tangorpro/tuning/apmg3/downlink_dock_config.pb b/audio/tangorpro/tuning/apmg3/downlink_dock_config.pb
new file mode 100644
index 0000000..bd2111b
--- /dev/null
+++ b/audio/tangorpro/tuning/apmg3/downlink_dock_config.pb
Binary files differ
diff --git a/audio/tangorpro/tuning/apmg3/downlink_headset_config.pb b/audio/tangorpro/tuning/apmg3/downlink_headset_config.pb
new file mode 100644
index 0000000..86eb4bc
--- /dev/null
+++ b/audio/tangorpro/tuning/apmg3/downlink_headset_config.pb
Binary files differ
diff --git a/audio/tangorpro/tuning/apmg3/downlink_tablet_stereo_config.pb b/audio/tangorpro/tuning/apmg3/downlink_tablet_stereo_config.pb
new file mode 100644
index 0000000..2ea4f92
--- /dev/null
+++ b/audio/tangorpro/tuning/apmg3/downlink_tablet_stereo_config.pb
Binary files differ
diff --git a/audio/tangorpro/tuning/apmg3/uplink_dock_aec_off_config.pb b/audio/tangorpro/tuning/apmg3/uplink_dock_aec_off_config.pb
new file mode 100644
index 0000000..bd8b720
--- /dev/null
+++ b/audio/tangorpro/tuning/apmg3/uplink_dock_aec_off_config.pb
Binary files differ
diff --git a/audio/tangorpro/tuning/apmg3/uplink_dock_config.pb b/audio/tangorpro/tuning/apmg3/uplink_dock_config.pb
new file mode 100644
index 0000000..7996795
--- /dev/null
+++ b/audio/tangorpro/tuning/apmg3/uplink_dock_config.pb
Binary files differ
diff --git a/audio/tangorpro/tuning/apmg3/uplink_headset_aec_off_config.pb b/audio/tangorpro/tuning/apmg3/uplink_headset_aec_off_config.pb
new file mode 100644
index 0000000..03f7574
--- /dev/null
+++ b/audio/tangorpro/tuning/apmg3/uplink_headset_aec_off_config.pb
Binary files differ
diff --git a/audio/tangorpro/tuning/apmg3/uplink_headset_config.pb b/audio/tangorpro/tuning/apmg3/uplink_headset_config.pb
new file mode 100644
index 0000000..b2c4aa6
--- /dev/null
+++ b/audio/tangorpro/tuning/apmg3/uplink_headset_config.pb
Binary files differ
diff --git a/audio/tangorpro/tuning/apmg3/uplink_tablet_stereo_aec_off_config.pb b/audio/tangorpro/tuning/apmg3/uplink_tablet_stereo_aec_off_config.pb
new file mode 100644
index 0000000..eb615ce
--- /dev/null
+++ b/audio/tangorpro/tuning/apmg3/uplink_tablet_stereo_aec_off_config.pb
Binary files differ
diff --git a/audio/tangorpro/tuning/apmg3/uplink_tablet_stereo_config.pb b/audio/tangorpro/tuning/apmg3/uplink_tablet_stereo_config.pb
new file mode 100644
index 0000000..4c8a821
--- /dev/null
+++ b/audio/tangorpro/tuning/apmg3/uplink_tablet_stereo_config.pb
Binary files differ
diff --git a/audio/tangorpro/tuning/waves/waves_config.ini b/audio/tangorpro/tuning/waves/waves_config.ini
index 21b7a19..61f1cc4 100644
--- a/audio/tangorpro/tuning/waves/waves_config.ini
+++ b/audio/tangorpro/tuning/waves/waves_config.ini
@@ -30,6 +30,7 @@ SPEAKER_MUSIC = OM:1,SM:2,OST:OST_SPEAKER
SPEAKER_SAFE_MUSIC = OM:1,SM:2,OST:OST_SPEAKER
SPEAKER_SAFE_CALL = OM:1,SM:2,OST:OST_SPEAKER
SPEAKER_MUSIC_2_1 = OM:6,SM:2
+SPEAKER_RESERVED_MUSIC = OM:1,SM:3,OST:OST_SPEAKER
DOCKSPEAKER_MUSIC = OM:4,SM:2
DOCKSPEAKER_VOICE_MUSIC = OM:7,SM:2
@@ -39,7 +40,7 @@ DOCKSPEAKER_VOICE_MUSIC = OM:7,SM:2
# This can be configured by Waves or platform vendor.
########################################################################################################
[HAL_SUPPORTED_CONTROLS]
-SPEAKER_INSTANCE = INSTANCE:1,DEV:0,SR:SR_COMMON,PRESET:SPEAKER_MUSIC|SPEAKER_SAFE_MUSIC|SPEAKER_SAFE_CALL|SPEAKER_MUSIC_2_1
+SPEAKER_INSTANCE = INSTANCE:1,DEV:0,SR:SR_COMMON,PRESET:SPEAKER_MUSIC|SPEAKER_SAFE_MUSIC|SPEAKER_SAFE_CALL|SPEAKER_MUSIC_2_1|SPEAKER_RESERVED_MUSIC
DOCKSPEAKER_INSTANCE = INSTANCE:4,DEV:0,SR:SR_COMMON,PRESET:DOCKSPEAKER_MUSIC|DOCKSPEAKER_VOICE_MUSIC
[COEFS_CONVERTER_SETTING]
@@ -54,14 +55,16 @@ AlgFxPath64=/vendor/lib64/libAlgFx_HiFi3z.so
#AudioFormatIncrement=8
[CUSTOM_ACTION_259]
-CASE_1=PRIORITY:0,NUMBERS:2:0|1:0,PRESET:SPEAKER_MUSIC
-CASE_2=PRIORITY:1,NUMBERS:1|2|4194304:2|3|4:0|1,PRESET:SPEAKER_SAFE_CALL
-CASE_3=PRIORITY:2,NUMBERS:1|4194304:0|1:0|1,PRESET:SPEAKER_SAFE_MUSIC
-CASE_4=PRIORITY:3,NUMBERS:4096|16384|67108864:0|1|4:0|1,PRESET:DOCKSPEAKER_MUSIC
-CASE_5=PRIORITY:4,NUMBERS:2:0|1:1,PRESET:SPEAKER_MUSIC_2_1
-CASE_6=PRIORITY:5,NUMBERS:4096|16384|67108864:2|3:0|1,PRESET:DOCKSPEAKER_VOICE_MUSIC
+CASE_1=PRIORITY:0,NUMBERS:2:0|1:0:0,PRESET:SPEAKER_MUSIC
+CASE_2=PRIORITY:1,NUMBERS:1|2|4194304:2|3|4:0|1:0|1,PRESET:SPEAKER_SAFE_CALL
+CASE_3=PRIORITY:2,NUMBERS:1|4194304:0|1:0|1:0|1,PRESET:SPEAKER_SAFE_MUSIC
+CASE_4=PRIORITY:3,NUMBERS:4096|16384|67108864:0|1|4:0|1:0|1,PRESET:DOCKSPEAKER_MUSIC
+CASE_5=PRIORITY:4,NUMBERS:2:0|1:1:0|1,PRESET:SPEAKER_MUSIC_2_1
+CASE_6=PRIORITY:5,NUMBERS:4096|16384|67108864:2|3:0|1:0|1,PRESET:DOCKSPEAKER_VOICE_MUSIC
+CASE_7=PRIORITY:6,NUMBERS:2:0|1:0:1,PRESET:SPEAKER_RESERVED_MUSIC
-# Action 259 parameters: audio_devices_t, audio_mode_t, is_dock_speaker_active_t
+# Action 259 parameters: audio_devices_t, audio_mode_t, is_dock_speaker_active_t, is_spatial_audio_active_t
# - audio_devices_t : current active device
# - audio_mode_t : 0 - normal, 1 - incoming, 2 - voice call, 3 - voip
-# - is_dock_speaker_active_t: 0 - Disabled, 1 - Enabled \ No newline at end of file
+# - is_dock_speaker_active_t: 0 - Disabled, 1 - Enabled
+# - is_spatial_audio_active_t: 0 - Disabled, 1 - Enabled
diff --git a/audio/tangorpro/tuning/waves/waves_preset.mps b/audio/tangorpro/tuning/waves/waves_preset.mps
index 36d7de5..50e9600 100644
--- a/audio/tangorpro/tuning/waves/waves_preset.mps
+++ b/audio/tangorpro/tuning/waves/waves_preset.mps
Binary files differ
diff --git a/bluetooth/syna_default.mk b/bluetooth/syna_default.mk
index 72a3015..53a04b1 100644
--- a/bluetooth/syna_default.mk
+++ b/bluetooth/syna_default.mk
@@ -15,9 +15,22 @@
# limitations under the License.
#
+# Override BQR mask to enable LE Audio Choppy report
+ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
+PRODUCT_PRODUCT_PROPERTIES += \
+ persist.bluetooth.bqr.event_mask=262238
+else
+PRODUCT_PRODUCT_PROPERTIES += \
+ persist.bluetooth.bqr.event_mask=94
+endif
+
+# Not support LE Audio dual mic SWB call based on the current launch strategy
+PRODUCT_PRODUCT_PROPERTIES += \
+ bluetooth.leaudio.dual_bidirection_swb.supported=false
+
# Bluetooth Super Wide Band
PRODUCT_PRODUCT_PROPERTIES += \
- bluetooth.hfp.swb.supported=true
+ bluetooth.hfp.swb.supported=false
# Bluetooth LE Audio
PRODUCT_PRODUCT_PROPERTIES += \
@@ -29,6 +42,10 @@ PRODUCT_PRODUCT_PROPERTIES += \
bluetooth.profile.ccp.server.enabled?=true \
bluetooth.profile.vcp.controller.enabled?=true \
+# LE Audio Lunch Config for Phase 1 (LE audio toggle hidden by default)
+PRODUCT_PRODUCT_PROPERTIES += \
+ persist.bluetooth.leaudio.toggle_visible=false
+
# Bluetooth HAL and Pixel extension
DEVICE_MANIFEST_FILE += \
device/google/tangorpro/bluetooth/manifest_bluetooth.xml
@@ -55,7 +72,7 @@ PRODUCT_PROPERTY_OVERRIDES += \
PRODUCT_PROPERTY_OVERRIDES += \
ro.bluetooth.a2dp_offload.supported=true \
persist.bluetooth.a2dp_offload.disabled=false \
- persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac
+ persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac-opus
PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.firmware.selection="BTFW.hcd"
diff --git a/conf/init.tangorpro.rc b/conf/init.tangorpro.rc
index afcbf90..95f92ef 100644
--- a/conf/init.tangorpro.rc
+++ b/conf/init.tangorpro.rc
@@ -1,6 +1,9 @@
# Tangorpro specific init.rc
import /vendor/etc/init/hw/init.gs201.rc
+on init && property:ro.build.flavor=tangorpro-userdebug
+ import /vendor/etc/init/hw/init.tangorpro.userdebug.rc
+
on init && property:ro.vendor.factory=1
import /vendor/etc/init/hw/init.factory.rc
diff --git a/device-tangorpro.mk b/device-tangorpro.mk
index b51c64b..ae62f59 100644
--- a/device-tangorpro.mk
+++ b/device-tangorpro.mk
@@ -106,6 +106,23 @@ PRODUCT_SOONG_NAMESPACES += device/google/tangorpro/powerstats
# Bluetooth HAL and Pixel extension
include device/google/tangorpro/bluetooth/syna_default.mk
+# Spatial Audio
+PRODUCT_PACKAGES += \
+ libspatialaudio
+
+# optimize spatializer effect
+PRODUCT_PROPERTY_OVERRIDES += \
+ audio.spatializer.effect.util_clamp_min=300
+
+# declare use of spatial audio
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.audio.spatializer_enabled=true \
+ persist.vendor.audio.spatializer.speaker_enabled=true
+
+# Bluetooth OPUS codec
+PRODUCT_PRODUCT_PROPERTIES += \
+ persist.bluetooth.opus.enabled=true
+
# Keymaster HAL
#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service
@@ -150,9 +167,6 @@ PRODUCT_SOONG_NAMESPACES += vendor/google_devices/tangorpro/prebuilts
PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.wifi.sap.interface=wlan1
-# Set ro.crypto.metadata_init_delete_all_keys.enabled to false to unblock boot
-PRODUCT_PROPERTY_OVERRIDES += ro.crypto.metadata_init_delete_all_keys.enabled=false
-
# Assistant minimum volume
PRODUCT_PROPERTY_OVERRIDES += \
ro.config.assistant_vol_min=1
@@ -259,6 +273,14 @@ PRODUCT_PROPERTY_OVERRIDES += \
PRODUCT_VENDOR_PROPERTIES += \
persist.vendor.camera.exif_reveal_make_model=true
+# Audio
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.audio.multi_usb_mode=true
+
+# Audio package
+PRODUCT_PACKAGES += \
+ audio_apmg3_aoc
+
# AudioProxy
PRODUCT_PACKAGES += \
libaudio_proxy.google \
@@ -266,6 +288,14 @@ PRODUCT_PACKAGES += \
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := device/google/tangorpro/device_framework_matrix_product_tangorpro.xml
+#Audio
+PRODUCT_PROPERTY_OVERRIDES += \
+ persist.vendor.audio.speech_enhancement.enable=1
+
+PRODUCT_PACKAGES += \
+ libspeechenhancer \
+ audio_speech_enhancer_aoc
+
PRODUCT_COPY_FILES += \
device/google/tangorpro/public.libraries-google-tangorpro.txt:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/public.libraries-google.txt
diff --git a/manifest.xml b/manifest.xml
index 8ece978..a427ac0 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -99,16 +99,6 @@
<fqname>@1.2::IBootControl/default</fqname>
</hal>
<hal format="hidl">
- <name>android.hardware.neuralnetworks</name>
- <transport>hwbinder</transport>
- <version>1.2</version>
- <interface>
- <name>IDevice</name>
- <instance>armnn</instance>
- </interface>
- <fqname>@1.2::IDevice/armnn</fqname>
- </hal>
- <hal format="hidl">
<name>android.hardware.neuralnetworks</name>
<transport>hwbinder</transport>
<fqname>@1.3::IDevice/google-edgetpu</fqname>
diff --git a/powerhint.json b/powerhint.json
index 7659880..5ba5566 100644
--- a/powerhint.json
+++ b/powerhint.json
@@ -293,6 +293,14 @@
"ResetOnInit": true
},
{
+ "Name": "NewlyIdleBalancer",
+ "Path": "/proc/vendor_sched/idle_balancer",
+ "Values": [
+ "0",
+ "1"
+ ],
+ },
+ {
"Name": "DisplayWakeup",
"Path": "/sys/devices/platform/1c240000.drmdecon/early_wakeup",
"Values": [
@@ -693,30 +701,6 @@
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
- "EnableProperty": "vendor.powerhal.camerarunning",
- "Value": "CDCPUSET_RESTRICTED"
- },
- {
- "PowerHint": "LAUNCH",
- "Type": "DoHint",
- "EnableProperty": "vendor.powerhal.camerarunning",
- "Value": "CDHIGHCPUSETCPUS_RESTRICTED"
- },
- {
- "PowerHint": "LAUNCH",
- "Type": "DoHint",
- "EnableProperty": "vendor.powerhal.camerarunning",
- "Value": "CDMIDCPUSETCPUS_RESTRICTED"
- },
- {
- "PowerHint": "LAUNCH",
- "Type": "DoHint",
- "EnableProperty": "vendor.powerhal.camerarunning",
- "Value": "CDMIDHIGHCPUSETCPUS_RESTRICTED"
- },
- {
- "PowerHint": "LAUNCH",
- "Type": "DoHint",
"Value": "LAUNCH_EXTEND"
},
{
@@ -1062,6 +1046,12 @@
"Value": "0"
},
{
+ "PowerHint": "CAMERA_STREAMING_EXTREME",
+ "Node": "NewlyIdleBalancer",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "PowerHALCameraRunning",
"Duration": 0,
@@ -1134,6 +1124,12 @@
"Value": "0"
},
{
+ "PowerHint": "CAMERA_STREAMING_HIGH",
+ "Node": "NewlyIdleBalancer",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "PowerHALCameraRunning",
"Duration": 0,
@@ -1230,6 +1226,12 @@
"Value": "0"
},
{
+ "PowerHint": "CAMERA_STREAMING_STANDARD",
+ "Node": "NewlyIdleBalancer",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
"PowerHint": "CAMERA_STREAMING_LOW",
"Node": "PowerHALCameraRunning",
"Duration": 0,
@@ -1290,6 +1292,12 @@
"Value": "0"
},
{
+ "PowerHint": "CAMERA_STREAMING_LOW",
+ "Node": "NewlyIdleBalancer",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
"Value": "CDCPUSET_RESTRICTED"
@@ -1610,72 +1618,6 @@
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
- "Node": "PMU_POLL",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
- "Node": "BigControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
- "Node": "MidControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
- "Node": "LittleControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
- "Node": "G3dControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
- "Node": "TpuControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
- "Node": "BigSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
- "Node": "MidSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
- "Node": "LittleSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
- "Node": "G3dSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
- "Node": "TpuSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
"Node": "Dex2oatThreads",
"Duration": 0,
"Value": "4"
@@ -1687,186 +1629,12 @@
"Value": "0,1,2,3"
},
{
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
- "Node": "Dex2oatGroup",
- "Duration": 0,
- "Value": "0"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
- "Node": "PMU_POLL",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
- "Node": "BigControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
- "Node": "MidControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
- "Node": "LittleControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
- "Node": "G3dControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
- "Node": "TpuControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
- "Node": "BigSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
- "Node": "MidSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
- "Node": "LittleSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
- "Node": "G3dSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
- "Node": "TpuSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
- "Node": "Dex2oatThreads",
- "Duration": 0,
- "Value": "4"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
- "Node": "Dex2oatCPUSet",
- "Duration": 0,
- "Value": "0,1,2,3"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
- "Node": "Dex2oatGroup",
- "Duration": 0,
- "Value": "0"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
- "Node": "PMU_POLL",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
- "Node": "BigControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
- "Node": "MidControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
- "Node": "LittleControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
- "Node": "G3dControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
- "Node": "TpuControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
- "Node": "BigSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
- "Node": "MidSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
- "Node": "LittleSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
- "Node": "G3dSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
- "Node": "TpuSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
"Node": "Dex2oatThreads",
"Duration": 0,
"Value": "2"
},
{
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
- "Node": "Dex2oatCPUSet",
- "Duration": 0,
- "Value": "0,1,2,3"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
- "Node": "Dex2oatGroup",
- "Duration": 0,
- "Value": "0"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
- "Node": "PMU_POLL",
- "Duration": 0,
- "Value": "1"
- },
- {
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
"Node": "CPU_LITTLE_TSKIN_BYPASS",
"Duration": 0,
@@ -1886,83 +1654,11 @@
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
- "Node": "BigControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
- "Node": "MidControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
- "Node": "LittleControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
- "Node": "G3dControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
- "Node": "TpuControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
- "Node": "BigSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
- "Node": "MidSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
- "Node": "LittleSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
- "Node": "G3dSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
- "Node": "TpuSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
"Node": "Dex2oatThreads",
"Duration": 0,
"Value": "1"
},
{
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
- "Node": "Dex2oatCPUSet",
- "Duration": 0,
- "Value": "0,1,2,3"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
- "Node": "Dex2oatGroup",
- "Duration": 0,
- "Value": "0"
- },
- {
"PowerHint": "FP_BOOST",
"Node": "CPUBigClusterMaxFreq",
"Duration": 1000,
@@ -2040,7 +1736,7 @@
"EarlyBoost_On": false,
"EarlyBoost_TimeFactor": 0.0,
"TargetTimeFactor": 1.0,
- "StaleTimeFactor": 20.0
+ "StaleTimeFactor": 15.0
},
{
"Name": "UiHighBoostWithoutPid",
diff --git a/tangorpro/overlay/frameworks/base/core/res/res/values/config.xml b/tangorpro/overlay/frameworks/base/core/res/res/values/config.xml
index f38e22f..15b02f6 100644
--- a/tangorpro/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/tangorpro/overlay/frameworks/base/core/res/res/values/config.xml
@@ -348,8 +348,8 @@
<!-- Indicates whether device has a power button fingerprint sensor. -->
<bool name="config_is_powerbutton_fps">true</bool>
- <dimen name="status_bar_height_default">104px</dimen>
- <dimen name="status_bar_height_portrait">104px</dimen>
+ <dimen name="status_bar_height_default">36dp</dimen>
+ <dimen name="status_bar_height_portrait">36dp</dimen>
<!-- Control whether the pickup gesture is enabled by default. This value will be used
during initialization when the setting is still null. -->
@@ -636,7 +636,7 @@
<!-- Enable the system motion prediction model. -->
<bool name="config_enableMotionPrediction">true</bool>
- <integer name="config_motionPredictionOffsetNanos">20000000</integer> <!-- 20 ms -->
+ <integer name="config_motionPredictionOffsetNanos">-4000000</integer> <!-- -4 ms -->
<!-- Whether to reset Battery Stats on unplug when the battery level is high. -->
<bool name="config_batteryStatsResetOnUnplugHighBatteryLevel">false</bool>
diff --git a/wifi/BoardConfig-wifi.mk b/wifi/BoardConfig-wifi.mk
index 0aaffe5..89896ad 100644
--- a/wifi/BoardConfig-wifi.mk
+++ b/wifi/BoardConfig-wifi.mk
@@ -32,3 +32,6 @@ WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
PRODUCT_COPY_FILES += \
device/google/tangorpro/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \
device/google/tangorpro/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf
+
+# Add WIFI_FEATURE_IMU_DETECTION to soong_config
+$(call soong_config_set,wifi,feature_imu_detection,$(WIFI_FEATURE_IMU_DETECTION))