Home | History | Annotate | Line # | Download | only in ar5211
      1 /*
      2  * Copyright (c) 2002-2008 Sam Leffler, Errno Consulting
      3  * Copyright (c) 2002-2006 Atheros Communications, Inc.
      4  *
      5  * Permission to use, copy, modify, and/or distribute this software for any
      6  * purpose with or without fee is hereby granted, provided that the above
      7  * copyright notice and this permission notice appear in all copies.
      8  *
      9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
     10  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
     11  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
     12  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     13  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
     14  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
     15  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     16  *
     17  * $Id: boss.ini,v 1.1.1.1 2008/12/11 04:46:35 alc Exp $
     18  */
     19 /* Auto Generated PCI Register Writes.  Created: 09/12/02 */
     20 
     21 static const uint32_t ar5211Modes[][5] = {
     22 	{ 0x00000030, 0x00000015, 0x00000015, 0x0000001d, 0x00000015 },
     23 	{ 0x00001040, 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f },
     24 	{ 0x00001044, 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f },
     25 	{ 0x00001048, 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f },
     26 	{ 0x0000104c, 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f },
     27 	{ 0x00001050, 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f },
     28 	{ 0x00001054, 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f },
     29 	{ 0x00001058, 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f },
     30 	{ 0x0000105c, 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f },
     31 	{ 0x00001060, 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f },
     32 	{ 0x00001064, 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f },
     33 	{ 0x00001070, 0x00000168, 0x000001e0, 0x000001b8, 0x00000168 },
     34 	{ 0x00001030, 0x00000230, 0x000001e0, 0x000000b0, 0x00000230 },
     35 	{ 0x000010b0, 0x00000d98, 0x00001180, 0x00001f48, 0x00000d98 },
     36 	{ 0x000010f0, 0x0000a0e0, 0x00014068, 0x00005880, 0x0000a0e0 },
     37 	{ 0x00008014, 0x04000400, 0x08000800, 0x20003000, 0x04000400 },
     38 	{ 0x0000801c, 0x0e8d8fa7, 0x0e8d8fcf, 0x01608f95, 0x0e8d8fa7 },
     39 	{ 0x00009804, 0x00000000, 0x00000003, 0x00000000, 0x00000000 },
     40 	{ 0x00009820, 0x02020200, 0x02020200, 0x02010200, 0x02020200 },
     41 	{ 0x00009824, 0x00000e0e, 0x00000e0e, 0x00000707, 0x00000e0e },
     42 	{ 0x00009828, 0x0a020001, 0x0a020001, 0x05010000, 0x0a020001 },
     43 	{ 0x00009834, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e },
     44 	{ 0x00009838, 0x00000007, 0x00000007, 0x0000000b, 0x0000000b },
     45 	{ 0x00009844, 0x1372169c, 0x137216a5, 0x137216a8, 0x1372169c },
     46 	{ 0x00009848, 0x0018ba67, 0x0018ba67, 0x0018ba69, 0x0018ba69 },
     47 	{ 0x00009850, 0x0c28b4e0, 0x0c28b4e0, 0x0c28b4e0, 0x0c28b4e0 },
     48 	{ 0x00009858, 0x7e800d2e, 0x7e800d2e, 0x7ec00d2e, 0x7e800d2e },
     49 	{ 0x0000985c, 0x31375d5e, 0x31375d5e, 0x313a5d5e, 0x31375d5e },
     50 	{ 0x00009860, 0x0000bd10, 0x0000bd10, 0x0000bd38, 0x0000bd10 },
     51 	{ 0x00009864, 0x0001ce00, 0x0001ce00, 0x0001ce00, 0x0001ce00 },
     52 	{ 0x00009914, 0x00002710, 0x00002710, 0x0000157c, 0x00002710 },
     53 	{ 0x00009918, 0x00000190, 0x00000190, 0x00000084, 0x00000190 },
     54 	{ 0x00009944, 0x6fe01020, 0x6fe01020, 0x6fe00920, 0x6fe01020 },
     55 	{ 0x0000a180, 0x05ff14ff, 0x05ff14ff, 0x05ff14ff, 0x05ff19ff },
     56 	{ 0x000098d4, 0x00000010, 0x00000014, 0x00000010, 0x00000010 },
     57 };
     58 
     59 static const uint32_t ar5211Common[][2] = {
     60 	{ 0x0000000c, 0x00000000 },
     61 	{ 0x00000028, 0x84849c9c },
     62 	{ 0x0000002c, 0x7c7c7c7c },
     63 	{ 0x00000034, 0x00000005 },
     64 	{ 0x00000040, 0x00000000 },
     65 	{ 0x00000044, 0x00000008 },
     66 	{ 0x00000048, 0x00000008 },
     67 	{ 0x0000004c, 0x00000010 },
     68 	{ 0x00000050, 0x00000000 },
     69 	{ 0x00000054, 0x0000001f },
     70 	{ 0x00000800, 0x00000000 },
     71 	{ 0x00000804, 0x00000000 },
     72 	{ 0x00000808, 0x00000000 },
     73 	{ 0x0000080c, 0x00000000 },
     74 	{ 0x00000810, 0x00000000 },
     75 	{ 0x00000814, 0x00000000 },
     76 	{ 0x00000818, 0x00000000 },
     77 	{ 0x0000081c, 0x00000000 },
     78 	{ 0x00000820, 0x00000000 },
     79 	{ 0x00000824, 0x00000000 },
     80 	{ 0x00001230, 0x00000000 },
     81 	{ 0x00008004, 0x00000000 },
     82 	{ 0x00008008, 0x00000000 },
     83 	{ 0x0000800c, 0x00000000 },
     84 	{ 0x00008018, 0x00000000 },
     85 	{ 0x00008024, 0x00000000 },
     86 	{ 0x00008028, 0x00000030 },
     87 	{ 0x0000802c, 0x0007ffff },
     88 	{ 0x00008030, 0x01ffffff },
     89 	{ 0x00008034, 0x00000031 },
     90 	{ 0x00008038, 0x00000000 },
     91 	{ 0x0000803c, 0x00000000 },
     92 	{ 0x00008040, 0x00000000 },
     93 	{ 0x00008044, 0x00000002 },
     94 	{ 0x00008048, 0x00000000 },
     95 	{ 0x00008054, 0x00000000 },
     96 	{ 0x00008058, 0x00000000 },
     97 	{ 0x00009808, 0x00000000 },
     98 	{ 0x0000980c, 0x2d849093 },
     99 	{ 0x00009810, 0x7d32e000 },
    100 	{ 0x00009814, 0x00000f6b },
    101 	{ 0x0000981c, 0x00000000 },
    102 	{ 0x0000982c, 0x00026ffe },
    103 	{ 0x00009830, 0x00000000 },
    104 	{ 0x0000983c, 0x00020100 },
    105 	{ 0x00009840, 0x206a017a },
    106 	{ 0x0000984c, 0x1284613c },
    107 	{ 0x00009854, 0x00000859 },
    108 	{ 0x00009868, 0x409a4190 },
    109 	{ 0x0000986c, 0x050cb081 },
    110 	{ 0x00009870, 0x0000000f },
    111 	{ 0x00009874, 0x00000080 },
    112 	{ 0x00009878, 0x0000000c },
    113 	{ 0x00009900, 0x00000000 },
    114 	{ 0x00009904, 0x00000000 },
    115 	{ 0x00009908, 0x00000000 },
    116 	{ 0x0000990c, 0x00800000 },
    117 	{ 0x00009910, 0x00000001 },
    118 	{ 0x0000991c, 0x0000092a },
    119 	{ 0x00009920, 0x00000000 },
    120 	{ 0x00009924, 0x00058a05 },
    121 	{ 0x00009928, 0x00000001 },
    122 	{ 0x0000992c, 0x00000000 },
    123 	{ 0x00009930, 0x00000000 },
    124 	{ 0x00009934, 0x00000000 },
    125 	{ 0x00009938, 0x00000000 },
    126 	{ 0x0000993c, 0x0000003f },
    127 	{ 0x00009940, 0x00000004 },
    128 	{ 0x00009948, 0x00000000 },
    129 	{ 0x0000994c, 0x00000000 },
    130 	{ 0x00009950, 0x00000000 },
    131 	{ 0x00009954, 0x5d50f14c },
    132 	{ 0x00009958, 0x00000018 },
    133 	{ 0x0000995c, 0x004b6a8e },
    134 	{ 0x0000a184, 0x06ff05ff },
    135 	{ 0x0000a188, 0x07ff07ff },
    136 	{ 0x0000a18c, 0x08ff08ff },
    137 	{ 0x0000a190, 0x09ff09ff },
    138 	{ 0x0000a194, 0x0aff0aff },
    139 	{ 0x0000a198, 0x0bff0bff },
    140 	{ 0x0000a19c, 0x0cff0cff },
    141 	{ 0x0000a1a0, 0x0dff0dff },
    142 	{ 0x0000a1a4, 0x0fff0eff },
    143 	{ 0x0000a1a8, 0x12ff12ff },
    144 	{ 0x0000a1ac, 0x14ff13ff },
    145 	{ 0x0000a1b0, 0x16ff15ff },
    146 	{ 0x0000a1b4, 0x19ff17ff },
    147 	{ 0x0000a1b8, 0x1bff1aff },
    148 	{ 0x0000a1bc, 0x1eff1dff },
    149 	{ 0x0000a1c0, 0x23ff20ff },
    150 	{ 0x0000a1c4, 0x27ff25ff },
    151 	{ 0x0000a1c8, 0x2cff29ff },
    152 	{ 0x0000a1cc, 0x31ff2fff },
    153 	{ 0x0000a1d0, 0x37ff34ff },
    154 	{ 0x0000a1d4, 0x3aff3aff },
    155 	{ 0x0000a1d8, 0x3aff3aff },
    156 	{ 0x0000a1dc, 0x3aff3aff },
    157 	{ 0x0000a1e0, 0x3aff3aff },
    158 	{ 0x0000a1e4, 0x3aff3aff },
    159 	{ 0x0000a1e8, 0x3aff3aff },
    160 	{ 0x0000a1ec, 0x3aff3aff },
    161 	{ 0x0000a1f0, 0x3aff3aff },
    162 	{ 0x0000a1f4, 0x3aff3aff },
    163 	{ 0x0000a1f8, 0x3aff3aff },
    164 	{ 0x0000a1fc, 0x3aff3aff },
    165 	{ 0x00009b00, 0x00000000 },
    166 	{ 0x00009b04, 0x00000020 },
    167 	{ 0x00009b08, 0x00000010 },
    168 	{ 0x00009b0c, 0x00000030 },
    169 	{ 0x00009b10, 0x00000008 },
    170 	{ 0x00009b14, 0x00000028 },
    171 	{ 0x00009b18, 0x00000004 },
    172 	{ 0x00009b1c, 0x00000024 },
    173 	{ 0x00009b20, 0x00000014 },
    174 	{ 0x00009b24, 0x00000034 },
    175 	{ 0x00009b28, 0x0000000c },
    176 	{ 0x00009b2c, 0x0000002c },
    177 	{ 0x00009b30, 0x00000002 },
    178 	{ 0x00009b34, 0x00000022 },
    179 	{ 0x00009b38, 0x00000012 },
    180 	{ 0x00009b3c, 0x00000032 },
    181 	{ 0x00009b40, 0x0000000a },
    182 	{ 0x00009b44, 0x0000002a },
    183 	{ 0x00009b48, 0x00000006 },
    184 	{ 0x00009b4c, 0x00000026 },
    185 	{ 0x00009b50, 0x00000016 },
    186 	{ 0x00009b54, 0x00000036 },
    187 	{ 0x00009b58, 0x0000000e },
    188 	{ 0x00009b5c, 0x0000002e },
    189 	{ 0x00009b60, 0x00000001 },
    190 	{ 0x00009b64, 0x00000021 },
    191 	{ 0x00009b68, 0x00000011 },
    192 	{ 0x00009b6c, 0x00000031 },
    193 	{ 0x00009b70, 0x00000009 },
    194 	{ 0x00009b74, 0x00000029 },
    195 	{ 0x00009b78, 0x00000005 },
    196 	{ 0x00009b7c, 0x00000025 },
    197 	{ 0x00009b80, 0x00000015 },
    198 	{ 0x00009b84, 0x00000035 },
    199 	{ 0x00009b88, 0x0000000d },
    200 	{ 0x00009b8c, 0x0000002d },
    201 	{ 0x00009b90, 0x00000003 },
    202 	{ 0x00009b94, 0x00000023 },
    203 	{ 0x00009b98, 0x00000013 },
    204 	{ 0x00009b9c, 0x00000033 },
    205 	{ 0x00009ba0, 0x0000000b },
    206 	{ 0x00009ba4, 0x0000002b },
    207 	{ 0x00009ba8, 0x0000002b },
    208 	{ 0x00009bac, 0x0000002b },
    209 	{ 0x00009bb0, 0x0000002b },
    210 	{ 0x00009bb4, 0x0000002b },
    211 	{ 0x00009bb8, 0x0000002b },
    212 	{ 0x00009bbc, 0x0000002b },
    213 	{ 0x00009bc0, 0x0000002b },
    214 	{ 0x00009bc4, 0x0000002b },
    215 	{ 0x00009bc8, 0x0000002b },
    216 	{ 0x00009bcc, 0x0000002b },
    217 	{ 0x00009bd0, 0x0000002b },
    218 	{ 0x00009bd4, 0x0000002b },
    219 	{ 0x00009bd8, 0x0000002b },
    220 	{ 0x00009bdc, 0x0000002b },
    221 	{ 0x00009be0, 0x0000002b },
    222 	{ 0x00009be4, 0x0000002b },
    223 	{ 0x00009be8, 0x0000002b },
    224 	{ 0x00009bec, 0x0000002b },
    225 	{ 0x00009bf0, 0x0000002b },
    226 	{ 0x00009bf4, 0x0000002b },
    227 	{ 0x00009bf8, 0x00000002 },
    228 	{ 0x00009bfc, 0x00000016 },
    229 	{ 0x000098d4, 0x00000020 },
    230 	{ 0x000098d8, 0x00601068 },
    231 };
    232 
    233 static uint32_t ar5211Mode2_4[][3] = {
    234 	{ 0x0000a204, 0x00000000, 0x00000000 },
    235 	{ 0x0000a208, 0x503e4646, 0x503e4646 },
    236 	{ 0x0000a20c, 0x6480416c, 0x6480416c },
    237 	{ 0x0000a210, 0x0199a003, 0x0199a003 },
    238 	{ 0x0000a214, 0x044cd610, 0x044cd610 },
    239 	{ 0x0000a218, 0x13800040, 0x13800040 },
    240 	{ 0x0000a21c, 0x1be00060, 0x1be00060 },
    241 	{ 0x0000a220, 0x0c53800a, 0x0c53800a },
    242 	{ 0x0000a224, 0x0014df3b, 0x0014df3b },
    243 	{ 0x0000a228, 0x000001b5, 0x000001b5 },
    244 	{ 0x0000a22c, 0x00000020, 0x00000020 },
    245 	{ 0x0000989c, 0x00000000, 0x00000000 },
    246 	{ 0x0000989c, 0x00000000, 0x00000000 },
    247 	{ 0x0000989c, 0x00000000, 0x00000000 },
    248 	{ 0x0000989c, 0x00000000, 0x00000000 },
    249 	{ 0x0000989c, 0x00000000, 0x00000000 },
    250 	{ 0x0000989c, 0x00000000, 0x00000000 },
    251 	{ 0x0000989c, 0x00000000, 0x00000000 },
    252 	{ 0x0000989c, 0x00000000, 0x00000000 },
    253 	{ 0x0000989c, 0x00000000, 0x00000000 },
    254 	{ 0x0000989c, 0x00000000, 0x00000000 },
    255 	{ 0x0000989c, 0x00000000, 0x00000000 },
    256 	{ 0x0000989c, 0x00380000, 0x00380000 },
    257 	{ 0x0000989c, 0x00000000, 0x00000000 },
    258 	{ 0x0000989c, 0x00000000, 0x00000000 },
    259 	{ 0x0000989c, 0x00000000, 0x00000000 },
    260 	{ 0x0000989c, 0x000400f9, 0x000400f9 },
    261 	{ 0x000098d4, 0x00000000, 0x00000004 },
    262 };
    263 
    264 static const uint32_t ar5211BB_RfGain[][3] = {
    265 	{ 0x00009a00, 0x000001a9, 0x00000000 },
    266 	{ 0x00009a04, 0x000001e9, 0x00000040 },
    267 	{ 0x00009a08, 0x00000029, 0x00000080 },
    268 	{ 0x00009a0c, 0x00000069, 0x00000150 },
    269 	{ 0x00009a10, 0x00000199, 0x00000190 },
    270 	{ 0x00009a14, 0x000001d9, 0x000001d0 },
    271 	{ 0x00009a18, 0x00000019, 0x00000010 },
    272 	{ 0x00009a1c, 0x00000059, 0x00000044 },
    273 	{ 0x00009a20, 0x00000099, 0x00000084 },
    274 	{ 0x00009a24, 0x000001a5, 0x00000148 },
    275 	{ 0x00009a28, 0x000001e5, 0x00000188 },
    276 	{ 0x00009a2c, 0x00000025, 0x000001c8 },
    277 	{ 0x00009a30, 0x000001c8, 0x00000014 },
    278 	{ 0x00009a34, 0x00000008, 0x00000042 },
    279 	{ 0x00009a38, 0x00000048, 0x00000082 },
    280 	{ 0x00009a3c, 0x00000088, 0x00000178 },
    281 	{ 0x00009a40, 0x00000198, 0x000001b8 },
    282 	{ 0x00009a44, 0x000001d8, 0x000001f8 },
    283 	{ 0x00009a48, 0x00000018, 0x00000012 },
    284 	{ 0x00009a4c, 0x00000058, 0x00000052 },
    285 	{ 0x00009a50, 0x00000098, 0x00000092 },
    286 	{ 0x00009a54, 0x000001a4, 0x0000017c },
    287 	{ 0x00009a58, 0x000001e4, 0x000001bc },
    288 	{ 0x00009a5c, 0x00000024, 0x000001fc },
    289 	{ 0x00009a60, 0x00000064, 0x0000000a },
    290 	{ 0x00009a64, 0x000000a4, 0x0000004a },
    291 	{ 0x00009a68, 0x000000e4, 0x0000008a },
    292 	{ 0x00009a6c, 0x0000010a, 0x0000015a },
    293 	{ 0x00009a70, 0x0000014a, 0x0000019a },
    294 	{ 0x00009a74, 0x0000018a, 0x000001da },
    295 	{ 0x00009a78, 0x000001ca, 0x0000000e },
    296 	{ 0x00009a7c, 0x0000000a, 0x0000004e },
    297 	{ 0x00009a80, 0x0000004a, 0x0000008e },
    298 	{ 0x00009a84, 0x0000008a, 0x0000015e },
    299 	{ 0x00009a88, 0x000001ba, 0x0000019e },
    300 	{ 0x00009a8c, 0x000001fa, 0x000001de },
    301 	{ 0x00009a90, 0x0000003a, 0x00000009 },
    302 	{ 0x00009a94, 0x0000007a, 0x00000049 },
    303 	{ 0x00009a98, 0x00000186, 0x00000089 },
    304 	{ 0x00009a9c, 0x000001c6, 0x00000179 },
    305 	{ 0x00009aa0, 0x00000006, 0x000001b9 },
    306 	{ 0x00009aa4, 0x00000046, 0x000001f9 },
    307 	{ 0x00009aa8, 0x00000086, 0x00000039 },
    308 	{ 0x00009aac, 0x000000c6, 0x00000079 },
    309 	{ 0x00009ab0, 0x000000c6, 0x000000b9 },
    310 	{ 0x00009ab4, 0x000000c6, 0x000001bd },
    311 	{ 0x00009ab8, 0x000000c6, 0x000001fd },
    312 	{ 0x00009abc, 0x000000c6, 0x0000003d },
    313 	{ 0x00009ac0, 0x000000c6, 0x0000007d },
    314 	{ 0x00009ac4, 0x000000c6, 0x000000bd },
    315 	{ 0x00009ac8, 0x000000c6, 0x000000fd },
    316 	{ 0x00009acc, 0x000000c6, 0x000000fd },
    317 	{ 0x00009ad0, 0x000000c6, 0x000000fd },
    318 	{ 0x00009ad4, 0x000000c6, 0x000000fd },
    319 	{ 0x00009ad8, 0x000000c6, 0x000000fd },
    320 	{ 0x00009adc, 0x000000c6, 0x000000fd },
    321 	{ 0x00009ae0, 0x000000c6, 0x000000fd },
    322 	{ 0x00009ae4, 0x000000c6, 0x000000fd },
    323 	{ 0x00009ae8, 0x000000c6, 0x000000fd },
    324 	{ 0x00009aec, 0x000000c6, 0x000000fd },
    325 	{ 0x00009af0, 0x000000c6, 0x000000fd },
    326 	{ 0x00009af4, 0x000000c6, 0x000000fd },
    327 	{ 0x00009af8, 0x000000c6, 0x000000fd },
    328 	{ 0x00009afc, 0x000000c6, 0x000000fd },
    329 };
    330 
    331 static uint32_t ar5211Rf6n7[][3] = {
    332 	{ 0x0000989c, 0x00000000, 0x00000000 },
    333 	{ 0x0000989c, 0x00000000, 0x00000000 },
    334 	{ 0x0000989c, 0x00000000, 0x00000000 },
    335 	{ 0x0000989c, 0x00000000, 0x00000000 },
    336 	{ 0x0000989c, 0x00000000, 0x00000000 },
    337 	{ 0x0000989c, 0x10000000, 0x10000000 },
    338 	{ 0x0000989c, 0x04000000, 0x04000000 },
    339 	{ 0x0000989c, 0x00000000, 0x00000000 },
    340 	{ 0x0000989c, 0x00000000, 0x00000000 },
    341 	{ 0x0000989c, 0x00000000, 0x00000000 },
    342 	{ 0x0000989c, 0x00000000, 0x0a000000 },
    343 	{ 0x0000989c, 0x00380080, 0x02380080 },
    344 	{ 0x0000989c, 0x00020006, 0x00000006 },
    345 	{ 0x0000989c, 0x00000092, 0x00000092 },
    346 	{ 0x0000989c, 0x000000a0, 0x000000a0 },
    347 	{ 0x0000989c, 0x00040007, 0x00040007 },
    348 	{ 0x000098d4, 0x0000001a, 0x0000001a },
    349 	{ 0x0000989c, 0x00000048, 0x00000048 },
    350 	{ 0x0000989c, 0x00000010, 0x00000010 },
    351 	{ 0x0000989c, 0x00000008, 0x00000008 },
    352 	{ 0x0000989c, 0x0000000f, 0x0000000f },
    353 	{ 0x0000989c, 0x000000f2, 0x00000062 },
    354 	{ 0x0000989c, 0x0000904f, 0x0000904c },
    355 	{ 0x0000989c, 0x0000125a, 0x0000129a },
    356 	{ 0x000098cc, 0x0000000e, 0x0000000f },
    357 };
    358 
    359