configs: Add separate lsm_usecase for LPI and non-LPI
Separate lsm_usecase config for LPI and non-LPI will allow a single
sound trigger session to have a different number of mics depending
on the LPI status.
ALso Add support for barge-in mode feature which allows for the session
to switch between barge-in mode and non barge-in mode for non-LPI usecases.
Change-Id: I654df59a3466c5dd5663f90aed2b87a3ee8adddd
diff --git a/configs/atoll/sound_trigger_platform_info.xml b/configs/atoll/sound_trigger_platform_info.xml
index 07a59d0..00ba7ec 100644
--- a/configs/atoll/sound_trigger_platform_info.xml
+++ b/configs/atoll/sound_trigger_platform_info.xml
@@ -50,6 +50,8 @@
<param dedicated_sva_path="true" />
<param dedicated_headset_path="false" />
<param platform_lpi_enable="true" />
+ <param enable_debug_dumps="false" />
+ <param support_non_lpi_without_ec="false" />
</common_config>
<acdb_ids>
<param DEVICE_HANDSET_MIC_APE="100" />
@@ -105,27 +107,6 @@
<param bit_wdith="16"/>
<param channel_count="1"/>
</arm_ss_usecase>
- <gcs_usecase>
- <param uid="0x1" />
- <param acdb_devices="DEVICE_HANDSET_MIC_CPE, DEVICE_HANDSET_TMIC_CPE, DEVICE_HEADSET_MIC_CPE" />
- <!-- 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>
- <gcs_usecase>
- <param uid="0x2" />
- <param acdb_devices="DEVICE_HANDSET_MIC_CPE, DEVICE_HANDSET_TMIC_CPE, DEVICE_HEADSET_MIC_CPE" />
- <param load_sound_model_ids="0x00012C0D, 0x3, 0x00012C14" />
- <param confidence_levels_ids="0x00012C0D, 0x3, 0x00012C28" />
- <param detection_event_ids="0x00012C0D, 0x3, 0x00012C29" />
- <param read_cmd_ids="0x00020013, 0x3, 0x00020015" />
- <param read_rsp_ids="0x00020013, 0x3, 0x00020016" />
- <param custom_config_ids="0x00012C0D, 0x3, 0x00012C20" />
- </gcs_usecase>
<!-- Module and param ids with which the algorithm is integrated
in non-graphite firmware (note these must come after gcs params)
Extends flexibility to have different ids based on execution type.
@@ -138,11 +119,47 @@
<!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
<!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
<!-- is FFECNS -->
- <param fluence_type="FLUENCE_TMIC" />
+ <param fluence_type="FLUENCE_DMIC" />
<param execution_mode="ADSP" />
+ <!-- lpi_mode: "NON_LPI_BARGE_IN", "NON_LPI", "LPI" -->
+ <!-- NON_LPI_BARGE_IN: Default non-LPI mode type. lsm_usecase -->
+ <!-- must be present with this mode type to handle barge-in. -->
+ <!-- NON_LPI: If another lsm_usecase is present with this mode -->
+ <!-- type, it will be used for non-LPI non-barge-in usecases. -->
+ <!-- If not present, NON_LPI_BARGE_IN mode type will be used. -->
+ <!-- LPI: This mode type will be used for LPI usecases. -->
+ <param lpi_mode="NON_LPI_BARGE_IN" />
<param app_type="2" /> <!-- app type used in ACDB -->
<param in_channels="5"/> <!-- Module input channels -->
- <param in_channels_lpi="1"/>
+ <param load_sound_model_ids="0x00012C1C, 0x0, 0x00012C14" />
+ <param unload_sound_model_ids="0x00012C1C, 0x0, 0x00012C15" />
+ <param confidence_levels_ids="0x00012C1C, 0x0, 0x00012C07" />
+ <param operation_mode_ids="0x00012C1C, 0x0, 0x00012C02" />
+ <param polling_enable_ids="0x00012C1C, 0x0, 0x00012C1B" />
+ <param custom_config_ids="0x00012C1C, 0x0, 0x00012C20" />
+ <param det_event_type_ids="0x00012C1C, 0x0, 0x00012C2C" />
+ <param lab_dam_cfg_ids="0x00012C08, 0x0, 0x000102C4" />
+ </lsm_usecase>
+ <lsm_usecase>
+ <param capture_device="HANDSET" />
+ <!-- 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="FFECNS" />
+ <!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
+ <!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
+ <!-- is FFECNS -->
+ <param fluence_type="FLUENCE_DMIC" />
+ <param execution_mode="ADSP" />
+ <!-- lpi_mode: "NON_LPI_BARGE_IN", "NON_LPI", "LPI" -->
+ <!-- NON_LPI_BARGE_IN: Default non-LPI mode type. lsm_usecase -->
+ <!-- must be present with this mode type to handle barge-in. -->
+ <!-- NON_LPI: If another lsm_usecase is present with this mode -->
+ <!-- type, it will be used for non-LPI non-barge-in usecases. -->
+ <!-- If not present, NON_LPI_BARGE_IN mode type will be used. -->
+ <!-- LPI: This mode type will be used for LPI usecases. -->
+ <param lpi_mode="LPI" />
+ <param app_type="2" /> <!-- app type used in ACDB -->
+ <param in_channels="1"/> <!-- Module input channels -->
<param load_sound_model_ids="0x00012C1C, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x00012C1C, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x00012C1C, 0x0, 0x00012C07" />
diff --git a/configs/lito/sound_trigger_platform_info.xml b/configs/lito/sound_trigger_platform_info.xml
index 90acb41..e6692d0 100644
--- a/configs/lito/sound_trigger_platform_info.xml
+++ b/configs/lito/sound_trigger_platform_info.xml
@@ -49,6 +49,8 @@
<!-- Param used to indicate if SVA has dedicated SLIM ports -->
<param dedicated_sva_path="true" />
<param platform_lpi_enable="true" />
+ <param enable_debug_dumps="false" />
+ <param support_non_lpi_without_ec="false" />
</common_config>
<acdb_ids>
<param DEVICE_HANDSET_MIC_APE="100" />
@@ -118,9 +120,45 @@
<!-- is FFECNS -->
<param fluence_type="FLUENCE_TMIC" />
<param execution_mode="ADSP" />
+ <!-- lpi_mode: "NON_LPI_BARGE_IN", "NON_LPI", "LPI" -->
+ <!-- NON_LPI_BARGE_IN: Default non-LPI mode type. lsm_usecase -->
+ <!-- must be present with this mode type to handle barge-in. -->
+ <!-- NON_LPI: If another lsm_usecase is present with this mode -->
+ <!-- type, it will be used for non-LPI non-barge-in usecases. -->
+ <!-- If not present, NON_LPI_BARGE_IN mode type will be used. -->
+ <!-- LPI: This mode type will be used for LPI usecases. -->
+ <param lpi_mode="NON_LPI_BARGE_IN" />
<param app_type="2" /> <!-- app type used in ACDB -->
<param in_channels="5"/> <!-- Module input channels -->
- <param in_channels_lpi="1"/>
+ <param load_sound_model_ids="0x00012C1C, 0x0, 0x00012C14" />
+ <param unload_sound_model_ids="0x00012C1C, 0x0, 0x00012C15" />
+ <param confidence_levels_ids="0x00012C1C, 0x0, 0x00012C07" />
+ <param operation_mode_ids="0x00012C1C, 0x0, 0x00012C02" />
+ <param polling_enable_ids="0x00012C1C, 0x0, 0x00012C1B" />
+ <param custom_config_ids="0x00012C1C, 0x0, 0x00012C20" />
+ <param det_event_type_ids="0x00012C1C, 0x0, 0x00012C2C" />
+ <param lab_dam_cfg_ids="0x00012C08, 0x0, 0x000102C4" />
+ </lsm_usecase>
+ <lsm_usecase>
+ <param capture_device="HANDSET" />
+ <!-- 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="FFECNS" />
+ <!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
+ <!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
+ <!-- is FFECNS -->
+ <param fluence_type="FLUENCE_DMIC" />
+ <param execution_mode="ADSP" />
+ <!-- lpi_mode: "NON_LPI_BARGE_IN", "NON_LPI", "LPI" -->
+ <!-- NON_LPI_BARGE_IN: Default non-LPI mode type. lsm_usecase -->
+ <!-- must be present with this mode type to handle barge-in. -->
+ <!-- NON_LPI: If another lsm_usecase is present with this mode -->
+ <!-- type, it will be used for non-LPI non-barge-in usecases. -->
+ <!-- If not present, NON_LPI_BARGE_IN mode type will be used. -->
+ <!-- LPI: This mode type will be used for LPI usecases. -->
+ <param lpi_mode="LPI" />
+ <param app_type="2" /> <!-- app type used in ACDB -->
+ <param in_channels="1"/> <!-- Module input channels -->
<param load_sound_model_ids="0x00012C1C, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x00012C1C, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x00012C1C, 0x0, 0x00012C07" />