diff options
author | rioskao <rioskao@google.com> | 2019-02-11 16:02:37 +0800 |
---|---|---|
committer | rioskao <rioskao@google.com> | 2019-03-12 22:44:10 -0700 |
commit | 5cb3413a3776cfcdb0d3acb27781e17a1fa264c3 (patch) | |
tree | bddfb563c85e0df4e972f8d20c524582c92600a1 /iaxxx-odsp.h | |
parent | c27c3eb96643dc3ad27136e183676206d8913a7f (diff) | |
download | android_hardware_knowles_athletico_sound_trigger_hal-5cb3413a3776cfcdb0d3acb27781e17a1fa264c3.tar.gz android_hardware_knowles_athletico_sound_trigger_hal-5cb3413a3776cfcdb0d3acb27781e17a1fa264c3.tar.bz2 android_hardware_knowles_athletico_sound_trigger_hal-5cb3413a3776cfcdb0d3acb27781e17a1fa264c3.zip |
sthal: HSW 9.0 integration
note:
+ Added support for dynamic load and unload of packages and plugins when
usecase is enabled.
+ Single buffer plugin to stream for all kw events.
+ Added PM SLEEP power mode support when no usecases are enabled.
+ Added Optimal power mode support in driver if any single usecase is active.
+ Refactor the ST HAL
To support all dynamic routing and load/unload pkg support.
Correct crash handling.
+ Added external and internal oscialltor switch support in driver.
+ Add dump_degug_info and crash_event_logger
Test: Manually test with SoundTriggerTestApp
Bug: 122871429
Bug: 117865400
Bug: 117865331
Bug: 118260288
Bug: 122991017
Change-Id: Iccc62422b2cee15abb14ba9a313cd8017be980c0
Diffstat (limited to 'iaxxx-odsp.h')
-rw-r--r-- | iaxxx-odsp.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/iaxxx-odsp.h b/iaxxx-odsp.h index 7ecdc18..31c7716 100644 --- a/iaxxx-odsp.h +++ b/iaxxx-odsp.h @@ -20,6 +20,15 @@ #define __IAXXX_ODSP_H__ #define NAME_MAX_SIZE 256 +#define IAXXX_PACKAGE_VER_STR_SIZE_MAX (100) +#define IAXXX_PLUGIN_VER_STR_SIZE_MAX (100) +#define IAXXX_MAX_PLUGIN_ENDPOINTS (16) +#define IAXXX_MAX_VER_STR_SIZE (20) +enum iaxxx_pll_source { + IAXXX_SRC_SYSCLK = 0, + IAXXX_INT_OSC = 9, + IAXXX_EXT_OSC = 11, +}; struct iaxxx_plugin_info { uint32_t plg_idx; @@ -27,6 +36,7 @@ struct iaxxx_plugin_info { uint32_t block_id; uint32_t inst_id; uint32_t priority; + uint32_t config_id; }; struct iaxxx_plugin_param { uint32_t inst_id; @@ -54,6 +64,23 @@ struct iaxxx_set_event { uint32_t event_enable_mask; uint32_t block_id; }; +struct iaxxx_evt_trigger { + uint16_t src_id; + uint16_t evt_id; + uint32_t src_opaque; +}; +struct iaxxx_evt_read_subscription { + uint16_t src_id; + uint16_t evt_id; + uint16_t dst_id; + uint32_t dst_opaque; +}; +struct iaxxx_evt_retrieve_notification { + uint16_t src_id; + uint16_t evt_id; + uint32_t src_opaque; + uint32_t dst_opaque; +}; struct iaxxx_evt_info { uint16_t src_id; uint16_t event_id; @@ -64,6 +91,10 @@ struct iaxxx_get_event { uint16_t event_id; uint32_t data; }; +struct iaxxx_pll_clk_data { + uint32_t clk_src; + uint32_t clk_val; +}; struct iaxxx_pkg_mgmt_info { char pkg_name[NAME_MAX_SIZE]; uint32_t pkg_id; @@ -118,6 +149,32 @@ struct iaxxx_plugin_endpoint_status_info { uint8_t op_sample_rate; uint16_t op_frame_length; }; +struct iaxxx_plugin_get_package_version { + uint8_t inst_id; + char version[IAXXX_PACKAGE_VER_STR_SIZE_MAX]; + uint32_t len; +}; +struct iaxxx_plugin_get_plugin_version { + uint8_t inst_id; + char version[IAXXX_PLUGIN_VER_STR_SIZE_MAX]; + uint32_t len; +}; +struct iaxxx_plugin_endpoint_timestamps { + uint8_t proc_id; + uint64_t timestamps[IAXXX_MAX_PLUGIN_ENDPOINTS]; +}; +struct iaxxx_proc_execution_status { + uint8_t proc_id; + uint32_t status; +}; +struct iaxxx_sys_versions { + uint32_t app_ver_num; + char app_ver_str[IAXXX_MAX_VER_STR_SIZE]; + uint32_t app_ver_str_len; + uint32_t rom_ver_num; + char rom_ver_str[IAXXX_MAX_VER_STR_SIZE]; + uint32_t rom_ver_str_len; +}; #define IAXXX_IOCTL_MAGIC 'I' #define ODSP_PLG_CREATE _IO(IAXXX_IOCTL_MAGIC, 0x11) #define ODSP_PLG_RESET _IO(IAXXX_IOCTL_MAGIC, 0x12) @@ -141,4 +198,15 @@ struct iaxxx_plugin_endpoint_status_info { #define ODSP_PLG_SET_PARAM_BLK_WITH_ACK _IO(IAXXX_IOCTL_MAGIC, 0x24) #define ODSP_PLG_GET_STATUS_INFO _IO(IAXXX_IOCTL_MAGIC, 0x25) #define ODSP_PLG_GET_ENDPOINT_STATUS _IO(IAXXX_IOCTL_MAGIC, 0x26) +#define ODSP_EVENT_TRIGGER _IO(IAXXX_IOCTL_MAGIC, 0x27) +#define ODSP_EVENT_READ_SUBSCRIPTION _IO(IAXXX_IOCTL_MAGIC, 0x28) +#define ODSP_EVENT_RETRIEVE_NOTIFICATION _IO(IAXXX_IOCTL_MAGIC, 0x29) +#define ODSP_PLG_GET_PACKAGE_VERSION _IO(IAXXX_IOCTL_MAGIC, 0x2A) +#define ODSP_PLG_GET_PLUGIN_VERSION _IO(IAXXX_IOCTL_MAGIC, 0x2B) +#define ODSP_SET_MPLL_SRC _IO(IAXXX_IOCTL_MAGIC, 0x2C) +#define ODSP_EVENT_RESET_READ_INDEX _IO(IAXXX_IOCTL_MAGIC, 0x2D) +#define ODSP_PLG_GET_ENDPOINT_TIMESTAMPS _IO(IAXXX_IOCTL_MAGIC, 0x2E) +#define ODSP_GET_PROC_EXECUTION_STATUS _IO(IAXXX_IOCTL_MAGIC, 0x2F) +#define ODSP_GET_SYS_VERSIONS _IO(IAXXX_IOCTL_MAGIC, 0x30) +#define ODSP_GET_SYS_DEVICE_ID _IO(IAXXX_IOCTL_MAGIC, 0x31) #endif |