1*7ebc5b51Smpi /* $OpenBSD: if_rumreg.h,v 1.16 2015/06/12 15:47:31 mpi Exp $ */ 214761d2dSdamien 3b9520dbfSniallo /*- 4b9520dbfSniallo * Copyright (c) 2005, 2006 Damien Bergamini <damien.bergamini@free.fr> 5b9520dbfSniallo * Copyright (c) 2006 Niall O'Higgins <niallo@openbsd.org> 6b9520dbfSniallo * 7b9520dbfSniallo * Permission to use, copy, modify, and distribute this software for any 8b9520dbfSniallo * purpose with or without fee is hereby granted, provided that the above 9b9520dbfSniallo * copyright notice and this permission notice appear in all copies. 10b9520dbfSniallo * 11b9520dbfSniallo * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 12b9520dbfSniallo * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 13b9520dbfSniallo * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 14b9520dbfSniallo * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 15b9520dbfSniallo * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 16b9520dbfSniallo * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 17b9520dbfSniallo * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 18b9520dbfSniallo */ 19b9520dbfSniallo 2014761d2dSdamien #define RT2573_TX_DESC_SIZE (sizeof (struct rum_tx_desc)) 2114761d2dSdamien #define RT2573_RX_DESC_SIZE (sizeof (struct rum_rx_desc)) 2214761d2dSdamien 23e3d550ecSdamien #define RT2573_MCU_CNTL 0x01 24b9520dbfSniallo #define RT2573_WRITE_MAC 0x02 25b9520dbfSniallo #define RT2573_READ_MAC 0x03 26b9520dbfSniallo #define RT2573_WRITE_MULTI_MAC 0x06 27b9520dbfSniallo #define RT2573_READ_MULTI_MAC 0x07 28b9520dbfSniallo #define RT2573_READ_EEPROM 0x09 29b9520dbfSniallo #define RT2573_WRITE_LED 0x0a 30b9520dbfSniallo 31b9520dbfSniallo /* 32b9520dbfSniallo * Control and status registers. 33b9520dbfSniallo */ 3410ac2a5fSdamien #define RT2573_AIFSN_CSR 0x0400 3510ac2a5fSdamien #define RT2573_CWMIN_CSR 0x0404 3610ac2a5fSdamien #define RT2573_CWMAX_CSR 0x0408 3714761d2dSdamien #define RT2573_MCU_CODE_BASE 0x0800 38b9520dbfSniallo #define RT2573_HW_BEACON_BASE0 0x2400 397fb394e6Sdamien #define RT2573_HW_BEACON_BASE1 0x2500 407fb394e6Sdamien #define RT2573_HW_BEACON_BASE2 0x2600 417fb394e6Sdamien #define RT2573_HW_BEACON_BASE3 0x2700 42b9520dbfSniallo #define RT2573_MAC_CSR0 0x3000 43b9520dbfSniallo #define RT2573_MAC_CSR1 0x3004 44b9520dbfSniallo #define RT2573_MAC_CSR2 0x3008 45b9520dbfSniallo #define RT2573_MAC_CSR3 0x300c 46b9520dbfSniallo #define RT2573_MAC_CSR4 0x3010 47b9520dbfSniallo #define RT2573_MAC_CSR5 0x3014 48b9520dbfSniallo #define RT2573_MAC_CSR6 0x3018 49b9520dbfSniallo #define RT2573_MAC_CSR7 0x301c 50b9520dbfSniallo #define RT2573_MAC_CSR8 0x3020 51b9520dbfSniallo #define RT2573_MAC_CSR9 0x3024 52b9520dbfSniallo #define RT2573_MAC_CSR10 0x3028 53b9520dbfSniallo #define RT2573_MAC_CSR11 0x302c 54b9520dbfSniallo #define RT2573_MAC_CSR12 0x3030 55b9520dbfSniallo #define RT2573_MAC_CSR13 0x3034 56b9520dbfSniallo #define RT2573_MAC_CSR14 0x3038 57b9520dbfSniallo #define RT2573_MAC_CSR15 0x303c 58b9520dbfSniallo #define RT2573_TXRX_CSR0 0x3040 59b9520dbfSniallo #define RT2573_TXRX_CSR1 0x3044 60b9520dbfSniallo #define RT2573_TXRX_CSR2 0x3048 61b9520dbfSniallo #define RT2573_TXRX_CSR3 0x304c 62b9520dbfSniallo #define RT2573_TXRX_CSR4 0x3050 63b9520dbfSniallo #define RT2573_TXRX_CSR5 0x3054 64b9520dbfSniallo #define RT2573_TXRX_CSR6 0x3058 65b9520dbfSniallo #define RT2573_TXRX_CSR7 0x305c 66b9520dbfSniallo #define RT2573_TXRX_CSR8 0x3060 67b9520dbfSniallo #define RT2573_TXRX_CSR9 0x3064 68b9520dbfSniallo #define RT2573_TXRX_CSR10 0x3068 69b9520dbfSniallo #define RT2573_TXRX_CSR11 0x306c 70b9520dbfSniallo #define RT2573_TXRX_CSR12 0x3070 71b9520dbfSniallo #define RT2573_TXRX_CSR13 0x3074 72b9520dbfSniallo #define RT2573_TXRX_CSR14 0x3078 73b9520dbfSniallo #define RT2573_TXRX_CSR15 0x307c 74b9520dbfSniallo #define RT2573_PHY_CSR0 0x3080 75b9520dbfSniallo #define RT2573_PHY_CSR1 0x3084 76b9520dbfSniallo #define RT2573_PHY_CSR2 0x3088 77b9520dbfSniallo #define RT2573_PHY_CSR3 0x308c 78b9520dbfSniallo #define RT2573_PHY_CSR4 0x3090 79b9520dbfSniallo #define RT2573_PHY_CSR5 0x3094 80b9520dbfSniallo #define RT2573_PHY_CSR6 0x3098 81b9520dbfSniallo #define RT2573_PHY_CSR7 0x309c 82b9520dbfSniallo #define RT2573_SEC_CSR0 0x30a0 83b9520dbfSniallo #define RT2573_SEC_CSR1 0x30a4 84b9520dbfSniallo #define RT2573_SEC_CSR2 0x30a8 85b9520dbfSniallo #define RT2573_SEC_CSR3 0x30ac 86b9520dbfSniallo #define RT2573_SEC_CSR4 0x30b0 87b9520dbfSniallo #define RT2573_SEC_CSR5 0x30b4 88b9520dbfSniallo #define RT2573_STA_CSR0 0x30c0 89b9520dbfSniallo #define RT2573_STA_CSR1 0x30c4 90b9520dbfSniallo #define RT2573_STA_CSR2 0x30c8 91b9520dbfSniallo #define RT2573_STA_CSR3 0x30cc 92b9520dbfSniallo #define RT2573_STA_CSR4 0x30d0 9310ac2a5fSdamien #define RT2573_STA_CSR5 0x30d4 94b9520dbfSniallo 95b9520dbfSniallo 9614761d2dSdamien /* possible flags for register RT2573_MAC_CSR1 */ 9714761d2dSdamien #define RT2573_RESET_ASIC (1 << 0) 9814761d2dSdamien #define RT2573_RESET_BBP (1 << 1) 9914761d2dSdamien #define RT2573_HOST_READY (1 << 2) 100b9520dbfSniallo 101b9520dbfSniallo /* possible flags for register MAC_CSR5 */ 102b9520dbfSniallo #define RT2573_ONE_BSSID 3 103b9520dbfSniallo 104b9520dbfSniallo /* possible flags for register TXRX_CSR0 */ 105b9520dbfSniallo /* Tx filter flags are in the low 16 bits */ 106b9520dbfSniallo #define RT2573_AUTO_TX_SEQ (1 << 15) 107b9520dbfSniallo /* Rx filter flags are in the high 16 bits */ 108b9520dbfSniallo #define RT2573_DISABLE_RX (1 << 16) 109b9520dbfSniallo #define RT2573_DROP_CRC_ERROR (1 << 17) 110b9520dbfSniallo #define RT2573_DROP_PHY_ERROR (1 << 18) 111b9520dbfSniallo #define RT2573_DROP_CTL (1 << 19) 112b9520dbfSniallo #define RT2573_DROP_NOT_TO_ME (1 << 20) 113b9520dbfSniallo #define RT2573_DROP_TODS (1 << 21) 114b9520dbfSniallo #define RT2573_DROP_VER_ERROR (1 << 22) 115b9520dbfSniallo #define RT2573_DROP_MULTICAST (1 << 23) 116b9520dbfSniallo #define RT2573_DROP_BROADCAST (1 << 24) 117b9520dbfSniallo #define RT2573_DROP_ACKCTS (1 << 25) 118b9520dbfSniallo 119b9520dbfSniallo /* possible flags for register TXRX_CSR4 */ 12014761d2dSdamien #define RT2573_SHORT_PREAMBLE (1 << 18) 12114761d2dSdamien #define RT2573_MRR_ENABLED (1 << 19) 12214761d2dSdamien #define RT2573_MRR_CCK_FALLBACK (1 << 22) 123b9520dbfSniallo 124b9520dbfSniallo /* possible flags for register TXRX_CSR9 */ 125b9520dbfSniallo #define RT2573_TSF_TICKING (1 << 16) 126b9520dbfSniallo #define RT2573_TSF_MODE(x) (((x) & 0x3) << 17) 127b9520dbfSniallo /* TBTT stands for Target Beacon Transmission Time */ 128b9520dbfSniallo #define RT2573_ENABLE_TBTT (1 << 19) 129b9520dbfSniallo #define RT2573_GENERATE_BEACON (1 << 20) 130b9520dbfSniallo 131b9520dbfSniallo /* possible flags for register PHY_CSR0 */ 132b9520dbfSniallo #define RT2573_PA_PE_2GHZ (1 << 16) 133b9520dbfSniallo #define RT2573_PA_PE_5GHZ (1 << 17) 134b9520dbfSniallo 135b9520dbfSniallo /* possible flags for register PHY_CSR3 */ 136b9520dbfSniallo #define RT2573_BBP_READ (1 << 15) 137b9520dbfSniallo #define RT2573_BBP_BUSY (1 << 16) 138b9520dbfSniallo /* possible flags for register PHY_CSR4 */ 1397bae1587Sdamien #define RT2573_RF_20BIT (20 << 24) 14061e87b28Sderaadt #define RT2573_RF_BUSY (1U << 31) 141b9520dbfSniallo 142b9520dbfSniallo /* LED values */ 143b9520dbfSniallo #define RT2573_LED_RADIO (1 << 8) 144b9520dbfSniallo #define RT2573_LED_G (1 << 9) 145b9520dbfSniallo #define RT2573_LED_A (1 << 10) 146b9520dbfSniallo #define RT2573_LED_ON 0x1e1e 147b9520dbfSniallo #define RT2573_LED_OFF 0x0 14814761d2dSdamien 14914761d2dSdamien #define RT2573_MCU_RUN (1 << 3) 15014761d2dSdamien 15114761d2dSdamien #define RT2573_SMART_MODE (1 << 0) 15214761d2dSdamien 153b9520dbfSniallo #define RT2573_BBPR94_DEFAULT 6 154ae33bb09Sdamien 15514761d2dSdamien #define RT2573_BBP_WRITE (1 << 15) 15614761d2dSdamien 15714761d2dSdamien /* dual-band RF */ 15814761d2dSdamien #define RT2573_RF_5226 1 15914761d2dSdamien #define RT2573_RF_5225 3 16014761d2dSdamien /* single-band RF */ 16114761d2dSdamien #define RT2573_RF_2528 2 16214761d2dSdamien #define RT2573_RF_2527 4 16314761d2dSdamien 16414761d2dSdamien #define RT2573_BBP_VERSION 0 16514761d2dSdamien 16614761d2dSdamien struct rum_tx_desc { 16714761d2dSdamien uint32_t flags; 16814761d2dSdamien #define RT2573_TX_BURST (1 << 0) 16914761d2dSdamien #define RT2573_TX_VALID (1 << 1) 17014761d2dSdamien #define RT2573_TX_MORE_FRAG (1 << 2) 171bc303e9bSdamien #define RT2573_TX_NEED_ACK (1 << 3) 17214761d2dSdamien #define RT2573_TX_TIMESTAMP (1 << 4) 17314761d2dSdamien #define RT2573_TX_OFDM (1 << 5) 17414761d2dSdamien #define RT2573_TX_IFS_SIFS (1 << 6) 17514761d2dSdamien #define RT2573_TX_LONG_RETRY (1 << 7) 17614761d2dSdamien 17714761d2dSdamien uint16_t wme; 17814761d2dSdamien #define RT2573_QID(v) (v) 17914761d2dSdamien #define RT2573_AIFSN(v) ((v) << 4) 18014761d2dSdamien #define RT2573_LOGCWMIN(v) ((v) << 8) 18114761d2dSdamien #define RT2573_LOGCWMAX(v) ((v) << 12) 18214761d2dSdamien 18314761d2dSdamien uint16_t xflags; 18414761d2dSdamien #define RT2573_TX_HWSEQ (1 << 12) 18514761d2dSdamien 18614761d2dSdamien uint8_t plcp_signal; 18714761d2dSdamien uint8_t plcp_service; 18814761d2dSdamien #define RT2573_PLCP_LENGEXT 0x80 18914761d2dSdamien 19014761d2dSdamien uint8_t plcp_length_lo; 19114761d2dSdamien uint8_t plcp_length_hi; 19214761d2dSdamien 19314761d2dSdamien uint32_t iv; 19414761d2dSdamien uint32_t eiv; 19514761d2dSdamien 19614761d2dSdamien uint8_t offset; 19714761d2dSdamien uint8_t qid; 19814761d2dSdamien uint8_t txpower; 19914761d2dSdamien #define RT2573_DEFAULT_TXPOWER 0 20014761d2dSdamien 20114761d2dSdamien uint8_t reserved; 20214761d2dSdamien } __packed; 20314761d2dSdamien 20414761d2dSdamien struct rum_rx_desc { 20514761d2dSdamien uint32_t flags; 20614761d2dSdamien #define RT2573_RX_BUSY (1 << 0) 20714761d2dSdamien #define RT2573_RX_DROP (1 << 1) 20814761d2dSdamien #define RT2573_RX_CRC_ERROR (1 << 6) 20914761d2dSdamien #define RT2573_RX_OFDM (1 << 7) 21014761d2dSdamien 21114761d2dSdamien uint8_t rate; 21214761d2dSdamien uint8_t rssi; 21314761d2dSdamien uint8_t reserved1; 21414761d2dSdamien uint8_t offset; 21514761d2dSdamien uint32_t iv; 21614761d2dSdamien uint32_t eiv; 21714761d2dSdamien uint32_t reserved2[2]; 21814761d2dSdamien } __packed; 21914761d2dSdamien 22014761d2dSdamien #define RT2573_RF1 0 22114761d2dSdamien #define RT2573_RF2 2 22214761d2dSdamien #define RT2573_RF3 1 22314761d2dSdamien #define RT2573_RF4 3 22414761d2dSdamien 22514761d2dSdamien #define RT2573_EEPROM_MACBBP 0x0000 22614761d2dSdamien #define RT2573_EEPROM_ADDRESS 0x0004 22714761d2dSdamien #define RT2573_EEPROM_ANTENNA 0x0020 22814761d2dSdamien #define RT2573_EEPROM_CONFIG2 0x0022 22914761d2dSdamien #define RT2573_EEPROM_BBP_BASE 0x0026 23014761d2dSdamien #define RT2573_EEPROM_TXPOWER 0x0046 23114761d2dSdamien #define RT2573_EEPROM_FREQ_OFFSET 0x005e 23214761d2dSdamien #define RT2573_EEPROM_RSSI_2GHZ_OFFSET 0x009a 23314761d2dSdamien #define RT2573_EEPROM_RSSI_5GHZ_OFFSET 0x009c 23414761d2dSdamien 235ae33bb09Sdamien /* 236ae33bb09Sdamien * Default values for MAC registers; values taken from the reference driver. 237ae33bb09Sdamien */ 238ae33bb09Sdamien #define RT2573_DEF_MAC \ 239ae33bb09Sdamien { RT2573_TXRX_CSR0, 0x025fb032 }, \ 240ae33bb09Sdamien { RT2573_TXRX_CSR1, 0x9eaa9eaf }, \ 241ae33bb09Sdamien { RT2573_TXRX_CSR2, 0x8a8b8c8d }, \ 242ae33bb09Sdamien { RT2573_TXRX_CSR3, 0x00858687 }, \ 243ae33bb09Sdamien { RT2573_TXRX_CSR7, 0x2e31353b }, \ 244ae33bb09Sdamien { RT2573_TXRX_CSR8, 0x2a2a2a2c }, \ 245ae33bb09Sdamien { RT2573_TXRX_CSR15, 0x0000000f }, \ 246ae33bb09Sdamien { RT2573_MAC_CSR6, 0x00000fff }, \ 247ae33bb09Sdamien { RT2573_MAC_CSR8, 0x016c030a }, \ 248ae33bb09Sdamien { RT2573_MAC_CSR10, 0x00000718 }, \ 249ae33bb09Sdamien { RT2573_MAC_CSR12, 0x00000004 }, \ 250ae33bb09Sdamien { RT2573_MAC_CSR13, 0x00007f00 }, \ 251ae33bb09Sdamien { RT2573_SEC_CSR0, 0x00000000 }, \ 252ae33bb09Sdamien { RT2573_SEC_CSR1, 0x00000000 }, \ 253ae33bb09Sdamien { RT2573_SEC_CSR5, 0x00000000 }, \ 254ae33bb09Sdamien { RT2573_PHY_CSR1, 0x000023b0 }, \ 255ae33bb09Sdamien { RT2573_PHY_CSR5, 0x00040a06 }, \ 256ae33bb09Sdamien { RT2573_PHY_CSR6, 0x00080606 }, \ 257ae33bb09Sdamien { RT2573_PHY_CSR7, 0x00000408 }, \ 258ae33bb09Sdamien { RT2573_AIFSN_CSR, 0x00002273 }, \ 259ae33bb09Sdamien { RT2573_CWMIN_CSR, 0x00002344 }, \ 2607fb394e6Sdamien { RT2573_CWMAX_CSR, 0x000034aa }, \ 2617fb394e6Sdamien { RT2573_HW_BEACON_BASE0, 0x00000000 }, \ 2627fb394e6Sdamien { RT2573_HW_BEACON_BASE1, 0x00000000 }, \ 2637fb394e6Sdamien { RT2573_HW_BEACON_BASE2, 0x00000000 }, \ 2647fb394e6Sdamien { RT2573_HW_BEACON_BASE3, 0x00000000 } 265ae33bb09Sdamien 266ae33bb09Sdamien /* 267ae33bb09Sdamien * Default values for BBP registers; values taken from the reference driver. 268ae33bb09Sdamien */ 269ae33bb09Sdamien #define RT2573_DEF_BBP \ 270ae33bb09Sdamien { 3, 0x80 }, \ 271ae33bb09Sdamien { 15, 0x30 }, \ 272ae33bb09Sdamien { 17, 0x20 }, \ 273ae33bb09Sdamien { 21, 0xc8 }, \ 274ae33bb09Sdamien { 22, 0x38 }, \ 275ae33bb09Sdamien { 23, 0x06 }, \ 276ae33bb09Sdamien { 24, 0xfe }, \ 277ae33bb09Sdamien { 25, 0x0a }, \ 278ae33bb09Sdamien { 26, 0x0d }, \ 279ae33bb09Sdamien { 32, 0x0b }, \ 280ae33bb09Sdamien { 34, 0x12 }, \ 281ae33bb09Sdamien { 37, 0x07 }, \ 282ae33bb09Sdamien { 39, 0xf8 }, \ 283ae33bb09Sdamien { 41, 0x60 }, \ 284ae33bb09Sdamien { 53, 0x10 }, \ 285ae33bb09Sdamien { 54, 0x18 }, \ 286ae33bb09Sdamien { 60, 0x10 }, \ 287ae33bb09Sdamien { 61, 0x04 }, \ 288ae33bb09Sdamien { 62, 0x04 }, \ 289ae33bb09Sdamien { 75, 0xfe }, \ 290ae33bb09Sdamien { 86, 0xfe }, \ 291ae33bb09Sdamien { 88, 0xfe }, \ 292ae33bb09Sdamien { 90, 0x0f }, \ 293ae33bb09Sdamien { 99, 0x00 }, \ 294ae33bb09Sdamien { 102, 0x16 }, \ 295ae33bb09Sdamien { 107, 0x04 } 296ae33bb09Sdamien 297ae33bb09Sdamien /* 29814761d2dSdamien * Default settings for RF registers; values taken from the reference driver. 299ae33bb09Sdamien */ 30014761d2dSdamien #define RT2573_RF5226 \ 30114761d2dSdamien { 1, 0x00b03, 0x001e1, 0x1a014, 0x30282 }, \ 30214761d2dSdamien { 2, 0x00b03, 0x001e1, 0x1a014, 0x30287 }, \ 30314761d2dSdamien { 3, 0x00b03, 0x001e2, 0x1a014, 0x30282 }, \ 30414761d2dSdamien { 4, 0x00b03, 0x001e2, 0x1a014, 0x30287 }, \ 30514761d2dSdamien { 5, 0x00b03, 0x001e3, 0x1a014, 0x30282 }, \ 30614761d2dSdamien { 6, 0x00b03, 0x001e3, 0x1a014, 0x30287 }, \ 30714761d2dSdamien { 7, 0x00b03, 0x001e4, 0x1a014, 0x30282 }, \ 30814761d2dSdamien { 8, 0x00b03, 0x001e4, 0x1a014, 0x30287 }, \ 30914761d2dSdamien { 9, 0x00b03, 0x001e5, 0x1a014, 0x30282 }, \ 31014761d2dSdamien { 10, 0x00b03, 0x001e5, 0x1a014, 0x30287 }, \ 31114761d2dSdamien { 11, 0x00b03, 0x001e6, 0x1a014, 0x30282 }, \ 31214761d2dSdamien { 12, 0x00b03, 0x001e6, 0x1a014, 0x30287 }, \ 31314761d2dSdamien { 13, 0x00b03, 0x001e7, 0x1a014, 0x30282 }, \ 31414761d2dSdamien { 14, 0x00b03, 0x001e8, 0x1a014, 0x30284 }, \ 31514761d2dSdamien \ 31614761d2dSdamien { 34, 0x00b03, 0x20266, 0x36014, 0x30282 }, \ 31714761d2dSdamien { 38, 0x00b03, 0x20267, 0x36014, 0x30284 }, \ 31814761d2dSdamien { 42, 0x00b03, 0x20268, 0x36014, 0x30286 }, \ 31914761d2dSdamien { 46, 0x00b03, 0x20269, 0x36014, 0x30288 }, \ 32014761d2dSdamien \ 32114761d2dSdamien { 36, 0x00b03, 0x00266, 0x26014, 0x30288 }, \ 32214761d2dSdamien { 40, 0x00b03, 0x00268, 0x26014, 0x30280 }, \ 32314761d2dSdamien { 44, 0x00b03, 0x00269, 0x26014, 0x30282 }, \ 32414761d2dSdamien { 48, 0x00b03, 0x0026a, 0x26014, 0x30284 }, \ 32514761d2dSdamien { 52, 0x00b03, 0x0026b, 0x26014, 0x30286 }, \ 32614761d2dSdamien { 56, 0x00b03, 0x0026c, 0x26014, 0x30288 }, \ 32714761d2dSdamien { 60, 0x00b03, 0x0026e, 0x26014, 0x30280 }, \ 32814761d2dSdamien { 64, 0x00b03, 0x0026f, 0x26014, 0x30282 }, \ 32914761d2dSdamien \ 33014761d2dSdamien { 100, 0x00b03, 0x0028a, 0x2e014, 0x30280 }, \ 33114761d2dSdamien { 104, 0x00b03, 0x0028b, 0x2e014, 0x30282 }, \ 33214761d2dSdamien { 108, 0x00b03, 0x0028c, 0x2e014, 0x30284 }, \ 33314761d2dSdamien { 112, 0x00b03, 0x0028d, 0x2e014, 0x30286 }, \ 33414761d2dSdamien { 116, 0x00b03, 0x0028e, 0x2e014, 0x30288 }, \ 33514761d2dSdamien { 120, 0x00b03, 0x002a0, 0x2e014, 0x30280 }, \ 33614761d2dSdamien { 124, 0x00b03, 0x002a1, 0x2e014, 0x30282 }, \ 33714761d2dSdamien { 128, 0x00b03, 0x002a2, 0x2e014, 0x30284 }, \ 33814761d2dSdamien { 132, 0x00b03, 0x002a3, 0x2e014, 0x30286 }, \ 33914761d2dSdamien { 136, 0x00b03, 0x002a4, 0x2e014, 0x30288 }, \ 34014761d2dSdamien { 140, 0x00b03, 0x002a6, 0x2e014, 0x30280 }, \ 34114761d2dSdamien \ 34214761d2dSdamien { 149, 0x00b03, 0x002a8, 0x2e014, 0x30287 }, \ 34314761d2dSdamien { 153, 0x00b03, 0x002a9, 0x2e014, 0x30289 }, \ 34414761d2dSdamien { 157, 0x00b03, 0x002ab, 0x2e014, 0x30281 }, \ 34514761d2dSdamien { 161, 0x00b03, 0x002ac, 0x2e014, 0x30283 }, \ 34614761d2dSdamien { 165, 0x00b03, 0x002ad, 0x2e014, 0x30285 } 347ae33bb09Sdamien 34814761d2dSdamien #define RT2573_RF5225 \ 34914761d2dSdamien { 1, 0x00b33, 0x011e1, 0x1a014, 0x30282 }, \ 35014761d2dSdamien { 2, 0x00b33, 0x011e1, 0x1a014, 0x30287 }, \ 35114761d2dSdamien { 3, 0x00b33, 0x011e2, 0x1a014, 0x30282 }, \ 35214761d2dSdamien { 4, 0x00b33, 0x011e2, 0x1a014, 0x30287 }, \ 35314761d2dSdamien { 5, 0x00b33, 0x011e3, 0x1a014, 0x30282 }, \ 35414761d2dSdamien { 6, 0x00b33, 0x011e3, 0x1a014, 0x30287 }, \ 35514761d2dSdamien { 7, 0x00b33, 0x011e4, 0x1a014, 0x30282 }, \ 35614761d2dSdamien { 8, 0x00b33, 0x011e4, 0x1a014, 0x30287 }, \ 35714761d2dSdamien { 9, 0x00b33, 0x011e5, 0x1a014, 0x30282 }, \ 35814761d2dSdamien { 10, 0x00b33, 0x011e5, 0x1a014, 0x30287 }, \ 35914761d2dSdamien { 11, 0x00b33, 0x011e6, 0x1a014, 0x30282 }, \ 36014761d2dSdamien { 12, 0x00b33, 0x011e6, 0x1a014, 0x30287 }, \ 36114761d2dSdamien { 13, 0x00b33, 0x011e7, 0x1a014, 0x30282 }, \ 36214761d2dSdamien { 14, 0x00b33, 0x011e8, 0x1a014, 0x30284 }, \ 363ae33bb09Sdamien \ 36414761d2dSdamien { 34, 0x00b33, 0x01266, 0x26014, 0x30282 }, \ 36514761d2dSdamien { 38, 0x00b33, 0x01267, 0x26014, 0x30284 }, \ 36614761d2dSdamien { 42, 0x00b33, 0x01268, 0x26014, 0x30286 }, \ 36714761d2dSdamien { 46, 0x00b33, 0x01269, 0x26014, 0x30288 }, \ 368ae33bb09Sdamien \ 36914761d2dSdamien { 36, 0x00b33, 0x01266, 0x26014, 0x30288 }, \ 37014761d2dSdamien { 40, 0x00b33, 0x01268, 0x26014, 0x30280 }, \ 37114761d2dSdamien { 44, 0x00b33, 0x01269, 0x26014, 0x30282 }, \ 37214761d2dSdamien { 48, 0x00b33, 0x0126a, 0x26014, 0x30284 }, \ 37314761d2dSdamien { 52, 0x00b33, 0x0126b, 0x26014, 0x30286 }, \ 37414761d2dSdamien { 56, 0x00b33, 0x0126c, 0x26014, 0x30288 }, \ 37514761d2dSdamien { 60, 0x00b33, 0x0126e, 0x26014, 0x30280 }, \ 37614761d2dSdamien { 64, 0x00b33, 0x0126f, 0x26014, 0x30282 }, \ 377ae33bb09Sdamien \ 37814761d2dSdamien { 100, 0x00b33, 0x0128a, 0x2e014, 0x30280 }, \ 37914761d2dSdamien { 104, 0x00b33, 0x0128b, 0x2e014, 0x30282 }, \ 38014761d2dSdamien { 108, 0x00b33, 0x0128c, 0x2e014, 0x30284 }, \ 38114761d2dSdamien { 112, 0x00b33, 0x0128d, 0x2e014, 0x30286 }, \ 38214761d2dSdamien { 116, 0x00b33, 0x0128e, 0x2e014, 0x30288 }, \ 38314761d2dSdamien { 120, 0x00b33, 0x012a0, 0x2e014, 0x30280 }, \ 38414761d2dSdamien { 124, 0x00b33, 0x012a1, 0x2e014, 0x30282 }, \ 38514761d2dSdamien { 128, 0x00b33, 0x012a2, 0x2e014, 0x30284 }, \ 38614761d2dSdamien { 132, 0x00b33, 0x012a3, 0x2e014, 0x30286 }, \ 38714761d2dSdamien { 136, 0x00b33, 0x012a4, 0x2e014, 0x30288 }, \ 38814761d2dSdamien { 140, 0x00b33, 0x012a6, 0x2e014, 0x30280 }, \ 38914761d2dSdamien \ 39014761d2dSdamien { 149, 0x00b33, 0x012a8, 0x2e014, 0x30287 }, \ 39114761d2dSdamien { 153, 0x00b33, 0x012a9, 0x2e014, 0x30289 }, \ 39214761d2dSdamien { 157, 0x00b33, 0x012ab, 0x2e014, 0x30281 }, \ 39314761d2dSdamien { 161, 0x00b33, 0x012ac, 0x2e014, 0x30283 }, \ 39414761d2dSdamien { 165, 0x00b33, 0x012ad, 0x2e014, 0x30285 } 395