xref: /linux/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/reg.h (revision 597473720f4dc69749542bfcfed4a927a43d935e)
1*48fa0b4dSLarry Finger /* SPDX-License-Identifier: GPL-2.0 */
2*48fa0b4dSLarry Finger /* Copyright(c) 2009-2012  Realtek Corporation.*/
3c592e631SLarry Finger 
4c592e631SLarry Finger #ifndef __RTL8723E_REG_H__
5c592e631SLarry Finger #define __RTL8723E_REG_H__
6c592e631SLarry Finger 
7c592e631SLarry Finger #define REG_SYS_ISO_CTRL			0x0000
8c592e631SLarry Finger #define REG_SYS_FUNC_EN				0x0002
9c592e631SLarry Finger #define REG_APS_FSMCO				0x0004
10c592e631SLarry Finger #define REG_SYS_CLKR				0x0008
11c592e631SLarry Finger #define REG_9346CR					0x000A
12c592e631SLarry Finger #define REG_EE_VPD					0x000C
13c592e631SLarry Finger #define REG_AFE_MISC				0x0010
14c592e631SLarry Finger #define REG_SPS0_CTRL				0x0011
15c592e631SLarry Finger #define REG_SPS_OCP_CFG				0x0018
16c592e631SLarry Finger #define REG_RSV_CTRL				0x001C
17c592e631SLarry Finger #define REG_RF_CTRL					0x001F
18c592e631SLarry Finger #define REG_LDOA15_CTRL				0x0020
19c592e631SLarry Finger #define REG_LDOV12D_CTRL			0x0021
20c592e631SLarry Finger #define REG_LDOHCI12_CTRL			0x0022
21c592e631SLarry Finger #define REG_LPLDO_CTRL				0x0023
22c592e631SLarry Finger #define REG_AFE_XTAL_CTRL			0x0024
23c592e631SLarry Finger #define REG_AFE_PLL_CTRL			0x0028
24c592e631SLarry Finger #define REG_EFUSE_CTRL				0x0030
25c592e631SLarry Finger #define REG_EFUSE_TEST				0x0034
26c592e631SLarry Finger #define REG_PWR_DATA				0x0038
27c592e631SLarry Finger #define REG_CAL_TIMER				0x003C
28c592e631SLarry Finger #define REG_ACLK_MON				0x003E
29c592e631SLarry Finger #define REG_GPIO_MUXCFG				0x0040
30c592e631SLarry Finger #define REG_GPIO_IO_SEL				0x0042
31c592e631SLarry Finger #define REG_MAC_PINMUX_CFG			0x0043
32c592e631SLarry Finger #define REG_GPIO_PIN_CTRL			0x0044
33c592e631SLarry Finger #define REG_GPIO_INTM				0x0048
34c592e631SLarry Finger #define REG_LEDCFG0					0x004C
35c592e631SLarry Finger #define REG_LEDCFG1					0x004D
36c592e631SLarry Finger #define REG_LEDCFG2					0x004E
37c592e631SLarry Finger #define REG_LEDCFG3					0x004F
38c592e631SLarry Finger #define REG_FSIMR					0x0050
39c592e631SLarry Finger #define REG_FSISR					0x0054
40c592e631SLarry Finger #define REG_GPIO_PIN_CTRL_2			0x0060
41c592e631SLarry Finger #define REG_GPIO_IO_SEL_2			0x0062
42c592e631SLarry Finger #define REG_MULTI_FUNC_CTRL			0x0068
43c592e631SLarry Finger 
44c592e631SLarry Finger #define REG_MCUFWDL				0x0080
45c592e631SLarry Finger 
46c592e631SLarry Finger #define REG_HMEBOX_EXT_0			0x0088
47c592e631SLarry Finger #define REG_HMEBOX_EXT_1			0x008A
48c592e631SLarry Finger #define REG_HMEBOX_EXT_2			0x008C
49c592e631SLarry Finger #define REG_HMEBOX_EXT_3			0x008E
50c592e631SLarry Finger 
51c592e631SLarry Finger #define REG_BIST_SCAN				0x00D0
52c592e631SLarry Finger #define REG_BIST_RPT				0x00D4
53c592e631SLarry Finger #define REG_BIST_ROM_RPT			0x00D8
54c592e631SLarry Finger #define REG_USB_SIE_INTF			0x00E0
55c592e631SLarry Finger #define REG_PCIE_MIO_INTF			0x00E4
56c592e631SLarry Finger #define REG_PCIE_MIO_INTD			0x00E8
57c592e631SLarry Finger #define REG_SYS_CFG					0x00F0
58c592e631SLarry Finger #define REG_GPIO_OUTSTS				0x00F4
59c592e631SLarry Finger 
60c592e631SLarry Finger #define REG_CR						0x0100
61c592e631SLarry Finger #define REG_PBP						0x0104
62c592e631SLarry Finger #define REG_TRXDMA_CTRL				0x010C
63c592e631SLarry Finger #define REG_TRXFF_BNDY				0x0114
64c592e631SLarry Finger #define REG_TRXFF_STATUS			0x0118
65c592e631SLarry Finger #define REG_RXFF_PTR				0x011C
66c592e631SLarry Finger #define REG_HIMR					0x0120
67c592e631SLarry Finger #define REG_HISR					0x0124
68c592e631SLarry Finger #define REG_HIMRE					0x0128
69c592e631SLarry Finger #define REG_HISRE					0x012C
70c592e631SLarry Finger #define REG_CPWM					0x012F
71c592e631SLarry Finger #define REG_FWIMR					0x0130
72c592e631SLarry Finger #define REG_FWISR					0x0134
73c592e631SLarry Finger #define REG_PKTBUF_DBG_CTRL			0x0140
74c592e631SLarry Finger #define REG_PKTBUF_DBG_DATA_L		0x0144
75c592e631SLarry Finger #define REG_PKTBUF_DBG_DATA_H		0x0148
76c592e631SLarry Finger 
77c592e631SLarry Finger #define REG_TC0_CTRL				0x0150
78c592e631SLarry Finger #define REG_TC1_CTRL				0x0154
79c592e631SLarry Finger #define REG_TC2_CTRL				0x0158
80c592e631SLarry Finger #define REG_TC3_CTRL				0x015C
81c592e631SLarry Finger #define REG_TC4_CTRL				0x0160
82c592e631SLarry Finger #define REG_TCUNIT_BASE				0x0164
83c592e631SLarry Finger #define REG_MBIST_START				0x0174
84c592e631SLarry Finger #define REG_MBIST_DONE				0x0178
85c592e631SLarry Finger #define REG_MBIST_FAIL				0x017C
86c592e631SLarry Finger #define REG_C2HEVT_MSG_NORMAL		0x01A0
87c592e631SLarry Finger #define REG_C2HEVT_MSG_TEST			0x01B8
88c592e631SLarry Finger #define REG_MCUTST_1				0x01c0
89c592e631SLarry Finger #define REG_FMETHR					0x01C8
90c592e631SLarry Finger #define REG_HMETFR					0x01CC
91c592e631SLarry Finger #define REG_HMEBOX_0				0x01D0
92c592e631SLarry Finger #define REG_HMEBOX_1				0x01D4
93c592e631SLarry Finger #define REG_HMEBOX_2				0x01D8
94c592e631SLarry Finger #define REG_HMEBOX_3				0x01DC
95c592e631SLarry Finger 
96c592e631SLarry Finger #define REG_LLT_INIT				0x01E0
97c592e631SLarry Finger #define REG_BB_ACCEESS_CTRL			0x01E8
98c592e631SLarry Finger #define REG_BB_ACCESS_DATA			0x01EC
99c592e631SLarry Finger 
100c592e631SLarry Finger #define REG_RQPN					0x0200
101c592e631SLarry Finger #define REG_FIFOPAGE				0x0204
102c592e631SLarry Finger #define REG_TDECTRL					0x0208
103c592e631SLarry Finger #define REG_TXDMA_OFFSET_CHK		0x020C
104c592e631SLarry Finger #define REG_TXDMA_STATUS			0x0210
105c592e631SLarry Finger #define REG_RQPN_NPQ				0x0214
106c592e631SLarry Finger 
107c592e631SLarry Finger #define REG_RXDMA_AGG_PG_TH			0x0280
108c592e631SLarry Finger #define REG_RXPKT_NUM				0x0284
109c592e631SLarry Finger #define REG_RXDMA_STATUS			0x0288
110c592e631SLarry Finger 
111c592e631SLarry Finger #define	REG_PCIE_CTRL_REG			0x0300
112c592e631SLarry Finger #define	REG_INT_MIG					0x0304
113c592e631SLarry Finger #define	REG_BCNQ_DESA				0x0308
114c592e631SLarry Finger #define	REG_HQ_DESA					0x0310
115c592e631SLarry Finger #define	REG_MGQ_DESA				0x0318
116c592e631SLarry Finger #define	REG_VOQ_DESA				0x0320
117c592e631SLarry Finger #define	REG_VIQ_DESA				0x0328
118c592e631SLarry Finger #define	REG_BEQ_DESA				0x0330
119c592e631SLarry Finger #define	REG_BKQ_DESA				0x0338
120c592e631SLarry Finger #define	REG_RX_DESA					0x0340
121c592e631SLarry Finger #define	REG_DBI						0x0348
122c592e631SLarry Finger #define	REG_MDIO					0x0354
123c592e631SLarry Finger #define	REG_DBG_SEL					0x0360
124c592e631SLarry Finger #define	REG_PCIE_HRPWM				0x0361
125c592e631SLarry Finger #define	REG_PCIE_HCPWM				0x0363
126c592e631SLarry Finger #define	REG_UART_CTRL				0x0364
127c592e631SLarry Finger #define	REG_UART_TX_DESA			0x0370
128c592e631SLarry Finger #define	REG_UART_RX_DESA			0x0378
129c592e631SLarry Finger 
130c592e631SLarry Finger #define	REG_HDAQ_DESA_NODEF			0x0000
131c592e631SLarry Finger #define	REG_CMDQ_DESA_NODEF			0x0000
132c592e631SLarry Finger 
133c592e631SLarry Finger #define REG_VOQ_INFORMATION			0x0400
134c592e631SLarry Finger #define REG_VIQ_INFORMATION			0x0404
135c592e631SLarry Finger #define REG_BEQ_INFORMATION			0x0408
136c592e631SLarry Finger #define REG_BKQ_INFORMATION			0x040C
137c592e631SLarry Finger #define REG_MGQ_INFORMATION			0x0410
138c592e631SLarry Finger #define REG_HGQ_INFORMATION			0x0414
139c592e631SLarry Finger #define REG_BCNQ_INFORMATION		0x0418
140c592e631SLarry Finger 
141c592e631SLarry Finger #define REG_CPU_MGQ_INFORMATION		0x041C
142c592e631SLarry Finger #define REG_FWHW_TXQ_CTRL			0x0420
143c592e631SLarry Finger #define REG_HWSEQ_CTRL				0x0423
144c592e631SLarry Finger #define REG_TXPKTBUF_BCNQ_BDNY		0x0424
145c592e631SLarry Finger #define REG_TXPKTBUF_MGQ_BDNY		0x0425
146c592e631SLarry Finger #define REG_MULTI_BCNQ_EN			0x0426
147c592e631SLarry Finger #define REG_MULTI_BCNQ_OFFSET		0x0427
148c592e631SLarry Finger #define REG_SPEC_SIFS				0x0428
149c592e631SLarry Finger #define REG_RL						0x042A
150c592e631SLarry Finger #define REG_DARFRC					0x0430
151c592e631SLarry Finger #define REG_RARFRC					0x0438
152c592e631SLarry Finger #define REG_RRSR					0x0440
153c592e631SLarry Finger #define REG_ARFR0					0x0444
154c592e631SLarry Finger #define REG_ARFR1					0x0448
155c592e631SLarry Finger #define REG_ARFR2					0x044C
156c592e631SLarry Finger #define REG_ARFR3					0x0450
157c592e631SLarry Finger #define REG_AGGLEN_LMT				0x0458
158c592e631SLarry Finger #define REG_AMPDU_MIN_SPACE			0x045C
159c592e631SLarry Finger #define REG_TXPKTBUF_WMAC_LBK_BF_HD	0x045D
160c592e631SLarry Finger #define REG_FAST_EDCA_CTRL			0x0460
161c592e631SLarry Finger #define REG_RD_RESP_PKT_TH			0x0463
162c592e631SLarry Finger #define REG_INIRTS_RATE_SEL			0x0480
163c592e631SLarry Finger #define REG_INIDATA_RATE_SEL		0x0484
164c592e631SLarry Finger #define REG_POWER_STATUS			0x04A4
165c592e631SLarry Finger #define REG_POWER_STAGE1			0x04B4
166c592e631SLarry Finger #define REG_POWER_STAGE2			0x04B8
167c592e631SLarry Finger #define REG_PKT_LIFE_TIME			0x04C0
168c592e631SLarry Finger #define REG_STBC_SETTING			0x04C4
169c592e631SLarry Finger #define REG_PROT_MODE_CTRL			0x04C8
170c592e631SLarry Finger #define REG_BAR_MODE_CTRL			0x04CC
171c592e631SLarry Finger #define REG_RA_TRY_RATE_AGG_LMT		0x04CF
172c592e631SLarry Finger #define REG_NQOS_SEQ				0x04DC
173c592e631SLarry Finger #define REG_QOS_SEQ					0x04DE
174c592e631SLarry Finger #define REG_NEED_CPU_HANDLE			0x04E0
175c592e631SLarry Finger #define REG_PKT_LOSE_RPT			0x04E1
176c592e631SLarry Finger #define REG_PTCL_ERR_STATUS			0x04E2
177c592e631SLarry Finger #define REG_DUMMY					0x04FC
178c592e631SLarry Finger 
179c592e631SLarry Finger #define REG_EDCA_VO_PARAM			0x0500
180c592e631SLarry Finger #define REG_EDCA_VI_PARAM			0x0504
181c592e631SLarry Finger #define REG_EDCA_BE_PARAM			0x0508
182c592e631SLarry Finger #define REG_EDCA_BK_PARAM			0x050C
183c592e631SLarry Finger #define REG_BCNTCFG					0x0510
184c592e631SLarry Finger #define REG_PIFS					0x0512
185c592e631SLarry Finger #define REG_RDG_PIFS				0x0513
186c592e631SLarry Finger #define REG_SIFS_CTX				0x0514
187c592e631SLarry Finger #define REG_SIFS_TRX				0x0516
188c592e631SLarry Finger #define REG_AGGR_BREAK_TIME			0x051A
189c592e631SLarry Finger #define REG_SLOT					0x051B
190c592e631SLarry Finger #define REG_TX_PTCL_CTRL			0x0520
191c592e631SLarry Finger #define REG_TXPAUSE					0x0522
192c592e631SLarry Finger #define REG_DIS_TXREQ_CLR			0x0523
193c592e631SLarry Finger #define REG_RD_CTRL					0x0524
194c592e631SLarry Finger #define REG_TBTT_PROHIBIT			0x0540
195c592e631SLarry Finger #define REG_RD_NAV_NXT				0x0544
196c592e631SLarry Finger #define REG_NAV_PROT_LEN			0x0546
197c592e631SLarry Finger #define REG_BCN_CTRL				0x0550
198c592e631SLarry Finger #define REG_MBID_NUM				0x0552
199c592e631SLarry Finger #define REG_DUAL_TSF_RST			0x0553
200c592e631SLarry Finger #define REG_BCN_INTERVAL			0x0554
201c592e631SLarry Finger #define REG_MBSSID_BCN_SPACE		0x0554
202c592e631SLarry Finger #define REG_DRVERLYINT				0x0558
203c592e631SLarry Finger #define REG_BCNDMATIM				0x0559
204c592e631SLarry Finger #define REG_ATIMWND					0x055A
2059da96c5eSKevin Lo #define REG_USTIME_TSF				0x055C
206c592e631SLarry Finger #define REG_BCN_MAX_ERR				0x055D
207c592e631SLarry Finger #define REG_RXTSF_OFFSET_CCK		0x055E
208c592e631SLarry Finger #define REG_RXTSF_OFFSET_OFDM		0x055F
209c592e631SLarry Finger #define REG_TSFTR					0x0560
210c592e631SLarry Finger #define REG_INIT_TSFTR				0x0564
211c592e631SLarry Finger #define REG_PSTIMER					0x0580
212c592e631SLarry Finger #define REG_TIMER0					0x0584
213c592e631SLarry Finger #define REG_TIMER1					0x0588
214c592e631SLarry Finger #define REG_ACMHWCTRL				0x05C0
215c592e631SLarry Finger #define REG_ACMRSTCTRL				0x05C1
216c592e631SLarry Finger #define REG_ACMAVG					0x05C2
217c592e631SLarry Finger #define REG_VO_ADMTIME				0x05C4
218c592e631SLarry Finger #define REG_VI_ADMTIME				0x05C6
219c592e631SLarry Finger #define REG_BE_ADMTIME				0x05C8
220c592e631SLarry Finger #define REG_EDCA_RANDOM_GEN			0x05CC
221c592e631SLarry Finger #define REG_SCH_TXCMD				0x05D0
222c592e631SLarry Finger 
223c592e631SLarry Finger #define REG_APSD_CTRL				0x0600
224c592e631SLarry Finger #define REG_BWOPMODE				0x0603
225c592e631SLarry Finger #define REG_TCR						0x0604
226c592e631SLarry Finger #define REG_RCR						0x0608
227c592e631SLarry Finger #define REG_RX_PKT_LIMIT			0x060C
228c592e631SLarry Finger #define REG_RX_DLK_TIME				0x060D
229c592e631SLarry Finger #define REG_RX_DRVINFO_SZ			0x060F
230c592e631SLarry Finger 
231c592e631SLarry Finger #define REG_MACID					0x0610
232c592e631SLarry Finger #define REG_BSSID					0x0618
233c592e631SLarry Finger #define REG_MAR						0x0620
234c592e631SLarry Finger #define REG_MBIDCAMCFG				0x0628
235c592e631SLarry Finger 
236c592e631SLarry Finger #define REG_USTIME_EDCA				0x0638
237c592e631SLarry Finger #define REG_MAC_SPEC_SIFS			0x063A
238c592e631SLarry Finger #define REG_RESP_SIFS_CCK			0x063C
239c592e631SLarry Finger #define REG_RESP_SIFS_OFDM			0x063E
240c592e631SLarry Finger #define REG_ACKTO					0x0640
241c592e631SLarry Finger #define REG_CTS2TO					0x0641
242c592e631SLarry Finger #define REG_EIFS					0x0642
243c592e631SLarry Finger 
244c592e631SLarry Finger #define REG_NAV_CTRL				0x0650
245c592e631SLarry Finger #define REG_BACAMCMD				0x0654
246c592e631SLarry Finger #define REG_BACAMCONTENT			0x0658
247c592e631SLarry Finger #define REG_LBDLY					0x0660
248c592e631SLarry Finger #define REG_FWDLY					0x0661
249c592e631SLarry Finger #define REG_RXERR_RPT				0x0664
250c592e631SLarry Finger #define REG_WMAC_TRXPTCL_CTL		0x0668
251c592e631SLarry Finger 
252c592e631SLarry Finger #define REG_CAMCMD					0x0670
253c592e631SLarry Finger #define REG_CAMWRITE				0x0674
254c592e631SLarry Finger #define REG_CAMREAD					0x0678
255c592e631SLarry Finger #define REG_CAMDBG					0x067C
256c592e631SLarry Finger #define REG_SECCFG					0x0680
257c592e631SLarry Finger 
258c592e631SLarry Finger #define REG_WOW_CTRL				0x0690
259c592e631SLarry Finger #define REG_PSSTATUS				0x0691
260c592e631SLarry Finger #define REG_PS_RX_INFO				0x0692
261c592e631SLarry Finger #define REG_LPNAV_CTRL				0x0694
262c592e631SLarry Finger #define REG_WKFMCAM_CMD				0x0698
263c592e631SLarry Finger #define REG_WKFMCAM_RWD				0x069C
264c592e631SLarry Finger #define REG_RXFLTMAP0				0x06A0
265c592e631SLarry Finger #define REG_RXFLTMAP1				0x06A2
266c592e631SLarry Finger #define REG_RXFLTMAP2				0x06A4
267c592e631SLarry Finger #define REG_BCN_PSR_RPT				0x06A8
268c592e631SLarry Finger #define REG_CALB32K_CTRL			0x06AC
269c592e631SLarry Finger #define REG_PKT_MON_CTRL			0x06B4
270c592e631SLarry Finger #define REG_BT_COEX_TABLE			0x06C0
271c592e631SLarry Finger #define REG_WMAC_RESP_TXINFO		0x06D8
272c592e631SLarry Finger 
273c592e631SLarry Finger #define REG_USB_INFO				0xFE17
274c592e631SLarry Finger #define REG_USB_SPECIAL_OPTION		0xFE55
275c592e631SLarry Finger #define REG_USB_DMA_AGG_TO			0xFE5B
276c592e631SLarry Finger #define REG_USB_AGG_TO				0xFE5C
277c592e631SLarry Finger #define REG_USB_AGG_TH				0xFE5D
278c592e631SLarry Finger 
279c592e631SLarry Finger #define REG_TEST_USB_TXQS			0xFE48
280c592e631SLarry Finger #define REG_TEST_SIE_VID			0xFE60
281c592e631SLarry Finger #define REG_TEST_SIE_PID			0xFE62
282c592e631SLarry Finger #define REG_TEST_SIE_OPTIONAL		0xFE64
283c592e631SLarry Finger #define REG_TEST_SIE_CHIRP_K		0xFE65
284c592e631SLarry Finger #define REG_TEST_SIE_PHY			0xFE66
285c592e631SLarry Finger #define REG_TEST_SIE_MAC_ADDR		0xFE70
286c592e631SLarry Finger #define REG_TEST_SIE_STRING			0xFE80
287c592e631SLarry Finger 
288c592e631SLarry Finger #define REG_NORMAL_SIE_VID			0xFE60
289c592e631SLarry Finger #define REG_NORMAL_SIE_PID			0xFE62
290c592e631SLarry Finger #define REG_NORMAL_SIE_OPTIONAL		0xFE64
291c592e631SLarry Finger #define REG_NORMAL_SIE_EP			0xFE65
292c592e631SLarry Finger #define REG_NORMAL_SIE_PHY			0xFE68
293c592e631SLarry Finger #define REG_NORMAL_SIE_MAC_ADDR		0xFE70
294c592e631SLarry Finger #define REG_NORMAL_SIE_STRING		0xFE80
295c592e631SLarry Finger 
296c592e631SLarry Finger #define	CR9346				REG_9346CR
297c592e631SLarry Finger #define	MSR				(REG_CR + 2)
298c592e631SLarry Finger #define	ISR				REG_HISR
299c592e631SLarry Finger #define	TSFR				REG_TSFTR
300c592e631SLarry Finger 
301c592e631SLarry Finger #define	MACIDR0				REG_MACID
302c592e631SLarry Finger #define	MACIDR4				(REG_MACID + 4)
303c592e631SLarry Finger 
304c592e631SLarry Finger #define PBP				REG_PBP
305c592e631SLarry Finger 
306c592e631SLarry Finger #define	IDR0				MACIDR0
307c592e631SLarry Finger #define	IDR4				MACIDR4
308c592e631SLarry Finger 
309c592e631SLarry Finger #define	UNUSED_REGISTER			0x1BF
310c592e631SLarry Finger #define	DCAM				UNUSED_REGISTER
311c592e631SLarry Finger #define	PSR				UNUSED_REGISTER
312c592e631SLarry Finger #define BBADDR				UNUSED_REGISTER
313c592e631SLarry Finger #define	PHYDATAR			UNUSED_REGISTER
314c592e631SLarry Finger 
315c592e631SLarry Finger #define	INVALID_BBRF_VALUE		0x12345678
316c592e631SLarry Finger 
317c592e631SLarry Finger #define	MAX_MSS_DENSITY_2T		0x13
318c592e631SLarry Finger #define	MAX_MSS_DENSITY_1T		0x0A
319c592e631SLarry Finger 
320c592e631SLarry Finger #define	CMDEEPROM_EN			BIT(5)
321c592e631SLarry Finger #define	CMDEEPROM_SEL			BIT(4)
322c592e631SLarry Finger #define	CMD9346CR_9356SEL		BIT(4)
323c592e631SLarry Finger #define	AUTOLOAD_EEPROM			(CMDEEPROM_EN|CMDEEPROM_SEL)
324c592e631SLarry Finger #define	AUTOLOAD_EFUSE			CMDEEPROM_EN
325c592e631SLarry Finger 
326c592e631SLarry Finger #define	GPIOSEL_GPIO			0
327c592e631SLarry Finger #define	GPIOSEL_ENBT			BIT(5)
328c592e631SLarry Finger 
329c592e631SLarry Finger #define	GPIO_IN				REG_GPIO_PIN_CTRL
330c592e631SLarry Finger #define	GPIO_OUT			(REG_GPIO_PIN_CTRL+1)
331c592e631SLarry Finger #define	GPIO_IO_SEL			(REG_GPIO_PIN_CTRL+2)
332c592e631SLarry Finger #define	GPIO_MOD			(REG_GPIO_PIN_CTRL+3)
333c592e631SLarry Finger 
334c592e631SLarry Finger #define	MSR_NOLINK					0x00
335c592e631SLarry Finger #define	MSR_ADHOC					0x01
336c592e631SLarry Finger #define	MSR_INFRA					0x02
337c592e631SLarry Finger #define	MSR_AP						0x03
338c592e631SLarry Finger 
339c592e631SLarry Finger #define	RRSR_RSC_OFFSET				21
340c592e631SLarry Finger #define	RRSR_SHORT_OFFSET			23
341c592e631SLarry Finger #define	RRSR_RSC_BW_40M				0x600000
342c592e631SLarry Finger #define	RRSR_RSC_UPSUBCHNL			0x400000
343c592e631SLarry Finger #define	RRSR_RSC_LOWSUBCHNL			0x200000
344c592e631SLarry Finger #define	RRSR_SHORT					0x800000
345c592e631SLarry Finger #define	RRSR_1M						BIT(0)
346c592e631SLarry Finger #define	RRSR_2M						BIT(1)
347c592e631SLarry Finger #define	RRSR_5_5M					BIT(2)
348c592e631SLarry Finger #define	RRSR_11M					BIT(3)
349c592e631SLarry Finger #define	RRSR_6M						BIT(4)
350c592e631SLarry Finger #define	RRSR_9M						BIT(5)
351c592e631SLarry Finger #define	RRSR_12M					BIT(6)
352c592e631SLarry Finger #define	RRSR_18M					BIT(7)
353c592e631SLarry Finger #define	RRSR_24M					BIT(8)
354c592e631SLarry Finger #define	RRSR_36M					BIT(9)
355c592e631SLarry Finger #define	RRSR_48M					BIT(10)
356c592e631SLarry Finger #define	RRSR_54M					BIT(11)
357c592e631SLarry Finger #define	RRSR_MCS0					BIT(12)
358c592e631SLarry Finger #define	RRSR_MCS1					BIT(13)
359c592e631SLarry Finger #define	RRSR_MCS2					BIT(14)
360c592e631SLarry Finger #define	RRSR_MCS3					BIT(15)
361c592e631SLarry Finger #define	RRSR_MCS4					BIT(16)
362c592e631SLarry Finger #define	RRSR_MCS5					BIT(17)
363c592e631SLarry Finger #define	RRSR_MCS6					BIT(18)
364c592e631SLarry Finger #define	RRSR_MCS7					BIT(19)
365c592e631SLarry Finger #define	BRSR_ACKSHORTPMB			BIT(23)
366c592e631SLarry Finger 
367c592e631SLarry Finger #define	RATR_1M						0x00000001
368c592e631SLarry Finger #define	RATR_2M						0x00000002
369c592e631SLarry Finger #define	RATR_55M					0x00000004
370c592e631SLarry Finger #define	RATR_11M					0x00000008
371c592e631SLarry Finger #define	RATR_6M						0x00000010
372c592e631SLarry Finger #define	RATR_9M						0x00000020
373c592e631SLarry Finger #define	RATR_12M					0x00000040
374c592e631SLarry Finger #define	RATR_18M					0x00000080
375c592e631SLarry Finger #define	RATR_24M					0x00000100
376c592e631SLarry Finger #define	RATR_36M					0x00000200
377c592e631SLarry Finger #define	RATR_48M					0x00000400
378c592e631SLarry Finger #define	RATR_54M					0x00000800
379c592e631SLarry Finger #define	RATR_MCS0					0x00001000
380c592e631SLarry Finger #define	RATR_MCS1					0x00002000
381c592e631SLarry Finger #define	RATR_MCS2					0x00004000
382c592e631SLarry Finger #define	RATR_MCS3					0x00008000
383c592e631SLarry Finger #define	RATR_MCS4					0x00010000
384c592e631SLarry Finger #define	RATR_MCS5					0x00020000
385c592e631SLarry Finger #define	RATR_MCS6					0x00040000
386c592e631SLarry Finger #define	RATR_MCS7					0x00080000
387c592e631SLarry Finger #define	RATR_MCS8					0x00100000
388c592e631SLarry Finger #define	RATR_MCS9					0x00200000
389c592e631SLarry Finger #define	RATR_MCS10					0x00400000
390c592e631SLarry Finger #define	RATR_MCS11					0x00800000
391c592e631SLarry Finger #define	RATR_MCS12					0x01000000
392c592e631SLarry Finger #define	RATR_MCS13					0x02000000
393c592e631SLarry Finger #define	RATR_MCS14					0x04000000
394c592e631SLarry Finger #define	RATR_MCS15					0x08000000
395c592e631SLarry Finger 
3960529c6b8SLarry Finger #define RATE_1M						BIT(0)
3970529c6b8SLarry Finger #define RATE_2M						BIT(1)
3980529c6b8SLarry Finger #define RATE_5_5M					BIT(2)
3990529c6b8SLarry Finger #define RATE_11M					BIT(3)
4000529c6b8SLarry Finger #define RATE_6M						BIT(4)
4010529c6b8SLarry Finger #define RATE_9M						BIT(5)
4020529c6b8SLarry Finger #define RATE_12M					BIT(6)
4030529c6b8SLarry Finger #define RATE_18M					BIT(7)
4040529c6b8SLarry Finger #define RATE_24M					BIT(8)
4050529c6b8SLarry Finger #define RATE_36M					BIT(9)
4060529c6b8SLarry Finger #define RATE_48M					BIT(10)
4070529c6b8SLarry Finger #define RATE_54M					BIT(11)
4080529c6b8SLarry Finger #define RATE_MCS0					BIT(12)
4090529c6b8SLarry Finger #define RATE_MCS1					BIT(13)
4100529c6b8SLarry Finger #define RATE_MCS2					BIT(14)
4110529c6b8SLarry Finger #define RATE_MCS3					BIT(15)
4120529c6b8SLarry Finger #define RATE_MCS4					BIT(16)
4130529c6b8SLarry Finger #define RATE_MCS5					BIT(17)
4140529c6b8SLarry Finger #define RATE_MCS6					BIT(18)
4150529c6b8SLarry Finger #define RATE_MCS7					BIT(19)
4160529c6b8SLarry Finger #define RATE_MCS8					BIT(20)
4170529c6b8SLarry Finger #define RATE_MCS9					BIT(21)
4180529c6b8SLarry Finger #define RATE_MCS10					BIT(22)
4190529c6b8SLarry Finger #define RATE_MCS11					BIT(23)
4200529c6b8SLarry Finger #define RATE_MCS12					BIT(24)
4210529c6b8SLarry Finger #define RATE_MCS13					BIT(25)
4220529c6b8SLarry Finger #define RATE_MCS14					BIT(26)
4230529c6b8SLarry Finger #define RATE_MCS15					BIT(27)
4240529c6b8SLarry Finger 
425c592e631SLarry Finger #define	RATE_ALL_CCK		(RATR_1M | RATR_2M | RATR_55M | RATR_11M)
426c592e631SLarry Finger #define	RATE_ALL_OFDM_AG	(RATR_6M | RATR_9M | RATR_12M | RATR_18M |\
427c592e631SLarry Finger 				RATR_24M | RATR_36M | RATR_48M | RATR_54M)
428c592e631SLarry Finger #define	RATE_ALL_OFDM_1SS	(RATR_MCS0 | RATR_MCS1 | RATR_MCS2 |\
429c592e631SLarry Finger 				RATR_MCS3 | RATR_MCS4 | RATR_MCS5 |\
430c592e631SLarry Finger 				RATR_MCS6 | RATR_MCS7)
431c592e631SLarry Finger #define	RATE_ALL_OFDM_2SS	(RATR_MCS8 | RATR_MCS9 | RATR_MCS10 |\
432c592e631SLarry Finger 				RATR_MCS11 | RATR_MCS12 | RATR_MCS13 |\
433c592e631SLarry Finger 				RATR_MCS14 | RATR_MCS15)
434c592e631SLarry Finger 
435c592e631SLarry Finger #define	BW_OPMODE_20MHZ				BIT(2)
436c592e631SLarry Finger #define	BW_OPMODE_5G				BIT(1)
437c592e631SLarry Finger #define	BW_OPMODE_11J				BIT(0)
438c592e631SLarry Finger 
439c592e631SLarry Finger #define	CAM_VALID					BIT(15)
440c592e631SLarry Finger #define	CAM_NOTVALID				0x0000
441c592e631SLarry Finger #define	CAM_USEDK					BIT(5)
442c592e631SLarry Finger 
443c592e631SLarry Finger #define	CAM_NONE					0x0
444c592e631SLarry Finger #define	CAM_WEP40					0x01
445c592e631SLarry Finger #define	CAM_TKIP					0x02
446c592e631SLarry Finger #define	CAM_AES						0x04
447c592e631SLarry Finger #define	CAM_WEP104					0x05
448c592e631SLarry Finger 
449c592e631SLarry Finger #define	TOTAL_CAM_ENTRY				32
450c592e631SLarry Finger #define	HALF_CAM_ENTRY				16
451c592e631SLarry Finger 
452c592e631SLarry Finger #define	CAM_WRITE					BIT(16)
453c592e631SLarry Finger #define	CAM_READ					0x00000000
454c592e631SLarry Finger #define	CAM_POLLINIG				BIT(31)
455c592e631SLarry Finger 
456c592e631SLarry Finger #define	SCR_USEDK					0x01
457c592e631SLarry Finger #define	SCR_TXSEC_ENABLE			0x02
458c592e631SLarry Finger #define	SCR_RXSEC_ENABLE			0x04
459c592e631SLarry Finger 
460c592e631SLarry Finger #define	WOW_PMEN					BIT(0)
461c592e631SLarry Finger #define	WOW_WOMEN					BIT(1)
462c592e631SLarry Finger #define	WOW_MAGIC					BIT(2)
463c592e631SLarry Finger #define	WOW_UWF						BIT(3)
464c592e631SLarry Finger 
465c592e631SLarry Finger #define	IMR8190_DISABLED			0x0
466c592e631SLarry Finger #define	IMR_BCNDMAINT6				BIT(31)
467c592e631SLarry Finger #define	IMR_BCNDMAINT5				BIT(30)
468c592e631SLarry Finger #define	IMR_BCNDMAINT4				BIT(29)
469c592e631SLarry Finger #define	IMR_BCNDMAINT3				BIT(28)
470c592e631SLarry Finger #define	IMR_BCNDMAINT2				BIT(27)
471c592e631SLarry Finger #define	IMR_BCNDMAINT1				BIT(26)
472c592e631SLarry Finger #define	IMR_BCNDOK8					BIT(25)
473c592e631SLarry Finger #define	IMR_BCNDOK7					BIT(24)
474c592e631SLarry Finger #define	IMR_BCNDOK6					BIT(23)
475c592e631SLarry Finger #define	IMR_BCNDOK5					BIT(22)
476c592e631SLarry Finger #define	IMR_BCNDOK4					BIT(21)
477c592e631SLarry Finger #define	IMR_BCNDOK3					BIT(20)
478c592e631SLarry Finger #define	IMR_BCNDOK2					BIT(19)
479c592e631SLarry Finger #define	IMR_BCNDOK1					BIT(18)
480c592e631SLarry Finger #define	IMR_TIMEOUT2				BIT(17)
481c592e631SLarry Finger #define	IMR_TIMEOUT1				BIT(16)
482c592e631SLarry Finger #define	IMR_TXFOVW					BIT(15)
483c592e631SLarry Finger #define	IMR_PSTIMEOUT				BIT(14)
484c592e631SLarry Finger #define	IMR_BCNINT					BIT(13)
485c592e631SLarry Finger #define	IMR_RXFOVW					BIT(12)
486c592e631SLarry Finger #define	IMR_RDU						BIT(11)
487c592e631SLarry Finger #define	IMR_ATIMEND					BIT(10)
488c592e631SLarry Finger #define	IMR_BDOK					BIT(9)
489c592e631SLarry Finger #define	IMR_HIGHDOK					BIT(8)
490c592e631SLarry Finger #define	IMR_TBDOK					BIT(7)
491c592e631SLarry Finger #define	IMR_MGNTDOK					BIT(6)
492c592e631SLarry Finger #define	IMR_TBDER					BIT(5)
493c592e631SLarry Finger #define	IMR_BKDOK					BIT(4)
494c592e631SLarry Finger #define	IMR_BEDOK					BIT(3)
495c592e631SLarry Finger #define	IMR_VIDOK					BIT(2)
496c592e631SLarry Finger #define	IMR_VODOK					BIT(1)
497c592e631SLarry Finger #define	IMR_ROK						BIT(0)
498c592e631SLarry Finger 
499c592e631SLarry Finger #define	IMR_TXERR					BIT(11)
500c592e631SLarry Finger #define	IMR_RXERR					BIT(10)
501c592e631SLarry Finger #define	IMR_CPWM					BIT(8)
502c592e631SLarry Finger #define	IMR_OCPINT					BIT(1)
503c592e631SLarry Finger #define	IMR_WLANOFF					BIT(0)
504c592e631SLarry Finger 
505c592e631SLarry Finger /* 8723E series PCIE Host IMR/ISR bit */
506c592e631SLarry Finger /* IMR DW0 Bit 0-31 */
507c592e631SLarry Finger #define	PHIMR_TIMEOUT2					BIT(31)
508c592e631SLarry Finger #define	PHIMR_TIMEOUT1					BIT(30)
509c592e631SLarry Finger #define	PHIMR_PSTIMEOUT				BIT(29)
510c592e631SLarry Finger #define	PHIMR_GTINT4					BIT(28)
511c592e631SLarry Finger #define	PHIMR_GTINT3					BIT(27)
512c592e631SLarry Finger #define	PHIMR_TXBCNERR					BIT(26)
513c592e631SLarry Finger #define	PHIMR_TXBCNOK					BIT(25)
514c592e631SLarry Finger #define	PHIMR_TSF_BIT32_TOGGLE			BIT(24)
515c592e631SLarry Finger #define	PHIMR_BCNDMAINT3				BIT(23)
516c592e631SLarry Finger #define	PHIMR_BCNDMAINT2				BIT(22)
517c592e631SLarry Finger #define	PHIMR_BCNDMAINT1				BIT(21)
518c592e631SLarry Finger #define	PHIMR_BCNDMAINT0				BIT(20)
519c592e631SLarry Finger #define	PHIMR_BCNDOK3					BIT(19)
520c592e631SLarry Finger #define	PHIMR_BCNDOK2					BIT(18)
521c592e631SLarry Finger #define	PHIMR_BCNDOK1					BIT(17)
522c592e631SLarry Finger #define	PHIMR_BCNDOK0					BIT(16)
523c592e631SLarry Finger #define	PHIMR_HSISR_IND_ON			BIT(15)
524c592e631SLarry Finger #define	PHIMR_BCNDMAINT_E				BIT(14)
525c592e631SLarry Finger #define	PHIMR_ATIMEND_E				BIT(13)
526c592e631SLarry Finger #define	PHIMR_ATIM_CTW_END			BIT(12)
527c592e631SLarry Finger #define	PHIMR_HISRE_IND				BIT(11)
528c592e631SLarry Finger #define	PHIMR_C2HCMD					BIT(10)
529c592e631SLarry Finger #define	PHIMR_CPWM2					BIT(9)
530c592e631SLarry Finger #define	PHIMR_CPWM					BIT(8)
531c592e631SLarry Finger #define	PHIMR_HIGHDOK					BIT(7)
532c592e631SLarry Finger #define	PHIMR_MGNTDOK					BIT(6)
533c592e631SLarry Finger #define	PHIMR_BKDOK					BIT(5)
534c592e631SLarry Finger #define	PHIMR_BEDOK					BIT(4)
535c592e631SLarry Finger #define	PHIMR_VIDOK					BIT(3)
536c592e631SLarry Finger #define	PHIMR_VODOK					BIT(2)
537c592e631SLarry Finger #define	PHIMR_RDU						BIT(1)
538c592e631SLarry Finger #define	PHIMR_ROK						BIT(0)
539c592e631SLarry Finger 
540c592e631SLarry Finger /* PCIE Host Interrupt Status Extension bit */
541c592e631SLarry Finger #define	PHIMR_BCNDMAINT7				BIT(23)
542c592e631SLarry Finger #define	PHIMR_BCNDMAINT6				BIT(22)
543c592e631SLarry Finger #define	PHIMR_BCNDMAINT5				BIT(21)
544c592e631SLarry Finger #define	PHIMR_BCNDMAINT4				BIT(20)
545c592e631SLarry Finger #define	PHIMR_BCNDOK7					BIT(19)
546c592e631SLarry Finger #define	PHIMR_BCNDOK6					BIT(18)
547c592e631SLarry Finger #define	PHIMR_BCNDOK5					BIT(17)
548c592e631SLarry Finger #define	PHIMR_BCNDOK4					BIT(16)
549c592e631SLarry Finger /* bit12-15: RSVD */
550c592e631SLarry Finger #define	PHIMR_TXERR					BIT(11)
551c592e631SLarry Finger #define	PHIMR_RXERR					BIT(10)
552c592e631SLarry Finger #define	PHIMR_TXFOVW					BIT(9)
553c592e631SLarry Finger #define	PHIMR_RXFOVW					BIT(8)
5540529c6b8SLarry Finger /* bit2-7: RSVD */
555c592e631SLarry Finger #define	PHIMR_OCPINT					BIT(1)
556c592e631SLarry Finger 
557c592e631SLarry Finger #define	HWSET_MAX_SIZE				256
558c592e631SLarry Finger #define EFUSE_MAX_SECTION			32
559c592e631SLarry Finger #define EFUSE_REAL_CONTENT_LEN			512
560c592e631SLarry Finger #define EFUSE_OOB_PROTECT_BYTES			15
561c592e631SLarry Finger 
562c592e631SLarry Finger #define	EEPROM_DEFAULT_TSSI					0x0
563c592e631SLarry Finger #define EEPROM_DEFAULT_TXPOWERDIFF			0x0
564c592e631SLarry Finger #define EEPROM_DEFAULT_CRYSTALCAP			0x5
565c592e631SLarry Finger #define EEPROM_DEFAULT_BOARDTYPE			0x02
566c592e631SLarry Finger #define EEPROM_DEFAULT_TXPOWER				0x1010
567c592e631SLarry Finger #define	EEPROM_DEFAULT_HT2T_TXPWR			0x10
568c592e631SLarry Finger 
569c592e631SLarry Finger #define	EEPROM_DEFAULT_LEGACYHTTXPOWERDIFF	0x3
570c592e631SLarry Finger #define	EEPROM_DEFAULT_THERMALMETER			0x12
571c592e631SLarry Finger #define	EEPROM_DEFAULT_ANTTXPOWERDIFF		0x0
572c592e631SLarry Finger #define	EEPROM_DEFAULT_TXPWDIFF_CRYSTALCAP	0x5
573c592e631SLarry Finger #define	EEPROM_DEFAULT_TXPOWERLEVEL			0x22
574c592e631SLarry Finger #define	EEPROM_DEFAULT_HT40_2SDIFF			0x0
575c592e631SLarry Finger #define EEPROM_DEFAULT_HT20_DIFF			2
576c592e631SLarry Finger #define	EEPROM_DEFAULT_LEGACYHTTXPOWERDIFF	0x3
577c592e631SLarry Finger #define EEPROM_DEFAULT_HT40_PWRMAXOFFSET	0
578c592e631SLarry Finger #define EEPROM_DEFAULT_HT20_PWRMAXOFFSET	0
579c592e631SLarry Finger 
580c592e631SLarry Finger #define EEPROM_DEFAULT_PID					0x1234
581c592e631SLarry Finger #define EEPROM_DEFAULT_VID					0x5678
582c592e631SLarry Finger #define EEPROM_DEFAULT_CUSTOMERID			0xAB
583c592e631SLarry Finger #define EEPROM_DEFAULT_SUBCUSTOMERID		0xCD
584c592e631SLarry Finger #define EEPROM_DEFAULT_VERSION				0
585c592e631SLarry Finger 
586c592e631SLarry Finger #define	EEPROM_CHANNEL_PLAN_FCC				0x0
587c592e631SLarry Finger #define	EEPROM_CHANNEL_PLAN_IC				0x1
588c592e631SLarry Finger #define	EEPROM_CHANNEL_PLAN_ETSI			0x2
589c592e631SLarry Finger #define	EEPROM_CHANNEL_PLAN_SPAIN			0x3
590c592e631SLarry Finger #define	EEPROM_CHANNEL_PLAN_FRANCE			0x4
591c592e631SLarry Finger #define	EEPROM_CHANNEL_PLAN_MKK				0x5
592c592e631SLarry Finger #define	EEPROM_CHANNEL_PLAN_MKK1			0x6
593c592e631SLarry Finger #define	EEPROM_CHANNEL_PLAN_ISRAEL			0x7
594c592e631SLarry Finger #define	EEPROM_CHANNEL_PLAN_TELEC			0x8
595c592e631SLarry Finger #define	EEPROM_CHANNEL_PLAN_GLOBAL_DOMAIN	0x9
596c592e631SLarry Finger #define	EEPROM_CHANNEL_PLAN_WORLD_WIDE_13	0xA
597c592e631SLarry Finger #define	EEPROM_CHANNEL_PLAN_NCC				0xB
598c592e631SLarry Finger #define	EEPROM_CHANNEL_PLAN_BY_HW_MASK		0x80
599c592e631SLarry Finger 
600c592e631SLarry Finger #define EEPROM_CID_DEFAULT					0x0
601c592e631SLarry Finger #define EEPROM_CID_TOSHIBA					0x4
602c592e631SLarry Finger #define	EEPROM_CID_CCX						0x10
603c592e631SLarry Finger #define	EEPROM_CID_QMI						0x0D
604c592e631SLarry Finger #define EEPROM_CID_WHQL						0xFE
605c592e631SLarry Finger 
606c592e631SLarry Finger #define	RTL8192_EEPROM_ID					0x8129
607c592e631SLarry Finger 
608c592e631SLarry Finger #define RTL8190_EEPROM_ID					0x8129
609c592e631SLarry Finger #define EEPROM_HPON							0x02
610c592e631SLarry Finger #define EEPROM_CLK							0x06
611c592e631SLarry Finger #define EEPROM_TESTR						0x08
612c592e631SLarry Finger 
613c592e631SLarry Finger #define EEPROM_VID							0x49
614c592e631SLarry Finger #define EEPROM_DID							0x4B
615c592e631SLarry Finger #define EEPROM_SVID							0x4D
616c592e631SLarry Finger #define EEPROM_SMID							0x4F
617c592e631SLarry Finger 
618c592e631SLarry Finger #define EEPROM_MAC_ADDR						0x67
619c592e631SLarry Finger 
620c592e631SLarry Finger #define EEPROM_CCK_TX_PWR_INX				0x5A
621c592e631SLarry Finger #define EEPROM_HT40_1S_TX_PWR_INX			0x60
622c592e631SLarry Finger #define EEPROM_HT40_2S_TX_PWR_INX_DIFF		0x66
623c592e631SLarry Finger #define EEPROM_HT20_TX_PWR_INX_DIFF			0x69
624c592e631SLarry Finger #define EEPROM_OFDM_TX_PWR_INX_DIFF			0x6C
625c592e631SLarry Finger #define EEPROM_HT40_MAX_PWR_OFFSET			0x25
626c592e631SLarry Finger #define EEPROM_HT20_MAX_PWR_OFFSET			0x22
627c592e631SLarry Finger 
628c592e631SLarry Finger #define EEPROM_THERMAL_METER				0x2a
629c592e631SLarry Finger #define EEPROM_XTAL_K						0x78
630c592e631SLarry Finger #define EEPROM_RF_OPT1						0x79
631c592e631SLarry Finger #define EEPROM_RF_OPT2						0x7A
632c592e631SLarry Finger #define EEPROM_RF_OPT3						0x7B
633c592e631SLarry Finger #define EEPROM_RF_OPT4						0x7C
634c592e631SLarry Finger #define EEPROM_CHANNEL_PLAN					0x28
635c592e631SLarry Finger #define EEPROM_VERSION						0x30
636c592e631SLarry Finger #define EEPROM_CUSTOMER_ID					0x31
637c592e631SLarry Finger 
638c592e631SLarry Finger #define EEPROM_PWRDIFF				0x54
639c592e631SLarry Finger 
640c592e631SLarry Finger #define EEPROM_TXPOWERCCK			0x10
641c592e631SLarry Finger #define	EEPROM_TXPOWERHT40_1S		0x16
642c592e631SLarry Finger #define	EEPROM_TXPOWERHT40_2SDIFF	0x66
643c592e631SLarry Finger #define EEPROM_TXPOWERHT20DIFF		0x1C
644c592e631SLarry Finger #define EEPROM_TXPOWER_OFDMDIFF		0x1F
645c592e631SLarry Finger 
646c592e631SLarry Finger #define	EEPROM_TXPWR_GROUP			0x22
647c592e631SLarry Finger 
648c592e631SLarry Finger #define EEPROM_TSSI_A				0x29
649c592e631SLarry Finger #define EEPROM_TSSI_B				0x77
650c592e631SLarry Finger 
651c592e631SLarry Finger #define EEPROM_CHANNELPLAN			0x28
652c592e631SLarry Finger 
653c592e631SLarry Finger #define RF_OPTION1					0x2B
654c592e631SLarry Finger #define RF_OPTION2					0x2C
655c592e631SLarry Finger #define RF_OPTION3					0x2D
656c592e631SLarry Finger #define RF_OPTION4					0x2E
657c592e631SLarry Finger 
658c592e631SLarry Finger #define	STOPBECON					BIT(6)
659c592e631SLarry Finger #define	STOPHIGHT					BIT(5)
660c592e631SLarry Finger #define	STOPMGT						BIT(4)
661c592e631SLarry Finger #define	STOPVO						BIT(3)
662c592e631SLarry Finger #define	STOPVI						BIT(2)
663c592e631SLarry Finger #define	STOPBE						BIT(1)
664c592e631SLarry Finger #define	STOPBK						BIT(0)
665c592e631SLarry Finger 
666c592e631SLarry Finger #define	RCR_APPFCS					BIT(31)
667c592e631SLarry Finger #define	RCR_APP_MIC					BIT(30)
668c592e631SLarry Finger #define	RCR_APP_ICV					BIT(29)
669c592e631SLarry Finger #define	RCR_APP_PHYST_RXFF			BIT(28)
670c592e631SLarry Finger #define	RCR_APP_BA_SSN				BIT(27)
671c592e631SLarry Finger #define	RCR_ENMBID					BIT(24)
672c592e631SLarry Finger #define	RCR_LSIGEN					BIT(23)
673c592e631SLarry Finger #define	RCR_MFBEN					BIT(22)
674c592e631SLarry Finger #define	RCR_HTC_LOC_CTRL			BIT(14)
675c592e631SLarry Finger #define	RCR_AMF						BIT(13)
676c592e631SLarry Finger #define	RCR_ACF						BIT(12)
677c592e631SLarry Finger #define	RCR_ADF						BIT(11)
678c592e631SLarry Finger #define	RCR_AICV					BIT(9)
679c592e631SLarry Finger #define	RCR_ACRC32					BIT(8)
680c592e631SLarry Finger #define	RCR_CBSSID_BCN				BIT(7)
681c592e631SLarry Finger #define	RCR_CBSSID_DATA				BIT(6)
682c592e631SLarry Finger #define	RCR_CBSSID					RCR_CBSSID_DATA
683c592e631SLarry Finger #define	RCR_APWRMGT					BIT(5)
684c592e631SLarry Finger #define	RCR_ADD3					BIT(4)
685c592e631SLarry Finger #define	RCR_AB						BIT(3)
686c592e631SLarry Finger #define	RCR_AM						BIT(2)
687c592e631SLarry Finger #define	RCR_APM						BIT(1)
688c592e631SLarry Finger #define	RCR_AAP						BIT(0)
689c592e631SLarry Finger #define	RCR_MXDMA_OFFSET			8
690c592e631SLarry Finger #define	RCR_FIFO_OFFSET				13
691c592e631SLarry Finger 
692c592e631SLarry Finger #define RSV_CTRL					0x001C
693c592e631SLarry Finger #define RD_CTRL						0x0524
694c592e631SLarry Finger 
695c592e631SLarry Finger #define REG_USB_INFO				0xFE17
696c592e631SLarry Finger #define REG_USB_SPECIAL_OPTION		0xFE55
697c592e631SLarry Finger #define REG_USB_DMA_AGG_TO			0xFE5B
698c592e631SLarry Finger #define REG_USB_AGG_TO				0xFE5C
699c592e631SLarry Finger #define REG_USB_AGG_TH				0xFE5D
700c592e631SLarry Finger 
701c592e631SLarry Finger #define REG_USB_VID					0xFE60
702c592e631SLarry Finger #define REG_USB_PID					0xFE62
703c592e631SLarry Finger #define REG_USB_OPTIONAL			0xFE64
704c592e631SLarry Finger #define REG_USB_CHIRP_K				0xFE65
705c592e631SLarry Finger #define REG_USB_PHY					0xFE66
706c592e631SLarry Finger #define REG_USB_MAC_ADDR			0xFE70
707c592e631SLarry Finger #define REG_USB_HRPWM				0xFE58
708c592e631SLarry Finger #define REG_USB_HCPWM				0xFE57
709c592e631SLarry Finger 
710c592e631SLarry Finger #define SW18_FPWM					BIT(3)
711c592e631SLarry Finger 
712c592e631SLarry Finger #define ISO_MD2PP					BIT(0)
713c592e631SLarry Finger #define ISO_UA2USB					BIT(1)
714c592e631SLarry Finger #define ISO_UD2CORE					BIT(2)
715c592e631SLarry Finger #define ISO_PA2PCIE					BIT(3)
716c592e631SLarry Finger #define ISO_PD2CORE					BIT(4)
717c592e631SLarry Finger #define ISO_IP2MAC					BIT(5)
718c592e631SLarry Finger #define ISO_DIOP					BIT(6)
719c592e631SLarry Finger #define ISO_DIOE					BIT(7)
720c592e631SLarry Finger #define ISO_EB2CORE					BIT(8)
721c592e631SLarry Finger #define ISO_DIOR					BIT(9)
722c592e631SLarry Finger 
723c592e631SLarry Finger #define PWC_EV25V					BIT(14)
724c592e631SLarry Finger #define PWC_EV12V					BIT(15)
725c592e631SLarry Finger 
726c592e631SLarry Finger #define FEN_BBRSTB					BIT(0)
7270529c6b8SLarry Finger #define FEN_BB_GLB_RSTN				BIT(1)
728c592e631SLarry Finger #define FEN_USBA					BIT(2)
729c592e631SLarry Finger #define FEN_UPLL					BIT(3)
730c592e631SLarry Finger #define FEN_USBD					BIT(4)
731c592e631SLarry Finger #define FEN_DIO_PCIE				BIT(5)
732c592e631SLarry Finger #define FEN_PCIEA					BIT(6)
733c592e631SLarry Finger #define FEN_PPLL					BIT(7)
734c592e631SLarry Finger #define FEN_PCIED					BIT(8)
735c592e631SLarry Finger #define FEN_DIOE					BIT(9)
736c592e631SLarry Finger #define FEN_CPUEN					BIT(10)
737c592e631SLarry Finger #define FEN_DCORE					BIT(11)
738c592e631SLarry Finger #define FEN_ELDR					BIT(12)
739c592e631SLarry Finger #define FEN_DIO_RF					BIT(13)
740c592e631SLarry Finger #define FEN_HWPDN					BIT(14)
741c592e631SLarry Finger #define FEN_MREGEN					BIT(15)
742c592e631SLarry Finger 
743c592e631SLarry Finger #define PFM_LDALL					BIT(0)
744c592e631SLarry Finger #define PFM_ALDN					BIT(1)
745c592e631SLarry Finger #define PFM_LDKP					BIT(2)
746c592e631SLarry Finger #define PFM_WOWL					BIT(3)
7470529c6b8SLarry Finger #define ENPDN						BIT(4)
748c592e631SLarry Finger #define PDN_PL						BIT(5)
749c592e631SLarry Finger #define APFM_ONMAC					BIT(8)
750c592e631SLarry Finger #define APFM_OFF					BIT(9)
751c592e631SLarry Finger #define APFM_RSM					BIT(10)
752c592e631SLarry Finger #define AFSM_HSUS					BIT(11)
753c592e631SLarry Finger #define AFSM_PCIE					BIT(12)
754c592e631SLarry Finger #define APDM_MAC					BIT(13)
755c592e631SLarry Finger #define APDM_HOST					BIT(14)
756c592e631SLarry Finger #define APDM_HPDN					BIT(15)
757c592e631SLarry Finger #define RDY_MACON					BIT(16)
758c592e631SLarry Finger #define SUS_HOST					BIT(17)
759c592e631SLarry Finger #define ROP_ALD						BIT(20)
760c592e631SLarry Finger #define ROP_PWR						BIT(21)
761c592e631SLarry Finger #define ROP_SPS						BIT(22)
762c592e631SLarry Finger #define SOP_MRST					BIT(25)
763c592e631SLarry Finger #define SOP_FUSE					BIT(26)
764c592e631SLarry Finger #define SOP_ABG						BIT(27)
765c592e631SLarry Finger #define SOP_AMB						BIT(28)
766c592e631SLarry Finger #define SOP_RCK						BIT(29)
767c592e631SLarry Finger #define SOP_A8M						BIT(30)
768c592e631SLarry Finger #define XOP_BTCK					BIT(31)
769c592e631SLarry Finger 
770c592e631SLarry Finger #define ANAD16V_EN					BIT(0)
771c592e631SLarry Finger #define ANA8M						BIT(1)
772c592e631SLarry Finger #define MACSLP						BIT(4)
773c592e631SLarry Finger #define LOADER_CLK_EN				BIT(5)
774c592e631SLarry Finger #define _80M_SSC_DIS				BIT(7)
775c592e631SLarry Finger #define _80M_SSC_EN_HO				BIT(8)
776c592e631SLarry Finger #define PHY_SSC_RSTB				BIT(9)
777c592e631SLarry Finger #define SEC_CLK_EN					BIT(10)
778c592e631SLarry Finger #define MAC_CLK_EN					BIT(11)
779c592e631SLarry Finger #define SYS_CLK_EN					BIT(12)
780c592e631SLarry Finger #define RING_CLK_EN					BIT(13)
781c592e631SLarry Finger 
782c592e631SLarry Finger #define	BOOT_FROM_EEPROM			BIT(4)
783c592e631SLarry Finger #define	EEPROM_EN					BIT(5)
784c592e631SLarry Finger 
785c592e631SLarry Finger #define AFE_BGEN					BIT(0)
786c592e631SLarry Finger #define AFE_MBEN					BIT(1)
787c592e631SLarry Finger #define MAC_ID_EN					BIT(7)
788c592e631SLarry Finger 
789c592e631SLarry Finger #define WLOCK_ALL					BIT(0)
790c592e631SLarry Finger #define WLOCK_00					BIT(1)
791c592e631SLarry Finger #define WLOCK_04					BIT(2)
792c592e631SLarry Finger #define WLOCK_08					BIT(3)
793c592e631SLarry Finger #define WLOCK_40					BIT(4)
794c592e631SLarry Finger #define R_DIS_PRST_0				BIT(5)
795c592e631SLarry Finger #define R_DIS_PRST_1				BIT(6)
796c592e631SLarry Finger #define LOCK_ALL_EN					BIT(7)
797c592e631SLarry Finger 
798c592e631SLarry Finger #define RF_EN						BIT(0)
799c592e631SLarry Finger #define RF_RSTB						BIT(1)
800c592e631SLarry Finger #define RF_SDMRSTB					BIT(2)
801c592e631SLarry Finger 
802c592e631SLarry Finger #define LDA15_EN					BIT(0)
803c592e631SLarry Finger #define LDA15_STBY					BIT(1)
804c592e631SLarry Finger #define LDA15_OBUF					BIT(2)
805c592e631SLarry Finger #define LDA15_REG_VOS				BIT(3)
806c592e631SLarry Finger #define _LDA15_VOADJ(x)				(((x) & 0x7) << 4)
807c592e631SLarry Finger 
808c592e631SLarry Finger #define LDV12_EN					BIT(0)
809c592e631SLarry Finger #define LDV12_SDBY					BIT(1)
810c592e631SLarry Finger #define LPLDO_HSM					BIT(2)
811c592e631SLarry Finger #define LPLDO_LSM_DIS				BIT(3)
812c592e631SLarry Finger #define _LDV12_VADJ(x)				(((x) & 0xF) << 4)
813c592e631SLarry Finger 
814c592e631SLarry Finger #define XTAL_EN						BIT(0)
815c592e631SLarry Finger #define XTAL_BSEL					BIT(1)
816c592e631SLarry Finger #define _XTAL_BOSC(x)				(((x) & 0x3) << 2)
817c592e631SLarry Finger #define _XTAL_CADJ(x)				(((x) & 0xF) << 4)
818c592e631SLarry Finger #define XTAL_GATE_USB				BIT(8)
819c592e631SLarry Finger #define _XTAL_USB_DRV(x)			(((x) & 0x3) << 9)
820c592e631SLarry Finger #define XTAL_GATE_AFE				BIT(11)
821c592e631SLarry Finger #define _XTAL_AFE_DRV(x)			(((x) & 0x3) << 12)
822c592e631SLarry Finger #define XTAL_RF_GATE				BIT(14)
823c592e631SLarry Finger #define _XTAL_RF_DRV(x)				(((x) & 0x3) << 15)
824c592e631SLarry Finger #define XTAL_GATE_DIG				BIT(17)
825c592e631SLarry Finger #define _XTAL_DIG_DRV(x)			(((x) & 0x3) << 18)
826c592e631SLarry Finger #define XTAL_BT_GATE				BIT(20)
827c592e631SLarry Finger #define _XTAL_BT_DRV(x)				(((x) & 0x3) << 21)
828c592e631SLarry Finger #define _XTAL_GPIO(x)				(((x) & 0x7) << 23)
829c592e631SLarry Finger 
830c592e631SLarry Finger #define CKDLY_AFE					BIT(26)
831c592e631SLarry Finger #define CKDLY_USB					BIT(27)
832c592e631SLarry Finger #define CKDLY_DIG					BIT(28)
833c592e631SLarry Finger #define CKDLY_BT					BIT(29)
834c592e631SLarry Finger 
835c592e631SLarry Finger #define APLL_EN						BIT(0)
836c592e631SLarry Finger #define APLL_320_EN					BIT(1)
837c592e631SLarry Finger #define APLL_FREF_SEL				BIT(2)
838c592e631SLarry Finger #define APLL_EDGE_SEL				BIT(3)
839c592e631SLarry Finger #define APLL_WDOGB					BIT(4)
840c592e631SLarry Finger #define APLL_LPFEN					BIT(5)
841c592e631SLarry Finger 
842c592e631SLarry Finger #define APLL_REF_CLK_13MHZ			0x1
843c592e631SLarry Finger #define APLL_REF_CLK_19_2MHZ		0x2
844c592e631SLarry Finger #define APLL_REF_CLK_20MHZ			0x3
845c592e631SLarry Finger #define APLL_REF_CLK_25MHZ			0x4
846c592e631SLarry Finger #define APLL_REF_CLK_26MHZ			0x5
847c592e631SLarry Finger #define APLL_REF_CLK_38_4MHZ		0x6
848c592e631SLarry Finger #define APLL_REF_CLK_40MHZ			0x7
849c592e631SLarry Finger 
850c592e631SLarry Finger #define APLL_320EN					BIT(14)
851c592e631SLarry Finger #define APLL_80EN					BIT(15)
852c592e631SLarry Finger #define APLL_1MEN					BIT(24)
853c592e631SLarry Finger 
854c592e631SLarry Finger #define ALD_EN						BIT(18)
855c592e631SLarry Finger #define EF_PD						BIT(19)
856c592e631SLarry Finger #define EF_FLAG						BIT(31)
857c592e631SLarry Finger 
858c592e631SLarry Finger #define EF_TRPT						BIT(7)
859c592e631SLarry Finger #define LDOE25_EN					BIT(31)
860c592e631SLarry Finger 
861c592e631SLarry Finger #define RSM_EN						BIT(0)
8620529c6b8SLarry Finger #define TIMER_EN					BIT(4)
863c592e631SLarry Finger 
864c592e631SLarry Finger #define TRSW0EN						BIT(2)
865c592e631SLarry Finger #define TRSW1EN						BIT(3)
866c592e631SLarry Finger #define EROM_EN						BIT(4)
8670529c6b8SLarry Finger #define ENBT						BIT(5)
8680529c6b8SLarry Finger #define ENUART						BIT(8)
8690529c6b8SLarry Finger #define UART_910					BIT(9)
8700529c6b8SLarry Finger #define ENPMAC						BIT(10)
871c592e631SLarry Finger #define SIC_SWRST					BIT(11)
8720529c6b8SLarry Finger #define ENSIC						BIT(12)
873c592e631SLarry Finger #define SIC_23						BIT(13)
8740529c6b8SLarry Finger #define ENHDP						BIT(14)
875c592e631SLarry Finger #define SIC_LBK						BIT(15)
876c592e631SLarry Finger 
877c592e631SLarry Finger #define LED0PL						BIT(4)
878c592e631SLarry Finger #define LED1PL						BIT(12)
879c592e631SLarry Finger #define LED0DIS						BIT(7)
880c592e631SLarry Finger 
881c592e631SLarry Finger #define MCUFWDL_EN					BIT(0)
882c592e631SLarry Finger #define MCUFWDL_RDY					BIT(1)
8830529c6b8SLarry Finger #define FWDL_CHKSUM_RPT				BIT(2)
884c592e631SLarry Finger #define MACINI_RDY					BIT(3)
885c592e631SLarry Finger #define BBINI_RDY					BIT(4)
886c592e631SLarry Finger #define RFINI_RDY					BIT(5)
887c592e631SLarry Finger #define WINTINI_RDY					BIT(6)
888c592e631SLarry Finger #define CPRST						BIT(23)
889c592e631SLarry Finger 
890c592e631SLarry Finger #define XCLK_VLD					BIT(0)
891c592e631SLarry Finger #define ACLK_VLD					BIT(1)
892c592e631SLarry Finger #define UCLK_VLD					BIT(2)
893c592e631SLarry Finger #define PCLK_VLD					BIT(3)
894c592e631SLarry Finger #define PCIRSTB						BIT(4)
895c592e631SLarry Finger #define V15_VLD						BIT(5)
896c592e631SLarry Finger #define TRP_B15V_EN					BIT(7)
897c592e631SLarry Finger #define SIC_IDLE					BIT(8)
898c592e631SLarry Finger #define BD_MAC2						BIT(9)
899c592e631SLarry Finger #define BD_MAC1						BIT(10)
900c592e631SLarry Finger #define IC_MACPHY_MODE				BIT(11)
901c592e631SLarry Finger #define BT_FUNC						BIT(16)
902c592e631SLarry Finger #define VENDOR_ID					BIT(19)
903c592e631SLarry Finger #define PAD_HWPD_IDN				BIT(22)
904c592e631SLarry Finger #define TRP_VAUX_EN					BIT(23)
905c592e631SLarry Finger #define TRP_BT_EN					BIT(24)
906c592e631SLarry Finger #define BD_PKG_SEL					BIT(25)
907c592e631SLarry Finger #define BD_HCI_SEL					BIT(26)
908c592e631SLarry Finger #define TYPE_ID						BIT(27)
909c592e631SLarry Finger 
910c592e631SLarry Finger #define CHIP_VER_RTL_MASK			0xF000
911c592e631SLarry Finger #define CHIP_VER_RTL_SHIFT			12
912c592e631SLarry Finger 
913c592e631SLarry Finger #define REG_LBMODE					(REG_CR + 3)
914c592e631SLarry Finger 
915c592e631SLarry Finger #define HCI_TXDMA_EN				BIT(0)
916c592e631SLarry Finger #define HCI_RXDMA_EN				BIT(1)
917c592e631SLarry Finger #define TXDMA_EN					BIT(2)
918c592e631SLarry Finger #define RXDMA_EN					BIT(3)
919c592e631SLarry Finger #define PROTOCOL_EN					BIT(4)
920c592e631SLarry Finger #define SCHEDULE_EN					BIT(5)
921c592e631SLarry Finger #define MACTXEN						BIT(6)
922c592e631SLarry Finger #define MACRXEN						BIT(7)
923c592e631SLarry Finger #define ENSWBCN						BIT(8)
924c592e631SLarry Finger #define ENSEC						BIT(9)
925c592e631SLarry Finger 
926c592e631SLarry Finger #define _NETTYPE(x)					(((x) & 0x3) << 16)
927c592e631SLarry Finger #define MASK_NETTYPE				0x30000
928c592e631SLarry Finger #define NT_NO_LINK					0x0
929c592e631SLarry Finger #define NT_LINK_AD_HOC				0x1
930c592e631SLarry Finger #define NT_LINK_AP					0x2
931c592e631SLarry Finger #define NT_AS_AP					0x3
932c592e631SLarry Finger 
933c592e631SLarry Finger #define _LBMODE(x)					(((x) & 0xF) << 24)
934c592e631SLarry Finger #define MASK_LBMODE					0xF000000
935c592e631SLarry Finger #define LOOPBACK_NORMAL				0x0
936c592e631SLarry Finger #define LOOPBACK_IMMEDIATELY		0xB
937c592e631SLarry Finger #define LOOPBACK_MAC_DELAY			0x3
938c592e631SLarry Finger #define LOOPBACK_PHY				0x1
939c592e631SLarry Finger #define LOOPBACK_DMA				0x7
940c592e631SLarry Finger 
941c592e631SLarry Finger #define GET_RX_PAGE_SIZE(value)		((value) & 0xF)
942c592e631SLarry Finger #define GET_TX_PAGE_SIZE(value)		(((value) & 0xF0) >> 4)
943c592e631SLarry Finger #define _PSRX_MASK					0xF
944c592e631SLarry Finger #define _PSTX_MASK					0xF0
945c592e631SLarry Finger #define _PSRX(x)					(x)
946c592e631SLarry Finger #define _PSTX(x)					((x) << 4)
947c592e631SLarry Finger 
948c592e631SLarry Finger #define PBP_64						0x0
949c592e631SLarry Finger #define PBP_128						0x1
950c592e631SLarry Finger #define PBP_256						0x2
951c592e631SLarry Finger #define PBP_512						0x3
952c592e631SLarry Finger #define PBP_1024					0x4
953c592e631SLarry Finger 
954c592e631SLarry Finger #define RXDMA_ARBBW_EN				BIT(0)
955c592e631SLarry Finger #define RXSHFT_EN					BIT(1)
956c592e631SLarry Finger #define RXDMA_AGG_EN				BIT(2)
957c592e631SLarry Finger #define QS_VO_QUEUE					BIT(8)
958c592e631SLarry Finger #define QS_VI_QUEUE					BIT(9)
959c592e631SLarry Finger #define QS_BE_QUEUE					BIT(10)
960c592e631SLarry Finger #define QS_BK_QUEUE					BIT(11)
961c592e631SLarry Finger #define QS_MANAGER_QUEUE			BIT(12)
962c592e631SLarry Finger #define QS_HIGH_QUEUE				BIT(13)
963c592e631SLarry Finger 
964c592e631SLarry Finger #define HQSEL_VOQ					BIT(0)
965c592e631SLarry Finger #define HQSEL_VIQ					BIT(1)
966c592e631SLarry Finger #define HQSEL_BEQ					BIT(2)
967c592e631SLarry Finger #define HQSEL_BKQ					BIT(3)
968c592e631SLarry Finger #define HQSEL_MGTQ					BIT(4)
969c592e631SLarry Finger #define HQSEL_HIQ					BIT(5)
970c592e631SLarry Finger 
971c592e631SLarry Finger #define _TXDMA_HIQ_MAP(x)			(((x)&0x3) << 14)
972c592e631SLarry Finger #define _TXDMA_MGQ_MAP(x)			(((x)&0x3) << 12)
973c592e631SLarry Finger #define _TXDMA_BKQ_MAP(x)			(((x)&0x3) << 10)
974c592e631SLarry Finger #define _TXDMA_BEQ_MAP(x)			(((x)&0x3) << 8)
975c592e631SLarry Finger #define _TXDMA_VIQ_MAP(x)			(((x)&0x3) << 6)
976c592e631SLarry Finger #define _TXDMA_VOQ_MAP(x)			(((x)&0x3) << 4)
977c592e631SLarry Finger 
978c592e631SLarry Finger #define QUEUE_LOW					1
979c592e631SLarry Finger #define QUEUE_NORMAL				2
980c592e631SLarry Finger #define QUEUE_HIGH					3
981c592e631SLarry Finger 
982c592e631SLarry Finger #define _LLT_NO_ACTIVE				0x0
983c592e631SLarry Finger #define _LLT_WRITE_ACCESS			0x1
984c592e631SLarry Finger #define _LLT_READ_ACCESS			0x2
985c592e631SLarry Finger 
986c592e631SLarry Finger #define _LLT_INIT_DATA(x)			((x) & 0xFF)
987c592e631SLarry Finger #define _LLT_INIT_ADDR(x)			(((x) & 0xFF) << 8)
988c592e631SLarry Finger #define _LLT_OP(x)					(((x) & 0x3) << 30)
989c592e631SLarry Finger #define _LLT_OP_VALUE(x)			(((x) >> 30) & 0x3)
990c592e631SLarry Finger 
991c592e631SLarry Finger #define BB_WRITE_READ_MASK			(BIT(31) | BIT(30))
992c592e631SLarry Finger #define BB_WRITE_EN					BIT(30)
993c592e631SLarry Finger #define BB_READ_EN					BIT(31)
994c592e631SLarry Finger 
995c592e631SLarry Finger #define _HPQ(x)			((x) & 0xFF)
996c592e631SLarry Finger #define _LPQ(x)			(((x) & 0xFF) << 8)
997c592e631SLarry Finger #define _PUBQ(x)		(((x) & 0xFF) << 16)
998c592e631SLarry Finger #define _NPQ(x)			((x) & 0xFF)
999c592e631SLarry Finger 
1000c592e631SLarry Finger #define HPQ_PUBLIC_DIS		BIT(24)
1001c592e631SLarry Finger #define LPQ_PUBLIC_DIS		BIT(25)
1002c592e631SLarry Finger #define LD_RQPN			BIT(31)
1003c592e631SLarry Finger 
1004c592e631SLarry Finger #define BCN_VALID		BIT(16)
1005c592e631SLarry Finger #define BCN_HEAD(x)		(((x) & 0xFF) << 8)
1006c592e631SLarry Finger #define	BCN_HEAD_MASK		0xFF00
1007c592e631SLarry Finger 
1008c592e631SLarry Finger #define BLK_DESC_NUM_SHIFT			4
1009c592e631SLarry Finger #define BLK_DESC_NUM_MASK			0xF
1010c592e631SLarry Finger 
1011c592e631SLarry Finger #define DROP_DATA_EN				BIT(9)
1012c592e631SLarry Finger 
1013c592e631SLarry Finger #define EN_AMPDU_RTY_NEW			BIT(7)
1014c592e631SLarry Finger 
1015c592e631SLarry Finger #define _INIRTSMCS_SEL(x)			((x) & 0x3F)
1016c592e631SLarry Finger 
1017c592e631SLarry Finger #define _SPEC_SIFS_CCK(x)			((x) & 0xFF)
1018c592e631SLarry Finger #define _SPEC_SIFS_OFDM(x)			(((x) & 0xFF) << 8)
1019c592e631SLarry Finger 
1020c592e631SLarry Finger #define RATE_REG_BITMAP_ALL			0xFFFFF
1021c592e631SLarry Finger 
1022c592e631SLarry Finger #define _RRSC_BITMAP(x)				((x) & 0xFFFFF)
1023c592e631SLarry Finger 
1024c592e631SLarry Finger #define _RRSR_RSC(x)				(((x) & 0x3) << 21)
1025c592e631SLarry Finger #define RRSR_RSC_RESERVED			0x0
1026c592e631SLarry Finger #define RRSR_RSC_UPPER_SUBCHANNEL	0x1
1027c592e631SLarry Finger #define RRSR_RSC_LOWER_SUBCHANNEL	0x2
1028c592e631SLarry Finger #define RRSR_RSC_DUPLICATE_MODE		0x3
1029c592e631SLarry Finger 
1030c592e631SLarry Finger #define USE_SHORT_G1				BIT(20)
1031c592e631SLarry Finger 
1032c592e631SLarry Finger #define _AGGLMT_MCS0(x)				((x) & 0xF)
1033c592e631SLarry Finger #define _AGGLMT_MCS1(x)				(((x) & 0xF) << 4)
1034c592e631SLarry Finger #define _AGGLMT_MCS2(x)				(((x) & 0xF) << 8)
1035c592e631SLarry Finger #define _AGGLMT_MCS3(x)				(((x) & 0xF) << 12)
1036c592e631SLarry Finger #define _AGGLMT_MCS4(x)				(((x) & 0xF) << 16)
1037c592e631SLarry Finger #define _AGGLMT_MCS5(x)				(((x) & 0xF) << 20)
1038c592e631SLarry Finger #define _AGGLMT_MCS6(x)				(((x) & 0xF) << 24)
1039c592e631SLarry Finger #define _AGGLMT_MCS7(x)				(((x) & 0xF) << 28)
1040c592e631SLarry Finger 
1041c592e631SLarry Finger #define	RETRY_LIMIT_SHORT_SHIFT		8
1042c592e631SLarry Finger #define	RETRY_LIMIT_LONG_SHIFT		0
1043c592e631SLarry Finger 
1044c592e631SLarry Finger #define _DARF_RC1(x)				((x) & 0x1F)
1045c592e631SLarry Finger #define _DARF_RC2(x)				(((x) & 0x1F) << 8)
1046c592e631SLarry Finger #define _DARF_RC3(x)				(((x) & 0x1F) << 16)
1047c592e631SLarry Finger #define _DARF_RC4(x)				(((x) & 0x1F) << 24)
1048c592e631SLarry Finger #define _DARF_RC5(x)				((x) & 0x1F)
1049c592e631SLarry Finger #define _DARF_RC6(x)				(((x) & 0x1F) << 8)
1050c592e631SLarry Finger #define _DARF_RC7(x)				(((x) & 0x1F) << 16)
1051c592e631SLarry Finger #define _DARF_RC8(x)				(((x) & 0x1F) << 24)
1052c592e631SLarry Finger 
1053c592e631SLarry Finger #define _RARF_RC1(x)				((x) & 0x1F)
1054c592e631SLarry Finger #define _RARF_RC2(x)				(((x) & 0x1F) << 8)
1055c592e631SLarry Finger #define _RARF_RC3(x)				(((x) & 0x1F) << 16)
1056c592e631SLarry Finger #define _RARF_RC4(x)				(((x) & 0x1F) << 24)
1057c592e631SLarry Finger #define _RARF_RC5(x)				((x) & 0x1F)
1058c592e631SLarry Finger #define _RARF_RC6(x)				(((x) & 0x1F) << 8)
1059c592e631SLarry Finger #define _RARF_RC7(x)				(((x) & 0x1F) << 16)
1060c592e631SLarry Finger #define _RARF_RC8(x)				(((x) & 0x1F) << 24)
1061c592e631SLarry Finger 
1062c592e631SLarry Finger #define AC_PARAM_TXOP_LIMIT_OFFSET	16
1063c592e631SLarry Finger #define AC_PARAM_ECW_MAX_OFFSET		12
1064c592e631SLarry Finger #define AC_PARAM_ECW_MIN_OFFSET		8
1065c592e631SLarry Finger #define AC_PARAM_AIFS_OFFSET		0
1066c592e631SLarry Finger 
1067c592e631SLarry Finger #define _AIFS(x)					(x)
1068c592e631SLarry Finger #define _ECW_MAX_MIN(x)				((x) << 8)
1069c592e631SLarry Finger #define _TXOP_LIMIT(x)				((x) << 16)
1070c592e631SLarry Finger 
1071c592e631SLarry Finger #define _BCNIFS(x)					((x) & 0xFF)
1072c592e631SLarry Finger #define _BCNECW(x)					((((x) & 0xF)) << 8)
1073c592e631SLarry Finger 
1074c592e631SLarry Finger #define _LRL(x)						((x) & 0x3F)
1075c592e631SLarry Finger #define _SRL(x)						(((x) & 0x3F) << 8)
1076c592e631SLarry Finger 
1077c592e631SLarry Finger #define _SIFS_CCK_CTX(x)			((x) & 0xFF)
10780529c6b8SLarry Finger #define _SIFS_CCK_TRX(x)			(((x) & 0xFF) << 8)
1079c592e631SLarry Finger 
1080c592e631SLarry Finger #define _SIFS_OFDM_CTX(x)			((x) & 0xFF)
10810529c6b8SLarry Finger #define _SIFS_OFDM_TRX(x)			(((x) & 0xFF) << 8)
1082c592e631SLarry Finger 
1083c592e631SLarry Finger #define _TBTT_PROHIBIT_HOLD(x)		(((x) & 0xFF) << 8)
1084c592e631SLarry Finger 
1085c592e631SLarry Finger #define DIS_EDCA_CNT_DWN			BIT(11)
1086c592e631SLarry Finger 
1087c592e631SLarry Finger #define EN_MBSSID					BIT(1)
1088c592e631SLarry Finger #define EN_TXBCN_RPT				BIT(2)
1089c592e631SLarry Finger #define	EN_BCN_FUNCTION				BIT(3)
1090c592e631SLarry Finger 
1091c592e631SLarry Finger #define TSFTR_RST					BIT(0)
1092c592e631SLarry Finger #define TSFTR1_RST					BIT(1)
1093c592e631SLarry Finger 
1094c592e631SLarry Finger #define STOP_BCNQ					BIT(6)
1095c592e631SLarry Finger 
1096c592e631SLarry Finger #define	DIS_TSF_UDT0_NORMAL_CHIP	BIT(4)
1097c592e631SLarry Finger #define	DIS_TSF_UDT0_TEST_CHIP		BIT(5)
1098c592e631SLarry Finger 
10990529c6b8SLarry Finger #define	ACMHW_HWEN					BIT(0)
11000529c6b8SLarry Finger #define	ACMHW_BEQEN					BIT(1)
11010529c6b8SLarry Finger #define	ACMHW_VIQEN					BIT(2)
11020529c6b8SLarry Finger #define	ACMHW_VOQEN					BIT(3)
11030529c6b8SLarry Finger #define	ACMHW_BEQSTATUS				BIT(4)
11040529c6b8SLarry Finger #define	ACMHW_VIQSTATUS				BIT(5)
11050529c6b8SLarry Finger #define	ACMHW_VOQSTATUS				BIT(6)
1106c592e631SLarry Finger 
1107c592e631SLarry Finger #define APSDOFF						BIT(6)
1108c592e631SLarry Finger #define APSDOFF_STATUS				BIT(7)
1109c592e631SLarry Finger 
1110c592e631SLarry Finger #define BW_20MHZ					BIT(2)
1111c592e631SLarry Finger 
1112c592e631SLarry Finger #define RATE_BITMAP_ALL				0xFFFFF
1113c592e631SLarry Finger 
1114c592e631SLarry Finger #define RATE_RRSR_CCK_ONLY_1M		0xFFFF1
1115c592e631SLarry Finger 
1116c592e631SLarry Finger #define TSFRST						BIT(0)
1117c592e631SLarry Finger #define DIS_GCLK					BIT(1)
1118c592e631SLarry Finger #define PAD_SEL						BIT(2)
1119c592e631SLarry Finger #define PWR_ST						BIT(6)
1120c592e631SLarry Finger #define PWRBIT_OW_EN				BIT(7)
1121c592e631SLarry Finger #define ACRC						BIT(8)
1122c592e631SLarry Finger #define CFENDFORM					BIT(9)
1123c592e631SLarry Finger #define ICV							BIT(10)
1124c592e631SLarry Finger 
1125c592e631SLarry Finger #define AAP							BIT(0)
1126c592e631SLarry Finger #define APM							BIT(1)
1127c592e631SLarry Finger #define AM							BIT(2)
1128c592e631SLarry Finger #define AB							BIT(3)
1129c592e631SLarry Finger #define ADD3						BIT(4)
1130c592e631SLarry Finger #define APWRMGT						BIT(5)
1131c592e631SLarry Finger #define CBSSID						BIT(6)
1132c592e631SLarry Finger #define CBSSID_DATA					BIT(6)
1133c592e631SLarry Finger #define CBSSID_BCN					BIT(7)
1134c592e631SLarry Finger #define ACRC32						BIT(8)
1135c592e631SLarry Finger #define AICV						BIT(9)
1136c592e631SLarry Finger #define ADF							BIT(11)
1137c592e631SLarry Finger #define ACF							BIT(12)
1138c592e631SLarry Finger #define AMF							BIT(13)
1139c592e631SLarry Finger #define HTC_LOC_CTRL				BIT(14)
1140c592e631SLarry Finger #define UC_DATA_EN					BIT(16)
1141c592e631SLarry Finger #define BM_DATA_EN					BIT(17)
1142c592e631SLarry Finger #define MFBEN						BIT(22)
1143c592e631SLarry Finger #define LSIGEN						BIT(23)
11440529c6b8SLarry Finger #define ENMBID						BIT(24)
1145c592e631SLarry Finger #define APP_BASSN					BIT(27)
1146c592e631SLarry Finger #define APP_PHYSTS					BIT(28)
1147c592e631SLarry Finger #define APP_ICV						BIT(29)
1148c592e631SLarry Finger #define APP_MIC						BIT(30)
1149c592e631SLarry Finger #define APP_FCS						BIT(31)
1150c592e631SLarry Finger 
1151c592e631SLarry Finger #define _MIN_SPACE(x)				((x) & 0x7)
1152c592e631SLarry Finger #define _SHORT_GI_PADDING(x)		(((x) & 0x1F) << 3)
1153c592e631SLarry Finger 
1154c592e631SLarry Finger #define RXERR_TYPE_OFDM_PPDU		0
1155c592e631SLarry Finger #define RXERR_TYPE_OFDM_FALSE_ALARM	1
1156c592e631SLarry Finger #define	RXERR_TYPE_OFDM_MPDU_OK		2
1157c592e631SLarry Finger #define RXERR_TYPE_OFDM_MPDU_FAIL	3
1158c592e631SLarry Finger #define RXERR_TYPE_CCK_PPDU			4
1159c592e631SLarry Finger #define RXERR_TYPE_CCK_FALSE_ALARM	5
1160c592e631SLarry Finger #define RXERR_TYPE_CCK_MPDU_OK		6
1161c592e631SLarry Finger #define RXERR_TYPE_CCK_MPDU_FAIL	7
1162c592e631SLarry Finger #define RXERR_TYPE_HT_PPDU			8
1163c592e631SLarry Finger #define RXERR_TYPE_HT_FALSE_ALARM	9
1164c592e631SLarry Finger #define RXERR_TYPE_HT_MPDU_TOTAL	10
1165c592e631SLarry Finger #define RXERR_TYPE_HT_MPDU_OK		11
1166c592e631SLarry Finger #define RXERR_TYPE_HT_MPDU_FAIL		12
1167c592e631SLarry Finger #define RXERR_TYPE_RX_FULL_DROP		15
1168c592e631SLarry Finger 
1169c592e631SLarry Finger #define RXERR_COUNTER_MASK			0xFFFFF
1170c592e631SLarry Finger #define RXERR_RPT_RST				BIT(27)
1171c592e631SLarry Finger #define _RXERR_RPT_SEL(type)		((type) << 28)
1172c592e631SLarry Finger 
11730529c6b8SLarry Finger #define	SCR_TXUSEDK					BIT(0)
11740529c6b8SLarry Finger #define	SCR_RXUSEDK					BIT(1)
11750529c6b8SLarry Finger #define	SCR_TXENCENABLE				BIT(2)
11760529c6b8SLarry Finger #define	SCR_RXDECENABLE				BIT(3)
11770529c6b8SLarry Finger #define	SCR_SKBYA2					BIT(4)
11780529c6b8SLarry Finger #define	SCR_NOSKMC					BIT(5)
1179c592e631SLarry Finger #define SCR_TXBCUSEDK				BIT(6)
1180c592e631SLarry Finger #define SCR_RXBCUSEDK				BIT(7)
1181c592e631SLarry Finger 
1182c592e631SLarry Finger #define USB_IS_HIGH_SPEED			0
1183c592e631SLarry Finger #define USB_IS_FULL_SPEED			1
1184c592e631SLarry Finger #define USB_SPEED_MASK				BIT(5)
1185c592e631SLarry Finger 
1186c592e631SLarry Finger #define USB_NORMAL_SIE_EP_MASK		0xF
1187c592e631SLarry Finger #define USB_NORMAL_SIE_EP_SHIFT		4
1188c592e631SLarry Finger 
1189c592e631SLarry Finger #define USB_TEST_EP_MASK			0x30
1190c592e631SLarry Finger #define USB_TEST_EP_SHIFT			4
1191c592e631SLarry Finger 
1192c592e631SLarry Finger #define USB_AGG_EN					BIT(3)
1193c592e631SLarry Finger 
1194c592e631SLarry Finger #define MAC_ADDR_LEN				6
1195c592e631SLarry Finger #define LAST_ENTRY_OF_TX_PKT_BUFFER	255
1196c592e631SLarry Finger 
1197c592e631SLarry Finger #define POLLING_LLT_THRESHOLD		20
1198c592e631SLarry Finger #define POLLING_READY_TIMEOUT_COUNT	1000
1199c592e631SLarry Finger 
1200c592e631SLarry Finger #define	MAX_MSS_DENSITY_2T			0x13
1201c592e631SLarry Finger #define	MAX_MSS_DENSITY_1T			0x0A
1202c592e631SLarry Finger 
1203c592e631SLarry Finger #define EPROM_CMD_OPERATING_MODE_MASK	((1<<7)|(1<<6))
1204c592e631SLarry Finger #define EPROM_CMD_CONFIG			0x3
1205c592e631SLarry Finger #define EPROM_CMD_LOAD				1
1206c592e631SLarry Finger 
1207c592e631SLarry Finger #define	HWSET_MAX_SIZE_92S			HWSET_MAX_SIZE
1208c592e631SLarry Finger 
1209c592e631SLarry Finger #define	HAL_8192C_HW_GPIO_WPS_BIT	BIT(2)
1210c592e631SLarry Finger 
1211c592e631SLarry Finger #define	RPMAC_RESET					0x100
1212c592e631SLarry Finger #define	RPMAC_TXSTART				0x104
1213c592e631SLarry Finger #define	RPMAC_TXLEGACYSIG			0x108
1214c592e631SLarry Finger #define	RPMAC_TXHTSIG1				0x10c
1215c592e631SLarry Finger #define	RPMAC_TXHTSIG2				0x110
1216c592e631SLarry Finger #define	RPMAC_PHYDEBUG				0x114
1217c592e631SLarry Finger #define	RPMAC_TXPACKETNUM			0x118
1218c592e631SLarry Finger #define	RPMAC_TXIDLE				0x11c
1219c592e631SLarry Finger #define	RPMAC_TXMACHEADER0			0x120
1220c592e631SLarry Finger #define	RPMAC_TXMACHEADER1			0x124
1221c592e631SLarry Finger #define	RPMAC_TXMACHEADER2			0x128
1222c592e631SLarry Finger #define	RPMAC_TXMACHEADER3			0x12c
1223c592e631SLarry Finger #define	RPMAC_TXMACHEADER4			0x130
1224c592e631SLarry Finger #define	RPMAC_TXMACHEADER5			0x134
1225c592e631SLarry Finger #define	RPMAC_TXDADATYPE			0x138
1226c592e631SLarry Finger #define	RPMAC_TXRANDOMSEED			0x13c
1227c592e631SLarry Finger #define	RPMAC_CCKPLCPPREAMBLE		0x140
1228c592e631SLarry Finger #define	RPMAC_CCKPLCPHEADER			0x144
1229c592e631SLarry Finger #define	RPMAC_CCKCRC16				0x148
1230c592e631SLarry Finger #define	RPMAC_OFDMRXCRC32OK			0x170
12310529c6b8SLarry Finger #define	RPMAC_OFDMRXCRC32ER			0x174
1232c592e631SLarry Finger #define	RPMAC_OFDMRXPARITYER		0x178
1233c592e631SLarry Finger #define	RPMAC_OFDMRXCRC8ER			0x17c
1234c592e631SLarry Finger #define	RPMAC_CCKCRXRC16ER			0x180
1235c592e631SLarry Finger #define	RPMAC_CCKCRXRC32ER			0x184
1236c592e631SLarry Finger #define	RPMAC_CCKCRXRC32OK			0x188
1237c592e631SLarry Finger #define	RPMAC_TXSTATUS				0x18c
1238c592e631SLarry Finger 
1239c592e631SLarry Finger #define	RFPGA0_RFMOD				0x800
1240c592e631SLarry Finger 
1241c592e631SLarry Finger #define	RFPGA0_TXINFO				0x804
1242c592e631SLarry Finger #define	RFPGA0_PSDFUNCTION			0x808
1243c592e631SLarry Finger 
1244c592e631SLarry Finger #define	RFPGA0_TXGAINSTAGE			0x80c
1245c592e631SLarry Finger 
1246c592e631SLarry Finger #define	RFPGA0_RFTIMING1			0x810
1247c592e631SLarry Finger #define	RFPGA0_RFTIMING2			0x814
1248c592e631SLarry Finger 
1249c592e631SLarry Finger #define	RFPGA0_XA_HSSIPARAMETER1	0x820
1250c592e631SLarry Finger #define	RFPGA0_XA_HSSIPARAMETER2	0x824
1251c592e631SLarry Finger #define	RFPGA0_XB_HSSIPARAMETER1	0x828
1252c592e631SLarry Finger #define	RFPGA0_XB_HSSIPARAMETER2	0x82c
1253c592e631SLarry Finger 
1254c592e631SLarry Finger #define	RFPGA0_XA_LSSIPARAMETER		0x840
1255c592e631SLarry Finger #define	RFPGA0_XB_LSSIPARAMETER		0x844
1256c592e631SLarry Finger 
1257c592e631SLarry Finger #define	RFPGA0_RFWAKEUPPARAMETER	0x850
1258c592e631SLarry Finger #define	RFPGA0_RFSLEEPUPPARAMETER	0x854
1259c592e631SLarry Finger 
1260c592e631SLarry Finger #define	RFPGA0_XAB_SWITCHCONTROL	0x858
1261c592e631SLarry Finger #define	RFPGA0_XCD_SWITCHCONTROL	0x85c
1262c592e631SLarry Finger 
1263c592e631SLarry Finger #define	RFPGA0_XA_RFINTERFACEOE		0x860
1264c592e631SLarry Finger #define	RFPGA0_XB_RFINTERFACEOE		0x864
1265c592e631SLarry Finger 
1266c592e631SLarry Finger #define	RFPGA0_XAB_RFINTERFACESW	0x870
1267c592e631SLarry Finger #define	RFPGA0_XCD_RFINTERFACESW	0x874
1268c592e631SLarry Finger 
12690529c6b8SLarry Finger #define	RFPGA0_XAB_RFPARAMETER		0x878
12700529c6b8SLarry Finger #define	RFPGA0_XCD_RFPARAMETER		0x87c
1271c592e631SLarry Finger 
1272c592e631SLarry Finger #define	RFPGA0_ANALOGPARAMETER1		0x880
1273c592e631SLarry Finger #define	RFPGA0_ANALOGPARAMETER2		0x884
1274c592e631SLarry Finger #define	RFPGA0_ANALOGPARAMETER3		0x888
1275c592e631SLarry Finger #define	RFPGA0_ANALOGPARAMETER4		0x88c
1276c592e631SLarry Finger 
1277c592e631SLarry Finger #define	RFPGA0_XA_LSSIREADBACK		0x8a0
1278c592e631SLarry Finger #define	RFPGA0_XB_LSSIREADBACK		0x8a4
1279c592e631SLarry Finger #define	RFPGA0_XC_LSSIREADBACK		0x8a8
1280c592e631SLarry Finger #define	RFPGA0_XD_LSSIREADBACK		0x8ac
1281c592e631SLarry Finger 
1282c592e631SLarry Finger #define	RFPGA0_PSDREPORT			0x8b4
1283c592e631SLarry Finger #define	TRANSCEIVEA_HSPI_READBACK	0x8b8
1284c592e631SLarry Finger #define	TRANSCEIVEB_HSPI_READBACK	0x8bc
1285c592e631SLarry Finger #define	RFPGA0_XAB_RFINTERFACERB	0x8e0
1286c592e631SLarry Finger #define	RFPGA0_XCD_RFINTERFACERB	0x8e4
1287c592e631SLarry Finger 
1288c592e631SLarry Finger #define	RFPGA1_RFMOD				0x900
1289c592e631SLarry Finger 
1290c592e631SLarry Finger #define	RFPGA1_TXBLOCK				0x904
1291c592e631SLarry Finger #define	RFPGA1_DEBUGSELECT			0x908
1292c592e631SLarry Finger #define	RFPGA1_TXINFO				0x90c
1293c592e631SLarry Finger 
1294c592e631SLarry Finger #define	RCCK0_SYSTEM				0xa00
1295c592e631SLarry Finger 
1296c592e631SLarry Finger #define	RCCK0_AFESETTING			0xa04
1297c592e631SLarry Finger #define	RCCK0_CCA					0xa08
1298c592e631SLarry Finger 
1299c592e631SLarry Finger #define	RCCK0_RXAGC1				0xa0c
1300c592e631SLarry Finger #define	RCCK0_RXAGC2				0xa10
1301c592e631SLarry Finger 
1302c592e631SLarry Finger #define	RCCK0_RXHP					0xa14
1303c592e631SLarry Finger 
1304c592e631SLarry Finger #define	RCCK0_DSPPARAMETER1			0xa18
1305c592e631SLarry Finger #define	RCCK0_DSPPARAMETER2			0xa1c
1306c592e631SLarry Finger 
1307c592e631SLarry Finger #define	RCCK0_TXFILTER1				0xa20
1308c592e631SLarry Finger #define	RCCK0_TXFILTER2				0xa24
1309c592e631SLarry Finger #define	RCCK0_DEBUGPORT				0xa28
1310c592e631SLarry Finger #define	RCCK0_FALSEALARMREPORT		0xa2c
1311c592e631SLarry Finger #define	RCCK0_TRSSIREPORT		0xa50
1312c592e631SLarry Finger #define	RCCK0_RXREPORT			0xa54
1313c592e631SLarry Finger #define	RCCK0_FACOUNTERLOWER		0xa5c
1314c592e631SLarry Finger #define	RCCK0_FACOUNTERUPPER		0xa58
1315c592e631SLarry Finger 
1316c592e631SLarry Finger #define	ROFDM0_LSTF					0xc00
1317c592e631SLarry Finger 
1318c592e631SLarry Finger #define	ROFDM0_TRXPATHENABLE		0xc04
1319c592e631SLarry Finger #define	ROFDM0_TRMUXPAR				0xc08
1320c592e631SLarry Finger #define	ROFDM0_TRSWISOLATION		0xc0c
1321c592e631SLarry Finger 
1322c592e631SLarry Finger #define	ROFDM0_XARXAFE				0xc10
1323c592e631SLarry Finger #define	ROFDM0_XARXIQIMBALANCE		0xc14
1324c592e631SLarry Finger #define	ROFDM0_XBRXAFE			0xc18
1325c592e631SLarry Finger #define	ROFDM0_XBRXIQIMBALANCE		0xc1c
1326c592e631SLarry Finger #define	ROFDM0_XCRXAFE			0xc20
1327c592e631SLarry Finger #define	ROFDM0_XCRXIQIMBANLANCE		0xc24
1328c592e631SLarry Finger #define	ROFDM0_XDRXAFE			0xc28
1329c592e631SLarry Finger #define	ROFDM0_XDRXIQIMBALANCE		0xc2c
1330c592e631SLarry Finger 
1331c592e631SLarry Finger #define	ROFDM0_RXDETECTOR1			0xc30
1332c592e631SLarry Finger #define	ROFDM0_RXDETECTOR2			0xc34
1333c592e631SLarry Finger #define	ROFDM0_RXDETECTOR3			0xc38
1334c592e631SLarry Finger #define	ROFDM0_RXDETECTOR4			0xc3c
1335c592e631SLarry Finger 
1336c592e631SLarry Finger #define	ROFDM0_RXDSP				0xc40
1337c592e631SLarry Finger #define	ROFDM0_CFOANDDAGC			0xc44
1338c592e631SLarry Finger #define	ROFDM0_CCADROPTHRESHOLD		0xc48
1339c592e631SLarry Finger #define	ROFDM0_ECCATHRESHOLD		0xc4c
1340c592e631SLarry Finger 
1341c592e631SLarry Finger #define	ROFDM0_XAAGCCORE1			0xc50
1342c592e631SLarry Finger #define	ROFDM0_XAAGCCORE2			0xc54
1343c592e631SLarry Finger #define	ROFDM0_XBAGCCORE1			0xc58
1344c592e631SLarry Finger #define	ROFDM0_XBAGCCORE2			0xc5c
1345c592e631SLarry Finger #define	ROFDM0_XCAGCCORE1			0xc60
1346c592e631SLarry Finger #define	ROFDM0_XCAGCCORE2			0xc64
1347c592e631SLarry Finger #define	ROFDM0_XDAGCCORE1			0xc68
1348c592e631SLarry Finger #define	ROFDM0_XDAGCCORE2			0xc6c
1349c592e631SLarry Finger 
1350c592e631SLarry Finger #define	ROFDM0_AGCPARAMETER1		0xc70
1351c592e631SLarry Finger #define	ROFDM0_AGCPARAMETER2		0xc74
1352c592e631SLarry Finger #define	ROFDM0_AGCRSSITABLE			0xc78
1353c592e631SLarry Finger #define	ROFDM0_HTSTFAGC				0xc7c
1354c592e631SLarry Finger 
1355c592e631SLarry Finger #define	ROFDM0_XATXIQIMBALANCE		0xc80
1356c592e631SLarry Finger #define	ROFDM0_XATXAFE				0xc84
1357c592e631SLarry Finger #define	ROFDM0_XBTXIQIMBALANCE		0xc88
1358c592e631SLarry Finger #define	ROFDM0_XBTXAFE				0xc8c
1359c592e631SLarry Finger #define	ROFDM0_XCTXIQIMBALANCE		0xc90
1360c592e631SLarry Finger #define	ROFDM0_XCTXAFE			0xc94
1361c592e631SLarry Finger #define	ROFDM0_XDTXIQIMBALANCE		0xc98
1362c592e631SLarry Finger #define	ROFDM0_XDTXAFE				0xc9c
1363c592e631SLarry Finger 
1364c592e631SLarry Finger #define ROFDM0_RXIQEXTANTA			0xca0
1365c592e631SLarry Finger 
1366c592e631SLarry Finger #define	ROFDM0_RXHPPARAMETER		0xce0
1367c592e631SLarry Finger #define	ROFDM0_TXPSEUDONOISEWGT		0xce4
1368c592e631SLarry Finger #define	ROFDM0_FRAMESYNC			0xcf0
1369c592e631SLarry Finger #define	ROFDM0_DFSREPORT			0xcf4
1370c592e631SLarry Finger #define	ROFDM0_TXCOEFF1				0xca4
1371c592e631SLarry Finger #define	ROFDM0_TXCOEFF2				0xca8
1372c592e631SLarry Finger #define	ROFDM0_TXCOEFF3				0xcac
1373c592e631SLarry Finger #define	ROFDM0_TXCOEFF4				0xcb0
1374c592e631SLarry Finger #define	ROFDM0_TXCOEFF5				0xcb4
1375c592e631SLarry Finger #define	ROFDM0_TXCOEFF6				0xcb8
1376c592e631SLarry Finger 
1377c592e631SLarry Finger #define	ROFDM1_LSTF					0xd00
1378c592e631SLarry Finger #define	ROFDM1_TRXPATHENABLE		0xd04
1379c592e631SLarry Finger 
1380c592e631SLarry Finger #define	ROFDM1_CF0					0xd08
1381c592e631SLarry Finger #define	ROFDM1_CSI1					0xd10
1382c592e631SLarry Finger #define	ROFDM1_SBD					0xd14
1383c592e631SLarry Finger #define	ROFDM1_CSI2					0xd18
1384c592e631SLarry Finger #define	ROFDM1_CFOTRACKING			0xd2c
1385c592e631SLarry Finger #define	ROFDM1_TRXMESAURE1			0xd34
1386c592e631SLarry Finger #define	ROFDM1_INTFDET				0xd3c
1387c592e631SLarry Finger #define	ROFDM1_PSEUDONOISESTATEAB	0xd50
1388c592e631SLarry Finger #define	ROFDM1_PSEUDONOISESTATECD	0xd54
1389c592e631SLarry Finger #define	ROFDM1_RXPSEUDONOISEWGT		0xd58
1390c592e631SLarry Finger 
1391c592e631SLarry Finger #define	ROFDM_PHYCOUNTER1			0xda0
1392c592e631SLarry Finger #define	ROFDM_PHYCOUNTER2			0xda4
1393c592e631SLarry Finger #define	ROFDM_PHYCOUNTER3			0xda8
1394c592e631SLarry Finger 
1395c592e631SLarry Finger #define	ROFDM_SHORTCFOAB			0xdac
1396c592e631SLarry Finger #define	ROFDM_SHORTCFOCD			0xdb0
1397c592e631SLarry Finger #define	ROFDM_LONGCFOAB				0xdb4
1398c592e631SLarry Finger #define	ROFDM_LONGCFOCD				0xdb8
1399c592e631SLarry Finger #define	ROFDM_TAILCF0AB				0xdbc
1400c592e631SLarry Finger #define	ROFDM_TAILCF0CD				0xdc0
1401c592e631SLarry Finger #define	ROFDM_PWMEASURE1		0xdc4
1402c592e631SLarry Finger #define	ROFDM_PWMEASURE2		0xdc8
1403c592e631SLarry Finger #define	ROFDM_BWREPORT				0xdcc
1404c592e631SLarry Finger #define	ROFDM_AGCREPORT				0xdd0
1405c592e631SLarry Finger #define	ROFDM_RXSNR					0xdd4
1406c592e631SLarry Finger #define	ROFDM_RXEVMCSI				0xdd8
1407c592e631SLarry Finger #define	ROFDM_SIGREPORT				0xddc
1408c592e631SLarry Finger 
1409c592e631SLarry Finger #define	RTXAGC_A_RATE18_06			0xe00
1410c592e631SLarry Finger #define	RTXAGC_A_RATE54_24			0xe04
1411c592e631SLarry Finger #define	RTXAGC_A_CCK1_MCS32			0xe08
1412c592e631SLarry Finger #define	RTXAGC_A_MCS03_MCS00		0xe10
1413c592e631SLarry Finger #define	RTXAGC_A_MCS07_MCS04		0xe14
1414c592e631SLarry Finger #define	RTXAGC_A_MCS11_MCS08		0xe18
1415c592e631SLarry Finger #define	RTXAGC_A_MCS15_MCS12		0xe1c
1416c592e631SLarry Finger 
1417c592e631SLarry Finger #define	RTXAGC_B_RATE18_06			0x830
1418c592e631SLarry Finger #define	RTXAGC_B_RATE54_24			0x834
1419c592e631SLarry Finger #define	RTXAGC_B_CCK1_55_MCS32		0x838
1420c592e631SLarry Finger #define	RTXAGC_B_MCS03_MCS00		0x83c
1421c592e631SLarry Finger #define	RTXAGC_B_MCS07_MCS04		0x848
1422c592e631SLarry Finger #define	RTXAGC_B_MCS11_MCS08		0x84c
1423c592e631SLarry Finger #define	RTXAGC_B_MCS15_MCS12		0x868
1424c592e631SLarry Finger #define	RTXAGC_B_CCK11_A_CCK2_11	0x86c
1425c592e631SLarry Finger 
1426c592e631SLarry Finger #define	RZEBRA1_HSSIENABLE			0x0
1427c592e631SLarry Finger #define	RZEBRA1_TRXENABLE1			0x1
1428c592e631SLarry Finger #define	RZEBRA1_TRXENABLE2			0x2
1429c592e631SLarry Finger #define	RZEBRA1_AGC					0x4
1430c592e631SLarry Finger #define	RZEBRA1_CHARGEPUMP			0x5
1431c592e631SLarry Finger #define	RZEBRA1_CHANNEL				0x7
1432c592e631SLarry Finger 
1433c592e631SLarry Finger #define	RZEBRA1_TXGAIN				0x8
1434c592e631SLarry Finger #define	RZEBRA1_TXLPF				0x9
1435c592e631SLarry Finger #define	RZEBRA1_RXLPF				0xb
1436c592e631SLarry Finger #define	RZEBRA1_RXHPFCORNER			0xc
1437c592e631SLarry Finger 
1438c592e631SLarry Finger #define	RGLOBALCTRL					0
1439c592e631SLarry Finger #define	RRTL8256_TXLPF				19
1440c592e631SLarry Finger #define	RRTL8256_RXLPF				11
1441c592e631SLarry Finger #define	RRTL8258_TXLPF				0x11
1442c592e631SLarry Finger #define	RRTL8258_RXLPF				0x13
1443c592e631SLarry Finger #define	RRTL8258_RSSILPF			0xa
1444c592e631SLarry Finger 
1445c592e631SLarry Finger #define	RF_AC						0x00
1446c592e631SLarry Finger 
1447c592e631SLarry Finger #define	RF_IQADJ_G1					0x01
1448c592e631SLarry Finger #define	RF_IQADJ_G2					0x02
1449c592e631SLarry Finger #define	RF_POW_TRSW					0x05
1450c592e631SLarry Finger 
1451c592e631SLarry Finger #define	RF_GAIN_RX					0x06
1452c592e631SLarry Finger #define	RF_GAIN_TX					0x07
1453c592e631SLarry Finger 
1454c592e631SLarry Finger #define	RF_TXM_IDAC					0x08
1455c592e631SLarry Finger #define	RF_BS_IQGEN					0x0F
1456c592e631SLarry Finger 
1457c592e631SLarry Finger #define	RF_MODE1					0x10
1458c592e631SLarry Finger #define	RF_MODE2					0x11
1459c592e631SLarry Finger 
1460c592e631SLarry Finger #define	RF_RX_AGC_HP				0x12
1461c592e631SLarry Finger #define	RF_TX_AGC					0x13
1462c592e631SLarry Finger #define	RF_BIAS						0x14
1463c592e631SLarry Finger #define	RF_IPA						0x15
1464c592e631SLarry Finger #define	RF_POW_ABILITY				0x17
1465c592e631SLarry Finger #define	RF_MODE_AG					0x18
1466c592e631SLarry Finger #define	RRFCHANNEL					0x18
1467c592e631SLarry Finger #define	RF_CHNLBW					0x18
1468c592e631SLarry Finger #define	RF_TOP						0x19
1469c592e631SLarry Finger 
1470c592e631SLarry Finger #define	RF_RX_G1					0x1A
1471c592e631SLarry Finger #define	RF_RX_G2					0x1B
1472c592e631SLarry Finger 
1473c592e631SLarry Finger #define	RF_RX_BB2					0x1C
1474c592e631SLarry Finger #define	RF_RX_BB1					0x1D
1475c592e631SLarry Finger 
1476c592e631SLarry Finger #define	RF_RCK1						0x1E
1477c592e631SLarry Finger #define	RF_RCK2						0x1F
1478c592e631SLarry Finger 
1479c592e631SLarry Finger #define	RF_TX_G1					0x20
1480c592e631SLarry Finger #define	RF_TX_G2					0x21
1481c592e631SLarry Finger #define	RF_TX_G3					0x22
1482c592e631SLarry Finger 
1483c592e631SLarry Finger #define	RF_TX_BB1					0x23
1484c592e631SLarry Finger #define	RF_T_METER					0x24
1485c592e631SLarry Finger 
1486c592e631SLarry Finger #define	RF_SYN_G1					0x25
1487c592e631SLarry Finger #define	RF_SYN_G2					0x26
1488c592e631SLarry Finger #define	RF_SYN_G3					0x27
1489c592e631SLarry Finger #define	RF_SYN_G4					0x28
1490c592e631SLarry Finger #define	RF_SYN_G5					0x29
1491c592e631SLarry Finger #define	RF_SYN_G6					0x2A
1492c592e631SLarry Finger #define	RF_SYN_G7					0x2B
1493c592e631SLarry Finger #define	RF_SYN_G8					0x2C
1494c592e631SLarry Finger 
1495c592e631SLarry Finger #define	RF_RCK_OS					0x30
1496c592e631SLarry Finger #define	RF_TXPA_G1					0x31
1497c592e631SLarry Finger #define	RF_TXPA_G2					0x32
1498c592e631SLarry Finger #define	RF_TXPA_G3					0x33
1499c592e631SLarry Finger 
1500c592e631SLarry Finger #define	BBBRESETB					0x100
1501c592e631SLarry Finger #define	BGLOBALRESETB				0x200
1502c592e631SLarry Finger #define	BOFDMTXSTART				0x4
1503c592e631SLarry Finger #define	BCCKTXSTART					0x8
1504c592e631SLarry Finger #define	BCRC32DEBUG					0x100
1505c592e631SLarry Finger #define	BPMACLOOPBACK				0x10
1506c592e631SLarry Finger #define	BTXLSIG						0xffffff
1507c592e631SLarry Finger #define	BOFDMTXRATE					0xf
1508c592e631SLarry Finger #define	BOFDMTXRESERVED				0x10
1509c592e631SLarry Finger #define	BOFDMTXLENGTH				0x1ffe0
1510c592e631SLarry Finger #define	BOFDMTXPARITY				0x20000
1511c592e631SLarry Finger #define	BTXHTSIG1					0xffffff
1512c592e631SLarry Finger #define	BTXHTMCSRATE				0x7f
1513c592e631SLarry Finger #define	BTXHTBW						0x80
1514c592e631SLarry Finger #define	BTXHTLENGTH					0xffff00
1515c592e631SLarry Finger #define	BTXHTSIG2					0xffffff
1516c592e631SLarry Finger #define	BTXHTSMOOTHING				0x1
1517c592e631SLarry Finger #define	BTXHTSOUNDING				0x2
1518c592e631SLarry Finger #define	BTXHTRESERVED				0x4
1519c592e631SLarry Finger #define	BTXHTAGGREATION				0x8
1520c592e631SLarry Finger #define	BTXHTSTBC					0x30
1521c592e631SLarry Finger #define	BTXHTADVANCECODING			0x40
1522c592e631SLarry Finger #define	BTXHTSHORTGI				0x80
1523c592e631SLarry Finger #define	BTXHTNUMBERHT_LTF			0x300
1524c592e631SLarry Finger #define	BTXHTCRC8					0x3fc00
1525c592e631SLarry Finger #define	BCOUNTERRESET				0x10000
1526c592e631SLarry Finger #define	BNUMOFOFDMTX				0xffff
1527c592e631SLarry Finger #define	BNUMOFCCKTX					0xffff0000
1528c592e631SLarry Finger #define	BTXIDLEINTERVAL				0xffff
1529c592e631SLarry Finger #define	BOFDMSERVICE				0xffff0000
1530c592e631SLarry Finger #define	BTXMACHEADER				0xffffffff
1531c592e631SLarry Finger #define	BTXDATAINIT					0xff
1532c592e631SLarry Finger #define	BTXHTMODE					0x100
1533c592e631SLarry Finger #define	BTXDATATYPE					0x30000
1534c592e631SLarry Finger #define	BTXRANDOMSEED				0xffffffff
1535c592e631SLarry Finger #define	BCCKTXPREAMBLE				0x1
1536c592e631SLarry Finger #define	BCCKTXSFD					0xffff0000
1537c592e631SLarry Finger #define	BCCKTXSIG					0xff
1538c592e631SLarry Finger #define	BCCKTXSERVICE				0xff00
1539c592e631SLarry Finger #define	BCCKLENGTHEXT				0x8000
1540c592e631SLarry Finger #define	BCCKTXLENGHT				0xffff0000
1541c592e631SLarry Finger #define	BCCKTXCRC16					0xffff
1542c592e631SLarry Finger #define	BCCKTXSTATUS				0x1
1543c592e631SLarry Finger #define	BOFDMTXSTATUS				0x2
15440529c6b8SLarry Finger #define IS_BB_REG_OFFSET_92S(_offset)	\
15450529c6b8SLarry Finger 	((_offset >= 0x800) && (_offset <= 0xfff))
1546c592e631SLarry Finger 
1547c592e631SLarry Finger #define	BRFMOD						0x1
1548c592e631SLarry Finger #define	BJAPANMODE					0x2
1549c592e631SLarry Finger #define	BCCKTXSC					0x30
1550c592e631SLarry Finger #define	BCCKEN						0x1000000
1551c592e631SLarry Finger #define	BOFDMEN						0x2000000
1552c592e631SLarry Finger 
1553c592e631SLarry Finger #define	BOFDMRXADCPHASE			0x10000
1554c592e631SLarry Finger #define	BOFDMTXDACPHASE			0x40000
1555c592e631SLarry Finger #define	BXATXAGC			0x3f
1556c592e631SLarry Finger 
1557c592e631SLarry Finger #define	BXBTXAGC			0xf00
1558c592e631SLarry Finger #define	BXCTXAGC			0xf000
1559c592e631SLarry Finger #define	BXDTXAGC			0xf0000
1560c592e631SLarry Finger 
1561c592e631SLarry Finger #define	BPASTART			0xf0000000
1562c592e631SLarry Finger #define	BTRSTART			0x00f00000
1563c592e631SLarry Finger #define	BRFSTART			0x0000f000
1564c592e631SLarry Finger #define	BBBSTART			0x000000f0
1565c592e631SLarry Finger #define	BBBCCKSTART			0x0000000f
1566c592e631SLarry Finger #define	BPAEND				0xf
1567c592e631SLarry Finger #define	BTREND				0x0f000000
1568c592e631SLarry Finger #define	BRFEND				0x000f0000
1569c592e631SLarry Finger #define	BCCAMASK			0x000000f0
1570c592e631SLarry Finger #define	BR2RCCAMASK			0x00000f00
1571c592e631SLarry Finger #define	BHSSI_R2TDELAY			0xf8000000
1572c592e631SLarry Finger #define	BHSSI_T2RDELAY			0xf80000
1573c592e631SLarry Finger #define	BCONTXHSSI			0x400
1574c592e631SLarry Finger #define	BIGFROMCCK			0x200
1575c592e631SLarry Finger #define	BAGCADDRESS			0x3f
1576c592e631SLarry Finger #define	BRXHPTX				0x7000
1577c592e631SLarry Finger #define	BRXHP2RX			0x38000
1578c592e631SLarry Finger #define	BRXHPCCKINI			0xc0000
1579c592e631SLarry Finger #define	BAGCTXCODE			0xc00000
1580c592e631SLarry Finger #define	BAGCRXCODE			0x300000
1581c592e631SLarry Finger 
1582c592e631SLarry Finger #define	B3WIREDATALENGTH		0x800
1583c592e631SLarry Finger #define	B3WIREADDREAALENGTH		0x400
1584c592e631SLarry Finger 
1585c592e631SLarry Finger #define	B3WIRERFPOWERDOWN		0x1
1586c592e631SLarry Finger #define	B5GPAPEPOLARITY			0x40000000
1587c592e631SLarry Finger #define	B2GPAPEPOLARITY			0x80000000
1588c592e631SLarry Finger #define	BRFSW_TXDEFAULTANT		0x3
1589c592e631SLarry Finger #define	BRFSW_TXOPTIONANT		0x30
1590c592e631SLarry Finger #define	BRFSW_RXDEFAULTANT		0x300
1591c592e631SLarry Finger #define	BRFSW_RXOPTIONANT		0x3000
1592c592e631SLarry Finger #define	BRFSI_3WIREDATA			0x1
1593c592e631SLarry Finger #define	BRFSI_3WIRECLOCK		0x2
1594c592e631SLarry Finger #define	BRFSI_3WIRELOAD			0x4
1595c592e631SLarry Finger #define	BRFSI_3WIRERW			0x8
1596c592e631SLarry Finger #define	BRFSI_3WIRE			0xf
1597c592e631SLarry Finger 
1598c592e631SLarry Finger #define	BRFSI_RFENV			0x10
1599c592e631SLarry Finger 
1600c592e631SLarry Finger #define	BRFSI_TRSW			0x20
1601c592e631SLarry Finger #define	BRFSI_TRSWB			0x40
1602c592e631SLarry Finger #define	BRFSI_ANTSW			0x100
1603c592e631SLarry Finger #define	BRFSI_ANTSWB			0x200
1604c592e631SLarry Finger #define	BRFSI_PAPE			0x400
1605c592e631SLarry Finger #define	BRFSI_PAPE5G			0x800
1606c592e631SLarry Finger #define	BBANDSELECT			0x1
1607c592e631SLarry Finger #define	BHTSIG2_GI			0x80
1608c592e631SLarry Finger #define	BHTSIG2_SMOOTHING		0x01
1609c592e631SLarry Finger #define	BHTSIG2_SOUNDING		0x02
1610c592e631SLarry Finger #define	BHTSIG2_AGGREATON		0x08
1611c592e631SLarry Finger #define	BHTSIG2_STBC			0x30
1612c592e631SLarry Finger #define	BHTSIG2_ADVCODING		0x40
1613c592e631SLarry Finger #define	BHTSIG2_NUMOFHTLTF		0x300
1614c592e631SLarry Finger #define	BHTSIG2_CRC8			0x3fc
1615c592e631SLarry Finger #define	BHTSIG1_MCS			0x7f
1616c592e631SLarry Finger #define	BHTSIG1_BANDWIDTH		0x80
1617c592e631SLarry Finger #define	BHTSIG1_HTLENGTH		0xffff
1618c592e631SLarry Finger #define	BLSIG_RATE			0xf
1619c592e631SLarry Finger #define	BLSIG_RESERVED			0x10
1620c592e631SLarry Finger #define	BLSIG_LENGTH			0x1fffe
1621c592e631SLarry Finger #define	BLSIG_PARITY			0x20
1622c592e631SLarry Finger #define	BCCKRXPHASE			0x4
1623c592e631SLarry Finger 
1624c592e631SLarry Finger #define	BLSSIREADADDRESS		0x7f800000
1625c592e631SLarry Finger #define	BLSSIREADEDGE			0x80000000
1626c592e631SLarry Finger 
1627c592e631SLarry Finger #define	BLSSIREADBACKDATA		0xfffff
1628c592e631SLarry Finger 
1629c592e631SLarry Finger #define	BLSSIREADOKFLAG			0x1000
1630c592e631SLarry Finger #define	BCCKSAMPLERATE			0x8
1631c592e631SLarry Finger #define	BREGULATOR0STANDBY		0x1
1632c592e631SLarry Finger #define	BREGULATORPLLSTANDBY		0x2
1633c592e631SLarry Finger #define	BREGULATOR1STANDBY		0x4
1634c592e631SLarry Finger #define	BPLLPOWERUP			0x8
1635c592e631SLarry Finger #define	BDPLLPOWERUP			0x10
1636c592e631SLarry Finger #define	BDA10POWERUP			0x20
1637c592e631SLarry Finger #define	BAD7POWERUP			0x200
1638c592e631SLarry Finger #define	BDA6POWERUP			0x2000
1639c592e631SLarry Finger #define	BXTALPOWERUP			0x4000
1640c592e631SLarry Finger #define	B40MDCLKPOWERUP			0x8000
1641c592e631SLarry Finger #define	BDA6DEBUGMODE			0x20000
1642c592e631SLarry Finger #define	BDA6SWING			0x380000
1643c592e631SLarry Finger 
1644c592e631SLarry Finger #define	BADCLKPHASE			0x4000000
1645c592e631SLarry Finger #define	B80MCLKDELAY			0x18000000
1646c592e631SLarry Finger #define	BAFEWATCHDOGENABLE		0x20000000
1647c592e631SLarry Finger 
1648c592e631SLarry Finger #define	BXTALCAP01			0xc0000000
1649c592e631SLarry Finger #define	BXTALCAP23			0x3
1650c592e631SLarry Finger #define	BXTALCAP92X					0x0f000000
1651c592e631SLarry Finger #define BXTALCAP			0x0f000000
1652c592e631SLarry Finger 
1653c592e631SLarry Finger #define	BINTDIFCLKENABLE		0x400
1654c592e631SLarry Finger #define	BEXTSIGCLKENABLE		0x800
1655c592e631SLarry Finger #define	BBANDGAP_MBIAS_POWERUP      0x10000
1656c592e631SLarry Finger #define	BAD11SH_GAIN			0xc0000
1657c592e631SLarry Finger #define	BAD11NPUT_RANGE			0x700000
1658c592e631SLarry Finger #define	BAD110P_CURRENT			0x3800000
1659c592e631SLarry Finger #define	BLPATH_LOOPBACK			0x4000000
1660c592e631SLarry Finger #define	BQPATH_LOOPBACK			0x8000000
1661c592e631SLarry Finger #define	BAFE_LOOPBACK			0x10000000
1662c592e631SLarry Finger #define	BDA10_SWING			0x7e0
1663c592e631SLarry Finger #define	BDA10_REVERSE			0x800
1664c592e631SLarry Finger #define	BDA_CLK_SOURCE              0x1000
1665c592e631SLarry Finger #define	BDA7INPUT_RANGE			0x6000
1666c592e631SLarry Finger #define	BDA7_GAIN			0x38000
1667c592e631SLarry Finger #define	BDA7OUTPUT_CM_MODE          0x40000
1668c592e631SLarry Finger #define	BDA7INPUT_CM_MODE           0x380000
1669c592e631SLarry Finger #define	BDA7CURRENT			0xc00000
1670c592e631SLarry Finger #define	BREGULATOR_ADJUST		0x7000000
1671c592e631SLarry Finger #define	BAD11POWERUP_ATTX		0x1
1672c592e631SLarry Finger #define	BDA10PS_ATTX			0x10
1673c592e631SLarry Finger #define	BAD11POWERUP_ATRX		0x100
1674c592e631SLarry Finger #define	BDA10PS_ATRX			0x1000
1675c592e631SLarry Finger #define	BCCKRX_AGC_FORMAT           0x200
1676c592e631SLarry Finger #define	BPSDFFT_SAMPLE_POINT		0xc000
1677c592e631SLarry Finger #define	BPSD_AVERAGE_NUM            0x3000
1678c592e631SLarry Finger #define	BIQPATH_CONTROL			0xc00
1679c592e631SLarry Finger #define	BPSD_FREQ			0x3ff
1680c592e631SLarry Finger #define	BPSD_ANTENNA_PATH           0x30
1681c592e631SLarry Finger #define	BPSD_IQ_SWITCH              0x40
1682c592e631SLarry Finger #define	BPSD_RX_TRIGGER             0x400000
1683c592e631SLarry Finger #define	BPSD_TX_TRIGGER             0x80000000
1684c592e631SLarry Finger #define	BPSD_SINE_TONE_SCALE        0x7f000000
1685c592e631SLarry Finger #define	BPSD_REPORT			0xffff
1686c592e631SLarry Finger 
1687c592e631SLarry Finger #define	BOFDM_TXSC			0x30000000
1688c592e631SLarry Finger #define	BCCK_TXON			0x1
1689c592e631SLarry Finger #define	BOFDM_TXON			0x2
1690c592e631SLarry Finger #define	BDEBUG_PAGE			0xfff
1691c592e631SLarry Finger #define	BDEBUG_ITEM			0xff
1692c592e631SLarry Finger #define	BANTL				0x10
1693c592e631SLarry Finger #define	BANT_NONHT		    0x100
1694c592e631SLarry Finger #define	BANT_HT1			0x1000
1695c592e631SLarry Finger #define	BANT_HT2			0x10000
1696c592e631SLarry Finger #define	BANT_HT1S1			0x100000
1697c592e631SLarry Finger #define	BANT_NONHTS1			0x1000000
1698c592e631SLarry Finger 
1699c592e631SLarry Finger #define	BCCK_BBMODE			0x3
1700c592e631SLarry Finger #define	BCCK_TXPOWERSAVING		0x80
1701c592e631SLarry Finger #define	BCCK_RXPOWERSAVING		0x40
1702c592e631SLarry Finger 
1703c592e631SLarry Finger #define	BCCK_SIDEBAND			0x10
1704c592e631SLarry Finger 
1705c592e631SLarry Finger #define	BCCK_SCRAMBLE			0x8
1706c592e631SLarry Finger #define	BCCK_ANTDIVERSITY		0x8000
1707c592e631SLarry Finger #define	BCCK_CARRIER_RECOVERY		0x4000
1708c592e631SLarry Finger #define	BCCK_TXRATE			0x3000
1709c592e631SLarry Finger #define	BCCK_DCCANCEL			0x0800
1710c592e631SLarry Finger #define	BCCK_ISICANCEL			0x0400
1711c592e631SLarry Finger #define	BCCK_MATCH_FILTER           0x0200
1712c592e631SLarry Finger #define	BCCK_EQUALIZER			0x0100
1713c592e631SLarry Finger #define	BCCK_PREAMBLE_DETECT		0x800000
17140529c6b8SLarry Finger #define	BCCK_FAST_FALSECCA          0x400000
17150529c6b8SLarry Finger #define	BCCK_CH_ESTSTART            0x300000
17160529c6b8SLarry Finger #define	BCCK_CCA_COUNT              0x080000
1717c592e631SLarry Finger #define	BCCK_CS_LIM			0x070000
17180529c6b8SLarry Finger #define	BCCK_BIST_MODE              0x80000000
1719c592e631SLarry Finger #define	BCCK_CCAMASK			0x40000000
1720c592e631SLarry Finger #define	BCCK_TX_DAC_PHASE		0x4
1721c592e631SLarry Finger #define	BCCK_RX_ADC_PHASE		0x20000000
1722c592e631SLarry Finger #define	BCCKR_CP_MODE			0x0100
1723c592e631SLarry Finger #define	BCCK_TXDC_OFFSET		0xf0
1724c592e631SLarry Finger #define	BCCK_RXDC_OFFSET		0xf
1725c592e631SLarry Finger #define	BCCK_CCA_MODE			0xc000
1726c592e631SLarry Finger #define	BCCK_FALSECS_LIM		0x3f00
1727c592e631SLarry Finger #define	BCCK_CS_RATIO			0xc00000
1728c592e631SLarry Finger #define	BCCK_CORGBIT_SEL		0x300000
1729c592e631SLarry Finger #define	BCCK_PD_LIM			0x0f0000
1730c592e631SLarry Finger #define	BCCK_NEWCCA			0x80000000
1731c592e631SLarry Finger #define	BCCK_RXHP_OF_IG             0x8000
1732c592e631SLarry Finger #define	BCCK_RXIG			0x7f00
1733c592e631SLarry Finger #define	BCCK_LNA_POLARITY           0x800000
1734c592e631SLarry Finger #define	BCCK_RX1ST_BAIN             0x7f0000
1735c592e631SLarry Finger #define	BCCK_RF_EXTEND              0x20000000
1736c592e631SLarry Finger #define	BCCK_RXAGC_SATLEVEL		0x1f000000
1737c592e631SLarry Finger #define	BCCK_RXAGC_SATCOUNT		0xe0
17380529c6b8SLarry Finger #define	BCCKRXRFSETTLE			0x1f
1739c592e631SLarry Finger #define	BCCK_FIXED_RXAGC		0x8000
1740c592e631SLarry Finger #define	BCCK_ANTENNA_POLARITY		0x2000
1741c592e631SLarry Finger #define	BCCK_TXFILTER_TYPE          0x0c00
1742c592e631SLarry Finger #define	BCCK_RXAGC_REPORTTYPE		0x0300
1743c592e631SLarry Finger #define	BCCK_RXDAGC_EN              0x80000000
1744c592e631SLarry Finger #define	BCCK_RXDAGC_PERIOD		0x20000000
1745c592e631SLarry Finger #define	BCCK_RXDAGC_SATLEVEL		0x1f000000
1746c592e631SLarry Finger #define	BCCK_TIMING_RECOVERY		0x800000
1747c592e631SLarry Finger #define	BCCK_TXC0			0x3f0000
1748c592e631SLarry Finger #define	BCCK_TXC1			0x3f000000
1749c592e631SLarry Finger #define	BCCK_TXC2			0x3f
1750c592e631SLarry Finger #define	BCCK_TXC3			0x3f00
1751c592e631SLarry Finger #define	BCCK_TXC4			0x3f0000
1752c592e631SLarry Finger #define	BCCK_TXC5			0x3f000000
1753c592e631SLarry Finger #define	BCCK_TXC6			0x3f
1754c592e631SLarry Finger #define	BCCK_TXC7			0x3f00
1755c592e631SLarry Finger #define	BCCK_DEBUGPORT			0xff0000
1756c592e631SLarry Finger #define	BCCK_DAC_DEBUG              0x0f000000
1757c592e631SLarry Finger #define	BCCK_FALSEALARM_ENABLE      0x8000
1758c592e631SLarry Finger #define	BCCK_FALSEALARM_READ        0x4000
1759c592e631SLarry Finger #define	BCCK_TRSSI			0x7f
1760c592e631SLarry Finger #define	BCCK_RXAGC_REPORT           0xfe
1761c592e631SLarry Finger #define	BCCK_RXREPORT_ANTSEL		0x80000000
1762c592e631SLarry Finger #define	BCCK_RXREPORT_MFOFF		0x40000000
1763c592e631SLarry Finger #define	BCCK_RXREPORT_SQLOSS		0x20000000
1764c592e631SLarry Finger #define	BCCK_RXREPORT_PKTLOSS		0x10000000
1765c592e631SLarry Finger #define	BCCK_RXREPORT_LOCKEDBIT		0x08000000
1766c592e631SLarry Finger #define	BCCK_RXREPORT_RATEERROR		0x04000000
1767c592e631SLarry Finger #define	BCCK_RXREPORT_RXRATE		0x03000000
1768c592e631SLarry Finger #define	BCCK_RXFA_COUNTER_LOWER     0xff
1769c592e631SLarry Finger #define	BCCK_RXFA_COUNTER_UPPER     0xff000000
1770c592e631SLarry Finger #define	BCCK_RXHPAGC_START          0xe000
1771c592e631SLarry Finger #define	BCCK_RXHPAGC_FINAL          0x1c00
1772c592e631SLarry Finger #define	BCCK_RXFALSEALARM_ENABLE    0x8000
1773c592e631SLarry Finger #define	BCCK_FACOUNTER_FREEZE       0x4000
1774c592e631SLarry Finger #define	BCCK_TXPATH_SEL             0x10000000
1775c592e631SLarry Finger #define	BCCK_DEFAULT_RXPATH         0xc000000
1776c592e631SLarry Finger #define	BCCK_OPTION_RXPATH          0x3000000
1777c592e631SLarry Finger 
1778c592e631SLarry Finger #define	BNUM_OFSTF			0x3
1779c592e631SLarry Finger #define	BSHIFT_L			0xc0
1780c592e631SLarry Finger #define	BGI_TH				0xc
1781c592e631SLarry Finger #define	BRXPATH_A			0x1
1782c592e631SLarry Finger #define	BRXPATH_B			0x2
1783c592e631SLarry Finger #define	BRXPATH_C			0x4
1784c592e631SLarry Finger #define	BRXPATH_D			0x8
1785c592e631SLarry Finger #define	BTXPATH_A			0x1
1786c592e631SLarry Finger #define	BTXPATH_B			0x2
1787c592e631SLarry Finger #define	BTXPATH_C			0x4
1788c592e631SLarry Finger #define	BTXPATH_D			0x8
1789c592e631SLarry Finger #define	BTRSSI_FREQ			0x200
1790c592e631SLarry Finger #define	BADC_BACKOFF			0x3000
1791c592e631SLarry Finger #define	BDFIR_BACKOFF			0xc000
1792c592e631SLarry Finger #define	BTRSSI_LATCH_PHASE		0x10000
1793c592e631SLarry Finger #define	BRX_LDC_OFFSET			0xff
1794c592e631SLarry Finger #define	BRX_QDC_OFFSET			0xff00
1795c592e631SLarry Finger #define	BRX_DFIR_MODE			0x1800000
1796c592e631SLarry Finger #define	BRX_DCNF_TYPE			0xe000000
1797c592e631SLarry Finger #define	BRXIQIMB_A			0x3ff
1798c592e631SLarry Finger #define	BRXIQIMB_B			0xfc00
1799c592e631SLarry Finger #define	BRXIQIMB_C			0x3f0000
1800c592e631SLarry Finger #define	BRXIQIMB_D			0xffc00000
1801c592e631SLarry Finger #define	BDC_DC_NOTCH			0x60000
1802c592e631SLarry Finger #define	BRXNB_NOTCH			0x1f000000
1803c592e631SLarry Finger #define	BPD_TH				0xf
1804c592e631SLarry Finger #define	BPD_TH_OPT2			0xc000
1805c592e631SLarry Finger #define	BPWED_TH			0x700
1806c592e631SLarry Finger #define	BIFMF_WIN_L			0x800
1807c592e631SLarry Finger #define	BPD_OPTION			0x1000
1808c592e631SLarry Finger #define	BMF_WIN_L			0xe000
1809c592e631SLarry Finger #define	BBW_SEARCH_L			0x30000
1810c592e631SLarry Finger #define	BWIN_ENH_L			0xc0000
1811c592e631SLarry Finger #define	BBW_TH				0x700000
1812c592e631SLarry Finger #define	BED_TH2				0x3800000
1813c592e631SLarry Finger #define	BBW_OPTION			0x4000000
1814c592e631SLarry Finger #define	BRADIO_TH			0x18000000
1815c592e631SLarry Finger #define	BWINDOW_L			0xe0000000
1816c592e631SLarry Finger #define	BSBD_OPTION			0x1
1817c592e631SLarry Finger #define	BFRAME_TH			0x1c
1818c592e631SLarry Finger #define	BFS_OPTION			0x60
1819c592e631SLarry Finger #define	BDC_SLOPE_CHECK			0x80
1820c592e631SLarry Finger #define	BFGUARD_COUNTER_DC_L		0xe00
1821c592e631SLarry Finger #define	BFRAME_WEIGHT_SHORT		0x7000
1822c592e631SLarry Finger #define	BSUB_TUNE			0xe00000
1823c592e631SLarry Finger #define	BFRAME_DC_LENGTH		0xe000000
1824c592e631SLarry Finger #define	BSBD_START_OFFSET		0x30000000
1825c592e631SLarry Finger #define	BFRAME_TH_2			0x7
1826c592e631SLarry Finger #define	BFRAME_GI2_TH			0x38
1827c592e631SLarry Finger #define	BGI2_SYNC_EN			0x40
1828c592e631SLarry Finger #define	BSARCH_SHORT_EARLY		0x300
1829c592e631SLarry Finger #define	BSARCH_SHORT_LATE		0xc00
1830c592e631SLarry Finger #define	BSARCH_GI2_LATE			0x70000
1831c592e631SLarry Finger #define	BCFOANTSUM			0x1
1832c592e631SLarry Finger #define	BCFOACC				0x2
1833c592e631SLarry Finger #define	BCFOSTARTOFFSET			0xc
1834c592e631SLarry Finger #define	BCFOLOOPBACK			0x70
1835c592e631SLarry Finger #define	BCFOSUMWEIGHT			0x80
1836c592e631SLarry Finger #define	BDAGCENABLE			0x10000
1837c592e631SLarry Finger #define	BTXIQIMB_A			0x3ff
1838c592e631SLarry Finger #define	BTXIQIMB_b			0xfc00
1839c592e631SLarry Finger #define	BTXIQIMB_C			0x3f0000
1840c592e631SLarry Finger #define	BTXIQIMB_D			0xffc00000
1841c592e631SLarry Finger #define	BTXIDCOFFSET			0xff
1842c592e631SLarry Finger #define	BTXIQDCOFFSET			0xff00
1843c592e631SLarry Finger #define	BTXDFIRMODE			0x10000
1844c592e631SLarry Finger #define	BTXPESUDO_NOISEON		0x4000000
1845c592e631SLarry Finger #define	BTXPESUDO_NOISE_A		0xff
1846c592e631SLarry Finger #define	BTXPESUDO_NOISE_B		0xff00
1847c592e631SLarry Finger #define	BTXPESUDO_NOISE_C		0xff0000
1848c592e631SLarry Finger #define	BTXPESUDO_NOISE_D		0xff000000
1849c592e631SLarry Finger #define	BCCA_DROPOPTION			0x20000
1850c592e631SLarry Finger #define	BCCA_DROPTHRES			0xfff00000
1851c592e631SLarry Finger #define	BEDCCA_H			0xf
1852c592e631SLarry Finger #define	BEDCCA_L			0xf0
1853c592e631SLarry Finger #define	BLAMBDA_ED			0x300
1854c592e631SLarry Finger #define	BRX_INITIALGAIN			0x7f
1855c592e631SLarry Finger #define	BRX_ANTDIV_EN			0x80
1856c592e631SLarry Finger #define	BRX_AGC_ADDRESS_FOR_LNA     0x7f00
1857c592e631SLarry Finger #define	BRX_HIGHPOWER_FLOW		0x8000
1858c592e631SLarry Finger #define	BRX_AGC_FREEZE_THRES        0xc0000
1859c592e631SLarry Finger #define	BRX_FREEZESTEP_AGC1		0x300000
1860c592e631SLarry Finger #define	BRX_FREEZESTEP_AGC2		0xc00000
1861c592e631SLarry Finger #define	BRX_FREEZESTEP_AGC3		0x3000000
1862c592e631SLarry Finger #define	BRX_FREEZESTEP_AGC0		0xc000000
1863c592e631SLarry Finger #define	BRXRSSI_CMP_EN			0x10000000
1864c592e631SLarry Finger #define	BRXQUICK_AGCEN			0x20000000
1865c592e631SLarry Finger #define	BRXAGC_FREEZE_THRES_MODE    0x40000000
1866c592e631SLarry Finger #define	BRX_OVERFLOW_CHECKTYPE		0x80000000
1867c592e631SLarry Finger #define	BRX_AGCSHIFT			0x7f
1868c592e631SLarry Finger #define	BTRSW_TRI_ONLY			0x80
1869c592e631SLarry Finger #define	BPOWER_THRES			0x300
1870c592e631SLarry Finger #define	BRXAGC_EN			0x1
1871c592e631SLarry Finger #define	BRXAGC_TOGETHER_EN		0x2
1872c592e631SLarry Finger #define	BRXAGC_MIN			0x4
1873c592e631SLarry Finger #define	BRXHP_INI			0x7
1874c592e631SLarry Finger #define	BRXHP_TRLNA			0x70
1875c592e631SLarry Finger #define	BRXHP_RSSI			0x700
1876c592e631SLarry Finger #define	BRXHP_BBP1			0x7000
1877c592e631SLarry Finger #define	BRXHP_BBP2			0x70000
1878c592e631SLarry Finger #define	BRXHP_BBP3			0x700000
1879c592e631SLarry Finger #define	BRSSI_H				0x7f0000
1880c592e631SLarry Finger #define	BRSSI_GEN			0x7f000000
1881c592e631SLarry Finger #define	BRXSETTLE_TRSW			0x7
1882c592e631SLarry Finger #define	BRXSETTLE_LNA			0x38
1883c592e631SLarry Finger #define	BRXSETTLE_RSSI			0x1c0
1884c592e631SLarry Finger #define	BRXSETTLE_BBP			0xe00
1885c592e631SLarry Finger #define	BRXSETTLE_RXHP			0x7000
1886c592e631SLarry Finger #define	BRXSETTLE_ANTSW_RSSI		0x38000
1887c592e631SLarry Finger #define	BRXSETTLE_ANTSW			0xc0000
1888c592e631SLarry Finger #define	BRXPROCESS_TIME_DAGC		0x300000
1889c592e631SLarry Finger #define	BRXSETTLE_HSSI			0x400000
1890c592e631SLarry Finger #define	BRXPROCESS_TIME_BBPPW		0x800000
1891c592e631SLarry Finger #define	BRXANTENNA_POWER_SHIFT		0x3000000
1892c592e631SLarry Finger #define	BRSSI_TABLE_SELECT		0xc000000
1893c592e631SLarry Finger #define	BRXHP_FINAL			0x7000000
1894c592e631SLarry Finger #define	BRXHPSETTLE_BBP			0x7
1895c592e631SLarry Finger #define	BRXHTSETTLE_HSSI		0x8
1896c592e631SLarry Finger #define	BRXHTSETTLE_RXHP		0x70
1897c592e631SLarry Finger #define	BRXHTSETTLE_BBPPW		0x80
1898c592e631SLarry Finger #define	BRXHTSETTLE_IDLE		0x300
1899c592e631SLarry Finger #define	BRXHTSETTLE_RESERVED		0x1c00
1900c592e631SLarry Finger #define	BRXHT_RXHP_EN			0x8000
1901c592e631SLarry Finger #define	BRXAGC_FREEZE_THRES		0x30000
1902c592e631SLarry Finger #define	BRXAGC_TOGETHEREN		0x40000
1903c592e631SLarry Finger #define	BRXHTAGC_MIN			0x80000
1904c592e631SLarry Finger #define	BRXHTAGC_EN			0x100000
1905c592e631SLarry Finger #define	BRXHTDAGC_EN			0x200000
1906c592e631SLarry Finger #define	BRXHT_RXHP_BBP			0x1c00000
1907c592e631SLarry Finger #define	BRXHT_RXHP_FINAL		0xe0000000
1908c592e631SLarry Finger #define	BRXPW_RADIO_TH			0x3
1909c592e631SLarry Finger #define	BRXPW_RADIO_EN			0x4
1910c592e631SLarry Finger #define	BRXMF_HOLD			0x3800
1911c592e631SLarry Finger #define	BRXPD_DELAY_TH1			0x38
1912c592e631SLarry Finger #define	BRXPD_DELAY_TH2			0x1c0
1913c592e631SLarry Finger #define	BRXPD_DC_COUNT_MAX		0x600
1914c592e631SLarry Finger #define	BRXPD_DELAY_TH			0x8000
1915c592e631SLarry Finger #define	BRXPROCESS_DELAY		0xf0000
1916c592e631SLarry Finger #define	BRXSEARCHRANGE_GI2_EARLY	0x700000
1917c592e631SLarry Finger #define	BRXFRAME_FUARD_COUNTER_L	0x3800000
1918c592e631SLarry Finger #define	BRXSGI_GUARD_L			0xc000000
1919c592e631SLarry Finger #define	BRXSGI_SEARCH_L			0x30000000
1920c592e631SLarry Finger #define	BRXSGI_TH			0xc0000000
1921c592e631SLarry Finger #define	BDFSCNT0			0xff
1922c592e631SLarry Finger #define	BDFSCNT1			0xff00
1923c592e631SLarry Finger #define	BDFSFLAG			0xf0000
1924c592e631SLarry Finger #define	BMF_WEIGHT_SUM			0x300000
1925c592e631SLarry Finger #define	BMINIDX_TH			0x7f000000
1926c592e631SLarry Finger #define	BDAFORMAT			0x40000
1927c592e631SLarry Finger #define	BTXCH_EMU_ENABLE		0x01000000
1928c592e631SLarry Finger #define	BTRSW_ISOLATION_A		0x7f
1929c592e631SLarry Finger #define	BTRSW_ISOLATION_B		0x7f00
1930c592e631SLarry Finger #define	BTRSW_ISOLATION_C		0x7f0000
1931c592e631SLarry Finger #define	BTRSW_ISOLATION_D		0x7f000000
1932c592e631SLarry Finger #define	BEXT_LNA_GAIN			0x7c00
1933c592e631SLarry Finger 
1934c592e631SLarry Finger #define	BSTBC_EN			0x4
1935c592e631SLarry Finger #define	BANTENNA_MAPPING		0x10
1936c592e631SLarry Finger #define	BNSS				0x20
1937c592e631SLarry Finger #define	BCFO_ANTSUM_ID              0x200
1938c592e631SLarry Finger #define	BPHY_COUNTER_RESET		0x8000000
1939c592e631SLarry Finger #define	BCFO_REPORT_GET			0x4000000
1940c592e631SLarry Finger #define	BOFDM_CONTINUE_TX		0x10000000
1941c592e631SLarry Finger #define	BOFDM_SINGLE_CARRIER		0x20000000
1942c592e631SLarry Finger #define	BOFDM_SINGLE_TONE		0x40000000
1943c592e631SLarry Finger #define	BHT_DETECT			0x100
1944c592e631SLarry Finger #define	BCFOEN				0x10000
1945c592e631SLarry Finger #define	BCFOVALUE			0xfff00000
1946c592e631SLarry Finger #define	BSIGTONE_RE			0x3f
1947c592e631SLarry Finger #define	BSIGTONE_IM			0x7f00
1948c592e631SLarry Finger #define	BCOUNTER_CCA			0xffff
1949c592e631SLarry Finger #define	BCOUNTER_PARITYFAIL		0xffff0000
1950c592e631SLarry Finger #define	BCOUNTER_RATEILLEGAL		0xffff
1951c592e631SLarry Finger #define	BCOUNTER_CRC8FAIL		0xffff0000
1952c592e631SLarry Finger #define	BCOUNTER_MCSNOSUPPORT		0xffff
1953c592e631SLarry Finger #define	BCOUNTER_FASTSYNC		0xffff
1954c592e631SLarry Finger #define	BSHORTCFO			0xfff
1955c592e631SLarry Finger #define	BSHORTCFOT_LENGTH		12
1956c592e631SLarry Finger #define	BSHORTCFOF_LENGTH		11
1957c592e631SLarry Finger #define	BLONGCFO			0x7ff
1958c592e631SLarry Finger #define	BLONGCFOT_LENGTH		11
1959c592e631SLarry Finger #define	BLONGCFOF_LENGTH		11
1960c592e631SLarry Finger #define	BTAILCFO			0x1fff
1961c592e631SLarry Finger #define	BTAILCFOT_LENGTH		13
1962c592e631SLarry Finger #define	BTAILCFOF_LENGTH		12
1963c592e631SLarry Finger #define	BNOISE_EN_PWDB			0xffff
1964c592e631SLarry Finger #define	BCC_POWER_DB			0xffff0000
1965c592e631SLarry Finger #define	BMOISE_PWDB			0xffff
1966c592e631SLarry Finger #define	BPOWERMEAST_LENGTH		10
1967c592e631SLarry Finger #define	BPOWERMEASF_LENGTH		3
1968c592e631SLarry Finger #define	BRX_HT_BW			0x1
1969c592e631SLarry Finger #define	BRXSC				0x6
1970c592e631SLarry Finger #define	BRX_HT				0x8
1971c592e631SLarry Finger #define	BNB_INTF_DET_ON			0x1
1972c592e631SLarry Finger #define	BINTF_WIN_LEN_CFG		0x30
1973c592e631SLarry Finger #define	BNB_INTF_TH_CFG			0x1c0
1974c592e631SLarry Finger #define	BRFGAIN				0x3f
1975c592e631SLarry Finger #define	BTABLESEL			0x40
1976c592e631SLarry Finger #define	BTRSW				0x80
1977c592e631SLarry Finger #define	BRXSNR_A			0xff
1978c592e631SLarry Finger #define	BRXSNR_B			0xff00
1979c592e631SLarry Finger #define	BRXSNR_C			0xff0000
1980c592e631SLarry Finger #define	BRXSNR_D			0xff000000
1981c592e631SLarry Finger #define	BSNR_EVMT_LENGTH		8
1982c592e631SLarry Finger #define	BSNR_EVMF_LENGTH		1
1983c592e631SLarry Finger #define	BCSI1ST				0xff
1984c592e631SLarry Finger #define	BCSI2ND				0xff00
1985c592e631SLarry Finger #define	BRXEVM1ST			0xff0000
1986c592e631SLarry Finger #define	BRXEVM2ND			0xff000000
1987c592e631SLarry Finger #define	BSIGEVM				0xff
1988c592e631SLarry Finger #define	BPWDB				0xff00
1989c592e631SLarry Finger #define	BSGIEN				0x10000
1990c592e631SLarry Finger 
1991c592e631SLarry Finger #define	BSFACTOR_QMA1			0xf
1992c592e631SLarry Finger #define	BSFACTOR_QMA2			0xf0
1993c592e631SLarry Finger #define	BSFACTOR_QMA3			0xf00
1994c592e631SLarry Finger #define	BSFACTOR_QMA4			0xf000
1995c592e631SLarry Finger #define	BSFACTOR_QMA5			0xf0000
1996c592e631SLarry Finger #define	BSFACTOR_QMA6			0xf0000
1997c592e631SLarry Finger #define	BSFACTOR_QMA7			0xf00000
1998c592e631SLarry Finger #define	BSFACTOR_QMA8			0xf000000
1999c592e631SLarry Finger #define	BSFACTOR_QMA9			0xf0000000
2000c592e631SLarry Finger #define	BCSI_SCHEME			0x100000
2001c592e631SLarry Finger 
2002c592e631SLarry Finger #define	BNOISE_LVL_TOP_SET          0x3
2003c592e631SLarry Finger #define	BCHSMOOTH			0x4
2004c592e631SLarry Finger #define	BCHSMOOTH_CFG1			0x38
2005c592e631SLarry Finger #define	BCHSMOOTH_CFG2			0x1c0
2006c592e631SLarry Finger #define	BCHSMOOTH_CFG3			0xe00
2007c592e631SLarry Finger #define	BCHSMOOTH_CFG4			0x7000
2008c592e631SLarry Finger #define	BMRCMODE			0x800000
2009c592e631SLarry Finger #define	BTHEVMCFG			0x7000000
2010c592e631SLarry Finger 
2011c592e631SLarry Finger #define	BLOOP_FIT_TYPE			0x1
2012c592e631SLarry Finger #define	BUPD_CFO			0x40
2013c592e631SLarry Finger #define	BUPD_CFO_OFFDATA		0x80
2014c592e631SLarry Finger #define	BADV_UPD_CFO			0x100
2015c592e631SLarry Finger #define	BADV_TIME_CTRL			0x800
2016c592e631SLarry Finger #define	BUPD_CLKO			0x1000
2017c592e631SLarry Finger #define	BFC				0x6000
2018c592e631SLarry Finger #define	BTRACKING_MODE			0x8000
2019c592e631SLarry Finger #define	BPHCMP_ENABLE			0x10000
2020c592e631SLarry Finger #define	BUPD_CLKO_LTF			0x20000
2021c592e631SLarry Finger #define	BCOM_CH_CFO			0x40000
2022c592e631SLarry Finger #define	BCSI_ESTI_MODE			0x80000
2023c592e631SLarry Finger #define	BADV_UPD_EQZ			0x100000
2024c592e631SLarry Finger #define	BUCHCFG				0x7000000
2025c592e631SLarry Finger #define	BUPDEQZ				0x8000000
2026c592e631SLarry Finger 
2027c592e631SLarry Finger #define	BRX_PESUDO_NOISE_ON         0x20000000
2028c592e631SLarry Finger #define	BRX_PESUDO_NOISE_A		0xff
2029c592e631SLarry Finger #define	BRX_PESUDO_NOISE_B		0xff00
2030c592e631SLarry Finger #define	BRX_PESUDO_NOISE_C		0xff0000
2031c592e631SLarry Finger #define	BRX_PESUDO_NOISE_D		0xff000000
2032c592e631SLarry Finger #define	BRX_PESUDO_NOISESTATE_A     0xffff
2033c592e631SLarry Finger #define	BRX_PESUDO_NOISESTATE_B     0xffff0000
2034c592e631SLarry Finger #define	BRX_PESUDO_NOISESTATE_C     0xffff
2035c592e631SLarry Finger #define	BRX_PESUDO_NOISESTATE_D     0xffff0000
2036c592e631SLarry Finger 
2037c592e631SLarry Finger #define	BZEBRA1_HSSIENABLE		0x8
2038c592e631SLarry Finger #define	BZEBRA1_TRXCONTROL		0xc00
2039c592e631SLarry Finger #define	BZEBRA1_TRXGAINSETTING		0x07f
2040c592e631SLarry Finger #define	BZEBRA1_RXCOUNTER		0xc00
2041c592e631SLarry Finger #define	BZEBRA1_TXCHANGEPUMP		0x38
2042c592e631SLarry Finger #define	BZEBRA1_RXCHANGEPUMP		0x7
2043c592e631SLarry Finger #define	BZEBRA1_CHANNEL_NUM		0xf80
2044c592e631SLarry Finger #define	BZEBRA1_TXLPFBW			0x400
2045c592e631SLarry Finger #define	BZEBRA1_RXLPFBW			0x600
2046c592e631SLarry Finger 
2047c592e631SLarry Finger #define	BRTL8256REG_MODE_CTRL1      0x100
2048c592e631SLarry Finger #define	BRTL8256REG_MODE_CTRL0      0x40
2049c592e631SLarry Finger #define	BRTL8256REG_TXLPFBW         0x18
2050c592e631SLarry Finger #define	BRTL8256REG_RXLPFBW         0x600
2051c592e631SLarry Finger 
2052c592e631SLarry Finger #define	BRTL8258_TXLPFBW		0xc
2053c592e631SLarry Finger #define	BRTL8258_RXLPFBW		0xc00
2054c592e631SLarry Finger #define	BRTL8258_RSSILPFBW		0xc0
2055c592e631SLarry Finger 
2056c592e631SLarry Finger #define	BBYTE0				0x1
2057c592e631SLarry Finger #define	BBYTE1				0x2
2058c592e631SLarry Finger #define	BBYTE2				0x4
2059c592e631SLarry Finger #define	BBYTE3				0x8
2060c592e631SLarry Finger #define	BWORD0				0x3
2061c592e631SLarry Finger #define	BWORD1				0xc
2062c592e631SLarry Finger #define	BWORD				0xf
2063c592e631SLarry Finger 
20640529c6b8SLarry Finger #define	MASKBYTE0			0xff
20650529c6b8SLarry Finger #define	MASKBYTE1			0xff00
20660529c6b8SLarry Finger #define	MASKBYTE2			0xff0000
20670529c6b8SLarry Finger #define	MASKBYTE3			0xff000000
20680529c6b8SLarry Finger #define	MASKHWORD			0xffff0000
20690529c6b8SLarry Finger #define	MASKLWORD			0x0000ffff
20700529c6b8SLarry Finger #define	MASKDWORD					0xffffffff
20710529c6b8SLarry Finger #define	MASK12BITS					0xfff
20720529c6b8SLarry Finger #define	MASKH4BITS					0xf0000000
20730529c6b8SLarry Finger #define MASKOFDM_D					0xffc00000
20740529c6b8SLarry Finger #define	MASKCCK						0x3f3f3f3f
20750529c6b8SLarry Finger 
20760529c6b8SLarry Finger #define	MASK4BITS			0x0f
20770529c6b8SLarry Finger #define	MASK20BITS			0xfffff
20780529c6b8SLarry Finger #define RFREG_OFFSET_MASK			0xfffff
20790529c6b8SLarry Finger 
2080c592e631SLarry Finger #define	BENABLE				0x1
2081c592e631SLarry Finger #define	BDISABLE			0x0
2082c592e631SLarry Finger 
2083c592e631SLarry Finger #define	LEFT_ANTENNA			0x0
2084c592e631SLarry Finger #define	RIGHT_ANTENNA			0x1
2085c592e631SLarry Finger 
2086c592e631SLarry Finger #define	TCHECK_TXSTATUS			500
2087c592e631SLarry Finger #define	TUPDATE_RXCOUNTER		100
2088c592e631SLarry Finger 
2089c592e631SLarry Finger /* 2 EFUSE_TEST (For RTL8723 partially) */
2090c592e631SLarry Finger #define EFUSE_SEL(x)					(((x) & 0x3) << 8)
2091c592e631SLarry Finger #define EFUSE_SEL_MASK				0x300
2092c592e631SLarry Finger #define EFUSE_WIFI_SEL_0				0x0
2093c592e631SLarry Finger /* Enable GPIO[9] as WiFi HW PDn source*/
2094c592e631SLarry Finger #define	WL_HWPDN_EN					BIT(0)
2095c592e631SLarry Finger /* WiFi HW PDn polarity control*/
2096c592e631SLarry Finger #define	WL_HWPDN_SL					BIT(1)
2097c592e631SLarry Finger 
2098c592e631SLarry Finger #endif
2099