1/* 2 * Copyright (c) 2013 Qualcomm Atheros, Inc. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for any 5 * purpose with or without fee is hereby granted, provided that the above 6 * copyright notice and this permission notice appear in all copies. 7 * 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 9 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 10 * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 11 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 12 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 13 * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 14 * PERFORMANCE OF THIS SOFTWARE. 15 */ 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34static const u_int32_t ar9300_ar9580_1p0_baseband_postamble_dfs_channel[][3] = { 35/* Addr 5G_HT20 5G_HT40 */ 36 { 0x00009824 , 0x5ac668d0 , 0x5ac668d0 }, 37 { 0x00009828 , 0x06903080 , 0x06903080 }, 38 { 0x00009e0c , 0x6d4000e2 , 0x6d4000e2 }, 39 { 0x00009e14 , 0x37b9625e , 0x37b9625e }, 40 { 0x00009814 , 0x3400c00f , 0x3400c00f }, 41}; 42 43static const u_int32_t ar9300Modes_fast_clock_ar9580_1p0[][3] = { 44/* Addr 5G_HT20 5G_HT40 */ 45 { 0x00001030 , 0x00000268 , 0x000004d0 }, 46 { 0x00001070 , 0x0000018c , 0x00000318 }, 47 { 0x000010b0 , 0x00000fd0 , 0x00001fa0 }, 48 { 0x00008014 , 0x044c044c , 0x08980898 }, 49 { 0x0000801c , 0x148ec02b , 0x148ec057 }, 50 { 0x00008318 , 0x000044c0 , 0x00008980 }, 51 { 0x00009e00 , 0x0372131c , 0x0372131c }, 52 { 0x0000a230 , 0x0000000b , 0x00000016 }, 53 { 0x0000a254 , 0x00000898 , 0x00001130 }, 54}; 55 56static const u_int32_t ar9300_ar9580_1p0_baseband_postamble_emulation[][5] = { 57/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 58 { 0x00009e18 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 59 { 0x00009e3c , 0xcf946221 , 0xcf946221 , 0xcf946221 , 0xcf946221 }, 60 { 0x00009e44 , 0x005c0000 , 0x005c0000 , 0x005c0000 , 0x005c0000 }, 61 { 0x0000a258 , 0x02020200 , 0x02020200 , 0x02020200 , 0x02020200 }, 62 { 0x0000a25c , 0x00000e0e , 0x00000e0e , 0x00000e0e , 0x00000e0e }, 63 { 0x0000a28c , 0x00011111 , 0x00011111 , 0x00011111 , 0x00011111 }, 64 { 0x0000a2c4 , 0x00148d18 , 0x00148d18 , 0x00148d20 , 0x00148d20 }, 65 { 0x0000a2d8 , 0xf999a801 , 0xf999a801 , 0xf999a80d , 0xf999a80d }, 66 { 0x0000a50c , 0x0000c00a , 0x0000c00a , 0x0000c00a , 0x0000c00a }, 67 { 0x0000a538 , 0x00038e8c , 0x00038e8c , 0x00038e8c , 0x00038e8c }, 68 { 0x0000a53c , 0x0003cecc , 0x0003cecc , 0x0003cecc , 0x0003cecc }, 69 { 0x0000a540 , 0x00040ed4 , 0x00040ed4 , 0x00040ed4 , 0x00040ed4 }, 70 { 0x0000a544 , 0x00044edc , 0x00044edc , 0x00044edc , 0x00044edc }, 71 { 0x0000a548 , 0x00048ede , 0x00048ede , 0x00048ede , 0x00048ede }, 72 { 0x0000a54c , 0x0004cf1e , 0x0004cf1e , 0x0004cf1e , 0x0004cf1e }, 73 { 0x0000a550 , 0x00050f5e , 0x00050f5e , 0x00050f5e , 0x00050f5e }, 74 { 0x0000a554 , 0x00054f9e , 0x00054f9e , 0x00054f9e , 0x00054f9e }, 75 { 0x0000ae18 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 76 { 0x0000be18 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 77}; 78 79static const u_int32_t ar9300_ar9580_1p0_radio_postamble[][5] = { 80/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 81 { 0x0001609c , 0x0dd08f29 , 0x0dd08f29 , 0x0b283f31 , 0x0b283f31 }, 82 { 0x000160ac , 0xa4653c00 , 0xa4653c00 , 0x24652800 , 0x24652800 }, 83 { 0x000160b0 , 0x03284f3e , 0x03284f3e , 0x05d08f20 , 0x05d08f20 }, 84 { 0x0001610c , 0xc8000000 , 0xc0000000 , 0xc0000000 , 0xc0000000 }, 85 { 0x00016140 , 0x10804008 , 0x10804008 , 0x50804008 , 0x50804008 }, 86 { 0x0001650c , 0xc8000000 , 0xc0000000 , 0xc0000000 , 0xc0000000 }, 87 { 0x00016540 , 0x10804008 , 0x10804008 , 0x50804008 , 0x50804008 }, 88 { 0x0001690c , 0xc8000000 , 0xc0000000 , 0xc0000000 , 0xc0000000 }, 89 { 0x00016940 , 0x10804008 , 0x10804008 , 0x50804008 , 0x50804008 }, 90}; 91 92static const u_int32_t ar9300_ar9580_1p0_baseband_core[][2] = { 93/* Addr allmodes */ 94 { 0x00009800 , 0xafe68e30 }, 95 { 0x00009804 , 0xfd14e000 }, 96 { 0x00009808 , 0x9c0a9f6b }, 97 { 0x0000980c , 0x04900000 }, 98 { 0x00009814 , 0x3280c00a }, 99 { 0x00009818 , 0x00000000 }, 100 { 0x0000981c , 0x00020028 }, 101 { 0x00009834 , 0x6400a190 }, 102 { 0x00009838 , 0x0108ecff }, 103 { 0x0000983c , 0x14000600 }, 104 { 0x00009880 , 0x201fff00 }, 105 { 0x00009884 , 0x00001042 }, 106 { 0x000098a4 , 0x00200400 }, 107 { 0x000098b0 , 0x32840bbe }, 108 { 0x000098d0 , 0x004b6a8e }, 109 { 0x000098d4 , 0x00000820 }, 110 { 0x000098dc , 0x00000000 }, 111 { 0x000098f0 , 0x00000000 }, 112 { 0x000098f4 , 0x00000000 }, 113 { 0x00009c04 , 0xff55ff55 }, 114 { 0x00009c08 , 0x0320ff55 }, 115 { 0x00009c0c , 0x00000000 }, 116 { 0x00009c10 , 0x00000000 }, 117 { 0x00009c14 , 0x00046384 }, 118 { 0x00009c18 , 0x05b6b440 }, 119 { 0x00009c1c , 0x00b6b440 }, 120 { 0x00009d00 , 0xc080a333 }, 121 { 0x00009d04 , 0x40206c10 }, 122 { 0x00009d08 , 0x009c4060 }, 123 { 0x00009d0c , 0x9883800a }, 124 { 0x00009d10 , 0x01834061 }, 125 { 0x00009d14 , 0x00c0040b }, 126 { 0x00009d18 , 0x00000000 }, 127 { 0x00009e08 , 0x0038230c }, 128 { 0x00009e24 , 0x990bb515 }, 129 { 0x00009e28 , 0x0c6f0000 }, 130 { 0x00009e30 , 0x06336f77 }, 131 { 0x00009e34 , 0x6af6532f }, 132 { 0x00009e38 , 0x0cc80c00 }, 133 { 0x00009e40 , 0x0d261820 }, 134 { 0x00009e4c , 0x00001004 }, 135 { 0x00009e50 , 0x00ff03f1 }, 136 { 0x00009e54 , 0x00000000 }, 137 { 0x00009fc0 , 0x803e4788 }, 138 { 0x00009fc4 , 0x0001efb5 }, 139 { 0x00009fcc , 0x40000014 }, 140 { 0x00009fd0 , 0x01193b93 }, 141 { 0x0000a20c , 0x00000000 }, 142 { 0x0000a220 , 0x00000000 }, 143 { 0x0000a224 , 0x00000000 }, 144 { 0x0000a228 , 0x10002310 }, 145 { 0x0000a23c , 0x00000000 }, 146 { 0x0000a244 , 0x0c000000 }, 147 { 0x0000a2a0 , 0x00000001 }, 148 { 0x0000a2c0 , 0x00000001 }, 149 { 0x0000a2c8 , 0x00000000 }, 150 { 0x0000a2cc , 0x18c43433 }, 151 { 0x0000a2d4 , 0x00000000 }, 152 { 0x0000a2ec , 0x00000000 }, 153 { 0x0000a2f0 , 0x00000000 }, 154 { 0x0000a2f4 , 0x00000000 }, 155 { 0x0000a2f8 , 0x00000000 }, 156 { 0x0000a344 , 0x00000000 }, 157 { 0x0000a34c , 0x00000000 }, 158 { 0x0000a350 , 0x0000a000 }, 159 { 0x0000a364 , 0x00000000 }, 160 { 0x0000a370 , 0x00000000 }, 161 { 0x0000a390 , 0x00000001 }, 162 { 0x0000a394 , 0x00000444 }, 163 { 0x0000a398 , 0x001f0e0f }, 164 { 0x0000a39c , 0x0075393f }, 165 { 0x0000a3a0 , 0xb79f6427 }, 166 { 0x0000a3a4 , 0x00000000 }, 167 { 0x0000a3a8 , 0xaaaaaaaa }, 168 { 0x0000a3ac , 0x3c466478 }, 169 { 0x0000a3c0 , 0x20202020 }, 170 { 0x0000a3c4 , 0x22222220 }, 171 { 0x0000a3c8 , 0x20200020 }, 172 { 0x0000a3cc , 0x20202020 }, 173 { 0x0000a3d0 , 0x20202020 }, 174 { 0x0000a3d4 , 0x20202020 }, 175 { 0x0000a3d8 , 0x20202020 }, 176 { 0x0000a3dc , 0x20202020 }, 177 { 0x0000a3e0 , 0x20202020 }, 178 { 0x0000a3e4 , 0x20202020 }, 179 { 0x0000a3e8 , 0x20202020 }, 180 { 0x0000a3ec , 0x20202020 }, 181 { 0x0000a3f0 , 0x00000000 }, 182 { 0x0000a3f4 , 0x00000000 }, 183 { 0x0000a3f8 , 0x0c9bd380 }, 184 { 0x0000a3fc , 0x000f0f01 }, 185 { 0x0000a400 , 0x8fa91f01 }, 186 { 0x0000a404 , 0x00000000 }, 187 { 0x0000a408 , 0x0e79e5c6 }, 188 { 0x0000a40c , 0x00820820 }, 189 { 0x0000a414 , 0x1ce739ce }, 190 { 0x0000a418 , 0x2d001dce }, 191 { 0x0000a41c , 0x1ce739ce }, 192 { 0x0000a420 , 0x000001ce }, 193 { 0x0000a424 , 0x1ce739ce }, 194 { 0x0000a428 , 0x000001ce }, 195 { 0x0000a42c , 0x1ce739ce }, 196 { 0x0000a430 , 0x1ce739ce }, 197 { 0x0000a434 , 0x00000000 }, 198 { 0x0000a438 , 0x00001801 }, 199 { 0x0000a43c , 0x00100000 }, 200 { 0x0000a440 , 0x00000000 }, 201 { 0x0000a444 , 0x00000000 }, 202 { 0x0000a448 , 0x05000080 }, 203 { 0x0000a44c , 0x00000001 }, 204 { 0x0000a450 , 0x00010000 }, 205 { 0x0000a458 , 0x00000000 }, 206 { 0x0000a640 , 0x00000000 }, 207 { 0x0000a644 , 0x3fad9d74 }, 208 { 0x0000a648 , 0x0048060a }, 209 { 0x0000a64c , 0x00003c37 }, 210 { 0x0000a670 , 0x03020100 }, 211 { 0x0000a674 , 0x09080504 }, 212 { 0x0000a678 , 0x0d0c0b0a }, 213 { 0x0000a67c , 0x13121110 }, 214 { 0x0000a680 , 0x31301514 }, 215 { 0x0000a684 , 0x35343332 }, 216 { 0x0000a688 , 0x00000036 }, 217 { 0x0000a690 , 0x00000838 }, 218 { 0x0000a7c0 , 0x00000000 }, 219 { 0x0000a7c4 , 0xfffffffc }, 220 { 0x0000a7c8 , 0x00000000 }, 221 { 0x0000a7cc , 0x00000000 }, 222 { 0x0000a7d0 , 0x00000000 }, 223 { 0x0000a7d4 , 0x00000004 }, 224 { 0x0000a7dc , 0x00000000 }, 225 { 0x0000a8d0 , 0x004b6a8e }, 226 { 0x0000a8d4 , 0x00000820 }, 227 { 0x0000a8dc , 0x00000000 }, 228 { 0x0000a8f0 , 0x00000000 }, 229 { 0x0000a8f4 , 0x00000000 }, 230 { 0x0000b2d0 , 0x00000080 }, 231 { 0x0000b2d4 , 0x00000000 }, 232 { 0x0000b2ec , 0x00000000 }, 233 { 0x0000b2f0 , 0x00000000 }, 234 { 0x0000b2f4 , 0x00000000 }, 235 { 0x0000b2f8 , 0x00000000 }, 236 { 0x0000b408 , 0x0e79e5c0 }, 237 { 0x0000b40c , 0x00820820 }, 238 { 0x0000b420 , 0x00000000 }, 239 { 0x0000b8d0 , 0x004b6a8e }, 240 { 0x0000b8d4 , 0x00000820 }, 241 { 0x0000b8dc , 0x00000000 }, 242 { 0x0000b8f0 , 0x00000000 }, 243 { 0x0000b8f4 , 0x00000000 }, 244 { 0x0000c2d0 , 0x00000080 }, 245 { 0x0000c2d4 , 0x00000000 }, 246 { 0x0000c2ec , 0x00000000 }, 247 { 0x0000c2f0 , 0x00000000 }, 248 { 0x0000c2f4 , 0x00000000 }, 249 { 0x0000c2f8 , 0x00000000 }, 250 { 0x0000c408 , 0x0e79e5c0 }, 251 { 0x0000c40c , 0x00820820 }, 252 { 0x0000c420 , 0x00000000 }, 253}; 254 255static const u_int32_t ar9300_ar9580_1p0_mac_postamble[][5] = { 256/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 257 { 0x00001030 , 0x00000230 , 0x00000460 , 0x000002c0 , 0x00000160 }, 258 { 0x00001070 , 0x00000168 , 0x000002d0 , 0x00000318 , 0x0000018c }, 259 { 0x000010b0 , 0x00000e60 , 0x00001cc0 , 0x00007c70 , 0x00003e38 }, 260 { 0x00008014 , 0x03e803e8 , 0x07d007d0 , 0x10801600 , 0x08400b00 }, 261 { 0x0000801c , 0x128d8027 , 0x128d804f , 0x12e00057 , 0x12e0002b }, 262 { 0x00008120 , 0x18f04800 , 0x18f04800 , 0x18f04810 , 0x18f04810 }, 263 { 0x000081d0 , 0x00003210 , 0x00003210 , 0x0000320a , 0x0000320a }, 264 { 0x00008318 , 0x00003e80 , 0x00007d00 , 0x00006880 , 0x00003440 }, 265}; 266 267static const u_int32_t ar9300Modes_low_ob_db_tx_gain_table_ar9580_1p0[][5] = { 268/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 269 { 0x0000a2dc , 0x0380c7fc , 0x0380c7fc , 0x03aaa352 , 0x03aaa352 }, 270 { 0x0000a2e0 , 0x0000f800 , 0x0000f800 , 0x03ccc584 , 0x03ccc584 }, 271 { 0x0000a2e4 , 0x03ff0000 , 0x03ff0000 , 0x03f0f800 , 0x03f0f800 }, 272 { 0x0000a2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 273 { 0x0000a410 , 0x000050d9 , 0x000050d9 , 0x000050d9 , 0x000050d9 }, 274 { 0x0000a500 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 275 { 0x0000a504 , 0x06000003 , 0x06000003 , 0x04000002 , 0x04000002 }, 276 { 0x0000a508 , 0x0a000020 , 0x0a000020 , 0x08000004 , 0x08000004 }, 277 { 0x0000a50c , 0x10000023 , 0x10000023 , 0x0b000200 , 0x0b000200 }, 278 { 0x0000a510 , 0x16000220 , 0x16000220 , 0x0f000202 , 0x0f000202 }, 279 { 0x0000a514 , 0x1c000223 , 0x1c000223 , 0x12000400 , 0x12000400 }, 280 { 0x0000a518 , 0x21002220 , 0x21002220 , 0x16000402 , 0x16000402 }, 281 { 0x0000a51c , 0x27002223 , 0x27002223 , 0x19000404 , 0x19000404 }, 282 { 0x0000a520 , 0x2b022220 , 0x2b022220 , 0x1c000603 , 0x1c000603 }, 283 { 0x0000a524 , 0x2f022222 , 0x2f022222 , 0x21000a02 , 0x21000a02 }, 284 { 0x0000a528 , 0x34022225 , 0x34022225 , 0x25000a04 , 0x25000a04 }, 285 { 0x0000a52c , 0x3a02222a , 0x3a02222a , 0x28000a20 , 0x28000a20 }, 286 { 0x0000a530 , 0x3e02222c , 0x3e02222c , 0x2c000e20 , 0x2c000e20 }, 287 { 0x0000a534 , 0x4202242a , 0x4202242a , 0x30000e22 , 0x30000e22 }, 288 { 0x0000a538 , 0x4702244a , 0x4702244a , 0x34000e24 , 0x34000e24 }, 289 { 0x0000a53c , 0x4b02244c , 0x4b02244c , 0x38001640 , 0x38001640 }, 290 { 0x0000a540 , 0x4e02246c , 0x4e02246c , 0x3c001660 , 0x3c001660 }, 291 { 0x0000a544 , 0x5302266c , 0x5302266c , 0x3f001861 , 0x3f001861 }, 292 { 0x0000a548 , 0x5702286c , 0x5702286c , 0x43001a81 , 0x43001a81 }, 293 { 0x0000a54c , 0x5c02486b , 0x5c02486b , 0x47001a83 , 0x47001a83 }, 294 { 0x0000a550 , 0x61024a6c , 0x61024a6c , 0x4a001c84 , 0x4a001c84 }, 295 { 0x0000a554 , 0x66026a6c , 0x66026a6c , 0x4e001ce3 , 0x4e001ce3 }, 296 { 0x0000a558 , 0x6b026e6c , 0x6b026e6c , 0x52001ce5 , 0x52001ce5 }, 297 { 0x0000a55c , 0x7002708c , 0x7002708c , 0x56001ce9 , 0x56001ce9 }, 298 { 0x0000a560 , 0x7302b08a , 0x7302b08a , 0x5a001ceb , 0x5a001ceb }, 299 { 0x0000a564 , 0x7702b08c , 0x7702b08c , 0x5d001eec , 0x5d001eec }, 300 { 0x0000a568 , 0x7702b08c , 0x7702b08c , 0x5d001eec , 0x5d001eec }, 301 { 0x0000a56c , 0x7702b08c , 0x7702b08c , 0x5d001eec , 0x5d001eec }, 302 { 0x0000a570 , 0x7702b08c , 0x7702b08c , 0x5d001eec , 0x5d001eec }, 303 { 0x0000a574 , 0x7702b08c , 0x7702b08c , 0x5d001eec , 0x5d001eec }, 304 { 0x0000a578 , 0x7702b08c , 0x7702b08c , 0x5d001eec , 0x5d001eec }, 305 { 0x0000a57c , 0x7702b08c , 0x7702b08c , 0x5d001eec , 0x5d001eec }, 306 { 0x0000a580 , 0x00800000 , 0x00800000 , 0x00800000 , 0x00800000 }, 307 { 0x0000a584 , 0x06800003 , 0x06800003 , 0x04800002 , 0x04800002 }, 308 { 0x0000a588 , 0x0a800020 , 0x0a800020 , 0x08800004 , 0x08800004 }, 309 { 0x0000a58c , 0x10800023 , 0x10800023 , 0x0b800200 , 0x0b800200 }, 310 { 0x0000a590 , 0x16800220 , 0x16800220 , 0x0f800202 , 0x0f800202 }, 311 { 0x0000a594 , 0x1c800223 , 0x1c800223 , 0x12800400 , 0x12800400 }, 312 { 0x0000a598 , 0x21802220 , 0x21802220 , 0x16800402 , 0x16800402 }, 313 { 0x0000a59c , 0x27802223 , 0x27802223 , 0x19800404 , 0x19800404 }, 314 { 0x0000a5a0 , 0x2b822220 , 0x2b822220 , 0x1c800603 , 0x1c800603 }, 315 { 0x0000a5a4 , 0x2f822222 , 0x2f822222 , 0x21800a02 , 0x21800a02 }, 316 { 0x0000a5a8 , 0x34822225 , 0x34822225 , 0x25800a04 , 0x25800a04 }, 317 { 0x0000a5ac , 0x3a82222a , 0x3a82222a , 0x28800a20 , 0x28800a20 }, 318 { 0x0000a5b0 , 0x3e82222c , 0x3e82222c , 0x2c800e20 , 0x2c800e20 }, 319 { 0x0000a5b4 , 0x4282242a , 0x4282242a , 0x30800e22 , 0x30800e22 }, 320 { 0x0000a5b8 , 0x4782244a , 0x4782244a , 0x34800e24 , 0x34800e24 }, 321 { 0x0000a5bc , 0x4b82244c , 0x4b82244c , 0x38801640 , 0x38801640 }, 322 { 0x0000a5c0 , 0x4e82246c , 0x4e82246c , 0x3c801660 , 0x3c801660 }, 323 { 0x0000a5c4 , 0x5382266c , 0x5382266c , 0x3f801861 , 0x3f801861 }, 324 { 0x0000a5c8 , 0x5782286c , 0x5782286c , 0x43801a81 , 0x43801a81 }, 325 { 0x0000a5cc , 0x5c82486b , 0x5c82486b , 0x47801a83 , 0x47801a83 }, 326 { 0x0000a5d0 , 0x61824a6c , 0x61824a6c , 0x4a801c84 , 0x4a801c84 }, 327 { 0x0000a5d4 , 0x66826a6c , 0x66826a6c , 0x4e801ce3 , 0x4e801ce3 }, 328 { 0x0000a5d8 , 0x6b826e6c , 0x6b826e6c , 0x52801ce5 , 0x52801ce5 }, 329 { 0x0000a5dc , 0x7082708c , 0x7082708c , 0x56801ce9 , 0x56801ce9 }, 330 { 0x0000a5e0 , 0x7382b08a , 0x7382b08a , 0x5a801ceb , 0x5a801ceb }, 331 { 0x0000a5e4 , 0x7782b08c , 0x7782b08c , 0x5d801eec , 0x5d801eec }, 332 { 0x0000a5e8 , 0x7782b08c , 0x7782b08c , 0x5d801eec , 0x5d801eec }, 333 { 0x0000a5ec , 0x7782b08c , 0x7782b08c , 0x5d801eec , 0x5d801eec }, 334 { 0x0000a5f0 , 0x7782b08c , 0x7782b08c , 0x5d801eec , 0x5d801eec }, 335 { 0x0000a5f4 , 0x7782b08c , 0x7782b08c , 0x5d801eec , 0x5d801eec }, 336 { 0x0000a5f8 , 0x7782b08c , 0x7782b08c , 0x5d801eec , 0x5d801eec }, 337 { 0x0000a5fc , 0x7782b08c , 0x7782b08c , 0x5d801eec , 0x5d801eec }, 338 { 0x0000a600 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 339 { 0x0000a604 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 340 { 0x0000a608 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 341 { 0x0000a60c , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 342 { 0x0000a610 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 343 { 0x0000a614 , 0x01404000 , 0x01404000 , 0x01404000 , 0x01404000 }, 344 { 0x0000a618 , 0x01404501 , 0x01404501 , 0x01404501 , 0x01404501 }, 345 { 0x0000a61c , 0x02008802 , 0x02008802 , 0x02008501 , 0x02008501 }, 346 { 0x0000a620 , 0x0300cc03 , 0x0300cc03 , 0x0280ca03 , 0x0280ca03 }, 347 { 0x0000a624 , 0x0300cc03 , 0x0300cc03 , 0x03010c04 , 0x03010c04 }, 348 { 0x0000a628 , 0x0300cc03 , 0x0300cc03 , 0x04014c04 , 0x04014c04 }, 349 { 0x0000a62c , 0x03810c03 , 0x03810c03 , 0x04015005 , 0x04015005 }, 350 { 0x0000a630 , 0x03810e04 , 0x03810e04 , 0x04015005 , 0x04015005 }, 351 { 0x0000a634 , 0x03810e04 , 0x03810e04 , 0x04015005 , 0x04015005 }, 352 { 0x0000a638 , 0x03810e04 , 0x03810e04 , 0x04015005 , 0x04015005 }, 353 { 0x0000a63c , 0x03810e04 , 0x03810e04 , 0x04015005 , 0x04015005 }, 354 { 0x0000b2dc , 0x0380c7fc , 0x0380c7fc , 0x03aaa352 , 0x03aaa352 }, 355 { 0x0000b2e0 , 0x0000f800 , 0x0000f800 , 0x03ccc584 , 0x03ccc584 }, 356 { 0x0000b2e4 , 0x03ff0000 , 0x03ff0000 , 0x03f0f800 , 0x03f0f800 }, 357 { 0x0000b2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 358 { 0x0000c2dc , 0x0380c7fc , 0x0380c7fc , 0x03aaa352 , 0x03aaa352 }, 359 { 0x0000c2e0 , 0x0000f800 , 0x0000f800 , 0x03ccc584 , 0x03ccc584 }, 360 { 0x0000c2e4 , 0x03ff0000 , 0x03ff0000 , 0x03f0f800 , 0x03f0f800 }, 361 { 0x0000c2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 362 { 0x00016044 , 0x012492d4 , 0x012492d4 , 0x012492d4 , 0x012492d4 }, 363 { 0x00016048 , 0x66480001 , 0x66480001 , 0x66480001 , 0x66480001 }, 364 { 0x00016068 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 365 { 0x00016444 , 0x012492d4 , 0x012492d4 , 0x012492d4 , 0x012492d4 }, 366 { 0x00016448 , 0x66480001 , 0x66480001 , 0x66480001 , 0x66480001 }, 367 { 0x00016468 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 368 { 0x00016844 , 0x012492d4 , 0x012492d4 , 0x012492d4 , 0x012492d4 }, 369 { 0x00016848 , 0x66480001 , 0x66480001 , 0x66480001 , 0x66480001 }, 370 { 0x00016868 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 371}; 372 373static const u_int32_t ar9300Modes_high_power_tx_gain_table_ar9580_1p0[][5] = { 374/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 375 { 0x0000a2dc , 0x000cfff0 , 0x000cfff0 , 0x03aaa352 , 0x03aaa352 }, 376 { 0x0000a2e0 , 0x000f0000 , 0x000f0000 , 0x03ccc584 , 0x03ccc584 }, 377 { 0x0000a2e4 , 0x03f00000 , 0x03f00000 , 0x03f0f800 , 0x03f0f800 }, 378 { 0x0000a2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 379 { 0x0000a410 , 0x000050d9 , 0x000050d9 , 0x000050d9 , 0x000050d9 }, 380 { 0x0000a500 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 381 { 0x0000a504 , 0x06000003 , 0x06000003 , 0x04000002 , 0x04000002 }, 382 { 0x0000a508 , 0x0a000020 , 0x0a000020 , 0x08000004 , 0x08000004 }, 383 { 0x0000a50c , 0x10000023 , 0x10000023 , 0x0b000200 , 0x0b000200 }, 384 { 0x0000a510 , 0x15000028 , 0x15000028 , 0x0f000202 , 0x0f000202 }, 385 { 0x0000a514 , 0x1b00002b , 0x1b00002b , 0x12000400 , 0x12000400 }, 386 { 0x0000a518 , 0x1f020028 , 0x1f020028 , 0x16000402 , 0x16000402 }, 387 { 0x0000a51c , 0x2502002b , 0x2502002b , 0x19000404 , 0x19000404 }, 388 { 0x0000a520 , 0x2a04002a , 0x2a04002a , 0x1c000603 , 0x1c000603 }, 389 { 0x0000a524 , 0x2e06002a , 0x2e06002a , 0x21000a02 , 0x21000a02 }, 390 { 0x0000a528 , 0x3302202d , 0x3302202d , 0x25000a04 , 0x25000a04 }, 391 { 0x0000a52c , 0x3804202c , 0x3804202c , 0x28000a20 , 0x28000a20 }, 392 { 0x0000a530 , 0x3c06202c , 0x3c06202c , 0x2c000e20 , 0x2c000e20 }, 393 { 0x0000a534 , 0x4108202d , 0x4108202d , 0x30000e22 , 0x30000e22 }, 394 { 0x0000a538 , 0x4506402d , 0x4506402d , 0x34000e24 , 0x34000e24 }, 395 { 0x0000a53c , 0x4906222d , 0x4906222d , 0x38001640 , 0x38001640 }, 396 { 0x0000a540 , 0x4d062231 , 0x4d062231 , 0x3c001660 , 0x3c001660 }, 397 { 0x0000a544 , 0x50082231 , 0x50082231 , 0x3f001861 , 0x3f001861 }, 398 { 0x0000a548 , 0x5608422e , 0x5608422e , 0x43001a81 , 0x43001a81 }, 399 { 0x0000a54c , 0x5e08442e , 0x5e08442e , 0x47001a83 , 0x47001a83 }, 400 { 0x0000a550 , 0x620a4431 , 0x620a4431 , 0x4a001c84 , 0x4a001c84 }, 401 { 0x0000a554 , 0x640a4432 , 0x640a4432 , 0x4e001ce3 , 0x4e001ce3 }, 402 { 0x0000a558 , 0x680a4434 , 0x680a4434 , 0x52001ce5 , 0x52001ce5 }, 403 { 0x0000a55c , 0x6c0a6434 , 0x6c0a6434 , 0x56001ce9 , 0x56001ce9 }, 404 { 0x0000a560 , 0x6f0a6633 , 0x6f0a6633 , 0x5a001ceb , 0x5a001ceb }, 405 { 0x0000a564 , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 406 { 0x0000a568 , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 407 { 0x0000a56c , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 408 { 0x0000a570 , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 409 { 0x0000a574 , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 410 { 0x0000a578 , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 411 { 0x0000a57c , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 412 { 0x0000a580 , 0x00800000 , 0x00800000 , 0x00800000 , 0x00800000 }, 413 { 0x0000a584 , 0x06800003 , 0x06800003 , 0x04800002 , 0x04800002 }, 414 { 0x0000a588 , 0x0a800020 , 0x0a800020 , 0x08800004 , 0x08800004 }, 415 { 0x0000a58c , 0x10800023 , 0x10800023 , 0x0b800200 , 0x0b800200 }, 416 { 0x0000a590 , 0x15800028 , 0x15800028 , 0x0f800202 , 0x0f800202 }, 417 { 0x0000a594 , 0x1b80002b , 0x1b80002b , 0x12800400 , 0x12800400 }, 418 { 0x0000a598 , 0x1f820028 , 0x1f820028 , 0x16800402 , 0x16800402 }, 419 { 0x0000a59c , 0x2582002b , 0x2582002b , 0x19800404 , 0x19800404 }, 420 { 0x0000a5a0 , 0x2a84002a , 0x2a84002a , 0x1c800603 , 0x1c800603 }, 421 { 0x0000a5a4 , 0x2e86002a , 0x2e86002a , 0x21800a02 , 0x21800a02 }, 422 { 0x0000a5a8 , 0x3382202d , 0x3382202d , 0x25800a04 , 0x25800a04 }, 423 { 0x0000a5ac , 0x3884202c , 0x3884202c , 0x28800a20 , 0x28800a20 }, 424 { 0x0000a5b0 , 0x3c86202c , 0x3c86202c , 0x2c800e20 , 0x2c800e20 }, 425 { 0x0000a5b4 , 0x4188202d , 0x4188202d , 0x30800e22 , 0x30800e22 }, 426 { 0x0000a5b8 , 0x4586402d , 0x4586402d , 0x34800e24 , 0x34800e24 }, 427 { 0x0000a5bc , 0x4986222d , 0x4986222d , 0x38801640 , 0x38801640 }, 428 { 0x0000a5c0 , 0x4d862231 , 0x4d862231 , 0x3c801660 , 0x3c801660 }, 429 { 0x0000a5c4 , 0x50882231 , 0x50882231 , 0x3f801861 , 0x3f801861 }, 430 { 0x0000a5c8 , 0x5688422e , 0x5688422e , 0x43801a81 , 0x43801a81 }, 431 { 0x0000a5cc , 0x5a88442e , 0x5a88442e , 0x47801a83 , 0x47801a83 }, 432 { 0x0000a5d0 , 0x5e8a4431 , 0x5e8a4431 , 0x4a801c84 , 0x4a801c84 }, 433 { 0x0000a5d4 , 0x648a4432 , 0x648a4432 , 0x4e801ce3 , 0x4e801ce3 }, 434 { 0x0000a5d8 , 0x688a4434 , 0x688a4434 , 0x52801ce5 , 0x52801ce5 }, 435 { 0x0000a5dc , 0x6c8a6434 , 0x6c8a6434 , 0x56801ce9 , 0x56801ce9 }, 436 { 0x0000a5e0 , 0x6f8a6633 , 0x6f8a6633 , 0x5a801ceb , 0x5a801ceb }, 437 { 0x0000a5e4 , 0x738c6634 , 0x738c6634 , 0x5d801eec , 0x5d801eec }, 438 { 0x0000a5e8 , 0x738c6634 , 0x738c6634 , 0x5d801eec , 0x5d801eec }, 439 { 0x0000a5ec , 0x738c6634 , 0x738c6634 , 0x5d801eec , 0x5d801eec }, 440 { 0x0000a5f0 , 0x738c6634 , 0x738c6634 , 0x5d801eec , 0x5d801eec }, 441 { 0x0000a5f4 , 0x738c6634 , 0x738c6634 , 0x5d801eec , 0x5d801eec }, 442 { 0x0000a5f8 , 0x738c6634 , 0x738c6634 , 0x5d801eec , 0x5d801eec }, 443 { 0x0000a5fc , 0x738c6634 , 0x738c6634 , 0x5d801eec , 0x5d801eec }, 444 { 0x0000a600 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 445 { 0x0000a604 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 446 { 0x0000a608 , 0x01804601 , 0x01804601 , 0x00000000 , 0x00000000 }, 447 { 0x0000a60c , 0x01804601 , 0x01804601 , 0x00000000 , 0x00000000 }, 448 { 0x0000a610 , 0x01804601 , 0x01804601 , 0x00000000 , 0x00000000 }, 449 { 0x0000a614 , 0x01804601 , 0x01804601 , 0x01404000 , 0x01404000 }, 450 { 0x0000a618 , 0x01804601 , 0x01804601 , 0x01404501 , 0x01404501 }, 451 { 0x0000a61c , 0x01804601 , 0x01804601 , 0x02008501 , 0x02008501 }, 452 { 0x0000a620 , 0x03408d02 , 0x03408d02 , 0x0280ca03 , 0x0280ca03 }, 453 { 0x0000a624 , 0x0300cc03 , 0x0300cc03 , 0x03010c04 , 0x03010c04 }, 454 { 0x0000a628 , 0x03410d04 , 0x03410d04 , 0x04014c04 , 0x04014c04 }, 455 { 0x0000a62c , 0x03410d04 , 0x03410d04 , 0x04015005 , 0x04015005 }, 456 { 0x0000a630 , 0x03410d04 , 0x03410d04 , 0x04015005 , 0x04015005 }, 457 { 0x0000a634 , 0x03410d04 , 0x03410d04 , 0x04015005 , 0x04015005 }, 458 { 0x0000a638 , 0x03410d04 , 0x03410d04 , 0x04015005 , 0x04015005 }, 459 { 0x0000a63c , 0x03410d04 , 0x03410d04 , 0x04015005 , 0x04015005 }, 460 { 0x0000b2dc , 0x000cfff0 , 0x000cfff0 , 0x03aaa352 , 0x03aaa352 }, 461 { 0x0000b2e0 , 0x000f0000 , 0x000f0000 , 0x03ccc584 , 0x03ccc584 }, 462 { 0x0000b2e4 , 0x03f00000 , 0x03f00000 , 0x03f0f800 , 0x03f0f800 }, 463 { 0x0000b2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 464 { 0x0000c2dc , 0x000cfff0 , 0x000cfff0 , 0x03aaa352 , 0x03aaa352 }, 465 { 0x0000c2e0 , 0x000f0000 , 0x000f0000 , 0x03ccc584 , 0x03ccc584 }, 466 { 0x0000c2e4 , 0x03f00000 , 0x03f00000 , 0x03f0f800 , 0x03f0f800 }, 467 { 0x0000c2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 468 { 0x00016044 , 0x012492d4 , 0x012492d4 , 0x012492d4 , 0x012492d4 }, 469 { 0x00016048 , 0x65240001 , 0x65240001 , 0x66480001 , 0x66480001 }, 470 { 0x00016068 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 471 { 0x00016288 , 0x05a2040a , 0x05a2040a , 0x05a20408 , 0x05a20408 }, 472 { 0x00016444 , 0x012492d4 , 0x012492d4 , 0x012492d4 , 0x012492d4 }, 473 { 0x00016448 , 0x65240001 , 0x65240001 , 0x66480001 , 0x66480001 }, 474 { 0x00016468 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 475 { 0x00016844 , 0x012492d4 , 0x012492d4 , 0x012492d4 , 0x012492d4 }, 476 { 0x00016848 , 0x65240001 , 0x65240001 , 0x66480001 , 0x66480001 }, 477 { 0x00016868 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 478}; 479 480static const u_int32_t ar9300Common_rx_gain_table_merlin_1p0[][2] = { 481/* Addr allmodes */ 482 { 0x0000a000 , 0x02000101 }, 483 { 0x0000a004 , 0x02000102 }, 484 { 0x0000a008 , 0x02000103 }, 485 { 0x0000a00c , 0x02000104 }, 486 { 0x0000a010 , 0x02000200 }, 487 { 0x0000a014 , 0x02000201 }, 488 { 0x0000a018 , 0x02000202 }, 489 { 0x0000a01c , 0x02000203 }, 490 { 0x0000a020 , 0x02000204 }, 491 { 0x0000a024 , 0x02000205 }, 492 { 0x0000a028 , 0x02000208 }, 493 { 0x0000a02c , 0x02000302 }, 494 { 0x0000a030 , 0x02000303 }, 495 { 0x0000a034 , 0x02000304 }, 496 { 0x0000a038 , 0x02000400 }, 497 { 0x0000a03c , 0x02010300 }, 498 { 0x0000a040 , 0x02010301 }, 499 { 0x0000a044 , 0x02010302 }, 500 { 0x0000a048 , 0x02000500 }, 501 { 0x0000a04c , 0x02010400 }, 502 { 0x0000a050 , 0x02020300 }, 503 { 0x0000a054 , 0x02020301 }, 504 { 0x0000a058 , 0x02020302 }, 505 { 0x0000a05c , 0x02020303 }, 506 { 0x0000a060 , 0x02020400 }, 507 { 0x0000a064 , 0x02030300 }, 508 { 0x0000a068 , 0x02030301 }, 509 { 0x0000a06c , 0x02030302 }, 510 { 0x0000a070 , 0x02030303 }, 511 { 0x0000a074 , 0x02030400 }, 512 { 0x0000a078 , 0x02040300 }, 513 { 0x0000a07c , 0x02040301 }, 514 { 0x0000a080 , 0x02040302 }, 515 { 0x0000a084 , 0x02040303 }, 516 { 0x0000a088 , 0x02030500 }, 517 { 0x0000a08c , 0x02040400 }, 518 { 0x0000a090 , 0x02050203 }, 519 { 0x0000a094 , 0x02050204 }, 520 { 0x0000a098 , 0x02050205 }, 521 { 0x0000a09c , 0x02040500 }, 522 { 0x0000a0a0 , 0x02050301 }, 523 { 0x0000a0a4 , 0x02050302 }, 524 { 0x0000a0a8 , 0x02050303 }, 525 { 0x0000a0ac , 0x02050400 }, 526 { 0x0000a0b0 , 0x02050401 }, 527 { 0x0000a0b4 , 0x02050402 }, 528 { 0x0000a0b8 , 0x02050403 }, 529 { 0x0000a0bc , 0x02050500 }, 530 { 0x0000a0c0 , 0x02050501 }, 531 { 0x0000a0c4 , 0x02050502 }, 532 { 0x0000a0c8 , 0x02050503 }, 533 { 0x0000a0cc , 0x02050504 }, 534 { 0x0000a0d0 , 0x02050600 }, 535 { 0x0000a0d4 , 0x02050601 }, 536 { 0x0000a0d8 , 0x02050602 }, 537 { 0x0000a0dc , 0x02050603 }, 538 { 0x0000a0e0 , 0x02050604 }, 539 { 0x0000a0e4 , 0x02050700 }, 540 { 0x0000a0e8 , 0x02050701 }, 541 { 0x0000a0ec , 0x02050702 }, 542 { 0x0000a0f0 , 0x02050703 }, 543 { 0x0000a0f4 , 0x02050704 }, 544 { 0x0000a0f8 , 0x02050705 }, 545 { 0x0000a0fc , 0x02050708 }, 546 { 0x0000a100 , 0x02050709 }, 547 { 0x0000a104 , 0x0205070a }, 548 { 0x0000a108 , 0x0205070b }, 549 { 0x0000a10c , 0x0205070c }, 550 { 0x0000a110 , 0x0205070d }, 551 { 0x0000a114 , 0x02050710 }, 552 { 0x0000a118 , 0x02050711 }, 553 { 0x0000a11c , 0x02050712 }, 554 { 0x0000a120 , 0x02050713 }, 555 { 0x0000a124 , 0x02050714 }, 556 { 0x0000a128 , 0x02050715 }, 557 { 0x0000a12c , 0x02050730 }, 558 { 0x0000a130 , 0x02050731 }, 559 { 0x0000a134 , 0x02050732 }, 560 { 0x0000a138 , 0x02050733 }, 561 { 0x0000a13c , 0x02050734 }, 562 { 0x0000a140 , 0x02050735 }, 563 { 0x0000a144 , 0x02050750 }, 564 { 0x0000a148 , 0x02050751 }, 565 { 0x0000a14c , 0x02050752 }, 566 { 0x0000a150 , 0x02050753 }, 567 { 0x0000a154 , 0x02050754 }, 568 { 0x0000a158 , 0x02050755 }, 569 { 0x0000a15c , 0x02050770 }, 570 { 0x0000a160 , 0x02050771 }, 571 { 0x0000a164 , 0x02050772 }, 572 { 0x0000a168 , 0x02050773 }, 573 { 0x0000a16c , 0x02050774 }, 574 { 0x0000a170 , 0x02050775 }, 575 { 0x0000a174 , 0x00000776 }, 576 { 0x0000a178 , 0x00000776 }, 577 { 0x0000a17c , 0x00000776 }, 578 { 0x0000a180 , 0x00000776 }, 579 { 0x0000a184 , 0x00000776 }, 580 { 0x0000a188 , 0x00000776 }, 581 { 0x0000a18c , 0x00000776 }, 582 { 0x0000a190 , 0x00000776 }, 583 { 0x0000a194 , 0x00000776 }, 584 { 0x0000a198 , 0x00000776 }, 585 { 0x0000a19c , 0x00000776 }, 586 { 0x0000a1a0 , 0x00000776 }, 587 { 0x0000a1a4 , 0x00000776 }, 588 { 0x0000a1a8 , 0x00000776 }, 589 { 0x0000a1ac , 0x00000776 }, 590 { 0x0000a1b0 , 0x00000776 }, 591 { 0x0000a1b4 , 0x00000776 }, 592 { 0x0000a1b8 , 0x00000776 }, 593 { 0x0000a1bc , 0x00000776 }, 594 { 0x0000a1c0 , 0x00000776 }, 595 { 0x0000a1c4 , 0x00000776 }, 596 { 0x0000a1c8 , 0x00000776 }, 597 { 0x0000a1cc , 0x00000776 }, 598 { 0x0000a1d0 , 0x00000776 }, 599 { 0x0000a1d4 , 0x00000776 }, 600 { 0x0000a1d8 , 0x00000776 }, 601 { 0x0000a1dc , 0x00000776 }, 602 { 0x0000a1e0 , 0x00000776 }, 603 { 0x0000a1e4 , 0x00000776 }, 604 { 0x0000a1e8 , 0x00000776 }, 605 { 0x0000a1ec , 0x00000776 }, 606 { 0x0000a1f0 , 0x00000776 }, 607 { 0x0000a1f4 , 0x00000776 }, 608 { 0x0000a1f8 , 0x00000776 }, 609 { 0x0000a1fc , 0x00000776 }, 610 { 0x0000b000 , 0x02000101 }, 611 { 0x0000b004 , 0x02000102 }, 612 { 0x0000b008 , 0x02000103 }, 613 { 0x0000b00c , 0x02000104 }, 614 { 0x0000b010 , 0x02000200 }, 615 { 0x0000b014 , 0x02000201 }, 616 { 0x0000b018 , 0x02000202 }, 617 { 0x0000b01c , 0x02000203 }, 618 { 0x0000b020 , 0x02000204 }, 619 { 0x0000b024 , 0x02000205 }, 620 { 0x0000b028 , 0x02000208 }, 621 { 0x0000b02c , 0x02000302 }, 622 { 0x0000b030 , 0x02000303 }, 623 { 0x0000b034 , 0x02000304 }, 624 { 0x0000b038 , 0x02000400 }, 625 { 0x0000b03c , 0x02010300 }, 626 { 0x0000b040 , 0x02010301 }, 627 { 0x0000b044 , 0x02010302 }, 628 { 0x0000b048 , 0x02000500 }, 629 { 0x0000b04c , 0x02010400 }, 630 { 0x0000b050 , 0x02020300 }, 631 { 0x0000b054 , 0x02020301 }, 632 { 0x0000b058 , 0x02020302 }, 633 { 0x0000b05c , 0x02020303 }, 634 { 0x0000b060 , 0x02020400 }, 635 { 0x0000b064 , 0x02030300 }, 636 { 0x0000b068 , 0x02030301 }, 637 { 0x0000b06c , 0x02030302 }, 638 { 0x0000b070 , 0x02030303 }, 639 { 0x0000b074 , 0x02030400 }, 640 { 0x0000b078 , 0x02040300 }, 641 { 0x0000b07c , 0x02040301 }, 642 { 0x0000b080 , 0x02040302 }, 643 { 0x0000b084 , 0x02040303 }, 644 { 0x0000b088 , 0x02030500 }, 645 { 0x0000b08c , 0x02040400 }, 646 { 0x0000b090 , 0x02050203 }, 647 { 0x0000b094 , 0x02050204 }, 648 { 0x0000b098 , 0x02050205 }, 649 { 0x0000b09c , 0x02040500 }, 650 { 0x0000b0a0 , 0x02050301 }, 651 { 0x0000b0a4 , 0x02050302 }, 652 { 0x0000b0a8 , 0x02050303 }, 653 { 0x0000b0ac , 0x02050400 }, 654 { 0x0000b0b0 , 0x02050401 }, 655 { 0x0000b0b4 , 0x02050402 }, 656 { 0x0000b0b8 , 0x02050403 }, 657 { 0x0000b0bc , 0x02050500 }, 658 { 0x0000b0c0 , 0x02050501 }, 659 { 0x0000b0c4 , 0x02050502 }, 660 { 0x0000b0c8 , 0x02050503 }, 661 { 0x0000b0cc , 0x02050504 }, 662 { 0x0000b0d0 , 0x02050600 }, 663 { 0x0000b0d4 , 0x02050601 }, 664 { 0x0000b0d8 , 0x02050602 }, 665 { 0x0000b0dc , 0x02050603 }, 666 { 0x0000b0e0 , 0x02050604 }, 667 { 0x0000b0e4 , 0x02050700 }, 668 { 0x0000b0e8 , 0x02050701 }, 669 { 0x0000b0ec , 0x02050702 }, 670 { 0x0000b0f0 , 0x02050703 }, 671 { 0x0000b0f4 , 0x02050704 }, 672 { 0x0000b0f8 , 0x02050705 }, 673 { 0x0000b0fc , 0x02050708 }, 674 { 0x0000b100 , 0x02050709 }, 675 { 0x0000b104 , 0x0205070a }, 676 { 0x0000b108 , 0x0205070b }, 677 { 0x0000b10c , 0x0205070c }, 678 { 0x0000b110 , 0x0205070d }, 679 { 0x0000b114 , 0x02050710 }, 680 { 0x0000b118 , 0x02050711 }, 681 { 0x0000b11c , 0x02050712 }, 682 { 0x0000b120 , 0x02050713 }, 683 { 0x0000b124 , 0x02050714 }, 684 { 0x0000b128 , 0x02050715 }, 685 { 0x0000b12c , 0x02050730 }, 686 { 0x0000b130 , 0x02050731 }, 687 { 0x0000b134 , 0x02050732 }, 688 { 0x0000b138 , 0x02050733 }, 689 { 0x0000b13c , 0x02050734 }, 690 { 0x0000b140 , 0x02050735 }, 691 { 0x0000b144 , 0x02050750 }, 692 { 0x0000b148 , 0x02050751 }, 693 { 0x0000b14c , 0x02050752 }, 694 { 0x0000b150 , 0x02050753 }, 695 { 0x0000b154 , 0x02050754 }, 696 { 0x0000b158 , 0x02050755 }, 697 { 0x0000b15c , 0x02050770 }, 698 { 0x0000b160 , 0x02050771 }, 699 { 0x0000b164 , 0x02050772 }, 700 { 0x0000b168 , 0x02050773 }, 701 { 0x0000b16c , 0x02050774 }, 702 { 0x0000b170 , 0x02050775 }, 703 { 0x0000b174 , 0x00000776 }, 704 { 0x0000b178 , 0x00000776 }, 705 { 0x0000b17c , 0x00000776 }, 706 { 0x0000b180 , 0x00000776 }, 707 { 0x0000b184 , 0x00000776 }, 708 { 0x0000b188 , 0x00000776 }, 709 { 0x0000b18c , 0x00000776 }, 710 { 0x0000b190 , 0x00000776 }, 711 { 0x0000b194 , 0x00000776 }, 712 { 0x0000b198 , 0x00000776 }, 713 { 0x0000b19c , 0x00000776 }, 714 { 0x0000b1a0 , 0x00000776 }, 715 { 0x0000b1a4 , 0x00000776 }, 716 { 0x0000b1a8 , 0x00000776 }, 717 { 0x0000b1ac , 0x00000776 }, 718 { 0x0000b1b0 , 0x00000776 }, 719 { 0x0000b1b4 , 0x00000776 }, 720 { 0x0000b1b8 , 0x00000776 }, 721 { 0x0000b1bc , 0x00000776 }, 722 { 0x0000b1c0 , 0x00000776 }, 723 { 0x0000b1c4 , 0x00000776 }, 724 { 0x0000b1c8 , 0x00000776 }, 725 { 0x0000b1cc , 0x00000776 }, 726 { 0x0000b1d0 , 0x00000776 }, 727 { 0x0000b1d4 , 0x00000776 }, 728 { 0x0000b1d8 , 0x00000776 }, 729 { 0x0000b1dc , 0x00000776 }, 730 { 0x0000b1e0 , 0x00000776 }, 731 { 0x0000b1e4 , 0x00000776 }, 732 { 0x0000b1e8 , 0x00000776 }, 733 { 0x0000b1ec , 0x00000776 }, 734 { 0x0000b1f0 , 0x00000776 }, 735 { 0x0000b1f4 , 0x00000776 }, 736 { 0x0000b1f8 , 0x00000776 }, 737 { 0x0000b1fc , 0x00000776 }, 738}; 739 740static const u_int32_t ar9300_modes_type5_tx_gain_table_ar9580_1p0[][5] = { 741/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 742 { 0x0000a2dc , 0x000cfff0 , 0x000cfff0 , 0x03aaa352 , 0x03aaa352 }, 743 { 0x0000a2e0 , 0x000f0000 , 0x000f0000 , 0x03ccc584 , 0x03ccc584 }, 744 { 0x0000a2e4 , 0x03f00000 , 0x03f00000 , 0x03f0f800 , 0x03f0f800 }, 745 { 0x0000a2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 746 { 0x0000a410 , 0x000050d9 , 0x000050d9 , 0x000050d9 , 0x000050d9 }, 747 { 0x0000a500 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 748 { 0x0000a504 , 0x06000003 , 0x06000003 , 0x04000002 , 0x04000002 }, 749 { 0x0000a508 , 0x0a000020 , 0x0a000020 , 0x08000004 , 0x08000004 }, 750 { 0x0000a50c , 0x10000023 , 0x10000023 , 0x0b000200 , 0x0b000200 }, 751 { 0x0000a510 , 0x15000028 , 0x15000028 , 0x0f000202 , 0x0f000202 }, 752 { 0x0000a514 , 0x1b00002b , 0x1b00002b , 0x12000400 , 0x12000400 }, 753 { 0x0000a518 , 0x1f020028 , 0x1f020028 , 0x16000402 , 0x16000402 }, 754 { 0x0000a51c , 0x2502002b , 0x2502002b , 0x19000404 , 0x19000404 }, 755 { 0x0000a520 , 0x2a04002a , 0x2a04002a , 0x1c000603 , 0x1c000603 }, 756 { 0x0000a524 , 0x2e06002a , 0x2e06002a , 0x21000a02 , 0x21000a02 }, 757 { 0x0000a528 , 0x3302202d , 0x3302202d , 0x25000a04 , 0x25000a04 }, 758 { 0x0000a52c , 0x3804202c , 0x3804202c , 0x28000a20 , 0x28000a20 }, 759 { 0x0000a530 , 0x3c06202c , 0x3c06202c , 0x2c000e20 , 0x2c000e20 }, 760 { 0x0000a534 , 0x4108202d , 0x4108202d , 0x30000e22 , 0x30000e22 }, 761 { 0x0000a538 , 0x4506402d , 0x4506402d , 0x34000e24 , 0x34000e24 }, 762 { 0x0000a53c , 0x4906222d , 0x4906222d , 0x38001640 , 0x38001640 }, 763 { 0x0000a540 , 0x4d062231 , 0x4d062231 , 0x3c001660 , 0x3c001660 }, 764 { 0x0000a544 , 0x50082231 , 0x50082231 , 0x3f001861 , 0x3f001861 }, 765 { 0x0000a548 , 0x5608422e , 0x5608422e , 0x43001a81 , 0x43001a81 }, 766 { 0x0000a54c , 0x5e08442e , 0x5e08442e , 0x47001a83 , 0x47001a83 }, 767 { 0x0000a550 , 0x620a4431 , 0x620a4431 , 0x4a001c84 , 0x4a001c84 }, 768 { 0x0000a554 , 0x640a4432 , 0x640a4432 , 0x4e001ce3 , 0x4e001ce3 }, 769 { 0x0000a558 , 0x680a4434 , 0x680a4434 , 0x52001ce5 , 0x52001ce5 }, 770 { 0x0000a55c , 0x6c0a6434 , 0x6c0a6434 , 0x56001ce9 , 0x56001ce9 }, 771 { 0x0000a560 , 0x6f0a6633 , 0x6f0a6633 , 0x5a001ceb , 0x5a001ceb }, 772 { 0x0000a564 , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 773 { 0x0000a568 , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 774 { 0x0000a56c , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 775 { 0x0000a570 , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 776 { 0x0000a574 , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 777 { 0x0000a578 , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 778 { 0x0000a57c , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 779 { 0x0000a600 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 780 { 0x0000a604 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 781 { 0x0000a608 , 0x01804601 , 0x01804601 , 0x00000000 , 0x00000000 }, 782 { 0x0000a60c , 0x01804601 , 0x01804601 , 0x00000000 , 0x00000000 }, 783 { 0x0000a610 , 0x01804601 , 0x01804601 , 0x00000000 , 0x00000000 }, 784 { 0x0000a614 , 0x01804601 , 0x01804601 , 0x01404000 , 0x01404000 }, 785 { 0x0000a618 , 0x01804601 , 0x01804601 , 0x01404501 , 0x01404501 }, 786 { 0x0000a61c , 0x01804601 , 0x01804601 , 0x02008501 , 0x02008501 }, 787 { 0x0000a620 , 0x03408d02 , 0x03408d02 , 0x0280ca03 , 0x0280ca03 }, 788 { 0x0000a624 , 0x0300cc03 , 0x0300cc03 , 0x03010c04 , 0x03010c04 }, 789 { 0x0000a628 , 0x03410d04 , 0x03410d04 , 0x04014c04 , 0x04014c04 }, 790 { 0x0000a62c , 0x03410d04 , 0x03410d04 , 0x04015005 , 0x04015005 }, 791 { 0x0000a630 , 0x03410d04 , 0x03410d04 , 0x04015005 , 0x04015005 }, 792 { 0x0000a634 , 0x03410d04 , 0x03410d04 , 0x04015005 , 0x04015005 }, 793 { 0x0000a638 , 0x03410d04 , 0x03410d04 , 0x04015005 , 0x04015005 }, 794 { 0x0000a63c , 0x03410d04 , 0x03410d04 , 0x04015005 , 0x04015005 }, 795 { 0x0000b2dc , 0x000cfff0 , 0x000cfff0 , 0x03aaa352 , 0x03aaa352 }, 796 { 0x0000b2e0 , 0x000f0000 , 0x000f0000 , 0x03ccc584 , 0x03ccc584 }, 797 { 0x0000b2e4 , 0x03f00000 , 0x03f00000 , 0x03f0f800 , 0x03f0f800 }, 798 { 0x0000b2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 799 { 0x0000c2dc , 0x000cfff0 , 0x000cfff0 , 0x03aaa352 , 0x03aaa352 }, 800 { 0x0000c2e0 , 0x000f0000 , 0x000f0000 , 0x03ccc584 , 0x03ccc584 }, 801 { 0x0000c2e4 , 0x03f00000 , 0x03f00000 , 0x03f0f800 , 0x03f0f800 }, 802 { 0x0000c2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 803 { 0x00016044 , 0x012492d4 , 0x012492d4 , 0x012492d4 , 0x012492d4 }, 804 { 0x00016048 , 0x65240001 , 0x65240001 , 0x66480001 , 0x66480001 }, 805 { 0x00016068 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 806 { 0x00016444 , 0x012492d4 , 0x012492d4 , 0x012492d4 , 0x012492d4 }, 807 { 0x00016448 , 0x65240001 , 0x65240001 , 0x66480001 , 0x66480001 }, 808 { 0x00016468 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 809 { 0x00016844 , 0x012492d4 , 0x012492d4 , 0x012492d4 , 0x012492d4 }, 810 { 0x00016848 , 0x65240001 , 0x65240001 , 0x66480001 , 0x66480001 }, 811 { 0x00016868 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 812}; 813 814static const u_int32_t ar9300Modes_lowest_ob_db_tx_gain_table_ar9580_1p0[][5] = { 815/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 816 { 0x0000a2dc , 0x0380c7fc , 0x0380c7fc , 0x03aaa352 , 0x03aaa352 }, 817 { 0x0000a2e0 , 0x0000f800 , 0x0000f800 , 0x03ccc584 , 0x03ccc584 }, 818 { 0x0000a2e4 , 0x03ff0000 , 0x03ff0000 , 0x03f0f800 , 0x03f0f800 }, 819 { 0x0000a2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 820 { 0x0000a410 , 0x000050d9 , 0x000050d9 , 0x000050d9 , 0x000050d9 }, 821 { 0x0000a500 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 822 { 0x0000a504 , 0x06000003 , 0x06000003 , 0x04000002 , 0x04000002 }, 823 { 0x0000a508 , 0x0a000020 , 0x0a000020 , 0x08000004 , 0x08000004 }, 824 { 0x0000a50c , 0x10000023 , 0x10000023 , 0x0b000200 , 0x0b000200 }, 825 { 0x0000a510 , 0x16000220 , 0x16000220 , 0x0f000202 , 0x0f000202 }, 826 { 0x0000a514 , 0x1c000223 , 0x1c000223 , 0x12000400 , 0x12000400 }, 827 { 0x0000a518 , 0x21002220 , 0x21002220 , 0x16000402 , 0x16000402 }, 828 { 0x0000a51c , 0x27002223 , 0x27002223 , 0x19000404 , 0x19000404 }, 829 { 0x0000a520 , 0x2b022220 , 0x2b022220 , 0x1c000603 , 0x1c000603 }, 830 { 0x0000a524 , 0x2f022222 , 0x2f022222 , 0x21000a02 , 0x21000a02 }, 831 { 0x0000a528 , 0x34022225 , 0x34022225 , 0x25000a04 , 0x25000a04 }, 832 { 0x0000a52c , 0x3a02222a , 0x3a02222a , 0x28000a20 , 0x28000a20 }, 833 { 0x0000a530 , 0x3e02222c , 0x3e02222c , 0x2c000e20 , 0x2c000e20 }, 834 { 0x0000a534 , 0x4202242a , 0x4202242a , 0x30000e22 , 0x30000e22 }, 835 { 0x0000a538 , 0x4702244a , 0x4702244a , 0x34000e24 , 0x34000e24 }, 836 { 0x0000a53c , 0x4b02244c , 0x4b02244c , 0x38001640 , 0x38001640 }, 837 { 0x0000a540 , 0x4e02246c , 0x4e02246c , 0x3c001660 , 0x3c001660 }, 838 { 0x0000a544 , 0x5302266c , 0x5302266c , 0x3f001861 , 0x3f001861 }, 839 { 0x0000a548 , 0x5702286c , 0x5702286c , 0x43001a81 , 0x43001a81 }, 840 { 0x0000a54c , 0x5c02486b , 0x5c02486b , 0x47001a83 , 0x47001a83 }, 841 { 0x0000a550 , 0x61024a6c , 0x61024a6c , 0x4a001c84 , 0x4a001c84 }, 842 { 0x0000a554 , 0x66026a6c , 0x66026a6c , 0x4e001ce3 , 0x4e001ce3 }, 843 { 0x0000a558 , 0x6b026e6c , 0x6b026e6c , 0x52001ce5 , 0x52001ce5 }, 844 { 0x0000a55c , 0x7002708c , 0x7002708c , 0x56001ce9 , 0x56001ce9 }, 845 { 0x0000a560 , 0x7302b08a , 0x7302b08a , 0x5a001ceb , 0x5a001ceb }, 846 { 0x0000a564 , 0x7702b08c , 0x7702b08c , 0x5d001eec , 0x5d001eec }, 847 { 0x0000a568 , 0x7702b08c , 0x7702b08c , 0x5d001eec , 0x5d001eec }, 848 { 0x0000a56c , 0x7702b08c , 0x7702b08c , 0x5d001eec , 0x5d001eec }, 849 { 0x0000a570 , 0x7702b08c , 0x7702b08c , 0x5d001eec , 0x5d001eec }, 850 { 0x0000a574 , 0x7702b08c , 0x7702b08c , 0x5d001eec , 0x5d001eec }, 851 { 0x0000a578 , 0x7702b08c , 0x7702b08c , 0x5d001eec , 0x5d001eec }, 852 { 0x0000a57c , 0x7702b08c , 0x7702b08c , 0x5d001eec , 0x5d001eec }, 853 { 0x0000a580 , 0x00800000 , 0x00800000 , 0x00800000 , 0x00800000 }, 854 { 0x0000a584 , 0x06800003 , 0x06800003 , 0x04800002 , 0x04800002 }, 855 { 0x0000a588 , 0x0a800020 , 0x0a800020 , 0x08800004 , 0x08800004 }, 856 { 0x0000a58c , 0x10800023 , 0x10800023 , 0x0b800200 , 0x0b800200 }, 857 { 0x0000a590 , 0x16800220 , 0x16800220 , 0x0f800202 , 0x0f800202 }, 858 { 0x0000a594 , 0x1c800223 , 0x1c800223 , 0x12800400 , 0x12800400 }, 859 { 0x0000a598 , 0x21802220 , 0x21802220 , 0x16800402 , 0x16800402 }, 860 { 0x0000a59c , 0x27802223 , 0x27802223 , 0x19800404 , 0x19800404 }, 861 { 0x0000a5a0 , 0x2b822220 , 0x2b822220 , 0x1c800603 , 0x1c800603 }, 862 { 0x0000a5a4 , 0x2f822222 , 0x2f822222 , 0x21800a02 , 0x21800a02 }, 863 { 0x0000a5a8 , 0x34822225 , 0x34822225 , 0x25800a04 , 0x25800a04 }, 864 { 0x0000a5ac , 0x3a82222a , 0x3a82222a , 0x28800a20 , 0x28800a20 }, 865 { 0x0000a5b0 , 0x3e82222c , 0x3e82222c , 0x2c800e20 , 0x2c800e20 }, 866 { 0x0000a5b4 , 0x4282242a , 0x4282242a , 0x30800e22 , 0x30800e22 }, 867 { 0x0000a5b8 , 0x4782244a , 0x4782244a , 0x34800e24 , 0x34800e24 }, 868 { 0x0000a5bc , 0x4b82244c , 0x4b82244c , 0x38801640 , 0x38801640 }, 869 { 0x0000a5c0 , 0x4e82246c , 0x4e82246c , 0x3c801660 , 0x3c801660 }, 870 { 0x0000a5c4 , 0x5382266c , 0x5382266c , 0x3f801861 , 0x3f801861 }, 871 { 0x0000a5c8 , 0x5782286c , 0x5782286c , 0x43801a81 , 0x43801a81 }, 872 { 0x0000a5cc , 0x5c82486b , 0x5c82486b , 0x47801a83 , 0x47801a83 }, 873 { 0x0000a5d0 , 0x61824a6c , 0x61824a6c , 0x4a801c84 , 0x4a801c84 }, 874 { 0x0000a5d4 , 0x66826a6c , 0x66826a6c , 0x4e801ce3 , 0x4e801ce3 }, 875 { 0x0000a5d8 , 0x6b826e6c , 0x6b826e6c , 0x52801ce5 , 0x52801ce5 }, 876 { 0x0000a5dc , 0x7082708c , 0x7082708c , 0x56801ce9 , 0x56801ce9 }, 877 { 0x0000a5e0 , 0x7382b08a , 0x7382b08a , 0x5a801ceb , 0x5a801ceb }, 878 { 0x0000a5e4 , 0x7782b08c , 0x7782b08c , 0x5d801eec , 0x5d801eec }, 879 { 0x0000a5e8 , 0x7782b08c , 0x7782b08c , 0x5d801eec , 0x5d801eec }, 880 { 0x0000a5ec , 0x7782b08c , 0x7782b08c , 0x5d801eec , 0x5d801eec }, 881 { 0x0000a5f0 , 0x7782b08c , 0x7782b08c , 0x5d801eec , 0x5d801eec }, 882 { 0x0000a5f4 , 0x7782b08c , 0x7782b08c , 0x5d801eec , 0x5d801eec }, 883 { 0x0000a5f8 , 0x7782b08c , 0x7782b08c , 0x5d801eec , 0x5d801eec }, 884 { 0x0000a5fc , 0x7782b08c , 0x7782b08c , 0x5d801eec , 0x5d801eec }, 885 { 0x0000a600 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 886 { 0x0000a604 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 887 { 0x0000a608 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 888 { 0x0000a60c , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 889 { 0x0000a610 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 890 { 0x0000a614 , 0x01404000 , 0x01404000 , 0x01404000 , 0x01404000 }, 891 { 0x0000a618 , 0x01404501 , 0x01404501 , 0x01404501 , 0x01404501 }, 892 { 0x0000a61c , 0x02008802 , 0x02008802 , 0x02008501 , 0x02008501 }, 893 { 0x0000a620 , 0x0300cc03 , 0x0300cc03 , 0x0280ca03 , 0x0280ca03 }, 894 { 0x0000a624 , 0x0300cc03 , 0x0300cc03 , 0x03010c04 , 0x03010c04 }, 895 { 0x0000a628 , 0x0300cc03 , 0x0300cc03 , 0x04014c04 , 0x04014c04 }, 896 { 0x0000a62c , 0x03810c03 , 0x03810c03 , 0x04015005 , 0x04015005 }, 897 { 0x0000a630 , 0x03810e04 , 0x03810e04 , 0x04015005 , 0x04015005 }, 898 { 0x0000a634 , 0x03810e04 , 0x03810e04 , 0x04015005 , 0x04015005 }, 899 { 0x0000a638 , 0x03810e04 , 0x03810e04 , 0x04015005 , 0x04015005 }, 900 { 0x0000a63c , 0x03810e04 , 0x03810e04 , 0x04015005 , 0x04015005 }, 901 { 0x0000b2dc , 0x0380c7fc , 0x0380c7fc , 0x03aaa352 , 0x03aaa352 }, 902 { 0x0000b2e0 , 0x0000f800 , 0x0000f800 , 0x03ccc584 , 0x03ccc584 }, 903 { 0x0000b2e4 , 0x03ff0000 , 0x03ff0000 , 0x03f0f800 , 0x03f0f800 }, 904 { 0x0000b2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 905 { 0x0000c2dc , 0x0380c7fc , 0x0380c7fc , 0x03aaa352 , 0x03aaa352 }, 906 { 0x0000c2e0 , 0x0000f800 , 0x0000f800 , 0x03ccc584 , 0x03ccc584 }, 907 { 0x0000c2e4 , 0x03ff0000 , 0x03ff0000 , 0x03f0f800 , 0x03f0f800 }, 908 { 0x0000c2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 909 { 0x00016044 , 0x012492d4 , 0x012492d4 , 0x012492d4 , 0x012492d4 }, 910 { 0x00016048 , 0x62480001 , 0x62480001 , 0x62480001 , 0x62480001 }, 911 { 0x00016068 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 912 { 0x00016444 , 0x012492d4 , 0x012492d4 , 0x012492d4 , 0x012492d4 }, 913 { 0x00016448 , 0x62480001 , 0x62480001 , 0x62480001 , 0x62480001 }, 914 { 0x00016468 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 915 { 0x00016844 , 0x012492d4 , 0x012492d4 , 0x012492d4 , 0x012492d4 }, 916 { 0x00016848 , 0x62480001 , 0x62480001 , 0x62480001 , 0x62480001 }, 917 { 0x00016868 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 918}; 919 920static const u_int32_t ar9300_ar9580_1p0_baseband_core_txfir_coeff_japan_2484[][2] = { 921/* Addr allmodes */ 922 { 0x0000a398 , 0x00000000 }, 923 { 0x0000a39c , 0x6f7f0301 }, 924 { 0x0000a3a0 , 0xca9228ee }, 925}; 926 927static const u_int32_t ar9300_ar9580_1p0_mac_postamble_emulation[][5] = { 928/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 929 { 0x00008014 , 0x10f810f8 , 0x10f810f8 , 0x10f810f8 , 0x10f810f8 }, 930 { 0x0000801c , 0x0e8d8017 , 0x0e8d8017 , 0x0e8d8017 , 0x0e8d8017 }, 931}; 932 933static const u_int32_t ar9200_merlin_1p0_radio_core[][2] = { 934/* Addr common */ 935 { 0x00007800 , 0x00040000 }, 936 { 0x00007804 , 0xdb005012 }, 937 { 0x00007808 , 0x04924914 }, 938 { 0x0000780c , 0x21084210 }, 939 { 0x00007810 , 0x6d801300 }, 940 { 0x00007814 , 0x0019beff }, 941 { 0x00007818 , 0x07e41000 }, 942 { 0x0000781c , 0x00392000 }, 943 { 0x00007820 , 0x92592480 }, 944 { 0x00007824 , 0x00040000 }, 945 { 0x00007828 , 0xdb005012 }, 946 { 0x0000782c , 0x04924914 }, 947 { 0x00007830 , 0x21084210 }, 948 { 0x00007834 , 0x6d801300 }, 949 { 0x00007838 , 0x0019beff }, 950 { 0x0000783c , 0x07e40000 }, 951 { 0x00007840 , 0x00392000 }, 952 { 0x00007844 , 0x92592480 }, 953 { 0x00007848 , 0x00100000 }, 954 { 0x0000784c , 0x773f0567 }, 955 { 0x00007850 , 0x54214514 }, 956 { 0x00007854 , 0x12035828 }, 957 { 0x00007858 , 0x92592692 }, 958 { 0x0000785c , 0x00000000 }, 959 { 0x00007860 , 0x56400000 }, 960 { 0x00007864 , 0x0a8e370e }, 961 { 0x00007868 , 0xc0102850 }, 962 { 0x0000786c , 0x812d4000 }, 963 { 0x00007870 , 0x807ec400 }, 964 { 0x00007874 , 0x001b6db0 }, 965 { 0x00007878 , 0x00376b63 }, 966 { 0x0000787c , 0x06db6db6 }, 967 { 0x00007880 , 0x006d8000 }, 968 { 0x00007884 , 0xffeffffe }, 969 { 0x00007888 , 0xffeffffe }, 970 { 0x0000788c , 0x00010000 }, 971 { 0x00007890 , 0x02060aeb }, 972 { 0x00007894 , 0x5a108000 }, 973}; 974 975static const u_int32_t ar9300_ar9580_1p0_tx_gain_table_baseband_postamble_emulation[][5] = { 976/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 977 { 0x0000a410 , 0x000000d5 , 0x000000d5 , 0x000000d5 , 0x000000d5 }, 978 { 0x0000a500 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 979 { 0x0000a504 , 0x00004002 , 0x00004002 , 0x00004002 , 0x00004002 }, 980 { 0x0000a508 , 0x00008004 , 0x00008004 , 0x00008004 , 0x00008004 }, 981 { 0x0000a510 , 0x0001000c , 0x0001000c , 0x0001000c , 0x0001000c }, 982 { 0x0000a514 , 0x0001420b , 0x0001420b , 0x0001420b , 0x0001420b }, 983 { 0x0000a518 , 0x0001824a , 0x0001824a , 0x0001824a , 0x0001824a }, 984 { 0x0000a51c , 0x0001c44a , 0x0001c44a , 0x0001c44a , 0x0001c44a }, 985 { 0x0000a520 , 0x0002064a , 0x0002064a , 0x0002064a , 0x0002064a }, 986 { 0x0000a524 , 0x0002484a , 0x0002484a , 0x0002484a , 0x0002484a }, 987 { 0x0000a528 , 0x00028a4a , 0x00028a4a , 0x00028a4a , 0x00028a4a }, 988 { 0x0000a52c , 0x0002cc4a , 0x0002cc4a , 0x0002cc4a , 0x0002cc4a }, 989 { 0x0000a530 , 0x00030e4a , 0x00030e4a , 0x00030e4a , 0x00030e4a }, 990 { 0x0000a534 , 0x00034e8a , 0x00034e8a , 0x00034e8a , 0x00034e8a }, 991}; 992 993static const u_int32_t ar9300_ar9580_1p0_mac_core[][2] = { 994/* Addr allmodes */ 995 { 0x00000008 , 0x00000000 }, 996 { 0x00000030 , 0x00020085 }, 997 { 0x00000034 , 0x00000005 }, 998 { 0x00000040 , 0x00000000 }, 999 { 0x00000044 , 0x00000000 }, 1000 { 0x00000048 , 0x00000008 }, 1001 { 0x0000004c , 0x00000010 }, 1002 { 0x00000050 , 0x00000000 }, 1003 { 0x00001040 , 0x002ffc0f }, 1004 { 0x00001044 , 0x002ffc0f }, 1005 { 0x00001048 , 0x002ffc0f }, 1006 { 0x0000104c , 0x002ffc0f }, 1007 { 0x00001050 , 0x002ffc0f }, 1008 { 0x00001054 , 0x002ffc0f }, 1009 { 0x00001058 , 0x002ffc0f }, 1010 { 0x0000105c , 0x002ffc0f }, 1011 { 0x00001060 , 0x002ffc0f }, 1012 { 0x00001064 , 0x002ffc0f }, 1013 { 0x000010f0 , 0x00000100 }, 1014 { 0x00001270 , 0x00000000 }, 1015 { 0x000012b0 , 0x00000000 }, 1016 { 0x000012f0 , 0x00000000 }, 1017 { 0x0000143c , 0x00000000 }, 1018 { 0x0000147c , 0x00000000 }, 1019 { 0x00008000 , 0x00000000 }, 1020 { 0x00008004 , 0x00000000 }, 1021 { 0x00008008 , 0x00000000 }, 1022 { 0x0000800c , 0x00000000 }, 1023 { 0x00008018 , 0x00000000 }, 1024 { 0x00008020 , 0x00000000 }, 1025 { 0x00008038 , 0x00000000 }, 1026 { 0x0000803c , 0x00000000 }, 1027 { 0x00008040 , 0x00000000 }, 1028 { 0x00008044 , 0x00000000 }, 1029 { 0x00008048 , 0x00000000 }, 1030 { 0x0000804c , 0xffffffff }, 1031 { 0x00008054 , 0x00000000 }, 1032 { 0x00008058 , 0x00000000 }, 1033 { 0x0000805c , 0x000fc78f }, 1034 { 0x00008060 , 0x0000000f }, 1035 { 0x00008064 , 0x00000000 }, 1036 { 0x00008070 , 0x00000310 }, 1037 { 0x00008074 , 0x00000020 }, 1038 { 0x00008078 , 0x00000000 }, 1039 { 0x0000809c , 0x0000000f }, 1040 { 0x000080a0 , 0x00000000 }, 1041 { 0x000080a4 , 0x02ff0000 }, 1042 { 0x000080a8 , 0x0e070605 }, 1043 { 0x000080ac , 0x0000000d }, 1044 { 0x000080b0 , 0x00000000 }, 1045 { 0x000080b4 , 0x00000000 }, 1046 { 0x000080b8 , 0x00000000 }, 1047 { 0x000080bc , 0x00000000 }, 1048 { 0x000080c0 , 0x2a800000 }, 1049 { 0x000080c4 , 0x06900168 }, 1050 { 0x000080c8 , 0x13881c22 }, 1051 { 0x000080cc , 0x01f40000 }, 1052 { 0x000080d0 , 0x00252500 }, 1053 { 0x000080d4 , 0x00a00000 }, 1054 { 0x000080d8 , 0x00400000 }, 1055 { 0x000080dc , 0x00000000 }, 1056 { 0x000080e0 , 0xffffffff }, 1057 { 0x000080e4 , 0x0000ffff }, 1058 { 0x000080e8 , 0x3f3f3f3f }, 1059 { 0x000080ec , 0x00000000 }, 1060 { 0x000080f0 , 0x00000000 }, 1061 { 0x000080f4 , 0x00000000 }, 1062 { 0x000080fc , 0x00020000 }, 1063 { 0x00008100 , 0x00000000 }, 1064 { 0x00008108 , 0x00000052 }, 1065 { 0x0000810c , 0x00000000 }, 1066 { 0x00008110 , 0x00000000 }, 1067 { 0x00008114 , 0x000007ff }, 1068 { 0x00008118 , 0x000000aa }, 1069 { 0x0000811c , 0x00003210 }, 1070 { 0x00008124 , 0x00000000 }, 1071 { 0x00008128 , 0x00000000 }, 1072 { 0x0000812c , 0x00000000 }, 1073 { 0x00008130 , 0x00000000 }, 1074 { 0x00008134 , 0x00000000 }, 1075 { 0x00008138 , 0x00000000 }, 1076 { 0x0000813c , 0x0000ffff }, 1077 { 0x00008144 , 0xffffffff }, 1078 { 0x00008168 , 0x00000000 }, 1079 { 0x0000816c , 0x00000000 }, 1080 { 0x000081c0 , 0x00000000 }, 1081 { 0x000081c4 , 0x33332210 }, 1082 { 0x000081ec , 0x00000000 }, 1083 { 0x000081f0 , 0x00000000 }, 1084 { 0x000081f4 , 0x00000000 }, 1085 { 0x000081f8 , 0x00000000 }, 1086 { 0x000081fc , 0x00000000 }, 1087 { 0x00008240 , 0x00100000 }, 1088 { 0x00008244 , 0x0010f400 }, 1089 { 0x00008248 , 0x00000800 }, 1090 { 0x0000824c , 0x0001e800 }, 1091 { 0x00008250 , 0x00000000 }, 1092 { 0x00008254 , 0x00000000 }, 1093 { 0x00008258 , 0x00000000 }, 1094 { 0x0000825c , 0x40000000 }, 1095 { 0x00008260 , 0x00080922 }, 1096 { 0x00008264 , 0x9d400010 }, 1097 { 0x00008268 , 0xffffffff }, 1098 { 0x0000826c , 0x0000ffff }, 1099 { 0x00008270 , 0x00000000 }, 1100 { 0x00008274 , 0x40000000 }, 1101 { 0x00008278 , 0x003e4180 }, 1102 { 0x0000827c , 0x00000004 }, 1103 { 0x00008284 , 0x0000002c }, 1104 { 0x00008288 , 0x0000002c }, 1105 { 0x0000828c , 0x000000ff }, 1106 { 0x00008294 , 0x00000000 }, 1107 { 0x00008298 , 0x00000000 }, 1108 { 0x0000829c , 0x00000000 }, 1109 { 0x00008300 , 0x00000140 }, 1110 { 0x00008314 , 0x00000000 }, 1111 { 0x0000831c , 0x0000010d }, 1112 { 0x00008328 , 0x00000000 }, 1113 { 0x0000832c , 0x00000007 }, 1114 { 0x00008330 , 0x00000302 }, 1115 { 0x00008334 , 0x00000700 }, 1116 { 0x00008338 , 0x00ff0000 }, 1117 { 0x0000833c , 0x02400000 }, 1118 { 0x00008340 , 0x000107ff }, 1119 { 0x00008344 , 0xaa48105b }, 1120 { 0x00008348 , 0x008f0000 }, 1121 { 0x0000835c , 0x00000000 }, 1122 { 0x00008360 , 0xffffffff }, 1123 { 0x00008364 , 0xffffffff }, 1124 { 0x00008368 , 0x00000000 }, 1125 { 0x00008370 , 0x00000000 }, 1126 { 0x00008374 , 0x000000ff }, 1127 { 0x00008378 , 0x00000000 }, 1128 { 0x0000837c , 0x00000000 }, 1129 { 0x00008380 , 0xffffffff }, 1130 { 0x00008384 , 0xffffffff }, 1131 { 0x00008390 , 0xffffffff }, 1132 { 0x00008394 , 0xffffffff }, 1133 { 0x00008398 , 0x00000000 }, 1134 { 0x0000839c , 0x00000000 }, 1135 { 0x000083a0 , 0x00000000 }, 1136 { 0x000083a4 , 0x0000fa14 }, 1137 { 0x000083a8 , 0x000f0c00 }, 1138 { 0x000083ac , 0x33332210 }, 1139 { 0x000083b0 , 0x33332210 }, 1140 { 0x000083b4 , 0x33332210 }, 1141 { 0x000083b8 , 0x33332210 }, 1142 { 0x000083bc , 0x00000000 }, 1143 { 0x000083c0 , 0x00000000 }, 1144 { 0x000083c4 , 0x00000000 }, 1145 { 0x000083c8 , 0x00000000 }, 1146 { 0x000083cc , 0x00000200 }, 1147 { 0x000083d0 , 0x000301ff }, 1148}; 1149 1150static const u_int32_t ar9300_modes_mixed_ob_db_tx_gain_table_ar9580_1p0[][5] = { 1151/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 1152 { 0x0000a2dc , 0x0380c7fc , 0x0380c7fc , 0x03aaa352 , 0x03aaa352 }, 1153 { 0x0000a2e0 , 0x0000f800 , 0x0000f800 , 0x03ccc584 , 0x03ccc584 }, 1154 { 0x0000a2e4 , 0x03ff0000 , 0x03ff0000 , 0x03f0f800 , 0x03f0f800 }, 1155 { 0x0000a2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 1156 { 0x0000a410 , 0x000050d9 , 0x000050d9 , 0x000050d9 , 0x000050d9 }, 1157 { 0x0000a500 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 1158 { 0x0000a504 , 0x06000003 , 0x06000003 , 0x04000002 , 0x04000002 }, 1159 { 0x0000a508 , 0x0a000020 , 0x0a000020 , 0x08000004 , 0x08000004 }, 1160 { 0x0000a50c , 0x10000023 , 0x10000023 , 0x0b000200 , 0x0b000200 }, 1161 { 0x0000a510 , 0x16000220 , 0x16000220 , 0x0f000202 , 0x0f000202 }, 1162 { 0x0000a514 , 0x1c000223 , 0x1c000223 , 0x11000400 , 0x11000400 }, 1163 { 0x0000a518 , 0x21002220 , 0x21002220 , 0x15000402 , 0x15000402 }, 1164 { 0x0000a51c , 0x27002223 , 0x27002223 , 0x19000404 , 0x19000404 }, 1165 { 0x0000a520 , 0x2b022220 , 0x2b022220 , 0x1b000603 , 0x1b000603 }, 1166 { 0x0000a524 , 0x2f022222 , 0x2f022222 , 0x1f000a02 , 0x1f000a02 }, 1167 { 0x0000a528 , 0x34022225 , 0x34022225 , 0x23000a04 , 0x23000a04 }, 1168 { 0x0000a52c , 0x3a02222a , 0x3a02222a , 0x26000a20 , 0x26000a20 }, 1169 { 0x0000a530 , 0x3e02222c , 0x3e02222c , 0x2a000e20 , 0x2a000e20 }, 1170 { 0x0000a534 , 0x4202242a , 0x4202242a , 0x2e000e22 , 0x2e000e22 }, 1171 { 0x0000a538 , 0x4702244a , 0x4702244a , 0x31000e24 , 0x31000e24 }, 1172 { 0x0000a53c , 0x4b02244c , 0x4b02244c , 0x34001640 , 0x34001640 }, 1173 { 0x0000a540 , 0x4e02246c , 0x4e02246c , 0x38001660 , 0x38001660 }, 1174 { 0x0000a544 , 0x5302266c , 0x5302266c , 0x3b001861 , 0x3b001861 }, 1175 { 0x0000a548 , 0x5702286c , 0x5702286c , 0x3e001a81 , 0x3e001a81 }, 1176 { 0x0000a54c , 0x5c02486b , 0x5c02486b , 0x42001a83 , 0x42001a83 }, 1177 { 0x0000a550 , 0x61024a6c , 0x61024a6c , 0x44001c84 , 0x44001c84 }, 1178 { 0x0000a554 , 0x66026a6c , 0x66026a6c , 0x48001ce3 , 0x48001ce3 }, 1179 { 0x0000a558 , 0x6b026e6c , 0x6b026e6c , 0x4c001ce5 , 0x4c001ce5 }, 1180 { 0x0000a55c , 0x7002708c , 0x7002708c , 0x50001ce9 , 0x50001ce9 }, 1181 { 0x0000a560 , 0x7302b08a , 0x7302b08a , 0x54001ceb , 0x54001ceb }, 1182 { 0x0000a564 , 0x7702b08c , 0x7702b08c , 0x56001eec , 0x56001eec }, 1183 { 0x0000a568 , 0x7702b08c , 0x7702b08c , 0x56001eec , 0x56001eec }, 1184 { 0x0000a56c , 0x7702b08c , 0x7702b08c , 0x56001eec , 0x56001eec }, 1185 { 0x0000a570 , 0x7702b08c , 0x7702b08c , 0x56001eec , 0x56001eec }, 1186 { 0x0000a574 , 0x7702b08c , 0x7702b08c , 0x56001eec , 0x56001eec }, 1187 { 0x0000a578 , 0x7702b08c , 0x7702b08c , 0x56001eec , 0x56001eec }, 1188 { 0x0000a57c , 0x7702b08c , 0x7702b08c , 0x56001eec , 0x56001eec }, 1189 { 0x0000a580 , 0x00800000 , 0x00800000 , 0x00800000 , 0x00800000 }, 1190 { 0x0000a584 , 0x06800003 , 0x06800003 , 0x04800002 , 0x04800002 }, 1191 { 0x0000a588 , 0x0a800020 , 0x0a800020 , 0x08800004 , 0x08800004 }, 1192 { 0x0000a58c , 0x10800023 , 0x10800023 , 0x0b800200 , 0x0b800200 }, 1193 { 0x0000a590 , 0x16800220 , 0x16800220 , 0x0f800202 , 0x0f800202 }, 1194 { 0x0000a594 , 0x1c800223 , 0x1c800223 , 0x11800400 , 0x11800400 }, 1195 { 0x0000a598 , 0x21802220 , 0x21802220 , 0x15800402 , 0x15800402 }, 1196 { 0x0000a59c , 0x27802223 , 0x27802223 , 0x19800404 , 0x19800404 }, 1197 { 0x0000a5a0 , 0x2b822220 , 0x2b822220 , 0x1b800603 , 0x1b800603 }, 1198 { 0x0000a5a4 , 0x2f822222 , 0x2f822222 , 0x1f800a02 , 0x1f800a02 }, 1199 { 0x0000a5a8 , 0x34822225 , 0x34822225 , 0x23800a04 , 0x23800a04 }, 1200 { 0x0000a5ac , 0x3a82222a , 0x3a82222a , 0x26800a20 , 0x26800a20 }, 1201 { 0x0000a5b0 , 0x3e82222c , 0x3e82222c , 0x2a800e20 , 0x2a800e20 }, 1202 { 0x0000a5b4 , 0x4282242a , 0x4282242a , 0x2e800e22 , 0x2e800e22 }, 1203 { 0x0000a5b8 , 0x4782244a , 0x4782244a , 0x31800e24 , 0x31800e24 }, 1204 { 0x0000a5bc , 0x4b82244c , 0x4b82244c , 0x34801640 , 0x34801640 }, 1205 { 0x0000a5c0 , 0x4e82246c , 0x4e82246c , 0x38801660 , 0x38801660 }, 1206 { 0x0000a5c4 , 0x5382266c , 0x5382266c , 0x3b801861 , 0x3b801861 }, 1207 { 0x0000a5c8 , 0x5782286c , 0x5782286c , 0x3e801a81 , 0x3e801a81 }, 1208 { 0x0000a5cc , 0x5c82486b , 0x5c82486b , 0x42801a83 , 0x42801a83 }, 1209 { 0x0000a5d0 , 0x61824a6c , 0x61824a6c , 0x44801c84 , 0x44801c84 }, 1210 { 0x0000a5d4 , 0x66826a6c , 0x66826a6c , 0x48801ce3 , 0x48801ce3 }, 1211 { 0x0000a5d8 , 0x6b826e6c , 0x6b826e6c , 0x4c801ce5 , 0x4c801ce5 }, 1212 { 0x0000a5dc , 0x7082708c , 0x7082708c , 0x50801ce9 , 0x50801ce9 }, 1213 { 0x0000a5e0 , 0x7382b08a , 0x7382b08a , 0x54801ceb , 0x54801ceb }, 1214 { 0x0000a5e4 , 0x7782b08c , 0x7782b08c , 0x56801eec , 0x56801eec }, 1215 { 0x0000a5e8 , 0x7782b08c , 0x7782b08c , 0x56801eec , 0x56801eec }, 1216 { 0x0000a5ec , 0x7782b08c , 0x7782b08c , 0x56801eec , 0x56801eec }, 1217 { 0x0000a5f0 , 0x7782b08c , 0x7782b08c , 0x56801eec , 0x56801eec }, 1218 { 0x0000a5f4 , 0x7782b08c , 0x7782b08c , 0x56801eec , 0x56801eec }, 1219 { 0x0000a5f8 , 0x7782b08c , 0x7782b08c , 0x56801eec , 0x56801eec }, 1220 { 0x0000a5fc , 0x7782b08c , 0x7782b08c , 0x56801eec , 0x56801eec }, 1221 { 0x0000a600 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 1222 { 0x0000a604 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 1223 { 0x0000a608 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 1224 { 0x0000a60c , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 1225 { 0x0000a610 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 1226 { 0x0000a614 , 0x01404000 , 0x01404000 , 0x01404000 , 0x01404000 }, 1227 { 0x0000a618 , 0x01404501 , 0x01404501 , 0x01404501 , 0x01404501 }, 1228 { 0x0000a61c , 0x02008802 , 0x02008802 , 0x02008501 , 0x02008501 }, 1229 { 0x0000a620 , 0x0300cc03 , 0x0300cc03 , 0x0280ca03 , 0x0280ca03 }, 1230 { 0x0000a624 , 0x0300cc03 , 0x0300cc03 , 0x03010c04 , 0x03010c04 }, 1231 { 0x0000a628 , 0x0300cc03 , 0x0300cc03 , 0x04014c04 , 0x04014c04 }, 1232 { 0x0000a62c , 0x03810c03 , 0x03810c03 , 0x04015005 , 0x04015005 }, 1233 { 0x0000a630 , 0x03810e04 , 0x03810e04 , 0x04015005 , 0x04015005 }, 1234 { 0x0000a634 , 0x03810e04 , 0x03810e04 , 0x04015005 , 0x04015005 }, 1235 { 0x0000a638 , 0x03810e04 , 0x03810e04 , 0x04015005 , 0x04015005 }, 1236 { 0x0000a63c , 0x03810e04 , 0x03810e04 , 0x04015005 , 0x04015005 }, 1237 { 0x0000b2dc , 0x0380c7fc , 0x0380c7fc , 0x03aaa352 , 0x03aaa352 }, 1238 { 0x0000b2e0 , 0x0000f800 , 0x0000f800 , 0x03ccc584 , 0x03ccc584 }, 1239 { 0x0000b2e4 , 0x03ff0000 , 0x03ff0000 , 0x03f0f800 , 0x03f0f800 }, 1240 { 0x0000b2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 1241 { 0x0000c2dc , 0x0380c7fc , 0x0380c7fc , 0x03aaa352 , 0x03aaa352 }, 1242 { 0x0000c2e0 , 0x0000f800 , 0x0000f800 , 0x03ccc584 , 0x03ccc584 }, 1243 { 0x0000c2e4 , 0x03ff0000 , 0x03ff0000 , 0x03f0f800 , 0x03f0f800 }, 1244 { 0x0000c2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 1245 { 0x00016044 , 0x012492d4 , 0x012492d4 , 0x056db2e4 , 0x056db2e4 }, 1246 { 0x00016048 , 0x66480001 , 0x66480001 , 0x8e480001 , 0x8e480001 }, 1247 { 0x00016068 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 1248 { 0x00016444 , 0x012492d4 , 0x012492d4 , 0x056db2e4 , 0x056db2e4 }, 1249 { 0x00016448 , 0x66480001 , 0x66480001 , 0x8e480001 , 0x8e480001 }, 1250 { 0x00016468 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 1251 { 0x00016844 , 0x012492d4 , 0x012492d4 , 0x056db2e4 , 0x056db2e4 }, 1252 { 0x00016848 , 0x66480001 , 0x66480001 , 0x8e480001 , 0x8e480001 }, 1253 { 0x00016868 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 1254}; 1255 1256static const u_int32_t ar9300_ar9580_1p0_mac_core_emulation[][2] = { 1257/* Addr allmodes */ 1258 { 0x00000030 , 0x00020085 }, 1259 { 0x00000044 , 0x00000008 }, 1260 { 0x0000805c , 0xffffc7ff }, 1261 { 0x00008344 , 0xaa4a105b }, 1262}; 1263 1264static const u_int32_t ar9300_common_wo_xlna_rx_gain_table_ar9580_1p0[][2] = { 1265/* Addr allmodes */ 1266 { 0x0000a000 , 0x00010000 }, 1267 { 0x0000a004 , 0x00030002 }, 1268 { 0x0000a008 , 0x00050004 }, 1269 { 0x0000a00c , 0x00810080 }, 1270 { 0x0000a010 , 0x00830082 }, 1271 { 0x0000a014 , 0x01810180 }, 1272 { 0x0000a018 , 0x01830182 }, 1273 { 0x0000a01c , 0x01850184 }, 1274 { 0x0000a020 , 0x01890188 }, 1275 { 0x0000a024 , 0x018b018a }, 1276 { 0x0000a028 , 0x018d018c }, 1277 { 0x0000a02c , 0x03820190 }, 1278 { 0x0000a030 , 0x03840383 }, 1279 { 0x0000a034 , 0x03880385 }, 1280 { 0x0000a038 , 0x038a0389 }, 1281 { 0x0000a03c , 0x038c038b }, 1282 { 0x0000a040 , 0x0390038d }, 1283 { 0x0000a044 , 0x03920391 }, 1284 { 0x0000a048 , 0x03940393 }, 1285 { 0x0000a04c , 0x03960395 }, 1286 { 0x0000a050 , 0x00000000 }, 1287 { 0x0000a054 , 0x00000000 }, 1288 { 0x0000a058 , 0x00000000 }, 1289 { 0x0000a05c , 0x00000000 }, 1290 { 0x0000a060 , 0x00000000 }, 1291 { 0x0000a064 , 0x00000000 }, 1292 { 0x0000a068 , 0x00000000 }, 1293 { 0x0000a06c , 0x00000000 }, 1294 { 0x0000a070 , 0x00000000 }, 1295 { 0x0000a074 , 0x00000000 }, 1296 { 0x0000a078 , 0x00000000 }, 1297 { 0x0000a07c , 0x00000000 }, 1298 { 0x0000a080 , 0x29292929 }, 1299 { 0x0000a084 , 0x29292929 }, 1300 { 0x0000a088 , 0x29292929 }, 1301 { 0x0000a08c , 0x29292929 }, 1302 { 0x0000a090 , 0x22292929 }, 1303 { 0x0000a094 , 0x1d1d2222 }, 1304 { 0x0000a098 , 0x0c111117 }, 1305 { 0x0000a09c , 0x00030303 }, 1306 { 0x0000a0a0 , 0x00000000 }, 1307 { 0x0000a0a4 , 0x00000000 }, 1308 { 0x0000a0a8 , 0x00000000 }, 1309 { 0x0000a0ac , 0x00000000 }, 1310 { 0x0000a0b0 , 0x00000000 }, 1311 { 0x0000a0b4 , 0x00000000 }, 1312 { 0x0000a0b8 , 0x00000000 }, 1313 { 0x0000a0bc , 0x00000000 }, 1314 { 0x0000a0c0 , 0x001f0000 }, 1315 { 0x0000a0c4 , 0x01000101 }, 1316 { 0x0000a0c8 , 0x011e011f }, 1317 { 0x0000a0cc , 0x011c011d }, 1318 { 0x0000a0d0 , 0x02030204 }, 1319 { 0x0000a0d4 , 0x02010202 }, 1320 { 0x0000a0d8 , 0x021f0200 }, 1321 { 0x0000a0dc , 0x0302021e }, 1322 { 0x0000a0e0 , 0x03000301 }, 1323 { 0x0000a0e4 , 0x031e031f }, 1324 { 0x0000a0e8 , 0x0402031d }, 1325 { 0x0000a0ec , 0x04000401 }, 1326 { 0x0000a0f0 , 0x041e041f }, 1327 { 0x0000a0f4 , 0x0502041d }, 1328 { 0x0000a0f8 , 0x05000501 }, 1329 { 0x0000a0fc , 0x051e051f }, 1330 { 0x0000a100 , 0x06010602 }, 1331 { 0x0000a104 , 0x061f0600 }, 1332 { 0x0000a108 , 0x061d061e }, 1333 { 0x0000a10c , 0x07020703 }, 1334 { 0x0000a110 , 0x07000701 }, 1335 { 0x0000a114 , 0x00000000 }, 1336 { 0x0000a118 , 0x00000000 }, 1337 { 0x0000a11c , 0x00000000 }, 1338 { 0x0000a120 , 0x00000000 }, 1339 { 0x0000a124 , 0x00000000 }, 1340 { 0x0000a128 , 0x00000000 }, 1341 { 0x0000a12c , 0x00000000 }, 1342 { 0x0000a130 , 0x00000000 }, 1343 { 0x0000a134 , 0x00000000 }, 1344 { 0x0000a138 , 0x00000000 }, 1345 { 0x0000a13c , 0x00000000 }, 1346 { 0x0000a140 , 0x001f0000 }, 1347 { 0x0000a144 , 0x01000101 }, 1348 { 0x0000a148 , 0x011e011f }, 1349 { 0x0000a14c , 0x011c011d }, 1350 { 0x0000a150 , 0x02030204 }, 1351 { 0x0000a154 , 0x02010202 }, 1352 { 0x0000a158 , 0x021f0200 }, 1353 { 0x0000a15c , 0x0302021e }, 1354 { 0x0000a160 , 0x03000301 }, 1355 { 0x0000a164 , 0x031e031f }, 1356 { 0x0000a168 , 0x0402031d }, 1357 { 0x0000a16c , 0x04000401 }, 1358 { 0x0000a170 , 0x041e041f }, 1359 { 0x0000a174 , 0x0502041d }, 1360 { 0x0000a178 , 0x05000501 }, 1361 { 0x0000a17c , 0x051e051f }, 1362 { 0x0000a180 , 0x06010602 }, 1363 { 0x0000a184 , 0x061f0600 }, 1364 { 0x0000a188 , 0x061d061e }, 1365 { 0x0000a18c , 0x07020703 }, 1366 { 0x0000a190 , 0x07000701 }, 1367 { 0x0000a194 , 0x00000000 }, 1368 { 0x0000a198 , 0x00000000 }, 1369 { 0x0000a19c , 0x00000000 }, 1370 { 0x0000a1a0 , 0x00000000 }, 1371 { 0x0000a1a4 , 0x00000000 }, 1372 { 0x0000a1a8 , 0x00000000 }, 1373 { 0x0000a1ac , 0x00000000 }, 1374 { 0x0000a1b0 , 0x00000000 }, 1375 { 0x0000a1b4 , 0x00000000 }, 1376 { 0x0000a1b8 , 0x00000000 }, 1377 { 0x0000a1bc , 0x00000000 }, 1378 { 0x0000a1c0 , 0x00000000 }, 1379 { 0x0000a1c4 , 0x00000000 }, 1380 { 0x0000a1c8 , 0x00000000 }, 1381 { 0x0000a1cc , 0x00000000 }, 1382 { 0x0000a1d0 , 0x00000000 }, 1383 { 0x0000a1d4 , 0x00000000 }, 1384 { 0x0000a1d8 , 0x00000000 }, 1385 { 0x0000a1dc , 0x00000000 }, 1386 { 0x0000a1e0 , 0x00000000 }, 1387 { 0x0000a1e4 , 0x00000000 }, 1388 { 0x0000a1e8 , 0x00000000 }, 1389 { 0x0000a1ec , 0x00000000 }, 1390 { 0x0000a1f0 , 0x00000396 }, 1391 { 0x0000a1f4 , 0x00000396 }, 1392 { 0x0000a1f8 , 0x00000396 }, 1393 { 0x0000a1fc , 0x00000196 }, 1394 { 0x0000b000 , 0x00010000 }, 1395 { 0x0000b004 , 0x00030002 }, 1396 { 0x0000b008 , 0x00050004 }, 1397 { 0x0000b00c , 0x00810080 }, 1398 { 0x0000b010 , 0x00830082 }, 1399 { 0x0000b014 , 0x01810180 }, 1400 { 0x0000b018 , 0x01830182 }, 1401 { 0x0000b01c , 0x01850184 }, 1402 { 0x0000b020 , 0x02810280 }, 1403 { 0x0000b024 , 0x02830282 }, 1404 { 0x0000b028 , 0x02850284 }, 1405 { 0x0000b02c , 0x02890288 }, 1406 { 0x0000b030 , 0x028b028a }, 1407 { 0x0000b034 , 0x0388028c }, 1408 { 0x0000b038 , 0x038a0389 }, 1409 { 0x0000b03c , 0x038c038b }, 1410 { 0x0000b040 , 0x0390038d }, 1411 { 0x0000b044 , 0x03920391 }, 1412 { 0x0000b048 , 0x03940393 }, 1413 { 0x0000b04c , 0x03960395 }, 1414 { 0x0000b050 , 0x00000000 }, 1415 { 0x0000b054 , 0x00000000 }, 1416 { 0x0000b058 , 0x00000000 }, 1417 { 0x0000b05c , 0x00000000 }, 1418 { 0x0000b060 , 0x00000000 }, 1419 { 0x0000b064 , 0x00000000 }, 1420 { 0x0000b068 , 0x00000000 }, 1421 { 0x0000b06c , 0x00000000 }, 1422 { 0x0000b070 , 0x00000000 }, 1423 { 0x0000b074 , 0x00000000 }, 1424 { 0x0000b078 , 0x00000000 }, 1425 { 0x0000b07c , 0x00000000 }, 1426 { 0x0000b080 , 0x32323232 }, 1427 { 0x0000b084 , 0x2f2f3232 }, 1428 { 0x0000b088 , 0x23282a2d }, 1429 { 0x0000b08c , 0x1c1e2123 }, 1430 { 0x0000b090 , 0x14171919 }, 1431 { 0x0000b094 , 0x0e0e1214 }, 1432 { 0x0000b098 , 0x03050707 }, 1433 { 0x0000b09c , 0x00030303 }, 1434 { 0x0000b0a0 , 0x00000000 }, 1435 { 0x0000b0a4 , 0x00000000 }, 1436 { 0x0000b0a8 , 0x00000000 }, 1437 { 0x0000b0ac , 0x00000000 }, 1438 { 0x0000b0b0 , 0x00000000 }, 1439 { 0x0000b0b4 , 0x00000000 }, 1440 { 0x0000b0b8 , 0x00000000 }, 1441 { 0x0000b0bc , 0x00000000 }, 1442 { 0x0000b0c0 , 0x003f0020 }, 1443 { 0x0000b0c4 , 0x00400041 }, 1444 { 0x0000b0c8 , 0x0140005f }, 1445 { 0x0000b0cc , 0x0160015f }, 1446 { 0x0000b0d0 , 0x017e017f }, 1447 { 0x0000b0d4 , 0x02410242 }, 1448 { 0x0000b0d8 , 0x025f0240 }, 1449 { 0x0000b0dc , 0x027f0260 }, 1450 { 0x0000b0e0 , 0x0341027e }, 1451 { 0x0000b0e4 , 0x035f0340 }, 1452 { 0x0000b0e8 , 0x037f0360 }, 1453 { 0x0000b0ec , 0x04400441 }, 1454 { 0x0000b0f0 , 0x0460045f }, 1455 { 0x0000b0f4 , 0x0541047f }, 1456 { 0x0000b0f8 , 0x055f0540 }, 1457 { 0x0000b0fc , 0x057f0560 }, 1458 { 0x0000b100 , 0x06400641 }, 1459 { 0x0000b104 , 0x0660065f }, 1460 { 0x0000b108 , 0x067e067f }, 1461 { 0x0000b10c , 0x07410742 }, 1462 { 0x0000b110 , 0x075f0740 }, 1463 { 0x0000b114 , 0x077f0760 }, 1464 { 0x0000b118 , 0x07800781 }, 1465 { 0x0000b11c , 0x07a0079f }, 1466 { 0x0000b120 , 0x07c107bf }, 1467 { 0x0000b124 , 0x000007c0 }, 1468 { 0x0000b128 , 0x00000000 }, 1469 { 0x0000b12c , 0x00000000 }, 1470 { 0x0000b130 , 0x00000000 }, 1471 { 0x0000b134 , 0x00000000 }, 1472 { 0x0000b138 , 0x00000000 }, 1473 { 0x0000b13c , 0x00000000 }, 1474 { 0x0000b140 , 0x003f0020 }, 1475 { 0x0000b144 , 0x00400041 }, 1476 { 0x0000b148 , 0x0140005f }, 1477 { 0x0000b14c , 0x0160015f }, 1478 { 0x0000b150 , 0x017e017f }, 1479 { 0x0000b154 , 0x02410242 }, 1480 { 0x0000b158 , 0x025f0240 }, 1481 { 0x0000b15c , 0x027f0260 }, 1482 { 0x0000b160 , 0x0341027e }, 1483 { 0x0000b164 , 0x035f0340 }, 1484 { 0x0000b168 , 0x037f0360 }, 1485 { 0x0000b16c , 0x04400441 }, 1486 { 0x0000b170 , 0x0460045f }, 1487 { 0x0000b174 , 0x0541047f }, 1488 { 0x0000b178 , 0x055f0540 }, 1489 { 0x0000b17c , 0x057f0560 }, 1490 { 0x0000b180 , 0x06400641 }, 1491 { 0x0000b184 , 0x0660065f }, 1492 { 0x0000b188 , 0x067e067f }, 1493 { 0x0000b18c , 0x07410742 }, 1494 { 0x0000b190 , 0x075f0740 }, 1495 { 0x0000b194 , 0x077f0760 }, 1496 { 0x0000b198 , 0x07800781 }, 1497 { 0x0000b19c , 0x07a0079f }, 1498 { 0x0000b1a0 , 0x07c107bf }, 1499 { 0x0000b1a4 , 0x000007c0 }, 1500 { 0x0000b1a8 , 0x00000000 }, 1501 { 0x0000b1ac , 0x00000000 }, 1502 { 0x0000b1b0 , 0x00000000 }, 1503 { 0x0000b1b4 , 0x00000000 }, 1504 { 0x0000b1b8 , 0x00000000 }, 1505 { 0x0000b1bc , 0x00000000 }, 1506 { 0x0000b1c0 , 0x00000000 }, 1507 { 0x0000b1c4 , 0x00000000 }, 1508 { 0x0000b1c8 , 0x00000000 }, 1509 { 0x0000b1cc , 0x00000000 }, 1510 { 0x0000b1d0 , 0x00000000 }, 1511 { 0x0000b1d4 , 0x00000000 }, 1512 { 0x0000b1d8 , 0x00000000 }, 1513 { 0x0000b1dc , 0x00000000 }, 1514 { 0x0000b1e0 , 0x00000000 }, 1515 { 0x0000b1e4 , 0x00000000 }, 1516 { 0x0000b1e8 , 0x00000000 }, 1517 { 0x0000b1ec , 0x00000000 }, 1518 { 0x0000b1f0 , 0x00000396 }, 1519 { 0x0000b1f4 , 0x00000396 }, 1520 { 0x0000b1f8 , 0x00000396 }, 1521 { 0x0000b1fc , 0x00000196 }, 1522}; 1523 1524static const u_int32_t ar9300_ar9580_1p0_soc_postamble[][5] = { 1525/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 1526 { 0x00007010 , 0x00000023 , 0x00000023 , 0x00000023 , 0x00000023 }, 1527}; 1528 1529static const u_int32_t ar9300_modes_type6_tx_gain_table_ar9580_1p0[][5] = { 1530/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 1531 { 0x0000a2dc , 0x000cfff0 , 0x000cfff0 , 0x03aaa352 , 0x03aaa352 }, 1532 { 0x0000a2e0 , 0x000f0000 , 0x000f0000 , 0x03ccc584 , 0x03ccc584 }, 1533 { 0x0000a2e4 , 0x03f00000 , 0x03f00000 , 0x03f0f800 , 0x03f0f800 }, 1534 { 0x0000a2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 1535 { 0x0000a410 , 0x000050d9 , 0x000050d9 , 0x000050d9 , 0x000050d9 }, 1536 { 0x0000a500 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 1537 { 0x0000a504 , 0x06000003 , 0x06000003 , 0x04000002 , 0x04000002 }, 1538 { 0x0000a508 , 0x0a000020 , 0x0a000020 , 0x08000004 , 0x08000004 }, 1539 { 0x0000a50c , 0x10000023 , 0x10000023 , 0x0b000200 , 0x0b000200 }, 1540 { 0x0000a510 , 0x15000028 , 0x15000028 , 0x0f000202 , 0x0f000202 }, 1541 { 0x0000a514 , 0x1b00002b , 0x1b00002b , 0x12000400 , 0x12000400 }, 1542 { 0x0000a518 , 0x1f020028 , 0x1f020028 , 0x16000402 , 0x16000402 }, 1543 { 0x0000a51c , 0x2502002b , 0x2502002b , 0x19000404 , 0x19000404 }, 1544 { 0x0000a520 , 0x2a04002a , 0x2a04002a , 0x1c000603 , 0x1c000603 }, 1545 { 0x0000a524 , 0x2e06002a , 0x2e06002a , 0x21000a02 , 0x21000a02 }, 1546 { 0x0000a528 , 0x3302202d , 0x3302202d , 0x25000a04 , 0x25000a04 }, 1547 { 0x0000a52c , 0x3804202c , 0x3804202c , 0x28000a20 , 0x28000a20 }, 1548 { 0x0000a530 , 0x3c06202c , 0x3c06202c , 0x2c000e20 , 0x2c000e20 }, 1549 { 0x0000a534 , 0x4108202d , 0x4108202d , 0x30000e22 , 0x30000e22 }, 1550 { 0x0000a538 , 0x4506402d , 0x4506402d , 0x34000e24 , 0x34000e24 }, 1551 { 0x0000a53c , 0x4906222d , 0x4906222d , 0x38001640 , 0x38001640 }, 1552 { 0x0000a540 , 0x4d062231 , 0x4d062231 , 0x3c001660 , 0x3c001660 }, 1553 { 0x0000a544 , 0x50082231 , 0x50082231 , 0x3f001861 , 0x3f001861 }, 1554 { 0x0000a548 , 0x5608422e , 0x5608422e , 0x43001a81 , 0x43001a81 }, 1555 { 0x0000a54c , 0x5e08442e , 0x5e08442e , 0x47001a83 , 0x47001a83 }, 1556 { 0x0000a550 , 0x620a4431 , 0x620a4431 , 0x4a001c84 , 0x4a001c84 }, 1557 { 0x0000a554 , 0x640a4432 , 0x640a4432 , 0x4e001ce3 , 0x4e001ce3 }, 1558 { 0x0000a558 , 0x680a4434 , 0x680a4434 , 0x52001ce5 , 0x52001ce5 }, 1559 { 0x0000a55c , 0x6c0a6434 , 0x6c0a6434 , 0x56001ce9 , 0x56001ce9 }, 1560 { 0x0000a560 , 0x6f0a6633 , 0x6f0a6633 , 0x5a001ceb , 0x5a001ceb }, 1561 { 0x0000a564 , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 1562 { 0x0000a568 , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 1563 { 0x0000a56c , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 1564 { 0x0000a570 , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 1565 { 0x0000a574 , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 1566 { 0x0000a578 , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 1567 { 0x0000a57c , 0x730c6634 , 0x730c6634 , 0x5d001eec , 0x5d001eec }, 1568 { 0x0000a600 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 1569 { 0x0000a604 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 1570 { 0x0000a608 , 0x01804601 , 0x01804601 , 0x00000000 , 0x00000000 }, 1571 { 0x0000a60c , 0x01804601 , 0x01804601 , 0x00000000 , 0x00000000 }, 1572 { 0x0000a610 , 0x01804601 , 0x01804601 , 0x00000000 , 0x00000000 }, 1573 { 0x0000a614 , 0x01804601 , 0x01804601 , 0x01404000 , 0x01404000 }, 1574 { 0x0000a618 , 0x01804601 , 0x01804601 , 0x01404501 , 0x01404501 }, 1575 { 0x0000a61c , 0x01804601 , 0x01804601 , 0x02008501 , 0x02008501 }, 1576 { 0x0000a620 , 0x03408d02 , 0x03408d02 , 0x0280ca03 , 0x0280ca03 }, 1577 { 0x0000a624 , 0x0300cc03 , 0x0300cc03 , 0x03010c04 , 0x03010c04 }, 1578 { 0x0000a628 , 0x03410d04 , 0x03410d04 , 0x04014c04 , 0x04014c04 }, 1579 { 0x0000a62c , 0x03410d04 , 0x03410d04 , 0x04015005 , 0x04015005 }, 1580 { 0x0000a630 , 0x03410d04 , 0x03410d04 , 0x04015005 , 0x04015005 }, 1581 { 0x0000a634 , 0x03410d04 , 0x03410d04 , 0x04015005 , 0x04015005 }, 1582 { 0x0000a638 , 0x03410d04 , 0x03410d04 , 0x04015005 , 0x04015005 }, 1583 { 0x0000a63c , 0x03410d04 , 0x03410d04 , 0x04015005 , 0x04015005 }, 1584 { 0x0000b2dc , 0x000cfff0 , 0x000cfff0 , 0x03aaa352 , 0x03aaa352 }, 1585 { 0x0000b2e0 , 0x000f0000 , 0x000f0000 , 0x03ccc584 , 0x03ccc584 }, 1586 { 0x0000b2e4 , 0x03f00000 , 0x03f00000 , 0x03f0f800 , 0x03f0f800 }, 1587 { 0x0000b2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 1588 { 0x0000c2dc , 0x000cfff0 , 0x000cfff0 , 0x03aaa352 , 0x03aaa352 }, 1589 { 0x0000c2e0 , 0x000f0000 , 0x000f0000 , 0x03ccc584 , 0x03ccc584 }, 1590 { 0x0000c2e4 , 0x03f00000 , 0x03f00000 , 0x03f0f800 , 0x03f0f800 }, 1591 { 0x0000c2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 1592 { 0x00016044 , 0x012492d4 , 0x012492d4 , 0x012492d4 , 0x012492d4 }, 1593 { 0x00016048 , 0x61200001 , 0x61200001 , 0x66480001 , 0x66480001 }, 1594 { 0x00016068 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 1595 { 0x00016444 , 0x012492d4 , 0x012492d4 , 0x012492d4 , 0x012492d4 }, 1596 { 0x00016448 , 0x61200001 , 0x61200001 , 0x66480001 , 0x66480001 }, 1597 { 0x00016468 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 1598 { 0x00016844 , 0x012492d4 , 0x012492d4 , 0x012492d4 , 0x012492d4 }, 1599 { 0x00016848 , 0x61200001 , 0x61200001 , 0x66480001 , 0x66480001 }, 1600 { 0x00016868 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 1601}; 1602 1603static const u_int32_t ar9300Modes_high_ob_db_tx_gain_table_ar9580_1p0[][5] = { 1604/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 1605 { 0x0000a2dc , 0x01feee00 , 0x01feee00 , 0x03aaa352 , 0x03aaa352 }, 1606 { 0x0000a2e0 , 0x0000f000 , 0x0000f000 , 0x03ccc584 , 0x03ccc584 }, 1607 { 0x0000a2e4 , 0x01ff0000 , 0x01ff0000 , 0x03f0f800 , 0x03f0f800 }, 1608 { 0x0000a2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 1609 { 0x0000a410 , 0x000050d4 , 0x000050d4 , 0x000050d9 , 0x000050d9 }, 1610 { 0x0000a500 , 0x00002220 , 0x00002220 , 0x00000000 , 0x00000000 }, 1611 { 0x0000a504 , 0x04002222 , 0x04002222 , 0x04000002 , 0x04000002 }, 1612 { 0x0000a508 , 0x09002421 , 0x09002421 , 0x08000004 , 0x08000004 }, 1613 { 0x0000a50c , 0x0d002621 , 0x0d002621 , 0x0b000200 , 0x0b000200 }, 1614 { 0x0000a510 , 0x13004620 , 0x13004620 , 0x0f000202 , 0x0f000202 }, 1615 { 0x0000a514 , 0x19004a20 , 0x19004a20 , 0x11000400 , 0x11000400 }, 1616 { 0x0000a518 , 0x1d004e20 , 0x1d004e20 , 0x15000402 , 0x15000402 }, 1617 { 0x0000a51c , 0x21005420 , 0x21005420 , 0x19000404 , 0x19000404 }, 1618 { 0x0000a520 , 0x26005e20 , 0x26005e20 , 0x1b000603 , 0x1b000603 }, 1619 { 0x0000a524 , 0x2b005e40 , 0x2b005e40 , 0x1f000a02 , 0x1f000a02 }, 1620 { 0x0000a528 , 0x2f005e42 , 0x2f005e42 , 0x23000a04 , 0x23000a04 }, 1621 { 0x0000a52c , 0x33005e44 , 0x33005e44 , 0x26000a20 , 0x26000a20 }, 1622 { 0x0000a530 , 0x38005e65 , 0x38005e65 , 0x2a000e20 , 0x2a000e20 }, 1623 { 0x0000a534 , 0x3c005e69 , 0x3c005e69 , 0x2e000e22 , 0x2e000e22 }, 1624 { 0x0000a538 , 0x40005e6b , 0x40005e6b , 0x31000e24 , 0x31000e24 }, 1625 { 0x0000a53c , 0x44005e6d , 0x44005e6d , 0x34001640 , 0x34001640 }, 1626 { 0x0000a540 , 0x49005e72 , 0x49005e72 , 0x38001660 , 0x38001660 }, 1627 { 0x0000a544 , 0x4e005eb2 , 0x4e005eb2 , 0x3b001861 , 0x3b001861 }, 1628 { 0x0000a548 , 0x53005f12 , 0x53005f12 , 0x3e001a81 , 0x3e001a81 }, 1629 { 0x0000a54c , 0x59025eb2 , 0x59025eb2 , 0x42001a83 , 0x42001a83 }, 1630 { 0x0000a550 , 0x5e025f12 , 0x5e025f12 , 0x44001c84 , 0x44001c84 }, 1631 { 0x0000a554 , 0x61027f12 , 0x61027f12 , 0x48001ce3 , 0x48001ce3 }, 1632 { 0x0000a558 , 0x6702bf12 , 0x6702bf12 , 0x4c001ce5 , 0x4c001ce5 }, 1633 { 0x0000a55c , 0x6b02bf14 , 0x6b02bf14 , 0x50001ce9 , 0x50001ce9 }, 1634 { 0x0000a560 , 0x6f02bf16 , 0x6f02bf16 , 0x54001ceb , 0x54001ceb }, 1635 { 0x0000a564 , 0x6f02bf16 , 0x6f02bf16 , 0x56001eec , 0x56001eec }, 1636 { 0x0000a568 , 0x6f02bf16 , 0x6f02bf16 , 0x56001eec , 0x56001eec }, 1637 { 0x0000a56c , 0x6f02bf16 , 0x6f02bf16 , 0x56001eec , 0x56001eec }, 1638 { 0x0000a570 , 0x6f02bf16 , 0x6f02bf16 , 0x56001eec , 0x56001eec }, 1639 { 0x0000a574 , 0x6f02bf16 , 0x6f02bf16 , 0x56001eec , 0x56001eec }, 1640 { 0x0000a578 , 0x6f02bf16 , 0x6f02bf16 , 0x56001eec , 0x56001eec }, 1641 { 0x0000a57c , 0x6f02bf16 , 0x6f02bf16 , 0x56001eec , 0x56001eec }, 1642 { 0x0000a580 , 0x00802220 , 0x00802220 , 0x00800000 , 0x00800000 }, 1643 { 0x0000a584 , 0x04802222 , 0x04802222 , 0x04800002 , 0x04800002 }, 1644 { 0x0000a588 , 0x09802421 , 0x09802421 , 0x08800004 , 0x08800004 }, 1645 { 0x0000a58c , 0x0d802621 , 0x0d802621 , 0x0b800200 , 0x0b800200 }, 1646 { 0x0000a590 , 0x13804620 , 0x13804620 , 0x0f800202 , 0x0f800202 }, 1647 { 0x0000a594 , 0x19804a20 , 0x19804a20 , 0x11800400 , 0x11800400 }, 1648 { 0x0000a598 , 0x1d804e20 , 0x1d804e20 , 0x15800402 , 0x15800402 }, 1649 { 0x0000a59c , 0x21805420 , 0x21805420 , 0x19800404 , 0x19800404 }, 1650 { 0x0000a5a0 , 0x26805e20 , 0x26805e20 , 0x1b800603 , 0x1b800603 }, 1651 { 0x0000a5a4 , 0x2b805e40 , 0x2b805e40 , 0x1f800a02 , 0x1f800a02 }, 1652 { 0x0000a5a8 , 0x2f805e42 , 0x2f805e42 , 0x23800a04 , 0x23800a04 }, 1653 { 0x0000a5ac , 0x33805e44 , 0x33805e44 , 0x26800a20 , 0x26800a20 }, 1654 { 0x0000a5b0 , 0x38805e65 , 0x38805e65 , 0x2a800e20 , 0x2a800e20 }, 1655 { 0x0000a5b4 , 0x3c805e69 , 0x3c805e69 , 0x2e800e22 , 0x2e800e22 }, 1656 { 0x0000a5b8 , 0x40805e6b , 0x40805e6b , 0x31800e24 , 0x31800e24 }, 1657 { 0x0000a5bc , 0x44805e6d , 0x44805e6d , 0x34801640 , 0x34801640 }, 1658 { 0x0000a5c0 , 0x49805e72 , 0x49805e72 , 0x38801660 , 0x38801660 }, 1659 { 0x0000a5c4 , 0x4e805eb2 , 0x4e805eb2 , 0x3b801861 , 0x3b801861 }, 1660 { 0x0000a5c8 , 0x53805f12 , 0x53805f12 , 0x3e801a81 , 0x3e801a81 }, 1661 { 0x0000a5cc , 0x59825eb2 , 0x59825eb2 , 0x42801a83 , 0x42801a83 }, 1662 { 0x0000a5d0 , 0x5e825f12 , 0x5e825f12 , 0x44801c84 , 0x44801c84 }, 1663 { 0x0000a5d4 , 0x61827f12 , 0x61827f12 , 0x48801ce3 , 0x48801ce3 }, 1664 { 0x0000a5d8 , 0x6782bf12 , 0x6782bf12 , 0x4c801ce5 , 0x4c801ce5 }, 1665 { 0x0000a5dc , 0x6b82bf14 , 0x6b82bf14 , 0x50801ce9 , 0x50801ce9 }, 1666 { 0x0000a5e0 , 0x6f82bf16 , 0x6f82bf16 , 0x54801ceb , 0x54801ceb }, 1667 { 0x0000a5e4 , 0x6f82bf16 , 0x6f82bf16 , 0x56801eec , 0x56801eec }, 1668 { 0x0000a5e8 , 0x6f82bf16 , 0x6f82bf16 , 0x56801eec , 0x56801eec }, 1669 { 0x0000a5ec , 0x6f82bf16 , 0x6f82bf16 , 0x56801eec , 0x56801eec }, 1670 { 0x0000a5f0 , 0x6f82bf16 , 0x6f82bf16 , 0x56801eec , 0x56801eec }, 1671 { 0x0000a5f4 , 0x6f82bf16 , 0x6f82bf16 , 0x56801eec , 0x56801eec }, 1672 { 0x0000a5f8 , 0x6f82bf16 , 0x6f82bf16 , 0x56801eec , 0x56801eec }, 1673 { 0x0000a5fc , 0x6f82bf16 , 0x6f82bf16 , 0x56801eec , 0x56801eec }, 1674 { 0x0000a600 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 1675 { 0x0000a604 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 1676 { 0x0000a608 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 1677 { 0x0000a60c , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 1678 { 0x0000a610 , 0x00804000 , 0x00804000 , 0x00000000 , 0x00000000 }, 1679 { 0x0000a614 , 0x00804201 , 0x00804201 , 0x01404000 , 0x01404000 }, 1680 { 0x0000a618 , 0x0280c802 , 0x0280c802 , 0x01404501 , 0x01404501 }, 1681 { 0x0000a61c , 0x0280ca03 , 0x0280ca03 , 0x02008501 , 0x02008501 }, 1682 { 0x0000a620 , 0x04c15104 , 0x04c15104 , 0x0280ca03 , 0x0280ca03 }, 1683 { 0x0000a624 , 0x04c15305 , 0x04c15305 , 0x03010c04 , 0x03010c04 }, 1684 { 0x0000a628 , 0x04c15305 , 0x04c15305 , 0x04014c04 , 0x04014c04 }, 1685 { 0x0000a62c , 0x04c15305 , 0x04c15305 , 0x04015005 , 0x04015005 }, 1686 { 0x0000a630 , 0x04c15305 , 0x04c15305 , 0x04015005 , 0x04015005 }, 1687 { 0x0000a634 , 0x04c15305 , 0x04c15305 , 0x04015005 , 0x04015005 }, 1688 { 0x0000a638 , 0x04c15305 , 0x04c15305 , 0x04015005 , 0x04015005 }, 1689 { 0x0000a63c , 0x04c15305 , 0x04c15305 , 0x04015005 , 0x04015005 }, 1690 { 0x0000b2dc , 0x01feee00 , 0x01feee00 , 0x03aaa352 , 0x03aaa352 }, 1691 { 0x0000b2e0 , 0x0000f000 , 0x0000f000 , 0x03ccc584 , 0x03ccc584 }, 1692 { 0x0000b2e4 , 0x01ff0000 , 0x01ff0000 , 0x03f0f800 , 0x03f0f800 }, 1693 { 0x0000b2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 1694 { 0x0000c2dc , 0x01feee00 , 0x01feee00 , 0x03aaa352 , 0x03aaa352 }, 1695 { 0x0000c2e0 , 0x0000f000 , 0x0000f000 , 0x03ccc584 , 0x03ccc584 }, 1696 { 0x0000c2e4 , 0x01ff0000 , 0x01ff0000 , 0x03f0f800 , 0x03f0f800 }, 1697 { 0x0000c2e8 , 0x00000000 , 0x00000000 , 0x03ff0000 , 0x03ff0000 }, 1698 { 0x00016044 , 0x056db2e4 , 0x056db2e4 , 0x056db2e4 , 0x056db2e4 }, 1699 { 0x00016048 , 0x8e480001 , 0x8e480001 , 0x8e480001 , 0x8e480001 }, 1700 { 0x00016068 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 1701 { 0x00016444 , 0x056db2e4 , 0x056db2e4 , 0x056db2e4 , 0x056db2e4 }, 1702 { 0x00016448 , 0x8e480001 , 0x8e480001 , 0x8e480001 , 0x8e480001 }, 1703 { 0x00016468 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 1704 { 0x00016844 , 0x056db2e4 , 0x056db2e4 , 0x056db2e4 , 0x056db2e4 }, 1705 { 0x00016848 , 0x8e480001 , 0x8e480001 , 0x8e480001 , 0x8e480001 }, 1706 { 0x00016868 , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c , 0x6db6db6c }, 1707}; 1708 1709static const u_int32_t ar9300_ar9580_1p0_soc_preamble[][2] = { 1710/* Addr allmodes */ 1711 { 0x000040a4 , 0x00a0c1c9 }, 1712 { 0x00007008 , 0x00000000 }, 1713 { 0x00007020 , 0x00000000 }, 1714 { 0x00007034 , 0x00000002 }, 1715 { 0x00007038 , 0x000004c2 }, 1716 { 0x00007048 , 0x00000008 }, 1717}; 1718 1719static const u_int32_t ar9300_common_rx_gain_table_ar9580_1p0[][2] = { 1720/* Addr allmodes */ 1721 { 0x0000a000 , 0x00010000 }, 1722 { 0x0000a004 , 0x00030002 }, 1723 { 0x0000a008 , 0x00050004 }, 1724 { 0x0000a00c , 0x00810080 }, 1725 { 0x0000a010 , 0x00830082 }, 1726 { 0x0000a014 , 0x01810180 }, 1727 { 0x0000a018 , 0x01830182 }, 1728 { 0x0000a01c , 0x01850184 }, 1729 { 0x0000a020 , 0x01890188 }, 1730 { 0x0000a024 , 0x018b018a }, 1731 { 0x0000a028 , 0x018d018c }, 1732 { 0x0000a02c , 0x01910190 }, 1733 { 0x0000a030 , 0x01930192 }, 1734 { 0x0000a034 , 0x01950194 }, 1735 { 0x0000a038 , 0x038a0196 }, 1736 { 0x0000a03c , 0x038c038b }, 1737 { 0x0000a040 , 0x0390038d }, 1738 { 0x0000a044 , 0x03920391 }, 1739 { 0x0000a048 , 0x03940393 }, 1740 { 0x0000a04c , 0x03960395 }, 1741 { 0x0000a050 , 0x00000000 }, 1742 { 0x0000a054 , 0x00000000 }, 1743 { 0x0000a058 , 0x00000000 }, 1744 { 0x0000a05c , 0x00000000 }, 1745 { 0x0000a060 , 0x00000000 }, 1746 { 0x0000a064 , 0x00000000 }, 1747 { 0x0000a068 , 0x00000000 }, 1748 { 0x0000a06c , 0x00000000 }, 1749 { 0x0000a070 , 0x00000000 }, 1750 { 0x0000a074 , 0x00000000 }, 1751 { 0x0000a078 , 0x00000000 }, 1752 { 0x0000a07c , 0x00000000 }, 1753 { 0x0000a080 , 0x22222229 }, 1754 { 0x0000a084 , 0x1d1d1d1d }, 1755 { 0x0000a088 , 0x1d1d1d1d }, 1756 { 0x0000a08c , 0x1d1d1d1d }, 1757 { 0x0000a090 , 0x171d1d1d }, 1758 { 0x0000a094 , 0x11111717 }, 1759 { 0x0000a098 , 0x00030311 }, 1760 { 0x0000a09c , 0x00000000 }, 1761 { 0x0000a0a0 , 0x00000000 }, 1762 { 0x0000a0a4 , 0x00000000 }, 1763 { 0x0000a0a8 , 0x00000000 }, 1764 { 0x0000a0ac , 0x00000000 }, 1765 { 0x0000a0b0 , 0x00000000 }, 1766 { 0x0000a0b4 , 0x00000000 }, 1767 { 0x0000a0b8 , 0x00000000 }, 1768 { 0x0000a0bc , 0x00000000 }, 1769 { 0x0000a0c0 , 0x001f0000 }, 1770 { 0x0000a0c4 , 0x01000101 }, 1771 { 0x0000a0c8 , 0x011e011f }, 1772 { 0x0000a0cc , 0x011c011d }, 1773 { 0x0000a0d0 , 0x02030204 }, 1774 { 0x0000a0d4 , 0x02010202 }, 1775 { 0x0000a0d8 , 0x021f0200 }, 1776 { 0x0000a0dc , 0x0302021e }, 1777 { 0x0000a0e0 , 0x03000301 }, 1778 { 0x0000a0e4 , 0x031e031f }, 1779 { 0x0000a0e8 , 0x0402031d }, 1780 { 0x0000a0ec , 0x04000401 }, 1781 { 0x0000a0f0 , 0x041e041f }, 1782 { 0x0000a0f4 , 0x0502041d }, 1783 { 0x0000a0f8 , 0x05000501 }, 1784 { 0x0000a0fc , 0x051e051f }, 1785 { 0x0000a100 , 0x06010602 }, 1786 { 0x0000a104 , 0x061f0600 }, 1787 { 0x0000a108 , 0x061d061e }, 1788 { 0x0000a10c , 0x07020703 }, 1789 { 0x0000a110 , 0x07000701 }, 1790 { 0x0000a114 , 0x00000000 }, 1791 { 0x0000a118 , 0x00000000 }, 1792 { 0x0000a11c , 0x00000000 }, 1793 { 0x0000a120 , 0x00000000 }, 1794 { 0x0000a124 , 0x00000000 }, 1795 { 0x0000a128 , 0x00000000 }, 1796 { 0x0000a12c , 0x00000000 }, 1797 { 0x0000a130 , 0x00000000 }, 1798 { 0x0000a134 , 0x00000000 }, 1799 { 0x0000a138 , 0x00000000 }, 1800 { 0x0000a13c , 0x00000000 }, 1801 { 0x0000a140 , 0x001f0000 }, 1802 { 0x0000a144 , 0x01000101 }, 1803 { 0x0000a148 , 0x011e011f }, 1804 { 0x0000a14c , 0x011c011d }, 1805 { 0x0000a150 , 0x02030204 }, 1806 { 0x0000a154 , 0x02010202 }, 1807 { 0x0000a158 , 0x021f0200 }, 1808 { 0x0000a15c , 0x0302021e }, 1809 { 0x0000a160 , 0x03000301 }, 1810 { 0x0000a164 , 0x031e031f }, 1811 { 0x0000a168 , 0x0402031d }, 1812 { 0x0000a16c , 0x04000401 }, 1813 { 0x0000a170 , 0x041e041f }, 1814 { 0x0000a174 , 0x0502041d }, 1815 { 0x0000a178 , 0x05000501 }, 1816 { 0x0000a17c , 0x051e051f }, 1817 { 0x0000a180 , 0x06010602 }, 1818 { 0x0000a184 , 0x061f0600 }, 1819 { 0x0000a188 , 0x061d061e }, 1820 { 0x0000a18c , 0x07020703 }, 1821 { 0x0000a190 , 0x07000701 }, 1822 { 0x0000a194 , 0x00000000 }, 1823 { 0x0000a198 , 0x00000000 }, 1824 { 0x0000a19c , 0x00000000 }, 1825 { 0x0000a1a0 , 0x00000000 }, 1826 { 0x0000a1a4 , 0x00000000 }, 1827 { 0x0000a1a8 , 0x00000000 }, 1828 { 0x0000a1ac , 0x00000000 }, 1829 { 0x0000a1b0 , 0x00000000 }, 1830 { 0x0000a1b4 , 0x00000000 }, 1831 { 0x0000a1b8 , 0x00000000 }, 1832 { 0x0000a1bc , 0x00000000 }, 1833 { 0x0000a1c0 , 0x00000000 }, 1834 { 0x0000a1c4 , 0x00000000 }, 1835 { 0x0000a1c8 , 0x00000000 }, 1836 { 0x0000a1cc , 0x00000000 }, 1837 { 0x0000a1d0 , 0x00000000 }, 1838 { 0x0000a1d4 , 0x00000000 }, 1839 { 0x0000a1d8 , 0x00000000 }, 1840 { 0x0000a1dc , 0x00000000 }, 1841 { 0x0000a1e0 , 0x00000000 }, 1842 { 0x0000a1e4 , 0x00000000 }, 1843 { 0x0000a1e8 , 0x00000000 }, 1844 { 0x0000a1ec , 0x00000000 }, 1845 { 0x0000a1f0 , 0x00000396 }, 1846 { 0x0000a1f4 , 0x00000396 }, 1847 { 0x0000a1f8 , 0x00000396 }, 1848 { 0x0000a1fc , 0x00000196 }, 1849 { 0x0000b000 , 0x00010000 }, 1850 { 0x0000b004 , 0x00030002 }, 1851 { 0x0000b008 , 0x00050004 }, 1852 { 0x0000b00c , 0x00810080 }, 1853 { 0x0000b010 , 0x00830082 }, 1854 { 0x0000b014 , 0x01810180 }, 1855 { 0x0000b018 , 0x01830182 }, 1856 { 0x0000b01c , 0x01850184 }, 1857 { 0x0000b020 , 0x02810280 }, 1858 { 0x0000b024 , 0x02830282 }, 1859 { 0x0000b028 , 0x02850284 }, 1860 { 0x0000b02c , 0x02890288 }, 1861 { 0x0000b030 , 0x028b028a }, 1862 { 0x0000b034 , 0x0388028c }, 1863 { 0x0000b038 , 0x038a0389 }, 1864 { 0x0000b03c , 0x038c038b }, 1865 { 0x0000b040 , 0x0390038d }, 1866 { 0x0000b044 , 0x03920391 }, 1867 { 0x0000b048 , 0x03940393 }, 1868 { 0x0000b04c , 0x03960395 }, 1869 { 0x0000b050 , 0x00000000 }, 1870 { 0x0000b054 , 0x00000000 }, 1871 { 0x0000b058 , 0x00000000 }, 1872 { 0x0000b05c , 0x00000000 }, 1873 { 0x0000b060 , 0x00000000 }, 1874 { 0x0000b064 , 0x00000000 }, 1875 { 0x0000b068 , 0x00000000 }, 1876 { 0x0000b06c , 0x00000000 }, 1877 { 0x0000b070 , 0x00000000 }, 1878 { 0x0000b074 , 0x00000000 }, 1879 { 0x0000b078 , 0x00000000 }, 1880 { 0x0000b07c , 0x00000000 }, 1881 { 0x0000b080 , 0x23232323 }, 1882 { 0x0000b084 , 0x21232323 }, 1883 { 0x0000b088 , 0x19191c1e }, 1884 { 0x0000b08c , 0x12141417 }, 1885 { 0x0000b090 , 0x07070e0e }, 1886 { 0x0000b094 , 0x03030305 }, 1887 { 0x0000b098 , 0x00000003 }, 1888 { 0x0000b09c , 0x00000000 }, 1889 { 0x0000b0a0 , 0x00000000 }, 1890 { 0x0000b0a4 , 0x00000000 }, 1891 { 0x0000b0a8 , 0x00000000 }, 1892 { 0x0000b0ac , 0x00000000 }, 1893 { 0x0000b0b0 , 0x00000000 }, 1894 { 0x0000b0b4 , 0x00000000 }, 1895 { 0x0000b0b8 , 0x00000000 }, 1896 { 0x0000b0bc , 0x00000000 }, 1897 { 0x0000b0c0 , 0x003f0020 }, 1898 { 0x0000b0c4 , 0x00400041 }, 1899 { 0x0000b0c8 , 0x0140005f }, 1900 { 0x0000b0cc , 0x0160015f }, 1901 { 0x0000b0d0 , 0x017e017f }, 1902 { 0x0000b0d4 , 0x02410242 }, 1903 { 0x0000b0d8 , 0x025f0240 }, 1904 { 0x0000b0dc , 0x027f0260 }, 1905 { 0x0000b0e0 , 0x0341027e }, 1906 { 0x0000b0e4 , 0x035f0340 }, 1907 { 0x0000b0e8 , 0x037f0360 }, 1908 { 0x0000b0ec , 0x04400441 }, 1909 { 0x0000b0f0 , 0x0460045f }, 1910 { 0x0000b0f4 , 0x0541047f }, 1911 { 0x0000b0f8 , 0x055f0540 }, 1912 { 0x0000b0fc , 0x057f0560 }, 1913 { 0x0000b100 , 0x06400641 }, 1914 { 0x0000b104 , 0x0660065f }, 1915 { 0x0000b108 , 0x067e067f }, 1916 { 0x0000b10c , 0x07410742 }, 1917 { 0x0000b110 , 0x075f0740 }, 1918 { 0x0000b114 , 0x077f0760 }, 1919 { 0x0000b118 , 0x07800781 }, 1920 { 0x0000b11c , 0x07a0079f }, 1921 { 0x0000b120 , 0x07c107bf }, 1922 { 0x0000b124 , 0x000007c0 }, 1923 { 0x0000b128 , 0x00000000 }, 1924 { 0x0000b12c , 0x00000000 }, 1925 { 0x0000b130 , 0x00000000 }, 1926 { 0x0000b134 , 0x00000000 }, 1927 { 0x0000b138 , 0x00000000 }, 1928 { 0x0000b13c , 0x00000000 }, 1929 { 0x0000b140 , 0x003f0020 }, 1930 { 0x0000b144 , 0x00400041 }, 1931 { 0x0000b148 , 0x0140005f }, 1932 { 0x0000b14c , 0x0160015f }, 1933 { 0x0000b150 , 0x017e017f }, 1934 { 0x0000b154 , 0x02410242 }, 1935 { 0x0000b158 , 0x025f0240 }, 1936 { 0x0000b15c , 0x027f0260 }, 1937 { 0x0000b160 , 0x0341027e }, 1938 { 0x0000b164 , 0x035f0340 }, 1939 { 0x0000b168 , 0x037f0360 }, 1940 { 0x0000b16c , 0x04400441 }, 1941 { 0x0000b170 , 0x0460045f }, 1942 { 0x0000b174 , 0x0541047f }, 1943 { 0x0000b178 , 0x055f0540 }, 1944 { 0x0000b17c , 0x057f0560 }, 1945 { 0x0000b180 , 0x06400641 }, 1946 { 0x0000b184 , 0x0660065f }, 1947 { 0x0000b188 , 0x067e067f }, 1948 { 0x0000b18c , 0x07410742 }, 1949 { 0x0000b190 , 0x075f0740 }, 1950 { 0x0000b194 , 0x077f0760 }, 1951 { 0x0000b198 , 0x07800781 }, 1952 { 0x0000b19c , 0x07a0079f }, 1953 { 0x0000b1a0 , 0x07c107bf }, 1954 { 0x0000b1a4 , 0x000007c0 }, 1955 { 0x0000b1a8 , 0x00000000 }, 1956 { 0x0000b1ac , 0x00000000 }, 1957 { 0x0000b1b0 , 0x00000000 }, 1958 { 0x0000b1b4 , 0x00000000 }, 1959 { 0x0000b1b8 , 0x00000000 }, 1960 { 0x0000b1bc , 0x00000000 }, 1961 { 0x0000b1c0 , 0x00000000 }, 1962 { 0x0000b1c4 , 0x00000000 }, 1963 { 0x0000b1c8 , 0x00000000 }, 1964 { 0x0000b1cc , 0x00000000 }, 1965 { 0x0000b1d0 , 0x00000000 }, 1966 { 0x0000b1d4 , 0x00000000 }, 1967 { 0x0000b1d8 , 0x00000000 }, 1968 { 0x0000b1dc , 0x00000000 }, 1969 { 0x0000b1e0 , 0x00000000 }, 1970 { 0x0000b1e4 , 0x00000000 }, 1971 { 0x0000b1e8 , 0x00000000 }, 1972 { 0x0000b1ec , 0x00000000 }, 1973 { 0x0000b1f0 , 0x00000396 }, 1974 { 0x0000b1f4 , 0x00000396 }, 1975 { 0x0000b1f8 , 0x00000396 }, 1976 { 0x0000b1fc , 0x00000196 }, 1977}; 1978 1979static const u_int32_t ar9300_ar9580_1p0_radio_core[][2] = { 1980/* Addr allmodes */ 1981 { 0x00016000 , 0x36db6db6 }, 1982 { 0x00016004 , 0x6db6db40 }, 1983 { 0x00016008 , 0x73f00000 }, 1984 { 0x0001600c , 0x00000000 }, 1985 { 0x00016040 , 0x7f80fff8 }, 1986 { 0x0001604c , 0x76d005b5 }, 1987 { 0x00016050 , 0x556cf031 }, 1988 { 0x00016054 , 0x13449440 }, 1989 { 0x00016058 , 0x0c51c92c }, 1990 { 0x0001605c , 0x3db7fffc }, 1991 { 0x00016060 , 0xfffffffc }, 1992 { 0x00016064 , 0x000f0278 }, 1993 { 0x0001606c , 0x6db60000 }, 1994 { 0x00016080 , 0x00000000 }, 1995 { 0x00016084 , 0x0e48048c }, 1996 { 0x00016088 , 0x54214514 }, 1997 { 0x0001608c , 0x119f481e }, 1998 { 0x00016090 , 0x24926490 }, 1999 { 0x00016098 , 0xd2888888 }, 2000 { 0x000160a0 , 0x0a108ffe }, 2001 { 0x000160a4 , 0x812fc370 }, 2002 { 0x000160a8 , 0x423c8000 }, 2003 { 0x000160b4 , 0x92480080 }, 2004 { 0x000160c0 , 0x00adb6d0 }, 2005 { 0x000160c4 , 0x6db6db60 }, 2006 { 0x000160c8 , 0x6db6db6c }, 2007 { 0x000160cc , 0x01e6c000 }, 2008 { 0x00016100 , 0x3fffbe01 }, 2009 { 0x00016104 , 0xfff80000 }, 2010 { 0x00016108 , 0x00080010 }, 2011 { 0x00016144 , 0x02084080 }, 2012 { 0x00016148 , 0x00000000 }, 2013 { 0x00016280 , 0x058a0001 }, 2014 { 0x00016284 , 0x3d840208 }, 2015 { 0x00016288 , 0x05a20408 }, 2016 { 0x0001628c , 0x00038c07 }, 2017 { 0x00016290 , 0x00000004 }, 2018 { 0x00016294 , 0x458a214f }, 2019 { 0x00016380 , 0x00000000 }, 2020 { 0x00016384 , 0x00000000 }, 2021 { 0x00016388 , 0x00800700 }, 2022 { 0x0001638c , 0x00800700 }, 2023 { 0x00016390 , 0x00800700 }, 2024 { 0x00016394 , 0x00000000 }, 2025 { 0x00016398 , 0x00000000 }, 2026 { 0x0001639c , 0x00000000 }, 2027 { 0x000163a0 , 0x00000001 }, 2028 { 0x000163a4 , 0x00000001 }, 2029 { 0x000163a8 , 0x00000000 }, 2030 { 0x000163ac , 0x00000000 }, 2031 { 0x000163b0 , 0x00000000 }, 2032 { 0x000163b4 , 0x00000000 }, 2033 { 0x000163b8 , 0x00000000 }, 2034 { 0x000163bc , 0x00000000 }, 2035 { 0x000163c0 , 0x000000a0 }, 2036 { 0x000163c4 , 0x000c0000 }, 2037 { 0x000163c8 , 0x14021402 }, 2038 { 0x000163cc , 0x00001402 }, 2039 { 0x000163d0 , 0x00000000 }, 2040 { 0x000163d4 , 0x00000000 }, 2041 { 0x00016400 , 0x36db6db6 }, 2042 { 0x00016404 , 0x6db6db40 }, 2043 { 0x00016408 , 0x73f00000 }, 2044 { 0x0001640c , 0x00000000 }, 2045 { 0x00016440 , 0x7f80fff8 }, 2046 { 0x0001644c , 0x76d005b5 }, 2047 { 0x00016450 , 0x556cf031 }, 2048 { 0x00016454 , 0x13449440 }, 2049 { 0x00016458 , 0x0c51c92c }, 2050 { 0x0001645c , 0x3db7fffc }, 2051 { 0x00016460 , 0xfffffffc }, 2052 { 0x00016464 , 0x000f0278 }, 2053 { 0x0001646c , 0x6db60000 }, 2054 { 0x00016500 , 0x3fffbe01 }, 2055 { 0x00016504 , 0xfff80000 }, 2056 { 0x00016508 , 0x00080010 }, 2057 { 0x00016544 , 0x02084080 }, 2058 { 0x00016548 , 0x00000000 }, 2059 { 0x00016780 , 0x00000000 }, 2060 { 0x00016784 , 0x00000000 }, 2061 { 0x00016788 , 0x00800700 }, 2062 { 0x0001678c , 0x00800700 }, 2063 { 0x00016790 , 0x00800700 }, 2064 { 0x00016794 , 0x00000000 }, 2065 { 0x00016798 , 0x00000000 }, 2066 { 0x0001679c , 0x00000000 }, 2067 { 0x000167a0 , 0x00000001 }, 2068 { 0x000167a4 , 0x00000001 }, 2069 { 0x000167a8 , 0x00000000 }, 2070 { 0x000167ac , 0x00000000 }, 2071 { 0x000167b0 , 0x00000000 }, 2072 { 0x000167b4 , 0x00000000 }, 2073 { 0x000167b8 , 0x00000000 }, 2074 { 0x000167bc , 0x00000000 }, 2075 { 0x000167c0 , 0x000000a0 }, 2076 { 0x000167c4 , 0x000c0000 }, 2077 { 0x000167c8 , 0x14021402 }, 2078 { 0x000167cc , 0x00001402 }, 2079 { 0x000167d0 , 0x00000000 }, 2080 { 0x000167d4 , 0x00000000 }, 2081 { 0x00016800 , 0x36db6db6 }, 2082 { 0x00016804 , 0x6db6db40 }, 2083 { 0x00016808 , 0x73f00000 }, 2084 { 0x0001680c , 0x00000000 }, 2085 { 0x00016840 , 0x7f80fff8 }, 2086 { 0x0001684c , 0x76d005b5 }, 2087 { 0x00016850 , 0x556cf031 }, 2088 { 0x00016854 , 0x13449440 }, 2089 { 0x00016858 , 0x0c51c92c }, 2090 { 0x0001685c , 0x3db7fffc }, 2091 { 0x00016860 , 0xfffffffc }, 2092 { 0x00016864 , 0x000f0278 }, 2093 { 0x0001686c , 0x6db60000 }, 2094 { 0x00016900 , 0x3fffbe01 }, 2095 { 0x00016904 , 0xfff80000 }, 2096 { 0x00016908 , 0x00080010 }, 2097 { 0x00016944 , 0x02084080 }, 2098 { 0x00016948 , 0x00000000 }, 2099 { 0x00016b80 , 0x00000000 }, 2100 { 0x00016b84 , 0x00000000 }, 2101 { 0x00016b88 , 0x00800700 }, 2102 { 0x00016b8c , 0x00800700 }, 2103 { 0x00016b90 , 0x00800700 }, 2104 { 0x00016b94 , 0x00000000 }, 2105 { 0x00016b98 , 0x00000000 }, 2106 { 0x00016b9c , 0x00000000 }, 2107 { 0x00016ba0 , 0x00000001 }, 2108 { 0x00016ba4 , 0x00000001 }, 2109 { 0x00016ba8 , 0x00000000 }, 2110 { 0x00016bac , 0x00000000 }, 2111 { 0x00016bb0 , 0x00000000 }, 2112 { 0x00016bb4 , 0x00000000 }, 2113 { 0x00016bb8 , 0x00000000 }, 2114 { 0x00016bbc , 0x00000000 }, 2115 { 0x00016bc0 , 0x000000a0 }, 2116 { 0x00016bc4 , 0x000c0000 }, 2117 { 0x00016bc8 , 0x14021402 }, 2118 { 0x00016bcc , 0x00001402 }, 2119 { 0x00016bd0 , 0x00000000 }, 2120 { 0x00016bd4 , 0x00000000 }, 2121}; 2122 2123static const u_int32_t ar9300_ar9580_1p0_baseband_core_emulation[][2] = { 2124/* Addr allmodes */ 2125 { 0x00009800 , 0xafa68e30 }, 2126 { 0x00009884 , 0x00002842 }, 2127 { 0x00009c04 , 0xff55ff55 }, 2128 { 0x00009c08 , 0x0320ff55 }, 2129 { 0x00009e50 , 0x00000000 }, 2130 { 0x00009fcc , 0x00000014 }, 2131 { 0x0000a344 , 0x00000010 }, 2132 { 0x0000a398 , 0x00000000 }, 2133 { 0x0000a39c , 0x71733d01 }, 2134 { 0x0000a3a0 , 0xd0ad5c12 }, 2135 { 0x0000a3c0 , 0x22222220 }, 2136 { 0x0000a3c4 , 0x22222222 }, 2137 { 0x0000a404 , 0x00418a11 }, 2138 { 0x0000a418 , 0x050001ce }, 2139 { 0x0000a438 , 0x00001800 }, 2140 { 0x0000a458 , 0x01444452 }, 2141 { 0x0000a690 , 0x00000038 }, 2142 { 0x0000b8dc , 0x00400000 }, 2143}; 2144 2145static const u_int32_t ar9300_ar9580_1p0_baseband_postamble[][5] = { 2146/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 2147 { 0x00009810 , 0xd00a8005 , 0xd00a8005 , 0xd00a8011 , 0xd00a8011 }, 2148 { 0x00009820 , 0x206a022e , 0x206a022e , 0x206a012e , 0x206a012e }, 2149 { 0x00009824 , 0x5ac640d0 , 0x5ac640d0 , 0x5ac640d0 , 0x5ac640d0 }, 2150 { 0x00009828 , 0x06903081 , 0x06903081 , 0x06903881 , 0x06903881 }, 2151 { 0x0000982c , 0x05eea6d4 , 0x05eea6d4 , 0x05eea6d4 , 0x05eea6d4 }, 2152 { 0x00009830 , 0x0000059c , 0x0000059c , 0x0000119c , 0x0000119c }, 2153 { 0x00009c00 , 0x000000c4 , 0x000000c4 , 0x000000c4 , 0x000000c4 }, 2154 { 0x00009e00 , 0x0372111a , 0x0372111a , 0x037216a0 , 0x037216a0 }, 2155 { 0x00009e04 , 0x001c2020 , 0x001c2020 , 0x001c2020 , 0x001c2020 }, 2156 { 0x00009e0c , 0x6c4000e2 , 0x6d4000e2 , 0x6d4000e2 , 0x6c4000e2 }, 2157 { 0x00009e10 , 0x7ec88d2e , 0x7ec88d2e , 0x7ec84d2e , 0x7ec84d2e }, 2158 { 0x00009e14 , 0x37b95d5e , 0x37b9605e , 0x3379605e , 0x33795d5e }, 2159 { 0x00009e18 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 2160 { 0x00009e1c , 0x0001c59c , 0x0001c59c , 0x0002159c , 0x0002159c }, 2161 { 0x00009e20 , 0x000003b5 , 0x000003b5 , 0x000003ce , 0x000003ce }, 2162 { 0x00009e2c , 0x0000001c , 0x0000001c , 0x00000021 , 0x00000021 }, 2163 { 0x00009e3c , 0xcf946220 , 0xcf946220 , 0xcf946222 , 0xcf946222 }, 2164 { 0x00009e44 , 0x02321e27 , 0x02321e27 , 0x02291e27 , 0x02291e27 }, 2165 { 0x00009e48 , 0x5030201a , 0x5030201a , 0x50302012 , 0x50302012 }, 2166 { 0x00009fc8 , 0x0003f000 , 0x0003f000 , 0x0001a000 , 0x0001a000 }, 2167 { 0x0000a204 , 0x000036c0 , 0x000036c4 , 0x000036c4 , 0x000036c0 }, 2168 { 0x0000a208 , 0x00000104 , 0x00000104 , 0x00000004 , 0x00000004 }, 2169 { 0x0000a22c , 0x07e26a2f , 0x07e26a2f , 0x01026a2f , 0x01026a2f }, 2170 { 0x0000a230 , 0x0000000a , 0x00000014 , 0x00000016 , 0x0000000b }, 2171 { 0x0000a234 , 0x00000fff , 0x10000fff , 0x10000fff , 0x00000fff }, 2172 { 0x0000a238 , 0xffb01018 , 0xffb01018 , 0xffb01018 , 0xffb01018 }, 2173 { 0x0000a250 , 0x00000000 , 0x00000000 , 0x00000210 , 0x00000108 }, 2174 { 0x0000a254 , 0x000007d0 , 0x00000fa0 , 0x00001130 , 0x00000898 }, 2175 { 0x0000a258 , 0x02020002 , 0x02020002 , 0x02020002 , 0x02020002 }, 2176 { 0x0000a25c , 0x01000e0e , 0x01000e0e , 0x01000e0e , 0x01000e0e }, 2177 { 0x0000a260 , 0x0a021501 , 0x0a021501 , 0x3a021501 , 0x3a021501 }, 2178 { 0x0000a264 , 0x00000e0e , 0x00000e0e , 0x00000e0e , 0x00000e0e }, 2179 { 0x0000a280 , 0x00000007 , 0x00000007 , 0x0000000b , 0x0000000b }, 2180 { 0x0000a284 , 0x00000000 , 0x00000000 , 0x00000150 , 0x00000150 }, 2181 { 0x0000a288 , 0x00000110 , 0x00000110 , 0x00000110 , 0x00000110 }, 2182 { 0x0000a28c , 0x00022222 , 0x00022222 , 0x00022222 , 0x00022222 }, 2183 { 0x0000a2c4 , 0x00158d18 , 0x00158d18 , 0x00158d18 , 0x00158d18 }, 2184 { 0x0000a2d0 , 0x00041983 , 0x00041983 , 0x00041981 , 0x00041982 }, 2185 { 0x0000a2d8 , 0x7999a83b , 0x7999a83b , 0x7999a83b , 0x7999a83b }, 2186 { 0x0000a358 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 2187 { 0x0000a830 , 0x0000019c , 0x0000019c , 0x0000019c , 0x0000019c }, 2188 { 0x0000ae04 , 0x001c0000 , 0x001c0000 , 0x001c0000 , 0x001c0000 }, 2189 { 0x0000ae18 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 2190 { 0x0000ae1c , 0x0000019c , 0x0000019c , 0x0000019c , 0x0000019c }, 2191 { 0x0000ae20 , 0x000001b5 , 0x000001b5 , 0x000001ce , 0x000001ce }, 2192 { 0x0000b284 , 0x00000000 , 0x00000000 , 0x00000150 , 0x00000150 }, 2193 { 0x0000b830 , 0x0000019c , 0x0000019c , 0x0000019c , 0x0000019c }, 2194 { 0x0000be04 , 0x001c0000 , 0x001c0000 , 0x001c0000 , 0x001c0000 }, 2195 { 0x0000be18 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 2196 { 0x0000be1c , 0x0000019c , 0x0000019c , 0x0000019c , 0x0000019c }, 2197 { 0x0000be20 , 0x000001b5 , 0x000001b5 , 0x000001ce , 0x000001ce }, 2198 { 0x0000c284 , 0x00000000 , 0x00000000 , 0x00000150 , 0x00000150 }, 2199}; 2200 2201/* PCIE-PHY programming array */ 2202static const u_int32_t ar9300PciePhy_clkreq_enable_L1_ar9580_1p0[][2] = { 2203{0x00004040, 0x0835365e}, 2204{0x00004040, 0x0008003b}, 2205{0x00004044, 0x00000000}, 2206}; 2207 2208/* PCIE-PHY programming array */ 2209static const u_int32_t ar9300PciePhy_clkreq_disable_L1_ar9580_1p0[][2] = { 2210{0x00004040, 0x0831365e}, 2211{0x00004040, 0x0008003b}, 2212{0x00004044, 0x00000000}, 2213}; 2214 2215/* PCIE-PHY programming array */ 2216static const u_int32_t ar9300PciePhy_pll_on_clkreq_disable_L1_ar9580_1p0[][2] = { 2217{0x00004040, 0x0831265e}, 2218{0x00004040, 0x0008003b}, 2219{0x00004044, 0x00000000}, 2220}; 2221 2222