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

📄 rt2500pci.h

📁 硬实时linux补丁rtai下的网络协议栈 最新
💻 H
📖 第 1 页 / 共 4 页
字号:
/* rt2500pci.h * * Copyright (C) 2004 - 2005 rt2x00-2.0.0-b3 SourceForge Project *	                     <http://rt2x00.serialmonkey.com> *               2006        rtnet adaption by Daniel Gregorek  *                           <dxg@gmx.de> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the * Free Software Foundation, Inc., * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *//* *	Module: rt2500pci * Abstract: Data structures and registers for the rt2500pci module. * Supported chipsets: RT2560. */#ifndef RT2500PCI_H#define RT2500PCI_H/* * RT chip defines */#define RT2560				0x0201/* * RF chip defines */#define RF2522				0x0200#define RF2523				0x0201#define RF2524				0x0202#define RF2525				0x0203#define RF2525E				0x0204#define RF5222				0x0210/* * Control/Status Registers(CSR). */#define CSR0				0x0000		/* ASIC revision number. */#define CSR1				0x0004		/* System control register. */#define CSR2				0x0008		/* System admin status register (invalid). */#define CSR3				0x000c		/* STA MAC address register 0. */#define CSR4				0x0010		/* STA MAC address register 1. */#define CSR5				0x0014		/* BSSID register 0. */#define CSR6				0x0018		/* BSSID register 1. */#define CSR7				0x001c		/* Interrupt source register. */#define CSR8				0x0020		/* Interrupt mask register. */#define CSR9				0x0024		/* Maximum frame length register. */#define SECCSR0				0x0028		/* WEP control register. */#define CSR11				0x002c		/* Back-off control register. */#define CSR12				0x0030		/* Synchronization configuration register 0. */#define CSR13				0x0034		/* Synchronization configuration register 1. */#define CSR14				0x0038		/* Synchronization control register. */#define CSR15				0x003c		/* Synchronization status register. */#define CSR16				0x0040		/* TSF timer register 0. */#define CSR17				0x0044		/* TSF timer register 1. */#define CSR18				0x0048		/* IFS timer register 0. */#define CSR19				0x004c		/* IFS timer register 1. */#define CSR20				0x0050		/* WakeUp register. */#define CSR21				0x0054		/* EEPROM control register. */#define CSR22				0x0058		/* CFP Control Register. *//* * Transmit related CSRs. */#define TXCSR0				0x0060		/* TX control register. */#define TXCSR1				0x0064		/* TX configuration register. */#define TXCSR2				0x0068		/* TX descriptor configuratioon register. */#define TXCSR3				0x006c		/* TX Ring Base address register. */#define TXCSR4				0x0070		/* TX Atim Ring Base address register. */#define TXCSR5				0x0074		/* TX Prio Ring Base address register. */#define TXCSR6				0x0078		/* Beacon base address. */#define TXCSR7				0x007c		/* AutoResponder Control Register. */#define TXCSR8				0x0098		/* CCK TX BBP registers. */#define TXCSR9				0x0094		/* OFDM TX BBP registers. *//* * Receive related CSRs. */#define RXCSR0				0x0080		/* RX control register. */#define RXCSR1				0x0084		/* RX descriptor configuration register. */#define RXCSR2				0x0088		/* RX Ring base address register. */#define RXCSR3				0x0090		/* BBP ID register 0 */#define ARCSR1				0x009c		/* Auto Responder PLCP config register 1. *//* * PCI control CSRs. */#define PCICSR				0x008c		/* PCI control register. *//* * Statistic Register. */#define CNT0				0x00a0		/* FCS error count. */#define TIMECSR2			0x00a8#define CNT1				0x00ac		/* PLCP error count. */#define CNT2				0x00b0		/* long error count. */#define TIMECSR3			0x00b4#define CNT3				0x00b8		/* CCA false alarm count. */#define CNT4				0x00bc		/* Rx FIFO overflow count. */#define CNT5				0x00c0		/* Tx FIFO underrun count. *//* * Baseband Control Register. */#define PWRCSR0				0x00c4		/* Power mode configuration. */#define PSCSR0				0x00c8		/* Power state transition time. */#define PSCSR1				0x00cc		/* Power state transition time. */#define PSCSR2				0x00d0		/* Power state transition time. */#define PSCSR3				0x00d4		/* Power state transition time. */#define PWRCSR1				0x00d8		/* Manual power control / status. */#define TIMECSR				0x00dc		/* Timer control. */#define MACCSR0				0x00e0		/* MAC configuration. */#define MACCSR1				0x00e4		/* MAC configuration. */#define RALINKCSR			0x00e8		/* Ralink Auto-reset register. */#define BCNCSR				0x00ec		/* Beacon interval control register. *//* * BBP / RF / IF Control Register. */#define BBPCSR				0x00f0		/* BBP serial control. */#define RFCSR				0x00f4		/* RF serial control. */#define LEDCSR				0x00f8		/* LED control register */#define SECCSR3				0x00fc		/* AES control register. *//* * ASIC pointer information. */#define RXPTR				0x0100		/* Current RX ring address. */#define TXPTR				0x0104		/* Current Tx ring address. */#define PRIPTR				0x0108		/* Current Priority ring address. */#define ATIMPTR				0x010c		/* Current ATIM ring address. */#define TXACKCSR0			0x0110		/* TX ACK timeout. */#define ACKCNT0				0x0114		/* TX ACK timeout count. */#define ACKCNT1				0x0118		/* RX ACK timeout count. *//* * GPIO and others. */#define GPIOCSR				0x0120		/* GPIO. */#define FIFOCSR0			0x0128		/* TX FIFO pointer. */#define FIFOCSR1			0x012c		/* RX FIFO pointer. */#define BCNCSR1				0x0130		/* Tx BEACON offset time, unit: 1 usec. */#define MACCSR2				0x0134		/* TX_PE to RX_PE delay time, unit: 1 PCI clock cycle. */#define TESTCSR				0x0138		/* TEST mode selection register. */#define ARCSR2				0x013c		/* 1 Mbps ACK/CTS PLCP. */#define ARCSR3				0x0140		/* 2 Mbps ACK/CTS PLCP. */#define ARCSR4				0x0144		/* 5.5 Mbps ACK/CTS PLCP. */#define ARCSR5				0x0148		/* 11 Mbps ACK/CTS PLCP. */#define ARTCSR0				0x014c		/* ACK/CTS payload consumed time for 1/2/5.5/11 mbps. */#define ARTCSR1				0x0150		/* OFDM ACK/CTS payload consumed time for 6/9/12/18 mbps. */#define ARTCSR2				0x0154		/* OFDM ACK/CTS payload consumed time for 24/36/48/54 mbps. */#define SECCSR1				0x0158		/* WEP control register. */#define BBPCSR1				0x015c		/* BBP TX configuration. */#define DBANDCSR0			0x0160		/* Dual band configuration register 0. */#define DBANDCSR1			0x0164		/* Dual band configuration register 1. */#define BBPPCSR				0x0168		/* BBP Pin control register. */#define DBGSEL0				0x016c		/* MAC special debug mode selection register 0. */#define DBGSEL1				0x0170		/* MAC special debug mode selection register 1. */#define BISTCSR				0x0174		/* BBP BIST register. */#define MCAST0				0x0178		/* multicast filter register 0. */#define MCAST1				0x017c		/* multicast filter register 1. */#define UARTCSR0			0x0180		/* UART1 TX register. */#define UARTCSR1			0x0184		/* UART1 RX register. */#define UARTCSR3			0x0188		/* UART1 frame control register. */#define UARTCSR4			0x018c		/* UART1 buffer control register. */#define UART2CSR0			0x0190		/* UART2 TX register. */#define UART2CSR1			0x0194		/* UART2 RX register. */#define UART2CSR3			0x0198		/* UART2 frame control register. */#define UART2CSR4			0x019c		/* UART2 buffer control register. *//* * EEPROM addresses */#define EEPROM_ANTENNA			0x10#define EEPROM_GEOGRAPHY		0x12#define EEPROM_BBP_START		0x13#define EEPROM_BBP_END			0x22#define EEPROM_BBP_SIZE			16/* * CSR Registers. * Some values are set in TU, whereas 1 TU == 1024 us. *//* * CSR1: System control register. */#define CSR1_SOFT_RESET			FIELD32(0, 0x00000001)		/* Software reset, 1: reset, 0: normal. */#define CSR1_BBP_RESET			FIELD32(1, 0x00000002)		/* Hardware reset, 1: reset, 0, release. */#define CSR1_HOST_READY			FIELD32(2, 0x00000004)		/* Host ready after initialization. *//* * CSR3: STA MAC address register 0. */#define CSR3_BYTE0			FIELD32(0, 0x000000ff)		/* MAC address byte 0. */#define CSR3_BYTE1			FIELD32(8, 0x0000ff00)		/* MAC address byte 1. */#define CSR3_BYTE2			FIELD32(16, 0x00ff0000)		/* MAC address byte 2. */#define CSR3_BYTE3			FIELD32(24, 0xff000000)		/* MAC address byte 3. *//* * CSR4: STA MAC address register 1. */#define CSR4_BYTE4			FIELD32(0, 0x000000ff)		/* MAC address byte 4. */#define CSR4_BYTE5			FIELD32(8, 0x0000ff00)		/* MAC address byte 5. *//* * CSR5: BSSID register 0. */#define CSR5_BYTE0			FIELD32(0, 0x000000ff)		/* BSSID address byte 0. */#define CSR5_BYTE1			FIELD32(8, 0x0000ff00)		/* BSSID address byte 1. */#define CSR5_BYTE2			FIELD32(16, 0x00ff0000)		/* BSSID address byte 2. */#define CSR5_BYTE3			FIELD32(24, 0xff000000)		/* BSSID address byte 3. *//* * CSR6: BSSID register 1. */#define CSR6_BYTE4			FIELD32(0, 0x000000ff)		/* BSSID address byte 4. */#define CSR6_BYTE5			FIELD32(8, 0x0000ff00)		/* BSSID address byte 5. *//* * CSR7: Interrupt source register. * Write 1 to clear. */#define CSR7_TBCN_EXPIRE		FIELD32(0, 0x00000001)		/* beacon timer expired interrupt. */#define CSR7_TWAKE_EXPIRE		FIELD32(1, 0x00000002)		/* wakeup timer expired interrupt. */#define CSR7_TATIMW_EXPIRE		FIELD32(2, 0x00000004)		/* timer of atim window expired interrupt. */#define CSR7_TXDONE_TXRING		FIELD32(3, 0x00000008)		/* tx ring transmit done interrupt. */#define CSR7_TXDONE_ATIMRING		FIELD32(4, 0x00000010)		/* atim ring transmit done interrupt. */#define CSR7_TXDONE_PRIORING		FIELD32(5, 0x00000020)		/* priority ring transmit done interrupt. */#define CSR7_RXDONE			FIELD32(6, 0x00000040)		/* receive done interrupt. */#define CSR7_DECRYPTION_DONE		FIELD32(7, 0x00000080)		/* Decryption done interrupt. */#define CSR7_ENCRYPTION_DONE		FIELD32(8, 0x00000100)		/* Encryption done interrupt. */#define CSR7_UART1_TX_TRESHOLD		FIELD32(9, 0x00000200)		/* UART1 TX reaches threshold. */#define CSR7_UART1_RX_TRESHOLD		FIELD32(10, 0x00000400)		/* UART1 RX reaches threshold. */#define CSR7_UART1_IDLE_TRESHOLD	FIELD32(11, 0x00000800)		/* UART1 IDLE over threshold. */#define CSR7_UART1_TX_BUFF_ERROR	FIELD32(12, 0x00001000)		/* UART1 TX buffer error. */#define CSR7_UART1_RX_BUFF_ERROR	FIELD32(13, 0x00002000)		/* UART1 RX buffer error. */#define CSR7_UART2_TX_TRESHOLD		FIELD32(14, 0x00004000)		/* UART2 TX reaches threshold. */#define CSR7_UART2_RX_TRESHOLD		FIELD32(15, 0x00008000)		/* UART2 RX reaches threshold. */#define CSR7_UART2_IDLE_TRESHOLD	FIELD32(16, 0x00010000)		/* UART2 IDLE over threshold. */#define CSR7_UART2_TX_BUFF_ERROR	FIELD32(17, 0x00020000)		/* UART2 TX buffer error. */#define CSR7_UART2_RX_BUFF_ERROR	FIELD32(18, 0x00040000)		/* UART2 RX buffer error. */#define CSR7_TIMER_CSR3_EXPIRE		FIELD32(19, 0x00080000)		/* TIMECSR3 timer expired (802.1H quiet period). *//* * CSR8: Interrupt mask register. * Write 1 to mask interrupt. */#define CSR8_TBCN_EXPIRE		FIELD32(0, 0x00000001)		/* beacon timer expired interrupt. */#define CSR8_TWAKE_EXPIRE		FIELD32(1, 0x00000002)		/* wakeup timer expired interrupt. */#define CSR8_TATIMW_EXPIRE		FIELD32(2, 0x00000004)		/* timer of atim window expired interrupt. */#define CSR8_TXDONE_TXRING		FIELD32(3, 0x00000008)		/* tx ring transmit done interrupt. */#define CSR8_TXDONE_ATIMRING		FIELD32(4, 0x00000010)		/* atim ring transmit done interrupt. */#define CSR8_TXDONE_PRIORING		FIELD32(5, 0x00000020)		/* priority ring transmit done interrupt. */#define CSR8_RXDONE			FIELD32(6, 0x00000040)		/* receive done interrupt. */#define CSR8_DECRYPTION_DONE		FIELD32(7, 0x00000080)		/* Decryption done interrupt. */#define CSR8_ENCRYPTION_DONE		FIELD32(8, 0x00000100)		/* Encryption done interrupt. */#define CSR8_UART1_TX_TRESHOLD		FIELD32(9, 0x00000200)		/* UART1 TX reaches threshold. */#define CSR8_UART1_RX_TRESHOLD		FIELD32(10, 0x00000400)		/* UART1 RX reaches threshold. */#define CSR8_UART1_IDLE_TRESHOLD	FIELD32(11, 0x00000800)		/* UART1 IDLE over threshold. */#define CSR8_UART1_TX_BUFF_ERROR	FIELD32(12, 0x00001000)		/* UART1 TX buffer error. */#define CSR8_UART1_RX_BUFF_ERROR	FIELD32(13, 0x00002000)		/* UART1 RX buffer error. */#define CSR8_UART2_TX_TRESHOLD		FIELD32(14, 0x00004000)		/* UART2 TX reaches threshold. */#define CSR8_UART2_RX_TRESHOLD		FIELD32(15, 0x00008000)		/* UART2 RX reaches threshold. */#define CSR8_UART2_IDLE_TRESHOLD	FIELD32(16, 0x00010000)		/* UART2 IDLE over threshold. */#define CSR8_UART2_TX_BUFF_ERROR	FIELD32(17, 0x00020000)		/* UART2 TX buffer error. */#define CSR8_UART2_RX_BUFF_ERROR	FIELD32(18, 0x00040000)		/* UART2 RX buffer error. */#define CSR8_TIMER_CSR3_EXPIRE		FIELD32(19, 0x00080000)		/* TIMECSR3 timer expired (802.1H quiet period). *//* * CSR9: Maximum frame length register. */#define CSR9_MAX_FRAME_UNIT		FIELD32(7, 0x00000f80)		/* maximum frame length in 128b unit, default: 12. *//* * SECCSR0: WEP control register. */#define SECCSR0_KICK_DECRYPT		FIELD32(0, 0x00000001)		/* Kick decryption engine, self-clear. */#define SECCSR0_ONE_SHOT		FIELD32(1, 0x00000002)		/* 0: ring mode, 1: One shot only mode. */#define SECCSR0_DESC_ADDRESS		FIELD32(2, 0xfffffffc)		/* Descriptor physical address of frame. *//* * CSR11: Back-off control register. */#define CSR11_CWMIN			FIELD32(0, 0x0000000f)		/* CWmin. Default cwmin is 31 (2^5 - 1). */#define CSR11_CWMAX			FIELD32(4, 0x000000f0)		/* CWmax. Default cwmax is 1023 (2^10 - 1). */#define CSR11_SLOT_TIME			FIELD32(8, 0x00001f00)		/* slot time, default is 20us for 802.11b */#define CSR11_CW_SELECT			FIELD32(13, 0x00002000)		/* CWmin/CWmax selection, 1: Register, 0: TXD. */#define CSR11_LONG_RETRY		FIELD32(16, 0x00ff0000)		/* long retry count. */#define CSR11_SHORT_RETRY		FIELD32(24, 0xff000000)		/* short retry count. *//* * CSR12: Synchronization configuration register 0. * All units in 1/16 TU. */#define CSR12_BEACON_INTERVAL		FIELD32(0, 0x0000ffff)		/* beacon interval, default is 100 TU. */#define CSR12_CFPMAX_DURATION		FIELD32(16, 0xffff0000)		/* cfp maximum duration, default is 100 TU. *//* * CSR13: Synchronization configuration register 1. * All units in 1/16 TU. */#define CSR13_ATIMW_DURATION		FIELD32(0, 0x0000ffff)		/* atim window duration. */#define CSR13_CFP_PERIOD		FIELD32(16, 0x00ff0000)		/* cfp period, default is 0 TU. *//* * CSR14: Synchronization control register. */#define CSR14_TSF_COUNT			FIELD32(0, 0x00000001)		/* enable tsf auto counting. */#define CSR14_TSF_SYNC			FIELD32(1, 0x00000006)		/* tsf sync, 0: disable, 1: infra, 2: ad-hoc mode. */#define CSR14_TBCN			FIELD32(3, 0x00000008)		/* enable tbcn with reload value. */#define CSR14_TCFP			FIELD32(4, 0x00000010)		/* enable tcfp & cfp / cp switching. */#define CSR14_TATIMW			FIELD32(5, 0x00000020)		/* enable tatimw & atim window switching. */#define CSR14_BEACON_GEN		FIELD32(6, 0x00000040)		/* enable beacon generator. */#define CSR14_CFP_COUNT_PRELOAD		FIELD32(8, 0x0000ff00)		/* cfp count preload value. */#define CSR14_TBCM_PRELOAD		FIELD32(16, 0xffff0000)		/* tbcn preload value in units of 64us. *//*

⌨️ 快捷键说明

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