xref: /openbsd/sys/dev/ic/ar5212var.h (revision 4b1a56af)
1 /*	$OpenBSD: ar5212var.h,v 1.16 2022/01/09 05:42:38 jsg Exp $	*/
2 
3 /*
4  * Copyright (c) 2004, 2005, 2006, 2007 Reyk Floeter <reyk@openbsd.org>
5  *
6  * Permission to use, copy, modify, and distribute this software for any
7  * purpose with or without fee is hereby granted, provided that the above
8  * copyright notice and this permission notice appear in all copies.
9  *
10  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 /*
20  * Specific definitions for the Atheros AR5001 Wireless LAN chipset
21  * (AR5212/AR5311).
22  */
23 
24 #ifndef _AR5K_AR5212_VAR_H
25 #define _AR5K_AR5212_VAR_H
26 
27 #include <dev/ic/ar5xxx.h>
28 
29 /*
30  * Define a "magic" code for the AR5212 (the HAL layer wants it)
31  */
32 
33 #define AR5K_AR5212_MAGIC		0x0000145c /* 5212 */
34 #define AR5K_AR5212_TX_NUM_QUEUES	10
35 
36 #if BYTE_ORDER == BIG_ENDIAN
37 #define AR5K_AR5212_INIT_CFG	(					\
38 	AR5K_AR5212_CFG_SWTD | AR5K_AR5212_CFG_SWRD			\
39 )
40 #else
41 #define AR5K_AR5212_INIT_CFG	0x00000000
42 #endif
43 
44 /*
45  * Internal RX/TX descriptor structures
46  * (rX: reserved fields possibly used by future versions of the ar5k chipset)
47  */
48 
49 struct ar5k_ar5212_rx_desc {
50 	/*
51 	 * RX control word 0
52 	 */
53 	u_int32_t	rx_control_0;
54 
55 #define AR5K_AR5212_DESC_RX_CTL0			0x00000000
56 
57 	/*
58 	 * RX control word 1
59 	 */
60 	u_int32_t	rx_control_1;
61 
62 #define AR5K_AR5212_DESC_RX_CTL1_BUF_LEN		0x00000fff
63 #define AR5K_AR5212_DESC_RX_CTL1_INTREQ			0x00002000
64 } __packed;
65 
66 struct ar5k_ar5212_rx_status {
67 	/*
68 	 * RX status word 0
69 	 */
70 	u_int32_t	rx_status_0;
71 
72 #define AR5K_AR5212_DESC_RX_STATUS0_DATA_LEN		0x00000fff
73 #define AR5K_AR5212_DESC_RX_STATUS0_MORE		0x00001000
74 #define AR5K_AR5212_DESC_RX_STATUS0_DECOMP_CRC_ERROR	0x00002000
75 #define AR5K_AR5212_DESC_RX_STATUS0_RECEIVE_RATE	0x000f8000
76 #define AR5K_AR5212_DESC_RX_STATUS0_RECEIVE_RATE_S	15
77 #define AR5K_AR5212_DESC_RX_STATUS0_RECEIVE_SIGNAL	0x0ff00000
78 #define AR5K_AR5212_DESC_RX_STATUS0_RECEIVE_SIGNAL_S	20
79 #define AR5K_AR5212_DESC_RX_STATUS0_RECEIVE_ANTENNA	0xf0000000
80 #define AR5K_AR5212_DESC_RX_STATUS0_RECEIVE_ANTENNA_S	28
81 
82 	/*
83 	 * RX status word 1
84 	 */
85 	u_int32_t	rx_status_1;
86 
87 #define AR5K_AR5212_DESC_RX_STATUS1_DONE		0x00000001
88 #define AR5K_AR5212_DESC_RX_STATUS1_FRAME_RECEIVE_OK	0x00000002
89 #define AR5K_AR5212_DESC_RX_STATUS1_CRC_ERROR		0x00000004
90 #define AR5K_AR5212_DESC_RX_STATUS1_DECRYPT_CRC_ERROR	0x00000008
91 #define AR5K_AR5212_DESC_RX_STATUS1_PHY_ERROR		0x00000010
92 #define AR5K_AR5212_DESC_RX_STATUS1_MIC_ERROR		0x00000020
93 #define AR5K_AR5212_DESC_RX_STATUS1_KEY_INDEX_VALID	0x00000100
94 #define AR5K_AR5212_DESC_RX_STATUS1_KEY_INDEX		0x0000fe00
95 #define AR5K_AR5212_DESC_RX_STATUS1_KEY_INDEX_S		9
96 #define AR5K_AR5212_DESC_RX_STATUS1_RECEIVE_TIMESTAMP	0x7fff0000
97 #define AR5K_AR5212_DESC_RX_STATUS1_RECEIVE_TIMESTAMP_S	16
98 #define AR5K_AR5212_DESC_RX_STATUS1_KEY_CACHE_MISS	0x80000000
99 } __packed;
100 
101 struct ar5k_ar5212_rx_error {
102 	/*
103 	 * RX error word 0
104 	 */
105 	u_int32_t	rx_error_0;
106 
107 #define AR5K_AR5212_DESC_RX_ERROR0			0x00000000
108 
109 	/*
110 	 * RX error word 1
111 	 */
112 	u_int32_t	rx_error_1;
113 
114 #define AR5K_AR5212_DESC_RX_ERROR1_PHY_ERROR_CODE	0x0000ff00
115 #define AR5K_AR5212_DESC_RX_ERROR1_PHY_ERROR_CODE_S	8
116 } __packed;
117 
118 #define AR5K_AR5212_DESC_RX_PHY_ERROR_NONE		0x00
119 #define AR5K_AR5212_DESC_RX_PHY_ERROR_TIMING		0x20
120 #define AR5K_AR5212_DESC_RX_PHY_ERROR_PARITY		0x40
121 #define AR5K_AR5212_DESC_RX_PHY_ERROR_RATE		0x60
122 #define AR5K_AR5212_DESC_RX_PHY_ERROR_LENGTH		0x80
123 #define AR5K_AR5212_DESC_RX_PHY_ERROR_64QAM		0xa0
124 #define AR5K_AR5212_DESC_RX_PHY_ERROR_SERVICE		0xc0
125 #define AR5K_AR5212_DESC_RX_PHY_ERROR_TRANSMITOVR	0xe0
126 
127 struct ar5k_ar5212_tx_desc {
128 	/*
129 	 * TX control word 0
130 	 */
131 	u_int32_t	tx_control_0;
132 
133 #define AR5K_AR5212_DESC_TX_CTL0_FRAME_LEN		0x00000fff
134 #define AR5K_AR5212_DESC_TX_CTL0_XMIT_POWER		0x003f0000
135 #define AR5K_AR5212_DESC_TX_CTL0_XMIT_POWER_S		16
136 #define AR5K_AR5212_DESC_TX_CTL0_RTSENA			0x00400000
137 #define AR5K_AR5212_DESC_TX_CTL0_VEOL			0x00800000
138 #define AR5K_AR5212_DESC_TX_CTL0_CLRDMASK		0x01000000
139 #define AR5K_AR5212_DESC_TX_CTL0_ANT_MODE_XMIT		0x1e000000
140 #define AR5K_AR5212_DESC_TX_CTL0_ANT_MODE_XMIT_S	25
141 #define AR5K_AR5212_DESC_TX_CTL0_INTREQ			0x20000000
142 #define AR5K_AR5212_DESC_TX_CTL0_ENCRYPT_KEY_VALID	0x40000000
143 #define AR5K_AR5212_DESC_TX_CTL0_CTSENA			0x80000000
144 
145 	/*
146 	 * TX control word 1
147 	 */
148 	u_int32_t	tx_control_1;
149 
150 #define AR5K_AR5212_DESC_TX_CTL1_BUF_LEN		0x00000fff
151 #define AR5K_AR5212_DESC_TX_CTL1_MORE			0x00001000
152 #define AR5K_AR5212_DESC_TX_CTL1_ENCRYPT_KEY_INDEX	0x000fe000
153 #define AR5K_AR5212_DESC_TX_CTL1_ENCRYPT_KEY_INDEX_S	13
154 #define AR5K_AR5212_DESC_TX_CTL1_FRAME_TYPE		0x00f00000
155 #define AR5K_AR5212_DESC_TX_CTL1_FRAME_TYPE_S		20
156 #define AR5K_AR5212_DESC_TX_CTL1_NOACK			0x01000000
157 #define AR5K_AR5212_DESC_TX_CTL1_COMP_PROC		0x06000000
158 #define AR5K_AR5212_DESC_TX_CTL1_COMP_PROC_S		25
159 #define AR5K_AR5212_DESC_TX_CTL1_COMP_IV_LEN		0x18000000
160 #define AR5K_AR5212_DESC_TX_CTL1_COMP_IV_LEN_S		27
161 #define AR5K_AR5212_DESC_TX_CTL1_COMP_ICV_LEN		0x60000000
162 #define AR5K_AR5212_DESC_TX_CTL1_COMP_ICV_LEN_S		29
163 
164 	/*
165 	 * TX control word 2
166 	 */
167 	u_int32_t	tx_control_2;
168 
169 #define AR5K_AR5212_DESC_TX_CTL2_RTS_DURATION		0x00007fff
170 #define AR5K_AR5212_DESC_TX_CTL2_DURATION_UPDATE_ENABLE	0x00008000
171 #define AR5K_AR5212_DESC_TX_CTL2_XMIT_TRIES0		0x000f0000
172 #define AR5K_AR5212_DESC_TX_CTL2_XMIT_TRIES0_S		16
173 #define AR5K_AR5212_DESC_TX_CTL2_XMIT_TRIES1		0x00f00000
174 #define AR5K_AR5212_DESC_TX_CTL2_XMIT_TRIES1_S		20
175 #define AR5K_AR5212_DESC_TX_CTL2_XMIT_TRIES2		0x0f000000
176 #define AR5K_AR5212_DESC_TX_CTL2_XMIT_TRIES2_S		24
177 #define AR5K_AR5212_DESC_TX_CTL2_XMIT_TRIES3		0xf0000000
178 #define AR5K_AR5212_DESC_TX_CTL2_XMIT_TRIES3_S		28
179 
180 	/*
181 	 * TX control word 3
182 	 */
183 	u_int32_t	tx_control_3;
184 
185 #define AR5K_AR5212_DESC_TX_CTL3_XMIT_RATE0		0x0000001f
186 #define AR5K_AR5212_DESC_TX_CTL3_XMIT_RATE1		0x000003e0
187 #define AR5K_AR5212_DESC_TX_CTL3_XMIT_RATE1_S		5
188 #define AR5K_AR5212_DESC_TX_CTL3_XMIT_RATE2		0x00007c00
189 #define AR5K_AR5212_DESC_TX_CTL3_XMIT_RATE2_S		10
190 #define AR5K_AR5212_DESC_TX_CTL3_XMIT_RATE3		0x000f8000
191 #define AR5K_AR5212_DESC_TX_CTL3_XMIT_RATE3_S		15
192 #define AR5K_AR5212_DESC_TX_CTL3_RTS_CTS_RATE		0x01f00000
193 #define AR5K_AR5212_DESC_TX_CTL3_RTS_CTS_RATE_S		20
194 } __packed;
195 
196 struct ar5k_ar5212_tx_status {
197 	/*
198 	 * TX status word 0
199 	 */
200 	u_int32_t	tx_status_0;
201 
202 #define AR5K_AR5212_DESC_TX_STATUS0_FRAME_XMIT_OK	0x00000001
203 #define AR5K_AR5212_DESC_TX_STATUS0_EXCESSIVE_RETRIES	0x00000002
204 #define AR5K_AR5212_DESC_TX_STATUS0_FIFO_UNDERRUN	0x00000004
205 #define AR5K_AR5212_DESC_TX_STATUS0_FILTERED		0x00000008
206 #define AR5K_AR5212_DESC_TX_STATUS0_RTS_FAIL_COUNT	0x000000f0
207 #define AR5K_AR5212_DESC_TX_STATUS0_RTS_FAIL_COUNT_S	4
208 #define AR5K_AR5212_DESC_TX_STATUS0_DATA_FAIL_COUNT	0x00000f00
209 #define AR5K_AR5212_DESC_TX_STATUS0_DATA_FAIL_COUNT_S	8
210 #define AR5K_AR5212_DESC_TX_STATUS0_VIRT_COLL_COUNT	0x0000f000
211 #define AR5K_AR5212_DESC_TX_STATUS0_VIRT_COLL_COUNT_S	12
212 #define AR5K_AR5212_DESC_TX_STATUS0_SEND_TIMESTAMP	0xffff0000
213 #define AR5K_AR5212_DESC_TX_STATUS0_SEND_TIMESTAMP_S	16
214 
215 	/*
216 	 * TX status word 1
217 	 */
218 	u_int32_t	tx_status_1;
219 
220 #define AR5K_AR5212_DESC_TX_STATUS1_DONE		0x00000001
221 #define AR5K_AR5212_DESC_TX_STATUS1_SEQ_NUM		0x00001ffe
222 #define AR5K_AR5212_DESC_TX_STATUS1_SEQ_NUM_S		1
223 #define AR5K_AR5212_DESC_TX_STATUS1_ACK_SIG_STRENGTH	0x001fe000
224 #define AR5K_AR5212_DESC_TX_STATUS1_ACK_SIG_STRENGTH_S	13
225 #define AR5K_AR5212_DESC_TX_STATUS1_FINAL_TS_INDEX	0x00600000
226 #define AR5K_AR5212_DESC_TX_STATUS1_FINAL_TS_INDEX_S	21
227 #define AR5K_AR5212_DESC_TX_STATUS1_COMP_SUCCESS	0x00800000
228 #define AR5K_AR5212_DESC_TX_STATUS1_XMIT_ANTENNA	0x01000000
229 } __packed;
230 
231 /*
232  * Public function prototypes
233  */
234 extern ar5k_attach_t ar5k_ar5212_attach;
235 
236 /*
237  * Initial register values which have to be loaded into the
238  * card at boot time and after each reset.
239  */
240 
241 #define AR5K_AR5212_INI	{		\
242 	{ 0x000c,	0x00000000 },	\
243 	{ 0x0034,	0x00000005 },	\
244 	{ 0x0040,	0x00000000 },	\
245 	{ 0x0044,	0x00000008 },	\
246 	{ 0x0048,	0x00000008 },	\
247 	{ 0x004c,	0x00000010 },	\
248 	{ 0x0050,	0x00000000 },	\
249 	{ 0x0054,	0x0000001f },	\
250 	{ 0x0800,	0x00000000 },	\
251 	{ 0x0804,	0x00000000 },	\
252 	{ 0x0808,	0x00000000 },	\
253 	{ 0x080c,	0x00000000 },	\
254 	{ 0x0810,	0x00000000 },	\
255 	{ 0x0814,	0x00000000 },	\
256 	{ 0x0818,	0x00000000 },	\
257 	{ 0x081c,	0x00000000 },	\
258 	{ 0x0820,	0x00000000 },	\
259 	{ 0x0824,	0x00000000 },	\
260 	{ 0x1230,	0x00000000 },	\
261 	{ 0x1270,	0x00000000 },	\
262 	{ 0x1038,	0x00000000 },	\
263 	{ 0x1078,	0x00000000 },	\
264 	{ 0x10b8,	0x00000000 },	\
265 	{ 0x10f8,	0x00000000 },	\
266 	{ 0x1138,	0x00000000 },	\
267 	{ 0x1178,	0x00000000 },	\
268 	{ 0x11b8,	0x00000000 },	\
269 	{ 0x11f8,	0x00000000 },	\
270 	{ 0x1238,	0x00000000 },	\
271 	{ 0x1278,	0x00000000 },	\
272 	{ 0x12b8,	0x00000000 },	\
273 	{ 0x12f8,	0x00000000 },	\
274 	{ 0x1338,	0x00000000 },	\
275 	{ 0x1378,	0x00000000 },	\
276 	{ 0x13b8,	0x00000000 },	\
277 	{ 0x13f8,	0x00000000 },	\
278 	{ 0x1438,	0x00000000 },	\
279 	{ 0x1478,	0x00000000 },	\
280 	{ 0x14b8,	0x00000000 },	\
281 	{ 0x14f8,	0x00000000 },	\
282 	{ 0x1538,	0x00000000 },	\
283 	{ 0x1578,	0x00000000 },	\
284 	{ 0x15b8,	0x00000000 },	\
285 	{ 0x15f8,	0x00000000 },	\
286 	{ 0x1638,	0x00000000 },	\
287 	{ 0x1678,	0x00000000 },	\
288 	{ 0x16b8,	0x00000000 },	\
289 	{ 0x16f8,	0x00000000 },	\
290 	{ 0x1738,	0x00000000 },	\
291 	{ 0x1778,	0x00000000 },	\
292 	{ 0x17b8,	0x00000000 },	\
293 	{ 0x17f8,	0x00000000 },	\
294 	{ 0x103c,	0x00000000 },	\
295 	{ 0x107c,	0x00000000 },	\
296 	{ 0x10bc,	0x00000000 },	\
297 	{ 0x10fc,	0x00000000 },	\
298 	{ 0x113c,	0x00000000 },	\
299 	{ 0x117c,	0x00000000 },	\
300 	{ 0x11bc,	0x00000000 },	\
301 	{ 0x11fc,	0x00000000 },	\
302 	{ 0x123c,	0x00000000 },	\
303 	{ 0x127c,	0x00000000 },	\
304 	{ 0x12bc,	0x00000000 },	\
305 	{ 0x12fc,	0x00000000 },	\
306 	{ 0x133c,	0x00000000 },	\
307 	{ 0x137c,	0x00000000 },	\
308 	{ 0x13bc,	0x00000000 },	\
309 	{ 0x13fc,	0x00000000 },	\
310 	{ 0x143c,	0x00000000 },	\
311 	{ 0x147c,	0x00000000 },	\
312 	{ 0x143c,	0x00000000 },	\
313 	{ 0x147c,	0x00000000 },	\
314 	{ 0x8004,	0x00000000 },	\
315 	{ 0x8008,	0x00000000 },	\
316 	{ 0x800c,	0x00000000 },	\
317 	{ 0x8020,	0x00000000 },	\
318 	{ 0x8024,	0x00000000 },	\
319 	{ 0x8028,	0x00000030 },	\
320 	{ 0x802c,	0x0007ffff },	\
321 	{ 0x8030,	0x01ffffff },	\
322 	{ 0x8034,	0x00000031 },	\
323 	{ 0x8038,	0x00000000 },	\
324 	{ 0x803c,	0x00000000 },	\
325 	{ 0x8048,	0x00000000 },	\
326 	{ 0x8054,	0x00000000 },	\
327 	{ 0x8058,	0x00000000 },	\
328 	{ 0x8080,	0x00000000 },	\
329 	{ 0x805c,	0x000fc78f },	\
330 	{ 0x8084,	0x00000000 },	\
331 	{ 0x8088,	0x00000000 },	\
332 	{ 0x808c,	0x00000000 },	\
333 	{ 0x8090,	0x00000000 },	\
334 	{ 0x8094,	0x00000000 },	\
335 	{ 0x8098,	0x00000000 },	\
336 	{ 0x80c0,	0x2a82301a },	\
337 	{ 0x80c4,	0x05dc01e0 },	\
338 	{ 0x80c8,	0x1f402710 },	\
339 	{ 0x80cc,	0x01f40000 },	\
340 	{ 0x80d0,	0x00001e1c },	\
341 	{ 0x80d4,	0x0002aaaa },	\
342 	{ 0x80d8,	0x02005555 },	\
343 	{ 0x80dc,	0x00000000 },	\
344 	{ 0x80e0,	0xffffffff },	\
345 	{ 0x80e4,	0x0000ffff },	\
346 	{ 0x80e8,	0x00000000 },	\
347 	{ 0x80ec,	0x00000000 },	\
348 	{ 0x80f0,	0x00000000 },	\
349 	{ 0x80f4,	0x00000000 },	\
350 	{ 0x80f8,	0x00000000 },	\
351 	{ 0x80fc,	0x00000088 },	\
352 	{ 0x8700,	0x00000000 },	\
353 	{ 0x8704,	0x0000008c },	\
354 	{ 0x8708,	0x000000e4 },	\
355 	{ 0x870c,	0x000002d5 },	\
356 	{ 0x8710,	0x00000000 },	\
357 	{ 0x8714,	0x00000000 },	\
358 	{ 0x8718,	0x000000a0 },	\
359 	{ 0x871c,	0x000001c9 },	\
360 	{ 0x8720,	0x0000002c },	\
361 	{ 0x8724,	0x0000002c },	\
362 	{ 0x8728,	0x00000030 },	\
363 	{ 0x872c,	0x0000003c },	\
364 	{ 0x8730,	0x0000002c },	\
365 	{ 0x8734,	0x0000002c },	\
366 	{ 0x8738,	0x00000030 },	\
367 	{ 0x873c,	0x0000003c },	\
368 	{ 0x8740,	0x00000000 },	\
369 	{ 0x8744,	0x00000000 },	\
370 	{ 0x8748,	0x00000000 },	\
371 	{ 0x874c,	0x00000000 },	\
372 	{ 0x8750,	0x00000000 },	\
373 	{ 0x8754,	0x00000000 },	\
374 	{ 0x8758,	0x00000000 },	\
375 	{ 0x875c,	0x00000000 },	\
376 	{ 0x8760,	0x000000d5 },	\
377 	{ 0x8764,	0x000000df },	\
378 	{ 0x8768,	0x00000102 },	\
379 	{ 0x876c,	0x0000013a },	\
380 	{ 0x8770,	0x00000075 },	\
381 	{ 0x8774,	0x0000007f },	\
382 	{ 0x8778,	0x000000a2 },	\
383 	{ 0x877c,	0x00000000 },	\
384 	{ 0x8100,	0x00010002 },	\
385 	{ 0x8104,	0x00000001 },	\
386 	{ 0x8108,	0x000000c0 },	\
387 	{ 0x810c,	0x00000000 },	\
388 	{ 0x8110,	0x00000168 },	\
389 	{ 0x8114,	0x00000000 },	\
390 	{ 0x87c0,	0x03020100 },	\
391 	{ 0x87c4,	0x07060504 },	\
392 	{ 0x87c8,	0x0b0a0908 },	\
393 	{ 0x87cc,	0x0f0e0d0c },	\
394 	{ 0x87d0,	0x13121110 },	\
395 	{ 0x87d4,	0x17161514 },	\
396 	{ 0x87d8,	0x1b1a1918 },	\
397 	{ 0x87dc,	0x1f1e1d1c },	\
398 	{ 0x87e0,	0x03020100 },	\
399 	{ 0x87e4,	0x07060504 },	\
400 	{ 0x87e8,	0x0b0a0908 },	\
401 	{ 0x87ec,	0x0f0e0d0c },	\
402 	{ 0x87f0,	0x13121110 },	\
403 	{ 0x87f4,	0x17161514 },	\
404 	{ 0x87f8,	0x1b1a1918 },	\
405 	{ 0x87fc,	0x1f1e1d1c },	\
406 	{ 0x980c,	0xad848e19 },	\
407 	{ 0x9810,	0x7d28e000 },	\
408 	{ 0x9814,	0x9c0a9f6b },	\
409 	{ 0x981c,	0x00000000 },	\
410 	{ 0x9840,	0x206a017a },	\
411 	{ 0x9854,	0x00000859 },	\
412 	{ 0x9900,	0x00000000 },	\
413 	{ 0x9904,	0x00000000 },	\
414 	{ 0x9908,	0x00000000 },	\
415 	{ 0x990c,	0x00800000 },	\
416 	{ 0x9910,	0x00000001 },	\
417 	{ 0x991c,	0x00000c80 },	\
418 	{ 0x9920,	0x05100000 },	\
419 	{ 0x9928,	0x00000001 },	\
420 	{ 0x992c,	0x00000004 },	\
421 	{ 0x9934,	0x1e1f2022 },	\
422 	{ 0x9938,	0x0a0b0c0d },	\
423 	{ 0x993c,	0x0000003f },	\
424 	{ 0x9948,	0x9280b212 },	\
425 	{ 0x9954,	0x5d50e188 },	\
426 	{ 0x995c,	0x004b6a8e },	\
427 	{ 0x9968,	0x000003ce },	\
428 	{ 0x9970,	0x192fb515 },	\
429 	{ 0x9978,	0x00000001 },	\
430 	{ 0x997c,	0x00000000 },	\
431 	{ 0xa210,	0x00806333 },	\
432 	{ 0xa214,	0x00106c10 },	\
433 	{ 0xa218,	0x009c4060 },	\
434 	{ 0xa21c,	0x1483800a },	\
435 	{ 0xa220,	0x01831061 },	\
436 	{ 0xa224,	0x00000400 },	\
437 	{ 0xa22c,	0x00000000 },	\
438 	{ 0xa234,	0x20202020 },	\
439 	{ 0x9938,	0x20202020 },	\
440 	{ 0xa240,	0x38490a20 },	\
441 	{ 0xa244,	0x00007bb6 },	\
442 	{ 0xa248,	0x0fff3ffc },	\
443 }
444 
445 #define AR5K_AR5212_MODE	{		\
446 	{ 0xa200,\
447 	    { 0x00000008, 0x00000008, 0x0000000b, 0x0000000e, 0x0000000e } },\
448 	{ 0x9800,\
449 	    { 0x00000007, 0x00000007, 0x00000007, 0x00000007, 0x00000007 } },\
450 	{ 0x1040,\
451 	    { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f } },\
452 	{ 0x1044,\
453 	    { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f } },\
454 	{ 0x1048,\
455 	    { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f } },\
456 	{ 0x104c,\
457 	    { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f } },\
458 	{ 0x1050,\
459 	    { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f } },\
460 	{ 0x1054,\
461 	    { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f } },\
462 	{ 0x1058,\
463 	    { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f } },\
464 	{ 0x105c,\
465 	    { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f } },\
466 	{ 0x1060,\
467 	    { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f } },\
468 	{ 0x1064,\
469 	    { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f } },\
470 	{ 0x1030,\
471 	    { 0x00000230, 0x000001e0, 0x000000b0, 0x00000160, 0x000001e0 } },\
472 	{ 0x1070,\
473 	    { 0x00000168, 0x000001e0, 0x000001b8, 0x0000018c, 0x000001e0 } },\
474 	{ 0x10b0,\
475 	    { 0x00000e60, 0x00001180, 0x00001f1c, 0x00003e38, 0x00001180 } },\
476 	{ 0x10f0,\
477 	    { 0x0000a0e0, 0x00014068, 0x00005880, 0x0000b0e0, 0x00014068 } },\
478 	{ 0x8014,\
479 	    { 0x03e803e8, 0x06e006e0, 0x04200420, 0x08400840, 0x06e006e0 } },\
480 	{ 0x9804,\
481 	    { 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000003 } },\
482 	{ 0x9820,\
483 	    { 0x02020200, 0x02020200, 0x02010200, 0x02020200, 0x02020200 } },\
484 	{ 0x9824,\
485 	    { 0x00000e0e, 0x00000e0e, 0x00000707, 0x00000e0e, 0x00000e0e } },\
486 	{ 0x9844,\
487 	    { 0x1372161c, 0x13721c25, 0x13721722, 0x137216a2, 0x13721c25 } },\
488 	{ 0x9860,\
489 	    { 0x00009d10, 0x00009d10, 0x00009d18, 0x00009d18, 0x00009d18 } },\
490 	{ 0x9864,\
491 	    { 0x0001ce00, 0x0001ce00, 0x0001ce00, 0x0001ce00, 0x0001ce00 } },\
492 	{ 0x9868,\
493 	    { 0x409a4190, 0x409a4190, 0x409a4190, 0x409a4190, 0x409a4190 } },\
494 	{ 0x9918,\
495 	    { 0x000001b8, 0x000001b8, 0x00000084, 0x00000108, 0x000001b8 } },\
496 	{ 0x9924,\
497 	    { 0x10058a05, 0x10058a05, 0x10058a05, 0x10058a05, 0x10058a05 } },\
498 	{ 0xa230,\
499 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000108, 0x00000000 } },\
500 }
501 
502 #define AR5K_AR5212_AR5111_MODE	{		\
503 	{ 0xa200,\
504 	    { 0x00000000, 0x00000000, 0x00000003, 0x00000006, 0x00000006 } },\
505 	{ 0x0030,\
506 	    { 0x00008015, 0x00008015, 0x00008015, 0x00008015, 0x00008015 } },\
507 	{ 0x801c,\
508 	    { 0x128d8fa7, 0x09880fcf, 0x04e00f95, 0x12e00fab, 0x09880fcf } },\
509 	{ 0x9828,\
510 	    { 0x0a020001, 0x0a020001, 0x05010100, 0x0a020001, 0x0a020001 } },\
511 	{ 0x9834,\
512 	    { 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e } },\
513 	{ 0x9838,\
514 	    { 0x00000007, 0x00000007, 0x0000000b, 0x0000000b, 0x0000000b } },\
515 	{ 0x9848,\
516 	    { 0x0018da5a, 0x0018da5a, 0x0018ca69, 0x0018ca69, 0x0018ca69 } },\
517 	{ 0x9850,\
518 	    { 0x0de8b4e0, 0x0de8b4e0, 0x0de8b4e0, 0x0de8b4e0, 0x0de8b4e0 } },\
519 	{ 0x9858,\
520 	    { 0x7e800d2e, 0x7e800d2e, 0x7ee84d2e, 0x7ee84d2e, 0x7e800d2e } },\
521 	{ 0x985c,\
522 	    { 0x3137665e, 0x3137665e, 0x3137665e, 0x3137665e, 0x3137615e } },\
523 	{ 0x986c,\
524 	    { 0x050cb081, 0x050cb081, 0x050cb081, 0x050cb080, 0x050cb080 } },\
525 	{ 0x9914,\
526 	    { 0x00002710, 0x00002710, 0x0000157c, 0x00002af8, 0x00002710 } },\
527 	{ 0x9944,\
528 	    { 0xf7b81020, 0xf7b81020, 0xf7b80d20, 0xf7b81020, 0xf7b81020 } },\
529 	{ 0xa20c,\
530 	    { 0x642c416a, 0x642c416a, 0x6440416a, 0x6440416a, 0x6440416a } },\
531 	{ 0xa21c,\
532 	    { 0x1883800a, 0x1883800a, 0x1873800a, 0x1883800a, 0x1883800a } },\
533 	{ 0x1230,\
534 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
535 	{ 0x9808,\
536 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
537 	{ 0x982c,\
538 	    { 0x00022ffe, 0x00022ffe, 0x00022ffe, 0x00022ffe, 0x00022ffe } },\
539 	{ 0x983c,\
540 	    { 0x00020100, 0x00020100, 0x00020100, 0x00020100, 0x00020100 } },\
541 	{ 0x984c,\
542 	    { 0x1284613c, 0x1284613c, 0x1284613c, 0x1284613c, 0x1284613c } },\
543 	{ 0x9930,\
544 	    { 0x00004883, 0x00004883, 0x00004883, 0x00004883, 0x00004883 } },\
545 	{ 0x9940,\
546 	    { 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000004 } },\
547 	{ 0x9958,\
548 	    { 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff } },\
549 	{ 0x9974,\
550 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
551 	{ 0x99f8,\
552 	    { 0x00000018, 0x00000018, 0x00000018, 0x00000018, 0x00000018 } },\
553 	{ 0xa204,\
554 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
555 	{ 0xa208,\
556 	    { 0xd03e6788, 0xd03e6788, 0xd03e6788, 0xd03e6788, 0xd03e6788 } },\
557 	{ 0xa23c,\
558 	    { 0x13c889af, 0x13c889af, 0x13c889af, 0x13c889af, 0x13c889af } },\
559 }
560 
561 #define AR5K_AR5212_AR5112_MODE	{		\
562 	{ 0x0030,\
563 	    { 0x00008015, 0x00008015, 0x00008015, 0x00008015, 0x00008015 } },\
564 	{ 0x801c,\
565 	    { 0x128d93a7, 0x098813cf, 0x04e01395, 0x12e013ab, 0x098813cf } },\
566 	{ 0x9828,\
567 	    { 0x0a020001, 0x0a020001, 0x05020100, 0x0a020001, 0x0a020001 } },\
568 	{ 0x9834,\
569 	    { 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e } },\
570 	{ 0x9838,\
571 	    { 0x00000007, 0x00000007, 0x0000000b, 0x0000000b, 0x0000000b } },\
572 	{ 0x9848,\
573 	    { 0x0018da6d, 0x0018da6d, 0x0018ca75, 0x0018ca75, 0x0018ca75 } },\
574 	{ 0x9850,\
575 	    { 0x0de8b4e0, 0x0de8b4e0, 0x0de8b4e0, 0x0de8b4e0, 0x0de8b4e0 } },\
576 	{ 0x9858,\
577 	    { 0x7e800d2e, 0x7e800d2e, 0x7ee80d2e, 0x7ee80d2e, 0x7ee80d2e } },\
578 	{ 0x985c,\
579 	    { 0x3137665e, 0x3137665e, 0x3137665e, 0x3137665e, 0x3137665e } },\
580 	{ 0x986c,\
581 	    { 0x050cb081, 0x050cb081, 0x050cb081, 0x050cb081, 0x050cb081 } },\
582 	{ 0x9914,\
583 	    { 0x000007d0, 0x000007d0, 0x0000044c, 0x00000898, 0x000007d0 } },\
584 	{ 0x9944,\
585 	    { 0xf7b81020, 0xf7b81020, 0xf7b80d10, 0xf7b81010, 0xf7b81010 } },\
586 	{ 0xa204,\
587 	    { 0x00000000, 0x00000000, 0x00000008, 0x00000008, 0x00000008 } },\
588 	{ 0xa208,\
589 	    { 0xd6be6788, 0xd6be6788, 0xd03e6788, 0xd03e6788, 0xd03e6788 } },\
590 	{ 0xa20c,\
591 	    { 0x642c0140, 0x642c0140, 0x6442c160, 0x6442c160, 0x6442c160 } },\
592 	{ 0xa21c,\
593 	    { 0x1883800a, 0x1883800a, 0x1873800a, 0x1883800a, 0x1883800a } },\
594 	{ 0x1230,\
595 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
596 	{ 0x9808,\
597 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
598 	{ 0x982c,\
599 	    { 0x00022ffe, 0x00022ffe, 0x00022ffe, 0x00022ffe, 0x00022ffe } },\
600 	{ 0x983c,\
601 	    { 0x00020100, 0x00020100, 0x00020100, 0x00020100, 0x00020100 } },\
602 	{ 0x984c,\
603 	    { 0x1284613c, 0x1284613c, 0x1284613c, 0x1284613c, 0x1284613c } },\
604 	{ 0x9930,\
605 	    { 0x00004882, 0x00004882, 0x00004882, 0x00004882, 0x00004882 } },\
606 	{ 0x9940,\
607 	    { 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000004 } },\
608 	{ 0x9958,\
609 	    { 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff } },\
610 	{ 0x9974,\
611 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
612 	{ 0xa228,\
613 	    { 0x000001b5, 0x000001b5, 0x000001b5, 0x000001b5, 0x000001b5 } },\
614 	{ 0xa23c,\
615 	    { 0x13c889af, 0x13c889af, 0x13c889af, 0x13c889af, 0x13c889af } },\
616 }
617 
618 #define AR5K_AR5413_MODE	{		\
619 	{ 0x0030,\
620 	    { 0x00000015, 0x00000015, 0x00000015, 0x00000015, 0x00000015 } },\
621 	{ 0x801c,\
622 	    { 0x128d93a7, 0x098813cf, 0x04e01395, 0x12e013ab, 0x098813cf } },\
623 	{ 0x9828,\
624 	    { 0x0a020001, 0x0a020001, 0x05020100, 0x0a020001, 0x0a020001 } },\
625 	{ 0x9834,\
626 	    { 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e } },\
627 	{ 0x9838,\
628 	    { 0x00000007, 0x00000007, 0x0000000b, 0x0000000b, 0x0000000b } },\
629 	{ 0x9848,\
630 	    { 0x0018fa61, 0x0018fa61, 0x001a1a63, 0x001a1a63, 0x001a1a63 } },\
631 	{ 0x9850,\
632 	    { 0x0c98b4e0, 0x0c98b4e0, 0x0c98b0da, 0x0c98b0da, 0x0c98b0da } },\
633 	{ 0x9858,\
634 	    { 0x7ec80d2e, 0x7ec80d2e, 0x7ec80d2e, 0x7ec80d2e, 0x7ec80d2e } },\
635 	{ 0x985c,\
636 	    { 0x3139605e, 0x3139605e, 0x3139605e, 0x3139605e, 0x3139605e } },\
637 	{ 0x986c,\
638 	    { 0x050cb081, 0x050cb081, 0x050cb081, 0x050cb081, 0x050cb081 } },\
639 	{ 0x9914,\
640 	    { 0x000007d0, 0x000007d0, 0x0000044c, 0x00000898, 0x000007d0 } },\
641 	{ 0x9944,\
642 	    { 0xf7b81000, 0xf7b81000, 0xf7b80d00, 0xf7b81000, 0xf7b81000 } },\
643 	{ 0xa204,\
644 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
645 	{ 0xa208,\
646 	    { 0xd6be6788, 0xd6be6788, 0xd03e6788, 0xd03e6788, 0xd03e6788 } },\
647 	{ 0xa20c,\
648 	    { 0x002ec1e0, 0x002ec1e0, 0x002ac120, 0x002ac120, 0x002ac120 } },\
649 	{ 0xa21c,\
650 	    { 0x1883800a, 0x1883800a, 0x1863800a, 0x1883800a, 0x1883800a } },\
651 	{ 0xa300,\
652 	    { 0x18010000, 0x18010000, 0x18010000, 0x18010000, 0x18010000 } },\
653 	{ 0xa304,\
654 	    { 0x30032602, 0x30032602, 0x30032602, 0x30032602, 0x30032602 } },\
655 	{ 0xa308,\
656 	    { 0x48073e06, 0x48073e06, 0x48073e06, 0x48073e06, 0x48073e06 } },\
657 	{ 0xa30c,\
658 	    { 0x560b4c0a, 0x560b4c0a, 0x560b4c0a, 0x560b4c0a, 0x560b4c0a } },\
659 	{ 0xa310,\
660 	    { 0x641a600f, 0x641a600f, 0x641a600f, 0x641a600f, 0x641a600f } },\
661 	{ 0xa314,\
662 	    { 0x784f6e1b, 0x784f6e1b, 0x784f6e1b, 0x784f6e1b, 0x784f6e1b } },\
663 	{ 0xa318,\
664 	    { 0x868f7c5a, 0x868f7c5a, 0x868f7c5a, 0x868f7c5a, 0x868f7c5a } },\
665 	{ 0xa31c,\
666 	    { 0x90cf865b, 0x90cf865b, 0x8ecf865b, 0x8ecf865b, 0x8ecf865b } },\
667 	{ 0xa320,\
668 	    { 0x9d4f970f, 0x9d4f970f, 0x9b4f970f, 0x9b4f970f, 0x9b4f970f } },\
669 	{ 0xa324,\
670 	    { 0xa7cfa38f, 0xa7cfa38f, 0xa3cf9f8f, 0xa3cf9f8f, 0xa3cf9f8f } },\
671 	{ 0xa328,\
672 	    { 0xb55faf1f, 0xb55faf1f, 0xb35faf1f, 0xb35faf1f, 0xb35faf1f } },\
673 	{ 0xa32c,\
674 	    { 0xbddfb99f, 0xbddfb99f, 0xbbdfb99f, 0xbbdfb99f, 0xbbdfb99f } },\
675 	{ 0xa330,\
676 	    { 0xcb7fc53f, 0xcb7fc53f, 0xcb7fc73f, 0xcb7fc73f, 0xcb7fc73f } },\
677 	{ 0xa334,\
678 	    { 0xd5ffd1bf, 0xd5ffd1bf, 0xd3ffd1bf, 0xd3ffd1bf, 0xd3ffd1bf } },\
679 	{ 0x1230,\
680 	    { 0x000003e0, 0x000003e0, 0x000003e0, 0x000003e0, 0x000003e0 } },\
681 	{ 0x4068,\
682 	    { 0x00000010, 0x00000010, 0x00000010, 0x00000010, 0x00000010 } },\
683 	{ 0x8060,\
684 	    { 0x0000000f, 0x0000000f, 0x0000000f, 0x0000000f, 0x0000000f } },\
685 	{ 0x809c,\
686 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
687 	{ 0x80a0,\
688 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
689 	{ 0x8118,\
690 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
691 	{ 0x811c,\
692 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
693 	{ 0x8120,\
694 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
695 	{ 0x8124,\
696 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
697 	{ 0x8128,\
698 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
699 	{ 0x812c,\
700 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
701 	{ 0x8130,\
702 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
703 	{ 0x8134,\
704 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
705 	{ 0x8138,\
706 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
707 	{ 0x813c,\
708 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
709 	{ 0x8140,\
710 	    { 0x800003f9, 0x800003f9, 0x800003f9, 0x800003f9, 0x800003f9 } },\
711 	{ 0x8144,\
712 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
713 	{ 0x9808,\
714 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
715 	{ 0x982c,\
716 	    { 0x0000a000, 0x0000a000, 0x0000a000, 0x0000a000, 0x0000a000 } },\
717 	{ 0x983c,\
718 	    { 0x00200400, 0x00200400, 0x00200400, 0x00200400, 0x00200400 } },\
719 	{ 0x984c,\
720 	    { 0x1284233c, 0x1284233c, 0x1284233c, 0x1284233c, 0x1284233c } },\
721 	{ 0x9870,\
722 	    { 0x0000001f, 0x0000001f, 0x0000001f, 0x0000001f, 0x0000001f } },\
723 	{ 0x9874,\
724 	    { 0x00000080, 0x00000080, 0x00000080, 0x00000080, 0x00000080 } },\
725 	{ 0x9878,\
726 	    { 0x0000000e, 0x0000000e, 0x0000000e, 0x0000000e, 0x0000000e } },\
727 	{ 0x9958,\
728 	    { 0x00081fff, 0x00081fff, 0x00081fff, 0x00081fff, 0x00081fff } },\
729 	{ 0x9980,\
730 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
731 	{ 0x9984,\
732 	    { 0x02800000, 0x02800000, 0x02800000, 0x02800000, 0x02800000 } },\
733 	{ 0x99a0,\
734 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
735 	{ 0x99e0,\
736 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
737 	{ 0x99e4,\
738 	    { 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa } },\
739 	{ 0x99e8,\
740 	    { 0x3c466478, 0x3c466478, 0x3c466478, 0x3c466478, 0x3c466478 } },\
741 	{ 0x99ec,\
742 	    { 0x000000aa, 0x000000aa, 0x000000aa, 0x000000aa, 0x000000aa } },\
743 	{ 0x99f0,\
744 	    { 0x0000000c, 0x0000000c, 0x0000000c, 0x0000000c, 0x0000000c } },\
745 	{ 0x99f4,\
746 	    { 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff } },\
747 	{ 0x99f8,\
748 	    { 0x00000014, 0x00000014, 0x00000014, 0x00000014, 0x00000014 } },\
749 	{ 0xa228,\
750 	    { 0x000009b5, 0x000009b5, 0x000009b5, 0x000009b5, 0x000009b5 } },\
751 	{ 0xa23c,\
752 	    { 0x93c889af, 0x93c889af, 0x93c889af, 0x93c889af, 0x93c889af } },\
753 	{ 0xa24c,\
754 	    { 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001 } },\
755 	{ 0xa250,\
756 	    { 0x0000a000, 0x0000a000, 0x0000a000, 0x0000a000, 0x0000a000 } },\
757 	{ 0xa254,\
758 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
759 	{ 0xa258,\
760 	    { 0x0cc75380, 0x0cc75380, 0x0cc75380, 0x0cc75380, 0x0cc75380 } },\
761 	{ 0xa25c,\
762 	    { 0x0f0f0f01, 0x0f0f0f01, 0x0f0f0f01, 0x0f0f0f01, 0x0f0f0f01 } },\
763 	{ 0xa260,\
764 	    { 0x5f690f01, 0x5f690f01, 0x5f690f01, 0x5f690f01, 0x5f690f01 } },\
765 	{ 0xa264,\
766 	    { 0x00418a11, 0x00418a11, 0x00418a11, 0x00418a11, 0x00418a11 } },\
767 	{ 0xa268,\
768 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
769 	{ 0xa26c,\
770 	    { 0x0c30c16a, 0x0c30c16a, 0x0c30c16a, 0x0c30c16a, 0x0c30c16a } },\
771 	{ 0xa270,\
772 	    { 0x00820820, 0x00820820, 0x00820820, 0x00820820, 0x00820820 } },\
773 	{ 0xa274,\
774 	    { 0x081b7caa, 0x081b7caa, 0x081b7caa, 0x081b7caa, 0x081b7caa } },\
775 	{ 0xa278,\
776 	    { 0x1ce739ce, 0x1ce739ce, 0x1ce739ce, 0x1ce739ce, 0x1ce739ce } },\
777 	{ 0xa27c,\
778 	    { 0x051701ce, 0x051701ce, 0x051701ce, 0x051701ce, 0x051701ce } },\
779 	{ 0xa338,\
780 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
781 	{ 0xa33c,\
782 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
783 	{ 0xa340,\
784 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
785 	{ 0xa344,\
786 	    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },\
787 	{ 0xa348,\
788 	    { 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff } },\
789 	{ 0xa34c,\
790 	    { 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff } },\
791 	{ 0xa350,\
792 	    { 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff } },\
793 	{ 0xa354,\
794 	    { 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff } },\
795 	{ 0xa358,\
796 	    { 0x79a8aa1f, 0x79a8aa1f, 0x79a8aa1f, 0x79a8aa1f, 0x79a8aa1f } },\
797 	{ 0xa35c,\
798 	    { 0x066c420f, 0x066c420f, 0x066c420f, 0x066c420f, 0x066c420f } },\
799 	{ 0xa360,\
800 	    { 0x0f282207, 0x0f282207, 0x0f282207, 0x0f282207, 0x0f282207 } },\
801 	{ 0xa364,\
802 	    { 0x17601685, 0x17601685, 0x17601685, 0x17601685, 0x17601685 } },\
803 	{ 0xa368,\
804 	    { 0x1f801104, 0x1f801104, 0x1f801104, 0x1f801104, 0x1f801104 } },\
805 	{ 0xa36c,\
806 	    { 0x37a00c03, 0x37a00c03, 0x37a00c03, 0x37a00c03, 0x37a00c03 } },\
807 	{ 0xa370,\
808 	    { 0x3fc40883, 0x3fc40883, 0x3fc40883, 0x3fc40883, 0x3fc40883 } },\
809 	{ 0xa374,\
810 	    { 0x57c00803, 0x57c00803, 0x57c00803, 0x57c00803, 0x57c00803 } },\
811 	{ 0xa378,\
812 	    { 0x5fd80682, 0x5fd80682, 0x5fd80682, 0x5fd80682, 0x5fd80682 } },\
813 	{ 0xa37c,\
814 	    { 0x7fe00482, 0x7fe00482, 0x7fe00482, 0x7fe00482, 0x7fe00482 } },\
815 	{ 0xa380,\
816 	    { 0x7f3c7bba, 0x7f3c7bba, 0x7f3c7bba, 0x7f3c7bba, 0x7f3c7bba } },\
817 	{ 0xa384,\
818 	    { 0xf3307ff0, 0xf3307ff0, 0xf3307ff0, 0xf3307ff0, 0xf3307ff0 } },\
819 }
820 
821 #define AR5K_AR2413_MODE	{		\
822 	{ 0x0030, { 0, 0, 0x00000015, 0x00000015, 0x00000015 } },\
823 	{ 0x801c, { 0, 0, 0x04e01395, 0x12e013ab, 0x098813cf } },\
824 	{ 0x9828, { 0, 0, 0x05020000, 0x0a020001, 0x0a020001 } },\
825 	{ 0x9834, { 0, 0, 0x00000e00, 0x00000e00, 0x00000e00 } },\
826 	{ 0x9838, { 0, 0, 0x0000000a, 0x0000000a, 0x0000000a } },\
827 	{ 0x9848, { 0, 0, 0x001a6a64, 0x001a6a64, 0x001a6a64 } },\
828 	{ 0x9850, { 0, 0, 0x0de8b0da, 0x0c98b0da, 0x0c98b0da } },\
829 	{ 0x9858, { 0, 0, 0x7ee80d2e, 0x7ec80d2e, 0x7ec80d2e } },\
830 	{ 0x985c, { 0, 0, 0x3137665e, 0x3139605e, 0x3139605e } },\
831 	{ 0x986c, { 0, 0, 0x050cb081, 0x050cb081, 0x050cb081 } },\
832 	{ 0x9914, { 0, 0, 0x0000044c, 0x00000898, 0x000007d0 } },\
833 	{ 0x9944, { 0, 0, 0xf7b80d00, 0xf7b81000, 0xf7b81000 } },\
834 	{ 0xa204, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
835 	{ 0xa208, { 0, 0, 0xd03e6788, 0xd03e6788, 0xd03e6788 } },\
836 	{ 0xa20c, { 0, 0, 0x0042c140, 0x0042c140, 0x0042c140 } },\
837 	{ 0xa21c, { 0, 0, 0x1863800a, 0x1883800a, 0x1883800a } },\
838 	{ 0x1230, { 0, 0, 0x000003e0, 0x000003e0, 0x000003e0 } },\
839 	{ 0x8060, { 0, 0, 0x0000000f, 0x0000000f, 0x0000000f } },\
840 	{ 0x8118, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
841 	{ 0x811c, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
842 	{ 0x8120, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
843 	{ 0x8124, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
844 	{ 0x8128, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
845 	{ 0x812c, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
846 	{ 0x8130, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
847 	{ 0x8134, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
848 	{ 0x8138, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
849 	{ 0x813c, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
850 	{ 0x8140, { 0, 0, 0x800000a8, 0x800000a8, 0x800000a8 } },\
851 	{ 0x8144, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
852 	{ 0x9808, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
853 	{ 0x982c, { 0, 0, 0x0000a000, 0x0000a000, 0x0000a000 } },\
854 	{ 0x983c, { 0, 0, 0x00200400, 0x00200400, 0x00200400 } },\
855 	{ 0x984c, { 0, 0, 0x1284233c, 0x1284233c, 0x1284233c } },\
856 	{ 0x9870, { 0, 0, 0x0000001f, 0x0000001f, 0x0000001f } },\
857 	{ 0x9874, { 0, 0, 0x00000080, 0x00000080, 0x00000080 } },\
858 	{ 0x9878, { 0, 0, 0x0000000e, 0x0000000e, 0x0000000e } },\
859 	{ 0x9958, { 0, 0, 0x000000ff, 0x000000ff, 0x000000ff } },\
860 	{ 0x9980, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
861 	{ 0x9984, { 0, 0, 0x02800000, 0x02800000, 0x02800000 } },\
862 	{ 0x99a0, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
863 	{ 0x99e0, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
864 	{ 0x99e4, { 0, 0, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa } },\
865 	{ 0x99e8, { 0, 0, 0x3c466478, 0x3c466478, 0x3c466478 } },\
866 	{ 0x99ec, { 0, 0, 0x000000aa, 0x000000aa, 0x000000aa } },\
867 	{ 0x99f0, { 0, 0, 0x0000000c, 0x0000000c, 0x0000000c } },\
868 	{ 0x99f4, { 0, 0, 0x000000ff, 0x000000ff, 0x000000ff } },\
869 	{ 0x99f8, { 0, 0, 0x00000014, 0x00000014, 0x00000014 } },\
870 	{ 0xa228, { 0, 0, 0x000009b5, 0x000009b5, 0x000009b5 } },\
871 	{ 0xa23c, { 0, 0, 0x93c889af, 0x93c889af, 0x93c889af } },\
872 	{ 0xa24c, { 0, 0, 0x00000001, 0x00000001, 0x00000001 } },\
873 	{ 0xa250, { 0, 0, 0x0000a000, 0x0000a000, 0x0000a000 } },\
874 	{ 0xa254, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
875 	{ 0xa258, { 0, 0, 0x0cc75380, 0x0cc75380, 0x0cc75380 } },\
876 	{ 0xa25c, { 0, 0, 0x0f0f0f01, 0x0f0f0f01, 0x0f0f0f01 } },\
877 	{ 0xa260, { 0, 0, 0x5f690f01, 0x5f690f01, 0x5f690f01 } },\
878 	{ 0xa264, { 0, 0, 0x00418a11, 0x00418a11, 0x00418a11 } },\
879 	{ 0xa268, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
880 	{ 0xa26c, { 0, 0, 0x0c30c16a, 0x0c30c16a, 0x0c30c16a } },\
881 	{ 0xa270, { 0, 0, 0x00820820, 0x00820820, 0x00820820 } },\
882 	{ 0xa274, { 0, 0, 0x001b7caa, 0x001b7caa, 0x001b7caa } },\
883 	{ 0xa278, { 0, 0, 0x1ce739ce, 0x1ce739ce, 0x1ce739ce } },\
884 	{ 0xa27c, { 0, 0, 0x051701ce, 0x051701ce, 0x051701ce } },\
885 	{ 0xa300, { 0, 0, 0x18010000, 0x18010000, 0x18010000 } },\
886 	{ 0xa304, { 0, 0, 0x30032602, 0x30032602, 0x30032602 } },\
887 	{ 0xa308, { 0, 0, 0x48073e06, 0x48073e06, 0x48073e06 } },\
888 	{ 0xa30c, { 0, 0, 0x560b4c0a, 0x560b4c0a, 0x560b4c0a } },\
889 	{ 0xa310, { 0, 0, 0x641a600f, 0x641a600f, 0x641a600f } },\
890 	{ 0xa314, { 0, 0, 0x784f6e1b, 0x784f6e1b, 0x784f6e1b } },\
891 	{ 0xa318, { 0, 0, 0x868f7c5a, 0x868f7c5a, 0x868f7c5a } },\
892 	{ 0xa31c, { 0, 0, 0x8ecf865b, 0x8ecf865b, 0x8ecf865b } },\
893 	{ 0xa320, { 0, 0, 0x9d4f970f, 0x9d4f970f, 0x9d4f970f } },\
894 	{ 0xa324, { 0, 0, 0xa5cfa18f, 0xa5cfa18f, 0xa5cfa18f } },\
895 	{ 0xa328, { 0, 0, 0xb55faf1f, 0xb55faf1f, 0xb55faf1f } },\
896 	{ 0xa32c, { 0, 0, 0xbddfb99f, 0xbddfb99f, 0xbddfb99f } },\
897 	{ 0xa330, { 0, 0, 0xcd7fc73f, 0xcd7fc73f, 0xcd7fc73f } },\
898 	{ 0xa334, { 0, 0, 0xd5ffd1bf, 0xd5ffd1bf, 0xd5ffd1bf } },\
899 	{ 0xa338, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
900 	{ 0xa33c, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
901 	{ 0xa340, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
902 	{ 0xa344, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } },\
903 	{ 0xa348, { 0, 0, 0x3fffffff, 0x3fffffff, 0x3fffffff } },\
904 	{ 0xa34c, { 0, 0, 0x3fffffff, 0x3fffffff, 0x3fffffff } },\
905 	{ 0xa350, { 0, 0, 0x3fffffff, 0x3fffffff, 0x3fffffff } },\
906 	{ 0xa354, { 0, 0, 0x0003ffff, 0x0003ffff, 0x0003ffff } },\
907 	{ 0xa358, { 0, 0, 0x79a8aa1f, 0x79a8aa1f, 0x79a8aa1f } },\
908 	{ 0xa35c, { 0, 0, 0x066c420f, 0x066c420f, 0x066c420f } },\
909 	{ 0xa360, { 0, 0, 0x0f282207, 0x0f282207, 0x0f282207 } },\
910 	{ 0xa364, { 0, 0, 0x17601685, 0x17601685, 0x17601685 } },\
911 	{ 0xa368, { 0, 0, 0x1f801104, 0x1f801104, 0x1f801104 } },\
912 	{ 0xa36c, { 0, 0, 0x37a00c03, 0x37a00c03, 0x37a00c03 } },\
913 	{ 0xa370, { 0, 0, 0x3fc40883, 0x3fc40883, 0x3fc40883 } },\
914 	{ 0xa374, { 0, 0, 0x57c00803, 0x57c00803, 0x57c00803 } },\
915 	{ 0xa378, { 0, 0, 0x5fd80682, 0x5fd80682, 0x5fd80682 } },\
916 	{ 0xa37c, { 0, 0, 0x7fe00482, 0x7fe00482, 0x7fe00482 } },\
917 	{ 0xa380, { 0, 0, 0x7f3c7bba, 0x7f3c7bba, 0x7f3c7bba } },\
918 	{ 0xa384, { 0, 0, 0xf3307ff0, 0xf3307ff0, 0xf3307ff0 } },\
919 }
920 
921 #define AR5K_AR2425_MODE	{		\
922 	{ 0x0030, { 0, 0, 0, 0x00000015, 0x00000015 } },\
923 	{ 0x801c, { 0, 0, 0, 0x12e013ab, 0x098813cf } },\
924 	{ 0x9804, { 0, 0, 0, 0x00000000, 0x00000003 } },\
925 	{ 0x9828, { 0, 0, 0, 0x0a020001, 0x0a020001 } },\
926 	{ 0x9834, { 0, 0, 0, 0x00000e0e, 0x00000e0e } },\
927 	{ 0x9838, { 0, 0, 0, 0x0000000b, 0x0000000b } },\
928 	{ 0x9844, { 0, 0, 0, 0x13721422, 0x13721422 } },\
929 	{ 0x9848, { 0, 0, 0, 0x00199a65, 0x00199a65 } },\
930 	{ 0x9850, { 0, 0, 0, 0x0c98b0da, 0x0c98b0da } },\
931 	{ 0x9858, { 0, 0, 0, 0x7ec80d2e, 0x7ec80d2e } },\
932 	{ 0x985c, { 0, 0, 0, 0x3139605e, 0x3139605e } },\
933 	{ 0x986c, { 0, 0, 0, 0x050cb081, 0x050cb081 } },\
934 	{ 0x9914, { 0, 0, 0, 0x00000898, 0x000007d0 } },\
935 	{ 0x9944, { 0, 0, 0, 0xf7b81000, 0xf7b81000 } },\
936 	{ 0xa204, { 0, 0, 0, 0x00000000, 0x00000000 } },\
937 	{ 0xa208, { 0, 0, 0, 0xd03e6788, 0xd03e6788 } },\
938 	{ 0xa20c, { 0, 0, 0, 0x0052c140, 0x0052c140 } },\
939 	{ 0xa21c, { 0, 0, 0, 0x1883800a, 0x1883800a } },\
940 	{ 0xa324, { 0, 0, 0, 0xa7cfa7cf, 0xa7cfa7cf } },\
941 	{ 0xa328, { 0, 0, 0, 0xa7cfa7cf, 0xa7cfa7cf } },\
942 	{ 0xa32c, { 0, 0, 0, 0xa7cfa7cf, 0xa7cfa7cf } },\
943 	{ 0xa330, { 0, 0, 0, 0xa7cfa7cf, 0xa7cfa7cf } },\
944 	{ 0xa334, { 0, 0, 0, 0xa7cfa7cf, 0xa7cfa7cf } },\
945 	{ 0x1230, { 0, 0, 0, 0x000003e0, 0x000003e0 } },\
946 	{ 0x8060, { 0, 0, 0, 0x0000000f, 0x0000000f } },\
947 	{ 0x809c, { 0, 0, 0, 0x00000000, 0x00000000 } },\
948 	{ 0x80a0, { 0, 0, 0, 0x00000000, 0x00000000 } },\
949 	{ 0x8118, { 0, 0, 0, 0x00000000, 0x00000000 } },\
950 	{ 0x811c, { 0, 0, 0, 0x00000000, 0x00000000 } },\
951 	{ 0x8120, { 0, 0, 0, 0x00000000, 0x00000000 } },\
952 	{ 0x8124, { 0, 0, 0, 0x00000000, 0x00000000 } },\
953 	{ 0x8128, { 0, 0, 0, 0x00000000, 0x00000000 } },\
954 	{ 0x812c, { 0, 0, 0, 0x00000000, 0x00000000 } },\
955 	{ 0x8130, { 0, 0, 0, 0x00000000, 0x00000000 } },\
956 	{ 0x8134, { 0, 0, 0, 0x00000000, 0x00000000 } },\
957 	{ 0x8138, { 0, 0, 0, 0x00000000, 0x00000000 } },\
958 	{ 0x813c, { 0, 0, 0, 0x00000000, 0x00000000 } },\
959 	{ 0x8140, { 0, 0, 0, 0x800003f9, 0x800003f9 } },\
960 	{ 0x8144, { 0, 0, 0, 0x00000000, 0x00000000 } },\
961 	{ 0x9808, { 0, 0, 0, 0x00000000, 0x00000000 } },\
962 	{ 0x982c, { 0, 0, 0, 0x0000a000, 0x0000a000 } },\
963 	{ 0x983c, { 0, 0, 0, 0x00200400, 0x00200400 } },\
964 	{ 0x984c, { 0, 0, 0, 0x1284233c, 0x1284233c } },\
965 	{ 0x9870, { 0, 0, 0, 0x0000001f, 0x0000001f } },\
966 	{ 0x9874, { 0, 0, 0, 0x00000080, 0x00000080 } },\
967 	{ 0x9878, { 0, 0, 0, 0x0000000e, 0x0000000e } },\
968 	{ 0x9958, { 0, 0, 0, 0x00081fff, 0x00081fff } },\
969 	{ 0x9980, { 0, 0, 0, 0x00000000, 0x00000000 } },\
970 	{ 0x9984, { 0, 0, 0, 0x02800000, 0x02800000 } },\
971 	{ 0x99a0, { 0, 0, 0, 0x00000000, 0x00000000 } },\
972 	{ 0x99dc, { 0, 0, 0, 0xfebadbe8, 0xfebadbe8 } },\
973 	{ 0x99e0, { 0, 0, 0, 0x00000000, 0x00000000 } },\
974 	{ 0x99e4, { 0, 0, 0, 0xaaaaaaaa, 0xaaaaaaaa } },\
975 	{ 0x99e8, { 0, 0, 0, 0x3c466478, 0x3c466478 } },\
976 	{ 0x99ec, { 0, 0, 0, 0x000000aa, 0x000000aa } },\
977 	{ 0x99f0, { 0, 0, 0, 0x0000000c, 0x0000000c } },\
978 	{ 0x99f4, { 0, 0, 0, 0x000000ff, 0x000000ff } },\
979 	{ 0x99f8, { 0, 0, 0, 0x00000014, 0x00000014 } },\
980 	{ 0xa228, { 0, 0, 0, 0x000009b5, 0x000009b5 } },\
981 	{ 0xa234, { 0, 0, 0, 0x20202020, 0x20202020 } },\
982 	{ 0xa238, { 0, 0, 0, 0x20202020, 0x20202020 } },\
983 	{ 0xa23c, { 0, 0, 0, 0x93c889af, 0x93c889af } },\
984 	{ 0xa24c, { 0, 0, 0, 0x00000001, 0x00000001 } },\
985 	{ 0xa250, { 0, 0, 0, 0x0000a000, 0x0000a000 } },\
986 	{ 0xa254, { 0, 0, 0, 0x00000000, 0x00000000 } },\
987 	{ 0xa258, { 0, 0, 0, 0x0cc75380, 0x0cc75380 } },\
988 	{ 0xa25c, { 0, 0, 0, 0x0f0f0f01, 0x0f0f0f01 } },\
989 	{ 0xa260, { 0, 0, 0, 0x5f690f01, 0x5f690f01 } },\
990 	{ 0xa264, { 0, 0, 0, 0x00418a11, 0x00418a11 } },\
991 	{ 0xa268, { 0, 0, 0, 0x00000000, 0x00000000 } },\
992 	{ 0xa26c, { 0, 0, 0, 0x0c30c166, 0x0c30c166 } },\
993 	{ 0xa270, { 0, 0, 0, 0x00820820, 0x00820820 } },\
994 	{ 0xa274, { 0, 0, 0, 0x081a3caa, 0x081a3caa } },\
995 	{ 0xa278, { 0, 0, 0, 0x1ce739ce, 0x1ce739ce } },\
996 	{ 0xa27c, { 0, 0, 0, 0x051701ce, 0x051701ce } },\
997 	{ 0xa300, { 0, 0, 0, 0x16010000, 0x16010000 } },\
998 	{ 0xa304, { 0, 0, 0, 0x2c032402, 0x2c032402 } },\
999 	{ 0xa308, { 0, 0, 0, 0x48433e42, 0x48433e42 } },\
1000 	{ 0xa30c, { 0, 0, 0, 0x5a0f500b, 0x5a0f500b } },\
1001 	{ 0xa310, { 0, 0, 0, 0x6c4b624a, 0x6c4b624a } },\
1002 	{ 0xa314, { 0, 0, 0, 0x7e8b748a, 0x7e8b748a } },\
1003 	{ 0xa318, { 0, 0, 0, 0x96cf8ccb, 0x96cf8ccb } },\
1004 	{ 0xa31c, { 0, 0, 0, 0xa34f9d0f, 0xa34f9d0f } },\
1005 	{ 0xa320, { 0, 0, 0, 0xa7cfa58f, 0xa7cfa58f } },\
1006 	{ 0xa348, { 0, 0, 0, 0x3fffffff, 0x3fffffff } },\
1007 	{ 0xa34c, { 0, 0, 0, 0x3fffffff, 0x3fffffff } },\
1008 	{ 0xa350, { 0, 0, 0, 0x3fffffff, 0x3fffffff } },\
1009 	{ 0xa354, { 0, 0, 0, 0x0003ffff, 0x0003ffff } },\
1010 	{ 0xa358, { 0, 0, 0, 0x79a8aa1f, 0x79a8aa1f } },\
1011 	{ 0xa35c, { 0, 0, 0, 0x066c420f, 0x066c420f } },\
1012 	{ 0xa360, { 0, 0, 0, 0x0f282207, 0x0f282207 } },\
1013 	{ 0xa364, { 0, 0, 0, 0x17601685, 0x17601685 } },\
1014 	{ 0xa368, { 0, 0, 0, 0x1f801104, 0x1f801104 } },\
1015 	{ 0xa36c, { 0, 0, 0, 0x37a00c03, 0x37a00c03 } },\
1016 	{ 0xa370, { 0, 0, 0, 0x3fc40883, 0x3fc40883 } },\
1017 	{ 0xa374, { 0, 0, 0, 0x57c00803, 0x57c00803 } },\
1018 	{ 0xa378, { 0, 0, 0, 0x5fd80682, 0x5fd80682 } },\
1019 	{ 0xa37c, { 0, 0, 0, 0x7fe00482, 0x7fe00482 } },\
1020 	{ 0xa380, { 0, 0, 0, 0x7f3c7bba, 0x7f3c7bba } },\
1021 	{ 0xa384, { 0, 0, 0, 0xf3307ff0, 0xf3307ff0 } },\
1022 }
1023 
1024 #define AR5K_AR5111_INI_BBGAIN	{	\
1025 	{ 0x9b00,	0x00000000 },	\
1026 	{ 0x9b04,	0x00000020 },	\
1027 	{ 0x9b08,	0x00000010 },	\
1028 	{ 0x9b0c,	0x00000030 },	\
1029 	{ 0x9b10,	0x00000008 },	\
1030 	{ 0x9b14,	0x00000028 },	\
1031 	{ 0x9b18,	0x00000004 },	\
1032 	{ 0x9b1c,	0x00000024 },	\
1033 	{ 0x9b20,	0x00000014 },	\
1034 	{ 0x9b24,	0x00000034 },	\
1035 	{ 0x9b28,	0x0000000c },	\
1036 	{ 0x9b2c,	0x0000002c },	\
1037 	{ 0x9b30,	0x00000002 },	\
1038 	{ 0x9b34,	0x00000022 },	\
1039 	{ 0x9b38,	0x00000012 },	\
1040 	{ 0x9b3c,	0x00000032 },	\
1041 	{ 0x9b40,	0x0000000a },	\
1042 	{ 0x9b44,	0x0000002a },	\
1043 	{ 0x9b48,	0x00000006 },	\
1044 	{ 0x9b4c,	0x00000026 },	\
1045 	{ 0x9b50,	0x00000016 },	\
1046 	{ 0x9b54,	0x00000036 },	\
1047 	{ 0x9b58,	0x0000000e },	\
1048 	{ 0x9b5c,	0x0000002e },	\
1049 	{ 0x9b60,	0x00000001 },	\
1050 	{ 0x9b64,	0x00000021 },	\
1051 	{ 0x9b68,	0x00000011 },	\
1052 	{ 0x9b6c,	0x00000031 },	\
1053 	{ 0x9b70,	0x00000009 },	\
1054 	{ 0x9b74,	0x00000029 },	\
1055 	{ 0x9b78,	0x00000005 },	\
1056 	{ 0x9b7c,	0x00000025 },	\
1057 	{ 0x9b80,	0x00000015 },	\
1058 	{ 0x9b84,	0x00000035 },	\
1059 	{ 0x9b88,	0x0000000d },	\
1060 	{ 0x9b8c,	0x0000002d },	\
1061 	{ 0x9b90,	0x00000003 },	\
1062 	{ 0x9b94,	0x00000023 },	\
1063 	{ 0x9b98,	0x00000013 },	\
1064 	{ 0x9b9c,	0x00000033 },	\
1065 	{ 0x9ba0,	0x0000000b },	\
1066 	{ 0x9ba4,	0x0000002b },	\
1067 	{ 0x9ba8,	0x0000002b },	\
1068 	{ 0x9bac,	0x0000002b },	\
1069 	{ 0x9bb0,	0x0000002b },	\
1070 	{ 0x9bb4,	0x0000002b },	\
1071 	{ 0x9bb8,	0x0000002b },	\
1072 	{ 0x9bbc,	0x0000002b },	\
1073 	{ 0x9bc0,	0x0000002b },	\
1074 	{ 0x9bc4,	0x0000002b },	\
1075 	{ 0x9bc8,	0x0000002b },	\
1076 	{ 0x9bcc,	0x0000002b },	\
1077 	{ 0x9bd0,	0x0000002b },	\
1078 	{ 0x9bd4,	0x0000002b },	\
1079 	{ 0x9bd8,	0x0000002b },	\
1080 	{ 0x9bdc,	0x0000002b },	\
1081 	{ 0x9be0,	0x0000002b },	\
1082 	{ 0x9be4,	0x0000002b },	\
1083 	{ 0x9be8,	0x0000002b },	\
1084 	{ 0x9bec,	0x0000002b },	\
1085 	{ 0x9bf0,	0x0000002b },	\
1086 	{ 0x9bf4,	0x0000002b },	\
1087 	{ 0x9bf8,	0x00000002 },	\
1088 	{ 0x9bfc,	0x00000016 },	\
1089 }
1090 
1091 #define AR5K_AR5112_INI_BBGAIN	{	\
1092 	{ 0x9b00,	0x00000000 },	\
1093 	{ 0x9b04,	0x00000001 },	\
1094 	{ 0x9b08,	0x00000002 },	\
1095 	{ 0x9b0c,	0x00000003 },	\
1096 	{ 0x9b10,	0x00000004 },	\
1097 	{ 0x9b14,	0x00000005 },	\
1098 	{ 0x9b18,	0x00000008 },	\
1099 	{ 0x9b1c,	0x00000009 },	\
1100 	{ 0x9b20,	0x0000000a },	\
1101 	{ 0x9b24,	0x0000000b },	\
1102 	{ 0x9b28,	0x0000000c },	\
1103 	{ 0x9b2c,	0x0000000d },	\
1104 	{ 0x9b30,	0x00000010 },	\
1105 	{ 0x9b34,	0x00000011 },	\
1106 	{ 0x9b38,	0x00000012 },	\
1107 	{ 0x9b3c,	0x00000013 },	\
1108 	{ 0x9b40,	0x00000014 },	\
1109 	{ 0x9b44,	0x00000015 },	\
1110 	{ 0x9b48,	0x00000018 },	\
1111 	{ 0x9b4c,	0x00000019 },	\
1112 	{ 0x9b50,	0x0000001a },	\
1113 	{ 0x9b54,	0x0000001b },	\
1114 	{ 0x9b58,	0x0000001c },	\
1115 	{ 0x9b5c,	0x0000001d },	\
1116 	{ 0x9b60,	0x00000020 },	\
1117 	{ 0x9b64,	0x00000021 },	\
1118 	{ 0x9b68,	0x00000022 },	\
1119 	{ 0x9b6c,	0x00000023 },	\
1120 	{ 0x9b70,	0x00000024 },	\
1121 	{ 0x9b74,	0x00000025 },	\
1122 	{ 0x9b78,	0x00000028 },	\
1123 	{ 0x9b7c,	0x00000029 },	\
1124 	{ 0x9b80,	0x0000002a },	\
1125 	{ 0x9b84,	0x0000002b },	\
1126 	{ 0x9b88,	0x0000002c },	\
1127 	{ 0x9b8c,	0x0000002d },	\
1128 	{ 0x9b90,	0x00000030 },	\
1129 	{ 0x9b94,	0x00000031 },	\
1130 	{ 0x9b98,	0x00000032 },	\
1131 	{ 0x9b9c,	0x00000033 },	\
1132 	{ 0x9ba0,	0x00000034 },	\
1133 	{ 0x9ba4,	0x00000035 },	\
1134 	{ 0x9ba8,	0x00000035 },	\
1135 	{ 0x9bac,	0x00000035 },	\
1136 	{ 0x9bb0,	0x00000035 },	\
1137 	{ 0x9bb4,	0x00000035 },	\
1138 	{ 0x9bb8,	0x00000035 },	\
1139 	{ 0x9bbc,	0x00000035 },	\
1140 	{ 0x9bc0,	0x00000035 },	\
1141 	{ 0x9bc4,	0x00000035 },	\
1142 	{ 0x9bc8,	0x00000035 },	\
1143 	{ 0x9bcc,	0x00000035 },	\
1144 	{ 0x9bd0,	0x00000035 },	\
1145 	{ 0x9bd4,	0x00000035 },	\
1146 	{ 0x9bd8,	0x00000035 },	\
1147 	{ 0x9bdc,	0x00000035 },	\
1148 	{ 0x9be0,	0x00000035 },	\
1149 	{ 0x9be4,	0x00000035 },	\
1150 	{ 0x9be8,	0x00000035 },	\
1151 	{ 0x9bec,	0x00000035 },	\
1152 	{ 0x9bf0,	0x00000035 },	\
1153 	{ 0x9bf4,	0x00000035 },	\
1154 	{ 0x9bf8,	0x00000010 },	\
1155 	{ 0x9bfc,	0x0000001a },	\
1156 }
1157 
1158 #define AR5K_AR5212_PCIE	{	\
1159 	{ 0x4080,	0x9248fc00 },	\
1160 	{ 0x4080,	0x24924924 },	\
1161 	{ 0x4080,	0x28000039 },	\
1162 	{ 0x4080,	0x53160824 },	\
1163 	{ 0x4080,	0xe5980579 },	\
1164 	{ 0x4080,	0x001defff },	\
1165 	{ 0x4080,	0x1aaabe40 },	\
1166 	{ 0x4080,	0xbe105554 },	\
1167 	{ 0x4080,	0x000e3007 },	\
1168 	{ 0x4084,	0x00000000 }	\
1169 }
1170 
1171 #endif /* _AR5K_AR5212_VAR_H */
1172