xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/realtek/rtlwifi/rtl8192se/reg.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun /* Copyright(c) 2009-2012  Realtek Corporation.*/
3*4882a593Smuzhiyun 
4*4882a593Smuzhiyun #ifndef __REALTEK_92S_REG_H__
5*4882a593Smuzhiyun #define __REALTEK_92S_REG_H__
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun /* 1. System Configuration Registers  */
8*4882a593Smuzhiyun #define	REG_SYS_ISO_CTRL			0x0000
9*4882a593Smuzhiyun #define	REG_SYS_FUNC_EN				0x0002
10*4882a593Smuzhiyun #define	PMC_FSM					0x0004
11*4882a593Smuzhiyun #define	SYS_CLKR				0x0008
12*4882a593Smuzhiyun #define	EPROM_CMD				0x000A
13*4882a593Smuzhiyun #define	EE_VPD					0x000C
14*4882a593Smuzhiyun #define	AFE_MISC				0x0010
15*4882a593Smuzhiyun #define	SPS0_CTRL				0x0011
16*4882a593Smuzhiyun #define	SPS1_CTRL				0x0018
17*4882a593Smuzhiyun #define	RF_CTRL					0x001F
18*4882a593Smuzhiyun #define	LDOA15_CTRL				0x0020
19*4882a593Smuzhiyun #define	LDOV12D_CTRL				0x0021
20*4882a593Smuzhiyun #define	LDOHCI12_CTRL				0x0022
21*4882a593Smuzhiyun #define	LDO_USB_SDIO				0x0023
22*4882a593Smuzhiyun #define	LPLDO_CTRL				0x0024
23*4882a593Smuzhiyun #define	AFE_XTAL_CTRL				0x0026
24*4882a593Smuzhiyun #define	AFE_PLL_CTRL				0x0028
25*4882a593Smuzhiyun #define	REG_EFUSE_CTRL				0x0030
26*4882a593Smuzhiyun #define	REG_EFUSE_TEST				0x0034
27*4882a593Smuzhiyun #define	PWR_DATA				0x0038
28*4882a593Smuzhiyun #define	DBG_PORT				0x003A
29*4882a593Smuzhiyun #define	DPS_TIMER				0x003C
30*4882a593Smuzhiyun #define	RCLK_MON				0x003E
31*4882a593Smuzhiyun 
32*4882a593Smuzhiyun /* 2. Command Control Registers	  */
33*4882a593Smuzhiyun #define	CMDR					0x0040
34*4882a593Smuzhiyun #define	TXPAUSE					0x0042
35*4882a593Smuzhiyun #define	LBKMD_SEL				0x0043
36*4882a593Smuzhiyun #define	TCR					0x0044
37*4882a593Smuzhiyun #define	RCR					0x0048
38*4882a593Smuzhiyun #define	MSR					0x004C
39*4882a593Smuzhiyun #define	SYSF_CFG				0x004D
40*4882a593Smuzhiyun #define	RX_PKY_LIMIT				0x004E
41*4882a593Smuzhiyun #define	MBIDCTRL				0x004F
42*4882a593Smuzhiyun 
43*4882a593Smuzhiyun /* 3. MACID Setting Registers	 */
44*4882a593Smuzhiyun #define	MACIDR					0x0050
45*4882a593Smuzhiyun #define	MACIDR0					0x0050
46*4882a593Smuzhiyun #define	MACIDR4					0x0054
47*4882a593Smuzhiyun #define	BSSIDR					0x0058
48*4882a593Smuzhiyun #define	HWVID					0x005E
49*4882a593Smuzhiyun #define	MAR					0x0060
50*4882a593Smuzhiyun #define	MBIDCAMCONTENT				0x0068
51*4882a593Smuzhiyun #define	MBIDCAMCFG				0x0070
52*4882a593Smuzhiyun #define	BUILDTIME				0x0074
53*4882a593Smuzhiyun #define	BUILDUSER				0x0078
54*4882a593Smuzhiyun 
55*4882a593Smuzhiyun #define	IDR0					MACIDR0
56*4882a593Smuzhiyun #define	IDR4					MACIDR4
57*4882a593Smuzhiyun 
58*4882a593Smuzhiyun /* 4. Timing Control Registers	 */
59*4882a593Smuzhiyun #define	TSFR					0x0080
60*4882a593Smuzhiyun #define	SLOT_TIME				0x0089
61*4882a593Smuzhiyun #define	USTIME					0x008A
62*4882a593Smuzhiyun #define	SIFS_CCK				0x008C
63*4882a593Smuzhiyun #define	SIFS_OFDM				0x008E
64*4882a593Smuzhiyun #define	PIFS_TIME				0x0090
65*4882a593Smuzhiyun #define	ACK_TIMEOUT				0x0091
66*4882a593Smuzhiyun #define	EIFSTR					0x0092
67*4882a593Smuzhiyun #define	BCN_INTERVAL				0x0094
68*4882a593Smuzhiyun #define	ATIMWND					0x0096
69*4882a593Smuzhiyun #define	BCN_DRV_EARLY_INT			0x0098
70*4882a593Smuzhiyun #define	BCN_DMATIME				0x009A
71*4882a593Smuzhiyun #define	BCN_ERR_THRESH				0x009C
72*4882a593Smuzhiyun #define	MLT					0x009D
73*4882a593Smuzhiyun #define	RSVD_MAC_TUNE_US			0x009E
74*4882a593Smuzhiyun 
75*4882a593Smuzhiyun /* 5. FIFO Control Registers	  */
76*4882a593Smuzhiyun #define RQPN					0x00A0
77*4882a593Smuzhiyun #define	RQPN1					0x00A0
78*4882a593Smuzhiyun #define	RQPN2					0x00A1
79*4882a593Smuzhiyun #define	RQPN3					0x00A2
80*4882a593Smuzhiyun #define	RQPN4					0x00A3
81*4882a593Smuzhiyun #define	RQPN5					0x00A4
82*4882a593Smuzhiyun #define	RQPN6					0x00A5
83*4882a593Smuzhiyun #define	RQPN7					0x00A6
84*4882a593Smuzhiyun #define	RQPN8					0x00A7
85*4882a593Smuzhiyun #define	RQPN9					0x00A8
86*4882a593Smuzhiyun #define	RQPN10					0x00A9
87*4882a593Smuzhiyun #define	LD_RQPN					0x00AB
88*4882a593Smuzhiyun #define	RXFF_BNDY				0x00AC
89*4882a593Smuzhiyun #define	RXRPT_BNDY				0x00B0
90*4882a593Smuzhiyun #define	TXPKTBUF_PGBNDY				0x00B4
91*4882a593Smuzhiyun #define	PBP					0x00B5
92*4882a593Smuzhiyun #define	RXDRVINFO_SZ				0x00B6
93*4882a593Smuzhiyun #define	TXFF_STATUS				0x00B7
94*4882a593Smuzhiyun #define	RXFF_STATUS				0x00B8
95*4882a593Smuzhiyun #define	TXFF_EMPTY_TH				0x00B9
96*4882a593Smuzhiyun #define	SDIO_RX_BLKSZ				0x00BC
97*4882a593Smuzhiyun #define	RXDMA					0x00BD
98*4882a593Smuzhiyun #define	RXPKT_NUM				0x00BE
99*4882a593Smuzhiyun #define	C2HCMD_UDT_SIZE				0x00C0
100*4882a593Smuzhiyun #define	C2HCMD_UDT_ADDR				0x00C2
101*4882a593Smuzhiyun #define	FIFOPAGE1				0x00C4
102*4882a593Smuzhiyun #define	FIFOPAGE2				0x00C8
103*4882a593Smuzhiyun #define	FIFOPAGE3				0x00CC
104*4882a593Smuzhiyun #define	FIFOPAGE4				0x00D0
105*4882a593Smuzhiyun #define	FIFOPAGE5				0x00D4
106*4882a593Smuzhiyun #define	FW_RSVD_PG_CRTL				0x00D8
107*4882a593Smuzhiyun #define	RXDMA_AGG_PG_TH				0x00D9
108*4882a593Smuzhiyun #define	TXDESC_MSK				0x00DC
109*4882a593Smuzhiyun #define	TXRPTFF_RDPTR				0x00E0
110*4882a593Smuzhiyun #define	TXRPTFF_WTPTR				0x00E4
111*4882a593Smuzhiyun #define	C2HFF_RDPTR				0x00E8
112*4882a593Smuzhiyun #define	C2HFF_WTPTR				0x00EC
113*4882a593Smuzhiyun #define	RXFF0_RDPTR				0x00F0
114*4882a593Smuzhiyun #define	RXFF0_WTPTR				0x00F4
115*4882a593Smuzhiyun #define	RXFF1_RDPTR				0x00F8
116*4882a593Smuzhiyun #define	RXFF1_WTPTR				0x00FC
117*4882a593Smuzhiyun #define	RXRPT0_RDPTR				0x0100
118*4882a593Smuzhiyun #define	RXRPT0_WTPTR				0x0104
119*4882a593Smuzhiyun #define	RXRPT1_RDPTR				0x0108
120*4882a593Smuzhiyun #define	RXRPT1_WTPTR				0x010C
121*4882a593Smuzhiyun #define	RX0_UDT_SIZE				0x0110
122*4882a593Smuzhiyun #define	RX1PKTNUM				0x0114
123*4882a593Smuzhiyun #define	RXFILTERMAP				0x0116
124*4882a593Smuzhiyun #define	RXFILTERMAP_GP1				0x0118
125*4882a593Smuzhiyun #define	RXFILTERMAP_GP2				0x011A
126*4882a593Smuzhiyun #define	RXFILTERMAP_GP3				0x011C
127*4882a593Smuzhiyun #define	BCNQ_CTRL				0x0120
128*4882a593Smuzhiyun #define	MGTQ_CTRL				0x0124
129*4882a593Smuzhiyun #define	HIQ_CTRL				0x0128
130*4882a593Smuzhiyun #define	VOTID7_CTRL				0x012c
131*4882a593Smuzhiyun #define	VOTID6_CTRL				0x0130
132*4882a593Smuzhiyun #define	VITID5_CTRL				0x0134
133*4882a593Smuzhiyun #define	VITID4_CTRL				0x0138
134*4882a593Smuzhiyun #define	BETID3_CTRL				0x013c
135*4882a593Smuzhiyun #define	BETID0_CTRL				0x0140
136*4882a593Smuzhiyun #define	BKTID2_CTRL				0x0144
137*4882a593Smuzhiyun #define	BKTID1_CTRL				0x0148
138*4882a593Smuzhiyun #define	CMDQ_CTRL				0x014c
139*4882a593Smuzhiyun #define	TXPKT_NUM_CTRL				0x0150
140*4882a593Smuzhiyun #define	TXQ_PGADD				0x0152
141*4882a593Smuzhiyun #define	TXFF_PG_NUM				0x0154
142*4882a593Smuzhiyun #define	TRXDMA_STATUS				0x0156
143*4882a593Smuzhiyun 
144*4882a593Smuzhiyun /* 6. Adaptive Control Registers   */
145*4882a593Smuzhiyun #define	INIMCS_SEL				0x0160
146*4882a593Smuzhiyun #define	TX_RATE_REG				INIMCS_SEL
147*4882a593Smuzhiyun #define	INIRTSMCS_SEL				0x0180
148*4882a593Smuzhiyun #define	RRSR					0x0181
149*4882a593Smuzhiyun #define	ARFR0					0x0184
150*4882a593Smuzhiyun #define	ARFR1					0x0188
151*4882a593Smuzhiyun #define	ARFR2					0x018C
152*4882a593Smuzhiyun #define	ARFR3					0x0190
153*4882a593Smuzhiyun #define	ARFR4					0x0194
154*4882a593Smuzhiyun #define	ARFR5					0x0198
155*4882a593Smuzhiyun #define	ARFR6					0x019C
156*4882a593Smuzhiyun #define	ARFR7					0x01A0
157*4882a593Smuzhiyun #define	AGGLEN_LMT_H				0x01A7
158*4882a593Smuzhiyun #define	AGGLEN_LMT_L				0x01A8
159*4882a593Smuzhiyun #define	DARFRC					0x01B0
160*4882a593Smuzhiyun #define	RARFRC					0x01B8
161*4882a593Smuzhiyun #define	MCS_TXAGC				0x01C0
162*4882a593Smuzhiyun #define	CCK_TXAGC				0x01C8
163*4882a593Smuzhiyun 
164*4882a593Smuzhiyun /* 7. EDCA Setting Registers */
165*4882a593Smuzhiyun #define	EDCAPARA_VO				0x01D0
166*4882a593Smuzhiyun #define	EDCAPARA_VI				0x01D4
167*4882a593Smuzhiyun #define	EDCAPARA_BE				0x01D8
168*4882a593Smuzhiyun #define	EDCAPARA_BK				0x01DC
169*4882a593Smuzhiyun #define	BCNTCFG					0x01E0
170*4882a593Smuzhiyun #define	CWRR					0x01E2
171*4882a593Smuzhiyun #define	ACMAVG					0x01E4
172*4882a593Smuzhiyun #define	ACMHWCTRL				0x01E7
173*4882a593Smuzhiyun #define	VO_ADMTM				0x01E8
174*4882a593Smuzhiyun #define	VI_ADMTM				0x01EC
175*4882a593Smuzhiyun #define	BE_ADMTM				0x01F0
176*4882a593Smuzhiyun #define	RETRY_LIMIT				0x01F4
177*4882a593Smuzhiyun #define	SG_RATE					0x01F6
178*4882a593Smuzhiyun 
179*4882a593Smuzhiyun /* 8. WMAC, BA and CCX related Register. */
180*4882a593Smuzhiyun #define	NAV_CTRL				0x0200
181*4882a593Smuzhiyun #define	BW_OPMODE				0x0203
182*4882a593Smuzhiyun #define	BACAMCMD				0x0204
183*4882a593Smuzhiyun #define	BACAMCONTENT				0x0208
184*4882a593Smuzhiyun 
185*4882a593Smuzhiyun /* the 0x2xx register WMAC definition */
186*4882a593Smuzhiyun #define	LBDLY					0x0210
187*4882a593Smuzhiyun #define	FWDLY					0x0211
188*4882a593Smuzhiyun #define	HWPC_RX_CTRL				0x0218
189*4882a593Smuzhiyun #define	MQIR					0x0220
190*4882a593Smuzhiyun #define	MAIR					0x0222
191*4882a593Smuzhiyun #define	MSIR					0x0224
192*4882a593Smuzhiyun #define	CLM_RESULT				0x0227
193*4882a593Smuzhiyun #define	NHM_RPI_CNT				0x0228
194*4882a593Smuzhiyun #define	RXERR_RPT				0x0230
195*4882a593Smuzhiyun #define	NAV_PROT_LEN				0x0234
196*4882a593Smuzhiyun #define	CFEND_TH				0x0236
197*4882a593Smuzhiyun #define	AMPDU_MIN_SPACE				0x0237
198*4882a593Smuzhiyun #define	TXOP_STALL_CTRL				0x0238
199*4882a593Smuzhiyun 
200*4882a593Smuzhiyun /* 9. Security Control Registers */
201*4882a593Smuzhiyun #define	REG_RWCAM				0x0240
202*4882a593Smuzhiyun #define	REG_WCAMI				0x0244
203*4882a593Smuzhiyun #define	REG_RCAMO				0x0248
204*4882a593Smuzhiyun #define	REG_CAMDBG				0x024C
205*4882a593Smuzhiyun #define	REG_SECR				0x0250
206*4882a593Smuzhiyun 
207*4882a593Smuzhiyun /* 10. Power Save Control Registers */
208*4882a593Smuzhiyun #define	WOW_CTRL				0x0260
209*4882a593Smuzhiyun #define	PSSTATUS				0x0261
210*4882a593Smuzhiyun #define	PSSWITCH				0x0262
211*4882a593Smuzhiyun #define	MIMOPS_WAIT_PERIOD			0x0263
212*4882a593Smuzhiyun #define	LPNAV_CTRL				0x0264
213*4882a593Smuzhiyun #define	WFM0					0x0270
214*4882a593Smuzhiyun #define	WFM1					0x0280
215*4882a593Smuzhiyun #define	WFM2					0x0290
216*4882a593Smuzhiyun #define	WFM3					0x02A0
217*4882a593Smuzhiyun #define	WFM4					0x02B0
218*4882a593Smuzhiyun #define	WFM5					0x02C0
219*4882a593Smuzhiyun #define	WFCRC					0x02D0
220*4882a593Smuzhiyun #define	FW_RPT_REG				0x02c4
221*4882a593Smuzhiyun 
222*4882a593Smuzhiyun /* 11. General Purpose Registers */
223*4882a593Smuzhiyun #define	PSTIME					0x02E0
224*4882a593Smuzhiyun #define	TIMER0					0x02E4
225*4882a593Smuzhiyun #define	TIMER1					0x02E8
226*4882a593Smuzhiyun #define	GPIO_IN_SE				0x02EC
227*4882a593Smuzhiyun #define	GPIO_IO_SEL				0x02EE
228*4882a593Smuzhiyun #define	MAC_PINMUX_CFG				0x02F1
229*4882a593Smuzhiyun #define	LEDCFG					0x02F2
230*4882a593Smuzhiyun #define	PHY_REG					0x02F3
231*4882a593Smuzhiyun #define	PHY_REG_DATA				0x02F4
232*4882a593Smuzhiyun #define	REG_EFUSE_CLK				0x02F8
233*4882a593Smuzhiyun 
234*4882a593Smuzhiyun /* 12. Host Interrupt Status Registers */
235*4882a593Smuzhiyun #define	INTA_MASK				0x0300
236*4882a593Smuzhiyun #define	ISR					0x0308
237*4882a593Smuzhiyun 
238*4882a593Smuzhiyun /* 13. Test mode and Debug Control Registers */
239*4882a593Smuzhiyun #define	DBG_PORT_SWITCH				0x003A
240*4882a593Smuzhiyun #define	BIST					0x0310
241*4882a593Smuzhiyun #define	DBS					0x0314
242*4882a593Smuzhiyun #define	CPUINST					0x0318
243*4882a593Smuzhiyun #define	CPUCAUSE				0x031C
244*4882a593Smuzhiyun #define	LBUS_ERR_ADDR				0x0320
245*4882a593Smuzhiyun #define	LBUS_ERR_CMD				0x0324
246*4882a593Smuzhiyun #define	LBUS_ERR_DATA_L				0x0328
247*4882a593Smuzhiyun #define	LBUS_ERR_DATA_H				0x032C
248*4882a593Smuzhiyun #define	LX_EXCEPTION_ADDR			0x0330
249*4882a593Smuzhiyun #define	WDG_CTRL				0x0334
250*4882a593Smuzhiyun #define	INTMTU					0x0338
251*4882a593Smuzhiyun #define	INTM					0x033A
252*4882a593Smuzhiyun #define	FDLOCKTURN0				0x033C
253*4882a593Smuzhiyun #define	FDLOCKTURN1				0x033D
254*4882a593Smuzhiyun #define	TRXPKTBUF_DBG_DATA			0x0340
255*4882a593Smuzhiyun #define	TRXPKTBUF_DBG_CTRL			0x0348
256*4882a593Smuzhiyun #define	DPLL					0x034A
257*4882a593Smuzhiyun #define	CBUS_ERR_ADDR				0x0350
258*4882a593Smuzhiyun #define	CBUS_ERR_CMD				0x0354
259*4882a593Smuzhiyun #define	CBUS_ERR_DATA_L				0x0358
260*4882a593Smuzhiyun #define	CBUS_ERR_DATA_H				0x035C
261*4882a593Smuzhiyun #define	USB_SIE_INTF_ADDR			0x0360
262*4882a593Smuzhiyun #define	USB_SIE_INTF_WD				0x0361
263*4882a593Smuzhiyun #define	USB_SIE_INTF_RD				0x0362
264*4882a593Smuzhiyun #define	USB_SIE_INTF_CTRL			0x0363
265*4882a593Smuzhiyun #define LBUS_MON_ADDR				0x0364
266*4882a593Smuzhiyun #define LBUS_ADDR_MASK				0x0368
267*4882a593Smuzhiyun 
268*4882a593Smuzhiyun /* Boundary is 0x37F */
269*4882a593Smuzhiyun 
270*4882a593Smuzhiyun /* 14. PCIE config register */
271*4882a593Smuzhiyun #define	TP_POLL					0x0500
272*4882a593Smuzhiyun #define	PM_CTRL					0x0502
273*4882a593Smuzhiyun #define	PCIF					0x0503
274*4882a593Smuzhiyun 
275*4882a593Smuzhiyun #define	THPDA					0x0514
276*4882a593Smuzhiyun #define	TMDA					0x0518
277*4882a593Smuzhiyun #define	TCDA					0x051C
278*4882a593Smuzhiyun #define	HDA					0x0520
279*4882a593Smuzhiyun #define	TVODA					0x0524
280*4882a593Smuzhiyun #define	TVIDA					0x0528
281*4882a593Smuzhiyun #define	TBEDA					0x052C
282*4882a593Smuzhiyun #define	TBKDA					0x0530
283*4882a593Smuzhiyun #define	TBDA					0x0534
284*4882a593Smuzhiyun #define	RCDA					0x0538
285*4882a593Smuzhiyun #define	RDQDA					0x053C
286*4882a593Smuzhiyun #define	DBI_WDATA				0x0540
287*4882a593Smuzhiyun #define	DBI_RDATA				0x0544
288*4882a593Smuzhiyun #define	DBI_CTRL				0x0548
289*4882a593Smuzhiyun #define	MDIO_DATA				0x0550
290*4882a593Smuzhiyun #define	MDIO_CTRL				0x0554
291*4882a593Smuzhiyun #define	PCI_RPWM				0x0561
292*4882a593Smuzhiyun #define	PCI_CPWM				0x0563
293*4882a593Smuzhiyun 
294*4882a593Smuzhiyun /* Config register	(Offset 0x800-) */
295*4882a593Smuzhiyun #define	PHY_CCA					0x803
296*4882a593Smuzhiyun 
297*4882a593Smuzhiyun /* Min Spacing related settings. */
298*4882a593Smuzhiyun #define	MAX_MSS_DENSITY_2T			0x13
299*4882a593Smuzhiyun #define	MAX_MSS_DENSITY_1T			0x0A
300*4882a593Smuzhiyun 
301*4882a593Smuzhiyun /* Rx DMA Control related settings */
302*4882a593Smuzhiyun #define	RXDMA_AGG_EN				BIT(7)
303*4882a593Smuzhiyun 
304*4882a593Smuzhiyun #define	RPWM					PCI_RPWM
305*4882a593Smuzhiyun 
306*4882a593Smuzhiyun /* Regsiter Bit and Content definition  */
307*4882a593Smuzhiyun 
308*4882a593Smuzhiyun #define	ISO_MD2PP				BIT(0)
309*4882a593Smuzhiyun #define	ISO_PA2PCIE				BIT(3)
310*4882a593Smuzhiyun #define	ISO_PLL2MD				BIT(4)
311*4882a593Smuzhiyun #define	ISO_PWC_DV2RP				BIT(11)
312*4882a593Smuzhiyun #define	ISO_PWC_RV2RP				BIT(12)
313*4882a593Smuzhiyun 
314*4882a593Smuzhiyun 
315*4882a593Smuzhiyun #define	FEN_MREGEN				BIT(15)
316*4882a593Smuzhiyun #define	FEN_DCORE				BIT(11)
317*4882a593Smuzhiyun #define	FEN_CPUEN				BIT(10)
318*4882a593Smuzhiyun 
319*4882a593Smuzhiyun #define	PAD_HWPD_IDN				BIT(22)
320*4882a593Smuzhiyun 
321*4882a593Smuzhiyun #define	SYS_CLKSEL_80M				BIT(0)
322*4882a593Smuzhiyun #define	SYS_PS_CLKSEL				BIT(1)
323*4882a593Smuzhiyun #define	SYS_CPU_CLKSEL				BIT(2)
324*4882a593Smuzhiyun #define	SYS_MAC_CLK_EN				BIT(11)
325*4882a593Smuzhiyun #define	SYS_SWHW_SEL				BIT(14)
326*4882a593Smuzhiyun #define	SYS_FWHW_SEL				BIT(15)
327*4882a593Smuzhiyun 
328*4882a593Smuzhiyun #define	CMDEEPROM_EN				BIT(5)
329*4882a593Smuzhiyun #define	CMDEERPOMSEL				BIT(4)
330*4882a593Smuzhiyun #define	CMD9346CR_9356SEL			BIT(4)
331*4882a593Smuzhiyun 
332*4882a593Smuzhiyun #define	AFE_MBEN				BIT(1)
333*4882a593Smuzhiyun #define	AFE_BGEN				BIT(0)
334*4882a593Smuzhiyun 
335*4882a593Smuzhiyun #define	SPS1_SWEN				BIT(1)
336*4882a593Smuzhiyun #define	SPS1_LDEN				BIT(0)
337*4882a593Smuzhiyun 
338*4882a593Smuzhiyun #define	RF_EN					BIT(0)
339*4882a593Smuzhiyun #define	RF_RSTB					BIT(1)
340*4882a593Smuzhiyun #define	RF_SDMRSTB				BIT(2)
341*4882a593Smuzhiyun 
342*4882a593Smuzhiyun #define	LDA15_EN				BIT(0)
343*4882a593Smuzhiyun 
344*4882a593Smuzhiyun #define	LDV12_EN				BIT(0)
345*4882a593Smuzhiyun #define	LDV12_SDBY				BIT(1)
346*4882a593Smuzhiyun 
347*4882a593Smuzhiyun #define	XTAL_GATE_AFE				BIT(10)
348*4882a593Smuzhiyun 
349*4882a593Smuzhiyun #define	APLL_EN					BIT(0)
350*4882a593Smuzhiyun 
351*4882a593Smuzhiyun #define	AFR_CARDBEN				BIT(0)
352*4882a593Smuzhiyun #define	AFR_CLKRUN_SEL				BIT(1)
353*4882a593Smuzhiyun #define	AFR_FUNCREGEN				BIT(2)
354*4882a593Smuzhiyun 
355*4882a593Smuzhiyun #define	APSDOFF_STATUS				BIT(15)
356*4882a593Smuzhiyun #define	APSDOFF					BIT(14)
357*4882a593Smuzhiyun #define	BBRSTN					BIT(13)
358*4882a593Smuzhiyun #define	BB_GLB_RSTN				BIT(12)
359*4882a593Smuzhiyun #define	SCHEDULE_EN				BIT(10)
360*4882a593Smuzhiyun #define	MACRXEN					BIT(9)
361*4882a593Smuzhiyun #define	MACTXEN					BIT(8)
362*4882a593Smuzhiyun #define	DDMA_EN					BIT(7)
363*4882a593Smuzhiyun #define	FW2HW_EN				BIT(6)
364*4882a593Smuzhiyun #define	RXDMA_EN				BIT(5)
365*4882a593Smuzhiyun #define	TXDMA_EN				BIT(4)
366*4882a593Smuzhiyun #define	HCI_RXDMA_EN				BIT(3)
367*4882a593Smuzhiyun #define	HCI_TXDMA_EN				BIT(2)
368*4882a593Smuzhiyun 
369*4882a593Smuzhiyun #define	STOPHCCA				BIT(6)
370*4882a593Smuzhiyun #define	STOPHIGH				BIT(5)
371*4882a593Smuzhiyun #define	STOPMGT					BIT(4)
372*4882a593Smuzhiyun #define	STOPVO					BIT(3)
373*4882a593Smuzhiyun #define	STOPVI					BIT(2)
374*4882a593Smuzhiyun #define	STOPBE					BIT(1)
375*4882a593Smuzhiyun #define	STOPBK					BIT(0)
376*4882a593Smuzhiyun 
377*4882a593Smuzhiyun #define	LBK_NORMAL				0x00
378*4882a593Smuzhiyun #define	LBK_MAC_LB				(BIT(0) | BIT(1) | BIT(3))
379*4882a593Smuzhiyun #define	LBK_MAC_DLB				(BIT(0) | BIT(1))
380*4882a593Smuzhiyun #define	LBK_DMA_LB				(BIT(0) | BIT(1) | BIT(2))
381*4882a593Smuzhiyun 
382*4882a593Smuzhiyun #define	TCP_OFDL_EN				BIT(25)
383*4882a593Smuzhiyun #define	HWPC_TX_EN				BIT(24)
384*4882a593Smuzhiyun #define	TXDMAPRE2FULL				BIT(23)
385*4882a593Smuzhiyun #define	DISCW					BIT(20)
386*4882a593Smuzhiyun #define	TCRICV					BIT(19)
387*4882a593Smuzhiyun #define	cfendform				BIT(17)
388*4882a593Smuzhiyun #define	TCRCRC					BIT(16)
389*4882a593Smuzhiyun #define	FAKE_IMEM_EN				BIT(15)
390*4882a593Smuzhiyun #define	TSFRST					BIT(9)
391*4882a593Smuzhiyun #define	TSFEN					BIT(8)
392*4882a593Smuzhiyun #define	FWALLRDY				(BIT(0) | BIT(1) | BIT(2) | \
393*4882a593Smuzhiyun 						BIT(3) | BIT(4) | BIT(5) | \
394*4882a593Smuzhiyun 						BIT(6) | BIT(7))
395*4882a593Smuzhiyun #define	FWRDY					BIT(7)
396*4882a593Smuzhiyun #define	BASECHG					BIT(6)
397*4882a593Smuzhiyun #define	IMEM					BIT(5)
398*4882a593Smuzhiyun #define	DMEM_CODE_DONE				BIT(4)
399*4882a593Smuzhiyun #define	EXT_IMEM_CHK_RPT			BIT(3)
400*4882a593Smuzhiyun #define	EXT_IMEM_CODE_DONE			BIT(2)
401*4882a593Smuzhiyun #define	IMEM_CHK_RPT				BIT(1)
402*4882a593Smuzhiyun #define	IMEM_CODE_DONE				BIT(0)
403*4882a593Smuzhiyun #define	EMEM_CODE_DONE				BIT(2)
404*4882a593Smuzhiyun #define	EMEM_CHK_RPT				BIT(3)
405*4882a593Smuzhiyun #define	IMEM_RDY				BIT(5)
406*4882a593Smuzhiyun #define	LOAD_FW_READY				(IMEM_CODE_DONE | \
407*4882a593Smuzhiyun 						IMEM_CHK_RPT | \
408*4882a593Smuzhiyun 						EMEM_CODE_DONE | \
409*4882a593Smuzhiyun 						EMEM_CHK_RPT | \
410*4882a593Smuzhiyun 						DMEM_CODE_DONE | \
411*4882a593Smuzhiyun 						IMEM_RDY | \
412*4882a593Smuzhiyun 						BASECHG | \
413*4882a593Smuzhiyun 						FWRDY)
414*4882a593Smuzhiyun #define	TCR_TSFEN				BIT(8)
415*4882a593Smuzhiyun #define	TCR_TSFRST				BIT(9)
416*4882a593Smuzhiyun #define	TCR_FAKE_IMEM_EN			BIT(15)
417*4882a593Smuzhiyun #define	TCR_CRC					BIT(16)
418*4882a593Smuzhiyun #define	TCR_ICV					BIT(19)
419*4882a593Smuzhiyun #define	TCR_DISCW				BIT(20)
420*4882a593Smuzhiyun #define	TCR_HWPC_TX_EN				BIT(24)
421*4882a593Smuzhiyun #define	TCR_TCP_OFDL_EN				BIT(25)
422*4882a593Smuzhiyun #define	TXDMA_INIT_VALUE			(IMEM_CHK_RPT | \
423*4882a593Smuzhiyun 						EXT_IMEM_CHK_RPT)
424*4882a593Smuzhiyun 
425*4882a593Smuzhiyun #define	RCR_APPFCS				BIT(31)
426*4882a593Smuzhiyun #define	RCR_DIS_ENC_2BYTE			BIT(30)
427*4882a593Smuzhiyun #define	RCR_DIS_AES_2BYTE			BIT(29)
428*4882a593Smuzhiyun #define	RCR_HTC_LOC_CTRL			BIT(28)
429*4882a593Smuzhiyun #define	RCR_ENMBID				BIT(27)
430*4882a593Smuzhiyun #define	RCR_RX_TCPOFDL_EN			BIT(26)
431*4882a593Smuzhiyun #define	RCR_APP_PHYST_RXFF			BIT(25)
432*4882a593Smuzhiyun #define	RCR_APP_PHYST_STAFF			BIT(24)
433*4882a593Smuzhiyun #define	RCR_CBSSID				BIT(23)
434*4882a593Smuzhiyun #define	RCR_APWRMGT				BIT(22)
435*4882a593Smuzhiyun #define	RCR_ADD3				BIT(21)
436*4882a593Smuzhiyun #define	RCR_AMF					BIT(20)
437*4882a593Smuzhiyun #define	RCR_ACF					BIT(19)
438*4882a593Smuzhiyun #define	RCR_ADF					BIT(18)
439*4882a593Smuzhiyun #define	RCR_APP_MIC				BIT(17)
440*4882a593Smuzhiyun #define	RCR_APP_ICV				BIT(16)
441*4882a593Smuzhiyun #define	RCR_RXFTH				BIT(13)
442*4882a593Smuzhiyun #define	RCR_AICV				BIT(12)
443*4882a593Smuzhiyun #define	RCR_RXDESC_LK_EN			BIT(11)
444*4882a593Smuzhiyun #define	RCR_APP_BA_SSN				BIT(6)
445*4882a593Smuzhiyun #define	RCR_ACRC32				BIT(5)
446*4882a593Smuzhiyun #define	RCR_RXSHFT_EN				BIT(4)
447*4882a593Smuzhiyun #define	RCR_AB					BIT(3)
448*4882a593Smuzhiyun #define	RCR_AM					BIT(2)
449*4882a593Smuzhiyun #define	RCR_APM					BIT(1)
450*4882a593Smuzhiyun #define	RCR_AAP					BIT(0)
451*4882a593Smuzhiyun #define	RCR_MXDMA_OFFSET			8
452*4882a593Smuzhiyun #define	RCR_FIFO_OFFSET				13
453*4882a593Smuzhiyun 
454*4882a593Smuzhiyun 
455*4882a593Smuzhiyun #define MSR_LINK_MASK				((1 << 0) | (1 << 1))
456*4882a593Smuzhiyun #define MSR_LINK_MANAGED			2
457*4882a593Smuzhiyun #define MSR_LINK_NONE				0
458*4882a593Smuzhiyun #define MSR_LINK_SHIFT				0
459*4882a593Smuzhiyun #define MSR_LINK_ADHOC				1
460*4882a593Smuzhiyun #define MSR_LINK_MASTER				3
461*4882a593Smuzhiyun #define	MSR_NOLINK				0x00
462*4882a593Smuzhiyun #define	MSR_ADHOC				0x01
463*4882a593Smuzhiyun #define	MSR_INFRA				0x02
464*4882a593Smuzhiyun #define	MSR_AP					0x03
465*4882a593Smuzhiyun 
466*4882a593Smuzhiyun #define	ENUART					BIT(7)
467*4882a593Smuzhiyun #define	ENJTAG					BIT(3)
468*4882a593Smuzhiyun #define	BTMODE					(BIT(2) | BIT(1))
469*4882a593Smuzhiyun #define	ENBT					BIT(0)
470*4882a593Smuzhiyun 
471*4882a593Smuzhiyun #define	ENMBID					BIT(7)
472*4882a593Smuzhiyun #define	BCNUM					(BIT(6) | BIT(5) | BIT(4))
473*4882a593Smuzhiyun 
474*4882a593Smuzhiyun #define	USTIME_EDCA				0xFF00
475*4882a593Smuzhiyun #define	USTIME_TSF				0x00FF
476*4882a593Smuzhiyun 
477*4882a593Smuzhiyun #define	SIFS_TRX				0xFF00
478*4882a593Smuzhiyun #define	SIFS_CTX				0x00FF
479*4882a593Smuzhiyun 
480*4882a593Smuzhiyun #define	ENSWBCN					BIT(15)
481*4882a593Smuzhiyun #define	DRVERLY_TU				0x0FF0
482*4882a593Smuzhiyun #define	DRVERLY_US				0x000F
483*4882a593Smuzhiyun #define	BCN_TCFG_CW_SHIFT			8
484*4882a593Smuzhiyun #define	BCN_TCFG_IFS				0
485*4882a593Smuzhiyun 
486*4882a593Smuzhiyun #define	RRSR_RSC_OFFSET				21
487*4882a593Smuzhiyun #define	RRSR_SHORT_OFFSET			23
488*4882a593Smuzhiyun #define	RRSR_RSC_BW_40M				0x600000
489*4882a593Smuzhiyun #define	RRSR_RSC_UPSUBCHNL			0x400000
490*4882a593Smuzhiyun #define	RRSR_RSC_LOWSUBCHNL			0x200000
491*4882a593Smuzhiyun #define	RRSR_SHORT				0x800000
492*4882a593Smuzhiyun #define	RRSR_1M					BIT(0)
493*4882a593Smuzhiyun #define	RRSR_2M					BIT(1)
494*4882a593Smuzhiyun #define	RRSR_5_5M				BIT(2)
495*4882a593Smuzhiyun #define	RRSR_11M				BIT(3)
496*4882a593Smuzhiyun #define	RRSR_6M					BIT(4)
497*4882a593Smuzhiyun #define	RRSR_9M					BIT(5)
498*4882a593Smuzhiyun #define	RRSR_12M				BIT(6)
499*4882a593Smuzhiyun #define	RRSR_18M				BIT(7)
500*4882a593Smuzhiyun #define	RRSR_24M				BIT(8)
501*4882a593Smuzhiyun #define	RRSR_36M				BIT(9)
502*4882a593Smuzhiyun #define	RRSR_48M				BIT(10)
503*4882a593Smuzhiyun #define	RRSR_54M				BIT(11)
504*4882a593Smuzhiyun #define	RRSR_MCS0				BIT(12)
505*4882a593Smuzhiyun #define	RRSR_MCS1				BIT(13)
506*4882a593Smuzhiyun #define	RRSR_MCS2				BIT(14)
507*4882a593Smuzhiyun #define	RRSR_MCS3				BIT(15)
508*4882a593Smuzhiyun #define	RRSR_MCS4				BIT(16)
509*4882a593Smuzhiyun #define	RRSR_MCS5				BIT(17)
510*4882a593Smuzhiyun #define	RRSR_MCS6				BIT(18)
511*4882a593Smuzhiyun #define	RRSR_MCS7				BIT(19)
512*4882a593Smuzhiyun #define	BRSR_ACKSHORTPMB			BIT(23)
513*4882a593Smuzhiyun 
514*4882a593Smuzhiyun #define	RATR_1M					0x00000001
515*4882a593Smuzhiyun #define	RATR_2M					0x00000002
516*4882a593Smuzhiyun #define	RATR_55M				0x00000004
517*4882a593Smuzhiyun #define	RATR_11M				0x00000008
518*4882a593Smuzhiyun #define	RATR_6M					0x00000010
519*4882a593Smuzhiyun #define	RATR_9M					0x00000020
520*4882a593Smuzhiyun #define	RATR_12M				0x00000040
521*4882a593Smuzhiyun #define	RATR_18M				0x00000080
522*4882a593Smuzhiyun #define	RATR_24M				0x00000100
523*4882a593Smuzhiyun #define	RATR_36M				0x00000200
524*4882a593Smuzhiyun #define	RATR_48M				0x00000400
525*4882a593Smuzhiyun #define	RATR_54M				0x00000800
526*4882a593Smuzhiyun #define	RATR_MCS0				0x00001000
527*4882a593Smuzhiyun #define	RATR_MCS1				0x00002000
528*4882a593Smuzhiyun #define	RATR_MCS2				0x00004000
529*4882a593Smuzhiyun #define	RATR_MCS3				0x00008000
530*4882a593Smuzhiyun #define	RATR_MCS4				0x00010000
531*4882a593Smuzhiyun #define	RATR_MCS5				0x00020000
532*4882a593Smuzhiyun #define	RATR_MCS6				0x00040000
533*4882a593Smuzhiyun #define	RATR_MCS7				0x00080000
534*4882a593Smuzhiyun #define	RATR_MCS8				0x00100000
535*4882a593Smuzhiyun #define	RATR_MCS9				0x00200000
536*4882a593Smuzhiyun #define	RATR_MCS10				0x00400000
537*4882a593Smuzhiyun #define	RATR_MCS11				0x00800000
538*4882a593Smuzhiyun #define	RATR_MCS12				0x01000000
539*4882a593Smuzhiyun #define	RATR_MCS13				0x02000000
540*4882a593Smuzhiyun #define	RATR_MCS14				0x04000000
541*4882a593Smuzhiyun #define	RATR_MCS15				0x08000000
542*4882a593Smuzhiyun 
543*4882a593Smuzhiyun #define	RATE_ALL_CCK				(RATR_1M | RATR_2M | \
544*4882a593Smuzhiyun 						RATR_55M | RATR_11M)
545*4882a593Smuzhiyun #define	RATE_ALL_OFDM_AG			(RATR_6M | RATR_9M | \
546*4882a593Smuzhiyun 						RATR_12M | RATR_18M | \
547*4882a593Smuzhiyun 						RATR_24M | RATR_36M | \
548*4882a593Smuzhiyun 						RATR_48M | RATR_54M)
549*4882a593Smuzhiyun #define	RATE_ALL_OFDM_1SS			(RATR_MCS0 | RATR_MCS1 | \
550*4882a593Smuzhiyun 						RATR_MCS2 | RATR_MCS3 | \
551*4882a593Smuzhiyun 						RATR_MCS4 | RATR_MCS5 | \
552*4882a593Smuzhiyun 						RATR_MCS6 | RATR_MCS7)
553*4882a593Smuzhiyun #define	RATE_ALL_OFDM_2SS			(RATR_MCS8 | RATR_MCS9 | \
554*4882a593Smuzhiyun 						RATR_MCS10 | RATR_MCS11 | \
555*4882a593Smuzhiyun 						RATR_MCS12 | RATR_MCS13 | \
556*4882a593Smuzhiyun 						RATR_MCS14 | RATR_MCS15)
557*4882a593Smuzhiyun 
558*4882a593Smuzhiyun #define	AC_PARAM_TXOP_LIMIT_OFFSET		16
559*4882a593Smuzhiyun #define	AC_PARAM_ECW_MAX_OFFSET			12
560*4882a593Smuzhiyun #define	AC_PARAM_ECW_MIN_OFFSET			8
561*4882a593Smuzhiyun #define	AC_PARAM_AIFS_OFFSET			0
562*4882a593Smuzhiyun 
563*4882a593Smuzhiyun #define	ACMHW_HWEN				BIT(0)
564*4882a593Smuzhiyun #define	ACMHW_BEQEN				BIT(1)
565*4882a593Smuzhiyun #define	ACMHW_VIQEN				BIT(2)
566*4882a593Smuzhiyun #define	ACMHW_VOQEN				BIT(3)
567*4882a593Smuzhiyun #define	ACMHW_BEQSTATUS				BIT(4)
568*4882a593Smuzhiyun #define	ACMHW_VIQSTATUS				BIT(5)
569*4882a593Smuzhiyun #define	ACMHW_VOQSTATUS				BIT(6)
570*4882a593Smuzhiyun 
571*4882a593Smuzhiyun #define	RETRY_LIMIT_SHORT_SHIFT			8
572*4882a593Smuzhiyun #define	RETRY_LIMIT_LONG_SHIFT			0
573*4882a593Smuzhiyun 
574*4882a593Smuzhiyun #define	NAV_UPPER_EN				BIT(16)
575*4882a593Smuzhiyun #define	NAV_UPPER				0xFF00
576*4882a593Smuzhiyun #define	NAV_RTSRST				0xFF
577*4882a593Smuzhiyun 
578*4882a593Smuzhiyun #define	BW_OPMODE_20MHZ				BIT(2)
579*4882a593Smuzhiyun #define	BW_OPMODE_5G				BIT(1)
580*4882a593Smuzhiyun #define	BW_OPMODE_11J				BIT(0)
581*4882a593Smuzhiyun 
582*4882a593Smuzhiyun #define	RXERR_RPT_RST				BIT(27)
583*4882a593Smuzhiyun #define	RXERR_OFDM_PPDU				0
584*4882a593Smuzhiyun #define	RXERR_OFDM_FALSE_ALARM			1
585*4882a593Smuzhiyun #define	RXERR_OFDM_MPDU_OK			2
586*4882a593Smuzhiyun #define	RXERR_OFDM_MPDU_FAIL			3
587*4882a593Smuzhiyun #define	RXERR_CCK_PPDU				4
588*4882a593Smuzhiyun #define	RXERR_CCK_FALSE_ALARM			5
589*4882a593Smuzhiyun #define	RXERR_CCK_MPDU_OK			6
590*4882a593Smuzhiyun #define	RXERR_CCK_MPDU_FAIL			7
591*4882a593Smuzhiyun #define	RXERR_HT_PPDU				8
592*4882a593Smuzhiyun #define	RXERR_HT_FALSE_ALARM			9
593*4882a593Smuzhiyun #define	RXERR_HT_MPDU_TOTAL			10
594*4882a593Smuzhiyun #define	RXERR_HT_MPDU_OK			11
595*4882a593Smuzhiyun #define	RXERR_HT_MPDU_FAIL			12
596*4882a593Smuzhiyun #define	RXERR_RX_FULL_DROP			15
597*4882a593Smuzhiyun 
598*4882a593Smuzhiyun #define	SCR_TXUSEDK				BIT(0)
599*4882a593Smuzhiyun #define	SCR_RXUSEDK				BIT(1)
600*4882a593Smuzhiyun #define	SCR_TXENCENABLE				BIT(2)
601*4882a593Smuzhiyun #define	SCR_RXENCENABLE				BIT(3)
602*4882a593Smuzhiyun #define	SCR_SKBYA2				BIT(4)
603*4882a593Smuzhiyun #define	SCR_NOSKMC				BIT(5)
604*4882a593Smuzhiyun 
605*4882a593Smuzhiyun #define	CAM_VALID				BIT(15)
606*4882a593Smuzhiyun #define	CAM_NOTVALID				0x0000
607*4882a593Smuzhiyun #define	CAM_USEDK				BIT(5)
608*4882a593Smuzhiyun 
609*4882a593Smuzhiyun #define	CAM_NONE				0x0
610*4882a593Smuzhiyun #define	CAM_WEP40				0x01
611*4882a593Smuzhiyun #define	CAM_TKIP				0x02
612*4882a593Smuzhiyun #define	CAM_AES					0x04
613*4882a593Smuzhiyun #define	CAM_WEP104				0x05
614*4882a593Smuzhiyun 
615*4882a593Smuzhiyun #define	TOTAL_CAM_ENTRY				32
616*4882a593Smuzhiyun #define	HALF_CAM_ENTRY				16
617*4882a593Smuzhiyun 
618*4882a593Smuzhiyun #define	CAM_WRITE				BIT(16)
619*4882a593Smuzhiyun #define	CAM_READ				0x00000000
620*4882a593Smuzhiyun #define	CAM_POLLINIG				BIT(31)
621*4882a593Smuzhiyun 
622*4882a593Smuzhiyun #define	WOW_PMEN				BIT(0)
623*4882a593Smuzhiyun #define	WOW_WOMEN				BIT(1)
624*4882a593Smuzhiyun #define	WOW_MAGIC				BIT(2)
625*4882a593Smuzhiyun #define	WOW_UWF					BIT(3)
626*4882a593Smuzhiyun 
627*4882a593Smuzhiyun #define	GPIOMUX_EN				BIT(3)
628*4882a593Smuzhiyun #define	GPIOSEL_GPIO				0
629*4882a593Smuzhiyun #define	GPIOSEL_PHYDBG				1
630*4882a593Smuzhiyun #define	GPIOSEL_BT				2
631*4882a593Smuzhiyun #define	GPIOSEL_WLANDBG				3
632*4882a593Smuzhiyun #define	GPIOSEL_GPIO_MASK			(~(BIT(0)|BIT(1)))
633*4882a593Smuzhiyun 
634*4882a593Smuzhiyun #define	HST_RDBUSY				BIT(0)
635*4882a593Smuzhiyun #define	CPU_WTBUSY				BIT(1)
636*4882a593Smuzhiyun 
637*4882a593Smuzhiyun #define	IMR8190_DISABLED			0x0
638*4882a593Smuzhiyun #define	IMR_CPUERR				BIT(5)
639*4882a593Smuzhiyun #define	IMR_ATIMEND				BIT(4)
640*4882a593Smuzhiyun #define	IMR_TBDOK				BIT(3)
641*4882a593Smuzhiyun #define	IMR_TBDER				BIT(2)
642*4882a593Smuzhiyun #define	IMR_BCNDMAINT8				BIT(1)
643*4882a593Smuzhiyun #define	IMR_BCNDMAINT7				BIT(0)
644*4882a593Smuzhiyun #define	IMR_BCNDMAINT6				BIT(31)
645*4882a593Smuzhiyun #define	IMR_BCNDMAINT5				BIT(30)
646*4882a593Smuzhiyun #define	IMR_BCNDMAINT4				BIT(29)
647*4882a593Smuzhiyun #define	IMR_BCNDMAINT3				BIT(28)
648*4882a593Smuzhiyun #define	IMR_BCNDMAINT2				BIT(27)
649*4882a593Smuzhiyun #define	IMR_BCNDMAINT1				BIT(26)
650*4882a593Smuzhiyun #define	IMR_BCNDOK8				BIT(25)
651*4882a593Smuzhiyun #define	IMR_BCNDOK7				BIT(24)
652*4882a593Smuzhiyun #define	IMR_BCNDOK6				BIT(23)
653*4882a593Smuzhiyun #define	IMR_BCNDOK5				BIT(22)
654*4882a593Smuzhiyun #define	IMR_BCNDOK4				BIT(21)
655*4882a593Smuzhiyun #define	IMR_BCNDOK3				BIT(20)
656*4882a593Smuzhiyun #define	IMR_BCNDOK2				BIT(19)
657*4882a593Smuzhiyun #define	IMR_BCNDOK1				BIT(18)
658*4882a593Smuzhiyun #define	IMR_TIMEOUT2				BIT(17)
659*4882a593Smuzhiyun #define	IMR_TIMEOUT1				BIT(16)
660*4882a593Smuzhiyun #define	IMR_TXFOVW				BIT(15)
661*4882a593Smuzhiyun #define	IMR_PSTIMEOUT				BIT(14)
662*4882a593Smuzhiyun #define	IMR_BCNINT				BIT(13)
663*4882a593Smuzhiyun #define	IMR_RXFOVW				BIT(12)
664*4882a593Smuzhiyun #define	IMR_RDU					BIT(11)
665*4882a593Smuzhiyun #define	IMR_RXCMDOK				BIT(10)
666*4882a593Smuzhiyun #define	IMR_BDOK				BIT(9)
667*4882a593Smuzhiyun #define	IMR_HIGHDOK				BIT(8)
668*4882a593Smuzhiyun #define	IMR_COMDOK				BIT(7)
669*4882a593Smuzhiyun #define	IMR_MGNTDOK				BIT(6)
670*4882a593Smuzhiyun #define	IMR_HCCADOK				BIT(5)
671*4882a593Smuzhiyun #define	IMR_BKDOK				BIT(4)
672*4882a593Smuzhiyun #define	IMR_BEDOK				BIT(3)
673*4882a593Smuzhiyun #define	IMR_VIDOK				BIT(2)
674*4882a593Smuzhiyun #define	IMR_VODOK				BIT(1)
675*4882a593Smuzhiyun #define	IMR_ROK					BIT(0)
676*4882a593Smuzhiyun 
677*4882a593Smuzhiyun #define	TPPOLL_BKQ				BIT(0)
678*4882a593Smuzhiyun #define	TPPOLL_BEQ				BIT(1)
679*4882a593Smuzhiyun #define	TPPOLL_VIQ				BIT(2)
680*4882a593Smuzhiyun #define	TPPOLL_VOQ				BIT(3)
681*4882a593Smuzhiyun #define	TPPOLL_BQ				BIT(4)
682*4882a593Smuzhiyun #define	TPPOLL_CQ				BIT(5)
683*4882a593Smuzhiyun #define	TPPOLL_MQ				BIT(6)
684*4882a593Smuzhiyun #define	TPPOLL_HQ				BIT(7)
685*4882a593Smuzhiyun #define	TPPOLL_HCCAQ				BIT(8)
686*4882a593Smuzhiyun #define	TPPOLL_STOPBK				BIT(9)
687*4882a593Smuzhiyun #define	TPPOLL_STOPBE				BIT(10)
688*4882a593Smuzhiyun #define	TPPOLL_STOPVI				BIT(11)
689*4882a593Smuzhiyun #define	TPPOLL_STOPVO				BIT(12)
690*4882a593Smuzhiyun #define	TPPOLL_STOPMGT				BIT(13)
691*4882a593Smuzhiyun #define	TPPOLL_STOPHIGH				BIT(14)
692*4882a593Smuzhiyun #define	TPPOLL_STOPHCCA				BIT(15)
693*4882a593Smuzhiyun #define	TPPOLL_SHIFT				8
694*4882a593Smuzhiyun 
695*4882a593Smuzhiyun #define	CCX_CMD_CLM_ENABLE			BIT(0)
696*4882a593Smuzhiyun #define	CCX_CMD_NHM_ENABLE			BIT(1)
697*4882a593Smuzhiyun #define	CCX_CMD_FUNCTION_ENABLE			BIT(8)
698*4882a593Smuzhiyun #define	CCX_CMD_IGNORE_CCA			BIT(9)
699*4882a593Smuzhiyun #define	CCX_CMD_IGNORE_TXON			BIT(10)
700*4882a593Smuzhiyun #define	CCX_CLM_RESULT_READY			BIT(16)
701*4882a593Smuzhiyun #define	CCX_NHM_RESULT_READY			BIT(16)
702*4882a593Smuzhiyun #define	CCX_CMD_RESET				0x0
703*4882a593Smuzhiyun 
704*4882a593Smuzhiyun 
705*4882a593Smuzhiyun #define	HWSET_MAX_SIZE_92S			128
706*4882a593Smuzhiyun #define EFUSE_MAX_SECTION			16
707*4882a593Smuzhiyun #define EFUSE_REAL_CONTENT_LEN			512
708*4882a593Smuzhiyun #define EFUSE_OOB_PROTECT_BYTES			15
709*4882a593Smuzhiyun 
710*4882a593Smuzhiyun #define RTL8190_EEPROM_ID			0x8129
711*4882a593Smuzhiyun #define EEPROM_HPON				0x02
712*4882a593Smuzhiyun #define EEPROM_CLK				0x06
713*4882a593Smuzhiyun #define EEPROM_TESTR				0x08
714*4882a593Smuzhiyun 
715*4882a593Smuzhiyun #define EEPROM_VID				0x0A
716*4882a593Smuzhiyun #define EEPROM_DID				0x0C
717*4882a593Smuzhiyun #define EEPROM_SVID				0x0E
718*4882a593Smuzhiyun #define EEPROM_SMID				0x10
719*4882a593Smuzhiyun 
720*4882a593Smuzhiyun #define EEPROM_MAC_ADDR				0x12
721*4882a593Smuzhiyun #define EEPROM_NODE_ADDRESS_BYTE_0		0x12
722*4882a593Smuzhiyun 
723*4882a593Smuzhiyun #define EEPROM_PWDIFF				0x54
724*4882a593Smuzhiyun 
725*4882a593Smuzhiyun #define EEPROM_TXPOWERBASE			0x50
726*4882a593Smuzhiyun #define	EEPROM_TX_PWR_INDEX_RANGE		28
727*4882a593Smuzhiyun 
728*4882a593Smuzhiyun #define EEPROM_TX_PWR_HT20_DIFF			0x62
729*4882a593Smuzhiyun #define DEFAULT_HT20_TXPWR_DIFF			2
730*4882a593Smuzhiyun #define EEPROM_TX_PWR_OFDM_DIFF			0x65
731*4882a593Smuzhiyun 
732*4882a593Smuzhiyun #define	EEPROM_TXPWRGROUP			0x67
733*4882a593Smuzhiyun #define EEPROM_REGULATORY			0x6D
734*4882a593Smuzhiyun 
735*4882a593Smuzhiyun #define TX_PWR_SAFETY_CHK			0x6D
736*4882a593Smuzhiyun #define EEPROM_TXPWINDEX_CCK_24G		0x5D
737*4882a593Smuzhiyun #define EEPROM_TXPWINDEX_OFDM_24G		0x6B
738*4882a593Smuzhiyun #define EEPROM_HT2T_CH1_A			0x6c
739*4882a593Smuzhiyun #define EEPROM_HT2T_CH7_A			0x6d
740*4882a593Smuzhiyun #define EEPROM_HT2T_CH13_A			0x6e
741*4882a593Smuzhiyun #define EEPROM_HT2T_CH1_B			0x6f
742*4882a593Smuzhiyun #define EEPROM_HT2T_CH7_B			0x70
743*4882a593Smuzhiyun #define EEPROM_HT2T_CH13_B			0x71
744*4882a593Smuzhiyun 
745*4882a593Smuzhiyun #define EEPROM_TSSI_A				0x74
746*4882a593Smuzhiyun #define EEPROM_TSSI_B				0x75
747*4882a593Smuzhiyun 
748*4882a593Smuzhiyun #define	EEPROM_RFIND_POWERDIFF			0x76
749*4882a593Smuzhiyun #define	EEPROM_DEFAULT_LEGACYHTTXPOWERDIFF	0x3
750*4882a593Smuzhiyun 
751*4882a593Smuzhiyun #define EEPROM_THERMALMETER			0x77
752*4882a593Smuzhiyun #define	EEPROM_BLUETOOTH_COEXIST		0x78
753*4882a593Smuzhiyun #define	EEPROM_BLUETOOTH_TYPE			0x4f
754*4882a593Smuzhiyun 
755*4882a593Smuzhiyun #define	EEPROM_OPTIONAL				0x78
756*4882a593Smuzhiyun #define	EEPROM_WOWLAN				0x78
757*4882a593Smuzhiyun 
758*4882a593Smuzhiyun #define EEPROM_CRYSTALCAP			0x79
759*4882a593Smuzhiyun #define EEPROM_CHANNELPLAN			0x7B
760*4882a593Smuzhiyun #define EEPROM_VERSION				0x7C
761*4882a593Smuzhiyun #define	EEPROM_CUSTOMID				0x7A
762*4882a593Smuzhiyun #define EEPROM_BOARDTYPE			0x7E
763*4882a593Smuzhiyun 
764*4882a593Smuzhiyun #define	EEPROM_CHANNEL_PLAN_FCC			0x0
765*4882a593Smuzhiyun #define	EEPROM_CHANNEL_PLAN_IC			0x1
766*4882a593Smuzhiyun #define	EEPROM_CHANNEL_PLAN_ETSI		0x2
767*4882a593Smuzhiyun #define	EEPROM_CHANNEL_PLAN_SPAIN		0x3
768*4882a593Smuzhiyun #define	EEPROM_CHANNEL_PLAN_FRANCE		0x4
769*4882a593Smuzhiyun #define	EEPROM_CHANNEL_PLAN_MKK			0x5
770*4882a593Smuzhiyun #define	EEPROM_CHANNEL_PLAN_MKK1		0x6
771*4882a593Smuzhiyun #define	EEPROM_CHANNEL_PLAN_ISRAEL		0x7
772*4882a593Smuzhiyun #define	EEPROM_CHANNEL_PLAN_TELEC		0x8
773*4882a593Smuzhiyun #define	EEPROM_CHANNEL_PLAN_GLOBAL_DOMAIN	0x9
774*4882a593Smuzhiyun #define	EEPROM_CHANNEL_PLAN_WORLD_WIDE_13	0xA
775*4882a593Smuzhiyun #define	EEPROM_CHANNEL_PLAN_NCC			0xB
776*4882a593Smuzhiyun #define	EEPROM_CHANNEL_PLAN_BY_HW_MASK		0x80
777*4882a593Smuzhiyun 
778*4882a593Smuzhiyun #define	FW_DIG_DISABLE				0xfd00cc00
779*4882a593Smuzhiyun #define	FW_DIG_ENABLE				0xfd000000
780*4882a593Smuzhiyun #define	FW_DIG_HALT				0xfd000001
781*4882a593Smuzhiyun #define	FW_DIG_RESUME				0xfd000002
782*4882a593Smuzhiyun #define	FW_HIGH_PWR_DISABLE			0xfd000008
783*4882a593Smuzhiyun #define	FW_HIGH_PWR_ENABLE			0xfd000009
784*4882a593Smuzhiyun #define	FW_ADD_A2_ENTRY				0xfd000016
785*4882a593Smuzhiyun #define	FW_TXPWR_TRACK_ENABLE			0xfd000017
786*4882a593Smuzhiyun #define	FW_TXPWR_TRACK_DISABLE			0xfd000018
787*4882a593Smuzhiyun #define	FW_TXPWR_TRACK_THERMAL			0xfd000019
788*4882a593Smuzhiyun #define	FW_TXANT_SWITCH_ENABLE			0xfd000023
789*4882a593Smuzhiyun #define	FW_TXANT_SWITCH_DISABLE			0xfd000024
790*4882a593Smuzhiyun #define	FW_RA_INIT				0xfd000026
791*4882a593Smuzhiyun #define	FW_CTRL_DM_BY_DRIVER			0Xfd00002a
792*4882a593Smuzhiyun #define	FW_RA_IOT_BG_COMB			0xfd000030
793*4882a593Smuzhiyun #define	FW_RA_IOT_N_COMB			0xfd000031
794*4882a593Smuzhiyun #define	FW_RA_REFRESH				0xfd0000a0
795*4882a593Smuzhiyun #define	FW_RA_UPDATE_MASK			0xfd0000a2
796*4882a593Smuzhiyun #define	FW_RA_DISABLE				0xfd0000a4
797*4882a593Smuzhiyun #define	FW_RA_ACTIVE				0xfd0000a6
798*4882a593Smuzhiyun #define	FW_RA_DISABLE_RSSI_MASK			0xfd0000ac
799*4882a593Smuzhiyun #define	FW_RA_ENABLE_RSSI_MASK			0xfd0000ad
800*4882a593Smuzhiyun #define	FW_RA_RESET				0xfd0000af
801*4882a593Smuzhiyun #define	FW_DM_DISABLE				0xfd00aa00
802*4882a593Smuzhiyun #define	FW_IQK_ENABLE				0xf0000020
803*4882a593Smuzhiyun #define	FW_IQK_SUCCESS				0x0000dddd
804*4882a593Smuzhiyun #define	FW_IQK_FAIL				0x0000ffff
805*4882a593Smuzhiyun #define	FW_OP_FAILURE				0xffffffff
806*4882a593Smuzhiyun #define	FW_TX_FEEDBACK_NONE			0xfb000000
807*4882a593Smuzhiyun #define	FW_TX_FEEDBACK_DTM_ENABLE		(FW_TX_FEEDBACK_NONE | 0x1)
808*4882a593Smuzhiyun #define	FW_TX_FEEDBACK_CCX_ENABL		(FW_TX_FEEDBACK_NONE | 0x2)
809*4882a593Smuzhiyun #define	FW_BB_RESET_ENABLE			0xff00000d
810*4882a593Smuzhiyun #define	FW_BB_RESET_DISABLE			0xff00000e
811*4882a593Smuzhiyun #define	FW_CCA_CHK_ENABLE			0xff000011
812*4882a593Smuzhiyun #define	FW_CCK_RESET_CNT			0xff000013
813*4882a593Smuzhiyun #define	FW_LPS_ENTER				0xfe000010
814*4882a593Smuzhiyun #define	FW_LPS_LEAVE				0xfe000011
815*4882a593Smuzhiyun #define	FW_INDIRECT_READ			0xf2000000
816*4882a593Smuzhiyun #define	FW_INDIRECT_WRITE			0xf2000001
817*4882a593Smuzhiyun #define	FW_CHAN_SET				0xf3000001
818*4882a593Smuzhiyun 
819*4882a593Smuzhiyun #define RFPC					0x5F
820*4882a593Smuzhiyun #define RCR_9356SEL				BIT(6)
821*4882a593Smuzhiyun #define TCR_LRL_OFFSET				0
822*4882a593Smuzhiyun #define TCR_SRL_OFFSET				8
823*4882a593Smuzhiyun #define TCR_MXDMA_OFFSET			21
824*4882a593Smuzhiyun #define TCR_SAT					BIT(24)
825*4882a593Smuzhiyun #define RCR_MXDMA_OFFSET			8
826*4882a593Smuzhiyun #define RCR_FIFO_OFFSET				13
827*4882a593Smuzhiyun #define RCR_ONLYERLPKT				BIT(31)
828*4882a593Smuzhiyun #define CWR					0xDC
829*4882a593Smuzhiyun #define RETRYCTR				0xDE
830*4882a593Smuzhiyun 
831*4882a593Smuzhiyun #define CPU_GEN_SYSTEM_RESET			0x00000001
832*4882a593Smuzhiyun 
833*4882a593Smuzhiyun #define	CCX_COMMAND_REG				0x890
834*4882a593Smuzhiyun #define	CLM_PERIOD_REG				0x894
835*4882a593Smuzhiyun #define	NHM_PERIOD_REG				0x896
836*4882a593Smuzhiyun 
837*4882a593Smuzhiyun #define	NHM_THRESHOLD0				0x898
838*4882a593Smuzhiyun #define	NHM_THRESHOLD1				0x899
839*4882a593Smuzhiyun #define	NHM_THRESHOLD2				0x89A
840*4882a593Smuzhiyun #define	NHM_THRESHOLD3				0x89B
841*4882a593Smuzhiyun #define	NHM_THRESHOLD4				0x89C
842*4882a593Smuzhiyun #define	NHM_THRESHOLD5				0x89D
843*4882a593Smuzhiyun #define	NHM_THRESHOLD6				0x89E
844*4882a593Smuzhiyun #define	CLM_RESULT_REG				0x8D0
845*4882a593Smuzhiyun #define	NHM_RESULT_REG				0x8D4
846*4882a593Smuzhiyun #define	NHM_RPI_COUNTER0			0x8D8
847*4882a593Smuzhiyun #define	NHM_RPI_COUNTER1			0x8D9
848*4882a593Smuzhiyun #define	NHM_RPI_COUNTER2			0x8DA
849*4882a593Smuzhiyun #define	NHM_RPI_COUNTER3			0x8DB
850*4882a593Smuzhiyun #define	NHM_RPI_COUNTER4			0x8DC
851*4882a593Smuzhiyun #define	NHM_RPI_COUNTER5			0x8DD
852*4882a593Smuzhiyun #define	NHM_RPI_COUNTER6			0x8DE
853*4882a593Smuzhiyun #define	NHM_RPI_COUNTER7			0x8DF
854*4882a593Smuzhiyun 
855*4882a593Smuzhiyun #define	HAL_8192S_HW_GPIO_OFF_BIT		BIT(3)
856*4882a593Smuzhiyun #define	HAL_8192S_HW_GPIO_OFF_MASK		0xF7
857*4882a593Smuzhiyun #define	HAL_8192S_HW_GPIO_WPS_BIT		BIT(4)
858*4882a593Smuzhiyun 
859*4882a593Smuzhiyun #define	RPMAC_RESET				0x100
860*4882a593Smuzhiyun #define	RPMAC_TXSTART				0x104
861*4882a593Smuzhiyun #define	RPMAC_TXLEGACYSIG			0x108
862*4882a593Smuzhiyun #define	RPMAC_TXHTSIG1				0x10c
863*4882a593Smuzhiyun #define	RPMAC_TXHTSIG2				0x110
864*4882a593Smuzhiyun #define	RPMAC_PHYDEBUG				0x114
865*4882a593Smuzhiyun #define	RPMAC_TXPACKETNNM			0x118
866*4882a593Smuzhiyun #define	RPMAC_TXIDLE				0x11c
867*4882a593Smuzhiyun #define	RPMAC_TXMACHEADER0			0x120
868*4882a593Smuzhiyun #define	RPMAC_TXMACHEADER1			0x124
869*4882a593Smuzhiyun #define	RPMAC_TXMACHEADER2			0x128
870*4882a593Smuzhiyun #define	RPMAC_TXMACHEADER3			0x12c
871*4882a593Smuzhiyun #define	RPMAC_TXMACHEADER4			0x130
872*4882a593Smuzhiyun #define	RPMAC_TXMACHEADER5			0x134
873*4882a593Smuzhiyun #define	RPMAC_TXDATATYPE			0x138
874*4882a593Smuzhiyun #define	RPMAC_TXRANDOMSEED			0x13c
875*4882a593Smuzhiyun #define	RPMAC_CCKPLCPPREAMBLE			0x140
876*4882a593Smuzhiyun #define	RPMAC_CCKPLCPHEADER			0x144
877*4882a593Smuzhiyun #define	RPMAC_CCKCRC16				0x148
878*4882a593Smuzhiyun #define	RPMAC_OFDMRXCRC32OK			0x170
879*4882a593Smuzhiyun #define	RPMAC_OFDMRXCRC32ER			0x174
880*4882a593Smuzhiyun #define	RPMAC_OFDMRXPARITYER			0x178
881*4882a593Smuzhiyun #define	RPMAC_OFDMRXCRC8ER			0x17c
882*4882a593Smuzhiyun #define	RPMAC_CCKCRXRC16ER			0x180
883*4882a593Smuzhiyun #define	RPMAC_CCKCRXRC32ER			0x184
884*4882a593Smuzhiyun #define	RPMAC_CCKCRXRC32OK			0x188
885*4882a593Smuzhiyun #define	RPMAC_TXSTATUS				0x18c
886*4882a593Smuzhiyun 
887*4882a593Smuzhiyun #define	RF_BB_CMD_ADDR				0x02c0
888*4882a593Smuzhiyun #define	RF_BB_CMD_DATA				0x02c4
889*4882a593Smuzhiyun 
890*4882a593Smuzhiyun #define	RFPGA0_RFMOD				0x800
891*4882a593Smuzhiyun 
892*4882a593Smuzhiyun #define	RFPGA0_TXINFO				0x804
893*4882a593Smuzhiyun #define	RFPGA0_PSDFUNCTION			0x808
894*4882a593Smuzhiyun 
895*4882a593Smuzhiyun #define	RFPGA0_TXGAINSTAGE			0x80c
896*4882a593Smuzhiyun 
897*4882a593Smuzhiyun #define	RFPGA0_RFTIMING1			0x810
898*4882a593Smuzhiyun #define	RFPGA0_RFTIMING2			0x814
899*4882a593Smuzhiyun #define	RFPGA0_XA_HSSIPARAMETER1		0x820
900*4882a593Smuzhiyun #define	RFPGA0_XA_HSSIPARAMETER2		0x824
901*4882a593Smuzhiyun #define	RFPGA0_XB_HSSIPARAMETER1		0x828
902*4882a593Smuzhiyun #define	RFPGA0_XB_HSSIPARAMETER2		0x82c
903*4882a593Smuzhiyun #define	RFPGA0_XC_HSSIPARAMETER1		0x830
904*4882a593Smuzhiyun #define	RFPGA0_XC_HSSIPARAMETER2		0x834
905*4882a593Smuzhiyun #define	RFPGA0_XD_HSSIPARAMETER1		0x838
906*4882a593Smuzhiyun #define	RFPGA0_XD_HSSIPARAMETER2		0x83c
907*4882a593Smuzhiyun #define	RFPGA0_XA_LSSIPARAMETER			0x840
908*4882a593Smuzhiyun #define	RFPGA0_XB_LSSIPARAMETER			0x844
909*4882a593Smuzhiyun #define	RFPGA0_XC_LSSIPARAMETER			0x848
910*4882a593Smuzhiyun #define	RFPGA0_XD_LSSIPARAMETER			0x84c
911*4882a593Smuzhiyun 
912*4882a593Smuzhiyun #define	RFPGA0_RFWAKEUP_PARAMETER		0x850
913*4882a593Smuzhiyun #define	RFPGA0_RFSLEEPUP_PARAMETER		0x854
914*4882a593Smuzhiyun 
915*4882a593Smuzhiyun #define	RFPGA0_XAB_SWITCHCONTROL		0x858
916*4882a593Smuzhiyun #define	RFPGA0_XCD_SWITCHCONTROL		0x85c
917*4882a593Smuzhiyun 
918*4882a593Smuzhiyun #define	RFPGA0_XA_RFINTERFACEOE			0x860
919*4882a593Smuzhiyun #define	RFPGA0_XB_RFINTERFACEOE			0x864
920*4882a593Smuzhiyun #define	RFPGA0_XC_RFINTERFACEOE			0x868
921*4882a593Smuzhiyun #define	RFPGA0_XD_RFINTERFACEOE			0x86c
922*4882a593Smuzhiyun 
923*4882a593Smuzhiyun #define	RFPGA0_XAB_RFINTERFACESW		0x870
924*4882a593Smuzhiyun #define	RFPGA0_XCD_RFINTERFACESW		0x874
925*4882a593Smuzhiyun 
926*4882a593Smuzhiyun #define	RFPGA0_XAB_RFPARAMETER			0x878
927*4882a593Smuzhiyun #define	RFPGA0_XCD_RFPARAMETER			0x87c
928*4882a593Smuzhiyun 
929*4882a593Smuzhiyun #define	RFPGA0_ANALOGPARAMETER1			0x880
930*4882a593Smuzhiyun #define	RFPGA0_ANALOGPARAMETER2			0x884
931*4882a593Smuzhiyun #define	RFPGA0_ANALOGPARAMETER3			0x888
932*4882a593Smuzhiyun #define	RFPGA0_ANALOGPARAMETER4			0x88c
933*4882a593Smuzhiyun 
934*4882a593Smuzhiyun #define	RFPGA0_XA_LSSIREADBACK			0x8a0
935*4882a593Smuzhiyun #define	RFPGA0_XB_LSSIREADBACK			0x8a4
936*4882a593Smuzhiyun #define	RFPGA0_XC_LSSIREADBACK			0x8a8
937*4882a593Smuzhiyun #define	RFPGA0_XD_LSSIREADBACK			0x8ac
938*4882a593Smuzhiyun 
939*4882a593Smuzhiyun #define	RFPGA0_PSDREPORT			0x8b4
940*4882a593Smuzhiyun #define	TRANSCEIVERA_HSPI_READBACK		0x8b8
941*4882a593Smuzhiyun #define	TRANSCEIVERB_HSPI_READBACK		0x8bc
942*4882a593Smuzhiyun #define	RFPGA0_XAB_RFINTERFACERB		0x8e0
943*4882a593Smuzhiyun #define	RFPGA0_XCD_RFINTERFACERB		0x8e4
944*4882a593Smuzhiyun #define	RFPGA1_RFMOD				0x900
945*4882a593Smuzhiyun 
946*4882a593Smuzhiyun #define	RFPGA1_TXBLOCK				0x904
947*4882a593Smuzhiyun #define	RFPGA1_DEBUGSELECT			0x908
948*4882a593Smuzhiyun #define	RFPGA1_TXINFO				0x90c
949*4882a593Smuzhiyun 
950*4882a593Smuzhiyun #define	RCCK0_SYSTEM				0xa00
951*4882a593Smuzhiyun 
952*4882a593Smuzhiyun #define	RCCK0_AFESETTING			0xa04
953*4882a593Smuzhiyun #define	RCCK0_CCA				0xa08
954*4882a593Smuzhiyun 
955*4882a593Smuzhiyun #define	RCCK0_RXAGC1				0xa0c
956*4882a593Smuzhiyun #define	RCCK0_RXAGC2				0xa10
957*4882a593Smuzhiyun 
958*4882a593Smuzhiyun #define	RCCK0_RXHP				0xa14
959*4882a593Smuzhiyun 
960*4882a593Smuzhiyun #define	RCCK0_DSPPARAMETER1			0xa18
961*4882a593Smuzhiyun #define	RCCK0_DSPPARAMETER2			0xa1c
962*4882a593Smuzhiyun 
963*4882a593Smuzhiyun #define	RCCK0_TXFILTER1				0xa20
964*4882a593Smuzhiyun #define	RCCK0_TXFILTER2				0xa24
965*4882a593Smuzhiyun #define	RCCK0_DEBUGPORT				0xa28
966*4882a593Smuzhiyun #define	RCCK0_FALSEALARMREPORT			0xa2c
967*4882a593Smuzhiyun #define	RCCK0_TRSSIREPORT			0xa50
968*4882a593Smuzhiyun #define	RCCK0_RXREPORT				0xa54
969*4882a593Smuzhiyun #define	RCCK0_FACOUNTERLOWER			0xa5c
970*4882a593Smuzhiyun #define	RCCK0_FACOUNTERUPPER			0xa58
971*4882a593Smuzhiyun 
972*4882a593Smuzhiyun #define	ROFDM0_LSTF				0xc00
973*4882a593Smuzhiyun 
974*4882a593Smuzhiyun #define	ROFDM0_TRXPATHENABLE			0xc04
975*4882a593Smuzhiyun #define	ROFDM0_TRMUXPAR				0xc08
976*4882a593Smuzhiyun #define	ROFDM0_TRSWISOLATION			0xc0c
977*4882a593Smuzhiyun 
978*4882a593Smuzhiyun #define	ROFDM0_XARXAFE				0xc10
979*4882a593Smuzhiyun #define	ROFDM0_XARXIQIMBALANCE			0xc14
980*4882a593Smuzhiyun #define	ROFDM0_XBRXAFE				0xc18
981*4882a593Smuzhiyun #define	ROFDM0_XBRXIQIMBALANCE			0xc1c
982*4882a593Smuzhiyun #define	ROFDM0_XCRXAFE				0xc20
983*4882a593Smuzhiyun #define	ROFDM0_XCRXIQIMBALANCE			0xc24
984*4882a593Smuzhiyun #define	ROFDM0_XDRXAFE				0xc28
985*4882a593Smuzhiyun #define	ROFDM0_XDRXIQIMBALANCE			0xc2c
986*4882a593Smuzhiyun 
987*4882a593Smuzhiyun #define	ROFDM0_RXDETECTOR1			0xc30
988*4882a593Smuzhiyun #define	ROFDM0_RXDETECTOR2			0xc34
989*4882a593Smuzhiyun #define	ROFDM0_RXDETECTOR3			0xc38
990*4882a593Smuzhiyun #define	ROFDM0_RXDETECTOR4			0xc3c
991*4882a593Smuzhiyun 
992*4882a593Smuzhiyun #define	ROFDM0_RXDSP				0xc40
993*4882a593Smuzhiyun #define	ROFDM0_CFO_AND_DAGC			0xc44
994*4882a593Smuzhiyun #define	ROFDM0_CCADROP_THRESHOLD		0xc48
995*4882a593Smuzhiyun #define	ROFDM0_ECCA_THRESHOLD			0xc4c
996*4882a593Smuzhiyun 
997*4882a593Smuzhiyun #define	ROFDM0_XAAGCCORE1			0xc50
998*4882a593Smuzhiyun #define	ROFDM0_XAAGCCORE2			0xc54
999*4882a593Smuzhiyun #define	ROFDM0_XBAGCCORE1			0xc58
1000*4882a593Smuzhiyun #define	ROFDM0_XBAGCCORE2			0xc5c
1001*4882a593Smuzhiyun #define	ROFDM0_XCAGCCORE1			0xc60
1002*4882a593Smuzhiyun #define	ROFDM0_XCAGCCORE2			0xc64
1003*4882a593Smuzhiyun #define	ROFDM0_XDAGCCORE1			0xc68
1004*4882a593Smuzhiyun #define	ROFDM0_XDAGCCORE2			0xc6c
1005*4882a593Smuzhiyun 
1006*4882a593Smuzhiyun #define	ROFDM0_AGCPARAMETER1			0xc70
1007*4882a593Smuzhiyun #define	ROFDM0_AGCPARAMETER2			0xc74
1008*4882a593Smuzhiyun #define	ROFDM0_AGCRSSITABLE			0xc78
1009*4882a593Smuzhiyun #define	ROFDM0_HTSTFAGC				0xc7c
1010*4882a593Smuzhiyun 
1011*4882a593Smuzhiyun #define	ROFDM0_XATXIQIMBALANCE			0xc80
1012*4882a593Smuzhiyun #define	ROFDM0_XATXAFE				0xc84
1013*4882a593Smuzhiyun #define	ROFDM0_XBTXIQIMBALANCE			0xc88
1014*4882a593Smuzhiyun #define	ROFDM0_XBTXAFE				0xc8c
1015*4882a593Smuzhiyun #define	ROFDM0_XCTXIQIMBALANCE			0xc90
1016*4882a593Smuzhiyun #define	ROFDM0_XCTXAFE				0xc94
1017*4882a593Smuzhiyun #define	ROFDM0_XDTXIQIMBALANCE			0xc98
1018*4882a593Smuzhiyun #define	ROFDM0_XDTXAFE				0xc9c
1019*4882a593Smuzhiyun 
1020*4882a593Smuzhiyun #define	ROFDM0_RXHP_PARAMETER			0xce0
1021*4882a593Smuzhiyun #define	ROFDM0_TXPSEUDO_NOISE_WGT		0xce4
1022*4882a593Smuzhiyun #define	ROFDM0_FRAME_SYNC			0xcf0
1023*4882a593Smuzhiyun #define	ROFDM0_DFSREPORT			0xcf4
1024*4882a593Smuzhiyun #define	ROFDM0_TXCOEFF1				0xca4
1025*4882a593Smuzhiyun #define	ROFDM0_TXCOEFF2				0xca8
1026*4882a593Smuzhiyun #define	ROFDM0_TXCOEFF3				0xcac
1027*4882a593Smuzhiyun #define	ROFDM0_TXCOEFF4				0xcb0
1028*4882a593Smuzhiyun #define	ROFDM0_TXCOEFF5				0xcb4
1029*4882a593Smuzhiyun #define	ROFDM0_TXCOEFF6				0xcb8
1030*4882a593Smuzhiyun 
1031*4882a593Smuzhiyun 
1032*4882a593Smuzhiyun #define	ROFDM1_LSTF				0xd00
1033*4882a593Smuzhiyun #define	ROFDM1_TRXPATHENABLE			0xd04
1034*4882a593Smuzhiyun 
1035*4882a593Smuzhiyun #define	ROFDM1_CFO				0xd08
1036*4882a593Smuzhiyun #define	ROFDM1_CSI1				0xd10
1037*4882a593Smuzhiyun #define	ROFDM1_SBD				0xd14
1038*4882a593Smuzhiyun #define	ROFDM1_CSI2				0xd18
1039*4882a593Smuzhiyun #define	ROFDM1_CFOTRACKING			0xd2c
1040*4882a593Smuzhiyun #define	ROFDM1_TRXMESAURE1			0xd34
1041*4882a593Smuzhiyun #define	ROFDM1_INTF_DET				0xd3c
1042*4882a593Smuzhiyun #define	ROFDM1_PSEUDO_NOISESTATEAB		0xd50
1043*4882a593Smuzhiyun #define	ROFDM1_PSEUDO_NOISESTATECD		0xd54
1044*4882a593Smuzhiyun #define	ROFDM1_RX_PSEUDO_NOISE_WGT		0xd58
1045*4882a593Smuzhiyun 
1046*4882a593Smuzhiyun #define	ROFDM_PHYCOUNTER1			0xda0
1047*4882a593Smuzhiyun #define	ROFDM_PHYCOUNTER2			0xda4
1048*4882a593Smuzhiyun #define	ROFDM_PHYCOUNTER3			0xda8
1049*4882a593Smuzhiyun 
1050*4882a593Smuzhiyun #define	ROFDM_SHORT_CFOAB			0xdac
1051*4882a593Smuzhiyun #define	ROFDM_SHORT_CFOCD			0xdb0
1052*4882a593Smuzhiyun #define	ROFDM_LONG_CFOAB			0xdb4
1053*4882a593Smuzhiyun #define	ROFDM_LONG_CFOCD			0xdb8
1054*4882a593Smuzhiyun #define	ROFDM_TAIL_CFOAB			0xdbc
1055*4882a593Smuzhiyun #define	ROFDM_TAIL_CFOCD			0xdc0
1056*4882a593Smuzhiyun #define	ROFDM_PW_MEASURE1			0xdc4
1057*4882a593Smuzhiyun #define	ROFDM_PW_MEASURE2			0xdc8
1058*4882a593Smuzhiyun #define	ROFDM_BW_REPORT				0xdcc
1059*4882a593Smuzhiyun #define	ROFDM_AGC_REPORT			0xdd0
1060*4882a593Smuzhiyun #define	ROFDM_RXSNR				0xdd4
1061*4882a593Smuzhiyun #define	ROFDM_RXEVMCSI				0xdd8
1062*4882a593Smuzhiyun #define	ROFDM_SIG_REPORT			0xddc
1063*4882a593Smuzhiyun 
1064*4882a593Smuzhiyun 
1065*4882a593Smuzhiyun #define	RTXAGC_RATE18_06			0xe00
1066*4882a593Smuzhiyun #define	RTXAGC_RATE54_24			0xe04
1067*4882a593Smuzhiyun #define	RTXAGC_CCK_MCS32			0xe08
1068*4882a593Smuzhiyun #define	RTXAGC_MCS03_MCS00			0xe10
1069*4882a593Smuzhiyun #define	RTXAGC_MCS07_MCS04			0xe14
1070*4882a593Smuzhiyun #define	RTXAGC_MCS11_MCS08			0xe18
1071*4882a593Smuzhiyun #define	RTXAGC_MCS15_MCS12			0xe1c
1072*4882a593Smuzhiyun 
1073*4882a593Smuzhiyun 
1074*4882a593Smuzhiyun #define	RF_AC					0x00
1075*4882a593Smuzhiyun #define	RF_IQADJ_G1				0x01
1076*4882a593Smuzhiyun #define	RF_IQADJ_G2				0x02
1077*4882a593Smuzhiyun #define	RF_POW_TRSW				0x05
1078*4882a593Smuzhiyun #define	RF_GAIN_RX				0x06
1079*4882a593Smuzhiyun #define	RF_GAIN_TX				0x07
1080*4882a593Smuzhiyun #define	RF_TXM_IDAC				0x08
1081*4882a593Smuzhiyun #define	RF_BS_IQGEN				0x0F
1082*4882a593Smuzhiyun 
1083*4882a593Smuzhiyun #define	RF_MODE1				0x10
1084*4882a593Smuzhiyun #define	RF_MODE2				0x11
1085*4882a593Smuzhiyun #define	RF_RX_AGC_HP				0x12
1086*4882a593Smuzhiyun #define	RF_TX_AGC				0x13
1087*4882a593Smuzhiyun #define	RF_BIAS					0x14
1088*4882a593Smuzhiyun #define	RF_IPA					0x15
1089*4882a593Smuzhiyun #define	RF_POW_ABILITY				0x17
1090*4882a593Smuzhiyun #define	RF_MODE_AG				0x18
1091*4882a593Smuzhiyun #define	RF_CHANNEL				0x18
1092*4882a593Smuzhiyun #define	RF_CHNLBW				0x18
1093*4882a593Smuzhiyun #define	RF_TOP					0x19
1094*4882a593Smuzhiyun #define	RF_RX_G1				0x1A
1095*4882a593Smuzhiyun #define	RF_RX_G2				0x1B
1096*4882a593Smuzhiyun #define	RF_RX_BB2				0x1C
1097*4882a593Smuzhiyun #define	RF_RX_BB1				0x1D
1098*4882a593Smuzhiyun #define	RF_RCK1					0x1E
1099*4882a593Smuzhiyun #define	RF_RCK2					0x1F
1100*4882a593Smuzhiyun 
1101*4882a593Smuzhiyun #define	RF_TX_G1				0x20
1102*4882a593Smuzhiyun #define	RF_TX_G2				0x21
1103*4882a593Smuzhiyun #define	RF_TX_G3				0x22
1104*4882a593Smuzhiyun #define	RF_TX_BB1				0x23
1105*4882a593Smuzhiyun #define	RF_T_METER				0x24
1106*4882a593Smuzhiyun #define	RF_SYN_G1				0x25
1107*4882a593Smuzhiyun #define	RF_SYN_G2				0x26
1108*4882a593Smuzhiyun #define	RF_SYN_G3				0x27
1109*4882a593Smuzhiyun #define	RF_SYN_G4				0x28
1110*4882a593Smuzhiyun #define	RF_SYN_G5				0x29
1111*4882a593Smuzhiyun #define	RF_SYN_G6				0x2A
1112*4882a593Smuzhiyun #define	RF_SYN_G7				0x2B
1113*4882a593Smuzhiyun #define	RF_SYN_G8				0x2C
1114*4882a593Smuzhiyun 
1115*4882a593Smuzhiyun #define	RF_RCK_OS				0x30
1116*4882a593Smuzhiyun #define	RF_TXPA_G1				0x31
1117*4882a593Smuzhiyun #define	RF_TXPA_G2				0x32
1118*4882a593Smuzhiyun #define	RF_TXPA_G3				0x33
1119*4882a593Smuzhiyun 
1120*4882a593Smuzhiyun #define	BRFMOD					0x1
1121*4882a593Smuzhiyun #define	BCCKEN					0x1000000
1122*4882a593Smuzhiyun #define	BOFDMEN					0x2000000
1123*4882a593Smuzhiyun 
1124*4882a593Smuzhiyun #define	BXBTXAGC				0xf00
1125*4882a593Smuzhiyun #define	BXCTXAGC				0xf000
1126*4882a593Smuzhiyun #define	BXDTXAGC				0xf0000
1127*4882a593Smuzhiyun 
1128*4882a593Smuzhiyun #define	B3WIRE_DATALENGTH			0x800
1129*4882a593Smuzhiyun #define	B3WIRE_ADDRESSLENGTH			0x400
1130*4882a593Smuzhiyun 
1131*4882a593Smuzhiyun #define	BRFSI_RFENV				0x10
1132*4882a593Smuzhiyun 
1133*4882a593Smuzhiyun #define	BLSSI_READADDRESS			0x7f800000
1134*4882a593Smuzhiyun #define	BLSSI_READEDGE				0x80000000
1135*4882a593Smuzhiyun #define	BLSSI_READBACK_DATA			0xfffff
1136*4882a593Smuzhiyun 
1137*4882a593Smuzhiyun #define	BADCLKPHASE				0x4000000
1138*4882a593Smuzhiyun 
1139*4882a593Smuzhiyun #define	BCCK_SIDEBAND				0x10
1140*4882a593Smuzhiyun 
1141*4882a593Smuzhiyun #define	BTX_AGCRATECCK				0x7f00
1142*4882a593Smuzhiyun 
1143*4882a593Smuzhiyun #endif
1144