15bd4f692SLarry Finger /* SPDX-License-Identifier: GPL-2.0 */ 25bd4f692SLarry Finger /* Copyright(c) 2009-2012 Realtek Corporation.*/ 33de1ef73SChaoming Li 43de1ef73SChaoming Li #ifndef __RTL92D_REG_H__ 53de1ef73SChaoming Li #define __RTL92D_REG_H__ 63de1ef73SChaoming Li 73de1ef73SChaoming Li /* ----------------------------------------------------- */ 83de1ef73SChaoming Li /* 0x0000h ~ 0x00FFh System Configuration */ 93de1ef73SChaoming Li /* ----------------------------------------------------- */ 103de1ef73SChaoming Li #define REG_SYS_ISO_CTRL 0x0000 113de1ef73SChaoming Li #define REG_SYS_FUNC_EN 0x0002 123de1ef73SChaoming Li #define REG_APS_FSMCO 0x0004 133de1ef73SChaoming Li #define REG_SYS_CLKR 0x0008 143de1ef73SChaoming Li #define REG_9346CR 0x000A 153de1ef73SChaoming Li #define REG_EE_VPD 0x000C 163de1ef73SChaoming Li #define REG_AFE_MISC 0x0010 173de1ef73SChaoming Li #define REG_SPS0_CTRL 0x0011 183de1ef73SChaoming Li #define REG_POWER_OFF_IN_PROCESS 0x0017 193de1ef73SChaoming Li #define REG_SPS_OCP_CFG 0x0018 203de1ef73SChaoming Li #define REG_RSV_CTRL 0x001C 213de1ef73SChaoming Li #define REG_RF_CTRL 0x001F 223de1ef73SChaoming Li #define REG_LDOA15_CTRL 0x0020 233de1ef73SChaoming Li #define REG_LDOV12D_CTRL 0x0021 243de1ef73SChaoming Li #define REG_LDOHCI12_CTRL 0x0022 253de1ef73SChaoming Li #define REG_LPLDO_CTRL 0x0023 263de1ef73SChaoming Li #define REG_AFE_XTAL_CTRL 0x0024 273de1ef73SChaoming Li #define REG_AFE_PLL_CTRL 0x0028 283de1ef73SChaoming Li /* for 92d, DMDP,SMSP,DMSP contrl */ 293de1ef73SChaoming Li #define REG_MAC_PHY_CTRL 0x002c 303de1ef73SChaoming Li #define REG_EFUSE_CTRL 0x0030 313de1ef73SChaoming Li #define REG_EFUSE_TEST 0x0034 323de1ef73SChaoming Li #define REG_PWR_DATA 0x0038 333de1ef73SChaoming Li #define REG_CAL_TIMER 0x003C 343de1ef73SChaoming Li #define REG_ACLK_MON 0x003E 353de1ef73SChaoming Li #define REG_GPIO_MUXCFG 0x0040 363de1ef73SChaoming Li #define REG_GPIO_IO_SEL 0x0042 373de1ef73SChaoming Li #define REG_MAC_PINMUX_CFG 0x0043 383de1ef73SChaoming Li #define REG_GPIO_PIN_CTRL 0x0044 393de1ef73SChaoming Li #define REG_GPIO_INTM 0x0048 403de1ef73SChaoming Li #define REG_LEDCFG0 0x004C 413de1ef73SChaoming Li #define REG_LEDCFG1 0x004D 423de1ef73SChaoming Li #define REG_LEDCFG2 0x004E 433de1ef73SChaoming Li #define REG_LEDCFG3 0x004F 443de1ef73SChaoming Li #define REG_FSIMR 0x0050 453de1ef73SChaoming Li #define REG_FSISR 0x0054 463de1ef73SChaoming Li 473de1ef73SChaoming Li #define REG_MCUFWDL 0x0080 483de1ef73SChaoming Li 493de1ef73SChaoming Li #define REG_HMEBOX_EXT_0 0x0088 503de1ef73SChaoming Li #define REG_HMEBOX_EXT_1 0x008A 513de1ef73SChaoming Li #define REG_HMEBOX_EXT_2 0x008C 523de1ef73SChaoming Li #define REG_HMEBOX_EXT_3 0x008E 53d75589a0SBitterblue Smith #define SIZE_OF_REG_HMEBOX_EXT 2 543de1ef73SChaoming Li 55*014bba73SBitterblue Smith #define REG_EFUSE_ACCESS 0x00CF 56*014bba73SBitterblue Smith 573de1ef73SChaoming Li #define REG_BIST_SCAN 0x00D0 583de1ef73SChaoming Li #define REG_BIST_RPT 0x00D4 593de1ef73SChaoming Li #define REG_BIST_ROM_RPT 0x00D8 603de1ef73SChaoming Li #define REG_USB_SIE_INTF 0x00E0 613de1ef73SChaoming Li #define REG_PCIE_MIO_INTF 0x00E4 623de1ef73SChaoming Li #define REG_PCIE_MIO_INTD 0x00E8 633de1ef73SChaoming Li #define REG_HPON_FSM 0x00EC 643de1ef73SChaoming Li #define REG_SYS_CFG 0x00F0 653de1ef73SChaoming Li #define REG_MAC_PHY_CTRL_NORMAL 0x00f8 663de1ef73SChaoming Li 673de1ef73SChaoming Li #define REG_MAC0 0x0081 683de1ef73SChaoming Li #define REG_MAC1 0x0053 693de1ef73SChaoming Li #define FW_MAC0_READY 0x18 703de1ef73SChaoming Li #define FW_MAC1_READY 0x1A 713de1ef73SChaoming Li #define MAC0_ON BIT(7) 723de1ef73SChaoming Li #define MAC1_ON BIT(0) 733de1ef73SChaoming Li #define MAC0_READY BIT(0) 743de1ef73SChaoming Li #define MAC1_READY BIT(0) 753de1ef73SChaoming Li 763de1ef73SChaoming Li /* ----------------------------------------------------- */ 773de1ef73SChaoming Li /* 0x0100h ~ 0x01FFh MACTOP General Configuration */ 783de1ef73SChaoming Li /* ----------------------------------------------------- */ 793de1ef73SChaoming Li #define REG_CR 0x0100 803de1ef73SChaoming Li #define REG_PBP 0x0104 813de1ef73SChaoming Li #define REG_TRXDMA_CTRL 0x010C 823de1ef73SChaoming Li #define REG_TRXFF_BNDY 0x0114 833de1ef73SChaoming Li #define REG_TRXFF_STATUS 0x0118 843de1ef73SChaoming Li #define REG_RXFF_PTR 0x011C 853de1ef73SChaoming Li #define REG_HIMR 0x0120 863de1ef73SChaoming Li #define REG_HISR 0x0124 873de1ef73SChaoming Li #define REG_HIMRE 0x0128 883de1ef73SChaoming Li #define REG_HISRE 0x012C 893de1ef73SChaoming Li #define REG_CPWM 0x012F 903de1ef73SChaoming Li #define REG_FWIMR 0x0130 913de1ef73SChaoming Li #define REG_FWISR 0x0134 92*014bba73SBitterblue Smith #define REG_FTIMR 0x0138 933de1ef73SChaoming Li #define REG_PKTBUF_DBG_CTRL 0x0140 943de1ef73SChaoming Li #define REG_PKTBUF_DBG_DATA_L 0x0144 953de1ef73SChaoming Li #define REG_PKTBUF_DBG_DATA_H 0x0148 963de1ef73SChaoming Li 973de1ef73SChaoming Li #define REG_TC0_CTRL 0x0150 983de1ef73SChaoming Li #define REG_TC1_CTRL 0x0154 993de1ef73SChaoming Li #define REG_TC2_CTRL 0x0158 1003de1ef73SChaoming Li #define REG_TC3_CTRL 0x015C 1013de1ef73SChaoming Li #define REG_TC4_CTRL 0x0160 1023de1ef73SChaoming Li #define REG_TCUNIT_BASE 0x0164 1033de1ef73SChaoming Li #define REG_MBIST_START 0x0174 1043de1ef73SChaoming Li #define REG_MBIST_DONE 0x0178 1053de1ef73SChaoming Li #define REG_MBIST_FAIL 0x017C 1063de1ef73SChaoming Li #define REG_C2HEVT_MSG_NORMAL 0x01A0 1073de1ef73SChaoming Li #define REG_C2HEVT_MSG_TEST 0x01B8 1083de1ef73SChaoming Li #define REG_C2HEVT_CLEAR 0x01BF 1093de1ef73SChaoming Li #define REG_MCUTST_1 0x01c0 1103de1ef73SChaoming Li #define REG_FMETHR 0x01C8 1113de1ef73SChaoming Li #define REG_HMETFR 0x01CC 1123de1ef73SChaoming Li #define REG_HMEBOX_0 0x01D0 1133de1ef73SChaoming Li #define REG_HMEBOX_1 0x01D4 1143de1ef73SChaoming Li #define REG_HMEBOX_2 0x01D8 1153de1ef73SChaoming Li #define REG_HMEBOX_3 0x01DC 116d75589a0SBitterblue Smith #define SIZE_OF_REG_HMEBOX 4 1173de1ef73SChaoming Li 1183de1ef73SChaoming Li #define REG_LLT_INIT 0x01E0 1193de1ef73SChaoming Li #define REG_BB_ACCEESS_CTRL 0x01E8 1203de1ef73SChaoming Li #define REG_BB_ACCESS_DATA 0x01EC 1213de1ef73SChaoming Li 1223de1ef73SChaoming Li 1233de1ef73SChaoming Li /* ----------------------------------------------------- */ 1243de1ef73SChaoming Li /* 0x0200h ~ 0x027Fh TXDMA Configuration */ 1253de1ef73SChaoming Li /* ----------------------------------------------------- */ 1263de1ef73SChaoming Li #define REG_RQPN 0x0200 1273de1ef73SChaoming Li #define REG_FIFOPAGE 0x0204 1283de1ef73SChaoming Li #define REG_TDECTRL 0x0208 1293de1ef73SChaoming Li #define REG_TXDMA_OFFSET_CHK 0x020C 1303de1ef73SChaoming Li #define REG_TXDMA_STATUS 0x0210 1313de1ef73SChaoming Li #define REG_RQPN_NPQ 0x0214 1323de1ef73SChaoming Li 1333de1ef73SChaoming Li /* ----------------------------------------------------- */ 1343de1ef73SChaoming Li /* 0x0280h ~ 0x02FFh RXDMA Configuration */ 1353de1ef73SChaoming Li /* ----------------------------------------------------- */ 1363de1ef73SChaoming Li #define REG_RXDMA_AGG_PG_TH 0x0280 1373de1ef73SChaoming Li #define REG_RXPKT_NUM 0x0284 1383de1ef73SChaoming Li #define REG_RXDMA_STATUS 0x0288 1393de1ef73SChaoming Li 1403de1ef73SChaoming Li /* ----------------------------------------------------- */ 1413de1ef73SChaoming Li /* 0x0300h ~ 0x03FFh PCIe */ 1423de1ef73SChaoming Li /* ----------------------------------------------------- */ 1433de1ef73SChaoming Li #define REG_PCIE_CTRL_REG 0x0300 1443de1ef73SChaoming Li #define REG_INT_MIG 0x0304 1453de1ef73SChaoming Li #define REG_BCNQ_DESA 0x0308 1463de1ef73SChaoming Li #define REG_HQ_DESA 0x0310 1473de1ef73SChaoming Li #define REG_MGQ_DESA 0x0318 1483de1ef73SChaoming Li #define REG_VOQ_DESA 0x0320 1493de1ef73SChaoming Li #define REG_VIQ_DESA 0x0328 1503de1ef73SChaoming Li #define REG_BEQ_DESA 0x0330 1513de1ef73SChaoming Li #define REG_BKQ_DESA 0x0338 1523de1ef73SChaoming Li #define REG_RX_DESA 0x0340 1533de1ef73SChaoming Li #define REG_DBI 0x0348 1543de1ef73SChaoming Li #define REG_DBI_WDATA 0x0348 1553de1ef73SChaoming Li #define REG_DBI_RDATA 0x034C 1563de1ef73SChaoming Li #define REG_DBI_CTRL 0x0350 1573de1ef73SChaoming Li #define REG_DBI_FLAG 0x0352 1583de1ef73SChaoming Li #define REG_MDIO 0x0354 1593de1ef73SChaoming Li #define REG_DBG_SEL 0x0360 1603de1ef73SChaoming Li #define REG_PCIE_HRPWM 0x0361 1613de1ef73SChaoming Li #define REG_PCIE_HCPWM 0x0363 1623de1ef73SChaoming Li #define REG_UART_CTRL 0x0364 1633de1ef73SChaoming Li #define REG_UART_TX_DESA 0x0370 1643de1ef73SChaoming Li #define REG_UART_RX_DESA 0x0378 1653de1ef73SChaoming Li 1663de1ef73SChaoming Li /* ----------------------------------------------------- */ 1673de1ef73SChaoming Li /* 0x0400h ~ 0x047Fh Protocol Configuration */ 1683de1ef73SChaoming Li /* ----------------------------------------------------- */ 1693de1ef73SChaoming Li #define REG_VOQ_INFORMATION 0x0400 1703de1ef73SChaoming Li #define REG_VIQ_INFORMATION 0x0404 1713de1ef73SChaoming Li #define REG_BEQ_INFORMATION 0x0408 1723de1ef73SChaoming Li #define REG_BKQ_INFORMATION 0x040C 1733de1ef73SChaoming Li #define REG_MGQ_INFORMATION 0x0410 1743de1ef73SChaoming Li #define REG_HGQ_INFORMATION 0x0414 1753de1ef73SChaoming Li #define REG_BCNQ_INFORMATION 0x0418 1763de1ef73SChaoming Li 1773de1ef73SChaoming Li 1783de1ef73SChaoming Li #define REG_CPU_MGQ_INFORMATION 0x041C 1793de1ef73SChaoming Li #define REG_FWHW_TXQ_CTRL 0x0420 1803de1ef73SChaoming Li #define REG_HWSEQ_CTRL 0x0423 1813de1ef73SChaoming Li #define REG_TXPKTBUF_BCNQ_BDNY 0x0424 1823de1ef73SChaoming Li #define REG_TXPKTBUF_MGQ_BDNY 0x0425 1833de1ef73SChaoming Li #define REG_MULTI_BCNQ_EN 0x0426 1843de1ef73SChaoming Li #define REG_MULTI_BCNQ_OFFSET 0x0427 1853de1ef73SChaoming Li #define REG_SPEC_SIFS 0x0428 1863de1ef73SChaoming Li #define REG_RL 0x042A 1873de1ef73SChaoming Li #define REG_DARFRC 0x0430 1883de1ef73SChaoming Li #define REG_RARFRC 0x0438 1893de1ef73SChaoming Li #define REG_RRSR 0x0440 1903de1ef73SChaoming Li #define REG_ARFR0 0x0444 1913de1ef73SChaoming Li #define REG_ARFR1 0x0448 1923de1ef73SChaoming Li #define REG_ARFR2 0x044C 1933de1ef73SChaoming Li #define REG_ARFR3 0x0450 1943de1ef73SChaoming Li #define REG_AGGLEN_LMT 0x0458 1953de1ef73SChaoming Li #define REG_AMPDU_MIN_SPACE 0x045C 1963de1ef73SChaoming Li #define REG_TXPKTBUF_WMAC_LBK_BF_HD 0x045D 1973de1ef73SChaoming Li #define REG_FAST_EDCA_CTRL 0x0460 1983de1ef73SChaoming Li #define REG_RD_RESP_PKT_TH 0x0463 1993de1ef73SChaoming Li #define REG_INIRTS_RATE_SEL 0x0480 2003de1ef73SChaoming Li #define REG_INIDATA_RATE_SEL 0x0484 2013de1ef73SChaoming Li #define REG_POWER_STATUS 0x04A4 2023de1ef73SChaoming Li #define REG_POWER_STAGE1 0x04B4 2033de1ef73SChaoming Li #define REG_POWER_STAGE2 0x04B8 2043de1ef73SChaoming Li #define REG_PKT_LIFE_TIME 0x04C0 205*014bba73SBitterblue Smith #define REG_PKT_VO_VI_LIFE_TIME 0x04C0 206*014bba73SBitterblue Smith #define REG_PKT_BE_BK_LIFE_TIME 0x04C2 2073de1ef73SChaoming Li #define REG_STBC_SETTING 0x04C4 2083de1ef73SChaoming Li #define REG_PROT_MODE_CTRL 0x04C8 2093de1ef73SChaoming Li #define REG_MAX_AGGR_NUM 0x04CA 2103de1ef73SChaoming Li #define REG_RTS_MAX_AGGR_NUM 0x04CB 2113de1ef73SChaoming Li #define REG_BAR_MODE_CTRL 0x04CC 2123de1ef73SChaoming Li #define REG_RA_TRY_RATE_AGG_LMT 0x04CF 2133de1ef73SChaoming Li #define REG_EARLY_MODE_CONTROL 0x4D0 2143de1ef73SChaoming Li #define REG_NQOS_SEQ 0x04DC 2153de1ef73SChaoming Li #define REG_QOS_SEQ 0x04DE 2163de1ef73SChaoming Li #define REG_NEED_CPU_HANDLE 0x04E0 2173de1ef73SChaoming Li #define REG_PKT_LOSE_RPT 0x04E1 2183de1ef73SChaoming Li #define REG_PTCL_ERR_STATUS 0x04E2 2193de1ef73SChaoming Li #define REG_DUMMY 0x04FC 2203de1ef73SChaoming Li 2213de1ef73SChaoming Li /* ----------------------------------------------------- */ 2223de1ef73SChaoming Li /* 0x0500h ~ 0x05FFh EDCA Configuration */ 2233de1ef73SChaoming Li /* ----------------------------------------------------- */ 2243de1ef73SChaoming Li #define REG_EDCA_VO_PARAM 0x0500 2253de1ef73SChaoming Li #define REG_EDCA_VI_PARAM 0x0504 2263de1ef73SChaoming Li #define REG_EDCA_BE_PARAM 0x0508 2273de1ef73SChaoming Li #define REG_EDCA_BK_PARAM 0x050C 2283de1ef73SChaoming Li #define REG_BCNTCFG 0x0510 2293de1ef73SChaoming Li #define REG_PIFS 0x0512 2303de1ef73SChaoming Li #define REG_RDG_PIFS 0x0513 2313de1ef73SChaoming Li #define REG_SIFS_CTX 0x0514 2323de1ef73SChaoming Li #define REG_SIFS_TRX 0x0516 2333de1ef73SChaoming Li #define REG_AGGR_BREAK_TIME 0x051A 2343de1ef73SChaoming Li #define REG_SLOT 0x051B 2353de1ef73SChaoming Li #define REG_TX_PTCL_CTRL 0x0520 2363de1ef73SChaoming Li #define REG_TXPAUSE 0x0522 2373de1ef73SChaoming Li #define REG_DIS_TXREQ_CLR 0x0523 2383de1ef73SChaoming Li #define REG_RD_CTRL 0x0524 2393de1ef73SChaoming Li #define REG_TBTT_PROHIBIT 0x0540 2403de1ef73SChaoming Li #define REG_RD_NAV_NXT 0x0544 2413de1ef73SChaoming Li #define REG_NAV_PROT_LEN 0x0546 2423de1ef73SChaoming Li #define REG_BCN_CTRL 0x0550 243*014bba73SBitterblue Smith #define REG_BCN_CTRL_1 0x0551 2443de1ef73SChaoming Li #define REG_MBID_NUM 0x0552 2453de1ef73SChaoming Li #define REG_DUAL_TSF_RST 0x0553 2463de1ef73SChaoming Li #define REG_BCN_INTERVAL 0x0554 2473de1ef73SChaoming Li #define REG_MBSSID_BCN_SPACE 0x0554 2483de1ef73SChaoming Li #define REG_DRVERLYINT 0x0558 2493de1ef73SChaoming Li #define REG_BCNDMATIM 0x0559 2503de1ef73SChaoming Li #define REG_ATIMWND 0x055A 2519da96c5eSKevin Lo #define REG_USTIME_TSF 0x055C 2523de1ef73SChaoming Li #define REG_BCN_MAX_ERR 0x055D 2533de1ef73SChaoming Li #define REG_RXTSF_OFFSET_CCK 0x055E 2543de1ef73SChaoming Li #define REG_RXTSF_OFFSET_OFDM 0x055F 2553de1ef73SChaoming Li #define REG_TSFTR 0x0560 2563de1ef73SChaoming Li #define REG_INIT_TSFTR 0x0564 2573de1ef73SChaoming Li #define REG_PSTIMER 0x0580 2583de1ef73SChaoming Li #define REG_TIMER0 0x0584 2593de1ef73SChaoming Li #define REG_TIMER1 0x0588 2603de1ef73SChaoming Li #define REG_ACMHWCTRL 0x05C0 2613de1ef73SChaoming Li #define REG_ACMRSTCTRL 0x05C1 2623de1ef73SChaoming Li #define REG_ACMAVG 0x05C2 2633de1ef73SChaoming Li #define REG_VO_ADMTIME 0x05C4 2643de1ef73SChaoming Li #define REG_VI_ADMTIME 0x05C6 2653de1ef73SChaoming Li #define REG_BE_ADMTIME 0x05C8 2663de1ef73SChaoming Li #define REG_EDCA_RANDOM_GEN 0x05CC 2673de1ef73SChaoming Li #define REG_SCH_TXCMD 0x05D0 2683de1ef73SChaoming Li 2693de1ef73SChaoming Li /* Dual MAC Co-Existence Register */ 2703de1ef73SChaoming Li #define REG_DMC 0x05F0 2713de1ef73SChaoming Li 2723de1ef73SChaoming Li /* ----------------------------------------------------- */ 2733de1ef73SChaoming Li /* 0x0600h ~ 0x07FFh WMAC Configuration */ 2743de1ef73SChaoming Li /* ----------------------------------------------------- */ 2753de1ef73SChaoming Li #define REG_APSD_CTRL 0x0600 2763de1ef73SChaoming Li #define REG_BWOPMODE 0x0603 2773de1ef73SChaoming Li #define REG_TCR 0x0604 2783de1ef73SChaoming Li #define REG_RCR 0x0608 2793de1ef73SChaoming Li #define REG_RX_PKT_LIMIT 0x060C 2803de1ef73SChaoming Li #define REG_RX_DLK_TIME 0x060D 2813de1ef73SChaoming Li #define REG_RX_DRVINFO_SZ 0x060F 2823de1ef73SChaoming Li 2833de1ef73SChaoming Li #define REG_MACID 0x0610 2843de1ef73SChaoming Li #define REG_BSSID 0x0618 2853de1ef73SChaoming Li #define REG_MAR 0x0620 2863de1ef73SChaoming Li #define REG_MBIDCAMCFG 0x0628 2873de1ef73SChaoming Li 2883de1ef73SChaoming Li #define REG_USTIME_EDCA 0x0638 2893de1ef73SChaoming Li #define REG_MAC_SPEC_SIFS 0x063A 2903de1ef73SChaoming Li #define REG_RESP_SIFS_CCK 0x063C 2913de1ef73SChaoming Li #define REG_RESP_SIFS_OFDM 0x063E 2923de1ef73SChaoming Li #define REG_ACKTO 0x0640 2933de1ef73SChaoming Li #define REG_CTS2TO 0x0641 2943de1ef73SChaoming Li #define REG_EIFS 0x0642 2953de1ef73SChaoming Li 2963de1ef73SChaoming Li 2973de1ef73SChaoming Li /* WMA, BA, CCX */ 2983de1ef73SChaoming Li #define REG_NAV_CTRL 0x0650 2993de1ef73SChaoming Li #define REG_BACAMCMD 0x0654 3003de1ef73SChaoming Li #define REG_BACAMCONTENT 0x0658 3013de1ef73SChaoming Li #define REG_LBDLY 0x0660 3023de1ef73SChaoming Li #define REG_FWDLY 0x0661 3033de1ef73SChaoming Li #define REG_RXERR_RPT 0x0664 3043de1ef73SChaoming Li #define REG_WMAC_TRXPTCL_CTL 0x0668 3053de1ef73SChaoming Li 3063de1ef73SChaoming Li 3073de1ef73SChaoming Li /* Security */ 3083de1ef73SChaoming Li #define REG_CAMCMD 0x0670 3093de1ef73SChaoming Li #define REG_CAMWRITE 0x0674 3103de1ef73SChaoming Li #define REG_CAMREAD 0x0678 3113de1ef73SChaoming Li #define REG_CAMDBG 0x067C 3123de1ef73SChaoming Li #define REG_SECCFG 0x0680 3133de1ef73SChaoming Li 3143de1ef73SChaoming Li /* Power */ 3153de1ef73SChaoming Li #define REG_WOW_CTRL 0x0690 3163de1ef73SChaoming Li #define REG_PSSTATUS 0x0691 3173de1ef73SChaoming Li #define REG_PS_RX_INFO 0x0692 3183de1ef73SChaoming Li #define REG_LPNAV_CTRL 0x0694 3193de1ef73SChaoming Li #define REG_WKFMCAM_CMD 0x0698 3203de1ef73SChaoming Li #define REG_WKFMCAM_RWD 0x069C 3213de1ef73SChaoming Li #define REG_RXFLTMAP0 0x06A0 3223de1ef73SChaoming Li #define REG_RXFLTMAP1 0x06A2 3233de1ef73SChaoming Li #define REG_RXFLTMAP2 0x06A4 3243de1ef73SChaoming Li #define REG_BCN_PSR_RPT 0x06A8 3253de1ef73SChaoming Li #define REG_CALB32K_CTRL 0x06AC 3263de1ef73SChaoming Li #define REG_PKT_MON_CTRL 0x06B4 3273de1ef73SChaoming Li #define REG_BT_COEX_TABLE 0x06C0 3283de1ef73SChaoming Li #define REG_WMAC_RESP_TXINFO 0x06D8 3293de1ef73SChaoming Li 330*014bba73SBitterblue Smith #define REG_USB_Queue_Select_MAC0 0xFE44 331*014bba73SBitterblue Smith #define REG_USB_Queue_Select_MAC1 0xFE47 3323de1ef73SChaoming Li 3333de1ef73SChaoming Li /* ----------------------------------------------------- */ 3343de1ef73SChaoming Li /* Redifine 8192C register definition for compatibility */ 3353de1ef73SChaoming Li /* ----------------------------------------------------- */ 3363de1ef73SChaoming Li #define CR9346 REG_9346CR 3373de1ef73SChaoming Li #define MSR (REG_CR + 2) 3383de1ef73SChaoming Li #define ISR REG_HISR 3393de1ef73SChaoming Li #define TSFR REG_TSFTR 3403de1ef73SChaoming Li 3413de1ef73SChaoming Li #define MACIDR0 REG_MACID 3423de1ef73SChaoming Li #define MACIDR4 (REG_MACID + 4) 3433de1ef73SChaoming Li 3443de1ef73SChaoming Li #define PBP REG_PBP 3453de1ef73SChaoming Li 3463de1ef73SChaoming Li #define IDR0 MACIDR0 3473de1ef73SChaoming Li #define IDR4 MACIDR4 3483de1ef73SChaoming Li 3493de1ef73SChaoming Li /* ----------------------------------------------------- */ 3503de1ef73SChaoming Li /* 8192C (MSR) Media Status Register(Offset 0x4C, 8 bits)*/ 3513de1ef73SChaoming Li /* ----------------------------------------------------- */ 3523de1ef73SChaoming Li #define MSR_NOLINK 0x00 3533de1ef73SChaoming Li #define MSR_ADHOC 0x01 3543de1ef73SChaoming Li #define MSR_INFRA 0x02 3553de1ef73SChaoming Li #define MSR_AP 0x03 3568a607208SRickard Strandqvist #define MSR_MASK 0x03 3573de1ef73SChaoming Li 3583de1ef73SChaoming Li /* 6. Adaptive Control Registers (Offset: 0x0160 - 0x01CF) */ 3593de1ef73SChaoming Li /* ----------------------------------------------------- */ 3603de1ef73SChaoming Li /* 8192C Response Rate Set Register(offset 0x181, 24bits)*/ 3613de1ef73SChaoming Li /* ----------------------------------------------------- */ 3623de1ef73SChaoming Li #define RRSR_RSC_OFFSET 21 3633de1ef73SChaoming Li #define RRSR_SHORT_OFFSET 23 3643de1ef73SChaoming Li #define RRSR_RSC_BW_40M 0x600000 3653de1ef73SChaoming Li #define RRSR_RSC_UPSUBCHNL 0x400000 3663de1ef73SChaoming Li #define RRSR_RSC_LOWSUBCHNL 0x200000 3673de1ef73SChaoming Li #define RRSR_SHORT 0x800000 368*014bba73SBitterblue Smith #define RRSR_1M BIT(0) 369*014bba73SBitterblue Smith #define RRSR_2M BIT(1) 370*014bba73SBitterblue Smith #define RRSR_5_5M BIT(2) 371*014bba73SBitterblue Smith #define RRSR_11M BIT(3) 372*014bba73SBitterblue Smith #define RRSR_6M BIT(4) 373*014bba73SBitterblue Smith #define RRSR_9M BIT(5) 374*014bba73SBitterblue Smith #define RRSR_12M BIT(6) 375*014bba73SBitterblue Smith #define RRSR_18M BIT(7) 376*014bba73SBitterblue Smith #define RRSR_24M BIT(8) 377*014bba73SBitterblue Smith #define RRSR_36M BIT(9) 378*014bba73SBitterblue Smith #define RRSR_48M BIT(10) 379*014bba73SBitterblue Smith #define RRSR_54M BIT(11) 380*014bba73SBitterblue Smith #define RRSR_MCS0 BIT(12) 381*014bba73SBitterblue Smith #define RRSR_MCS1 BIT(13) 382*014bba73SBitterblue Smith #define RRSR_MCS2 BIT(14) 383*014bba73SBitterblue Smith #define RRSR_MCS3 BIT(15) 384*014bba73SBitterblue Smith #define RRSR_MCS4 BIT(16) 385*014bba73SBitterblue Smith #define RRSR_MCS5 BIT(17) 386*014bba73SBitterblue Smith #define RRSR_MCS6 BIT(18) 387*014bba73SBitterblue Smith #define RRSR_MCS7 BIT(19) 388*014bba73SBitterblue Smith #define BRSR_ACKSHORTPMB BIT(23) 3893de1ef73SChaoming Li 3903de1ef73SChaoming Li /* ----------------------------------------------------- */ 3913de1ef73SChaoming Li /* 8192C Rate Definition */ 3923de1ef73SChaoming Li /* ----------------------------------------------------- */ 3933de1ef73SChaoming Li /* CCK */ 3943de1ef73SChaoming Li #define RATR_1M 0x00000001 3953de1ef73SChaoming Li #define RATR_2M 0x00000002 3963de1ef73SChaoming Li #define RATR_55M 0x00000004 3973de1ef73SChaoming Li #define RATR_11M 0x00000008 3983de1ef73SChaoming Li /* OFDM */ 3993de1ef73SChaoming Li #define RATR_6M 0x00000010 4003de1ef73SChaoming Li #define RATR_9M 0x00000020 4013de1ef73SChaoming Li #define RATR_12M 0x00000040 4023de1ef73SChaoming Li #define RATR_18M 0x00000080 4033de1ef73SChaoming Li #define RATR_24M 0x00000100 4043de1ef73SChaoming Li #define RATR_36M 0x00000200 4053de1ef73SChaoming Li #define RATR_48M 0x00000400 4063de1ef73SChaoming Li #define RATR_54M 0x00000800 4073de1ef73SChaoming Li /* MCS 1 Spatial Stream */ 4083de1ef73SChaoming Li #define RATR_MCS0 0x00001000 4093de1ef73SChaoming Li #define RATR_MCS1 0x00002000 4103de1ef73SChaoming Li #define RATR_MCS2 0x00004000 4113de1ef73SChaoming Li #define RATR_MCS3 0x00008000 4123de1ef73SChaoming Li #define RATR_MCS4 0x00010000 4133de1ef73SChaoming Li #define RATR_MCS5 0x00020000 4143de1ef73SChaoming Li #define RATR_MCS6 0x00040000 4153de1ef73SChaoming Li #define RATR_MCS7 0x00080000 4163de1ef73SChaoming Li /* MCS 2 Spatial Stream */ 4173de1ef73SChaoming Li #define RATR_MCS8 0x00100000 4183de1ef73SChaoming Li #define RATR_MCS9 0x00200000 4193de1ef73SChaoming Li #define RATR_MCS10 0x00400000 4203de1ef73SChaoming Li #define RATR_MCS11 0x00800000 4213de1ef73SChaoming Li #define RATR_MCS12 0x01000000 4223de1ef73SChaoming Li #define RATR_MCS13 0x02000000 4233de1ef73SChaoming Li #define RATR_MCS14 0x04000000 4243de1ef73SChaoming Li #define RATR_MCS15 0x08000000 4253de1ef73SChaoming Li 4263de1ef73SChaoming Li /* CCK */ 4273de1ef73SChaoming Li #define RATE_1M BIT(0) 4283de1ef73SChaoming Li #define RATE_2M BIT(1) 4293de1ef73SChaoming Li #define RATE_5_5M BIT(2) 4303de1ef73SChaoming Li #define RATE_11M BIT(3) 4313de1ef73SChaoming Li /* OFDM */ 4323de1ef73SChaoming Li #define RATE_6M BIT(4) 4333de1ef73SChaoming Li #define RATE_9M BIT(5) 4343de1ef73SChaoming Li #define RATE_12M BIT(6) 4353de1ef73SChaoming Li #define RATE_18M BIT(7) 4363de1ef73SChaoming Li #define RATE_24M BIT(8) 4373de1ef73SChaoming Li #define RATE_36M BIT(9) 4383de1ef73SChaoming Li #define RATE_48M BIT(10) 4393de1ef73SChaoming Li #define RATE_54M BIT(11) 4403de1ef73SChaoming Li /* MCS 1 Spatial Stream */ 4413de1ef73SChaoming Li #define RATE_MCS0 BIT(12) 4423de1ef73SChaoming Li #define RATE_MCS1 BIT(13) 4433de1ef73SChaoming Li #define RATE_MCS2 BIT(14) 4443de1ef73SChaoming Li #define RATE_MCS3 BIT(15) 4453de1ef73SChaoming Li #define RATE_MCS4 BIT(16) 4463de1ef73SChaoming Li #define RATE_MCS5 BIT(17) 4473de1ef73SChaoming Li #define RATE_MCS6 BIT(18) 4483de1ef73SChaoming Li #define RATE_MCS7 BIT(19) 4493de1ef73SChaoming Li /* MCS 2 Spatial Stream */ 4503de1ef73SChaoming Li #define RATE_MCS8 BIT(20) 4513de1ef73SChaoming Li #define RATE_MCS9 BIT(21) 4523de1ef73SChaoming Li #define RATE_MCS10 BIT(22) 4533de1ef73SChaoming Li #define RATE_MCS11 BIT(23) 4543de1ef73SChaoming Li #define RATE_MCS12 BIT(24) 4553de1ef73SChaoming Li #define RATE_MCS13 BIT(25) 4563de1ef73SChaoming Li #define RATE_MCS14 BIT(26) 4573de1ef73SChaoming Li #define RATE_MCS15 BIT(27) 4583de1ef73SChaoming Li 4593de1ef73SChaoming Li /* ALL CCK Rate */ 4603de1ef73SChaoming Li #define RATE_ALL_CCK (RATR_1M | RATR_2M | RATR_55M | \ 4613de1ef73SChaoming Li RATR_11M) 4623de1ef73SChaoming Li #define RATE_ALL_OFDM_AG (RATR_6M | RATR_9M | RATR_12M | \ 4633de1ef73SChaoming Li RATR_18M | RATR_24M | \ 4643de1ef73SChaoming Li RATR_36M | RATR_48M | RATR_54M) 4653de1ef73SChaoming Li #define RATE_ALL_OFDM_1SS (RATR_MCS0 | RATR_MCS1 | RATR_MCS2 | \ 4663de1ef73SChaoming Li RATR_MCS3 | RATR_MCS4 | RATR_MCS5 | \ 4673de1ef73SChaoming Li RATR_MCS6 | RATR_MCS7) 4683de1ef73SChaoming Li #define RATE_ALL_OFDM_2SS (RATR_MCS8 | RATR_MCS9 | RATR_MCS10 | \ 4693de1ef73SChaoming Li RATR_MCS11 | RATR_MCS12 | RATR_MCS13 | \ 4703de1ef73SChaoming Li RATR_MCS14 | RATR_MCS15) 4713de1ef73SChaoming Li 4723de1ef73SChaoming Li /* ----------------------------------------------------- */ 4733de1ef73SChaoming Li /* 8192C BW_OPMODE bits (Offset 0x203, 8bit) */ 4743de1ef73SChaoming Li /* ----------------------------------------------------- */ 4753de1ef73SChaoming Li #define BW_OPMODE_20MHZ BIT(2) 4763de1ef73SChaoming Li #define BW_OPMODE_5G BIT(1) 4773de1ef73SChaoming Li #define BW_OPMODE_11J BIT(0) 4783de1ef73SChaoming Li 4793de1ef73SChaoming Li 4803de1ef73SChaoming Li /* ----------------------------------------------------- */ 4813de1ef73SChaoming Li /* 8192C CAM Config Setting (offset 0x250, 1 byte) */ 4823de1ef73SChaoming Li /* ----------------------------------------------------- */ 4833de1ef73SChaoming Li #define CAM_VALID BIT(15) 4843de1ef73SChaoming Li #define CAM_NOTVALID 0x0000 4853de1ef73SChaoming Li #define CAM_USEDK BIT(5) 4863de1ef73SChaoming Li 4873de1ef73SChaoming Li #define CAM_NONE 0x0 4883de1ef73SChaoming Li #define CAM_WEP40 0x01 4893de1ef73SChaoming Li #define CAM_TKIP 0x02 4903de1ef73SChaoming Li #define CAM_AES 0x04 4913de1ef73SChaoming Li #define CAM_WEP104 0x05 4923de1ef73SChaoming Li #define CAM_SMS4 0x6 4933de1ef73SChaoming Li 4943de1ef73SChaoming Li 4953de1ef73SChaoming Li #define TOTAL_CAM_ENTRY 32 4963de1ef73SChaoming Li #define HALF_CAM_ENTRY 16 4973de1ef73SChaoming Li 4983de1ef73SChaoming Li #define CAM_WRITE BIT(16) 4993de1ef73SChaoming Li #define CAM_READ 0x00000000 5003de1ef73SChaoming Li #define CAM_POLLINIG BIT(31) 5013de1ef73SChaoming Li 5023de1ef73SChaoming Li /* 10. Power Save Control Registers (Offset: 0x0260 - 0x02DF) */ 5033de1ef73SChaoming Li #define WOW_PMEN BIT0 /* Power management Enable. */ 5043de1ef73SChaoming Li #define WOW_WOMEN BIT1 /* WoW function on or off. */ 5053de1ef73SChaoming Li #define WOW_MAGIC BIT2 /* Magic packet */ 5063de1ef73SChaoming Li #define WOW_UWF BIT3 /* Unicast Wakeup frame. */ 5073de1ef73SChaoming Li 5083de1ef73SChaoming Li /* 12. Host Interrupt Status Registers (Offset: 0x0300 - 0x030F) */ 5093de1ef73SChaoming Li /* ----------------------------------------------------- */ 5103de1ef73SChaoming Li /* 8190 IMR/ISR bits (offset 0xfd, 8bits) */ 5113de1ef73SChaoming Li /* ----------------------------------------------------- */ 5123de1ef73SChaoming Li #define IMR8190_DISABLED 0x0 5133de1ef73SChaoming Li #define IMR_BCNDMAINT6 BIT(31) 5143de1ef73SChaoming Li #define IMR_BCNDMAINT5 BIT(30) 5153de1ef73SChaoming Li #define IMR_BCNDMAINT4 BIT(29) 5163de1ef73SChaoming Li #define IMR_BCNDMAINT3 BIT(28) 5173de1ef73SChaoming Li #define IMR_BCNDMAINT2 BIT(27) 5183de1ef73SChaoming Li #define IMR_BCNDMAINT1 BIT(26) 5193de1ef73SChaoming Li #define IMR_BCNDOK8 BIT(25) 5203de1ef73SChaoming Li #define IMR_BCNDOK7 BIT(24) 5213de1ef73SChaoming Li #define IMR_BCNDOK6 BIT(23) 5223de1ef73SChaoming Li #define IMR_BCNDOK5 BIT(22) 5233de1ef73SChaoming Li #define IMR_BCNDOK4 BIT(21) 5243de1ef73SChaoming Li #define IMR_BCNDOK3 BIT(20) 5253de1ef73SChaoming Li #define IMR_BCNDOK2 BIT(19) 5263de1ef73SChaoming Li #define IMR_BCNDOK1 BIT(18) 5273de1ef73SChaoming Li #define IMR_TIMEOUT2 BIT(17) 5283de1ef73SChaoming Li #define IMR_TIMEOUT1 BIT(16) 5293de1ef73SChaoming Li #define IMR_TXFOVW BIT(15) 5303de1ef73SChaoming Li #define IMR_PSTIMEOUT BIT(14) 531e6deaf81SLarry Finger #define IMR_BCNINT BIT(13) 5323de1ef73SChaoming Li #define IMR_RXFOVW BIT(12) 5333de1ef73SChaoming Li #define IMR_RDU BIT(11) 5343de1ef73SChaoming Li #define IMR_ATIMEND BIT(10) 5353de1ef73SChaoming Li #define IMR_BDOK BIT(9) 5363de1ef73SChaoming Li #define IMR_HIGHDOK BIT(8) 5373de1ef73SChaoming Li #define IMR_TBDOK BIT(7) 5383de1ef73SChaoming Li #define IMR_MGNTDOK BIT(6) 5393de1ef73SChaoming Li #define IMR_TBDER BIT(5) 5403de1ef73SChaoming Li #define IMR_BKDOK BIT(4) 5413de1ef73SChaoming Li #define IMR_BEDOK BIT(3) 5423de1ef73SChaoming Li #define IMR_VIDOK BIT(2) 5433de1ef73SChaoming Li #define IMR_VODOK BIT(1) 5443de1ef73SChaoming Li #define IMR_ROK BIT(0) 5453de1ef73SChaoming Li 5463de1ef73SChaoming Li #define IMR_TXERR BIT(11) 5473de1ef73SChaoming Li #define IMR_RXERR BIT(10) 5483de1ef73SChaoming Li #define IMR_C2HCMD BIT(9) 5493de1ef73SChaoming Li #define IMR_CPWM BIT(8) 5503de1ef73SChaoming Li #define IMR_OCPINT BIT(1) 5513de1ef73SChaoming Li #define IMR_WLANOFF BIT(0) 5523de1ef73SChaoming Li 5533de1ef73SChaoming Li /* ----------------------------------------------------- */ 5543de1ef73SChaoming Li /* 8192C EFUSE */ 5553de1ef73SChaoming Li /* ----------------------------------------------------- */ 5563de1ef73SChaoming Li #define HWSET_MAX_SIZE 256 5573de1ef73SChaoming Li #define EFUSE_MAX_SECTION 32 5583de1ef73SChaoming Li #define EFUSE_REAL_CONTENT_LEN 512 5593de1ef73SChaoming Li 5603de1ef73SChaoming Li /* ----------------------------------------------------- */ 5613de1ef73SChaoming Li /* 8192C EEPROM/EFUSE share register definition. */ 5623de1ef73SChaoming Li /* ----------------------------------------------------- */ 5633de1ef73SChaoming Li #define EEPROM_DEFAULT_TSSI 0x0 5643de1ef73SChaoming Li #define EEPROM_DEFAULT_CRYSTALCAP 0x0 5653de1ef73SChaoming Li #define EEPROM_DEFAULT_THERMALMETER 0x12 5663de1ef73SChaoming Li 5673de1ef73SChaoming Li #define EEPROM_DEFAULT_TXPOWERLEVEL_2G 0x2C 5683de1ef73SChaoming Li #define EEPROM_DEFAULT_TXPOWERLEVEL_5G 0x22 5693de1ef73SChaoming Li 5703de1ef73SChaoming Li #define EEPROM_DEFAULT_HT40_2SDIFF 0x0 5713de1ef73SChaoming Li /* HT20<->40 default Tx Power Index Difference */ 5723de1ef73SChaoming Li #define EEPROM_DEFAULT_HT20_DIFF 2 5733de1ef73SChaoming Li /* OFDM Tx Power index diff */ 5743de1ef73SChaoming Li #define EEPROM_DEFAULT_LEGACYHTTXPOWERDIFF 0x4 5753de1ef73SChaoming Li #define EEPROM_DEFAULT_HT40_PWRMAXOFFSET 0 5763de1ef73SChaoming Li #define EEPROM_DEFAULT_HT20_PWRMAXOFFSET 0 5773de1ef73SChaoming Li 5783de1ef73SChaoming Li #define EEPROM_CHANNEL_PLAN_FCC 0x0 5793de1ef73SChaoming Li #define EEPROM_CHANNEL_PLAN_IC 0x1 5803de1ef73SChaoming Li #define EEPROM_CHANNEL_PLAN_ETSI 0x2 5813de1ef73SChaoming Li #define EEPROM_CHANNEL_PLAN_SPAIN 0x3 5823de1ef73SChaoming Li #define EEPROM_CHANNEL_PLAN_FRANCE 0x4 5833de1ef73SChaoming Li #define EEPROM_CHANNEL_PLAN_MKK 0x5 5843de1ef73SChaoming Li #define EEPROM_CHANNEL_PLAN_MKK1 0x6 5853de1ef73SChaoming Li #define EEPROM_CHANNEL_PLAN_ISRAEL 0x7 5863de1ef73SChaoming Li #define EEPROM_CHANNEL_PLAN_TELEC 0x8 5873de1ef73SChaoming Li #define EEPROM_CHANNEL_PLAN_GLOBAL_DOMAIN 0x9 5883de1ef73SChaoming Li #define EEPROM_CHANNEL_PLAN_WORLD_WIDE_13 0xA 5893de1ef73SChaoming Li #define EEPROM_CHANNEL_PLAN_NCC 0xB 5903de1ef73SChaoming Li #define EEPROM_CHANNEL_PLAN_BY_HW_MASK 0x80 5913de1ef73SChaoming Li 5923de1ef73SChaoming Li #define EEPROM_CID_DEFAULT 0x0 5933de1ef73SChaoming Li #define EEPROM_CID_TOSHIBA 0x4 5943de1ef73SChaoming Li #define EEPROM_CID_CCX 0x10 5953de1ef73SChaoming Li #define EEPROM_CID_QMI 0x0D 5963de1ef73SChaoming Li #define EEPROM_CID_WHQL 0xFE 5973de1ef73SChaoming Li 5983de1ef73SChaoming Li 5993de1ef73SChaoming Li #define RTL8192_EEPROM_ID 0x8129 6003de1ef73SChaoming Li #define EEPROM_WAPI_SUPPORT 0x78 6013de1ef73SChaoming Li 6023de1ef73SChaoming Li 6033de1ef73SChaoming Li #define RTL8190_EEPROM_ID 0x8129 /* 0-1 */ 6043de1ef73SChaoming Li #define EEPROM_HPON 0x02 /* LDO settings.2-5 */ 6053de1ef73SChaoming Li #define EEPROM_CLK 0x06 /* Clock settings.6-7 */ 6063de1ef73SChaoming Li #define EEPROM_MAC_FUNCTION 0x08 /* SE Test mode.8 */ 6073de1ef73SChaoming Li 6083de1ef73SChaoming Li #define EEPROM_VID 0x28 /* SE Vendor ID.A-B */ 6093de1ef73SChaoming Li #define EEPROM_DID 0x2A /* SE Device ID. C-D */ 6103de1ef73SChaoming Li #define EEPROM_SVID 0x2C /* SE Vendor ID.E-F */ 6113de1ef73SChaoming Li #define EEPROM_SMID 0x2E /* SE PCI Subsystem ID. 10-11 */ 6123de1ef73SChaoming Li 613*014bba73SBitterblue Smith #define EEPROM_VID_USB 0xC 614*014bba73SBitterblue Smith #define EEPROM_PID_USB 0xE 615*014bba73SBitterblue Smith #define EEPROM_ENDPOINT_SETTING 0x10 6163de1ef73SChaoming Li #define EEPROM_MAC_ADDR 0x16 /* SEMAC Address. 12-17 */ 617*014bba73SBitterblue Smith #define EEPROM_MAC_ADDR_MAC0_92DU 0x19 6183de1ef73SChaoming Li #define EEPROM_MAC_ADDR_MAC0_92D 0x55 6193de1ef73SChaoming Li #define EEPROM_MAC_ADDR_MAC1_92D 0x5B 6203de1ef73SChaoming Li 6213de1ef73SChaoming Li /* 2.4G band Tx power index setting */ 6223de1ef73SChaoming Li #define EEPROM_CCK_TX_PWR_INX_2G 0x61 6233de1ef73SChaoming Li #define EEPROM_HT40_1S_TX_PWR_INX_2G 0x67 6243de1ef73SChaoming Li #define EEPROM_HT40_2S_TX_PWR_INX_DIFF_2G 0x6D 6253de1ef73SChaoming Li #define EEPROM_HT20_TX_PWR_INX_DIFF_2G 0x70 6263de1ef73SChaoming Li #define EEPROM_OFDM_TX_PWR_INX_DIFF_2G 0x73 6273de1ef73SChaoming Li #define EEPROM_HT40_MAX_PWR_OFFSET_2G 0x76 6283de1ef73SChaoming Li #define EEPROM_HT20_MAX_PWR_OFFSET_2G 0x79 6293de1ef73SChaoming Li 6303de1ef73SChaoming Li /*5GL channel 32-64 */ 6313de1ef73SChaoming Li #define EEPROM_HT40_1S_TX_PWR_INX_5GL 0x7C 6323de1ef73SChaoming Li #define EEPROM_HT40_2S_TX_PWR_INX_DIFF_5GL 0x82 6333de1ef73SChaoming Li #define EEPROM_HT20_TX_PWR_INX_DIFF_5GL 0x85 6343de1ef73SChaoming Li #define EEPROM_OFDM_TX_PWR_INX_DIFF_5GL 0x88 6353de1ef73SChaoming Li #define EEPROM_HT40_MAX_PWR_OFFSET_5GL 0x8B 6363de1ef73SChaoming Li #define EEPROM_HT20_MAX_PWR_OFFSET_5GL 0x8E 6373de1ef73SChaoming Li 6383de1ef73SChaoming Li /* 5GM channel 100-140 */ 6393de1ef73SChaoming Li #define EEPROM_HT40_1S_TX_PWR_INX_5GM 0x91 6403de1ef73SChaoming Li #define EEPROM_HT40_2S_TX_PWR_INX_DIFF_5GM 0x97 6413de1ef73SChaoming Li #define EEPROM_HT20_TX_PWR_INX_DIFF_5GM 0x9A 6423de1ef73SChaoming Li #define EEPROM_OFDM_TX_PWR_INX_DIFF_5GM 0x9D 6433de1ef73SChaoming Li #define EEPROM_HT40_MAX_PWR_OFFSET_5GM 0xA0 6443de1ef73SChaoming Li #define EEPROM_HT20_MAX_PWR_OFFSET_5GM 0xA3 6453de1ef73SChaoming Li 6463de1ef73SChaoming Li /* 5GH channel 149-165 */ 6473de1ef73SChaoming Li #define EEPROM_HT40_1S_TX_PWR_INX_5GH 0xA6 6483de1ef73SChaoming Li #define EEPROM_HT40_2S_TX_PWR_INX_DIFF_5GH 0xAC 6493de1ef73SChaoming Li #define EEPROM_HT20_TX_PWR_INX_DIFF_5GH 0xAF 6503de1ef73SChaoming Li #define EEPROM_OFDM_TX_PWR_INX_DIFF_5GH 0xB2 6513de1ef73SChaoming Li #define EEPROM_HT40_MAX_PWR_OFFSET_5GH 0xB5 6523de1ef73SChaoming Li #define EEPROM_HT20_MAX_PWR_OFFSET_5GH 0xB8 6533de1ef73SChaoming Li 6543de1ef73SChaoming Li /* Map of supported channels. */ 6553de1ef73SChaoming Li #define EEPROM_CHANNEL_PLAN 0xBB 6563de1ef73SChaoming Li #define EEPROM_IQK_DELTA 0xBC 6573de1ef73SChaoming Li #define EEPROM_LCK_DELTA 0xBC 6583de1ef73SChaoming Li #define EEPROM_XTAL_K 0xBD /* [7:5] */ 6593de1ef73SChaoming Li #define EEPROM_TSSI_A_5G 0xBE 6603de1ef73SChaoming Li #define EEPROM_TSSI_B_5G 0xBF 6613de1ef73SChaoming Li #define EEPROM_TSSI_AB_5G 0xC0 6623de1ef73SChaoming Li #define EEPROM_THERMAL_METER 0xC3 /* [4:0] */ 6633de1ef73SChaoming Li #define EEPROM_RF_OPT1 0xC4 6643de1ef73SChaoming Li #define EEPROM_RF_OPT2 0xC5 6653de1ef73SChaoming Li #define EEPROM_RF_OPT3 0xC6 6663de1ef73SChaoming Li #define EEPROM_RF_OPT4 0xC7 6673de1ef73SChaoming Li #define EEPROM_RF_OPT5 0xC8 6683de1ef73SChaoming Li #define EEPROM_RF_OPT6 0xC9 6693de1ef73SChaoming Li #define EEPROM_VERSION 0xCA 6703de1ef73SChaoming Li #define EEPROM_CUSTOMER_ID 0xCB 6713de1ef73SChaoming Li #define EEPROM_RF_OPT7 0xCC 6723de1ef73SChaoming Li 6733de1ef73SChaoming Li #define EEPROM_DEF_PART_NO 0x3FD /* Byte */ 6743de1ef73SChaoming Li #define EEPROME_CHIP_VERSION_L 0x3FF 6753de1ef73SChaoming Li #define EEPROME_CHIP_VERSION_H 0x3FE 6763de1ef73SChaoming Li 6773de1ef73SChaoming Li /* 6783de1ef73SChaoming Li * Current IOREG MAP 6793de1ef73SChaoming Li * 0x0000h ~ 0x00FFh System Configuration (256 Bytes) 6803de1ef73SChaoming Li * 0x0100h ~ 0x01FFh MACTOP General Configuration (256 Bytes) 6813de1ef73SChaoming Li * 0x0200h ~ 0x027Fh TXDMA Configuration (128 Bytes) 6823de1ef73SChaoming Li * 0x0280h ~ 0x02FFh RXDMA Configuration (128 Bytes) 6833de1ef73SChaoming Li * 0x0300h ~ 0x03FFh PCIE EMAC Reserved Region (256 Bytes) 6843de1ef73SChaoming Li * 0x0400h ~ 0x04FFh Protocol Configuration (256 Bytes) 6853de1ef73SChaoming Li * 0x0500h ~ 0x05FFh EDCA Configuration (256 Bytes) 6863de1ef73SChaoming Li * 0x0600h ~ 0x07FFh WMAC Configuration (512 Bytes) 6873de1ef73SChaoming Li * 0x2000h ~ 0x3FFFh 8051 FW Download Region (8196 Bytes) 6883de1ef73SChaoming Li */ 6893de1ef73SChaoming Li 6903de1ef73SChaoming Li /* ----------------------------------------------------- */ 6913de1ef73SChaoming Li /* 8192C (RCR) (Offset 0x608, 32 bits) */ 6923de1ef73SChaoming Li /* ----------------------------------------------------- */ 6933de1ef73SChaoming Li #define RCR_APPFCS BIT(31) 6943de1ef73SChaoming Li #define RCR_APP_MIC BIT(30) 6953de1ef73SChaoming Li #define RCR_APP_ICV BIT(29) 6963de1ef73SChaoming Li #define RCR_APP_PHYST_RXFF BIT(28) 6973de1ef73SChaoming Li #define RCR_APP_BA_SSN BIT(27) 6983de1ef73SChaoming Li #define RCR_ENMBID BIT(24) 6993de1ef73SChaoming Li #define RCR_LSIGEN BIT(23) 7003de1ef73SChaoming Li #define RCR_MFBEN BIT(22) 7013de1ef73SChaoming Li #define RCR_HTC_LOC_CTRL BIT(14) 7023de1ef73SChaoming Li #define RCR_AMF BIT(13) 7033de1ef73SChaoming Li #define RCR_ACF BIT(12) 7043de1ef73SChaoming Li #define RCR_ADF BIT(11) 7053de1ef73SChaoming Li #define RCR_AICV BIT(9) 7063de1ef73SChaoming Li #define RCR_ACRC32 BIT(8) 7073de1ef73SChaoming Li #define RCR_CBSSID_BCN BIT(7) 7083de1ef73SChaoming Li #define RCR_CBSSID_DATA BIT(6) 7093de1ef73SChaoming Li #define RCR_APWRMGT BIT(5) 7103de1ef73SChaoming Li #define RCR_ADD3 BIT(4) 7113de1ef73SChaoming Li #define RCR_AB BIT(3) 7123de1ef73SChaoming Li #define RCR_AM BIT(2) 7133de1ef73SChaoming Li #define RCR_APM BIT(1) 7143de1ef73SChaoming Li #define RCR_AAP BIT(0) 7153de1ef73SChaoming Li #define RCR_MXDMA_OFFSET 8 7163de1ef73SChaoming Li #define RCR_FIFO_OFFSET 13 7173de1ef73SChaoming Li 7183de1ef73SChaoming Li /* ----------------------------------------------------- */ 7193de1ef73SChaoming Li /* 8192C Regsiter Bit and Content definition */ 7203de1ef73SChaoming Li /* ----------------------------------------------------- */ 7213de1ef73SChaoming Li /* ----------------------------------------------------- */ 7223de1ef73SChaoming Li /* 0x0000h ~ 0x00FFh System Configuration */ 7233de1ef73SChaoming Li /* ----------------------------------------------------- */ 7243de1ef73SChaoming Li 7253de1ef73SChaoming Li /* SPS0_CTRL */ 7263de1ef73SChaoming Li #define SW18_FPWM BIT(3) 7273de1ef73SChaoming Li 7283de1ef73SChaoming Li 7293de1ef73SChaoming Li /* SYS_ISO_CTRL */ 7303de1ef73SChaoming Li #define ISO_MD2PP BIT(0) 7313de1ef73SChaoming Li #define ISO_UA2USB BIT(1) 7323de1ef73SChaoming Li #define ISO_UD2CORE BIT(2) 7333de1ef73SChaoming Li #define ISO_PA2PCIE BIT(3) 7343de1ef73SChaoming Li #define ISO_PD2CORE BIT(4) 7353de1ef73SChaoming Li #define ISO_IP2MAC BIT(5) 7363de1ef73SChaoming Li #define ISO_DIOP BIT(6) 7373de1ef73SChaoming Li #define ISO_DIOE BIT(7) 7383de1ef73SChaoming Li #define ISO_EB2CORE BIT(8) 7393de1ef73SChaoming Li #define ISO_DIOR BIT(9) 7403de1ef73SChaoming Li 7413de1ef73SChaoming Li #define PWC_EV25V BIT(14) 7423de1ef73SChaoming Li #define PWC_EV12V BIT(15) 7433de1ef73SChaoming Li 7443de1ef73SChaoming Li 7453de1ef73SChaoming Li /* SYS_FUNC_EN */ 7463de1ef73SChaoming Li #define FEN_BBRSTB BIT(0) 747b83faedaSLarry Finger #define FEN_BB_GLB_RSTN BIT(1) 7483de1ef73SChaoming Li #define FEN_USBA BIT(2) 7493de1ef73SChaoming Li #define FEN_UPLL BIT(3) 7503de1ef73SChaoming Li #define FEN_USBD BIT(4) 7513de1ef73SChaoming Li #define FEN_DIO_PCIE BIT(5) 7523de1ef73SChaoming Li #define FEN_PCIEA BIT(6) 7533de1ef73SChaoming Li #define FEN_PPLL BIT(7) 7543de1ef73SChaoming Li #define FEN_PCIED BIT(8) 7553de1ef73SChaoming Li #define FEN_DIOE BIT(9) 7563de1ef73SChaoming Li #define FEN_CPUEN BIT(10) 7573de1ef73SChaoming Li #define FEN_DCORE BIT(11) 7583de1ef73SChaoming Li #define FEN_ELDR BIT(12) 7593de1ef73SChaoming Li #define FEN_DIO_RF BIT(13) 7603de1ef73SChaoming Li #define FEN_HWPDN BIT(14) 7613de1ef73SChaoming Li #define FEN_MREGEN BIT(15) 7623de1ef73SChaoming Li 7633de1ef73SChaoming Li /* APS_FSMCO */ 7643de1ef73SChaoming Li #define PFM_LDALL BIT(0) 7653de1ef73SChaoming Li #define PFM_ALDN BIT(1) 7663de1ef73SChaoming Li #define PFM_LDKP BIT(2) 7673de1ef73SChaoming Li #define PFM_WOWL BIT(3) 768b83faedaSLarry Finger #define ENPDN BIT(4) 7693de1ef73SChaoming Li #define PDN_PL BIT(5) 7703de1ef73SChaoming Li #define APFM_ONMAC BIT(8) 7713de1ef73SChaoming Li #define APFM_OFF BIT(9) 7723de1ef73SChaoming Li #define APFM_RSM BIT(10) 7733de1ef73SChaoming Li #define AFSM_HSUS BIT(11) 7743de1ef73SChaoming Li #define AFSM_PCIE BIT(12) 7753de1ef73SChaoming Li #define APDM_MAC BIT(13) 7763de1ef73SChaoming Li #define APDM_HOST BIT(14) 7773de1ef73SChaoming Li #define APDM_HPDN BIT(15) 7783de1ef73SChaoming Li #define RDY_MACON BIT(16) 7793de1ef73SChaoming Li #define SUS_HOST BIT(17) 7803de1ef73SChaoming Li #define ROP_ALD BIT(20) 7813de1ef73SChaoming Li #define ROP_PWR BIT(21) 7823de1ef73SChaoming Li #define ROP_SPS BIT(22) 7833de1ef73SChaoming Li #define SOP_MRST BIT(25) 7843de1ef73SChaoming Li #define SOP_FUSE BIT(26) 7853de1ef73SChaoming Li #define SOP_ABG BIT(27) 7863de1ef73SChaoming Li #define SOP_AMB BIT(28) 7873de1ef73SChaoming Li #define SOP_RCK BIT(29) 7883de1ef73SChaoming Li #define SOP_A8M BIT(30) 7893de1ef73SChaoming Li #define XOP_BTCK BIT(31) 7903de1ef73SChaoming Li 7913de1ef73SChaoming Li /* SYS_CLKR */ 7923de1ef73SChaoming Li #define ANAD16V_EN BIT(0) 7933de1ef73SChaoming Li #define ANA8M BIT(1) 7943de1ef73SChaoming Li #define MACSLP BIT(4) 7953de1ef73SChaoming Li #define LOADER_CLK_EN BIT(5) 7963de1ef73SChaoming Li #define _80M_SSC_DIS BIT(7) 7973de1ef73SChaoming Li #define _80M_SSC_EN_HO BIT(8) 7983de1ef73SChaoming Li #define PHY_SSC_RSTB BIT(9) 7993de1ef73SChaoming Li #define SEC_CLK_EN BIT(10) 8003de1ef73SChaoming Li #define MAC_CLK_EN BIT(11) 8013de1ef73SChaoming Li #define SYS_CLK_EN BIT(12) 8023de1ef73SChaoming Li #define RING_CLK_EN BIT(13) 8033de1ef73SChaoming Li 8043de1ef73SChaoming Li 8053de1ef73SChaoming Li /* 9346CR */ 8063de1ef73SChaoming Li #define BOOT_FROM_EEPROM BIT(4) 8073de1ef73SChaoming Li #define EEPROM_EN BIT(5) 8083de1ef73SChaoming Li 8093de1ef73SChaoming Li /* AFE_MISC */ 8103de1ef73SChaoming Li #define AFE_BGEN BIT(0) 8113de1ef73SChaoming Li #define AFE_MBEN BIT(1) 8123de1ef73SChaoming Li #define MAC_ID_EN BIT(7) 8133de1ef73SChaoming Li 8143de1ef73SChaoming Li /* RSV_CTRL */ 8153de1ef73SChaoming Li #define WLOCK_ALL BIT(0) 8163de1ef73SChaoming Li #define WLOCK_00 BIT(1) 8173de1ef73SChaoming Li #define WLOCK_04 BIT(2) 8183de1ef73SChaoming Li #define WLOCK_08 BIT(3) 8193de1ef73SChaoming Li #define WLOCK_40 BIT(4) 8203de1ef73SChaoming Li #define R_DIS_PRST_0 BIT(5) 8213de1ef73SChaoming Li #define R_DIS_PRST_1 BIT(6) 8223de1ef73SChaoming Li #define LOCK_ALL_EN BIT(7) 8233de1ef73SChaoming Li 8243de1ef73SChaoming Li /* RF_CTRL */ 8253de1ef73SChaoming Li #define RF_EN BIT(0) 8263de1ef73SChaoming Li #define RF_RSTB BIT(1) 8273de1ef73SChaoming Li #define RF_SDMRSTB BIT(2) 8283de1ef73SChaoming Li 8293de1ef73SChaoming Li 8303de1ef73SChaoming Li 8313de1ef73SChaoming Li /* LDOA15_CTRL */ 8323de1ef73SChaoming Li #define LDA15_EN BIT(0) 8333de1ef73SChaoming Li #define LDA15_STBY BIT(1) 8343de1ef73SChaoming Li #define LDA15_OBUF BIT(2) 8353de1ef73SChaoming Li #define LDA15_REG_VOS BIT(3) 8363de1ef73SChaoming Li #define _LDA15_VOADJ(x) (((x) & 0x7) << 4) 8373de1ef73SChaoming Li 8383de1ef73SChaoming Li 8393de1ef73SChaoming Li 8403de1ef73SChaoming Li /* LDOV12D_CTRL */ 8413de1ef73SChaoming Li #define LDV12_EN BIT(0) 8423de1ef73SChaoming Li #define LDV12_SDBY BIT(1) 8433de1ef73SChaoming Li #define LPLDO_HSM BIT(2) 8443de1ef73SChaoming Li #define LPLDO_LSM_DIS BIT(3) 8453de1ef73SChaoming Li #define _LDV12_VADJ(x) (((x) & 0xF) << 4) 8463de1ef73SChaoming Li 8473de1ef73SChaoming Li 8483de1ef73SChaoming Li /* AFE_XTAL_CTRL */ 8493de1ef73SChaoming Li #define XTAL_EN BIT(0) 8503de1ef73SChaoming Li #define XTAL_BSEL BIT(1) 8513de1ef73SChaoming Li #define _XTAL_BOSC(x) (((x) & 0x3) << 2) 8523de1ef73SChaoming Li #define _XTAL_CADJ(x) (((x) & 0xF) << 4) 8533de1ef73SChaoming Li #define XTAL_GATE_USB BIT(8) 8543de1ef73SChaoming Li #define _XTAL_USB_DRV(x) (((x) & 0x3) << 9) 8553de1ef73SChaoming Li #define XTAL_GATE_AFE BIT(11) 8563de1ef73SChaoming Li #define _XTAL_AFE_DRV(x) (((x) & 0x3) << 12) 8573de1ef73SChaoming Li #define XTAL_RF_GATE BIT(14) 8583de1ef73SChaoming Li #define _XTAL_RF_DRV(x) (((x) & 0x3) << 15) 8593de1ef73SChaoming Li #define XTAL_GATE_DIG BIT(17) 8603de1ef73SChaoming Li #define _XTAL_DIG_DRV(x) (((x) & 0x3) << 18) 8613de1ef73SChaoming Li #define XTAL_BT_GATE BIT(20) 8623de1ef73SChaoming Li #define _XTAL_BT_DRV(x) (((x) & 0x3) << 21) 8633de1ef73SChaoming Li #define _XTAL_GPIO(x) (((x) & 0x7) << 23) 8643de1ef73SChaoming Li 8653de1ef73SChaoming Li 8663de1ef73SChaoming Li #define CKDLY_AFE BIT(26) 8673de1ef73SChaoming Li #define CKDLY_USB BIT(27) 8683de1ef73SChaoming Li #define CKDLY_DIG BIT(28) 8693de1ef73SChaoming Li #define CKDLY_BT BIT(29) 8703de1ef73SChaoming Li 8713de1ef73SChaoming Li 8723de1ef73SChaoming Li /* AFE_PLL_CTRL */ 8733de1ef73SChaoming Li #define APLL_EN BIT(0) 8743de1ef73SChaoming Li #define APLL_320_EN BIT(1) 8753de1ef73SChaoming Li #define APLL_FREF_SEL BIT(2) 8763de1ef73SChaoming Li #define APLL_EDGE_SEL BIT(3) 8773de1ef73SChaoming Li #define APLL_WDOGB BIT(4) 8783de1ef73SChaoming Li #define APLL_LPFEN BIT(5) 8793de1ef73SChaoming Li 8803de1ef73SChaoming Li #define APLL_REF_CLK_13MHZ 0x1 8813de1ef73SChaoming Li #define APLL_REF_CLK_19_2MHZ 0x2 8823de1ef73SChaoming Li #define APLL_REF_CLK_20MHZ 0x3 8833de1ef73SChaoming Li #define APLL_REF_CLK_25MHZ 0x4 8843de1ef73SChaoming Li #define APLL_REF_CLK_26MHZ 0x5 8853de1ef73SChaoming Li #define APLL_REF_CLK_38_4MHZ 0x6 8863de1ef73SChaoming Li #define APLL_REF_CLK_40MHZ 0x7 8873de1ef73SChaoming Li 8883de1ef73SChaoming Li #define APLL_320EN BIT(14) 8893de1ef73SChaoming Li #define APLL_80EN BIT(15) 8903de1ef73SChaoming Li #define APLL_1MEN BIT(24) 8913de1ef73SChaoming Li 8923de1ef73SChaoming Li 8933de1ef73SChaoming Li /* EFUSE_CTRL */ 8943de1ef73SChaoming Li #define ALD_EN BIT(18) 8953de1ef73SChaoming Li #define EF_PD BIT(19) 8963de1ef73SChaoming Li #define EF_FLAG BIT(31) 8973de1ef73SChaoming Li 8983de1ef73SChaoming Li /* EFUSE_TEST */ 8993de1ef73SChaoming Li #define EF_TRPT BIT(7) 9003de1ef73SChaoming Li #define LDOE25_EN BIT(31) 9013de1ef73SChaoming Li 9023de1ef73SChaoming Li /* MCUFWDL */ 9033de1ef73SChaoming Li #define MCUFWDL_EN BIT(0) 9043de1ef73SChaoming Li #define MCUFWDL_RDY BIT(1) 905b83faedaSLarry Finger #define FWDL_CHKSUM_RPT BIT(2) 9063de1ef73SChaoming Li #define MACINI_RDY BIT(3) 9073de1ef73SChaoming Li #define BBINI_RDY BIT(4) 9083de1ef73SChaoming Li #define RFINI_RDY BIT(5) 9093de1ef73SChaoming Li #define WINTINI_RDY BIT(6) 9103de1ef73SChaoming Li #define MAC1_WINTINI_RDY BIT(11) 9113de1ef73SChaoming Li #define CPRST BIT(23) 9123de1ef73SChaoming Li 9133de1ef73SChaoming Li /* REG_SYS_CFG */ 9143de1ef73SChaoming Li #define XCLK_VLD BIT(0) 9153de1ef73SChaoming Li #define ACLK_VLD BIT(1) 9163de1ef73SChaoming Li #define UCLK_VLD BIT(2) 9173de1ef73SChaoming Li #define PCLK_VLD BIT(3) 9183de1ef73SChaoming Li #define PCIRSTB BIT(4) 9193de1ef73SChaoming Li #define V15_VLD BIT(5) 9203de1ef73SChaoming Li #define TRP_B15V_EN BIT(7) 9213de1ef73SChaoming Li #define SIC_IDLE BIT(8) 9223de1ef73SChaoming Li #define BD_MAC2 BIT(9) 9233de1ef73SChaoming Li #define BD_MAC1 BIT(10) 9243de1ef73SChaoming Li #define IC_MACPHY_MODE BIT(11) 9253de1ef73SChaoming Li #define PAD_HWPD_IDN BIT(22) 9263de1ef73SChaoming Li #define TRP_VAUX_EN BIT(23) 9273de1ef73SChaoming Li #define TRP_BT_EN BIT(24) 9283de1ef73SChaoming Li #define BD_PKG_SEL BIT(25) 9293de1ef73SChaoming Li #define BD_HCI_SEL BIT(26) 9303de1ef73SChaoming Li #define TYPE_ID BIT(27) 9313de1ef73SChaoming Li 932*014bba73SBitterblue Smith #define HCI_TXDMA_EN BIT(0) 933*014bba73SBitterblue Smith #define HCI_RXDMA_EN BIT(1) 934*014bba73SBitterblue Smith #define TXDMA_EN BIT(2) 935*014bba73SBitterblue Smith #define RXDMA_EN BIT(3) 936*014bba73SBitterblue Smith #define PROTOCOL_EN BIT(4) 937*014bba73SBitterblue Smith #define SCHEDULE_EN BIT(5) 938*014bba73SBitterblue Smith #define MACTXEN BIT(6) 939*014bba73SBitterblue Smith #define MACRXEN BIT(7) 940*014bba73SBitterblue Smith #define ENSWBCN BIT(8) 941*014bba73SBitterblue Smith #define ENSEC BIT(9) 942*014bba73SBitterblue Smith 943*014bba73SBitterblue Smith #define HQSEL_VOQ BIT(0) 944*014bba73SBitterblue Smith #define HQSEL_VIQ BIT(1) 945*014bba73SBitterblue Smith #define HQSEL_BEQ BIT(2) 946*014bba73SBitterblue Smith #define HQSEL_BKQ BIT(3) 947*014bba73SBitterblue Smith #define HQSEL_MGTQ BIT(4) 948*014bba73SBitterblue Smith #define HQSEL_HIQ BIT(5) 949*014bba73SBitterblue Smith 950*014bba73SBitterblue Smith #define TXDMA_HIQ_MAP GENMASK(15, 14) 951*014bba73SBitterblue Smith #define TXDMA_MGQ_MAP GENMASK(13, 12) 952*014bba73SBitterblue Smith #define TXDMA_BKQ_MAP GENMASK(11, 10) 953*014bba73SBitterblue Smith #define TXDMA_BEQ_MAP GENMASK(9, 8) 954*014bba73SBitterblue Smith #define TXDMA_VIQ_MAP GENMASK(7, 6) 955*014bba73SBitterblue Smith #define TXDMA_VOQ_MAP GENMASK(5, 4) 956*014bba73SBitterblue Smith 957*014bba73SBitterblue Smith #define QUEUE_LOW 1 958*014bba73SBitterblue Smith #define QUEUE_NORMAL 2 959*014bba73SBitterblue Smith #define QUEUE_HIGH 3 960*014bba73SBitterblue Smith 961*014bba73SBitterblue Smith #define HPQ_MASK GENMASK(7, 0) 962*014bba73SBitterblue Smith #define LPQ_MASK GENMASK(15, 8) 963*014bba73SBitterblue Smith #define PUBQ_MASK GENMASK(23, 16) 964*014bba73SBitterblue Smith #define LD_RQPN BIT(31) 965*014bba73SBitterblue Smith 966*014bba73SBitterblue Smith #define DROP_DATA_EN BIT(9) 967*014bba73SBitterblue Smith 9683de1ef73SChaoming Li /* LLT_INIT */ 9693de1ef73SChaoming Li #define _LLT_NO_ACTIVE 0x0 9703de1ef73SChaoming Li #define _LLT_WRITE_ACCESS 0x1 9713de1ef73SChaoming Li #define _LLT_READ_ACCESS 0x2 9723de1ef73SChaoming Li 9733de1ef73SChaoming Li #define _LLT_INIT_DATA(x) ((x) & 0xFF) 9743de1ef73SChaoming Li #define _LLT_INIT_ADDR(x) (((x) & 0xFF) << 8) 9753de1ef73SChaoming Li #define _LLT_OP(x) (((x) & 0x3) << 30) 9763de1ef73SChaoming Li #define _LLT_OP_VALUE(x) (((x) >> 30) & 0x3) 9773de1ef73SChaoming Li 9783de1ef73SChaoming Li 9793de1ef73SChaoming Li /* ----------------------------------------------------- */ 9803de1ef73SChaoming Li /* 0x0400h ~ 0x047Fh Protocol Configuration */ 9813de1ef73SChaoming Li /* ----------------------------------------------------- */ 982*014bba73SBitterblue Smith /* FWHW_TXQ_CTRL */ 983*014bba73SBitterblue Smith #define EN_AMPDU_RTY_NEW BIT(7) 984*014bba73SBitterblue Smith #define EN_BCNQ_DL BIT(22) 985*014bba73SBitterblue Smith 9863de1ef73SChaoming Li #define RETRY_LIMIT_SHORT_SHIFT 8 9873de1ef73SChaoming Li #define RETRY_LIMIT_LONG_SHIFT 0 9883de1ef73SChaoming Li 9893de1ef73SChaoming Li 9903de1ef73SChaoming Li /* ----------------------------------------------------- */ 9913de1ef73SChaoming Li /* 0x0500h ~ 0x05FFh EDCA Configuration */ 9923de1ef73SChaoming Li /* ----------------------------------------------------- */ 9933de1ef73SChaoming Li /* EDCA setting */ 9943de1ef73SChaoming Li #define AC_PARAM_TXOP_LIMIT_OFFSET 16 9953de1ef73SChaoming Li #define AC_PARAM_ECW_MAX_OFFSET 12 9963de1ef73SChaoming Li #define AC_PARAM_ECW_MIN_OFFSET 8 9973de1ef73SChaoming Li #define AC_PARAM_AIFS_OFFSET 0 9983de1ef73SChaoming Li 999*014bba73SBitterblue Smith /* REG_RD_CTRL */ 1000*014bba73SBitterblue Smith #define DIS_EDCA_CNT_DWN BIT(11) 1001*014bba73SBitterblue Smith 1002*014bba73SBitterblue Smith /* REG_BCN_CTRL */ 1003*014bba73SBitterblue Smith #define EN_BCN_FUNCTION BIT(3) 1004*014bba73SBitterblue Smith #define DIS_TSF_UDT BIT(4) 1005*014bba73SBitterblue Smith 10063de1ef73SChaoming Li /* ACMHWCTRL */ 10073de1ef73SChaoming Li #define ACMHW_HWEN BIT(0) 10083de1ef73SChaoming Li #define ACMHW_BEQEN BIT(1) 10093de1ef73SChaoming Li #define ACMHW_VIQEN BIT(2) 10103de1ef73SChaoming Li #define ACMHW_VOQEN BIT(3) 10113de1ef73SChaoming Li 10123de1ef73SChaoming Li /* ----------------------------------------------------- */ 10133de1ef73SChaoming Li /* 0x0600h ~ 0x07FFh WMAC Configuration */ 10143de1ef73SChaoming Li /* ----------------------------------------------------- */ 10153de1ef73SChaoming Li 10163de1ef73SChaoming Li /* TCR */ 10173de1ef73SChaoming Li #define TSFRST BIT(0) 10183de1ef73SChaoming Li #define DIS_GCLK BIT(1) 10193de1ef73SChaoming Li #define PAD_SEL BIT(2) 10203de1ef73SChaoming Li #define PWR_ST BIT(6) 10213de1ef73SChaoming Li #define PWRBIT_OW_EN BIT(7) 10223de1ef73SChaoming Li #define ACRC BIT(8) 10233de1ef73SChaoming Li #define CFENDFORM BIT(9) 10243de1ef73SChaoming Li #define ICV BIT(10) 10253de1ef73SChaoming Li 10263de1ef73SChaoming Li /* SECCFG */ 10273de1ef73SChaoming Li #define SCR_TXUSEDK BIT(0) 10283de1ef73SChaoming Li #define SCR_RXUSEDK BIT(1) 10293de1ef73SChaoming Li #define SCR_TXENCENABLE BIT(2) 10303de1ef73SChaoming Li #define SCR_RXENCENABLE BIT(3) 10313de1ef73SChaoming Li #define SCR_SKBYA2 BIT(4) 10323de1ef73SChaoming Li #define SCR_NOSKMC BIT(5) 10333de1ef73SChaoming Li #define SCR_TXBCUSEDK BIT(6) 10343de1ef73SChaoming Li #define SCR_RXBCUSEDK BIT(7) 10353de1ef73SChaoming Li 10363de1ef73SChaoming Li /* General definitions */ 10373de1ef73SChaoming Li #define LAST_ENTRY_OF_TX_PKT_BUFFER 255 10383de1ef73SChaoming Li #define LAST_ENTRY_OF_TX_PKT_BUFFER_DUAL_MAC 127 10393de1ef73SChaoming Li 10403de1ef73SChaoming Li #define POLLING_LLT_THRESHOLD 20 10413de1ef73SChaoming Li #define POLLING_READY_TIMEOUT_COUNT 1000 10423de1ef73SChaoming Li 10433de1ef73SChaoming Li /* Min Spacing related settings. */ 10443de1ef73SChaoming Li #define MAX_MSS_DENSITY_2T 0x13 10453de1ef73SChaoming Li #define MAX_MSS_DENSITY_1T 0x0A 10463de1ef73SChaoming Li 10473de1ef73SChaoming Li 10483de1ef73SChaoming Li /* BB-PHY register PMAC 0x100 PHY 0x800 - 0xEFF */ 10493de1ef73SChaoming Li /* 1. PMAC duplicate register due to connection: */ 10503de1ef73SChaoming Li /* RF_Mode, TRxRN, NumOf L-STF */ 10513de1ef73SChaoming Li /* 2. 0x800/0x900/0xA00/0xC00/0xD00/0xE00 */ 10523de1ef73SChaoming Li /* 3. RF register 0x00-2E */ 10533de1ef73SChaoming Li /* 4. Bit Mask for BB/RF register */ 10543de1ef73SChaoming Li /* 5. Other defintion for BB/RF R/W */ 10553de1ef73SChaoming Li 10563de1ef73SChaoming Li /* 3. Page8(0x800) */ 10573de1ef73SChaoming Li #define RFPGA0_RFMOD 0x800 10583de1ef73SChaoming Li 10593de1ef73SChaoming Li #define RFPGA0_TXINFO 0x804 10603de1ef73SChaoming Li #define RFPGA0_PSDFUNCTION 0x808 10613de1ef73SChaoming Li 10623de1ef73SChaoming Li #define RFPGA0_TXGAINSTAGE 0x80c 10633de1ef73SChaoming Li 10643de1ef73SChaoming Li #define RFPGA0_RFTIMING1 0x810 10653de1ef73SChaoming Li #define RFPGA0_RFTIMING2 0x814 10663de1ef73SChaoming Li 10673de1ef73SChaoming Li #define RFPGA0_XA_HSSIPARAMETER1 0x820 10683de1ef73SChaoming Li #define RFPGA0_XA_HSSIPARAMETER2 0x824 10693de1ef73SChaoming Li #define RFPGA0_XB_HSSIPARAMETER1 0x828 10703de1ef73SChaoming Li #define RFPGA0_XB_HSSIPARAMETER2 0x82c 10713de1ef73SChaoming Li 10723de1ef73SChaoming Li #define RFPGA0_XA_LSSIPARAMETER 0x840 10733de1ef73SChaoming Li #define RFPGA0_XB_LSSIPARAMETER 0x844 10743de1ef73SChaoming Li 1075b83faedaSLarry Finger #define RFPGA0_RFWAKEUPPARAMETER 0x850 10763de1ef73SChaoming Li #define RFPGA0_RFSLEEPUPPARAMETER 0x854 10773de1ef73SChaoming Li 10783de1ef73SChaoming Li #define RFPGA0_XAB_SWITCHCONTROL 0x858 10793de1ef73SChaoming Li #define RFPGA0_XCD_SWITCHCONTROL 0x85c 10803de1ef73SChaoming Li 10813de1ef73SChaoming Li #define RFPGA0_XA_RFINTERFACEOE 0x860 10823de1ef73SChaoming Li #define RFPGA0_XB_RFINTERFACEOE 0x864 10833de1ef73SChaoming Li 10843de1ef73SChaoming Li #define RFPGA0_XAB_RFINTERFACESW 0x870 10853de1ef73SChaoming Li #define RFPGA0_XCD_RFINTERFACESW 0x874 10863de1ef73SChaoming Li 10873de1ef73SChaoming Li #define RFPGA0_XAB_RFPARAMETER 0x878 10883de1ef73SChaoming Li #define RFPGA0_XCD_RFPARAMETER 0x87c 10893de1ef73SChaoming Li 10903de1ef73SChaoming Li #define RFPGA0_ANALOGPARAMETER1 0x880 10913de1ef73SChaoming Li #define RFPGA0_ANALOGPARAMETER2 0x884 10923de1ef73SChaoming Li #define RFPGA0_ANALOGPARAMETER3 0x888 10933de1ef73SChaoming Li #define RFPGA0_ADDALLOCKEN 0x888 10943de1ef73SChaoming Li #define RFPGA0_ANALOGPARAMETER4 0x88c 10953de1ef73SChaoming Li 10963de1ef73SChaoming Li #define RFPGA0_XA_LSSIREADBACK 0x8a0 10973de1ef73SChaoming Li #define RFPGA0_XB_LSSIREADBACK 0x8a4 10983de1ef73SChaoming Li #define RFPGA0_XC_LSSIREADBACK 0x8a8 10993de1ef73SChaoming Li #define RFPGA0_XD_LSSIREADBACK 0x8ac 11003de1ef73SChaoming Li 11013de1ef73SChaoming Li #define RFPGA0_PSDREPORT 0x8b4 11023de1ef73SChaoming Li #define TRANSCEIVERA_HSPI_READBACK 0x8b8 11033de1ef73SChaoming Li #define TRANSCEIVERB_HSPI_READBACK 0x8bc 11043de1ef73SChaoming Li #define RFPGA0_XAB_RFINTERFACERB 0x8e0 11053de1ef73SChaoming Li #define RFPGA0_XCD_RFINTERFACERB 0x8e4 11063de1ef73SChaoming Li 11073de1ef73SChaoming Li /* 4. Page9(0x900) */ 11083de1ef73SChaoming Li #define RFPGA1_RFMOD 0x900 11093de1ef73SChaoming Li 11103de1ef73SChaoming Li #define RFPGA1_TXBLOCK 0x904 11113de1ef73SChaoming Li #define RFPGA1_DEBUGSELECT 0x908 11123de1ef73SChaoming Li #define RFPGA1_TXINFO 0x90c 11133de1ef73SChaoming Li 11143de1ef73SChaoming Li /* 5. PageA(0xA00) */ 11153de1ef73SChaoming Li #define RCCK0_SYSTEM 0xa00 11163de1ef73SChaoming Li 11173de1ef73SChaoming Li #define RCCK0_AFESSTTING 0xa04 11183de1ef73SChaoming Li #define RCCK0_CCA 0xa08 11193de1ef73SChaoming Li 11203de1ef73SChaoming Li #define RCCK0_RXAGC1 0xa0c 11213de1ef73SChaoming Li #define RCCK0_RXAGC2 0xa10 11223de1ef73SChaoming Li 11233de1ef73SChaoming Li #define RCCK0_RXHP 0xa14 11243de1ef73SChaoming Li 11253de1ef73SChaoming Li #define RCCK0_DSPPARAMETER1 0xa18 11263de1ef73SChaoming Li #define RCCK0_DSPPARAMETER2 0xa1c 11273de1ef73SChaoming Li 11283de1ef73SChaoming Li #define RCCK0_TXFILTER1 0xa20 11293de1ef73SChaoming Li #define RCCK0_TXFILTER2 0xa24 11303de1ef73SChaoming Li #define RCCK0_DEBUGPORT 0xa28 11313de1ef73SChaoming Li #define RCCK0_FALSEALARMREPORT 0xa2c 11323de1ef73SChaoming Li #define RCCK0_TRSSIREPORT 0xa50 11333de1ef73SChaoming Li #define RCCK0_RXREPORT 0xa54 11343de1ef73SChaoming Li #define RCCK0_FACOUNTERLOWER 0xa5c 11353de1ef73SChaoming Li #define RCCK0_FACOUNTERUPPER 0xa58 11363de1ef73SChaoming Li 1137*014bba73SBitterblue Smith #define RPDP_ANTA 0xb00 1138*014bba73SBitterblue Smith #define RCONFIG_ANTA 0xb68 1139*014bba73SBitterblue Smith #define RCONFIG_ANTB 0xb6c 1140*014bba73SBitterblue Smith #define RPDP_ANTB 0xb70 1141*014bba73SBitterblue Smith 11423de1ef73SChaoming Li /* 6. PageC(0xC00) */ 11433de1ef73SChaoming Li #define ROFDM0_LSTF 0xc00 11443de1ef73SChaoming Li 11453de1ef73SChaoming Li #define ROFDM0_TRXPATHENABLE 0xc04 11463de1ef73SChaoming Li #define ROFDM0_TRMUXPAR 0xc08 11473de1ef73SChaoming Li #define ROFDM0_TRSWISOLATION 0xc0c 11483de1ef73SChaoming Li 11493de1ef73SChaoming Li #define ROFDM0_XARXAFE 0xc10 11503de1ef73SChaoming Li #define ROFDM0_XARXIQIMBALANCE 0xc14 11513de1ef73SChaoming Li #define ROFDM0_XBRXAFE 0xc18 11523de1ef73SChaoming Li #define ROFDM0_XBRXIQIMBALANCE 0xc1c 11533de1ef73SChaoming Li #define ROFDM0_XCRXAFE 0xc20 11543de1ef73SChaoming Li #define ROFDM0_XCRXIQIMBALANCE 0xc24 11553de1ef73SChaoming Li #define ROFDM0_XDRXAFE 0xc28 11563de1ef73SChaoming Li #define ROFDM0_XDRXIQIMBALANCE 0xc2c 11573de1ef73SChaoming Li 11583de1ef73SChaoming Li #define ROFDM0_RXDETECTOR1 0xc30 11593de1ef73SChaoming Li #define ROFDM0_RXDETECTOR2 0xc34 11603de1ef73SChaoming Li #define ROFDM0_RXDETECTOR3 0xc38 11613de1ef73SChaoming Li #define ROFDM0_RXDETECTOR4 0xc3c 11623de1ef73SChaoming Li 11633de1ef73SChaoming Li #define ROFDM0_RXDSP 0xc40 11643de1ef73SChaoming Li #define ROFDM0_CFOANDDAGC 0xc44 11653de1ef73SChaoming Li #define ROFDM0_CCADROPTHRESHOLD 0xc48 11663de1ef73SChaoming Li #define ROFDM0_ECCATHRESHOLD 0xc4c 11673de1ef73SChaoming Li 11683de1ef73SChaoming Li #define ROFDM0_XAAGCCORE1 0xc50 11693de1ef73SChaoming Li #define ROFDM0_XAAGCCORE2 0xc54 11703de1ef73SChaoming Li #define ROFDM0_XBAGCCORE1 0xc58 11713de1ef73SChaoming Li #define ROFDM0_XBAGCCORE2 0xc5c 11723de1ef73SChaoming Li #define ROFDM0_XCAGCCORE1 0xc60 11733de1ef73SChaoming Li #define ROFDM0_XCAGCCORE2 0xc64 11743de1ef73SChaoming Li #define ROFDM0_XDAGCCORE1 0xc68 11753de1ef73SChaoming Li #define ROFDM0_XDAGCCORE2 0xc6c 11763de1ef73SChaoming Li 11773de1ef73SChaoming Li #define ROFDM0_AGCPARAMETER1 0xc70 11783de1ef73SChaoming Li #define ROFDM0_AGCPARAMETER2 0xc74 11793de1ef73SChaoming Li #define ROFDM0_AGCRSSITABLE 0xc78 11803de1ef73SChaoming Li #define ROFDM0_HTSTFAGC 0xc7c 11813de1ef73SChaoming Li 1182b83faedaSLarry Finger #define ROFDM0_XATXIQIMBALANCE 0xc80 1183b83faedaSLarry Finger #define ROFDM0_XATXAFE 0xc84 1184b83faedaSLarry Finger #define ROFDM0_XBTXIQIMBALANCE 0xc88 1185b83faedaSLarry Finger #define ROFDM0_XBTXAFE 0xc8c 1186b83faedaSLarry Finger #define ROFDM0_XCTXIQIMBALANCE 0xc90 1187b83faedaSLarry Finger #define ROFDM0_XCTXAFE 0xc94 1188b83faedaSLarry Finger #define ROFDM0_XDTXIQIMBALANCE 0xc98 1189b83faedaSLarry Finger #define ROFDM0_XDTXAFE 0xc9c 11903de1ef73SChaoming Li 11913de1ef73SChaoming Li #define ROFDM0_RXHPPARAMETER 0xce0 11923de1ef73SChaoming Li #define ROFDM0_TXPSEUDONOISEWGT 0xce4 11933de1ef73SChaoming Li #define ROFDM0_FRAMESYNC 0xcf0 11943de1ef73SChaoming Li #define ROFDM0_DFSREPORT 0xcf4 1195*014bba73SBitterblue Smith #define ROFDM0_RXIQEXTANTA 0xca0 11963de1ef73SChaoming Li #define ROFDM0_TXCOEFF1 0xca4 11973de1ef73SChaoming Li #define ROFDM0_TXCOEFF2 0xca8 11983de1ef73SChaoming Li #define ROFDM0_TXCOEFF3 0xcac 11993de1ef73SChaoming Li #define ROFDM0_TXCOEFF4 0xcb0 12003de1ef73SChaoming Li #define ROFDM0_TXCOEFF5 0xcb4 12013de1ef73SChaoming Li #define ROFDM0_TXCOEFF6 0xcb8 12023de1ef73SChaoming Li 12033de1ef73SChaoming Li /* 7. PageD(0xD00) */ 12043de1ef73SChaoming Li #define ROFDM1_LSTF 0xd00 12053de1ef73SChaoming Li #define ROFDM1_TRXPATHENABLE 0xd04 12063de1ef73SChaoming Li 12073de1ef73SChaoming Li #define ROFDM1_CFO 0xd08 12083de1ef73SChaoming Li #define ROFDM1_CSI1 0xd10 12093de1ef73SChaoming Li #define ROFDM1_SBD 0xd14 12103de1ef73SChaoming Li #define ROFDM1_CSI2 0xd18 12113de1ef73SChaoming Li #define ROFDM1_CFOTRACKING 0xd2c 12123de1ef73SChaoming Li #define ROFDM1_TRXMESAURE1 0xd34 12133de1ef73SChaoming Li #define ROFDM1_INTFDET 0xd3c 12143de1ef73SChaoming Li #define ROFDM1_PSEUDONOISESTATEAB 0xd50 12153de1ef73SChaoming Li #define ROFDM1_PSEUDONOISESTATECD 0xd54 12163de1ef73SChaoming Li #define ROFDM1_RXPSEUDONOISEWGT 0xd58 12173de1ef73SChaoming Li 12183de1ef73SChaoming Li #define ROFDM_PHYCOUNTER1 0xda0 12193de1ef73SChaoming Li #define ROFDM_PHYCOUNTER2 0xda4 12203de1ef73SChaoming Li #define ROFDM_PHYCOUNTER3 0xda8 12213de1ef73SChaoming Li 12223de1ef73SChaoming Li #define ROFDM_SHORTCFOAB 0xdac 12233de1ef73SChaoming Li #define ROFDM_SHORTCFOCD 0xdb0 12243de1ef73SChaoming Li #define ROFDM_LONGCFOAB 0xdb4 12253de1ef73SChaoming Li #define ROFDM_LONGCFOCD 0xdb8 12263de1ef73SChaoming Li #define ROFDM_TAILCFOAB 0xdbc 12273de1ef73SChaoming Li #define ROFDM_TAILCFOCD 0xdc0 12283de1ef73SChaoming Li #define ROFDM_PWMEASURE1 0xdc4 12293de1ef73SChaoming Li #define ROFDM_PWMEASURE2 0xdc8 12303de1ef73SChaoming Li #define ROFDM_BWREPORT 0xdcc 12313de1ef73SChaoming Li #define ROFDM_AGCREPORT 0xdd0 12323de1ef73SChaoming Li #define ROFDM_RXSNR 0xdd4 12333de1ef73SChaoming Li #define ROFDM_RXEVMCSI 0xdd8 1234b83faedaSLarry Finger #define ROFDM_SIGREPORT 0xddc 12353de1ef73SChaoming Li 12363de1ef73SChaoming Li /* 8. PageE(0xE00) */ 12373de1ef73SChaoming Li #define RTXAGC_A_RATE18_06 0xe00 12383de1ef73SChaoming Li #define RTXAGC_A_RATE54_24 0xe04 12393de1ef73SChaoming Li #define RTXAGC_A_CCK1_MCS32 0xe08 12403de1ef73SChaoming Li #define RTXAGC_A_MCS03_MCS00 0xe10 12413de1ef73SChaoming Li #define RTXAGC_A_MCS07_MCS04 0xe14 12423de1ef73SChaoming Li #define RTXAGC_A_MCS11_MCS08 0xe18 12433de1ef73SChaoming Li #define RTXAGC_A_MCS15_MCS12 0xe1c 12443de1ef73SChaoming Li 12453de1ef73SChaoming Li #define RTXAGC_B_RATE18_06 0x830 12463de1ef73SChaoming Li #define RTXAGC_B_RATE54_24 0x834 12473de1ef73SChaoming Li #define RTXAGC_B_CCK1_55_MCS32 0x838 12483de1ef73SChaoming Li #define RTXAGC_B_MCS03_MCS00 0x83c 12493de1ef73SChaoming Li #define RTXAGC_B_MCS07_MCS04 0x848 12503de1ef73SChaoming Li #define RTXAGC_B_MCS11_MCS08 0x84c 12513de1ef73SChaoming Li #define RTXAGC_B_MCS15_MCS12 0x868 12523de1ef73SChaoming Li #define RTXAGC_B_CCK11_A_CCK2_11 0x86c 12533de1ef73SChaoming Li 1254*014bba73SBitterblue Smith #define RFPGA0_IQK 0xe28 1255*014bba73SBitterblue Smith #define RTX_IQK_TONE_A 0xe30 1256*014bba73SBitterblue Smith #define RRX_IQK_TONE_A 0xe34 1257*014bba73SBitterblue Smith #define RTX_IQK_PI_A 0xe38 1258*014bba73SBitterblue Smith #define RRX_IQK_PI_A 0xe3c 1259*014bba73SBitterblue Smith 1260*014bba73SBitterblue Smith #define RTX_IQK 0xe40 1261*014bba73SBitterblue Smith #define RRX_IQK 0xe44 1262*014bba73SBitterblue Smith #define RIQK_AGC_PTS 0xe48 1263*014bba73SBitterblue Smith #define RIQK_AGC_RSP 0xe4c 1264*014bba73SBitterblue Smith #define RTX_IQK_TONE_B 0xe50 1265*014bba73SBitterblue Smith #define RRX_IQK_TONE_B 0xe54 1266*014bba73SBitterblue Smith #define RTX_IQK_PI_B 0xe58 1267*014bba73SBitterblue Smith #define RRX_IQK_PI_B 0xe5c 1268*014bba73SBitterblue Smith #define RIQK_AGC_CONT 0xe60 1269*014bba73SBitterblue Smith 1270*014bba73SBitterblue Smith #define RBLUE_TOOTH 0xe6c 1271*014bba73SBitterblue Smith #define RRX_WAIT_CCA 0xe70 1272*014bba73SBitterblue Smith #define RTX_CCK_RFON 0xe74 1273*014bba73SBitterblue Smith #define RTX_CCK_BBON 0xe78 1274*014bba73SBitterblue Smith #define RTX_OFDM_RFON 0xe7c 1275*014bba73SBitterblue Smith #define RTX_OFDM_BBON 0xe80 1276*014bba73SBitterblue Smith #define RTX_TO_RX 0xe84 1277*014bba73SBitterblue Smith #define RTX_TO_TX 0xe88 1278*014bba73SBitterblue Smith #define RRX_CCK 0xe8c 1279*014bba73SBitterblue Smith 1280*014bba73SBitterblue Smith #define RTX_POWER_BEFORE_IQK_A 0xe94 1281*014bba73SBitterblue Smith #define RTX_POWER_AFTER_IQK_A 0xe9c 1282*014bba73SBitterblue Smith 1283*014bba73SBitterblue Smith #define RRX_POWER_BEFORE_IQK_A 0xea0 1284*014bba73SBitterblue Smith #define RRX_POWER_BEFORE_IQK_A_2 0xea4 1285*014bba73SBitterblue Smith #define RRX_POWER_AFTER_IQK_A 0xea8 1286*014bba73SBitterblue Smith #define RRX_POWER_AFTER_IQK_A_2 0xeac 1287*014bba73SBitterblue Smith 1288*014bba73SBitterblue Smith #define RTX_POWER_BEFORE_IQK_B 0xeb4 1289*014bba73SBitterblue Smith #define RTX_POWER_AFTER_IQK_B 0xebc 1290*014bba73SBitterblue Smith 1291*014bba73SBitterblue Smith #define RRX_POWER_BEFORE_IQK_B 0xec0 1292*014bba73SBitterblue Smith #define RRX_POWER_BEFORE_IQK_B_2 0xec4 1293*014bba73SBitterblue Smith #define RRX_POWER_AFTER_IQK_B 0xec8 1294*014bba73SBitterblue Smith #define RRX_POWER_AFTER_IQK_B_2 0xecc 1295*014bba73SBitterblue Smith 1296*014bba73SBitterblue Smith #define MASK_IQK_RESULT 0x03ff0000 1297*014bba73SBitterblue Smith 1298*014bba73SBitterblue Smith #define RRX_OFDM 0xed0 1299*014bba73SBitterblue Smith #define RRX_WAIT_RIFS 0xed4 1300*014bba73SBitterblue Smith #define RRX_TO_RX 0xed8 1301*014bba73SBitterblue Smith #define RSTANDBY 0xedc 1302*014bba73SBitterblue Smith #define RSLEEP 0xee0 1303*014bba73SBitterblue Smith #define RPMPD_ANAEN 0xeec 1304*014bba73SBitterblue Smith 13053de1ef73SChaoming Li /* RL6052 Register definition */ 13063de1ef73SChaoming Li #define RF_AC 0x00 13073de1ef73SChaoming Li 13083de1ef73SChaoming Li #define RF_IQADJ_G1 0x01 13093de1ef73SChaoming Li #define RF_IQADJ_G2 0x02 1310*014bba73SBitterblue Smith #define RF_BS_PA_APSET_G1_G4 0x03 13113de1ef73SChaoming Li #define RF_POW_TRSW 0x05 13123de1ef73SChaoming Li 13133de1ef73SChaoming Li #define RF_GAIN_RX 0x06 13143de1ef73SChaoming Li #define RF_GAIN_TX 0x07 13153de1ef73SChaoming Li 13163de1ef73SChaoming Li #define RF_TXM_IDAC 0x08 1317*014bba73SBitterblue Smith #define RF_TXPA_AG 0x0B 13183de1ef73SChaoming Li #define RF_BS_IQGEN 0x0F 13193de1ef73SChaoming Li 13203de1ef73SChaoming Li #define RF_MODE1 0x10 13213de1ef73SChaoming Li #define RF_MODE2 0x11 13223de1ef73SChaoming Li 13233de1ef73SChaoming Li #define RF_RX_AGC_HP 0x12 13243de1ef73SChaoming Li #define RF_TX_AGC 0x13 13253de1ef73SChaoming Li #define RF_BIAS 0x14 13263de1ef73SChaoming Li #define RF_IPA 0x15 13273de1ef73SChaoming Li #define RF_POW_ABILITY 0x17 13283de1ef73SChaoming Li #define RF_MODE_AG 0x18 1329b83faedaSLarry Finger #define rfchannel 0x18 13303de1ef73SChaoming Li #define RF_CHNLBW 0x18 13313de1ef73SChaoming Li #define RF_TOP 0x19 13323de1ef73SChaoming Li 13333de1ef73SChaoming Li #define RF_RX_G1 0x1A 13343de1ef73SChaoming Li #define RF_RX_G2 0x1B 13353de1ef73SChaoming Li 13363de1ef73SChaoming Li #define RF_RX_BB2 0x1C 13373de1ef73SChaoming Li #define RF_RX_BB1 0x1D 13383de1ef73SChaoming Li 13393de1ef73SChaoming Li #define RF_RCK1 0x1E 13403de1ef73SChaoming Li #define RF_RCK2 0x1F 13413de1ef73SChaoming Li 13423de1ef73SChaoming Li #define RF_TX_G1 0x20 13433de1ef73SChaoming Li #define RF_TX_G2 0x21 13443de1ef73SChaoming Li #define RF_TX_G3 0x22 13453de1ef73SChaoming Li 13463de1ef73SChaoming Li #define RF_TX_BB1 0x23 13473de1ef73SChaoming Li 13483de1ef73SChaoming Li #define RF_T_METER 0x42 13493de1ef73SChaoming Li 13503de1ef73SChaoming Li #define RF_SYN_G1 0x25 13513de1ef73SChaoming Li #define RF_SYN_G2 0x26 13523de1ef73SChaoming Li #define RF_SYN_G3 0x27 13533de1ef73SChaoming Li #define RF_SYN_G4 0x28 13543de1ef73SChaoming Li #define RF_SYN_G5 0x29 13553de1ef73SChaoming Li #define RF_SYN_G6 0x2A 13563de1ef73SChaoming Li #define RF_SYN_G7 0x2B 13573de1ef73SChaoming Li #define RF_SYN_G8 0x2C 13583de1ef73SChaoming Li 13593de1ef73SChaoming Li #define RF_RCK_OS 0x30 13603de1ef73SChaoming Li 13613de1ef73SChaoming Li #define RF_TXPA_G1 0x31 13623de1ef73SChaoming Li #define RF_TXPA_G2 0x32 13633de1ef73SChaoming Li #define RF_TXPA_G3 0x33 13643de1ef73SChaoming Li 13653de1ef73SChaoming Li /* Bit Mask */ 13663de1ef73SChaoming Li 13673de1ef73SChaoming Li /* 2. Page8(0x800) */ 13683de1ef73SChaoming Li #define BRFMOD 0x1 13693de1ef73SChaoming Li #define BCCKTXSC 0x30 13703de1ef73SChaoming Li #define BCCKEN 0x1000000 13713de1ef73SChaoming Li #define BOFDMEN 0x2000000 13723de1ef73SChaoming Li 13733de1ef73SChaoming Li #define B3WIREDATALENGTH 0x800 13743de1ef73SChaoming Li #define B3WIREADDRESSLENGTH 0x400 13753de1ef73SChaoming Li 13763de1ef73SChaoming Li #define BRFSI_RFENV 0x10 13773de1ef73SChaoming Li 13783de1ef73SChaoming Li #define BLSSIREADADDRESS 0x7f800000 13793de1ef73SChaoming Li #define BLSSIREADEDGE 0x80000000 13803de1ef73SChaoming Li #define BLSSIREADBACKDATA 0xfffff 13813de1ef73SChaoming Li /* 4. PageA(0xA00) */ 13823de1ef73SChaoming Li #define BCCKSIDEBAND 0x10 13833de1ef73SChaoming Li 13843de1ef73SChaoming Li /* Other Definition */ 13853de1ef73SChaoming Li #define BBYTE0 0x1 13863de1ef73SChaoming Li #define BBYTE1 0x2 13873de1ef73SChaoming Li #define BBYTE2 0x4 13883de1ef73SChaoming Li #define BBYTE3 0x8 13893de1ef73SChaoming Li #define BWORD0 0x3 13903de1ef73SChaoming Li #define BWORD1 0xc 13913de1ef73SChaoming Li #define BDWORD 0xf 13923de1ef73SChaoming Li 13933de1ef73SChaoming Li #endif 1394