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

📄 ar5211reg.h

📁 Atheros AP Test with Agilent N4010A source code
💻 H
📖 第 1 页 / 共 4 页
字号:
#ifndef __ARREGH__
#define __ARREGH__


/*
 *  Copyright (c) 2001 Atheros Communications, Inc., All Rights Reserved
 */

/* ar5211reg.h Register definitions for Atheros AR5211 chipset */

#ident  "ACI $Header: //depot/sw/branches/ART_V53_dragon/sw/src/dk/mdk/devlib/ar5211/ar5211reg.h#1 $"

// DMA Control and Interrupt Registers
#define F2_CR               0x0008  // MAC Control Register - only write values of 1 have effect
#define F2_CR_RXE            0x00000004 // Receive enable
#define F2_CR_RXD            0x00000020 // Receive disable
#define F2_CR_SWI            0x00000040 // One-shot software interrupt

#define F2_RXDP             0x000C  // MAC receive queue descriptor pointer

#define F2_CFG              0x0014  // MAC configuration and status register
#define F2_CFG_SWTD          0x00000001 // byteswap tx descriptor words
#define F2_CFG_SWTB          0x00000002 // byteswap tx data buffer words
#define F2_CFG_SWRD          0x00000004 // byteswap rx descriptor words
#define F2_CFG_SWRB          0x00000008 // byteswap rx data buffer words
#define F2_CFG_SWRG          0x00000010 // byteswap register access data words
#define F2_CFG_AP_ADHOC_INDICATION				0x00000020 // AP/adhoc indication (0-AP, 1-Adhoc)
#define F2_CFG_PHOK          0x00000100 // PHY OK status
#define F2_CFG_EEBS          0x00000200 // EEPROM busy
#define F2_CFG_PCI_MASTER_REQ_Q_THRESH_M       0x00060000 // Mask of PCI core master request queue full threshold
#define F2_CFG_PCI_MASTER_REQ_Q_THRESH_S       17         // Shift for PCI core master request queue full threshold


#define F2_IER              0x0024  // MAC Interrupt enable register
#define F2_IER_ENABLE        0x00000001 // Global interrupt enable
#define F2_IER_DISABLE       0x00000000 // Global interrupt disable


#define F2_RTSD0            0x0028  // MAC RTS Duration Parameters 0
#define F2_RTSD0_RTS_DURATION_6_M	0x000000FF	
#define F2_RTSD0_RTS_DURATION_6_S	0
#define F2_RTSD0_RTS_DURATION_9_M	0x0000FF00	
#define F2_RTSD0_RTS_DURATION_9_S	8
#define F2_RTSD0_RTS_DURATION_12_M	0x00FF0000	
#define F2_RTSD0_RTS_DURATION_12_S	16	
#define F2_RTSD0_RTS_DURATION_18_M	0xFF000000
#define F2_RTSD0_RTS_DURATION_18_S	24

#define F2_RTSD1            0x002c  // MAC RTS Duration Parameters 1
#define F2_RTSD0_RTS_DURATION_24_M	0x000000FF	
#define F2_RTSD0_RTS_DURATION_24_S	0
#define F2_RTSD0_RTS_DURATION_36_M	0x0000FF00	
#define F2_RTSD0_RTS_DURATION_36_S	8
#define F2_RTSD0_RTS_DURATION_48_M	0x00FF0000
#define F2_RTSD0_RTS_DURATION_48_S	16
#define F2_RTSD0_RTS_DURATION_54_M	0xFF000000
#define F2_RTSD0_RTS_DURATION_54_S	24


#define F2_TXCFG            0x0030  // MAC tx DMA size config register
#define F2_TXCFG_CONT_EN     0x00000008 // Enable continuous transmit mode

#define F2_RXCFG            0x0034  // MAC rx DMA size config register

#define F2_RXCFG_DEF_RX_ANTENNA		0x00000008 // Default Receive Antenna
#define F2_RXCFG_ZLFDMA      0x00000010 // Enable DMA of zero-length frame
#define F2_DMASIZE_4B        0x00000000 // DMA size 4 bytes 
#define F2_DMASIZE_8B        0x00000001 // DMA size 8 bytes 
#define F2_DMASIZE_16B       0x00000002 // DMA size 16 bytes 
#define F2_DMASIZE_32B       0x00000003 // DMA size 32 bytes 
#define F2_DMASIZE_64B       0x00000004 // DMA size 64 bytes 
#define F2_DMASIZE_128B      0x00000005 // DMA size 128 bytes 
#define F2_DMASIZE_256B      0x00000006 // DMA size 256 bytes 
#define F2_DMASIZE_512B      0x00000007 // DMA size 512 bytes 

#define F2_MIBC             0x0040  // MAC MIB control register
#define F2_MIBC_COW          0x00000001 // counter overflow warning
#define F2_MIBC_FMC          0x00000002 // freeze MIB counters
#define F2_MIBC_CMC          0x00000004 // clear MIB counters
#define F2_MIBC_MCS          0x00000008 // MIB counter strobe, increment all

#define F2_TOPS             0x0044  // MAC timeout prescale count
#define F2_TOPS_MASK         0x0000FFFF // Mask for timeout prescale

#define F2_RXNPTO           0x0048  // MAC no frame received timeout
#define F2_RXNPTO_MASK       0x000003FF // Mask for no frame received timeout

#define F2_TXNPTO           0x004C  // MAC no frame trasmitted timeout
#define F2_TXNPTO_MASK       0x000003FF // Mask for no frame transmitted timeout
#define F2_TXNPTO_QCU_MASK   0x03FFFC00 // Mask indicating the set of QCUs
									// for which frame completions will cause
									// a reset of the no frame transmitted timeout 

#define F2_RPGTO            0x0050  // MAC receive frame gap timeout
#define F2_RPGTO_MASK        0x000003FF // Mask for receive frame gap timeout

#define F2_RPCNT            0x0054 // MAC receive frame count limit
#define F2_RPCNT_MASK        0x0000001F // Mask for receive frame count limit
  
#define F2_MACMISC           0x0058 // MAC miscellaneous control/status register
#define F2_MACMISC_DMA_OBS_M    0x000001E0 // Mask for DMA observation bus mux select
#define F2_MACMISC_DMA_OBS_S    5          // Shift for DMA observation bus mux select
#define F2_MACMISC_MISC_OBS_M   0x00000E00 // Mask for MISC observation bus mux select
#define F2_MACMISC_MISC_OBS_S   9          // Shift for MISC observation bus mux select
#define F2_MACMISC_MAC_OBS_BUS_LSB_M   0x00007000 // Mask for MAC observation bus mux select (lsb)
#define F2_MACMISC_MAC_OBS_BUS_LSB_S   12         // Shift for MAC observation bus mux select (lsb)
#define F2_MACMISC_MAC_OBS_BUS_MSB_M   0x00038000 // Mask for MAC observation bus mux select (msb)
#define F2_MACMISC_MAC_OBS_BUS_MSB_S   15         // Shift for MAC observation bus mux select (msb)

#define F2_QDCKLGATE         0x005c // MAC QCU/DCU clock gating control register
#define F2_QDCKLGATE_QCU_M    0x0000FFFF // Mask for QCU clock disable 
#define F2_QDCKLGATE_DCU_M    0x07FF0000 // Mask for DCU clock disable 

// Interrupt Status Registers

#define F2_ISR             0x0080 // MAC Primary interrupt status register
#define F2_ISR_RXOK          0x00000001 // At least one frame received sans errors
#define F2_ISR_RXDESC        0x00000002 // Receive interrupt request
#define F2_ISR_RXERR         0x00000004 // Receive error interrupt
#define F2_ISR_RXNOPKT       0x00000008 // No frame received within timeout clock
#define F2_ISR_RXEOL         0x00000010 // Received descriptor empty interrupt
#define F2_ISR_RXORN         0x00000020 // Receive FIFO overrun interrupt
#define F2_ISR_TXOK          0x00000040 // Transmit okay interrupt
#define F2_ISR_TXDESC        0x00000080 // Transmit interrupt request
#define F2_ISR_TXERR         0x00000100 // Transmit error interrupt
#define F2_ISR_TXNOPKT       0x00000200 // No frame transmitted interrupt
#define F2_ISR_TXEOL         0x00000400 // Transmit descriptor empty interrupt
#define F2_ISR_TXURN         0x00000800 // Transmit FIFO underrun interrupt
#define F2_ISR_MIB           0x00001000 // MIB interrupt - see MIBC
#define F2_ISR_SWI           0x00002000 // Software interrupt
#define F2_ISR_RXPHY         0x00004000 // PHY receive error interrupt
#define F2_ISR_RXKCM         0x00008000 // Key-cache miss interrupt
#define F2_ISR_SWBA          0x00010000 // Software beacon alert interrupt
#define F2_ISR_BRSSI         0x00020000 // Beacon threshold interrupt
#define F2_ISR_BMISS         0x00040000 // Beacon missed interrupt
#define F2_ISR_HIUERR        0x00080000 // An unexpected bus error has occurred
#define F2_ISR_BNR		   0x00100000 // Beacon not ready interrupt
#define F2_ISR_TIM		   0x00800000 // TIM interrupt
#define F2_ISR_GPIO          0x01000000 // GPIO Interrupt
#define F2_ISR_QCBROVF       0x02000000 // QCU CBR overflow interrupt
#define F2_ISR_QCBRURN       0x04000000 // QCU CBR underrun interrupt
#define F2_ISR_QTRIG         0x08000000 // QCU scheduling trigger interrupt
#define F2_ISR_RESV0         0xF0000000 // Reserved

#define F2_ISR_S0             0x0084 // MAC Secondary interrupt status register 0
#define F2_ISR_S0_QCU_TXOK_M    0x0000FFFF // Mask for TXOK (QCU 0-15)
#define F2_ISR_S0_QCU_TXDESC_M  0xFFFF0000 // Mask for TXDESC (QCU 0-15)

#define F2_ISR_S1             0x0088 // MAC Secondary interrupt status register 1
#define F2_ISR_S1_QCU_TXERR_M  0x0000FFFF // Mask for TXERR (QCU 0-15)
#define F2_ISR_S1_QCU_TXEOL_M  0xFFFF0000 // Mask for TXEOL (QCU 0-15)
 
#define F2_ISR_S2             0x008c // MAC Secondary interrupt status register 2
#define F2_ISR_S2_QCU_TXURN_M  0x0000FFFF // Mask for TXURN (QCU 0-15)
#define F2_ISR_S2_MCABT        0x00010000 // Master cycle abort interrupt
#define F2_ISR_S2_SSERR        0x00020000 // SERR interrupt
#define F2_ISR_S2_DPERR        0x00040000 // PCI bus parity error
#define F2_ISR_S2_RESV0        0xFFF80000 // Reserved

#define F2_ISR_S3             0x0090 // MAC Secondary interrupt status register 3
#define F2_ISR_S3_QCU_QCBROVF_M  0x0000FFFF // Mask for QCBROVF (QCU 0-15)
#define F2_ISR_S3_QCU_QCBRURN_M  0xFFFF0000 // Mask for QCBRURN (QCU 0-15)

#define F2_ISR_S4             0x0094 // MAC Secondary interrupt status register 4
#define F2_ISR_S4_QCU_QTRIG_M  0x0000FFFF // Mask for QTRIG (QCU 0-15)
#define F2_ISR_S4_RESV0        0xFFFF0000 // Reserved

// Interrupt Mask Registers

#define F2_IMR             0x00a0  // MAC Primary interrupt mask register
#define F2_IMR_RXOK          0x00000001 // At least one frame received sans errors
#define F2_IMR_RXDESC        0x00000002 // Receive interrupt request
#define F2_IMR_RXERR         0x00000004 // Receive error interrupt
#define F2_IMR_RXNOPKT       0x00000008 // No frame received within timeout clock
#define F2_IMR_RXEOL         0x00000010 // Received descriptor empty interrupt
#define F2_IMR_RXORN         0x00000020 // Receive FIFO overrun interrupt
#define F2_IMR_TXOK          0x00000040 // Transmit okay interrupt
#define F2_IMR_TXDESC        0x00000080 // Transmit interrupt request
#define F2_IMR_TXERR         0x00000100 // Transmit error interrupt
#define F2_IMR_TXNOPKT       0x00000200 // No frame transmitted interrupt
#define F2_IMR_TXEOL         0x00000400 // Transmit descriptor empty interrupt
#define F2_IMR_TXURN         0x00000800 // Transmit FIFO underrun interrupt
#define F2_IMR_MIB           0x00001000 // MIB interrupt - see MIBC
#define F2_IMR_SWI           0x00002000 // Software interrupt
#define F2_IMR_RXPHY         0x00004000 // PHY receive error interrupt
#define F2_IMR_RXKCM         0x00008000 // Key-cache miss interrupt
#define F2_IMR_SWBA          0x00010000 // Software beacon alert interrupt
#define F2_IMR_BRSSI         0x00020000 // Beacon threshold interrupt
#define F2_IMR_BMISS         0x00040000 // Beacon missed interrupt
#define F2_IMR_HIUERR        0x00080000 // An unexpected bus error has occurred
#define F2_IMR_BNR           0x00100000 // BNR interrupt
#define F2_IMR_TIM		   0x00800000 // TIM interrupt
#define F2_IMR_GPIO          0x01000000 // GPIO Interrupt
#define F2_IMR_QCBROVF       0x02000000 // QCU CBR overflow interrupt
#define F2_IMR_QCBRURN       0x04000000 // QCU CBR underrun interrupt
#define F2_IMR_QTRIG         0x08000000 // QCU scheduling trigger interrupt
#define F2_IMR_RESV0         0xF0000000 // Reserved


#define F2_IMR_S0             0x00a4 // MAC Secondary interrupt mask register 0
#define F2_IMR_S0_QCU_TXOK_M    0x0000FFFF // Mask for TXOK (QCU 0-15)
#define F2_IMR_S0_QCU_TXDESC_M  0xFFFF0000 // Mask for TXDESC (QCU 0-15)
#define F2_IMR_S0_QCU_TXDESC_S  16		   // Shift for TXDESC (QCU 0-15)

#define F2_IMR_S1             0x00a8 // MAC Secondary interrupt mask register 1
#define F2_IMR_S1_QCU_TXERR_M  0x0000FFFF // Mask for TXERR (QCU 0-15)
#define F2_IMR_S1_QCU_TXEOL_M  0xFFFF0000 // Mask for TXEOL (QCU 0-15)
#define F2_IMR_S1_QCU_TXEOL_S  16		  // Shift for TXEOL (QCU 0-15)
 
#define F2_IMR_S2             0x00ac // MAC Secondary interrupt mask register 2
#define F2_IMR_S2_QCU_TXURN_M  0x0000FFFF // Mask for TXURN (QCU 0-15)
#define F2_IMR_S2_MCABT        0x00010000 // Master cycle abort interrupt
#define F2_IMR_S2_SSERR        0x00020000 // SERR interrupt
#define F2_IMR_S2_DPERR        0x00040000 // PCI bus parity error
#define F2_IMR_S2_RESV0        0xFFF80000 // Reserved

#define F2_IMR_S3             0x00b0 // MAC Secondary interrupt mask register 3
#define F2_IMR_S3_QCU_QCBROVF_M  0x0000FFFF // Mask for QCBROVF (QCU 0-15)
#define F2_IMR_S3_QCU_QCBRURN_M  0xFFFF0000 // Mask for QCBRURN (QCU 0-15)
#define F2_IMR_S3_QCU_QCBRURN_S  16		    // Shift for QCBRURN (QCU 0-15)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -