Go to the documentation of this file. 49 #define AR5K_NOQCU_TXDP0 0x0000 50 #define AR5K_NOQCU_TXDP1 0x0004 55 #define AR5K_CR 0x0008 56 #define AR5K_CR_TXE0 0x00000001 57 #define AR5K_CR_TXE1 0x00000002 58 #define AR5K_CR_RXE 0x00000004 59 #define AR5K_CR_TXD0 0x00000008 60 #define AR5K_CR_TXD1 0x00000010 61 #define AR5K_CR_RXD 0x00000020 62 #define AR5K_CR_SWI 0x00000040 67 #define AR5K_RXDP 0x000c 72 #define AR5K_CFG 0x0014 73 #define AR5K_CFG_SWTD 0x00000001 74 #define AR5K_CFG_SWTB 0x00000002 75 #define AR5K_CFG_SWRD 0x00000004 76 #define AR5K_CFG_SWRB 0x00000008 77 #define AR5K_CFG_SWRG 0x00000010 78 #define AR5K_CFG_IBSS 0x00000020 79 #define AR5K_CFG_PHY_OK 0x00000100 80 #define AR5K_CFG_EEBS 0x00000200 81 #define AR5K_CFG_CLKGD 0x00000400 82 #define AR5K_CFG_TXCNT 0x00007800 83 #define AR5K_CFG_TXCNT_S 11 84 #define AR5K_CFG_TXFSTAT 0x00008000 85 #define AR5K_CFG_TXFSTRT 0x00010000 86 #define AR5K_CFG_PCI_THRES 0x00060000 87 #define AR5K_CFG_PCI_THRES_S 17 92 #define AR5K_IER 0x0024 93 #define AR5K_IER_DISABLE 0x00000000 94 #define AR5K_IER_ENABLE 0x00000001 105 #define AR5K_BCR 0x0028 106 #define AR5K_BCR_AP 0x00000000 107 #define AR5K_BCR_ADHOC 0x00000001 108 #define AR5K_BCR_BDMAE 0x00000002 109 #define AR5K_BCR_TQ1FV 0x00000004 110 #define AR5K_BCR_TQ1V 0x00000008 111 #define AR5K_BCR_BCGET 0x00000010 116 #define AR5K_RTSD0 0x0028 117 #define AR5K_RTSD0_6 0x000000ff 118 #define AR5K_RTSD0_6_S 0 119 #define AR5K_RTSD0_9 0x0000ff00 120 #define AR5K_RTSD0_9_S 8 121 #define AR5K_RTSD0_12 0x00ff0000 122 #define AR5K_RTSD0_12_S 16 123 #define AR5K_RTSD0_18 0xff000000 124 #define AR5K_RTSD0_18_S 24 142 #define AR5K_BSR 0x002c 143 #define AR5K_BSR_BDLYSW 0x00000001 144 #define AR5K_BSR_BDLYDMA 0x00000002 145 #define AR5K_BSR_TXQ1F 0x00000004 146 #define AR5K_BSR_ATIMDLY 0x00000008 147 #define AR5K_BSR_SNPADHOC 0x00000100 148 #define AR5K_BSR_SNPBDMAE 0x00000200 149 #define AR5K_BSR_SNPTQ1FV 0x00000400 150 #define AR5K_BSR_SNPTQ1V 0x00000800 151 #define AR5K_BSR_SNAPSHOTSVALID 0x00001000 152 #define AR5K_BSR_SWBA_CNT 0x00ff0000 157 #define AR5K_RTSD1 0x002c 158 #define AR5K_RTSD1_24 0x000000ff 159 #define AR5K_RTSD1_24_S 0 160 #define AR5K_RTSD1_36 0x0000ff00 161 #define AR5K_RTSD1_36_S 8 162 #define AR5K_RTSD1_48 0x00ff0000 163 #define AR5K_RTSD1_48_S 16 164 #define AR5K_RTSD1_54 0xff000000 165 #define AR5K_RTSD1_54_S 24 171 #define AR5K_TXCFG 0x0030 172 #define AR5K_TXCFG_SDMAMR 0x00000007 173 #define AR5K_TXCFG_SDMAMR_S 0 174 #define AR5K_TXCFG_B_MODE 0x00000008 175 #define AR5K_TXCFG_TXFSTP 0x00000008 176 #define AR5K_TXCFG_TXFULL 0x000003f0 177 #define AR5K_TXCFG_TXFULL_S 4 178 #define AR5K_TXCFG_TXFULL_0B 0x00000000 179 #define AR5K_TXCFG_TXFULL_64B 0x00000010 180 #define AR5K_TXCFG_TXFULL_128B 0x00000020 181 #define AR5K_TXCFG_TXFULL_192B 0x00000030 182 #define AR5K_TXCFG_TXFULL_256B 0x00000040 183 #define AR5K_TXCFG_TXCONT_EN 0x00000080 184 #define AR5K_TXCFG_DMASIZE 0x00000100 185 #define AR5K_TXCFG_JUMBO_DESC_EN 0x00000400 186 #define AR5K_TXCFG_ADHOC_BCN_ATIM 0x00000800 187 #define AR5K_TXCFG_ATIM_WINDOW_DEF_DIS 0x00001000 188 #define AR5K_TXCFG_RTSRND 0x00001000 189 #define AR5K_TXCFG_FRMPAD_DIS 0x00002000 190 #define AR5K_TXCFG_RDY_CBR_DIS 0x00004000 191 #define AR5K_TXCFG_JUMBO_FRM_MODE 0x00008000 192 #define AR5K_TXCFG_DCU_DBL_BUF_DIS 0x00008000 193 #define AR5K_TXCFG_DCU_CACHING_DIS 0x00010000 198 #define AR5K_RXCFG 0x0034 199 #define AR5K_RXCFG_SDMAMW 0x00000007 200 #define AR5K_RXCFG_SDMAMW_S 0 201 #define AR5K_RXCFG_ZLFDMA 0x00000008 202 #define AR5K_RXCFG_DEF_ANTENNA 0x00000010 203 #define AR5K_RXCFG_JUMBO_RXE 0x00000020 204 #define AR5K_RXCFG_JUMBO_WRAP 0x00000040 205 #define AR5K_RXCFG_SLE_ENTRY 0x00000080 211 #define AR5K_RXJLA 0x0038 216 #define AR5K_MIBC 0x0040 217 #define AR5K_MIBC_COW 0x00000001 218 #define AR5K_MIBC_FMC 0x00000002 219 #define AR5K_MIBC_CMC 0x00000004 220 #define AR5K_MIBC_MCS 0x00000008 225 #define AR5K_TOPS 0x0044 226 #define AR5K_TOPS_M 0x0000ffff 231 #define AR5K_RXNOFRM 0x0048 232 #define AR5K_RXNOFRM_M 0x000003ff 237 #define AR5K_TXNOFRM 0x004c 238 #define AR5K_TXNOFRM_M 0x000003ff 239 #define AR5K_TXNOFRM_QCU 0x000ffc00 240 #define AR5K_TXNOFRM_QCU_S 10 245 #define AR5K_RPGTO 0x0050 246 #define AR5K_RPGTO_M 0x000003ff 251 #define AR5K_RFCNT 0x0054 252 #define AR5K_RFCNT_M 0x0000001f 253 #define AR5K_RFCNT_RFCL 0x0000000f 259 #define AR5K_MISC 0x0058 260 #define AR5K_MISC_DMA_OBS_M 0x000001e0 261 #define AR5K_MISC_DMA_OBS_S 5 262 #define AR5K_MISC_MISC_OBS_M 0x00000e00 263 #define AR5K_MISC_MISC_OBS_S 9 264 #define AR5K_MISC_MAC_OBS_LSB_M 0x00007000 265 #define AR5K_MISC_MAC_OBS_LSB_S 12 266 #define AR5K_MISC_MAC_OBS_MSB_M 0x00038000 267 #define AR5K_MISC_MAC_OBS_MSB_S 15 268 #define AR5K_MISC_LED_DECAY 0x001c0000 269 #define AR5K_MISC_LED_BLINK 0x00e00000 275 #define AR5K_QCUDCU_CLKGT 0x005c 276 #define AR5K_QCUDCU_CLKGT_QCU 0x0000ffff 277 #define AR5K_QCUDCU_CLKGT_DCU 0x07ff0000 287 #define AR5K_ISR 0x001c 288 #define AR5K_PISR 0x0080 289 #define AR5K_ISR_RXOK 0x00000001 290 #define AR5K_ISR_RXDESC 0x00000002 291 #define AR5K_ISR_RXERR 0x00000004 292 #define AR5K_ISR_RXNOFRM 0x00000008 293 #define AR5K_ISR_RXEOL 0x00000010 294 #define AR5K_ISR_RXORN 0x00000020 295 #define AR5K_ISR_TXOK 0x00000040 296 #define AR5K_ISR_TXDESC 0x00000080 297 #define AR5K_ISR_TXERR 0x00000100 298 #define AR5K_ISR_TXNOFRM 0x00000200 299 #define AR5K_ISR_TXEOL 0x00000400 300 #define AR5K_ISR_TXURN 0x00000800 301 #define AR5K_ISR_MIB 0x00001000 302 #define AR5K_ISR_SWI 0x00002000 303 #define AR5K_ISR_RXPHY 0x00004000 304 #define AR5K_ISR_RXKCM 0x00008000 305 #define AR5K_ISR_SWBA 0x00010000 306 #define AR5K_ISR_BRSSI 0x00020000 307 #define AR5K_ISR_BMISS 0x00040000 308 #define AR5K_ISR_HIUERR 0x00080000 309 #define AR5K_ISR_BNR 0x00100000 310 #define AR5K_ISR_MCABT 0x00100000 311 #define AR5K_ISR_RXCHIRP 0x00200000 312 #define AR5K_ISR_SSERR 0x00200000 313 #define AR5K_ISR_DPERR 0x00400000 314 #define AR5K_ISR_RXDOPPLER 0x00400000 315 #define AR5K_ISR_TIM 0x00800000 316 #define AR5K_ISR_BCNMISC 0x00800000 318 #define AR5K_ISR_GPIO 0x01000000 319 #define AR5K_ISR_QCBRORN 0x02000000 320 #define AR5K_ISR_QCBRURN 0x04000000 321 #define AR5K_ISR_QTRIG 0x08000000 329 #define AR5K_SISR0 0x0084 330 #define AR5K_SISR0_QCU_TXOK 0x000003ff 331 #define AR5K_SISR0_QCU_TXOK_S 0 332 #define AR5K_SISR0_QCU_TXDESC 0x03ff0000 333 #define AR5K_SISR0_QCU_TXDESC_S 16 335 #define AR5K_SISR1 0x0088 336 #define AR5K_SISR1_QCU_TXERR 0x000003ff 337 #define AR5K_SISR1_QCU_TXERR_S 0 338 #define AR5K_SISR1_QCU_TXEOL 0x03ff0000 339 #define AR5K_SISR1_QCU_TXEOL_S 16 341 #define AR5K_SISR2 0x008c 342 #define AR5K_SISR2_QCU_TXURN 0x000003ff 343 #define AR5K_SISR2_QCU_TXURN_S 0 344 #define AR5K_SISR2_MCABT 0x00100000 345 #define AR5K_SISR2_SSERR 0x00200000 346 #define AR5K_SISR2_DPERR 0x00400000 347 #define AR5K_SISR2_TIM 0x01000000 348 #define AR5K_SISR2_CAB_END 0x02000000 349 #define AR5K_SISR2_DTIM_SYNC 0x04000000 350 #define AR5K_SISR2_BCN_TIMEOUT 0x08000000 351 #define AR5K_SISR2_CAB_TIMEOUT 0x10000000 352 #define AR5K_SISR2_DTIM 0x20000000 353 #define AR5K_SISR2_TSFOOR 0x80000000 355 #define AR5K_SISR3 0x0090 356 #define AR5K_SISR3_QCBRORN 0x000003ff 357 #define AR5K_SISR3_QCBRORN_S 0 358 #define AR5K_SISR3_QCBRURN 0x03ff0000 359 #define AR5K_SISR3_QCBRURN_S 16 361 #define AR5K_SISR4 0x0094 362 #define AR5K_SISR4_QTRIG 0x000003ff 363 #define AR5K_SISR4_QTRIG_S 0 368 #define AR5K_RAC_PISR 0x00c0 369 #define AR5K_RAC_SISR0 0x00c4 370 #define AR5K_RAC_SISR1 0x00c8 371 #define AR5K_RAC_SISR2 0x00cc 372 #define AR5K_RAC_SISR3 0x00d0 373 #define AR5K_RAC_SISR4 0x00d4 381 #define AR5K_IMR 0x0020 382 #define AR5K_PIMR 0x00a0 383 #define AR5K_IMR_RXOK 0x00000001 384 #define AR5K_IMR_RXDESC 0x00000002 385 #define AR5K_IMR_RXERR 0x00000004 386 #define AR5K_IMR_RXNOFRM 0x00000008 387 #define AR5K_IMR_RXEOL 0x00000010 388 #define AR5K_IMR_RXORN 0x00000020 389 #define AR5K_IMR_TXOK 0x00000040 390 #define AR5K_IMR_TXDESC 0x00000080 391 #define AR5K_IMR_TXERR 0x00000100 392 #define AR5K_IMR_TXNOFRM 0x00000200 393 #define AR5K_IMR_TXEOL 0x00000400 394 #define AR5K_IMR_TXURN 0x00000800 395 #define AR5K_IMR_MIB 0x00001000 396 #define AR5K_IMR_SWI 0x00002000 397 #define AR5K_IMR_RXPHY 0x00004000 398 #define AR5K_IMR_RXKCM 0x00008000 399 #define AR5K_IMR_SWBA 0x00010000 400 #define AR5K_IMR_BRSSI 0x00020000 401 #define AR5K_IMR_BMISS 0x00040000 402 #define AR5K_IMR_HIUERR 0x00080000 403 #define AR5K_IMR_BNR 0x00100000 404 #define AR5K_IMR_MCABT 0x00100000 405 #define AR5K_IMR_RXCHIRP 0x00200000 406 #define AR5K_IMR_SSERR 0x00200000 407 #define AR5K_IMR_DPERR 0x00400000 408 #define AR5K_IMR_RXDOPPLER 0x00400000 409 #define AR5K_IMR_TIM 0x00800000 410 #define AR5K_IMR_BCNMISC 0x00800000 412 #define AR5K_IMR_GPIO 0x01000000 413 #define AR5K_IMR_QCBRORN 0x02000000 414 #define AR5K_IMR_QCBRURN 0x04000000 415 #define AR5K_IMR_QTRIG 0x08000000 420 #define AR5K_SIMR0 0x00a4 421 #define AR5K_SIMR0_QCU_TXOK 0x000003ff 422 #define AR5K_SIMR0_QCU_TXOK_S 0 423 #define AR5K_SIMR0_QCU_TXDESC 0x03ff0000 424 #define AR5K_SIMR0_QCU_TXDESC_S 16 426 #define AR5K_SIMR1 0x00a8 427 #define AR5K_SIMR1_QCU_TXERR 0x000003ff 428 #define AR5K_SIMR1_QCU_TXERR_S 0 429 #define AR5K_SIMR1_QCU_TXEOL 0x03ff0000 430 #define AR5K_SIMR1_QCU_TXEOL_S 16 432 #define AR5K_SIMR2 0x00ac 433 #define AR5K_SIMR2_QCU_TXURN 0x000003ff 434 #define AR5K_SIMR2_QCU_TXURN_S 0 435 #define AR5K_SIMR2_MCABT 0x00100000 436 #define AR5K_SIMR2_SSERR 0x00200000 437 #define AR5K_SIMR2_DPERR 0x00400000 438 #define AR5K_SIMR2_TIM 0x01000000 439 #define AR5K_SIMR2_CAB_END 0x02000000 440 #define AR5K_SIMR2_DTIM_SYNC 0x04000000 441 #define AR5K_SIMR2_BCN_TIMEOUT 0x08000000 442 #define AR5K_SIMR2_CAB_TIMEOUT 0x10000000 443 #define AR5K_SIMR2_DTIM 0x20000000 444 #define AR5K_SIMR2_TSFOOR 0x80000000 446 #define AR5K_SIMR3 0x00b0 447 #define AR5K_SIMR3_QCBRORN 0x000003ff 448 #define AR5K_SIMR3_QCBRORN_S 0 449 #define AR5K_SIMR3_QCBRURN 0x03ff0000 450 #define AR5K_SIMR3_QCBRURN_S 16 452 #define AR5K_SIMR4 0x00b4 453 #define AR5K_SIMR4_QTRIG 0x000003ff 454 #define AR5K_SIMR4_QTRIG_S 0 464 #define AR5K_DCM_ADDR 0x0400 465 #define AR5K_DCM_DATA 0x0404 470 #define AR5K_WOW_PCFG 0x0410 471 #define AR5K_WOW_PCFG_PAT_MATCH_EN 0x00000001 472 #define AR5K_WOW_PCFG_LONG_FRAME_POL 0x00000002 473 #define AR5K_WOW_PCFG_WOBMISS 0x00000004 474 #define AR5K_WOW_PCFG_PAT_0_EN 0x00000100 475 #define AR5K_WOW_PCFG_PAT_1_EN 0x00000200 476 #define AR5K_WOW_PCFG_PAT_2_EN 0x00000400 477 #define AR5K_WOW_PCFG_PAT_3_EN 0x00000800 478 #define AR5K_WOW_PCFG_PAT_4_EN 0x00001000 479 #define AR5K_WOW_PCFG_PAT_5_EN 0x00002000 484 #define AR5K_WOW_PAT_IDX 0x0414 489 #define AR5K_WOW_PAT_DATA 0x0418 490 #define AR5K_WOW_PAT_DATA_0_3_V 0x00000001 491 #define AR5K_WOW_PAT_DATA_1_4_V 0x00000100 492 #define AR5K_WOW_PAT_DATA_2_5_V 0x00010000 493 #define AR5K_WOW_PAT_DATA_0_3_M 0x01000000 494 #define AR5K_WOW_PAT_DATA_1_4_M 0x04000000 495 #define AR5K_WOW_PAT_DATA_2_5_M 0x10000000 500 #define AR5K_DCCFG 0x0420 501 #define AR5K_DCCFG_GLOBAL_EN 0x00000001 502 #define AR5K_DCCFG_BYPASS_EN 0x00000002 503 #define AR5K_DCCFG_BCAST_EN 0x00000004 504 #define AR5K_DCCFG_MCAST_EN 0x00000008 509 #define AR5K_CCFG 0x0600 510 #define AR5K_CCFG_WINDOW_SIZE 0x00000007 511 #define AR5K_CCFG_CPC_EN 0x00000008 513 #define AR5K_CCFG_CCU 0x0604 514 #define AR5K_CCFG_CCU_CUP_EN 0x00000001 515 #define AR5K_CCFG_CCU_CREDIT 0x00000002 516 #define AR5K_CCFG_CCU_CD_THRES 0x00000080 517 #define AR5K_CCFG_CCU_CUP_LCNT 0x00010000 518 #define AR5K_CCFG_CCU_INIT 0x00100200 523 #define AR5K_CPC0 0x0610 524 #define AR5K_CPC1 0x0614 525 #define AR5K_CPC2 0x0618 526 #define AR5K_CPC3 0x061c 527 #define AR5K_CPCOVF 0x0620 548 #define AR5K_QUEUE_REG(_r, _q) (((_q) << 2) + _r) 549 #define AR5K_QCU_GLOBAL_READ(_r, _q) (AR5K_REG_READ(_r) & (1 << _q)) 550 #define AR5K_QCU_GLOBAL_WRITE(_r, _q) AR5K_REG_WRITE(_r, (1 << _q)) 555 #define AR5K_QCU_TXDP_BASE 0x0800 556 #define AR5K_QUEUE_TXDP(_q) AR5K_QUEUE_REG(AR5K_QCU_TXDP_BASE, _q) 561 #define AR5K_QCU_TXE 0x0840 562 #define AR5K_ENABLE_QUEUE(_q) AR5K_QCU_GLOBAL_WRITE(AR5K_QCU_TXE, _q) 563 #define AR5K_QUEUE_ENABLED(_q) AR5K_QCU_GLOBAL_READ(AR5K_QCU_TXE, _q) 568 #define AR5K_QCU_TXD 0x0880 569 #define AR5K_DISABLE_QUEUE(_q) AR5K_QCU_GLOBAL_WRITE(AR5K_QCU_TXD, _q) 570 #define AR5K_QUEUE_DISABLED(_q) AR5K_QCU_GLOBAL_READ(AR5K_QCU_TXD, _q) 575 #define AR5K_QCU_CBRCFG_BASE 0x08c0 576 #define AR5K_QCU_CBRCFG_INTVAL 0x00ffffff 577 #define AR5K_QCU_CBRCFG_INTVAL_S 0 578 #define AR5K_QCU_CBRCFG_ORN_THRES 0xff000000 579 #define AR5K_QCU_CBRCFG_ORN_THRES_S 24 580 #define AR5K_QUEUE_CBRCFG(_q) AR5K_QUEUE_REG(AR5K_QCU_CBRCFG_BASE, _q) 585 #define AR5K_QCU_RDYTIMECFG_BASE 0x0900 586 #define AR5K_QCU_RDYTIMECFG_INTVAL 0x00ffffff 587 #define AR5K_QCU_RDYTIMECFG_INTVAL_S 0 588 #define AR5K_QCU_RDYTIMECFG_ENABLE 0x01000000 589 #define AR5K_QUEUE_RDYTIMECFG(_q) AR5K_QUEUE_REG(AR5K_QCU_RDYTIMECFG_BASE, _q) 594 #define AR5K_QCU_ONESHOTARM_SET 0x0940 595 #define AR5K_QCU_ONESHOTARM_SET_M 0x0000ffff 600 #define AR5K_QCU_ONESHOTARM_CLEAR 0x0980 601 #define AR5K_QCU_ONESHOTARM_CLEAR_M 0x0000ffff 606 #define AR5K_QCU_MISC_BASE 0x09c0 607 #define AR5K_QCU_MISC_FRSHED_M 0x0000000f 608 #define AR5K_QCU_MISC_FRSHED_ASAP 0 609 #define AR5K_QCU_MISC_FRSHED_CBR 1 610 #define AR5K_QCU_MISC_FRSHED_DBA_GT 2 611 #define AR5K_QCU_MISC_FRSHED_TIM_GT 3 612 #define AR5K_QCU_MISC_FRSHED_BCN_SENT_GT 4 613 #define AR5K_QCU_MISC_ONESHOT_ENABLE 0x00000010 614 #define AR5K_QCU_MISC_CBREXP_DIS 0x00000020 615 #define AR5K_QCU_MISC_CBREXP_BCN_DIS 0x00000040 616 #define AR5K_QCU_MISC_BCN_ENABLE 0x00000080 617 #define AR5K_QCU_MISC_CBR_THRES_ENABLE 0x00000100 618 #define AR5K_QCU_MISC_RDY_VEOL_POLICY 0x00000200 619 #define AR5K_QCU_MISC_CBR_RESET_CNT 0x00000400 620 #define AR5K_QCU_MISC_DCU_EARLY 0x00000800 621 #define AR5K_QCU_MISC_DCU_CMP_EN 0x00001000 622 #define AR5K_QUEUE_MISC(_q) AR5K_QUEUE_REG(AR5K_QCU_MISC_BASE, _q) 628 #define AR5K_QCU_STS_BASE 0x0a00 629 #define AR5K_QCU_STS_FRMPENDCNT 0x00000003 630 #define AR5K_QCU_STS_CBREXPCNT 0x0000ff00 631 #define AR5K_QUEUE_STATUS(_q) AR5K_QUEUE_REG(AR5K_QCU_STS_BASE, _q) 636 #define AR5K_QCU_RDYTIMESHDN 0x0a40 637 #define AR5K_QCU_RDYTIMESHDN_M 0x000003ff 642 #define AR5K_QCU_CBB_SELECT 0x0b00 643 #define AR5K_QCU_CBB_ADDR 0x0b04 644 #define AR5K_QCU_CBB_ADDR_S 9 650 #define AR5K_QCU_CBCFG 0x0b08 673 #define AR5K_DCU_QCUMASK_BASE 0x1000 674 #define AR5K_DCU_QCUMASK_M 0x000003ff 675 #define AR5K_QUEUE_QCUMASK(_q) AR5K_QUEUE_REG(AR5K_DCU_QCUMASK_BASE, _q) 680 #define AR5K_DCU_LCL_IFS_BASE 0x1040 681 #define AR5K_DCU_LCL_IFS_CW_MIN 0x000003ff 682 #define AR5K_DCU_LCL_IFS_CW_MIN_S 0 683 #define AR5K_DCU_LCL_IFS_CW_MAX 0x000ffc00 684 #define AR5K_DCU_LCL_IFS_CW_MAX_S 10 685 #define AR5K_DCU_LCL_IFS_AIFS 0x0ff00000 686 #define AR5K_DCU_LCL_IFS_AIFS_S 20 687 #define AR5K_DCU_LCL_IFS_AIFS_MAX 0xfc 688 #define AR5K_QUEUE_DFS_LOCAL_IFS(_q) AR5K_QUEUE_REG(AR5K_DCU_LCL_IFS_BASE, _q) 693 #define AR5K_DCU_RETRY_LMT_BASE 0x1080 694 #define AR5K_DCU_RETRY_LMT_SH_RETRY 0x0000000f 695 #define AR5K_DCU_RETRY_LMT_SH_RETRY_S 0 696 #define AR5K_DCU_RETRY_LMT_LG_RETRY 0x000000f0 697 #define AR5K_DCU_RETRY_LMT_LG_RETRY_S 4 698 #define AR5K_DCU_RETRY_LMT_SSH_RETRY 0x00003f00 699 #define AR5K_DCU_RETRY_LMT_SSH_RETRY_S 8 700 #define AR5K_DCU_RETRY_LMT_SLG_RETRY 0x000fc000 701 #define AR5K_DCU_RETRY_LMT_SLG_RETRY_S 14 702 #define AR5K_QUEUE_DFS_RETRY_LIMIT(_q) AR5K_QUEUE_REG(AR5K_DCU_RETRY_LMT_BASE, _q) 707 #define AR5K_DCU_CHAN_TIME_BASE 0x10c0 708 #define AR5K_DCU_CHAN_TIME_DUR 0x000fffff 709 #define AR5K_DCU_CHAN_TIME_DUR_S 0 710 #define AR5K_DCU_CHAN_TIME_ENABLE 0x00100000 711 #define AR5K_QUEUE_DFS_CHANNEL_TIME(_q) AR5K_QUEUE_REG(AR5K_DCU_CHAN_TIME_BASE, _q) 725 #define AR5K_DCU_MISC_BASE 0x1100 726 #define AR5K_DCU_MISC_BACKOFF 0x0000003f 727 #define AR5K_DCU_MISC_ETS_RTS_POL 0x00000040 730 #define AR5K_DCU_MISC_ETS_CW_POL 0x00000080 732 #define AR5K_DCU_MISC_FRAG_WAIT 0x00000100 733 #define AR5K_DCU_MISC_BACKOFF_FRAG 0x00000200 734 #define AR5K_DCU_MISC_HCFPOLL_ENABLE 0x00000800 735 #define AR5K_DCU_MISC_BACKOFF_PERSIST 0x00001000 736 #define AR5K_DCU_MISC_FRMPRFTCH_ENABLE 0x00002000 737 #define AR5K_DCU_MISC_VIRTCOL 0x0000c000 738 #define AR5K_DCU_MISC_VIRTCOL_NORMAL 0 739 #define AR5K_DCU_MISC_VIRTCOL_IGNORE 1 740 #define AR5K_DCU_MISC_BCN_ENABLE 0x00010000 741 #define AR5K_DCU_MISC_ARBLOCK_CTL 0x00060000 742 #define AR5K_DCU_MISC_ARBLOCK_CTL_S 17 743 #define AR5K_DCU_MISC_ARBLOCK_CTL_NONE 0 744 #define AR5K_DCU_MISC_ARBLOCK_CTL_INTFRM 1 745 #define AR5K_DCU_MISC_ARBLOCK_CTL_GLOBAL 2 746 #define AR5K_DCU_MISC_ARBLOCK_IGNORE 0x00080000 747 #define AR5K_DCU_MISC_SEQ_NUM_INCR_DIS 0x00100000 748 #define AR5K_DCU_MISC_POST_FR_BKOFF_DIS 0x00200000 749 #define AR5K_DCU_MISC_VIRT_COLL_POLICY 0x00400000 750 #define AR5K_DCU_MISC_BLOWN_IFS_POLICY 0x00800000 751 #define AR5K_DCU_MISC_SEQNUM_CTL 0x01000000 752 #define AR5K_QUEUE_DFS_MISC(_q) AR5K_QUEUE_REG(AR5K_DCU_MISC_BASE, _q) 757 #define AR5K_DCU_SEQNUM_BASE 0x1140 758 #define AR5K_DCU_SEQNUM_M 0x00000fff 759 #define AR5K_QUEUE_DCU_SEQNUM(_q) AR5K_QUEUE_REG(AR5K_DCU_SEQNUM_BASE, _q) 764 #define AR5K_DCU_GBL_IFS_SIFS 0x1030 765 #define AR5K_DCU_GBL_IFS_SIFS_M 0x0000ffff 770 #define AR5K_DCU_GBL_IFS_SLOT 0x1070 771 #define AR5K_DCU_GBL_IFS_SLOT_M 0x0000ffff 776 #define AR5K_DCU_GBL_IFS_EIFS 0x10b0 777 #define AR5K_DCU_GBL_IFS_EIFS_M 0x0000ffff 789 #define AR5K_DCU_GBL_IFS_MISC 0x10f0 790 #define AR5K_DCU_GBL_IFS_MISC_LFSR_SLICE 0x00000007 791 #define AR5K_DCU_GBL_IFS_MISC_TURBO_MODE 0x00000008 792 #define AR5K_DCU_GBL_IFS_MISC_SIFS_DUR_USEC 0x000003f0 793 #define AR5K_DCU_GBL_IFS_MISC_USEC_DUR 0x000ffc00 794 #define AR5K_DCU_GBL_IFS_MISC_USEC_DUR_S 10 795 #define AR5K_DCU_GBL_IFS_MISC_DCU_ARB_DELAY 0x00300000 796 #define AR5K_DCU_GBL_IFS_MISC_SIFS_CNT_RST 0x00400000 797 #define AR5K_DCU_GBL_IFS_MISC_AIFS_CNT_RST 0x00800000 798 #define AR5K_DCU_GBL_IFS_MISC_RND_LFSR_SL_DIS 0x01000000 803 #define AR5K_DCU_FP 0x1230 804 #define AR5K_DCU_FP_NOBURST_DCU_EN 0x00000001 805 #define AR5K_DCU_FP_NOBURST_EN 0x00000010 806 #define AR5K_DCU_FP_BURST_DCU_EN 0x00000020 811 #define AR5K_DCU_TXP 0x1270 812 #define AR5K_DCU_TXP_M 0x000003ff 813 #define AR5K_DCU_TXP_STATUS 0x00010000 820 #define AR5K_DCU_TX_FILTER_0_BASE 0x1038 821 #define AR5K_DCU_TX_FILTER_0(_n) (AR5K_DCU_TX_FILTER_0_BASE + (_n * 64)) 826 #define AR5K_DCU_TX_FILTER_1_BASE 0x103c 827 #define AR5K_DCU_TX_FILTER_1(_n) (AR5K_DCU_TX_FILTER_1_BASE + (_n * 64)) 832 #define AR5K_DCU_TX_FILTER_CLR 0x143c 837 #define AR5K_DCU_TX_FILTER_SET 0x147c 842 #define AR5K_RESET_CTL 0x4000 843 #define AR5K_RESET_CTL_PCU 0x00000001 844 #define AR5K_RESET_CTL_DMA 0x00000002 845 #define AR5K_RESET_CTL_BASEBAND 0x00000002 846 #define AR5K_RESET_CTL_MAC 0x00000004 847 #define AR5K_RESET_CTL_PHY 0x00000008 848 #define AR5K_RESET_CTL_PCI 0x00000010 853 #define AR5K_SLEEP_CTL 0x4004 854 #define AR5K_SLEEP_CTL_SLDUR 0x0000ffff 855 #define AR5K_SLEEP_CTL_SLDUR_S 0 856 #define AR5K_SLEEP_CTL_SLE 0x00030000 857 #define AR5K_SLEEP_CTL_SLE_S 16 858 #define AR5K_SLEEP_CTL_SLE_WAKE 0x00000000 859 #define AR5K_SLEEP_CTL_SLE_SLP 0x00010000 860 #define AR5K_SLEEP_CTL_SLE_ALLOW 0x00020000 861 #define AR5K_SLEEP_CTL_SLE_UNITS 0x00000008 862 #define AR5K_SLEEP_CTL_DUR_TIM_POL 0x00040000 863 #define AR5K_SLEEP_CTL_DUR_WRITE_POL 0x00080000 864 #define AR5K_SLEEP_CTL_SLE_POL 0x00100000 869 #define AR5K_INTPEND 0x4008 870 #define AR5K_INTPEND_M 0x00000001 875 #define AR5K_SFR 0x400c 876 #define AR5K_SFR_EN 0x00000001 882 #define AR5K_PCICFG 0x4010 883 #define AR5K_PCICFG_EEAE 0x00000001 884 #define AR5K_PCICFG_SLEEP_CLOCK_EN 0x00000002 885 #define AR5K_PCICFG_CLKRUNEN 0x00000004 886 #define AR5K_PCICFG_EESIZE 0x00000018 887 #define AR5K_PCICFG_EESIZE_S 3 888 #define AR5K_PCICFG_EESIZE_4K 0 889 #define AR5K_PCICFG_EESIZE_8K 1 890 #define AR5K_PCICFG_EESIZE_16K 2 891 #define AR5K_PCICFG_EESIZE_FAIL 3 892 #define AR5K_PCICFG_LED 0x00000060 893 #define AR5K_PCICFG_LED_NONE 0x00000000 894 #define AR5K_PCICFG_LED_PEND 0x00000020 895 #define AR5K_PCICFG_LED_ASSOC 0x00000040 896 #define AR5K_PCICFG_BUS_SEL 0x00000380 897 #define AR5K_PCICFG_CBEFIX_DIS 0x00000400 898 #define AR5K_PCICFG_SL_INTEN 0x00000800 899 #define AR5K_PCICFG_LED_BCTL 0x00001000 900 #define AR5K_PCICFG_RETRY_FIX 0x00001000 901 #define AR5K_PCICFG_SL_INPEN 0x00002000 902 #define AR5K_PCICFG_SPWR_DN 0x00010000 903 #define AR5K_PCICFG_LEDMODE 0x000e0000 904 #define AR5K_PCICFG_LEDMODE_PROP 0x00000000 905 #define AR5K_PCICFG_LEDMODE_PROM 0x00020000 906 #define AR5K_PCICFG_LEDMODE_PWR 0x00040000 907 #define AR5K_PCICFG_LEDMODE_RAND 0x00060000 908 #define AR5K_PCICFG_LEDBLINK 0x00700000 909 #define AR5K_PCICFG_LEDBLINK_S 20 910 #define AR5K_PCICFG_LEDSLOW 0x00800000 911 #define AR5K_PCICFG_LEDSTATE \ 912 (AR5K_PCICFG_LED | AR5K_PCICFG_LEDMODE | \ 913 AR5K_PCICFG_LEDBLINK | AR5K_PCICFG_LEDSLOW) 914 #define AR5K_PCICFG_SLEEP_CLOCK_RATE 0x03000000 915 #define AR5K_PCICFG_SLEEP_CLOCK_RATE_S 24 933 #define AR5K_NUM_GPIO 6 935 #define AR5K_GPIOCR 0x4014 936 #define AR5K_GPIOCR_INT_ENA 0x00008000 937 #define AR5K_GPIOCR_INT_SELL 0x00000000 938 #define AR5K_GPIOCR_INT_SELH 0x00010000 939 #define AR5K_GPIOCR_IN(n) (0 << ((n) * 2)) 940 #define AR5K_GPIOCR_OUT0(n) (1 << ((n) * 2)) 941 #define AR5K_GPIOCR_OUT1(n) (2 << ((n) * 2)) 942 #define AR5K_GPIOCR_OUT(n) (3 << ((n) * 2)) 943 #define AR5K_GPIOCR_INT_SEL(n) ((n) << 12) 948 #define AR5K_GPIODO 0x4018 953 #define AR5K_GPIODI 0x401c 954 #define AR5K_GPIODI_M 0x0000002f 959 #define AR5K_SREV 0x4020 960 #define AR5K_SREV_REV 0x0000000f 961 #define AR5K_SREV_REV_S 0 962 #define AR5K_SREV_VER 0x000000ff 963 #define AR5K_SREV_VER_S 4 968 #define AR5K_TXEPOST 0x4028 973 #define AR5K_QCU_SLEEP_MASK 0x402c 983 #define AR5K_5414_CBCFG 0x4068 984 #define AR5K_5414_CBCFG_BUF_DIS 0x10 990 #define AR5K_PCIE_PM_CTL 0x4068 992 #define AR5K_PCIE_PM_CTL_L1_WHEN_D2 0x00000001 994 #define AR5K_PCIE_PM_CTL_L0_L0S_CLEAR 0x00000002 995 #define AR5K_PCIE_PM_CTL_L0_L0S_EN 0x00000004 996 #define AR5K_PCIE_PM_CTL_LDRESET_EN 0x00000008 999 #define AR5K_PCIE_PM_CTL_PME_EN 0x00000010 1000 #define AR5K_PCIE_PM_CTL_AUX_PWR_DET 0x00000020 1001 #define AR5K_PCIE_PM_CTL_PME_CLEAR 0x00000040 1002 #define AR5K_PCIE_PM_CTL_PSM_D0 0x00000080 1003 #define AR5K_PCIE_PM_CTL_PSM_D1 0x00000100 1004 #define AR5K_PCIE_PM_CTL_PSM_D2 0x00000200 1005 #define AR5K_PCIE_PM_CTL_PSM_D3 0x00000400 1010 #define AR5K_PCIE_WAEN 0x407c 1016 #define AR5K_PCIE_SERDES 0x4080 1017 #define AR5K_PCIE_SERDES_RESET 0x4084 1056 #define AR5K_EEPROM_BASE 0x6000 1061 #define AR5K_EEPROM_DATA_5211 0x6004 1062 #define AR5K_EEPROM_DATA_5210 0x6800 1063 #define AR5K_EEPROM_DATA (ah->ah_version == AR5K_AR5210 ? \ 1064 AR5K_EEPROM_DATA_5210 : AR5K_EEPROM_DATA_5211) 1069 #define AR5K_EEPROM_CMD 0x6008 1070 #define AR5K_EEPROM_CMD_READ 0x00000001 1071 #define AR5K_EEPROM_CMD_WRITE 0x00000002 1072 #define AR5K_EEPROM_CMD_RESET 0x00000004 1077 #define AR5K_EEPROM_STAT_5210 0x6c00 1078 #define AR5K_EEPROM_STAT_5211 0x600c 1079 #define AR5K_EEPROM_STATUS (ah->ah_version == AR5K_AR5210 ? \ 1080 AR5K_EEPROM_STAT_5210 : AR5K_EEPROM_STAT_5211) 1081 #define AR5K_EEPROM_STAT_RDERR 0x00000001 1082 #define AR5K_EEPROM_STAT_RDDONE 0x00000002 1083 #define AR5K_EEPROM_STAT_WRERR 0x00000004 1084 #define AR5K_EEPROM_STAT_WRDONE 0x00000008 1089 #define AR5K_EEPROM_CFG 0x6010 1090 #define AR5K_EEPROM_CFG_SIZE 0x00000003 1091 #define AR5K_EEPROM_CFG_SIZE_AUTO 0 1092 #define AR5K_EEPROM_CFG_SIZE_4KBIT 1 1093 #define AR5K_EEPROM_CFG_SIZE_8KBIT 2 1094 #define AR5K_EEPROM_CFG_SIZE_16KBIT 3 1095 #define AR5K_EEPROM_CFG_WR_WAIT_DIS 0x00000004 1096 #define AR5K_EEPROM_CFG_CLK_RATE 0x00000018 1097 #define AR5K_EEPROM_CFG_CLK_RATE_S 3 1098 #define AR5K_EEPROM_CFG_CLK_RATE_156KHZ 0 1099 #define AR5K_EEPROM_CFG_CLK_RATE_312KHZ 1 1100 #define AR5K_EEPROM_CFG_CLK_RATE_625KHZ 2 1101 #define AR5K_EEPROM_CFG_PROT_KEY 0x00ffff00 1102 #define AR5K_EEPROM_CFG_PROT_KEY_S 8 1103 #define AR5K_EEPROM_CFG_LIND_EN 0x01000000 1118 #define AR5K_PCU_MIN 0x8000 1119 #define AR5K_PCU_MAX 0x8fff 1124 #define AR5K_STA_ID0 0x8000 1125 #define AR5K_STA_ID0_ARRD_L32 0xffffffff 1130 #define AR5K_STA_ID1 0x8004 1131 #define AR5K_STA_ID1_ADDR_U16 0x0000ffff 1132 #define AR5K_STA_ID1_AP 0x00010000 1133 #define AR5K_STA_ID1_ADHOC 0x00020000 1134 #define AR5K_STA_ID1_PWR_SV 0x00040000 1135 #define AR5K_STA_ID1_NO_KEYSRCH 0x00080000 1136 #define AR5K_STA_ID1_NO_PSPOLL 0x00100000 1137 #define AR5K_STA_ID1_PCF_5211 0x00100000 1138 #define AR5K_STA_ID1_PCF_5210 0x00200000 1139 #define AR5K_STA_ID1_PCF (ah->ah_version == AR5K_AR5210 ? \ 1140 AR5K_STA_ID1_PCF_5210 : AR5K_STA_ID1_PCF_5211) 1141 #define AR5K_STA_ID1_DEFAULT_ANTENNA 0x00200000 1142 #define AR5K_STA_ID1_DESC_ANTENNA 0x00400000 1143 #define AR5K_STA_ID1_RTS_DEF_ANTENNA 0x00800000 1144 #define AR5K_STA_ID1_ACKCTS_6MB 0x01000000 1145 #define AR5K_STA_ID1_BASE_RATE_11B 0x02000000 1146 #define AR5K_STA_ID1_SELFGEN_DEF_ANT 0x04000000 1147 #define AR5K_STA_ID1_CRYPT_MIC_EN 0x08000000 1148 #define AR5K_STA_ID1_KEYSRCH_MODE 0x10000000 1149 #define AR5K_STA_ID1_PRESERVE_SEQ_NUM 0x20000000 1150 #define AR5K_STA_ID1_CBCIV_ENDIAN 0x40000000 1151 #define AR5K_STA_ID1_KEYSRCH_MCAST 0x80000000 1156 #define AR5K_BSS_ID0 0x8008 1163 #define AR5K_BSS_ID1 0x800c 1164 #define AR5K_BSS_ID1_AID 0xffff0000 1165 #define AR5K_BSS_ID1_AID_S 16 1170 #define AR5K_SLOT_TIME 0x8010 1175 #define AR5K_TIME_OUT 0x8014 1176 #define AR5K_TIME_OUT_ACK 0x00001fff 1177 #define AR5K_TIME_OUT_ACK_S 0 1178 #define AR5K_TIME_OUT_CTS 0x1fff0000 1179 #define AR5K_TIME_OUT_CTS_S 16 1184 #define AR5K_RSSI_THR 0x8018 1185 #define AR5K_RSSI_THR_M 0x000000ff 1186 #define AR5K_RSSI_THR_BMISS_5210 0x00000700 1187 #define AR5K_RSSI_THR_BMISS_5210_S 8 1188 #define AR5K_RSSI_THR_BMISS_5211 0x0000ff00 1189 #define AR5K_RSSI_THR_BMISS_5211_S 8 1190 #define AR5K_RSSI_THR_BMISS (ah->ah_version == AR5K_AR5210 ? \ 1191 AR5K_RSSI_THR_BMISS_5210 : AR5K_RSSI_THR_BMISS_5211) 1192 #define AR5K_RSSI_THR_BMISS_S 8 1207 #define AR5K_NODCU_RETRY_LMT 0x801c 1208 #define AR5K_NODCU_RETRY_LMT_SH_RETRY 0x0000000f 1209 #define AR5K_NODCU_RETRY_LMT_SH_RETRY_S 0 1210 #define AR5K_NODCU_RETRY_LMT_LG_RETRY 0x000000f0 1211 #define AR5K_NODCU_RETRY_LMT_LG_RETRY_S 4 1212 #define AR5K_NODCU_RETRY_LMT_SSH_RETRY 0x00003f00 1213 #define AR5K_NODCU_RETRY_LMT_SSH_RETRY_S 8 1214 #define AR5K_NODCU_RETRY_LMT_SLG_RETRY 0x000fc000 1215 #define AR5K_NODCU_RETRY_LMT_SLG_RETRY_S 14 1216 #define AR5K_NODCU_RETRY_LMT_CW_MIN 0x3ff00000 1217 #define AR5K_NODCU_RETRY_LMT_CW_MIN_S 20 1222 #define AR5K_USEC_5210 0x8020 1223 #define AR5K_USEC_5211 0x801c 1224 #define AR5K_USEC (ah->ah_version == AR5K_AR5210 ? \ 1225 AR5K_USEC_5210 : AR5K_USEC_5211) 1226 #define AR5K_USEC_1 0x0000007f 1227 #define AR5K_USEC_1_S 0 1228 #define AR5K_USEC_32 0x00003f80 1229 #define AR5K_USEC_32_S 7 1230 #define AR5K_USEC_TX_LATENCY_5211 0x007fc000 1231 #define AR5K_USEC_TX_LATENCY_5211_S 14 1232 #define AR5K_USEC_RX_LATENCY_5211 0x1f800000 1233 #define AR5K_USEC_RX_LATENCY_5211_S 23 1234 #define AR5K_USEC_TX_LATENCY_5210 0x000fc000 1235 #define AR5K_USEC_TX_LATENCY_5210_S 14 1236 #define AR5K_USEC_RX_LATENCY_5210 0x03f00000 1237 #define AR5K_USEC_RX_LATENCY_5210_S 20 1242 #define AR5K_BEACON_5210 0x8024 1243 #define AR5K_BEACON_5211 0x8020 1244 #define AR5K_BEACON (ah->ah_version == AR5K_AR5210 ? \ 1245 AR5K_BEACON_5210 : AR5K_BEACON_5211) 1246 #define AR5K_BEACON_PERIOD 0x0000ffff 1247 #define AR5K_BEACON_PERIOD_S 0 1248 #define AR5K_BEACON_TIM 0x007f0000 1249 #define AR5K_BEACON_TIM_S 16 1250 #define AR5K_BEACON_ENABLE 0x00800000 1251 #define AR5K_BEACON_RESET_TSF 0x01000000 1256 #define AR5K_CFP_PERIOD_5210 0x8028 1257 #define AR5K_CFP_PERIOD_5211 0x8024 1258 #define AR5K_CFP_PERIOD (ah->ah_version == AR5K_AR5210 ? \ 1259 AR5K_CFP_PERIOD_5210 : AR5K_CFP_PERIOD_5211) 1264 #define AR5K_TIMER0_5210 0x802c 1265 #define AR5K_TIMER0_5211 0x8028 1266 #define AR5K_TIMER0 (ah->ah_version == AR5K_AR5210 ? \ 1267 AR5K_TIMER0_5210 : AR5K_TIMER0_5211) 1272 #define AR5K_TIMER1_5210 0x8030 1273 #define AR5K_TIMER1_5211 0x802c 1274 #define AR5K_TIMER1 (ah->ah_version == AR5K_AR5210 ? \ 1275 AR5K_TIMER1_5210 : AR5K_TIMER1_5211) 1280 #define AR5K_TIMER2_5210 0x8034 1281 #define AR5K_TIMER2_5211 0x8030 1282 #define AR5K_TIMER2 (ah->ah_version == AR5K_AR5210 ? \ 1283 AR5K_TIMER2_5210 : AR5K_TIMER2_5211) 1288 #define AR5K_TIMER3_5210 0x8038 1289 #define AR5K_TIMER3_5211 0x8034 1290 #define AR5K_TIMER3 (ah->ah_version == AR5K_AR5210 ? \ 1291 AR5K_TIMER3_5210 : AR5K_TIMER3_5211) 1297 #define AR5K_IFS0 0x8040 1298 #define AR5K_IFS0_SIFS 0x000007ff 1299 #define AR5K_IFS0_SIFS_S 0 1300 #define AR5K_IFS0_DIFS 0x007ff800 1301 #define AR5K_IFS0_DIFS_S 11 1306 #define AR5K_IFS1 0x8044 1307 #define AR5K_IFS1_PIFS 0x00000fff 1308 #define AR5K_IFS1_PIFS_S 0 1309 #define AR5K_IFS1_EIFS 0x03fff000 1310 #define AR5K_IFS1_EIFS_S 12 1311 #define AR5K_IFS1_CS_EN 0x04000000 1317 #define AR5K_CFP_DUR_5210 0x8048 1318 #define AR5K_CFP_DUR_5211 0x8038 1319 #define AR5K_CFP_DUR (ah->ah_version == AR5K_AR5210 ? \ 1320 AR5K_CFP_DUR_5210 : AR5K_CFP_DUR_5211) 1325 #define AR5K_RX_FILTER_5210 0x804c 1326 #define AR5K_RX_FILTER_5211 0x803c 1327 #define AR5K_RX_FILTER (ah->ah_version == AR5K_AR5210 ? \ 1328 AR5K_RX_FILTER_5210 : AR5K_RX_FILTER_5211) 1329 #define AR5K_RX_FILTER_UCAST 0x00000001 1330 #define AR5K_RX_FILTER_MCAST 0x00000002 1331 #define AR5K_RX_FILTER_BCAST 0x00000004 1332 #define AR5K_RX_FILTER_CONTROL 0x00000008 1333 #define AR5K_RX_FILTER_BEACON 0x00000010 1334 #define AR5K_RX_FILTER_PROM 0x00000020 1335 #define AR5K_RX_FILTER_XRPOLL 0x00000040 1336 #define AR5K_RX_FILTER_PROBEREQ 0x00000080 1337 #define AR5K_RX_FILTER_PHYERR_5212 0x00000100 1338 #define AR5K_RX_FILTER_RADARERR_5212 0x00000200 1339 #define AR5K_RX_FILTER_PHYERR_5211 0x00000040 1340 #define AR5K_RX_FILTER_RADARERR_5211 0x00000080 1341 #define AR5K_RX_FILTER_PHYERR \ 1342 ((ah->ah_version == AR5K_AR5211 ? \ 1343 AR5K_RX_FILTER_PHYERR_5211 : AR5K_RX_FILTER_PHYERR_5212)) 1344 #define AR5K_RX_FILTER_RADARERR \ 1345 ((ah->ah_version == AR5K_AR5211 ? \ 1346 AR5K_RX_FILTER_RADARERR_5211 : AR5K_RX_FILTER_RADARERR_5212)) 1351 #define AR5K_MCAST_FILTER0_5210 0x8050 1352 #define AR5K_MCAST_FILTER0_5211 0x8040 1353 #define AR5K_MCAST_FILTER0 (ah->ah_version == AR5K_AR5210 ? \ 1354 AR5K_MCAST_FILTER0_5210 : AR5K_MCAST_FILTER0_5211) 1359 #define AR5K_MCAST_FILTER1_5210 0x8054 1360 #define AR5K_MCAST_FILTER1_5211 0x8044 1361 #define AR5K_MCAST_FILTER1 (ah->ah_version == AR5K_AR5210 ? \ 1362 AR5K_MCAST_FILTER1_5210 : AR5K_MCAST_FILTER1_5211) 1368 #define AR5K_TX_MASK0 0x8058 1373 #define AR5K_TX_MASK1 0x805c 1378 #define AR5K_CLR_TMASK 0x8060 1383 #define AR5K_TRIG_LVL 0x8064 1392 #define AR5K_DIAG_SW_5210 0x8068 1393 #define AR5K_DIAG_SW_5211 0x8048 1394 #define AR5K_DIAG_SW (ah->ah_version == AR5K_AR5210 ? \ 1395 AR5K_DIAG_SW_5210 : AR5K_DIAG_SW_5211) 1396 #define AR5K_DIAG_SW_DIS_WEP_ACK 0x00000001 1397 #define AR5K_DIAG_SW_DIS_ACK 0x00000002 1398 #define AR5K_DIAG_SW_DIS_CTS 0x00000004 1399 #define AR5K_DIAG_SW_DIS_ENC 0x00000008 1400 #define AR5K_DIAG_SW_DIS_DEC 0x00000010 1401 #define AR5K_DIAG_SW_DIS_TX 0x00000020 1402 #define AR5K_DIAG_SW_DIS_RX_5210 0x00000040 1403 #define AR5K_DIAG_SW_DIS_RX_5211 0x00000020 1404 #define AR5K_DIAG_SW_DIS_RX (ah->ah_version == AR5K_AR5210 ? \ 1405 AR5K_DIAG_SW_DIS_RX_5210 : AR5K_DIAG_SW_DIS_RX_5211) 1406 #define AR5K_DIAG_SW_LOOP_BACK_5210 0x00000080 1407 #define AR5K_DIAG_SW_LOOP_BACK_5211 0x00000040 1408 #define AR5K_DIAG_SW_LOOP_BACK (ah->ah_version == AR5K_AR5210 ? \ 1409 AR5K_DIAG_SW_LOOP_BACK_5210 : AR5K_DIAG_SW_LOOP_BACK_5211) 1410 #define AR5K_DIAG_SW_CORR_FCS_5210 0x00000100 1411 #define AR5K_DIAG_SW_CORR_FCS_5211 0x00000080 1412 #define AR5K_DIAG_SW_CORR_FCS (ah->ah_version == AR5K_AR5210 ? \ 1413 AR5K_DIAG_SW_CORR_FCS_5210 : AR5K_DIAG_SW_CORR_FCS_5211) 1414 #define AR5K_DIAG_SW_CHAN_INFO_5210 0x00000200 1415 #define AR5K_DIAG_SW_CHAN_INFO_5211 0x00000100 1416 #define AR5K_DIAG_SW_CHAN_INFO (ah->ah_version == AR5K_AR5210 ? \ 1417 AR5K_DIAG_SW_CHAN_INFO_5210 : AR5K_DIAG_SW_CHAN_INFO_5211) 1418 #define AR5K_DIAG_SW_EN_SCRAM_SEED_5210 0x00000400 1419 #define AR5K_DIAG_SW_EN_SCRAM_SEED_5211 0x00000200 1420 #define AR5K_DIAG_SW_EN_SCRAM_SEED (ah->ah_version == AR5K_AR5210 ? \ 1421 AR5K_DIAG_SW_EN_SCRAM_SEED_5210 : AR5K_DIAG_SW_EN_SCRAM_SEED_5211) 1422 #define AR5K_DIAG_SW_ECO_ENABLE 0x00000400 1423 #define AR5K_DIAG_SW_SCVRAM_SEED 0x0003f800 1424 #define AR5K_DIAG_SW_SCRAM_SEED_M 0x0001fc00 1425 #define AR5K_DIAG_SW_SCRAM_SEED_S 10 1426 #define AR5K_DIAG_SW_DIS_SEQ_INC 0x00040000 1427 #define AR5K_DIAG_SW_FRAME_NV0_5210 0x00080000 1428 #define AR5K_DIAG_SW_FRAME_NV0_5211 0x00020000 1429 #define AR5K_DIAG_SW_FRAME_NV0 (ah->ah_version == AR5K_AR5210 ? \ 1430 AR5K_DIAG_SW_FRAME_NV0_5210 : AR5K_DIAG_SW_FRAME_NV0_5211) 1431 #define AR5K_DIAG_SW_OBSPT_M 0x000c0000 1432 #define AR5K_DIAG_SW_OBSPT_S 18 1433 #define AR5K_DIAG_SW_RX_CLEAR_HIGH 0x0010000 1434 #define AR5K_DIAG_SW_IGNORE_CARR_SENSE 0x0020000 1435 #define AR5K_DIAG_SW_CHANEL_IDLE_HIGH 0x0040000 1436 #define AR5K_DIAG_SW_PHEAR_ME 0x0080000 1441 #define AR5K_TSF_L32_5210 0x806c 1442 #define AR5K_TSF_L32_5211 0x804c 1443 #define AR5K_TSF_L32 (ah->ah_version == AR5K_AR5210 ? \ 1444 AR5K_TSF_L32_5210 : AR5K_TSF_L32_5211) 1449 #define AR5K_TSF_U32_5210 0x8070 1450 #define AR5K_TSF_U32_5211 0x8050 1451 #define AR5K_TSF_U32 (ah->ah_version == AR5K_AR5210 ? \ 1452 AR5K_TSF_U32_5210 : AR5K_TSF_U32_5211) 1457 #define AR5K_LAST_TSTP 0x8080 1462 #define AR5K_ADDAC_TEST 0x8054 1463 #define AR5K_ADDAC_TEST_TXCONT 0x00000001 1464 #define AR5K_ADDAC_TEST_TST_MODE 0x00000002 1465 #define AR5K_ADDAC_TEST_LOOP_EN 0x00000004 1466 #define AR5K_ADDAC_TEST_LOOP_LEN 0x00000008 1467 #define AR5K_ADDAC_TEST_USE_U8 0x00004000 1468 #define AR5K_ADDAC_TEST_MSB 0x00008000 1469 #define AR5K_ADDAC_TEST_TRIG_SEL 0x00010000 1470 #define AR5K_ADDAC_TEST_TRIG_PTY 0x00020000 1471 #define AR5K_ADDAC_TEST_RXCONT 0x00040000 1472 #define AR5K_ADDAC_TEST_CAPTURE 0x00080000 1473 #define AR5K_ADDAC_TEST_TST_ARM 0x00100000 1478 #define AR5K_DEFAULT_ANTENNA 0x8058 1484 #define AR5K_FRAME_CTL_QOSM 0x805c 1489 #define AR5K_SEQ_MASK 0x8060 1494 #define AR5K_RETRY_CNT 0x8084 1495 #define AR5K_RETRY_CNT_SSH 0x0000003f 1496 #define AR5K_RETRY_CNT_SLG 0x00000fc0 1501 #define AR5K_BACKOFF 0x8088 1502 #define AR5K_BACKOFF_CW 0x000003ff 1503 #define AR5K_BACKOFF_CNT 0x03ff0000 1510 #define AR5K_NAV_5210 0x808c 1511 #define AR5K_NAV_5211 0x8084 1512 #define AR5K_NAV (ah->ah_version == AR5K_AR5210 ? \ 1513 AR5K_NAV_5210 : AR5K_NAV_5211) 1518 #define AR5K_RTS_OK_5210 0x8090 1519 #define AR5K_RTS_OK_5211 0x8088 1520 #define AR5K_RTS_OK (ah->ah_version == AR5K_AR5210 ? \ 1521 AR5K_RTS_OK_5210 : AR5K_RTS_OK_5211) 1526 #define AR5K_RTS_FAIL_5210 0x8094 1527 #define AR5K_RTS_FAIL_5211 0x808c 1528 #define AR5K_RTS_FAIL (ah->ah_version == AR5K_AR5210 ? \ 1529 AR5K_RTS_FAIL_5210 : AR5K_RTS_FAIL_5211) 1534 #define AR5K_ACK_FAIL_5210 0x8098 1535 #define AR5K_ACK_FAIL_5211 0x8090 1536 #define AR5K_ACK_FAIL (ah->ah_version == AR5K_AR5210 ? \ 1537 AR5K_ACK_FAIL_5210 : AR5K_ACK_FAIL_5211) 1542 #define AR5K_FCS_FAIL_5210 0x809c 1543 #define AR5K_FCS_FAIL_5211 0x8094 1544 #define AR5K_FCS_FAIL (ah->ah_version == AR5K_AR5210 ? \ 1545 AR5K_FCS_FAIL_5210 : AR5K_FCS_FAIL_5211) 1550 #define AR5K_BEACON_CNT_5210 0x80a0 1551 #define AR5K_BEACON_CNT_5211 0x8098 1552 #define AR5K_BEACON_CNT (ah->ah_version == AR5K_AR5210 ? \ 1553 AR5K_BEACON_CNT_5210 : AR5K_BEACON_CNT_5211) 1561 #define AR5K_TPC 0x80e8 1562 #define AR5K_TPC_ACK 0x0000003f 1563 #define AR5K_TPC_ACK_S 0 1564 #define AR5K_TPC_CTS 0x00003f00 1565 #define AR5K_TPC_CTS_S 8 1566 #define AR5K_TPC_CHIRP 0x003f0000 1567 #define AR5K_TPC_CHIRP_S 16 1568 #define AR5K_TPC_DOPPLER 0x0f000000 1569 #define AR5K_TPC_DOPPLER_S 24 1574 #define AR5K_XRMODE 0x80c0 1575 #define AR5K_XRMODE_POLL_TYPE_M 0x0000003f 1576 #define AR5K_XRMODE_POLL_TYPE_S 0 1577 #define AR5K_XRMODE_POLL_SUBTYPE_M 0x0000003c 1578 #define AR5K_XRMODE_POLL_SUBTYPE_S 2 1579 #define AR5K_XRMODE_POLL_WAIT_ALL 0x00000080 1580 #define AR5K_XRMODE_SIFS_DELAY 0x000fff00 1581 #define AR5K_XRMODE_FRAME_HOLD_M 0xfff00000 1582 #define AR5K_XRMODE_FRAME_HOLD_S 20 1587 #define AR5K_XRDELAY 0x80c4 1588 #define AR5K_XRDELAY_SLOT_DELAY_M 0x0000ffff 1589 #define AR5K_XRDELAY_SLOT_DELAY_S 0 1590 #define AR5K_XRDELAY_CHIRP_DELAY_M 0xffff0000 1591 #define AR5K_XRDELAY_CHIRP_DELAY_S 16 1596 #define AR5K_XRTIMEOUT 0x80c8 1597 #define AR5K_XRTIMEOUT_CHIRP_M 0x0000ffff 1598 #define AR5K_XRTIMEOUT_CHIRP_S 0 1599 #define AR5K_XRTIMEOUT_POLL_M 0xffff0000 1600 #define AR5K_XRTIMEOUT_POLL_S 16 1605 #define AR5K_XRCHIRP 0x80cc 1606 #define AR5K_XRCHIRP_SEND 0x00000001 1607 #define AR5K_XRCHIRP_GAP 0xffff0000 1612 #define AR5K_XRSTOMP 0x80d0 1613 #define AR5K_XRSTOMP_TX 0x00000001 1614 #define AR5K_XRSTOMP_RX 0x00000002 1615 #define AR5K_XRSTOMP_TX_RSSI 0x00000004 1616 #define AR5K_XRSTOMP_TX_BSSID 0x00000008 1617 #define AR5K_XRSTOMP_DATA 0x00000010 1618 #define AR5K_XRSTOMP_RSSI_THRES 0x0000ff00 1623 #define AR5K_SLEEP0 0x80d4 1624 #define AR5K_SLEEP0_NEXT_DTIM 0x0007ffff 1625 #define AR5K_SLEEP0_NEXT_DTIM_S 0 1626 #define AR5K_SLEEP0_ASSUME_DTIM 0x00080000 1627 #define AR5K_SLEEP0_ENH_SLEEP_EN 0x00100000 1628 #define AR5K_SLEEP0_CABTO 0xff000000 1629 #define AR5K_SLEEP0_CABTO_S 24 1634 #define AR5K_SLEEP1 0x80d8 1635 #define AR5K_SLEEP1_NEXT_TIM 0x0007ffff 1636 #define AR5K_SLEEP1_NEXT_TIM_S 0 1637 #define AR5K_SLEEP1_BEACON_TO 0xff000000 1638 #define AR5K_SLEEP1_BEACON_TO_S 24 1643 #define AR5K_SLEEP2 0x80dc 1644 #define AR5K_SLEEP2_TIM_PER 0x0000ffff 1645 #define AR5K_SLEEP2_TIM_PER_S 0 1646 #define AR5K_SLEEP2_DTIM_PER 0xffff0000 1647 #define AR5K_SLEEP2_DTIM_PER_S 16 1652 #define AR5K_BSS_IDM0 0x80e0 1653 #define AR5K_BSS_IDM1 0x80e4 1661 #define AR5K_TXPC 0x80e8 1662 #define AR5K_TXPC_ACK_M 0x0000003f 1663 #define AR5K_TXPC_ACK_S 0 1664 #define AR5K_TXPC_CTS_M 0x00003f00 1665 #define AR5K_TXPC_CTS_S 8 1666 #define AR5K_TXPC_CHIRP_M 0x003f0000 1667 #define AR5K_TXPC_CHIRP_S 16 1668 #define AR5K_TXPC_DOPPLER 0x0f000000 1669 #define AR5K_TXPC_DOPPLER_S 24 1674 #define AR5K_PROFCNT_TX 0x80ec 1675 #define AR5K_PROFCNT_RX 0x80f0 1676 #define AR5K_PROFCNT_RXCLR 0x80f4 1677 #define AR5K_PROFCNT_CYCLE 0x80f8 1682 #define AR5K_QUIET_CTL1 0x80fc 1683 #define AR5K_QUIET_CTL1_NEXT_QT_TSF 0x0000ffff 1684 #define AR5K_QUIET_CTL1_NEXT_QT_TSF_S 0 1685 #define AR5K_QUIET_CTL1_QT_EN 0x00010000 1686 #define AR5K_QUIET_CTL1_ACK_CTS_EN 0x00020000 1688 #define AR5K_QUIET_CTL2 0x8100 1689 #define AR5K_QUIET_CTL2_QT_PER 0x0000ffff 1690 #define AR5K_QUIET_CTL2_QT_PER_S 0 1691 #define AR5K_QUIET_CTL2_QT_DUR 0xffff0000 1692 #define AR5K_QUIET_CTL2_QT_DUR_S 16 1697 #define AR5K_TSF_PARM 0x8104 1698 #define AR5K_TSF_PARM_INC 0x000000ff 1699 #define AR5K_TSF_PARM_INC_S 0 1704 #define AR5K_QOS_NOACK 0x8108 1705 #define AR5K_QOS_NOACK_2BIT_VALUES 0x0000000f 1706 #define AR5K_QOS_NOACK_2BIT_VALUES_S 0 1707 #define AR5K_QOS_NOACK_BIT_OFFSET 0x00000070 1708 #define AR5K_QOS_NOACK_BIT_OFFSET_S 4 1709 #define AR5K_QOS_NOACK_BYTE_OFFSET 0x00000180 1710 #define AR5K_QOS_NOACK_BYTE_OFFSET_S 7 1715 #define AR5K_PHY_ERR_FIL 0x810c 1716 #define AR5K_PHY_ERR_FIL_RADAR 0x00000020 1717 #define AR5K_PHY_ERR_FIL_OFDM 0x00020000 1718 #define AR5K_PHY_ERR_FIL_CCK 0x02000000 1723 #define AR5K_XRLAT_TX 0x8110 1728 #define AR5K_ACKSIFS 0x8114 1729 #define AR5K_ACKSIFS_INC 0x00000000 1734 #define AR5K_MIC_QOS_CTL 0x8118 1735 #define AR5K_MIC_QOS_CTL_OFF(_n) (1 << (_n * 2)) 1736 #define AR5K_MIC_QOS_CTL_MQ_EN 0x00010000 1741 #define AR5K_MIC_QOS_SEL 0x811c 1742 #define AR5K_MIC_QOS_SEL_OFF(_n) (1 << (_n * 4)) 1747 #define AR5K_MISC_MODE 0x8120 1748 #define AR5K_MISC_MODE_FBSSID_MATCH 0x00000001 1749 #define AR5K_MISC_MODE_ACKSIFS_MEM 0x00000002 1750 #define AR5K_MISC_MODE_COMBINED_MIC 0x00000004 1756 #define AR5K_OFDM_FIL_CNT 0x8124 1761 #define AR5K_CCK_FIL_CNT 0x8128 1766 #define AR5K_PHYERR_CNT1 0x812c 1767 #define AR5K_PHYERR_CNT1_MASK 0x8130 1769 #define AR5K_PHYERR_CNT2 0x8134 1770 #define AR5K_PHYERR_CNT2_MASK 0x8138 1775 #define AR5K_TSF_THRES 0x813c 1785 #define AR5K_RATE_ACKSIFS_BASE 0x8680 1786 #define AR5K_RATE_ACKSIFS(_n) (AR5K_RATE_ACKSIFS_BSE + ((_n) << 2)) 1787 #define AR5K_RATE_ACKSIFS_NORMAL 0x00000001 1788 #define AR5K_RATE_ACKSIFS_TURBO 0x00000400 1793 #define AR5K_RATE_DUR_BASE 0x8700 1794 #define AR5K_RATE_DUR(_n) (AR5K_RATE_DUR_BASE + ((_n) << 2)) 1800 #define AR5K_RATE2DB_BASE 0x87c0 1801 #define AR5K_RATE2DB(_n) (AR5K_RATE2DB_BASE + ((_n) << 2)) 1807 #define AR5K_DB2RATE_BASE 0x87e0 1808 #define AR5K_DB2RATE(_n) (AR5K_DB2RATE_BASE + ((_n) << 2)) 1815 #define AR5K_KEYTABLE_0_5210 0x9000 1816 #define AR5K_KEYTABLE_0_5211 0x8800 1817 #define AR5K_KEYTABLE_5210(_n) (AR5K_KEYTABLE_0_5210 + ((_n) << 5)) 1818 #define AR5K_KEYTABLE_5211(_n) (AR5K_KEYTABLE_0_5211 + ((_n) << 5)) 1819 #define AR5K_KEYTABLE(_n) (ah->ah_version == AR5K_AR5210 ? \ 1820 AR5K_KEYTABLE_5210(_n) : AR5K_KEYTABLE_5211(_n)) 1821 #define AR5K_KEYTABLE_OFF(_n, x) (AR5K_KEYTABLE(_n) + (x << 2)) 1822 #define AR5K_KEYTABLE_TYPE(_n) AR5K_KEYTABLE_OFF(_n, 5) 1823 #define AR5K_KEYTABLE_TYPE_40 0x00000000 1824 #define AR5K_KEYTABLE_TYPE_104 0x00000001 1825 #define AR5K_KEYTABLE_TYPE_128 0x00000003 1826 #define AR5K_KEYTABLE_TYPE_TKIP 0x00000004 1827 #define AR5K_KEYTABLE_TYPE_AES 0x00000005 1828 #define AR5K_KEYTABLE_TYPE_CCM 0x00000006 1829 #define AR5K_KEYTABLE_TYPE_NULL 0x00000007 1830 #define AR5K_KEYTABLE_ANTENNA 0x00000008 1831 #define AR5K_KEYTABLE_MAC0(_n) AR5K_KEYTABLE_OFF(_n, 6) 1832 #define AR5K_KEYTABLE_MAC1(_n) AR5K_KEYTABLE_OFF(_n, 7) 1833 #define AR5K_KEYTABLE_VALID 0x00008000 1837 #define AR5K_KEYTABLE_MIC_OFFSET 64 1851 #define AR5K_KEYTABLE_SIZE_5210 64 1852 #define AR5K_KEYTABLE_SIZE_5211 128 1853 #define AR5K_KEYTABLE_SIZE (ah->ah_version == AR5K_AR5210 ? \ 1854 AR5K_KEYTABLE_SIZE_5210 : AR5K_KEYTABLE_SIZE_5211) 1862 #define AR5K_PHY_BASE 0x9800 1863 #define AR5K_PHY(_n) (AR5K_PHY_BASE + ((_n) << 2)) 1868 #define AR5K_PHY_TST2 0x9800 1869 #define AR5K_PHY_TST2_TRIG_SEL 0x00000007 1870 #define AR5K_PHY_TST2_TRIG 0x00000010 1871 #define AR5K_PHY_TST2_CBUS_MODE 0x00000060 1872 #define AR5K_PHY_TST2_CLK32 0x00000400 1873 #define AR5K_PHY_TST2_CHANCOR_DUMP_EN 0x00000800 1874 #define AR5K_PHY_TST2_EVEN_CHANCOR_DUMP 0x00001000 1875 #define AR5K_PHY_TST2_RFSILENT_EN 0x00002000 1876 #define AR5K_PHY_TST2_ALT_RFDATA 0x00004000 1877 #define AR5K_PHY_TST2_MINI_OBS_EN 0x00008000 1878 #define AR5K_PHY_TST2_RX2_IS_RX5_INV 0x00010000 1879 #define AR5K_PHY_TST2_SLOW_CLK160 0x00020000 1880 #define AR5K_PHY_TST2_AGC_OBS_SEL_3 0x00040000 1881 #define AR5K_PHY_TST2_BBB_OBS_SEL 0x00080000 1882 #define AR5K_PHY_TST2_ADC_OBS_SEL 0x00800000 1883 #define AR5K_PHY_TST2_RX_CLR_SEL 0x08000000 1884 #define AR5K_PHY_TST2_FORCE_AGC_CLR 0x10000000 1885 #define AR5K_PHY_SHIFT_2GHZ 0x00004007 1886 #define AR5K_PHY_SHIFT_5GHZ 0x00000007 1898 #define AR5K_PHY_TURBO 0x9804 1899 #define AR5K_PHY_TURBO_MODE 0x00000001 1900 #define AR5K_PHY_TURBO_SHORT 0x00000002 1901 #define AR5K_PHY_TURBO_MIMO 0x00000004 1907 #define AR5K_PHY_AGC 0x9808 1908 #define AR5K_PHY_TST1 0x9808 1909 #define AR5K_PHY_AGC_DISABLE 0x08000000 1910 #define AR5K_PHY_TST1_TXHOLD 0x00003800 1911 #define AR5K_PHY_TST1_TXSRC_SRC 0x00000002 1912 #define AR5K_PHY_TST1_TXSRC_SRC_S 1 1913 #define AR5K_PHY_TST1_TXSRC_ALT 0x00000080 1914 #define AR5K_PHY_TST1_TXSRC_ALT_S 7 1920 #define AR5K_PHY_TIMING_3 0x9814 1921 #define AR5K_PHY_TIMING_3_DSC_MAN 0xfffe0000 1922 #define AR5K_PHY_TIMING_3_DSC_MAN_S 17 1923 #define AR5K_PHY_TIMING_3_DSC_EXP 0x0001e000 1924 #define AR5K_PHY_TIMING_3_DSC_EXP_S 13 1929 #define AR5K_PHY_CHIP_ID 0x9818 1934 #define AR5K_PHY_ACT 0x981c 1935 #define AR5K_PHY_ACT_ENABLE 0x00000001 1936 #define AR5K_PHY_ACT_DISABLE 0x00000002 1941 #define AR5K_PHY_RF_CTL2 0x9824 1942 #define AR5K_PHY_RF_CTL2_TXF2TXD_START 0x0000000f 1943 #define AR5K_PHY_RF_CTL2_TXF2TXD_START_S 0 1945 #define AR5K_PHY_RF_CTL3 0x9828 1946 #define AR5K_PHY_RF_CTL3_TXE2XLNA_ON 0x0000ff00 1947 #define AR5K_PHY_RF_CTL3_TXE2XLNA_ON_S 8 1949 #define AR5K_PHY_ADC_CTL 0x982c 1950 #define AR5K_PHY_ADC_CTL_INBUFGAIN_OFF 0x00000003 1951 #define AR5K_PHY_ADC_CTL_INBUFGAIN_OFF_S 0 1952 #define AR5K_PHY_ADC_CTL_PWD_DAC_OFF 0x00002000 1953 #define AR5K_PHY_ADC_CTL_PWD_BAND_GAP_OFF 0x00004000 1954 #define AR5K_PHY_ADC_CTL_PWD_ADC_OFF 0x00008000 1955 #define AR5K_PHY_ADC_CTL_INBUFGAIN_ON 0x00030000 1956 #define AR5K_PHY_ADC_CTL_INBUFGAIN_ON_S 16 1958 #define AR5K_PHY_RF_CTL4 0x9834 1959 #define AR5K_PHY_RF_CTL4_TXF2XPA_A_ON 0x00000001 1960 #define AR5K_PHY_RF_CTL4_TXF2XPA_B_ON 0x00000100 1961 #define AR5K_PHY_RF_CTL4_TXE2XPA_A_OFF 0x00010000 1962 #define AR5K_PHY_RF_CTL4_TXE2XPA_B_OFF 0x01000000 1968 #define AR5K_PHY_PA_CTL 0x9838 1969 #define AR5K_PHY_PA_CTL_XPA_A_HI 0x00000001 1970 #define AR5K_PHY_PA_CTL_XPA_B_HI 0x00000002 1971 #define AR5K_PHY_PA_CTL_XPA_A_EN 0x00000004 1972 #define AR5K_PHY_PA_CTL_XPA_B_EN 0x00000008 1977 #define AR5K_PHY_SETTLING 0x9844 1978 #define AR5K_PHY_SETTLING_AGC 0x0000007f 1979 #define AR5K_PHY_SETTLING_AGC_S 0 1980 #define AR5K_PHY_SETTLING_SWITCH 0x00003f80 1981 #define AR5K_PHY_SETTLING_SWITCH_S 7 1986 #define AR5K_PHY_GAIN 0x9848 1987 #define AR5K_PHY_GAIN_TXRX_ATTEN 0x0003f000 1988 #define AR5K_PHY_GAIN_TXRX_ATTEN_S 12 1989 #define AR5K_PHY_GAIN_TXRX_RF_MAX 0x007c0000 1990 #define AR5K_PHY_GAIN_TXRX_RF_MAX_S 18 1992 #define AR5K_PHY_GAIN_OFFSET 0x984c 1993 #define AR5K_PHY_GAIN_OFFSET_RXTX_FLAG 0x00020000 1999 #define AR5K_PHY_DESIRED_SIZE 0x9850 2000 #define AR5K_PHY_DESIRED_SIZE_ADC 0x000000ff 2001 #define AR5K_PHY_DESIRED_SIZE_ADC_S 0 2002 #define AR5K_PHY_DESIRED_SIZE_PGA 0x0000ff00 2003 #define AR5K_PHY_DESIRED_SIZE_PGA_S 8 2004 #define AR5K_PHY_DESIRED_SIZE_TOT 0x0ff00000 2005 #define AR5K_PHY_DESIRED_SIZE_TOT_S 20 2011 #define AR5K_PHY_SIG 0x9858 2012 #define AR5K_PHY_SIG_FIRSTEP 0x0003f000 2013 #define AR5K_PHY_SIG_FIRSTEP_S 12 2014 #define AR5K_PHY_SIG_FIRPWR 0x03fc0000 2015 #define AR5K_PHY_SIG_FIRPWR_S 18 2021 #define AR5K_PHY_AGCCOARSE 0x985c 2022 #define AR5K_PHY_AGCCOARSE_LO 0x00007f80 2023 #define AR5K_PHY_AGCCOARSE_LO_S 7 2024 #define AR5K_PHY_AGCCOARSE_HI 0x003f8000 2025 #define AR5K_PHY_AGCCOARSE_HI_S 15 2030 #define AR5K_PHY_AGCCTL 0x9860 2031 #define AR5K_PHY_AGCCTL_CAL 0x00000001 2032 #define AR5K_PHY_AGCCTL_NF 0x00000002 2033 #define AR5K_PHY_AGCCTL_NF_EN 0x00008000 2034 #define AR5K_PHY_AGCCTL_NF_NOUPDATE 0x00020000 2039 #define AR5K_PHY_NF 0x9864 2040 #define AR5K_PHY_NF_M 0x000001ff 2041 #define AR5K_PHY_NF_ACTIVE 0x00000100 2042 #define AR5K_PHY_NF_RVAL(_n) (((_n) >> 19) & AR5K_PHY_NF_M) 2043 #define AR5K_PHY_NF_AVAL(_n) (-((_n) ^ AR5K_PHY_NF_M) + 1) 2044 #define AR5K_PHY_NF_SVAL(_n) (((_n) & AR5K_PHY_NF_M) | (1 << 9)) 2045 #define AR5K_PHY_NF_THRESH62 0x0007f000 2046 #define AR5K_PHY_NF_THRESH62_S 12 2047 #define AR5K_PHY_NF_MINCCA_PWR 0x0ff80000 2048 #define AR5K_PHY_NF_MINCCA_PWR_S 19 2053 #define AR5K_PHY_ADCSAT 0x9868 2054 #define AR5K_PHY_ADCSAT_ICNT 0x0001f800 2055 #define AR5K_PHY_ADCSAT_ICNT_S 11 2056 #define AR5K_PHY_ADCSAT_THR 0x000007e0 2057 #define AR5K_PHY_ADCSAT_THR_S 5 2064 #define AR5K_PHY_WEAK_OFDM_HIGH_THR 0x9868 2065 #define AR5K_PHY_WEAK_OFDM_HIGH_THR_M2_COUNT 0x0000001f 2066 #define AR5K_PHY_WEAK_OFDM_HIGH_THR_M2_COUNT_S 0 2067 #define AR5K_PHY_WEAK_OFDM_HIGH_THR_M1 0x00fe0000 2068 #define AR5K_PHY_WEAK_OFDM_HIGH_THR_M1_S 17 2069 #define AR5K_PHY_WEAK_OFDM_HIGH_THR_M2 0x7f000000 2070 #define AR5K_PHY_WEAK_OFDM_HIGH_THR_M2_S 24 2073 #define AR5K_PHY_WEAK_OFDM_LOW_THR 0x986c 2074 #define AR5K_PHY_WEAK_OFDM_LOW_THR_SELFCOR_EN 0x00000001 2075 #define AR5K_PHY_WEAK_OFDM_LOW_THR_M2_COUNT 0x00003f00 2076 #define AR5K_PHY_WEAK_OFDM_LOW_THR_M2_COUNT_S 8 2077 #define AR5K_PHY_WEAK_OFDM_LOW_THR_M1 0x001fc000 2078 #define AR5K_PHY_WEAK_OFDM_LOW_THR_M1_S 14 2079 #define AR5K_PHY_WEAK_OFDM_LOW_THR_M2 0x0fe00000 2080 #define AR5K_PHY_WEAK_OFDM_LOW_THR_M2_S 21 2086 #define AR5K_PHY_SCR 0x9870 2088 #define AR5K_PHY_SLMT 0x9874 2089 #define AR5K_PHY_SLMT_32MHZ 0x0000007f 2091 #define AR5K_PHY_SCAL 0x9878 2092 #define AR5K_PHY_SCAL_32MHZ 0x0000000e 2093 #define AR5K_PHY_SCAL_32MHZ_2417 0x0000000a 2094 #define AR5K_PHY_SCAL_32MHZ_HB63 0x00000032 2099 #define AR5K_PHY_PLL 0x987c 2100 #define AR5K_PHY_PLL_20MHZ 0x00000013 2102 #define AR5K_PHY_PLL_40MHZ_5211 0x00000018 2103 #define AR5K_PHY_PLL_40MHZ_5212 0x000000aa 2104 #define AR5K_PHY_PLL_40MHZ_5413 0x00000004 2105 #define AR5K_PHY_PLL_40MHZ (ah->ah_version == AR5K_AR5211 ? \ 2106 AR5K_PHY_PLL_40MHZ_5211 : AR5K_PHY_PLL_40MHZ_5212) 2108 #define AR5K_PHY_PLL_44MHZ_5211 0x00000019 2109 #define AR5K_PHY_PLL_44MHZ_5212 0x000000ab 2110 #define AR5K_PHY_PLL_44MHZ (ah->ah_version == AR5K_AR5211 ? \ 2111 AR5K_PHY_PLL_44MHZ_5211 : AR5K_PHY_PLL_44MHZ_5212) 2113 #define AR5K_PHY_PLL_RF5111 0x00000000 2114 #define AR5K_PHY_PLL_RF5112 0x00000040 2115 #define AR5K_PHY_PLL_HALF_RATE 0x00000100 2116 #define AR5K_PHY_PLL_QUARTER_RATE 0x00000200 2127 #define AR5K_RF_BUFFER 0x989c 2128 #define AR5K_RF_BUFFER_CONTROL_0 0x98c0 2129 #define AR5K_RF_BUFFER_CONTROL_1 0x98c4 2130 #define AR5K_RF_BUFFER_CONTROL_2 0x98cc 2132 #define AR5K_RF_BUFFER_CONTROL_3 0x98d0 2136 #define AR5K_RF_BUFFER_CONTROL_4 0x98d4 2141 #define AR5K_RF_BUFFER_CONTROL_5 0x98d8 2146 #define AR5K_RF_BUFFER_CONTROL_6 0x98dc 2151 #define AR5K_PHY_RFSTG 0x98d4 2152 #define AR5K_PHY_RFSTG_DISABLE 0x00000021 2157 #define AR5K_PHY_BIN_MASK_1 0x9900 2158 #define AR5K_PHY_BIN_MASK_2 0x9904 2159 #define AR5K_PHY_BIN_MASK_3 0x9908 2161 #define AR5K_PHY_BIN_MASK_CTL 0x990c 2162 #define AR5K_PHY_BIN_MASK_CTL_MASK_4 0x00003fff 2163 #define AR5K_PHY_BIN_MASK_CTL_MASK_4_S 0 2164 #define AR5K_PHY_BIN_MASK_CTL_RATE 0xff000000 2165 #define AR5K_PHY_BIN_MASK_CTL_RATE_S 24 2170 #define AR5K_PHY_ANT_CTL 0x9910 2171 #define AR5K_PHY_ANT_CTL_TXRX_EN 0x00000001 2172 #define AR5K_PHY_ANT_CTL_SECTORED_ANT 0x00000004 2173 #define AR5K_PHY_ANT_CTL_HITUNE5 0x00000008 2174 #define AR5K_PHY_ANT_CTL_SWTABLE_IDLE 0x000003f0 2175 #define AR5K_PHY_ANT_CTL_SWTABLE_IDLE_S 4 2180 #define AR5K_PHY_RX_DELAY 0x9914 2181 #define AR5K_PHY_RX_DELAY_M 0x00003fff 2186 #define AR5K_PHY_MAX_RX_LEN 0x991c 2192 #define AR5K_PHY_IQ 0x9920 2193 #define AR5K_PHY_IQ_CORR_Q_Q_COFF 0x0000001f 2194 #define AR5K_PHY_IQ_CORR_Q_I_COFF 0x000007e0 2195 #define AR5K_PHY_IQ_CORR_Q_I_COFF_S 5 2196 #define AR5K_PHY_IQ_CORR_ENABLE 0x00000800 2197 #define AR5K_PHY_IQ_CAL_NUM_LOG_MAX 0x0000f000 2198 #define AR5K_PHY_IQ_CAL_NUM_LOG_MAX_S 12 2199 #define AR5K_PHY_IQ_RUN 0x00010000 2200 #define AR5K_PHY_IQ_USE_PT_DF 0x00020000 2201 #define AR5K_PHY_IQ_EARLY_TRIG_THR 0x00200000 2202 #define AR5K_PHY_IQ_PILOT_MASK_EN 0x10000000 2203 #define AR5K_PHY_IQ_CHAN_MASK_EN 0x20000000 2204 #define AR5K_PHY_IQ_SPUR_FILT_EN 0x40000000 2205 #define AR5K_PHY_IQ_SPUR_RSSI_EN 0x80000000 2212 #define AR5K_PHY_OFDM_SELFCORR 0x9924 2213 #define AR5K_PHY_OFDM_SELFCORR_CYPWR_THR1_EN 0x00000001 2214 #define AR5K_PHY_OFDM_SELFCORR_CYPWR_THR1 0x000000fe 2215 #define AR5K_PHY_OFDM_SELFCORR_CYPWR_THR1_S 1 2216 #define AR5K_PHY_OFDM_SELFCORR_CYPWR_THR3 0x00000100 2217 #define AR5K_PHY_OFDM_SELFCORR_RSSI_1ATHR_EN 0x00008000 2218 #define AR5K_PHY_OFDM_SELFCORR_RSSI_1ATHR 0x00010000 2219 #define AR5K_PHY_OFDM_SELFCORR_LSCTHR_HIRSSI 0x00800000 2224 #define AR5K_PHY_WARM_RESET 0x9928 2229 #define AR5K_PHY_CTL 0x992c 2230 #define AR5K_PHY_CTL_RX_DRAIN_RATE 0x00000001 2231 #define AR5K_PHY_CTL_LATE_TX_SIG_SYM 0x00000002 2232 #define AR5K_PHY_CTL_GEN_SCRAMBLER 0x00000004 2233 #define AR5K_PHY_CTL_TX_ANT_SEL 0x00000008 2234 #define AR5K_PHY_CTL_TX_ANT_STATIC 0x00000010 2235 #define AR5K_PHY_CTL_RX_ANT_SEL 0x00000020 2236 #define AR5K_PHY_CTL_RX_ANT_STATIC 0x00000040 2237 #define AR5K_PHY_CTL_LOW_FREQ_SLE_EN 0x00000080 2242 #define AR5K_PHY_PAPD_PROBE 0x9930 2243 #define AR5K_PHY_PAPD_PROBE_SH_HI_PAR 0x00000001 2244 #define AR5K_PHY_PAPD_PROBE_PCDAC_BIAS 0x00000002 2245 #define AR5K_PHY_PAPD_PROBE_COMP_GAIN 0x00000040 2246 #define AR5K_PHY_PAPD_PROBE_TXPOWER 0x00007e00 2247 #define AR5K_PHY_PAPD_PROBE_TXPOWER_S 9 2248 #define AR5K_PHY_PAPD_PROBE_TX_NEXT 0x00008000 2249 #define AR5K_PHY_PAPD_PROBE_PREDIST_EN 0x00010000 2250 #define AR5K_PHY_PAPD_PROBE_TYPE 0x01800000 2251 #define AR5K_PHY_PAPD_PROBE_TYPE_S 23 2252 #define AR5K_PHY_PAPD_PROBE_TYPE_OFDM 0 2253 #define AR5K_PHY_PAPD_PROBE_TYPE_XR 1 2254 #define AR5K_PHY_PAPD_PROBE_TYPE_CCK 2 2255 #define AR5K_PHY_PAPD_PROBE_GAINF 0xfe000000 2256 #define AR5K_PHY_PAPD_PROBE_GAINF_S 25 2257 #define AR5K_PHY_PAPD_PROBE_INI_5111 0x00004883 2258 #define AR5K_PHY_PAPD_PROBE_INI_5112 0x00004882 2263 #define AR5K_PHY_TXPOWER_RATE1 0x9934 2264 #define AR5K_PHY_TXPOWER_RATE2 0x9938 2265 #define AR5K_PHY_TXPOWER_RATE_MAX 0x993c 2266 #define AR5K_PHY_TXPOWER_RATE_MAX_TPC_ENABLE 0x00000040 2267 #define AR5K_PHY_TXPOWER_RATE3 0xa234 2268 #define AR5K_PHY_TXPOWER_RATE4 0xa238 2273 #define AR5K_PHY_FRAME_CTL_5210 0x9804 2274 #define AR5K_PHY_FRAME_CTL_5211 0x9944 2275 #define AR5K_PHY_FRAME_CTL (ah->ah_version == AR5K_AR5210 ? \ 2276 AR5K_PHY_FRAME_CTL_5210 : AR5K_PHY_FRAME_CTL_5211) 2278 #define AR5K_PHY_FRAME_CTL_TX_CLIP 0x00000038 2279 #define AR5K_PHY_FRAME_CTL_TX_CLIP_S 3 2280 #define AR5K_PHY_FRAME_CTL_PREP_CHINFO 0x00010000 2281 #define AR5K_PHY_FRAME_CTL_EMU 0x80000000 2282 #define AR5K_PHY_FRAME_CTL_EMU_S 31 2284 #define AR5K_PHY_FRAME_CTL_TIMING_ERR 0x01000000 2285 #define AR5K_PHY_FRAME_CTL_PARITY_ERR 0x02000000 2286 #define AR5K_PHY_FRAME_CTL_ILLRATE_ERR 0x04000000 2287 #define AR5K_PHY_FRAME_CTL_ILLLEN_ERR 0x08000000 2288 #define AR5K_PHY_FRAME_CTL_SERVICE_ERR 0x20000000 2289 #define AR5K_PHY_FRAME_CTL_TXURN_ERR 0x40000000 2290 #define AR5K_PHY_FRAME_CTL_INI AR5K_PHY_FRAME_CTL_SERVICE_ERR | \ 2291 AR5K_PHY_FRAME_CTL_TXURN_ERR | \ 2292 AR5K_PHY_FRAME_CTL_ILLLEN_ERR | \ 2293 AR5K_PHY_FRAME_CTL_ILLRATE_ERR | \ 2294 AR5K_PHY_FRAME_CTL_PARITY_ERR | \ 2295 AR5K_PHY_FRAME_CTL_TIMING_ERR 2300 #define AR5K_PHY_TX_PWR_ADJ 0x994c 2301 #define AR5K_PHY_TX_PWR_ADJ_CCK_GAIN_DELTA 0x00000fc0 2302 #define AR5K_PHY_TX_PWR_ADJ_CCK_GAIN_DELTA_S 6 2303 #define AR5K_PHY_TX_PWR_ADJ_CCK_PCDAC_INDEX 0x00fc0000 2304 #define AR5K_PHY_TX_PWR_ADJ_CCK_PCDAC_INDEX_S 18 2309 #define AR5K_PHY_RADAR 0x9954 2310 #define AR5K_PHY_RADAR_ENABLE 0x00000001 2311 #define AR5K_PHY_RADAR_DISABLE 0x00000000 2312 #define AR5K_PHY_RADAR_INBANDTHR 0x0000003e 2315 #define AR5K_PHY_RADAR_INBANDTHR_S 1 2317 #define AR5K_PHY_RADAR_PRSSI_THR 0x00000fc0 2320 #define AR5K_PHY_RADAR_PRSSI_THR_S 6 2322 #define AR5K_PHY_RADAR_PHEIGHT_THR 0x0003f000 2325 #define AR5K_PHY_RADAR_PHEIGHT_THR_S 12 2327 #define AR5K_PHY_RADAR_RSSI_THR 0x00fc0000 2330 #define AR5K_PHY_RADAR_RSSI_THR_S 18 2332 #define AR5K_PHY_RADAR_FIRPWR_THR 0x7f000000 2336 #define AR5K_PHY_RADAR_FIRPWR_THRS 24 2341 #define AR5K_PHY_ANT_SWITCH_TABLE_0 0x9960 2342 #define AR5K_PHY_ANT_SWITCH_TABLE_1 0x9964 2347 #define AR5K_PHY_NFTHRES 0x9968 2352 #define AR5K_PHY_SIGMA_DELTA 0x996C 2353 #define AR5K_PHY_SIGMA_DELTA_ADC_SEL 0x00000003 2354 #define AR5K_PHY_SIGMA_DELTA_ADC_SEL_S 0 2355 #define AR5K_PHY_SIGMA_DELTA_FILT2 0x000000f8 2356 #define AR5K_PHY_SIGMA_DELTA_FILT2_S 3 2357 #define AR5K_PHY_SIGMA_DELTA_FILT1 0x00001f00 2358 #define AR5K_PHY_SIGMA_DELTA_FILT1_S 8 2359 #define AR5K_PHY_SIGMA_DELTA_ADC_CLIP 0x01ffe000 2360 #define AR5K_PHY_SIGMA_DELTA_ADC_CLIP_S 13 2365 #define AR5K_PHY_RESTART 0x9970 2366 #define AR5K_PHY_RESTART_DIV_GC 0x001c0000 2367 #define AR5K_PHY_RESTART_DIV_GC_S 18 2372 #define AR5K_PHY_RFBUS_REQ 0x997C 2373 #define AR5K_PHY_RFBUS_REQ_REQUEST 0x00000001 2378 #define AR5K_PHY_TIMING_7 0x9980 2379 #define AR5K_PHY_TIMING_8 0x9984 2380 #define AR5K_PHY_TIMING_8_PILOT_MASK_2 0x000fffff 2381 #define AR5K_PHY_TIMING_8_PILOT_MASK_2_S 0 2383 #define AR5K_PHY_BIN_MASK2_1 0x9988 2384 #define AR5K_PHY_BIN_MASK2_2 0x998c 2385 #define AR5K_PHY_BIN_MASK2_3 0x9990 2387 #define AR5K_PHY_BIN_MASK2_4 0x9994 2388 #define AR5K_PHY_BIN_MASK2_4_MASK_4 0x00003fff 2389 #define AR5K_PHY_BIN_MASK2_4_MASK_4_S 0 2391 #define AR5K_PHY_TIMING_9 0x9998 2392 #define AR5K_PHY_TIMING_10 0x999c 2393 #define AR5K_PHY_TIMING_10_PILOT_MASK_2 0x000fffff 2394 #define AR5K_PHY_TIMING_10_PILOT_MASK_2_S 0 2399 #define AR5K_PHY_TIMING_11 0x99a0 2400 #define AR5K_PHY_TIMING_11_SPUR_DELTA_PHASE 0x000fffff 2401 #define AR5K_PHY_TIMING_11_SPUR_DELTA_PHASE_S 0 2402 #define AR5K_PHY_TIMING_11_SPUR_FREQ_SD 0x3ff00000 2403 #define AR5K_PHY_TIMING_11_SPUR_FREQ_SD_S 20 2404 #define AR5K_PHY_TIMING_11_USE_SPUR_IN_AGC 0x40000000 2405 #define AR5K_PHY_TIMING_11_USE_SPUR_IN_SELFCOR 0x80000000 2410 #define AR5K_BB_GAIN_BASE 0x9b00 2411 #define AR5K_BB_GAIN(_n) (AR5K_BB_GAIN_BASE + ((_n) << 2)) 2412 #define AR5K_RF_GAIN_BASE 0x9a00 2413 #define AR5K_RF_GAIN(_n) (AR5K_RF_GAIN_BASE + ((_n) << 2)) 2418 #define AR5K_PHY_IQRES_CAL_PWR_I 0x9c10 2419 #define AR5K_PHY_IQRES_CAL_PWR_Q 0x9c14 2420 #define AR5K_PHY_IQRES_CAL_CORR 0x9c18 2425 #define AR5K_PHY_CURRENT_RSSI 0x9c1c 2430 #define AR5K_PHY_RFBUS_GRANT 0x9c20 2431 #define AR5K_PHY_RFBUS_GRANT_OK 0x00000001 2436 #define AR5K_PHY_ADC_TEST 0x9c24 2437 #define AR5K_PHY_ADC_TEST_I 0x00000001 2438 #define AR5K_PHY_ADC_TEST_Q 0x00000200 2443 #define AR5K_PHY_DAC_TEST 0x9c28 2444 #define AR5K_PHY_DAC_TEST_I 0x00000001 2445 #define AR5K_PHY_DAC_TEST_Q 0x00000200 2450 #define AR5K_PHY_PTAT 0x9c2c 2455 #define AR5K_PHY_BAD_TX_RATE 0x9c30 2460 #define AR5K_PHY_SPUR_PWR 0x9c34 2461 #define AR5K_PHY_SPUR_PWR_I 0x00000001 2462 #define AR5K_PHY_SPUR_PWR_Q 0x00000100 2463 #define AR5K_PHY_SPUR_PWR_FILT 0x00010000 2468 #define AR5K_PHY_CHAN_STATUS 0x9c38 2469 #define AR5K_PHY_CHAN_STATUS_BT_ACT 0x00000001 2470 #define AR5K_PHY_CHAN_STATUS_RX_CLR_RAW 0x00000002 2471 #define AR5K_PHY_CHAN_STATUS_RX_CLR_MAC 0x00000004 2472 #define AR5K_PHY_CHAN_STATUS_RX_CLR_PAP 0x00000008 2477 #define AR5K_PHY_HEAVY_CLIP_ENABLE 0x99e0 2482 #define AR5K_PHY_SCLOCK 0x99f0 2483 #define AR5K_PHY_SCLOCK_32MHZ 0x0000000c 2484 #define AR5K_PHY_SDELAY 0x99f4 2485 #define AR5K_PHY_SDELAY_32MHZ 0x000000ff 2486 #define AR5K_PHY_SPENDING 0x99f8 2493 #define AR5K_PHY_PAPD_I_BASE 0xa000 2494 #define AR5K_PHY_PAPD_I(_n) (AR5K_PHY_PAPD_I_BASE + ((_n) << 2)) 2499 #define AR5K_PHY_PCDAC_TXPOWER_BASE 0xa180 2500 #define AR5K_PHY_PCDAC_TXPOWER(_n) (AR5K_PHY_PCDAC_TXPOWER_BASE + ((_n) << 2)) 2505 #define AR5K_PHY_MODE 0x0a200 2506 #define AR5K_PHY_MODE_MOD 0x00000001 2507 #define AR5K_PHY_MODE_MOD_OFDM 0 2508 #define AR5K_PHY_MODE_MOD_CCK 1 2509 #define AR5K_PHY_MODE_FREQ 0x00000002 2510 #define AR5K_PHY_MODE_FREQ_5GHZ 0 2511 #define AR5K_PHY_MODE_FREQ_2GHZ 2 2512 #define AR5K_PHY_MODE_MOD_DYN 0x00000004 2513 #define AR5K_PHY_MODE_RAD 0x00000008 2514 #define AR5K_PHY_MODE_RAD_RF5111 0 2515 #define AR5K_PHY_MODE_RAD_RF5112 8 2516 #define AR5K_PHY_MODE_XR 0x00000010 2517 #define AR5K_PHY_MODE_HALF_RATE 0x00000020 2518 #define AR5K_PHY_MODE_QUARTER_RATE 0x00000040 2523 #define AR5K_PHY_CCKTXCTL 0xa204 2524 #define AR5K_PHY_CCKTXCTL_WORLD 0x00000000 2525 #define AR5K_PHY_CCKTXCTL_JAPAN 0x00000010 2526 #define AR5K_PHY_CCKTXCTL_SCRAMBLER_DIS 0x00000001 2527 #define AR5K_PHY_CCKTXCTK_DAC_SCALE 0x00000004 2532 #define AR5K_PHY_CCK_CROSSCORR 0xa208 2533 #define AR5K_PHY_CCK_CROSSCORR_WEAK_SIG_THR 0x0000000f 2534 #define AR5K_PHY_CCK_CROSSCORR_WEAK_SIG_THR_S 0 2537 #define AR5K_PHY_FAST_ANT_DIV 0xa208 2538 #define AR5K_PHY_FAST_ANT_DIV_EN 0x00002000 2543 #define AR5K_PHY_GAIN_2GHZ 0xa20c 2544 #define AR5K_PHY_GAIN_2GHZ_MARGIN_TXRX 0x00fc0000 2545 #define AR5K_PHY_GAIN_2GHZ_MARGIN_TXRX_S 18 2546 #define AR5K_PHY_GAIN_2GHZ_INI_5111 0x6480416c 2548 #define AR5K_PHY_CCK_RX_CTL_4 0xa21c 2549 #define AR5K_PHY_CCK_RX_CTL_4_FREQ_EST_SHORT 0x01f80000 2550 #define AR5K_PHY_CCK_RX_CTL_4_FREQ_EST_SHORT_S 19 2552 #define AR5K_PHY_DAG_CCK_CTL 0xa228 2553 #define AR5K_PHY_DAG_CCK_CTL_EN_RSSI_THR 0x00000200 2554 #define AR5K_PHY_DAG_CCK_CTL_RSSI_THR 0x0001fc00 2555 #define AR5K_PHY_DAG_CCK_CTL_RSSI_THR_S 10 2557 #define AR5K_PHY_FAST_ADC 0xa24c 2559 #define AR5K_PHY_BLUETOOTH 0xa254 2565 #define AR5K_PHY_TPC_RG1 0xa258 2566 #define AR5K_PHY_TPC_RG1_NUM_PD_GAIN 0x0000c000 2567 #define AR5K_PHY_TPC_RG1_NUM_PD_GAIN_S 14 2568 #define AR5K_PHY_TPC_RG1_PDGAIN_1 0x00030000 2569 #define AR5K_PHY_TPC_RG1_PDGAIN_1_S 16 2570 #define AR5K_PHY_TPC_RG1_PDGAIN_2 0x000c0000 2571 #define AR5K_PHY_TPC_RG1_PDGAIN_2_S 18 2572 #define AR5K_PHY_TPC_RG1_PDGAIN_3 0x00300000 2573 #define AR5K_PHY_TPC_RG1_PDGAIN_3_S 20 2575 #define AR5K_PHY_TPC_RG5 0xa26C 2576 #define AR5K_PHY_TPC_RG5_PD_GAIN_OVERLAP 0x0000000F 2577 #define AR5K_PHY_TPC_RG5_PD_GAIN_OVERLAP_S 0 2578 #define AR5K_PHY_TPC_RG5_PD_GAIN_BOUNDARY_1 0x000003F0 2579 #define AR5K_PHY_TPC_RG5_PD_GAIN_BOUNDARY_1_S 4 2580 #define AR5K_PHY_TPC_RG5_PD_GAIN_BOUNDARY_2 0x0000FC00 2581 #define AR5K_PHY_TPC_RG5_PD_GAIN_BOUNDARY_2_S 10 2582 #define AR5K_PHY_TPC_RG5_PD_GAIN_BOUNDARY_3 0x003F0000 2583 #define AR5K_PHY_TPC_RG5_PD_GAIN_BOUNDARY_3_S 16 2584 #define AR5K_PHY_TPC_RG5_PD_GAIN_BOUNDARY_4 0x0FC00000 2585 #define AR5K_PHY_TPC_RG5_PD_GAIN_BOUNDARY_4_S 22 2590 #define AR5K_PHY_PDADC_TXPOWER_BASE 0xa280 2591 #define AR5K_PHY_PDADC_TXPOWER(_n) (AR5K_PHY_PDADC_TXPOWER_BASE + ((_n) << 2))