⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rt2860.h

📁 Linux下的RT系列无线网卡驱动,可以直接在x86平台上编译
💻 H
📖 第 1 页 / 共 5 页
字号:
#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 + -