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

Annotation of sys/dev/ic/rt2560reg.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: rt2560reg.h,v 1.5 2006/11/13 20:06:38 damien Exp $  */
                      2:
                      3: /*-
                      4:  * Copyright (c) 2005, 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 RT2560_TX_RING_COUNT           48
                     21: #define RT2560_ATIM_RING_COUNT         4
                     22: #define RT2560_PRIO_RING_COUNT         16
                     23: #define RT2560_BEACON_RING_COUNT       1
                     24: #define RT2560_RX_RING_COUNT           32
                     25:
                     26: #define RT2560_TX_DESC_SIZE    (sizeof (struct rt2560_tx_desc))
                     27: #define RT2560_RX_DESC_SIZE    (sizeof (struct rt2560_rx_desc))
                     28:
                     29: #define RT2560_MAX_SCATTER     1
                     30:
                     31: /*
                     32:  * Control and status registers.
                     33:  */
                     34: #define RT2560_CSR0            0x0000  /* ASIC version number */
                     35: #define RT2560_CSR1            0x0004  /* System control */
                     36: #define RT2560_CSR3            0x000c  /* STA MAC address 0 */
                     37: #define RT2560_CSR4            0x0010  /* STA MAC address 1 */
                     38: #define RT2560_CSR5            0x0014  /* BSSID 0 */
                     39: #define RT2560_CSR6            0x0018  /* BSSID 1 */
                     40: #define RT2560_CSR7            0x001c  /* Interrupt source */
                     41: #define RT2560_CSR8            0x0020  /* Interrupt mask */
                     42: #define RT2560_CSR9            0x0024  /* Maximum frame length */
                     43: #define RT2560_SECCSR0         0x0028  /* WEP control */
                     44: #define RT2560_CSR11           0x002c  /* Back-off control */
                     45: #define RT2560_CSR12           0x0030  /* Synchronization configuration 0 */
                     46: #define RT2560_CSR13           0x0034  /* Synchronization configuration 1 */
                     47: #define RT2560_CSR14           0x0038  /* Synchronization control */
                     48: #define RT2560_CSR15           0x003c  /* Synchronization status */
                     49: #define RT2560_CSR16           0x0040  /* TSF timer 0 */
                     50: #define RT2560_CSR17           0x0044  /* TSF timer 1 */
                     51: #define RT2560_CSR18           0x0048  /* IFS timer 0 */
                     52: #define RT2560_CSR19           0x004c  /* IFS timer 1 */
                     53: #define RT2560_CSR20           0x0050  /* WAKEUP timer */
                     54: #define RT2560_CSR21           0x0054  /* EEPROM control */
                     55: #define RT2560_CSR22           0x0058  /* CFP control */
                     56: #define RT2560_TXCSR0          0x0060  /* TX control */
                     57: #define RT2560_TXCSR1          0x0064  /* TX configuration */
                     58: #define RT2560_TXCSR2          0x0068  /* TX descriptor configuration */
                     59: #define RT2560_TXCSR3          0x006c  /* TX ring base address */
                     60: #define RT2560_TXCSR4          0x0070  /* TX ATIM ring base address */
                     61: #define RT2560_TXCSR5          0x0074  /* TX PRIO ring base address */
                     62: #define RT2560_TXCSR6          0x0078  /* Beacon base address */
                     63: #define RT2560_TXCSR7          0x007c  /* AutoResponder control */
                     64: #define RT2560_RXCSR0          0x0080  /* RX control */
                     65: #define RT2560_RXCSR1          0x0084  /* RX descriptor configuration */
                     66: #define RT2560_RXCSR2          0x0088  /* RX ring base address */
                     67: #define RT2560_PCICSR          0x008c  /* PCI control */
                     68: #define RT2560_RXCSR3          0x0090  /* BBP ID 0 */
                     69: #define RT2560_TXCSR9          0x0094  /* OFDM TX BBP */
                     70: #define RT2560_ARSP_PLCP_0     0x0098  /* Auto Responder PLCP address */
                     71: #define RT2560_ARSP_PLCP_1     0x009c  /* Auto Responder Basic Rate mask */
                     72: #define RT2560_CNT0            0x00a0  /* FCS error counter */
                     73: #define RT2560_CNT1            0x00ac  /* PLCP error counter */
                     74: #define RT2560_CNT2            0x00b0  /* Long error counter */
                     75: #define RT2560_CNT3            0x00b8  /* CCA false alarm counter */
                     76: #define RT2560_CNT4            0x00bc  /* RX FIFO Overflow counter */
                     77: #define RT2560_CNT5            0x00c0  /* Tx FIFO Underrun counter */
                     78: #define RT2560_PWRCSR0         0x00c4  /* Power mode configuration */
                     79: #define RT2560_PSCSR0          0x00c8  /* Power state transition time */
                     80: #define RT2560_PSCSR1          0x00cc  /* Power state transition time */
                     81: #define RT2560_PSCSR2          0x00d0  /* Power state transition time */
                     82: #define RT2560_PSCSR3          0x00d4  /* Power state transition time */
                     83: #define RT2560_PWRCSR1         0x00d8  /* Manual power control/status */
                     84: #define RT2560_TIMECSR         0x00dc  /* Timer control */
                     85: #define RT2560_MACCSR0         0x00e0  /* MAC configuration */
                     86: #define RT2560_MACCSR1         0x00e4  /* MAC configuration */
                     87: #define RT2560_RALINKCSR       0x00e8  /* Ralink RX auto-reset BBCR */
                     88: #define RT2560_BCNCSR          0x00ec  /* Beacon interval control */
                     89: #define RT2560_BBPCSR          0x00f0  /* BBP serial control */
                     90: #define RT2560_RFCSR           0x00f4  /* RF serial control */
                     91: #define RT2560_LEDCSR          0x00f8  /* LED control */
                     92: #define RT2560_SECCSR3         0x00fc  /* XXX not documented */
                     93: #define RT2560_DMACSR0         0x0100  /* Current RX ring address */
                     94: #define RT2560_DMACSR1         0x0104  /* Current Tx ring address */
                     95: #define RT2560_DMACSR2         0x0104  /* Current Priority ring address */
                     96: #define RT2560_DMACSR3         0x0104  /* Current ATIM ring address */
                     97: #define RT2560_TXACKCSR0       0x0110  /* XXX not documented */
                     98: #define RT2560_GPIOCSR         0x0120  /* */
                     99: #define RT2560_BBBPPCSR                0x0124  /* BBP Pin Control */
                    100: #define RT2560_FIFOCSR0                0x0128  /* TX FIFO pointer */
                    101: #define RT2560_FIFOCSR1                0x012c  /* RX FIFO pointer */
                    102: #define RT2560_BCNOCSR         0x0130  /* Beacon time offset */
                    103: #define RT2560_RLPWCSR         0x0134  /* RX_PE Low Width */
                    104: #define RT2560_TESTCSR         0x0138  /* Test Mode Select */
                    105: #define RT2560_PLCP1MCSR       0x013c  /* Signal/Service/Length of ACK @1M */
                    106: #define RT2560_PLCP2MCSR       0x0140  /* Signal/Service/Length of ACK @2M */
                    107: #define RT2560_PLCP5p5MCSR     0x0144  /* Signal/Service/Length of ACK @5.5M */
                    108: #define RT2560_PLCP11MCSR      0x0148  /* Signal/Service/Length of ACK @11M */
                    109: #define RT2560_ACKPCTCSR       0x014c  /* ACK/CTS padload consume time */
                    110: #define RT2560_ARTCSR1         0x0150  /* ACK/CTS padload consume time */
                    111: #define RT2560_ARTCSR2         0x0154  /* ACK/CTS padload consume time */
                    112: #define RT2560_SECCSR1         0x0158  /* WEP control */
                    113: #define RT2560_BBPCSR1         0x015c  /* BBP TX Configuration */
                    114:
                    115:
                    116: /* possible flags for register RXCSR0 */
                    117: #define RT2560_DISABLE_RX              (1 << 0)
                    118: #define RT2560_DROP_CRC_ERROR          (1 << 1)
                    119: #define RT2560_DROP_PHY_ERROR          (1 << 2)
                    120: #define RT2560_DROP_CTL                        (1 << 3)
                    121: #define RT2560_DROP_NOT_TO_ME          (1 << 4)
                    122: #define RT2560_DROP_TODS               (1 << 5)
                    123: #define RT2560_DROP_VERSION_ERROR      (1 << 6)
                    124:
                    125: /* possible flags for register CSR1 */
                    126: #define RT2560_RESET_ASIC      (1 << 0)
                    127: #define RT2560_RESET_BBP       (1 << 1)
                    128: #define RT2560_HOST_READY      (1 << 2)
                    129:
                    130: /* possible flags for register CSR14 */
                    131: #define RT2560_ENABLE_TSF              (1 << 0)
                    132: #define RT2560_ENABLE_TSF_SYNC(x)      (((x) & 0x3) << 1)
                    133: #define RT2560_ENABLE_TBCN             (1 << 3)
                    134: #define RT2560_ENABLE_BEACON_GENERATOR (1 << 6)
                    135:
                    136: /* possible flags for register CSR21 */
                    137: #define RT2560_C       (1 << 1)
                    138: #define RT2560_S       (1 << 2)
                    139: #define RT2560_D       (1 << 3)
                    140: #define RT2560_Q       (1 << 4)
                    141: #define RT2560_93C46   (1 << 5)
                    142:
                    143: #define RT2560_SHIFT_D 3
                    144: #define RT2560_SHIFT_Q 4
                    145:
                    146: /* possible flags for register TXCSR0 */
                    147: #define RT2560_KICK_TX         (1 << 0)
                    148: #define RT2560_KICK_ATIM       (1 << 1)
                    149: #define RT2560_KICK_PRIO       (1 << 2)
                    150: #define RT2560_ABORT_TX                (1 << 3)
                    151:
                    152: /* possible flags for register SECCSR0 */
                    153: #define RT2560_KICK_DECRYPT    (1 << 0)
                    154:
                    155: /* possible flags for register SECCSR1 */
                    156: #define RT2560_KICK_ENCRYPT    (1 << 0)
                    157:
                    158: /* possible flags for register CSR7 */
                    159: #define RT2560_BEACON_EXPIRE   0x00000001
                    160: #define RT2560_WAKEUP_EXPIRE   0x00000002
                    161: #define RT2560_ATIM_EXPIRE     0x00000004
                    162: #define RT2560_TX_DONE         0x00000008
                    163: #define RT2560_ATIM_DONE       0x00000010
                    164: #define RT2560_PRIO_DONE       0x00000020
                    165: #define RT2560_RX_DONE         0x00000040
                    166: #define RT2560_DECRYPTION_DONE 0x00000080
                    167: #define RT2560_ENCRYPTION_DONE 0x00000100
                    168:
                    169: #define RT2560_INTR_MASK                                                 \
                    170:        (~(RT2560_BEACON_EXPIRE | RT2560_WAKEUP_EXPIRE | RT2560_TX_DONE | \
                    171:           RT2560_PRIO_DONE | RT2560_RX_DONE | RT2560_DECRYPTION_DONE |   \
                    172:           RT2560_ENCRYPTION_DONE))
                    173:
                    174: /* Tx descriptor */
                    175: struct rt2560_tx_desc {
                    176:        uint32_t        flags;
                    177: #define RT2560_TX_BUSY         (1 << 0)
                    178: #define RT2560_TX_VALID                (1 << 1)
                    179:
                    180: #define RT2560_TX_RESULT_MASK          0x0000001c
                    181: #define RT2560_TX_SUCCESS              (0 << 2)
                    182: #define RT2560_TX_SUCCESS_RETRY                (1 << 2)
                    183: #define RT2560_TX_FAIL_RETRY           (2 << 2)
                    184: #define RT2560_TX_FAIL_INVALID         (3 << 2)
                    185: #define RT2560_TX_FAIL_OTHER           (4 << 2)
                    186:
                    187: #define RT2560_TX_MORE_FRAG            (1 << 8)
                    188: #define RT2560_TX_NEED_ACK             (1 << 9)
                    189: #define RT2560_TX_TIMESTAMP            (1 << 10)
                    190: #define RT2560_TX_OFDM                 (1 << 11)
                    191: #define RT2560_TX_CIPHER_BUSY          (1 << 12)
                    192:
                    193: #define RT2560_TX_IFS_MASK             0x00006000
                    194: #define RT2560_TX_IFS_BACKOFF          (0 << 13)
                    195: #define RT2560_TX_IFS_SIFS             (1 << 13)
                    196: #define RT2560_TX_IFS_NEWBACKOFF       (2 << 13)
                    197: #define RT2560_TX_IFS_NONE             (3 << 13)
                    198:
                    199: #define RT2560_TX_LONG_RETRY           (1 << 15)
                    200:
                    201: #define RT2560_TX_CIPHER_MASK          0xe0000000
                    202: #define RT2560_TX_CIPHER_NONE          (0 << 29)
                    203: #define RT2560_TX_CIPHER_WEP40         (1 << 29)
                    204: #define RT2560_TX_CIPHER_WEP104                (2 << 29)
                    205: #define RT2560_TX_CIPHER_TKIP          (3 << 29)
                    206: #define RT2560_TX_CIPHER_AES           (4 << 29)
                    207:
                    208:        uint32_t        physaddr;
                    209:        uint16_t        wme;
                    210: #define RT2560_LOGCWMAX(x)     (((x) & 0xf) << 12)
                    211: #define RT2560_LOGCWMIN(x)     (((x) & 0xf) << 8)
                    212: #define RT2560_AIFSN(x)                (((x) & 0x3) << 6)
                    213: #define RT2560_IVOFFSET(x)     (((x) & 0x3f))
                    214:
                    215:        uint16_t        reserved1;
                    216:        uint8_t         plcp_signal;
                    217:        uint8_t         plcp_service;
                    218: #define RT2560_PLCP_LENGEXT    0x80
                    219:
                    220:        uint8_t         plcp_length_lo;
                    221:        uint8_t         plcp_length_hi;
                    222:        uint32_t        iv;
                    223:        uint32_t        eiv;
                    224:        uint8_t         key[IEEE80211_KEYBUF_SIZE];
                    225:        uint32_t        reserved2[2];
                    226: } __packed;
                    227:
                    228: /* Rx descriptor */
                    229: struct rt2560_rx_desc {
                    230:        uint32_t        flags;
                    231: #define RT2560_RX_BUSY         (1 << 0)
                    232: #define RT2560_RX_CRC_ERROR    (1 << 5)
                    233: #define RT2560_RX_OFDM         (1 << 6)
                    234: #define RT2560_RX_PHY_ERROR    (1 << 7)
                    235: #define RT2560_RX_CIPHER_BUSY  (1 << 8)
                    236: #define RT2560_RX_ICV_ERROR    (1 << 9)
                    237:
                    238: #define RT2560_RX_CIPHER_MASK  0xe0000000
                    239: #define RT2560_RX_CIPHER_NONE  (0 << 29)
                    240: #define RT2560_RX_CIPHER_WEP40 (1 << 29)
                    241: #define RT2560_RX_CIPHER_WEP104        (2 << 29)
                    242: #define RT2560_RX_CIPHER_TKIP  (3 << 29)
                    243: #define RT2560_RX_CIPHER_AES   (4 << 29)
                    244:
                    245:        uint32_t        physaddr;
                    246:        uint8_t         rate;
                    247:        uint8_t         rssi;
                    248:        uint8_t         ta[IEEE80211_ADDR_LEN];
                    249:        uint32_t        iv;
                    250:        uint32_t        eiv;
                    251:        uint8_t         key[IEEE80211_KEYBUF_SIZE];
                    252:        uint32_t        reserved[2];
                    253: } __packed;
                    254:
                    255: #define RT2560_RF1     0
                    256: #define RT2560_RF2     2
                    257: #define RT2560_RF3     1
                    258: #define RT2560_RF4     3
                    259:
                    260: #define RT2560_RF1_AUTOTUNE    0x08000
                    261: #define RT2560_RF3_AUTOTUNE    0x00040
                    262:
                    263: #define RT2560_BBP_BUSY                (1 << 15)
                    264: #define RT2560_BBP_WRITE       (1 << 16)
                    265: #define RT2560_RF_20BIT                (20 << 24)
                    266: #define RT2560_RF_BUSY         (1 << 31)
                    267:
                    268: #define RT2560_RF_2522 0x00
                    269: #define RT2560_RF_2523 0x01
                    270: #define RT2560_RF_2524 0x02
                    271: #define RT2560_RF_2525 0x03
                    272: #define RT2560_RF_2525E        0x04
                    273: #define RT2560_RF_2526 0x05
                    274: /* dual-band RF */
                    275: #define RT2560_RF_5222 0x10
                    276:
                    277: #define RT2560_BBP_VERSION     0
                    278: #define RT2560_BBP_TX          2
                    279: #define RT2560_BBP_RX          14
                    280:
                    281: #define RT2560_BBP_ANTA                0x00
                    282: #define RT2560_BBP_DIVERSITY   0x01
                    283: #define RT2560_BBP_ANTB                0x02
                    284: #define RT2560_BBP_ANTMASK     0x03
                    285: #define RT2560_BBP_FLIPIQ      0x04
                    286:
                    287: #define RT2560_LED_MODE_DEFAULT                0
                    288: #define RT2560_LED_MODE_TXRX_ACTIVITY  1
                    289: #define RT2560_LED_MODE_SINGLE         2
                    290: #define RT2560_LED_MODE_ASUS           3
                    291:
                    292: #define RT2560_JAPAN_FILTER    0x8
                    293:
                    294: #define RT2560_EEPROM_CONFIG0  16
                    295: #define RT2560_EEPROM_BBP_BASE 19
                    296: #define RT2560_EEPROM_TXPOWER  35
                    297:
                    298: #define RT2560_EEPROM_DELAY    1       /* minimum hold time (microsecond) */
                    299:
                    300: /*
                    301:  * control and status registers access macros
                    302:  */
                    303: #define RAL_READ(sc, reg)                                              \
                    304:        bus_space_read_4((sc)->sc_st, (sc)->sc_sh, (reg))
                    305:
                    306: #define RAL_WRITE(sc, reg, val)                                                \
                    307:        bus_space_write_4((sc)->sc_st, (sc)->sc_sh, (reg), (val))
                    308:
                    309: /*
                    310:  * EEPROM access macro
                    311:  */
                    312: #define RT2560_EEPROM_CTL(sc, val) do {                                        \
                    313:        RAL_WRITE((sc), RT2560_CSR21, (val));                           \
                    314:        DELAY(RT2560_EEPROM_DELAY);                                     \
                    315: } while (/* CONSTCOND */0)
                    316:
                    317:
                    318: /*
                    319:  * Default values for MAC registers; values taken from the reference driver.
                    320:  */
                    321: #define RT2560_DEF_MAC                         \
                    322:        { RT2560_PSCSR0,      0x00020002 },     \
                    323:        { RT2560_PSCSR1,      0x00000002 },     \
                    324:        { RT2560_PSCSR2,      0x00020002 },     \
                    325:        { RT2560_PSCSR3,      0x00000002 },     \
                    326:        { RT2560_TIMECSR,     0x00003f21 },     \
                    327:        { RT2560_CSR9,        0x00000780 },     \
                    328:        { RT2560_CSR11,       0x07041483 },     \
                    329:        { RT2560_CNT3,        0x00000000 },     \
                    330:        { RT2560_TXCSR1,      0x07614562 },     \
                    331:        { RT2560_ARSP_PLCP_0, 0x8c8d8b8a },     \
                    332:        { RT2560_ACKPCTCSR,   0x7038140a },     \
                    333:        { RT2560_ARTCSR1,     0x1d21252d },     \
                    334:        { RT2560_ARTCSR2,     0x1919191d },     \
                    335:        { RT2560_RXCSR0,      0xffffffff },     \
                    336:        { RT2560_RXCSR3,      0xb3aab3af },     \
                    337:        { RT2560_PCICSR,      0x000003b8 },     \
                    338:        { RT2560_PWRCSR0,     0x3f3b3100 },     \
                    339:        { RT2560_GPIOCSR,     0x0000ff00 },     \
                    340:        { RT2560_TESTCSR,     0x000000f0 },     \
                    341:        { RT2560_PWRCSR1,     0x000001ff },     \
                    342:        { RT2560_MACCSR0,     0x00213223 },     \
                    343:        { RT2560_MACCSR1,     0x00235518 },     \
                    344:        { RT2560_RLPWCSR,     0x00000040 },     \
                    345:        { RT2560_RALINKCSR,   0x9a009a11 },     \
                    346:        { RT2560_CSR7,        0xffffffff },     \
                    347:        { RT2560_BBPCSR1,     0x82188200 },     \
                    348:        { RT2560_TXACKCSR0,   0x00000020 },     \
                    349:        { RT2560_SECCSR3,     0x0000e78f }
                    350:
                    351: /*
                    352:  * Default values for BBP registers; values taken from the reference driver.
                    353:  */
                    354: #define RT2560_DEF_BBP \
                    355:        {  3, 0x02 },   \
                    356:        {  4, 0x19 },   \
                    357:        { 14, 0x1c },   \
                    358:        { 15, 0x30 },   \
                    359:        { 16, 0xac },   \
                    360:        { 17, 0x48 },   \
                    361:        { 18, 0x18 },   \
                    362:        { 19, 0xff },   \
                    363:        { 20, 0x1e },   \
                    364:        { 21, 0x08 },   \
                    365:        { 22, 0x08 },   \
                    366:        { 23, 0x08 },   \
                    367:        { 24, 0x80 },   \
                    368:        { 25, 0x50 },   \
                    369:        { 26, 0x08 },   \
                    370:        { 27, 0x23 },   \
                    371:        { 30, 0x10 },   \
                    372:        { 31, 0x2b },   \
                    373:        { 32, 0xb9 },   \
                    374:        { 34, 0x12 },   \
                    375:        { 35, 0x50 },   \
                    376:        { 39, 0xc4 },   \
                    377:        { 40, 0x02 },   \
                    378:        { 41, 0x60 },   \
                    379:        { 53, 0x10 },   \
                    380:        { 54, 0x18 },   \
                    381:        { 56, 0x08 },   \
                    382:        { 57, 0x10 },   \
                    383:        { 58, 0x08 },   \
                    384:        { 61, 0x60 },   \
                    385:        { 62, 0x10 },   \
                    386:        { 75, 0xff }
                    387:
                    388: /*
                    389:  * Default values for RF register R2 indexed by channel numbers; values taken
                    390:  * from the reference driver.
                    391:  */
                    392: #define RT2560_RF2522_R2                                               \
                    393: {                                                                      \
                    394:        0x307f6, 0x307fb, 0x30800, 0x30805, 0x3080a, 0x3080f, 0x30814,  \
                    395:        0x30819, 0x3081e, 0x30823, 0x30828, 0x3082d, 0x30832, 0x3083e   \
                    396: }
                    397:
                    398: #define RT2560_RF2523_R2                                               \
                    399: {                                                                      \
                    400:        0x00327, 0x00328, 0x00329, 0x0032a, 0x0032b, 0x0032c, 0x0032d,  \
                    401:        0x0032e, 0x0032f, 0x00340, 0x00341, 0x00342, 0x00343, 0x00346   \
                    402: }
                    403:
                    404: #define RT2560_RF2524_R2                                               \
                    405: {                                                                      \
                    406:        0x00327, 0x00328, 0x00329, 0x0032a, 0x0032b, 0x0032c, 0x0032d,  \
                    407:        0x0032e, 0x0032f, 0x00340, 0x00341, 0x00342, 0x00343, 0x00346   \
                    408: }
                    409:
                    410: #define RT2560_RF2525_R2                                               \
                    411: {                                                                      \
                    412:        0x20327, 0x20328, 0x20329, 0x2032a, 0x2032b, 0x2032c, 0x2032d,  \
                    413:        0x2032e, 0x2032f, 0x20340, 0x20341, 0x20342, 0x20343, 0x20346   \
                    414: }
                    415:
                    416: #define RT2560_RF2525_HI_R2                                            \
                    417: {                                                                      \
                    418:        0x2032f, 0x20340, 0x20341, 0x20342, 0x20343, 0x20344, 0x20345,  \
                    419:        0x20346, 0x20347, 0x20348, 0x20349, 0x2034a, 0x2034b, 0x2034e   \
                    420: }
                    421:
                    422: #define RT2560_RF2525E_R2                                              \
                    423: {                                                                      \
                    424:        0x2044d, 0x2044e, 0x2044f, 0x20460, 0x20461, 0x20462, 0x20463,  \
                    425:        0x20464, 0x20465, 0x20466, 0x20467, 0x20468, 0x20469, 0x2046b   \
                    426: }
                    427:
                    428: #define RT2560_RF2526_HI_R2                                            \
                    429: {                                                                      \
                    430:        0x0022a, 0x0022b, 0x0022b, 0x0022c, 0x0022c, 0x0022d, 0x0022d,  \
                    431:        0x0022e, 0x0022e, 0x0022f, 0x0022d, 0x00240, 0x00240, 0x00241   \
                    432: }
                    433:
                    434: #define RT2560_RF2526_R2                                               \
                    435: {                                                                      \
                    436:        0x00226, 0x00227, 0x00227, 0x00228, 0x00228, 0x00229, 0x00229,  \
                    437:        0x0022a, 0x0022a, 0x0022b, 0x0022b, 0x0022c, 0x0022c, 0x0022d   \
                    438: }
                    439:

CVSweb