VSF Documented
vsf_wifi_aic8800d_priv.h File Reference
#include "./vsf_wifi_aic8800d.h"
#include "../../vsf_wifi_priv.h"
#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdio.h>

Go to the source code of this file.

Data Structures

struct  aic8800d_mac_addr
 
struct  aic8800d_mac_ssid
 
struct  aic8800d_mac_chan_def
 
struct  aic8800d_lmac_msg
 
struct  aic8800d_ipc_e2a_msg
 
struct  aic8800d_mm_set_stack_start_req
 
struct  aic8800d_mm_get_fw_version_req
 
struct  aic8800d_mm_get_fw_version_cfm
 
struct  aic8800d_mm_reset_req
 
struct  aic8800d_mm_get_mac_addr_req
 
struct  aic8800d_mm_version_req
 
struct  aic8800d_mm_add_if_req
 
struct  aic8800d_mm_set_filter_req
 
struct  aic8800d_txpwr_lvl_conf
 
struct  aic8800d_txpwr_lvl_conf_v2
 
struct  aic8800d_txpwr_lvl_conf_v3
 
struct  aic8800d_txpwr_lvl_conf_v4
 
struct  aic8800d_mm_set_txpwr_lvl_req
 
struct  aic8800d_txpwr_lvl_adj_conf
 
struct  aic8800d_mm_set_txpwr_lvl_adj_req
 
struct  aic8800d_txpwr_ofst_conf
 
struct  aic8800d_txpwr_ofst2x_conf
 
struct  aic8800d_mm_set_txpwr_ofst_req
 
struct  aic8800d_mm_set_rf_calib_req
 
struct  aic8800d_mm_set_rf_calib_cfm
 
struct  aic8800d_mm_set_channel_req
 
struct  aic8800d_mm_get_mac_addr_cfm
 
struct  aic8800d_mm_add_if_cfm
 
struct  aic8800d_mm_version_cfm
 
struct  aic8800d_mm_reset_cfm
 
struct  aic8800d_mm_set_channel_cfm
 
struct  aic8800d_mm_set_filter_cfm
 
struct  aic8800d_mm_set_coex_req
 
struct  aic8800d_mm_start_req
 
struct  aic8800d_mm_start_cfm
 
struct  aic8800d_mm_set_stack_start_cfm
 
struct  aic8800d_mac_ht_capability
 
struct  aic8800d_mac_vht_capability
 
struct  aic8800d_mac_he_mcs_nss_supp
 
struct  aic8800d_mac_he_capability
 
struct  aic8800d_me_config_req
 
struct  aic8800d_me_chan_config_req
 
struct  aic8800d_scanu_start_req
 
struct  aic8800d_scanu_start_cfm
 
struct  aic8800d_scanu_cancel_req
 
struct  aic8800d_scanu_cancel_cfm
 
struct  aic8800d_scanu_result_ind
 
struct  aic8800d_sm_connect_req
 
struct  aic8800d_sm_connect_cfm
 
struct  aic8800d_sm_connect_ind
 
struct  aic8800d_sm_disconnect_req
 
struct  aic8800d_sm_disconnect_ind
 
struct  aic8800d_mm_key_add_req
 
struct  aic8800d_mm_key_add_cfm
 
struct  aic8800d_me_set_control_port_req
 
struct  aic8800d_hostdesc
 
struct  aic8800d_txdesc_api
 
struct  aic8800d_usb_tx_header
 
struct  aic8800d_hw_rxhdr
 
struct  aic8800d_patch_desc
 
struct  aic8800d_dbg_mem_read_req
 
struct  aic8800d_dbg_mem_read_cfm
 
struct  aic8800d_dbg_mem_write_req
 
struct  aic8800d_dbg_mem_write_cfm
 
struct  aic8800d_dbg_mem_mask_write_req
 
struct  aic8800d_dbg_mem_mask_write_cfm
 
struct  aic8800d_dbg_mem_block_write_req
 
struct  aic8800d_fw_variant_t
 
struct  aic8800d_dbg_mem_block_read_req
 
struct  aic8800d_dbg_mem_block_read_cfm
 
struct  aic8800d_dbg_start_app_req
 
struct  aic8800d_dbg_start_app_cfm
 
struct  aic8800d_cmd_t
 
struct  aic8800d_priv_t
 

Macros

#define AIC8800D_CMD_TIMEOUT_MS   5000
 
#define AIC8800D_CMD_BUF_SIZE   1536
 
#define AIC8800D_MAX_CMD_PARAM   1024
 
#define AIC8800D_MAX_PENDING_CMDS   4
 
#define AIC8800D_RF_CFG_COUNT   1
 
#define AIC8800D_SYSCFG_COUNT   3
 
#define AIC8800D_SYSCFG_MASKED_COUNT   1
 
#define AIC8800D_FW_LOAD_ADDR   0x00120000
 
#define AIC8800D_FW_CHUNK_SIZE   1024
 
#define AIC8800D_FW_START_APP_TYPE   1 /* HOST_START_APP_AUTO */
 
#define AIC8800D_START_APP_REBOOT   3 /* HOST_START_APP_REBOOT: reset to boot ROM */
 
#define AIC8800D_USB_TYPE_DATA   0x00
 
#define AIC8800D_USB_TYPE_CFG   0x10
 
#define AIC8800D_USB_TYPE_CFG_CMD_RSP   0x11
 
#define AIC8800D_USB_TYPE_CFG_DATA_CFM   0x12
 
#define AIC8800D_USB_TYPE_CFG_PRINT   0x13
 
#define AIC8800D_TASK_MM   0
 
#define AIC8800D_TASK_DBG   1
 
#define AIC8800D_TASK_SCAN   2
 
#define AIC8800D_TASK_SCANU   4
 
#define AIC8800D_TASK_ME   5
 
#define AIC8800D_TASK_SM   6
 
#define AIC8800D_DRV_TASK_ID   100
 
#define AIC8800D_LMAC_FIRST_MSG(task)
 
#define AIC8800D_MSG_I(msg)
 
#define AIC8800D_MSG_T(msg)
 
#define AIC8800D_MM_RESET_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 0)
 
#define AIC8800D_MM_RESET_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 1)
 
#define AIC8800D_MM_START_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 2)
 
#define AIC8800D_MM_START_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 3)
 
#define AIC8800D_MM_VERSION_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 4)
 
#define AIC8800D_MM_VERSION_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 5)
 
#define AIC8800D_MM_ADD_IF_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 6)
 
#define AIC8800D_MM_ADD_IF_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 7)
 
#define AIC8800D_MM_REMOVE_IF_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 8)
 
#define AIC8800D_MM_REMOVE_IF_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 9)
 
#define AIC8800D_MM_SET_FILTER_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 14)
 
#define AIC8800D_MM_SET_FILTER_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 15)
 
#define AIC8800D_MM_SET_CHANNEL_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 16)
 
#define AIC8800D_MM_SET_CHANNEL_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 17)
 
#define AIC8800D_MM_KEY_ADD_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 36)
 
#define AIC8800D_MM_KEY_ADD_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 37)
 
#define AIC8800D_MM_GET_MAC_ADDR_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 115)
 
#define AIC8800D_MM_GET_MAC_ADDR_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 116)
 
#define AIC8800D_MM_GET_FW_VERSION_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 128)
 
#define AIC8800D_MM_GET_FW_VERSION_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 129)
 
#define AIC8800D_MM_SET_STACK_START_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 123)
 
#define AIC8800D_MM_SET_STACK_START_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 124)
 
#define AIC8800D_MM_SET_RF_CALIB_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 105)
 
#define AIC8800D_MM_SET_RF_CALIB_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 106)
 
#define AIC8800D_MM_SET_COEX_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 101)
 
#define AIC8800D_MM_SET_COEX_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 102)
 
#define AIC8800D_MM_SET_TXPWR_IDX_LVL_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 119)
 
#define AIC8800D_MM_SET_TXPWR_IDX_LVL_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 120)
 
#define AIC8800D_MM_SET_TXPWR_OFST_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 121)
 
#define AIC8800D_MM_SET_TXPWR_OFST_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 122)
 
#define AIC8800D_MM_SET_TXPWR_LVL_ADJ_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 131)
 
#define AIC8800D_MM_SET_TXPWR_LVL_ADJ_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 132)
 
#define AIC8800D_ME_CONFIG_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_ME) + 0)
 
#define AIC8800D_ME_CONFIG_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_ME) + 1)
 
#define AIC8800D_ME_CHAN_CONFIG_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_ME) + 2)
 
#define AIC8800D_ME_CHAN_CONFIG_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_ME) + 3)
 
#define AIC8800D_ME_SET_CONTROL_PORT_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_ME) + 4)
 
#define AIC8800D_ME_SET_CONTROL_PORT_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_ME) + 5)
 
#define AIC8800D_ME_TRAFFIC_IND_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_ME) + 12)
 
#define AIC8800D_ME_TRAFFIC_IND_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_ME) + 13)
 
#define AIC8800D_SCANU_START_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SCANU) + 0)
 
#define AIC8800D_SCANU_START_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SCANU) + 1)
 
#define AIC8800D_SCANU_RESULT_IND   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SCANU) + 4)
 
#define AIC8800D_SCANU_START_CFM_ADDTIONAL   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SCANU) + 9)
 
#define AIC8800D_SCANU_CANCEL_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SCANU) + 10)
 
#define AIC8800D_SCANU_CANCEL_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SCANU) + 11)
 
#define AIC8800D_SM_CONNECT_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 0)
 
#define AIC8800D_SM_CONNECT_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 1)
 
#define AIC8800D_SM_CONNECT_IND   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 2)
 
#define AIC8800D_SM_DISCONNECT_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 3)
 
#define AIC8800D_SM_DISCONNECT_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 4)
 
#define AIC8800D_SM_DISCONNECT_IND   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 5)
 
#define AIC8800D_SM_EXTERNAL_AUTH_REQUIRED_IND   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 6)
 
#define AIC8800D_SM_EXTERNAL_AUTH_REQUIRED_RSP   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 7)
 
#define AIC8800D_SM_FT_AUTH_IND   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 8)
 
#define AIC8800D_SM_FT_AUTH_RSP   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 9)
 
#define AIC8800D_DBG_MEM_READ_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 0)
 
#define AIC8800D_DBG_MEM_READ_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 1)
 
#define AIC8800D_DBG_MEM_WRITE_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 2)
 
#define AIC8800D_DBG_MEM_WRITE_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 3)
 
#define AIC8800D_DBG_MEM_BLOCK_WRITE_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 11)
 
#define AIC8800D_DBG_MEM_BLOCK_WRITE_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 12)
 
#define AIC8800D_DBG_START_APP_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 13)
 
#define AIC8800D_DBG_START_APP_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 14)
 
#define AIC8800D_DBG_MEM_MASK_WRITE_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 17)
 
#define AIC8800D_DBG_MEM_MASK_WRITE_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 18)
 
#define AIC8800D_CO_OK   0
 
#define AIC8800D_CO_FAIL   1
 
#define AIC8800D_MAC_DOMAINCHANNEL_24G_MAX   14
 
#define AIC8800D_MAC_DOMAINCHANNEL_5G_MAX   28
 
#define AIC8800D_MAC_MCS_MAX_LEN   16
 
#define AIC8800D_MAC_HE_MAC_CAPA_LEN   6
 
#define AIC8800D_MAC_HE_PHY_CAPA_LEN   11
 
#define AIC8800D_MAC_HE_PPE_THRES_MAX_LEN   25
 
#define AIC8800D_SCAN_CHANNEL_MAX   42
 
#define AIC8800D_SCAN_SSID_MAX   3
 
#define AIC8800D_SM_ASSOC_IE_LEN   256
 
#define AIC8800D_CONNECTION_FLAG_CONTROL_PORT_HOST   (1u << 0)
 
#define AIC8800D_CONNECTION_FLAG_CONTROL_PORT_NO_ENC   (1u << 1)
 
#define AIC8800D_CONNECTION_FLAG_DISABLE_HT   (1u << 2)
 
#define AIC8800D_CONNECTION_FLAG_WPA_WPA2_IN_USE   (1u << 3)
 
#define AIC8800D_CONNECTION_FLAG_MFP_IN_USE   (1u << 4)
 
#define AIC8800D_CONNECTION_FLAG_REASSOCIATION   (1u << 5)
 
#define AIC8800D_TXDESC_API_SIZE   28 /* sizeof(struct hostdesc) */
 
#define AIC8800D_RX_HWHDR_LEN   60 /* RX_HWHRD_LEN in Linux driver */
 
#define AIC8800D_USB_TX_HEADER_LEN   4 /* USB data TX header: [len u16][type u8][rsvd u8] */
 
#define AIC8800D_USB_RX_ALIGNMENT   4
 
#define AIC8800D_SM_ASSOC_IND_IE_LEN   800
 
#define AIC8800D_SEC_KEY_LEN   32
 
#define AIC8800D_CIPHER_CCMP   2
 
#define AIC8800D_PATCH_MAGIC_NUM   0x48435450 /* "PTCH" */
 
#define AIC8800D_PATCH_MAGIC_NUM_2   0x50544348 /* "HCTP" */
 
#define AIC8800D_PATCH_BLOCK_MAX   4
 
#define AIC8800D_PATCH_TBL_COUNT   2
 
#define AIC8800D_ADID_ADDR   0x00201940
 
#define AIC8800D_PATCH_ADDR   0x001E0000
 
#define AIC8800D_PATCH_EXT_ADDR   0x0020B43C
 
#define AIC8800D_FW_IMG_ADID   0
 
#define AIC8800D_FW_IMG_PATCH   1
 
#define AIC8800D_FW_IMG_EXT   2
 
#define AIC8800D_FW_IMG_MAIN   3
 
#define AIC8800D_FW_IMG_NUM   4
 
#define AIC8800D_SCAN_RSN_CAP_CACHE_SIZE   8
 

Typedefs

typedef uint8_t aic_u8
 
typedef int8_t aic_s8
 
typedef uint16_t aic_u16
 
typedef uint32_t aic_u32
 
typedef bool aic_bool
 
typedef struct aic8800d_fw_variant_t aic8800d_fw_variant_t
 
typedef struct aic8800d_cmd_t aic8800d_cmd_t
 
typedef struct aic8800d_priv_t aic8800d_priv_t
 

Functions

 VSF_STATIC_ASSERT (sizeof(struct aic8800d_scanu_start_req)==376, scan_req_size)
 
 VSF_STATIC_ASSERT (offsetof(struct aic8800d_scanu_start_req, bssid)==352, scan_req_bssid_off)
 
 VSF_STATIC_ASSERT (offsetof(struct aic8800d_scanu_start_req, vif_idx)==364, scan_req_vif_off)
 
 VSF_STATIC_ASSERT (offsetof(struct aic8800d_scanu_start_req, chan_cnt)==367, scan_req_chancnt_off)
 
 VSF_STATIC_ASSERT (offsetof(struct aic8800d_scanu_start_req, ssid_cnt)==368, scan_req_ssidcnt_off)
 
 VSF_STATIC_ASSERT (offsetof(struct aic8800d_scanu_start_req, duration)==372, scan_req_duration_off)
 
aic8800d_priv_t__aic8800d_priv (vsf_wifi_t *wifi)
 
vsf_err_t __aic8800d_send_msg (vsf_wifi_t *wifi, uint16_t id, const void *param, uint16_t param_len, uint16_t cfm_id, void *cfm_param, uint16_t cfm_param_len, vsf_wifi_done_t done)
 
void __aic8800d_cmd_cfm (vsf_wifi_t *wifi, aic8800d_cmd_t *cmd, const struct aic8800d_ipc_e2a_msg *msg)
 

Variables

const uint8_t __aic8800d_firmware_data []
 
const uint32_t __aic8800d_firmware_size
 
const uint8_t __aic8800d_adid_data []
 
const uint32_t __aic8800d_adid_size
 
const uint8_t __aic8800d_patch_data []
 
const uint32_t __aic8800d_patch_size
 
const uint8_t __aic8800d_patch_ext_data []
 
const uint32_t __aic8800d_patch_ext_size
 
const uint8_t __aic8800d_patch_table_data []
 
const uint32_t __aic8800d_patch_table_size
 

Macro Definition Documentation

◆ AIC8800D_CMD_TIMEOUT_MS

#define AIC8800D_CMD_TIMEOUT_MS   5000

◆ AIC8800D_CMD_BUF_SIZE

#define AIC8800D_CMD_BUF_SIZE   1536

◆ AIC8800D_MAX_CMD_PARAM

#define AIC8800D_MAX_CMD_PARAM   1024

◆ AIC8800D_MAX_PENDING_CMDS

#define AIC8800D_MAX_PENDING_CMDS   4

◆ AIC8800D_RF_CFG_COUNT

#define AIC8800D_RF_CFG_COUNT   1

◆ AIC8800D_SYSCFG_COUNT

#define AIC8800D_SYSCFG_COUNT   3

◆ AIC8800D_SYSCFG_MASKED_COUNT

#define AIC8800D_SYSCFG_MASKED_COUNT   1

◆ AIC8800D_FW_LOAD_ADDR

#define AIC8800D_FW_LOAD_ADDR   0x00120000

◆ AIC8800D_FW_CHUNK_SIZE

#define AIC8800D_FW_CHUNK_SIZE   1024

◆ AIC8800D_FW_START_APP_TYPE

#define AIC8800D_FW_START_APP_TYPE   1 /* HOST_START_APP_AUTO */

◆ AIC8800D_START_APP_REBOOT

#define AIC8800D_START_APP_REBOOT   3 /* HOST_START_APP_REBOOT: reset to boot ROM */

◆ AIC8800D_USB_TYPE_DATA

#define AIC8800D_USB_TYPE_DATA   0x00

◆ AIC8800D_USB_TYPE_CFG

#define AIC8800D_USB_TYPE_CFG   0x10

◆ AIC8800D_USB_TYPE_CFG_CMD_RSP

#define AIC8800D_USB_TYPE_CFG_CMD_RSP   0x11

◆ AIC8800D_USB_TYPE_CFG_DATA_CFM

#define AIC8800D_USB_TYPE_CFG_DATA_CFM   0x12

◆ AIC8800D_USB_TYPE_CFG_PRINT

#define AIC8800D_USB_TYPE_CFG_PRINT   0x13

◆ AIC8800D_TASK_MM

#define AIC8800D_TASK_MM   0

◆ AIC8800D_TASK_DBG

#define AIC8800D_TASK_DBG   1

◆ AIC8800D_TASK_SCAN

#define AIC8800D_TASK_SCAN   2

◆ AIC8800D_TASK_SCANU

#define AIC8800D_TASK_SCANU   4

◆ AIC8800D_TASK_ME

#define AIC8800D_TASK_ME   5

◆ AIC8800D_TASK_SM

#define AIC8800D_TASK_SM   6

◆ AIC8800D_DRV_TASK_ID

#define AIC8800D_DRV_TASK_ID   100

◆ AIC8800D_LMAC_FIRST_MSG

#define AIC8800D_LMAC_FIRST_MSG ( task)
Value:
((uint16_t)((task) << 10))
unsigned short uint16_t
Definition stdint.h:7

◆ AIC8800D_MSG_I

#define AIC8800D_MSG_I ( msg)
Value:
((msg) & ((1u << 10) - 1))

◆ AIC8800D_MSG_T

#define AIC8800D_MSG_T ( msg)
Value:
((uint8_t)((msg) >> 10))
unsigned char uint8_t
Definition stdint.h:5

◆ AIC8800D_MM_RESET_REQ

#define AIC8800D_MM_RESET_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 0)

◆ AIC8800D_MM_RESET_CFM

#define AIC8800D_MM_RESET_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 1)

◆ AIC8800D_MM_START_REQ

#define AIC8800D_MM_START_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 2)

◆ AIC8800D_MM_START_CFM

#define AIC8800D_MM_START_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 3)

◆ AIC8800D_MM_VERSION_REQ

#define AIC8800D_MM_VERSION_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 4)

◆ AIC8800D_MM_VERSION_CFM

#define AIC8800D_MM_VERSION_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 5)

◆ AIC8800D_MM_ADD_IF_REQ

#define AIC8800D_MM_ADD_IF_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 6)

◆ AIC8800D_MM_ADD_IF_CFM

#define AIC8800D_MM_ADD_IF_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 7)

◆ AIC8800D_MM_REMOVE_IF_REQ

#define AIC8800D_MM_REMOVE_IF_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 8)

◆ AIC8800D_MM_REMOVE_IF_CFM

#define AIC8800D_MM_REMOVE_IF_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 9)

◆ AIC8800D_MM_SET_FILTER_REQ

#define AIC8800D_MM_SET_FILTER_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 14)

◆ AIC8800D_MM_SET_FILTER_CFM

#define AIC8800D_MM_SET_FILTER_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 15)

◆ AIC8800D_MM_SET_CHANNEL_REQ

#define AIC8800D_MM_SET_CHANNEL_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 16)

◆ AIC8800D_MM_SET_CHANNEL_CFM

#define AIC8800D_MM_SET_CHANNEL_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 17)

◆ AIC8800D_MM_KEY_ADD_REQ

#define AIC8800D_MM_KEY_ADD_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 36)

◆ AIC8800D_MM_KEY_ADD_CFM

#define AIC8800D_MM_KEY_ADD_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 37)

◆ AIC8800D_MM_GET_MAC_ADDR_REQ

#define AIC8800D_MM_GET_MAC_ADDR_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 115)

◆ AIC8800D_MM_GET_MAC_ADDR_CFM

#define AIC8800D_MM_GET_MAC_ADDR_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 116)

◆ AIC8800D_MM_GET_FW_VERSION_REQ

#define AIC8800D_MM_GET_FW_VERSION_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 128)

◆ AIC8800D_MM_GET_FW_VERSION_CFM

#define AIC8800D_MM_GET_FW_VERSION_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 129)

◆ AIC8800D_MM_SET_STACK_START_REQ

#define AIC8800D_MM_SET_STACK_START_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 123)

◆ AIC8800D_MM_SET_STACK_START_CFM

#define AIC8800D_MM_SET_STACK_START_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 124)

◆ AIC8800D_MM_SET_RF_CALIB_REQ

#define AIC8800D_MM_SET_RF_CALIB_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 105)

◆ AIC8800D_MM_SET_RF_CALIB_CFM

#define AIC8800D_MM_SET_RF_CALIB_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 106)

◆ AIC8800D_MM_SET_COEX_REQ

#define AIC8800D_MM_SET_COEX_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 101)

◆ AIC8800D_MM_SET_COEX_CFM

#define AIC8800D_MM_SET_COEX_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 102)

◆ AIC8800D_MM_SET_TXPWR_IDX_LVL_REQ

#define AIC8800D_MM_SET_TXPWR_IDX_LVL_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 119)

◆ AIC8800D_MM_SET_TXPWR_IDX_LVL_CFM

#define AIC8800D_MM_SET_TXPWR_IDX_LVL_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 120)

◆ AIC8800D_MM_SET_TXPWR_OFST_REQ

#define AIC8800D_MM_SET_TXPWR_OFST_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 121)

◆ AIC8800D_MM_SET_TXPWR_OFST_CFM

#define AIC8800D_MM_SET_TXPWR_OFST_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 122)

◆ AIC8800D_MM_SET_TXPWR_LVL_ADJ_REQ

#define AIC8800D_MM_SET_TXPWR_LVL_ADJ_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 131)

◆ AIC8800D_MM_SET_TXPWR_LVL_ADJ_CFM

#define AIC8800D_MM_SET_TXPWR_LVL_ADJ_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_MM) + 132)

◆ AIC8800D_ME_CONFIG_REQ

#define AIC8800D_ME_CONFIG_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_ME) + 0)

◆ AIC8800D_ME_CONFIG_CFM

#define AIC8800D_ME_CONFIG_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_ME) + 1)

◆ AIC8800D_ME_CHAN_CONFIG_REQ

#define AIC8800D_ME_CHAN_CONFIG_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_ME) + 2)

◆ AIC8800D_ME_CHAN_CONFIG_CFM

#define AIC8800D_ME_CHAN_CONFIG_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_ME) + 3)

◆ AIC8800D_ME_SET_CONTROL_PORT_REQ

#define AIC8800D_ME_SET_CONTROL_PORT_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_ME) + 4)

◆ AIC8800D_ME_SET_CONTROL_PORT_CFM

#define AIC8800D_ME_SET_CONTROL_PORT_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_ME) + 5)

◆ AIC8800D_ME_TRAFFIC_IND_REQ

#define AIC8800D_ME_TRAFFIC_IND_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_ME) + 12)

◆ AIC8800D_ME_TRAFFIC_IND_CFM

#define AIC8800D_ME_TRAFFIC_IND_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_ME) + 13)

◆ AIC8800D_SCANU_START_REQ

#define AIC8800D_SCANU_START_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SCANU) + 0)

◆ AIC8800D_SCANU_START_CFM

#define AIC8800D_SCANU_START_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SCANU) + 1)

◆ AIC8800D_SCANU_RESULT_IND

#define AIC8800D_SCANU_RESULT_IND   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SCANU) + 4)

◆ AIC8800D_SCANU_START_CFM_ADDTIONAL

#define AIC8800D_SCANU_START_CFM_ADDTIONAL   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SCANU) + 9)

◆ AIC8800D_SCANU_CANCEL_REQ

#define AIC8800D_SCANU_CANCEL_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SCANU) + 10)

◆ AIC8800D_SCANU_CANCEL_CFM

#define AIC8800D_SCANU_CANCEL_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SCANU) + 11)

◆ AIC8800D_SM_CONNECT_REQ

#define AIC8800D_SM_CONNECT_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 0)

◆ AIC8800D_SM_CONNECT_CFM

#define AIC8800D_SM_CONNECT_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 1)

◆ AIC8800D_SM_CONNECT_IND

#define AIC8800D_SM_CONNECT_IND   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 2)

◆ AIC8800D_SM_DISCONNECT_REQ

#define AIC8800D_SM_DISCONNECT_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 3)

◆ AIC8800D_SM_DISCONNECT_CFM

#define AIC8800D_SM_DISCONNECT_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 4)

◆ AIC8800D_SM_DISCONNECT_IND

#define AIC8800D_SM_DISCONNECT_IND   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 5)

◆ AIC8800D_SM_EXTERNAL_AUTH_REQUIRED_IND

#define AIC8800D_SM_EXTERNAL_AUTH_REQUIRED_IND   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 6)

◆ AIC8800D_SM_EXTERNAL_AUTH_REQUIRED_RSP

#define AIC8800D_SM_EXTERNAL_AUTH_REQUIRED_RSP   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 7)

◆ AIC8800D_SM_FT_AUTH_IND

#define AIC8800D_SM_FT_AUTH_IND   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 8)

◆ AIC8800D_SM_FT_AUTH_RSP

#define AIC8800D_SM_FT_AUTH_RSP   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_SM) + 9)

◆ AIC8800D_DBG_MEM_READ_REQ

#define AIC8800D_DBG_MEM_READ_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 0)

◆ AIC8800D_DBG_MEM_READ_CFM

#define AIC8800D_DBG_MEM_READ_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 1)

◆ AIC8800D_DBG_MEM_WRITE_REQ

#define AIC8800D_DBG_MEM_WRITE_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 2)

◆ AIC8800D_DBG_MEM_WRITE_CFM

#define AIC8800D_DBG_MEM_WRITE_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 3)

◆ AIC8800D_DBG_MEM_BLOCK_WRITE_REQ

#define AIC8800D_DBG_MEM_BLOCK_WRITE_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 11)

◆ AIC8800D_DBG_MEM_BLOCK_WRITE_CFM

#define AIC8800D_DBG_MEM_BLOCK_WRITE_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 12)

◆ AIC8800D_DBG_START_APP_REQ

#define AIC8800D_DBG_START_APP_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 13)

◆ AIC8800D_DBG_START_APP_CFM

#define AIC8800D_DBG_START_APP_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 14)

◆ AIC8800D_DBG_MEM_MASK_WRITE_REQ

#define AIC8800D_DBG_MEM_MASK_WRITE_REQ   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 17)

◆ AIC8800D_DBG_MEM_MASK_WRITE_CFM

#define AIC8800D_DBG_MEM_MASK_WRITE_CFM   (AIC8800D_LMAC_FIRST_MSG(AIC8800D_TASK_DBG) + 18)

◆ AIC8800D_CO_OK

#define AIC8800D_CO_OK   0

◆ AIC8800D_CO_FAIL

#define AIC8800D_CO_FAIL   1

◆ AIC8800D_MAC_DOMAINCHANNEL_24G_MAX

#define AIC8800D_MAC_DOMAINCHANNEL_24G_MAX   14

◆ AIC8800D_MAC_DOMAINCHANNEL_5G_MAX

#define AIC8800D_MAC_DOMAINCHANNEL_5G_MAX   28

◆ AIC8800D_MAC_MCS_MAX_LEN

#define AIC8800D_MAC_MCS_MAX_LEN   16

◆ AIC8800D_MAC_HE_MAC_CAPA_LEN

#define AIC8800D_MAC_HE_MAC_CAPA_LEN   6

◆ AIC8800D_MAC_HE_PHY_CAPA_LEN

#define AIC8800D_MAC_HE_PHY_CAPA_LEN   11

◆ AIC8800D_MAC_HE_PPE_THRES_MAX_LEN

#define AIC8800D_MAC_HE_PPE_THRES_MAX_LEN   25

◆ AIC8800D_SCAN_CHANNEL_MAX

#define AIC8800D_SCAN_CHANNEL_MAX   42

◆ AIC8800D_SCAN_SSID_MAX

#define AIC8800D_SCAN_SSID_MAX   3

◆ AIC8800D_SM_ASSOC_IE_LEN

#define AIC8800D_SM_ASSOC_IE_LEN   256

◆ AIC8800D_CONNECTION_FLAG_CONTROL_PORT_HOST

#define AIC8800D_CONNECTION_FLAG_CONTROL_PORT_HOST   (1u << 0)

◆ AIC8800D_CONNECTION_FLAG_CONTROL_PORT_NO_ENC

#define AIC8800D_CONNECTION_FLAG_CONTROL_PORT_NO_ENC   (1u << 1)

◆ AIC8800D_CONNECTION_FLAG_DISABLE_HT

#define AIC8800D_CONNECTION_FLAG_DISABLE_HT   (1u << 2)

◆ AIC8800D_CONNECTION_FLAG_WPA_WPA2_IN_USE

#define AIC8800D_CONNECTION_FLAG_WPA_WPA2_IN_USE   (1u << 3)

◆ AIC8800D_CONNECTION_FLAG_MFP_IN_USE

#define AIC8800D_CONNECTION_FLAG_MFP_IN_USE   (1u << 4)

◆ AIC8800D_CONNECTION_FLAG_REASSOCIATION

#define AIC8800D_CONNECTION_FLAG_REASSOCIATION   (1u << 5)

◆ AIC8800D_TXDESC_API_SIZE

#define AIC8800D_TXDESC_API_SIZE   28 /* sizeof(struct hostdesc) */

◆ AIC8800D_RX_HWHDR_LEN

#define AIC8800D_RX_HWHDR_LEN   60 /* RX_HWHRD_LEN in Linux driver */

◆ AIC8800D_USB_TX_HEADER_LEN

#define AIC8800D_USB_TX_HEADER_LEN   4 /* USB data TX header: [len u16][type u8][rsvd u8] */

◆ AIC8800D_USB_RX_ALIGNMENT

#define AIC8800D_USB_RX_ALIGNMENT   4

◆ AIC8800D_SM_ASSOC_IND_IE_LEN

#define AIC8800D_SM_ASSOC_IND_IE_LEN   800

◆ AIC8800D_SEC_KEY_LEN

#define AIC8800D_SEC_KEY_LEN   32

◆ AIC8800D_CIPHER_CCMP

#define AIC8800D_CIPHER_CCMP   2

◆ AIC8800D_PATCH_MAGIC_NUM

#define AIC8800D_PATCH_MAGIC_NUM   0x48435450 /* "PTCH" */

◆ AIC8800D_PATCH_MAGIC_NUM_2

#define AIC8800D_PATCH_MAGIC_NUM_2   0x50544348 /* "HCTP" */

◆ AIC8800D_PATCH_BLOCK_MAX

#define AIC8800D_PATCH_BLOCK_MAX   4

◆ AIC8800D_PATCH_TBL_COUNT

#define AIC8800D_PATCH_TBL_COUNT   2

◆ AIC8800D_ADID_ADDR

#define AIC8800D_ADID_ADDR   0x00201940

◆ AIC8800D_PATCH_ADDR

#define AIC8800D_PATCH_ADDR   0x001E0000

◆ AIC8800D_PATCH_EXT_ADDR

#define AIC8800D_PATCH_EXT_ADDR   0x0020B43C

◆ AIC8800D_FW_IMG_ADID

#define AIC8800D_FW_IMG_ADID   0

◆ AIC8800D_FW_IMG_PATCH

#define AIC8800D_FW_IMG_PATCH   1

◆ AIC8800D_FW_IMG_EXT

#define AIC8800D_FW_IMG_EXT   2

◆ AIC8800D_FW_IMG_MAIN

#define AIC8800D_FW_IMG_MAIN   3

◆ AIC8800D_FW_IMG_NUM

#define AIC8800D_FW_IMG_NUM   4

◆ AIC8800D_SCAN_RSN_CAP_CACHE_SIZE

#define AIC8800D_SCAN_RSN_CAP_CACHE_SIZE   8

Typedef Documentation

◆ aic_u8

typedef uint8_t aic_u8

◆ aic_s8

typedef int8_t aic_s8

◆ aic_u16

typedef uint16_t aic_u16

◆ aic_u32

typedef uint32_t aic_u32

◆ aic_bool

typedef bool aic_bool

◆ aic8800d_fw_variant_t

typedef struct aic8800d_fw_variant_t aic8800d_fw_variant_t

◆ aic8800d_cmd_t

typedef struct aic8800d_cmd_t aic8800d_cmd_t

◆ aic8800d_priv_t

typedef struct aic8800d_priv_t aic8800d_priv_t

Function Documentation

◆ VSF_STATIC_ASSERT() [1/6]

VSF_STATIC_ASSERT ( sizeof(struct aic8800d_scanu_start_req) = =376,
scan_req_size  )

◆ VSF_STATIC_ASSERT() [2/6]

VSF_STATIC_ASSERT ( offsetof(struct aic8800d_scanu_start_req, bssid) = =352,
scan_req_bssid_off  )

◆ VSF_STATIC_ASSERT() [3/6]

VSF_STATIC_ASSERT ( offsetof(struct aic8800d_scanu_start_req, vif_idx) = =364,
scan_req_vif_off  )

◆ VSF_STATIC_ASSERT() [4/6]

VSF_STATIC_ASSERT ( offsetof(struct aic8800d_scanu_start_req, chan_cnt) = =367,
scan_req_chancnt_off  )

◆ VSF_STATIC_ASSERT() [5/6]

VSF_STATIC_ASSERT ( offsetof(struct aic8800d_scanu_start_req, ssid_cnt) = =368,
scan_req_ssidcnt_off  )

◆ VSF_STATIC_ASSERT() [6/6]

VSF_STATIC_ASSERT ( offsetof(struct aic8800d_scanu_start_req, duration) = =372,
scan_req_duration_off  )

◆ __aic8800d_priv()

aic8800d_priv_t * __aic8800d_priv ( vsf_wifi_t * wifi)

◆ __aic8800d_send_msg()

vsf_err_t __aic8800d_send_msg ( vsf_wifi_t * wifi,
uint16_t id,
const void * param,
uint16_t param_len,
uint16_t cfm_id,
void * cfm_param,
uint16_t cfm_param_len,
vsf_wifi_done_t done )

◆ __aic8800d_cmd_cfm()

void __aic8800d_cmd_cfm ( vsf_wifi_t * wifi,
aic8800d_cmd_t * cmd,
const struct aic8800d_ipc_e2a_msg * msg )

Variable Documentation

◆ __aic8800d_firmware_data

const uint8_t __aic8800d_firmware_data[]
extern

◆ __aic8800d_firmware_size

const uint32_t __aic8800d_firmware_size
extern

◆ __aic8800d_adid_data

const uint8_t __aic8800d_adid_data[]
extern

◆ __aic8800d_adid_size

const uint32_t __aic8800d_adid_size
extern

◆ __aic8800d_patch_data

const uint8_t __aic8800d_patch_data[]
extern

◆ __aic8800d_patch_size

const uint32_t __aic8800d_patch_size
extern

◆ __aic8800d_patch_ext_data

const uint8_t __aic8800d_patch_ext_data[]
extern

◆ __aic8800d_patch_ext_size

const uint32_t __aic8800d_patch_ext_size
extern

◆ __aic8800d_patch_table_data

const uint8_t __aic8800d_patch_table_data[]
extern

◆ __aic8800d_patch_table_size

const uint32_t __aic8800d_patch_table_size
extern
Generated from commit: vsfteam/vsf@5de27dd