Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
r8192E_hw.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved.
3  *
4  * This program is distributed in the hope that it will be useful, but WITHOUT
5  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
6  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
7  * more details.
8  *
9  * You should have received a copy of the GNU General Public License along with
10  * this program; if not, write to the Free Software Foundation, Inc.,
11  * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
12  *
13  * The full GNU General Public License is included in this distribution in the
14  * file called LICENSE.
15  *
16  * Contact Information:
17  * wlanfae <[email protected]>
18 ******************************************************************************/
19 
20 
21 #ifndef R8180_HW
22 #define R8180_HW
23 
27 };
28 
29 #define RTL8187_REQT_READ 0xc0
30 #define RTL8187_REQT_WRITE 0x40
31 #define RTL8187_REQ_GET_REGS 0x05
32 #define RTL8187_REQ_SET_REGS 0x05
33 
34 #define MAX_TX_URB 5
35 #define MAX_RX_URB 16
36 #define RX_URB_SIZE 9100
37 
38 #define BB_ANTATTEN_CHAN14 0x0c
39 #define BB_ANTENNA_B 0x40
40 
41 #define BB_HOST_BANG (1<<30)
42 #define BB_HOST_BANG_EN (1<<2)
43 #define BB_HOST_BANG_CLK (1<<1)
44 #define BB_HOST_BANG_RW (1<<3)
45 #define BB_HOST_BANG_DATA 1
46 
47 #define RTL8190_EEPROM_ID 0x8129
48 #define EEPROM_VID 0x02
49 #define EEPROM_DID 0x04
50 #define EEPROM_NODE_ADDRESS_BYTE_0 0x0C
51 
52 #define EEPROM_TxPowerDiff 0x1F
53 
54 
55 #define EEPROM_PwDiff 0x21
56 #define EEPROM_CrystalCap 0x22
57 
58 
59 
60 #define EEPROM_TxPwIndex_CCK_V1 0x29
61 #define EEPROM_TxPwIndex_OFDM_24G_V1 0x2C
62 #define EEPROM_TxPwIndex_Ver 0x27
63 
64 #define EEPROM_Default_TxPowerDiff 0x0
65 #define EEPROM_Default_ThermalMeter 0x77
66 #define EEPROM_Default_AntTxPowerDiff 0x0
67 #define EEPROM_Default_TxPwDiff_CrystalCap 0x5
68 #define EEPROM_Default_PwDiff 0x4
69 #define EEPROM_Default_CrystalCap 0x5
70 #define EEPROM_Default_TxPower 0x1010
71 #define EEPROM_ICVersion_ChannelPlan 0x7C
72 #define EEPROM_Customer_ID 0x7B
73 #define EEPROM_RFInd_PowerDiff 0x28
74 #define EEPROM_ThermalMeter 0x29
75 #define EEPROM_TxPwDiff_CrystalCap 0x2A
76 #define EEPROM_TxPwIndex_CCK 0x2C
77 #define EEPROM_TxPwIndex_OFDM_24G 0x3A
78 #define EEPROM_Default_TxPowerLevel 0x10
79 #define EEPROM_IC_VER 0x7d
80 #define EEPROM_CRC 0x7e
81 
82 #define EEPROM_CID_DEFAULT 0x0
83 #define EEPROM_CID_CAMEO 0x1
84 #define EEPROM_CID_RUNTOP 0x2
85 #define EEPROM_CID_Senao 0x3
86 #define EEPROM_CID_TOSHIBA 0x4
87 #define EEPROM_CID_NetCore 0x5
88 #define EEPROM_CID_Nettronix 0x6
89 #define EEPROM_CID_Pronet 0x7
90 #define EEPROM_CID_DLINK 0x8
91 #define EEPROM_CID_WHQL 0xFE
93  MAC0 = 0x000,
94  MAC1 = 0x001,
95  MAC2 = 0x002,
96  MAC3 = 0x003,
97  MAC4 = 0x004,
98  MAC5 = 0x005,
99  PCIF = 0x009,
100 #define MXDMA2_16bytes 0x000
101 #define MXDMA2_32bytes 0x001
102 #define MXDMA2_64bytes 0x010
103 #define MXDMA2_128bytes 0x011
104 #define MXDMA2_256bytes 0x100
105 #define MXDMA2_512bytes 0x101
106 #define MXDMA2_1024bytes 0x110
107 #define MXDMA2_NoLimit 0x7
108 
109 #define MULRW_SHIFT 3
110 #define MXDMA2_RX_SHIFT 4
111 #define MXDMA2_TX_SHIFT 0
112  PMR = 0x00c,
113  EPROM_CMD = 0x00e,
114 #define EPROM_CMD_RESERVED_MASK BIT5
115 #define EPROM_CMD_9356SEL BIT4
116 #define EPROM_CMD_OPERATING_MODE_SHIFT 6
117 #define EPROM_CMD_OPERATING_MODE_MASK ((1<<7)|(1<<6))
118 #define EPROM_CMD_CONFIG 0x3
119 #define EPROM_CMD_NORMAL 0
120 #define EPROM_CMD_LOAD 1
121 #define EPROM_CMD_PROGRAM 2
122 #define EPROM_CS_SHIFT 3
123 #define EPROM_CK_SHIFT 2
124 #define EPROM_W_SHIFT 1
125 #define EPROM_R_SHIFT 0
126 
127  AFR = 0x010,
128 #define AFR_CardBEn (1<<0)
129 #define AFR_CLKRUN_SEL (1<<1)
130 #define AFR_FuncRegEn (1<<2)
131 
132  ANAPAR = 0x17,
133 #define BB_GLOBAL_RESET_BIT 0x1
135  BSSIDR = 0x02E,
136  CMDR = 0x037,
137 #define CR_RST 0x10
138 #define CR_RE 0x08
139 #define CR_TE 0x04
140 #define CR_MulRW 0x01
141  SIFS = 0x03E,
142  TCR = 0x040,
143  RCR = 0x044,
144 #define RCR_FILTER_MASK (BIT0 | BIT1 | BIT2 | BIT3 | BIT5 | BIT12 | \
145  BIT18 | BIT19 | BIT20 | BIT21 | BIT22 | BIT23)
146 #define RCR_ONLYERLPKT BIT31
147 #define RCR_ENCS2 BIT30
148 #define RCR_ENCS1 BIT29
149 #define RCR_ENMBID BIT27
150 #define RCR_ACKTXBW (BIT24|BIT25)
151 #define RCR_CBSSID BIT23
152 #define RCR_APWRMGT BIT22
153 #define RCR_ADD3 BIT21
154 #define RCR_AMF BIT20
155 #define RCR_ACF BIT19
156 #define RCR_ADF BIT18
157 #define RCR_RXFTH BIT13
158 #define RCR_AICV BIT12
159 #define RCR_ACRC32 BIT5
160 #define RCR_AB BIT3
161 #define RCR_AM BIT2
162 #define RCR_APM BIT1
163 #define RCR_AAP BIT0
164 #define RCR_MXDMA_OFFSET 8
165 #define RCR_FIFO_OFFSET 13
166  SLOT_TIME = 0x049,
167  ACK_TIMEOUT = 0x04c,
168  PIFS_TIME = 0x04d,
169  USTIME = 0x04e,
170  EDCAPARA_BE = 0x050,
171  EDCAPARA_BK = 0x054,
172  EDCAPARA_VO = 0x058,
173  EDCAPARA_VI = 0x05C,
174 #define AC_PARAM_TXOP_LIMIT_OFFSET 16
175 #define AC_PARAM_ECW_MAX_OFFSET 12
176 #define AC_PARAM_ECW_MIN_OFFSET 8
177 #define AC_PARAM_AIFS_OFFSET 0
178  RFPC = 0x05F,
179  CWRR = 0x060,
180  BCN_TCFG = 0x062,
181 #define BCN_TCFG_CW_SHIFT 8
182 #define BCN_TCFG_IFS 0
183  BCN_INTERVAL = 0x070,
184  ATIMWND = 0x072,
186 #define BCN_DRV_EARLY_INT_SWBCN_SHIFT 8
187 #define BCN_DRV_EARLY_INT_TIME_SHIFT 0
188  BCN_DMATIME = 0x076,
189  BCN_ERR_THRESH = 0x078,
190  RWCAM = 0x0A0,
191 #define CAM_CM_SecCAMPolling BIT31
192 #define CAM_CM_SecCAMClr BIT30
193 #define CAM_CM_SecCAMWE BIT16
194 #define CAM_VALID BIT15
195 #define CAM_NOTVALID 0x0000
196 #define CAM_USEDK BIT5
197 
198 #define CAM_NONE 0x0
199 #define CAM_WEP40 0x01
200 #define CAM_TKIP 0x02
201 #define CAM_AES 0x04
202 #define CAM_WEP104 0x05
203 
204 #define TOTAL_CAM_ENTRY 32
205 
206 #define CAM_CONFIG_USEDK true
207 #define CAM_CONFIG_NO_USEDK false
208 #define CAM_WRITE BIT16
209 #define CAM_READ 0x00000000
210 #define CAM_POLLINIG BIT31
211 #define SCR_UseDK 0x01
212  WCAMI = 0x0A4,
213  RCAMO = 0x0A8,
214  SECR = 0x0B0,
215 #define SCR_TxUseDK BIT0
216 #define SCR_RxUseDK BIT1
217 #define SCR_TxEncEnable BIT2
218 #define SCR_RxDecEnable BIT3
219 #define SCR_SKByA2 BIT4
220 #define SCR_NoSKMC BIT5
221  SWREGULATOR = 0x0BD,
222  INTA_MASK = 0x0f4,
223 #define IMR8190_DISABLED 0x0
224 #define IMR_ATIMEND BIT28
225 #define IMR_TBDOK BIT27
226 #define IMR_TBDER BIT26
227 #define IMR_TXFOVW BIT15
228 #define IMR_TIMEOUT0 BIT14
229 #define IMR_BcnInt BIT13
230 #define IMR_RXFOVW BIT12
231 #define IMR_RDU BIT11
232 #define IMR_RXCMDOK BIT10
233 #define IMR_BDOK BIT9
234 #define IMR_HIGHDOK BIT8
235 #define IMR_COMDOK BIT7
236 #define IMR_MGNTDOK BIT6
237 #define IMR_HCCADOK BIT5
238 #define IMR_BKDOK BIT4
239 #define IMR_BEDOK BIT3
240 #define IMR_VIDOK BIT2
241 #define IMR_VODOK BIT1
242 #define IMR_ROK BIT0
243  ISR = 0x0f8,
244  TPPoll = 0x0fd,
245 #define TPPoll_BKQ BIT0
246 #define TPPoll_BEQ BIT1
247 #define TPPoll_VIQ BIT2
248 #define TPPoll_VOQ BIT3
249 #define TPPoll_BQ BIT4
250 #define TPPoll_CQ BIT5
251 #define TPPoll_MQ BIT6
252 #define TPPoll_HQ BIT7
253 #define TPPoll_HCCAQ BIT8
254 #define TPPoll_StopBK BIT9
255 #define TPPoll_StopBE BIT10
256 #define TPPoll_StopVI BIT11
257 #define TPPoll_StopVO BIT12
258 #define TPPoll_StopMgt BIT13
259 #define TPPoll_StopHigh BIT14
260 #define TPPoll_StopHCCA BIT15
261 #define TPPoll_SHIFT 8
262 
263  PSR = 0x0ff,
264 #define PSR_GEN 0x0
265 #define PSR_CPU 0x1
266  CPU_GEN = 0x100,
267  BB_RESET = 0x101,
268 #define CPU_CCK_LOOPBACK 0x00030000
269 #define CPU_GEN_SYSTEM_RESET 0x00000001
270 #define CPU_GEN_FIRMWARE_RESET 0x00000008
271 #define CPU_GEN_BOOT_RDY 0x00000010
272 #define CPU_GEN_FIRM_RDY 0x00000020
273 #define CPU_GEN_PUT_CODE_OK 0x00000080
274 #define CPU_GEN_BB_RST 0x00000100
275 #define CPU_GEN_PWR_STB_CPU 0x00000004
276 #define CPU_GEN_NO_LOOPBACK_MSK 0xFFF8FFFF
277 #define CPU_GEN_NO_LOOPBACK_SET 0x00080000
278 #define CPU_GEN_GPIO_UART 0x00007000
279 
280  LED1Cfg = 0x154,
281  LED0Cfg = 0x155,
282 
283  AcmAvg = 0x170,
284  AcmHwCtrl = 0x171,
285 #define AcmHw_HwEn BIT0
286 #define AcmHw_BeqEn BIT1
287 #define AcmHw_ViqEn BIT2
288 #define AcmHw_VoqEn BIT3
289 #define AcmHw_BeqStatus BIT4
290 #define AcmHw_ViqStatus BIT5
291 #define AcmHw_VoqStatus BIT6
292  AcmFwCtrl = 0x172,
293 #define AcmFw_BeqStatus BIT0
294 #define AcmFw_ViqStatus BIT1
295 #define AcmFw_VoqStatus BIT2
296  VOAdmTime = 0x174,
297  VIAdmTime = 0x178,
298  BEAdmTime = 0x17C,
299  RQPN1 = 0x180,
300  RQPN2 = 0x184,
301  RQPN3 = 0x188,
302  QPRR = 0x1E0,
303  QPNR = 0x1F0,
304  BQDA = 0x200,
305  HQDA = 0x204,
306  CQDA = 0x208,
307  MQDA = 0x20C,
308  HCCAQDA = 0x210,
309  VOQDA = 0x214,
310  VIQDA = 0x218,
311  BEQDA = 0x21C,
312  BKQDA = 0x220,
313  RCQDA = 0x224,
314  RDQDA = 0x228,
315 
316  MAR0 = 0x240,
317  MAR4 = 0x244,
318 
319  CCX_PERIOD = 0x250,
320  CLM_RESULT = 0x251,
321  NHM_PERIOD = 0x252,
322 
323  NHM_THRESHOLD0 = 0x253,
324  NHM_THRESHOLD1 = 0x254,
325  NHM_THRESHOLD2 = 0x255,
326  NHM_THRESHOLD3 = 0x256,
327  NHM_THRESHOLD4 = 0x257,
328  NHM_THRESHOLD5 = 0x258,
329  NHM_THRESHOLD6 = 0x259,
330 
331  MCTRL = 0x25A,
332 
341  WFCRC0 = 0x2f0,
342  WFCRC1 = 0x2f4,
343  WFCRC2 = 0x2f8,
344 
345  BW_OPMODE = 0x300,
346 #define BW_OPMODE_11J BIT0
347 #define BW_OPMODE_5G BIT1
348 #define BW_OPMODE_20MHZ BIT2
349  IC_VERRSION = 0x301,
350  MSR = 0x303,
351 #define MSR_LINK_MASK ((1<<0)|(1<<1))
352 #define MSR_LINK_MANAGED 2
353 #define MSR_LINK_NONE 0
354 #define MSR_LINK_SHIFT 0
355 #define MSR_LINK_ADHOC 1
356 #define MSR_LINK_MASTER 3
357 #define MSR_LINK_ENEDCA (1<<4)
358 
359 #define MSR_NOLINK 0x00
360 #define MSR_ADHOC 0x01
361 #define MSR_INFRA 0x02
362 #define MSR_AP 0x03
363 
364  RETRY_LIMIT = 0x304,
365 #define RETRY_LIMIT_SHORT_SHIFT 8
366 #define RETRY_LIMIT_LONG_SHIFT 0
367  TSFR = 0x308,
368  RRSR = 0x310,
369 #define RRSR_RSC_OFFSET 21
370 #define RRSR_SHORT_OFFSET 23
371 #define RRSR_RSC_DUPLICATE 0x600000
372 #define RRSR_RSC_UPSUBCHNL 0x400000
373 #define RRSR_RSC_LOWSUBCHNL 0x200000
374 #define RRSR_SHORT 0x800000
375 #define RRSR_1M BIT0
376 #define RRSR_2M BIT1
377 #define RRSR_5_5M BIT2
378 #define RRSR_11M BIT3
379 #define RRSR_6M BIT4
380 #define RRSR_9M BIT5
381 #define RRSR_12M BIT6
382 #define RRSR_18M BIT7
383 #define RRSR_24M BIT8
384 #define RRSR_36M BIT9
385 #define RRSR_48M BIT10
386 #define RRSR_54M BIT11
387 #define RRSR_MCS0 BIT12
388 #define RRSR_MCS1 BIT13
389 #define RRSR_MCS2 BIT14
390 #define RRSR_MCS3 BIT15
391 #define RRSR_MCS4 BIT16
392 #define RRSR_MCS5 BIT17
393 #define RRSR_MCS6 BIT18
394 #define RRSR_MCS7 BIT19
395 #define BRSR_AckShortPmb BIT23
396  UFWP = 0x318,
397  RATR0 = 0x320,
398 #define RATR_1M 0x00000001
399 #define RATR_2M 0x00000002
400 #define RATR_55M 0x00000004
401 #define RATR_11M 0x00000008
402 #define RATR_6M 0x00000010
403 #define RATR_9M 0x00000020
404 #define RATR_12M 0x00000040
405 #define RATR_18M 0x00000080
406 #define RATR_24M 0x00000100
407 #define RATR_36M 0x00000200
408 #define RATR_48M 0x00000400
409 #define RATR_54M 0x00000800
410 #define RATR_MCS0 0x00001000
411 #define RATR_MCS1 0x00002000
412 #define RATR_MCS2 0x00004000
413 #define RATR_MCS3 0x00008000
414 #define RATR_MCS4 0x00010000
415 #define RATR_MCS5 0x00020000
416 #define RATR_MCS6 0x00040000
417 #define RATR_MCS7 0x00080000
418 #define RATR_MCS8 0x00100000
419 #define RATR_MCS9 0x00200000
420 #define RATR_MCS10 0x00400000
421 #define RATR_MCS11 0x00800000
422 #define RATR_MCS12 0x01000000
423 #define RATR_MCS13 0x02000000
424 #define RATR_MCS14 0x04000000
425 #define RATR_MCS15 0x08000000
426 #define RATE_ALL_CCK (RATR_1M | RATR_2M | RATR_55M | RATR_11M)
427 #define RATE_ALL_OFDM_AG (RATR_6M | RATR_9M | RATR_12M | RATR_18M | \
428  RATR_24M | RATR_36M | RATR_48M | RATR_54M)
429 #define RATE_ALL_OFDM_1SS (RATR_MCS0 | RATR_MCS1 | RATR_MCS2 | \
430  RATR_MCS3 | RATR_MCS4 | RATR_MCS5 | \
431  RATR_MCS6 | RATR_MCS7)
432 #define RATE_ALL_OFDM_2SS (RATR_MCS8 | RATR_MCS9 | RATR_MCS10 | \
433  RATR_MCS11 | RATR_MCS12 | RATR_MCS13 | \
434  RATR_MCS14|RATR_MCS15)
435 
436 
437  DRIVER_RSSI = 0x32c,
438  MCS_TXAGC = 0x340,
439  CCK_TXAGC = 0x348,
440  MacBlkCtrl = 0x403,
441 
442 }
443 ;
444 
445 #define GPI 0x108
446 #define GPO 0x109
447 #define GPE 0x10a
448 
449 #define HWSET_MAX_SIZE_92S 128
450 
451 #define ANAPAR_FOR_8192PciE 0x17
452 
453 #endif