Merge branch 'for-usb-linus' of git+ssh://master.kernel.org/pub/scm/linux/kernel...
[zen-stable.git] / drivers / staging / rtl8192e / r8192E_hw.h
blob24e7303e56a465c61702a5b9378fce1dbccd0c72
1 /*
2 This is part of rtl8187 OpenSource driver.
3 Copyright (C) Andrea Merello 2004-2005 <andreamrl@tiscali.it>
4 Released under the terms of GPL (General Public Licence)
6 Parts of this driver are based on the GPL part of the
7 official Realtek driver.
8 Parts of this driver are based on the rtl8180 driver skeleton
9 from Patric Schenke & Andres Salomon.
10 Parts of this driver are based on the Intel Pro Wireless
11 2100 GPL driver.
13 We want to tanks the Authors of those projects
14 and the Ndiswrapper project Authors.
17 /* Mariusz Matuszek added full registers definition with Realtek's name */
19 /* this file contains register definitions for the rtl8187 MAC controller */
20 #ifndef R8180_HW
21 #define R8180_HW
23 typedef enum _VERSION_8190{
24 VERSION_8190_BD=0x3,
25 VERSION_8190_BE
26 }VERSION_8190,*PVERSION_8190;
27 //added for different RF type
28 typedef enum _RT_RF_TYPE_DEF
30 RF_1T2R = 0,
31 RF_2T4R,
33 RF_819X_MAX_TYPE
34 }RT_RF_TYPE_DEF;
36 typedef enum _BaseBand_Config_Type{
37 BaseBand_Config_PHY_REG = 0, //Radio Path A
38 BaseBand_Config_AGC_TAB = 1, //Radio Path B
39 }BaseBand_Config_Type, *PBaseBand_Config_Type;
41 #define RTL8187_REQT_READ 0xc0
42 #define RTL8187_REQT_WRITE 0x40
43 #define RTL8187_REQ_GET_REGS 0x05
44 #define RTL8187_REQ_SET_REGS 0x05
46 #define R8180_MAX_RETRY 255
47 #define MAX_TX_URB 5
48 #define MAX_RX_URB 16
49 #define RX_URB_SIZE 9100
51 #define BB_ANTATTEN_CHAN14 0x0c
52 #define BB_ANTENNA_B 0x40
54 #define BB_HOST_BANG (1<<30)
55 #define BB_HOST_BANG_EN (1<<2)
56 #define BB_HOST_BANG_CLK (1<<1)
57 #define BB_HOST_BANG_RW (1<<3)
58 #define BB_HOST_BANG_DATA 1
60 #define RTL8190_EEPROM_ID 0x8129
61 #define EEPROM_VID 0x02
62 #define EEPROM_DID 0x04
63 #define EEPROM_NODE_ADDRESS_BYTE_0 0x0C
65 #define EEPROM_TxPowerDiff 0x1F
68 #define EEPROM_PwDiff 0x21 //0x21
69 #define EEPROM_CrystalCap 0x22 //0x22
73 #define EEPROM_TxPwIndex_CCK_V1 0x29 //0x29~0x2B
74 #define EEPROM_TxPwIndex_OFDM_24G_V1 0x2C //0x2C~0x2E
75 #define EEPROM_TxPwIndex_Ver 0x27 //0x27
77 #define EEPROM_Default_TxPowerDiff 0x0
78 #define EEPROM_Default_ThermalMeter 0x77
79 #define EEPROM_Default_AntTxPowerDiff 0x0
80 #define EEPROM_Default_TxPwDiff_CrystalCap 0x5
81 #define EEPROM_Default_PwDiff 0x4
82 #define EEPROM_Default_CrystalCap 0x5
83 #define EEPROM_Default_TxPower 0x1010
84 #define EEPROM_ICVersion_ChannelPlan 0x7C //0x7C:ChannelPlan, 0x7D:IC_Version
85 #define EEPROM_Customer_ID 0x7B //0x7B:CustomerID
87 #define EEPROM_RFInd_PowerDiff 0x28
88 #define EEPROM_ThermalMeter 0x29
89 #define EEPROM_TxPwDiff_CrystalCap 0x2A //0x2A~0x2B
90 #define EEPROM_TxPwIndex_CCK 0x2C //0x23
91 #define EEPROM_TxPwIndex_OFDM_24G 0x3A //0x24~0x26
93 #define EEPROM_Default_TxPowerLevel 0x10
95 #define EEPROM_IC_VER 0x7d //0x7D
96 #define EEPROM_CRC 0x7e //0x7E~0x7F
98 #define EEPROM_CID_DEFAULT 0x0
99 #define EEPROM_CID_CAMEO 0x1
100 #define EEPROM_CID_RUNTOP 0x2
101 #define EEPROM_CID_Senao 0x3
102 #define EEPROM_CID_TOSHIBA 0x4 // Toshiba setting, Merge by Jacken, 2008/01/31
103 #define EEPROM_CID_NetCore 0x5
104 #define EEPROM_CID_Nettronix 0x6
105 #define EEPROM_CID_Pronet 0x7
106 #define EEPROM_CID_DLINK 0x8
107 #define EEPROM_CID_WHQL 0xFE //added by sherry for dtm, 20080728
109 enum _RTL8192Pci_HW {
110 MAC0 = 0x000,
111 MAC1 = 0x001,
112 MAC2 = 0x002,
113 MAC3 = 0x003,
114 MAC4 = 0x004,
115 MAC5 = 0x005,
116 PCIF = 0x009, // PCI Function Register 0x0009h~0x000bh
117 //----------------------------------------------------------------------------
118 // 8190 PCIF bits (Offset 0x009-000b, 24bit)
119 //----------------------------------------------------------------------------
120 #define MXDMA2_16bytes 0x000
121 #define MXDMA2_32bytes 0x001
122 #define MXDMA2_64bytes 0x010
123 #define MXDMA2_128bytes 0x011
124 #define MXDMA2_256bytes 0x100
125 #define MXDMA2_512bytes 0x101
126 #define MXDMA2_1024bytes 0x110
127 #define MXDMA2_NoLimit 0x7
129 #define MULRW_SHIFT 3
130 #define MXDMA2_RX_SHIFT 4
131 #define MXDMA2_TX_SHIFT 0
132 PMR = 0x00c, // Power management register
133 EPROM_CMD = 0x00e,
134 #define EPROM_CMD_RESERVED_MASK BIT5
135 #define EPROM_CMD_9356SEL BIT4
136 #define EPROM_CMD_OPERATING_MODE_SHIFT 6
137 #define EPROM_CMD_OPERATING_MODE_MASK ((1<<7)|(1<<6))
138 #define EPROM_CMD_CONFIG 0x3
139 #define EPROM_CMD_NORMAL 0
140 #define EPROM_CMD_LOAD 1
141 #define EPROM_CMD_PROGRAM 2
142 #define EPROM_CS_SHIFT 3
143 #define EPROM_CK_SHIFT 2
144 #define EPROM_W_SHIFT 1
145 #define EPROM_R_SHIFT 0
147 AFR = 0x010,
148 #define AFR_CardBEn (1<<0)
149 #define AFR_CLKRUN_SEL (1<<1)
150 #define AFR_FuncRegEn (1<<2)
152 ANAPAR = 0x17,
153 #define BB_GLOBAL_RESET_BIT 0x1
154 BB_GLOBAL_RESET = 0x020, // BasebandGlobal Reset Register
155 BSSIDR = 0x02E, // BSSID Register
156 CMDR = 0x037, // Command register
157 #define CR_RST 0x10
158 #define CR_RE 0x08
159 #define CR_TE 0x04
160 #define CR_MulRW 0x01
161 SIFS = 0x03E, // SIFS register
162 TCR = 0x040, // Transmit Configuration Register
163 RCR = 0x044, // Receive Configuration Register
164 //----------------------------------------------------------------------------
165 //// 8190 (RCR) Receive Configuration Register (Offset 0x44~47, 32 bit)
166 ////----------------------------------------------------------------------------
167 #define RCR_FILTER_MASK (BIT0|BIT1|BIT2|BIT3|BIT5|BIT12|BIT18|BIT19|BIT20|BIT21|BIT22|BIT23)
168 #define RCR_ONLYERLPKT BIT31 // Early Receiving based on Packet Size.
169 #define RCR_ENCS2 BIT30 // Enable Carrier Sense Detection Method 2
170 #define RCR_ENCS1 BIT29 // Enable Carrier Sense Detection Method 1
171 #define RCR_ENMBID BIT27 // Enable Multiple BssId.
172 #define RCR_ACKTXBW (BIT24|BIT25) // TXBW Setting of ACK frames
173 #define RCR_CBSSID BIT23 // Accept BSSID match packet
174 #define RCR_APWRMGT BIT22 // Accept power management packet
175 #define RCR_ADD3 BIT21 // Accept address 3 match packet
176 #define RCR_AMF BIT20 // Accept management type frame
177 #define RCR_ACF BIT19 // Accept control type frame
178 #define RCR_ADF BIT18 // Accept data type frame
179 #define RCR_RXFTH BIT13 // Rx FIFO Threshold
180 #define RCR_AICV BIT12 // Accept ICV error packet
181 #define RCR_ACRC32 BIT5 // Accept CRC32 error packet
182 #define RCR_AB BIT3 // Accept broadcast packet
183 #define RCR_AM BIT2 // Accept multicast packet
184 #define RCR_APM BIT1 // Accept physical match packet
185 #define RCR_AAP BIT0 // Accept all unicast packet
186 #define RCR_MXDMA_OFFSET 8
187 #define RCR_FIFO_OFFSET 13
188 SLOT_TIME = 0x049, // Slot Time Register
189 ACK_TIMEOUT = 0x04c, // Ack Timeout Register
190 PIFS_TIME = 0x04d, // PIFS time
191 USTIME = 0x04e, // Microsecond Tuning Register, Sets the microsecond time unit used by MAC clock.
192 EDCAPARA_BE = 0x050, // EDCA Parameter of AC BE
193 EDCAPARA_BK = 0x054, // EDCA Parameter of AC BK
194 EDCAPARA_VO = 0x058, // EDCA Parameter of AC VO
195 EDCAPARA_VI = 0x05C, // EDCA Parameter of AC VI
196 #define AC_PARAM_TXOP_LIMIT_OFFSET 16
197 #define AC_PARAM_ECW_MAX_OFFSET 12
198 #define AC_PARAM_ECW_MIN_OFFSET 8
199 #define AC_PARAM_AIFS_OFFSET 0
200 RFPC = 0x05F, // Rx FIFO Packet Count
201 CWRR = 0x060, // Contention Window Report Register
202 BCN_TCFG = 0x062, // Beacon Time Configuration
203 #define BCN_TCFG_CW_SHIFT 8
204 #define BCN_TCFG_IFS 0
205 BCN_INTERVAL = 0x070, // Beacon Interval (TU)
206 ATIMWND = 0x072, // ATIM Window Size (TU)
207 BCN_DRV_EARLY_INT = 0x074, // Driver Early Interrupt Time (TU). Time to send interrupt to notify to change beacon content before TBTT
208 #define BCN_DRV_EARLY_INT_SWBCN_SHIFT 8
209 #define BCN_DRV_EARLY_INT_TIME_SHIFT 0
210 BCN_DMATIME = 0x076, // Beacon DMA and ATIM interrupt time (US). Indicates the time before TBTT to perform beacon queue DMA
211 BCN_ERR_THRESH = 0x078, // Beacon Error Threshold
212 RWCAM = 0x0A0, //IN 8190 Data Sheet is called CAMcmd
213 //----------------------------------------------------------------------------
214 //// 8190 CAM Command Register (offset 0xA0, 4 byte)
215 ////----------------------------------------------------------------------------
216 #define CAM_CM_SecCAMPolling BIT31 //Security CAM Polling
217 #define CAM_CM_SecCAMClr BIT30 //Clear all bits in CAM
218 #define CAM_CM_SecCAMWE BIT16 //Security CAM enable
219 #define CAM_VALID BIT15
220 #define CAM_NOTVALID 0x0000
221 #define CAM_USEDK BIT5
223 #define CAM_NONE 0x0
224 #define CAM_WEP40 0x01
225 #define CAM_TKIP 0x02
226 #define CAM_AES 0x04
227 #define CAM_WEP104 0x05
229 #define TOTAL_CAM_ENTRY 32
231 #define CAM_CONFIG_USEDK true
232 #define CAM_CONFIG_NO_USEDK false
233 #define CAM_WRITE BIT16
234 #define CAM_READ 0x00000000
235 #define CAM_POLLINIG BIT31
236 #define SCR_UseDK 0x01
237 WCAMI = 0x0A4, // Software write CAM input content
238 RCAMO = 0x0A8, // Software read/write CAM config
239 SECR = 0x0B0, //Security Configuration Register
240 #define SCR_TxUseDK BIT0 //Force Tx Use Default Key
241 #define SCR_RxUseDK BIT1 //Force Rx Use Default Key
242 #define SCR_TxEncEnable BIT2 //Enable Tx Encryption
243 #define SCR_RxDecEnable BIT3 //Enable Rx Decryption
244 #define SCR_SKByA2 BIT4 //Search kEY BY A2
245 #define SCR_NoSKMC BIT5 //No Key Search for Multicast
246 SWREGULATOR = 0x0BD, // Switching Regulator
247 INTA_MASK = 0x0f4,
248 //----------------------------------------------------------------------------
249 // 8190 IMR/ISR bits (offset 0xfd, 8bits)
250 //----------------------------------------------------------------------------
251 #define IMR8190_DISABLED 0x0
252 #define IMR_ATIMEND BIT28 // ATIM Window End Interrupt
253 #define IMR_TBDOK BIT27 // Transmit Beacon OK Interrupt
254 #define IMR_TBDER BIT26 // Transmit Beacon Error Interrupt
255 #define IMR_TXFOVW BIT15 // Transmit FIFO Overflow
256 #define IMR_TIMEOUT0 BIT14 // TimeOut0
257 #define IMR_BcnInt BIT13 // Beacon DMA Interrupt 0
258 #define IMR_RXFOVW BIT12 // Receive FIFO Overflow
259 #define IMR_RDU BIT11 // Receive Descriptor Unavailable
260 #define IMR_RXCMDOK BIT10 // Receive Command Packet OK
261 #define IMR_BDOK BIT9 // Beacon Queue DMA OK Interrup
262 #define IMR_HIGHDOK BIT8 // High Queue DMA OK Interrupt
263 #define IMR_COMDOK BIT7 // Command Queue DMA OK Interrupt
264 #define IMR_MGNTDOK BIT6 // Management Queue DMA OK Interrupt
265 #define IMR_HCCADOK BIT5 // HCCA Queue DMA OK Interrupt
266 #define IMR_BKDOK BIT4 // AC_BK DMA OK Interrupt
267 #define IMR_BEDOK BIT3 // AC_BE DMA OK Interrupt
268 #define IMR_VIDOK BIT2 // AC_VI DMA OK Interrupt
269 #define IMR_VODOK BIT1 // AC_VO DMA Interrupt
270 #define IMR_ROK BIT0 // Receive DMA OK Interrupt
271 ISR = 0x0f8, // Interrupt Status Register
272 TPPoll = 0x0fd, // Transmit priority polling register
273 #define TPPoll_BKQ BIT0 // BK queue polling
274 #define TPPoll_BEQ BIT1 // BE queue polling
275 #define TPPoll_VIQ BIT2 // VI queue polling
276 #define TPPoll_VOQ BIT3 // VO queue polling
277 #define TPPoll_BQ BIT4 // Beacon queue polling
278 #define TPPoll_CQ BIT5 // Command queue polling
279 #define TPPoll_MQ BIT6 // Management queue polling
280 #define TPPoll_HQ BIT7 // High queue polling
281 #define TPPoll_HCCAQ BIT8 // HCCA queue polling
282 #define TPPoll_StopBK BIT9 // Stop BK queue
283 #define TPPoll_StopBE BIT10 // Stop BE queue
284 #define TPPoll_StopVI BIT11 // Stop VI queue
285 #define TPPoll_StopVO BIT12 // Stop VO queue
286 #define TPPoll_StopMgt BIT13 // Stop Mgnt queue
287 #define TPPoll_StopHigh BIT14 // Stop High queue
288 #define TPPoll_StopHCCA BIT15 // Stop HCCA queue
289 #define TPPoll_SHIFT 8 // Queue ID mapping
291 PSR = 0x0ff, // Page Select Register
292 #define PSR_GEN 0x0 // Page 0 register general MAC Control
293 #define PSR_CPU 0x1 // Page 1 register for CPU
294 CPU_GEN = 0x100, // CPU Reset Register
295 BB_RESET = 0x101, // Baseband Reset
296 //----------------------------------------------------------------------------
297 // 8190 CPU General Register (offset 0x100, 4 byte)
298 //----------------------------------------------------------------------------
299 #define CPU_CCK_LOOPBACK 0x00030000
300 #define CPU_GEN_SYSTEM_RESET 0x00000001
301 #define CPU_GEN_FIRMWARE_RESET 0x00000008
302 #define CPU_GEN_BOOT_RDY 0x00000010
303 #define CPU_GEN_FIRM_RDY 0x00000020
304 #define CPU_GEN_PUT_CODE_OK 0x00000080
305 #define CPU_GEN_BB_RST 0x00000100
306 #define CPU_GEN_PWR_STB_CPU 0x00000004
307 #define CPU_GEN_NO_LOOPBACK_MSK 0xFFF8FFFF // Set bit18,17,16 to 0. Set bit19
308 #define CPU_GEN_NO_LOOPBACK_SET 0x00080000 // Set BIT19 to 1
309 #define CPU_GEN_GPIO_UART 0x00007000
311 LED1Cfg = 0x154,// LED1 Configuration Register
312 LED0Cfg = 0x155,// LED0 Configuration Register
314 AcmAvg = 0x170, // ACM Average Period Register
315 AcmHwCtrl = 0x171, // ACM Hardware Control Register
316 //----------------------------------------------------------------------------
318 // 8190 AcmHwCtrl bits (offset 0x171, 1 byte)
319 //----------------------------------------------------------------------------
320 #define AcmHw_HwEn BIT0
321 #define AcmHw_BeqEn BIT1
322 #define AcmHw_ViqEn BIT2
323 #define AcmHw_VoqEn BIT3
324 #define AcmHw_BeqStatus BIT4
325 #define AcmHw_ViqStatus BIT5
326 #define AcmHw_VoqStatus BIT6
327 AcmFwCtrl = 0x172, // ACM Firmware Control Register
328 #define AcmFw_BeqStatus BIT0
329 #define AcmFw_ViqStatus BIT1
330 #define AcmFw_VoqStatus BIT2
331 VOAdmTime = 0x174, // VO Queue Admitted Time Register
332 VIAdmTime = 0x178, // VI Queue Admitted Time Register
333 BEAdmTime = 0x17C, // BE Queue Admitted Time Register
334 RQPN1 = 0x180, // Reserved Queue Page Number , Vo Vi, Be, Bk
335 RQPN2 = 0x184, // Reserved Queue Page Number, HCCA, Cmd, Mgnt, High
336 RQPN3 = 0x188, // Reserved Queue Page Number, Bcn, Public,
337 QPRR = 0x1E0, // Queue Page Report per TID
338 QPNR = 0x1F0, // Queue Packet Number report per TID
339 /* there's 9 tx descriptor base address available */
340 BQDA = 0x200, // Beacon Queue Descriptor Address
341 HQDA = 0x204, // High Priority Queue Descriptor Address
342 CQDA = 0x208, // Command Queue Descriptor Address
343 MQDA = 0x20C, // Management Queue Descriptor Address
344 HCCAQDA = 0x210, // HCCA Queue Descriptor Address
345 VOQDA = 0x214, // VO Queue Descriptor Address
346 VIQDA = 0x218, // VI Queue Descriptor Address
347 BEQDA = 0x21C, // BE Queue Descriptor Address
348 BKQDA = 0x220, // BK Queue Descriptor Address
349 /* there's 2 rx descriptor base address availalbe */
350 RCQDA = 0x224, // Receive command Queue Descriptor Address
351 RDQDA = 0x228, // Receive Queue Descriptor Start Address
353 MAR0 = 0x240, // Multicast filter.
354 MAR4 = 0x244,
356 CCX_PERIOD = 0x250, // CCX Measurement Period Register, in unit of TU.
357 CLM_RESULT = 0x251, // CCA Busy fraction register.
358 NHM_PERIOD = 0x252, // NHM Measurement Period register, in unit of TU.
360 NHM_THRESHOLD0 = 0x253, // Noise Histogram Meashorement0.
361 NHM_THRESHOLD1 = 0x254, // Noise Histogram Meashorement1.
362 NHM_THRESHOLD2 = 0x255, // Noise Histogram Meashorement2.
363 NHM_THRESHOLD3 = 0x256, // Noise Histogram Meashorement3.
364 NHM_THRESHOLD4 = 0x257, // Noise Histogram Meashorement4.
365 NHM_THRESHOLD5 = 0x258, // Noise Histogram Meashorement5.
366 NHM_THRESHOLD6 = 0x259, // Noise Histogram Meashorement6
368 MCTRL = 0x25A, // Measurement Control
370 NHM_RPI_COUNTER0 = 0x264, // Noise Histogram RPI counter0, the fraction of signal strength < NHM_THRESHOLD0.
371 NHM_RPI_COUNTER1 = 0x265, // Noise Histogram RPI counter1, the fraction of signal strength in (NHM_THRESHOLD0, NHM_THRESHOLD1].
372 NHM_RPI_COUNTER2 = 0x266, // Noise Histogram RPI counter2, the fraction of signal strength in (NHM_THRESHOLD1, NHM_THRESHOLD2].
373 NHM_RPI_COUNTER3 = 0x267, // Noise Histogram RPI counter3, the fraction of signal strength in (NHM_THRESHOLD2, NHM_THRESHOLD3].
374 NHM_RPI_COUNTER4 = 0x268, // Noise Histogram RPI counter4, the fraction of signal strength in (NHM_THRESHOLD3, NHM_THRESHOLD4].
375 NHM_RPI_COUNTER5 = 0x269, // Noise Histogram RPI counter5, the fraction of signal strength in (NHM_THRESHOLD4, NHM_THRESHOLD5].
376 NHM_RPI_COUNTER6 = 0x26A, // Noise Histogram RPI counter6, the fraction of signal strength in (NHM_THRESHOLD5, NHM_THRESHOLD6].
377 NHM_RPI_COUNTER7 = 0x26B, // Noise Histogram RPI counter7, the fraction of signal strength in (NHM_THRESHOLD6, NHM_THRESHOLD7].
378 WFCRC0 = 0x2f0,
379 WFCRC1 = 0x2f4,
380 WFCRC2 = 0x2f8,
382 BW_OPMODE = 0x300, // Bandwidth operation mode
383 #define BW_OPMODE_11J BIT0
384 #define BW_OPMODE_5G BIT1
385 #define BW_OPMODE_20MHZ BIT2
386 IC_VERRSION = 0x301, //IC_VERSION
387 MSR = 0x303, // Media Status register
388 #define MSR_LINK_MASK ((1<<0)|(1<<1))
389 #define MSR_LINK_MANAGED 2
390 #define MSR_LINK_NONE 0
391 #define MSR_LINK_SHIFT 0
392 #define MSR_LINK_ADHOC 1
393 #define MSR_LINK_MASTER 3
394 #define MSR_LINK_ENEDCA (1<<4)
395 RETRY_LIMIT = 0x304, // Retry Limit [15:8]-short, [7:0]-long
396 #define RETRY_LIMIT_SHORT_SHIFT 8
397 #define RETRY_LIMIT_LONG_SHIFT 0
398 TSFR = 0x308,
399 RRSR = 0x310, // Response Rate Set
400 #define RRSR_RSC_OFFSET 21
401 #define RRSR_SHORT_OFFSET 23
402 #define RRSR_RSC_DUPLICATE 0x600000
403 #define RRSR_RSC_UPSUBCHNL 0x400000
404 #define RRSR_RSC_LOWSUBCHNL 0x200000
405 #define RRSR_SHORT 0x800000
406 #define RRSR_1M BIT0
407 #define RRSR_2M BIT1
408 #define RRSR_5_5M BIT2
409 #define RRSR_11M BIT3
410 #define RRSR_6M BIT4
411 #define RRSR_9M BIT5
412 #define RRSR_12M BIT6
413 #define RRSR_18M BIT7
414 #define RRSR_24M BIT8
415 #define RRSR_36M BIT9
416 #define RRSR_48M BIT10
417 #define RRSR_54M BIT11
418 #define RRSR_MCS0 BIT12
419 #define RRSR_MCS1 BIT13
420 #define RRSR_MCS2 BIT14
421 #define RRSR_MCS3 BIT15
422 #define RRSR_MCS4 BIT16
423 #define RRSR_MCS5 BIT17
424 #define RRSR_MCS6 BIT18
425 #define RRSR_MCS7 BIT19
426 #define BRSR_AckShortPmb BIT23 // CCK ACK: use Short Preamble or not
427 UFWP = 0x318,
428 RATR0 = 0x320, // Rate Adaptive Table register1
429 //----------------------------------------------------------------------------
430 // 8190 Rate Adaptive Table Register (offset 0x320, 4 byte)
431 //----------------------------------------------------------------------------
432 //CCK
433 #define RATR_1M 0x00000001
434 #define RATR_2M 0x00000002
435 #define RATR_55M 0x00000004
436 #define RATR_11M 0x00000008
437 //OFDM
438 #define RATR_6M 0x00000010
439 #define RATR_9M 0x00000020
440 #define RATR_12M 0x00000040
441 #define RATR_18M 0x00000080
442 #define RATR_24M 0x00000100
443 #define RATR_36M 0x00000200
444 #define RATR_48M 0x00000400
445 #define RATR_54M 0x00000800
446 //MCS 1 Spatial Stream
447 #define RATR_MCS0 0x00001000
448 #define RATR_MCS1 0x00002000
449 #define RATR_MCS2 0x00004000
450 #define RATR_MCS3 0x00008000
451 #define RATR_MCS4 0x00010000
452 #define RATR_MCS5 0x00020000
453 #define RATR_MCS6 0x00040000
454 #define RATR_MCS7 0x00080000
455 //MCS 2 Spatial Stream
456 #define RATR_MCS8 0x00100000
457 #define RATR_MCS9 0x00200000
458 #define RATR_MCS10 0x00400000
459 #define RATR_MCS11 0x00800000
460 #define RATR_MCS12 0x01000000
461 #define RATR_MCS13 0x02000000
462 #define RATR_MCS14 0x04000000
463 #define RATR_MCS15 0x08000000
464 // ALL CCK Rate
465 #define RATE_ALL_CCK RATR_1M|RATR_2M|RATR_55M|RATR_11M
466 #define RATE_ALL_OFDM_AG RATR_6M|RATR_9M|RATR_12M|RATR_18M|RATR_24M|RATR_36M|RATR_48M|RATR_54M
467 #define RATE_ALL_OFDM_1SS RATR_MCS0|RATR_MCS1|RATR_MCS2|RATR_MCS3 | \
468 RATR_MCS4|RATR_MCS5|RATR_MCS6 |RATR_MCS7
469 #define RATE_ALL_OFDM_2SS RATR_MCS8|RATR_MCS9 |RATR_MCS10|RATR_MCS11| \
470 RATR_MCS12|RATR_MCS13|RATR_MCS14|RATR_MCS15
473 DRIVER_RSSI = 0x32c, // Driver tell Firmware current RSSI
474 MCS_TXAGC = 0x340, // MCS AGC
475 CCK_TXAGC = 0x348, // CCK AGC
476 MacBlkCtrl = 0x403, // Mac block on/off control register
480 #define GPI 0x108
481 #define GPO 0x109
482 #define GPE 0x10a
484 #define ANAPAR_FOR_8192PciE 0x17 // Analog parameter register
486 #define MSR_NOLINK 0x00
487 #define MSR_ADHOC 0x01
488 #define MSR_INFRA 0x02
489 #define MSR_AP 0x03
491 #endif