<?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="0x0101" /> <!-- this must be the first param -->

    <common_config>
        <param execution_type="CPE" /> <!-- value: "CPE" "APE" -->
        <param max_cpe_sessions="2" />
        <param max_ape_sessions="8" />
        <param enable_failure_detection="false" />
    </common_config>

    <acdb_ids>
        <param DEVICE_HANDSET_APE_ACDB_ID="100" />
        <param DEVICE_HANDSET_CPE_ACDB_ID="128" />
        <param DEVICE_HANDSET_CPE_ECPP_ACDB_ID="128" />
    </acdb_ids>

    <sound_model_config> <!-- HOTWORD -->
        <param vendor_uuid="7038ddc8-30f2-11e6-b0ac-40a8f03d3f15" />
        <param app_type="3" /> <!-- app type used in ACDB -->
        <param library="none" />
        <param max_cpe_phrases="1" />
        <param max_cpe_users="1" />
        <param sample_rate="16000" />

        <!-- Module and param ids with which the algorithm is integrated in firmware -->
        <param load_sound_model_ids="0x18000001, 0x00012C14" />
        <param unload_sound_model_ids="0x18000001, 0x00012C15" />

        <!-- format: "ADPCM_packet" or "PCM_packet" !-->
        <!-- transfer_mode: "FTRT" or "RT" -->
        <!--  kw_duration is in milli seconds. It is valid only for FTRT transfer mode -->
        <param capture_keyword="PCM_packet, FTRT, 2000" />
        <param client_capture_read_delay="2000" />
    </sound_model_config>

    <sound_model_config> <!-- HOTSOUND -->
        <param vendor_uuid="a8c03a92-30f2-11e6-92f5-40a8f03d3f15" />
        <param app_type="4" /> <!-- app type used in ACDB -->
        <param library="none" />
        <param sample_rate="48000" />

        <!-- Module and param ids with which the algorithm is integrated in firmware -->
        <param load_sound_model_ids="0x17000001, 0x00012C14" />
        <param unload_sound_model_ids="0x17000001, 0x00012C15" />

        <!-- format: "ADPCM_packet" or "PCM_packet" !-->
        <!-- transfer_mode: "FTRT" or "RT" -->
        <!--  kw_duration is in milli seconds. It is valid only for FTRT transfer mode -->
        <param capture_keyword="PCM_packet, RT, 0" />
        <param client_capture_read_delay="0" />
    </sound_model_config>

</sound_trigger_platform_info>

