Initialize Tegu

Copy tegu from caimito c3019ae

Bug: 298309659
Change-Id: I7d168ff0c60b7c3696239c12534ea3cfac239c1a
This commit is contained in:
Wilson Sung 2023-09-14 22:49:06 +08:00
parent 4766e70a6f
commit a5146d127e
119 changed files with 228227 additions and 0 deletions

View file

@ -0,0 +1,73 @@
#
# Copyright (C) 2020 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.
#
AUDIO_TABLE_FOLDER := tegu
# Platform Configuration for AudioHAL / SoundTriggerHAL
PRODUCT_COPY_FILES += \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_a2dp_offload_disabled.xml \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/config/audio_platform_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_configuration.xml \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/config/sound_trigger_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_configuration.xml
# AudioEffectHAL Configuration
PRODUCT_COPY_FILES += \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/config/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml
# Mixer Path Configuration for AudioHAL
PRODUCT_COPY_FILES += \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/config/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml
# Speaker firmware files
SPK_FIRMWARE_PATH := $(AUDIO_TABLE_FOLDER)/cs35l41/fw
SPK_FIRMWARE_FULL_PATH := device/google/tegu/audio/$(SPK_FIRMWARE_PATH)
PRODUCT_COPY_FILES += $(call copy-files,$(wildcard $(SPK_FIRMWARE_FULL_PATH)/*),$(TARGET_COPY_OUT_VENDOR)/firmware)
# Audio tuning
PRODUCT_COPY_FILES += \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/tuning/bluenote/recording.gatf:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/recording.gatf \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/BLUETOOTH.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/BLUETOOTH.dat \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSFREE.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSFREE.dat \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSET.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSET.dat \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HEADSET.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HEADSET.dat \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/mcps.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/mcps.dat \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/waves_config.ini:$(TARGET_COPY_OUT_VENDOR)/etc/waves_config.ini \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/waves_preset.mps:$(TARGET_COPY_OUT_VENDOR)/etc/waves_preset.mps
# userdebug specific
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_COPY_FILES += \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/BLUETOOTH.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/BLUETOOTH.mods \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSFREE.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSFREE.mods \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSET.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSET.mods \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HEADSET.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HEADSET.mods
#Bluenote files
PRODUCT_COPY_FILES += \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/tuning/bluenote/template.xml:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/template.xml \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/tuning/bluenote/tuning_constraints_combination.xml:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/tuning_constraints_combination.xml
# Mixer Path Configuration for Audio Speaker Calibration Tool crus_sp_cal
PRODUCT_COPY_FILES += \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/cs35l41/crus_sp_cal_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/crus_sp_cal_mixer_paths.xml
PRODUCT_COPY_FILES += \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/tests/test_config.ini:$(TARGET_COPY_OUT_VENDOR)/etc/test_config.ini \
device/google/tegu/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/tests/test_preset.mps:$(TARGET_COPY_OUT_VENDOR)/etc/test_preset.mps
endif

View file

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
<libraries>
<library name="bundle" path="libbundlewrapper.so"/>
<library name="reverb" path="libreverbwrapper.so"/>
<library name="visualizer_sw" path="libvisualizer.so"/>
<library name="downmix" path="libdownmix.so"/>
<library name="dynamics_processing" path="libdynproc.so"/>
<library name="loudness_enhancer" path="libldnhncr.so"/>
<library name="proxy" path="libeffectproxy.so"/>
<library name="offload_effect" path="liboffloadeffect.so"/>
<library name="haptic_generator" path="libhapticgenerator.so"/>
</libraries>
<effects>
<effectProxy name="bassboost" library="proxy" uuid="2f0871a2-c93c-4824-9664-42eb2909f2ef">
<libsw library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
<libhw library="offload_effect" uuid="c7e3b29d-e797-4cf9-9912-17c1956510cc"/>
</effectProxy>
<effectProxy name="virtualizer" library="proxy" uuid="626499c6-647e-455e-8c45-2d106e23c755">
<libsw library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
<libhw library="offload_effect" uuid="f8f88a03-fdf8-4554-8e60-77fbf8f2d3b0"/>
</effectProxy>
<effectProxy name="equalizer" library="proxy" uuid="49004f03-3391-4c44-97dd-a043d526ea7d">
<libsw library="bundle" uuid="ce772f20-847d-11df-bb17-0002a5d5c51b"/>
<libhw library="offload_effect" uuid="50deaa30-4a83-4b1f-bfe3-dec6d605ede0"/>
</effectProxy>
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
<effectProxy name="reverb_env_aux" library="proxy" uuid="b8154738-a0a1-4fc0-bb79-c845a3197739">
<libsw library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
<libhw library="offload_effect" uuid="0c84bcd9-bce4-441b-ba9e-51f80897c949"/>
</effectProxy>
<effectProxy name="reverb_env_ins" library="proxy" uuid="ba0f19fe-8790-4831-a58b-1f3299dd0bae">
<libsw library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
<libhw library="offload_effect" uuid="86d1877a-127f-4bdc-9665-c958903ad7b2"/>
</effectProxy>
<effectProxy name="reverb_pre_aux" library="proxy" uuid="80974a8b-b3be-4c21-8c0b-b392a54e13bc">
<libsw library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
<libhw library="offload_effect" uuid="4f90220c-9742-4467-a9d7-122f85c01195"/>
</effectProxy>
<effectProxy name="reverb_pre_ins" library="proxy" uuid="c02d7dce-ca56-4aea-8c83-bbb53e5600e8">
<libsw library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
<libhw library="offload_effect" uuid="a2cf6b45-360b-49f3-94d7-fdb9837f89e8"/>
</effectProxy>
<effectProxy name="visualizer" library="proxy" uuid="b27271d9-64d6-413c-b316-80005ad09008">
<libsw library="visualizer_sw" uuid="d069d9e0-8329-11df-9168-0002a5d5c51b"/>
<libhw library="offload_effect" uuid="99fb2ecb-3426-4a0e-8082-1a1da5604b7d"/>
</effectProxy>
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
<effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>
<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="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
</effects>
<postprocess>
</postprocess>
<preprocess>
<stream type="voice_communication">
<apply effect="aec"/>
<apply effect="ns"/>
</stream>
</preprocess>
</audio_effects_conf>

View file

@ -0,0 +1,304 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2019, 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>
<hw_intf>
<intf id="BE_HW_RX_INTF_0" name="TDM_RX_0" min_bit="24" min_chan="2" min_rate="48000" block_id="16"/>
<intf id="BE_HW_RX_INTF_1" name="TDM_RX_1" min_bit="24" min_chan="2" min_rate="48000" block_id="17"/>
<intf id="BE_HW_RX_INTF_2" name="USB_RX" min_bit="24" min_chan="2" min_rate="48000" block_id="20"/>
<intf id="BE_HW_RX_INTF_3" name="I2S_RX_0" min_bit="24" min_chan="2" min_rate="48000" block_id="18"/>
<!--intf id="BE_HW_RX_INTF_2" name="USB_RX" min_bit="24" min_chan="2" min_rate="48000" ctrl_config="USB device" ctrl_rate="Sample Rate" ctrl_bit="Bit Width" ctrl_chan="Channel"/-->
<!--intf id="BE_HW_RX_INTF_3" name="BT_RX"/-->
<intf id="BE_VIRTUAL_VOICE_RX_TUNING" block_id="19"/>
<intf id="BE_VIRTUAL_VOICE_TX_TUNING" block_id="19"/>
<intf id="BE_HW_TX_INTF_0" block_id="134,128,137"/>
<intf id="BE_VIRTUAL_CRYSTAL_CLEAR_AUDIO_TUNING" block_id="138"/>
</hw_intf>
<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>
<!-- The microphone capability is fake data -->
<microphone_characteristics>
<microphone device_id="builtin_mic_1" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="bottom" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
group="0" index_in_the_group="0" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="93"
frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
responses="-0.78 -0.71 -0.64 -0.60 -0.55 -0.50 -0.47 -0.42 -0.39 -0.36 -0.34 -0.33 -0.32 -0.29 -0.28 -0.28 -0.27 -0.25 -0.25 -0.24 -0.23 -0.23 -0.22 -0.22 -0.19 -0.17 -0.15 -0.15 -0.14 -0.14 -0.12 -0.11 -0.10 -0.10 -0.08 -0.07 -0.07 -0.04 -0.03 -0.01 0.00 0.04 0.06 0.07 0.08 0.13 0.09 0.14 0.19 0.23 0.28 0.29 0.31 0.37 0.88 0.86 0.77 0.78 0.84 0.86 1.05 1.12 1.18 1.25 1.43 1.66 1.83 2.02 2.23 2.59 2.84 3.35 4.01 6.82 6.62 6.42 7.30 8.23 7.54 12.68 13.76 18.69 19.68 20.90 23.70 25.10 21.65 16.18 18.84 25.44 23.48 23.22 24.89"
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0269 0.0058 0.0079" />
<microphone device_id="builtin_mic_2" type="AUDIO_DEVICE_IN_BACK_MIC" address="back" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
group="0" index_in_the_group="1" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
frequencies="106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
responses="-0.75 -0.74 -0.69 -0.65 -0.62 -0.61 -0.56 -0.53 -0.50 -0.47 -0.43 -0.40 -0.37 -0.36 -0.33 -0.30 -0.28 -0.25 -0.24 -0.24 -0.24 -0.25 -0.24 -0.12 -0.10 -0.08 -0.09 -0.07 -0.07 -0.06 -0.06 -0.06 -0.05 -0.04 -0.05 -0.04 -0.01 0.02 0.02 0.00 0.02 0.03 0.07 0.10 0.10 0.13 0.01 0.01 0.10 0.11 0.19 0.24 0.38 0.46 0.26 0.27 0.43 0.76 0.75 1.09 1.09 0.94 1.06 1.21 1.47 1.45 1.36 2.07 2.85 2.90 3.85 4.65 5.84 5.46 6.15 7.50 8.30 10.62 12.70 16.65 20.95 25.41 26.32 20.20 16.60 11.24 7.85 7.62 20.19 7.32 2.87 5.18"
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 1.0 0.0" geometric_location="0.0546 0.1456 0.00415" />
<microphone device_id="builtin_mic_3" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="top" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
group="0" index_in_the_group="2" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00"
responses="-9.24 -9.31 -9.39 -9.45 -9.46 -9.47 -9.50 -9.52 -9.51 -9.52 -9.51 -9.50 -9.49 -9.47 -9.48 -9.49 -9.48 -9.50 -9.51 -9.53 -9.55 -9.59 -9.63 -9.67 -9.58 -9.57 -9.65 -9.68 -9.71 -9.75 -9.79 -9.84 -9.87 -9.87 -9.90 -9.90 -9.91 -9.97 -10.01 -10.05 -9.85 -9.93 -9.94 -9.98 -10.04 -10.12 -10.28 -10.25 -10.01 -9.86 -9.81 -9.82 -9.61 -9.46 -8.27 -8.42 -8.98 -8.99 -8.82 -9.21 -8.92 -8.97 -9.30 -9.44 -9.52 -9.28 -9.09 -8.81 -7.02 -5.72 -5.30 -7.26 -8.39 -12.28 -8.23 -6.99 -5.52 -4.87 -3.82 -6.09 0.00 -2.15 -0.26 1.48 5.22 10.92 6.41 9.55 12.96 3.35 22.00 19.75"
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0274 0.14065 0.0079" />
</microphone_characteristics>
<!-- The microphone mapping of backend device is fake data -->
<input_backend_cfg_mic_mapping>
<backend_cfg in_cfg="IN_CAMCORDER_LANDSCAPE_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_CAMCORDER_PORTRAIT_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_CAMCORDER_SELFIE_LANDSCAPE_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_CAMCORDER_SELFIE_PORTRAIT_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_HANDSET_MIC_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_VOICECALL_HANDSET_MIC_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_VOICECALL_SPEAKER_MIC_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_USB_TTY_VCO_MIC_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_VOICE_RECOGN_MIC_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
</backend_cfg>
<backend_cfg in_cfg="IN_UNPROCESSED_MIC_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
</backend_cfg>
<backend_cfg in_cfg="IN_UNPROCESSED_DUAL_MIC_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
</backend_cfg>
<backend_cfg in_cfg="IN_UNPROCESSED_TRIPLE_MIC_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
</backend_cfg>
</input_backend_cfg_mic_mapping>
<usecase_attr>
<!-- for output with AUDIO_OUTPUT_FLAG_RAW, 32 periods * 64 frames(around 1.3ms) * 2ch * 4(s32) = 16384 bytes -->
<usecase id="UC_RAW_PLAYBACK" dev1="23" dyn_path="true" dsp_vol="false" mmap="true" period="64" period_num="32"/>
<!-- for output with AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST, 4 * 10ms buffer -->
<usecase id="UC_LOW_LATENCY_PLAYBACK" dev1="1" dyn_path="true" dsp_vol="false" mmap="false" period="10" period_num="4"/>
<!-- for output with AUDIO_OUTPUT_FLAG_MMAP_NOIRQ, 40 periods * 48 frames/period(=1ms w/ 48k sample rate) * 2ch *4(float) = 15360 bytes -->
<usecase id="UC_MMAP_PLAYBACK" dev1="0" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="40"/>
<!-- for output with AUDIO_OUTPUT_FLAG_DEEP_BUFFER, 4 * 20ms buffer -->
<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="30" 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 -->
<usecase id="UC_HAPTIC_AUDIO" dev1="2" dev2="7" period="10" period_num="4"/>
<!-- for VOIP output, 4 * 10ms buffer -->
<usecase id="UC_VOIP_PLAYBACK" dev1="16" dyn_path="true" dsp_vol="true" mmap="false" period="10" period_num="4" pcm_ch="2"/>
<!-- for input -->
<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"/>
<!-- 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 -->
<usecase id="UC_MMAP_RECORD" dev1="9" dyn_path="true" mmap="true" period="1" period_num="240"/>
<!-- for hifi -->
<usecase id="UC_HIFI_PLAYBACK" dev1="25"/>
<usecase id="UC_HIFI_RECORD" dev1="26"/>
</usecase_attr>
<dsp_latency>
<usecase id="UC_LOW_LATENCY_PLAYBACK" type="playback">
<be_cfg be_id="OUT_SPEAKER_BE_CFG" latency="20000"/>
<be_cfg be_id="OUT_USB_HEADSET_BE_CFG" latency="10000"/>
<be_cfg be_id="OUT_USB_HEADPHONE_BE_CFG" latency="10000"/>
<be_cfg be_id="OUT_A2DP_BE_CFG" latency="10000"/>
</usecase>
<usecase id="UC_DEEP_BUFFER_PLAYBACK" type="playback">
<be_cfg be_id="OUT_SPEAKER_BE_CFG" latency="70000"/>
<be_cfg be_id="OUT_USB_HEADSET_BE_CFG" latency="70000"/>
<be_cfg be_id="OUT_USB_HEADPHONE_BE_CFG" latency="70000"/>
<be_cfg be_id="OUT_A2DP_BE_CFG" latency="180000"/>
</usecase>
<usecase id="UC_COMPRESSED_OFFLOAD_PLAYBACK" type="playback">
<be_cfg be_id="OUT_SPEAKER_BE_CFG" latency="40000"/>
<be_cfg be_id="OUT_USB_HEADSET_BE_CFG" latency="40000"/>
<be_cfg be_id="OUT_USB_HEADPHONE_BE_CFG" latency="40000"/>
<be_cfg be_id="OUT_A2DP_BE_CFG" latency="70000"/>
</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"/>
<be_cfg be_id="IN_CAMCORDER_PORTRAIT_BE_CFG" latency="160000"/>
<be_cfg be_id="IN_CAMCORDER_SELFIE_LANDSCAPE_BE_CFG" latency="160000"/>
<be_cfg be_id="IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE_BE_CFG" latency="160000"/>
<be_cfg be_id="IN_CAMCORDER_SELFIE_PORTRAIT_BE_CFG" latency="160000"/>
<be_cfg be_id="IN_BTSCO_MIC_BE_CFG" latency="40000"/>
<be_cfg be_id="IN_BTSCO_MIC_NREC_BE_CFG" latency="40000"/>
<be_cfg be_id="IN_BTSCO_MIC_WB_BE_CFG" latency="40000"/>
<be_cfg be_id="IN_BTSCO_MIC_WB_NREC_BE_CFG" latency="40000"/>
</usecase>
</dsp_latency>
<soundcard_name name="google,aoc-snd-card" />
<cfg_attr>
<cfg id="OUT_SPEAKER_BE_CFG" intf_name="TDM_RX_0" mux="HW_MUX_GP_0" tuning_id="2"/>
<cfg id="OUT_HAC_HANDSET_BE_CFG" intf_name="TDM_RX_1" mux="HW_MUX_GP_1" be_path="hac-handset"/>
<cfg id="OUT_USB_HEADSET_BE_CFG">
<override product="Blackbird" tuning_id="22"/>
<override product="Condor" tuning_id="33"/>
</cfg>
<cfg id="OUT_USB_TTY_FULL_BE_CFG" be_path="usb-headphone" codec_path="usb-headphone"/>
<cfg id="OUT_USB_TTY_VCO_BE_CFG" be_path="usb-headphone" codec_path="usb-headphone"/>
<cfg id="OUT_USB_TTY_HCO_BE_CFG" be_path="NULL" codec_path="voice-speaker"/>
<cfg id="IN_USB_TTY_FULL_MIC_BE_CFG" be_path="usb-headset-mic" codec_path="usb-headset-mic" mux="HW_MUX_GP_0"/>
<cfg id="IN_USB_TTY_VCO_MIC_BE_CFG" be_path="NULL" codec_path="voice-speaker-mic"/>
<cfg id="IN_USB_TTY_HCO_MIC_BE_CFG" be_path="usb-headset-mic" codec_path="usb-headset-mic" mux="HW_MUX_GP_0"/>
<cfg id="IN_SPK_VI_BE_CFG" codec_path="NULL" be_path="spk-vi"/>
<cfg id="IN_HANDSET_MIC_BE_CFG" tuning_id="62"/>
<cfg id="IN_HANDSET_DUAL_MIC_BE_CFG" tuning_id="63"/>
<cfg id="IN_HANDSET_TRIPLE_MIC_BE_CFG" tuning_id="64"/>
<cfg id="IN_CAMCORDER_LANDSCAPE_BE_CFG" tuning_id="70"/>
<cfg id="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG" tuning_id="71"/>
<cfg id="IN_CAMCORDER_PORTRAIT_BE_CFG" tuning_id="72"/>
<cfg id="IN_CAMCORDER_SELFIE_LANDSCAPE_BE_CFG" tuning_id="73"/>
<cfg id="IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE_BE_CFG" tuning_id="74"/>
<cfg id="IN_CAMCORDER_SELFIE_PORTRAIT_BE_CFG" tuning_id="75"/>
<cfg id="IN_CAMCORDER_MIC_BE_CFG" tuning_id="70"/>
<cfg id="IN_CAMCORDER_TRIPLE_MIC_BE_CFG" tuning_id="70"/>
<cfg id="IN_BTSCO_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
<cfg id="IN_BTSCO_MIC_NREC_BE_CFG" mux="HW_MUX_GP_0"/>
<cfg id="IN_BTSCO_MIC_WB_BE_CFG" mux="HW_MUX_GP_0"/>
<cfg id="IN_BTSCO_MIC_WB_NREC_BE_CFG" mux="HW_MUX_GP_0"/>
<cfg id="IN_VOICE_RECOGN_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
<cfg id="IN_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
<cfg id="IN_VOICECALL_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
<cfg id="IN_UNPROCESSED_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
</cfg_attr>
<xlate_id>
<item component="TUNING_COMPONENT_WAVES" id="2"/>
<item component="TUNING_COMPONENT_FORTEMEDIA" id="3"/>
<item component="TUNING_COMPONENT_CAMCORDER" id="6"/>
</xlate_id>
<voip_db_mapping>
<voip_path id="VOIP_RX_USB" value="0.01,0.02,0.04,0.1,0.21,0.47,1.0"/>
</voip_db_mapping>
<device_handle>
<handler libname="audio_bt_aoc.so"/>
<handler libname="audio_usb_aoc.so" argu="MaxSamplingRate=96000,UnsupportedFormat=S24_LE"/>
</device_handle>
<external_module>
<module libname="audio_spk_35l41.so" argu="AcousticShockProtection"/>
<module libname="audio_waves_aoc.so" argu="Sink=SPK:1"/>
<module libname="audio_fortemedia_aoc.so" argu="DL_CH=y VoIP_DLCHs=SPK:2,USB:2 VoIP_Rate=32000"/>
<module libname="liboffloadeffect.so"/>
<module libname="audio_amcs_ext.so"/>
<module libname="audio_bluenote_aoc.so"/>
</external_module>
</audio_platform_configuration>

View file

@ -0,0 +1,255 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (C) 2020 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.
-->
<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<globalConfiguration speaker_drc_enabled="false" call_screen_mode_supported="true" />
<modules>
<!-- Primary Audio HAL -->
<module name="primary" halVersion="2.0">
<attachedDevices>
<item>Speaker</item>
<item>Speaker Safe</item>
<item>Earpiece</item>
<item>Built-In Mic</item>
<item>Built-In Back Mic</item>
<item>Telephony Tx</item>
<item>Voice Call And Telephony Rx</item>
<item>Echo Ref In</item>
</attachedDevices>
<defaultOutputDevice>Speaker</defaultOutputDevice>
<mixPorts>
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY AUDIO_OUTPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="deep buffer" role="source" flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="compressed_offload" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
<profile name="" format="AUDIO_FORMAT_MP3"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_LC"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
<mixPort name="haptic" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_AB" />
</mixPort>
<mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW AUDIO_OUTPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
<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"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
</mixPort>
<mixPort name="voice call tx" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
</mixPort>
<mixPort name="voip_rx" role="source"
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="primary input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_INDEX_MASK_3"/>
</mixPort>
<mixPort name="hotword input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD" maxActiveCount="0" >
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="incall capture" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="voice call rx" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="voip_tx" role="sink"
flags="AUDIO_INPUT_FLAG_VOIP_TX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_RAW AUDIO_INPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="hifi_playback" role="source" />
<mixPort name="hifi_input" role="sink" />
<mixPort name="echo_ref_input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<!-- Output devices declaration, i.e. Sink DEVICE PORT -->
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
</devicePort>
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
</devicePort>
<devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
</devicePort>
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
</devicePort>
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
</devicePort>
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
</devicePort>
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
</devicePort>
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
</devicePort>
<devicePort tagName="Aux Digital" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
</devicePort>
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
</devicePort>
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
</devicePort>
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
</devicePort>
<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">
<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">
<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">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
</devicePort>
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
</devicePort>
<!-- AUDIO_DEVICE_IN_VOICE_CALL and AUDIO_DEVICE_IN_TELEPHONY_RX are in the same value -->
<devicePort tagName="Voice Call And Telephony Rx" type="AUDIO_DEVICE_IN_VOICE_CALL" role="source">
</devicePort>
<devicePort tagName="Echo Ref In" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" role="source">
</devicePort>
</devicePorts>
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Speaker"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
<route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
<route type="mix" sink="BT A2DP Out"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload"/>
<route type="mix" sink="BT A2DP Headphones"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload"/>
<route type="mix" sink="BT A2DP Speaker"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload"/>
<route type="mix" sink="USB Device Out"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload"/>
<route type="mix" sink="USB Headset Out"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload"/>
<route type="mix" sink="BT SCO"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload"/>
<route type="mix" sink="BT SCO Headset"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload"/>
<route type="mix" sink="BT SCO Car Kit"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload"/>
<route type="mix" sink="Telephony Tx" sources="incall playback,voice call tx" />
<route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="hotword input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="incall capture" sources="Voice Call And Telephony Rx" />
<route type="mix" sink="voice call rx" sources="Voice Call And Telephony Rx" />
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="fast input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/>
<route type="mix" sink="mmap_no_irq_in"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/>
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
<route type="mix" sink="echo_ref_input" sources="Echo Ref In"/>
</routes>
</module>
<!-- Bluetooth Audio HAL -->
<xi:include href="bluetooth_audio_policy_configuration_7_0.xml"/>
<!-- Usb Audio HAL -->
<module name="usbv2" halVersion="2.0">
<mixPorts>
<mixPort name="usb_accessory output" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="USB Host Out"
sources="usb_accessory output"/>
</routes>
</module>
<!-- Remote Submix Audio HAL -->
<xi:include href="r_submix_audio_policy_configuration.xml"/>
</modules>
<!-- End of Modules section -->
<!-- Volume section -->
<xi:include href="audio_policy_volumes.xml"/>
<xi:include href="default_volume_tables.xml"/>
<!-- End of Volume section -->
</audioPolicyConfiguration>

View file

@ -0,0 +1,234 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (C) 2020 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.
-->
<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<globalConfiguration speaker_drc_enabled="false" call_screen_mode_supported="true" />
<modules>
<!-- Primary Audio HAL -->
<module name="primary" halVersion="2.0">
<attachedDevices>
<item>Speaker</item>
<item>Speaker Safe</item>
<item>Earpiece</item>
<item>Built-In Mic</item>
<item>Built-In Back Mic</item>
<item>Telephony Tx</item>
<item>Voice Call And Telephony Rx</item>
<item>Echo Ref In</item>
</attachedDevices>
<defaultOutputDevice>Speaker</defaultOutputDevice>
<mixPorts>
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY AUDIO_OUTPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="deep buffer" role="source" flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="compressed_offload" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING">
<profile name="" format="AUDIO_FORMAT_MP3"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_LC"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
<mixPort name="haptic" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_AB" />
</mixPort>
<mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW AUDIO_OUTPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
<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"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
</mixPort>
<mixPort name="voice call tx" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
</mixPort>
<mixPort name="voip_rx" role="source"
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="primary input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_INDEX_MASK_3"/>
</mixPort>
<mixPort name="hotword input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD" maxActiveCount="0" >
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="incall capture" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="voice call rx" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="voip_tx" role="sink"
flags="AUDIO_INPUT_FLAG_VOIP_TX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_RAW AUDIO_INPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="hifi_playback" role="source" />
<mixPort name="hifi_input" role="sink" />
<mixPort name="echo_ref_input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<!-- Output devices declaration, i.e. Sink DEVICE PORT -->
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
</devicePort>
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
</devicePort>
<devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
</devicePort>
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
</devicePort>
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
</devicePort>
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
</devicePort>
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
</devicePort>
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
</devicePort>
<devicePort tagName="Aux Digital" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
</devicePort>
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
</devicePort>
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
</devicePort>
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
</devicePort>
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
</devicePort>
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
</devicePort>
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
</devicePort>
<!-- AUDIO_DEVICE_IN_VOICE_CALL and AUDIO_DEVICE_IN_TELEPHONY_RX are in the same value -->
<devicePort tagName="Voice Call And Telephony Rx" type="AUDIO_DEVICE_IN_VOICE_CALL" role="source">
</devicePort>
<devicePort tagName="Echo Ref In" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" role="source">
</devicePort>
</devicePorts>
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Speaker"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
<route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
<route type="mix" sink="USB Device Out"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload"/>
<route type="mix" sink="USB Headset Out"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload"/>
<route type="mix" sink="BT SCO"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload"/>
<route type="mix" sink="BT SCO Headset"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload"/>
<route type="mix" sink="BT SCO Car Kit"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload"/>
<route type="mix" sink="Telephony Tx" sources="incall playback,voice call tx" />
<route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="hotword input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="incall capture" sources="Voice Call And Telephony Rx" />
<route type="mix" sink="voice call rx" sources="Voice Call And Telephony Rx" />
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="fast input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/>
<route type="mix" sink="mmap_no_irq_in"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/>
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
<route type="mix" sink="echo_ref_input" sources="Echo Ref In"/>
</routes>
</module>
<!-- Bluetooth Audio HAL -->
<xi:include href="bluetooth_audio_policy_configuration_7_0.xml"/>
<!-- Usb Audio HAL -->
<module name="usbv2" halVersion="2.0">
<mixPorts>
<mixPort name="usb_accessory output" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="USB Host Out"
sources="usb_accessory output"/>
</routes>
</module>
<!-- Remote Submix Audio HAL -->
<xi:include href="r_submix_audio_policy_configuration.xml"/>
</modules>
<!-- End of Modules section -->
<!-- Volume section -->
<xi:include href="audio_policy_volumes.xml"/>
<xi:include href="default_volume_tables.xml"/>
<!-- End of Volume section -->
</audioPolicyConfiguration>

View file

@ -0,0 +1,234 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (C) 2020 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.
-->
<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<globalConfiguration speaker_drc_enabled="false" call_screen_mode_supported="true" />
<modules>
<!-- Primary Audio HAL -->
<module name="primary" halVersion="2.0">
<attachedDevices>
<item>Speaker</item>
<item>Speaker Safe</item>
<item>Earpiece</item>
<item>Built-In Mic</item>
<item>Built-In Back Mic</item>
<item>Telephony Tx</item>
<item>Voice Call And Telephony Rx</item>
<item>Echo Ref In</item>
</attachedDevices>
<defaultOutputDevice>Speaker</defaultOutputDevice>
<mixPorts>
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY AUDIO_OUTPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="deep buffer" role="source" flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<!--mixPort name="compressed_offload" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING">
<profile name="" format="AUDIO_FORMAT_MP3"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_LC"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
</mixPort-->
<mixPort name="haptic" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_AB" />
</mixPort>
<mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW AUDIO_OUTPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
<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"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
</mixPort>
<mixPort name="voice call tx" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
</mixPort>
<mixPort name="voip_rx" role="source"
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="primary input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_INDEX_MASK_3"/>
</mixPort>
<mixPort name="hotword input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD" maxActiveCount="0" >
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="incall capture" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="voice call rx" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="voip_tx" role="sink"
flags="AUDIO_INPUT_FLAG_VOIP_TX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_RAW AUDIO_INPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="hifi_playback" role="source" />
<mixPort name="hifi_input" role="sink" />
<mixPort name="echo_ref_input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<!-- Output devices declaration, i.e. Sink DEVICE PORT -->
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
</devicePort>
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
</devicePort>
<devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
</devicePort>
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
</devicePort>
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
</devicePort>
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
</devicePort>
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
</devicePort>
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
</devicePort>
<devicePort tagName="Aux Digital" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
</devicePort>
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
</devicePort>
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
</devicePort>
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
</devicePort>
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
</devicePort>
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
</devicePort>
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
</devicePort>
<!-- AUDIO_DEVICE_IN_VOICE_CALL and AUDIO_DEVICE_IN_TELEPHONY_RX are in the same value -->
<devicePort tagName="Voice Call And Telephony Rx" type="AUDIO_DEVICE_IN_VOICE_CALL" role="source">
</devicePort>
<devicePort tagName="Echo Ref In" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" role="source">
</devicePort>
</devicePorts>
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Speaker"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="USB Device Out"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback"/>
<route type="mix" sink="USB Headset Out"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback"/>
<route type="mix" sink="BT SCO"
sources="primary output,deep buffer,haptic,voip_rx"/>
<route type="mix" sink="BT SCO Headset"
sources="primary output,deep buffer,haptic,voip_rx"/>
<route type="mix" sink="BT SCO Car Kit"
sources="primary output,deep buffer,haptic,voip_rx"/>
<route type="mix" sink="Telephony Tx" sources="incall playback,voice call tx" />
<route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="hotword input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="incall capture" sources="Voice Call And Telephony Rx" />
<route type="mix" sink="voice call rx" sources="Voice Call And Telephony Rx" />
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="fast input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/>
<route type="mix" sink="mmap_no_irq_in"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/>
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
<route type="mix" sink="echo_ref_input" sources="Echo Ref In"/>
</routes>
</module>
<!-- A2dp Audio HAL -->
<xi:include href="a2dp_audio_policy_configuration_7_0.xml"/>
<!-- Usb Audio HAL -->
<module name="usbv2" halVersion="2.0">
<mixPorts>
<mixPort name="usb_accessory output" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="USB Host Out"
sources="usb_accessory output"/>
</routes>
</module>
<!-- Remote Submix Audio HAL -->
<xi:include href="r_submix_audio_policy_configuration.xml"/>
</modules>
<!-- End of Modules section -->
<!-- Volume section -->
<xi:include href="audio_policy_volumes.xml"/>
<xi:include href="default_volume_tables.xml"/>
<!-- End of Volume section -->
</audioPolicyConfiguration>

View file

@ -0,0 +1,902 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2019, 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" />
<!-- Haptic setting -->
<ctl name="Haptics Source" value="PCM"/>
<ctl name="HAPTIC_RX Format" value="S32_LE"/>
<ctl name="HAPTIC_RX SlotFmt" value="S32_LE"/>
<ctl name="HAPTIC_RX Chan" value="Four"/>
<ctl name="HAPTIC_RX nSlot" value="Four"/>
<ctl name="RX Slots" id="0" value="3"/>
<ctl name="RX Slots" id="1" value="3"/>
<!-- Cirrus default 96K -->
<ctl name="Default 96K" value="1"/>
<ctl name="R 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"/>
<!-- TX slot -->
<ctl name="ASPTX1 Slot Position" value="0"/>
<ctl name="R ASPTX1 Slot Position" value="1"/>
<ctl name="ASPTX2 Slot Position" value="2"/>
<ctl name="R ASPTX2 Slot Position" value="3"/>
<ctl name="ASPTX3 Slot Position" value="4"/>
<ctl name="R ASPTX3 Slot Position" value="5"/>
<ctl name="ASPTX4 Slot Position" value="6"/>
<ctl name="R ASPTX4 Slot Position" value="7"/>
<!-- Cirrus Booster Amp DRE and VBST config-->
<ctl name="DRE DRE Switch" value="1"/>
<ctl name="R 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="Digital PCM Volume" value="817"/>
<ctl name="R Digital PCM Volume" value="817"/>
<!-- Cirrus Booster Amp Power -->
<ctl name="Main AMP Enable Switch" value="0"/>
<ctl name="R Main AMP Enable Switch" value="0"/>
<!-- Cirrus Booster mode -->
<ctl name="PCM Source" value="DSP"/>
<ctl name="R PCM Source" value="DSP"/>
<ctl name="DSP1 Firmware" value="Protection"/>
<ctl name="R DSP1 Firmware" value="Protection"/>
<ctl name="DSP RX1 Source" value="ASPRX1"/>
<ctl name="DSP RX2 Source" value="ASPRX1"/>
<ctl name="R DSP RX1 Source" value="ASPRX1"/>
<ctl name="R DSP RX2 Source" value="ASPRX1"/>
<ctl name="Boost Peak Current Limit" value="3.50A"/>
<ctl name="R 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="ASP TX2 Source" value="IMON" />
<ctl name="R ASP TX2 Source" value="IMON" />
<ctl name="ASP TX3 Source" value="Zero" />
<ctl name="R ASP TX3 Source" value="Zero" />
<ctl name="ASP TX4 Source" value="Zero" />
<ctl name="R ASP TX4 Source" value="Zero" />
<!-- Cirrus fast switch init -->
<ctl name="Fast Use Case Switch Enable" value="0" />
<ctl name="Fast Use Case Delta File" value="fast_switch2.txt" />
<ctl name="R Fast Use Case Switch Enable" value="0" />
<ctl name="R Fast Use Case Delta File" value="fast_switch3.txt" />
<!-- default EP volume -->
<ctl name="PCM Playback Switch" value="1"/>
<ctl name="PCM Playback Volume" value="10"/>
<!-- 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_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="1"/>
<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"/>
<!-- 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"/>
<!-- Decoder Reference Enable is controlled in aoc_control -->
<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="deep-buffer-playbackP">
<ctl name="TDM_0_RX Mixer EP6" value="1"/>
</path>
<path name="deep-buffer-playbackP hac-handset">
</path>
<path name="deep-buffer-playbackP bt">
<ctl name="BT_RX Mixer EP6" value="1"/>
</path>
<path name="deep-buffer-playbackP usb-headphone">
<ctl name="USB_RX Mixer EP6" value="1"/>
</path>
<path name="deep-buffer-playbackP hearing-aid">
</path>
<path name="low-latency-playbackP">
<ctl name="TDM_0_RX Mixer EP2" value="1"/>
</path>
<path name="low-latency-playbackP hac-handset">
</path>
<path name="low-latency-playbackP bt">
<ctl name="BT_RX Mixer EP2" value="1"/>
</path>
<path name="low-latency-playbackP usb-headphone">
<ctl name="USB_RX Mixer EP2" value="1"/>
</path>
<path name="low-latency-playbackP hearing-aid">
</path>
<path name="raw-playbackP">
<ctl name="TDM_0_RX Mixer RAW" value="1"/>
</path>
<path name="raw-playbackP hac-handset">
</path>
<path name="raw-playbackP usb-headphone">
<ctl name="USB_RX Mixer RAW" value="1"/>
</path>
<path name="raw-playbackP hearing-aid">
</path>
<path name="raw-playbackP bt">
<ctl name="BT_RX Mixer RAW" value="1"/>
</path>
<path name="mmap-playbackP">
<ctl name="TDM_0_RX Mixer EP1" value="1"/>
</path>
<path name="mmap-playbackP hac-handset">
</path>
<path name="mmap-playbackP usb-headphone">
<ctl name="USB_RX Mixer EP1" value="1"/>
</path>
<path name="mmap-playbackP bt">
<ctl name="BT_RX Mixer EP1" value="1"/>
</path>
<path name="mmap-playbackP hearing-aid">
</path>
<path name="compress-offload-playback">
<ctl name="LVM Enable" value="1" />
</path>
<path name="compress-offload-playbackP">
<path name="compress-offload-playback" />
<ctl name="TDM_0_RX Mixer EP7" value="1"/>
</path>
<path name="compress-offload-playbackP hac-handset">
<path name="compress-offload-playback" />
</path>
<path name="compress-offload-playbackP bt">
<path name="compress-offload-playback" />
<ctl name="BT_RX Mixer EP7" value="1"/>
</path>
<path name="compress-offload-playbackP usb-headphone">
<path name="compress-offload-playback" />
<ctl name="USB_RX Mixer EP7" value="1"/>
</path>
<path name="compress-offload-playbackP hearing-aid">
<path name="compress-offload-playback" />
</path>
<path name="immersive-playbackP">
<ctl name="TDM_0_RX Mixer IMSV" value="1"/>
</path>
<path name="immersive-playbackP bt">
<ctl name="BT_RX Mixer IMSV" value="1"/>
</path>
<path name="immersive-playbackP usb-headphone">
<ctl name="USB_RX Mixer IMSV" value="1"/>
</path>
<path name="voip-playbackP">
<ctl name="TDM_0_RX Mixer VOIP" value="1"/>
</path>
<path name="voip-playbackP hac-handset">
</path>
<path name="voip-playbackP bt">
<ctl name="BT_RX Mixer VOIP" value="1"/>
</path>
<path name="voip-playbackP usb-headphone">
<ctl name="USB_RX Mixer VOIP" value="1"/>
</path>
<path name="voip-playbackP hearing-aid">
</path>
<path name="haptic-audioP">
<ctl name="TDM_0_RX Mixer EP3" value="1"/>
<ctl name="TDM_0_RX Mixer EP8" value="1"/>
</path>
<path name="haptic-audioP hac-handset">
</path>
<path name="haptic-audioP bt">
<ctl name="BT_RX Mixer EP3" value="1"/>
<ctl name="TDM_0_RX Mixer EP8" value="1"/>
</path>
<path name="haptic-audioP usb-headphone">
<ctl name="USB_RX Mixer EP3" value="1"/>
<ctl name="TDM_0_RX Mixer EP8" value="1"/>
</path>
<path name="hifi-playbackP">
</path>
<path name="hifi-playbackP usb-headphone">
<ctl name="USB_RX Mixer HIFI" value="1"/>
</path>
<path name="hifi-recordC">
</path>
<path name="hifi-recordC usb-headset-mic">
</path>
<!-- audio capture dynamic route -->
<path name="ultrasound-recordC">
<ctl name="EP5 TX Mixer INTERNAL_MIC_US_TX" value="1"/>
</path>
<path name="audio-recordC">
<ctl name="EP1 TX Mixer INTERNAL_MIC_TX" value="1"/>
</path>
<path name="audio-recordC usb-headset-mic">
<ctl name="EP1 TX Mixer USB_TX" value="1"/>
</path>
<path name="audio-recordC bt-mic">
<ctl name="EP1 TX Mixer BT_TX" value="1"/>
</path>
<path name="voip-recordC">
<ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1"/>
</path>
<path name="voip-recordC usb-headset-mic">
<ctl name="VOIP TX Mixer USB_TX" value="1"/>
</path>
<path name="voip-recordC bt-mic">
<ctl name="VOIP TX Mixer BT_TX" value="1"/>
</path>
<!-- voice-call dynamic route -->
<path name="voice-callP">
<ctl name="TDM_0_RX Mixer EP5" value="1"/>
</path>
<path name="voice-callP bt">
<ctl name="BT_RX Mixer EP5" value="1"/>
</path>
<path name="voice-callP usb-headphone">
<ctl name="USB_RX Mixer EP5" value="1"/>
</path>
<path name="voice-callP hearing-aid">
<ctl name="INCALL_RX Mixer EP5" value="1"/>
</path>
<path name="voice-callP call-screen">
<ctl name="INCALL_RX Mixer EP5" value="1"/>
</path>
<path name="voice-callC">
<ctl name="EP4 TX Mixer INTERNAL_MIC_TX" value="1"/>
</path>
<path name="voice-callC usb-headset-mic">
<ctl name="EP4 TX Mixer USB_TX" value="1"/>
</path>
<path name="voice-callC bt-mic">
<ctl name="EP4 TX Mixer BT_TX" value="1"/>
</path>
<path name="voice-callC hearing-aid">
<ctl name="EP4 TX Mixer INCALL_TX" value="1"/>
</path>
<path name="voice-callC call-screen">
<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-captureC">
<ctl name="Incall Capture Stream0" value="DL"/>
</path>
<path name="incall-capture1C uplink">
<ctl name="Incall Capture Stream1" value="UL"/>
</path>
<path name="incall-capture1C downlink">
<ctl name="Incall Capture Stream1" value="DL"/>
</path>
<path name="incall-capture1C call">
<ctl name="Incall Capture Stream1" value="UL_DL"/>
</path>
<path name="incall-capture2C uplink">
<ctl name="Incall Capture Stream2" value="UL"/>
</path>
<path name="incall-capture2C downlink">
<ctl name="Incall Capture Stream2" value="DL"/>
</path>
<path name="incall-capture2C call">
<ctl name="Incall Capture Stream2" value="UL_DL"/>
</path>
<path name="low-latency-recordC">
<ctl name="EP3 TX Mixer INTERNAL_MIC_TX" value="1"/>
</path>
<path name="low-latency-recordC usb-headset-mic">
<ctl name="EP3 TX Mixer USB_TX" value="1"/>
</path>
<path name="low-latency-recordC bt-mic">
<ctl name="EP3 TX Mixer BT_TX" value="1"/>
</path>
<path name="mmap-recordC">
<ctl name="EP2 TX Mixer INTERNAL_MIC_TX" value="1"/>
</path>
<path name="mmap-recordC usb-headset-mic">
<ctl name="EP2 TX Mixer USB_TX" value="1"/>
</path>
<path name="mmap-recordC bt-mic">
<ctl name="EP2 TX Mixer BT_TX" value="1"/>
</path>
<!-- codec setting -->>
<!-- Rx device -->
<path name="handset">
<ctl name="PCM Source" value="ASP"/>
<ctl name="AMP PCM Gain" value="6"/>
<ctl name="Main AMP Enable Switch" value="1"/>
</path>
<path name="voice-handset">
<ctl name="Boost Peak Current Limit" value="3.50A"/>
<ctl name="PCM Source" value="ASP"/>
<ctl name="AMP PCM Gain" value="7"/>
<ctl name="Main AMP Enable Switch" value="1"/>
</path>
<path name="voice-hac">
<path name="voice-handset"/>
</path>
<path name="voice-hac-handset">
</path>
<path name="speaker">
<ctl name="Boost Peak Current Limit" value="3.50A"/>
<ctl name="R Boost Peak Current Limit" value="3.50A"/>
<ctl name="Main AMP Enable Switch" value="1"/>
<ctl name="R Main AMP Enable Switch" value="1"/>
</path>
<path name="speaker-post">
<!-- load Bypass FIR -->
<ctl name="Fast Use Case Delta File" value="fast_switch3.txt" />
<ctl name="Fast Use Case Switch Enable" value="1" />
<ctl name="R Fast Use Case Delta File" value="fast_switch4.txt" />
<ctl name="R Fast Use Case Switch Enable" value="1" />
</path>
<path name="voice-speaker">
<ctl name="R Boost Peak Current Limit" value="3.50A"/>
<ctl name="Boost Peak Current Limit" value="3.50A"/>
<ctl name="ASPTX1 Slot Position" value="1"/>
<ctl name="R ASPTX1 Slot Position" value="0"/>
<!--<ctl name="R DSP RX2 Source" value="ASPRX2"/>-->
<ctl name="R Main AMP Enable Switch" value="1"/>
<ctl name="Main AMP Enable Switch" value="1"/>
</path>
<path name="voice-speaker-post">
</path>
<path name="voice-dual-speaker">
<!-- Speaker Separation -->
<path name="voice-speaker" />
<path name="voice-speaker-post" />
</path>
<path name="speaker-safe">
<ctl name="R Boost Peak Current Limit" value="3.50A"/>
<ctl name="R Main AMP Enable Switch" value="1"/>
</path>
<path name="speaker-safe-post">
<!-- load Bypass FIR -->
<!--ctl name="R Fast Use Case Delta File" value="fast_switch4.txt" />
<ctl name="R Fast Use Case Switch Enable" value="1" /-->
</path>
<path name="usb-tty-full">
</path>
<path name="usb-tty-hco">
</path>
<path name="usb-tty-vco">
</path>
<!-- Tx device -->
<path name="handset-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"/>
</path>
<path name="handset-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="22"/>
</path>
<path name="voice-handset-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 HW Gain At High Power Mode (cB)" value="130"/>
</path>
<path name="voice-handset-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
</path>
<path name="speaker-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"/>
</path>
<path name="speaker-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="22"/>
</path>
<path name="voice-speaker-mic">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="1"/>
<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"/>
</path>
<path name="voice-speaker-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
</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="1"/>
<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"/>
</path>
<path name="camcorder-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
</path>
<path name="voice-recog-mic">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="1"/>
<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"/>
</path>
<path name="voice-recog-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="22"/>
</path>
<path name="voice-recog-aec-mic">
<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="1"/>
<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"/>
</path>
<path name="voice-recog-aec-mic-post">
<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="1"/>
<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"/>
</path>
<path name="unprocessed-mic-post">
<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="1"/>
<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"/>
</path>
<path name="unprocessed-dual-mic-post">
<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="1"/>
<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"/>
</path>
<path name="unprocessed-triple-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="5"/>
</path>
<path name="ultrasound-mic">
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="0" value="0"/>
<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"/>
</path>
<path name="ultrasound-mic-post">
</path>
<path name="bt-mic">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="1"/>
<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"/>
</path>
<path name="bt-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
</path>
<path name="usb-headset-mic">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="1"/>
<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"/>
</path>
<path name="usb-headset-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
</path>
<!-- 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="DSP1 Preload Switch" value="0" />
<ctl name="R 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" />
</path>
<!-- cs35l41 specific path to load firmware in cs35l41.c end-->
</mixer>

View file

@ -0,0 +1,461 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<mixer>
<ctl name="TDM_0_RX Mixer EP3" value="0" />
<ctl name="TDM_0_RX Mixer EP6" value="0" />
<ctl name="I2S_0_RX Mixer EP3" value="0" />
<ctl name="Main AMP Enable Switch" value="0" />
<ctl name="R Main AMP Enable Switch" value="0" />
<ctl name="MIC HW Gain At Lower Power Mode (cB)" value="-160" />
<ctl name="MIC HW Gain At High Power Mode (cB)" value="0" />
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
<ctl name="EP1 TX Mixer TDM_0_TX" value="0" />
<ctl name="DEFAULT_MIC_ID" value="0" />
<ctl name="MIC0" value="0" />
<ctl name="MIC1" value="0" />
<ctl name="MIC2" value="0" />
<ctl name="MIC3" value="0" />
<ctl name="AoC Speaker Mixer ASP Mode" value="ASP_ON" />
<ctl name="TDM_0_RX Mixer US" value="0" />
<ctl name="US Record Enable" value="0" />
<ctl name="ASPRX1 Slot Position" value="0"/>
<ctl name="R ASPRX1 Slot Position" value="1"/>
<path name="mfg-playback">
</path>
<path name="deep-buffer-playback headphones">
<ctl name="I2S_0_RX Mixer EP6" value="1" />
<path name="mfg-playback" />
</path>
<path name="mfg-record">
<ctl name="EP1 TX Mixer TDM_0_TX" value="1" />
</path>
<path name="mfg-record usb-headset-mic">
<ctl name="Audio Capture Mic Source" value="USB_MIC"/>
<ctl name="USB Card" value="1"/>
<ctl name="USB Device" value="0"/>
<ctl name="USB Playback EP ID v2" value="0" />
<ctl name="USB Capture EP ID v2" value="1" />
<ctl name="USB Capture FORMAT v2" value="1" />
<ctl name="USB Config To AoC v2" value="1"/>
<ctl name="EP1 TX Mixer USB_TX" value="1"/>
</path>
<path name="us-mfg-record">
<ctl name="US Record Enable" value="1" />
<ctl name="EP5 TX Mixer INTERNAL_MIC_US_TX" value="1" />
</path>
<path name="mic1-status">
<ctl name="MIC0" value="1" />
</path>
<path name="mic2-status">
<ctl name="MIC1" value="1" />
</path>
<path name="mic3-status">
<ctl name="MIC2" value="1" />
</path>
<path name="mic1-gain">
<ctl name="MIC HW Gain At Lower Power Mode (cB)" />
<ctl name="MIC HW Gain At High Power Mode (cB)" />
</path>
<path name="mic2-gain">
<ctl name="MIC HW Gain At Lower Power Mode (cB)" />
<ctl name="MIC HW Gain At High Power Mode (cB)" />
</path>
<path name="mic3-gain">
<ctl name="MIC HW Gain At Lower Power Mode (cB)" />
<ctl name="MIC HW Gain At High Power Mode (cB)" />
</path>
<path name="mic1-sw-gain">
<ctl name="MIC Record Soft Gain (dB)" />
</path>
<path name="mic2-sw-gain">
<ctl name="MIC Record Soft Gain (dB)" />
</path>
<path name="mic3-sw-gain">
<ctl name="MIC Record Soft Gain (dB)" />
</path>
<path name="usb-capture-gain">
<ctl name="MIC Record Soft Gain (dB)" />
</path>
<path name="mic1-only">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
<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="MIC0" value="1" />
<ctl name="MIC Record Soft Gain (dB)" value="0" />
</path>
<path name="mic2-only">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="3" />
<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="MIC1" value="1" />
<ctl name="MIC Record Soft Gain (dB)" value="0" />
</path>
<path name="mic3-only">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="2" />
<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="MIC2" value="1" />
<ctl name="MIC Record Soft Gain (dB)" value="0" />
</path>
<path name="mic-all">
<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="MIC0" value="1" />
<ctl name="MIC1" value="1" />
<ctl name="MIC2" value="1" />
<ctl name="MIC3" value="0" />
<ctl name="MIC Record Soft Gain (dB)" value="0" />
</path>
<path name="us-mic1-only">
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="0" value="0" />
<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" />
<ctl name="MIC0" value="1" />
<ctl name="MIC Record Soft Gain (dB)" value="0" />
</path>
<path name="us-mic2-only">
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="0" value="3" />
<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" />
<ctl name="MIC1" value="1" />
<ctl name="MIC Record Soft Gain (dB)" value="0" />
</path>
<path name="us-mic3-only">
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="0" value="2" />
<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" />
<ctl name="MIC2" value="1" />
<ctl name="MIC Record Soft Gain (dB)" value="0" />
</path>
<path name="us-mic-all">
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="0" value="0" />
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="1" value="3" />
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="2" value="2" />
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="3" value="-1" />
<ctl name="MIC0" value="1" />
<ctl name="MIC1" value="1" />
<ctl name="MIC2" value="1" />
<ctl name="MIC3" value="0" />
<ctl name="MIC Record Soft Gain (dB)" value="0" />
</path>
<path name="cs35l41-us-config-1">
<ctl name="ASPRX1 Slot Position" value="2"/>
</path>
<path name="cs35l41-us-config-2">
<ctl name="R ASPRX1 Slot Position" value="2"/>
</path>
<path name="cs35l41-us-config-all">
<ctl name="ASPRX1 Slot Position" value="2"/>
<ctl name="R ASPRX1 Slot Position" value="2"/>
</path>
<path name="amp_iv-only">
<ctl name="R ASPTX1 Slot Position" value="2" />
<ctl name="R ASPTX2 Slot Position" value="3" />
<ctl name="R ASPTX3 Slot Position" value="6" />
<ctl name="R ASPTX4 Slot Position" value="7" />
<ctl name="ASPTX1 Slot Position" value="0" />
<ctl name="ASPTX2 Slot Position" value="1" />
<ctl name="ASPTX3 Slot Position" value="4" />
<ctl name="ASPTX4 Slot Position" value="5" />
<ctl name="R ASP TX1 Source" value="VMON" />
<ctl name="R ASP TX2 Source" value="ASPRX1" />
<ctl name="R ASP TX3 Source" value="Zero" />
<ctl name="R ASP TX4 Source" value="Zero" />
<ctl name="ASP TX1 Source" value="VMON" />
<ctl name="ASP TX2 Source" value="ASPRX1" />
<ctl name="ASP TX3 Source" value="Zero" />
<ctl name="ASP TX4 Source" value="Zero" />
<ctl name="NoHost1 TX Mixer TDM_0_TX" value="1" />
</path>
<path name="amp_iv1-only">
<ctl name="R ASPTX1 Slot Position" value="4" />
<ctl name="R ASPTX2 Slot Position" value="5" />
<ctl name="R ASPTX3 Slot Position" value="6" />
<ctl name="R ASPTX4 Slot Position" value="7" />
<ctl name="ASPTX1 Slot Position" value="0" />
<ctl name="ASPTX2 Slot Position" value="1" />
<ctl name="ASPTX3 Slot Position" value="2" />
<ctl name="ASPTX4 Slot Position" value="3" />
<ctl name="R ASP TX1 Source" value="Zero" />
<ctl name="R ASP TX2 Source" value="Zero" />
<ctl name="R ASP TX3 Source" value="Zero" />
<ctl name="R ASP TX4 Source" value="Zero" />
<ctl name="ASP TX1 Source" value="VMON" />
<ctl name="ASP TX2 Source" value="IMON" />
<ctl name="ASP TX3 Source" value="VPMON" />
<ctl name="ASP TX4 Source" value="ASPRX1" />
<ctl name="NoHost1 TX Mixer TDM_0_TX" value="1" />
</path>
<path name="amp_iv2-only">
<ctl name="R ASPTX1 Slot Position" value="0" />
<ctl name="R ASPTX2 Slot Position" value="1" />
<ctl name="R ASPTX3 Slot Position" value="2" />
<ctl name="R ASPTX4 Slot Position" value="3" />
<ctl name="ASPTX1 Slot Position" value="4" />
<ctl name="ASPTX2 Slot Position" value="5" />
<ctl name="ASPTX3 Slot Position" value="6" />
<ctl name="ASPTX4 Slot Position" value="7" />
<ctl name="R ASP TX1 Source" value="VMON" />
<ctl name="R ASP TX2 Source" value="IMON" />
<ctl name="R ASP TX3 Source" value="VPMON" />
<ctl name="R ASP TX4 Source" value="ASPRX1" />
<ctl name="ASP TX1 Source" value="Zero" />
<ctl name="ASP TX2 Source" value="Zero" />
<ctl name="ASP TX3 Source" value="Zero" />
<ctl name="ASP TX4 Source" value="Zero" />
<ctl name="NoHost1 TX Mixer TDM_0_TX" value="1" />
</path>
<path name="us-amp_iv-only">
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
<path name="amp_iv-only" />
</path>
<path name="us-amp_iv1-only">
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
<path name="amp_iv1-only" />
</path>
<path name="us-amp_iv2-only">
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
<path name="amp_iv2-only" />
</path>
<path name="speaker1-status">
<ctl name="Main AMP Enable Switch" value="1" />
</path>
<path name="speaker2-status">
<ctl name="R Main AMP Enable Switch" value="1" />
</path>
<path name="speaker1-gain">
<ctl name="AMP PCM Gain" />
</path>
<path name="speaker2-gain">
<ctl name="R AMP PCM Gain" />
</path>
<path name="usb-playback-gain">
<ctl name="Headset Playback Volume" />
</path>
<path name="mfg-playback speaker-1">
<ctl name="AoC Speaker Mixer ASP Mode" value="ASP_BYPASS" />
<ctl name="TDM_0_RX Mixer EP3" value="1" />
<ctl name="ASPRX1 Slot Position" value="0" />
</path>
<path name="mfg-playback speaker-2">
<ctl name="AoC Speaker Mixer ASP Mode" value="ASP_BYPASS" />
<ctl name="TDM_0_RX Mixer EP3" value="1" />
<ctl name="R ASPRX1 Slot Position" value="1" />
</path>
<path name="mfg-playback speaker-all">
<ctl name="AoC Speaker Mixer ASP Mode" value="ASP_BYPASS" />
<ctl name="TDM_0_RX Mixer EP3" value="1" />
<ctl name="ASPRX1 Slot Position" value="0" />
<ctl name="R ASPRX1 Slot Position" value="1" />
</path>
<path name="deep-buffer-playback speaker-1">
<ctl name="AoC Speaker Mixer ASP Mode" value="ASP_BYPASS" />
<ctl name="TDM_0_RX Mixer EP6" value="1" />
<ctl name="ASPRX1 Slot Position" value="0" />
</path>
<path name="deep-buffer-playback speaker-2">
<ctl name="AoC Speaker Mixer ASP Mode" value="ASP_BYPASS" />
<ctl name="TDM_0_RX Mixer EP6" value="1" />
<ctl name="R ASPRX1 Slot Position" value="1" />
</path>
<path name="deep-buffer-playback speaker-all">
<ctl name="AoC Speaker Mixer ASP Mode" value="ASP_BYPASS" />
<ctl name="TDM_0_RX Mixer EP6" value="1" />
<ctl name="ASPRX1 Slot Position" value="0" />
<ctl name="R ASPRX1 Slot Position" value="1" />
</path>
<path name="mfg-playback headphones">
<ctl name="I2S_0_RX Chan" value="Two" />
<ctl name="I2S_0_RX Format" value="S32_LE" />
<ctl name="I2S_0_RX Mixer EP3" value="1" />
<ctl name="SINK_IDS" id="0" value="1" />
<ctl name="SINK_IDS" id="1" value="-1" />
</path>
<path name="mfg-playback usb-headphones">
<ctl name="USB Dev ID v2" value="2" />
<ctl name="USB Card" value="1"/>
<ctl name="USB Device" value="0"/>
<ctl name="USB Playback EP ID v2" value="1" />
<ctl name="USB Capture EP ID v2" value="0" />
<ctl name="USB Playback FORMAT v2" value="6" />
<ctl name="USB Playback SR v2" value="48000" />
<ctl name="USB Playback CH v2" value="2" />
<ctl name="USB Playback BW v2" value="16" />
<ctl name="USB Config To AoC v2" value="1" />
<ctl name="USB_RX Mixer EP3" value="1" />
</path>
<path name="us-mfg-playback speaker-1">
<path name="cs35l41-us-config-1" />
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
<ctl name="TDM_0_RX Mixer US" value="1" />
</path>
<path name="us-mfg-playback speaker-2">
<path name="cs35l41-us-config-2" />
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
<ctl name="TDM_0_RX Mixer US" value="1" />
</path>
<path name="us-mfg-playback speaker-all">
<path name="cs35l41-us-config-all" />
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
<ctl name="TDM_0_RX Mixer US" value="1" />
</path>
<path name="speaker1-only">
<ctl name="AMP PCM Gain" value="17" />
<ctl name="PCM Source" value="ASP" />
<ctl name="Main AMP Enable Switch" value="1" />
</path>
<path name="speaker2-only">
<ctl name="R AMP PCM Gain" value="17" />
<ctl name="R PCM Source" value="ASP" />
<ctl name="R Main AMP Enable Switch" value="1" />
</path>
<path name="us-speaker1-only">
<ctl name="PCM Source" value="ASP" />
<ctl name="Main AMP Enable Switch" value="1" />
</path>
<path name="us-speaker2-only">
<ctl name="R PCM Source" value="ASP" />
<ctl name="R Main AMP Enable Switch" value="1" />
</path>
<path name="headphones">
<ctl name="DAC1 MIXL DAC1 Switch" value="1" />
<ctl name="DAC1 MIXR DAC1 Switch" value="1" />
<ctl name="Stereo1 DAC MIXL DAC L1 Switch" value="1" />
<ctl name="Stereo1 DAC MIXR DAC R1 Switch" value="1" />
<ctl name="DAC L1 Source" value="Stereo1 DAC Mixer" />
<ctl name="DAC R1 Source" value="Stereo1 DAC Mixer" />
<ctl name="HPOL Playback Switch" value="1" />
<ctl name="HPOR Playback Switch" value="1" />
<path name="mfg-playback headphones" />
</path>
<path name="speaker-all">
<ctl name="Main AMP Enable Switch" value="1" />
<ctl name="PCM Source" value="ASP" />
<ctl name="R Main AMP Enable Switch" value="1" />
<ctl name="R PCM Source" value="ASP" />
</path>
<path name="us-speaker-all">
<ctl name="PCM Source" value="ASP" />
<ctl name="Main AMP Enable Switch" value="1" />
<ctl name="R PCM Source" value="ASP" />
<ctl name="R Main AMP Enable Switch" value="1" />
</path>
<path name="loopback-mic-speaker">
<ctl name="EP1 TX Mixer TDM_0_TX" value="1" />
<ctl name="SINK_IDS" id="0" value="0" />
<ctl name="SINK_IDS" id="1" value="-1" />
<path name="mfg-playback" />
</path>
<path name="loopback-mic-headphones">
<ctl name="EP1 TX Mixer TDM_0_TX" value="1" />
<ctl name="SINK_IDS" id="0" value="1" />
<ctl name="SINK_IDS" id="1" value="-1" />
<path name="mfg-playback" />
</path>
<path name="loopback-mic-usb-headphones">
<ctl name="MIC HW Gain At Lower Power Mode (cB)" value="-160" />
<ctl name="MIC HW Gain At High Power Mode (cB)" value="0" />
<ctl name="TDM_0_TX Format" value="S32_LE" />
<ctl name="TDM_0_TX Chan" value="One" />
<ctl name="EP1 TX Mixer TDM_0_TX" value="1" />
</path>
<path name="loopback-usb-mic-speaker">
<ctl name="Audio Capture Mic Source" value="USB_MIC" />
<ctl name="USB Card" value="1"/>
<ctl name="USB Device" value="0"/>
<ctl name="USB Capture FORMAT v2" value="1" />
<ctl name="MIC Record Soft Gain (dB)" value="0" />
</path>
<path name="loopback-usb-mic-usb-headphone">
<ctl name="Audio Capture Mic Source" value="USB_MIC" />
<ctl name="USB Card" value="1"/>
<ctl name="USB Device" value="0"/>
<ctl name="USB Capture FORMAT v2" value="1" />
<ctl name="MIC Record Soft Gain (dB)" value="0" />
</path>
<pcm_id name="loopback-mic1" value="EP1 capture (*)"/>
<pcm_id name="loopback-mic2" value="EP1 capture (*)"/>
<pcm_id name="loopback-mic3" value="EP1 capture (*)"/>
<pcm_id name="loopback-speaker1" value="EP3 playback (*)"/>
<pcm_id name="loopback-speaker2" value="EP3 playback (*)"/>
<pcm_id name="loopback-headphones" value="EP3 playback (*)"/>
<pcm_id name="loopback-usb-headphones" value="EP3 playback (*)"/>
<pcm_id name="loopback-usb-mic" value="EP1 capture (*)"/>
<pcm_id name="loopback-amp_iv" value="nohost1 capture (*)"/>
</mixer>

View file

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2020, 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. -->
<sound_trigger_hal_configuration>
<supported_model>
<model name="CLIENT_HOTWORD" uuid="7038ddc8-30f2-11e6-b0ac-40a8f03d3f15" model_type="keyphrase" bargein="true"/>
<model name="CLIENT_AMBIENT_MUSIC" uuid="9f6ad62a-1f0b-11e7-87c5-40a8f03d3f15" model_type="generic" bargein="false"/>
<model name="CLIENT_AMBIENT_MUSIC_BREAK" uuid="12caddb1-acdb-4dce-8cb0-2e95a2313aee" model_type="generic" bargein="false"/>
</supported_model>
</sound_trigger_hal_configuration>

View file

@ -0,0 +1,315 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2018-2020, 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 Values -->
<!-- Preload Stage -->
<ctl name="Main AMP Enable Switch" value="0" />
<ctl name="DSP1 Preload Switch" value="0" />
<ctl name="R Main AMP Enable Switch" value="0" />
<ctl name="R DSP1 Preload Switch" value="0" />
<!-- Clock-trigger Stage -->
<ctl name="SINK_IDS" id="0" value="-1"/>
<ctl name="SINK_IDS" id="1" value="-1"/>
<ctl name="PCM Playback Volume" value="10"/>
<ctl name="TDM_0_RX Mixer EP6" value="0"/>
<!-- Preparation Stage -->
<path name="crus-switch-fw-prepare">
<ctl name="DRE DRE Switch" value="1" />
<ctl name="VBSTMON Output Switch" value="1" />
<ctl name="DSP Booted" value="0" />
<ctl name="DSP1 Preload Switch" value="0" />
<ctl name="R DRE DRE Switch" value="1" />
<ctl name="R VBSTMON Output Switch" value="1" />
<ctl name="R DSP Booted" value="0" />
<ctl name="R DSP1 Preload Switch" value="0" />
</path>
<!-- Preload Stage -->
<path name="crus-fw-preload">
<ctl name="DSP1 Preload Switch" value="1" />
<ctl name="R DSP1 Preload Switch" value="1" />
</path>
<path name="crus-fw-preload-amp1">
<ctl name="DSP1 Preload Switch" value="1" />
</path>
<path name="crus-fw-preload-amp2">
<ctl name="R DSP1 Preload Switch" value="1" />
</path>
<!-- Firmware-switching Stage -->
<path name="crus-switch-fw-Calibration">
<ctl name="AMP PCM Gain" value="17" />
<ctl name="Digital PCM Volume" value="817" />
<ctl name="PCM Source" value="DSP" />
<ctl name="DSP1 Firmware" value="Calibration" />
<ctl name="R AMP PCM Gain" value="17" />
<ctl name="R Digital PCM Volume" value="817" />
<ctl name="R PCM Source" value="DSP" />
<ctl name="R DSP1 Firmware" value="Calibration" />
</path>
<path name="crus-switch-fw-Diagnostic">
<ctl name="AMP PCM Gain" value="17" />
<ctl name="Digital PCM Volume" value="817" />
<ctl name="PCM Source" value="DSP" />
<ctl name="DSP1 Firmware" value="Diagnostic" />
<ctl name="R AMP PCM Gain" value="17" />
<ctl name="R Digital PCM Volume" value="817" />
<ctl name="R PCM Source" value="DSP" />
<ctl name="R DSP1 Firmware" value="Diagnostic" />
</path>
<path name="crus-switch-fw-Protection">
<ctl name="PCM Source" value="DSP" />
<ctl name="DSP1 Firmware" value="Protection" />
<ctl name="R PCM Source" value="DSP" />
<ctl name="R DSP1 Firmware" value="Protection" />
</path>
<!-- DSP-initialization Stage -->
<path name="crus-dsp-pre-calibration-amp1">
<ctl name="Main AMP Enable Switch" value="1" />
</path>
<path name="crus-dsp-pre-calibration-amp2">
<ctl name="R Main AMP Enable Switch" value="1" />
</path>
<path name="crus-dsp-pre-calibration">
<path name="crus-dsp-pre-calibration-amp1" />
<path name="crus-dsp-pre-calibration-amp2" />
</path>
<path name="crus-dsp-pre-diagnostic-amp1">
<ctl name="Main AMP Enable Switch" value="1" />
</path>
<path name="crus-dsp-pre-diagnostic-amp2">
<ctl name="R Main AMP Enable Switch" value="1" />
</path>
<path name="crus-dsp-pre-diagnostic">
<path name="crus-dsp-pre-diagnostic-amp1" />
<path name="crus-dsp-pre-diagnostic-amp2" />
</path>
<path name="crus-dsp-pre-protection">
<ctl name="Main AMP Enable Switch" value="1" />
<ctl name="R Main AMP Enable Switch" value="1" />
</path>
<!-- Clock-trigger Stage -->
<path name="platform-controls">
<ctl name="PCM Playback Volume" value="1000"/>
<ctl name="SINK_IDS" id="0" value="0"/>
<ctl name="SINK_IDS" id="1" value="-1"/>
<ctl name="TDM_0_RX Mixer EP6" value="1"/>
</path>
<!-- Post loaded firmware -->
<path name="crus-dsp-post-loading-fw">
<ctl name="Main AMP Enable Switch" value="0" />
<ctl name="R Main AMP Enable Switch" value="0" />
</path>
<!-- Value & Information Fetch Stage -->
<path name="platform-values">
<ctl name="TDM_0_RX Format" />
<ctl name="TDM_0_RX Chan" />
<ctl name="TDM_0_RX Sample Rate" />
<ctl name="PCM Playback Volume" />
<ctl name="TDM_0_RX Mixer EP6" />
</path>
<path name="cs35l41-values">
<ctl name="DRE DRE Switch" />
<ctl name="R DRE DRE Switch" />
<ctl name="VBSTMON Output Switch" />
<ctl name="R VBSTMON Output Switch" />
<ctl name="AMP PCM Gain" />
<ctl name="R AMP PCM Gain" />
<ctl name="Digital PCM Volume" />
<ctl name="R Digital PCM Volume" />
<ctl name="PCM Source" />
<ctl name="R PCM Source" />
<ctl name="DSP Booted" />
<ctl name="R DSP Booted" />
<ctl name="Main AMP Enable Switch" />
<ctl name="R Main AMP Enable Switch" />
<ctl name="DSP1 Preload Switch" />
<ctl name="R DSP1 Preload Switch" />
<ctl name="DSP1 Firmware" />
<ctl name="R DSP1 Firmware" />
</path>
<!-- Note that the order of controls does matter because
it should be matched to the structure defined in
sp_cal_common.h -->
<!--
struct calibration_data {
unsigned int cal_r;
unsigned int cal_status;
unsigned int cal_checksum;
unsigned int cal_ambient;
unsigned int amp_pcm_gain;
unsigned int digital_pcm_gain;
};
-->
<path name="cs35l41-dsp-amp1-calibration-values">
<ctl name="DSP1 Calibration cd CAL_R" />
<ctl name="DSP1 Calibration cd CAL_STATUS" />
<ctl name="DSP1 Calibration cd CAL_CHECKSUM" />
<ctl name="DSP1 Calibration cd CAL_AMBIENT" />
<ctl name="AMP PCM Gain" />
<ctl name="Digital PCM Volume" />
<!-- Only for debug print -->
<ctl name="DSP1 Calibration cd CAL_SET_STATUS" />
</path>
<path name="cs35l41-dsp-amp2-calibration-values">
<ctl name="R DSP1 Calibration cd CAL_R" />
<ctl name="R DSP1 Calibration cd CAL_STATUS" />
<ctl name="R DSP1 Calibration cd CAL_CHECKSUM" />
<ctl name="R DSP1 Calibration cd CAL_AMBIENT" />
<ctl name="R AMP PCM Gain" />
<ctl name="R Digital PCM Volume" />
<!-- Only for debug print -->
<ctl name="R DSP1 Calibration cd CAL_SET_STATUS" />
</path>
<!--
struct diagnostic_data {
struct calibration_data calibration_data;
unsigned int z_low_diff;
unsigned int diag_f0;
unsigned int diag_f0_status;
};
-->
<path name="cs35l41-dsp-amp1-diagnostic-values">
<!-- struct calibration_data START -->
<ctl name="DSP1 Diagnostic cd CAL_R" />
<ctl name="DSP1 Diagnostic cd CAL_STATUS" />
<ctl name="DSP1 Diagnostic cd CAL_CHECKSUM" />
<ctl name="DSP1 Diagnostic cd CAL_AMBIENT" />
<ctl name="AMP PCM Gain" />
<ctl name="Digital PCM Volume" />
<!-- struct calibration_data END -->
<ctl name="DSP1 Diagnostic cd DIAG_Z_LOW_DIFF" />
<ctl name="DSP1 Diagnostic cd DIAG_F0" />
<ctl name="DSP1 Diagnostic cd DIAG_F0_STATUS" />
<!-- Only for debug print -->
<ctl name="DSP1 Diagnostic cd CAL_SET_STATUS" />
</path>
<path name="cs35l41-dsp-amp2-diagnostic-values">
<!-- struct calibration_data START -->
<ctl name="R DSP1 Diagnostic cd CAL_R" />
<ctl name="R DSP1 Diagnostic cd CAL_STATUS" />
<ctl name="R DSP1 Diagnostic cd CAL_CHECKSUM" />
<ctl name="R DSP1 Diagnostic cd CAL_AMBIENT" />
<ctl name="R AMP PCM Gain" />
<ctl name="R Digital PCM Volume" />
<!-- struct calibration_data END -->
<ctl name="R DSP1 Diagnostic cd DIAG_Z_LOW_DIFF" />
<ctl name="R DSP1 Diagnostic cd DIAG_F0" />
<ctl name="R DSP1 Diagnostic cd DIAG_F0_STATUS" />
<!-- Only for debug print -->
<ctl name="R DSP1 Diagnostic cd CAL_SET_STATUS" />
</path>
<path name="cs35l41-dsp-amp1-protection-values">
<!-- struct calibration_data START -->
<ctl name="DSP1 Protection cd CAL_R" />
<ctl name="DSP1 Protection cd CAL_STATUS" />
<ctl name="DSP1 Protection cd CAL_CHECKSUM" />
<ctl name="DSP1 Protection cd CAL_AMBIENT" />
<!-- These controls are unrelated so we can simply
skip them
<ctl name="AMP PCM Gain" />
<ctl name="Digital PCM Volume" />
-->
<!-- struct calibration_data END -->
</path>
<path name="cs35l41-dsp-amp2-protection-values">
<!-- struct calibration_data START -->
<ctl name="R DSP1 Protection cd CAL_R" />
<ctl name="R DSP1 Protection cd CAL_STATUS" />
<ctl name="R DSP1 Protection cd CAL_CHECKSUM" />
<ctl name="R DSP1 Protection cd CAL_AMBIENT" />
<!-- These controls are unrelated so we can simply
skip them
<ctl name="R AMP PCM Gain" />
<ctl name="R Digital PCM Volume" />
-->
<!-- struct calibration_data END -->
</path>
<path name="cs35l41-dsp-amp1-calibration-completion">
<ctl name="DSP1 Calibration cd CAL_STATUS" />
</path>
<path name="cs35l41-dsp-amp2-calibration-completion">
<ctl name="R DSP1 Calibration cd CAL_STATUS" />
</path>
<path name="cs35l41-dsp-amp1-protection-completion">
<ctl name="DSP1 Protection cd CAL_SET_STATUS" />
</path>
<path name="cs35l41-dsp-amp2-protection-completion">
<ctl name="R DSP1 Protection cd CAL_SET_STATUS" />
</path>
<path name="cs35l41-dsp-amp1-diagnostic-completion">
<ctl name="DSP1 Diagnostic cd CAL_STATUS" />
<ctl name="DSP1 Diagnostic cd DIAG_F0_STATUS" />
</path>
<path name="cs35l41-dsp-amp2-diagnostic-completion">
<ctl name="R DSP1 Diagnostic cd CAL_STATUS" />
<ctl name="R DSP1 Diagnostic cd DIAG_F0_STATUS" />
</path>
<path name="cs35l41-dsp-amp1-enable-status">
<ctl name="Main AMP Enable Switch" />
</path>
<path name="cs35l41-dsp-amp2-enable-status">
<ctl name="R Main AMP Enable Switch" />
</path>
</mixer>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1 @@
11,4,768,1236,1075264,139265,2295815,1,7,0,-2054420945

View file

@ -0,0 +1 @@
11,4,768,1236,1075264,139265,2295815,1,7,0,-2054420945

View file

@ -0,0 +1 @@
14,4,768,1236,1075264,204800,2296071,1,21,4134355,1416112,8388607,2,689623277

View file

@ -0,0 +1 @@
14,4,768,1236,1075264,204800,2296071,1,21,4134355,1416112,8388607,2,689623277

View file

@ -0,0 +1 @@
11,4,768,1236,1075264,139267,2295815,1,7,0,1329754275

View file

@ -0,0 +1 @@
11,4,768,1236,1075264,139267,2295815,1,7,0,1329754275

View file

@ -0,0 +1 @@
14,4,768,1236,1075264,204804,2296071,1,21,4409979,1416112,8388607,2,2060109510

View file

@ -0,0 +1 @@
14,4,768,1236,1075264,204804,2296071,1,21,4409979,1416112,8388607,2,2060109510

View file

@ -0,0 +1,22 @@
#
# Copyright (C) 2020 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.
#
AUDIO_FACTORY_TABLE_FOLDER := tegu
# Mixer Path Configuration for Audio Factory
PRODUCT_COPY_FILES += \
device/google/tegu/audio/$(AUDIO_FACTORY_TABLE_FOLDER)/config/mixer_paths_factory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_factory.xml

File diff suppressed because one or more lines are too long

Binary file not shown.

View file

@ -0,0 +1,284 @@
<?xml version="1.0" encoding="UTF-8"?>
<template>
<modules>
<module id="2" name="Waves">
<param id="0" max="3" name="opMode_" type="uint32"/>
</module>
<module id="3" name="Forte">
<param id="0" max="3" name="opMode_" type="uint32"/>
</module>
<module id="5" name="Auto Gain Control">
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
<param default="48000" id="1" name="fs_" type="uint32"/>
<param default="1" id="2" name="numCh_" type="uint32"/>
<param default="1" id="3" name="chMask_" type="uint32"/>
<param id="16" name="GainApplied" type="float"/>
<param id="17" name="idealRMS" type="float"/>
<param id="18" name="noiseGate" type="float"/>
<param id="19" name="minGain" type="float"/>
<param id="20" name="maxGain" type="float"/>
<param id="21" name="longGainAtRt" type="uint32"/>
<param id="22" name="GainAtRt" type="uint32"/>
<param id="23" name="rmsTav" type="uint32"/>
</module>
<module id="6" name="Surround Record">
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
<param default="48000" id="1" name="fs_" type="uint32"/>
<param default="3" id="2" name="numCh_" type="uint32"/>
<param default="7" id="3" name="chMask_" type="uint32"/>
<param id="16" max="1" min="0" name="alpha" type="float"/>
<param complex="true" id="17" name="ch0_profileL" size="1024" type="float"/>
<param complex="true" id="18" name="ch1_profileL" size="1024" type="float"/>
<param complex="true" id="19" name="ch2_profileL" size="1024" type="float"/>
<param complex="true" id="20" name="ch0_profileR" size="1024" type="float"/>
<param complex="true" id="21" name="ch1_profileR" size="1024" type="float"/>
<param complex="true" id="22" name="ch2_profileR" size="1024" type="float"/>
<param complex="true" id="23" name="ch0_profileAZ" size="1024" type="float"/>
<param complex="true" id="24" name="ch1_profileAZ" size="1024" type="float"/>
<param complex="true" id="25" name="ch2_profileAZ" size="1024" type="float"/>
<struct id="26">
<param default="1" name="ch_gain" type="float"/>
<param default="1" name="zoom_gain" type="float"/>
</struct>
<param default="0" id="27" name="ch0_assignFrom" type="int32"/>
<param default="1" id="28" name="ch1_assignFrom" type="int32"/>
<param default="2" id="29" name="ch2_assignFrom" type="int32"/>
</module>
<module id="7" name="Multi Channel IIR 2">
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
<param default="48000" id="1" name="fs_" type="uint32"/>
<param default="3" id="2" name="numCh_" type="uint32"/>
<param default="1" id="3" name="chMask_" type="uint32"/>
<param default="3" id="16" max="3" min="1" name="numOfChannel" type="uint32"/>
<param id="17" name="coeff" size="300" type="float"/>
<struct id="18">
<param max="18" min="-96" name="gain" size="60" type="float"/>
<param max="24000" min="0" name="frequency" size="60" type="uint32"/>
<param max="200" min="0" name="qfactor" size="60" type="float"/>
<param default="4" name="type" size="60" type="int32"/>
</struct>
</module>
<module id="8" name="Multi Band DRC">
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
<param default="48000" id="1" name="fs_" type="uint32"/>
<param default="2" id="2" name="numCh_" type="uint32"/>
<param default="3" id="3" name="chMask_" type="uint32"/>
<struct id="16">
<param default="1" max="3" min="1" name="numBand" type="uint32"/>
<param name="IIR_LowPass1" size="5" type="float"/>
<param name="IIR_HighPass1" size="5" type="float"/>
<param name="IIR_LowPass2" size="5" type="float"/>
<param name="IIR_HighPass2" size="5" type="float"/>
</struct>
<struct id="17">
<param max="20" min="0" name="band0_delay_ms" type="float"/>
<param default="5" max="20" min="0" minInclusive="false" name="band0_rms_ms" type="float"/>
<param max="30" min="0" name="band0_gain_dB" type="float"/>
<param max="30" min="-30" name="band0_Min_Gain_dB" type="float"/>
<param default="1" max="3" min="1" name="band0_numOfKnee" type="uint32"/>
<param name="band0_threadhold_dB" size="3" type="float"/>
<param name="band0_compressRatio" size="4" type="float"/>
<param name="band0_kneeWidth" size="3" type="float"/>
<param name="band0_attackTime_ms" size="4" type="float"/>
<param name="band0_releaseTime_ms" size="4" type="float"/>
<param name="band0_hysteresis" size="4" type="float"/>
<param max="20" min="0" name="band1_delay_ms" type="float"/>
<param default="5" max="20" min="0" minInclusive="false" name="band1_rms_ms" type="float"/>
<param max="30" min="0" name="band1_gain_dB" type="float"/>
<param max="30" min="-30" name="band1_Min_Gain_dB" type="float"/>
<param default="1" max="3" min="1" name="band1_numOfKnee" type="uint32"/>
<param name="band1_threadhold_dB" size="3" type="float"/>
<param name="band1_compressRatio" size="4" type="float"/>
<param name="band1_kneeWidth" size="3" type="float"/>
<param name="band1_attackTime_ms" size="4" type="float"/>
<param name="band1_releaseTime_ms" size="4" type="float"/>
<param name="band1_hysteresis" size="4" type="float"/>
<param max="20" min="0" name="band2_delay_ms" type="float"/>
<param default="5" max="20" min="0" minInclusive="false" name="band2_rms_ms" type="float"/>
<param max="30" min="0" name="band2_gain_dB" type="float"/>
<param max="30" min="-30" name="band2_Min_Gain_dB" type="float"/>
<param default="1" max="3" min="1" name="band2_numOfKnee" type="uint32"/>
<param name="band2_threadhold_dB" size="3" type="float"/>
<param name="band2_compressRatio" size="4" type="float"/>
<param name="band2_kneeWidth" size="3" type="float"/>
<param name="band2_attackTime_ms" size="4" type="float"/>
<param name="band2_releaseTime_ms" size="4" type="float"/>
<param name="band2_hysteresis" size="4" type="float"/>
</struct>
<struct id="18">
<param max="30" min="-30" name="limiter_gain_dB" type="float"/>
<param max="0" min="-30" name="limiter_threadhold_dB" type="float"/>
<param max="100" min="0" name="limiter_attackTime_ms" type="float"/>
<param max="100" min="0" name="limiter_releaseTime_ms" type="float"/>
</struct>
<struct id="19">
<param name="frequency0" type="uint32"/>
<param name="frequency1" type="uint32"/>
</struct>
</module>
<module id="11" name="Stationary Noise Suppression">
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
<param default="48000" id="1" name="fs_" type="uint32"/>
<param default="2" id="2" name="numCh_" type="uint32"/>
<param default="3" id="3" name="chMask_" type="uint32"/>
<param default="1" id="16" name="strength level" type="uint32"/>
<param id="17" name="POWER_TIME_SMOOTH" type="float"/>
<param id="18" name="RMS_TIME_SMOOTH" type="float"/>
<param id="19" name="LOWER_BAND_THRESHOLD" size="129" type="float"/>
<param id="20" name="UPPER_BAND_THRESHOLD" size="3" type="float"/>
<param id="21" name="ATTACK_TIME" type="float"/>
<param id="22" name="RELEASE_TIME" type="float"/>
</module>
<module id="14" name="Linear Gain">
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
<param default="48000" id="1" name="fs_" type="uint32"/>
<param default="1" id="2" name="numCh_" type="uint32"/>
<param default="1" id="3" name="chMask_" type="uint32"/>
<param id="16" name="Simple_gain" type="float"/>
</module>
<module id="17" name="Wind Noise Reduction">
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
<param default="48000" id="1" name="fs_" type="uint32"/>
<param default="2" id="2" name="numCh_" type="uint32"/>
<param default="3" id="3" name="chMask_" type="uint32"/>
<param default="450" id="16" name="DECISION_SMOOTHING_FACTOR" type="int32"/>
<param default="50" id="17" name="DECISION_ATTACK_SMOOTHING_FACTOR" type="int32"/>
<param default="50" id="18" name="DECISION_RELEASE_HIGH_SMOOTHING_FACTOR" type="int32"/>
<param default="50" id="19" name="DECISION_RELEASE_LOW_SMOOTHING_FACTOR" type="int32"/>
<param default="700" id="20" name="DECISION_RELEASE_THRESHOLD" type="int32"/>
<param default="0" id="21" name="DECISION_RANGE_OFFSET_FACTOR" type="int32"/>
<param default="1000" id="22" name="DECISION_RANGE_SLOPE_FACTOR" type="int32"/>
<param default="450" id="23" name="DECISION_GAIN_SMOOTHING_FACTOR" type="int32"/>
<param default="27" id="24" name="DECISION_DB_RANGE" type="int32"/>
<param default="1000" id="25" name="MASTER_REDUCTION_FACTOR" type="int32"/>
<param default="15" id="26" name="KEEP_NUM_OF_PREV_DECISIONS" type="int32"/>
<param default="1000" id="27" name="DEC_PRE_GAIN" type="int32"/>
<param default="16000" id="28" name="SUP_PRE_GAIN" type="int32"/>
<param default="2" id="29" name="COHERENCE_ENABLE" type="int32"/>
<param default="1" id="30" name="COHERENCE_START_BIN" type="int32"/>
<param default="10" id="31" name="COHERENCE_END_BIN" type="int32"/>
<param default="300" id="32" name="COHERENCE_THRESHOLD" type="int32"/>
<param default="990" id="33" name="COHERENCE_FORGETTING_FACTOR" type="int32"/>
<param default="0" id="34" name="DB_SCALING_FACTOR" type="int32"/>
<param default="9" id="35" name="SEP_LAYER" type="int32"/>
<param default="1" id="36" name="SP_GAIN_ENABLE" type="int32"/>
<param default="15" id="37" name="SP_GAIN_MAX_BIN" type="int32"/>
<param default="500" id="38" name="SP_GAIN_MIN" type="int32"/>
<param default="200" id="39" name="SP_GAIN_TH_MIN" type="int32"/>
<param default="450" id="40" name="SP_GAIN_TH_MAX" type="int32"/>
<param default="800" id="41" name="SP_GAIN_SMOOTH" type="int32"/>
<param default="3" id="42" name="SP_GAIN_FREQ_SMOOTH" type="int32"/>
<param default="300" id="43" name="MASTER_MAX_SUP_SMOOTHING_FACTOR" type="int32"/>
<param default="1" id="44" name="GAIN_FREQ_SMOOTH" type="int32"/>
<param default="2" id="45" name="GMIN_CURVE_TYPE" type="int32"/>
<param default="55" id="46" name="GMIN_LINEAR_SPLIT_MID_POINT_BINR" type="int32"/>
<param default="330" id="47" name="GMIN_LINEAR_SPLIT_MID_POINT_VAL" type="int32"/>
<param default="1000" id="48" name="SP_OVERSUB_RATIO" type="int32"/>
<param default="16" id="49" name="WIND_ENERGY_EST_COMPENSATION_GAIN" type="int32"/>
<param default="2000" id="50" name="WIND_ENERGY_CURVE_SLOPE" type="int32"/>
<param default="300" id="51" name="WIND_ENERGY_CURVE_OFFSET" type="int32"/>
<param default="16000" id="52" name="WIND_ENERGY_CURVE_MIN" type="int32"/>
<param default="16000" id="53" name="WIND_ENERGY_CURVE_MAX" type="int32"/>
<param default="900" id="54" name="WIND_ENERGY_SMOOTHING" type="int32"/>
<param default="144" id="55" name="WIND_ENERGY_NORM_DENOM" type="int32"/>
<param default="600" id="56" name="WIND_ENERGY_CURVE_SCALED_TH_MIN" type="int32"/>
<param default="900" id="57" name="WIND_ENERGY_CURVE_SCALED_TH_MAX" type="int32"/>
<param default="1" id="58" name="ENABLE_ML_COMBI_WIND_ENERGY" type="int32"/>
<param default="1" id="59" name="ENABLE_SP_COMBI_WIND_ENERGY" type="int32"/>
<param default="1" id="60" name="ENALBE_SP_COMBI_OVERSUBTRACTION" type="int32"/>
<param default="1" id="61" name="ENABLE_PRIORI_SNR" type="int32"/>
<param default="1000" id="62" name="PRIORI_SNR_ML_TUNING" type="int32"/>
<param default="15" id="63" name="DEC_PREV_NUM" type="int32"/>
<param default="1" id="64" name="SSC_ENABLE" type="int32"/>
<param default="930" id="65" name="SSC_SOFT_SMOOTHING_FACTOR" type="int32"/>
<param default="1600" id="66" name="SSC_OVERDRIVE" type="int32"/>
<param default="3" id="67" name="SSC_MIN_FREQ" type="int32"/>
<param default="130" id="68" name="SSC_MAX_FREQ" type="int32"/>
<param default="700" id="69" name="SSC_PSD_SMOOTHING_FACTOR" type="int32"/>
<param default="12" id="70" name="SSC_SOFT_DECISION_MIN_FREQ" type="int32"/>
<param default="450" id="71" name="SSC_SOFT_DECISION_MAX_FREQ" type="int32"/>
<param default="5" id="72" name="SSC_KEEP_SAVED_PROB_SMOOTH_SIZE" type="int32"/>
<param default="1000" id="73" name="GAIN_BOOSTING_COST" type="int32"/>
</module>
<module id="18" name="Multi Channel IIR 1">
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
<param default="48000" id="1" name="fs_" type="uint32"/>
<param default="2" id="2" name="numCh_" type="uint32"/>
<param default="3" id="3" name="chMask_" type="uint32"/>
<param default="3" id="16" max="3" min="1" name="numOfChannel" type="uint32"/>
<param id="17" name="coeff" size="300" type="float"/>
<struct id="18">
<param max="18" min="-96" name="gain" size="60" type="float"/>
<param max="24000" min="0" name="frequency" size="60" type="uint32"/>
<param max="200" min="0" name="qfactor" size="60" type="float"/>
<param default="4" name="type" size="60" type="int32"/>
</struct>
</module>
<module id="32" name="Single Band DRC">
<param default="1" id="0" max="3" name="opMode_" type="uint32"/>
<param default="48000" id="1" name="fs_" type="uint32"/>
<param default="2" id="2" name="numCh_" type="uint32"/>
<param default="3" id="3" name="chMask_" type="uint32"/>
<struct id="16">
<param max="20" min="0" name="delay_ms" type="float"/>
<param default="5" max="20" min="0" minInclusive="false" name="rms_ms" type="float"/>
<param max="30" min="0" name="gain_dB" type="float"/>
<param max="30" min="-30" name="Min_Gain_dB" type="float"/>
<param default="1" max="3" min="1" name="numOfKnee" type="uint32"/>
<param name="threadhold_dB" size="3" type="float"/>
<param name="compressRatio" size="4" type="float"/>
<param name="kneeWidth" size="3" type="float"/>
<param name="attackTime_ms" size="4" type="float"/>
<param name="releaseTime_ms" size="4" type="float"/>
<param name="hysteresis" size="4" type="float"/>
</struct>
<struct id="17">
<param max="30" min="-30" name="limiter_gain_dB" type="float"/>
<param max="0" min="-30" name="limiter_threadhold_dB" type="float"/>
<param max="100" min="0" name="limiter_attackTime_ms" type="uint32"/>
<param max="100" min="0" name="limiter_releaseTime_ms" type="uint32"/>
</struct>
</module>
<module id="10000" name="Eraser">
<param id="275" name="eraser_pre_gain" type="uint32"/>
<param id="277" name="eraser_post_gain" type="uint32"/>
<param id="279" name="non_eraser_gain" type="uint32"/>
</module>
<module id="10001" name="Cleaner">
<param id="299" name="cleaner_post_gain" type="uint32"/>
</module>
<module id="10002" name="CHRE">
<param id="297" name="chre_gain" type="uint32"/>
</module>
</modules>
<signalflows>
<signalflow id="1" name="Spatial Audio">
<block id="128">
<moduleRef id="18"/>
<moduleRef id="17"/>
</block>
<block id="134">
<moduleRef id="14"/>
<moduleRef id="11"/>
<moduleRef id="6"/>
<moduleRef id="7"/>
<moduleRef id="5"/>
<moduleRef id="8"/>
</block>
</signalflow>
<signalflow id="2" name="General Mic Recording">
<block id="137">
<moduleRef id="14"/>
<moduleRef id="7"/>
<moduleRef id="32"/>
</block>
</signalflow>
<signalflow id="1000" name="Smart Feature">
<block id="0">
<moduleRef id="10000"/>
<moduleRef id="10001"/>
<moduleRef id="10002"/>
</block>
</signalflow>
</signalflows>
</template>

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -0,0 +1,58 @@
########################################################################################################
# (Optional) The supported features list for platform vendors to query from.
# Platform vendors should call maxxaudio_qdsp_is_feature_supported with a string to query from the list.
# This config has no effect in the MaxxAudioQdspHalController. It's only meaningful for platform vendors.
# Putting any value other than 1 would be equivalent to not supported.
########################################################################################################
[HAL_SUPPORTED_FEATURES]
CUSTOM_ACTION_256=1
########################################################################################################
# This defined the options of supported sample rates.
# This can be configured by Waves or platform vendor.
########################################################################################################
[HAL_SUPPORTED_SAMPLE_RATES]
SR_COMMON = 48000
########################################################################################################
# (Optional) The subtypes that applies to different angles(0, 90, 180, 270). Can be empty if not applicable.
# This can be configured by Waves or platform vendor.
########################################################################################################
[HAL_ORIENTATION_SUBTYPES]
OST_SPEAKER = 0:12,90:13,180:12,270:0|13
########################################################################################################
# This defines available preset configurations.
# This should be configured by Waves only unless platform vendor is familiar with MPS structure.
########################################################################################################
[HAL_SUPPORTED_PRESETS]
SPEAKER_MUSIC = OM:1,SM:2,OST:OST_SPEAKER
SPEAKER_SAFE_MUSIC = OM:10,SM:2,OST:OST_SPEAKER
SPEAKER_SAFE_CALL = OM:10,SM:2,OST:OST_SPEAKER
HEADSET_MUSIC = OM:2,SM:2
########################################################################################################
# This defines available CONTROL configurations. Only define the CONTROL if you need it.
# The numbers could vary from device to device.
# 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
A2DP_INSTANCE = INSTANCE:2,DEV:0,SR:SR_COMMON,PRESET:HEADSET_MUSIC
USB_HEADPHONE_INSTANCE = INSTANCE:4,DEV:0,SR:SR_COMMON,PRESET:HEADSET_MUSIC
[COEFS_CONVERTER_SETTING]
AlgFxPath=/vendor/lib/libAlgFx_HiFi3z.so
AlgFxPath64=/vendor/lib64/libAlgFx_HiFi3z.so
# do not modify the following if not necessary
#AudioFormatType=0
#AudioFormatChannels=2
#AudioFormatSampleRate=48000
#AudioFormatBitsPerSample=32
#AudioFormatSampleSize=4
#AudioFormatIncrement=8
[CUSTOM_ACTION_256]
CASE_1=PRIORITY:0,NUMBERS:2:0|1,PRESET:SPEAKER_MUSIC
CASE_2=PRIORITY:1,NUMBERS:1|2|4194304:2|3|4,PRESET:SPEAKER_SAFE_CALL
CASE_3=PRIORITY:2,NUMBERS:1|4194304:0|1,PRESET:SPEAKER_SAFE_MUSIC

Binary file not shown.

View file

@ -0,0 +1,64 @@
########################################################################################################
# (Optional) The supported features list for platform vendors to query from.
# Platform vendors should call maxxaudio_qdsp_is_feature_supported with a string to query from the list.
# This config has no effect in the MaxxAudioQdspHalController. It's only meaningful for platform vendors.
# Putting any value other than 1 would be equivalent to not supported.
########################################################################################################
[HAL_SUPPORTED_FEATURES]
CUSTOM_ACTION_258=1
########################################################################################################
# This defined the options of supported sample rates.
# This can be configured by Waves or platform vendor.
########################################################################################################
[HAL_SUPPORTED_SAMPLE_RATES]
SR_COMMON = 48000
########################################################################################################
# (Optional) The subtypes that applies to different angles(0, 90, 180, 270). Can be empty if not applicable.
# This can be configured by Waves or platform vendor.
########################################################################################################
[HAL_ORIENTATION_SUBTYPES]
OST_SPEAKER = 0:12,90:13,180:12,270:0|13
########################################################################################################
# This defines available preset configurations.
# This should be configured by Waves only unless platform vendor is familiar with MPS structure.
########################################################################################################
[HAL_SUPPORTED_PRESETS]
SPEAKER_MUSIC_THROTTLE= OM:1,SM:2,OST:OST_SPEAKER
SPEAKER_SAFE_MUSIC_THROTTLE = OM:10,SM:2,OST:OST_SPEAKER
SPEAKER_SAFE_CALL_THROTTLE = OM:10,SM:2,OST:OST_SPEAKER
SPEAKER_MUSIC = OM:1,SM:2,OST:OST_SPEAKER
SPEAKER_SAFE_MUSIC = OM:10,SM:2,OST:OST_SPEAKER
SPEAKER_SAFE_CALL = OM:10,SM:2,OST:OST_SPEAKER
HEADSET_MUSIC = OM:2,SM:2
########################################################################################################
# This defines available CONTROL configurations. Only define the CONTROL if you need it.
# The numbers could vary from device to device.
# 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_THROTTLE|SPEAKER_SAFE_MUSIC_THROTTLE|SPEAKER_SAFE_CALL_THROTTLE
A2DP_INSTANCE = INSTANCE:2,DEV:0,SR:SR_COMMON,PRESET:HEADSET_MUSIC
USB_HEADPHONE_INSTANCE = INSTANCE:4,DEV:0,SR:SR_COMMON,PRESET:HEADSET_MUSIC
[COEFS_CONVERTER_SETTING]
AlgFxPath=/vendor/lib/libAlgFx_HiFi3z.so
AlgFxPath64=/vendor/lib64/libAlgFx_HiFi3z.so
# do not modify the following if not necessary
#AudioFormatType=0
#AudioFormatChannels=2
#AudioFormatSampleRate=48000
#AudioFormatBitsPerSample=32
#AudioFormatSampleSize=4
#AudioFormatIncrement=8
[CUSTOM_ACTION_258]
CASE_1=PRIORITY:0,NUMBERS:2:0|1:0,PRESET:SPEAKER_MUSIC
CASE_2=PRIORITY:1,NUMBERS:1|2|4194304:2|3|4:0,PRESET:SPEAKER_SAFE_CALL
CASE_3=PRIORITY:2,NUMBERS:1|4194304:0|1:0,PRESET:SPEAKER_SAFE_MUSIC
CASE_4=PRIORITY:3,NUMBERS:2:0|1:4,PRESET:SPEAKER_MUSIC_THROTTLE
CASE_5=PRIORITY:4,NUMBERS:1|2|4194304:2|3|4:4,PRESET:SPEAKER_SAFE_CALL_THROTTLE
CASE_6=PRIORITY:5,NUMBERS:1|4194304:0|1:4,PRESET:SPEAKER_SAFE_MUSIC_THROTTLE

Binary file not shown.