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

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

1.1     ! nbrk        1: /*     $OpenBSD: rt2661reg.h,v 1.9 2006/08/09 07:46:37 damien Exp $    */
        !             2:
        !             3: /*-
        !             4:  * Copyright (c) 2006
        !             5:  *     Damien Bergamini <damien.bergamini@free.fr>
        !             6:  *
        !             7:  * Permission to use, copy, modify, and distribute this software for any
        !             8:  * purpose with or without fee is hereby granted, provided that the above
        !             9:  * copyright notice and this permission notice appear in all copies.
        !            10:  *
        !            11:  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
        !            12:  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
        !            13:  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
        !            14:  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
        !            15:  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
        !            16:  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
        !            17:  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
        !            18:  */
        !            19:
        !            20: #define RT2661_TX_RING_COUNT   32
        !            21: #define RT2661_MGT_RING_COUNT  32
        !            22: #define RT2661_RX_RING_COUNT   64
        !            23:
        !            24: #define RT2661_TX_DESC_SIZE    (sizeof (struct rt2661_tx_desc))
        !            25: #define RT2661_TX_DESC_WSIZE   (RT2661_TX_DESC_SIZE / 4)
        !            26: #define RT2661_RX_DESC_SIZE    (sizeof (struct rt2661_rx_desc))
        !            27: #define RT2661_RX_DESC_WSIZE   (RT2661_RX_DESC_SIZE / 4)
        !            28:
        !            29: #define RT2661_MAX_SCATTER     5
        !            30:
        !            31: /*
        !            32:  * Control and status registers.
        !            33:  */
        !            34: #define RT2661_HOST_CMD_CSR            0x0008
        !            35: #define RT2661_MCU_CNTL_CSR            0x000c
        !            36: #define RT2661_SOFT_RESET_CSR          0x0010
        !            37: #define RT2661_MCU_INT_SOURCE_CSR      0x0014
        !            38: #define RT2661_MCU_INT_MASK_CSR                0x0018
        !            39: #define RT2661_PCI_USEC_CSR            0x001c
        !            40: #define RT2661_H2M_MAILBOX_CSR         0x2100
        !            41: #define RT2661_M2H_CMD_DONE_CSR                0x2104
        !            42: #define RT2661_HW_BEACON_BASE0         0x2c00
        !            43: #define RT2661_MAC_CSR0                        0x3000
        !            44: #define RT2661_MAC_CSR1                        0x3004
        !            45: #define RT2661_MAC_CSR2                        0x3008
        !            46: #define RT2661_MAC_CSR3                        0x300c
        !            47: #define RT2661_MAC_CSR4                        0x3010
        !            48: #define RT2661_MAC_CSR5                        0x3014
        !            49: #define RT2661_MAC_CSR6                        0x3018
        !            50: #define RT2661_MAC_CSR7                        0x301c
        !            51: #define RT2661_MAC_CSR8                        0x3020
        !            52: #define RT2661_MAC_CSR9                        0x3024
        !            53: #define RT2661_MAC_CSR10               0x3028
        !            54: #define RT2661_MAC_CSR11               0x302c
        !            55: #define RT2661_MAC_CSR12               0x3030
        !            56: #define RT2661_MAC_CSR13               0x3034
        !            57: #define RT2661_MAC_CSR14               0x3038
        !            58: #define RT2661_MAC_CSR15               0x303c
        !            59: #define RT2661_TXRX_CSR0               0x3040
        !            60: #define RT2661_TXRX_CSR1               0x3044
        !            61: #define RT2661_TXRX_CSR2               0x3048
        !            62: #define RT2661_TXRX_CSR3               0x304c
        !            63: #define RT2661_TXRX_CSR4               0x3050
        !            64: #define RT2661_TXRX_CSR5               0x3054
        !            65: #define RT2661_TXRX_CSR6               0x3058
        !            66: #define RT2661_TXRX_CSR7               0x305c
        !            67: #define RT2661_TXRX_CSR8               0x3060
        !            68: #define RT2661_TXRX_CSR9               0x3064
        !            69: #define RT2661_TXRX_CSR10              0x3068
        !            70: #define RT2661_TXRX_CSR11              0x306c
        !            71: #define RT2661_TXRX_CSR12              0x3070
        !            72: #define RT2661_TXRX_CSR13              0x3074
        !            73: #define RT2661_TXRX_CSR14              0x3078
        !            74: #define RT2661_TXRX_CSR15              0x307c
        !            75: #define RT2661_PHY_CSR0                        0x3080
        !            76: #define RT2661_PHY_CSR1                        0x3084
        !            77: #define RT2661_PHY_CSR2                        0x3088
        !            78: #define RT2661_PHY_CSR3                        0x308c
        !            79: #define RT2661_PHY_CSR4                        0x3090
        !            80: #define RT2661_PHY_CSR5                        0x3094
        !            81: #define RT2661_PHY_CSR6                        0x3098
        !            82: #define RT2661_PHY_CSR7                        0x309c
        !            83: #define RT2661_SEC_CSR0                        0x30a0
        !            84: #define RT2661_SEC_CSR1                        0x30a4
        !            85: #define RT2661_SEC_CSR2                        0x30a8
        !            86: #define RT2661_SEC_CSR3                        0x30ac
        !            87: #define RT2661_SEC_CSR4                        0x30b0
        !            88: #define RT2661_SEC_CSR5                        0x30b4
        !            89: #define RT2661_STA_CSR0                        0x30c0
        !            90: #define RT2661_STA_CSR1                        0x30c4
        !            91: #define RT2661_STA_CSR2                        0x30c8
        !            92: #define RT2661_STA_CSR3                        0x30cc
        !            93: #define RT2661_STA_CSR4                        0x30d0
        !            94: #define RT2661_AC0_BASE_CSR            0x3400
        !            95: #define RT2661_AC1_BASE_CSR            0x3404
        !            96: #define RT2661_AC2_BASE_CSR            0x3408
        !            97: #define RT2661_AC3_BASE_CSR            0x340c
        !            98: #define RT2661_MGT_BASE_CSR            0x3410
        !            99: #define RT2661_TX_RING_CSR0            0x3418
        !           100: #define RT2661_TX_RING_CSR1            0x341c
        !           101: #define RT2661_AIFSN_CSR               0x3420
        !           102: #define RT2661_CWMIN_CSR               0x3424
        !           103: #define RT2661_CWMAX_CSR               0x3428
        !           104: #define RT2661_TX_DMA_DST_CSR          0x342c
        !           105: #define RT2661_TX_CNTL_CSR             0x3430
        !           106: #define RT2661_LOAD_TX_RING_CSR                0x3434
        !           107: #define RT2661_RX_BASE_CSR             0x3450
        !           108: #define RT2661_RX_RING_CSR             0x3454
        !           109: #define RT2661_RX_CNTL_CSR             0x3458
        !           110: #define RT2661_PCI_CFG_CSR             0x3460
        !           111: #define RT2661_INT_SOURCE_CSR          0x3468
        !           112: #define RT2661_INT_MASK_CSR            0x346c
        !           113: #define RT2661_E2PROM_CSR              0x3470
        !           114: #define RT2661_AC_TXOP_CSR0            0x3474
        !           115: #define RT2661_AC_TXOP_CSR1            0x3478
        !           116: #define RT2661_TEST_MODE_CSR           0x3484
        !           117: #define RT2661_IO_CNTL_CSR             0x3498
        !           118: #define RT2661_MCU_CODE_BASE           0x4000
        !           119:
        !           120:
        !           121: /* possible flags for register HOST_CMD_CSR */
        !           122: #define RT2661_KICK_CMD                (1 << 7)
        !           123: /* Host to MCU (8051) command identifiers */
        !           124: #define RT2661_MCU_CMD_SLEEP   0x30
        !           125: #define RT2661_MCU_CMD_WAKEUP  0x31
        !           126: #define RT2661_MCU_SET_LED     0x50
        !           127: #define RT2661_MCU_SET_RSSI_LED        0x52
        !           128:
        !           129: /* possible flags for register MCU_CNTL_CSR */
        !           130: #define RT2661_MCU_SEL         (1 << 0)
        !           131: #define RT2661_MCU_RESET       (1 << 1)
        !           132: #define RT2661_MCU_READY       (1 << 2)
        !           133:
        !           134: /* possible flags for register MCU_INT_SOURCE_CSR */
        !           135: #define RT2661_MCU_CMD_DONE            0xff
        !           136: #define RT2661_MCU_WAKEUP              (1 << 8)
        !           137: #define RT2661_MCU_BEACON_EXPIRE       (1 << 9)
        !           138:
        !           139: /* possible flags for register H2M_MAILBOX_CSR */
        !           140: #define RT2661_H2M_BUSY                (1 << 24)
        !           141: #define RT2661_TOKEN_NO_INTR   0xff
        !           142:
        !           143: /* possible flags for register MAC_CSR5 */
        !           144: #define RT2661_ONE_BSSID       3
        !           145:
        !           146: /* possible flags for register TXRX_CSR0 */
        !           147: /* Tx filter flags are in the low 16 bits */
        !           148: #define RT2661_AUTO_TX_SEQ     (1 << 15)
        !           149: /* Rx filter flags are in the high 16 bits */
        !           150: #define RT2661_DISABLE_RX      (1 << 16)
        !           151: #define RT2661_DROP_CRC_ERROR  (1 << 17)
        !           152: #define RT2661_DROP_PHY_ERROR  (1 << 18)
        !           153: #define RT2661_DROP_CTL                (1 << 19)
        !           154: #define RT2661_DROP_NOT_TO_ME  (1 << 20)
        !           155: #define RT2661_DROP_TODS       (1 << 21)
        !           156: #define RT2661_DROP_VER_ERROR  (1 << 22)
        !           157: #define RT2661_DROP_MULTICAST  (1 << 23)
        !           158: #define RT2661_DROP_BROADCAST  (1 << 24)
        !           159: #define RT2661_DROP_ACKCTS     (1 << 25)
        !           160:
        !           161: /* possible flags for register TXRX_CSR4 */
        !           162: #define RT2661_SHORT_PREAMBLE  (1 << 18)
        !           163: #define RT2661_MRR_ENABLED     (1 << 19)
        !           164: #define RT2661_MRR_CCK_FALLBACK        (1 << 22)
        !           165:
        !           166: /* possible flags for register TXRX_CSR9 */
        !           167: #define RT2661_TSF_TICKING     (1 << 16)
        !           168: #define RT2661_TSF_MODE(x)     (((x) & 0x3) << 17)
        !           169: /* TBTT stands for Target Beacon Transmission Time */
        !           170: #define RT2661_ENABLE_TBTT     (1 << 19)
        !           171: #define RT2661_GENERATE_BEACON (1 << 20)
        !           172:
        !           173: /* possible flags for register PHY_CSR0 */
        !           174: #define RT2661_PA_PE_2GHZ      (1 << 16)
        !           175: #define RT2661_PA_PE_5GHZ      (1 << 17)
        !           176:
        !           177: /* possible flags for register PHY_CSR3 */
        !           178: #define RT2661_BBP_READ        (1 << 15)
        !           179: #define RT2661_BBP_BUSY        (1 << 16)
        !           180:
        !           181: /* possible flags for register PHY_CSR4 */
        !           182: #define RT2661_RF_21BIT        (21 << 24)
        !           183: #define RT2661_RF_BUSY (1 << 31)
        !           184:
        !           185: /* possible values for register STA_CSR4 */
        !           186: #define RT2661_TX_STAT_VALID   (1 << 0)
        !           187: #define RT2661_TX_RESULT(v)    (((v) >> 1) & 0x7)
        !           188: #define RT2661_TX_RETRYCNT(v)  (((v) >> 4) & 0xf)
        !           189: #define RT2661_TX_QID(v)       (((v) >> 8) & 0xf)
        !           190: #define RT2661_TX_SUCCESS      0
        !           191: #define RT2661_TX_RETRY_FAIL   6
        !           192:
        !           193: /* possible flags for register TX_CNTL_CSR */
        !           194: #define RT2661_KICK_MGT        (1 << 4)
        !           195:
        !           196: /* possible flags for register INT_SOURCE_CSR */
        !           197: #define RT2661_TX_DONE         (1 << 0)
        !           198: #define RT2661_RX_DONE         (1 << 1)
        !           199: #define RT2661_TX0_DMA_DONE    (1 << 16)
        !           200: #define RT2661_TX1_DMA_DONE    (1 << 17)
        !           201: #define RT2661_TX2_DMA_DONE    (1 << 18)
        !           202: #define RT2661_TX3_DMA_DONE    (1 << 19)
        !           203: #define RT2661_MGT_DONE                (1 << 20)
        !           204:
        !           205: /* possible flags for register E2PROM_CSR */
        !           206: #define RT2661_C       (1 << 1)
        !           207: #define RT2661_S       (1 << 2)
        !           208: #define RT2661_D       (1 << 3)
        !           209: #define RT2661_Q       (1 << 4)
        !           210: #define RT2661_93C46   (1 << 5)
        !           211:
        !           212: /* Tx descriptor */
        !           213: struct rt2661_tx_desc {
        !           214:        uint32_t        flags;
        !           215: #define RT2661_TX_BUSY         (1 << 0)
        !           216: #define RT2661_TX_VALID                (1 << 1)
        !           217: #define RT2661_TX_MORE_FRAG    (1 << 2)
        !           218: #define RT2661_TX_NEED_ACK     (1 << 3)
        !           219: #define RT2661_TX_TIMESTAMP    (1 << 4)
        !           220: #define RT2661_TX_OFDM         (1 << 5)
        !           221: #define RT2661_TX_IFS_SIFS     (1 << 6)
        !           222: #define RT2661_TX_LONG_RETRY   (1 << 7)
        !           223: #define RT2661_TX_BURST                (1 << 28)
        !           224:
        !           225:        uint16_t        wme;
        !           226: #define RT2661_QID(v)          (v)
        !           227: #define RT2661_AIFSN(v)                ((v) << 4)
        !           228: #define RT2661_LOGCWMIN(v)     ((v) << 8)
        !           229: #define RT2661_LOGCWMAX(v)     ((v) << 12)
        !           230:
        !           231:        uint16_t        xflags;
        !           232: #define RT2661_TX_HWSEQ                (1 << 12)
        !           233:
        !           234:        uint8_t         plcp_signal;
        !           235:        uint8_t         plcp_service;
        !           236: #define RT2661_PLCP_LENGEXT    0x80
        !           237:
        !           238:        uint8_t         plcp_length_lo;
        !           239:        uint8_t         plcp_length_hi;
        !           240:
        !           241:        uint32_t        iv;
        !           242:        uint32_t        eiv;
        !           243:
        !           244:        uint8_t         offset;
        !           245:        uint8_t         qid;
        !           246: #define RT2661_QID_MGT 13
        !           247:
        !           248:        uint8_t         txpower;
        !           249: #define RT2661_DEFAULT_TXPOWER 0
        !           250:
        !           251:        uint8_t         reserved1;
        !           252:
        !           253:        uint32_t        addr[RT2661_MAX_SCATTER];
        !           254:        uint16_t        len[RT2661_MAX_SCATTER];
        !           255:
        !           256:        uint16_t        reserved2;
        !           257: } __packed;
        !           258:
        !           259: /* Rx descriptor */
        !           260: struct rt2661_rx_desc {
        !           261:        uint32_t        flags;
        !           262: #define RT2661_RX_BUSY         (1 << 0)
        !           263: #define RT2661_RX_DROP         (1 << 1)
        !           264: #define RT2661_RX_CRC_ERROR    (1 << 6)
        !           265: #define RT2661_RX_OFDM         (1 << 7)
        !           266: #define RT2661_RX_PHY_ERROR    (1 << 8)
        !           267: #define RT2661_RX_CIPHER_MASK  0x00000600
        !           268:
        !           269:        uint8_t         rate;
        !           270:        uint8_t         rssi;
        !           271:        uint8_t         reserved1;
        !           272:        uint8_t         offset;
        !           273:        uint32_t        iv;
        !           274:        uint32_t        eiv;
        !           275:        uint32_t        reserved2;
        !           276:        uint32_t        physaddr;
        !           277:        uint32_t        reserved3[10];
        !           278: } __packed;
        !           279:
        !           280: #define RAL_RF1        0
        !           281: #define RAL_RF2        2
        !           282: #define RAL_RF3        1
        !           283: #define RAL_RF4        3
        !           284:
        !           285: /* dual-band RF */
        !           286: #define RT2661_RF_5225 1
        !           287: #define RT2661_RF_5325 2
        !           288: /* single-band RF */
        !           289: #define RT2661_RF_2527 3
        !           290: #define RT2661_RF_2529 4
        !           291:
        !           292: #define RT2661_RX_DESC_BACK    4
        !           293:
        !           294: #define RT2661_SMART_MODE      (1 << 0)
        !           295:
        !           296: #define RT2661_BBPR94_DEFAULT  6
        !           297:
        !           298: #define RT2661_SHIFT_D 3
        !           299: #define RT2661_SHIFT_Q 4
        !           300:
        !           301: #define RT2661_EEPROM_MAC01            0x02
        !           302: #define RT2661_EEPROM_MAC23            0x03
        !           303: #define RT2661_EEPROM_MAC45            0x04
        !           304: #define RT2661_EEPROM_ANTENNA          0x10
        !           305: #define RT2661_EEPROM_CONFIG2          0x11
        !           306: #define RT2661_EEPROM_BBP_BASE         0x13
        !           307: #define RT2661_EEPROM_TXPOWER          0x23
        !           308: #define RT2661_EEPROM_FREQ_OFFSET      0x2f
        !           309: #define RT2661_EEPROM_RSSI_2GHZ_OFFSET 0x4d
        !           310: #define RT2661_EEPROM_RSSI_5GHZ_OFFSET 0x4e
        !           311:
        !           312: #define RT2661_EEPROM_DELAY    1       /* minimum hold time (microsecond) */
        !           313:
        !           314: /*
        !           315:  * control and status registers access macros
        !           316:  */
        !           317: #define RAL_READ(sc, reg)                                              \
        !           318:        bus_space_read_4((sc)->sc_st, (sc)->sc_sh, (reg))
        !           319:
        !           320: #define RAL_READ_REGION_4(sc, offset, datap, count)                    \
        !           321:        bus_space_read_region_4((sc)->sc_st, (sc)->sc_sh, (offset),     \
        !           322:            (datap), (count))
        !           323:
        !           324: #define RAL_WRITE(sc, reg, val)                                                \
        !           325:        bus_space_write_4((sc)->sc_st, (sc)->sc_sh, (reg), (val))
        !           326:
        !           327: #define RAL_WRITE_1(sc, reg, val)                                      \
        !           328:        bus_space_write_1((sc)->sc_st, (sc)->sc_sh, (reg), (val))
        !           329:
        !           330: #define RAL_RW_BARRIER_1(sc, reg)                                      \
        !           331:        bus_space_barrier((sc)->sc_st, (sc)->sc_sh, (reg), 1,           \
        !           332:            BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE)
        !           333:
        !           334: #define RAL_WRITE_REGION_1(sc, offset, datap, count)                   \
        !           335:        bus_space_write_region_1((sc)->sc_st, (sc)->sc_sh, (offset),    \
        !           336:            (datap), (count))
        !           337:
        !           338: /*
        !           339:  * EEPROM access macro
        !           340:  */
        !           341: #define RT2661_EEPROM_CTL(sc, val) do {                                        \
        !           342:        RAL_WRITE((sc), RT2661_E2PROM_CSR, (val));                      \
        !           343:        DELAY(RT2661_EEPROM_DELAY);                                     \
        !           344: } while (/* CONSTCOND */0)
        !           345:
        !           346:
        !           347: /*
        !           348:  * Default values for MAC registers; values taken from the reference driver.
        !           349:  */
        !           350: #define RT2661_DEF_MAC                                 \
        !           351:        { RT2661_TXRX_CSR0,        0x0000b032 },        \
        !           352:        { RT2661_TXRX_CSR1,        0x9eb39eb3 },        \
        !           353:        { RT2661_TXRX_CSR2,        0x8a8b8c8d },        \
        !           354:        { RT2661_TXRX_CSR3,        0x00858687 },        \
        !           355:        { RT2661_TXRX_CSR7,        0x2e31353b },        \
        !           356:        { RT2661_TXRX_CSR8,        0x2a2a2a2c },        \
        !           357:        { RT2661_TXRX_CSR15,       0x0000000f },        \
        !           358:        { RT2661_MAC_CSR6,         0x00000fff },        \
        !           359:        { RT2661_MAC_CSR8,         0x016c030a },        \
        !           360:        { RT2661_MAC_CSR10,        0x00000718 },        \
        !           361:        { RT2661_MAC_CSR12,        0x00000004 },        \
        !           362:        { RT2661_MAC_CSR13,        0x0000e000 },        \
        !           363:        { RT2661_SEC_CSR0,         0x00000000 },        \
        !           364:        { RT2661_SEC_CSR1,         0x00000000 },        \
        !           365:        { RT2661_SEC_CSR5,         0x00000000 },        \
        !           366:        { RT2661_PHY_CSR1,         0x000023b0 },        \
        !           367:        { RT2661_PHY_CSR5,         0x060a100c },        \
        !           368:        { RT2661_PHY_CSR6,         0x00080606 },        \
        !           369:        { RT2661_PHY_CSR7,         0x00000a08 },        \
        !           370:        { RT2661_PCI_CFG_CSR,      0x3cca4808 },        \
        !           371:        { RT2661_AIFSN_CSR,        0x00002273 },        \
        !           372:        { RT2661_CWMIN_CSR,        0x00002344 },        \
        !           373:        { RT2661_CWMAX_CSR,        0x000034aa },        \
        !           374:        { RT2661_TEST_MODE_CSR,    0x00000200 },        \
        !           375:        { RT2661_M2H_CMD_DONE_CSR, 0xffffffff }
        !           376:
        !           377: /*
        !           378:  * Default values for BBP registers; values taken from the reference driver.
        !           379:  */
        !           380: #define RT2661_DEF_BBP \
        !           381:        {   3, 0x00 },  \
        !           382:        {  15, 0x30 },  \
        !           383:        {  17, 0x20 },  \
        !           384:        {  21, 0xc8 },  \
        !           385:        {  22, 0x38 },  \
        !           386:        {  23, 0x06 },  \
        !           387:        {  24, 0xfe },  \
        !           388:        {  25, 0x0a },  \
        !           389:        {  26, 0x0d },  \
        !           390:        {  34, 0x12 },  \
        !           391:        {  37, 0x07 },  \
        !           392:        {  39, 0xf8 },  \
        !           393:        {  41, 0x60 },  \
        !           394:        {  53, 0x10 },  \
        !           395:        {  54, 0x18 },  \
        !           396:        {  60, 0x10 },  \
        !           397:        {  61, 0x04 },  \
        !           398:        {  62, 0x04 },  \
        !           399:        {  75, 0xfe },  \
        !           400:        {  86, 0xfe },  \
        !           401:        {  88, 0xfe },  \
        !           402:        {  90, 0x0f },  \
        !           403:        {  99, 0x00 },  \
        !           404:        { 102, 0x16 },  \
        !           405:        { 107, 0x04 }
        !           406:
        !           407: /*
        !           408:  * Default settings for RF registers; values taken from the reference driver.
        !           409:  */
        !           410: #define RT2661_RF5225_1                                        \
        !           411:        {   1, 0x00b33, 0x011e1, 0x1a014, 0x30282 },    \
        !           412:        {   2, 0x00b33, 0x011e1, 0x1a014, 0x30287 },    \
        !           413:        {   3, 0x00b33, 0x011e2, 0x1a014, 0x30282 },    \
        !           414:        {   4, 0x00b33, 0x011e2, 0x1a014, 0x30287 },    \
        !           415:        {   5, 0x00b33, 0x011e3, 0x1a014, 0x30282 },    \
        !           416:        {   6, 0x00b33, 0x011e3, 0x1a014, 0x30287 },    \
        !           417:        {   7, 0x00b33, 0x011e4, 0x1a014, 0x30282 },    \
        !           418:        {   8, 0x00b33, 0x011e4, 0x1a014, 0x30287 },    \
        !           419:        {   9, 0x00b33, 0x011e5, 0x1a014, 0x30282 },    \
        !           420:        {  10, 0x00b33, 0x011e5, 0x1a014, 0x30287 },    \
        !           421:        {  11, 0x00b33, 0x011e6, 0x1a014, 0x30282 },    \
        !           422:        {  12, 0x00b33, 0x011e6, 0x1a014, 0x30287 },    \
        !           423:        {  13, 0x00b33, 0x011e7, 0x1a014, 0x30282 },    \
        !           424:        {  14, 0x00b33, 0x011e8, 0x1a014, 0x30284 },    \
        !           425:                                                        \
        !           426:        {  36, 0x00b33, 0x01266, 0x26014, 0x30288 },    \
        !           427:        {  40, 0x00b33, 0x01268, 0x26014, 0x30280 },    \
        !           428:        {  44, 0x00b33, 0x01269, 0x26014, 0x30282 },    \
        !           429:        {  48, 0x00b33, 0x0126a, 0x26014, 0x30284 },    \
        !           430:        {  52, 0x00b33, 0x0126b, 0x26014, 0x30286 },    \
        !           431:        {  56, 0x00b33, 0x0126c, 0x26014, 0x30288 },    \
        !           432:        {  60, 0x00b33, 0x0126e, 0x26014, 0x30280 },    \
        !           433:        {  64, 0x00b33, 0x0126f, 0x26014, 0x30282 },    \
        !           434:                                                        \
        !           435:        { 100, 0x00b33, 0x0128a, 0x2e014, 0x30280 },    \
        !           436:        { 104, 0x00b33, 0x0128b, 0x2e014, 0x30282 },    \
        !           437:        { 108, 0x00b33, 0x0128c, 0x2e014, 0x30284 },    \
        !           438:        { 112, 0x00b33, 0x0128d, 0x2e014, 0x30286 },    \
        !           439:        { 116, 0x00b33, 0x0128e, 0x2e014, 0x30288 },    \
        !           440:        { 120, 0x00b33, 0x012a0, 0x2e014, 0x30280 },    \
        !           441:        { 124, 0x00b33, 0x012a1, 0x2e014, 0x30282 },    \
        !           442:        { 128, 0x00b33, 0x012a2, 0x2e014, 0x30284 },    \
        !           443:        { 132, 0x00b33, 0x012a3, 0x2e014, 0x30286 },    \
        !           444:        { 136, 0x00b33, 0x012a4, 0x2e014, 0x30288 },    \
        !           445:        { 140, 0x00b33, 0x012a6, 0x2e014, 0x30280 },    \
        !           446:                                                        \
        !           447:        { 149, 0x00b33, 0x012a8, 0x2e014, 0x30287 },    \
        !           448:        { 153, 0x00b33, 0x012a9, 0x2e014, 0x30289 },    \
        !           449:        { 157, 0x00b33, 0x012ab, 0x2e014, 0x30281 },    \
        !           450:        { 161, 0x00b33, 0x012ac, 0x2e014, 0x30283 },    \
        !           451:        { 165, 0x00b33, 0x012ad, 0x2e014, 0x30285 }
        !           452:
        !           453: #define RT2661_RF5225_2                                        \
        !           454:        {   1, 0x00b33, 0x011e1, 0x1a014, 0x30282 },    \
        !           455:        {   2, 0x00b33, 0x011e1, 0x1a014, 0x30287 },    \
        !           456:        {   3, 0x00b33, 0x011e2, 0x1a014, 0x30282 },    \
        !           457:        {   4, 0x00b33, 0x011e2, 0x1a014, 0x30287 },    \
        !           458:        {   5, 0x00b33, 0x011e3, 0x1a014, 0x30282 },    \
        !           459:        {   6, 0x00b33, 0x011e3, 0x1a014, 0x30287 },    \
        !           460:        {   7, 0x00b33, 0x011e4, 0x1a014, 0x30282 },    \
        !           461:        {   8, 0x00b33, 0x011e4, 0x1a014, 0x30287 },    \
        !           462:        {   9, 0x00b33, 0x011e5, 0x1a014, 0x30282 },    \
        !           463:        {  10, 0x00b33, 0x011e5, 0x1a014, 0x30287 },    \
        !           464:        {  11, 0x00b33, 0x011e6, 0x1a014, 0x30282 },    \
        !           465:        {  12, 0x00b33, 0x011e6, 0x1a014, 0x30287 },    \
        !           466:        {  13, 0x00b33, 0x011e7, 0x1a014, 0x30282 },    \
        !           467:        {  14, 0x00b33, 0x011e8, 0x1a014, 0x30284 },    \
        !           468:                                                        \
        !           469:        {  36, 0x00b35, 0x11206, 0x26014, 0x30280 },    \
        !           470:        {  40, 0x00b34, 0x111a0, 0x26014, 0x30280 },    \
        !           471:        {  44, 0x00b34, 0x111a1, 0x26014, 0x30286 },    \
        !           472:        {  48, 0x00b34, 0x111a3, 0x26014, 0x30282 },    \
        !           473:        {  52, 0x00b34, 0x111a4, 0x26014, 0x30288 },    \
        !           474:        {  56, 0x00b34, 0x111a6, 0x26014, 0x30284 },    \
        !           475:        {  60, 0x00b34, 0x111a8, 0x26014, 0x30280 },    \
        !           476:        {  64, 0x00b34, 0x111a9, 0x26014, 0x30286 },    \
        !           477:                                                        \
        !           478:        { 100, 0x00b35, 0x11226, 0x2e014, 0x30280 },    \
        !           479:        { 104, 0x00b35, 0x11228, 0x2e014, 0x30280 },    \
        !           480:        { 108, 0x00b35, 0x1122a, 0x2e014, 0x30280 },    \
        !           481:        { 112, 0x00b35, 0x1122c, 0x2e014, 0x30280 },    \
        !           482:        { 116, 0x00b35, 0x1122e, 0x2e014, 0x30280 },    \
        !           483:        { 120, 0x00b34, 0x111c0, 0x2e014, 0x30280 },    \
        !           484:        { 124, 0x00b34, 0x111c1, 0x2e014, 0x30286 },    \
        !           485:        { 128, 0x00b34, 0x111c3, 0x2e014, 0x30282 },    \
        !           486:        { 132, 0x00b34, 0x111c4, 0x2e014, 0x30288 },    \
        !           487:        { 136, 0x00b34, 0x111c6, 0x2e014, 0x30284 },    \
        !           488:        { 140, 0x00b34, 0x111c8, 0x2e014, 0x30280 },    \
        !           489:                                                        \
        !           490:        { 149, 0x00b34, 0x111cb, 0x2e014, 0x30286 },    \
        !           491:        { 153, 0x00b34, 0x111cd, 0x2e014, 0x30282 },    \
        !           492:        { 157, 0x00b35, 0x11242, 0x2e014, 0x30285 },    \
        !           493:        { 161, 0x00b35, 0x11244, 0x2e014, 0x30285 },    \
        !           494:        { 165, 0x00b35, 0x11246, 0x2e014, 0x30285 }

CVSweb