FreeBSD/Linux Kernel Cross Reference
sys/dev/ic/ar5212var.h
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 */
Cache object: 2809f1633b7a9305f7fdb72a00dd4a4a
|