This source file includes following definitions.
- AR5K_AR5212_DMASIZE_4B
- AR5K_AR5212_DMASIZE_8B
- AR5K_AR5212_DMASIZE_16B
- AR5K_AR5212_DMASIZE_32B
- AR5K_AR5212_DMASIZE_64B
- AR5K_AR5212_DMASIZE_128B
- AR5K_AR5212_DMASIZE_256B
- AR5K_AR5212_DMASIZE_512B
- ar5k_ar5212_dmasize_t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #ifndef _AR5K_AR5212_REG_H
25 #define _AR5K_AR5212_REG_H
26
27
28
29
30 #define AR5K_AR5212_CR 0x0008
31 #define AR5K_AR5212_CR_RXE 0x00000004
32 #define AR5K_AR5212_CR_RXD 0x00000020
33 #define AR5K_AR5212_CR_SWI 0x00000040
34
35
36
37
38 #define AR5K_AR5212_RXDP 0x000c
39
40
41
42
43 #define AR5K_AR5212_CFG 0x0014
44 #define AR5K_AR5212_CFG_SWTD 0x00000001
45 #define AR5K_AR5212_CFG_SWTB 0x00000002
46 #define AR5K_AR5212_CFG_SWRD 0x00000004
47 #define AR5K_AR5212_CFG_SWRB 0x00000008
48 #define AR5K_AR5212_CFG_SWRG 0x00000010
49 #define AR5K_AR5212_CFG_ADHOC 0x00000020
50 #define AR5K_AR5212_CFG_PHY_OK 0x00000100
51 #define AR5K_AR5212_CFG_EEBS 0x00000200
52 #define AR5K_AR5212_CFG_CLKGD 0x00000400
53 #define AR5K_AR5212_CFG_PCI_THRES 0x00060000
54 #define AR5K_AR5212_CFG_PCI_THRES_S 17
55
56
57
58
59 #define AR5K_AR5212_IER 0x0024
60 #define AR5K_AR5212_IER_DISABLE 0x00000000
61 #define AR5K_AR5212_IER_ENABLE 0x00000001
62
63
64
65
66 #define AR5K_AR5212_TXCFG 0x0030
67 #define AR5K_AR5212_TXCFG_SDMAMR 0x00000007
68 #define AR5K_AR5212_TXCFG_SDMAMR_S 0
69 #define AR5K_AR5212_TXCFG_B_MODE 0x00000008
70 #define AR5K_AR5212_TXCFG_TXFULL 0x000003f0
71 #define AR5K_AR5212_TXCFG_TXFULL_S 4
72 #define AR5K_AR5212_TXCFG_TXFULL_0B 0x00000000
73 #define AR5K_AR5212_TXCFG_TXFULL_64B 0x00000010
74 #define AR5K_AR5212_TXCFG_TXFULL_128B 0x00000020
75 #define AR5K_AR5212_TXCFG_TXFULL_192B 0x00000030
76 #define AR5K_AR5212_TXCFG_TXFULL_256B 0x00000040
77 #define AR5K_AR5212_TXCFG_TXCONT_ENABLE 0x00000080
78 #define AR5K_AR5212_TXCFG_DMASIZE 0x00000100
79 #define AR5K_AR5212_TXCFG_JUMBO_TXE 0x00000400
80 #define AR5K_AR5212_TXCFG_RTSRND 0x00001000
81 #define AR5K_AR5212_TXCFG_FRMPAD_DIS 0x00002000
82 #define AR5K_AR5212_TXCFG_RDY_DIS 0x00004000
83
84
85
86
87 #define AR5K_AR5212_RXCFG 0x0034
88 #define AR5K_AR5212_RXCFG_SDMAMW 0x00000007
89 #define AR5K_AR5212_RXCFG_SDMAMW_S 0
90 #define AR5K_AR5311_RXCFG_DEFAULT_ANTENNA 0x00000008
91 #define AR5K_AR5212_RXCFG_ZLFDMA 0x00000010
92 #define AR5K_AR5212_RXCFG_JUMBO_RXE 0x00000020
93 #define AR5K_AR5212_RXCFG_JUMBO_WRAP 0x00000040
94
95
96
97
98 #define AR5K_AR5212_MIBC 0x0040
99 #define AR5K_AR5212_MIBC_COW 0x00000001
100 #define AR5K_AR5212_MIBC_FMC 0x00000002
101 #define AR5K_AR5212_MIBC_CMC 0x00000004
102 #define AR5K_AR5212_MIBC_MCS 0x00000008
103
104
105
106
107 #define AR5K_AR5212_TOPS 0x0044
108 #define AR5K_AR5212_TOPS_M 0x0000ffff
109
110
111
112
113 #define AR5K_AR5212_RXNOFRM 0x0048
114 #define AR5K_AR5212_RXNOFRM_M 0x000003ff
115
116
117
118
119 #define AR5K_AR5212_TXNOFRM 0x004c
120 #define AR5K_AR5212_TXNOFRM_M 0x000003ff
121 #define AR5K_AR5212_TXNOFRM_QCU 0x000ffc00
122
123
124
125
126 #define AR5K_AR5212_RPGTO 0x0050
127 #define AR5K_AR5212_RPGTO_M 0x000003ff
128
129
130
131
132 #define AR5K_AR5212_RFCNT 0x0054
133 #define AR5K_AR5212_RFCNT_M 0x0000001f
134
135
136
137
138 #define AR5K_AR5212_MISC 0x0058
139 #define AR5K_AR5212_MISC_DMA_OBS_M 0x000001e0
140 #define AR5K_AR5212_MISC_DMA_OBS_S 5
141 #define AR5K_AR5212_MISC_MISC_OBS_M 0x00000e00
142 #define AR5K_AR5212_MISC_MISC_OBS_S 9
143 #define AR5K_AR5212_MISC_MAC_OBS_LSB_M 0x00007000
144 #define AR5K_AR5212_MISC_MAC_OBS_LSB_S 12
145 #define AR5K_AR5212_MISC_MAC_OBS_MSB_M 0x00038000
146 #define AR5K_AR5212_MISC_MAC_OBS_MSB_S 15
147
148
149
150
151 #define AR5K_AR5212_PISR 0x0080
152 #define AR5K_AR5212_PISR_RXOK 0x00000001
153 #define AR5K_AR5212_PISR_RXDESC 0x00000002
154 #define AR5K_AR5212_PISR_RXERR 0x00000004
155 #define AR5K_AR5212_PISR_RXNOFRM 0x00000008
156 #define AR5K_AR5212_PISR_RXEOL 0x00000010
157 #define AR5K_AR5212_PISR_RXORN 0x00000020
158 #define AR5K_AR5212_PISR_TXOK 0x00000040
159 #define AR5K_AR5212_PISR_TXDESC 0x00000080
160 #define AR5K_AR5212_PISR_TXERR 0x00000100
161 #define AR5K_AR5212_PISR_TXNOFRM 0x00000200
162 #define AR5K_AR5212_PISR_TXEOL 0x00000400
163 #define AR5K_AR5212_PISR_TXURN 0x00000800
164 #define AR5K_AR5212_PISR_MIB 0x00001000
165 #define AR5K_AR5212_PISR_SWI 0x00002000
166 #define AR5K_AR5212_PISR_RXPHY 0x00004000
167 #define AR5K_AR5212_PISR_RXKCM 0x00008000
168 #define AR5K_AR5212_PISR_SWBA 0x00010000
169 #define AR5K_AR5212_PISR_BRSSI 0x00020000
170 #define AR5K_AR5212_PISR_BMISS 0x00040000
171 #define AR5K_AR5212_PISR_HIUERR 0x00080000
172 #define AR5K_AR5212_PISR_BNR 0x00100000
173 #define AR5K_AR5212_PISR_RXCHIRP 0x00200000
174 #define AR5K_AR5212_PISR_TIM 0x00800000
175 #define AR5K_AR5212_PISR_BCNMISC 0x00800000
176 #define AR5K_AR5212_PISR_GPIO 0x01000000
177 #define AR5K_AR5212_PISR_QCBRORN 0x02000000
178 #define AR5K_AR5212_PISR_QCBRURN 0x04000000
179 #define AR5K_AR5212_PISR_QTRIG 0x08000000
180
181
182
183
184 #define AR5K_AR5212_SISR0 0x0084
185 #define AR5K_AR5212_SISR0_QCU_TXOK 0x000003ff
186 #define AR5K_AR5212_SISR0_QCU_TXDESC 0x03ff0000
187
188 #define AR5K_AR5212_SISR1 0x0088
189 #define AR5K_AR5212_SISR1_QCU_TXERR 0x000003ff
190 #define AR5K_AR5212_SISR1_QCU_TXEOL 0x03ff0000
191
192 #define AR5K_AR5212_SISR2 0x008c
193 #define AR5K_AR5212_SISR2_QCU_TXURN 0x000003ff
194 #define AR5K_AR5212_SISR2_MCABT 0x00100000
195 #define AR5K_AR5212_SISR2_SSERR 0x00200000
196 #define AR5K_AR5212_SISR2_DPERR 0x00400000
197 #define AR5K_AR5212_SISR2_TIM 0x01000000
198 #define AR5K_AR5212_SISR2_CAB_END 0x02000000
199 #define AR5K_AR5212_SISR2_DTIM_SYNC 0x04000000
200 #define AR5K_AR5212_SISR2_BCN_TIMEOUT 0x08000000
201 #define AR5K_AR5212_SISR2_CAB_TIMEOUT 0x10000000
202 #define AR5K_AR5212_SISR2_DTIM 0x20000000
203
204 #define AR5K_AR5212_SISR3 0x0090
205 #define AR5K_AR5212_SISR3_QCBRORN 0x000003ff
206 #define AR5K_AR5212_SISR3_QCBRURN 0x03ff0000
207
208 #define AR5K_AR5212_SISR4 0x0094
209 #define AR5K_AR5212_SISR4_QTRIG 0x000003ff
210
211
212
213
214 #define AR5K_AR5212_RAC_PISR 0x00c0
215 #define AR5K_AR5212_RAC_SISR0 0x00c4
216 #define AR5K_AR5212_RAC_SISR1 0x00c8
217 #define AR5K_AR5212_RAC_SISR2 0x00cc
218 #define AR5K_AR5212_RAC_SISR3 0c00d0
219 #define AR5K_AR5212_RAC_SISR4 0c00d4
220
221
222
223
224 #define AR5K_AR5212_PIMR 0x00a0
225 #define AR5K_AR5212_PIMR_RXOK 0x00000001
226 #define AR5K_AR5212_PIMR_RXDESC 0x00000002
227 #define AR5K_AR5212_PIMR_RXERR 0x00000004
228 #define AR5K_AR5212_PIMR_RXNOFRM 0x00000008
229 #define AR5K_AR5212_PIMR_RXEOL 0x00000010
230 #define AR5K_AR5212_PIMR_RXORN 0x00000020
231 #define AR5K_AR5212_PIMR_TXOK 0x00000040
232 #define AR5K_AR5212_PIMR_TXDESC 0x00000080
233 #define AR5K_AR5212_PIMR_TXERR 0x00000100
234 #define AR5K_AR5212_PIMR_TXNOFRM 0x00000200
235 #define AR5K_AR5212_PIMR_TXEOL 0x00000400
236 #define AR5K_AR5212_PIMR_TXURN 0x00000800
237 #define AR5K_AR5212_PIMR_MIB 0x00001000
238 #define AR5K_AR5212_PIMR_SWI 0x00002000
239 #define AR5K_AR5212_PIMR_RXPHY 0x00004000
240 #define AR5K_AR5212_PIMR_RXKCM 0x00008000
241 #define AR5K_AR5212_PIMR_SWBA 0x00010000
242 #define AR5K_AR5212_PIMR_BRSSI 0x00020000
243 #define AR5K_AR5212_PIMR_BMISS 0x00040000
244 #define AR5K_AR5212_PIMR_HIUERR 0x00080000
245 #define AR5K_AR5212_PIMR_BNR 0x00100000
246 #define AR5K_AR5212_PIMR_RXCHIRP 0x00200000
247 #define AR5K_AR5212_PIMR_TIM 0x00800000
248 #define AR5K_AR5212_PIMR_BCNMISC 0x00800000
249 #define AR5K_AR5212_PIMR_GPIO 0x01000000
250 #define AR5K_AR5212_PIMR_QCBRORN 0x02000000
251 #define AR5K_AR5212_PIMR_QCBRURN 0x04000000
252 #define AR5K_AR5212_PIMR_QTRIG 0x08000000
253
254
255
256
257 #define AR5K_AR5212_SIMR0 0x00a4
258 #define AR5K_AR5212_SIMR0_QCU_TXOK 0x000003ff
259 #define AR5K_AR5212_SIMR0_QCU_TXOK_S 0
260 #define AR5K_AR5212_SIMR0_QCU_TXDESC 0x03ff0000
261 #define AR5K_AR5212_SIMR0_QCU_TXDESC_S 16
262
263 #define AR5K_AR5212_SIMR1 0x00a8
264 #define AR5K_AR5212_SIMR1_QCU_TXERR 0x000003ff
265 #define AR5K_AR5212_SIMR1_QCU_TXERR_S 0
266 #define AR5K_AR5212_SIMR1_QCU_TXEOL 0x03ff0000
267 #define AR5K_AR5212_SIMR1_QCU_TXEOL_S 16
268
269 #define AR5K_AR5212_SIMR2 0x00ac
270 #define AR5K_AR5212_SIMR2_QCU_TXURN 0x000003ff
271 #define AR5K_AR5212_SIMR2_QCU_TXURN_S 0
272 #define AR5K_AR5212_SIMR2_MCABT 0x00100000
273 #define AR5K_AR5212_SIMR2_SSERR 0x00200000
274 #define AR5K_AR5212_SIMR2_DPERR 0x00400000
275 #define AR5K_AR5212_SIMR2_TIM 0x01000000
276 #define AR5K_AR5212_SIMR2_CAB_END 0x02000000
277 #define AR5K_AR5212_SIMR2_DTIM_SYNC 0x04000000
278 #define AR5K_AR5212_SIMR2_BCN_TIMEOUT 0x08000000
279 #define AR5K_AR5212_SIMR2_CAB_TIMEOUT 0x10000000
280 #define AR5K_AR5212_SIMR2_DTIM 0x20000000
281
282 #define AR5K_AR5212_SIMR3 0x00b0
283 #define AR5K_AR5212_SIMR3_QCBRORN 0x000003ff
284 #define AR5K_AR5212_SIMR3_QCBRORN_S 0
285 #define AR5K_AR5212_SIMR3_QCBRURN 0x03ff0000
286 #define AR5K_AR5212_SIMR3_QCBRURN_S 16
287
288 #define AR5K_AR5212_SIMR4 0x00b4
289 #define AR5K_AR5212_SIMR4_QTRIG 0x000003ff
290 #define AR5K_AR5212_SIMR4_QTRIG_S 0
291
292
293
294
295 #define AR5K_AR5212_DCM_ADDR 0x0400
296 #define AR5K_AR5212_DCM_DATA 0x0404
297
298
299
300
301 #define AR5K_AR5212_DCCFG 0x0420
302
303
304
305
306 #define AR5K_AR5212_CCFG 0x0600
307 #define AR5K_AR5212_CCFG_CUP 0x0604
308
309
310
311
312 #define AR5K_AR5212_CPC0 0x0610
313 #define AR5K_AR5212_CPC1 0x0614
314 #define AR5K_AR5212_CPC2 0x0618
315 #define AR5K_AR5212_CPC3 0x061c
316 #define AR5K_AR5212_CPCORN 0x0620
317
318
319
320
321 #define AR5K_AR5212_QCU(_n, _a) (((_n) << 2) + _a)
322
323
324
325
326 #define AR5K_AR5212_QCU_TXDP(_n) AR5K_AR5212_QCU(_n, 0x0800)
327
328
329
330
331 #define AR5K_AR5212_QCU_TXE 0x0840
332
333
334
335
336 #define AR5K_AR5212_QCU_TXD 0x0880
337
338
339
340
341 #define AR5K_AR5212_QCU_CBRCFG(_n) AR5K_AR5212_QCU(_n, 0x08c0)
342 #define AR5K_AR5212_QCU_CBRCFG_INTVAL 0x00ffffff
343 #define AR5K_AR5212_QCU_CBRCFG_INTVAL_S 0
344 #define AR5K_AR5212_QCU_CBRCFG_ORN_THRES 0xff000000
345 #define AR5K_AR5212_QCU_CBRCFG_ORN_THRES_S 24
346
347
348
349
350 #define AR5K_AR5212_QCU_RDYTIMECFG(_n) AR5K_AR5212_QCU(_n, 0x0900)
351 #define AR5K_AR5212_QCU_RDYTIMECFG_INTVAL 0x00ffffff
352 #define AR5K_AR5212_QCU_RDYTIMECFG_INTVAL_S 0
353 #define AR5K_AR5212_QCU_RDYTIMECFG_DURATION 0x00ffffff
354 #define AR5K_AR5212_QCU_RDYTIMECFG_ENABLE 0x01000000
355
356
357
358
359 #define AR5K_AR5212_QCU_ONESHOTARMS(_n) AR5K_AR5212_QCU(_n, 0x0940)
360 #define AR5K_AR5212_QCU_ONESHOTARMS_M 0x0000ffff
361
362
363
364
365 #define AR5K_AR5212_QCU_ONESHOTARMC(_n) AR5K_AR5212_QCU(_n, 0x0980)
366 #define AR5K_AR5212_QCU_ONESHOTARMC_M 0x0000ffff
367
368
369
370
371 #define AR5K_AR5212_QCU_MISC(_n) AR5K_AR5212_QCU(_n, 0x09c0)
372 #define AR5K_AR5212_QCU_MISC_FRSHED_M 0x0000000f
373 #define AR5K_AR5212_QCU_MISC_FRSHED_ASAP 0
374 #define AR5K_AR5212_QCU_MISC_FRSHED_CBR 1
375 #define AR5K_AR5212_QCU_MISC_FRSHED_DBA_GT 2
376 #define AR5K_AR5212_QCU_MISC_FRSHED_TIM_GT 3
377 #define AR5K_AR5212_QCU_MISC_FRSHED_BCN_SENT_GT 4
378 #define AR5K_AR5212_QCU_MISC_ONESHOT_ENABLE 0x00000010
379 #define AR5K_AR5212_QCU_MISC_CBREXP 0x00000020
380 #define AR5K_AR5212_QCU_MISC_CBREXP_BCN 0x00000040
381 #define AR5K_AR5212_QCU_MISC_BCN_ENABLE 0x00000080
382 #define AR5K_AR5212_QCU_MISC_CBR_THRES_ENABLE 0x00000100
383 #define AR5K_AR5212_QCU_MISC_TXE 0x00000200
384 #define AR5K_AR5212_QCU_MISC_CBR 0x00000400
385 #define AR5K_AR5212_QCU_MISC_DCU_EARLY 0x00000800
386
387
388
389
390 #define AR5K_AR5212_QCU_STS(_n) AR5K_AR5212_QCU(_n, 0x0a00)
391 #define AR5K_AR5212_QCU_STS_FRMPENDCNT 0x00000003
392 #define AR5K_AR5212_QCU_STS_CBREXPCNT 0x0000ff00
393
394
395
396
397 #define AR5K_AR5212_QCU_RDYTIMESHDN 0x0a40
398 #define AR5K_AR5212_QCU_RDYTIMESHDN_M 0x000003ff
399
400
401
402
403 #define AR5K_AR5212_QCU_CBB_SELECT 0x0b00
404 #define AR5K_AR5212_QCU_CBB_ADDR 0x0b04
405
406
407
408
409 #define AR5K_AR5212_QCU_CBCFG 0x0b08
410
411
412
413
414 #define AR5K_AR5212_DCU(_n, _a) AR5K_AR5212_QCU(_n, _a)
415
416
417
418
419 #define AR5K_AR5212_DCU_QCUMASK(_n) AR5K_AR5212_DCU(_n, 0x1000)
420 #define AR5K_AR5212_DCU_QCUMASK_M 0x000003ff
421
422
423
424
425 #define AR5K_AR5212_DCU_LCL_IFS(_n) AR5K_AR5212_DCU(_n, 0x1040)
426 #define AR5K_AR5212_DCU_LCL_IFS_CW_MIN 0x000003ff
427 #define AR5K_AR5212_DCU_LCL_IFS_CW_MIN_S 0
428 #define AR5K_AR5212_DCU_LCL_IFS_CW_MAX 0x000ffc00
429 #define AR5K_AR5212_DCU_LCL_IFS_CW_MAX_S 10
430 #define AR5K_AR5212_DCU_LCL_IFS_AIFS 0x0ff00000
431 #define AR5K_AR5212_DCU_LCL_IFS_AIFS_S 20
432
433
434
435
436 #define AR5K_AR5212_DCU_RETRY_LMT(_n) AR5K_AR5212_DCU(_n, 0x1080)
437 #define AR5K_AR5212_DCU_RETRY_LMT_SH_RETRY 0x0000000f
438 #define AR5K_AR5212_DCU_RETRY_LMT_SH_RETRY_S 0
439 #define AR5K_AR5212_DCU_RETRY_LMT_LG_RETRY 0x000000f0
440 #define AR5K_AR5212_DCU_RETRY_LMT_LG_RETRY_S 4
441 #define AR5K_AR5212_DCU_RETRY_LMT_SSH_RETRY 0x00003f00
442 #define AR5K_AR5212_DCU_RETRY_LMT_SSH_RETRY_S 8
443 #define AR5K_AR5212_DCU_RETRY_LMT_SLG_RETRY 0x000fc000
444 #define AR5K_AR5212_DCU_RETRY_LMT_SLG_RETRY_S 14
445
446
447
448
449 #define AR5K_AR5212_DCU_CHAN_TIME(_n) AR5K_AR5212_DCU(_n, 0x10c0)
450 #define AR5K_AR5212_DCU_CHAN_TIME_DUR 0x000fffff
451 #define AR5K_AR5212_DCU_CHAN_TIME_DUR_S 0
452 #define AR5K_AR5212_DCU_CHAN_TIME_ENABLE 0x00100000
453
454
455
456
457 #define AR5K_AR5212_DCU_MISC(_n) AR5K_AR5212_DCU(_n, 0x1100)
458 #define AR5K_AR5212_DCU_MISC_BACKOFF 0x000007ff
459 #define AR5K_AR5212_DCU_MISC_BACKOFF_FRAG 0x00000200
460 #define AR5K_AR5212_DCU_MISC_HCFPOLL_ENABLE 0x00000800
461 #define AR5K_AR5212_DCU_MISC_BACKOFF_PERSIST 0x00001000
462 #define AR5K_AR5212_DCU_MISC_FRMPRFTCH_ENABLE 0x00002000
463 #define AR5K_AR5212_DCU_MISC_VIRTCOL 0x0000c000
464 #define AR5K_AR5212_DCU_MISC_VIRTCOL_NORMAL 0
465 #define AR5K_AR5212_DCU_MISC_VIRTCOL_MODIFIED 1
466 #define AR5K_AR5212_DCU_MISC_VIRTCOL_IGNORE 2
467 #define AR5K_AR5212_DCU_MISC_BCN_ENABLE 0x00010000
468 #define AR5K_AR5212_DCU_MISC_ARBLOCK_CTL 0x00060000
469 #define AR5K_AR5212_DCU_MISC_ARBLOCK_CTL_S 17
470 #define AR5K_AR5212_DCU_MISC_ARBLOCK_CTL_NONE 0
471 #define AR5K_AR5212_DCU_MISC_ARBLOCK_CTL_INTFRM 1
472 #define AR5K_AR5212_DCU_MISC_ARBLOCK_CTL_GLOBAL 2
473 #define AR5K_AR5212_DCU_MISC_ARBLOCK_IGNORE 0x00080000
474 #define AR5K_AR5212_DCU_MISC_SEQ_NUM_INCR_DIS 0x00100000
475 #define AR5K_AR5212_DCU_MISC_POST_FR_BKOFF_DIS 0x00200000
476 #define AR5K_AR5212_DCU_MISC_VIRT_COLL_POLICY 0x00400000
477 #define AR5K_AR5212_DCU_MISC_BLOWN_IFS_POLICY 0x00800000
478 #define AR5K_AR5212_DCU_MISC_SEQNUM_CTL 0x01000000
479
480
481
482
483 #define AR5K_AR5212_DCU_SEQNUM(_n) AR5K_AR5212_DCU(_n, 0x1140)
484 #define AR5K_AR5212_DCU_SEQNUM_M 0x00000fff
485
486
487
488 #define AR5K_AR5212_DCU_GBL_IFS_SIFS 0x1030
489 #define AR5K_AR5212_DCU_GBL_IFS_SIFS_M 0x0000ffff
490
491
492
493
494 #define AR5K_AR5212_DCU_GBL_IFS_SLOT 0x1070
495 #define AR5K_AR5212_DCU_GBL_IFS_SLOT_M 0x0000ffff
496
497
498
499
500 #define AR5K_AR5212_DCU_GBL_IFS_EIFS 0x10b0
501 #define AR5K_AR5212_DCU_GBL_IFS_EIFS_M 0x0000ffff
502
503
504
505
506 #define AR5K_AR5212_DCU_GBL_IFS_MISC 0x10f0
507 #define AR5K_AR5212_DCU_GBL_IFS_MISC_LFSR_SLICE 0x00000007
508 #define AR5K_AR5212_DCU_GBL_IFS_MISC_TURBO_MODE 0x00000008
509 #define AR5K_AR5212_DCU_GBL_IFS_MISC_SIFS_DUR_USEC 0x000003f0
510 #define AR5K_AR5212_DCU_GBL_IFS_MISC_USEC_DUR 0x000ffc00
511 #define AR5K_AR5212_DCU_GBL_IFS_MISC_DCU_ARB_DELAY 0x00300000
512
513
514
515
516 #define AR5K_AR5212_DCU_FP 0x1230
517
518
519
520
521 #define AR5K_AR5212_DCU_TXP 0x1270
522 #define AR5K_AR5212_DCU_TXP_M 0x000003ff
523 #define AR5K_AR5212_DCU_TXP_STATUS 0x00010000
524
525
526
527
528 #define AR5K_AR5212_DCU_TX_FILTER 0x1038
529
530
531
532
533 #define AR5K_AR5212_DCU_TX_FILTER_CLR 0x143c
534
535
536
537
538 #define AR5K_AR5212_DCU_TX_FILTER_SET 0x147c
539
540
541
542
543 typedef enum {
544 AR5K_AR5212_DMASIZE_4B = 0,
545 AR5K_AR5212_DMASIZE_8B = 1,
546 AR5K_AR5212_DMASIZE_16B = 2,
547 AR5K_AR5212_DMASIZE_32B = 3,
548 AR5K_AR5212_DMASIZE_64B = 4,
549 AR5K_AR5212_DMASIZE_128B = 5,
550 AR5K_AR5212_DMASIZE_256B = 6,
551 AR5K_AR5212_DMASIZE_512B = 7
552 } ar5k_ar5212_dmasize_t;
553
554
555
556
557 #define AR5K_AR5212_RC 0x4000
558 #define AR5K_AR5212_RC_PCU 0x00000001
559 #define AR5K_AR5212_RC_BB 0x00000002
560 #define AR5K_AR5212_RC_PCI 0x00000010
561 #define AR5K_AR5212_RC_CHIP ( \
562 AR5K_AR5212_RC_PCU | AR5K_AR5212_RC_BB | AR5K_AR5212_RC_PCI \
563 )
564
565
566
567
568 #define AR5K_AR5212_SCR 0x4004
569 #define AR5K_AR5212_SCR_SLDUR 0x0000ffff
570 #define AR5K_AR5212_SCR_SLE 0x00030000
571 #define AR5K_AR5212_SCR_SLE_S 16
572 #define AR5K_AR5212_SCR_SLE_WAKE 0x00000000
573 #define AR5K_AR5212_SCR_SLE_SLP 0x00010000
574 #define AR5K_AR5212_SCR_SLE_ALLOW 0x00020000
575 #define AR5K_AR5212_SCR_SLE_UNITS 0x00000008
576
577
578
579
580 #define AR5K_AR5212_INTPEND 0x4008
581 #define AR5K_AR5212_INTPEND_M 0x00000001
582
583
584
585
586 #define AR5K_AR5212_SFR 0x400c
587 #define AR5K_AR5212_SFR_M 0x00000001
588
589
590
591
592 #define AR5K_AR5212_PCICFG 0x4010
593 #define AR5K_AR5212_PCICFG_CLKRUNEN 0x00000004
594 #define AR5K_AR5212_PCICFG_EESIZE 0x00000018
595 #define AR5K_AR5212_PCICFG_EESIZE_S 3
596 #define AR5K_AR5212_PCICFG_EESIZE_4K 0
597 #define AR5K_AR5212_PCICFG_EESIZE_8K 1
598 #define AR5K_AR5212_PCICFG_EESIZE_16K 2
599 #define AR5K_AR5212_PCICFG_EESIZE_FAIL 3
600 #define AR5K_AR5212_PCICFG_LED 0x00000060
601 #define AR5K_AR5212_PCICFG_LED_NONE 0x00000000
602 #define AR5K_AR5212_PCICFG_LED_PEND 0x00000020
603 #define AR5K_AR5212_PCICFG_LED_ASSOC 0x00000040
604 #define AR5K_AR5212_PCICFG_BUS_SEL 0x00000380
605 #define AR5K_AR5212_PCICFG_CBEFIX_DIS 0x00000400
606 #define AR5K_AR5212_PCICFG_SL_INTEN 0x00000800
607 #define AR5K_AR5212_PCICFG_SL_INPEN 0x00002800
608 #define AR5K_AR5212_PCICFG_SPWR_DN 0x00010000
609 #define AR5K_AR5212_PCICFG_LEDMODE 0x000e0000
610 #define AR5K_AR5212_PCICFG_LEDMODE_PROP 0x00000000
611 #define AR5K_AR5212_PCICFG_LEDMODE_PROM 0x00020000
612 #define AR5K_AR5212_PCICFG_LEDMODE_PWR 0x00040000
613 #define AR5K_AR5212_PCICFG_LEDMODE_RAND 0x00060000
614 #define AR5K_AR5212_PCICFG_LEDBLINK 0x00700000
615 #define AR5K_AR5212_PCICFG_LEDBLINK_S 20
616 #define AR5K_AR5212_PCICFG_LEDSLOW 0x00800000
617 #define AR5K_AR5212_PCICFG_LEDSTATE \
618 (AR5K_AR5212_PCICFG_LED | AR5K_AR5212_PCICFG_LEDMODE | \
619 AR5K_AR5212_PCICFG_LEDBLINK | AR5K_AR5212_PCICFG_LEDSLOW)
620
621
622
623
624 #define AR5K_AR5212_GPIOCR 0x4014
625 #define AR5K_AR5212_GPIOCR_INT_ENA 0x00008000
626 #define AR5K_AR5212_GPIOCR_INT_SELL 0x00000000
627 #define AR5K_AR5212_GPIOCR_INT_SELH 0x00010000
628 #define AR5K_AR5212_GPIOCR_NONE(n) (0 << ((n) * 2))
629 #define AR5K_AR5212_GPIOCR_OUT0(n) (1 << ((n) * 2))
630 #define AR5K_AR5212_GPIOCR_OUT1(n) (2 << ((n) * 2))
631 #define AR5K_AR5212_GPIOCR_ALL(n) (3 << ((n) * 2))
632 #define AR5K_AR5212_GPIOCR_INT_SEL(n) ((n) << 12)
633
634 #define AR5K_AR5212_NUM_GPIO 6
635
636
637
638
639 #define AR5K_AR5212_GPIODO 0x4018
640
641
642
643
644 #define AR5K_AR5212_GPIODI 0x401c
645 #define AR5K_AR5212_GPIODI_M 0x0000002f
646
647
648
649
650 #define AR5K_AR5212_SREV 0x4020
651 #define AR5K_AR5212_SREV_REV 0x0000000f
652 #define AR5K_AR5212_SREV_REV_S 0
653 #define AR5K_AR5212_SREV_VER 0x000000ff
654 #define AR5K_AR5212_SREV_VER_S 4
655
656
657
658
659 #define AR5K_AR5212_EEPROM_BASE 0x6000
660 #define AR5K_AR5212_EEPROM_DATA 0x6004
661 #define AR5K_AR5212_EEPROM_CMD 0x6008
662 #define AR5K_AR5212_EEPROM_CMD_READ 0x00000001
663 #define AR5K_AR5212_EEPROM_CMD_WRITE 0x00000002
664 #define AR5K_AR5212_EEPROM_CMD_RESET 0x00000004
665 #define AR5K_AR5212_EEPROM_STATUS 0x600c
666 #define AR5K_AR5212_EEPROM_STAT_RDERR 0x00000001
667 #define AR5K_AR5212_EEPROM_STAT_RDDONE 0x00000002
668 #define AR5K_AR5212_EEPROM_STAT_WRERR 0x00000004
669 #define AR5K_AR5212_EEPROM_STAT_WRDONE 0x00000008
670 #define AR5K_AR5212_EEPROM_CFG 0x6010
671
672
673
674
675
676 #define AR5K_AR5212_PCU_MIN 0x8000
677 #define AR5K_AR5212_PCU_MAX 0x8fff
678
679
680
681
682 #define AR5K_AR5212_STA_ID0 0x8000
683
684
685
686
687 #define AR5K_AR5212_STA_ID1 0x8004
688 #define AR5K_AR5212_STA_ID1_AP 0x00010000
689 #define AR5K_AR5212_STA_ID1_ADHOC 0x00020000
690 #define AR5K_AR5212_STA_ID1_PWR_SV 0x00040000
691 #define AR5K_AR5212_STA_ID1_NO_KEYSRCH 0x00080000
692 #define AR5K_AR5212_STA_ID1_PCF 0x00100000
693 #define AR5K_AR5212_STA_ID1_DEFAULT_ANTENNA 0x00200000
694 #define AR5K_AR5212_STA_ID1_DESC_ANTENNA 0x00400000
695 #define AR5K_AR5212_STA_ID1_RTS_DEFAULT_ANTENNA 0x00800000
696 #define AR5K_AR5212_STA_ID1_ACKCTS_6MB 0x01000000
697 #define AR5K_AR5212_STA_ID1_BASE_RATE_11B 0x02000000
698
699
700
701
702 #define AR5K_AR5212_BSS_ID0 0x8008
703
704
705
706
707
708
709 #define AR5K_AR5212_BSS_ID1 0x800c
710 #define AR5K_AR5212_BSS_ID1_AID 0xffff0000
711 #define AR5K_AR5212_BSS_ID1_AID_S 16
712
713
714
715
716 #define AR5K_AR5212_SLOT_TIME 0x8010
717
718
719
720
721 #define AR5K_AR5212_TIME_OUT 0x8014
722 #define AR5K_AR5212_TIME_OUT_ACK 0x00001fff
723 #define AR5K_AR5212_TIME_OUT_ACK_S 0
724 #define AR5K_AR5212_TIME_OUT_CTS 0x1fff0000
725 #define AR5K_AR5212_TIME_OUT_CTS_S 16
726
727
728
729
730 #define AR5K_AR5212_RSSI_THR 0x8018
731 #define AR5K_AR5212_RSSI_THR_M 0x000000ff
732 #define AR5K_AR5212_RSSI_THR_BMISS 0x0000ff00
733 #define AR5K_AR5212_RSSI_THR_BMISS_S 8
734
735
736
737
738 #define AR5K_AR5212_USEC 0x801c
739 #define AR5K_AR5212_USEC_1 0x0000007f
740 #define AR5K_AR5212_USEC_1_S 0
741 #define AR5K_AR5212_USEC_32 0x00003f80
742 #define AR5K_AR5212_USEC_32_S 7
743 #define AR5K_AR5212_USEC_TX_LATENCY 0x007fc000
744 #define AR5K_AR5212_USEC_TX_LATENCY_S 14
745 #define AR5K_AR5212_USEC_RX_LATENCY 0x1f800000
746 #define AR5K_AR5212_USEC_RX_LATENCY_S 23
747 #define AR5K_AR5311_USEC_TX_LATENCY 0x000fc000
748 #define AR5K_AR5311_USEC_TX_LATENCY_S 14
749 #define AR5K_AR5311_USEC_RX_LATENCY 0x03f00000
750 #define AR5K_AR5311_USEC_RX_LATENCY_S 20
751
752
753
754
755 #define AR5K_AR5212_BEACON 0x8020
756 #define AR5K_AR5212_BEACON_PERIOD 0x0000ffff
757 #define AR5K_AR5212_BEACON_PERIOD_S 0
758 #define AR5K_AR5212_BEACON_TIM 0x007f0000
759 #define AR5K_AR5212_BEACON_TIM_S 16
760 #define AR5K_AR5212_BEACON_ENABLE 0x00800000
761 #define AR5K_AR5212_BEACON_RESET_TSF 0x01000000
762
763
764
765
766 #define AR5K_AR5212_CFP_PERIOD 0x8024
767
768
769
770
771 #define AR5K_AR5212_TIMER0 0x8028
772
773
774
775
776 #define AR5K_AR5212_TIMER1 0x802c
777
778
779
780
781 #define AR5K_AR5212_TIMER2 0x8030
782
783
784
785
786 #define AR5K_AR5212_TIMER3 0x8034
787
788
789
790
791 #define AR5K_AR5212_CFP_DUR 0x8038
792
793
794
795
796 #define AR5K_AR5212_RX_FILTER 0x803c
797 #define AR5K_AR5212_RX_FILTER_UNICAST 0x00000001
798 #define AR5K_AR5212_RX_FILTER_MULTICAST 0x00000002
799 #define AR5K_AR5212_RX_FILTER_BROADCAST 0x00000004
800 #define AR5K_AR5212_RX_FILTER_CONTROL 0x00000008
801 #define AR5K_AR5212_RX_FILTER_BEACON 0x00000010
802 #define AR5K_AR5212_RX_FILTER_PROMISC 0x00000020
803 #define AR5K_AR5212_RX_FILTER_XR_POLL 0x00000040
804 #define AR5K_AR5212_RX_FILTER_PROBE_REQ 0x00000080
805
806
807
808
809 #define AR5K_AR5212_MCAST_FIL0 0x8040
810
811
812
813
814 #define AR5K_AR5212_MCAST_FIL1 0x8044
815
816
817
818
819 #define AR5K_AR5212_DIAG_SW 0x8048
820 #define AR5K_AR5212_DIAG_SW_DIS_WEP_ACK 0x00000001
821 #define AR5K_AR5212_DIAG_SW_DIS_ACK 0x00000002
822 #define AR5K_AR5212_DIAG_SW_DIS_CTS 0x00000004
823 #define AR5K_AR5212_DIAG_SW_DIS_ENC 0x00000008
824 #define AR5K_AR5212_DIAG_SW_DIS_DEC 0x00000010
825 #define AR5K_AR5212_DIAG_SW_DIS_RX 0x00000020
826 #define AR5K_AR5212_DIAG_SW_LOOP_BACK 0x00000040
827 #define AR5K_AR5212_DIAG_SW_CORR_FCS 0x00000080
828 #define AR5K_AR5212_DIAG_SW_CHAN_INFO 0x00000100
829 #define AR5K_AR5212_DIAG_SW_EN_SCRAM_SEED 0x00000200
830 #define AR5K_AR5212_DIAG_SW_ECO_ENABLE 0x00000400
831 #define AR5K_AR5212_DIAG_SW_SCRAM_SEED_M 0x0001fc00
832 #define AR5K_AR5212_DIAG_SW_SCRAM_SEED_S 10
833 #define AR5K_AR5212_DIAG_SW_FRAME_NV0 0x00020000
834 #define AR5K_AR5212_DIAG_SW_OBSPT_M 0x000c0000
835 #define AR5K_AR5212_DIAG_SW_OBSPT_S 18
836
837
838
839
840 #define AR5K_AR5212_TSF_L32 0x804c
841
842
843
844
845 #define AR5K_AR5212_TSF_U32 0x8050
846
847
848
849
850 #define AR5K_AR5212_ADDAC_TEST 0x8054
851
852
853
854
855 #define AR5K_AR5212_DEFAULT_ANTENNA 0x8058
856
857
858
859
860 #define AR5K_AR5212_LAST_TSTP 0x8080
861
862
863
864
865 #define AR5K_AR5212_NAV 0x8084
866
867
868
869
870 #define AR5K_AR5212_RTS_OK 0x8088
871
872
873
874
875 #define AR5K_AR5212_RTS_FAIL 0x808c
876
877
878
879
880 #define AR5K_AR5212_ACK_FAIL 0x8090
881
882
883
884
885 #define AR5K_AR5212_FCS_FAIL 0x8094
886
887
888
889
890 #define AR5K_AR5212_BEACON_CNT 0x8098
891
892
893
894
895 #define AR5K_AR5212_XRMODE 0x80c0
896 #define AR5K_AR5212_XRMODE_POLL_TYPE_M 0x0000003f
897 #define AR5K_AR5212_XRMODE_POLL_TYPE_S 0
898 #define AR5K_AR5212_XRMODE_POLL_SUBTYPE_M 0x0000003c
899 #define AR5K_AR5212_XRMODE_POLL_SUBTYPE_S 2
900 #define AR5K_AR5212_XRMODE_POLL_WAIT_ALL 0x00000080
901 #define AR5K_AR5212_XRMODE_SIFS_DELAY 0x000fff00
902 #define AR5K_AR5212_XRMODE_FRAME_HOLD_M 0xfff00000
903 #define AR5K_AR5212_XRMODE_FRAME_HOLD_S 20
904
905
906
907
908 #define AR5K_AR5212_XRDELAY 0x80c4
909 #define AR5K_AR5212_XRDELAY_SLOT_DELAY_M 0x0000ffff
910 #define AR5K_AR5212_XRDELAY_SLOT_DELAY_S 0
911 #define AR5K_AR5212_XRDELAY_CHIRP_DELAY_M 0xffff0000
912 #define AR5K_AR5212_XRDELAY_CHIRP_DELAY_S 16
913
914
915
916
917 #define AR5K_AR5212_XRTIMEOUT 0x80c8
918 #define AR5K_AR5212_XRTIMEOUT_CHIRP_M 0x0000ffff
919 #define AR5K_AR5212_XRTIMEOUT_CHIRP_S 0
920 #define AR5K_AR5212_XRTIMEOUT_POLL_M 0xffff0000
921 #define AR5K_AR5212_XRTIMEOUT_POLL_S 16
922
923
924
925
926 #define AR5K_AR5212_XRCHIRP 0x80cc
927 #define AR5K_AR5212_XRCHIRP_SEND 0x00000001
928 #define AR5K_AR5212_XRCHIRP_GAP 0xffff0000
929
930
931
932
933 #define AR5K_AR5212_XRSTOMP 0x80d0
934 #define AR5K_AR5212_XRSTOMP_TX 0x00000001
935 #define AR5K_AR5212_XRSTOMP_RX_ABORT 0x00000002
936 #define AR5K_AR5212_XRSTOMP_RSSI_THRES 0x0000ff00
937
938
939
940
941 #define AR5K_AR5212_SLEEP0 0x80d4
942 #define AR5K_AR5212_SLEEP0_NEXT_DTIM 0x0007ffff
943 #define AR5K_AR5212_SLEEP0_NEXT_DTIM_S 0
944 #define AR5K_AR5212_SLEEP0_ASSUME_DTIM 0x00080000
945 #define AR5K_AR5212_SLEEP0_ENH_SLEEP_EN 0x00100000
946 #define AR5K_AR5212_SLEEP0_CABTO 0xff000000
947 #define AR5K_AR5212_SLEEP0_CABTO_S 24
948
949
950
951
952 #define AR5K_AR5212_SLEEP1 0x80d8
953 #define AR5K_AR5212_SLEEP1_NEXT_TIM 0x0007ffff
954 #define AR5K_AR5212_SLEEP1_NEXT_TIM_S 0
955 #define AR5K_AR5212_SLEEP1_BEACON_TO 0xff000000
956 #define AR5K_AR5212_SLEEP1_BEACON_TO_S 24
957
958
959
960
961 #define AR5K_AR5212_SLEEP2 0x80dc
962 #define AR5K_AR5212_SLEEP2_TIM_PER 0x0000ffff
963 #define AR5K_AR5212_SLEEP2_TIM_PER_S 0
964 #define AR5K_AR5212_SLEEP2_DTIM_PER 0xffff0000
965 #define AR5K_AR5212_SLEEP2_DTIM_PER_S 16
966
967
968
969
970 #define AR5K_AR5212_BSS_IDM0 0x80e0
971 #define AR5K_AR5212_BSS_IDM1 0x80e4
972
973
974
975
976 #define AR5K_AR5212_TXPC 0x80e8
977 #define AR5K_AR5212_TXPC_ACK_M 0x0000003f
978 #define AR5K_AR5212_TXPC_ACK_S 0
979 #define AR5K_AR5212_TXPC_CTS_M 0x00003f00
980 #define AR5K_AR5212_TXPC_CTS_S 8
981 #define AR5K_AR5212_TXPC_CHIRP_M 0x003f0000
982 #define AR5K_AR5212_TXPC_CHIRP_S 22
983
984
985
986
987 #define AR5K_AR5212_PROFCNT_TX 0x80ec
988 #define AR5K_AR5212_PROFCNT_RX 0x80f0
989 #define AR5K_AR5212_PROFCNT_RXCLR 0x80f4
990 #define AR5K_AR5212_PROFCNT_CYCLE 0x80f8
991
992
993
994
995 #define AR5K_AR5212_TSF_PARM 0x8104
996 #define AR5K_AR5212_TSF_PARM_INC_M 0x000000ff
997 #define AR5K_AR5212_TSF_PARM_INC_S 0
998
999
1000
1001
1002 #define AR5K_AR5212_PHY_ERR_FIL 0x810c
1003 #define AR5K_AR5212_PHY_ERR_FIL_RADAR 0x00000020
1004 #define AR5K_AR5212_PHY_ERR_FIL_OFDM 0x00020000
1005 #define AR5K_AR5212_PHY_ERR_FIL_CCK 0x02000000
1006
1007
1008
1009
1010 #define AR5K_AR5212_RATE_DUR_0 0x8700
1011 #define AR5K_AR5212_RATE_DUR(_n) (AR5K_AR5212_RATE_DUR_0 + ((_n) << 2))
1012
1013
1014
1015
1016 #define AR5K_AR5212_KEYTABLE_0 0x8800
1017 #define AR5K_AR5212_KEYTABLE(_n) (AR5K_AR5212_KEYTABLE_0 + ((_n) << 5))
1018 #define AR5K_AR5212_KEYTABLE_OFF(_n, x) (AR5K_AR5212_KEYTABLE(_n) + (x << 2))
1019 #define AR5K_AR5212_KEYTABLE_TYPE(_n) AR5K_AR5212_KEYTABLE_OFF(_n, 5)
1020 #define AR5K_AR5212_KEYTABLE_TYPE_40 0x00000000
1021 #define AR5K_AR5212_KEYTABLE_TYPE_104 0x00000001
1022 #define AR5K_AR5212_KEYTABLE_TYPE_128 0x00000003
1023 #define AR5K_AR5212_KEYTABLE_TYPE_TKIP 0x00000004
1024 #define AR5K_AR5212_KEYTABLE_TYPE_AES 0x00000005
1025 #define AR5K_AR5212_KEYTABLE_TYPE_CCM 0x00000006
1026 #define AR5K_AR5212_KEYTABLE_TYPE_NULL 0x00000007
1027 #define AR5K_AR5212_KEYTABLE_ANTENNA 0x00000008
1028 #define AR5K_AR5212_KEYTABLE_MAC0(_n) AR5K_AR5212_KEYTABLE_OFF(_n, 6)
1029 #define AR5K_AR5212_KEYTABLE_MAC1(_n) AR5K_AR5212_KEYTABLE_OFF(_n, 7)
1030 #define AR5K_AR5212_KEYTABLE_VALID 0x00008000
1031
1032 #define AR5K_AR5212_KEYTABLE_SIZE 128
1033 #define AR5K_AR5212_KEYCACHE_SIZE 8
1034
1035
1036
1037
1038 #define AR5K_AR5212_PHY(_n) (0x9800 + ((_n) << 2))
1039 #define AR5K_AR5212_PHY_SHIFT_2GHZ 0x00004007
1040 #define AR5K_AR5212_PHY_SHIFT_5GHZ 0x00000007
1041
1042
1043
1044
1045 #define AR5K_AR5212_PHY_TURBO 0x9804
1046 #define AR5K_AR5212_PHY_TURBO_MODE 0x00000001
1047 #define AR5K_AR5212_PHY_TURBO_SHORT 0x00000002
1048
1049
1050
1051
1052 #define AR5K_AR5212_PHY_AGC 0x9808
1053 #define AR5K_AR5212_PHY_AGC_DISABLE 0x08000000
1054
1055
1056
1057
1058 #define AR5K_AR5212_PHY_TIMING_3 0x9814
1059 #define AR5K_AR5212_PHY_TIMING_3_DSC_MAN 0xfffe0000
1060 #define AR5K_AR5212_PHY_TIMING_3_DSC_MAN_S 17
1061 #define AR5K_AR5212_PHY_TIMING_3_DSC_EXP 0x0001e000
1062 #define AR5K_AR5212_PHY_TIMING_3_DSC_EXP_S 13
1063
1064
1065
1066
1067 #define AR5K_AR5212_PHY_CHIP_ID 0x9818
1068
1069
1070
1071
1072 #define AR5K_AR5212_PHY_ACTIVE 0x981c
1073 #define AR5K_AR5212_PHY_ENABLE 0x00000001
1074 #define AR5K_AR5212_PHY_DISABLE 0x00000002
1075
1076
1077
1078
1079 #define AR5K_AR5212_PHY_AGCCTL 0x9860
1080 #define AR5K_AR5212_PHY_AGCCTL_CAL 0x00000001
1081 #define AR5K_AR5212_PHY_AGCCTL_NF 0x00000002
1082
1083
1084
1085
1086 #define AR5K_AR5212_PHY_NF 0x9864
1087 #define AR5K_AR5212_PHY_NF_M 0x000001ff
1088 #define AR5K_AR5212_PHY_NF_ACTIVE 0x00000100
1089 #define AR5K_AR5212_PHY_NF_RVAL(_n) (((_n) >> 19) & AR5K_AR5212_PHY_NF_M)
1090 #define AR5K_AR5212_PHY_NF_AVAL(_n) (-((_n) ^ AR5K_AR5212_PHY_NF_M) + 1)
1091 #define AR5K_AR5212_PHY_NF_SVAL(_n) (((_n) & AR5K_AR5212_PHY_NF_M) | (1 << 9))
1092
1093
1094
1095
1096 #define AR5K_AR5212_PHY_SCR 0x9870
1097 #define AR5K_AR5212_PHY_SCR_32MHZ 0x0000001f
1098 #define AR5K_AR5212_PHY_SLMT 0x9874
1099 #define AR5K_AR5212_PHY_SLMT_32MHZ 0x0000007f
1100 #define AR5K_AR5212_PHY_SCAL 0x9878
1101 #define AR5K_AR5212_PHY_SCAL_32MHZ 0x0000000e
1102
1103
1104
1105
1106 #define AR5K_AR5212_PHY_PLL 0x987c
1107 #define AR5K_AR5212_PHY_PLL_40MHZ 0x000000aa
1108 #define AR5K_AR5212_PHY_PLL_44MHZ 0x000000ab
1109 #define AR5K_AR5212_PHY_PLL_AR5111 0x00000000
1110 #define AR5K_AR5212_PHY_PLL_AR5112 0x00000040
1111
1112
1113
1114
1115 #define AR5K_AR5212_PHY_RX_DELAY 0x9914
1116 #define AR5K_AR5212_PHY_RX_DELAY_M 0x00003fff
1117
1118
1119
1120
1121 #define AR5K_AR5212_PHY_IQ 0x9920
1122 #define AR5K_AR5212_PHY_IQ_CORR_Q_Q_COFF 0x0000001f
1123 #define AR5K_AR5212_PHY_IQ_CORR_Q_I_COFF 0x000007e0
1124 #define AR5K_AR5212_PHY_IQ_CORR_Q_I_COFF_S 5
1125 #define AR5K_AR5212_PHY_IQ_CORR_ENABLE 0x00000800
1126 #define AR5K_AR5212_PHY_IQ_CAL_NUM_LOG_MAX 0x0000f000
1127 #define AR5K_AR5212_PHY_IQ_CAL_NUM_LOG_MAX_S 12
1128 #define AR5K_AR5212_PHY_IQ_RUN 0x00010000
1129
1130
1131
1132
1133 #define AR5K_AR5212_PHY_PAPD_PROBE 0x9930
1134 #define AR5K_AR5212_PHY_PAPD_PROBE_TXPOWER 0x00007e00
1135 #define AR5K_AR5212_PHY_PAPD_PROBE_TXPOWER_S 9
1136 #define AR5K_AR5212_PHY_PAPD_PROBE_TX_NEXT 0x00008000
1137 #define AR5K_AR5212_PHY_PAPD_PROBE_TYPE 0x01800000
1138 #define AR5K_AR5212_PHY_PAPD_PROBE_TYPE_S 23
1139 #define AR5K_AR5212_PHY_PAPD_PROBE_TYPE_OFDM 0
1140 #define AR5K_AR5212_PHY_PAPD_PROBE_TYPE_XR 1
1141 #define AR5K_AR5212_PHY_PAPD_PROBE_TYPE_CCK 2
1142 #define AR5K_AR5212_PHY_PAPD_PROBE_GAINF 0xfe000000
1143 #define AR5K_AR5212_PHY_PAPD_PROBE_GAINF_S 25
1144
1145
1146
1147
1148 #define AR5K_AR5212_PHY_TXPOWER_RATE1 0x9934
1149 #define AR5K_AR5212_PHY_TXPOWER_RATE2 0x9938
1150 #define AR5K_AR5212_PHY_TXPOWER_RATE_MAX 0x993c
1151 #define AR5K_AR5212_PHY_TXPOWER_RATE_MAX_TPC_ENABLE 0x00000040
1152 #define AR5K_AR5212_PHY_TXPOWER_RATE3 0xa234
1153 #define AR5K_AR5212_PHY_TXPOWER_RATE4 0xa238
1154
1155
1156
1157
1158 #define AR5K_AR5212_PHY_FC 0x9944
1159 #define AR5K_AR5212_PHY_FC_TX_CLIP 0x00000038
1160 #define AR5K_AR5212_PHY_FC_TX_CLIP_S 3
1161
1162
1163
1164
1165 #define AR5K_AR5212_PHY_RADAR 0x9954
1166 #define AR5K_AR5212_PHY_RADAR_DISABLE 0x00000000
1167 #define AR5K_AR5212_PHY_RADAR_ENABLE 0x00000001
1168
1169
1170
1171
1172 #define AR5K_AR5212_PHY_ANT_SWITCH_TABLE_0 0x9960
1173 #define AR5K_AR5212_PHY_ANT_SWITCH_TABLE_1 0x9964
1174
1175
1176
1177
1178 #define AR5K_AR5212_PHY_SCLOCK 0x99f0
1179 #define AR5K_AR5212_PHY_SCLOCK_32MHZ 0x0000000c
1180 #define AR5K_AR5212_PHY_SDELAY 0x99f4
1181 #define AR5K_AR5212_PHY_SDELAY_32MHZ 0x000000ff
1182 #define AR5K_AR5212_PHY_SPENDING 0x99f8
1183 #define AR5K_AR5212_PHY_SPENDING_AR5111 0x00000018
1184 #define AR5K_AR5212_PHY_SPENDING_AR5112 0x00000014
1185
1186
1187
1188
1189 #define AR5K_AR5212_PHY_IQRES_CAL_PWR_I 0x9c10
1190 #define AR5K_AR5212_PHY_IQRES_CAL_PWR_Q 0x9c14
1191 #define AR5K_AR5212_PHY_IQRES_CAL_CORR 0x9c18
1192
1193
1194
1195
1196 #define AR5K_AR5212_PHY_CURRENT_RSSI 0x9c1c
1197
1198
1199
1200
1201 #define AR5K_AR5212_PHY_PCDAC_TXPOWER(_n) (0xa180 + ((_n) << 2))
1202
1203
1204
1205
1206 #define AR5K_AR5212_PHY_MODE 0x0a200
1207 #define AR5K_AR5212_PHY_MODE_MOD 0x00000001
1208 #define AR5K_AR5212_PHY_MODE_MOD_OFDM 0
1209 #define AR5K_AR5212_PHY_MODE_MOD_CCK 1
1210 #define AR5K_AR5212_PHY_MODE_FREQ 0x00000002
1211 #define AR5K_AR5212_PHY_MODE_FREQ_5GHZ 0
1212 #define AR5K_AR5212_PHY_MODE_FREQ_2GHZ 2
1213 #define AR5K_AR5212_PHY_MODE_MOD_DYN 0x00000004
1214 #define AR5K_AR5212_PHY_MODE_RAD 0x00000008
1215 #define AR5K_AR5212_PHY_MODE_RAD_AR5111 0
1216 #define AR5K_AR5212_PHY_MODE_RAD_AR5112 8
1217 #define AR5K_AR5212_PHY_MODE_XR 0x00000010
1218
1219
1220
1221
1222 #define AR5K_AR5212_PHY_CCKTXCTL 0xa204
1223 #define AR5K_AR5212_PHY_CCKTXCTL_WORLD 0x00000000
1224 #define AR5K_AR5212_PHY_CCKTXCTL_JAPAN 0x00000010
1225
1226
1227
1228
1229 #define AR5K_AR5212_PHY_GAIN_2GHZ 0xa20c
1230 #define AR5K_AR5212_PHY_GAIN_2GHZ_MARGIN_TXRX 0x00fc0000
1231 #define AR5K_AR5212_PHY_GAIN_2GHZ_MARGIN_TXRX_S 18
1232
1233 #endif