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