unplugged-system/device/mediatek/common/kernel-headers/linux/vow.h

136 lines
4.5 KiB
C

/****************************************************************************
****************************************************************************
***
*** This header was automatically generated from a Linux kernel header
*** of the same name, to make information necessary for userspace to
*** call into the kernel available to libc. It contains only constants,
*** structures, and macros generated from the original header, and thus,
*** contains no copyrightable information.
***
*** To edit the content of this header, modify the corresponding
*** source file (e.g. under external/kernel-headers/original/) then
*** run bionic/libc/kernel/tools/update_all.py
***
*** Any manual change here will be lost the next time this script will
*** be run. You've been warned!
***
****************************************************************************
****************************************************************************/
#ifndef __VOW_H__
#define __VOW_H__
#define VOW_DEVNAME "vow"
#define VOW_IOC_MAGIC 'V'
#define VOW_SET_CONTROL _IOW(VOW_IOC_MAGIC, 0x03, unsigned int)
#define VOW_SET_SPEAKER_MODEL _IOW(VOW_IOC_MAGIC, 0x04, unsigned int)
#define VOW_CLR_SPEAKER_MODEL _IOW(VOW_IOC_MAGIC, 0x05, unsigned int)
#define VOW_SET_APREG_INFO _IOW(VOW_IOC_MAGIC, 0x09, unsigned int)
#define VOW_BARGEIN_ON _IOW(VOW_IOC_MAGIC, 0x0A, unsigned int)
#define VOW_BARGEIN_OFF _IOW(VOW_IOC_MAGIC, 0x0B, unsigned int)
#define VOW_CHECK_STATUS _IOW(VOW_IOC_MAGIC, 0x0C, unsigned int)
#define VOW_RECOG_ENABLE _IOW(VOW_IOC_MAGIC, 0x0D, unsigned int)
#define VOW_RECOG_DISABLE _IOW(VOW_IOC_MAGIC, 0x0E, unsigned int)
#define VOW_MODEL_START _IOW(VOW_IOC_MAGIC, 0x0F, unsigned int)
#define VOW_MODEL_STOP _IOW(VOW_IOC_MAGIC, 0x10, unsigned int)
#define VOW_GET_ALEXA_ENGINE_VER _IOW(VOW_IOC_MAGIC, 0x11, unsigned int)
#define VOW_GET_GOOGLE_ENGINE_VER _IOW(VOW_IOC_MAGIC, 0x12, unsigned int)
#define VOW_GET_GOOGLE_ARCH _IOW(VOW_IOC_MAGIC, 0x13, unsigned int)
#define VOW_SET_DSP_AEC_PARAMETER _IOW(VOW_IOC_MAGIC, 0x14, unsigned int)
#define VOW_SET_PAYLOADDUMP_INFO _IOW(VOW_IOC_MAGIC, 0x16, unsigned int)
#define VOW_READ_VOICE_DATA _IOW(VOW_IOC_MAGIC, 0x17, unsigned int)
#define VOW_SET_VOW_DUMP_DATA _IOW(VOW_IOC_MAGIC, 0x18, unsigned int)
#define VOW_GET_SCP_RECOVER_STATUS _IOW(VOW_IOC_MAGIC, 0x19, unsigned int)
#define VOW_SET_VOW_DUAL_CH_TRANSFER _IOW(VOW_IOC_MAGIC, 0x1A, unsigned int)
#define VOW_NOTIFY_CHRE_STATUS _IOW(VOW_IOC_MAGIC, 0x1B, unsigned int)
#define MAGIC_IOCTL_NUMBER (0xDEADBEEF) // set meaningless default value
#define RESERVED_DATA 4
#define VOW_DSP_INFORM_SIZE 0x100
enum vow_control_cmd_t {
VOWControlCmd_Init = 0,
VOWControlCmd_EnableHotword,
VOWControlCmd_DisableHotword,
VOWControlCmd_EnableSeamlessRecord,
VOWControlCmd_EnableDump,
VOWControlCmd_DisableDump,
VOWControlCmd_GetDump,
VOWControlCmd_Reset,
VOWControlCmd_Mic_Single,
VOWControlCmd_Mic_Dual,
VOWControlCmd_Speaker_Single,
VOWControlCmd_Speaker_Dual
};
enum vow_eint_status_t {
VOW_EINT_DISABLE = -2,
VOW_EINT_FAIL = -1,
VOW_EINT_PASS = 0,
VOW_EINT_RETRY = 1,
NUM_OF_VOW_EINT_STATUS = 4
};
enum vow_mtkif_type_t {
VOW_MTKIF_NONE = 0,
VOW_MTKIF_AMIC = 1,
VOW_MTKIF_DMIC = 2,
VOW_MTKIF_DMIC_LP = 3
};
enum vow_provider_t {
VOW_PROVIDER_NONE = 0,
VOW_PROVIDER_SCP_FIFO = 1,
VOW_PROVIDER_STANDALONE_CODEC = 2,
VOW_PROVIDER_VIRTUAL = 3,
VOW_PROVIDER_SCP_DMIC_FIFO = 4,
VOW_PROVIDER_MAX
};
enum vow_cic_type_t {
VOW_LEGACY_CIC_TYPE = 0,
VOW_NEW_CIC_TYPE = 1,
VOW_CIC_MAX
};
enum {
VOW_IF_SCP_FIFO = 0,
VOW_IF_STANDALONE_CODEC = 1,
VOW_IF_SCP_DMIC_FIFO = 2
};
enum {
VOW_SCP_EVENT_NONE = 0,
VOW_SCP_EVENT_STOP = 5,
VOW_SCP_EVENT_READY = 6
};
struct vow_eint_data_struct_t {
int size;
int eint_status;
int id;
char data[RESERVED_DATA];
};
struct vow_model_info_t {
long id;
long keyword;
long addr;
long size;
long return_size_addr;
long uuid;
void * data;
};
struct vow_model_start_t {
long handle;
long confidence_level;
long dsp_inform_addr;
long dsp_inform_size_addr;
};
struct vow_engine_info_t {
long return_size_addr;
long data_addr;
};
struct vow_payloaddump_info_t {
long return_payloaddump_addr;
long return_payloaddump_size_addr;
long max_payloaddump_size;
};
struct vow_scp_recover_info_t {
long return_event_addr;
};
struct vow_ioctl_arg_info_t {
long magic_number;
long return_data;
};
#endif