NOTE: This list comes directly from the defines in the ath5k driver. It is used for various debugging and reverse engineering tools and conversion scripts as well as for public reference. Please add any information you have about these registers and add them if you find out the meaning of new registers! Take care, however that you don't violate any NDAs and don't include information from illegal sources!
- ADDRESS: is the register address
- NAME: is the name of the #define as used in the current ath5k/regs.h
- CHIPS: is a comma separated list of chipsets this information applies to. if empty it means "all" chipsets, 5212+ means for 5212 upwards
- NOTES: Notes about the usage of this register
ADDRESS | NAME (#define) | CHIPS | NOTES |
0x0000 | AR5K_NOQCU_TXDP0 | 5210 | Queue 0 - data |
0x0004 | AR5K_NOQCU_TXDP1 | 5210 | Queue 1 - beacons |
0x0008 | AR5K_CR | Mac Control Register | |
0x000c | AR5K_RXDP | RX Descriptor Pointer register | |
0x0014 | AR5K_CFG | Configuration and status register | |
0x0024 | AR5K_IER | Interrupt enable register | |
0x0028 | AR5K_BCR | 5210 | Beacon Control Register |
0x0028 | AR5K_RTSD0 | 5211 | first RTS duration register |
0x002c | AR5K_BSR | 5210 | Beacon status register |
0x002c | AR5K_RTSD1 | 5211 | Second RTS duration register |
0x0030 | AR5K_TXCFG | Transmit configuration register | |
0x0034 | AR5K_RXCFG | Receive configuration register | |
0x0038 | AR5K_RXJLA | 5211 | ? Receive jumbo descriptor last address register |
0x0040 | AR5K_MIBC | MIB control register | |
0x0044 | AR5K_TOPS | Timeout prescale register | |
0x0048 | AR5K_RXNOFRM | Receive timeout register (no frame received) | |
0x004c | AR5K_TXNOFRM | Transmit timeout register (no frame sent) | |
0x0050 | AR5K_RPGTO | Receive frame gap timeout register | |
0x0054 | AR5K_RFCNT | Receive frame count limit register | |
0x0058 | AR5K_MISC | Misc settings register | |
0x005c | AR5K_QCUDCU_CLKGT | 5311 | QCU/DCU clock gating register |
0x001c | AR5K_ISR | 5210 | Interrupt Status Registers |
0x0080 | AR5K_PISR | 5211+ | Primary Interrupt Status Register |
0x0084 | AR5K_SISR0 | 5211+ | Secondary Interrupt Status Register |
0x0088 | AR5K_SISR1 | 5211+ | Secondary Interrupt Status Register |
0x008c | AR5K_SISR2 | 5211+ | Secondary Interrupt Status Register |
0x0090 | AR5K_SISR3 | 5211+ | Secondary Interrupt Status Register |
0x0094 | AR5K_SISR4 | 5211+ | Secondary Interrupt Status Register |
0x00c0 | AR5K_RAC_PISR | 5211+ | Read and clear PISR |
0x00c4 | AR5K_RAC_SISR0 | 5211+ | Read and clear SISR0 |
0x00c8 | AR5K_RAC_SISR1 | 5211+ | Read and clear SISR1 |
0x00cc | AR5K_RAC_SISR2 | 5211+ | Read and clear SISR2 |
0x00d0 | AR5K_RAC_SISR3 | 5211+ | Read and clear SISR3 |
0x00d4 | AR5K_RAC_SISR4 | 5211+ | Read and clear SISR4 |
0x0020 | AR5K_IMR | 5210 | Interrupt Mask Registers |
0x00a0 | AR5K_PIMR | 5211+ | Interrupt Mask Registers |
0x00a4 | AR5K_SIMR0 | 5211+ | Secondary interrupt mask registers |
0x00a8 | AR5K_SIMR1 | 5211+ | Secondary interrupt mask registers |
0x00ac | AR5K_SIMR2 | 5211+ | Secondary interrupt mask registers |
0x00b0 | AR5K_SIMR3 | 5211+ | Secondary interrupt mask registers |
0x00b4 | AR5K_SIMR4 | 5211+ | Secondary interrupt mask registers |
0x0400 | AR5K_DCM_ADDR | 5212+ | ? Decompression mask address |
0x0404 | AR5K_DCM_DATA | 5212+ | ? Decompression mask data |
0x0420 | AR5K_DCCFG | 5212+ | Decompression configuration registers |
0x0600 | AR5K_CCFG | 5212+ | Decompression configuration registers |
0x0604 | AR5K_CCFG_CUP | 5212+ | Decompression configuration registers |
0x0610 | AR5K_CPC0 | 5212+ | Compression performance counter 0 |
0x0614 | AR5K_CPC1 | 5212+ | Compression performance counter 1 |
0x0618 | AR5K_CPC2 | 5212+ | Compression performance counter 2 |
0x061c | AR5K_CPC3 | 5212+ | Compression performance counter 3 |
0x0620 | AR5K_CPCORN | 5212+ | ? Compression performance overrun |
0x0800-0x082c | AR5K_QUEUE_TXDP | 5211+ | QCU TXDP (RANGE) |
0x0840 | AR5K_QCU_TXE | 5211+ | QCU Transmit enable register |
0x0880 | AR5K_QCU_TXD | 5211+ | QCU Transmit disable register |
0x08c0-0x08ec | AR5K_QUEUE_CBRCFG | 5211+ | QCU Constant Bit Rate configuration registers (RANGE) |
0x0900-0x092c | AR5K_QUEUE_RDYTIMECFG | 5211+ | QCU Ready time configuration registers (RANGE) |
0x0940 | AR5K_QCU_ONESHOTARM_SET | 5211+ | ? QCU one shot arm set registers |
0x0980 | AR5K_QCU_ONESHOTARM_CLEAR | 5211+ | QCU one shot arm clear registers |
0x09c0-0x09ec | AR5K_QUEUE_MISC | 5211+ | QCU misc registers (RANGE) |
0x0a00-0x0a2c | AR5K_QUEUE_STATUS | 5211+ | QCU status registers (RANGE) |
0x0a40 | AR5K_QCU_RDYTIMESHDN | 5211+ | QCU ready time shutdown register |
0x0b00 | AR5K_QCU_CBB_SELECT | 5212+ | QCU compression buffer base registers |
0x0b04 | AR5K_QCU_CBB_ADDR | 5212+ | QCU compression buffer base registers |
0x0b08 | AR5K_QCU_CBCFG | 5212+ | QCU compression buffer configuration register |
0x1000-0x102c | AR5K_QUEUE_QCUMASK | 5211+ | DCU QCU mask registers (RANGE) |
0x1040-0x106c | AR5K_QUEUE_DFS_LOCAL_IFS | 5211+ | DCU local Inter Frame Space settings register (RANGE) |
0x1080-0x10ac | AR5K_QUEUE_DFS_RETRY_LIMIT | 5211+ | DCU retry limit registers (RANGE) |
0x10c0-0x10ec | AR5K_QUEUE_DFS_CHANNEL_TIME | 5211+ | DCU channel time registers (RANGE) |
0x1100-0x112c | AR5K_QUEUE_DFS_MISC | 5211+ | DCU misc registers (RANGE) |
0x1140-0x116c | AR5K_QUEUE_DFS_SEQNUM | 5211+ | DCU frame sequence number registers (RANGE) |
0x1030 | AR5K_DCU_GBL_IFS_SIFS | 5211+ | DCU global IFS SIFS registers |
0x1070 | AR5K_DCU_GBL_IFS_SLOT | 5211+ | DCU global IFS slot interval registers |
0x10b0 | AR5K_DCU_GBL_IFS_EIFS | 5211+ | DCU global IFS EIFS registers |
0x10f0 | AR5K_DCU_GBL_IFS_MISC | 5211+ | DCU global IFS misc registers |
0x1230 | AR5K_DCU_FP | 5211+ | DCU frame prefetch control register |
0x1270 | AR5K_DCU_TXP | 5211+ | DCU transmit pause control/status register |
0x1038 | AR5K_DCU_TX_FILTER | 5211+ | DCU transmit filter register |
0x143c | AR5K_DCU_TX_FILTER_CLR | 5211+ | DCU clear transmit filter register |
0x147c | AR5K_DCU_TX_FILTER_SET | 5211+ | DCU set transmit filter register |
0x4000 | AR5K_RESET_CTL | Reset control register | |
0x4004 | AR5K_SLEEP_CTL | Sleep control register | |
0x4008 | AR5K_INTPEND | Interrupt pending register | |
0x400c | AR5K_SFR | Sleep force register | |
0x4010 | AR5K_PCICFG | PCI configuration register | |
0x4014 | AR5K_GPIOCR | General Purpose Input/Output" (GPIO) control register | |
0x4018 | AR5K_GPIODO | "General Purpose Input/Output" (GPIO) data output register | |
0x401c | AR5K_GPIODI | "General Purpose Input/Output" (GPIO) data input register | |
0x4020 | AR5K_SREV | Silicon revision register | |
0x6000 | AR5K_EEPROM_BASE | EEPROM base address | |
0x6004 | AR5K_EEPROM_DATA_5211 | 5211+ | EEPROM data register |
0x6800 | AR5K_EEPROM_DATA_5210 | 5210 | EEPROM data register |
0x6008 | AR5K_EEPROM_CMD | EEPROM command register | |
0x6c00 | AR5K_EEPROM_STAT_5210 | 5210 | EEPROM status register |
0x600c | AR5K_EEPROM_STAT_5211 | 5211+ | EEPROM status register |
0x6010 | AR5K_EEPROM_CFG | ? EEPROM config register | |
0x8000 | AR5K_STA_ID0 | First station id register (MAC address in lower 32 bits) | |
0x8004 | AR5K_STA_ID1 | Second station id register (MAC address in upper 16 bits) | |
0x8008 | AR5K_BSS_ID0 | First BSSID register (MAC address, lower 32bits) | |
0x800c | AR5K_BSS_ID1 | Second BSSID register (MAC address in upper 16 bits) | |
0x8010 | AR5K_SLOT_TIME | Backoff slot time register | |
0x8014 | AR5K_TIME_OUT | ACK/CTS timeout register | |
0x8018 | AR5K_RSSI_THR | RSSI threshold register | |
0x801c | AR5K_NODCU_RETRY_LMT | 5210 | Retry limit register for 5210 (no QCU/DCU so it's done in PCU) |
0x8020 | AR5K_USEC_5210 | 5210 | Transmit latency register |
0x801c | AR5K_USEC_5211 | 5211+ | Transmit latency register |
0x8024 | AR5K_BEACON_5210 | 5210 | PCU beacon control register |
0x8020 | AR5K_BEACON_5211 | 5211+ | PCU beacon control register |
0x8028 | AR5K_CFP_PERIOD_5210 | 5210 | CFP period register |
0x8024 | AR5K_CFP_PERIOD_5211 | 5211+ | CFP period register |
0x802c | AR5K_TIMER0_5210 | 5210 | Next beacon time register |
0x8028 | AR5K_TIMER0_5211 | 5211+ | Next beacon time register |
0x8030 | AR5K_TIMER1_5210 | 5210 | Next DMA beacon alert register |
0x802c | AR5K_TIMER1_5211 | 5211+ | Next DMA beacon alert register |
0x8034 | AR5K_TIMER2_5210 | 5210 | Next software beacon alert register |
0x8030 | AR5K_TIMER2_5211 | 5211+ | Next software beacon alert register |
0x8038 | AR5K_TIMER3_5210 | 5210 | Next ATIM window time register |
0x8034 | AR5K_TIMER3_5211 | 5211+ | Next ATIM window time register |
0x8040 | AR5K_IFS0 | 5210 | First inter frame spacing register (IFS) |
0x8044 | AR5K_IFS1 | 5210 | Second inter frame spacing register (IFS) |
0x8048 | AR5K_CFP_DUR_5210 | 5210 | CFP duration register |
0x8038 | AR5K_CFP_DUR_5211 | 5211+ | CFP duration register |
0x804c | AR5K_RX_FILTER_5210 | 5210 | Receive filter register |
0x803c | AR5K_RX_FILTER_5211 | 5211+ | Receive filter register |
0x8050 | AR5K_MCAST_FILTER0_5210 | 5210 | Multicast filter register (lower 32 bits) |
0x8040 | AR5K_MCAST_FILTER0_5211 | 5211+ | Multicast filter register (lower 32 bits) |
0x8054 | AR5K_MCAST_FILTER1_5210 | 5210 | Multicast filter register (higher 16 bits) |
0x8044 | AR5K_MCAST_FILTER1_5211 | 5211+ | Multicast filter register (higher 16 bits) |
0x8058 | AR5K_TX_MASK0 | 5210 | Transmit mask register (lower 32 bits) |
0x805c | AR5K_TX_MASK1 | 5210 | Transmit mask register (higher 16 bits) |
0x8060 | AR5K_CLR_TMASK | 5210 | Clear transmit mask |
0x8064 | AR5K_TRIG_LVL | 5210 | Trigger level register (before transmission) |
0x8068 | AR5K_DIAG_SW_5210 | 5210 | PCU control register |
0x8048 | AR5K_DIAG_SW_5211 | 5211+ | PCU control register |
0x806c | AR5K_TSF_L32_5210 | 5210 | TSF (clock) register (lower 32 bits) |
0x804c | AR5K_TSF_L32_5211 | 5211+ | TSF (clock) register (lower 32 bits) |
0x8070 | AR5K_TSF_U32_5210 | 5210 | TSF (clock) register (higher 32 bits) |
0x8050 | AR5K_TSF_U32_5211 | 5211+ | TSF (clock) register (higher 32 bits) |
0x8080 | AR5K_LAST_TSTP | Last beacon timestamp register | |
0x8054 | AR5K_ADDAC_TEST | 5211+ | ADDAC test register |
0x8058 | AR5K_DEFAULT_ANTENNA | 5211+ | Default antenna register |
0x8084 | AR5K_RETRY_CNT | 5210 | Retry count register |
0x8088 | AR5K_BACKOFF | 5210 | Back-off status register |
0x808c | AR5K_NAV_5210 | 5210 | NAV register (current) |
0x8084 | AR5K_NAV_5211 | 5211+ | NAV register (current) |
0x8090 | AR5K_RTS_OK_5210 | 5210 | RTS success register |
0x8088 | AR5K_RTS_OK_5211 | 5211+ | RTS success register |
0x8094 | AR5K_RTS_FAIL_5210 | 5210 | RTS failure register |
0x808c | AR5K_RTS_FAIL_5211 | 5211+ | RTS failure register |
0x8098 | AR5K_ACK_FAIL_5210 | 5210 | ACK failure register |
0x8090 | AR5K_ACK_FAIL_5211 | 5211+ | ACK failure register |
0x809c | AR5K_FCS_FAIL_5210 | 5210 | FCS failure register |
0x8094 | AR5K_FCS_FAIL_5211 | 5211+ | FCS failure register |
0x80a0 | AR5K_BEACON_CNT_5210 | 5210 | Beacon count register |
0x8098 | AR5K_BEACON_CNT_5211 | 5211+ | Beacon count register |
0x80c0 | AR5K_XRMODE | 5212 | XR (eXtended Range) mode register |
0x80c4 | AR5K_XRDELAY | 5212 | XR delay register |
0x80c8 | AR5K_XRTIMEOUT | 5212 | XR timeout register |
0x80cc | AR5K_XRCHIRP | 5212 | XR chirp register |
0x80d0 | AR5K_XRSTOMP | 5212 | XR stomp register |
0x80d4 | AR5K_SLEEP0 | 5212 | First enhanced sleep register |
0x80d8 | AR5K_SLEEP1 | 5212 | Second enhanced sleep register |
0x80dc | AR5K_SLEEP2 | 5212 | Third enhanced sleep register |
0x80e0 | AR5K_BSS_IDM0 | 5212 | BSSID mask registers |
0x80e4 | AR5K_BSS_IDM1 | 5212 | BSSID mask registers |
0x80e8 | AR5K_TXPC | 5212 | TX power control (TPC) register |
0x80ec | AR5K_PROFCNT_TX | 5212 | Profile count registers |
0x80f0 | AR5K_PROFCNT_RX | 5212 | Profile count registers |
0x80f4 | AR5K_PROFCNT_RXCLR | 5212 | Profile count registers |
0x80f8 | AR5K_PROFCNT_CYCLE | 5212 | Profile count registers |
0x8104 | AR5K_TSF_PARM | 5212 | TSF parameter register |
0x810c | AR5K_PHY_ERR_FIL | 5212 | PHY error filter register |
0x8700-0x877c | AR5K_RATE_DUR | 5212 | Rate duration register |
0x9000 | AR5K_KEYTABLE_0_5210 | 5210 | Key table (WEP) register |
0x8800-0x9800 | AR5K_KEYTABLE_0_5211 | 5211+ | Key table (WEP) register |
0x9800 | AR5K_PHY | PHY unknown register | |
0x9804 | AR5K_PHY_TURBO | PHY frame control register [5110] /turbo mode register [5111+] | |
0x9808 | AR5K_PHY_AGC | PHY agility command register | |
0x9814 | AR5K_PHY_TIMING_3 | 5112+ | PHY timing register |
0x9818 | AR5K_PHY_CHIP_ID | PHY chip revision register | |
0x981c | AR5K_PHY_ACT | PHY activation register | |
0x9858 | AR5K_PHY_SIG | PHY signal register | |
0x985c | AR5K_PHY_AGCCOARSE | PHY coarse agility control register | |
0x9860 | AR5K_PHY_AGCCTL | PHY agility control register | |
0x9864 | AR5K_PHY_NF | PHY noise floor status register | |
0x9868 | AR5K_PHY_ADCSAT | 5110 | PHY ADC saturation register |
0x9870 | AR5K_PHY_SCR | 5112+ | PHY sleep registers |
0x9874 | AR5K_PHY_SLMT | 5112+ | PHY sleep registers |
0x9878 | AR5K_PHY_SCAL | 5112+ | PHY sleep registers |
0x987c | AR5K_PHY_PLL | PHY PLL (Phase Locked Loop) control register | |
0x989c | AR5K_RF_BUFFER | RF Buffer register | |
0x98c0 | AR5K_RF_BUFFER_CONTROL_0 | RF Buffer register | |
0x98c4 | AR5K_RF_BUFFER_CONTROL_1 | RF Buffer register | |
0x98cc | AR5K_RF_BUFFER_CONTROL_2 | RF Buffer register | |
0x98d0 | AR5K_RF_BUFFER_CONTROL_3 | RF Buffer register | |
0x98d4 | AR5K_RF_BUFFER_CONTROL_4 | RF Buffer register | |
0x98d8 | AR5K_RF_BUFFER_CONTROL_5 | RF Buffer register | |
0x98dc | AR5K_RF_BUFFER_CONTROL_6 | RF Buffer register | |
0x98d4 | AR5K_PHY_RFSTG | 5210 | PHY RF stage register |
0x9914 | AR5K_PHY_RX_DELAY | 5111+ | PHY receiver delay register |
0x9920 | AR5K_PHY_IQ | 5111+ | PHY timing I(nphase) Q(uadrature) control register |
0x9930 | AR5K_PHY_PAPD_PROBE | 5111+ | ? PHY PAPD probe register |
0x9934 | AR5K_PHY_TXPOWER_RATE1 | 5112+ | PHY TX rate power registers |
0x9938 | AR5K_PHY_TXPOWER_RATE2 | 5112+ | PHY TX rate power registers |
0x993c | AR5K_PHY_TXPOWER_RATE_MAX | 5112+ | PHY TX rate power registers |
0xa234 | AR5K_PHY_TXPOWER_RATE3 | 5112+ | PHY TX rate power registers |
0xa238 | AR5K_PHY_TXPOWER_RATE4 | 5112+ | PHY TX rate power registers |
0x9804 | AR5K_PHY_FRAME_CTL_5210 | 5210 | PHY frame control register |
0x9944 | AR5K_PHY_FRAME_CTL_5211 | 5111+ | PHY frame control register |
0x9954 | AR5K_PHY_RADAR | 5111+ | PHY radar detection register |
0x9960 | AR5K_PHY_ANT_SWITCH_TABLE_0 | 5110 | PHY antenna switch table registers |
0x9964 | AR5K_PHY_ANT_SWITCH_TABLE_1 | 5110 | PHY antenna switch table registers |
0x99f0 | AR5K_PHY_SCLOCK | 5112+ | PHY clock sleep registers |
0x99f4 | AR5K_PHY_SDELAY | 5112+ | PHY clock sleep registers |
0x99f8 | AR5K_PHY_SPENDING | 5112+ | PHY clock sleep registers |
0x9a00-0x9afc | AR5K_RF_GAIN | 5110,5111 | RF Amplifier Gain table |
0x9b00-0x9bfc | AR5K_BB_GAIN | 5110,5111 | BaseBand? Amplifier Gain table |
0x9c10 | AR5K_PHY_IQRES_CAL_PWR_I | 5111+ | PHY timing IQ calibration result register: I (Inphase) power value |
0x9c14 | AR5K_PHY_IQRES_CAL_PWR_Q | 5111+ | PHY timing IQ calibration result register: Q (Quadrature) power value |
0x9c18 | AR5K_PHY_IQRES_CAL_CORR | 5111+ | PHY timing IQ calibration result register: I/Q Correlation |
0x9c1c | AR5K_PHY_CURRENT_RSSI | 5111+ | PHY current RSSI register |
0xa180-0xa1fc | AR5K_PHY_PCDAC_TXPOWER | PHY PCDAC TX power table | |
0xa200 | AR5K_PHY_MODE | 5111+ | PHY mode register |
0xa204 | AR5K_PHY_CCKTXCTL | 5111+ | ? PHY CCK transmit control register |
0xa20c | AR5K_PHY_GAIN_2GHZ | 5111+ | PHY 2GHz gain register |
0x4000-0x5000 | (PCI_TIMING) | 5212+ | PCI Timing (RANGE) |