[BACK]Return to ar5212var.h CVS log [TXT][DIR] Up to [local] / sys / dev / ic

Annotation of sys/dev/ic/ar5212var.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: ar5212var.h,v 1.14 2007/03/12 01:04:52 reyk 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 possibily 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: struct ar5k_ar5212_ini {
        !           242:        u_int8_t        ini_flags;
        !           243:        u_int16_t       ini_register;
        !           244:        u_int32_t       ini_value;
        !           245:
        !           246: #define AR5K_INI_FLAG_511X     0x00
        !           247: #define        AR5K_INI_FLAG_5111      0x01
        !           248: #define AR5K_INI_FLAG_5112     0x02
        !           249: #define AR5K_INI_FLAG_BOTH     (AR5K_INI_FLAG_5111 | AR5K_INI_FLAG_5112)
        !           250: };
        !           251:
        !           252: #define AR5K_AR5212_INI {                                              \
        !           253:        { AR5K_INI_FLAG_BOTH, 0x000c, 0x00000000 },                     \
        !           254:        { AR5K_INI_FLAG_BOTH, 0x0034, 0x00000005 },                     \
        !           255:        { AR5K_INI_FLAG_BOTH, 0x0040, 0x00000000 },                     \
        !           256:        { AR5K_INI_FLAG_BOTH, 0x0044, 0x00000008 },                     \
        !           257:        { AR5K_INI_FLAG_BOTH, 0x0048, 0x00000008 },                     \
        !           258:        { AR5K_INI_FLAG_BOTH, 0x004c, 0x00000010 },                     \
        !           259:        { AR5K_INI_FLAG_BOTH, 0x0050, 0x00000000 },                     \
        !           260:        { AR5K_INI_FLAG_BOTH, 0x0054, 0x0000001f },                     \
        !           261:        { AR5K_INI_FLAG_BOTH, 0x0800, 0x00000000 },                     \
        !           262:        { AR5K_INI_FLAG_BOTH, 0x0804, 0x00000000 },                     \
        !           263:        { AR5K_INI_FLAG_BOTH, 0x0808, 0x00000000 },                     \
        !           264:        { AR5K_INI_FLAG_BOTH, 0x080c, 0x00000000 },                     \
        !           265:        { AR5K_INI_FLAG_BOTH, 0x0810, 0x00000000 },                     \
        !           266:        { AR5K_INI_FLAG_BOTH, 0x0814, 0x00000000 },                     \
        !           267:        { AR5K_INI_FLAG_BOTH, 0x0818, 0x00000000 },                     \
        !           268:        { AR5K_INI_FLAG_BOTH, 0x081c, 0x00000000 },                     \
        !           269:        { AR5K_INI_FLAG_BOTH, 0x0820, 0x00000000 },                     \
        !           270:        { AR5K_INI_FLAG_BOTH, 0x0824, 0x00000000 },                     \
        !           271:        { AR5K_INI_FLAG_BOTH, 0x1230, 0x00000000 },                     \
        !           272:        { AR5K_INI_FLAG_BOTH, 0x1270, 0x00000000 },                     \
        !           273:        { AR5K_INI_FLAG_BOTH, 0x1038, 0x00000000 },                     \
        !           274:        { AR5K_INI_FLAG_BOTH, 0x1078, 0x00000000 },                     \
        !           275:        { AR5K_INI_FLAG_BOTH, 0x10b8, 0x00000000 },                     \
        !           276:        { AR5K_INI_FLAG_BOTH, 0x10f8, 0x00000000 },                     \
        !           277:        { AR5K_INI_FLAG_BOTH, 0x1138, 0x00000000 },                     \
        !           278:        { AR5K_INI_FLAG_BOTH, 0x1178, 0x00000000 },                     \
        !           279:        { AR5K_INI_FLAG_BOTH, 0x11b8, 0x00000000 },                     \
        !           280:        { AR5K_INI_FLAG_BOTH, 0x11f8, 0x00000000 },                     \
        !           281:        { AR5K_INI_FLAG_BOTH, 0x1238, 0x00000000 },                     \
        !           282:        { AR5K_INI_FLAG_BOTH, 0x1278, 0x00000000 },                     \
        !           283:        { AR5K_INI_FLAG_BOTH, 0x12b8, 0x00000000 },                     \
        !           284:        { AR5K_INI_FLAG_BOTH, 0x12f8, 0x00000000 },                     \
        !           285:        { AR5K_INI_FLAG_BOTH, 0x1338, 0x00000000 },                     \
        !           286:        { AR5K_INI_FLAG_BOTH, 0x1378, 0x00000000 },                     \
        !           287:        { AR5K_INI_FLAG_BOTH, 0x13b8, 0x00000000 },                     \
        !           288:        { AR5K_INI_FLAG_BOTH, 0x13f8, 0x00000000 },                     \
        !           289:        { AR5K_INI_FLAG_BOTH, 0x1438, 0x00000000 },                     \
        !           290:        { AR5K_INI_FLAG_BOTH, 0x1478, 0x00000000 },                     \
        !           291:        { AR5K_INI_FLAG_BOTH, 0x14b8, 0x00000000 },                     \
        !           292:        { AR5K_INI_FLAG_BOTH, 0x14f8, 0x00000000 },                     \
        !           293:        { AR5K_INI_FLAG_BOTH, 0x1538, 0x00000000 },                     \
        !           294:        { AR5K_INI_FLAG_BOTH, 0x1578, 0x00000000 },                     \
        !           295:        { AR5K_INI_FLAG_BOTH, 0x15b8, 0x00000000 },                     \
        !           296:        { AR5K_INI_FLAG_BOTH, 0x15f8, 0x00000000 },                     \
        !           297:        { AR5K_INI_FLAG_BOTH, 0x1638, 0x00000000 },                     \
        !           298:        { AR5K_INI_FLAG_BOTH, 0x1678, 0x00000000 },                     \
        !           299:        { AR5K_INI_FLAG_BOTH, 0x16b8, 0x00000000 },                     \
        !           300:        { AR5K_INI_FLAG_BOTH, 0x16f8, 0x00000000 },                     \
        !           301:        { AR5K_INI_FLAG_BOTH, 0x1738, 0x00000000 },                     \
        !           302:        { AR5K_INI_FLAG_BOTH, 0x1778, 0x00000000 },                     \
        !           303:        { AR5K_INI_FLAG_BOTH, 0x17b8, 0x00000000 },                     \
        !           304:        { AR5K_INI_FLAG_BOTH, 0x17f8, 0x00000000 },                     \
        !           305:        { AR5K_INI_FLAG_BOTH, 0x103c, 0x00000000 },                     \
        !           306:        { AR5K_INI_FLAG_BOTH, 0x107c, 0x00000000 },                     \
        !           307:        { AR5K_INI_FLAG_BOTH, 0x10bc, 0x00000000 },                     \
        !           308:        { AR5K_INI_FLAG_BOTH, 0x10fc, 0x00000000 },                     \
        !           309:        { AR5K_INI_FLAG_BOTH, 0x113c, 0x00000000 },                     \
        !           310:        { AR5K_INI_FLAG_BOTH, 0x117c, 0x00000000 },                     \
        !           311:        { AR5K_INI_FLAG_BOTH, 0x11bc, 0x00000000 },                     \
        !           312:        { AR5K_INI_FLAG_BOTH, 0x11fc, 0x00000000 },                     \
        !           313:        { AR5K_INI_FLAG_BOTH, 0x123c, 0x00000000 },                     \
        !           314:        { AR5K_INI_FLAG_BOTH, 0x127c, 0x00000000 },                     \
        !           315:        { AR5K_INI_FLAG_BOTH, 0x12bc, 0x00000000 },                     \
        !           316:        { AR5K_INI_FLAG_BOTH, 0x12fc, 0x00000000 },                     \
        !           317:        { AR5K_INI_FLAG_BOTH, 0x133c, 0x00000000 },                     \
        !           318:        { AR5K_INI_FLAG_BOTH, 0x137c, 0x00000000 },                     \
        !           319:        { AR5K_INI_FLAG_BOTH, 0x13bc, 0x00000000 },                     \
        !           320:        { AR5K_INI_FLAG_BOTH, 0x13fc, 0x00000000 },                     \
        !           321:        { AR5K_INI_FLAG_BOTH, 0x143c, 0x00000000 },                     \
        !           322:        { AR5K_INI_FLAG_BOTH, 0x147c, 0x00000000 },                     \
        !           323:        { AR5K_INI_FLAG_BOTH, 0x8004, 0x00000000 },                     \
        !           324:        { AR5K_INI_FLAG_BOTH, 0x8008, 0x00000000 },                     \
        !           325:        { AR5K_INI_FLAG_BOTH, 0x800c, 0x00000000 },                     \
        !           326:        { AR5K_INI_FLAG_BOTH, 0x8018, 0x00000000 },                     \
        !           327:        { AR5K_INI_FLAG_BOTH, 0x8020, 0x00000000 },                     \
        !           328:        { AR5K_INI_FLAG_BOTH, 0x8024, 0x00000000 },                     \
        !           329:        { AR5K_INI_FLAG_BOTH, 0x8028, 0x00000030 },                     \
        !           330:        { AR5K_INI_FLAG_BOTH, 0x802c, 0x0007ffff },                     \
        !           331:        { AR5K_INI_FLAG_BOTH, 0x8030, 0x01ffffff },                     \
        !           332:        { AR5K_INI_FLAG_BOTH, 0x8034, 0x00000031 },                     \
        !           333:        { AR5K_INI_FLAG_BOTH, 0x8038, 0x00000000 },                     \
        !           334:        { AR5K_INI_FLAG_BOTH, 0x803c, 0x00000000 },                     \
        !           335:        { AR5K_INI_FLAG_BOTH, 0x8048, 0x00000000 },                     \
        !           336:        { AR5K_INI_FLAG_BOTH, 0x8054, 0x00000000 },                     \
        !           337:        { AR5K_INI_FLAG_BOTH, 0x8058, 0x00000000 },                     \
        !           338:        { AR5K_INI_FLAG_BOTH, 0x805c, 0xffffc7ff },                     \
        !           339:        { AR5K_INI_FLAG_BOTH, 0x8080, 0x00000000 },                     \
        !           340:        { AR5K_INI_FLAG_BOTH, 0x8084, 0x00000000 },                     \
        !           341:        { AR5K_INI_FLAG_BOTH, 0x8088, 0x00000000 },                     \
        !           342:        { AR5K_INI_FLAG_BOTH, 0x808c, 0x00000000 },                     \
        !           343:        { AR5K_INI_FLAG_BOTH, 0x8090, 0x00000000 },                     \
        !           344:        { AR5K_INI_FLAG_BOTH, 0x8094, 0x00000000 },                     \
        !           345:        { AR5K_INI_FLAG_BOTH, 0x8098, 0x00000000 },                     \
        !           346:        { AR5K_INI_FLAG_BOTH, 0x80c0, 0x2a82301a },                     \
        !           347:        { AR5K_INI_FLAG_BOTH, 0x80c4, 0x05dc01e0 },                     \
        !           348:        { AR5K_INI_FLAG_BOTH, 0x80c8, 0x1f402710 },                     \
        !           349:        { AR5K_INI_FLAG_BOTH, 0x80cc, 0x01f40000 },                     \
        !           350:        { AR5K_INI_FLAG_BOTH, 0x80d0, 0x00001e1c },                     \
        !           351:        { AR5K_INI_FLAG_BOTH, 0x80d4, 0x0002aaaa },                     \
        !           352:        { AR5K_INI_FLAG_BOTH, 0x80d8, 0x02005555 },                     \
        !           353:        { AR5K_INI_FLAG_BOTH, 0x80dc, 0x00000000 },                     \
        !           354:        { AR5K_INI_FLAG_BOTH, 0x80e0, 0xffffffff },                     \
        !           355:        { AR5K_INI_FLAG_BOTH, 0x80e4, 0x0000ffff },                     \
        !           356:        { AR5K_INI_FLAG_BOTH, 0x80e8, 0x00000000 },                     \
        !           357:        { AR5K_INI_FLAG_BOTH, 0x80ec, 0x00000000 },                     \
        !           358:        { AR5K_INI_FLAG_BOTH, 0x80f0, 0x00000000 },                     \
        !           359:        { AR5K_INI_FLAG_BOTH, 0x80f4, 0x00000000 },                     \
        !           360:        { AR5K_INI_FLAG_BOTH, 0x80f8, 0x00000000 },                     \
        !           361:        { AR5K_INI_FLAG_BOTH, 0x80fc, 0x00000088 },                     \
        !           362:        { AR5K_INI_FLAG_BOTH, 0x8700, 0x00000000 },                     \
        !           363:        { AR5K_INI_FLAG_BOTH, 0x8704, 0x0000008c },                     \
        !           364:        { AR5K_INI_FLAG_BOTH, 0x8708, 0x000000e4 },                     \
        !           365:        { AR5K_INI_FLAG_BOTH, 0x870c, 0x000002d5 },                     \
        !           366:        { AR5K_INI_FLAG_BOTH, 0x8710, 0x00000000 },                     \
        !           367:        { AR5K_INI_FLAG_BOTH, 0x8714, 0x00000000 },                     \
        !           368:        { AR5K_INI_FLAG_BOTH, 0x8718, 0x000000a0 },                     \
        !           369:        { AR5K_INI_FLAG_BOTH, 0x871c, 0x000001c9 },                     \
        !           370:        { AR5K_INI_FLAG_BOTH, 0x8720, 0x0000002c },                     \
        !           371:        { AR5K_INI_FLAG_BOTH, 0x8724, 0x0000002c },                     \
        !           372:        { AR5K_INI_FLAG_BOTH, 0x8728, 0x00000030 },                     \
        !           373:        { AR5K_INI_FLAG_BOTH, 0x872c, 0x0000003c },                     \
        !           374:        { AR5K_INI_FLAG_BOTH, 0x8730, 0x0000002c },                     \
        !           375:        { AR5K_INI_FLAG_BOTH, 0x8734, 0x0000002c },                     \
        !           376:        { AR5K_INI_FLAG_BOTH, 0x8738, 0x00000030 },                     \
        !           377:        { AR5K_INI_FLAG_BOTH, 0x873c, 0x0000003c },                     \
        !           378:        { AR5K_INI_FLAG_BOTH, 0x8740, 0x00000000 },                     \
        !           379:        { AR5K_INI_FLAG_BOTH, 0x8744, 0x00000000 },                     \
        !           380:        { AR5K_INI_FLAG_BOTH, 0x8748, 0x00000000 },                     \
        !           381:        { AR5K_INI_FLAG_BOTH, 0x874c, 0x00000000 },                     \
        !           382:        { AR5K_INI_FLAG_BOTH, 0x8750, 0x00000000 },                     \
        !           383:        { AR5K_INI_FLAG_BOTH, 0x8754, 0x00000000 },                     \
        !           384:        { AR5K_INI_FLAG_BOTH, 0x8758, 0x00000000 },                     \
        !           385:        { AR5K_INI_FLAG_BOTH, 0x875c, 0x00000000 },                     \
        !           386:        { AR5K_INI_FLAG_BOTH, 0x8760, 0x000000d5 },                     \
        !           387:        { AR5K_INI_FLAG_BOTH, 0x8764, 0x000000df },                     \
        !           388:        { AR5K_INI_FLAG_BOTH, 0x8768, 0x00000102 },                     \
        !           389:        { AR5K_INI_FLAG_BOTH, 0x876c, 0x0000013a },                     \
        !           390:        { AR5K_INI_FLAG_BOTH, 0x8770, 0x00000075 },                     \
        !           391:        { AR5K_INI_FLAG_BOTH, 0x8774, 0x0000007f },                     \
        !           392:        { AR5K_INI_FLAG_BOTH, 0x8778, 0x000000a2 },                     \
        !           393:        { AR5K_INI_FLAG_BOTH, 0x877c, 0x00000000 },                     \
        !           394:        { AR5K_INI_FLAG_BOTH, 0x8100, 0x00010002 },                     \
        !           395:        { AR5K_INI_FLAG_BOTH, 0x8104, 0x00000001 },                     \
        !           396:        { AR5K_INI_FLAG_BOTH, 0x8108, 0x000000c0 },                     \
        !           397:        { AR5K_INI_FLAG_BOTH, 0x810c, 0x00000000 },                     \
        !           398:        { AR5K_INI_FLAG_BOTH, 0x8110, 0x00000168 },                     \
        !           399:        { AR5K_INI_FLAG_BOTH, 0x8114, 0x00000000 },                     \
        !           400:        { AR5K_INI_FLAG_BOTH, 0x87c0, 0x03020100 },                     \
        !           401:        { AR5K_INI_FLAG_BOTH, 0x87c4, 0x07060504 },                     \
        !           402:        { AR5K_INI_FLAG_BOTH, 0x87c8, 0x0b0a0908 },                     \
        !           403:        { AR5K_INI_FLAG_BOTH, 0x87cc, 0x0f0e0d0c },                     \
        !           404:        { AR5K_INI_FLAG_BOTH, 0x87d0, 0x13121110 },                     \
        !           405:        { AR5K_INI_FLAG_BOTH, 0x87d4, 0x17161514 },                     \
        !           406:        { AR5K_INI_FLAG_BOTH, 0x87d8, 0x1b1a1918 },                     \
        !           407:        { AR5K_INI_FLAG_BOTH, 0x87dc, 0x1f1e1d1c },                     \
        !           408:        { AR5K_INI_FLAG_BOTH, 0x87e0, 0x03020100 },                     \
        !           409:        { AR5K_INI_FLAG_BOTH, 0x87e4, 0x07060504 },                     \
        !           410:        { AR5K_INI_FLAG_BOTH, 0x87e8, 0x0b0a0908 },                     \
        !           411:        { AR5K_INI_FLAG_BOTH, 0x87ec, 0x0f0e0d0c },                     \
        !           412:        { AR5K_INI_FLAG_BOTH, 0x87f0, 0x13121110 },                     \
        !           413:        { AR5K_INI_FLAG_BOTH, 0x87f4, 0x17161514 },                     \
        !           414:        { AR5K_INI_FLAG_BOTH, 0x87f8, 0x1b1a1918 },                     \
        !           415:        { AR5K_INI_FLAG_BOTH, 0x87fc, 0x1f1e1d1c },                     \
        !           416:        /* PHY registers */                                             \
        !           417:        { AR5K_INI_FLAG_BOTH, 0x9808, 0x00000000 },                     \
        !           418:        { AR5K_INI_FLAG_BOTH, 0x980c, 0xad848e19 },                     \
        !           419:        { AR5K_INI_FLAG_BOTH, 0x9810, 0x7d28e000 },                     \
        !           420:        { AR5K_INI_FLAG_BOTH, 0x9814, 0x9c0a9f6b },                     \
        !           421:        { AR5K_INI_FLAG_BOTH, 0x981c, 0x00000000 },                     \
        !           422:        { AR5K_INI_FLAG_BOTH, 0x982c, 0x00022ffe },                     \
        !           423:        { AR5K_INI_FLAG_BOTH, 0x983c, 0x00020100 },                     \
        !           424:        { AR5K_INI_FLAG_BOTH, 0x9840, 0x206a017a },                     \
        !           425:        { AR5K_INI_FLAG_BOTH, 0x984c, 0x1284613c },                     \
        !           426:        { AR5K_INI_FLAG_BOTH, 0x9854, 0x00000859 },                     \
        !           427:        { AR5K_INI_FLAG_BOTH, 0x9900, 0x00000000 },                     \
        !           428:        { AR5K_INI_FLAG_BOTH, 0x9904, 0x00000000 },                     \
        !           429:        { AR5K_INI_FLAG_BOTH, 0x9908, 0x00000000 },                     \
        !           430:        { AR5K_INI_FLAG_BOTH, 0x990c, 0x00800000 },                     \
        !           431:        { AR5K_INI_FLAG_BOTH, 0x9910, 0x00000001 },                     \
        !           432:        { AR5K_INI_FLAG_BOTH, 0x991c, 0x0000092a },                     \
        !           433:        { AR5K_INI_FLAG_BOTH, 0x9920, 0x05100000 },                     \
        !           434:        { AR5K_INI_FLAG_BOTH, 0x9928, 0x00000001 },                     \
        !           435:        { AR5K_INI_FLAG_BOTH, 0x992c, 0x00000004 },                     \
        !           436:        { AR5K_INI_FLAG_BOTH, 0x9934, 0x1e1f2022 },                     \
        !           437:        { AR5K_INI_FLAG_BOTH, 0x9938, 0x0a0b0c0d },                     \
        !           438:        { AR5K_INI_FLAG_BOTH, 0x993c, 0x0000003f },                     \
        !           439:        { AR5K_INI_FLAG_BOTH, 0x9940, 0x00000004 },                     \
        !           440:        { AR5K_INI_FLAG_BOTH, 0x9948, 0x9280b212 },                     \
        !           441:        { AR5K_INI_FLAG_BOTH, 0x9954, 0x5d50e188 },                     \
        !           442:        { AR5K_INI_FLAG_BOTH, 0x9958, 0x000000ff },                     \
        !           443:        { AR5K_INI_FLAG_BOTH, 0x995c, 0x004b6a8e },                     \
        !           444:        { AR5K_INI_FLAG_BOTH, 0x9968, 0x000003ce },                     \
        !           445:        { AR5K_INI_FLAG_BOTH, 0x9970, 0x192fb515 },                     \
        !           446:        { AR5K_INI_FLAG_BOTH, 0x9974, 0x00000000 },                     \
        !           447:        { AR5K_INI_FLAG_BOTH, 0x9978, 0x00000001 },                     \
        !           448:        { AR5K_INI_FLAG_BOTH, 0x997c, 0x00000000 },                     \
        !           449:        { AR5K_INI_FLAG_BOTH, 0xa184, 0x10ff10ff },                     \
        !           450:        { AR5K_INI_FLAG_BOTH, 0xa188, 0x10ff10ff },                     \
        !           451:        { AR5K_INI_FLAG_BOTH, 0xa18c, 0x10ff10ff },                     \
        !           452:        { AR5K_INI_FLAG_BOTH, 0xa190, 0x10ff10ff },                     \
        !           453:        { AR5K_INI_FLAG_BOTH, 0xa194, 0x10ff10ff },                     \
        !           454:        { AR5K_INI_FLAG_BOTH, 0xa198, 0x10ff10ff },                     \
        !           455:        { AR5K_INI_FLAG_BOTH, 0xa19c, 0x10ff10ff },                     \
        !           456:        { AR5K_INI_FLAG_BOTH, 0xa1a0, 0x10ff10ff },                     \
        !           457:        { AR5K_INI_FLAG_BOTH, 0xa1a4, 0x10ff10ff },                     \
        !           458:        { AR5K_INI_FLAG_BOTH, 0xa1a8, 0x10ff10ff },                     \
        !           459:        { AR5K_INI_FLAG_BOTH, 0xa1ac, 0x10ff10ff },                     \
        !           460:        { AR5K_INI_FLAG_BOTH, 0xa1b0, 0x10ff10ff },                     \
        !           461:        { AR5K_INI_FLAG_BOTH, 0xa1b4, 0x10ff10ff },                     \
        !           462:        { AR5K_INI_FLAG_BOTH, 0xa1b8, 0x10ff10ff },                     \
        !           463:        { AR5K_INI_FLAG_BOTH, 0xa1bc, 0x10ff10ff },                     \
        !           464:        { AR5K_INI_FLAG_BOTH, 0xa1c0, 0x10ff10ff },                     \
        !           465:        { AR5K_INI_FLAG_BOTH, 0xa1c4, 0x10ff10ff },                     \
        !           466:        { AR5K_INI_FLAG_BOTH, 0xa1c8, 0x10ff10ff },                     \
        !           467:        { AR5K_INI_FLAG_BOTH, 0xa1cc, 0x10ff10ff },                     \
        !           468:        { AR5K_INI_FLAG_BOTH, 0xa1d0, 0x10ff10ff },                     \
        !           469:        { AR5K_INI_FLAG_BOTH, 0xa1d4, 0x10ff10ff },                     \
        !           470:        { AR5K_INI_FLAG_BOTH, 0xa1d8, 0x10ff10ff },                     \
        !           471:        { AR5K_INI_FLAG_BOTH, 0xa1dc, 0x10ff10ff },                     \
        !           472:        { AR5K_INI_FLAG_BOTH, 0xa1e0, 0x10ff10ff },                     \
        !           473:        { AR5K_INI_FLAG_BOTH, 0xa1e4, 0x10ff10ff },                     \
        !           474:        { AR5K_INI_FLAG_BOTH, 0xa1e8, 0x10ff10ff },                     \
        !           475:        { AR5K_INI_FLAG_BOTH, 0xa1ec, 0x10ff10ff },                     \
        !           476:        { AR5K_INI_FLAG_BOTH, 0xa1f0, 0x10ff10ff },                     \
        !           477:        { AR5K_INI_FLAG_BOTH, 0xa1f4, 0x10ff10ff },                     \
        !           478:        { AR5K_INI_FLAG_BOTH, 0xa1f8, 0x10ff10ff },                     \
        !           479:        { AR5K_INI_FLAG_BOTH, 0xa1fc, 0x10ff10ff },                     \
        !           480:        { AR5K_INI_FLAG_BOTH, 0xa210, 0x0080a333 },                     \
        !           481:        { AR5K_INI_FLAG_BOTH, 0xa214, 0x00206c10 },                     \
        !           482:        { AR5K_INI_FLAG_BOTH, 0xa218, 0x009c4060 },                     \
        !           483:        { AR5K_INI_FLAG_BOTH, 0xa21c, 0x1483800a },                     \
        !           484:        { AR5K_INI_FLAG_BOTH, 0xa220, 0x01831061 },                     \
        !           485:        { AR5K_INI_FLAG_BOTH, 0xa224, 0x00000400 },                     \
        !           486:        { AR5K_INI_FLAG_BOTH, 0xa228, 0x000001b5 },                     \
        !           487:        { AR5K_INI_FLAG_BOTH, 0xa22c, 0x00000000 },                     \
        !           488:        { AR5K_INI_FLAG_BOTH, 0xa234, 0x20202020 },                     \
        !           489:        { AR5K_INI_FLAG_BOTH, 0xa238, 0x20202020 },                     \
        !           490:        { AR5K_INI_FLAG_BOTH, 0xa23c, 0x13c889af },                     \
        !           491:        { AR5K_INI_FLAG_BOTH, 0xa240, 0x38490a20 },                     \
        !           492:        { AR5K_INI_FLAG_BOTH, 0xa244, 0x00007bb6 },                     \
        !           493:        { AR5K_INI_FLAG_BOTH, 0xa248, 0x0fff3ffc },                     \
        !           494:        { AR5K_INI_FLAG_BOTH, 0x9b00, 0x00000000 },                     \
        !           495:        { AR5K_INI_FLAG_BOTH, 0x9b28, 0x0000000c },                     \
        !           496:        { AR5K_INI_FLAG_BOTH, 0x9b38, 0x00000012 },                     \
        !           497:        { AR5K_INI_FLAG_BOTH, 0x9b64, 0x00000021 },                     \
        !           498:        { AR5K_INI_FLAG_BOTH, 0x9b8c, 0x0000002d },                     \
        !           499:        { AR5K_INI_FLAG_BOTH, 0x9b9c, 0x00000033 },                     \
        !           500:        /* AR5111 specific */                                           \
        !           501:        { AR5K_INI_FLAG_5111, 0x9930, 0x00004883 },                     \
        !           502:        { AR5K_INI_FLAG_5111, 0xa204, 0x00000000 },                     \
        !           503:        { AR5K_INI_FLAG_5111, 0xa208, 0xd03e6788 },                     \
        !           504:        { AR5K_INI_FLAG_5111, 0xa20c, 0x6448416a },                     \
        !           505:        { AR5K_INI_FLAG_5111, 0x9b04, 0x00000020 },                     \
        !           506:        { AR5K_INI_FLAG_5111, 0x9b08, 0x00000010 },                     \
        !           507:        { AR5K_INI_FLAG_5111, 0x9b0c, 0x00000030 },                     \
        !           508:        { AR5K_INI_FLAG_5111, 0x9b10, 0x00000008 },                     \
        !           509:        { AR5K_INI_FLAG_5111, 0x9b14, 0x00000028 },                     \
        !           510:        { AR5K_INI_FLAG_5111, 0x9b18, 0x00000004 },                     \
        !           511:        { AR5K_INI_FLAG_5111, 0x9b1c, 0x00000024 },                     \
        !           512:        { AR5K_INI_FLAG_5111, 0x9b20, 0x00000014 },                     \
        !           513:        { AR5K_INI_FLAG_5111, 0x9b24, 0x00000034 },                     \
        !           514:        { AR5K_INI_FLAG_5111, 0x9b2c, 0x0000002c },                     \
        !           515:        { AR5K_INI_FLAG_5111, 0x9b30, 0x00000002 },                     \
        !           516:        { AR5K_INI_FLAG_5111, 0x9b34, 0x00000022 },                     \
        !           517:        { AR5K_INI_FLAG_5111, 0x9b3c, 0x00000032 },                     \
        !           518:        { AR5K_INI_FLAG_5111, 0x9b40, 0x0000000a },                     \
        !           519:        { AR5K_INI_FLAG_5111, 0x9b44, 0x0000002a },                     \
        !           520:        { AR5K_INI_FLAG_5111, 0x9b48, 0x00000006 },                     \
        !           521:        { AR5K_INI_FLAG_5111, 0x9b4c, 0x00000026 },                     \
        !           522:        { AR5K_INI_FLAG_5111, 0x9b50, 0x00000016 },                     \
        !           523:        { AR5K_INI_FLAG_5111, 0x9b54, 0x00000036 },                     \
        !           524:        { AR5K_INI_FLAG_5111, 0x9b58, 0x0000000e },                     \
        !           525:        { AR5K_INI_FLAG_5111, 0x9b5c, 0x0000002e },                     \
        !           526:        { AR5K_INI_FLAG_5111, 0x9b60, 0x00000001 },                     \
        !           527:        { AR5K_INI_FLAG_5111, 0x9b68, 0x00000011 },                     \
        !           528:        { AR5K_INI_FLAG_5111, 0x9b6c, 0x00000031 },                     \
        !           529:        { AR5K_INI_FLAG_5111, 0x9b70, 0x00000009 },                     \
        !           530:        { AR5K_INI_FLAG_5111, 0x9b74, 0x00000029 },                     \
        !           531:        { AR5K_INI_FLAG_5111, 0x9b78, 0x00000005 },                     \
        !           532:        { AR5K_INI_FLAG_5111, 0x9b7c, 0x00000025 },                     \
        !           533:        { AR5K_INI_FLAG_5111, 0x9b80, 0x00000015 },                     \
        !           534:        { AR5K_INI_FLAG_5111, 0x9b84, 0x00000035 },                     \
        !           535:        { AR5K_INI_FLAG_5111, 0x9b88, 0x0000000d },                     \
        !           536:        { AR5K_INI_FLAG_5111, 0x9b90, 0x00000003 },                     \
        !           537:        { AR5K_INI_FLAG_5111, 0x9b94, 0x00000023 },                     \
        !           538:        { AR5K_INI_FLAG_5111, 0x9b98, 0x00000013 },                     \
        !           539:        { AR5K_INI_FLAG_5111, 0x9ba0, 0x0000000b },                     \
        !           540:        { AR5K_INI_FLAG_5111, 0x9ba4, 0x0000002b },                     \
        !           541:        { AR5K_INI_FLAG_5111, 0x9ba8, 0x0000002b },                     \
        !           542:        { AR5K_INI_FLAG_5111, 0x9bac, 0x0000002b },                     \
        !           543:        { AR5K_INI_FLAG_5111, 0x9bb0, 0x0000002b },                     \
        !           544:        { AR5K_INI_FLAG_5111, 0x9bb4, 0x0000002b },                     \
        !           545:        { AR5K_INI_FLAG_5111, 0x9bb8, 0x0000002b },                     \
        !           546:        { AR5K_INI_FLAG_5111, 0x9bbc, 0x0000002b },                     \
        !           547:        { AR5K_INI_FLAG_5111, 0x9bc0, 0x0000002b },                     \
        !           548:        { AR5K_INI_FLAG_5111, 0x9bc4, 0x0000002b },                     \
        !           549:        { AR5K_INI_FLAG_5111, 0x9bc8, 0x0000002b },                     \
        !           550:        { AR5K_INI_FLAG_5111, 0x9bcc, 0x0000002b },                     \
        !           551:        { AR5K_INI_FLAG_5111, 0x9bd0, 0x0000002b },                     \
        !           552:        { AR5K_INI_FLAG_5111, 0x9bd4, 0x0000002b },                     \
        !           553:        { AR5K_INI_FLAG_5111, 0x9bd8, 0x0000002b },                     \
        !           554:        { AR5K_INI_FLAG_5111, 0x9bdc, 0x0000002b },                     \
        !           555:        { AR5K_INI_FLAG_5111, 0x9be0, 0x0000002b },                     \
        !           556:        { AR5K_INI_FLAG_5111, 0x9be4, 0x0000002b },                     \
        !           557:        { AR5K_INI_FLAG_5111, 0x9be8, 0x0000002b },                     \
        !           558:        { AR5K_INI_FLAG_5111, 0x9bec, 0x0000002b },                     \
        !           559:        { AR5K_INI_FLAG_5111, 0x9bf0, 0x0000002b },                     \
        !           560:        { AR5K_INI_FLAG_5111, 0x9bf4, 0x0000002b },                     \
        !           561:        { AR5K_INI_FLAG_5111, 0x9bf8, 0x00000002 },                     \
        !           562:        { AR5K_INI_FLAG_5111, 0x9bfc, 0x00000016 },                     \
        !           563:        /* AR5112 specific */                                           \
        !           564:        { AR5K_INI_FLAG_5112, 0x9930, 0x00004882 },                     \
        !           565:        { AR5K_INI_FLAG_5112, 0x9b04, 0x00000001 },                     \
        !           566:        { AR5K_INI_FLAG_5112, 0x9b08, 0x00000002 },                     \
        !           567:        { AR5K_INI_FLAG_5112, 0x9b0c, 0x00000003 },                     \
        !           568:        { AR5K_INI_FLAG_5112, 0x9b10, 0x00000004 },                     \
        !           569:        { AR5K_INI_FLAG_5112, 0x9b14, 0x00000005 },                     \
        !           570:        { AR5K_INI_FLAG_5112, 0x9b18, 0x00000008 },                     \
        !           571:        { AR5K_INI_FLAG_5112, 0x9b1c, 0x00000009 },                     \
        !           572:        { AR5K_INI_FLAG_5112, 0x9b20, 0x0000000a },                     \
        !           573:        { AR5K_INI_FLAG_5112, 0x9b24, 0x0000000b },                     \
        !           574:        { AR5K_INI_FLAG_5112, 0x9b2c, 0x0000000d },                     \
        !           575:        { AR5K_INI_FLAG_5112, 0x9b30, 0x00000010 },                     \
        !           576:        { AR5K_INI_FLAG_5112, 0x9b34, 0x00000011 },                     \
        !           577:        { AR5K_INI_FLAG_5112, 0x9b3c, 0x00000013 },                     \
        !           578:        { AR5K_INI_FLAG_5112, 0x9b40, 0x00000014 },                     \
        !           579:        { AR5K_INI_FLAG_5112, 0x9b44, 0x00000015 },                     \
        !           580:        { AR5K_INI_FLAG_5112, 0x9b48, 0x00000018 },                     \
        !           581:        { AR5K_INI_FLAG_5112, 0x9b4c, 0x00000019 },                     \
        !           582:        { AR5K_INI_FLAG_5112, 0x9b50, 0x0000001a },                     \
        !           583:        { AR5K_INI_FLAG_5112, 0x9b54, 0x0000001b },                     \
        !           584:        { AR5K_INI_FLAG_5112, 0x9b58, 0x0000001c },                     \
        !           585:        { AR5K_INI_FLAG_5112, 0x9b5c, 0x0000001d },                     \
        !           586:        { AR5K_INI_FLAG_5112, 0x9b60, 0x00000020 },                     \
        !           587:        { AR5K_INI_FLAG_5112, 0x9b68, 0x00000022 },                     \
        !           588:        { AR5K_INI_FLAG_5112, 0x9b6c, 0x00000023 },                     \
        !           589:        { AR5K_INI_FLAG_5112, 0x9b70, 0x00000024 },                     \
        !           590:        { AR5K_INI_FLAG_5112, 0x9b74, 0x00000025 },                     \
        !           591:        { AR5K_INI_FLAG_5112, 0x9b78, 0x00000028 },                     \
        !           592:        { AR5K_INI_FLAG_5112, 0x9b7c, 0x00000029 },                     \
        !           593:        { AR5K_INI_FLAG_5112, 0x9b80, 0x0000002a },                     \
        !           594:        { AR5K_INI_FLAG_5112, 0x9b84, 0x0000002b },                     \
        !           595:        { AR5K_INI_FLAG_5112, 0x9b88, 0x0000002c },                     \
        !           596:        { AR5K_INI_FLAG_5112, 0x9b90, 0x00000030 },                     \
        !           597:        { AR5K_INI_FLAG_5112, 0x9b94, 0x00000031 },                     \
        !           598:        { AR5K_INI_FLAG_5112, 0x9b98, 0x00000032 },                     \
        !           599:        { AR5K_INI_FLAG_5112, 0x9ba0, 0x00000034 },                     \
        !           600:        { AR5K_INI_FLAG_5112, 0x9ba4, 0x00000035 },                     \
        !           601:        { AR5K_INI_FLAG_5112, 0x9ba8, 0x00000035 },                     \
        !           602:        { AR5K_INI_FLAG_5112, 0x9bac, 0x00000035 },                     \
        !           603:        { AR5K_INI_FLAG_5112, 0x9bb0, 0x00000035 },                     \
        !           604:        { AR5K_INI_FLAG_5112, 0x9bb4, 0x00000035 },                     \
        !           605:        { AR5K_INI_FLAG_5112, 0x9bb8, 0x00000035 },                     \
        !           606:        { AR5K_INI_FLAG_5112, 0x9bbc, 0x00000035 },                     \
        !           607:        { AR5K_INI_FLAG_5112, 0x9bc0, 0x00000035 },                     \
        !           608:        { AR5K_INI_FLAG_5112, 0x9bc4, 0x00000035 },                     \
        !           609:        { AR5K_INI_FLAG_5112, 0x9bc8, 0x00000035 },                     \
        !           610:        { AR5K_INI_FLAG_5112, 0x9bcc, 0x00000035 },                     \
        !           611:        { AR5K_INI_FLAG_5112, 0x9bd0, 0x00000035 },                     \
        !           612:        { AR5K_INI_FLAG_5112, 0x9bd4, 0x00000035 },                     \
        !           613:        { AR5K_INI_FLAG_5112, 0x9bd8, 0x00000035 },                     \
        !           614:        { AR5K_INI_FLAG_5112, 0x9bdc, 0x00000035 },                     \
        !           615:        { AR5K_INI_FLAG_5112, 0x9be0, 0x00000035 },                     \
        !           616:        { AR5K_INI_FLAG_5112, 0x9be4, 0x00000035 },                     \
        !           617:        { AR5K_INI_FLAG_5112, 0x9be8, 0x00000035 },                     \
        !           618:        { AR5K_INI_FLAG_5112, 0x9bec, 0x00000035 },                     \
        !           619:        { AR5K_INI_FLAG_5112, 0x9bf0, 0x00000035 },                     \
        !           620:        { AR5K_INI_FLAG_5112, 0x9bf4, 0x00000035 },                     \
        !           621:        { AR5K_INI_FLAG_5112, 0x9bf8, 0x00000010 },                     \
        !           622:        { AR5K_INI_FLAG_5112, 0x9bfc, 0x0000001a },                     \
        !           623: }
        !           624:
        !           625: struct ar5k_ar5212_ini_mode {
        !           626:        u_int16_t       mode_register;
        !           627:        u_int8_t        mode_flags;
        !           628:        u_int32_t       mode_value[2][5];
        !           629: };
        !           630:
        !           631: #define AR5K_AR5212_INI_MODE {                                                 \
        !           632:        { 0x0030, AR5K_INI_FLAG_511X, {                                         \
        !           633:                { 0, },                                                         \
        !           634:                { 0x00008107, 0x00008107, 0x00008107, 0x00008107, 0x00008107 }  \
        !           635:        } },                                                                    \
        !           636:        { 0x1040, AR5K_INI_FLAG_511X, {                                         \
        !           637:                { 0, },                                                         \
        !           638:                { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f }  \
        !           639:        } },                                                                    \
        !           640:        { 0x1044, AR5K_INI_FLAG_511X, {                                         \
        !           641:                { 0, },                                                         \
        !           642:                { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f }  \
        !           643:        } },                                                                    \
        !           644:        { 0x1048, AR5K_INI_FLAG_511X, {                                         \
        !           645:                { 0, },                                                         \
        !           646:                { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f }  \
        !           647:        } },                                                                    \
        !           648:        { 0x104c, AR5K_INI_FLAG_511X, {                                         \
        !           649:                { 0, },                                                         \
        !           650:                { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f }  \
        !           651:        } },                                                                    \
        !           652:        { 0x1050, AR5K_INI_FLAG_511X, {                                         \
        !           653:                { 0, },                                                         \
        !           654:                { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f }  \
        !           655:        } },                                                                    \
        !           656:        { 0x1054, AR5K_INI_FLAG_511X, {                                         \
        !           657:                { 0, },                                                         \
        !           658:                { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f }  \
        !           659:        } },                                                                    \
        !           660:        { 0x1058, AR5K_INI_FLAG_511X, {                                         \
        !           661:                { 0, },                                                         \
        !           662:                { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f }  \
        !           663:        } },                                                                    \
        !           664:        { 0x105c, AR5K_INI_FLAG_511X, {                                         \
        !           665:                { 0, },                                                         \
        !           666:                { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f }  \
        !           667:        } },                                                                    \
        !           668:        { 0x1060, AR5K_INI_FLAG_511X, {                                         \
        !           669:                { 0, },                                                         \
        !           670:                { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f }  \
        !           671:        } },                                                                    \
        !           672:        { 0x1064, AR5K_INI_FLAG_511X, {                                         \
        !           673:                { 0, },                                                         \
        !           674:                { 0x002ffc0f, 0x002ffc0f, 0x002ffc1f, 0x002ffc0f, 0x002ffc0f }  \
        !           675:        } },                                                                    \
        !           676:        { 0x1030, AR5K_INI_FLAG_511X, {                                         \
        !           677:                { 0, },                                                         \
        !           678:                { 0x00000230, 0x000001e0, 0x000000b0, 0x00000160, 0x000001e0 }  \
        !           679:        } },                                                                    \
        !           680:        { 0x1070, AR5K_INI_FLAG_511X, {                                         \
        !           681:                { 0, },                                                         \
        !           682:                { 0x00000168, 0x000001e0, 0x000001b8, 0x0000018c, 0x000001e0 }  \
        !           683:        } },                                                                    \
        !           684:        { 0x10b0, AR5K_INI_FLAG_511X, {                                         \
        !           685:                { 0, },                                                         \
        !           686:                { 0x00000e60, 0x00001180, 0x00001f1c, 0x00003e38, 0x00001180 }  \
        !           687:        } },                                                                    \
        !           688:        { 0x10f0, AR5K_INI_FLAG_511X, {                                         \
        !           689:                { 0, },                                                         \
        !           690:                { 0x0000a0e0, 0x00014068, 0x00005880, 0x0000b0e0, 0x00014068 }  \
        !           691:        } },                                                                    \
        !           692:        { 0x8014, AR5K_INI_FLAG_511X, {                                         \
        !           693:                { 0, },                                                         \
        !           694:                { 0x03e803e8, 0x06e006e0, 0x04200420, 0x08400840, 0x06e006e0 }  \
        !           695:        } },                                                                    \
        !           696:        { 0x9804, AR5K_INI_FLAG_511X, {                                         \
        !           697:                { 0, },                                                         \
        !           698:                { 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000003 }  \
        !           699:        } },                                                                    \
        !           700:        { 0x9820, AR5K_INI_FLAG_511X, {                                         \
        !           701:                { 0, },                                                         \
        !           702:                { 0x02020200, 0x02020200, 0x02010200, 0x02020200, 0x02020200 }  \
        !           703:        } },                                                                    \
        !           704:        { 0x9834, AR5K_INI_FLAG_511X, {                                         \
        !           705:                { 0, },                                                         \
        !           706:                { 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e }  \
        !           707:        } },                                                                    \
        !           708:        { 0x9838, AR5K_INI_FLAG_511X, {                                         \
        !           709:                { 0, },                                                         \
        !           710:                { 0x00000007, 0x00000007, 0x0000000b, 0x0000000b, 0x0000000b }  \
        !           711:        } },                                                                    \
        !           712:        { 0x9844, AR5K_INI_FLAG_511X, {                                         \
        !           713:                { 0, },                                                         \
        !           714:                { 0x1372161c, 0x13721c25, 0x13721728, 0x137216a2, 0x13721c25 }  \
        !           715:        } },                                                                    \
        !           716:        { 0x9850, AR5K_INI_FLAG_511X, {                                         \
        !           717:                { 0, },                                                         \
        !           718:                { 0x0de8b4e0, 0x0de8b4e0, 0x0de8b4e0, 0x0de8b4e0, 0x0de8b4e0 }  \
        !           719:        } },                                                                    \
        !           720:        { 0x9858, AR5K_INI_FLAG_511X, {                                         \
        !           721:                { 0, },                                                         \
        !           722:                { 0x7e800d2e, 0x7e800d2e, 0x7ee84d2e, 0x7ee84d2e, 0x7e800d2e }  \
        !           723:        } },                                                                    \
        !           724:        { 0x9860, AR5K_INI_FLAG_511X, {                                         \
        !           725:                { 0, },                                                         \
        !           726:                { 0x00009d10, 0x00009d10, 0x00009d18, 0x00009d10, 0x00009d10 }  \
        !           727:        } },                                                                    \
        !           728:        { 0x9864, AR5K_INI_FLAG_511X, {                                         \
        !           729:                { 0, },                                                         \
        !           730:                { 0x0001ce00, 0x0001ce00, 0x0001ce00, 0x0001ce00, 0x0001ce00 }  \
        !           731:        } },                                                                    \
        !           732:        { 0x9868, AR5K_INI_FLAG_511X, {                                         \
        !           733:                { 0, },                                                         \
        !           734:                { 0x409a4190, 0x409a4190, 0x409a4190, 0x409a4190, 0x409a4190 }  \
        !           735:        } },                                                                    \
        !           736:        { 0x9918, AR5K_INI_FLAG_511X, {                                         \
        !           737:                { 0, },                                                         \
        !           738:                { 0x000001b8, 0x000001b8, 0x00000084, 0x00000108, 0x000001b8 }  \
        !           739:        } },                                                                    \
        !           740:        { 0x9924, AR5K_INI_FLAG_511X, {                                         \
        !           741:                { 0, },                                                         \
        !           742:                { 0x10058a05, 0x10058a05, 0x10058a05, 0x10058a05, 0x10058a05 }  \
        !           743:        } },                                                                    \
        !           744:        { 0xa180, AR5K_INI_FLAG_511X, {                                         \
        !           745:                { 0, },                                                         \
        !           746:                { 0x10ff14ff, 0x10ff14ff, 0x10ff10ff, 0x10ff19ff, 0x10ff19ff }  \
        !           747:        } },                                                                    \
        !           748:        { 0xa230, AR5K_INI_FLAG_511X, {                                         \
        !           749:                { 0, },                                                         \
        !           750:                { 0x00000000, 0x00000000, 0x00000000, 0x00000108, 0x00000000 }  \
        !           751:        } },                                                                    \
        !           752:        { 0x801c, AR5K_INI_FLAG_BOTH, {                                         \
        !           753:                { 0x128d8fa7, 0x09880fcf, 0x04e00f95, 0x128d8fab, 0x09880fcf }, \
        !           754:                { 0x128d93a7, 0x098813cf, 0x04e01395, 0x128d93ab, 0x098813cf }  \
        !           755:        } },                                                                    \
        !           756:        { 0x9824, AR5K_INI_FLAG_BOTH, {                                         \
        !           757:                { 0x00000e0e, 0x00000e0e, 0x00000707, 0x00000e0e, 0x00000e0e }, \
        !           758:                { 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e }  \
        !           759:        } },                                                                    \
        !           760:        { 0x9828, AR5K_INI_FLAG_BOTH, {                                         \
        !           761:                { 0x0a020001, 0x0a020001, 0x05010100, 0x0a020001, 0x0a020001 }, \
        !           762:                { 0x0a020001, 0x0a020001, 0x05020100, 0x0a020001, 0x0a020001 }  \
        !           763:        } },                                                                    \
        !           764:        { 0x9848, AR5K_INI_FLAG_BOTH, {                                         \
        !           765:                { 0x0018da5a, 0x0018da5a, 0x0018ca69, 0x0018ca69, 0x0018ca69 }, \
        !           766:                { 0x0018da6d, 0x0018da6d, 0x0018ca75, 0x0018ca75, 0x0018ca75 }  \
        !           767:        } },                                                                    \
        !           768:        { 0x985c, AR5K_INI_FLAG_BOTH, {                                         \
        !           769:                { 0x3137665e, 0x3137665e, 0x3137665e, 0x3137665e, 0x3137615e }, \
        !           770:                { 0x3137665e, 0x3137665e, 0x3137665e, 0x3137665e, 0x3137665e }  \
        !           771:        } },                                                                    \
        !           772:        { 0x986c, AR5K_INI_FLAG_BOTH, {                                         \
        !           773:                { 0x050cb081, 0x050cb081, 0x050cb081, 0x050cb080, 0x050cb080 }, \
        !           774:                { 0x050cb081, 0x050cb081, 0x050cb081, 0x050cb081, 0x050cb081 }  \
        !           775:        } },                                                                    \
        !           776:        { 0x9914, AR5K_INI_FLAG_BOTH, {                                         \
        !           777:                { 0x00002710, 0x00002710, 0x0000157c, 0x00002af8, 0x00002710 }, \
        !           778:                { 0x000007d0, 0x000007d0, 0x0000044c, 0x00000898, 0x000007d0 }  \
        !           779:        } },                                                                    \
        !           780:        { 0x9944, AR5K_INI_FLAG_BOTH, {                                         \
        !           781:                { 0xffb81020, 0xffb81020, 0xffb80d20, 0xffb81020, 0xffb81020 }, \
        !           782:                { 0xffb81020, 0xffb81020, 0xffb80d10, 0xffb81010, 0xffb81010 }  \
        !           783:        } },                                                                    \
        !           784:        { 0xa204, AR5K_INI_FLAG_5112, {                                         \
        !           785:                { 0, },                                                         \
        !           786:                { 0x00000000, 0x00000000, 0x00000004, 0x00000004, 0x00000004 }  \
        !           787:        } },                                                                    \
        !           788:        { 0xa208, AR5K_INI_FLAG_5112, {                                         \
        !           789:                { 0, },                                                         \
        !           790:                { 0xd6be6788, 0xd6be6788, 0xd03e6788, 0xd03e6788, 0xd03e6788 }  \
        !           791:        } },                                                                    \
        !           792:        { 0xa20c, AR5K_INI_FLAG_5112, {                                         \
        !           793:                { 0, },                                                         \
        !           794:                { 0x642c0140, 0x642c0140, 0x6442c160, 0x6442c160, 0x6442c160 }  \
        !           795:        } },                                                                    \
        !           796: }
        !           797:
        !           798: #endif /* _AR5K_AR5212_VAR_H */

CVSweb