blob: 09e86e755b82bf64860a88a27d74b669241a15de [file] [log] [blame]
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2019-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. -->
<resource_manager_info>
<pcm_ids>
<device name="PAL_DEVICE_OUT_SPEAKER" pcm_id="0" hw_intf="slim-0-rx" snd_device_name="speaker" back_end_name="SLIM-DEV1-RX-0"/>
<device name="PAL_DEVICE_OUT_HANDSET" pcm_id="0" hw_intf="slim-0-rx" snd_device_name="handset" back_end_name="SLIM-DEV1-RX-0"/>
<device name="PAL_DEVICE_OUT_WIRED_HEADPHONE" pcm_id="0" hw_intf="slim-6-rx" snd_device_name="headphones" back_end_name="SLIM-DEV1-RX-6"/>
<device name="PAL_DEVICE_OUT_WIRED_HEADSET" pcm_id="0" hw_intf="slim-6-rx" snd_device_name="headphones" back_end_name="SLIM-DEV1-RX-6"/>
<device name="PAL_DEVICE_OUT_BLUETOOTH_A2DP" pcm_id="0" hw_intf="slim-7-rx" snd_device_name="bt-a2dp" back_end_name="SLIM-DEV2-RX-7"/>
<device name="PAL_DEVICE_OUT_BLUETOOTH_SCO" pcm_id="0" hw_intf="slim-7-rx" snd_device_name="bt-a2dp" back_end_name="SLIM-DEV2-RX-7"/>
<device name="PAL_DEVICE_OUT_AUX_DIGITAL" pcm_id="0" hw_intf="dp-0-rx" snd_device_name="display-port" back_end_name="DISPLAY_PORT-RX"/>
<device name="PAL_DEVICE_OUT_HDMI" pcm_id="0" hw_intf="dp-0-rx" snd_device_name="display-port" back_end_name="DISPLAY_PORT-RX"/>
<device name="PAL_DEVICE_OUT_USB_DEVICE" pcm_id="0" hw_intf="usb_audio" snd_device_name="usb-headphones" back_end_name="USB_AUDIO-RX"/>
<device name="PAL_DEVICE_OUT_USB_HEADSET" pcm_id="0" hw_intf="usb_audio" snd_device_name="usb-headphones" back_end_name="USB_AUDIO-RX"/>
<device name="PAL_DEVICE_OUT_AUX_DIGITAL" pcm_id="0" hw_intf="dp-0-rx" snd_device_name="display-port" back_end_name="DISPLAY_PORT-RX"/>
<device name="PAL_DEVICE_OUT_HDMI" pcm_id="0" hw_intf="dp-0-rx" snd_device_name="display-port" back_end_name="DISPLAY_PORT-RX"/>
<device name="PAL_DEVICE_IN_HANDSET_MIC" pcm_id="1" hw_intf="slim-0-tx" snd_device_name="handset-mic" back_end_name="SLIM-DEV1-TX-0"/>
<device name="PAL_DEVICE_IN_SPEAKER_MIC" pcm_id="1" hw_intf="slim-0-tx" snd_device_name="speaker-tmic" back_end_name="SLIM-DEV1-TX-0"/>
<device name="PAL_DEVICE_IN_WIRED_HEADSET" pcm_id="1" hw_intf="slim-1-tx" snd_device_name="headset-mic" back_end_name="SLIM-DEV1-TX-0"/>
<device name="PAL_DEVICE_IN_BLUETOOTH_SCO_HEADSET" pcm_id="1" hw_intf="slim-7-tx" snd_device_name="bt-a2dp" back_end_name="SLIM-DEV2-TX-7"/>
<device name="PAL_DEVICE_IN_USB_DEVICE" pcm_id="1" hw_intf="usb_audio" snd_device_name="usb-headset-mic" back_end_name="USB_AUDIO-TX"/>
<device name="PAL_DEVICE_IN_USB_HEADSET" pcm_id="1" hw_intf="usb_audio" snd_device_name="usb-headset-mic" back_end_name="USB_AUDIO-TX"/>
</pcm_ids>
<config_params>
<param key="native_audio_mode" value="multiple_mix_dsp"/>
<param key="max_sessions" value="128"/>
</config_params>
<bt_codecs>
<codec codec_format="CODEC_TYPE_AAC" codec_type="enc|dec" codec_library="lib_bt_bundle.so" />
<codec codec_format="CODEC_TYPE_SBC" codec_type="enc|dec" codec_library="lib_bt_bundle.so" />
<codec codec_format="CODEC_TYPE_LDAC" codec_type="enc" codec_library="lib_bt_bundle.so" />
</bt_codecs>
<config_voice>
<vsid>0xB3000000</vsid>
<mode_map>
<modepair key="0x11C05000" value="0xB3000001"/>
<modepair key="0x11DC5000" value="0xB3000001"/>
<modepair key="0x12006000" value="0xB3000001"/>
<modepair key="0x121C6000" value="0xB3000001"/>
</mode_map>
</config_voice>
<device_profile>
<in-device>
<id>PAL_DEVICE_IN_HANDSET_MIC</id>
<back_end_name>SLIM-DEV1-TX-0</back_end_name>
<max_channels>2</max_channels>
<channels>1</channels>
<snd_device_name>handset-mic</snd_device_name>
<usecase>
<name>PAL_STREAM_LOW_LATENCY</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000002"/>
<!-- AUDIO_FLUENCE_SMECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
<usecase>
<name>PAL_STREAM_VOIP_TX</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000007"/>
<!-- VOIP_FLUENCE_SMECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
<usecase>
<name>PAL_STREAM_VOICE_UI</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000001"/>
<!-- VOICE_UI_FLUENCE_FFECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
<usecase>
<name>PAL_STREAM_VOICE_CALL</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000008"/>
<!-- VOICE_FLUENCE_SMECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
</in-device>
<in-device>
<id>PAL_DEVICE_IN_SPEAKER_MIC</id>
<back_end_name>SLIM-DEV1-TX-0</back_end_name>
<max_channels>4</max_channels>
<channels>1</channels>
<snd_device_name>speaker-mic</snd_device_name>
<usecase>
<name>PAL_STREAM_LOW_LATENCY</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000002"/>
<!-- AUDIO_FLUENCE_SMECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
<usecase>
<name>PAL_STREAM_VOIP_TX</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000007"/>
<!-- VOIP_FLUENCE_SMECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
<usecase>
<name>PAL_STREAM_VOICE_UI</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000001"/>
<!-- VOICE_UI_FLUENCE_FFECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
<usecase>
<name>PAL_STREAM_VOICE_CALL</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000008"/>
<!-- VOICE_FLUENCE_SMECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
</in-device>
<in-device>
<id>PAL_DEVICE_IN_WIRED_HEADSET</id>
<back_end_name>SLIM-DEV1-TX-0</back_end_name>
<max_channels>1</max_channels>
<channels>1</channels>
<snd_device_name>headset-mic</snd_device_name>
<usecase>
<name>PAL_STREAM_LOW_LATENCY</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000002"/>
<!-- AUDIO_FLUENCE_SMECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
<usecase>
<name>PAL_STREAM_VOIP_TX</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000007"/>
<!-- VOIP_FLUENCE_SMECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
<usecase>
<name>PAL_STREAM_VOICE_UI</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000001"/>
<!-- VOICE_UI_FLUENCE_FFECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
<usecase>
<name>PAL_STREAM_VOICE_CALL</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000008"/>
<!-- VOICE_FLUENCE_SMECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
</in-device>
<in-device>
<id>PAL_DEVICE_IN_BLUETOOTH_SCO_HEADSET</id>
<back_end_name>SLIM-DEV2-TX-7</back_end_name>
<max_channels>1</max_channels>
<channels>1</channels>
<snd_device_name>bt-a2dp</snd_device_name>
<usecase>
<name>PAL_STREAM_LOW_LATENCY</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000002"/>
<!-- AUDIO_FLUENCE_SMECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
<usecase>
<name>PAL_STREAM_VOIP_TX</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000007"/>
<!-- VOIP_FLUENCE_SMECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
<usecase>
<name>PAL_STREAM_VOICE_UI</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000001"/>
<!-- VOICE_UI_FLUENCE_FFECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
</in-device>
<in-device>
<id>PAL_DEVICE_IN_HANDSET_VA_MIC</id>
<back_end_name>CODEC_DMA-LPAIF_VA-TX-0</back_end_name>
<max_channels>2</max_channels>
<channels>1</channels>
<snd_device_name>va-mic</snd_device_name>
<usecase>
<name>PAL_STREAM_VOICE_UI</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000001"/>
<!-- VOICE_UI_FLUENCE_FFECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
</in-device>
<in-device>
<id>PAL_DEVICE_IN_HEADSET_VA_MIC</id>
<back_end_name>CODEC_DMA-LPAIF_VA-TX-0</back_end_name>
<max_channels>2</max_channels>
<channels>1</channels>
<snd_device_name>headset-va-mic</snd_device_name>
<usecase>
<name>PAL_STREAM_VOICE_UI</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000001"/>
<!-- VOICE_UI_FLUENCE_FFECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
</in-device>
<in-device>
<id>PAL_DEVICE_IN_USB_HEADSET</id>
<back_end_name>USB_AUDIO-TX</back_end_name>
<max_channels>1</max_channels>
<channels>1</channels>
<snd_device_name>usb-headset-mic</snd_device_name>
<usecase>
<name>PAL_STREAM_VOICE_CALL</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000007"/>
<!-- VOIP_FLUENCE_SMECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
<usecase>
<name>PAL_STREAM_LOW_LATENCY</name>
<devicePP-metadata>
<kvpair key="0xAD000000" value="0xAD000002"/>
<!-- AUDIO_FLUENCE_SMECNS -->
<!-- These key and value are derived from kvh2xml.h and should always be in sync with it -->
</devicePP-metadata>
</usecase>
</in-device>
<out_devices/>
</device_profile>
<in_streams>
<in_stream>
<name>PAL_STREAM_VOIP_TX</name>
<policies>
<ec_ref>
<!--<disabled_stream>PAL_STREAM_LOW_LATENCY</disabled_stream>-->
</ec_ref>
</policies>
</in_stream>
<in_stream>
<name>PAL_STREAM_LOW_LATENCY</name>
<policies>
<ec_ref>
<disabled_stream>PAL_STREAM_LOW_LATENCY</disabled_stream>
<!--<disabled_stream>PAL_STREAM_ULTRA_LOW_LATENCY</disabled_stream>-->
</ec_ref>
</policies>
</in_stream>
<in_stream>
<name>PAL_STREAM_VOICE_UI</name>
<policies>
<ec_ref>
<disabled_stream>PAL_STREAM_LOW_LATENCY</disabled_stream>
</ec_ref>
</policies>
</in_stream>
</in_streams>
<sound_trigger_platform_info>
<param version="0x0100" /> <!-- this must be the first param -->
<common_config>
<param max_sessions="8" />
<param enable_failure_detection="false" />
<param support_device_switch="false" />
<param transit_to_non_lpi_on_charging="false" />
<!-- Param used to indicate if SVA has dedicated back end path and ports not conflicting with other audio paths -->
<param dedicated_sva_path="true" />
<param dedicated_headset_path="false" />
<param lpi_enable="true" />
<param enable_debug_dumps="false" />
<param concurrent_capture="true" />
<param concurrent_voice_call="true" />
<param concurrent_voip_call="true" />
</common_config>
<capture_profile_list>
<capture_profile name="DUAL_MIC_16KHZ_16BIT_FFNS">
<param sample_rate="16000" />
<param channels="2" />
<param bit_width="16" />
<devicePP-metadata>
<!-- see kvh2xml.h -->
<kvpair key="DEVICEPP_TX" value="DEVICEPP_TX_FLUENCE_FFNS"/>
</devicePP-metadata>
</capture_profile>
<capture_profile name="SINGLE_MIC_16KHZ_16BIT_FFNS">
<param sample_rate="16000" />
<param channels="1" />
<param bit_width="16" />
<devicePP-metadata>
<!-- see kvh2xml.h -->
<kvpair key="DEVICEPP_TX" value="DEVICEPP_TX_FLUENCE_FFNS"/>
</devicePP-metadata>
</capture_profile>
<capture_profile name="SINGLE_MIC_16KHZ_16BIT_FFECNS">
<param sample_rate="16000" />
<param channels="1" />
<param bit_width="16" />
<devicePP-metadata>
<!-- see kvh2xml.h -->
<kvpair key="DEVICEPP_TX" value="DEVICEPP_TX_FLUENCE_FFECNS"/>
</devicePP-metadata>
</capture_profile>
<capture_profile name="DUAL_MIC_16KHZ_16BIT_FFECNS">
<param sample_rate="16000" />
<param channels="2" />
<param bit_width="16" />
<devicePP-metadata>
<!-- see kvh2xml.h -->
<kvpair key="DEVICEPP_TX" value="DEVICEPP_TX_FLUENCE_FFECNS"/>
</devicePP-metadata>
</capture_profile>
<capture_profile name="TRI_MIC_16KHZ_16BIT_FFECNS">
<param sample_rate="16000" />
<param channels="3" />
<param bit_width="16" />
<devicePP-metadata>
<!-- see kvh2xml.h -->
<kvpair key="DEVICEPP_TX" value="DEVICEPP_TX_FLUENCE_FFECNS"/>
</devicePP-metadata>
</capture_profile>
<capture_profile name="QUAD_MIC_16KHZ_16BIT_FFECNS">
<param sample_rate="16000" />
<param channels="4" />
<param bit_width="16" />
<devicePP-metadata>
<!-- see kvh2xml.h -->
<kvpair key="DEVICEPP_TX" value="DEVICEPP_TX_FLUENCE_FFECNS"/>
</devicePP-metadata>
</capture_profile>
</capture_profile_list>
<!-- Multiple sound_model_config tags can be listed, each with unique -->
<!-- vendor_uuid. The below tag represents QTI SVA engine sound model -->
<!-- configuration. ISV must use their own unique vendor_uuid. -->
<!-- QTI SVA -->
<sound_model_config>
<param vendor_uuid="68ab2d40-e860-11e3-95ef-0002a5d5c51b" />
<param kw_start_tolerance="100" />
<param kw_end_tolerance="100" />
<param merge_first_stage_sound_models="false"/>
<!-- Profile specific data which the algorithm can support -->
<param sample_rate="16000" />
<param bit_width="16" />
<param out_channels="1"/> <!-- Module output channels -->
<param capture_keyword="2000" />
<param client_capture_read_delay="2000" />
<operating_modes>
<low_power capture_profile_handset="DUAL_MIC_16KHZ_16BIT_FFNS" capture_profile_headset="SINGLE_MIC_16KHZ_16BIT_FFNS"/>
<high_performance capture_profile_handset="DUAL_MIC_16KHZ_16BIT_FFECNS" capture_profile_headset="SINGLE_MIC_16KHZ_16BIT_FFECNS"/>
<high_performance_and_charging capture_profile_handset="DUAL_MIC_16KHZ_16BIT_FFECNS" capture_profile_headset="SINGLE_MIC_16KHZ_16BIT_FFECNS"/>
</operating_modes>
</sound_model_config>
</sound_trigger_platform_info>
</resource_manager_info>