summaryrefslogtreecommitdiffstats
path: root/iaxxx-odsp.h
diff options
context:
space:
mode:
authorrioskao <rioskao@google.com>2019-02-11 16:02:37 +0800
committerrioskao <rioskao@google.com>2019-03-12 22:44:10 -0700
commit5cb3413a3776cfcdb0d3acb27781e17a1fa264c3 (patch)
treebddfb563c85e0df4e972f8d20c524582c92600a1 /iaxxx-odsp.h
parentc27c3eb96643dc3ad27136e183676206d8913a7f (diff)
downloadandroid_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.h68
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