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