Skip to content

Commit

Permalink
Add additional XML files needed for sound trigger hal.
Browse files Browse the repository at this point in the history
Test: Build and check on device.
Change-Id: I65a43c164fb5e5a9a5d7b19529a7a4b94b613be4
  • Loading branch information
thorntonc authored and Thierry Strudel committed Mar 30, 2017
1 parent c25557a commit 120f6d1
Show file tree
Hide file tree
Showing 4 changed files with 293 additions and 0 deletions.
3 changes: 3 additions & 0 deletions device.mk
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,9 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/mixer_paths_tavil.xml:system/etc/mixer_paths_tavil.xml \
$(LOCAL_PATH)/audio_platform_info.xml:system/etc/audio_platform_info.xml \
$(LOCAL_PATH)/audio_platform_info_tavil.xml:system/etc/audio_platform_info_tavil.xml \
$(LOCAL_PATH)/sound_trigger_platform_info.xml:system/etc/sound_trigger_platform_info.xml \
$(LOCAL_PATH)/sound_trigger_mixer_paths_wcd9340.xml:system/etc/sound_trigger_mixer_paths_wcd9340.xml \
$(LOCAL_PATH)/graphite_ipc_platform_info.xml:system/etc/graphite_ipc_platform_info.xml \

PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/media_codecs.xml:system/etc/media_codecs.xml \
Expand Down
47 changes: 47 additions & 0 deletions graphite_ipc_platform_info.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--- Copyright (c) 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. -->
<graphite_ipc_platform_info>
<no_of_glink_channels value="4">
</no_of_glink_channels>
<!-- channel 1 configuration -->
<glink_channel name="g_glink_ctrl" latency_in_us="5000"
no_of_intents="1" intents_size="1024">
</glink_channel>
<!-- channel 2 configuration -->
<glink_channel name="g_glink_persistent_data_ild" latency_in_us="30000"
no_of_intents="0">
</glink_channel>
<!-- channel 3 configuration -->
<glink_channel name="g_glink_persistent_data_nild" latency_in_us="30000"
no_of_intents="0">
</glink_channel>
<!-- channel 4 configuration -->
<glink_channel name="g_glink_audio_data" latency_in_us="10000"
no_of_intents="2" intents_size="4096, 4096">
</glink_channel>
</graphite_ipc_platform_info>
124 changes: 124 additions & 0 deletions sound_trigger_mixer_paths_wcd9340.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--- Copyright (c) 2014-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. -->

<mixer>
<!-- These are the initial mixer settings -->
<ctl name="LSM1 MUX" value="None" />
<ctl name="LSM2 MUX" value="None" />
<ctl name="LSM3 MUX" value="None" />
<ctl name="LSM4 MUX" value="None" />
<ctl name="LSM5 MUX" value="None" />
<ctl name="LSM6 MUX" value="None" />
<ctl name="LSM7 MUX" value="None" />
<ctl name="LSM8 MUX" value="None" />
<ctl name="SLIMBUS_5_TX LSM Function" value="None" />
<ctl name="MADONOFF Switch" value="0" />
<ctl name="MAD Input" value="DMIC1" />
<ctl name="MAD_BROADCAST Switch" value="0" />
<ctl name="TX13 INP MUX" value="CDC_DEC_5" />
<ctl name="AIF4_MAD Mixer SLIM TX12" value="0" />
<ctl name="AIF4_MAD Mixer SLIM TX13" value="0" />
<ctl name="CPE AFE MAD Enable" value="0"/>
<ctl name="CLK MODE" value="EXTERNAL" />
<ctl name="EC BUF MUX INP" value="ZERO" />
<ctl name="ADC MUX1" value="DMIC" />
<ctl name="DMIC MUX1" value="ZERO" />

<path name="listen-voice-wakeup-1">
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
<ctl name="LSM1 MUX" value="SLIMBUS_5_TX" />
</path>

<path name="listen-voice-wakeup-2">
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
<ctl name="LSM2 MUX" value="SLIMBUS_5_TX" />
</path>
<path name="listen-voice-wakeup-3">
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
<ctl name="LSM3 MUX" value="SLIMBUS_5_TX" />
</path>
<path name="listen-voice-wakeup-4">
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
<ctl name="LSM4 MUX" value="SLIMBUS_5_TX" />
</path>
<path name="listen-voice-wakeup-5">
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
<ctl name="LSM5 MUX" value="SLIMBUS_5_TX" />
</path>
<path name="listen-voice-wakeup-6">
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
<ctl name="LSM6 MUX" value="SLIMBUS_5_TX" />
</path>
<path name="listen-voice-wakeup-7">
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
<ctl name="LSM7 MUX" value="SLIMBUS_5_TX" />
</path>
<path name="listen-voice-wakeup-8">
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
<ctl name="LSM8 MUX" value="SLIMBUS_5_TX" />
</path>

<path name="listen-cpe-handset-mic">
<ctl name="MAD Input" value="DMIC2" />
<ctl name="MAD_SEL MUX" value="SPE" />
<ctl name="MAD_INP MUX" value="MAD" />
<ctl name="MAD_CPE1 Switch" value="1" />
</path>

<path name="listen-cpe-headset-mic">
<ctl name="MAD Input" value="ADC2" />
<ctl name="MAD_SEL MUX" value="SPE" />
<ctl name="MAD_INP MUX" value="MAD" />
<ctl name="MAD_CPE1 Switch" value="1" />
</path>

<path name="listen-cpe-handset-mic-ecpp">
<ctl name="CLK MODE" value="INTERNAL" />
<ctl name="EC BUF MUX INP" value="DEC1" />
<ctl name="ADC MUX1" value="DMIC" />
<ctl name="DMIC MUX1" value="DMIC2" />
</path>

<!-- path name used for low bandwidth FTRT codec interface -->
<path name="listen-cpe-handset-mic low-speed-intf">
<ctl name="MADONOFF Switch" value="1" />
<ctl name="AIF4_MAD Mixer SLIM TX12" value="1" />
<ctl name="MAD Input" value="DMIC2" />
<ctl name="CPE AFE MAD Enable" value="1"/>
</path>

<path name="listen-ape-handset-mic">
<ctl name="MAD Input" value="DMIC2" />
<ctl name="MAD_SEL MUX" value="MSM" />
<ctl name="MAD_INP MUX" value="MAD" />
<ctl name="MAD_BROADCAST Switch" value="1" />
<ctl name="CDC_IF TX13 MUX" value="MAD_BRDCST" />
<ctl name="AIF4_MAD Mixer SLIM TX13" value="1" />
</path>

</mixer>
119 changes: 119 additions & 0 deletions sound_trigger_platform_info.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
<?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 max_cpe_sessions="1" />
<param max_wdsp_sessions="2" />
<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. The below tag represents QTI SVA engine sound model -->
<!-- configuration. ISV must use their own unique vendor_uuid. -->
<sound_model_config>
<param vendor_uuid="68ab2d40-e860-11e3-95ef-0002a5d5c51b" />
<param execution_type="WDSP" /> <!-- value: "WDSP" "ADSP" "DYNAMIC" -->
<param app_type="2" /> <!-- app type used in ACDB -->
<param library="libsmwrapper.so" />
<param max_cpe_phrases="6" />
<param max_cpe_users="3" />
<param max_ape_phrases="10" />
<param max_ape_users="10" />
<!-- Profile specific data which the algorithm can support -->
<param sample_rate="16000" />
<param bit_width="16" />
<param channel_count="1"/>
<!-- adm_cfg_profile should match with the one defined under adm_config -->
<!-- Set it to NONE if LSM directly connects to AFE -->
<param adm_cfg_profile="NONE" />
<gcs_usecase>
<param uid="0x1" />
<!-- module_id, instance_id, param_id -->
<param load_sound_model_ids="0x00012C0D, 0x2, 0x00012C14" />
<param confidence_levels_ids="0x00012C0D, 0x2, 0x00012C28" />
<param detection_event_ids="0x00012C0D, 0x2, 0x00012C29" />
<param read_cmd_ids="0x00020013, 0x2, 0x00020015" />
<param read_rsp_ids="0x00020013, 0x2, 0x00020016" />
<param custom_config_ids="0x00012C0D, 0x2, 0x00012C20" />
</gcs_usecase>

<!-- Module and param ids with which the algorithm is integrated
in non-graphite firmware (note these must come after gcs params) -->
<param load_sound_model_ids="0x00012C0D, 0x00012C14" />
<param unload_sound_model_ids="0x00012C0D, 0x00012C15" />
<param confidence_levels_ids="0x00012C0D, 0x00012C07" />
<param operation_mode_ids="0x00012C0D, 0x00012C02" />

<!-- 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, 2000" />
<param client_capture_read_delay="2000" />
</sound_model_config>

<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" />

<gcs_usecase>
<param uid="0x2" />
<param load_sound_model_ids="0x18000001, 0x3, 0x00012C14" />
<param confidence_levels_ids="0x18000001, 0x3, 0x00012C28" />
<param detection_event_ids="0x18000001, 0x3, 0x00012C29" />
<param read_cmd_ids="0x00020013, 0x3, 0x00020015" />
<param read_rsp_ids="0x00020013, 0x3, 0x00020016" />
</gcs_usecase>
<param load_sound_model_ids="0x18000001, 0x00012C14" />
<param unload_sound_model_ids="0x18000001, 0x00012C15" />
<!-- kw_duration is in milli seconds. It is valid only for FTRT
transfer mode -->
<param capture_keyword="PCM_packet, RT, 2000" />
<param client_capture_read_delay="2000" />
</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>
</sound_trigger_platform_info>

0 comments on commit 120f6d1

Please sign in to comment.