195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 29c9a0d145fee73b5e821bb460732ac2a66c680b3Gertjan van Wingerde Copyright (C) 2004 - 2009 Ivo van Doorn <IvDoorn@gmail.com> 395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn <http://rt2x00.serialmonkey.com> 495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn This program is free software; you can redistribute it and/or modify 695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn it under the terms of the GNU General Public License as published by 795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn the Free Software Foundation; either version 2 of the License, or 895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn (at your option) any later version. 995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 1095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn This program is distributed in the hope that it will be useful, 1195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn but WITHOUT ANY WARRANTY; without even the implied warranty of 1295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn GNU General Public License for more details. 1495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 1595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn You should have received a copy of the GNU General Public License 1695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn along with this program; if not, write to the 1795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn Free Software Foundation, Inc., 1895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 1995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 2095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 2195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 2295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn Module: rt2500pci 2395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn Abstract: Data structures and registers for the rt2500pci module. 2495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn Supported chipsets: RT2560. 2595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 2695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 2795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#ifndef RT2500PCI_H 2895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RT2500PCI_H 2995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 3095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 3195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RF chip defines. 3295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 3395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RF2522 0x0000 3495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RF2523 0x0001 3595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RF2524 0x0002 3695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RF2525 0x0003 3795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RF2525E 0x0004 3895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RF5222 0x0010 3995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 4095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 4195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RT2560 version 4295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 4395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RT2560_VERSION_B 2 4495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RT2560_VERSION_C 3 4595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RT2560_VERSION_D 4 4695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 4795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 4895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Signal information. 49af901ca181d92aac3a7dc265144a9081a86d8f39André Goddard Rosa * Default offset is required for RSSI <-> dBm conversion. 5095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 5195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define DEFAULT_RSSI_OFFSET 121 5295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 5395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 5495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Register layout information. 5595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 5695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR_REG_BASE 0x0000 5795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR_REG_SIZE 0x0174 5895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_BASE 0x0000 5995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_SIZE 0x0200 60743b97caf98036ec8ee4bfc6fc6f85ad94e04783Ivo van Doorn#define BBP_BASE 0x0000 6195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BBP_SIZE 0x0040 6253bc647a1a96189be53b68b9e8c40df0f42fc300Ivo van Doorn#define RF_BASE 0x0004 6353bc647a1a96189be53b68b9e8c40df0f42fc300Ivo van Doorn#define RF_SIZE 0x0010 6495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 6595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 6661448f88078e813bbaaa58eb775d650c85e7d407Gertjan van Wingerde * Number of TX queues. 6761448f88078e813bbaaa58eb775d650c85e7d407Gertjan van Wingerde */ 6861448f88078e813bbaaa58eb775d650c85e7d407Gertjan van Wingerde#define NUM_TX_QUEUES 2 6961448f88078e813bbaaa58eb775d650c85e7d407Gertjan van Wingerde 7061448f88078e813bbaaa58eb775d650c85e7d407Gertjan van Wingerde/* 7195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Control/Status Registers(CSR). 7295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Some values are set in TU, whereas 1 TU == 1024 us. 7395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 7495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 7595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 7695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR0: ASIC revision number. 7795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 7895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR0 0x0000 7949e721ec6ca74f90ee99089ad2de1c338a95c6d5Gertjan van Wingerde#define CSR0_REVISION FIELD32(0x0000ffff) 8095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 8195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 8295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR1: System control register. 8395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * SOFT_RESET: Software reset, 1: reset, 0: normal. 8495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BBP_RESET: Hardware reset, 1: reset, 0, release. 8595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * HOST_READY: Host ready after initialization. 8695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 8795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR1 0x0004 8895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR1_SOFT_RESET FIELD32(0x00000001) 8995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR1_BBP_RESET FIELD32(0x00000002) 9095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR1_HOST_READY FIELD32(0x00000004) 9195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 9295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 9395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR2: System admin status register (invalid). 9495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 9595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR2 0x0008 9695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 9795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 9895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR3: STA MAC address register 0. 9995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 10095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR3 0x000c 10195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR3_BYTE0 FIELD32(0x000000ff) 10295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR3_BYTE1 FIELD32(0x0000ff00) 10395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR3_BYTE2 FIELD32(0x00ff0000) 10495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR3_BYTE3 FIELD32(0xff000000) 10595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 10695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 10795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR4: STA MAC address register 1. 10895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 10995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR4 0x0010 11095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR4_BYTE4 FIELD32(0x000000ff) 11195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR4_BYTE5 FIELD32(0x0000ff00) 11295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 11395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 11495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR5: BSSID register 0. 11595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 11695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR5 0x0014 11795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR5_BYTE0 FIELD32(0x000000ff) 11895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR5_BYTE1 FIELD32(0x0000ff00) 11995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR5_BYTE2 FIELD32(0x00ff0000) 12095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR5_BYTE3 FIELD32(0xff000000) 12195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 12295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 12395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR6: BSSID register 1. 12495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 12595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR6 0x0018 12695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR6_BYTE4 FIELD32(0x000000ff) 12795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR6_BYTE5 FIELD32(0x0000ff00) 12895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 12995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 13095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR7: Interrupt source register. 13195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Write 1 to clear. 13295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TBCN_EXPIRE: Beacon timer expired interrupt. 13395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TWAKE_EXPIRE: Wakeup timer expired interrupt. 13495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TATIMW_EXPIRE: Timer of atim window expired interrupt. 13595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXDONE_TXRING: Tx ring transmit done interrupt. 13695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXDONE_ATIMRING: Atim ring transmit done interrupt. 13795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXDONE_PRIORING: Priority ring transmit done interrupt. 13895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RXDONE: Receive done interrupt. 13995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DECRYPTION_DONE: Decryption done interrupt. 14095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ENCRYPTION_DONE: Encryption done interrupt. 14195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART1_TX_TRESHOLD: UART1 TX reaches threshold. 14295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART1_RX_TRESHOLD: UART1 RX reaches threshold. 14395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART1_IDLE_TRESHOLD: UART1 IDLE over threshold. 14495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART1_TX_BUFF_ERROR: UART1 TX buffer error. 14595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART1_RX_BUFF_ERROR: UART1 RX buffer error. 14695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART2_TX_TRESHOLD: UART2 TX reaches threshold. 14795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART2_RX_TRESHOLD: UART2 RX reaches threshold. 14895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART2_IDLE_TRESHOLD: UART2 IDLE over threshold. 14995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART2_TX_BUFF_ERROR: UART2 TX buffer error. 15095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART2_RX_BUFF_ERROR: UART2 RX buffer error. 15195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TIMER_CSR3_EXPIRE: TIMECSR3 timer expired (802.1H quiet period). 15295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 15395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 15495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7 0x001c 15595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_TBCN_EXPIRE FIELD32(0x00000001) 15695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_TWAKE_EXPIRE FIELD32(0x00000002) 15795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_TATIMW_EXPIRE FIELD32(0x00000004) 15895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_TXDONE_TXRING FIELD32(0x00000008) 15995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_TXDONE_ATIMRING FIELD32(0x00000010) 16095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_TXDONE_PRIORING FIELD32(0x00000020) 16195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_RXDONE FIELD32(0x00000040) 16295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_DECRYPTION_DONE FIELD32(0x00000080) 16395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_ENCRYPTION_DONE FIELD32(0x00000100) 16495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_UART1_TX_TRESHOLD FIELD32(0x00000200) 16595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_UART1_RX_TRESHOLD FIELD32(0x00000400) 16695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_UART1_IDLE_TRESHOLD FIELD32(0x00000800) 16795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_UART1_TX_BUFF_ERROR FIELD32(0x00001000) 16895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_UART1_RX_BUFF_ERROR FIELD32(0x00002000) 16995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_UART2_TX_TRESHOLD FIELD32(0x00004000) 17095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_UART2_RX_TRESHOLD FIELD32(0x00008000) 17195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_UART2_IDLE_TRESHOLD FIELD32(0x00010000) 17295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_UART2_TX_BUFF_ERROR FIELD32(0x00020000) 17395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_UART2_RX_BUFF_ERROR FIELD32(0x00040000) 17495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR7_TIMER_CSR3_EXPIRE FIELD32(0x00080000) 17595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 17695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 17795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR8: Interrupt mask register. 17895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Write 1 to mask interrupt. 17995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TBCN_EXPIRE: Beacon timer expired interrupt. 18095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TWAKE_EXPIRE: Wakeup timer expired interrupt. 18195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TATIMW_EXPIRE: Timer of atim window expired interrupt. 18295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXDONE_TXRING: Tx ring transmit done interrupt. 18395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXDONE_ATIMRING: Atim ring transmit done interrupt. 18495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXDONE_PRIORING: Priority ring transmit done interrupt. 18595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RXDONE: Receive done interrupt. 18695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DECRYPTION_DONE: Decryption done interrupt. 18795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ENCRYPTION_DONE: Encryption done interrupt. 18895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART1_TX_TRESHOLD: UART1 TX reaches threshold. 18995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART1_RX_TRESHOLD: UART1 RX reaches threshold. 19095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART1_IDLE_TRESHOLD: UART1 IDLE over threshold. 19195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART1_TX_BUFF_ERROR: UART1 TX buffer error. 19295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART1_RX_BUFF_ERROR: UART1 RX buffer error. 19395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART2_TX_TRESHOLD: UART2 TX reaches threshold. 19495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART2_RX_TRESHOLD: UART2 RX reaches threshold. 19595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART2_IDLE_TRESHOLD: UART2 IDLE over threshold. 19695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART2_TX_BUFF_ERROR: UART2 TX buffer error. 19795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART2_RX_BUFF_ERROR: UART2 RX buffer error. 19895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TIMER_CSR3_EXPIRE: TIMECSR3 timer expired (802.1H quiet period). 19995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 20095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8 0x0020 20195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_TBCN_EXPIRE FIELD32(0x00000001) 20295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_TWAKE_EXPIRE FIELD32(0x00000002) 20395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_TATIMW_EXPIRE FIELD32(0x00000004) 20495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_TXDONE_TXRING FIELD32(0x00000008) 20595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_TXDONE_ATIMRING FIELD32(0x00000010) 20695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_TXDONE_PRIORING FIELD32(0x00000020) 20795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_RXDONE FIELD32(0x00000040) 20895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_DECRYPTION_DONE FIELD32(0x00000080) 20995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_ENCRYPTION_DONE FIELD32(0x00000100) 21095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_UART1_TX_TRESHOLD FIELD32(0x00000200) 21195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_UART1_RX_TRESHOLD FIELD32(0x00000400) 21295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_UART1_IDLE_TRESHOLD FIELD32(0x00000800) 21395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_UART1_TX_BUFF_ERROR FIELD32(0x00001000) 21495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_UART1_RX_BUFF_ERROR FIELD32(0x00002000) 21595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_UART2_TX_TRESHOLD FIELD32(0x00004000) 21695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_UART2_RX_TRESHOLD FIELD32(0x00008000) 21795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_UART2_IDLE_TRESHOLD FIELD32(0x00010000) 21895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_UART2_TX_BUFF_ERROR FIELD32(0x00020000) 21995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_UART2_RX_BUFF_ERROR FIELD32(0x00040000) 22095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR8_TIMER_CSR3_EXPIRE FIELD32(0x00080000) 22195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 22295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 22395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR9: Maximum frame length register. 22495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * MAX_FRAME_UNIT: Maximum frame length in 128b unit, default: 12. 22595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 22695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR9 0x0024 22795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR9_MAX_FRAME_UNIT FIELD32(0x00000f80) 22895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 22995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 23095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * SECCSR0: WEP control register. 23195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * KICK_DECRYPT: Kick decryption engine, self-clear. 23295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ONE_SHOT: 0: ring mode, 1: One shot only mode. 23395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DESC_ADDRESS: Descriptor physical address of frame. 23495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 23595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define SECCSR0 0x0028 23695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define SECCSR0_KICK_DECRYPT FIELD32(0x00000001) 23795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define SECCSR0_ONE_SHOT FIELD32(0x00000002) 23895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define SECCSR0_DESC_ADDRESS FIELD32(0xfffffffc) 23995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 24095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 24195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR11: Back-off control register. 24295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CWMIN: CWmin. Default cwmin is 31 (2^5 - 1). 24395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CWMAX: CWmax. Default cwmax is 1023 (2^10 - 1). 24495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * SLOT_TIME: Slot time, default is 20us for 802.11b 24595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CW_SELECT: CWmin/CWmax selection, 1: Register, 0: TXD. 24695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * LONG_RETRY: Long retry count. 24795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * SHORT_RETRY: Short retry count. 24895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 24995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR11 0x002c 25095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR11_CWMIN FIELD32(0x0000000f) 25195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR11_CWMAX FIELD32(0x000000f0) 25295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR11_SLOT_TIME FIELD32(0x00001f00) 25395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR11_CW_SELECT FIELD32(0x00002000) 25495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR11_LONG_RETRY FIELD32(0x00ff0000) 25595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR11_SHORT_RETRY FIELD32(0xff000000) 25695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 25795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 25895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR12: Synchronization configuration register 0. 25995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * All units in 1/16 TU. 26095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BEACON_INTERVAL: Beacon interval, default is 100 TU. 26195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CFP_MAX_DURATION: Cfp maximum duration, default is 100 TU. 26295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 26395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR12 0x0030 26495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR12_BEACON_INTERVAL FIELD32(0x0000ffff) 26595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR12_CFP_MAX_DURATION FIELD32(0xffff0000) 26695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 26795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 26895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR13: Synchronization configuration register 1. 26995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * All units in 1/16 TU. 27095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ATIMW_DURATION: Atim window duration. 27195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CFP_PERIOD: Cfp period, default is 0 TU. 27295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 27395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR13 0x0034 27495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR13_ATIMW_DURATION FIELD32(0x0000ffff) 27595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR13_CFP_PERIOD FIELD32(0x00ff0000) 27695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 27795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 27895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR14: Synchronization control register. 27995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TSF_COUNT: Enable tsf auto counting. 28095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TSF_SYNC: Tsf sync, 0: disable, 1: infra, 2: ad-hoc/master mode. 28195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TBCN: Enable tbcn with reload value. 28295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TCFP: Enable tcfp & cfp / cp switching. 28395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TATIMW: Enable tatimw & atim window switching. 28495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BEACON_GEN: Enable beacon generator. 28595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CFP_COUNT_PRELOAD: Cfp count preload value. 28695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TBCM_PRELOAD: Tbcn preload value in units of 64us. 28795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 28895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR14 0x0038 28995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR14_TSF_COUNT FIELD32(0x00000001) 29095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR14_TSF_SYNC FIELD32(0x00000006) 29195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR14_TBCN FIELD32(0x00000008) 29295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR14_TCFP FIELD32(0x00000010) 29395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR14_TATIMW FIELD32(0x00000020) 29495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR14_BEACON_GEN FIELD32(0x00000040) 29595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR14_CFP_COUNT_PRELOAD FIELD32(0x0000ff00) 29695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR14_TBCM_PRELOAD FIELD32(0xffff0000) 29795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 29895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 29995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR15: Synchronization status register. 30095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CFP: ASIC is in contention-free period. 30195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ATIMW: ASIC is in ATIM window. 30295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BEACON_SENT: Beacon is send. 30395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 30495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR15 0x003c 30595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR15_CFP FIELD32(0x00000001) 30695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR15_ATIMW FIELD32(0x00000002) 30795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR15_BEACON_SENT FIELD32(0x00000004) 30895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 30995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 31095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR16: TSF timer register 0. 31195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 31295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR16 0x0040 31395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR16_LOW_TSFTIMER FIELD32(0xffffffff) 31495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 31595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 31695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR17: TSF timer register 1. 31795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 31895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR17 0x0044 31995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR17_HIGH_TSFTIMER FIELD32(0xffffffff) 32095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 32195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 32295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR18: IFS timer register 0. 32395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * SIFS: Sifs, default is 10 us. 32495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * PIFS: Pifs, default is 30 us. 32595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 32695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR18 0x0048 32795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR18_SIFS FIELD32(0x000001ff) 32895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR18_PIFS FIELD32(0x001f0000) 32995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 33095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 33195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR19: IFS timer register 1. 33295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DIFS: Difs, default is 50 us. 33395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * EIFS: Eifs, default is 364 us. 33495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 33595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR19 0x004c 33695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR19_DIFS FIELD32(0x0000ffff) 33795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR19_EIFS FIELD32(0xffff0000) 33895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 33995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 34095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR20: Wakeup timer register. 34195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DELAY_AFTER_TBCN: Delay after tbcn expired in units of 1/16 TU. 34295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TBCN_BEFORE_WAKEUP: Number of beacon before wakeup. 34395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * AUTOWAKE: Enable auto wakeup / sleep mechanism. 34495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 34595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR20 0x0050 34695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR20_DELAY_AFTER_TBCN FIELD32(0x0000ffff) 34795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR20_TBCN_BEFORE_WAKEUP FIELD32(0x00ff0000) 34895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR20_AUTOWAKE FIELD32(0x01000000) 34995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 35095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 35195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR21: EEPROM control register. 35295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RELOAD: Write 1 to reload eeprom content. 35395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TYPE_93C46: 1: 93c46, 0:93c66. 35495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 35595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR21 0x0054 35695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR21_RELOAD FIELD32(0x00000001) 35795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR21_EEPROM_DATA_CLOCK FIELD32(0x00000002) 35895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR21_EEPROM_CHIP_SELECT FIELD32(0x00000004) 35995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR21_EEPROM_DATA_IN FIELD32(0x00000008) 36095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR21_EEPROM_DATA_OUT FIELD32(0x00000010) 36195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR21_TYPE_93C46 FIELD32(0x00000020) 36295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 36395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 36495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CSR22: CFP control register. 36595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CFP_DURATION_REMAIN: Cfp duration remain, in units of TU. 36695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RELOAD_CFP_DURATION: Write 1 to reload cfp duration remain. 36795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 36895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR22 0x0058 36995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR22_CFP_DURATION_REMAIN FIELD32(0x0000ffff) 37095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CSR22_RELOAD_CFP_DURATION FIELD32(0x00010000) 37195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 37295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 37395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Transmit related CSRs. 37495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Some values are set in TU, whereas 1 TU == 1024 us. 37595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 37695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 37795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 37895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXCSR0: TX Control Register. 37995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * KICK_TX: Kick tx ring. 38095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * KICK_ATIM: Kick atim ring. 38195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * KICK_PRIO: Kick priority ring. 38295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ABORT: Abort all transmit related ring operation. 38395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 38495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR0 0x0060 38595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR0_KICK_TX FIELD32(0x00000001) 38695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR0_KICK_ATIM FIELD32(0x00000002) 38795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR0_KICK_PRIO FIELD32(0x00000004) 38895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR0_ABORT FIELD32(0x00000008) 38995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 39095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 39195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXCSR1: TX Configuration Register. 39295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ACK_TIMEOUT: Ack timeout, default = sifs + 2*slottime + acktime @ 1mbps. 39395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ACK_CONSUME_TIME: Ack consume time, default = sifs + acktime @ 1mbps. 39495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TSF_OFFSET: Insert tsf offset. 39595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * AUTORESPONDER: Enable auto responder which include ack & cts. 39695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 39795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR1 0x0064 39895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR1_ACK_TIMEOUT FIELD32(0x000001ff) 39995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR1_ACK_CONSUME_TIME FIELD32(0x0003fe00) 40095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR1_TSF_OFFSET FIELD32(0x00fc0000) 40195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR1_AUTORESPONDER FIELD32(0x01000000) 40295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 40395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 40495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXCSR2: Tx descriptor configuration register. 40595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXD_SIZE: Tx descriptor size, default is 48. 40695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * NUM_TXD: Number of tx entries in ring. 40795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * NUM_ATIM: Number of atim entries in ring. 40895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * NUM_PRIO: Number of priority entries in ring. 40995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 41095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR2 0x0068 41195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR2_TXD_SIZE FIELD32(0x000000ff) 41295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR2_NUM_TXD FIELD32(0x0000ff00) 41395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR2_NUM_ATIM FIELD32(0x00ff0000) 41495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR2_NUM_PRIO FIELD32(0xff000000) 41595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 41695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 41795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXCSR3: TX Ring Base address register. 41895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 41995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR3 0x006c 42095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR3_TX_RING_REGISTER FIELD32(0xffffffff) 42195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 42295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 42395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXCSR4: TX Atim Ring Base address register. 42495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 42595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR4 0x0070 42695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR4_ATIM_RING_REGISTER FIELD32(0xffffffff) 42795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 42895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 42995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXCSR5: TX Prio Ring Base address register. 43095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 43195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR5 0x0074 43295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR5_PRIO_RING_REGISTER FIELD32(0xffffffff) 43395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 43495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 43595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXCSR6: Beacon Base address register. 43695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 43795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR6 0x0078 43895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR6_BEACON_RING_REGISTER FIELD32(0xffffffff) 43995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 44095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 44195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXCSR7: Auto responder control register. 44295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * AR_POWERMANAGEMENT: Auto responder power management bit. 44395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 44495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR7 0x007c 44595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR7_AR_POWERMANAGEMENT FIELD32(0x00000001) 44695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 44795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 44895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXCSR8: CCK Tx BBP register. 44995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 45095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR8 0x0098 45195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR8_BBP_ID0 FIELD32(0x0000007f) 45295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR8_BBP_ID0_VALID FIELD32(0x00000080) 45395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR8_BBP_ID1 FIELD32(0x00007f00) 45495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR8_BBP_ID1_VALID FIELD32(0x00008000) 45595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR8_BBP_ID2 FIELD32(0x007f0000) 45695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR8_BBP_ID2_VALID FIELD32(0x00800000) 45795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR8_BBP_ID3 FIELD32(0x7f000000) 45895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR8_BBP_ID3_VALID FIELD32(0x80000000) 45995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 46095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 46195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXCSR9: OFDM TX BBP registers 46295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * OFDM_SIGNAL: BBP rate field address for OFDM. 46395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * OFDM_SERVICE: BBP service field address for OFDM. 46495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * OFDM_LENGTH_LOW: BBP length low byte address for OFDM. 46595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * OFDM_LENGTH_HIGH: BBP length high byte address for OFDM. 46695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 46795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR9 0x0094 46895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR9_OFDM_RATE FIELD32(0x000000ff) 46995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR9_OFDM_SERVICE FIELD32(0x0000ff00) 47095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR9_OFDM_LENGTH_LOW FIELD32(0x00ff0000) 47195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXCSR9_OFDM_LENGTH_HIGH FIELD32(0xff000000) 47295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 47395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 47495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Receive related CSRs. 47595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Some values are set in TU, whereas 1 TU == 1024 us. 47695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 47795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 47895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 47995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RXCSR0: RX Control Register. 48095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DISABLE_RX: Disable rx engine. 48195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DROP_CRC: Drop crc error. 48295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DROP_PHYSICAL: Drop physical error. 48395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DROP_CONTROL: Drop control frame. 48495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DROP_NOT_TO_ME: Drop not to me unicast frame. 48595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DROP_TODS: Drop frame tods bit is true. 48695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DROP_VERSION_ERROR: Drop version error frame. 48795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * PASS_CRC: Pass all packets with crc attached. 48895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * PASS_CRC: Pass all packets with crc attached. 48995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * PASS_PLCP: Pass all packets with 4 bytes PLCP attached. 49095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DROP_MCAST: Drop multicast frames. 49195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DROP_BCAST: Drop broadcast frames. 49295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ENABLE_QOS: Accept QOS data frame and parse QOS field. 49395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 49495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR0 0x0080 49595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR0_DISABLE_RX FIELD32(0x00000001) 49695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR0_DROP_CRC FIELD32(0x00000002) 49795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR0_DROP_PHYSICAL FIELD32(0x00000004) 49895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR0_DROP_CONTROL FIELD32(0x00000008) 49995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR0_DROP_NOT_TO_ME FIELD32(0x00000010) 50095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR0_DROP_TODS FIELD32(0x00000020) 50195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR0_DROP_VERSION_ERROR FIELD32(0x00000040) 50295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR0_PASS_CRC FIELD32(0x00000080) 50395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR0_PASS_PLCP FIELD32(0x00000100) 50495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR0_DROP_MCAST FIELD32(0x00000200) 50595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR0_DROP_BCAST FIELD32(0x00000400) 50695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR0_ENABLE_QOS FIELD32(0x00000800) 50795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 50895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 50995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RXCSR1: RX descriptor configuration register. 51095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RXD_SIZE: Rx descriptor size, default is 32b. 51195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * NUM_RXD: Number of rx entries in ring. 51295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 51395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR1 0x0084 51495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR1_RXD_SIZE FIELD32(0x000000ff) 51595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR1_NUM_RXD FIELD32(0x0000ff00) 51695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 51795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 51895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RXCSR2: RX Ring base address register. 51995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 52095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR2 0x0088 52195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR2_RX_RING_REGISTER FIELD32(0xffffffff) 52295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 52395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 52495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RXCSR3: BBP ID register for Rx operation. 52595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BBP_ID#: BBP register # id. 52695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BBP_ID#_VALID: BBP register # id is valid or not. 52795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 52895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR3 0x0090 52995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR3_BBP_ID0 FIELD32(0x0000007f) 53095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR3_BBP_ID0_VALID FIELD32(0x00000080) 53195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR3_BBP_ID1 FIELD32(0x00007f00) 53295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR3_BBP_ID1_VALID FIELD32(0x00008000) 53395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR3_BBP_ID2 FIELD32(0x007f0000) 53495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR3_BBP_ID2_VALID FIELD32(0x00800000) 53595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR3_BBP_ID3 FIELD32(0x7f000000) 53695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXCSR3_BBP_ID3_VALID FIELD32(0x80000000) 53795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 53895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 53995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ARCSR1: Auto Responder PLCP config register 1. 54095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * AR_BBP_DATA#: Auto responder BBP register # data. 54195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * AR_BBP_ID#: Auto responder BBP register # Id. 54295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 54395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR1 0x009c 54495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR1_AR_BBP_DATA2 FIELD32(0x000000ff) 54595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR1_AR_BBP_ID2 FIELD32(0x0000ff00) 54695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR1_AR_BBP_DATA3 FIELD32(0x00ff0000) 54795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR1_AR_BBP_ID3 FIELD32(0xff000000) 54895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 54995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 55095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Miscellaneous Registers. 55195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Some values are set in TU, whereas 1 TU == 1024 us. 55295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 55395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 55495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 55595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 55695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * PCICSR: PCI control register. 55795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BIG_ENDIAN: 1: big endian, 0: little endian. 55895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RX_TRESHOLD: Rx threshold in dw to start pci access 55995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * 0: 16dw (default), 1: 8dw, 2: 4dw, 3: 32dw. 56095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TX_TRESHOLD: Tx threshold in dw to start pci access 56195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * 0: 0dw (default), 1: 1dw, 2: 4dw, 3: forward. 56295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BURST_LENTH: Pci burst length 0: 4dw (default, 1: 8dw, 2: 16dw, 3:32dw. 56395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ENABLE_CLK: Enable clk_run, pci clock can't going down to non-operational. 56495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * READ_MULTIPLE: Enable memory read multiple. 56595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * WRITE_INVALID: Enable memory write & invalid. 56695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 56795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PCICSR 0x008c 56895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PCICSR_BIG_ENDIAN FIELD32(0x00000001) 56995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PCICSR_RX_TRESHOLD FIELD32(0x00000006) 57095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PCICSR_TX_TRESHOLD FIELD32(0x00000018) 57195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PCICSR_BURST_LENTH FIELD32(0x00000060) 57295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PCICSR_ENABLE_CLK FIELD32(0x00000080) 57395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PCICSR_READ_MULTIPLE FIELD32(0x00000100) 57495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PCICSR_WRITE_INVALID FIELD32(0x00000200) 57595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 57695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 57795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CNT0: FCS error count. 57895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * FCS_ERROR: FCS error count, cleared when read. 57995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 58095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CNT0 0x00a0 58195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CNT0_FCS_ERROR FIELD32(0x0000ffff) 58295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 58395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 58495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Statistic Register. 58595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CNT1: PLCP error count. 58695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CNT2: Long error count. 58795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 58895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TIMECSR2 0x00a8 58995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CNT1 0x00ac 59095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CNT2 0x00b0 59195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TIMECSR3 0x00b4 59295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 59395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 59495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CNT3: CCA false alarm count. 59595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 59695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CNT3 0x00b8 59795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CNT3_FALSE_CCA FIELD32(0x0000ffff) 59895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 59995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 60095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Statistic Register. 60195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CNT4: Rx FIFO overflow count. 60295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CNT5: Tx FIFO underrun count. 60395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 60495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CNT4 0x00bc 60595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define CNT5 0x00c0 60695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 60795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 60895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Baseband Control Register. 60995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 61095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 61195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 61295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * PWRCSR0: Power mode configuration register. 61395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 61495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PWRCSR0 0x00c4 61595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 61695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 61795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Power state transition time registers. 61895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 61995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PSCSR0 0x00c8 62095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PSCSR1 0x00cc 62195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PSCSR2 0x00d0 62295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PSCSR3 0x00d4 62395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 62495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 62595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * PWRCSR1: Manual power control / status register. 62695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Allowed state: 0 deep_sleep, 1: sleep, 2: standby, 3: awake. 62795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * SET_STATE: Set state. Write 1 to trigger, self cleared. 62895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BBP_DESIRE_STATE: BBP desired state. 62995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RF_DESIRE_STATE: RF desired state. 63095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BBP_CURR_STATE: BBP current state. 63195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RF_CURR_STATE: RF current state. 63295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * PUT_TO_SLEEP: Put to sleep. Write 1 to trigger, self cleared. 63395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 63495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PWRCSR1 0x00d8 63595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PWRCSR1_SET_STATE FIELD32(0x00000001) 63695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PWRCSR1_BBP_DESIRE_STATE FIELD32(0x00000006) 63795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PWRCSR1_RF_DESIRE_STATE FIELD32(0x00000018) 63895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PWRCSR1_BBP_CURR_STATE FIELD32(0x00000060) 63995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PWRCSR1_RF_CURR_STATE FIELD32(0x00000180) 64095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PWRCSR1_PUT_TO_SLEEP FIELD32(0x00000200) 64195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 64295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 64395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TIMECSR: Timer control register. 64495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * US_COUNT: 1 us timer count in units of clock cycles. 64595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * US_64_COUNT: 64 us timer count in units of 1 us timer. 64695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BEACON_EXPECT: Beacon expect window. 64795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 64895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TIMECSR 0x00dc 64995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TIMECSR_US_COUNT FIELD32(0x000000ff) 65095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TIMECSR_US_64_COUNT FIELD32(0x0000ff00) 65195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TIMECSR_BEACON_EXPECT FIELD32(0x00070000) 65295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 65395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 65495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * MACCSR0: MAC configuration register 0. 65595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 65695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define MACCSR0 0x00e0 65795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 65895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 65995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * MACCSR1: MAC configuration register 1. 66095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * KICK_RX: Kick one-shot rx in one-shot rx mode. 66195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ONESHOT_RXMODE: Enable one-shot rx mode for debugging. 66295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BBPRX_RESET_MODE: Ralink bbp rx reset mode. 66395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * AUTO_TXBBP: Auto tx logic access bbp control register. 66495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * AUTO_RXBBP: Auto rx logic access bbp control register. 66595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * LOOPBACK: Loopback mode. 0: normal, 1: internal, 2: external, 3:rsvd. 66695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * INTERSIL_IF: Intersil if calibration pin. 66795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 66895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define MACCSR1 0x00e4 66995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define MACCSR1_KICK_RX FIELD32(0x00000001) 67095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define MACCSR1_ONESHOT_RXMODE FIELD32(0x00000002) 67195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define MACCSR1_BBPRX_RESET_MODE FIELD32(0x00000004) 67295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define MACCSR1_AUTO_TXBBP FIELD32(0x00000008) 67395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define MACCSR1_AUTO_RXBBP FIELD32(0x00000010) 67495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define MACCSR1_LOOPBACK FIELD32(0x00000060) 67595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define MACCSR1_INTERSIL_IF FIELD32(0x00000080) 67695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 67795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 67895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RALINKCSR: Ralink Rx auto-reset BBCR. 67995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * AR_BBP_DATA#: Auto reset BBP register # data. 68095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * AR_BBP_ID#: Auto reset BBP register # id. 68195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 68295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RALINKCSR 0x00e8 68395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RALINKCSR_AR_BBP_DATA0 FIELD32(0x000000ff) 68495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RALINKCSR_AR_BBP_ID0 FIELD32(0x00007f00) 68595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RALINKCSR_AR_BBP_VALID0 FIELD32(0x00008000) 68695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RALINKCSR_AR_BBP_DATA1 FIELD32(0x00ff0000) 68795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RALINKCSR_AR_BBP_ID1 FIELD32(0x7f000000) 68895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RALINKCSR_AR_BBP_VALID1 FIELD32(0x80000000) 68995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 69095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 69195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BCNCSR: Beacon interval control register. 69295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CHANGE: Write one to change beacon interval. 69395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DELTATIME: The delta time value. 69495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * NUM_BEACON: Number of beacon according to mode. 69595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * MODE: Please refer to asic specs. 69695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * PLUS: Plus or minus delta time value. 69795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 69895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BCNCSR 0x00ec 69995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BCNCSR_CHANGE FIELD32(0x00000001) 70095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BCNCSR_DELTATIME FIELD32(0x0000001e) 70195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BCNCSR_NUM_BEACON FIELD32(0x00001fe0) 70295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BCNCSR_MODE FIELD32(0x00006000) 70395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BCNCSR_PLUS FIELD32(0x00008000) 70495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 70595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 70695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BBP / RF / IF Control Register. 70795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 70895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 70995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 71095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BBPCSR: BBP serial control register. 71195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * VALUE: Register value to program into BBP. 71295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * REGNUM: Selected BBP register. 71395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BUSY: 1: asic is busy execute BBP programming. 71495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * WRITE_CONTROL: 1: write BBP, 0: read BBP. 71595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 71695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BBPCSR 0x00f0 71795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BBPCSR_VALUE FIELD32(0x000000ff) 71895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BBPCSR_REGNUM FIELD32(0x00007f00) 71995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BBPCSR_BUSY FIELD32(0x00008000) 72095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BBPCSR_WRITE_CONTROL FIELD32(0x00010000) 72195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 72295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 72395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RFCSR: RF serial control register. 72495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * VALUE: Register value + id to program into rf/if. 72595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * NUMBER_OF_BITS: Number of bits used in value (i:20, rfmd:22). 72695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * IF_SELECT: Chip to program: 0: rf, 1: if. 72795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * PLL_LD: Rf pll_ld status. 72895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BUSY: 1: asic is busy execute rf programming. 72995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 73095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RFCSR 0x00f4 73195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RFCSR_VALUE FIELD32(0x00ffffff) 73295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RFCSR_NUMBER_OF_BITS FIELD32(0x1f000000) 73395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RFCSR_IF_SELECT FIELD32(0x20000000) 73495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RFCSR_PLL_LD FIELD32(0x40000000) 73595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RFCSR_BUSY FIELD32(0x80000000) 73695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 73795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 73895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * LEDCSR: LED control register. 73995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ON_PERIOD: On period, default 70ms. 74095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * OFF_PERIOD: Off period, default 30ms. 74195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * LINK: 0: linkoff, 1: linkup. 74295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ACTIVITY: 0: idle, 1: active. 74395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * LINK_POLARITY: 0: active low, 1: active high. 74495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ACTIVITY_POLARITY: 0: active low, 1: active high. 74595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * LED_DEFAULT: LED state for "enable" 0: ON, 1: OFF. 74695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 74795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define LEDCSR 0x00f8 74895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define LEDCSR_ON_PERIOD FIELD32(0x000000ff) 74995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define LEDCSR_OFF_PERIOD FIELD32(0x0000ff00) 75095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define LEDCSR_LINK FIELD32(0x00010000) 75195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define LEDCSR_ACTIVITY FIELD32(0x00020000) 75295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define LEDCSR_LINK_POLARITY FIELD32(0x00040000) 75395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define LEDCSR_ACTIVITY_POLARITY FIELD32(0x00080000) 75495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define LEDCSR_LED_DEFAULT FIELD32(0x00100000) 75595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 75695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 75784263b0c94431e686552a322ae84678fddd22ebdIvo van Doorn * SECCSR3: AES control register. 75895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 75995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define SECCSR3 0x00fc 76095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 76195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 76295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ASIC pointer information. 76395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RXPTR: Current RX ring address. 76495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXPTR: Current Tx ring address. 76595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * PRIPTR: Current Priority ring address. 76695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ATIMPTR: Current ATIM ring address. 76795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 76895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXPTR 0x0100 76995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXPTR 0x0104 77095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define PRIPTR 0x0108 77195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ATIMPTR 0x010c 77295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 77395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 77495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TXACKCSR0: TX ACK timeout. 77595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 77695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXACKCSR0 0x0110 77795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 77895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 77995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ACK timeout count registers. 78095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ACKCNT0: TX ACK timeout count. 78195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ACKCNT1: RX ACK timeout count. 78295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 78395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ACKCNT0 0x0114 78495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ACKCNT1 0x0118 78595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 78695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 78795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * GPIO and others. 78895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 78995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 79095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 79195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * GPIOCSR: GPIO control register. 79295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 79395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define GPIOCSR 0x0120 79495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define GPIOCSR_BIT0 FIELD32(0x00000001) 79595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define GPIOCSR_BIT1 FIELD32(0x00000002) 79695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define GPIOCSR_BIT2 FIELD32(0x00000004) 79795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define GPIOCSR_BIT3 FIELD32(0x00000008) 79895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define GPIOCSR_BIT4 FIELD32(0x00000010) 79995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define GPIOCSR_BIT5 FIELD32(0x00000020) 80095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define GPIOCSR_BIT6 FIELD32(0x00000040) 80195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define GPIOCSR_BIT7 FIELD32(0x00000080) 80295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define GPIOCSR_DIR0 FIELD32(0x00000100) 80395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define GPIOCSR_DIR1 FIELD32(0x00000200) 80495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define GPIOCSR_DIR2 FIELD32(0x00000400) 80595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define GPIOCSR_DIR3 FIELD32(0x00000800) 80695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define GPIOCSR_DIR4 FIELD32(0x00001000) 80795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define GPIOCSR_DIR5 FIELD32(0x00002000) 80895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define GPIOCSR_DIR6 FIELD32(0x00004000) 80995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define GPIOCSR_DIR7 FIELD32(0x00008000) 81095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 81195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 81295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * FIFO pointer registers. 81395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * FIFOCSR0: TX FIFO pointer. 81495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * FIFOCSR1: RX FIFO pointer. 81595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 81695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define FIFOCSR0 0x0128 81795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define FIFOCSR1 0x012c 81895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 81995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 82095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BCNCSR1: Tx BEACON offset time control register. 82195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * PRELOAD: Beacon timer offset in units of usec. 82295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BEACON_CWMIN: 2^CwMin. 82395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 82495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BCNCSR1 0x0130 82595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BCNCSR1_PRELOAD FIELD32(0x0000ffff) 82695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BCNCSR1_BEACON_CWMIN FIELD32(0x000f0000) 82795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 82895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 82995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * MACCSR2: TX_PE to RX_PE turn-around time control register 83095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DELAY: RX_PE low width, in units of pci clock cycle. 83195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 83295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define MACCSR2 0x0134 83395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define MACCSR2_DELAY FIELD32(0x000000ff) 83495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 83595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 83695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TESTCSR: TEST mode selection register. 83795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 83895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TESTCSR 0x0138 83995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 84095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 84195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ARCSR2: 1 Mbps ACK/CTS PLCP. 84295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 84395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR2 0x013c 84495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR2_SIGNAL FIELD32(0x000000ff) 84595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR2_SERVICE FIELD32(0x0000ff00) 84695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR2_LENGTH FIELD32(0xffff0000) 84795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 84895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 84995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ARCSR3: 2 Mbps ACK/CTS PLCP. 85095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 85195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR3 0x0140 85295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR3_SIGNAL FIELD32(0x000000ff) 85395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR3_SERVICE FIELD32(0x0000ff00) 85495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR3_LENGTH FIELD32(0xffff0000) 85595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 85695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 85795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ARCSR4: 5.5 Mbps ACK/CTS PLCP. 85895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 85995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR4 0x0144 86095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR4_SIGNAL FIELD32(0x000000ff) 86195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR4_SERVICE FIELD32(0x0000ff00) 86295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR4_LENGTH FIELD32(0xffff0000) 86395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 86495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 86595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ARCSR5: 11 Mbps ACK/CTS PLCP. 86695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 86795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR5 0x0148 86895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR5_SIGNAL FIELD32(0x000000ff) 86995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR5_SERVICE FIELD32(0x0000ff00) 87095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARCSR5_LENGTH FIELD32(0xffff0000) 87195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 87295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 87395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ARTCSR0: CCK ACK/CTS payload consumed time for 1/2/5.5/11 mbps. 87495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 87595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARTCSR0 0x014c 87695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARTCSR0_ACK_CTS_11MBS FIELD32(0x000000ff) 87795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARTCSR0_ACK_CTS_5_5MBS FIELD32(0x0000ff00) 87895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARTCSR0_ACK_CTS_2MBS FIELD32(0x00ff0000) 87995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARTCSR0_ACK_CTS_1MBS FIELD32(0xff000000) 88095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 88195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 88295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 88395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ARTCSR1: OFDM ACK/CTS payload consumed time for 6/9/12/18 mbps. 88495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 88595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARTCSR1 0x0150 88695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARTCSR1_ACK_CTS_6MBS FIELD32(0x000000ff) 88795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARTCSR1_ACK_CTS_9MBS FIELD32(0x0000ff00) 88895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARTCSR1_ACK_CTS_12MBS FIELD32(0x00ff0000) 88995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARTCSR1_ACK_CTS_18MBS FIELD32(0xff000000) 89095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 89195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 89295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ARTCSR2: OFDM ACK/CTS payload consumed time for 24/36/48/54 mbps. 89395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 89495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARTCSR2 0x0154 89595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARTCSR2_ACK_CTS_24MBS FIELD32(0x000000ff) 89695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARTCSR2_ACK_CTS_36MBS FIELD32(0x0000ff00) 89795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARTCSR2_ACK_CTS_48MBS FIELD32(0x00ff0000) 89895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define ARTCSR2_ACK_CTS_54MBS FIELD32(0xff000000) 89995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 90095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 90184263b0c94431e686552a322ae84678fddd22ebdIvo van Doorn * SECCSR1: WEP control register. 90295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * KICK_ENCRYPT: Kick encryption engine, self-clear. 90395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ONE_SHOT: 0: ring mode, 1: One shot only mode. 90495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DESC_ADDRESS: Descriptor physical address of frame. 90595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 90695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define SECCSR1 0x0158 90795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define SECCSR1_KICK_ENCRYPT FIELD32(0x00000001) 90895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define SECCSR1_ONE_SHOT FIELD32(0x00000002) 90995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define SECCSR1_DESC_ADDRESS FIELD32(0xfffffffc) 91095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 91195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 91295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BBPCSR1: BBP TX configuration. 91395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 91495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BBPCSR1 0x015c 91595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BBPCSR1_CCK FIELD32(0x00000003) 91695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BBPCSR1_CCK_FLIP FIELD32(0x00000004) 91795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BBPCSR1_OFDM FIELD32(0x00030000) 91895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BBPCSR1_OFDM_FLIP FIELD32(0x00040000) 91995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 92095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 92195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Dual band configuration registers. 92295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DBANDCSR0: Dual band configuration register 0. 92395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DBANDCSR1: Dual band configuration register 1. 92495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 92595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define DBANDCSR0 0x0160 92695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define DBANDCSR1 0x0164 92795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 92895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 92995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BBPPCSR: BBP Pin control register. 93095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 93195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BBPPCSR 0x0168 93295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 93395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 93495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * MAC special debug mode selection registers. 93595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DBGSEL0: MAC special debug mode selection register 0. 93695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DBGSEL1: MAC special debug mode selection register 1. 93795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 93895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define DBGSEL0 0x016c 93995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define DBGSEL1 0x0170 94095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 94195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 94295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BISTCSR: BBP BIST register. 94395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 94495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BISTCSR 0x0174 94595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 94695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 94795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Multicast filter registers. 94895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * MCAST0: Multicast filter register 0. 94995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * MCAST1: Multicast filter register 1. 95095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 95195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define MCAST0 0x0178 95295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define MCAST1 0x017c 95395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 95495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 95595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART registers. 95695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UARTCSR0: UART1 TX register. 95795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UARTCSR1: UART1 RX register. 95895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UARTCSR3: UART1 frame control register. 95995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UARTCSR4: UART1 buffer control register. 96095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART2CSR0: UART2 TX register. 96195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART2CSR1: UART2 RX register. 96295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART2CSR3: UART2 frame control register. 96395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * UART2CSR4: UART2 buffer control register. 96495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 96595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define UARTCSR0 0x0180 96695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define UARTCSR1 0x0184 96795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define UARTCSR3 0x0188 96895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define UARTCSR4 0x018c 96995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define UART2CSR0 0x0190 97095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define UART2CSR1 0x0194 97195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define UART2CSR3 0x0198 97295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define UART2CSR4 0x019c 97395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 97495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 97595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BBP registers. 97695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * The wordsize of the BBP is 8 bits. 97795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 97895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 97995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 98095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * R2: TX antenna control 98195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 98295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BBP_R2_TX_ANTENNA FIELD8(0x03) 98395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BBP_R2_TX_IQ_FLIP FIELD8(0x04) 98495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 98595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 98695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * R14: RX antenna control 98795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 98895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BBP_R14_RX_ANTENNA FIELD8(0x03) 98995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BBP_R14_RX_IQ_FLIP FIELD8(0x04) 99095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 99195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 99295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * BBP_R70 99395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 99495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define BBP_R70_JAPAN_FILTER FIELD8(0x08) 99595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 99695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 99795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RF registers 99895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 99995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 100095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 100195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RF 1 100295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 100395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RF1_TUNER FIELD32(0x00020000) 100495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 100595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 100695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RF 3 100795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 100895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RF3_TUNER FIELD32(0x00000100) 100995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RF3_TXPOWER FIELD32(0x00003e00) 101095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 101195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 101295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * EEPROM content. 101395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * The wordsize of the EEPROM is 16 bits. 101495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 101595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 101695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 101795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * HW MAC address. 101895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 101995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_MAC_ADDR_0 0x0002 102095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_MAC_ADDR_BYTE0 FIELD16(0x00ff) 102195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_MAC_ADDR_BYTE1 FIELD16(0xff00) 102295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_MAC_ADDR1 0x0003 102395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_MAC_ADDR_BYTE2 FIELD16(0x00ff) 102495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_MAC_ADDR_BYTE3 FIELD16(0xff00) 102595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_MAC_ADDR_2 0x0004 102695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_MAC_ADDR_BYTE4 FIELD16(0x00ff) 102795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_MAC_ADDR_BYTE5 FIELD16(0xff00) 102895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 102995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 103095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * EEPROM antenna. 103195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * ANTENNA_NUM: Number of antenna's. 103295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TX_DEFAULT: Default antenna 0: diversity, 1: A, 2: B. 103395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RX_DEFAULT: Default antenna 0: diversity, 1: A, 2: B. 103495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * LED_MODE: 0: default, 1: TX/RX activity,2: Single (ignore link), 3: rsvd. 103595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DYN_TXAGC: Dynamic TX AGC control. 103695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * HARDWARE_RADIO: 1: Hardware controlled radio. Read GPIO0. 103795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RF_TYPE: Rf_type of this adapter. 103895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 103995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_ANTENNA 0x10 104095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_ANTENNA_NUM FIELD16(0x0003) 104195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_ANTENNA_TX_DEFAULT FIELD16(0x000c) 104295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_ANTENNA_RX_DEFAULT FIELD16(0x0030) 104395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_ANTENNA_LED_MODE FIELD16(0x01c0) 104495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_ANTENNA_DYN_TXAGC FIELD16(0x0200) 104595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_ANTENNA_HARDWARE_RADIO FIELD16(0x0400) 104695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_ANTENNA_RF_TYPE FIELD16(0xf800) 104795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 104895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 104995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * EEPROM NIC config. 105095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CARDBUS_ACCEL: 0: enable, 1: disable. 105195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DYN_BBP_TUNE: 0: enable, 1: disable. 105295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * CCK_TX_POWER: CCK TX power compensation. 105395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 105495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_NIC 0x11 105595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_NIC_CARDBUS_ACCEL FIELD16(0x0001) 105695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_NIC_DYN_BBP_TUNE FIELD16(0x0002) 105795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_NIC_CCK_TX_POWER FIELD16(0x000c) 105895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 105995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 106095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * EEPROM geography. 106195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * GEO: Default geography setting for device. 106295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 106395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_GEOGRAPHY 0x12 106495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_GEOGRAPHY_GEO FIELD16(0x0f00) 106595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 106695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 106795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * EEPROM BBP. 106895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 106995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_BBP_START 0x13 107095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_BBP_SIZE 16 107195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_BBP_VALUE FIELD16(0x00ff) 107295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_BBP_REG_ID FIELD16(0xff00) 107395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 107495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 107595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * EEPROM TXPOWER 107695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 107795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_TXPOWER_START 0x23 107895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_TXPOWER_SIZE 7 107995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_TXPOWER_1 FIELD16(0x00ff) 108095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_TXPOWER_2 FIELD16(0xff00) 108195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 108295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 108395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RSSI <-> dBm offset calibration 108495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 108595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_CALIBRATE_OFFSET 0x3e 108695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define EEPROM_CALIBRATE_OFFSET_RSSI FIELD16(0x00ff) 108795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 108895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 108995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * DMA descriptor defines. 109095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 1091cb771b1a5de81e3ee59bd8b7ed17da6d09ffcf68Mark Einon#define TXD_DESC_SIZE (11 * sizeof(__le32)) 1092cb771b1a5de81e3ee59bd8b7ed17da6d09ffcf68Mark Einon#define RXD_DESC_SIZE (11 * sizeof(__le32)) 109395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 109495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 109595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * TX descriptor format for TX, PRIO, ATIM and Beacon Ring. 109695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 109795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 109895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 109995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Word0 110095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 110195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W0_OWNER_NIC FIELD32(0x00000001) 110295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W0_VALID FIELD32(0x00000002) 110395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W0_RESULT FIELD32(0x0000001c) 110495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W0_RETRY_COUNT FIELD32(0x000000e0) 110595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W0_MORE_FRAG FIELD32(0x00000100) 110695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W0_ACK FIELD32(0x00000200) 110795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W0_TIMESTAMP FIELD32(0x00000400) 110895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W0_OFDM FIELD32(0x00000800) 110995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W0_CIPHER_OWNER FIELD32(0x00001000) 111095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W0_IFS FIELD32(0x00006000) 111195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W0_RETRY_MODE FIELD32(0x00008000) 111295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W0_DATABYTE_COUNT FIELD32(0x0fff0000) 111395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W0_CIPHER_ALG FIELD32(0xe0000000) 111495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 111595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 111695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Word1 111795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 111895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W1_BUFFER_ADDRESS FIELD32(0xffffffff) 111995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 112095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 112195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Word2 112295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 112395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W2_IV_OFFSET FIELD32(0x0000003f) 112495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W2_AIFS FIELD32(0x000000c0) 112595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W2_CWMIN FIELD32(0x00000f00) 112695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W2_CWMAX FIELD32(0x0000f000) 112795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 112895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 112995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Word3: PLCP information 113095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 113195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W3_PLCP_SIGNAL FIELD32(0x000000ff) 113295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W3_PLCP_SERVICE FIELD32(0x0000ff00) 113395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W3_PLCP_LENGTH_LOW FIELD32(0x00ff0000) 113495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W3_PLCP_LENGTH_HIGH FIELD32(0xff000000) 113595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 113695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 113795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Word4 113895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 113995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W4_IV FIELD32(0xffffffff) 114095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 114195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 114295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Word5 114395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 114495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W5_EIV FIELD32(0xffffffff) 114595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 114695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 114795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Word6-9: Key 114895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 114995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W6_KEY FIELD32(0xffffffff) 115095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W7_KEY FIELD32(0xffffffff) 115195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W8_KEY FIELD32(0xffffffff) 115295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W9_KEY FIELD32(0xffffffff) 115395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 115495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 115595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Word10 115695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 115795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W10_RTS FIELD32(0x00000001) 115895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define TXD_W10_TX_RATE FIELD32(0x000000fe) 115995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 116095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 116195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * RX descriptor format for RX Ring. 116295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 116395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 116495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 116595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Word0 116695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 116795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W0_OWNER_NIC FIELD32(0x00000001) 116895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W0_UNICAST_TO_ME FIELD32(0x00000002) 116995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W0_MULTICAST FIELD32(0x00000004) 117095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W0_BROADCAST FIELD32(0x00000008) 117195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W0_MY_BSS FIELD32(0x00000010) 117295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W0_CRC_ERROR FIELD32(0x00000020) 117395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W0_OFDM FIELD32(0x00000040) 117495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W0_PHYSICAL_ERROR FIELD32(0x00000080) 117595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W0_CIPHER_OWNER FIELD32(0x00000100) 117695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W0_ICV_ERROR FIELD32(0x00000200) 117795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W0_IV_OFFSET FIELD32(0x0000fc00) 117895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W0_DATABYTE_COUNT FIELD32(0x0fff0000) 117995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W0_CIPHER_ALG FIELD32(0xe0000000) 118095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 118195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 118295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Word1 118395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 118495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W1_BUFFER_ADDRESS FIELD32(0xffffffff) 118595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 118695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 118795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Word2 118895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 118995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W2_SIGNAL FIELD32(0x000000ff) 119095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W2_RSSI FIELD32(0x0000ff00) 119195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W2_TA FIELD32(0xffff0000) 119295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 119395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 119495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Word3 119595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 119695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W3_TA FIELD32(0xffffffff) 119795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 119895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 119995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Word4 120095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 120195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W4_IV FIELD32(0xffffffff) 120295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 120395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 120495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Word5 120595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 120695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W5_EIV FIELD32(0xffffffff) 120795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 120895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 120995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Word6-9: Key 121095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 121195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W6_KEY FIELD32(0xffffffff) 121295ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W7_KEY FIELD32(0xffffffff) 121395ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W8_KEY FIELD32(0xffffffff) 121495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W9_KEY FIELD32(0xffffffff) 121595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 121695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 121795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn * Word10 121895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 121995ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define RXD_W10_DROP FIELD32(0x00000001) 122095ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 122195ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn/* 12224951348109c334f2b839816bd161522d089cb782Luis Correia * Macros for converting txpower from EEPROM to mac80211 value 1223de99ff82cdc2e5b596d01000eed9e0d05566f2d7Ivo van Doorn * and from mac80211 value to register value. 122495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn */ 122595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define MIN_TXPOWER 0 122695ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define MAX_TXPOWER 31 122795ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#define DEFAULT_TXPOWER 24 122895ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 12298c5e7a5f59f9d11597bd47de28334da318ea0e80Ivo van Doorn#define TXPOWER_FROM_DEV(__txpower) \ 12308c5e7a5f59f9d11597bd47de28334da318ea0e80Ivo van Doorn (((u8)(__txpower)) > MAX_TXPOWER) ? DEFAULT_TXPOWER : (__txpower) 12318c5e7a5f59f9d11597bd47de28334da318ea0e80Ivo van Doorn 12328c5e7a5f59f9d11597bd47de28334da318ea0e80Ivo van Doorn#define TXPOWER_TO_DEV(__txpower) \ 12338c5e7a5f59f9d11597bd47de28334da318ea0e80Ivo van Doorn clamp_t(char, __txpower, MIN_TXPOWER, MAX_TXPOWER) 123495ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn 123595ea36275f3c9a1d3d04c217b4b576c657c4e70eIvo van Doorn#endif /* RT2500PCI_H */ 1236