/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright(c) 2009-2012 Realtek Corporation.*/
#ifndef __RTL92D_REG_H__
#define __RTL92D_REG_H__
/* ----------------------------------------------------- */
/* 0x0000h ~ 0x00FFh System Configuration */
/* ----------------------------------------------------- */
#define REG_SYS_ISO_CTRL 0 x0000
#define REG_SYS_FUNC_EN 0 x0002
#define REG_APS_FSMCO 0 x0004
#define REG_SYS_CLKR 0 x0008
#define REG_9346CR 0 x000A
#define REG_EE_VPD 0 x000C
#define REG_AFE_MISC 0 x0010
#define REG_SPS0_CTRL 0 x0011
#define REG_POWER_OFF_IN_PROCESS 0 x0017
#define REG_SPS_OCP_CFG 0 x0018
#define REG_RSV_CTRL 0 x001C
#define REG_RF_CTRL 0 x001F
#define REG_LDOA15_CTRL 0 x0020
#define REG_LDOV12D_CTRL 0 x0021
#define REG_LDOHCI12_CTRL 0 x0022
#define REG_LPLDO_CTRL 0 x0023
#define REG_AFE_XTAL_CTRL 0 x0024
#define REG_AFE_PLL_CTRL 0 x0028
/* for 92d, DMDP,SMSP,DMSP contrl */
#define REG_MAC_PHY_CTRL 0 x002c
#define REG_EFUSE_CTRL 0 x0030
#define REG_EFUSE_TEST 0 x0034
#define REG_PWR_DATA 0 x0038
#define REG_CAL_TIMER 0 x003C
#define REG_ACLK_MON 0 x003E
#define REG_GPIO_MUXCFG 0 x0040
#define REG_GPIO_IO_SEL 0 x0042
#define REG_MAC_PINMUX_CFG 0 x0043
#define REG_GPIO_PIN_CTRL 0 x0044
#define REG_GPIO_INTM 0 x0048
#define REG_LEDCFG0 0 x004C
#define REG_LEDCFG1 0 x004D
#define REG_LEDCFG2 0 x004E
#define REG_LEDCFG3 0 x004F
#define REG_FSIMR 0 x0050
#define REG_FSISR 0 x0054
#define REG_MCUFWDL 0 x0080
#define REG_HMEBOX_EXT_0 0 x0088
#define REG_HMEBOX_EXT_1 0 x008A
#define REG_HMEBOX_EXT_2 0 x008C
#define REG_HMEBOX_EXT_3 0 x008E
#define SIZE_OF_REG_HMEBOX_EXT 2
#define REG_EFUSE_ACCESS 0 x00CF
#define REG_BIST_SCAN 0 x00D0
#define REG_BIST_RPT 0 x00D4
#define REG_BIST_ROM_RPT 0 x00D8
#define REG_USB_SIE_INTF 0 x00E0
#define REG_PCIE_MIO_INTF 0 x00E4
#define REG_PCIE_MIO_INTD 0 x00E8
#define REG_HPON_FSM 0 x00EC
#define REG_SYS_CFG 0 x00F0
#define REG_MAC_PHY_CTRL_NORMAL 0 x00f8
#define REG_MAC0 0 x0081
#define REG_MAC1 0 x0053
#define FW_MAC0_READY 0 x18
#define FW_MAC1_READY 0 x1A
#define MAC0_ON BIT(7 )
#define MAC1_ON BIT(0 )
#define MAC0_READY BIT(0 )
#define MAC1_READY BIT(0 )
/* ----------------------------------------------------- */
/* 0x0100h ~ 0x01FFh MACTOP General Configuration */
/* ----------------------------------------------------- */
#define REG_CR 0 x0100
#define REG_PBP 0 x0104
#define REG_TRXDMA_CTRL 0 x010C
#define REG_TRXFF_BNDY 0 x0114
#define REG_TRXFF_STATUS 0 x0118
#define REG_RXFF_PTR 0 x011C
#define REG_HIMR 0 x0120
#define REG_HISR 0 x0124
#define REG_HIMRE 0 x0128
#define REG_HISRE 0 x012C
#define REG_CPWM 0 x012F
#define REG_FWIMR 0 x0130
#define REG_FWISR 0 x0134
#define REG_FTIMR 0 x0138
#define REG_PKTBUF_DBG_CTRL 0 x0140
#define REG_PKTBUF_DBG_DATA_L 0 x0144
#define REG_PKTBUF_DBG_DATA_H 0 x0148
#define REG_TC0_CTRL 0 x0150
#define REG_TC1_CTRL 0 x0154
#define REG_TC2_CTRL 0 x0158
#define REG_TC3_CTRL 0 x015C
#define REG_TC4_CTRL 0 x0160
#define REG_TCUNIT_BASE 0 x0164
#define REG_MBIST_START 0 x0174
#define REG_MBIST_DONE 0 x0178
#define REG_MBIST_FAIL 0 x017C
#define REG_C2HEVT_MSG_NORMAL 0 x01A0
#define REG_C2HEVT_MSG_TEST 0 x01B8
#define REG_C2HEVT_CLEAR 0 x01BF
#define REG_MCUTST_1 0 x01c0
#define REG_FMETHR 0 x01C8
#define REG_HMETFR 0 x01CC
#define REG_HMEBOX_0 0 x01D0
#define REG_HMEBOX_1 0 x01D4
#define REG_HMEBOX_2 0 x01D8
#define REG_HMEBOX_3 0 x01DC
#define SIZE_OF_REG_HMEBOX 4
#define REG_LLT_INIT 0 x01E0
#define REG_BB_ACCEESS_CTRL 0 x01E8
#define REG_BB_ACCESS_DATA 0 x01EC
/* ----------------------------------------------------- */
/* 0x0200h ~ 0x027Fh TXDMA Configuration */
/* ----------------------------------------------------- */
#define REG_RQPN 0 x0200
#define REG_FIFOPAGE 0 x0204
#define REG_TDECTRL 0 x0208
#define REG_TXDMA_OFFSET_CHK 0 x020C
#define REG_TXDMA_STATUS 0 x0210
#define REG_RQPN_NPQ 0 x0214
/* ----------------------------------------------------- */
/* 0x0280h ~ 0x02FFh RXDMA Configuration */
/* ----------------------------------------------------- */
#define REG_RXDMA_AGG_PG_TH 0 x0280
#define REG_RXPKT_NUM 0 x0284
#define REG_RXDMA_STATUS 0 x0288
/* ----------------------------------------------------- */
/* 0x0300h ~ 0x03FFh PCIe */
/* ----------------------------------------------------- */
#define REG_PCIE_CTRL_REG 0 x0300
#define REG_INT_MIG 0 x0304
#define REG_BCNQ_DESA 0 x0308
#define REG_HQ_DESA 0 x0310
#define REG_MGQ_DESA 0 x0318
#define REG_VOQ_DESA 0 x0320
#define REG_VIQ_DESA 0 x0328
#define REG_BEQ_DESA 0 x0330
#define REG_BKQ_DESA 0 x0338
#define REG_RX_DESA 0 x0340
#define REG_DBI 0 x0348
#define REG_DBI_WDATA 0 x0348
#define REG_DBI_RDATA 0 x034C
#define REG_DBI_CTRL 0 x0350
#define REG_DBI_FLAG 0 x0352
#define REG_MDIO 0 x0354
#define REG_DBG_SEL 0 x0360
#define REG_PCIE_HRPWM 0 x0361
#define REG_PCIE_HCPWM 0 x0363
#define REG_UART_CTRL 0 x0364
#define REG_UART_TX_DESA 0 x0370
#define REG_UART_RX_DESA 0 x0378
/* ----------------------------------------------------- */
/* 0x0400h ~ 0x047Fh Protocol Configuration */
/* ----------------------------------------------------- */
#define REG_VOQ_INFORMATION 0 x0400
#define REG_VIQ_INFORMATION 0 x0404
#define REG_BEQ_INFORMATION 0 x0408
#define REG_BKQ_INFORMATION 0 x040C
#define REG_MGQ_INFORMATION 0 x0410
#define REG_HGQ_INFORMATION 0 x0414
#define REG_BCNQ_INFORMATION 0 x0418
#define REG_CPU_MGQ_INFORMATION 0 x041C
#define REG_FWHW_TXQ_CTRL 0 x0420
#define REG_HWSEQ_CTRL 0 x0423
#define REG_TXPKTBUF_BCNQ_BDNY 0 x0424
#define REG_TXPKTBUF_MGQ_BDNY 0 x0425
#define REG_MULTI_BCNQ_EN 0 x0426
#define REG_MULTI_BCNQ_OFFSET 0 x0427
#define REG_SPEC_SIFS 0 x0428
#define REG_RL 0 x042A
#define REG_DARFRC 0 x0430
#define REG_RARFRC 0 x0438
#define REG_RRSR 0 x0440
#define REG_ARFR0 0 x0444
#define REG_ARFR1 0 x0448
#define REG_ARFR2 0 x044C
#define REG_ARFR3 0 x0450
#define REG_AGGLEN_LMT 0 x0458
#define REG_AMPDU_MIN_SPACE 0 x045C
#define REG_TXPKTBUF_WMAC_LBK_BF_HD 0 x045D
#define REG_FAST_EDCA_CTRL 0 x0460
#define REG_RD_RESP_PKT_TH 0 x0463
#define REG_INIRTS_RATE_SEL 0 x0480
#define REG_INIDATA_RATE_SEL 0 x0484
#define REG_POWER_STATUS 0 x04A4
#define REG_POWER_STAGE1 0 x04B4
#define REG_POWER_STAGE2 0 x04B8
#define REG_PKT_LIFE_TIME 0 x04C0
#define REG_PKT_VO_VI_LIFE_TIME 0 x04C0
#define REG_PKT_BE_BK_LIFE_TIME 0 x04C2
#define REG_STBC_SETTING 0 x04C4
#define REG_PROT_MODE_CTRL 0 x04C8
#define REG_MAX_AGGR_NUM 0 x04CA
#define REG_RTS_MAX_AGGR_NUM 0 x04CB
#define REG_BAR_MODE_CTRL 0 x04CC
#define REG_RA_TRY_RATE_AGG_LMT 0 x04CF
#define REG_EARLY_MODE_CONTROL 0 x4D0
#define REG_NQOS_SEQ 0 x04DC
#define REG_QOS_SEQ 0 x04DE
#define REG_NEED_CPU_HANDLE 0 x04E0
#define REG_PKT_LOSE_RPT 0 x04E1
#define REG_PTCL_ERR_STATUS 0 x04E2
#define REG_DUMMY 0 x04FC
/* ----------------------------------------------------- */
/* 0x0500h ~ 0x05FFh EDCA Configuration */
/* ----------------------------------------------------- */
#define REG_EDCA_VO_PARAM 0 x0500
#define REG_EDCA_VI_PARAM 0 x0504
#define REG_EDCA_BE_PARAM 0 x0508
#define REG_EDCA_BK_PARAM 0 x050C
#define REG_BCNTCFG 0 x0510
#define REG_PIFS 0 x0512
#define REG_RDG_PIFS 0 x0513
#define REG_SIFS_CTX 0 x0514
#define REG_SIFS_TRX 0 x0516
#define REG_AGGR_BREAK_TIME 0 x051A
#define REG_SLOT 0 x051B
#define REG_TX_PTCL_CTRL 0 x0520
#define REG_TXPAUSE 0 x0522
#define REG_DIS_TXREQ_CLR 0 x0523
#define REG_RD_CTRL 0 x0524
#define REG_TBTT_PROHIBIT 0 x0540
#define REG_RD_NAV_NXT 0 x0544
#define REG_NAV_PROT_LEN 0 x0546
#define REG_BCN_CTRL 0 x0550
#define REG_BCN_CTRL_1 0 x0551
#define REG_MBID_NUM 0 x0552
#define REG_DUAL_TSF_RST 0 x0553
#define REG_BCN_INTERVAL 0 x0554
#define REG_MBSSID_BCN_SPACE 0 x0554
#define REG_DRVERLYINT 0 x0558
#define REG_BCNDMATIM 0 x0559
#define REG_ATIMWND 0 x055A
#define REG_USTIME_TSF 0 x055C
#define REG_BCN_MAX_ERR 0 x055D
#define REG_RXTSF_OFFSET_CCK 0 x055E
#define REG_RXTSF_OFFSET_OFDM 0 x055F
#define REG_TSFTR 0 x0560
#define REG_INIT_TSFTR 0 x0564
#define REG_PSTIMER 0 x0580
#define REG_TIMER0 0 x0584
#define REG_TIMER1 0 x0588
#define REG_ACMHWCTRL 0 x05C0
#define REG_ACMRSTCTRL 0 x05C1
#define REG_ACMAVG 0 x05C2
#define REG_VO_ADMTIME 0 x05C4
#define REG_VI_ADMTIME 0 x05C6
#define REG_BE_ADMTIME 0 x05C8
#define REG_EDCA_RANDOM_GEN 0 x05CC
#define REG_SCH_TXCMD 0 x05D0
/* Dual MAC Co-Existence Register */
#define REG_DMC 0 x05F0
/* ----------------------------------------------------- */
/* 0x0600h ~ 0x07FFh WMAC Configuration */
/* ----------------------------------------------------- */
#define REG_APSD_CTRL 0 x0600
#define REG_BWOPMODE 0 x0603
#define REG_TCR 0 x0604
#define REG_RCR 0 x0608
#define REG_RX_PKT_LIMIT 0 x060C
#define REG_RX_DLK_TIME 0 x060D
#define REG_RX_DRVINFO_SZ 0 x060F
#define REG_MACID 0 x0610
#define REG_BSSID 0 x0618
#define REG_MAR 0 x0620
#define REG_MBIDCAMCFG 0 x0628
#define REG_USTIME_EDCA 0 x0638
#define REG_MAC_SPEC_SIFS 0 x063A
#define REG_RESP_SIFS_CCK 0 x063C
#define REG_RESP_SIFS_OFDM 0 x063E
#define REG_ACKTO 0 x0640
#define REG_CTS2TO 0 x0641
#define REG_EIFS 0 x0642
/* WMA, BA, CCX */
#define REG_NAV_CTRL 0 x0650
#define REG_BACAMCMD 0 x0654
#define REG_BACAMCONTENT 0 x0658
#define REG_LBDLY 0 x0660
#define REG_FWDLY 0 x0661
#define REG_RXERR_RPT 0 x0664
#define REG_WMAC_TRXPTCL_CTL 0 x0668
/* Security */
#define REG_CAMCMD 0 x0670
#define REG_CAMWRITE 0 x0674
#define REG_CAMREAD 0 x0678
#define REG_CAMDBG 0 x067C
#define REG_SECCFG 0 x0680
/* Power */
#define REG_WOW_CTRL 0 x0690
#define REG_PSSTATUS 0 x0691
#define REG_PS_RX_INFO 0 x0692
#define REG_LPNAV_CTRL 0 x0694
#define REG_WKFMCAM_CMD 0 x0698
#define REG_WKFMCAM_RWD 0 x069C
#define REG_RXFLTMAP0 0 x06A0
#define REG_RXFLTMAP1 0 x06A2
#define REG_RXFLTMAP2 0 x06A4
#define REG_BCN_PSR_RPT 0 x06A8
#define REG_CALB32K_CTRL 0 x06AC
#define REG_PKT_MON_CTRL 0 x06B4
#define REG_BT_COEX_TABLE 0 x06C0
#define REG_WMAC_RESP_TXINFO 0 x06D8
#define REG_USB_Queue_Select_MAC0 0 xFE44
#define REG_USB_Queue_Select_MAC1 0 xFE47
/* ----------------------------------------------------- */
/* Redifine 8192C register definition for compatibility */
/* ----------------------------------------------------- */
#define CR9346 REG_9346CR
#define MSR (REG_CR + 2 )
#define ISR REG_HISR
#define TSFR REG_TSFTR
#define MACIDR0 REG_MACID
#define MACIDR4 (REG_MACID + 4 )
#define PBP REG_PBP
#define IDR0 MACIDR0
#define IDR4 MACIDR4
/* ----------------------------------------------------- */
/* 8192C (MSR) Media Status Register(Offset 0x4C, 8 bits)*/
/* ----------------------------------------------------- */
#define MSR_NOLINK 0 x00
#define MSR_ADHOC 0 x01
#define MSR_INFRA 0 x02
#define MSR_AP 0 x03
#define MSR_MASK 0 x03
/* 6. Adaptive Control Registers (Offset: 0x0160 - 0x01CF) */
/* ----------------------------------------------------- */
/* 8192C Response Rate Set Register(offset 0x181, 24bits)*/
/* ----------------------------------------------------- */
#define RRSR_RSC_OFFSET 21
#define RRSR_SHORT_OFFSET 23
#define RRSR_RSC_BW_40M 0 x600000
#define RRSR_RSC_UPSUBCHNL 0 x400000
#define RRSR_RSC_LOWSUBCHNL 0 x200000
#define RRSR_SHORT 0 x800000
#define RRSR_1M BIT(0 )
#define RRSR_2M BIT(1 )
#define RRSR_5_5M BIT(2 )
#define RRSR_11M BIT(3 )
#define RRSR_6M BIT(4 )
#define RRSR_9M BIT(5 )
#define RRSR_12M BIT(6 )
#define RRSR_18M BIT(7 )
#define RRSR_24M BIT(8 )
#define RRSR_36M BIT(9 )
#define RRSR_48M BIT(10 )
#define RRSR_54M BIT(11 )
#define RRSR_MCS0 BIT(12 )
#define RRSR_MCS1 BIT(13 )
#define RRSR_MCS2 BIT(14 )
#define RRSR_MCS3 BIT(15 )
#define RRSR_MCS4 BIT(16 )
#define RRSR_MCS5 BIT(17 )
#define RRSR_MCS6 BIT(18 )
#define RRSR_MCS7 BIT(19 )
#define BRSR_ACKSHORTPMB BIT(23 )
/* ----------------------------------------------------- */
/* 8192C Rate Definition */
/* ----------------------------------------------------- */
/* CCK */
#define RATR_1M 0 x00000001
#define RATR_2M 0 x00000002
#define RATR_55M 0 x00000004
#define RATR_11M 0 x00000008
/* OFDM */
#define RATR_6M 0 x00000010
#define RATR_9M 0 x00000020
#define RATR_12M 0 x00000040
#define RATR_18M 0 x00000080
#define RATR_24M 0 x00000100
#define RATR_36M 0 x00000200
#define RATR_48M 0 x00000400
#define RATR_54M 0 x00000800
/* MCS 1 Spatial Stream */
#define RATR_MCS0 0 x00001000
#define RATR_MCS1 0 x00002000
#define RATR_MCS2 0 x00004000
#define RATR_MCS3 0 x00008000
#define RATR_MCS4 0 x00010000
#define RATR_MCS5 0 x00020000
#define RATR_MCS6 0 x00040000
#define RATR_MCS7 0 x00080000
/* MCS 2 Spatial Stream */
#define RATR_MCS8 0 x00100000
#define RATR_MCS9 0 x00200000
#define RATR_MCS10 0 x00400000
#define RATR_MCS11 0 x00800000
#define RATR_MCS12 0 x01000000
#define RATR_MCS13 0 x02000000
#define RATR_MCS14 0 x04000000
#define RATR_MCS15 0 x08000000
/* CCK */
#define RATE_1M BIT(0 )
#define RATE_2M BIT(1 )
#define RATE_5_5M BIT(2 )
#define RATE_11M BIT(3 )
/* OFDM */
#define RATE_6M BIT(4 )
#define RATE_9M BIT(5 )
#define RATE_12M BIT(6 )
#define RATE_18M BIT(7 )
#define RATE_24M BIT(8 )
#define RATE_36M BIT(9 )
#define RATE_48M BIT(10 )
#define RATE_54M BIT(11 )
/* MCS 1 Spatial Stream */
#define RATE_MCS0 BIT(12 )
#define RATE_MCS1 BIT(13 )
#define RATE_MCS2 BIT(14 )
#define RATE_MCS3 BIT(15 )
#define RATE_MCS4 BIT(16 )
#define RATE_MCS5 BIT(17 )
#define RATE_MCS6 BIT(18 )
#define RATE_MCS7 BIT(19 )
/* MCS 2 Spatial Stream */
#define RATE_MCS8 BIT(20 )
#define RATE_MCS9 BIT(21 )
#define RATE_MCS10 BIT(22 )
#define RATE_MCS11 BIT(23 )
#define RATE_MCS12 BIT(24 )
#define RATE_MCS13 BIT(25 )
#define RATE_MCS14 BIT(26 )
#define RATE_MCS15 BIT(27 )
/* ALL CCK Rate */
#define RATE_ALL_CCK (RATR_1M | RATR_2M | RATR_55M | \
RATR_11M)
#define RATE_ALL_OFDM_AG (RATR_6M | RATR_9M | RATR_12M | \
RATR_18M | RATR_24M | \
RATR_36M | RATR_48M | RATR_54M)
#define RATE_ALL_OFDM_1SS (RATR_MCS0 | RATR_MCS1 | RATR_MCS2 | \
RATR_MCS3 | RATR_MCS4 | RATR_MCS5 | \
RATR_MCS6 | RATR_MCS7)
#define RATE_ALL_OFDM_2SS (RATR_MCS8 | RATR_MCS9 | RATR_MCS10 | \
RATR_MCS11 | RATR_MCS12 | RATR_MCS13 | \
RATR_MCS14 | RATR_MCS15)
/* ----------------------------------------------------- */
/* 8192C BW_OPMODE bits (Offset 0x203, 8bit) */
/* ----------------------------------------------------- */
#define BW_OPMODE_20MHZ BIT(2 )
#define BW_OPMODE_5G BIT(1 )
#define BW_OPMODE_11J BIT(0 )
/* ----------------------------------------------------- */
/* 8192C CAM Config Setting (offset 0x250, 1 byte) */
/* ----------------------------------------------------- */
#define CAM_VALID BIT(15 )
#define CAM_NOTVALID 0 x0000
#define CAM_USEDK BIT(5 )
#define CAM_NONE 0 x0
#define CAM_WEP40 0 x01
#define CAM_TKIP 0 x02
#define CAM_AES 0 x04
#define CAM_WEP104 0 x05
#define CAM_SMS4 0 x6
#define TOTAL_CAM_ENTRY 32
#define HALF_CAM_ENTRY 16
#define CAM_WRITE BIT(16 )
#define CAM_READ 0 x00000000
#define CAM_POLLINIG BIT(31 )
/* 10. Power Save Control Registers (Offset: 0x0260 - 0x02DF) */
#define WOW_PMEN BIT0 /* Power management Enable. */
#define WOW_WOMEN BIT1 /* WoW function on or off. */
#define WOW_MAGIC BIT2 /* Magic packet */
#define WOW_UWF BIT3 /* Unicast Wakeup frame. */
/* 12. Host Interrupt Status Registers (Offset: 0x0300 - 0x030F) */
/* ----------------------------------------------------- */
/* 8190 IMR/ISR bits (offset 0xfd, 8bits) */
/* ----------------------------------------------------- */
#define IMR8190_DISABLED 0 x0
#define IMR_BCNDMAINT6 BIT(31 )
#define IMR_BCNDMAINT5 BIT(30 )
#define IMR_BCNDMAINT4 BIT(29 )
#define IMR_BCNDMAINT3 BIT(28 )
#define IMR_BCNDMAINT2 BIT(27 )
#define IMR_BCNDMAINT1 BIT(26 )
#define IMR_BCNDOK8 BIT(25 )
#define IMR_BCNDOK7 BIT(24 )
#define IMR_BCNDOK6 BIT(23 )
#define IMR_BCNDOK5 BIT(22 )
#define IMR_BCNDOK4 BIT(21 )
#define IMR_BCNDOK3 BIT(20 )
#define IMR_BCNDOK2 BIT(19 )
#define IMR_BCNDOK1 BIT(18 )
#define IMR_TIMEOUT2 BIT(17 )
#define IMR_TIMEOUT1 BIT(16 )
#define IMR_TXFOVW BIT(15 )
#define IMR_PSTIMEOUT BIT(14 )
#define IMR_BCNINT BIT(13 )
#define IMR_RXFOVW BIT(12 )
#define IMR_RDU BIT(11 )
#define IMR_ATIMEND BIT(10 )
#define IMR_BDOK BIT(9 )
#define IMR_HIGHDOK BIT(8 )
#define IMR_TBDOK BIT(7 )
#define IMR_MGNTDOK BIT(6 )
#define IMR_TBDER BIT(5 )
#define IMR_BKDOK BIT(4 )
#define IMR_BEDOK BIT(3 )
#define IMR_VIDOK BIT(2 )
#define IMR_VODOK BIT(1 )
#define IMR_ROK BIT(0 )
#define IMR_TXERR BIT(11 )
#define IMR_RXERR BIT(10 )
#define IMR_C2HCMD BIT(9 )
#define IMR_CPWM BIT(8 )
#define IMR_OCPINT BIT(1 )
#define IMR_WLANOFF BIT(0 )
/* ----------------------------------------------------- */
/* 8192C EFUSE */
/* ----------------------------------------------------- */
#define HWSET_MAX_SIZE 256
#define EFUSE_MAX_SECTION 32
#define EFUSE_REAL_CONTENT_LEN 512
/* ----------------------------------------------------- */
/* 8192C EEPROM/EFUSE share register definition. */
/* ----------------------------------------------------- */
#define EEPROM_DEFAULT_TSSI 0 x0
#define EEPROM_DEFAULT_CRYSTALCAP 0 x0
#define EEPROM_DEFAULT_THERMALMETER 0 x12
#define EEPROM_DEFAULT_TXPOWERLEVEL_2G 0 x2C
#define EEPROM_DEFAULT_TXPOWERLEVEL_5G 0 x22
#define EEPROM_DEFAULT_HT40_2SDIFF 0 x0
/* HT20<->40 default Tx Power Index Difference */
#define EEPROM_DEFAULT_HT20_DIFF 2
/* OFDM Tx Power index diff */
#define EEPROM_DEFAULT_LEGACYHTTXPOWERDIFF 0 x4
#define EEPROM_DEFAULT_HT40_PWRMAXOFFSET 0
#define EEPROM_DEFAULT_HT20_PWRMAXOFFSET 0
#define EEPROM_CHANNEL_PLAN_FCC 0 x0
#define EEPROM_CHANNEL_PLAN_IC 0 x1
#define EEPROM_CHANNEL_PLAN_ETSI 0 x2
#define EEPROM_CHANNEL_PLAN_SPAIN 0 x3
#define EEPROM_CHANNEL_PLAN_FRANCE 0 x4
#define EEPROM_CHANNEL_PLAN_MKK 0 x5
#define EEPROM_CHANNEL_PLAN_MKK1 0 x6
#define EEPROM_CHANNEL_PLAN_ISRAEL 0 x7
#define EEPROM_CHANNEL_PLAN_TELEC 0 x8
#define EEPROM_CHANNEL_PLAN_GLOBAL_DOMAIN 0 x9
#define EEPROM_CHANNEL_PLAN_WORLD_WIDE_13 0 xA
#define EEPROM_CHANNEL_PLAN_NCC 0 xB
#define EEPROM_CHANNEL_PLAN_BY_HW_MASK 0 x80
#define EEPROM_CID_DEFAULT 0 x0
#define EEPROM_CID_TOSHIBA 0 x4
#define EEPROM_CID_CCX 0 x10
#define EEPROM_CID_QMI 0 x0D
#define EEPROM_CID_WHQL 0 xFE
#define RTL8192_EEPROM_ID 0 x8129
#define EEPROM_WAPI_SUPPORT 0 x78
#define RTL8190_EEPROM_ID 0 x8129 /* 0-1 */
#define EEPROM_HPON 0 x02 /* LDO settings.2-5 */
#define EEPROM_CLK 0 x06 /* Clock settings.6-7 */
#define EEPROM_MAC_FUNCTION 0 x08 /* SE Test mode.8 */
#define EEPROM_VID 0 x28 /* SE Vendor ID.A-B */
#define EEPROM_DID 0 x2A /* SE Device ID. C-D */
#define EEPROM_SVID 0 x2C /* SE Vendor ID.E-F */
#define EEPROM_SMID 0 x2E /* SE PCI Subsystem ID. 10-11 */
#define EEPROM_VID_USB 0 xC
#define EEPROM_PID_USB 0 xE
#define EEPROM_ENDPOINT_SETTING 0 x10
#define EEPROM_MAC_ADDR 0 x16 /* SEMAC Address. 12-17 */
#define EEPROM_MAC_ADDR_MAC0_92DU 0 x19
#define EEPROM_MAC_ADDR_MAC0_92D 0 x55
#define EEPROM_MAC_ADDR_MAC1_92D 0 x5B
/* 2.4G band Tx power index setting */
#define EEPROM_CCK_TX_PWR_INX_2G 0 x61
#define EEPROM_HT40_1S_TX_PWR_INX_2G 0 x67
#define EEPROM_HT40_2S_TX_PWR_INX_DIFF_2G 0 x6D
#define EEPROM_HT20_TX_PWR_INX_DIFF_2G 0 x70
#define EEPROM_OFDM_TX_PWR_INX_DIFF_2G 0 x73
#define EEPROM_HT40_MAX_PWR_OFFSET_2G 0 x76
#define EEPROM_HT20_MAX_PWR_OFFSET_2G 0 x79
/*5GL channel 32-64 */
#define EEPROM_HT40_1S_TX_PWR_INX_5GL 0 x7C
#define EEPROM_HT40_2S_TX_PWR_INX_DIFF_5GL 0 x82
#define EEPROM_HT20_TX_PWR_INX_DIFF_5GL 0 x85
#define EEPROM_OFDM_TX_PWR_INX_DIFF_5GL 0 x88
#define EEPROM_HT40_MAX_PWR_OFFSET_5GL 0 x8B
#define EEPROM_HT20_MAX_PWR_OFFSET_5GL 0 x8E
/* 5GM channel 100-140 */
#define EEPROM_HT40_1S_TX_PWR_INX_5GM 0 x91
#define EEPROM_HT40_2S_TX_PWR_INX_DIFF_5GM 0 x97
#define EEPROM_HT20_TX_PWR_INX_DIFF_5GM 0 x9A
#define EEPROM_OFDM_TX_PWR_INX_DIFF_5GM 0 x9D
#define EEPROM_HT40_MAX_PWR_OFFSET_5GM 0 xA0
#define EEPROM_HT20_MAX_PWR_OFFSET_5GM 0 xA3
/* 5GH channel 149-165 */
#define EEPROM_HT40_1S_TX_PWR_INX_5GH 0 xA6
#define EEPROM_HT40_2S_TX_PWR_INX_DIFF_5GH 0 xAC
#define EEPROM_HT20_TX_PWR_INX_DIFF_5GH 0 xAF
#define EEPROM_OFDM_TX_PWR_INX_DIFF_5GH 0 xB2
#define EEPROM_HT40_MAX_PWR_OFFSET_5GH 0 xB5
#define EEPROM_HT20_MAX_PWR_OFFSET_5GH 0 xB8
/* Map of supported channels. */
#define EEPROM_CHANNEL_PLAN 0 xBB
#define EEPROM_IQK_DELTA 0 xBC
#define EEPROM_LCK_DELTA 0 xBC
#define EEPROM_XTAL_K 0 xBD /* [7:5] */
#define EEPROM_TSSI_A_5G 0 xBE
#define EEPROM_TSSI_B_5G 0 xBF
#define EEPROM_TSSI_AB_5G 0 xC0
#define EEPROM_THERMAL_METER 0 xC3 /* [4:0] */
#define EEPROM_RF_OPT1 0 xC4
#define EEPROM_RF_OPT2 0 xC5
#define EEPROM_RF_OPT3 0 xC6
#define EEPROM_RF_OPT4 0 xC7
#define EEPROM_RF_OPT5 0 xC8
#define EEPROM_RF_OPT6 0 xC9
#define EEPROM_VERSION 0 xCA
#define EEPROM_CUSTOMER_ID 0 xCB
#define EEPROM_RF_OPT7 0 xCC
#define EEPROM_DEF_PART_NO 0 x3FD /* Byte */
#define EEPROME_CHIP_VERSION_L 0 x3FF
#define EEPROME_CHIP_VERSION_H 0 x3FE
/*
* Current IOREG MAP
* 0x0000h ~ 0x00FFh System Configuration (256 Bytes)
* 0x0100h ~ 0x01FFh MACTOP General Configuration (256 Bytes)
* 0x0200h ~ 0x027Fh TXDMA Configuration (128 Bytes)
* 0x0280h ~ 0x02FFh RXDMA Configuration (128 Bytes)
* 0x0300h ~ 0x03FFh PCIE EMAC Reserved Region (256 Bytes)
* 0x0400h ~ 0x04FFh Protocol Configuration (256 Bytes)
* 0x0500h ~ 0x05FFh EDCA Configuration (256 Bytes)
* 0x0600h ~ 0x07FFh WMAC Configuration (512 Bytes)
* 0x2000h ~ 0x3FFFh 8051 FW Download Region (8196 Bytes)
*/
/* ----------------------------------------------------- */
/* 8192C (RCR) (Offset 0x608, 32 bits) */
/* ----------------------------------------------------- */
#define RCR_APPFCS BIT(31 )
#define RCR_APP_MIC BIT(30 )
#define RCR_APP_ICV BIT(29 )
#define RCR_APP_PHYST_RXFF BIT(28 )
#define RCR_APP_BA_SSN BIT(27 )
#define RCR_ENMBID BIT(24 )
#define RCR_LSIGEN BIT(23 )
#define RCR_MFBEN BIT(22 )
#define RCR_HTC_LOC_CTRL BIT(14 )
#define RCR_AMF BIT(13 )
#define RCR_ACF BIT(12 )
#define RCR_ADF BIT(11 )
#define RCR_AICV BIT(9 )
#define RCR_ACRC32 BIT(8 )
#define RCR_CBSSID_BCN BIT(7 )
#define RCR_CBSSID_DATA BIT(6 )
#define RCR_APWRMGT BIT(5 )
#define RCR_ADD3 BIT(4 )
#define RCR_AB BIT(3 )
#define RCR_AM BIT(2 )
#define RCR_APM BIT(1 )
#define RCR_AAP BIT(0 )
#define RCR_MXDMA_OFFSET 8
#define RCR_FIFO_OFFSET 13
/* ----------------------------------------------------- */
/* 8192C Regsiter Bit and Content definition */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* 0x0000h ~ 0x00FFh System Configuration */
/* ----------------------------------------------------- */
/* SPS0_CTRL */
#define SW18_FPWM BIT(3 )
/* SYS_ISO_CTRL */
#define ISO_MD2PP BIT(0 )
#define ISO_UA2USB BIT(1 )
#define ISO_UD2CORE BIT(2 )
#define ISO_PA2PCIE BIT(3 )
#define ISO_PD2CORE BIT(4 )
#define ISO_IP2MAC BIT(5 )
#define ISO_DIOP BIT(6 )
#define ISO_DIOE BIT(7 )
#define ISO_EB2CORE BIT(8 )
#define ISO_DIOR BIT(9 )
#define PWC_EV25V BIT(14 )
#define PWC_EV12V BIT(15 )
/* SYS_FUNC_EN */
#define FEN_BBRSTB BIT(0 )
#define FEN_BB_GLB_RSTN BIT(1 )
#define FEN_USBA BIT(2 )
#define FEN_UPLL BIT(3 )
#define FEN_USBD BIT(4 )
#define FEN_DIO_PCIE BIT(5 )
#define FEN_PCIEA BIT(6 )
#define FEN_PPLL BIT(7 )
#define FEN_PCIED BIT(8 )
#define FEN_DIOE BIT(9 )
#define FEN_CPUEN BIT(10 )
#define FEN_DCORE BIT(11 )
#define FEN_ELDR BIT(12 )
#define FEN_DIO_RF BIT(13 )
#define FEN_HWPDN BIT(14 )
#define FEN_MREGEN BIT(15 )
/* APS_FSMCO */
#define PFM_LDALL BIT(0 )
#define PFM_ALDN BIT(1 )
#define PFM_LDKP BIT(2 )
#define PFM_WOWL BIT(3 )
#define ENPDN BIT(4 )
#define PDN_PL BIT(5 )
#define APFM_ONMAC BIT(8 )
#define APFM_OFF BIT(9 )
#define APFM_RSM BIT(10 )
#define AFSM_HSUS BIT(11 )
#define AFSM_PCIE BIT(12 )
#define APDM_MAC BIT(13 )
#define APDM_HOST BIT(14 )
#define APDM_HPDN BIT(15 )
#define RDY_MACON BIT(16 )
#define SUS_HOST BIT(17 )
#define ROP_ALD BIT(20 )
#define ROP_PWR BIT(21 )
#define ROP_SPS BIT(22 )
#define SOP_MRST BIT(25 )
#define SOP_FUSE BIT(26 )
#define SOP_ABG BIT(27 )
#define SOP_AMB BIT(28 )
#define SOP_RCK BIT(29 )
#define SOP_A8M BIT(30 )
#define XOP_BTCK BIT(31 )
/* SYS_CLKR */
#define ANAD16V_EN BIT(0 )
#define ANA8M BIT(1 )
#define MACSLP BIT(4 )
#define LOADER_CLK_EN BIT(5 )
#define _80 M_SSC_DIS BIT(7 )
#define _80 M_SSC_EN_HO BIT(8 )
#define PHY_SSC_RSTB BIT(9 )
#define SEC_CLK_EN BIT(10 )
#define MAC_CLK_EN BIT(11 )
#define SYS_CLK_EN BIT(12 )
#define RING_CLK_EN BIT(13 )
/* 9346CR */
#define BOOT_FROM_EEPROM BIT(4 )
#define EEPROM_EN BIT(5 )
/* AFE_MISC */
#define AFE_BGEN BIT(0 )
#define AFE_MBEN BIT(1 )
#define MAC_ID_EN BIT(7 )
/* RSV_CTRL */
#define WLOCK_ALL BIT(0 )
#define WLOCK_00 BIT(1 )
#define WLOCK_04 BIT(2 )
#define WLOCK_08 BIT(3 )
#define WLOCK_40 BIT(4 )
#define R_DIS_PRST_0 BIT(5 )
#define R_DIS_PRST_1 BIT(6 )
#define LOCK_ALL_EN BIT(7 )
/* RF_CTRL */
#define RF_EN BIT(0 )
#define RF_RSTB BIT(1 )
#define RF_SDMRSTB BIT(2 )
/* LDOA15_CTRL */
#define LDA15_EN BIT(0 )
#define LDA15_STBY BIT(1 )
#define LDA15_OBUF BIT(2 )
#define LDA15_REG_VOS BIT(3 )
#define _LDA15_VOADJ(x) (((x) & 0 x7) << 4 )
/* LDOV12D_CTRL */
#define LDV12_EN BIT(0 )
#define LDV12_SDBY BIT(1 )
#define LPLDO_HSM BIT(2 )
#define LPLDO_LSM_DIS BIT(3 )
#define _LDV12_VADJ(x) (((x) & 0 xF) << 4 )
/* AFE_XTAL_CTRL */
#define XTAL_EN BIT(0 )
#define XTAL_BSEL BIT(1 )
#define _XTAL_BOSC(x) (((x) & 0 x3) << 2 )
#define _XTAL_CADJ(x) (((x) & 0 xF) << 4 )
#define XTAL_GATE_USB BIT(8 )
#define _XTAL_USB_DRV(x) (((x) & 0 x3) << 9 )
#define XTAL_GATE_AFE BIT(11 )
#define _XTAL_AFE_DRV(x) (((x) & 0 x3) << 12 )
#define XTAL_RF_GATE BIT(14 )
#define _XTAL_RF_DRV(x) (((x) & 0 x3) << 15 )
#define XTAL_GATE_DIG BIT(17 )
#define _XTAL_DIG_DRV(x) (((x) & 0 x3) << 18 )
#define XTAL_BT_GATE BIT(20 )
#define _XTAL_BT_DRV(x) (((x) & 0 x3) << 21 )
#define _XTAL_GPIO(x) (((x) & 0 x7) << 23 )
#define CKDLY_AFE BIT(26 )
#define CKDLY_USB BIT(27 )
#define CKDLY_DIG BIT(28 )
#define CKDLY_BT BIT(29 )
/* AFE_PLL_CTRL */
#define APLL_EN BIT(0 )
#define APLL_320_EN BIT(1 )
#define APLL_FREF_SEL BIT(2 )
#define APLL_EDGE_SEL BIT(3 )
#define APLL_WDOGB BIT(4 )
#define APLL_LPFEN BIT(5 )
#define APLL_REF_CLK_13MHZ 0 x1
#define APLL_REF_CLK_19_2MHZ 0 x2
#define APLL_REF_CLK_20MHZ 0 x3
#define APLL_REF_CLK_25MHZ 0 x4
#define APLL_REF_CLK_26MHZ 0 x5
#define APLL_REF_CLK_38_4MHZ 0 x6
#define APLL_REF_CLK_40MHZ 0 x7
#define APLL_320EN BIT(14 )
#define APLL_80EN BIT(15 )
#define APLL_1MEN BIT(24 )
/* EFUSE_CTRL */
#define ALD_EN BIT(18 )
#define EF_PD BIT(19 )
#define EF_FLAG BIT(31 )
/* EFUSE_TEST */
#define EF_TRPT BIT(7 )
#define LDOE25_EN BIT(31 )
/* MCUFWDL */
#define MCUFWDL_EN BIT(0 )
#define MCUFWDL_RDY BIT(1 )
#define FWDL_CHKSUM_RPT BIT(2 )
#define MACINI_RDY BIT(3 )
#define BBINI_RDY BIT(4 )
#define RFINI_RDY BIT(5 )
#define WINTINI_RDY BIT(6 )
#define MAC1_WINTINI_RDY BIT(11 )
#define CPRST BIT(23 )
/* REG_SYS_CFG */
#define XCLK_VLD BIT(0 )
#define ACLK_VLD BIT(1 )
#define UCLK_VLD BIT(2 )
#define PCLK_VLD BIT(3 )
#define PCIRSTB BIT(4 )
#define V15_VLD BIT(5 )
#define TRP_B15V_EN BIT(7 )
#define SIC_IDLE BIT(8 )
#define BD_MAC2 BIT(9 )
#define BD_MAC1 BIT(10 )
#define IC_MACPHY_MODE BIT(11 )
#define PAD_HWPD_IDN BIT(22 )
#define TRP_VAUX_EN BIT(23 )
#define TRP_BT_EN BIT(24 )
#define BD_PKG_SEL BIT(25 )
#define BD_HCI_SEL BIT(26 )
#define TYPE_ID BIT(27 )
#define HCI_TXDMA_EN BIT(0 )
#define HCI_RXDMA_EN BIT(1 )
#define TXDMA_EN BIT(2 )
#define RXDMA_EN BIT(3 )
#define PROTOCOL_EN BIT(4 )
#define SCHEDULE_EN BIT(5 )
#define MACTXEN BIT(6 )
#define MACRXEN BIT(7 )
#define ENSWBCN BIT(8 )
#define ENSEC BIT(9 )
#define HQSEL_VOQ BIT(0 )
#define HQSEL_VIQ BIT(1 )
#define HQSEL_BEQ BIT(2 )
#define HQSEL_BKQ BIT(3 )
#define HQSEL_MGTQ BIT(4 )
#define HQSEL_HIQ BIT(5 )
#define TXDMA_HIQ_MAP GENMASK(15 , 14 )
#define TXDMA_MGQ_MAP GENMASK(13 , 12 )
#define TXDMA_BKQ_MAP GENMASK(11 , 10 )
#define TXDMA_BEQ_MAP GENMASK(9 , 8 )
#define TXDMA_VIQ_MAP GENMASK(7 , 6 )
#define TXDMA_VOQ_MAP GENMASK(5 , 4 )
#define QUEUE_LOW 1
#define QUEUE_NORMAL 2
#define QUEUE_HIGH 3
#define HPQ_MASK GENMASK(7 , 0 )
#define LPQ_MASK GENMASK(15 , 8 )
#define PUBQ_MASK GENMASK(23 , 16 )
#define LD_RQPN BIT(31 )
#define DROP_DATA_EN BIT(9 )
/* LLT_INIT */
#define _LLT_NO_ACTIVE 0 x0
#define _LLT_WRITE_ACCESS 0 x1
#define _LLT_READ_ACCESS 0 x2
#define _LLT_INIT_DATA(x) ((x) & 0 xFF)
#define _LLT_INIT_ADDR(x) (((x) & 0 xFF) << 8 )
#define _LLT_OP(x) (((x) & 0 x3) << 30 )
#define _LLT_OP_VALUE(x) (((x) >> 30 ) & 0 x3)
/* ----------------------------------------------------- */
/* 0x0400h ~ 0x047Fh Protocol Configuration */
/* ----------------------------------------------------- */
/* FWHW_TXQ_CTRL */
#define EN_AMPDU_RTY_NEW BIT(7 )
#define EN_BCNQ_DL BIT(22 )
#define RETRY_LIMIT_SHORT_SHIFT 8
#define RETRY_LIMIT_LONG_SHIFT 0
/* ----------------------------------------------------- */
/* 0x0500h ~ 0x05FFh EDCA Configuration */
/* ----------------------------------------------------- */
/* EDCA setting */
#define AC_PARAM_TXOP_LIMIT_OFFSET 16
#define AC_PARAM_ECW_MAX_OFFSET 12
#define AC_PARAM_ECW_MIN_OFFSET 8
#define AC_PARAM_AIFS_OFFSET 0
/* REG_RD_CTRL */
#define DIS_EDCA_CNT_DWN BIT(11 )
/* REG_BCN_CTRL */
#define EN_BCN_FUNCTION BIT(3 )
#define DIS_TSF_UDT BIT(4 )
/* ACMHWCTRL */
#define ACMHW_HWEN BIT(0 )
#define ACMHW_BEQEN BIT(1 )
#define ACMHW_VIQEN BIT(2 )
#define ACMHW_VOQEN BIT(3 )
/* ----------------------------------------------------- */
/* 0x0600h ~ 0x07FFh WMAC Configuration */
/* ----------------------------------------------------- */
/* TCR */
#define TSFRST BIT(0 )
#define DIS_GCLK BIT(1 )
#define PAD_SEL BIT(2 )
#define PWR_ST BIT(6 )
#define PWRBIT_OW_EN BIT(7 )
#define ACRC BIT(8 )
#define CFENDFORM BIT(9 )
#define ICV BIT(10 )
/* SECCFG */
#define SCR_TXUSEDK BIT(0 )
#define SCR_RXUSEDK BIT(1 )
#define SCR_TXENCENABLE BIT(2 )
#define SCR_RXENCENABLE BIT(3 )
#define SCR_SKBYA2 BIT(4 )
#define SCR_NOSKMC BIT(5 )
#define SCR_TXBCUSEDK BIT(6 )
#define SCR_RXBCUSEDK BIT(7 )
/* General definitions */
#define LAST_ENTRY_OF_TX_PKT_BUFFER 255
#define LAST_ENTRY_OF_TX_PKT_BUFFER_DUAL_MAC 127
#define POLLING_LLT_THRESHOLD 20
#define POLLING_READY_TIMEOUT_COUNT 1000
/* Min Spacing related settings. */
#define MAX_MSS_DENSITY_2T 0 x13
#define MAX_MSS_DENSITY_1T 0 x0A
/* BB-PHY register PMAC 0x100 PHY 0x800 - 0xEFF */
/* 1. PMAC duplicate register due to connection: */
/* RF_Mode, TRxRN, NumOf L-STF */
/* 2. 0x800/0x900/0xA00/0xC00/0xD00/0xE00 */
/* 3. RF register 0x00-2E */
/* 4. Bit Mask for BB/RF register */
/* 5. Other defintion for BB/RF R/W */
/* 3. Page8(0x800) */
#define RFPGA0_RFMOD 0 x800
#define RFPGA0_TXINFO 0 x804
#define RFPGA0_PSDFUNCTION 0 x808
#define RFPGA0_TXGAINSTAGE 0 x80c
#define RFPGA0_RFTIMING1 0 x810
#define RFPGA0_RFTIMING2 0 x814
#define RFPGA0_XA_HSSIPARAMETER1 0 x820
#define RFPGA0_XA_HSSIPARAMETER2 0 x824
#define RFPGA0_XB_HSSIPARAMETER1 0 x828
#define RFPGA0_XB_HSSIPARAMETER2 0 x82c
#define RFPGA0_XA_LSSIPARAMETER 0 x840
#define RFPGA0_XB_LSSIPARAMETER 0 x844
#define RFPGA0_RFWAKEUPPARAMETER 0 x850
#define RFPGA0_RFSLEEPUPPARAMETER 0 x854
#define RFPGA0_XAB_SWITCHCONTROL 0 x858
#define RFPGA0_XCD_SWITCHCONTROL 0 x85c
#define RFPGA0_XA_RFINTERFACEOE 0 x860
#define RFPGA0_XB_RFINTERFACEOE 0 x864
#define RFPGA0_XAB_RFINTERFACESW 0 x870
#define RFPGA0_XCD_RFINTERFACESW 0 x874
#define RFPGA0_XAB_RFPARAMETER 0 x878
#define RFPGA0_XCD_RFPARAMETER 0 x87c
#define RFPGA0_ANALOGPARAMETER1 0 x880
#define RFPGA0_ANALOGPARAMETER2 0 x884
#define RFPGA0_ANALOGPARAMETER3 0 x888
#define RFPGA0_ADDALLOCKEN 0 x888
#define RFPGA0_ANALOGPARAMETER4 0 x88c
#define RFPGA0_XA_LSSIREADBACK 0 x8a0
#define RFPGA0_XB_LSSIREADBACK 0 x8a4
#define RFPGA0_XC_LSSIREADBACK 0 x8a8
#define RFPGA0_XD_LSSIREADBACK 0 x8ac
#define RFPGA0_PSDREPORT 0 x8b4
#define TRANSCEIVERA_HSPI_READBACK 0 x8b8
#define TRANSCEIVERB_HSPI_READBACK 0 x8bc
#define RFPGA0_XAB_RFINTERFACERB 0 x8e0
#define RFPGA0_XCD_RFINTERFACERB 0 x8e4
/* 4. Page9(0x900) */
#define RFPGA1_RFMOD 0 x900
#define RFPGA1_TXBLOCK 0 x904
#define RFPGA1_DEBUGSELECT 0 x908
#define RFPGA1_TXINFO 0 x90c
/* 5. PageA(0xA00) */
#define RCCK0_SYSTEM 0 xa00
#define RCCK0_AFESSTTING 0 xa04
#define RCCK0_CCA 0 xa08
#define RCCK0_RXAGC1 0 xa0c
#define RCCK0_RXAGC2 0 xa10
#define RCCK0_RXHP 0 xa14
#define RCCK0_DSPPARAMETER1 0 xa18
#define RCCK0_DSPPARAMETER2 0 xa1c
#define RCCK0_TXFILTER1 0 xa20
#define RCCK0_TXFILTER2 0 xa24
#define RCCK0_DEBUGPORT 0 xa28
#define RCCK0_FALSEALARMREPORT 0 xa2c
#define RCCK0_TRSSIREPORT 0 xa50
#define RCCK0_RXREPORT 0 xa54
#define RCCK0_FACOUNTERLOWER 0 xa5c
#define RCCK0_FACOUNTERUPPER 0 xa58
#define RPDP_ANTA 0 xb00
#define RCONFIG_ANTA 0 xb68
#define RCONFIG_ANTB 0 xb6c
#define RPDP_ANTB 0 xb70
/* 6. PageC(0xC00) */
#define ROFDM0_LSTF 0 xc00
#define ROFDM0_TRXPATHENABLE 0 xc04
#define ROFDM0_TRMUXPAR 0 xc08
#define ROFDM0_TRSWISOLATION 0 xc0c
#define ROFDM0_XARXAFE 0 xc10
#define ROFDM0_XARXIQIMBALANCE 0 xc14
#define ROFDM0_XBRXAFE 0 xc18
#define ROFDM0_XBRXIQIMBALANCE 0 xc1c
#define ROFDM0_XCRXAFE 0 xc20
#define ROFDM0_XCRXIQIMBALANCE 0 xc24
#define ROFDM0_XDRXAFE 0 xc28
#define ROFDM0_XDRXIQIMBALANCE 0 xc2c
#define ROFDM0_RXDETECTOR1 0 xc30
#define ROFDM0_RXDETECTOR2 0 xc34
#define ROFDM0_RXDETECTOR3 0 xc38
#define ROFDM0_RXDETECTOR4 0 xc3c
#define ROFDM0_RXDSP 0 xc40
#define ROFDM0_CFOANDDAGC 0 xc44
#define ROFDM0_CCADROPTHRESHOLD 0 xc48
#define ROFDM0_ECCATHRESHOLD 0 xc4c
#define ROFDM0_XAAGCCORE1 0 xc50
#define ROFDM0_XAAGCCORE2 0 xc54
#define ROFDM0_XBAGCCORE1 0 xc58
#define ROFDM0_XBAGCCORE2 0 xc5c
#define ROFDM0_XCAGCCORE1 0 xc60
#define ROFDM0_XCAGCCORE2 0 xc64
#define ROFDM0_XDAGCCORE1 0 xc68
#define ROFDM0_XDAGCCORE2 0 xc6c
#define ROFDM0_AGCPARAMETER1 0 xc70
#define ROFDM0_AGCPARAMETER2 0 xc74
#define ROFDM0_AGCRSSITABLE 0 xc78
#define ROFDM0_HTSTFAGC 0 xc7c
#define ROFDM0_XATXIQIMBALANCE 0 xc80
#define ROFDM0_XATXAFE 0 xc84
#define ROFDM0_XBTXIQIMBALANCE 0 xc88
#define ROFDM0_XBTXAFE 0 xc8c
#define ROFDM0_XCTXIQIMBALANCE 0 xc90
#define ROFDM0_XCTXAFE 0 xc94
#define ROFDM0_XDTXIQIMBALANCE 0 xc98
#define ROFDM0_XDTXAFE 0 xc9c
#define ROFDM0_RXHPPARAMETER 0 xce0
#define ROFDM0_TXPSEUDONOISEWGT 0 xce4
#define ROFDM0_FRAMESYNC 0 xcf0
#define ROFDM0_DFSREPORT 0 xcf4
#define ROFDM0_RXIQEXTANTA 0 xca0
#define ROFDM0_TXCOEFF1 0 xca4
#define ROFDM0_TXCOEFF2 0 xca8
#define ROFDM0_TXCOEFF3 0 xcac
#define ROFDM0_TXCOEFF4 0 xcb0
#define ROFDM0_TXCOEFF5 0 xcb4
#define ROFDM0_TXCOEFF6 0 xcb8
/* 7. PageD(0xD00) */
#define ROFDM1_LSTF 0 xd00
#define ROFDM1_TRXPATHENABLE 0 xd04
#define ROFDM1_CFO 0 xd08
#define ROFDM1_CSI1 0 xd10
#define ROFDM1_SBD 0 xd14
#define ROFDM1_CSI2 0 xd18
#define ROFDM1_CFOTRACKING 0 xd2c
#define ROFDM1_TRXMESAURE1 0 xd34
#define ROFDM1_INTFDET 0 xd3c
#define ROFDM1_PSEUDONOISESTATEAB 0 xd50
#define ROFDM1_PSEUDONOISESTATECD 0 xd54
#define ROFDM1_RXPSEUDONOISEWGT 0 xd58
#define ROFDM_PHYCOUNTER1 0 xda0
#define ROFDM_PHYCOUNTER2 0 xda4
#define ROFDM_PHYCOUNTER3 0 xda8
#define ROFDM_SHORTCFOAB 0 xdac
#define ROFDM_SHORTCFOCD 0 xdb0
#define ROFDM_LONGCFOAB 0 xdb4
#define ROFDM_LONGCFOCD 0 xdb8
#define ROFDM_TAILCFOAB 0 xdbc
#define ROFDM_TAILCFOCD 0 xdc0
#define ROFDM_PWMEASURE1 0 xdc4
#define ROFDM_PWMEASURE2 0 xdc8
#define ROFDM_BWREPORT 0 xdcc
#define ROFDM_AGCREPORT 0 xdd0
#define ROFDM_RXSNR 0 xdd4
#define ROFDM_RXEVMCSI 0 xdd8
#define ROFDM_SIGREPORT 0 xddc
/* 8. PageE(0xE00) */
#define RTXAGC_A_RATE18_06 0 xe00
#define RTXAGC_A_RATE54_24 0 xe04
#define RTXAGC_A_CCK1_MCS32 0 xe08
#define RTXAGC_A_MCS03_MCS00 0 xe10
#define RTXAGC_A_MCS07_MCS04 0 xe14
#define RTXAGC_A_MCS11_MCS08 0 xe18
#define RTXAGC_A_MCS15_MCS12 0 xe1c
#define RTXAGC_B_RATE18_06 0 x830
#define RTXAGC_B_RATE54_24 0 x834
#define RTXAGC_B_CCK1_55_MCS32 0 x838
#define RTXAGC_B_MCS03_MCS00 0 x83c
#define RTXAGC_B_MCS07_MCS04 0 x848
#define RTXAGC_B_MCS11_MCS08 0 x84c
#define RTXAGC_B_MCS15_MCS12 0 x868
#define RTXAGC_B_CCK11_A_CCK2_11 0 x86c
#define RFPGA0_IQK 0 xe28
#define RTX_IQK_TONE_A 0 xe30
#define RRX_IQK_TONE_A 0 xe34
#define RTX_IQK_PI_A 0 xe38
#define RRX_IQK_PI_A 0 xe3c
#define RTX_IQK 0 xe40
#define RRX_IQK 0 xe44
#define RIQK_AGC_PTS 0 xe48
#define RIQK_AGC_RSP 0 xe4c
#define RTX_IQK_TONE_B 0 xe50
#define RRX_IQK_TONE_B 0 xe54
#define RTX_IQK_PI_B 0 xe58
#define RRX_IQK_PI_B 0 xe5c
#define RIQK_AGC_CONT 0 xe60
#define RBLUE_TOOTH 0 xe6c
#define RRX_WAIT_CCA 0 xe70
#define RTX_CCK_RFON 0 xe74
#define RTX_CCK_BBON 0 xe78
#define RTX_OFDM_RFON 0 xe7c
#define RTX_OFDM_BBON 0 xe80
#define RTX_TO_RX 0 xe84
#define RTX_TO_TX 0 xe88
#define RRX_CCK 0 xe8c
#define RTX_POWER_BEFORE_IQK_A 0 xe94
#define RTX_POWER_AFTER_IQK_A 0 xe9c
#define RRX_POWER_BEFORE_IQK_A 0 xea0
#define RRX_POWER_BEFORE_IQK_A_2 0 xea4
#define RRX_POWER_AFTER_IQK_A 0 xea8
#define RRX_POWER_AFTER_IQK_A_2 0 xeac
#define RTX_POWER_BEFORE_IQK_B 0 xeb4
#define RTX_POWER_AFTER_IQK_B 0 xebc
#define RRX_POWER_BEFORE_IQK_B 0 xec0
#define RRX_POWER_BEFORE_IQK_B_2 0 xec4
#define RRX_POWER_AFTER_IQK_B 0 xec8
#define RRX_POWER_AFTER_IQK_B_2 0 xecc
#define MASK_IQK_RESULT 0 x03ff0000
#define RRX_OFDM 0 xed0
#define RRX_WAIT_RIFS 0 xed4
#define RRX_TO_RX 0 xed8
#define RSTANDBY 0 xedc
#define RSLEEP 0 xee0
#define RPMPD_ANAEN 0 xeec
/* RL6052 Register definition */
#define RF_AC 0 x00
#define RF_IQADJ_G1 0 x01
#define RF_IQADJ_G2 0 x02
#define RF_BS_PA_APSET_G1_G4 0 x03
#define RF_POW_TRSW 0 x05
#define RF_GAIN_RX 0 x06
#define RF_GAIN_TX 0 x07
#define RF_TXM_IDAC 0 x08
#define RF_TXPA_AG 0 x0B
#define RF_BS_IQGEN 0 x0F
#define RF_MODE1 0 x10
#define RF_MODE2 0 x11
#define RF_RX_AGC_HP 0 x12
#define RF_TX_AGC 0 x13
#define RF_BIAS 0 x14
#define RF_IPA 0 x15
#define RF_POW_ABILITY 0 x17
#define RF_MODE_AG 0 x18
#define rfchannel 0 x18
#define RF_CHNLBW 0 x18
#define RF_TOP 0 x19
#define RF_RX_G1 0 x1A
#define RF_RX_G2 0 x1B
#define RF_RX_BB2 0 x1C
#define RF_RX_BB1 0 x1D
#define RF_RCK1 0 x1E
#define RF_RCK2 0 x1F
#define RF_TX_G1 0 x20
#define RF_TX_G2 0 x21
#define RF_TX_G3 0 x22
#define RF_TX_BB1 0 x23
#define RF_T_METER 0 x42
#define RF_SYN_G1 0 x25
#define RF_SYN_G2 0 x26
#define RF_SYN_G3 0 x27
#define RF_SYN_G4 0 x28
#define RF_SYN_G5 0 x29
#define RF_SYN_G6 0 x2A
#define RF_SYN_G7 0 x2B
#define RF_SYN_G8 0 x2C
#define RF_RCK_OS 0 x30
#define RF_TXPA_G1 0 x31
#define RF_TXPA_G2 0 x32
#define RF_TXPA_G3 0 x33
/* Bit Mask */
/* 2. Page8(0x800) */
#define BRFMOD 0 x1
#define BCCKTXSC 0 x30
#define BCCKEN 0 x1000000
#define BOFDMEN 0 x2000000
#define B3WIREDATALENGTH 0 x800
#define B3WIREADDRESSLENGTH 0 x400
#define BRFSI_RFENV 0 x10
#define BLSSIREADADDRESS 0 x7f800000
#define BLSSIREADEDGE 0 x80000000
#define BLSSIREADBACKDATA 0 xfffff
/* 4. PageA(0xA00) */
#define BCCKSIDEBAND 0 x10
/* Other Definition */
#define BBYTE0 0 x1
#define BBYTE1 0 x2
#define BBYTE2 0 x4
#define BBYTE3 0 x8
#define BWORD0 0 x3
#define BWORD1 0 xc
#define BDWORD 0 xf
#endif
Messung V0.5 in Prozent C=96 H=91 G=93
¤ Dauer der Verarbeitung: 0.21 Sekunden
(vorverarbeitet am 2026-06-07)
¤
*© Formatika GbR, Deutschland