The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/ic/ar5212var.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

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

Cache object: 2809f1633b7a9305f7fdb72a00dd4a4a


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.