diff options
Diffstat (limited to 'network/wlan/WDI/HAL/HalComFirmware.h')
| -rw-r--r-- | network/wlan/WDI/HAL/HalComFirmware.h | 465 |
1 files changed, 0 insertions, 465 deletions
diff --git a/network/wlan/WDI/HAL/HalComFirmware.h b/network/wlan/WDI/HAL/HalComFirmware.h deleted file mode 100644 index 545f1c6c..00000000 --- a/network/wlan/WDI/HAL/HalComFirmware.h +++ /dev/null @@ -1,465 +0,0 @@ -#ifndef __INC_COMFIRMWARE_H__ -#define __INC_COMFIRMWARE_H__ - -#define PageNum_128(_Len) (u4Byte)(((_Len)>>7) + ((_Len)&0x7F ? 1:0)) -#define PageNum_256(_Len) (u4Byte)(((_Len)>>8) + ((_Len)&0xFF ? 1:0)) -#define PageNum_512(_Len) (u4Byte)(((_Len)>>9) + ((_Len)&0x1FF ? 1:0)) - -// -// Check if FW header exists. We do not consider the lower 4 bits in this case. -// By tynli. 2009.12.04. -// Add new FW signature recognized ID 23xx for RTL8723. -// -// Signature header for RLE0380 Test chip: 0x2300, RTL8723A Normal Chip: 0x2301 -// Added by Roger, 2011.07.28. -// -#define IS_FW_HEADER_EXIST(_pFwHdr) ((GET_FIRMWARE_HDR_SIGNATURE(_pFwHdr) & 0xFFF0) == 0x92C0 ||\ - ( GET_FIRMWARE_HDR_SIGNATURE(_pFwHdr) & 0xFFF0) == 0x88C0 ||\ - ( GET_FIRMWARE_HDR_SIGNATURE(_pFwHdr) & 0xFF00) == 0x2300 ||\ - ( GET_FIRMWARE_HDR_SIGNATURE(_pFwHdr) & 0xFF00) == 0x2301 ||\ - ( GET_FIRMWARE_HDR_SIGNATURE(_pFwHdr) & 0xFF00) == 0x2302 ||\ - (GET_FIRMWARE_HDR_SIGNATURE(_pFwHdr) &0xFFFF) == 0x92D0 ||\ - (GET_FIRMWARE_HDR_SIGNATURE(_pFwHdr) &0xFFFF) == 0x92D1 ||\ - (GET_FIRMWARE_HDR_SIGNATURE(_pFwHdr) &0xFFFF) == 0x92D2 ||\ - (GET_FIRMWARE_HDR_SIGNATURE(_pFwHdr) &0xFFFF) == 0x92D3) - - -#if(FW_QUEME_MECHANISM_NEW != 1) -#define IS_H2CQUEUE_EMPTY(_pHalData) (_pHalData->H2CQueueTail == _pHalData->H2CQueueHead) -#endif - -#define GET_FIRMWARE(_Adapter) ((PRT_FIRMWARE) (((HAL_DATA_TYPE*)(_Adapter->HalData))->pFirmware)) - - -//#define FillH2CCmd(_Adapter, _ElementID, _CmdLen,_pCmdBuffer) \ -// (IS_HARDWARE_TYPE_JAGUAR(_Adapter) || IS_HARDWARE_TYPE_8723B(_Adapter))?FillH2CCmd8723B(_Adapter, _ElementID, _CmdLen,_pCmdBuffer): \ -// (IS_HARDWARE_TYPE_8192E(_Adapter))?FillH2CCmd8192E(_Adapter, _ElementID, _CmdLen,_pCmdBuffer): \ -// (IS_HARDWARE_TYPE_8188E(_Adapter) ? FillH2CCmd88E(_Adapter, _ElementID, _CmdLen,_pCmdBuffer) : FillH2CCmd92C(_Adapter, _ElementID, _CmdLen,_pCmdBuffer)) - - -#define FW_GTK_EXT_MEM_SIZE 256 // bytes - -// The value is define to check FW 32k calibration status in REG_MCUTST_WOWLAN(0x1c7). -// Modify to new value from 8723BS FW v15. -#define FW_DBG_32K_CALI_TIMEOUT 0xfd -#define FW_DBG_32K_CALI_LOCK 0xfe - -//-------------------------------------------------- -typedef enum _DESC_PACKET_TYPE{ - DESC_PACKET_TYPE_INIT = 0, - DESC_PACKET_TYPE_NORMAL = 1, - DESC_PACKET_TYPE_CMD -}DESC_PACKET_TYPE; - - -#define FW_SIZE 0x40000 // Compatible with RTL8723 Maximal RAM code size 24K. modified to 32k, TO compatible with 92d maximal fw size 32k -#define FW_START_ADDRESS 0x1000 - -#define MAX_PAGE_SIZE 4096 // @ page : 4k bytes - -typedef enum _FIRMWARE_SOURCE{ - FW_SOURCE_IMG_FILE = 0, - FW_SOURCE_HEADER_FILE = 1, //from header file -}FIRMWARE_SOURCE, *PFIRMWARE_SOURCE; - -typedef struct _RT_FIRMWARE{ - FIRMWARE_SOURCE eFWSource; - u1Byte szFwBuffer[FW_SIZE]; - u4Byte ulFwLength; - u1Byte szWoWLANFwBuffer[FW_SIZE]; - u4Byte ulWoWLANFwLength; - u1Byte szBTFwBuffer[FW_SIZE]; - u4Byte ulBTFwLength; -}RT_FIRMWARE, *PRT_FIRMWARE; - -// -// This structure must be cared byte-ordering -// -// Added by tynli. 2009.12.04. - -//===================================================== -// Firmware Header(8-byte alinment required) -//===================================================== -//--- LONG WORD 0 ---- -#define GET_FIRMWARE_HDR_SIGNATURE(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr, 0, 16) // 92C0: test chip; 92C, 88C0: test chip; 88C1: MP A-cut; 92C1: MP A-cut -#define GET_FIRMWARE_HDR_CATEGORY(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr, 16, 8) // AP/NIC and USB/PCI -#define GET_FIRMWARE_HDR_FUNCTION(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr, 24, 8) // Reserved for different FW function indcation, for further use when driver needs to download different FW in different conditions -#define GET_FIRMWARE_HDR_VERSION(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+4, 0, 16)// FW Version -#define GET_FIRMWARE_HDR_SUB_VER(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+4, 16, 8) // FW Subversion, default 0x00 -#define GET_FIRMWARE_HDR_RSVD1(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+4, 24, 8) - -//--- LONG WORD 1 ---- -#define GET_FIRMWARE_HDR_MONTH(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+8, 0, 8) // Release time Month field -#define GET_FIRMWARE_HDR_DATE(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+8, 8, 8) // Release time Date field -#define GET_FIRMWARE_HDR_HOUR(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+8, 16, 8)// Release time Hour field -#define GET_FIRMWARE_HDR_MINUTE(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+8, 24, 8)// Release time Minute field -#define GET_FIRMWARE_HDR_ROMCODE_SIZE(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+12, 0, 16)// The size of RAM code -#define GET_FIRMWARE_HDR_RSVD2(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+12, 16, 16) - -//--- LONG WORD 2 ---- -#define GET_FIRMWARE_HDR_SVN_IDX(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+16, 0, 32)// The SVN entry index -#define GET_FIRMWARE_HDR_RSVD3(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+20, 0, 32) - -//--- LONG WORD 3 ---- -#define GET_FIRMWARE_HDR_RSVD4(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+24, 0, 32) -#define GET_FIRMWARE_HDR_RSVD5(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+28, 0, 32) - -// -// This structure must be cared byte-ordering -// -// Added by ylb 20130814 - -//===================================================== -// New Firmware Header(8-byte alinment required) -//===================================================== -//--- LONG WORD 0 ---- -#define GET_FIRMWARE_HDR_SIGNATURE_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr, 0, 16) -#define GET_FIRMWARE_HDR_CATEGORY_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr, 16, 8) // AP/NIC and USB/PCI -#define GET_FIRMWARE_HDR_FUNCTION_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr, 24, 8) // Reserved for different FW function indcation, for further use when driver needs to download different FW in different conditions -#define GET_FIRMWARE_HDR_VERSION_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+4, 0, 16)// FW Version -#define GET_FIRMWARE_HDR_SUB_VER_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+4, 16, 8) // FW Subversion, default 0x00 -#define GET_FIRMWARE_HDR_SUB_IDX_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+4, 24, 8) // FW Subversion Index - -//--- LONG WORD 1 ---- -#define GET_FIRMWARE_HDR_SVN_IDX_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+8, 0, 32)// The SVN entry index -#define GET_FIRMWARE_HDR_RSVD1_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+12, 0, 32) - -//--- LONG WORD 2 ---- -#define GET_FIRMWARE_HDR_MONTH_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+16, 0, 8) // Release time Month field -#define GET_FIRMWARE_HDR_DATE_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+16, 8, 8) // Release time Date field -#define GET_FIRMWARE_HDR_HOUR_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+16, 16, 8)// Release time Hour field -#define GET_FIRMWARE_HDR_MINUTE_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+16, 24, 8)// Release time Minute field -#define GET_FIRMWARE_HDR_YEAR_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+20, 0, 16)// Release time Year field -#define GET_FIRMWARE_HDR_FOUNDRY_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+20, 16, 8)// Release time Foundry field -#define GET_FIRMWARE_HDR_RSVD2_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+20, 24, 8) - -//--- LONG WORD 3 ---- -#define GET_FIRMWARE_HDR_MEM_UASGE_DL_FROM_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+24, 0, 1) -#define GET_FIRMWARE_HDR_MEM_UASGE_BOOT_FROM_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+24, 1, 1) -#define GET_FIRMWARE_HDR_MEM_UASGE_BOOT_LOADER_3081(__FwHdr)LE_BITS_TO_4BYTE(__FwHdr+24, 2, 1) -#define GET_FIRMWARE_HDR_MEM_UASGE_IRAM_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+24, 3, 1) -#define GET_FIRMWARE_HDR_MEM_UASGE_ERAM_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+24, 4, 1) -#define GET_FIRMWARE_HDR_MEM_UASGE_RSVD4_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+24, 5, 3) -#define GET_FIRMWARE_HDR_RSVD3_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+24, 8, 8) -#define GET_FIRMWARE_HDR_BOOT_LOADER_SZ_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+24, 16, 16) -#define GET_FIRMWARE_HDR_RSVD5_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+28, 0, 32) - -//--- LONG WORD 4 ---- -#define GET_FIRMWARE_HDR_TOTAL_DMEM_SZ_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+36, 0, 32) -#define GET_FIRMWARE_HDR_FW_CFG_SZ_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+36, 0, 16) -#define GET_FIRMWARE_HDR_FW_ATTR_SZ_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+36, 16, 16) - -//--- LONG WORD 5 ---- -#define GET_FIRMWARE_HDR_IROM_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+40, 0, 32) -#define GET_FIRMWARE_HDR_EROM_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+44, 0, 32) - -//--- LONG WORD 6 ---- -#define GET_FIRMWARE_HDR_IRAM_SZ_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+48, 0, 32) -#define GET_FIRMWARE_HDR_ERAM_SZ_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+52, 0, 32) - -//--- LONG WORD 7 ---- -#define GET_FIRMWARE_HDR_RSVD6_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+56, 0, 32) -#define GET_FIRMWARE_HDR_RSVD7_3081(__FwHdr) LE_BITS_TO_4BYTE(__FwHdr+60, 0, 32) - - -//===================================================== -// FW H2C / C2H CMD structure -//===================================================== - -#ifdef REMOVE_PACK -#pragma pack(1) -#endif - -//------------------------------------------------------- -// H2C Command length -// The defines should be seperated into 92C series and 88E series ICs -// because of the H2C Box length are different. 2012.04.18. Noted by tynli. -//------------------------------------------------------- - -//----------------------------------------- -// 92C Series -//----------------------------------------- -#define H2C_92C_PWEMODE_LENGTH 5 -#define H2C_92C_JOINBSSRPT_LENGTH 1 -#define H2C_92C_RSVDPAGE_LOC_LEN 5 -#define H2C_92C_RSVDPAGE_LOC_2_LEN 5 -#define H2C_92C_WLANINFO_LENGTH 3 -#define H2C_92C_AP_OFFLOAD_LENGTH 3 -#define H2C_92C_WOWLAN_LENGTH 4 -#define H2C_92C_KEEP_ALIVE_CTRL_LENGTH 3 -#define H2C_92C_BT_FW_PATCH_LEN 3 -#define H2C_92C_BT_RADIO_STATE_LEN 1 -#define H2C_92C_REALWOW_RSVDPAGE_LOC_LENGTH 4 -#if(USE_OLD_WOWLAN_DEBUG_FW == 0) -#define H2C_92C_REMOTE_WAKE_CTRL_LEN 1 -#else -#define H2C_92C_REMOTE_WAKE_CTRL_LEN 3 -#endif -#define H2C_92C_ARP_NDP_OFFLOAD_LENGTH 1 -#define H2C_92C_GTK_OFFLOAD_LENGTH 1 -#define H2C_92C_REMOTE_WAKEUP_SEC_INFO_LEN 3 -#define H2C_92C_FW_PATTERN_RSVDPAGE_LOC_LEN 4 -#define H2C_92C_DISCONNECT_DECISION_CTRL_LEN 3 - -//----------------------------------------- -// 88E Series -//----------------------------------------- -#define H2C_88E_RSVDPAGE_LOC_LEN 5 -#define H2C_88E_PWEMODE_LENGTH 5 -#define H2C_88E_JOINBSSRPT_LENGTH 1 -#define H2C_88E_AP_OFFLOAD_LENGTH 3 -#define H2C_88E_WOWLAN_LENGTH 4 -#define H2C_88E_KEEP_ALIVE_CTRL_LENGTH 3 -#if(USE_OLD_WOWLAN_DEBUG_FW == 0) -#define H2C_88E_REMOTE_WAKE_CTRL_LEN 1 -#else -#define H2C_88E_REMOTE_WAKE_CTRL_LEN 3 -#endif -#define H2C_88E_AOAC_GLOBAL_INFO_LEN 2 -#define H2C_88E_AOAC_RSVDPAGE_LOC_LEN 7 -#define H2C_88E_AOAC_RSVDPAGE2_LOC_LEN 7 -#define H2C_88E_SCAN_OFFLOAD_CTRL_LEN 4 -#define H2C_88E_BT_FW_PATCH_LEN 6 -#define H2C_88E_INACTIVE_PS_LEN 3 -#define H2C_88E_DISCONNECT_DECISION_CTRL_LEN 4 -#define H2C_88E_AOAC_RSVDPAGE3_LOC_LEN 7 - -//----------------------------------------- -// 8723B Series -//----------------------------------------- -#define H2C_8723B_WIFI_CALIBRATION_LEN 1 -#define H2C_8723B_FCS_INFO_LEN 7 -#define H2C_8723B_FCS_MACID_BITMAP_LEN 7 - -//----------------------------------------- -// 8703B Series -//----------------------------------------- -#define H2C_8703B_WIFI_CALIBRATION_LEN 1 - -//----------------------------------------- -// 8188F Series -//----------------------------------------- -#define H2C_8188F_WIFI_CALIBRATION_LEN 1 - - -//----------------------------------------- -// 8812 Series -//----------------------------------------- -#define H2C_8812_RSVDPAGE_FCS_LOC_LEN 3 -#define H2C_8812_FCS_INFO_LEN 7 - -//----------------------------------------- -// 8821 Series -//----------------------------------------- -#define H2C_8821A_RSVDPAGE_FCS_LOC_LEN 3 -#define H2C_8821A_FCS_INFO_LEN 7 -#define H2C_8821A_FCS_MACID_BITMAP_LEN 7 -#define H2C_8821B_FCS_INFO_LEN 7 -#define H2C_8821B_RSVDPAGE_FCS_LOC_LEN 3 - -//----------------------------------------- -// 8192E Series -//----------------------------------------- -#define H2C_8192E_RSVDPAGE_FCS_LOC_LEN 3 -#define H2C_8192E_FCS_INFO_LEN 7 -#define H2C_8192E_FCS_MACID_BITMAP_LEN 7 - -typedef struct _H2C_JOINBSSRPT_PARM{ - u1Byte OpMode; - u1Byte Ps_Qos_Info; - u1Byte Bssid[6]; - u2Byte BcnItv; - u2Byte Aid; -}H2C_JOINBSSRPT_PARM, *PH2C_JOINBSSRPT_PARM; - - -typedef struct _C2H_EVT_HDR{ - u1Byte CmdID: 4; - u1Byte CmdLen: 4; - u1Byte CmdSeq; -}C2H_EVT_HDR, *PC2H_EVT_HDR; - -#ifdef REMOVE_PACK -#pragma pack() -#endif - -typedef struct _H2C_WPA_PTK { - u1Byte kck[16]; /* EAPOL-Key Key Confirmation Key (KCK) */ - u1Byte kek[16]; /* EAPOL-Key Key Encryption Key (KEK) */ - u1Byte tk1[16]; /* Temporal Key 1 (TK1) */ - union { - u1Byte tk2[16]; //Temporal Key 2 (TK2) - struct { - u1Byte tx_mic_key[8]; - u1Byte rx_mic_key[8]; - }Athu; - }U; -}H2C_WPA_PTK; - -// For old Hw security engine. Support on 92C/8723A/88E/8812A, otherwise just use H2C_WPA_PTK structure. -typedef struct _H2C_WPA_TWO_WAY_PARA{ - //algorithm TKIP or AES - u1Byte pairwise_en_alg; - u1Byte group_en_alg; - H2C_WPA_PTK wpa_ptk_value; -#if(USE_OLD_WOWLAN_DEBUG_FW == 1) - u8Byte IV; -#endif -}H2C_WPA_TWO_WAY_PARA, *PH2C_WPA_TWO_WAY_PARA; - -typedef struct _H2C_REMOTE_WAKE_CTRL_INFO{ - u1Byte IV[8]; -}H2C_REMOTE_WAKE_CTRL_INFO, *PH2C_REMOTE_WAKE_CTRL_INFO; - - -typedef struct _NDP_INFO_{ - u1Byte bEnable:1; - u1Byte bCheckRemoveIP:1; // Need to Check Sender IP or not - u1Byte Rsvd:6; // Need to Check Sender IP or not - u1Byte NumberOfTargetIP; // Number of Check IP which NA query IP - u1Byte TagetLinkAddress[6]; // Maybe support change MAC address !! - u1Byte RemoteIPv6Address[16]; // Just respond IP - u1Byte TargetIP[2][16]; // target IP -}NDP_INFO,*PNDP_INFO; - - -typedef struct _H2C_PROTOCOL_OFFLOAD_INFO{ - NDP_INFO NDPInfo[2]; -} H2C_PROTOCOL_OFFLOAD_INFO, *PH2C_PROTOCOL_OFFLOAD_INFO; - - - -#ifdef REMOVE_PACK -#pragma pack(1) -#endif - -typedef struct _HAL92C_P2P_PS_OFFLOAD -{ - u1Byte Offload_En:1; - u1Byte role:1; // 1: Owner, 0: Client - u1Byte CTWindow_En:1; - u1Byte NoA0_En:1; - u1Byte NoA1_En:1; - u1Byte AllStaSleep:1; - u1Byte discovery:1; -}HAL92C_P2P_PS_OFFLOAD, *PHAL92C_P2P_PS_OFFLOAD; - -#ifdef REMOVE_PACK -#pragma pack() -#endif - -typedef struct _H2C_SS_DRV_CTRL{ - u1Byte ChnlListLen; // scan channel list length - u1Byte OriginalChl; // current client channel - u1Byte OriginalBW; // current client BW 20M/40M/80M - u1Byte Originalch40offset; // 40M second channel offset - u1Byte Originalch80offset; // 80M second channel offset - u1Byte bPriodScan; // Fw periodically scan. - u1Byte PriodScanTime; // Fw periodical scan time. unit: 1sec. - u1Byte bRFEEnable; // for 8812A switch band - u1Byte RFEType; - u1Byte Rsvd[7]; -}H2C_SS_DRV_CTRL, *PH2C_SS_DRV_CTRL; - - -typedef struct _H2C_NLO_HEADER_INFO{ - u1Byte NumOfEntry; - u1Byte Rsvd1[3]; - u1Byte FastScanPeriod[4]; - u1Byte FastScanIterations[4]; - u1Byte SlowScanPeriod[4]; - u1Byte SsidLen[16]; - u1Byte Cipher[16]; - u1Byte ChannelList[16]; -}H2C_NLO_HEADER_INFO, *PH2C_NLO_HEADER_INFO; - - -#define H2C_MAC_MODE_SEL 9 - -//#define MAX_RSVD_PAGE_BUF_LEN (128*9) // page size * the rsvd page packet number in Tx pkt buf - -// Description: Determine the types of C2H events that are the same in driver and Fw. -// Fisrt constructed by tynli. 2009.10.09. -typedef enum _RTL8192C_C2H_EVT -{ - C2H_DBG = 0, - C2H_TSF = 1, - C2H_AP_RPT_RSP = 2, - C2H_CCX_TX_RPT = 3, // The FW notify the report of the specific tx packet. - C2H_BT_RSSI = 4, - C2H_BT_OP_MODE = 5, - C2H_EXT_RA_RPT = 6, - C2H_HW_INFO_EXCH = 10, - C2H_C2H_H2C_TEST = 11, - C2H_BT_INFO = 12, - C2H_BT_MP = 15, - MAX_C2HEVENT -}RTL8192C_C2H_EVT; - -typedef enum _FW_SCAN_OFFLOAD_TYPE{ - FW_SCAN_OFFLOAD_D0 = 0, - FW_SCAN_OFFLOAD_D3 = 1, -}FW_SCAN_OFFLOAD_TYPE; - -//========================================================== -//---------------------------------------------------------------------- -// Fw Initial Offload command -//---------------------------------------------------------------------- -#define INIT_OFFLOAD_ACTION_LLT BIT0 -#define INIT_OFFLOAD_ACTION_R_EFUSE BIT1 -#define INIT_OFFLOAD_ACTION_EFUSE_PATCH BIT2 - -typedef enum _INIT_OFFLOAD_CMD{ - INIT_OFFLOAD_CMD_LLT = 0x01, - INIT_OFFLOAD_CMD_R_EFUSE = 0x02, - INIT_OFFLOAD_CMD_EFUSE_PATCH = 0x03, - INIT_OFFLOAD_CMD_WB_REG = 0x04, - INIT_OFFLOAD_CMD_WW_REG = 0x05, - INIT_OFFLOAD_CMD_WD_REG = 0x06, - INIT_OFFLOAD_CMD_W_RF = 0x07, - INIT_OFFLOAD_CMD_DELAY_US = 0x10, - INIT_OFFLOAD_CMD_DELAY_MS = 0x11, - INIT_OFFLOAD_CMD_END = 0xff, -}INIT_OFFLOAD_CMD, *PINIT_OFFLOAD_CMD; - -//---------------------------------------------------------------------- -// Fw wake up reason code -//---------------------------------------------------------------------- -// V1 is for 88C and 8723A. -typedef enum _FW_WOW_REASON_V1{ - FW_WOW_V1_PTK_UPDATE_EVENT = 0x01, - FW_WOW_V1_GTK_UPDATE_EVENT = 0x02, - FW_WOW_V1_DISASSOC_EVENT = 0x04, - FW_WOW_V1_DEAUTH_EVENT = 0x08, - FW_WOW_V1_FW_DISCONNECT_EVENT = 0x10, - FW_WOW_V1_HW_WAKE_PKT_EVENT = 0x20, - FW_WOW_V1_APPL_QQ = 0x21, //Application - FW_WOW_V1_FWPATTERNMATCH0 = 0x40, - FW_WOW_V1_FWPATTERNMATCH1 = 0x41, - FW_WOW_V1_FWPATTERNMATCH2 = 0x42, - FW_WOW_V1_FWPATTERNMATCH3 = 0x43, - FW_WOW_V1_ONWAKEUPPKT = 0x80, // 128 - FW_WOW_V1_RSPKTTIMEOUT = 0x81, // 129 - FW_WOW_V1_DHCPTIMEOUT = 0x82, // 130 - FW_WOW_V1_NLMATCH = 0x83, // 131 - FW_WOW_V1_REASON_MAX = 0xff, -}FW_WOW_REASON_V1, *PFW_WOW_REASON_V1; - -// After 8188E, we use V2 reason define. 88C/8723A use V1 reason. -typedef enum _FW_WOW_REASON_V2{ - FW_WOW_V2_PTK_UPDATE_EVENT = 0x01, - FW_WOW_V2_GTK_UPDATE_EVENT = 0x02, - FW_WOW_V2_DISASSOC_EVENT = 0x04, - FW_WOW_V2_DEAUTH_EVENT = 0x08, - FW_WOW_V2_FW_DISCONNECT_EVENT = 0x10, - FW_WOW_V2_MAGIC_PKT_EVENT = 0x21, - FW_WOW_V2_UNICAST_PKT_EVENT = 0x22, - FW_WOW_V2_PATTERN_PKT_EVENT = 0x23, - FW_WOW_V2_RTD3_SSID_MATCH_EVENT = 0x24, - FW_WOW_V2_REALWOW_V2_WAKEUPPKT = 0x30, - FW_WOW_V2_REALWOW_V2_ACKLOST = 0x31, - FW_WOW_V2_NLO_SSID_MATCH_EVENT = 0x55, - FW_WOW_V2_REASON_MAX = 0xff, -}FW_WOW_REASON, *PFW_WOW_REASON; - -#endif |
