/**************************************************************************** **************************************************************************** *** *** 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 _IAXXX_DEBUG_INTF_H #define _IAXXX_DEBUG_INTF_H #include #include #define IAXXX_SRB_SZ_TO_ARB (0x16c) #define IAXXX_SRB_REGS_NUM (IAXXX_SRB_SZ_TO_ARB / sizeof(uint32_t)) #define IAXXX_ARB_SZ (0x100) #define IAXXX_ARB_REGS_NUM (IAXXX_ARB_SZ / sizeof(uint32_t)) #define IAXXX_ARB_BLOCK_NUM (IAXXX_ARB_REGS_NUM / 2) #define IAXXX_MAX_CIRC_BUFS (3) #define IAXXX_MAX_REGS_NUM (0xc00) #define IAXXX_TUNNEL_MAX (32) #define IAXXX_CHANNEL_MAX (32) #define IAXXX_STREAM_MAX (16) struct iaxxx_srb_info { uint32_t reg_start_addr; int reg_num; uint32_t reg_vals[IAXXX_SRB_REGS_NUM]; }; struct iaxxx_arb_block { uint32_t reg_start_addr; int reg_num; uint32_t reg_vals[IAXXX_MAX_REGS_NUM]; char name[15]; }; struct iaxxx_arb_info { uint32_t reg_start_addr; int reg_num; uint32_t reg_vals[IAXXX_ARB_REGS_NUM]; struct iaxxx_arb_block blocks[IAXXX_ARB_BLOCK_NUM]; }; struct iaxxx_circ_buffer { uint32_t reg_start_addr; int reg_num; uint32_t reg_vals[IAXXX_MAX_REGS_NUM]; char name[15]; }; struct iaxxx_circ_buffer_info { int buf_num; struct iaxxx_circ_buffer bufs[IAXXX_MAX_CIRC_BUFS]; }; struct iaxxx_registers_dump { struct iaxxx_srb_info srb_info; struct iaxxx_arb_info arb_info; struct iaxxx_circ_buffer_info circ_buffer_info; }; struct iaxxx_log_level_info { uint32_t module_id; uint32_t log_level; }; struct iaxxx_log_mode_info { bool mode; uint8_t proc_id; }; struct iaxxx_plgin_log_mode_info { bool mode; uint32_t inst_id; uint8_t block_id; }; struct iaxxx_plgin_log_state_info { bool state; uint32_t inst_id; uint8_t block_id; }; enum iaxxx_fw_debug_log_mode { IAXXX_FROM_MEMORY, IAXXX_FROM_ENDPOINT, }; enum iaxxx_fw_debug_log_level { IAXXX_DBG_LOG_LVL_OFF, IAXXX_DBG_LOG_LVL_CUSTOM, IAXXX_DBG_LOG_LVL_FATAL, IAXXX_DBG_LOG_LVL_ERROR, IAXXX_DBG_LOG_LVL_WARN, IAXXX_DBG_LOG_LVL_INFO, IAXXX_DBG_LOG_LVL_DEBUG, IAXXX_DBG_LOG_LVL_TRACE, }; enum iaxxx_debug_module_ids { IAXXX_DBG_MODULE_ID_ASSERT_LOG, IAXXX_DBG_MODULE_ID_ACCDETMGR_LOG, IAXXX_DBG_MODULE_ID_BATTERYMGR_LOG, IAXXX_DBG_MODULE_ID_BLUETOOTHMGR_LOG, IAXXX_DBG_MODULE_ID_BUTTONMGR_LOG, IAXXX_DBG_MODULE_ID_CODECMGR_LOG, IAXXX_DBG_MODULE_ID_CTRLMGR_LOG, IAXXX_DBG_MODULE_ID_DMAMGR_LOG, IAXXX_DBG_MODULE_ID_EVTMGR_LOG, IAXXX_DBG_MODULE_ID_FLASHMGR_LOG, IAXXX_DBG_MODULE_ID_LEDMGR_LOG, IAXXX_DBG_MODULE_ID_POWERMGR_LOG, IAXXX_DBG_MODULE_ID_STREAMMGR_LOG, IAXXX_DBG_MODULE_ID_SENSORMGR_LOG, IAXXX_DBG_MODULE_ID_TUNNELMGR_LOG, IAXXX_DBG_MODULE_ID_USBMGR_LOG, IAXXX_DBG_MODULE_ID_PLUGINMGR_LOG, IAXXX_DBG_MODULE_ID_PLUGINVM_LOG, IAXXX_DBG_MODULE_ID_PACKAGEUTILS_LOG, IAXXX_DBG_MODULE_ID_ENDPOINT_LOG, IAXXX_DBG_MODULE_ID_PUTMSG_LOG, IAXXX_DBG_MODULE_ID_CONTROLLER_LOG, IAXXX_DBG_MODULE_ID_MIPSPROFILER_LOG, IAXXX_DBG_MODULE_ID_DEBUGMONITOR_LOG, IAXXX_DBG_MODULE_ID_SSPDRV_LOG, IAXXX_DBG_MODULE_ID_AFDRV_LOG, IAXXX_DBG_MODULE_ID_SPIDRV_LOG, IAXXX_DBG_MODULE_ID_I2CDRV_LOG, IAXXX_DBG_MODULE_ID_A400DRV_LOG, IAXXX_DBG_MODULE_ID_ADAU1361DRV_LOG, IAXXX_DBG_MODULE_ID_MAX98090DRV_LOG, IAXXX_DBG_MODULE_ID_BQ27425DRV_LOG, IAXXX_DBG_MODULE_ID_USBDRV_LOG, IAXXX_DBG_MODULE_ID_CSR8811_LOG, IAXXX_DBG_MODULE_ID_CYW20707DRV_LOG, IAXXX_DBG_MODULE_ID_BUTTONDRV_LOG, IAXXX_DBG_MODULE_ID_LEDDRV_LOG, IAXXX_DBG_MODULE_ID_TIMERDRV_LOG, IAXXX_DBG_MODULE_ID_UARTDRV_LOG, IAXXX_DBG_MODULE_ID_FLASHDRV_LOG, IAXXX_DBG_MODULE_ID_DMADRV_LOG, IAXXX_DBG_MODULE_ID_GPIODRV_LOG, IAXXX_DBG_MODULE_ID_MACDRV_LOG, IAXXX_DBG_MODULE_ID_STMRDRV_LOG, IAXXX_DBG_MODULE_ID_STMRPTDRV_LOG, IAXXX_DBG_MODULE_ID_SLIMBUSDRV_LOG, IAXXX_DBG_MODULE_ID_SSENSORDRV_LOG, IAXXX_DBG_MODULE_ID_STRMDRV_LOG, IAXXX_DBG_MODULE_ID_CPUSTRMDRV_LOG, IAXXX_DBG_MODULE_ID_CLKTREEUTILS_LOG, IAXXX_DBG_MODULE_ID_SCRIPTMGR_LOG, }; struct iaxxx_tunnel_info_dump { uint32_t id; uint32_t out_buf_size; uint32_t out_buf_addr; uint32_t out_buf_head; uint32_t out_buf_tail; uint32_t out_buf_threshold; uint32_t en; uint32_t st; uint32_t nframe_drops; uint32_t nsent_to_host; uint32_t nsent; uint32_t nrecvd; uint32_t ctrl; uint32_t format; }; struct iaxxx_channel_info_dump { uint32_t id; uint32_t st; uint32_t direction; uint32_t gain; uint32_t nsent; uint32_t nrecvd; uint32_t endpoint_state; uint32_t intr_cnt; uint32_t drop_cnt; uint32_t gain_ctrl; uint32_t gain_status; union { uint32_t in_connect; uint32_t out_fmt; }; }; struct iaxxx_stream_info_dump { uint32_t id; uint32_t en; uint32_t st; uint32_t af_error_afs_fifo_overflow_cnt; uint32_t af_error_afs_fifo_underflow_cnt; uint32_t af_error_tus_fifo_overflow_cnt; uint32_t af_error_tus_fifo_underflow_cnt; uint32_t af_error_tus_fifo_coherency_cnt; uint32_t af_error_deadline_cnt; uint32_t af_error_phy_cnt; uint32_t af_error_timeout_cnt; uint32_t af_error_access_cnt; uint32_t ctrl; uint32_t status; uint32_t format; uint32_t port; uint32_t channel; uint32_t sync; }; #define IAXXX_BUS_CONFIG _IO('R', 0x011) #define IAXXX_IOCTL_GET_REGISTERS_DUMP _IO('R', 0x012) #define IAXXX_IOCTL_GET_TUNNEL_INFO_DUMP _IO('R', 0x013) #define IAXXX_IOCTL_GET_CHANNEL_INFO_DUMP _IO('R', 0x014) #define IAXXX_IOCTL_GET_STREAM_INFO_DUMP _IO('R', 0x015) #define IAXXX_SET_DBG_LOG_LEVEL _IO('R', 0x021) #define IAXXX_GET_DBG_LOG_LEVEL _IO('R', 0x022) #define IAXXX_SET_DBG_LOG_MODE _IO('R', 0x023) #define IAXXX_GET_DBG_LOG_MODE _IO('R', 0x024) #define IAXXX_SET_PLUGIN_LOG_MODE _IO('R', 0x031) #define IAXXX_GET_PLUGIN_LOG_MODE _IO('R', 0x032) #define IAXXX_SET_PLUGIN_LOG_STATE _IO('R', 0x033) #define IAXXX_GET_PLUGIN_LOG_STATE _IO('R', 0x034) #endif