<?xml version="1.0" encoding="ISO-8859-1"?>
<!--- Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.       -->
<!---                                                                           -->
<!--- Redistribution and use in source and binary forms, with or without        -->
<!--- modification, are permitted provided that the following conditions are    -->
<!--- met:                                                                      -->
<!---     * Redistributions of source code must retain the above copyright      -->
<!---       notice, this list of conditions and the following disclaimer.       -->
<!---     * Redistributions in binary form must reproduce the above             -->
<!---       copyright notice, this list of conditions and the following         -->
<!---       disclaimer in the documentation and/or other materials provided     -->
<!---       with the distribution.                                              -->
<!---     * Neither the name of The Linux Foundation nor the names of its       -->
<!---       contributors may be used to endorse or promote products derived     -->
<!---       from this software without specific prior written permission.       -->
<!---                                                                           -->
<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED              -->
<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF      -->
<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT    -->
<!--- ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS    -->
<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR    -->
<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF      -->
<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR           -->
<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,     -->
<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE      -->
<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN    -->
<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                             -->
<sound_trigger_platform_info>
    <param version="0x0102" /> <!-- this must be the first param -->
<!--- Version History:                                                          -->
<!--- 0x0101: Legacy version.                                                   -->
<!--- 0x0102: Includes acdb_ids param with the gcs_usecase tag. This matches    -->
<!--- the gcs_usecase with the acdb device that uses it.                        -->
    <common_config>
        <param max_cpe_sessions="1" />
        <param max_wdsp_sessions="3" />
        <param max_ape_sessions="8" />
        <param enable_failure_detection="false" />
        <param support_device_switch="false" />
    </common_config>
    <acdb_ids>
        <param DEVICE_HANDSET_MIC_APE="100" />
        <param DEVICE_HANDSET_MIC_CPE="128" />
        <param DEVICE_HANDSET_MIC_ECPP_CPE="128" />
        <param DEVICE_HEADSET_MIC_CPE="139" />
    </acdb_ids>
    <!-- Multiple sound_model_config tags can be listed, each with unique
         vendor_uuid. -->
    <sound_model_config>
        <param vendor_uuid="7038ddc8-30f2-11e6-b0ac-40a8f03d3f15" />
        <param execution_type="WDSP" /> <!-- value: "WDSP" "ADSP" "DYNAMIC" -->
        <param library="none" />
        <param max_cpe_phrases="1" />
        <param max_cpe_users="1" />
        <!-- Profile specific data which the algorithm can support -->
        <param sample_rate="16000" />
        <param bit_width="16" />
        <param channel_count="1"/>
        <!-- wdsp_fluence_type: fluence disabled: "NONE" -->
        <!-- fluence enabled: "FLUENCE_DMIC", "FLUENCE_QMIC" -->
        <param wdsp_fluence_type="NONE" />
        <gcs_usecase>
            <param uid="0x3" />
            <param acdb_devices="DEVICE_HANDSET_MIC_CPE" />
            <param load_sound_model_ids="0x18000001, 0x4, 0x18000100" />
            <param start_engine_ids="0x18000001, 0x4, 0x18000101" />
            <param confidence_levels_ids="0x18000001, 0x4, 0x00012C28" />
            <param detection_event_ids="0x18000001, 0x4, 0x00012C29" />
            <param custom_config_ids="0x18000001, 0x4, 0x00012C20" />
            <param read_cmd_ids="0x00020013, 0x4, 0x00020015" />
            <param read_rsp_ids="0x00020013, 0x4, 0x00020016" />
        </gcs_usecase>
        <!--  kw_duration is in milli seconds. It is valid only for FTRT
            transfer mode -->
        <param capture_keyword="PCM_raw, FTRT, 2000" />
        <param client_capture_read_delay="2000" />
    </sound_model_config>

    <!-- music -->
    <sound_model_config>
        <param vendor_uuid="9f6ad62a-1f0b-11e7-87c5-40a8f03d3f15" />
        <param execution_type="WDSP" /> <!-- value: "WDSP" "ADSP" "DYNAMIC" -->
        <param library="none" />
        <gcs_usecase>
            <param uid="0x2" />
            <param load_sound_model_ids="0x18000001, 0x1, 0x18000102" />
            <param start_engine_ids="0x18000001, 0x1, 0x18000103" />
            <param custom_config_ids="0x18000001, 0x1, 0x18000106" />
            <param detection_event_ids="0x18000001, 0x1, 0x00012C29" />
            <param read_cmd_ids="0x00020013, 0x2, 0x00020015" />
            <param read_rsp_ids="0x00020013, 0x2, 0x00020016" />
        </gcs_usecase>
        <!--  kw_duration is in milli seconds. It is valid only for FTRT
            transfer mode -->
        <param capture_keyword="MULAW_raw, FTRT, 4000" />
        <param client_capture_read_delay="2000" />
    </sound_model_config>

    <sound_model_config>
        <param vendor_uuid="2fc815fa-4a42-11e7-99bd-40a8f03d3f15" />
        <param execution_type="WDSP" /> <!-- value: "WDSP" "ADSP" "DYNAMIC" -->
        <param library="none" />
        <gcs_usecase>
            <param uid="0x3" />
            <param load_sound_model_ids="0x18000001, 0x1, 0x18000104" />
            <param start_engine_ids="0x18000001, 0x1, 0x18000105" />
            <param detection_event_ids="0x18000001, 0x1, 0x00012C29" />
        </gcs_usecase>
        <!--  kw_duration is in milli seconds. It is valid only for FTRT
            transfer mode -->
        <param capture_keyword="PCM_raw, FTRT, 0" />
        <param client_capture_read_delay="0" />
    </sound_model_config>

    <!-- Multiple adm_config tags can be listed, each with unique profile name. -->
    <!-- app_type to match corresponding value from ACDB -->
    <adm_config>
        <param adm_cfg_profile="DEFAULT" />
        <param app_type="69938" />
        <param sample_rate="16000" />
        <param bit_width="16" />
    </adm_config>

    <lpma_config>
        <param uid="0x10" />
        <param bridge_buffer_ids="0x00020010, 0x4, 0x00020018" />
    </lpma_config>
</sound_trigger_platform_info>
