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
49struct 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
66struct 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
101struct 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
127struct 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
196struct 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 */
234extern 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