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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74static const u_int32_t ar9331_modes_lowest_ob_db_tx_gain_hornet1_2[][5] = { 75/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 76 { 0x0000a410 , 0x000050d7 , 0x000050d7 , 0x000050d7 , 0x000050d7 }, 77 { 0x0000a500 , 0x00022200 , 0x00022200 , 0x00000000 , 0x00000000 }, 78 { 0x0000a504 , 0x05062002 , 0x05062002 , 0x04000002 , 0x04000002 }, 79 { 0x0000a508 , 0x0c002e00 , 0x0c002e00 , 0x08000004 , 0x08000004 }, 80 { 0x0000a50c , 0x11062202 , 0x11062202 , 0x0d000200 , 0x0d000200 }, 81 { 0x0000a510 , 0x17022e00 , 0x17022e00 , 0x11000202 , 0x11000202 }, 82 { 0x0000a514 , 0x1d000ec2 , 0x1d000ec2 , 0x15000400 , 0x15000400 }, 83 { 0x0000a518 , 0x25020ec0 , 0x25020ec0 , 0x19000402 , 0x19000402 }, 84 { 0x0000a51c , 0x2b020ec3 , 0x2b020ec3 , 0x1d000404 , 0x1d000404 }, 85 { 0x0000a520 , 0x2f001f04 , 0x2f001f04 , 0x23000a00 , 0x23000a00 }, 86 { 0x0000a524 , 0x35001fc4 , 0x35001fc4 , 0x27000a02 , 0x27000a02 }, 87 { 0x0000a528 , 0x3c022f04 , 0x3c022f04 , 0x2b000a04 , 0x2b000a04 }, 88 { 0x0000a52c , 0x41023e85 , 0x41023e85 , 0x3f001620 , 0x3f001620 }, 89 { 0x0000a530 , 0x48023ec6 , 0x48023ec6 , 0x41001621 , 0x41001621 }, 90 { 0x0000a534 , 0x4d023f01 , 0x4d023f01 , 0x44001640 , 0x44001640 }, 91 { 0x0000a538 , 0x53023f4b , 0x53023f4b , 0x46001641 , 0x46001641 }, 92 { 0x0000a53c , 0x5a027f09 , 0x5a027f09 , 0x48001642 , 0x48001642 }, 93 { 0x0000a540 , 0x5f027fc9 , 0x5f027fc9 , 0x4b001644 , 0x4b001644 }, 94 { 0x0000a544 , 0x6502feca , 0x6502feca , 0x4e001a81 , 0x4e001a81 }, 95 { 0x0000a548 , 0x6b02ff4a , 0x6b02ff4a , 0x51001a83 , 0x51001a83 }, 96 { 0x0000a54c , 0x7203feca , 0x7203feca , 0x54001c84 , 0x54001c84 }, 97 { 0x0000a550 , 0x7703ff0b , 0x7703ff0b , 0x57001ce3 , 0x57001ce3 }, 98 { 0x0000a554 , 0x7d06ffcb , 0x7d06ffcb , 0x5b001ce5 , 0x5b001ce5 }, 99 { 0x0000a558 , 0x8407ff0b , 0x8407ff0b , 0x5f001ce9 , 0x5f001ce9 }, 100 { 0x0000a55c , 0x8907ffcb , 0x8907ffcb , 0x66001eec , 0x66001eec }, 101 { 0x0000a560 , 0x900fff0b , 0x900fff0b , 0x66001eec , 0x66001eec }, 102 { 0x0000a564 , 0x960fffcb , 0x960fffcb , 0x66001eec , 0x66001eec }, 103 { 0x0000a568 , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 104 { 0x0000a56c , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 105 { 0x0000a570 , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 106 { 0x0000a574 , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 107 { 0x0000a578 , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 108 { 0x0000a57c , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 109 { 0x0000a580 , 0x00022200 , 0x00022200 , 0x00000000 , 0x00000000 }, 110 { 0x0000a584 , 0x05062002 , 0x05062002 , 0x04000002 , 0x04000002 }, 111 { 0x0000a588 , 0x0c002e00 , 0x0c002e00 , 0x08000004 , 0x08000004 }, 112 { 0x0000a58c , 0x11062202 , 0x11062202 , 0x0b000200 , 0x0b000200 }, 113 { 0x0000a590 , 0x17022e00 , 0x17022e00 , 0x0f000202 , 0x0f000202 }, 114 { 0x0000a594 , 0x1d000ec2 , 0x1d000ec2 , 0x11000400 , 0x11000400 }, 115 { 0x0000a598 , 0x25020ec0 , 0x25020ec0 , 0x15000402 , 0x15000402 }, 116 { 0x0000a59c , 0x2b020ec3 , 0x2b020ec3 , 0x19000404 , 0x19000404 }, 117 { 0x0000a5a0 , 0x2f001f04 , 0x2f001f04 , 0x1b000603 , 0x1b000603 }, 118 { 0x0000a5a4 , 0x35001fc4 , 0x35001fc4 , 0x1f000a02 , 0x1f000a02 }, 119 { 0x0000a5a8 , 0x3c022f04 , 0x3c022f04 , 0x23000a04 , 0x23000a04 }, 120 { 0x0000a5ac , 0x41023e85 , 0x41023e85 , 0x26000a20 , 0x26000a20 }, 121 { 0x0000a5b0 , 0x48023ec6 , 0x48023ec6 , 0x2a000e20 , 0x2a000e20 }, 122 { 0x0000a5b4 , 0x4d023f01 , 0x4d023f01 , 0x2e000e22 , 0x2e000e22 }, 123 { 0x0000a5b8 , 0x53023f4b , 0x53023f4b , 0x31000e24 , 0x31000e24 }, 124 { 0x0000a5bc , 0x5a027f09 , 0x5a027f09 , 0x34001640 , 0x34001640 }, 125 { 0x0000a5c0 , 0x5f027fc9 , 0x5f027fc9 , 0x38001660 , 0x38001660 }, 126 { 0x0000a5c4 , 0x6502feca , 0x6502feca , 0x3b001861 , 0x3b001861 }, 127 { 0x0000a5c8 , 0x6b02ff4a , 0x6b02ff4a , 0x3e001a81 , 0x3e001a81 }, 128 { 0x0000a5cc , 0x7203feca , 0x7203feca , 0x42001a83 , 0x42001a83 }, 129 { 0x0000a5d0 , 0x7703ff0b , 0x7703ff0b , 0x44001c84 , 0x44001c84 }, 130 { 0x0000a5d4 , 0x7d06ffcb , 0x7d06ffcb , 0x48001ce3 , 0x48001ce3 }, 131 { 0x0000a5d8 , 0x8407ff0b , 0x8407ff0b , 0x4c001ce5 , 0x4c001ce5 }, 132 { 0x0000a5dc , 0x8907ffcb , 0x8907ffcb , 0x50001ce9 , 0x50001ce9 }, 133 { 0x0000a5e0 , 0x900fff0b , 0x900fff0b , 0x54001ceb , 0x54001ceb }, 134 { 0x0000a5e4 , 0x960fffcb , 0x960fffcb , 0x56001eec , 0x56001eec }, 135 { 0x0000a5e8 , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 136 { 0x0000a5ec , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 137 { 0x0000a5f0 , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 138 { 0x0000a5f4 , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 139 { 0x0000a5f8 , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 140 { 0x0000a5fc , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 141 { 0x0000a600 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 142 { 0x0000a604 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 143 { 0x0000a608 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 144 { 0x0000a60c , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 145 { 0x0000a610 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 146 { 0x0000a614 , 0x01404000 , 0x01404000 , 0x01404000 , 0x01404000 }, 147 { 0x0000a618 , 0x02008501 , 0x02008501 , 0x02008501 , 0x02008501 }, 148 { 0x0000a61c , 0x02008802 , 0x02008802 , 0x02008802 , 0x02008802 }, 149 { 0x0000a620 , 0x0300c802 , 0x0300c802 , 0x0300c802 , 0x0300c802 }, 150 { 0x0000a624 , 0x0300cc03 , 0x0300cc03 , 0x0300cc03 , 0x0300cc03 }, 151 { 0x0000a628 , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 152 { 0x0000a62c , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 153 { 0x0000a630 , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 154 { 0x0000a634 , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 155 { 0x0000a638 , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 156 { 0x0000a63c , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 157}; 158 159static const u_int32_t ar9331_hornet1_2_baseband_postamble[][5] = { 160/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 161 { 0x00009810 , 0xd00a8005 , 0xd00a8005 , 0xd00a8005 , 0xd00a8005 }, 162 { 0x00009820 , 0x206a002e , 0x206a002e , 0x206a002e , 0x206a002e }, 163 { 0x00009824 , 0x5ac640d0 , 0x5ac640d0 , 0x5ac640d0 , 0x5ac640d0 }, 164 { 0x00009828 , 0x06903081 , 0x06903081 , 0x06903881 , 0x06903881 }, 165 { 0x0000982c , 0x05eea6d4 , 0x05eea6d4 , 0x05eea6d4 , 0x05eea6d4 }, 166 { 0x00009830 , 0x0000059c , 0x0000059c , 0x0000059c , 0x0000059c }, 167 { 0x00009c00 , 0x00000044 , 0x00000044 , 0x00000044 , 0x00000044 }, 168 { 0x00009e00 , 0x0372161e , 0x0372161e , 0x037216a4 , 0x037216a4 }, 169 { 0x00009e04 , 0x00182020 , 0x00182020 , 0x00182020 , 0x00182020 }, 170 { 0x00009e0c , 0x6c4000e2 , 0x6d4000e2 , 0x6d4000e2 , 0x6c4000e2 }, 171 { 0x00009e10 , 0x7ec80d2e , 0x7ec80d2e , 0x7ec80d2e , 0x7ec80d2e }, 172 { 0x00009e14 , 0x31395d5e , 0x3139605e , 0x3139605e , 0x31395d5e }, 173 { 0x00009e18 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 174 { 0x00009e1c , 0x0001cf9c , 0x0001cf9c , 0x00021f9c , 0x00021f9c }, 175 { 0x00009e20 , 0x000003b5 , 0x000003b5 , 0x000003ce , 0x000003ce }, 176 { 0x00009e2c , 0x0000001c , 0x0000001c , 0x00003221 , 0x00003221 }, 177 { 0x00009e3c , 0xcf946222 , 0xcf946222 , 0xcf946222 , 0xcf946222 }, 178 { 0x00009e44 , 0x02321e27 , 0x02321e27 , 0x02282324 , 0x02282324 }, 179 { 0x00009e48 , 0x5030201a , 0x5030201a , 0x50302010 , 0x50302010 }, 180 { 0x00009fc8 , 0x0003f000 , 0x0003f000 , 0x0001a000 , 0x0001a000 }, 181 { 0x0000a204 , 0x00003fc0 , 0x00003fc4 , 0x00003fc4 , 0x00003fc0 }, 182 { 0x0000a208 , 0x00000104 , 0x00000104 , 0x00000004 , 0x00000004 }, 183 { 0x0000a230 , 0x0000000a , 0x00000014 , 0x00000016 , 0x0000000b }, 184 { 0x0000a234 , 0x00000fff , 0x00000fff , 0x10000fff , 0x00000fff }, 185 { 0x0000a238 , 0xffb81018 , 0xffb81018 , 0xffb81018 , 0xffb81018 }, 186 { 0x0000a250 , 0x00000000 , 0x00000000 , 0x00000210 , 0x00000108 }, 187 { 0x0000a254 , 0x000007d0 , 0x00000fa0 , 0x00001130 , 0x00000898 }, 188 { 0x0000a258 , 0x02020002 , 0x02020002 , 0x02020002 , 0x02020002 }, 189 { 0x0000a25c , 0x01000e0e , 0x01000e0e , 0x01000e0e , 0x01000e0e }, 190 { 0x0000a260 , 0x3a021501 , 0x3a021501 , 0x3a021501 , 0x3a021501 }, 191 { 0x0000a264 , 0x00000e0e , 0x00000e0e , 0x00000e0e , 0x00000e0e }, 192 { 0x0000a280 , 0x00000007 , 0x00000007 , 0x0000000b , 0x0000000b }, 193 { 0x0000a284 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 194 { 0x0000a288 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 195 { 0x0000a28c , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 196 { 0x0000a2c4 , 0x00158d18 , 0x00158d18 , 0x00158d18 , 0x00158d18 }, 197 { 0x0000a2d0 , 0x00071981 , 0x00071981 , 0x00071981 , 0x00071981 }, 198 { 0x0000a2d8 , 0xf999a83a , 0xf999a83a , 0xf999a83a , 0xf999a83a }, 199 { 0x0000a358 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 200 { 0x0000ae04 , 0x00802020 , 0x00802020 , 0x00802020 , 0x00802020 }, 201 { 0x0000ae18 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 202}; 203 204static const u_int32_t ar9331_modes_high_ob_db_tx_gain_hornet1_2[][5] = { 205/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 206 { 0x0000a410 , 0x000050d7 , 0x000050d7 , 0x000050d7 , 0x000050d7 }, 207 { 0x0000a500 , 0x00022200 , 0x00022200 , 0x00000000 , 0x00000000 }, 208 { 0x0000a504 , 0x05062002 , 0x05062002 , 0x04000002 , 0x04000002 }, 209 { 0x0000a508 , 0x0c002e00 , 0x0c002e00 , 0x08000004 , 0x08000004 }, 210 { 0x0000a50c , 0x11062202 , 0x11062202 , 0x0d000200 , 0x0d000200 }, 211 { 0x0000a510 , 0x17022e00 , 0x17022e00 , 0x11000202 , 0x11000202 }, 212 { 0x0000a514 , 0x1d000ec2 , 0x1d000ec2 , 0x15000400 , 0x15000400 }, 213 { 0x0000a518 , 0x25020ec0 , 0x25020ec0 , 0x19000402 , 0x19000402 }, 214 { 0x0000a51c , 0x2b020ec3 , 0x2b020ec3 , 0x1d000404 , 0x1d000404 }, 215 { 0x0000a520 , 0x2f001f04 , 0x2f001f04 , 0x23000a00 , 0x23000a00 }, 216 { 0x0000a524 , 0x35001fc4 , 0x35001fc4 , 0x27000a02 , 0x27000a02 }, 217 { 0x0000a528 , 0x3c022f04 , 0x3c022f04 , 0x2b000a04 , 0x2b000a04 }, 218 { 0x0000a52c , 0x41023e85 , 0x41023e85 , 0x3f001620 , 0x3f001620 }, 219 { 0x0000a530 , 0x48023ec6 , 0x48023ec6 , 0x41001621 , 0x41001621 }, 220 { 0x0000a534 , 0x4d023f01 , 0x4d023f01 , 0x44001640 , 0x44001640 }, 221 { 0x0000a538 , 0x53023f4b , 0x53023f4b , 0x46001641 , 0x46001641 }, 222 { 0x0000a53c , 0x5a027f09 , 0x5a027f09 , 0x48001642 , 0x48001642 }, 223 { 0x0000a540 , 0x5f027fc9 , 0x5f027fc9 , 0x4b001644 , 0x4b001644 }, 224 { 0x0000a544 , 0x6502feca , 0x6502feca , 0x4e001a81 , 0x4e001a81 }, 225 { 0x0000a548 , 0x6b02ff4a , 0x6b02ff4a , 0x51001a83 , 0x51001a83 }, 226 { 0x0000a54c , 0x7203feca , 0x7203feca , 0x54001c84 , 0x54001c84 }, 227 { 0x0000a550 , 0x7703ff0b , 0x7703ff0b , 0x57001ce3 , 0x57001ce3 }, 228 { 0x0000a554 , 0x7d06ffcb , 0x7d06ffcb , 0x5b001ce5 , 0x5b001ce5 }, 229 { 0x0000a558 , 0x8407ff0b , 0x8407ff0b , 0x5f001ce9 , 0x5f001ce9 }, 230 { 0x0000a55c , 0x8907ffcb , 0x8907ffcb , 0x66001eec , 0x66001eec }, 231 { 0x0000a560 , 0x900fff0b , 0x900fff0b , 0x66001eec , 0x66001eec }, 232 { 0x0000a564 , 0x960fffcb , 0x960fffcb , 0x66001eec , 0x66001eec }, 233 { 0x0000a568 , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 234 { 0x0000a56c , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 235 { 0x0000a570 , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 236 { 0x0000a574 , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 237 { 0x0000a578 , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 238 { 0x0000a57c , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 239 { 0x0000a580 , 0x00022200 , 0x00022200 , 0x00000000 , 0x00000000 }, 240 { 0x0000a584 , 0x05062002 , 0x05062002 , 0x04000002 , 0x04000002 }, 241 { 0x0000a588 , 0x0c002e00 , 0x0c002e00 , 0x08000004 , 0x08000004 }, 242 { 0x0000a58c , 0x11062202 , 0x11062202 , 0x0b000200 , 0x0b000200 }, 243 { 0x0000a590 , 0x17022e00 , 0x17022e00 , 0x0f000202 , 0x0f000202 }, 244 { 0x0000a594 , 0x1d000ec2 , 0x1d000ec2 , 0x11000400 , 0x11000400 }, 245 { 0x0000a598 , 0x25020ec0 , 0x25020ec0 , 0x15000402 , 0x15000402 }, 246 { 0x0000a59c , 0x2b020ec3 , 0x2b020ec3 , 0x19000404 , 0x19000404 }, 247 { 0x0000a5a0 , 0x2f001f04 , 0x2f001f04 , 0x1b000603 , 0x1b000603 }, 248 { 0x0000a5a4 , 0x35001fc4 , 0x35001fc4 , 0x1f000a02 , 0x1f000a02 }, 249 { 0x0000a5a8 , 0x3c022f04 , 0x3c022f04 , 0x23000a04 , 0x23000a04 }, 250 { 0x0000a5ac , 0x41023e85 , 0x41023e85 , 0x26000a20 , 0x26000a20 }, 251 { 0x0000a5b0 , 0x48023ec6 , 0x48023ec6 , 0x2a000e20 , 0x2a000e20 }, 252 { 0x0000a5b4 , 0x4d023f01 , 0x4d023f01 , 0x2e000e22 , 0x2e000e22 }, 253 { 0x0000a5b8 , 0x53023f4b , 0x53023f4b , 0x31000e24 , 0x31000e24 }, 254 { 0x0000a5bc , 0x5a027f09 , 0x5a027f09 , 0x34001640 , 0x34001640 }, 255 { 0x0000a5c0 , 0x5f027fc9 , 0x5f027fc9 , 0x38001660 , 0x38001660 }, 256 { 0x0000a5c4 , 0x6502feca , 0x6502feca , 0x3b001861 , 0x3b001861 }, 257 { 0x0000a5c8 , 0x6b02ff4a , 0x6b02ff4a , 0x3e001a81 , 0x3e001a81 }, 258 { 0x0000a5cc , 0x7203feca , 0x7203feca , 0x42001a83 , 0x42001a83 }, 259 { 0x0000a5d0 , 0x7703ff0b , 0x7703ff0b , 0x44001c84 , 0x44001c84 }, 260 { 0x0000a5d4 , 0x7d06ffcb , 0x7d06ffcb , 0x48001ce3 , 0x48001ce3 }, 261 { 0x0000a5d8 , 0x8407ff0b , 0x8407ff0b , 0x4c001ce5 , 0x4c001ce5 }, 262 { 0x0000a5dc , 0x8907ffcb , 0x8907ffcb , 0x50001ce9 , 0x50001ce9 }, 263 { 0x0000a5e0 , 0x900fff0b , 0x900fff0b , 0x54001ceb , 0x54001ceb }, 264 { 0x0000a5e4 , 0x960fffcb , 0x960fffcb , 0x56001eec , 0x56001eec }, 265 { 0x0000a5e8 , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 266 { 0x0000a5ec , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 267 { 0x0000a5f0 , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 268 { 0x0000a5f4 , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 269 { 0x0000a5f8 , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 270 { 0x0000a5fc , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 271 { 0x0000a600 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 272 { 0x0000a604 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 273 { 0x0000a608 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 274 { 0x0000a60c , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 275 { 0x0000a610 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 276 { 0x0000a614 , 0x01404000 , 0x01404000 , 0x01404000 , 0x01404000 }, 277 { 0x0000a618 , 0x02008501 , 0x02008501 , 0x02008501 , 0x02008501 }, 278 { 0x0000a61c , 0x02008802 , 0x02008802 , 0x02008802 , 0x02008802 }, 279 { 0x0000a620 , 0x0300c802 , 0x0300c802 , 0x0300c802 , 0x0300c802 }, 280 { 0x0000a624 , 0x0300cc03 , 0x0300cc03 , 0x0300cc03 , 0x0300cc03 }, 281 { 0x0000a628 , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 282 { 0x0000a62c , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 283 { 0x0000a630 , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 284 { 0x0000a634 , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 285 { 0x0000a638 , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 286 { 0x0000a63c , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 287}; 288 289static const u_int32_t ar9331_modes_low_ob_db_tx_gain_hornet1_2[][5] = { 290/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 291 { 0x0000a410 , 0x000050d7 , 0x000050d7 , 0x000050d7 , 0x000050d7 }, 292 { 0x0000a500 , 0x00022200 , 0x00022200 , 0x00000000 , 0x00000000 }, 293 { 0x0000a504 , 0x05062002 , 0x05062002 , 0x04000002 , 0x04000002 }, 294 { 0x0000a508 , 0x0c002e00 , 0x0c002e00 , 0x08000004 , 0x08000004 }, 295 { 0x0000a50c , 0x11062202 , 0x11062202 , 0x0d000200 , 0x0d000200 }, 296 { 0x0000a510 , 0x17022e00 , 0x17022e00 , 0x11000202 , 0x11000202 }, 297 { 0x0000a514 , 0x1d000ec2 , 0x1d000ec2 , 0x15000400 , 0x15000400 }, 298 { 0x0000a518 , 0x25020ec0 , 0x25020ec0 , 0x19000402 , 0x19000402 }, 299 { 0x0000a51c , 0x2b020ec3 , 0x2b020ec3 , 0x1d000404 , 0x1d000404 }, 300 { 0x0000a520 , 0x2f001f04 , 0x2f001f04 , 0x23000a00 , 0x23000a00 }, 301 { 0x0000a524 , 0x35001fc4 , 0x35001fc4 , 0x27000a02 , 0x27000a02 }, 302 { 0x0000a528 , 0x3c022f04 , 0x3c022f04 , 0x2b000a04 , 0x2b000a04 }, 303 { 0x0000a52c , 0x41023e85 , 0x41023e85 , 0x3f001620 , 0x3f001620 }, 304 { 0x0000a530 , 0x48023ec6 , 0x48023ec6 , 0x41001621 , 0x41001621 }, 305 { 0x0000a534 , 0x4d023f01 , 0x4d023f01 , 0x44001640 , 0x44001640 }, 306 { 0x0000a538 , 0x53023f4b , 0x53023f4b , 0x46001641 , 0x46001641 }, 307 { 0x0000a53c , 0x5a027f09 , 0x5a027f09 , 0x48001642 , 0x48001642 }, 308 { 0x0000a540 , 0x5f027fc9 , 0x5f027fc9 , 0x4b001644 , 0x4b001644 }, 309 { 0x0000a544 , 0x6502feca , 0x6502feca , 0x4e001a81 , 0x4e001a81 }, 310 { 0x0000a548 , 0x6b02ff4a , 0x6b02ff4a , 0x51001a83 , 0x51001a83 }, 311 { 0x0000a54c , 0x7203feca , 0x7203feca , 0x54001c84 , 0x54001c84 }, 312 { 0x0000a550 , 0x7703ff0b , 0x7703ff0b , 0x57001ce3 , 0x57001ce3 }, 313 { 0x0000a554 , 0x7d06ffcb , 0x7d06ffcb , 0x5b001ce5 , 0x5b001ce5 }, 314 { 0x0000a558 , 0x8407ff0b , 0x8407ff0b , 0x5f001ce9 , 0x5f001ce9 }, 315 { 0x0000a55c , 0x8907ffcb , 0x8907ffcb , 0x66001eec , 0x66001eec }, 316 { 0x0000a560 , 0x900fff0b , 0x900fff0b , 0x66001eec , 0x66001eec }, 317 { 0x0000a564 , 0x960fffcb , 0x960fffcb , 0x66001eec , 0x66001eec }, 318 { 0x0000a568 , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 319 { 0x0000a56c , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 320 { 0x0000a570 , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 321 { 0x0000a574 , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 322 { 0x0000a578 , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 323 { 0x0000a57c , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 324 { 0x0000a580 , 0x00022200 , 0x00022200 , 0x00000000 , 0x00000000 }, 325 { 0x0000a584 , 0x05062002 , 0x05062002 , 0x04000002 , 0x04000002 }, 326 { 0x0000a588 , 0x0c002e00 , 0x0c002e00 , 0x08000004 , 0x08000004 }, 327 { 0x0000a58c , 0x11062202 , 0x11062202 , 0x0b000200 , 0x0b000200 }, 328 { 0x0000a590 , 0x17022e00 , 0x17022e00 , 0x0f000202 , 0x0f000202 }, 329 { 0x0000a594 , 0x1d000ec2 , 0x1d000ec2 , 0x11000400 , 0x11000400 }, 330 { 0x0000a598 , 0x25020ec0 , 0x25020ec0 , 0x15000402 , 0x15000402 }, 331 { 0x0000a59c , 0x2b020ec3 , 0x2b020ec3 , 0x19000404 , 0x19000404 }, 332 { 0x0000a5a0 , 0x2f001f04 , 0x2f001f04 , 0x1b000603 , 0x1b000603 }, 333 { 0x0000a5a4 , 0x35001fc4 , 0x35001fc4 , 0x1f000a02 , 0x1f000a02 }, 334 { 0x0000a5a8 , 0x3c022f04 , 0x3c022f04 , 0x23000a04 , 0x23000a04 }, 335 { 0x0000a5ac , 0x41023e85 , 0x41023e85 , 0x26000a20 , 0x26000a20 }, 336 { 0x0000a5b0 , 0x48023ec6 , 0x48023ec6 , 0x2a000e20 , 0x2a000e20 }, 337 { 0x0000a5b4 , 0x4d023f01 , 0x4d023f01 , 0x2e000e22 , 0x2e000e22 }, 338 { 0x0000a5b8 , 0x53023f4b , 0x53023f4b , 0x31000e24 , 0x31000e24 }, 339 { 0x0000a5bc , 0x5a027f09 , 0x5a027f09 , 0x34001640 , 0x34001640 }, 340 { 0x0000a5c0 , 0x5f027fc9 , 0x5f027fc9 , 0x38001660 , 0x38001660 }, 341 { 0x0000a5c4 , 0x6502feca , 0x6502feca , 0x3b001861 , 0x3b001861 }, 342 { 0x0000a5c8 , 0x6b02ff4a , 0x6b02ff4a , 0x3e001a81 , 0x3e001a81 }, 343 { 0x0000a5cc , 0x7203feca , 0x7203feca , 0x42001a83 , 0x42001a83 }, 344 { 0x0000a5d0 , 0x7703ff0b , 0x7703ff0b , 0x44001c84 , 0x44001c84 }, 345 { 0x0000a5d4 , 0x7d06ffcb , 0x7d06ffcb , 0x48001ce3 , 0x48001ce3 }, 346 { 0x0000a5d8 , 0x8407ff0b , 0x8407ff0b , 0x4c001ce5 , 0x4c001ce5 }, 347 { 0x0000a5dc , 0x8907ffcb , 0x8907ffcb , 0x50001ce9 , 0x50001ce9 }, 348 { 0x0000a5e0 , 0x900fff0b , 0x900fff0b , 0x54001ceb , 0x54001ceb }, 349 { 0x0000a5e4 , 0x960fffcb , 0x960fffcb , 0x56001eec , 0x56001eec }, 350 { 0x0000a5e8 , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 351 { 0x0000a5ec , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 352 { 0x0000a5f0 , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 353 { 0x0000a5f4 , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 354 { 0x0000a5f8 , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 355 { 0x0000a5fc , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 356 { 0x0000a600 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 357 { 0x0000a604 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 358 { 0x0000a608 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 359 { 0x0000a60c , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 360 { 0x0000a610 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 361 { 0x0000a614 , 0x01404000 , 0x01404000 , 0x01404000 , 0x01404000 }, 362 { 0x0000a618 , 0x02008501 , 0x02008501 , 0x02008501 , 0x02008501 }, 363 { 0x0000a61c , 0x02008802 , 0x02008802 , 0x02008802 , 0x02008802 }, 364 { 0x0000a620 , 0x0300c802 , 0x0300c802 , 0x0300c802 , 0x0300c802 }, 365 { 0x0000a624 , 0x0300cc03 , 0x0300cc03 , 0x0300cc03 , 0x0300cc03 }, 366 { 0x0000a628 , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 367 { 0x0000a62c , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 368 { 0x0000a630 , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 369 { 0x0000a634 , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 370 { 0x0000a638 , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 371 { 0x0000a63c , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 372}; 373 374static const u_int32_t ar9331_hornet1_2_baseband_core_txfir_coeff_japan_2484[][2] = { 375/* Addr allmodes */ 376 { 0x0000a398 , 0x00000000 }, 377 { 0x0000a39c , 0x6f7f0301 }, 378 { 0x0000a3a0 , 0xca9228ee }, 379}; 380 381static const u_int32_t ar9331_hornet1_2_xtal_25M[][2] = { 382/* Addr allmodes */ 383 { 0x00007038 , 0x000002f8 }, 384 { 0x00008244 , 0x0010f3d7 }, 385 { 0x0000824c , 0x0001e7ae }, 386 { 0x0001609c , 0x0f508f29 }, 387}; 388 389static const u_int32_t ar9331_hornet1_2_radio_core[][2] = { 390/* Addr allmodes */ 391 { 0x00016000 , 0x36db6db6 }, 392 { 0x00016004 , 0x6db6db40 }, 393 { 0x00016008 , 0x73800000 }, 394 { 0x0001600c , 0x00000000 }, 395 { 0x00016040 , 0x7f80fff8 }, 396 { 0x00016044 , 0x03d6d2db }, 397 { 0x00016048 , 0x6c924268 }, 398 { 0x0001604c , 0x000f0278 }, 399 { 0x00016050 , 0x4db6db8c }, 400 { 0x00016054 , 0x6db60000 }, 401 { 0x00016080 , 0x00080000 }, 402 { 0x00016084 , 0x0e48048c }, 403 { 0x00016088 , 0x14214514 }, 404 { 0x0001608c , 0x119f081c }, 405 { 0x00016090 , 0x24926490 }, 406 { 0x00016098 , 0xd411eb84 }, 407 { 0x000160a0 , 0xc2108ffe }, 408 { 0x000160a4 , 0x812fc370 }, 409 { 0x000160a8 , 0x423c8000 }, 410 { 0x000160ac , 0x24651800 }, 411 { 0x000160b0 , 0x03284f3e }, 412 { 0x000160b4 , 0x92480040 }, 413 { 0x000160c0 , 0x006db6db }, 414 { 0x000160c4 , 0x0186db60 }, 415 { 0x000160c8 , 0x6db6db6c }, 416 { 0x000160cc , 0x6de6c300 }, 417 { 0x000160d0 , 0x14500820 }, 418 { 0x00016100 , 0x04cb0001 }, 419 { 0x00016104 , 0xfff80015 }, 420 { 0x00016108 , 0x00080010 }, 421 { 0x0001610c , 0x00170000 }, 422 { 0x00016140 , 0x10804000 }, 423 { 0x00016144 , 0x01884080 }, 424 { 0x00016148 , 0x000080c0 }, 425 { 0x00016280 , 0x01000015 }, 426 { 0x00016284 , 0x14d20000 }, 427 { 0x00016288 , 0x00318000 }, 428 { 0x0001628c , 0x50000000 }, 429 { 0x00016290 , 0x4b96210f }, 430 { 0x00016380 , 0x00000000 }, 431 { 0x00016384 , 0x00000000 }, 432 { 0x00016388 , 0x00800700 }, 433 { 0x0001638c , 0x00800700 }, 434 { 0x00016390 , 0x00800700 }, 435 { 0x00016394 , 0x00000000 }, 436 { 0x00016398 , 0x00000000 }, 437 { 0x0001639c , 0x00000000 }, 438 { 0x000163a0 , 0x00000001 }, 439 { 0x000163a4 , 0x00000001 }, 440 { 0x000163a8 , 0x00000000 }, 441 { 0x000163ac , 0x00000000 }, 442 { 0x000163b0 , 0x00000000 }, 443 { 0x000163b4 , 0x00000000 }, 444 { 0x000163b8 , 0x00000000 }, 445 { 0x000163bc , 0x00000000 }, 446 { 0x000163c0 , 0x000000a0 }, 447 { 0x000163c4 , 0x000c0000 }, 448 { 0x000163c8 , 0x14021402 }, 449 { 0x000163cc , 0x00001402 }, 450 { 0x000163d0 , 0x00000000 }, 451 { 0x000163d4 , 0x00000000 }, 452}; 453 454static const u_int32_t ar9331_hornet1_2_baseband_postamble_emulation[][5] = { 455/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 456 { 0x00009e3c , 0xcf946221 , 0xcf946221 , 0xcf946221 , 0xcf946221 }, 457 { 0x00009e44 , 0x005c0000 , 0x005c0000 , 0x005c0000 , 0x005c0000 }, 458 { 0x0000a2d8 , 0x7999a800 , 0x7999a800 , 0x7999a80c , 0x7999a80c }, 459}; 460 461static const u_int32_t ar9331_hornet1_2_mac_core_emulation[][2] = { 462/* Addr allmodes */ 463 { 0x0000805c , 0xffffc7ff }, 464 { 0x00008344 , 0xaa4a105b }, 465}; 466 467static const u_int32_t ar9331_hornet1_2_soc_postamble[][5] = { 468/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 469 { 0x00007010 , 0x00000022 , 0x00000022 , 0x00000022 , 0x00000022 }, 470}; 471 472static const u_int32_t ar9331_common_wo_xlna_rx_gain_hornet1_2[][2] = { 473/* Addr allmodes */ 474 { 0x0000a000 , 0x00060005 }, 475 { 0x0000a004 , 0x00810080 }, 476 { 0x0000a008 , 0x00830082 }, 477 { 0x0000a00c , 0x00850084 }, 478 { 0x0000a010 , 0x01820181 }, 479 { 0x0000a014 , 0x01840183 }, 480 { 0x0000a018 , 0x01880185 }, 481 { 0x0000a01c , 0x018a0189 }, 482 { 0x0000a020 , 0x02850284 }, 483 { 0x0000a024 , 0x02890288 }, 484 { 0x0000a028 , 0x028b028a }, 485 { 0x0000a02c , 0x03850384 }, 486 { 0x0000a030 , 0x03890388 }, 487 { 0x0000a034 , 0x038b038a }, 488 { 0x0000a038 , 0x038d038c }, 489 { 0x0000a03c , 0x03910390 }, 490 { 0x0000a040 , 0x03930392 }, 491 { 0x0000a044 , 0x03950394 }, 492 { 0x0000a048 , 0x00000396 }, 493 { 0x0000a04c , 0x00000000 }, 494 { 0x0000a050 , 0x00000000 }, 495 { 0x0000a054 , 0x00000000 }, 496 { 0x0000a058 , 0x00000000 }, 497 { 0x0000a05c , 0x00000000 }, 498 { 0x0000a060 , 0x00000000 }, 499 { 0x0000a064 , 0x00000000 }, 500 { 0x0000a068 , 0x00000000 }, 501 { 0x0000a06c , 0x00000000 }, 502 { 0x0000a070 , 0x00000000 }, 503 { 0x0000a074 , 0x00000000 }, 504 { 0x0000a078 , 0x00000000 }, 505 { 0x0000a07c , 0x00000000 }, 506 { 0x0000a080 , 0x28282828 }, 507 { 0x0000a084 , 0x28282828 }, 508 { 0x0000a088 , 0x28282828 }, 509 { 0x0000a08c , 0x28282828 }, 510 { 0x0000a090 , 0x28282828 }, 511 { 0x0000a094 , 0x24242428 }, 512 { 0x0000a098 , 0x171e1e1e }, 513 { 0x0000a09c , 0x02020b0b }, 514 { 0x0000a0a0 , 0x02020202 }, 515 { 0x0000a0a4 , 0x00000000 }, 516 { 0x0000a0a8 , 0x00000000 }, 517 { 0x0000a0ac , 0x00000000 }, 518 { 0x0000a0b0 , 0x00000000 }, 519 { 0x0000a0b4 , 0x00000000 }, 520 { 0x0000a0b8 , 0x00000000 }, 521 { 0x0000a0bc , 0x00000000 }, 522 { 0x0000a0c0 , 0x22072208 }, 523 { 0x0000a0c4 , 0x22052206 }, 524 { 0x0000a0c8 , 0x22032204 }, 525 { 0x0000a0cc , 0x22012202 }, 526 { 0x0000a0d0 , 0x221f2200 }, 527 { 0x0000a0d4 , 0x221d221e }, 528 { 0x0000a0d8 , 0x33023303 }, 529 { 0x0000a0dc , 0x33003301 }, 530 { 0x0000a0e0 , 0x331e331f }, 531 { 0x0000a0e4 , 0x4402331d }, 532 { 0x0000a0e8 , 0x44004401 }, 533 { 0x0000a0ec , 0x441e441f }, 534 { 0x0000a0f0 , 0x55025503 }, 535 { 0x0000a0f4 , 0x55005501 }, 536 { 0x0000a0f8 , 0x551e551f }, 537 { 0x0000a0fc , 0x6602551d }, 538 { 0x0000a100 , 0x66006601 }, 539 { 0x0000a104 , 0x661e661f }, 540 { 0x0000a108 , 0x7703661d }, 541 { 0x0000a10c , 0x77017702 }, 542 { 0x0000a110 , 0x00007700 }, 543 { 0x0000a114 , 0x00000000 }, 544 { 0x0000a118 , 0x00000000 }, 545 { 0x0000a11c , 0x00000000 }, 546 { 0x0000a120 , 0x00000000 }, 547 { 0x0000a124 , 0x00000000 }, 548 { 0x0000a128 , 0x00000000 }, 549 { 0x0000a12c , 0x00000000 }, 550 { 0x0000a130 , 0x00000000 }, 551 { 0x0000a134 , 0x00000000 }, 552 { 0x0000a138 , 0x00000000 }, 553 { 0x0000a13c , 0x00000000 }, 554 { 0x0000a140 , 0x001f0000 }, 555 { 0x0000a144 , 0x111f1100 }, 556 { 0x0000a148 , 0x111d111e }, 557 { 0x0000a14c , 0x111b111c }, 558 { 0x0000a150 , 0x22032204 }, 559 { 0x0000a154 , 0x22012202 }, 560 { 0x0000a158 , 0x221f2200 }, 561 { 0x0000a15c , 0x221d221e }, 562 { 0x0000a160 , 0x33013302 }, 563 { 0x0000a164 , 0x331f3300 }, 564 { 0x0000a168 , 0x4402331e }, 565 { 0x0000a16c , 0x44004401 }, 566 { 0x0000a170 , 0x441e441f }, 567 { 0x0000a174 , 0x55015502 }, 568 { 0x0000a178 , 0x551f5500 }, 569 { 0x0000a17c , 0x6602551e }, 570 { 0x0000a180 , 0x66006601 }, 571 { 0x0000a184 , 0x661e661f }, 572 { 0x0000a188 , 0x7703661d }, 573 { 0x0000a18c , 0x77017702 }, 574 { 0x0000a190 , 0x00007700 }, 575 { 0x0000a194 , 0x00000000 }, 576 { 0x0000a198 , 0x00000000 }, 577 { 0x0000a19c , 0x00000000 }, 578 { 0x0000a1a0 , 0x00000000 }, 579 { 0x0000a1a4 , 0x00000000 }, 580 { 0x0000a1a8 , 0x00000000 }, 581 { 0x0000a1ac , 0x00000000 }, 582 { 0x0000a1b0 , 0x00000000 }, 583 { 0x0000a1b4 , 0x00000000 }, 584 { 0x0000a1b8 , 0x00000000 }, 585 { 0x0000a1bc , 0x00000000 }, 586 { 0x0000a1c0 , 0x00000000 }, 587 { 0x0000a1c4 , 0x00000000 }, 588 { 0x0000a1c8 , 0x00000000 }, 589 { 0x0000a1cc , 0x00000000 }, 590 { 0x0000a1d0 , 0x00000000 }, 591 { 0x0000a1d4 , 0x00000000 }, 592 { 0x0000a1d8 , 0x00000000 }, 593 { 0x0000a1dc , 0x00000000 }, 594 { 0x0000a1e0 , 0x00000000 }, 595 { 0x0000a1e4 , 0x00000000 }, 596 { 0x0000a1e8 , 0x00000000 }, 597 { 0x0000a1ec , 0x00000000 }, 598 { 0x0000a1f0 , 0x00000396 }, 599 { 0x0000a1f4 , 0x00000396 }, 600 { 0x0000a1f8 , 0x00000396 }, 601 { 0x0000a1fc , 0x00000296 }, 602}; 603 604static const u_int32_t ar9331_hornet1_2_emulation_baseband_core[][2] = { 605/* Addr allmodes */ 606 { 0x0000a344 , 0x00000010 }, 607}; 608 609static const u_int32_t ar9331_common_rx_gain_hornet1_2_emulation[][2] = { 610/* Addr allmodes */ 611 { 0x0000a000 , 0x02000101 }, 612 { 0x0000a004 , 0x02000102 }, 613 { 0x0000a008 , 0x02000103 }, 614 { 0x0000a00c , 0x02000104 }, 615 { 0x0000a010 , 0x02000200 }, 616 { 0x0000a014 , 0x02000201 }, 617 { 0x0000a018 , 0x02000202 }, 618 { 0x0000a01c , 0x02000203 }, 619 { 0x0000a020 , 0x02000204 }, 620 { 0x0000a024 , 0x02000205 }, 621 { 0x0000a028 , 0x02000208 }, 622 { 0x0000a02c , 0x02000302 }, 623 { 0x0000a030 , 0x02000303 }, 624 { 0x0000a034 , 0x02000304 }, 625 { 0x0000a038 , 0x02000400 }, 626 { 0x0000a03c , 0x02010300 }, 627 { 0x0000a040 , 0x02010301 }, 628 { 0x0000a044 , 0x02010302 }, 629 { 0x0000a048 , 0x02000500 }, 630 { 0x0000a04c , 0x02010400 }, 631 { 0x0000a050 , 0x02020300 }, 632 { 0x0000a054 , 0x02020301 }, 633 { 0x0000a058 , 0x02020302 }, 634 { 0x0000a05c , 0x02020303 }, 635 { 0x0000a060 , 0x02020400 }, 636 { 0x0000a064 , 0x02030300 }, 637 { 0x0000a068 , 0x02030301 }, 638 { 0x0000a06c , 0x02030302 }, 639 { 0x0000a070 , 0x02030303 }, 640 { 0x0000a074 , 0x02030400 }, 641 { 0x0000a078 , 0x02040300 }, 642 { 0x0000a07c , 0x02040301 }, 643 { 0x0000a080 , 0x02040302 }, 644 { 0x0000a084 , 0x02040303 }, 645 { 0x0000a088 , 0x02030500 }, 646 { 0x0000a08c , 0x02040400 }, 647 { 0x0000a090 , 0x02050203 }, 648 { 0x0000a094 , 0x02050204 }, 649 { 0x0000a098 , 0x02050205 }, 650 { 0x0000a09c , 0x02040500 }, 651 { 0x0000a0a0 , 0x02050301 }, 652 { 0x0000a0a4 , 0x02050302 }, 653 { 0x0000a0a8 , 0x02050303 }, 654 { 0x0000a0ac , 0x02050400 }, 655 { 0x0000a0b0 , 0x02050401 }, 656 { 0x0000a0b4 , 0x02050402 }, 657 { 0x0000a0b8 , 0x02050403 }, 658 { 0x0000a0bc , 0x02050500 }, 659 { 0x0000a0c0 , 0x02050501 }, 660 { 0x0000a0c4 , 0x02050502 }, 661 { 0x0000a0c8 , 0x02050503 }, 662 { 0x0000a0cc , 0x02050504 }, 663 { 0x0000a0d0 , 0x02050600 }, 664 { 0x0000a0d4 , 0x02050601 }, 665 { 0x0000a0d8 , 0x02050602 }, 666 { 0x0000a0dc , 0x02050603 }, 667 { 0x0000a0e0 , 0x02050604 }, 668 { 0x0000a0e4 , 0x02050700 }, 669 { 0x0000a0e8 , 0x02050701 }, 670 { 0x0000a0ec , 0x02050702 }, 671 { 0x0000a0f0 , 0x02050703 }, 672 { 0x0000a0f4 , 0x02050704 }, 673 { 0x0000a0f8 , 0x02050705 }, 674 { 0x0000a0fc , 0x02050708 }, 675 { 0x0000a100 , 0x02050709 }, 676 { 0x0000a104 , 0x0205070a }, 677 { 0x0000a108 , 0x0205070b }, 678 { 0x0000a10c , 0x0205070c }, 679 { 0x0000a110 , 0x0205070d }, 680 { 0x0000a114 , 0x02050710 }, 681 { 0x0000a118 , 0x02050711 }, 682 { 0x0000a11c , 0x02050712 }, 683 { 0x0000a120 , 0x02050713 }, 684 { 0x0000a124 , 0x02050714 }, 685 { 0x0000a128 , 0x02050715 }, 686 { 0x0000a12c , 0x02050730 }, 687 { 0x0000a130 , 0x02050731 }, 688 { 0x0000a134 , 0x02050732 }, 689 { 0x0000a138 , 0x02050733 }, 690 { 0x0000a13c , 0x02050734 }, 691 { 0x0000a140 , 0x02050735 }, 692 { 0x0000a144 , 0x02050750 }, 693 { 0x0000a148 , 0x02050751 }, 694 { 0x0000a14c , 0x02050752 }, 695 { 0x0000a150 , 0x02050753 }, 696 { 0x0000a154 , 0x02050754 }, 697 { 0x0000a158 , 0x02050755 }, 698 { 0x0000a15c , 0x02050770 }, 699 { 0x0000a160 , 0x02050771 }, 700 { 0x0000a164 , 0x02050772 }, 701 { 0x0000a168 , 0x02050773 }, 702 { 0x0000a16c , 0x02050774 }, 703 { 0x0000a170 , 0x02050775 }, 704 { 0x0000a174 , 0x00000776 }, 705 { 0x0000a178 , 0x00000776 }, 706 { 0x0000a17c , 0x00000776 }, 707 { 0x0000a180 , 0x00000776 }, 708 { 0x0000a184 , 0x00000776 }, 709 { 0x0000a188 , 0x00000776 }, 710 { 0x0000a18c , 0x00000776 }, 711 { 0x0000a190 , 0x00000776 }, 712 { 0x0000a194 , 0x00000776 }, 713 { 0x0000a198 , 0x00000776 }, 714 { 0x0000a19c , 0x00000776 }, 715 { 0x0000a1a0 , 0x00000776 }, 716 { 0x0000a1a4 , 0x00000776 }, 717 { 0x0000a1a8 , 0x00000776 }, 718 { 0x0000a1ac , 0x00000776 }, 719 { 0x0000a1b0 , 0x00000776 }, 720 { 0x0000a1b4 , 0x00000776 }, 721 { 0x0000a1b8 , 0x00000776 }, 722 { 0x0000a1bc , 0x00000776 }, 723 { 0x0000a1c0 , 0x00000776 }, 724 { 0x0000a1c4 , 0x00000776 }, 725 { 0x0000a1c8 , 0x00000776 }, 726 { 0x0000a1cc , 0x00000776 }, 727 { 0x0000a1d0 , 0x00000776 }, 728 { 0x0000a1d4 , 0x00000776 }, 729 { 0x0000a1d8 , 0x00000776 }, 730 { 0x0000a1dc , 0x00000776 }, 731 { 0x0000a1e0 , 0x00000776 }, 732 { 0x0000a1e4 , 0x00000776 }, 733 { 0x0000a1e8 , 0x00000776 }, 734 { 0x0000a1ec , 0x00000776 }, 735 { 0x0000a1f0 , 0x00000776 }, 736 { 0x0000a1f4 , 0x00000776 }, 737 { 0x0000a1f8 , 0x00000776 }, 738 { 0x0000a1fc , 0x00000776 }, 739}; 740 741static const u_int32_t ar9331_hornet1_2_baseband_core[][2] = { 742/* Addr allmodes */ 743 { 0x00009800 , 0xafe68e30 }, 744 { 0x00009804 , 0xfd14e000 }, 745 { 0x00009808 , 0x9c0a8f6b }, 746 { 0x0000980c , 0x04800000 }, 747 { 0x00009814 , 0x9280c00a }, 748 { 0x00009818 , 0x00000000 }, 749 { 0x0000981c , 0x00020028 }, 750 { 0x00009834 , 0x5f3ca3de }, 751 { 0x00009838 , 0x0108ecff }, 752 { 0x0000983c , 0x14750600 }, 753 { 0x00009880 , 0x201fff00 }, 754 { 0x00009884 , 0x00001042 }, 755 { 0x000098a4 , 0x00200400 }, 756 { 0x000098b0 , 0x32840bbe }, 757 { 0x000098d0 , 0x004b6a8e }, 758 { 0x000098d4 , 0x00000820 }, 759 { 0x000098dc , 0x00000000 }, 760 { 0x000098f0 , 0x00000000 }, 761 { 0x000098f4 , 0x00000000 }, 762 { 0x00009c04 , 0x00000000 }, 763 { 0x00009c08 , 0x03200000 }, 764 { 0x00009c0c , 0x00000000 }, 765 { 0x00009c10 , 0x00000000 }, 766 { 0x00009c14 , 0x00046384 }, 767 { 0x00009c18 , 0x05b6b440 }, 768 { 0x00009c1c , 0x00b6b440 }, 769 { 0x00009d00 , 0xc080a333 }, 770 { 0x00009d04 , 0x40206c10 }, 771 { 0x00009d08 , 0x009c4060 }, 772 { 0x00009d0c , 0x1883800a }, 773 { 0x00009d10 , 0x01834061 }, 774 { 0x00009d14 , 0x00c00400 }, 775 { 0x00009d18 , 0x00000000 }, 776 { 0x00009e08 , 0x0038233c }, 777 { 0x00009e24 , 0x9927b515 }, 778 { 0x00009e28 , 0x12ef0200 }, 779 { 0x00009e30 , 0x06336f77 }, 780 { 0x00009e34 , 0x6af6532f }, 781 { 0x00009e38 , 0x0cc80c00 }, 782 { 0x00009e40 , 0x0d261820 }, 783 { 0x00009e4c , 0x00001004 }, 784 { 0x00009e50 , 0x00ff03f1 }, 785 { 0x00009fc0 , 0x803e4788 }, 786 { 0x00009fc4 , 0x0001efb5 }, 787 { 0x00009fcc , 0x40000014 }, 788 { 0x0000a20c , 0x00000000 }, 789 { 0x0000a220 , 0x00000000 }, 790 { 0x0000a224 , 0x00000000 }, 791 { 0x0000a228 , 0x10002310 }, 792 { 0x0000a23c , 0x00000000 }, 793 { 0x0000a244 , 0x0c000000 }, 794 { 0x0000a2a0 , 0x00000001 }, 795 { 0x0000a2c0 , 0x00000001 }, 796 { 0x0000a2c8 , 0x00000000 }, 797 { 0x0000a2cc , 0x18c43433 }, 798 { 0x0000a2d4 , 0x00000000 }, 799 { 0x0000a2dc , 0x00000000 }, 800 { 0x0000a2e0 , 0x00000000 }, 801 { 0x0000a2e4 , 0x00000000 }, 802 { 0x0000a2e8 , 0x00000000 }, 803 { 0x0000a2ec , 0x00000000 }, 804 { 0x0000a2f0 , 0x00000000 }, 805 { 0x0000a2f4 , 0x00000000 }, 806 { 0x0000a2f8 , 0x00000000 }, 807 { 0x0000a344 , 0x00000000 }, 808 { 0x0000a34c , 0x00000000 }, 809 { 0x0000a350 , 0x0000a000 }, 810 { 0x0000a364 , 0x00000000 }, 811 { 0x0000a370 , 0x00000000 }, 812 { 0x0000a390 , 0x00000001 }, 813 { 0x0000a394 , 0x00000444 }, 814 { 0x0000a398 , 0x001f0e0f }, 815 { 0x0000a39c , 0x0075393f }, 816 { 0x0000a3a0 , 0xb79f6427 }, 817 { 0x0000a3a4 , 0x00000000 }, 818 { 0x0000a3a8 , 0xaaaaaaaa }, 819 { 0x0000a3ac , 0x3c466478 }, 820 { 0x0000a3c0 , 0x20202020 }, 821 { 0x0000a3c4 , 0x22222220 }, 822 { 0x0000a3c8 , 0x20200020 }, 823 { 0x0000a3cc , 0x20202020 }, 824 { 0x0000a3d0 , 0x20202020 }, 825 { 0x0000a3d4 , 0x20202020 }, 826 { 0x0000a3d8 , 0x20202020 }, 827 { 0x0000a3dc , 0x20202020 }, 828 { 0x0000a3e0 , 0x20202020 }, 829 { 0x0000a3e4 , 0x20202020 }, 830 { 0x0000a3e8 , 0x20202020 }, 831 { 0x0000a3ec , 0x20202020 }, 832 { 0x0000a3f0 , 0x00000000 }, 833 { 0x0000a3f4 , 0x00000006 }, 834 { 0x0000a3f8 , 0x0cdbd380 }, 835 { 0x0000a3fc , 0x000f0f01 }, 836 { 0x0000a400 , 0x8fa91f01 }, 837 { 0x0000a404 , 0x00000000 }, 838 { 0x0000a408 , 0x0e79e5c6 }, 839 { 0x0000a40c , 0x00820820 }, 840 { 0x0000a414 , 0x1ce739ce }, 841 { 0x0000a418 , 0x2d001dce }, 842 { 0x0000a41c , 0x1ce739ce }, 843 { 0x0000a420 , 0x000001ce }, 844 { 0x0000a424 , 0x1ce739ce }, 845 { 0x0000a428 , 0x000001ce }, 846 { 0x0000a42c , 0x1ce739ce }, 847 { 0x0000a430 , 0x1ce739ce }, 848 { 0x0000a434 , 0x00000000 }, 849 { 0x0000a438 , 0x00001801 }, 850 { 0x0000a43c , 0x00000000 }, 851 { 0x0000a440 , 0x00000000 }, 852 { 0x0000a444 , 0x00000000 }, 853 { 0x0000a448 , 0x04000000 }, 854 { 0x0000a44c , 0x00000001 }, 855 { 0x0000a450 , 0x00010000 }, 856 { 0x0000a458 , 0x00000000 }, 857 { 0x0000a640 , 0x00000000 }, 858 { 0x0000a644 , 0x3fad9d74 }, 859 { 0x0000a648 , 0x0048060a }, 860 { 0x0000a64c , 0x00003c37 }, 861 { 0x0000a670 , 0x03020100 }, 862 { 0x0000a674 , 0x09080504 }, 863 { 0x0000a678 , 0x0d0c0b0a }, 864 { 0x0000a67c , 0x13121110 }, 865 { 0x0000a680 , 0x31301514 }, 866 { 0x0000a684 , 0x35343332 }, 867 { 0x0000a688 , 0x00000036 }, 868 { 0x0000a690 , 0x00000838 }, 869 { 0x0000a7c0 , 0x00000000 }, 870 { 0x0000a7c4 , 0xfffffffc }, 871 { 0x0000a7c8 , 0x00000000 }, 872 { 0x0000a7cc , 0x00000000 }, 873 { 0x0000a7d0 , 0x00000000 }, 874 { 0x0000a7d4 , 0x00000004 }, 875 { 0x0000a7dc , 0x00000001 }, 876}; 877 878static const u_int32_t ar9331_modes_high_power_tx_gain_hornet1_2[][5] = { 879/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 880 { 0x0000a410 , 0x000050d7 , 0x000050d7 , 0x000050d7 , 0x000050d7 }, 881 { 0x0000a500 , 0x00022200 , 0x00022200 , 0x00000000 , 0x00000000 }, 882 { 0x0000a504 , 0x05062002 , 0x05062002 , 0x04000002 , 0x04000002 }, 883 { 0x0000a508 , 0x0c002e00 , 0x0c002e00 , 0x08000004 , 0x08000004 }, 884 { 0x0000a50c , 0x11062202 , 0x11062202 , 0x0d000200 , 0x0d000200 }, 885 { 0x0000a510 , 0x17022e00 , 0x17022e00 , 0x11000202 , 0x11000202 }, 886 { 0x0000a514 , 0x1d000ec2 , 0x1d000ec2 , 0x15000400 , 0x15000400 }, 887 { 0x0000a518 , 0x25020ec0 , 0x25020ec0 , 0x19000402 , 0x19000402 }, 888 { 0x0000a51c , 0x2b020ec3 , 0x2b020ec3 , 0x1d000404 , 0x1d000404 }, 889 { 0x0000a520 , 0x2f001f04 , 0x2f001f04 , 0x23000a00 , 0x23000a00 }, 890 { 0x0000a524 , 0x35001fc4 , 0x35001fc4 , 0x27000a02 , 0x27000a02 }, 891 { 0x0000a528 , 0x3c022f04 , 0x3c022f04 , 0x2b000a04 , 0x2b000a04 }, 892 { 0x0000a52c , 0x41023e85 , 0x41023e85 , 0x3f001620 , 0x3f001620 }, 893 { 0x0000a530 , 0x48023ec6 , 0x48023ec6 , 0x41001621 , 0x41001621 }, 894 { 0x0000a534 , 0x4d023f01 , 0x4d023f01 , 0x44001640 , 0x44001640 }, 895 { 0x0000a538 , 0x53023f4b , 0x53023f4b , 0x46001641 , 0x46001641 }, 896 { 0x0000a53c , 0x5a027f09 , 0x5a027f09 , 0x48001642 , 0x48001642 }, 897 { 0x0000a540 , 0x5f027fc9 , 0x5f027fc9 , 0x4b001644 , 0x4b001644 }, 898 { 0x0000a544 , 0x6502feca , 0x6502feca , 0x4e001a81 , 0x4e001a81 }, 899 { 0x0000a548 , 0x6b02ff4a , 0x6b02ff4a , 0x51001a83 , 0x51001a83 }, 900 { 0x0000a54c , 0x7203feca , 0x7203feca , 0x54001c84 , 0x54001c84 }, 901 { 0x0000a550 , 0x7703ff0b , 0x7703ff0b , 0x57001ce3 , 0x57001ce3 }, 902 { 0x0000a554 , 0x7d06ffcb , 0x7d06ffcb , 0x5b001ce5 , 0x5b001ce5 }, 903 { 0x0000a558 , 0x8407ff0b , 0x8407ff0b , 0x5f001ce9 , 0x5f001ce9 }, 904 { 0x0000a55c , 0x8907ffcb , 0x8907ffcb , 0x66001eec , 0x66001eec }, 905 { 0x0000a560 , 0x900fff0b , 0x900fff0b , 0x66001eec , 0x66001eec }, 906 { 0x0000a564 , 0x960fffcb , 0x960fffcb , 0x66001eec , 0x66001eec }, 907 { 0x0000a568 , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 908 { 0x0000a56c , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 909 { 0x0000a570 , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 910 { 0x0000a574 , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 911 { 0x0000a578 , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 912 { 0x0000a57c , 0x9c1fff0b , 0x9c1fff0b , 0x66001eec , 0x66001eec }, 913 { 0x0000a580 , 0x00022200 , 0x00022200 , 0x00000000 , 0x00000000 }, 914 { 0x0000a584 , 0x05062002 , 0x05062002 , 0x04000002 , 0x04000002 }, 915 { 0x0000a588 , 0x0c002e00 , 0x0c002e00 , 0x08000004 , 0x08000004 }, 916 { 0x0000a58c , 0x11062202 , 0x11062202 , 0x0b000200 , 0x0b000200 }, 917 { 0x0000a590 , 0x17022e00 , 0x17022e00 , 0x0f000202 , 0x0f000202 }, 918 { 0x0000a594 , 0x1d000ec2 , 0x1d000ec2 , 0x11000400 , 0x11000400 }, 919 { 0x0000a598 , 0x25020ec0 , 0x25020ec0 , 0x15000402 , 0x15000402 }, 920 { 0x0000a59c , 0x2b020ec3 , 0x2b020ec3 , 0x19000404 , 0x19000404 }, 921 { 0x0000a5a0 , 0x2f001f04 , 0x2f001f04 , 0x1b000603 , 0x1b000603 }, 922 { 0x0000a5a4 , 0x35001fc4 , 0x35001fc4 , 0x1f000a02 , 0x1f000a02 }, 923 { 0x0000a5a8 , 0x3c022f04 , 0x3c022f04 , 0x23000a04 , 0x23000a04 }, 924 { 0x0000a5ac , 0x41023e85 , 0x41023e85 , 0x26000a20 , 0x26000a20 }, 925 { 0x0000a5b0 , 0x48023ec6 , 0x48023ec6 , 0x2a000e20 , 0x2a000e20 }, 926 { 0x0000a5b4 , 0x4d023f01 , 0x4d023f01 , 0x2e000e22 , 0x2e000e22 }, 927 { 0x0000a5b8 , 0x53023f4b , 0x53023f4b , 0x31000e24 , 0x31000e24 }, 928 { 0x0000a5bc , 0x5a027f09 , 0x5a027f09 , 0x34001640 , 0x34001640 }, 929 { 0x0000a5c0 , 0x5f027fc9 , 0x5f027fc9 , 0x38001660 , 0x38001660 }, 930 { 0x0000a5c4 , 0x6502feca , 0x6502feca , 0x3b001861 , 0x3b001861 }, 931 { 0x0000a5c8 , 0x6b02ff4a , 0x6b02ff4a , 0x3e001a81 , 0x3e001a81 }, 932 { 0x0000a5cc , 0x7203feca , 0x7203feca , 0x42001a83 , 0x42001a83 }, 933 { 0x0000a5d0 , 0x7703ff0b , 0x7703ff0b , 0x44001c84 , 0x44001c84 }, 934 { 0x0000a5d4 , 0x7d06ffcb , 0x7d06ffcb , 0x48001ce3 , 0x48001ce3 }, 935 { 0x0000a5d8 , 0x8407ff0b , 0x8407ff0b , 0x4c001ce5 , 0x4c001ce5 }, 936 { 0x0000a5dc , 0x8907ffcb , 0x8907ffcb , 0x50001ce9 , 0x50001ce9 }, 937 { 0x0000a5e0 , 0x900fff0b , 0x900fff0b , 0x54001ceb , 0x54001ceb }, 938 { 0x0000a5e4 , 0x960fffcb , 0x960fffcb , 0x56001eec , 0x56001eec }, 939 { 0x0000a5e8 , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 940 { 0x0000a5ec , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 941 { 0x0000a5f0 , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 942 { 0x0000a5f4 , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 943 { 0x0000a5f8 , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 944 { 0x0000a5fc , 0x9c1fff0b , 0x9c1fff0b , 0x56001eec , 0x56001eec }, 945 { 0x0000a600 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 946 { 0x0000a604 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 947 { 0x0000a608 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 948 { 0x0000a60c , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 949 { 0x0000a610 , 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 }, 950 { 0x0000a614 , 0x01404000 , 0x01404000 , 0x01404000 , 0x01404000 }, 951 { 0x0000a618 , 0x02008501 , 0x02008501 , 0x02008501 , 0x02008501 }, 952 { 0x0000a61c , 0x02008802 , 0x02008802 , 0x02008802 , 0x02008802 }, 953 { 0x0000a620 , 0x0300c802 , 0x0300c802 , 0x0300c802 , 0x0300c802 }, 954 { 0x0000a624 , 0x0300cc03 , 0x0300cc03 , 0x0300cc03 , 0x0300cc03 }, 955 { 0x0000a628 , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 956 { 0x0000a62c , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 957 { 0x0000a630 , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 958 { 0x0000a634 , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 959 { 0x0000a638 , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 960 { 0x0000a63c , 0x04011004 , 0x04011004 , 0x04011004 , 0x04011004 }, 961}; 962 963static const u_int32_t ar9331_hornet1_2_mac_postamble_emulation[][5] = { 964/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 965 { 0x00008014 , 0x10f810f8 , 0x10f810f8 , 0x10f810f8 , 0x10f810f8 }, 966 { 0x0000801c , 0x0e8d8017 , 0x0e8d8017 , 0x0e8d8017 , 0x0e8d8017 }, 967}; 968 969static const u_int32_t ar9331_hornet1_2_mac_postamble[][5] = { 970/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ 971 { 0x00001030 , 0x00000230 , 0x00000460 , 0x000002c0 , 0x00000160 }, 972 { 0x00001070 , 0x00000168 , 0x000002d0 , 0x00000318 , 0x0000018c }, 973 { 0x000010b0 , 0x00000e60 , 0x00001cc0 , 0x00007c70 , 0x00003e38 }, 974 { 0x00008014 , 0x03e803e8 , 0x07d007d0 , 0x10801600 , 0x08400b00 }, 975 { 0x0000801c , 0x128d8027 , 0x128d804f , 0x12e00057 , 0x12e0002b }, 976 { 0x00008120 , 0x08f04800 , 0x08f04800 , 0x08f04810 , 0x08f04810 }, 977 { 0x000081d0 , 0x00003210 , 0x00003210 , 0x0000320a , 0x0000320a }, 978 { 0x00008318 , 0x00003e80 , 0x00007d00 , 0x00006880 , 0x00003440 }, 979}; 980 981static const u_int32_t ar9331_hornet1_2_soc_preamble[][2] = { 982/* Addr allmodes */ 983 { 0x00007020 , 0x00000000 }, 984 { 0x00007034 , 0x00000002 }, 985 { 0x00007038 , 0x000002f8 }, 986}; 987 988static const u_int32_t ar9331_hornet1_2_xtal_40M[][2] = { 989/* Addr allmodes */ 990 { 0x00007038 , 0x000004c2 }, 991 { 0x00008244 , 0x0010f400 }, 992 { 0x0000824c , 0x0001e800 }, 993 { 0x0001609c , 0x0b283f31 }, 994}; 995 996static const u_int32_t ar9331_hornet1_2_mac_core[][2] = { 997/* Addr allmodes */ 998 { 0x00000008 , 0x00000000 }, 999 { 0x00000030 , 0x00020085 }, 1000 { 0x00000034 , 0x00000005 }, 1001 { 0x00000040 , 0x00000000 }, 1002 { 0x00000044 , 0x00000000 }, 1003 { 0x00000048 , 0x00000008 }, 1004 { 0x0000004c , 0x00000010 }, 1005 { 0x00000050 , 0x00000000 }, 1006 { 0x00001040 , 0x002ffc0f }, 1007 { 0x00001044 , 0x002ffc0f }, 1008 { 0x00001048 , 0x002ffc0f }, 1009 { 0x0000104c , 0x002ffc0f }, 1010 { 0x00001050 , 0x002ffc0f }, 1011 { 0x00001054 , 0x002ffc0f }, 1012 { 0x00001058 , 0x002ffc0f }, 1013 { 0x0000105c , 0x002ffc0f }, 1014 { 0x00001060 , 0x002ffc0f }, 1015 { 0x00001064 , 0x002ffc0f }, 1016 { 0x000010f0 , 0x00000100 }, 1017 { 0x00001270 , 0x00000000 }, 1018 { 0x000012b0 , 0x00000000 }, 1019 { 0x000012f0 , 0x00000000 }, 1020 { 0x0000143c , 0x00000000 }, 1021 { 0x0000147c , 0x00000000 }, 1022 { 0x00008000 , 0x00000000 }, 1023 { 0x00008004 , 0x00000000 }, 1024 { 0x00008008 , 0x00000000 }, 1025 { 0x0000800c , 0x00000000 }, 1026 { 0x00008018 , 0x00000000 }, 1027 { 0x00008020 , 0x00000000 }, 1028 { 0x00008038 , 0x00000000 }, 1029 { 0x0000803c , 0x00000000 }, 1030 { 0x00008040 , 0x00000000 }, 1031 { 0x00008044 , 0x00000000 }, 1032 { 0x00008048 , 0x00000000 }, 1033 { 0x0000804c , 0xffffffff }, 1034 { 0x00008054 , 0x00000000 }, 1035 { 0x00008058 , 0x00000000 }, 1036 { 0x0000805c , 0x000fc78f }, 1037 { 0x00008060 , 0x0000000f }, 1038 { 0x00008064 , 0x00000000 }, 1039 { 0x00008070 , 0x00000310 }, 1040 { 0x00008074 , 0x00000020 }, 1041 { 0x00008078 , 0x00000000 }, 1042 { 0x0000809c , 0x0000000f }, 1043 { 0x000080a0 , 0x00000000 }, 1044 { 0x000080a4 , 0x02ff0000 }, 1045 { 0x000080a8 , 0x0e070605 }, 1046 { 0x000080ac , 0x0000000d }, 1047 { 0x000080b0 , 0x00000000 }, 1048 { 0x000080b4 , 0x00000000 }, 1049 { 0x000080b8 , 0x00000000 }, 1050 { 0x000080bc , 0x00000000 }, 1051 { 0x000080c0 , 0x2a800000 }, 1052 { 0x000080c4 , 0x06900168 }, 1053 { 0x000080c8 , 0x13881c20 }, 1054 { 0x000080cc , 0x01f40000 }, 1055 { 0x000080d0 , 0x00252500 }, 1056 { 0x000080d4 , 0x00a00000 }, 1057 { 0x000080d8 , 0x00400000 }, 1058 { 0x000080dc , 0x00000000 }, 1059 { 0x000080e0 , 0xffffffff }, 1060 { 0x000080e4 , 0x0000ffff }, 1061 { 0x000080e8 , 0x3f3f3f3f }, 1062 { 0x000080ec , 0x00000000 }, 1063 { 0x000080f0 , 0x00000000 }, 1064 { 0x000080f4 , 0x00000000 }, 1065 { 0x000080fc , 0x00020000 }, 1066 { 0x00008100 , 0x00000000 }, 1067 { 0x00008108 , 0x00000052 }, 1068 { 0x0000810c , 0x00000000 }, 1069 { 0x00008110 , 0x00000000 }, 1070 { 0x00008114 , 0x000007ff }, 1071 { 0x00008118 , 0x000000aa }, 1072 { 0x0000811c , 0x00003210 }, 1073 { 0x00008124 , 0x00000000 }, 1074 { 0x00008128 , 0x00000000 }, 1075 { 0x0000812c , 0x00000000 }, 1076 { 0x00008130 , 0x00000000 }, 1077 { 0x00008134 , 0x00000000 }, 1078 { 0x00008138 , 0x00000000 }, 1079 { 0x0000813c , 0x0000ffff }, 1080 { 0x00008144 , 0xffffffff }, 1081 { 0x00008168 , 0x00000000 }, 1082 { 0x0000816c , 0x00000000 }, 1083 { 0x00008170 , 0x18486200 }, 1084 { 0x00008174 , 0x33332210 }, 1085 { 0x00008178 , 0x00000000 }, 1086 { 0x0000817c , 0x00020000 }, 1087 { 0x000081c0 , 0x00000000 }, 1088 { 0x000081c4 , 0x33332210 }, 1089 { 0x000081c8 , 0x00000000 }, 1090 { 0x000081cc , 0x00000000 }, 1091 { 0x000081d4 , 0x00000000 }, 1092 { 0x000081ec , 0x00000000 }, 1093 { 0x000081f0 , 0x00000000 }, 1094 { 0x000081f4 , 0x00000000 }, 1095 { 0x000081f8 , 0x00000000 }, 1096 { 0x000081fc , 0x00000000 }, 1097 { 0x00008240 , 0x00100000 }, 1098 { 0x00008248 , 0x00000800 }, 1099 { 0x00008250 , 0x00000000 }, 1100 { 0x00008254 , 0x00000000 }, 1101 { 0x00008258 , 0x00000000 }, 1102 { 0x0000825c , 0x40000000 }, 1103 { 0x00008260 , 0x00080922 }, 1104 { 0x00008264 , 0x9d400010 }, 1105 { 0x00008268 , 0xffffffff }, 1106 { 0x0000826c , 0x0000ffff }, 1107 { 0x00008270 , 0x00000000 }, 1108 { 0x00008274 , 0x40000000 }, 1109 { 0x00008278 , 0x003e4180 }, 1110 { 0x0000827c , 0x00000004 }, 1111 { 0x00008284 , 0x0000002c }, 1112 { 0x00008288 , 0x0000002c }, 1113 { 0x0000828c , 0x000000ff }, 1114 { 0x00008294 , 0x00000000 }, 1115 { 0x00008298 , 0x00000000 }, 1116 { 0x0000829c , 0x00000000 }, 1117 { 0x00008300 , 0x00000140 }, 1118 { 0x00008314 , 0x00000000 }, 1119 { 0x0000831c , 0x0000010d }, 1120 { 0x00008328 , 0x00000000 }, 1121 { 0x0000832c , 0x00000007 }, 1122 { 0x00008330 , 0x00000302 }, 1123 { 0x00008334 , 0x00000700 }, 1124 { 0x00008338 , 0x00ff0000 }, 1125 { 0x0000833c , 0x02400000 }, 1126 { 0x00008340 , 0x000107ff }, 1127 { 0x00008344 , 0xaa48105b }, 1128 { 0x00008348 , 0x008f0000 }, 1129 { 0x0000835c , 0x00000000 }, 1130 { 0x00008360 , 0xffffffff }, 1131 { 0x00008364 , 0xffffffff }, 1132 { 0x00008368 , 0x00000000 }, 1133 { 0x00008370 , 0x00000000 }, 1134 { 0x00008374 , 0x000000ff }, 1135 { 0x00008378 , 0x00000000 }, 1136 { 0x0000837c , 0x00000000 }, 1137 { 0x00008380 , 0xffffffff }, 1138 { 0x00008384 , 0xffffffff }, 1139 { 0x00008390 , 0xffffffff }, 1140 { 0x00008394 , 0xffffffff }, 1141 { 0x00008398 , 0x00000000 }, 1142 { 0x0000839c , 0x00000000 }, 1143 { 0x000083a0 , 0x00000000 }, 1144 { 0x000083a4 , 0x0000fa14 }, 1145 { 0x000083a8 , 0x000f0c00 }, 1146 { 0x000083ac , 0x33332210 }, 1147 { 0x000083b0 , 0x33332210 }, 1148 { 0x000083b4 , 0x33332210 }, 1149 { 0x000083b8 , 0x33332210 }, 1150 { 0x000083bc , 0x00000000 }, 1151 { 0x000083c0 , 0x00000000 }, 1152 { 0x000083c4 , 0x00000000 }, 1153 { 0x000083c8 , 0x00000000 }, 1154 { 0x000083cc , 0x00000200 }, 1155 { 0x000083d0 , 0x000301ff }, 1156}; 1157 1158static const u_int32_t ar9331_common_rx_gain_hornet1_2[][2] = { 1159/* Addr allmodes */ 1160 { 0x0000a000 , 0x00010000 }, 1161 { 0x0000a004 , 0x00030002 }, 1162 { 0x0000a008 , 0x00050004 }, 1163 { 0x0000a00c , 0x00810080 }, 1164 { 0x0000a010 , 0x01800082 }, 1165 { 0x0000a014 , 0x01820181 }, 1166 { 0x0000a018 , 0x01840183 }, 1167 { 0x0000a01c , 0x01880185 }, 1168 { 0x0000a020 , 0x018a0189 }, 1169 { 0x0000a024 , 0x02850284 }, 1170 { 0x0000a028 , 0x02890288 }, 1171 { 0x0000a02c , 0x03850384 }, 1172 { 0x0000a030 , 0x03890388 }, 1173 { 0x0000a034 , 0x038b038a }, 1174 { 0x0000a038 , 0x038d038c }, 1175 { 0x0000a03c , 0x03910390 }, 1176 { 0x0000a040 , 0x03930392 }, 1177 { 0x0000a044 , 0x03950394 }, 1178 { 0x0000a048 , 0x00000396 }, 1179 { 0x0000a04c , 0x00000000 }, 1180 { 0x0000a050 , 0x00000000 }, 1181 { 0x0000a054 , 0x00000000 }, 1182 { 0x0000a058 , 0x00000000 }, 1183 { 0x0000a05c , 0x00000000 }, 1184 { 0x0000a060 , 0x00000000 }, 1185 { 0x0000a064 , 0x00000000 }, 1186 { 0x0000a068 , 0x00000000 }, 1187 { 0x0000a06c , 0x00000000 }, 1188 { 0x0000a070 , 0x00000000 }, 1189 { 0x0000a074 , 0x00000000 }, 1190 { 0x0000a078 , 0x00000000 }, 1191 { 0x0000a07c , 0x00000000 }, 1192 { 0x0000a080 , 0x28282828 }, 1193 { 0x0000a084 , 0x28282828 }, 1194 { 0x0000a088 , 0x28282828 }, 1195 { 0x0000a08c , 0x28282828 }, 1196 { 0x0000a090 , 0x28282828 }, 1197 { 0x0000a094 , 0x21212128 }, 1198 { 0x0000a098 , 0x171c1c1c }, 1199 { 0x0000a09c , 0x02020212 }, 1200 { 0x0000a0a0 , 0x00000202 }, 1201 { 0x0000a0a4 , 0x00000000 }, 1202 { 0x0000a0a8 , 0x00000000 }, 1203 { 0x0000a0ac , 0x00000000 }, 1204 { 0x0000a0b0 , 0x00000000 }, 1205 { 0x0000a0b4 , 0x00000000 }, 1206 { 0x0000a0b8 , 0x00000000 }, 1207 { 0x0000a0bc , 0x00000000 }, 1208 { 0x0000a0c0 , 0x001f0000 }, 1209 { 0x0000a0c4 , 0x111f1100 }, 1210 { 0x0000a0c8 , 0x111d111e }, 1211 { 0x0000a0cc , 0x111b111c }, 1212 { 0x0000a0d0 , 0x22032204 }, 1213 { 0x0000a0d4 , 0x22012202 }, 1214 { 0x0000a0d8 , 0x221f2200 }, 1215 { 0x0000a0dc , 0x221d221e }, 1216 { 0x0000a0e0 , 0x33013302 }, 1217 { 0x0000a0e4 , 0x331f3300 }, 1218 { 0x0000a0e8 , 0x4402331e }, 1219 { 0x0000a0ec , 0x44004401 }, 1220 { 0x0000a0f0 , 0x441e441f }, 1221 { 0x0000a0f4 , 0x55015502 }, 1222 { 0x0000a0f8 , 0x551f5500 }, 1223 { 0x0000a0fc , 0x6602551e }, 1224 { 0x0000a100 , 0x66006601 }, 1225 { 0x0000a104 , 0x661e661f }, 1226 { 0x0000a108 , 0x7703661d }, 1227 { 0x0000a10c , 0x77017702 }, 1228 { 0x0000a110 , 0x00007700 }, 1229 { 0x0000a114 , 0x00000000 }, 1230 { 0x0000a118 , 0x00000000 }, 1231 { 0x0000a11c , 0x00000000 }, 1232 { 0x0000a120 , 0x00000000 }, 1233 { 0x0000a124 , 0x00000000 }, 1234 { 0x0000a128 , 0x00000000 }, 1235 { 0x0000a12c , 0x00000000 }, 1236 { 0x0000a130 , 0x00000000 }, 1237 { 0x0000a134 , 0x00000000 }, 1238 { 0x0000a138 , 0x00000000 }, 1239 { 0x0000a13c , 0x00000000 }, 1240 { 0x0000a140 , 0x001f0000 }, 1241 { 0x0000a144 , 0x111f1100 }, 1242 { 0x0000a148 , 0x111d111e }, 1243 { 0x0000a14c , 0x111b111c }, 1244 { 0x0000a150 , 0x22032204 }, 1245 { 0x0000a154 , 0x22012202 }, 1246 { 0x0000a158 , 0x221f2200 }, 1247 { 0x0000a15c , 0x221d221e }, 1248 { 0x0000a160 , 0x33013302 }, 1249 { 0x0000a164 , 0x331f3300 }, 1250 { 0x0000a168 , 0x4402331e }, 1251 { 0x0000a16c , 0x44004401 }, 1252 { 0x0000a170 , 0x441e441f }, 1253 { 0x0000a174 , 0x55015502 }, 1254 { 0x0000a178 , 0x551f5500 }, 1255 { 0x0000a17c , 0x6602551e }, 1256 { 0x0000a180 , 0x66006601 }, 1257 { 0x0000a184 , 0x661e661f }, 1258 { 0x0000a188 , 0x7703661d }, 1259 { 0x0000a18c , 0x77017702 }, 1260 { 0x0000a190 , 0x00007700 }, 1261 { 0x0000a194 , 0x00000000 }, 1262 { 0x0000a198 , 0x00000000 }, 1263 { 0x0000a19c , 0x00000000 }, 1264 { 0x0000a1a0 , 0x00000000 }, 1265 { 0x0000a1a4 , 0x00000000 }, 1266 { 0x0000a1a8 , 0x00000000 }, 1267 { 0x0000a1ac , 0x00000000 }, 1268 { 0x0000a1b0 , 0x00000000 }, 1269 { 0x0000a1b4 , 0x00000000 }, 1270 { 0x0000a1b8 , 0x00000000 }, 1271 { 0x0000a1bc , 0x00000000 }, 1272 { 0x0000a1c0 , 0x00000000 }, 1273 { 0x0000a1c4 , 0x00000000 }, 1274 { 0x0000a1c8 , 0x00000000 }, 1275 { 0x0000a1cc , 0x00000000 }, 1276 { 0x0000a1d0 , 0x00000000 }, 1277 { 0x0000a1d4 , 0x00000000 }, 1278 { 0x0000a1d8 , 0x00000000 }, 1279 { 0x0000a1dc , 0x00000000 }, 1280 { 0x0000a1e0 , 0x00000000 }, 1281 { 0x0000a1e4 , 0x00000000 }, 1282 { 0x0000a1e8 , 0x00000000 }, 1283 { 0x0000a1ec , 0x00000000 }, 1284 { 0x0000a1f0 , 0x00000396 }, 1285 { 0x0000a1f4 , 0x00000396 }, 1286 { 0x0000a1f8 , 0x00000396 }, 1287 { 0x0000a1fc , 0x00000296 }, 1288}; 1289 1290