📄 rt2860.h
字号:
#elsetypedef union _RX_STA_CNT2_STRUC { struct { USHORT RxDupliCount; USHORT RxFifoOverflowCount; } field; UINT32 word;} RX_STA_CNT2_STRUC, *PRX_STA_CNT2_STRUC;#endif#define TX_STA_CNT0 0x170C ////// STA_CSR3: TX Beacon count//#ifdef BIG_ENDIANtypedef union _TX_STA_CNT0_STRUC { struct { USHORT TxBeaconCount; USHORT TxFailCount; } field; UINT32 word;} TX_STA_CNT0_STRUC, *PTX_STA_CNT0_STRUC;#elsetypedef union _TX_STA_CNT0_STRUC { struct { USHORT TxFailCount; USHORT TxBeaconCount; } field; UINT32 word;} TX_STA_CNT0_STRUC, *PTX_STA_CNT0_STRUC;#endif#define TX_STA_CNT1 0x1710 ////// TX_STA_CNT1: TX tx count//#ifdef BIG_ENDIANtypedef union _TX_STA_CNT1_STRUC { struct { USHORT TxRetransmit; USHORT TxSuccess; } field; UINT32 word;} TX_STA_CNT1_STRUC, *PTX_STA_CNT1_STRUC;#elsetypedef union _TX_STA_CNT1_STRUC { struct { USHORT TxSuccess; USHORT TxRetransmit; } field; UINT32 word;} TX_STA_CNT1_STRUC, *PTX_STA_CNT1_STRUC;#endif#define TX_STA_CNT2 0x1714 ////// TX_STA_CNT2: TX tx count//#ifdef BIG_ENDIANtypedef union _TX_STA_CNT2_STRUC { struct { USHORT TxUnderFlowCount; USHORT TxZeroLenCount; } field; UINT32 word;} TX_STA_CNT2_STRUC, *PTX_STA_CNT2_STRUC;#elsetypedef union _TX_STA_CNT2_STRUC { struct { USHORT TxZeroLenCount; USHORT TxUnderFlowCount; } field; UINT32 word;} TX_STA_CNT2_STRUC, *PTX_STA_CNT2_STRUC;#endif#define TX_STA_FIFO 0x1718 ////// TX_STA_FIFO_STRUC: TX Result for specific PID status fifo register//#ifdef BIG_ENDIANtypedef union PACKED _TX_STA_FIFO_STRUC { struct { UINT32 SuccessRate:16; //include MCS, mode ,shortGI, BW settingSame format as TXWI Word 0 Bit 31-16. UINT32 wcid:8; //wireless client index UINT32 TxAckRequired:1; // ack required UINT32 TxAggre:1; // Tx is aggregated UINT32 TxSuccess:1; // Tx success. whether success or not UINT32 PidType:4; UINT32 bValid:1; // 1:This register contains a valid TX result } field; UINT32 word;} TX_STA_FIFO_STRUC, *PTX_STA_FIFO_STRUC;#elsetypedef union PACKED _TX_STA_FIFO_STRUC { struct { UINT32 bValid:1; // 1:This register contains a valid TX result UINT32 PidType:4; UINT32 TxSuccess:1; // Tx No retry success UINT32 TxAggre:1; // Tx Retry Success UINT32 TxAckRequired:1; // Tx fail UINT32 wcid:8; //wireless client index UINT32 SuccessRate:16; //include MCS, mode ,shortGI, BW settingSame format as TXWI Word 0 Bit 31-16. } field; UINT32 word;} TX_STA_FIFO_STRUC, *PTX_STA_FIFO_STRUC;#endif// Debug counter#define TX_AGG_CNT 0x171c#ifdef BIG_ENDIANtypedef union _TX_AGG_CNT_STRUC { struct { USHORT AggTxCount; USHORT NonAggTxCount; } field; UINT32 word;} TX_AGG_CNT_STRUC, *PTX_AGG_CNT_STRUC;#elsetypedef union _TX_AGG_CNT_STRUC { struct { USHORT NonAggTxCount; USHORT AggTxCount; } field; UINT32 word;} TX_AGG_CNT_STRUC, *PTX_AGG_CNT_STRUC;#endif// Debug counter#define TX_AGG_CNT0 0x1720#ifdef BIG_ENDIANtypedef union _TX_AGG_CNT0_STRUC { struct { USHORT AggSize2Count; USHORT AggSize1Count; } field; UINT32 word;} TX_AGG_CNT0_STRUC, *PTX_AGG_CNT0_STRUC;#elsetypedef union _TX_AGG_CNT0_STRUC { struct { USHORT AggSize1Count; USHORT AggSize2Count; } field; UINT32 word;} TX_AGG_CNT0_STRUC, *PTX_AGG_CNT0_STRUC;#endif// Debug counter#define TX_AGG_CNT1 0x1724#ifdef BIG_ENDIANtypedef union _TX_AGG_CNT1_STRUC { struct { USHORT AggSize4Count; USHORT AggSize3Count; } field; UINT32 word;} TX_AGG_CNT1_STRUC, *PTX_AGG_CNT1_STRUC;#elsetypedef union _TX_AGG_CNT1_STRUC { struct { USHORT AggSize3Count; USHORT AggSize4Count; } field; UINT32 word;} TX_AGG_CNT1_STRUC, *PTX_AGG_CNT1_STRUC;#endif#define TX_AGG_CNT2 0x1728#ifdef BIG_ENDIANtypedef union _TX_AGG_CNT2_STRUC { struct { USHORT AggSize6Count; USHORT AggSize5Count; } field; UINT32 word;} TX_AGG_CNT2_STRUC, *PTX_AGG_CNT2_STRUC;#elsetypedef union _TX_AGG_CNT2_STRUC { struct { USHORT AggSize5Count; USHORT AggSize6Count; } field; UINT32 word;} TX_AGG_CNT2_STRUC, *PTX_AGG_CNT2_STRUC;#endif// Debug counter#define TX_AGG_CNT3 0x172c#ifdef BIG_ENDIANtypedef union _TX_AGG_CNT3_STRUC { struct { USHORT AggSize8Count; USHORT AggSize7Count; } field; UINT32 word;} TX_AGG_CNT3_STRUC, *PTX_AGG_CNT3_STRUC;#elsetypedef union _TX_AGG_CNT3_STRUC { struct { USHORT AggSize7Count; USHORT AggSize8Count; } field; UINT32 word;} TX_AGG_CNT3_STRUC, *PTX_AGG_CNT3_STRUC;#endif// Debug counter#define TX_AGG_CNT4 0x1730#ifdef BIG_ENDIANtypedef union _TX_AGG_CNT4_STRUC { struct { USHORT AggSize10Count; USHORT AggSize9Count; } field; UINT32 word;} TX_AGG_CNT4_STRUC, *PTX_AGG_CNT4_STRUC;#elsetypedef union _TX_AGG_CNT4_STRUC { struct { USHORT AggSize9Count; USHORT AggSize10Count; } field; UINT32 word;} TX_AGG_CNT4_STRUC, *PTX_AGG_CNT4_STRUC;#endif#define TX_AGG_CNT5 0x1734#ifdef BIG_ENDIANtypedef union _TX_AGG_CNT5_STRUC { struct { USHORT AggSize12Count; USHORT AggSize11Count; } field; UINT32 word;} TX_AGG_CNT5_STRUC, *PTX_AGG_CNT5_STRUC;#elsetypedef union _TX_AGG_CNT5_STRUC { struct { USHORT AggSize11Count; USHORT AggSize12Count; } field; UINT32 word;} TX_AGG_CNT5_STRUC, *PTX_AGG_CNT5_STRUC;#endif#define TX_AGG_CNT6 0x1738#ifdef BIG_ENDIANtypedef union _TX_AGG_CNT6_STRUC { struct { USHORT AggSize14Count; USHORT AggSize13Count; } field; UINT32 word;} TX_AGG_CNT6_STRUC, *PTX_AGG_CNT6_STRUC;#elsetypedef union _TX_AGG_CNT6_STRUC { struct { USHORT AggSize13Count; USHORT AggSize14Count; } field; UINT32 word;} TX_AGG_CNT6_STRUC, *PTX_AGG_CNT6_STRUC;#endif#define TX_AGG_CNT7 0x173c#ifdef BIG_ENDIANtypedef union _TX_AGG_CNT7_STRUC { struct { USHORT AggSize16Count; USHORT AggSize15Count; } field; UINT32 word;} TX_AGG_CNT7_STRUC, *PTX_AGG_CNT7_STRUC;#elsetypedef union _TX_AGG_CNT7_STRUC { struct { USHORT AggSize15Count; USHORT AggSize16Count; } field; UINT32 word;} TX_AGG_CNT7_STRUC, *PTX_AGG_CNT7_STRUC;#endif#define MPDU_DENSITY_CNT 0x1740#ifdef BIG_ENDIANtypedef union _MPDU_DEN_CNT_STRUC { struct { USHORT RXZeroDelCount; //RX zero length delimiter count USHORT TXZeroDelCount; //TX zero length delimiter count } field; UINT32 word;} MPDU_DEN_CNT_STRUC, *PMPDU_DEN_CNT_STRUC;#elsetypedef union _MPDU_DEN_CNT_STRUC { struct { USHORT TXZeroDelCount; //TX zero length delimiter count USHORT RXZeroDelCount; //RX zero length delimiter count } field; UINT32 word;} MPDU_DEN_CNT_STRUC, *PMPDU_DEN_CNT_STRUC;#endif//// TXRX control registers - base address 0x3000//// rt2860b UNKNOWN reg use R/O Reg Addr 0x77d0 first..#define TXRX_CSR1 0x77d0//// Security key table memory, base address = 0x1000//#define MAC_WCID_BASE 0x1800 //8-bytes(use only 6-bytes) * 256 entry = #define HW_WCID_ENTRY_SIZE 8#define PAIRWISE_KEY_TABLE_BASE 0x4000 // 32-byte * 256-entry = -byte#define HW_KEY_ENTRY_SIZE 0x20#define MAC_IVEIV_TABLE_BASE 0x6000 // 8-byte * 256-entry = -byte#define HW_IVEIV_ENTRY_SIZE 8#define MAC_WCID_ATTRIBUTE_BASE 0x6800 // 4-byte * 256-entry = -byte#define HW_WCID_ATTRI_SIZE 4#define SHARED_KEY_TABLE_BASE 0x6c00 // 32-byte * 16-entry = 512-byte#define SHARED_KEY_MODE_BASE 0x7000 // 32-byte * 16-entry = 512-byte#define HW_SHARED_KEY_MODE_SIZE 4#define SHAREDKEYTABLE 0#define PAIRWISEKEYTABLE 1#ifdef BIG_ENDIANtypedef union _SHAREDKEY_MODE_STRUC { struct { UINT32 :1; UINT32 Bss1Key3CipherAlg:3; UINT32 :1; UINT32 Bss1Key2CipherAlg:3; UINT32 :1; UINT32 Bss1Key1CipherAlg:3; UINT32 :1; UINT32 Bss1Key0CipherAlg:3; UINT32 :1; UINT32 Bss0Key3CipherAlg:3; UINT32 :1; UINT32 Bss0Key2CipherAlg:3; UINT32 :1; UINT32 Bss0Key1CipherAlg:3; UINT32 :1; UINT32 Bss0Key0CipherAlg:3; } field; UINT32 word;} SHAREDKEY_MODE_STRUC, *PSHAREDKEY_MODE_STRUC;#elsetypedef union _SHAREDKEY_MODE_STRUC { struct { UINT32 Bss0Key0CipherAlg:3; UINT32 :1; UINT32 Bss0Key1CipherAlg:3; UINT32 :1; UINT32 Bss0Key2CipherAlg:3; UINT32 :1; UINT32 Bss0Key3CipherAlg:3; UINT32 :1; UINT32 Bss1Key0CipherAlg:3; UINT32 :1; UINT32 Bss1Key1CipherAlg:3; UINT32 :1; UINT32 Bss1Key2CipherAlg:3; UINT32 :1; UINT32 Bss1Key3CipherAlg:3; UINT32 :1; } field; UINT32 word;} SHAREDKEY_MODE_STRUC, *PSHAREDKEY_MODE_STRUC;#endif// 64-entry for pairwise key tabletypedef struct _HW_WCID_ENTRY { // 8-byte per entry UCHAR Address[6]; UCHAR Rsv[2];} HW_WCID_ENTRY, PHW_WCID_ENTRY;//// Other on-chip shared memory space, base = 0x2000//// CIS space - base address = 0x2000#define HW_CIS_BASE 0x2000// Carrier-sense CTS frame base address. It's where mac stores carrier-sense frame for carrier-sense function.#define HW_CS_CTS_BASE 0x7700// DFS CTS frame base address. It's where mac stores CTS frame for DFS.#define HW_DFS_CTS_BASE 0x7780#define HW_CTS_FRAME_SIZE 0x80// 2004-11-08 john - since NULL frame won't be that long (256 byte). We steal 16 tail bytes// to save debugging settings#define HW_DEBUG_SETTING_BASE 0x77f0 // 0x77f0~0x77ff total 16 bytes#define HW_DEBUG_SETTING_BASE2 0x7770 // 0x77f0~0x77ff total 16 bytes// on-chip BEACON frame space - base address = 0x7800#define HW_BEACON_MAX_SIZE 0x0800 /* unit: byte */#define HW_BEACON_BASE0 0x7800#define HW_BEACON_BASE1 0x7900#define HW_BEACON_BASE2 0x7a00#define HW_BEACON_BASE3 0x7b00#define HW_BEACON_BASE4 0x7c00#define HW_BEACON_BASE5 0x7d00#define HW_BEACON_BASE6 0x7e00#define HW_BEACON_BASE7 0x7f00#define HW_BEACON_OFFSET 0x0200 // 0x0100 for 8 BSS/* 1. HW_BEACON_OFFSET/64B must be 0; 2. BCN_OFFSET0 must also be changed in NICInitializeAsic(); 3. max 0x0800 for 8 beacon frames; */// HOST-MCU shared memory - base address = 0x2100#define HOST_CMD_CSR 0x404#define H2M_MAILBOX_CSR 0x7010#define H2M_BBP_AGENT 0x7028#define M2H_CMD_DONE_CSR 0x000c#define MCU_TXOP_ARRAY_BASE 0x000c // TODO: to be provided by Albert#define MCU_TXOP_ENTRY_SIZE 32 // TODO: to be provided by Albert#define MAX_NUM_OF_TXOP_ENTRY 16 // TODO: must be same with 8051 firmware#define MCU_MBOX_VERSION 0x01 // TODO: to be confirmed by Albert#define MCU_MBOX_VERSION_OFFSET 5 // TODO: to be provided by Albert//// Host DMA registers - base address 0x200 . TX0-3=EDCAQid0-3, TX4=HCCA, TX5=MGMT,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -