1 /* $NetBSD: if_rgereg.h,v 1.4 2020/05/30 22:27:55 sevan Exp $ */ 2 /* $OpenBSD: if_rgereg.h,v 1.1 2019/11/18 03:03:37 kevlo Exp $ */ 3 4 /* 5 * Copyright (c) 2019 Kevin Lo <kevlo@openbsd.org> 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 RGE_PCI_BAR0 PCI_MAPREG_START 21 #define RGE_PCI_BAR1 (PCI_MAPREG_START + 4) 22 #define RGE_PCI_BAR2 (PCI_MAPREG_START + 8) 23 24 #define RGE_MAC0 0x0000 25 #define RGE_MAC4 0x0004 26 #define RGE_MAR0 0x0008 27 #define RGE_MAR4 0x000c 28 #define RGE_TXDESC_ADDR_LO 0x0020 29 #define RGE_TXDESC_ADDR_HI 0x0024 30 #define RGE_CMD 0x0037 31 #define RGE_IMR 0x0038 32 #define RGE_ISR 0x003c 33 #define RGE_TXCFG 0x0040 34 #define RGE_RXCFG 0x0044 35 #define RGE_TIMERCNT 0x0048 36 #define RGE_EECMD 0x0050 37 #define RGE_CFG0 0x0051 38 #define RGE_CFG1 0x0052 39 #define RGE_CFG2 0x0053 40 #define RGE_CFG3 0x0054 41 #define RGE_CFG4 0x0055 42 #define RGE_CFG5 0x0056 43 #define RGE_TDFNR 0x0057 44 #define RGE_TIMERINT 0x0058 45 #define RGE_CSIDR 0x0064 46 #define RGE_CSIAR 0x0068 47 #define RGE_PHYSTAT 0x006c 48 #define RGE_PMCH 0x006f 49 #define RGE_EPHYAR 0x0080 50 #define RGE_TXSTART 0x0090 51 #define RGE_MACOCP 0x00b0 52 #define RGE_PHYOCP 0x00b8 53 #define RGE_TWICMD 0x00d2 54 #define RGE_MCUCMD 0x00d3 55 #define RGE_RXMAXSIZE 0x00da 56 #define RGE_CPLUSCMD 0x00e0 57 #define RGE_RXDESC_ADDR_LO 0x00e4 58 #define RGE_RXDESC_ADDR_HI 0x00e8 59 #define RGE_PPSW 0x00f2 60 #define RGE_IM(i) (0x0a00 + (i) * 4) 61 #define RGE_PHYBASE 0x0a40 62 #define RGE_ADDR0 0x19e0 63 #define RGE_ADDR1 0x19e4 64 65 /* Flags for register RGE_CMD */ 66 #define RGE_CMD_RXBUF_EMPTY 0x01 67 #define RGE_CMD_TXENB 0x04 68 #define RGE_CMD_RXENB 0x08 69 #define RGE_CMD_RESET 0x10 70 71 /* Flags for register RGE_ISR */ 72 #define RGE_ISR_RX_OK 0x00000001 73 #define RGE_ISR_RX_ERR 0x00000002 74 #define RGE_ISR_TX_OK 0x00000004 75 #define RGE_ISR_TX_ERR 0x00000008 76 #define RGE_ISR_RX_DESC_UNAVAIL 0x00000010 77 #define RGE_ISR_LINKCHG 0x00000020 78 #define RGE_ISR_RX_FIFO_OFLOW 0x00000040 79 #define RGE_ISR_TX_DESC_UNAVAIL 0x00000080 80 #define RGE_ISR_SWI 0x00000100 81 #define RGE_ISR_PCS_TIMEOUT 0x00004000 82 #define RGE_ISR_SYSTEM_ERR 0x00008000 83 84 #define RGE_INTRS \ 85 (RGE_ISR_RX_OK | RGE_ISR_RX_ERR | RGE_ISR_TX_OK | \ 86 RGE_ISR_TX_ERR | RGE_ISR_RX_DESC_UNAVAIL | \ 87 RGE_ISR_RX_FIFO_OFLOW | RGE_ISR_SYSTEM_ERR) 88 89 #define RGE_INTRS_TIMER \ 90 (RGE_ISR_RX_ERR | RGE_ISR_TX_ERR | RGE_ISR_PCS_TIMEOUT | \ 91 RGE_ISR_SYSTEM_ERR) 92 93 /* Flags for register RGE_TXCFG */ 94 #define RGE_TXCFG_HWREV 0x7cf00000 95 96 /* Flags for register RGE_RXCFG */ 97 #define RGE_RXCFG_ALLPHYS 0x00000001 98 #define RGE_RXCFG_INDIV 0x00000002 99 #define RGE_RXCFG_MULTI 0x00000004 100 #define RGE_RXCFG_BROAD 0x00000008 101 #define RGE_RXCFG_RUNT 0x00000010 102 #define RGE_RXCFG_ERRPKT 0x00000020 103 #define RGE_RXCFG_VLANSTRIP 0x00c00000 104 105 /* Flags for register RGE_EECMD */ 106 #define RGE_EECMD_WRITECFG 0xc0 107 108 /* Flags for register RGE_CFG1 */ 109 #define RGE_CFG1_SPEED_DOWN 0x10 110 111 /* Flags for register RGE_CFG2 */ 112 #define RGE_CFG2_CLKREQ_EN 0x80 113 114 /* Flags for register RGE_CFG3 */ 115 #define RGE_CFG3_RDY_TO_L23 0x02 116 117 /* Flags for register RGE_CFG5 */ 118 #define RGE_CFG5_PME_STS 0x01 119 120 /* Flags for register RGE_CSIAR */ 121 #define RGE_CSIAR_BYTE_EN 0x0000000f 122 #define RGE_CSIAR_BYTE_EN_SHIFT 12 123 #define RGE_CSIAR_ADDR_MASK 0x00000fff 124 #define RGE_CSIAR_BUSY 0x80000000 125 126 /* Flags for register RGE_PHYSTAT */ 127 #define RGE_PHYSTAT_FDX 0x0001 128 #define RGE_PHYSTAT_LINK 0x0002 129 #define RGE_PHYSTAT_10MBPS 0x0004 130 #define RGE_PHYSTAT_100MBPS 0x0008 131 #define RGE_PHYSTAT_1000MBPS 0x0010 132 #define RGE_PHYSTAT_RXFLOW 0x0020 133 #define RGE_PHYSTAT_TXFLOW 0x0040 134 #define RGE_PHYSTAT_2500MBPS 0x0400 135 136 /* Flags for register RGE_EPHYAR */ 137 #define RGE_EPHYAR_DATA_MASK 0x0000ffff 138 #define RGE_EPHYAR_BUSY 0x80000000 139 #define RGE_EPHYAR_ADDR_MASK 0x0000007f 140 #define RGE_EPHYAR_ADDR_SHIFT 16 141 142 /* Flags for register RGE_TXSTART */ 143 #define RGE_TXSTART_START 0x0001 144 145 /* Flags for register RGE_MACOCP */ 146 #define RGE_MACOCP_DATA_MASK 0x0000ffff 147 #define RGE_MACOCP_BUSY 0x80000000 148 #define RGE_MACOCP_ADDR_SHIFT 16 149 150 /* Flags for register RGE_PHYOCP */ 151 #define RGE_PHYOCP_DATA_MASK 0x0000ffff 152 #define RGE_PHYOCP_BUSY 0x80000000 153 #define RGE_PHYOCP_ADDR_SHIFT 16 154 155 /* Flags for register RGE_MCUCMD */ 156 #define RGE_MCUCMD_RXFIFO_EMPTY 0x10 157 #define RGE_MCUCMD_TXFIFO_EMPTY 0x20 158 #define RGE_MCUCMD_IS_OOB 0x80 159 160 /* Flags for register RGE_CPLUSCMD */ 161 #define RGE_CPLUSCMD_RXCSUM 0x0020 162 163 #define RGE_TX_NSEGS 32 164 #define RGE_TX_LIST_CNT 1024 165 #define RGE_RX_LIST_CNT 1024 166 #define RGE_ALIGN 256 167 #define RGE_TX_LIST_SZ (sizeof(struct rge_tx_desc) * RGE_TX_LIST_CNT) 168 #define RGE_RX_LIST_SZ (sizeof(struct rge_rx_desc) * RGE_RX_LIST_CNT) 169 #define RGE_NEXT_TX_DESC(x) (((x) + 1) % RGE_TX_LIST_CNT) 170 #define RGE_NEXT_RX_DESC(x) (((x) + 1) % RGE_RX_LIST_CNT) 171 #define RGE_ADDR_LO(y) ((uint64_t) (y) & 0xffffffff) 172 #define RGE_ADDR_HI(y) ((uint64_t) (y) >> 32) 173 #define RGE_OWN(x) (letoh32((x)->rge_cmdsts) & RGE_RDCMDSTS_OWN) 174 #define RGE_RXBYTES(x) (letoh32((x)->rge_cmdsts) & \ 175 RGE_RDCMDSTS_FRAGLEN) 176 177 #define RGE_ADV_2500TFDX 0x0080 178 179 /* Tx descriptor */ 180 struct rge_tx_desc { 181 uint32_t rge_cmdsts; 182 uint32_t rge_extsts; 183 uint32_t rge_addrlo; 184 uint32_t rge_addrhi; 185 uint32_t reserved[4]; 186 }; 187 188 #define RGE_TDCMDSTS_COLL 0x000f0000 189 #define RGE_TDCMDSTS_EXCESSCOLL 0x00100000 190 #define RGE_TDCMDSTS_TXERR 0x00800000 191 #define RGE_TDCMDSTS_EOF 0x10000000 192 #define RGE_TDCMDSTS_SOF 0x20000000 193 #define RGE_TDCMDSTS_EOR 0x40000000 194 #define RGE_TDCMDSTS_OWN 0x80000000 195 196 #define RGE_TDEXTSTS_VTAG 0x00020000 197 #define RGE_TDEXTSTS_IPCSUM 0x20000000 198 #define RGE_TDEXTSTS_TCPCSUM 0x40000000 199 #define RGE_TDEXTSTS_UDPCSUM 0x80000000 200 201 /* Rx descriptor */ 202 struct rge_rx_desc { 203 uint32_t rge_cmdsts; 204 uint32_t rge_extsts; 205 uint32_t rge_addrlo; 206 uint32_t rge_addrhi; 207 }; 208 209 #define RGE_RDCMDSTS_TCPCSUMERR 0x00004000 210 #define RGE_RDCMDSTS_UDPCSUMERR 0x00008000 211 #define RGE_RDCMDSTS_IPCSUMERR 0x00010000 212 #define RGE_RDCMDSTS_TCPPKT 0x00020000 213 #define RGE_RDCMDSTS_UDPPKT 0x00040000 214 #define RGE_RDCMDSTS_RXERRSUM 0x00200000 215 #define RGE_RDCMDSTS_EOF 0x10000000 216 #define RGE_RDCMDSTS_SOF 0x20000000 217 #define RGE_RDCMDSTS_EOR 0x40000000 218 #define RGE_RDCMDSTS_OWN 0x80000000 219 #define RGE_RDCMDSTS_FRAGLEN 0x00003fff 220 221 #define RGE_RDEXTSTS_VTAG 0x00010000 222 #define RGE_RDEXTSTS_VLAN_MASK 0x0000ffff 223 #define RGE_RDEXTSTS_IPV4 0x40000000 224 #define RGE_RDEXTSTS_IPV6 0x80000000 225 226 struct rge_txq { 227 struct mbuf *txq_mbuf; 228 bus_dmamap_t txq_dmamap; 229 int txq_descidx; 230 }; 231 232 struct rge_rxq { 233 struct mbuf *rxq_mbuf; 234 bus_dmamap_t rxq_dmamap; 235 }; 236 237 struct rge_list_data { 238 struct rge_txq rge_txq[RGE_TX_LIST_CNT]; 239 int rge_txq_prodidx; 240 int rge_txq_considx; 241 struct rge_rxq rge_rxq[RGE_RX_LIST_CNT]; 242 int rge_rxq_prodidx; 243 244 bus_dma_segment_t rge_tx_listseg; 245 int rge_tx_listnseg; 246 bus_dmamap_t rge_tx_list_map; 247 struct rge_tx_desc *rge_tx_list; 248 bus_dma_segment_t rge_rx_listseg; 249 int rge_rx_listnseg; 250 bus_dmamap_t rge_rx_list_map; 251 struct rge_rx_desc *rge_rx_list; 252 }; 253 254 /* Microcode version */ 255 #define RGE_MAC_CFG2_MCODE_VER 0x0b11 256 #define RGE_MAC_CFG3_MCODE_VER 0x0b33 257 258 enum rge_mac_type { 259 MAC_CFG_UNKNOWN = 1, 260 MAC_CFG2, 261 MAC_CFG3 262 }; 263 264 #define RGE_TIMEOUT 100 265 266 #define RGE_JUMBO_FRAMELEN 9216 267 #define RGE_JUMBO_MTU \ 268 (RGE_JUMBO_FRAMELEN - ETHER_HDR_LEN - ETHER_CRC_LEN - \ 269 ETHER_VLAN_ENCAP_LEN) 270 271 #define RGE_TXCFG_CONFIG 0x03000700 272 #define RGE_RXCFG_CONFIG 0x40c00700 273 274 struct rge_softc { 275 device_t sc_dev; 276 struct ethercom sc_ec; /* Ethernet common data */ 277 void *sc_ih; /* interrupt vectoring */ 278 bus_space_handle_t rge_bhandle; /* bus space handle */ 279 bus_space_tag_t rge_btag; /* bus space tag */ 280 bus_size_t rge_bsize; 281 bus_dma_tag_t sc_dmat; 282 pci_chipset_tag_t sc_pc; 283 pcitag_t sc_tag; 284 bus_dma_segment_t sc_rx_seg; 285 bus_dmamap_t sc_rx_dmamap; 286 uint8_t sc_enaddr[ETHER_ADDR_LEN]; 287 struct ifmedia sc_media; /* media info */ 288 enum rge_mac_type rge_type; 289 struct mbuf *rge_head; 290 struct mbuf *rge_tail; 291 292 struct rge_list_data rge_ldata; 293 294 struct work sc_task; 295 296 callout_t sc_timeout; /* tick timeout */ 297 298 uint32_t rge_flags; 299 #define RGE_FLAG_MSI 0x00000001 300 301 uint32_t rge_intrs; 302 uint32_t rge_tx_ack; 303 uint32_t rge_rx_ack; 304 int rge_timerintr; 305 306 #define RGE_IMTYPE_NONE 0 307 #define RGE_IMTYPE_SIM 1 308 }; 309 310 /* 311 * Register space access macros. 312 */ 313 #define RGE_WRITE_RAW_4(sc, reg, val) \ 314 bus_space_write_raw_region_4(sc->rge_btag, sc->rge_bhandle, reg, val, 4) 315 #define RGE_WRITE_4(sc, reg, val) \ 316 bus_space_write_4(sc->rge_btag, sc->rge_bhandle, reg, val) 317 #define RGE_WRITE_2(sc, reg, val) \ 318 bus_space_write_2(sc->rge_btag, sc->rge_bhandle, reg, val) 319 #define RGE_WRITE_1(sc, reg, val) \ 320 bus_space_write_1(sc->rge_btag, sc->rge_bhandle, reg, val) 321 322 #define RGE_READ_4(sc, reg) \ 323 bus_space_read_4(sc->rge_btag, sc->rge_bhandle, reg) 324 #define RGE_READ_2(sc, reg) \ 325 bus_space_read_2(sc->rge_btag, sc->rge_bhandle, reg) 326 #define RGE_READ_1(sc, reg) \ 327 bus_space_read_1(sc->rge_btag, sc->rge_bhandle, reg) 328 329 #define RGE_SETBIT_4(sc, reg, val) \ 330 RGE_WRITE_4(sc, reg, RGE_READ_4(sc, reg) | (val)) 331 #define RGE_SETBIT_2(sc, reg, val) \ 332 RGE_WRITE_2(sc, reg, RGE_READ_2(sc, reg) | (val)) 333 #define RGE_SETBIT_1(sc, reg, val) \ 334 RGE_WRITE_1(sc, reg, RGE_READ_1(sc, reg) | (val)) 335 336 #define RGE_CLRBIT_4(sc, reg, val) \ 337 RGE_WRITE_4(sc, reg, RGE_READ_4(sc, reg) & ~(val)) 338 #define RGE_CLRBIT_2(sc, reg, val) \ 339 RGE_WRITE_2(sc, reg, RGE_READ_2(sc, reg) & ~(val)) 340 #define RGE_CLRBIT_1(sc, reg, val) \ 341 RGE_WRITE_1(sc, reg, RGE_READ_1(sc, reg) & ~(val)) 342 343 #define RGE_PHY_SETBIT(sc, reg, val) \ 344 rge_write_phy_ocp(sc, reg, rge_read_phy_ocp(sc, reg) | (val)) 345 346 #define RGE_PHY_CLRBIT(sc, reg, val) \ 347 rge_write_phy_ocp(sc, reg, rge_read_phy_ocp(sc, reg) & ~(val)) 348 349 #define RGE_MAC_SETBIT(sc, reg, val) \ 350 rge_write_mac_ocp(sc, reg, rge_read_mac_ocp(sc, reg) | (val)) 351 352 #define RGE_MAC_CLRBIT(sc, reg, val) \ 353 rge_write_mac_ocp(sc, reg, rge_read_mac_ocp(sc, reg) & ~(val)) 354 355 #define RTL8125_DEF_BPS \ 356 { 0xf800, 0xe008 }, \ 357 { 0xf802, 0xe01e }, \ 358 { 0xf804, 0xe02e }, \ 359 { 0xf806, 0xe054 }, \ 360 { 0xf808, 0xe057 }, \ 361 { 0xf80a, 0xe059 }, \ 362 { 0xf80c, 0xe05b }, \ 363 { 0xf80e, 0xe05d }, \ 364 { 0xf810, 0x9996 }, \ 365 { 0xf812, 0x49d1 }, \ 366 { 0xf814, 0xf005 }, \ 367 { 0xf816, 0x49d4 }, \ 368 { 0xf818, 0xf10a }, \ 369 { 0xf81a, 0x49d8 }, \ 370 { 0xf81c, 0xf108 }, \ 371 { 0xf81e, 0xc00f }, \ 372 { 0xf820, 0x7100 }, \ 373 { 0xf822, 0x209c }, \ 374 { 0xf824, 0x249c }, \ 375 { 0xf826, 0xc009 }, \ 376 { 0xf828, 0x9900 }, \ 377 { 0xf82a, 0xe004 }, \ 378 { 0xf82c, 0xc006 }, \ 379 { 0xf82e, 0x1900 }, \ 380 { 0xf830, 0x9900 }, \ 381 { 0xf832, 0xc602 }, \ 382 { 0xf834, 0xbe00 }, \ 383 { 0xf836, 0x5a48 }, \ 384 { 0xf838, 0xe0c2 }, \ 385 { 0xf83a, 0x0004 }, \ 386 { 0xf83c, 0xe10a }, \ 387 { 0xf83e, 0xc60f }, \ 388 { 0xf840, 0x73c4 }, \ 389 { 0xf842, 0x49b3 }, \ 390 { 0xf844, 0xf106 }, \ 391 { 0xf846, 0x73c2 }, \ 392 { 0xf848, 0xc608 }, \ 393 { 0xf84a, 0xb406 }, \ 394 { 0xf84c, 0xc609 }, \ 395 { 0xf84e, 0xff80 }, \ 396 { 0xf850, 0xc605 }, \ 397 { 0xf852, 0xb406 }, \ 398 { 0xf854, 0xc605 }, \ 399 { 0xf856, 0xff80 }, \ 400 { 0xf858, 0x0544 }, \ 401 { 0xf85a, 0x0568 }, \ 402 { 0xf85c, 0xe906 }, \ 403 { 0xf85e, 0xcde8 }, \ 404 { 0xf860, 0xc724 }, \ 405 { 0xf862, 0xc624 }, \ 406 { 0xf864, 0x9ee2 }, \ 407 { 0xf866, 0x1e01 }, \ 408 { 0xf868, 0x9ee0 }, \ 409 { 0xf86a, 0x76e0 }, \ 410 { 0xf86c, 0x49e0 }, \ 411 { 0xf86e, 0xf1fe }, \ 412 { 0xf870, 0x76e6 }, \ 413 { 0xf872, 0x486d }, \ 414 { 0xf874, 0x4868 }, \ 415 { 0xf876, 0x9ee4 }, \ 416 { 0xf878, 0x1e03 }, \ 417 { 0xf87a, 0x9ee0 }, \ 418 { 0xf87c, 0x76e0 }, \ 419 { 0xf87e, 0x49e0 }, \ 420 { 0xf880, 0xf1fe }, \ 421 { 0xf882, 0xc615 }, \ 422 { 0xf884, 0x9ee2 }, \ 423 { 0xf886, 0x1e01 }, \ 424 { 0xf888, 0x9ee0 }, \ 425 { 0xf88a, 0x76e0 }, \ 426 { 0xf88c, 0x49e0 }, \ 427 { 0xf88e, 0xf1fe }, \ 428 { 0xf890, 0x76e6 }, \ 429 { 0xf892, 0x486f }, \ 430 { 0xf894, 0x9ee4 }, \ 431 { 0xf896, 0x1e03 }, \ 432 { 0xf898, 0x9ee0 }, \ 433 { 0xf89a, 0x76e0 }, \ 434 { 0xf89c, 0x49e0 }, \ 435 { 0xf89e, 0xf1fe }, \ 436 { 0xf8a0, 0x7196 }, \ 437 { 0xf8a2, 0xc702 }, \ 438 { 0xf8a4, 0xbf00 }, \ 439 { 0xf8a6, 0x5a44 }, \ 440 { 0xf8a8, 0xeb0e }, \ 441 { 0xf8aa, 0x0070 }, \ 442 { 0xf8ac, 0x00c3 }, \ 443 { 0xf8ae, 0x1bc0 }, \ 444 { 0xf8b0, 0xc602 }, \ 445 { 0xf8b2, 0xbe00 }, \ 446 { 0xf8b4, 0x0e26 }, \ 447 { 0xf8b6, 0xc602 }, \ 448 { 0xf8b8, 0xbe00 }, \ 449 { 0xf8ba, 0x0eba }, \ 450 { 0xf8bc, 0xc602 }, \ 451 { 0xf8be, 0xbe00 }, \ 452 { 0xf8c0, 0x0000 }, \ 453 { 0xf8c2, 0xc602 }, \ 454 { 0xf8c4, 0xbe00 }, \ 455 { 0xf8c6, 0x0000 }, \ 456 { 0xf8c8, 0xc602 }, \ 457 { 0xf8ca, 0xbe00 }, \ 458 { 0xf8cc, 0x0000 }, \ 459 { 0xfc26, 0x8000 }, \ 460 { 0xfc2a, 0x0540 }, \ 461 { 0xfc2e, 0x0e24 }, \ 462 { 0xfc30, 0x0eb8 }, \ 463 { 0xfc48, 0x001a } 464 465 #define RTL8125_MAC_CFG2_EPHY \ 466 { 0x0001, 0xa812 }, \ 467 { 0x0009, 0x520c }, \ 468 { 0x0004, 0xd000 }, \ 469 { 0x000d, 0xf702 }, \ 470 { 0x000a, 0x8653 }, \ 471 { 0x0006, 0x001e }, \ 472 { 0x0008, 0x3595 }, \ 473 { 0x0020, 0x9455 }, \ 474 { 0x0021, 0x99ff }, \ 475 { 0x0002, 0x6046 }, \ 476 { 0x0029, 0xfe00 }, \ 477 { 0x0023, 0xab62 }, \ 478 { 0x0041, 0xa80c }, \ 479 { 0x0049, 0x520c }, \ 480 { 0x0044, 0xd000 }, \ 481 { 0x004d, 0xf702 }, \ 482 { 0x004a, 0x8653 }, \ 483 { 0x0046, 0x001e }, \ 484 { 0x0048, 0x3595 }, \ 485 { 0x0060, 0x9455 }, \ 486 { 0x0061, 0x99ff }, \ 487 { 0x0042, 0x6046 }, \ 488 { 0x0069, 0xfe00 }, \ 489 { 0x0063, 0xab62 } 490 491 #define RTL8125_MAC_CFG3_EPHY \ 492 { 0x0004, 0xd000 }, \ 493 { 0x000a, 0x8653 }, \ 494 { 0x0023, 0xab66 }, \ 495 { 0x0020, 0x9455 }, \ 496 { 0x0021, 0x99ff }, \ 497 { 0x0029, 0xfe04 }, \ 498 { 0x0044, 0xd000 }, \ 499 { 0x004a, 0x8653 }, \ 500 { 0x0063, 0xab66 }, \ 501 { 0x0060, 0x9455 }, \ 502 { 0x0061, 0x99ff }, \ 503 { 0x0069, 0xfe04 } 504 505 #define RTL8125_MAC_CFG2_MCU \ 506 { 0xa436, 0xa016 }, \ 507 { 0xa438, 0x0000 }, \ 508 { 0xa436, 0xa012 }, \ 509 { 0xa438, 0x0000 }, \ 510 { 0xa436, 0xa014 }, \ 511 { 0xa438, 0x1800 }, \ 512 { 0xa438, 0x8010 }, \ 513 { 0xa438, 0x1800 }, \ 514 { 0xa438, 0x8013 }, \ 515 { 0xa438, 0x1800 }, \ 516 { 0xa438, 0x8021 }, \ 517 { 0xa438, 0x1800 }, \ 518 { 0xa438, 0x802f }, \ 519 { 0xa438, 0x1800 }, \ 520 { 0xa438, 0x803d }, \ 521 { 0xa438, 0x1800 }, \ 522 { 0xa438, 0x8042 }, \ 523 { 0xa438, 0x1800 }, \ 524 { 0xa438, 0x8051 }, \ 525 { 0xa438, 0x1800 }, \ 526 { 0xa438, 0x8051 }, \ 527 { 0xa438, 0xa088 }, \ 528 { 0xa438, 0x1800 }, \ 529 { 0xa438, 0x0a50 }, \ 530 { 0xa438, 0x8008 }, \ 531 { 0xa438, 0xd014 }, \ 532 { 0xa438, 0xd1a3 }, \ 533 { 0xa438, 0xd700 }, \ 534 { 0xa438, 0x401a }, \ 535 { 0xa438, 0xd707 }, \ 536 { 0xa438, 0x40c2 }, \ 537 { 0xa438, 0x60a6 }, \ 538 { 0xa438, 0xd700 }, \ 539 { 0xa438, 0x5f8b }, \ 540 { 0xa438, 0x1800 }, \ 541 { 0xa438, 0x0a86 }, \ 542 { 0xa438, 0x1800 }, \ 543 { 0xa438, 0x0a6c }, \ 544 { 0xa438, 0x8080 }, \ 545 { 0xa438, 0xd019 }, \ 546 { 0xa438, 0xd1a2 }, \ 547 { 0xa438, 0xd700 }, \ 548 { 0xa438, 0x401a }, \ 549 { 0xa438, 0xd707 }, \ 550 { 0xa438, 0x40c4 }, \ 551 { 0xa438, 0x60a6 }, \ 552 { 0xa438, 0xd700 }, \ 553 { 0xa438, 0x5f8b }, \ 554 { 0xa438, 0x1800 }, \ 555 { 0xa438, 0x0a86 }, \ 556 { 0xa438, 0x1800 }, \ 557 { 0xa438, 0x0a84 }, \ 558 { 0xa438, 0xd503 }, \ 559 { 0xa438, 0x8970 }, \ 560 { 0xa438, 0x0c07 }, \ 561 { 0xa438, 0x0901 }, \ 562 { 0xa438, 0xd500 }, \ 563 { 0xa438, 0xce01 }, \ 564 { 0xa438, 0xcf09 }, \ 565 { 0xa438, 0xd705 }, \ 566 { 0xa438, 0x4000 }, \ 567 { 0xa438, 0xceff }, \ 568 { 0xa438, 0xaf0a }, \ 569 { 0xa438, 0xd504 }, \ 570 { 0xa438, 0x1800 }, \ 571 { 0xa438, 0x1213 }, \ 572 { 0xa438, 0x8401 }, \ 573 { 0xa438, 0xd500 }, \ 574 { 0xa438, 0x8580 }, \ 575 { 0xa438, 0x1800 }, \ 576 { 0xa438, 0x1253 }, \ 577 { 0xa438, 0xd064 }, \ 578 { 0xa438, 0xd181 }, \ 579 { 0xa438, 0xd704 }, \ 580 { 0xa438, 0x4018 }, \ 581 { 0xa438, 0xd504 }, \ 582 { 0xa438, 0xc50f }, \ 583 { 0xa438, 0xd706 }, \ 584 { 0xa438, 0x2c59 }, \ 585 { 0xa438, 0x804d }, \ 586 { 0xa438, 0xc60f }, \ 587 { 0xa438, 0xf002 }, \ 588 { 0xa438, 0xc605 }, \ 589 { 0xa438, 0xae02 }, \ 590 { 0xa438, 0x1800 }, \ 591 { 0xa438, 0x10fd }, \ 592 { 0xa436, 0xa026 }, \ 593 { 0xa438, 0xffff }, \ 594 { 0xa436, 0xa024 }, \ 595 { 0xa438, 0xffff }, \ 596 { 0xa436, 0xa022 }, \ 597 { 0xa438, 0x10f4 }, \ 598 { 0xa436, 0xa020 }, \ 599 { 0xa438, 0x1252 }, \ 600 { 0xa436, 0xa006 }, \ 601 { 0xa438, 0x1206 }, \ 602 { 0xa436, 0xa004 }, \ 603 { 0xa438, 0x0a78 }, \ 604 { 0xa436, 0xa002 }, \ 605 { 0xa438, 0x0a60 }, \ 606 { 0xa436, 0xa000 }, \ 607 { 0xa438, 0x0a4f }, \ 608 { 0xa436, 0xa008 }, \ 609 { 0xa438, 0x3f00 }, \ 610 { 0xa436, 0xa016 }, \ 611 { 0xa438, 0x0010 }, \ 612 { 0xa436, 0xa012 }, \ 613 { 0xa438, 0x0000 }, \ 614 { 0xa436, 0xa014 }, \ 615 { 0xa438, 0x1800 }, \ 616 { 0xa438, 0x8010 }, \ 617 { 0xa438, 0x1800 }, \ 618 { 0xa438, 0x8066 }, \ 619 { 0xa438, 0x1800 }, \ 620 { 0xa438, 0x807c }, \ 621 { 0xa438, 0x1800 }, \ 622 { 0xa438, 0x8089 }, \ 623 { 0xa438, 0x1800 }, \ 624 { 0xa438, 0x808e }, \ 625 { 0xa438, 0x1800 }, \ 626 { 0xa438, 0x80a0 }, \ 627 { 0xa438, 0x1800 }, \ 628 { 0xa438, 0x80b2 }, \ 629 { 0xa438, 0x1800 }, \ 630 { 0xa438, 0x80c2 }, \ 631 { 0xa438, 0xd501 }, \ 632 { 0xa438, 0xce01 }, \ 633 { 0xa438, 0xd700 }, \ 634 { 0xa438, 0x62db }, \ 635 { 0xa438, 0x655c }, \ 636 { 0xa438, 0xd73e }, \ 637 { 0xa438, 0x60e9 }, \ 638 { 0xa438, 0x614a }, \ 639 { 0xa438, 0x61ab }, \ 640 { 0xa438, 0x0c0f }, \ 641 { 0xa438, 0x0501 }, \ 642 { 0xa438, 0x1800 }, \ 643 { 0xa438, 0x0304 }, \ 644 { 0xa438, 0x0c0f }, \ 645 { 0xa438, 0x0503 }, \ 646 { 0xa438, 0x1800 }, \ 647 { 0xa438, 0x0304 }, \ 648 { 0xa438, 0x0c0f }, \ 649 { 0xa438, 0x0505 }, \ 650 { 0xa438, 0x1800 }, \ 651 { 0xa438, 0x0304 }, \ 652 { 0xa438, 0x0c0f }, \ 653 { 0xa438, 0x0509 }, \ 654 { 0xa438, 0x1800 }, \ 655 { 0xa438, 0x0304 }, \ 656 { 0xa438, 0x653c }, \ 657 { 0xa438, 0xd73e }, \ 658 { 0xa438, 0x60e9 }, \ 659 { 0xa438, 0x614a }, \ 660 { 0xa438, 0x61ab }, \ 661 { 0xa438, 0x0c0f }, \ 662 { 0xa438, 0x0503 }, \ 663 { 0xa438, 0x1800 }, \ 664 { 0xa438, 0x0304 }, \ 665 { 0xa438, 0x0c0f }, \ 666 { 0xa438, 0x0502 }, \ 667 { 0xa438, 0x1800 }, \ 668 { 0xa438, 0x0304 }, \ 669 { 0xa438, 0x0c0f }, \ 670 { 0xa438, 0x0506 }, \ 671 { 0xa438, 0x1800 }, \ 672 { 0xa438, 0x0304 }, \ 673 { 0xa438, 0x0c0f }, \ 674 { 0xa438, 0x050a }, \ 675 { 0xa438, 0x1800 }, \ 676 { 0xa438, 0x0304 }, \ 677 { 0xa438, 0xd73e }, \ 678 { 0xa438, 0x60e9 }, \ 679 { 0xa438, 0x614a }, \ 680 { 0xa438, 0x61ab }, \ 681 { 0xa438, 0x0c0f }, \ 682 { 0xa438, 0x0505 }, \ 683 { 0xa438, 0x1800 }, \ 684 { 0xa438, 0x0304 }, \ 685 { 0xa438, 0x0c0f }, \ 686 { 0xa438, 0x0506 }, \ 687 { 0xa438, 0x1800 }, \ 688 { 0xa438, 0x0304 }, \ 689 { 0xa438, 0x0c0f }, \ 690 { 0xa438, 0x0504 }, \ 691 { 0xa438, 0x1800 }, \ 692 { 0xa438, 0x0304 }, \ 693 { 0xa438, 0x0c0f }, \ 694 { 0xa438, 0x050c }, \ 695 { 0xa438, 0x1800 }, \ 696 { 0xa438, 0x0304 }, \ 697 { 0xa438, 0xd73e }, \ 698 { 0xa438, 0x60e9 }, \ 699 { 0xa438, 0x614a }, \ 700 { 0xa438, 0x61ab }, \ 701 { 0xa438, 0x0c0f }, \ 702 { 0xa438, 0x0509 }, \ 703 { 0xa438, 0x1800 }, \ 704 { 0xa438, 0x0304 }, \ 705 { 0xa438, 0x0c0f }, \ 706 { 0xa438, 0x050a }, \ 707 { 0xa438, 0x1800 }, \ 708 { 0xa438, 0x0304 }, \ 709 { 0xa438, 0x0c0f }, \ 710 { 0xa438, 0x050c }, \ 711 { 0xa438, 0x1800 }, \ 712 { 0xa438, 0x0304 }, \ 713 { 0xa438, 0x0c0f }, \ 714 { 0xa438, 0x0508 }, \ 715 { 0xa438, 0x1800 }, \ 716 { 0xa438, 0x0304 }, \ 717 { 0xa438, 0xd501 }, \ 718 { 0xa438, 0xce01 }, \ 719 { 0xa438, 0xd73e }, \ 720 { 0xa438, 0x60e9 }, \ 721 { 0xa438, 0x614a }, \ 722 { 0xa438, 0x61ab }, \ 723 { 0xa438, 0x0c0f }, \ 724 { 0xa438, 0x0501 }, \ 725 { 0xa438, 0x1800 }, \ 726 { 0xa438, 0x0321 }, \ 727 { 0xa438, 0x0c0f }, \ 728 { 0xa438, 0x0502 }, \ 729 { 0xa438, 0x1800 }, \ 730 { 0xa438, 0x0321 }, \ 731 { 0xa438, 0x0c0f }, \ 732 { 0xa438, 0x0504 }, \ 733 { 0xa438, 0x1800 }, \ 734 { 0xa438, 0x0321 }, \ 735 { 0xa438, 0x0c0f }, \ 736 { 0xa438, 0x0508 }, \ 737 { 0xa438, 0x1800 }, \ 738 { 0xa438, 0x0321 }, \ 739 { 0xa438, 0x1000 }, \ 740 { 0xa438, 0x0346 }, \ 741 { 0xa438, 0xd501 }, \ 742 { 0xa438, 0xce01 }, \ 743 { 0xa438, 0x8208 }, \ 744 { 0xa438, 0x609d }, \ 745 { 0xa438, 0xa50f }, \ 746 { 0xa438, 0x1800 }, \ 747 { 0xa438, 0x001a }, \ 748 { 0xa438, 0x0c0f }, \ 749 { 0xa438, 0x0503 }, \ 750 { 0xa438, 0x1800 }, \ 751 { 0xa438, 0x001a }, \ 752 { 0xa438, 0x607d }, \ 753 { 0xa438, 0x1800 }, \ 754 { 0xa438, 0x00ab }, \ 755 { 0xa438, 0x1800 }, \ 756 { 0xa438, 0x00ab }, \ 757 { 0xa438, 0xd501 }, \ 758 { 0xa438, 0xce01 }, \ 759 { 0xa438, 0xd700 }, \ 760 { 0xa438, 0x60fd }, \ 761 { 0xa438, 0xa50f }, \ 762 { 0xa438, 0xce00 }, \ 763 { 0xa438, 0xd500 }, \ 764 { 0xa438, 0xaa0f }, \ 765 { 0xa438, 0x1800 }, \ 766 { 0xa438, 0x017b }, \ 767 { 0xa438, 0x0c0f }, \ 768 { 0xa438, 0x0503 }, \ 769 { 0xa438, 0xce00 }, \ 770 { 0xa438, 0xd500 }, \ 771 { 0xa438, 0x0c0f }, \ 772 { 0xa438, 0x0a05 }, \ 773 { 0xa438, 0x1800 }, \ 774 { 0xa438, 0x017b }, \ 775 { 0xa438, 0xd501 }, \ 776 { 0xa438, 0xce01 }, \ 777 { 0xa438, 0xd700 }, \ 778 { 0xa438, 0x60fd }, \ 779 { 0xa438, 0xa50f }, \ 780 { 0xa438, 0xce00 }, \ 781 { 0xa438, 0xd500 }, \ 782 { 0xa438, 0xaa0f }, \ 783 { 0xa438, 0x1800 }, \ 784 { 0xa438, 0x01e0 }, \ 785 { 0xa438, 0x0c0f }, \ 786 { 0xa438, 0x0503 }, \ 787 { 0xa438, 0xce00 }, \ 788 { 0xa438, 0xd500 }, \ 789 { 0xa438, 0x0c0f }, \ 790 { 0xa438, 0x0a05 }, \ 791 { 0xa438, 0x1800 }, \ 792 { 0xa438, 0x01e0 }, \ 793 { 0xa438, 0xd700 }, \ 794 { 0xa438, 0x60fd }, \ 795 { 0xa438, 0xa50f }, \ 796 { 0xa438, 0xce00 }, \ 797 { 0xa438, 0xd500 }, \ 798 { 0xa438, 0xaa0f }, \ 799 { 0xa438, 0x1800 }, \ 800 { 0xa438, 0x0231 }, \ 801 { 0xa438, 0x0c0f }, \ 802 { 0xa438, 0x0503 }, \ 803 { 0xa438, 0xce00 }, \ 804 { 0xa438, 0xd500 }, \ 805 { 0xa438, 0x0c0f }, \ 806 { 0xa438, 0x0a05 }, \ 807 { 0xa438, 0x1800 }, \ 808 { 0xa438, 0x0231 }, \ 809 { 0xa436, 0xa08e }, \ 810 { 0xa438, 0xffff }, \ 811 { 0xa436, 0xa08c }, \ 812 { 0xa438, 0x0221 }, \ 813 { 0xa436, 0xa08a }, \ 814 { 0xa438, 0x01ce }, \ 815 { 0xa436, 0xa088 }, \ 816 { 0xa438, 0x0169 }, \ 817 { 0xa436, 0xa086 }, \ 818 { 0xa438, 0x00a6 }, \ 819 { 0xa436, 0xa084 }, \ 820 { 0xa438, 0x000d }, \ 821 { 0xa436, 0xa082 }, \ 822 { 0xa438, 0x0308 }, \ 823 { 0xa436, 0xa080 }, \ 824 { 0xa438, 0x029f }, \ 825 { 0xa436, 0xa090 }, \ 826 { 0xa438, 0x007f }, \ 827 { 0xa436, 0xa016 }, \ 828 { 0xa438, 0x0020 }, \ 829 { 0xa436, 0xa012 }, \ 830 { 0xa438, 0x0000 }, \ 831 { 0xa436, 0xa014 }, \ 832 { 0xa438, 0x1800 }, \ 833 { 0xa438, 0x8010 }, \ 834 { 0xa438, 0x1800 }, \ 835 { 0xa438, 0x8017 }, \ 836 { 0xa438, 0x1800 }, \ 837 { 0xa438, 0x801b }, \ 838 { 0xa438, 0x1800 }, \ 839 { 0xa438, 0x8029 }, \ 840 { 0xa438, 0x1800 }, \ 841 { 0xa438, 0x8054 }, \ 842 { 0xa438, 0x1800 }, \ 843 { 0xa438, 0x805a }, \ 844 { 0xa438, 0x1800 }, \ 845 { 0xa438, 0x8064 }, \ 846 { 0xa438, 0x1800 }, \ 847 { 0xa438, 0x80a7 }, \ 848 { 0xa438, 0x9430 }, \ 849 { 0xa438, 0x9480 }, \ 850 { 0xa438, 0xb408 }, \ 851 { 0xa438, 0xd120 }, \ 852 { 0xa438, 0xd057 }, \ 853 { 0xa438, 0x1800 }, \ 854 { 0xa438, 0x064b }, \ 855 { 0xa438, 0xcb80 }, \ 856 { 0xa438, 0x9906 }, \ 857 { 0xa438, 0x1800 }, \ 858 { 0xa438, 0x0567 }, \ 859 { 0xa438, 0xcb94 }, \ 860 { 0xa438, 0x8190 }, \ 861 { 0xa438, 0x82a0 }, \ 862 { 0xa438, 0x800a }, \ 863 { 0xa438, 0x8406 }, \ 864 { 0xa438, 0x8010 }, \ 865 { 0xa438, 0xa740 }, \ 866 { 0xa438, 0x8dff }, \ 867 { 0xa438, 0x1000 }, \ 868 { 0xa438, 0x07e4 }, \ 869 { 0xa438, 0xa840 }, \ 870 { 0xa438, 0x0000 }, \ 871 { 0xa438, 0x1800 }, \ 872 { 0xa438, 0x0773 }, \ 873 { 0xa438, 0xcb91 }, \ 874 { 0xa438, 0x0000 }, \ 875 { 0xa438, 0xd700 }, \ 876 { 0xa438, 0x4063 }, \ 877 { 0xa438, 0xd139 }, \ 878 { 0xa438, 0xf002 }, \ 879 { 0xa438, 0xd140 }, \ 880 { 0xa438, 0xd040 }, \ 881 { 0xa438, 0xb404 }, \ 882 { 0xa438, 0x0c0f }, \ 883 { 0xa438, 0x0d00 }, \ 884 { 0xa438, 0x1000 }, \ 885 { 0xa438, 0x07dc }, \ 886 { 0xa438, 0xa610 }, \ 887 { 0xa438, 0xa110 }, \ 888 { 0xa438, 0xa2a0 }, \ 889 { 0xa438, 0xa404 }, \ 890 { 0xa438, 0xd704 }, \ 891 { 0xa438, 0x4045 }, \ 892 { 0xa438, 0xa180 }, \ 893 { 0xa438, 0xd704 }, \ 894 { 0xa438, 0x405d }, \ 895 { 0xa438, 0xa720 }, \ 896 { 0xa438, 0x1000 }, \ 897 { 0xa438, 0x0742 }, \ 898 { 0xa438, 0x1000 }, \ 899 { 0xa438, 0x07ec }, \ 900 { 0xa438, 0xd700 }, \ 901 { 0xa438, 0x5f74 }, \ 902 { 0xa438, 0x1000 }, \ 903 { 0xa438, 0x0742 }, \ 904 { 0xa438, 0xd702 }, \ 905 { 0xa438, 0x7fb6 }, \ 906 { 0xa438, 0x8190 }, \ 907 { 0xa438, 0x82a0 }, \ 908 { 0xa438, 0x8404 }, \ 909 { 0xa438, 0x8610 }, \ 910 { 0xa438, 0x0c0f }, \ 911 { 0xa438, 0x0d01 }, \ 912 { 0xa438, 0x1000 }, \ 913 { 0xa438, 0x07dc }, \ 914 { 0xa438, 0x1800 }, \ 915 { 0xa438, 0x064b }, \ 916 { 0xa438, 0x1000 }, \ 917 { 0xa438, 0x07c0 }, \ 918 { 0xa438, 0xd700 }, \ 919 { 0xa438, 0x5fa7 }, \ 920 { 0xa438, 0x1800 }, \ 921 { 0xa438, 0x0481 }, \ 922 { 0xa438, 0x0000 }, \ 923 { 0xa438, 0x94bc }, \ 924 { 0xa438, 0x870c }, \ 925 { 0xa438, 0xa190 }, \ 926 { 0xa438, 0xa00a }, \ 927 { 0xa438, 0xa280 }, \ 928 { 0xa438, 0xa404 }, \ 929 { 0xa438, 0x8220 }, \ 930 { 0xa438, 0x1800 }, \ 931 { 0xa438, 0x078e }, \ 932 { 0xa438, 0xcb92 }, \ 933 { 0xa438, 0xa840 }, \ 934 { 0xa438, 0xd700 }, \ 935 { 0xa438, 0x4063 }, \ 936 { 0xa438, 0xd140 }, \ 937 { 0xa438, 0xf002 }, \ 938 { 0xa438, 0xd150 }, \ 939 { 0xa438, 0xd040 }, \ 940 { 0xa438, 0xd703 }, \ 941 { 0xa438, 0x60a0 }, \ 942 { 0xa438, 0x6121 }, \ 943 { 0xa438, 0x61a2 }, \ 944 { 0xa438, 0x6223 }, \ 945 { 0xa438, 0xf02f }, \ 946 { 0xa438, 0x0cf0 }, \ 947 { 0xa438, 0x0d10 }, \ 948 { 0xa438, 0x8010 }, \ 949 { 0xa438, 0xa740 }, \ 950 { 0xa438, 0xf00f }, \ 951 { 0xa438, 0x0cf0 }, \ 952 { 0xa438, 0x0d20 }, \ 953 { 0xa438, 0x8010 }, \ 954 { 0xa438, 0xa740 }, \ 955 { 0xa438, 0xf00a }, \ 956 { 0xa438, 0x0cf0 }, \ 957 { 0xa438, 0x0d30 }, \ 958 { 0xa438, 0x8010 }, \ 959 { 0xa438, 0xa740 }, \ 960 { 0xa438, 0xf005 }, \ 961 { 0xa438, 0x0cf0 }, \ 962 { 0xa438, 0x0d40 }, \ 963 { 0xa438, 0x8010 }, \ 964 { 0xa438, 0xa740 }, \ 965 { 0xa438, 0x1000 }, \ 966 { 0xa438, 0x07e4 }, \ 967 { 0xa438, 0xa610 }, \ 968 { 0xa438, 0xa008 }, \ 969 { 0xa438, 0xd704 }, \ 970 { 0xa438, 0x4046 }, \ 971 { 0xa438, 0xa002 }, \ 972 { 0xa438, 0xd704 }, \ 973 { 0xa438, 0x405d }, \ 974 { 0xa438, 0xa720 }, \ 975 { 0xa438, 0x1000 }, \ 976 { 0xa438, 0x0742 }, \ 977 { 0xa438, 0x1000 }, \ 978 { 0xa438, 0x07f7 }, \ 979 { 0xa438, 0xd700 }, \ 980 { 0xa438, 0x5f74 }, \ 981 { 0xa438, 0x1000 }, \ 982 { 0xa438, 0x0742 }, \ 983 { 0xa438, 0xd702 }, \ 984 { 0xa438, 0x7fb5 }, \ 985 { 0xa438, 0x800a }, \ 986 { 0xa438, 0x0cf0 }, \ 987 { 0xa438, 0x0d00 }, \ 988 { 0xa438, 0x1000 }, \ 989 { 0xa438, 0x07e4 }, \ 990 { 0xa438, 0x8010 }, \ 991 { 0xa438, 0xa740 }, \ 992 { 0xa438, 0xd701 }, \ 993 { 0xa438, 0x3ad4 }, \ 994 { 0xa438, 0x0537 }, \ 995 { 0xa438, 0x8610 }, \ 996 { 0xa438, 0x8840 }, \ 997 { 0xa438, 0x1800 }, \ 998 { 0xa438, 0x064b }, \ 999 { 0xa438, 0x8301 }, \ 1000 { 0xa438, 0x800a }, \ 1001 { 0xa438, 0x8190 }, \ 1002 { 0xa438, 0x82a0 }, \ 1003 { 0xa438, 0x8404 }, \ 1004 { 0xa438, 0xa70c }, \ 1005 { 0xa438, 0x9402 }, \ 1006 { 0xa438, 0x890c }, \ 1007 { 0xa438, 0x8840 }, \ 1008 { 0xa438, 0x1800 }, \ 1009 { 0xa438, 0x064b }, \ 1010 { 0xa436, 0xa10e }, \ 1011 { 0xa438, 0x0642 }, \ 1012 { 0xa436, 0xa10c }, \ 1013 { 0xa438, 0x0686 }, \ 1014 { 0xa436, 0xa10a }, \ 1015 { 0xa438, 0x0788 }, \ 1016 { 0xa436, 0xa108 }, \ 1017 { 0xa438, 0x047b }, \ 1018 { 0xa436, 0xa106 }, \ 1019 { 0xa438, 0x065c }, \ 1020 { 0xa436, 0xa104 }, \ 1021 { 0xa438, 0x0769 }, \ 1022 { 0xa436, 0xa102 }, \ 1023 { 0xa438, 0x0565 }, \ 1024 { 0xa436, 0xa100 }, \ 1025 { 0xa438, 0x06f9 }, \ 1026 { 0xa436, 0xa110 }, \ 1027 { 0xa438, 0x00ff }, \ 1028 { 0xa436, 0xb87c }, \ 1029 { 0xa438, 0x8530 }, \ 1030 { 0xa436, 0xb87e }, \ 1031 { 0xa438, 0xaf85 }, \ 1032 { 0xa438, 0x3caf }, \ 1033 { 0xa438, 0x8593 }, \ 1034 { 0xa438, 0xaf85 }, \ 1035 { 0xa438, 0x9caf }, \ 1036 { 0xa438, 0x85a5 }, \ 1037 { 0xa438, 0xbf86 }, \ 1038 { 0xa438, 0xd702 }, \ 1039 { 0xa438, 0x5afb }, \ 1040 { 0xa438, 0xe083 }, \ 1041 { 0xa438, 0xfb0c }, \ 1042 { 0xa438, 0x020d }, \ 1043 { 0xa438, 0x021b }, \ 1044 { 0xa438, 0x10bf }, \ 1045 { 0xa438, 0x86d7 }, \ 1046 { 0xa438, 0x025a }, \ 1047 { 0xa438, 0xb7bf }, \ 1048 { 0xa438, 0x86da }, \ 1049 { 0xa438, 0x025a }, \ 1050 { 0xa438, 0xfbe0 }, \ 1051 { 0xa438, 0x83fc }, \ 1052 { 0xa438, 0x0c02 }, \ 1053 { 0xa438, 0x0d02 }, \ 1054 { 0xa438, 0x1b10 }, \ 1055 { 0xa438, 0xbf86 }, \ 1056 { 0xa438, 0xda02 }, \ 1057 { 0xa438, 0x5ab7 }, \ 1058 { 0xa438, 0xbf86 }, \ 1059 { 0xa438, 0xdd02 }, \ 1060 { 0xa438, 0x5afb }, \ 1061 { 0xa438, 0xe083 }, \ 1062 { 0xa438, 0xfd0c }, \ 1063 { 0xa438, 0x020d }, \ 1064 { 0xa438, 0x021b }, \ 1065 { 0xa438, 0x10bf }, \ 1066 { 0xa438, 0x86dd }, \ 1067 { 0xa438, 0x025a }, \ 1068 { 0xa438, 0xb7bf }, \ 1069 { 0xa438, 0x86e0 }, \ 1070 { 0xa438, 0x025a }, \ 1071 { 0xa438, 0xfbe0 }, \ 1072 { 0xa438, 0x83fe }, \ 1073 { 0xa438, 0x0c02 }, \ 1074 { 0xa438, 0x0d02 }, \ 1075 { 0xa438, 0x1b10 }, \ 1076 { 0xa438, 0xbf86 }, \ 1077 { 0xa438, 0xe002 }, \ 1078 { 0xa438, 0x5ab7 }, \ 1079 { 0xa438, 0xaf2f }, \ 1080 { 0xa438, 0xbd02 }, \ 1081 { 0xa438, 0x2cac }, \ 1082 { 0xa438, 0x0286 }, \ 1083 { 0xa438, 0x65af }, \ 1084 { 0xa438, 0x212b }, \ 1085 { 0xa438, 0x022c }, \ 1086 { 0xa438, 0x6002 }, \ 1087 { 0xa438, 0x86b6 }, \ 1088 { 0xa438, 0xaf21 }, \ 1089 { 0xa438, 0x0cd1 }, \ 1090 { 0xa438, 0x03bf }, \ 1091 { 0xa438, 0x8710 }, \ 1092 { 0xa438, 0x025a }, \ 1093 { 0xa438, 0xb7bf }, \ 1094 { 0xa438, 0x870d }, \ 1095 { 0xa438, 0x025a }, \ 1096 { 0xa438, 0xb7bf }, \ 1097 { 0xa438, 0x8719 }, \ 1098 { 0xa438, 0x025a }, \ 1099 { 0xa438, 0xb7bf }, \ 1100 { 0xa438, 0x8716 }, \ 1101 { 0xa438, 0x025a }, \ 1102 { 0xa438, 0xb7bf }, \ 1103 { 0xa438, 0x871f }, \ 1104 { 0xa438, 0x025a }, \ 1105 { 0xa438, 0xb7bf }, \ 1106 { 0xa438, 0x871c }, \ 1107 { 0xa438, 0x025a }, \ 1108 { 0xa438, 0xb7bf }, \ 1109 { 0xa438, 0x8728 }, \ 1110 { 0xa438, 0x025a }, \ 1111 { 0xa438, 0xb7bf }, \ 1112 { 0xa438, 0x8725 }, \ 1113 { 0xa438, 0x025a }, \ 1114 { 0xa438, 0xb7bf }, \ 1115 { 0xa438, 0x8707 }, \ 1116 { 0xa438, 0x025a }, \ 1117 { 0xa438, 0xfbad }, \ 1118 { 0xa438, 0x281c }, \ 1119 { 0xa438, 0xd100 }, \ 1120 { 0xa438, 0xbf87 }, \ 1121 { 0xa438, 0x0a02 }, \ 1122 { 0xa438, 0x5ab7 }, \ 1123 { 0xa438, 0xbf87 }, \ 1124 { 0xa438, 0x1302 }, \ 1125 { 0xa438, 0x5ab7 }, \ 1126 { 0xa438, 0xbf87 }, \ 1127 { 0xa438, 0x2202 }, \ 1128 { 0xa438, 0x5ab7 }, \ 1129 { 0xa438, 0xbf87 }, \ 1130 { 0xa438, 0x2b02 }, \ 1131 { 0xa438, 0x5ab7 }, \ 1132 { 0xa438, 0xae1a }, \ 1133 { 0xa438, 0xd101 }, \ 1134 { 0xa438, 0xbf87 }, \ 1135 { 0xa438, 0x0a02 }, \ 1136 { 0xa438, 0x5ab7 }, \ 1137 { 0xa438, 0xbf87 }, \ 1138 { 0xa438, 0x1302 }, \ 1139 { 0xa438, 0x5ab7 }, \ 1140 { 0xa438, 0xbf87 }, \ 1141 { 0xa438, 0x2202 }, \ 1142 { 0xa438, 0x5ab7 }, \ 1143 { 0xa438, 0xbf87 }, \ 1144 { 0xa438, 0x2b02 }, \ 1145 { 0xa438, 0x5ab7 }, \ 1146 { 0xa438, 0xd101 }, \ 1147 { 0xa438, 0xbf87 }, \ 1148 { 0xa438, 0x3402 }, \ 1149 { 0xa438, 0x5ab7 }, \ 1150 { 0xa438, 0xbf87 }, \ 1151 { 0xa438, 0x3102 }, \ 1152 { 0xa438, 0x5ab7 }, \ 1153 { 0xa438, 0xbf87 }, \ 1154 { 0xa438, 0x3d02 }, \ 1155 { 0xa438, 0x5ab7 }, \ 1156 { 0xa438, 0xbf87 }, \ 1157 { 0xa438, 0x3a02 }, \ 1158 { 0xa438, 0x5ab7 }, \ 1159 { 0xa438, 0xbf87 }, \ 1160 { 0xa438, 0x4302 }, \ 1161 { 0xa438, 0x5ab7 }, \ 1162 { 0xa438, 0xbf87 }, \ 1163 { 0xa438, 0x4002 }, \ 1164 { 0xa438, 0x5ab7 }, \ 1165 { 0xa438, 0xbf87 }, \ 1166 { 0xa438, 0x4c02 }, \ 1167 { 0xa438, 0x5ab7 }, \ 1168 { 0xa438, 0xbf87 }, \ 1169 { 0xa438, 0x4902 }, \ 1170 { 0xa438, 0x5ab7 }, \ 1171 { 0xa438, 0xd100 }, \ 1172 { 0xa438, 0xbf87 }, \ 1173 { 0xa438, 0x2e02 }, \ 1174 { 0xa438, 0x5ab7 }, \ 1175 { 0xa438, 0xbf87 }, \ 1176 { 0xa438, 0x3702 }, \ 1177 { 0xa438, 0x5ab7 }, \ 1178 { 0xa438, 0xbf87 }, \ 1179 { 0xa438, 0x4602 }, \ 1180 { 0xa438, 0x5ab7 }, \ 1181 { 0xa438, 0xbf87 }, \ 1182 { 0xa438, 0x4f02 }, \ 1183 { 0xa438, 0x5ab7 }, \ 1184 { 0xa438, 0xaf35 }, \ 1185 { 0xa438, 0x7ff8 }, \ 1186 { 0xa438, 0xfaef }, \ 1187 { 0xa438, 0x69bf }, \ 1188 { 0xa438, 0x86e3 }, \ 1189 { 0xa438, 0x025a }, \ 1190 { 0xa438, 0xfbbf }, \ 1191 { 0xa438, 0x86fb }, \ 1192 { 0xa438, 0x025a }, \ 1193 { 0xa438, 0xb7bf }, \ 1194 { 0xa438, 0x86e6 }, \ 1195 { 0xa438, 0x025a }, \ 1196 { 0xa438, 0xfbbf }, \ 1197 { 0xa438, 0x86fe }, \ 1198 { 0xa438, 0x025a }, \ 1199 { 0xa438, 0xb7bf }, \ 1200 { 0xa438, 0x86e9 }, \ 1201 { 0xa438, 0x025a }, \ 1202 { 0xa438, 0xfbbf }, \ 1203 { 0xa438, 0x8701 }, \ 1204 { 0xa438, 0x025a }, \ 1205 { 0xa438, 0xb7bf }, \ 1206 { 0xa438, 0x86ec }, \ 1207 { 0xa438, 0x025a }, \ 1208 { 0xa438, 0xfbbf }, \ 1209 { 0xa438, 0x8704 }, \ 1210 { 0xa438, 0x025a }, \ 1211 { 0xa438, 0xb7bf }, \ 1212 { 0xa438, 0x86ef }, \ 1213 { 0xa438, 0x0262 }, \ 1214 { 0xa438, 0x7cbf }, \ 1215 { 0xa438, 0x86f2 }, \ 1216 { 0xa438, 0x0262 }, \ 1217 { 0xa438, 0x7cbf }, \ 1218 { 0xa438, 0x86f5 }, \ 1219 { 0xa438, 0x0262 }, \ 1220 { 0xa438, 0x7cbf }, \ 1221 { 0xa438, 0x86f8 }, \ 1222 { 0xa438, 0x0262 }, \ 1223 { 0xa438, 0x7cef }, \ 1224 { 0xa438, 0x96fe }, \ 1225 { 0xa438, 0xfc04 }, \ 1226 { 0xa438, 0xf8fa }, \ 1227 { 0xa438, 0xef69 }, \ 1228 { 0xa438, 0xbf86 }, \ 1229 { 0xa438, 0xef02 }, \ 1230 { 0xa438, 0x6273 }, \ 1231 { 0xa438, 0xbf86 }, \ 1232 { 0xa438, 0xf202 }, \ 1233 { 0xa438, 0x6273 }, \ 1234 { 0xa438, 0xbf86 }, \ 1235 { 0xa438, 0xf502 }, \ 1236 { 0xa438, 0x6273 }, \ 1237 { 0xa438, 0xbf86 }, \ 1238 { 0xa438, 0xf802 }, \ 1239 { 0xa438, 0x6273 }, \ 1240 { 0xa438, 0xef96 }, \ 1241 { 0xa438, 0xfefc }, \ 1242 { 0xa438, 0x0420 }, \ 1243 { 0xa438, 0xb540 }, \ 1244 { 0xa438, 0x53b5 }, \ 1245 { 0xa438, 0x4086 }, \ 1246 { 0xa438, 0xb540 }, \ 1247 { 0xa438, 0xb9b5 }, \ 1248 { 0xa438, 0x40c8 }, \ 1249 { 0xa438, 0xb03a }, \ 1250 { 0xa438, 0xc8b0 }, \ 1251 { 0xa438, 0xbac8 }, \ 1252 { 0xa438, 0xb13a }, \ 1253 { 0xa438, 0xc8b1 }, \ 1254 { 0xa438, 0xba77 }, \ 1255 { 0xa438, 0xbd26 }, \ 1256 { 0xa438, 0xffbd }, \ 1257 { 0xa438, 0x2677 }, \ 1258 { 0xa438, 0xbd28 }, \ 1259 { 0xa438, 0xffbd }, \ 1260 { 0xa438, 0x2840 }, \ 1261 { 0xa438, 0xbd26 }, \ 1262 { 0xa438, 0xc8bd }, \ 1263 { 0xa438, 0x2640 }, \ 1264 { 0xa438, 0xbd28 }, \ 1265 { 0xa438, 0xc8bd }, \ 1266 { 0xa438, 0x28bb }, \ 1267 { 0xa438, 0xa430 }, \ 1268 { 0xa438, 0x98b0 }, \ 1269 { 0xa438, 0x1eba }, \ 1270 { 0xa438, 0xb01e }, \ 1271 { 0xa438, 0xdcb0 }, \ 1272 { 0xa438, 0x1e98 }, \ 1273 { 0xa438, 0xb09e }, \ 1274 { 0xa438, 0xbab0 }, \ 1275 { 0xa438, 0x9edc }, \ 1276 { 0xa438, 0xb09e }, \ 1277 { 0xa438, 0x98b1 }, \ 1278 { 0xa438, 0x1eba }, \ 1279 { 0xa438, 0xb11e }, \ 1280 { 0xa438, 0xdcb1 }, \ 1281 { 0xa438, 0x1e98 }, \ 1282 { 0xa438, 0xb19e }, \ 1283 { 0xa438, 0xbab1 }, \ 1284 { 0xa438, 0x9edc }, \ 1285 { 0xa438, 0xb19e }, \ 1286 { 0xa438, 0x11b0 }, \ 1287 { 0xa438, 0x1e22 }, \ 1288 { 0xa438, 0xb01e }, \ 1289 { 0xa438, 0x33b0 }, \ 1290 { 0xa438, 0x1e11 }, \ 1291 { 0xa438, 0xb09e }, \ 1292 { 0xa438, 0x22b0 }, \ 1293 { 0xa438, 0x9e33 }, \ 1294 { 0xa438, 0xb09e }, \ 1295 { 0xa438, 0x11b1 }, \ 1296 { 0xa438, 0x1e22 }, \ 1297 { 0xa438, 0xb11e }, \ 1298 { 0xa438, 0x33b1 }, \ 1299 { 0xa438, 0x1e11 }, \ 1300 { 0xa438, 0xb19e }, \ 1301 { 0xa438, 0x22b1 }, \ 1302 { 0xa438, 0x9e33 }, \ 1303 { 0xa438, 0xb19e }, \ 1304 { 0xa436, 0xb85e }, \ 1305 { 0xa438, 0x2f71 }, \ 1306 { 0xa436, 0xb860 }, \ 1307 { 0xa438, 0x20d9 }, \ 1308 { 0xa436, 0xb862 }, \ 1309 { 0xa438, 0x2109 }, \ 1310 { 0xa436, 0xb864 }, \ 1311 { 0xa438, 0x34e7 }, \ 1312 { 0xa436, 0xb878 }, \ 1313 { 0xa438, 0x000f } 1314 1315 #define RTL8125_MAC_CFG3_MCU \ 1316 { 0xa436, 0xa016 }, \ 1317 { 0xa438, 0x0000 }, \ 1318 { 0xa436, 0xa012 }, \ 1319 { 0xa438, 0x0000 }, \ 1320 { 0xa436, 0xa014 }, \ 1321 { 0xa438, 0x1800 }, \ 1322 { 0xa438, 0x8010 }, \ 1323 { 0xa438, 0x1800 }, \ 1324 { 0xa438, 0x808b }, \ 1325 { 0xa438, 0x1800 }, \ 1326 { 0xa438, 0x808f }, \ 1327 { 0xa438, 0x1800 }, \ 1328 { 0xa438, 0x8093 }, \ 1329 { 0xa438, 0x1800 }, \ 1330 { 0xa438, 0x8097 }, \ 1331 { 0xa438, 0x1800 }, \ 1332 { 0xa438, 0x809d }, \ 1333 { 0xa438, 0x1800 }, \ 1334 { 0xa438, 0x80a1 }, \ 1335 { 0xa438, 0x1800 }, \ 1336 { 0xa438, 0x80aa }, \ 1337 { 0xa438, 0xd718 }, \ 1338 { 0xa438, 0x607b }, \ 1339 { 0xa438, 0x40da }, \ 1340 { 0xa438, 0xf00e }, \ 1341 { 0xa438, 0x42da }, \ 1342 { 0xa438, 0xf01e }, \ 1343 { 0xa438, 0xd718 }, \ 1344 { 0xa438, 0x615b }, \ 1345 { 0xa438, 0x1000 }, \ 1346 { 0xa438, 0x1456 }, \ 1347 { 0xa438, 0x1000 }, \ 1348 { 0xa438, 0x14a4 }, \ 1349 { 0xa438, 0x1000 }, \ 1350 { 0xa438, 0x14bc }, \ 1351 { 0xa438, 0xd718 }, \ 1352 { 0xa438, 0x5f2e }, \ 1353 { 0xa438, 0xf01c }, \ 1354 { 0xa438, 0x1000 }, \ 1355 { 0xa438, 0x1456 }, \ 1356 { 0xa438, 0x1000 }, \ 1357 { 0xa438, 0x14a4 }, \ 1358 { 0xa438, 0x1000 }, \ 1359 { 0xa438, 0x14bc }, \ 1360 { 0xa438, 0xd718 }, \ 1361 { 0xa438, 0x5f2e }, \ 1362 { 0xa438, 0xf024 }, \ 1363 { 0xa438, 0x1000 }, \ 1364 { 0xa438, 0x1456 }, \ 1365 { 0xa438, 0x1000 }, \ 1366 { 0xa438, 0x14a4 }, \ 1367 { 0xa438, 0x1000 }, \ 1368 { 0xa438, 0x14bc }, \ 1369 { 0xa438, 0xd718 }, \ 1370 { 0xa438, 0x5f2e }, \ 1371 { 0xa438, 0xf02c }, \ 1372 { 0xa438, 0x1000 }, \ 1373 { 0xa438, 0x1456 }, \ 1374 { 0xa438, 0x1000 }, \ 1375 { 0xa438, 0x14a4 }, \ 1376 { 0xa438, 0x1000 }, \ 1377 { 0xa438, 0x14bc }, \ 1378 { 0xa438, 0xd718 }, \ 1379 { 0xa438, 0x5f2e }, \ 1380 { 0xa438, 0xf034 }, \ 1381 { 0xa438, 0xd719 }, \ 1382 { 0xa438, 0x4118 }, \ 1383 { 0xa438, 0xd504 }, \ 1384 { 0xa438, 0xac11 }, \ 1385 { 0xa438, 0xd501 }, \ 1386 { 0xa438, 0xce01 }, \ 1387 { 0xa438, 0xa410 }, \ 1388 { 0xa438, 0xce00 }, \ 1389 { 0xa438, 0xd500 }, \ 1390 { 0xa438, 0x4779 }, \ 1391 { 0xa438, 0xd504 }, \ 1392 { 0xa438, 0xac0f }, \ 1393 { 0xa438, 0xae01 }, \ 1394 { 0xa438, 0xd500 }, \ 1395 { 0xa438, 0x1000 }, \ 1396 { 0xa438, 0x1444 }, \ 1397 { 0xa438, 0xf034 }, \ 1398 { 0xa438, 0xd719 }, \ 1399 { 0xa438, 0x4118 }, \ 1400 { 0xa438, 0xd504 }, \ 1401 { 0xa438, 0xac22 }, \ 1402 { 0xa438, 0xd501 }, \ 1403 { 0xa438, 0xce01 }, \ 1404 { 0xa438, 0xa420 }, \ 1405 { 0xa438, 0xce00 }, \ 1406 { 0xa438, 0xd500 }, \ 1407 { 0xa438, 0x4559 }, \ 1408 { 0xa438, 0xd504 }, \ 1409 { 0xa438, 0xac0f }, \ 1410 { 0xa438, 0xae01 }, \ 1411 { 0xa438, 0xd500 }, \ 1412 { 0xa438, 0x1000 }, \ 1413 { 0xa438, 0x1444 }, \ 1414 { 0xa438, 0xf023 }, \ 1415 { 0xa438, 0xd719 }, \ 1416 { 0xa438, 0x4118 }, \ 1417 { 0xa438, 0xd504 }, \ 1418 { 0xa438, 0xac44 }, \ 1419 { 0xa438, 0xd501 }, \ 1420 { 0xa438, 0xce01 }, \ 1421 { 0xa438, 0xa440 }, \ 1422 { 0xa438, 0xce00 }, \ 1423 { 0xa438, 0xd500 }, \ 1424 { 0xa438, 0x4339 }, \ 1425 { 0xa438, 0xd504 }, \ 1426 { 0xa438, 0xac0f }, \ 1427 { 0xa438, 0xae01 }, \ 1428 { 0xa438, 0xd500 }, \ 1429 { 0xa438, 0x1000 }, \ 1430 { 0xa438, 0x1444 }, \ 1431 { 0xa438, 0xf012 }, \ 1432 { 0xa438, 0xd719 }, \ 1433 { 0xa438, 0x4118 }, \ 1434 { 0xa438, 0xd504 }, \ 1435 { 0xa438, 0xac88 }, \ 1436 { 0xa438, 0xd501 }, \ 1437 { 0xa438, 0xce01 }, \ 1438 { 0xa438, 0xa480 }, \ 1439 { 0xa438, 0xce00 }, \ 1440 { 0xa438, 0xd500 }, \ 1441 { 0xa438, 0x4119 }, \ 1442 { 0xa438, 0xd504 }, \ 1443 { 0xa438, 0xac0f }, \ 1444 { 0xa438, 0xae01 }, \ 1445 { 0xa438, 0xd500 }, \ 1446 { 0xa438, 0x1000 }, \ 1447 { 0xa438, 0x1444 }, \ 1448 { 0xa438, 0xf001 }, \ 1449 { 0xa438, 0x1000 }, \ 1450 { 0xa438, 0x1456 }, \ 1451 { 0xa438, 0xd718 }, \ 1452 { 0xa438, 0x5fac }, \ 1453 { 0xa438, 0xc48f }, \ 1454 { 0xa438, 0x1000 }, \ 1455 { 0xa438, 0x141b }, \ 1456 { 0xa438, 0xd504 }, \ 1457 { 0xa438, 0x8010 }, \ 1458 { 0xa438, 0x1800 }, \ 1459 { 0xa438, 0x121a }, \ 1460 { 0xa438, 0xd0b4 }, \ 1461 { 0xa438, 0xd1bb }, \ 1462 { 0xa438, 0x1800 }, \ 1463 { 0xa438, 0x0898 }, \ 1464 { 0xa438, 0xd0b4 }, \ 1465 { 0xa438, 0xd1bb }, \ 1466 { 0xa438, 0x1800 }, \ 1467 { 0xa438, 0x0a0e }, \ 1468 { 0xa438, 0xd064 }, \ 1469 { 0xa438, 0xd18a }, \ 1470 { 0xa438, 0x1800 }, \ 1471 { 0xa438, 0x0b7e }, \ 1472 { 0xa438, 0x401c }, \ 1473 { 0xa438, 0xd501 }, \ 1474 { 0xa438, 0xa804 }, \ 1475 { 0xa438, 0x8804 }, \ 1476 { 0xa438, 0x1800 }, \ 1477 { 0xa438, 0x053b }, \ 1478 { 0xa438, 0xd500 }, \ 1479 { 0xa438, 0xa301 }, \ 1480 { 0xa438, 0x1800 }, \ 1481 { 0xa438, 0x0648 }, \ 1482 { 0xa438, 0xc520 }, \ 1483 { 0xa438, 0xa201 }, \ 1484 { 0xa438, 0xd701 }, \ 1485 { 0xa438, 0x252d }, \ 1486 { 0xa438, 0x1646 }, \ 1487 { 0xa438, 0xd708 }, \ 1488 { 0xa438, 0x4006 }, \ 1489 { 0xa438, 0x1800 }, \ 1490 { 0xa438, 0x1646 }, \ 1491 { 0xa438, 0x1800 }, \ 1492 { 0xa438, 0x0308 }, \ 1493 { 0xa436, 0xa026 }, \ 1494 { 0xa438, 0x0307 }, \ 1495 { 0xa436, 0xa024 }, \ 1496 { 0xa438, 0x1645 }, \ 1497 { 0xa436, 0xa022 }, \ 1498 { 0xa438, 0x0647 }, \ 1499 { 0xa436, 0xa020 }, \ 1500 { 0xa438, 0x053a }, \ 1501 { 0xa436, 0xa006 }, \ 1502 { 0xa438, 0x0b7c }, \ 1503 { 0xa436, 0xa004 }, \ 1504 { 0xa438, 0x0a0c }, \ 1505 { 0xa436, 0xa002 }, \ 1506 { 0xa438, 0x0896 }, \ 1507 { 0xa436, 0xa000 }, \ 1508 { 0xa438, 0x11a1 }, \ 1509 { 0xa436, 0xa008 }, \ 1510 { 0xa438, 0xff00 }, \ 1511 { 0xa436, 0xa016 }, \ 1512 { 0xa438, 0x0010 }, \ 1513 { 0xa436, 0xa012 }, \ 1514 { 0xa438, 0x0000 }, \ 1515 { 0xa436, 0xa014 }, \ 1516 { 0xa438, 0x1800 }, \ 1517 { 0xa438, 0x8010 }, \ 1518 { 0xa438, 0x1800 }, \ 1519 { 0xa438, 0x8015 }, \ 1520 { 0xa438, 0x1800 }, \ 1521 { 0xa438, 0x801a }, \ 1522 { 0xa438, 0x1800 }, \ 1523 { 0xa438, 0x801a }, \ 1524 { 0xa438, 0x1800 }, \ 1525 { 0xa438, 0x801a }, \ 1526 { 0xa438, 0x1800 }, \ 1527 { 0xa438, 0x801a }, \ 1528 { 0xa438, 0x1800 }, \ 1529 { 0xa438, 0x801a }, \ 1530 { 0xa438, 0x1800 }, \ 1531 { 0xa438, 0x801a }, \ 1532 { 0xa438, 0xad02 }, \ 1533 { 0xa438, 0x1000 }, \ 1534 { 0xa438, 0x02d7 }, \ 1535 { 0xa438, 0x1800 }, \ 1536 { 0xa438, 0x00ed }, \ 1537 { 0xa438, 0x0c0f }, \ 1538 { 0xa438, 0x0509 }, \ 1539 { 0xa438, 0xc100 }, \ 1540 { 0xa438, 0x1800 }, \ 1541 { 0xa438, 0x008f }, \ 1542 { 0xa436, 0xa08e }, \ 1543 { 0xa438, 0xffff }, \ 1544 { 0xa436, 0xa08c }, \ 1545 { 0xa438, 0xffff }, \ 1546 { 0xa436, 0xa08a }, \ 1547 { 0xa438, 0xffff }, \ 1548 { 0xa436, 0xa088 }, \ 1549 { 0xa438, 0xffff }, \ 1550 { 0xa436, 0xa086 }, \ 1551 { 0xa438, 0xffff }, \ 1552 { 0xa436, 0xa084 }, \ 1553 { 0xa438, 0xffff }, \ 1554 { 0xa436, 0xa082 }, \ 1555 { 0xa438, 0x008d }, \ 1556 { 0xa436, 0xa080 }, \ 1557 { 0xa438, 0x00eb }, \ 1558 { 0xa436, 0xa090 }, \ 1559 { 0xa438, 0x0103 }, \ 1560 { 0xa436, 0xa016 }, \ 1561 { 0xa438, 0x0020 }, \ 1562 { 0xa436, 0xa012 }, \ 1563 { 0xa438, 0x0000 }, \ 1564 { 0xa436, 0xa014 }, \ 1565 { 0xa438, 0x1800 }, \ 1566 { 0xa438, 0x8010 }, \ 1567 { 0xa438, 0x1800 }, \ 1568 { 0xa438, 0x8014 }, \ 1569 { 0xa438, 0x1800 }, \ 1570 { 0xa438, 0x8018 }, \ 1571 { 0xa438, 0x1800 }, \ 1572 { 0xa438, 0x8024 }, \ 1573 { 0xa438, 0x1800 }, \ 1574 { 0xa438, 0x8051 }, \ 1575 { 0xa438, 0x1800 }, \ 1576 { 0xa438, 0x8055 }, \ 1577 { 0xa438, 0x1800 }, \ 1578 { 0xa438, 0x8072 }, \ 1579 { 0xa438, 0x1800 }, \ 1580 { 0xa438, 0x80dc }, \ 1581 { 0xa438, 0x0000 }, \ 1582 { 0xa438, 0x0000 }, \ 1583 { 0xa438, 0x0000 }, \ 1584 { 0xa438, 0xfffd }, \ 1585 { 0xa438, 0x0000 }, \ 1586 { 0xa438, 0x0000 }, \ 1587 { 0xa438, 0x0000 }, \ 1588 { 0xa438, 0xfffd }, \ 1589 { 0xa438, 0x8301 }, \ 1590 { 0xa438, 0x800a }, \ 1591 { 0xa438, 0x8190 }, \ 1592 { 0xa438, 0x82a0 }, \ 1593 { 0xa438, 0x8404 }, \ 1594 { 0xa438, 0xa70c }, \ 1595 { 0xa438, 0x9402 }, \ 1596 { 0xa438, 0x890c }, \ 1597 { 0xa438, 0x8840 }, \ 1598 { 0xa438, 0xa380 }, \ 1599 { 0xa438, 0x1800 }, \ 1600 { 0xa438, 0x066e }, \ 1601 { 0xa438, 0xcb91 }, \ 1602 { 0xa438, 0xd700 }, \ 1603 { 0xa438, 0x4063 }, \ 1604 { 0xa438, 0xd139 }, \ 1605 { 0xa438, 0xf002 }, \ 1606 { 0xa438, 0xd140 }, \ 1607 { 0xa438, 0xd040 }, \ 1608 { 0xa438, 0xb404 }, \ 1609 { 0xa438, 0x0c0f }, \ 1610 { 0xa438, 0x0d00 }, \ 1611 { 0xa438, 0x1000 }, \ 1612 { 0xa438, 0x07e0 }, \ 1613 { 0xa438, 0xa610 }, \ 1614 { 0xa438, 0xa110 }, \ 1615 { 0xa438, 0xa2a0 }, \ 1616 { 0xa438, 0xa404 }, \ 1617 { 0xa438, 0xd704 }, \ 1618 { 0xa438, 0x4085 }, \ 1619 { 0xa438, 0xa180 }, \ 1620 { 0xa438, 0xa404 }, \ 1621 { 0xa438, 0x8280 }, \ 1622 { 0xa438, 0xd704 }, \ 1623 { 0xa438, 0x405d }, \ 1624 { 0xa438, 0xa720 }, \ 1625 { 0xa438, 0x1000 }, \ 1626 { 0xa438, 0x0743 }, \ 1627 { 0xa438, 0x1000 }, \ 1628 { 0xa438, 0x07f0 }, \ 1629 { 0xa438, 0xd700 }, \ 1630 { 0xa438, 0x5f74 }, \ 1631 { 0xa438, 0x1000 }, \ 1632 { 0xa438, 0x0743 }, \ 1633 { 0xa438, 0xd702 }, \ 1634 { 0xa438, 0x7fb6 }, \ 1635 { 0xa438, 0x8190 }, \ 1636 { 0xa438, 0x82a0 }, \ 1637 { 0xa438, 0x8404 }, \ 1638 { 0xa438, 0x8610 }, \ 1639 { 0xa438, 0x0000 }, \ 1640 { 0xa438, 0x0c0f }, \ 1641 { 0xa438, 0x0d01 }, \ 1642 { 0xa438, 0x1000 }, \ 1643 { 0xa438, 0x07e0 }, \ 1644 { 0xa438, 0x1800 }, \ 1645 { 0xa438, 0x066e }, \ 1646 { 0xa438, 0xd158 }, \ 1647 { 0xa438, 0xd04d }, \ 1648 { 0xa438, 0x1800 }, \ 1649 { 0xa438, 0x03d4 }, \ 1650 { 0xa438, 0x94bc }, \ 1651 { 0xa438, 0x870c }, \ 1652 { 0xa438, 0x8380 }, \ 1653 { 0xa438, 0xd10d }, \ 1654 { 0xa438, 0xd040 }, \ 1655 { 0xa438, 0x1000 }, \ 1656 { 0xa438, 0x07c4 }, \ 1657 { 0xa438, 0xd700 }, \ 1658 { 0xa438, 0x5fb4 }, \ 1659 { 0xa438, 0xa190 }, \ 1660 { 0xa438, 0xa00a }, \ 1661 { 0xa438, 0xa280 }, \ 1662 { 0xa438, 0xa404 }, \ 1663 { 0xa438, 0xa220 }, \ 1664 { 0xa438, 0xd130 }, \ 1665 { 0xa438, 0xd040 }, \ 1666 { 0xa438, 0x1000 }, \ 1667 { 0xa438, 0x07c4 }, \ 1668 { 0xa438, 0xd700 }, \ 1669 { 0xa438, 0x5fb4 }, \ 1670 { 0xa438, 0xbb80 }, \ 1671 { 0xa438, 0xd1c4 }, \ 1672 { 0xa438, 0xd074 }, \ 1673 { 0xa438, 0xa301 }, \ 1674 { 0xa438, 0xd704 }, \ 1675 { 0xa438, 0x604b }, \ 1676 { 0xa438, 0xa90c }, \ 1677 { 0xa438, 0x1800 }, \ 1678 { 0xa438, 0x0556 }, \ 1679 { 0xa438, 0xcb92 }, \ 1680 { 0xa438, 0xd700 }, \ 1681 { 0xa438, 0x4063 }, \ 1682 { 0xa438, 0xd116 }, \ 1683 { 0xa438, 0xf002 }, \ 1684 { 0xa438, 0xd119 }, \ 1685 { 0xa438, 0xd040 }, \ 1686 { 0xa438, 0xd703 }, \ 1687 { 0xa438, 0x60a0 }, \ 1688 { 0xa438, 0x6241 }, \ 1689 { 0xa438, 0x63e2 }, \ 1690 { 0xa438, 0x6583 }, \ 1691 { 0xa438, 0xf054 }, \ 1692 { 0xa438, 0xd701 }, \ 1693 { 0xa438, 0x611e }, \ 1694 { 0xa438, 0xd701 }, \ 1695 { 0xa438, 0x40da }, \ 1696 { 0xa438, 0x0cf0 }, \ 1697 { 0xa438, 0x0d10 }, \ 1698 { 0xa438, 0xa010 }, \ 1699 { 0xa438, 0x8740 }, \ 1700 { 0xa438, 0xf02f }, \ 1701 { 0xa438, 0x0cf0 }, \ 1702 { 0xa438, 0x0d50 }, \ 1703 { 0xa438, 0x8010 }, \ 1704 { 0xa438, 0xa740 }, \ 1705 { 0xa438, 0xf02a }, \ 1706 { 0xa438, 0xd701 }, \ 1707 { 0xa438, 0x611e }, \ 1708 { 0xa438, 0xd701 }, \ 1709 { 0xa438, 0x40da }, \ 1710 { 0xa438, 0x0cf0 }, \ 1711 { 0xa438, 0x0d20 }, \ 1712 { 0xa438, 0xa010 }, \ 1713 { 0xa438, 0x8740 }, \ 1714 { 0xa438, 0xf021 }, \ 1715 { 0xa438, 0x0cf0 }, \ 1716 { 0xa438, 0x0d60 }, \ 1717 { 0xa438, 0x8010 }, \ 1718 { 0xa438, 0xa740 }, \ 1719 { 0xa438, 0xf01c }, \ 1720 { 0xa438, 0xd701 }, \ 1721 { 0xa438, 0x611e }, \ 1722 { 0xa438, 0xd701 }, \ 1723 { 0xa438, 0x40da }, \ 1724 { 0xa438, 0x0cf0 }, \ 1725 { 0xa438, 0x0d30 }, \ 1726 { 0xa438, 0xa010 }, \ 1727 { 0xa438, 0x8740 }, \ 1728 { 0xa438, 0xf013 }, \ 1729 { 0xa438, 0x0cf0 }, \ 1730 { 0xa438, 0x0d70 }, \ 1731 { 0xa438, 0x8010 }, \ 1732 { 0xa438, 0xa740 }, \ 1733 { 0xa438, 0xf00e }, \ 1734 { 0xa438, 0xd701 }, \ 1735 { 0xa438, 0x611e }, \ 1736 { 0xa438, 0xd701 }, \ 1737 { 0xa438, 0x40da }, \ 1738 { 0xa438, 0x0cf0 }, \ 1739 { 0xa438, 0x0d40 }, \ 1740 { 0xa438, 0xa010 }, \ 1741 { 0xa438, 0x8740 }, \ 1742 { 0xa438, 0xf005 }, \ 1743 { 0xa438, 0x0cf0 }, \ 1744 { 0xa438, 0x0d80 }, \ 1745 { 0xa438, 0x8010 }, \ 1746 { 0xa438, 0xa740 }, \ 1747 { 0xa438, 0x1000 }, \ 1748 { 0xa438, 0x07e8 }, \ 1749 { 0xa438, 0xa610 }, \ 1750 { 0xa438, 0xd704 }, \ 1751 { 0xa438, 0x405d }, \ 1752 { 0xa438, 0xa720 }, \ 1753 { 0xa438, 0xd700 }, \ 1754 { 0xa438, 0x5ff4 }, \ 1755 { 0xa438, 0xa008 }, \ 1756 { 0xa438, 0xd704 }, \ 1757 { 0xa438, 0x4046 }, \ 1758 { 0xa438, 0xa002 }, \ 1759 { 0xa438, 0x1000 }, \ 1760 { 0xa438, 0x0743 }, \ 1761 { 0xa438, 0x1000 }, \ 1762 { 0xa438, 0x07fb }, \ 1763 { 0xa438, 0xd703 }, \ 1764 { 0xa438, 0x7f6f }, \ 1765 { 0xa438, 0x7f4e }, \ 1766 { 0xa438, 0x7f2d }, \ 1767 { 0xa438, 0x7f0c }, \ 1768 { 0xa438, 0x800a }, \ 1769 { 0xa438, 0x0cf0 }, \ 1770 { 0xa438, 0x0d00 }, \ 1771 { 0xa438, 0x1000 }, \ 1772 { 0xa438, 0x07e8 }, \ 1773 { 0xa438, 0x8010 }, \ 1774 { 0xa438, 0xa740 }, \ 1775 { 0xa438, 0x1000 }, \ 1776 { 0xa438, 0x0743 }, \ 1777 { 0xa438, 0xd702 }, \ 1778 { 0xa438, 0x7fb5 }, \ 1779 { 0xa438, 0xd701 }, \ 1780 { 0xa438, 0x3ad4 }, \ 1781 { 0xa438, 0x0556 }, \ 1782 { 0xa438, 0x8610 }, \ 1783 { 0xa438, 0x1800 }, \ 1784 { 0xa438, 0x066e }, \ 1785 { 0xa438, 0xd1f5 }, \ 1786 { 0xa438, 0xd049 }, \ 1787 { 0xa438, 0x1800 }, \ 1788 { 0xa438, 0x01ec }, \ 1789 { 0xa436, 0xa10e }, \ 1790 { 0xa438, 0x01ea }, \ 1791 { 0xa436, 0xa10c }, \ 1792 { 0xa438, 0x06a9 }, \ 1793 { 0xa436, 0xa10a }, \ 1794 { 0xa438, 0x078a }, \ 1795 { 0xa436, 0xa108 }, \ 1796 { 0xa438, 0x03d2 }, \ 1797 { 0xa436, 0xa106 }, \ 1798 { 0xa438, 0x067f }, \ 1799 { 0xa436, 0xa104 }, \ 1800 { 0xa438, 0x0665 }, \ 1801 { 0xa436, 0xa102 }, \ 1802 { 0xa438, 0x0000 }, \ 1803 { 0xa436, 0xa100 }, \ 1804 { 0xa438, 0x0000 }, \ 1805 { 0xa436, 0xa110 }, \ 1806 { 0xa438, 0x00fc }, \ 1807 { 0xa436, 0xb87c }, \ 1808 { 0xa438, 0x8530 }, \ 1809 { 0xa436, 0xb87e }, \ 1810 { 0xa438, 0xaf85 }, \ 1811 { 0xa438, 0x3caf }, \ 1812 { 0xa438, 0x8545 }, \ 1813 { 0xa438, 0xaf85 }, \ 1814 { 0xa438, 0x45af }, \ 1815 { 0xa438, 0x8545 }, \ 1816 { 0xa438, 0xee82 }, \ 1817 { 0xa438, 0xf900 }, \ 1818 { 0xa438, 0x0103 }, \ 1819 { 0xa438, 0xaf03 }, \ 1820 { 0xa438, 0xb7f8 }, \ 1821 { 0xa438, 0xe0a6 }, \ 1822 { 0xa438, 0x00e1 }, \ 1823 { 0xa438, 0xa601 }, \ 1824 { 0xa438, 0xef01 }, \ 1825 { 0xa438, 0x58f0 }, \ 1826 { 0xa438, 0xa080 }, \ 1827 { 0xa438, 0x37a1 }, \ 1828 { 0xa438, 0x8402 }, \ 1829 { 0xa438, 0xae16 }, \ 1830 { 0xa438, 0xa185 }, \ 1831 { 0xa438, 0x02ae }, \ 1832 { 0xa438, 0x11a1 }, \ 1833 { 0xa438, 0x8702 }, \ 1834 { 0xa438, 0xae0c }, \ 1835 { 0xa438, 0xa188 }, \ 1836 { 0xa438, 0x02ae }, \ 1837 { 0xa438, 0x07a1 }, \ 1838 { 0xa438, 0x8902 }, \ 1839 { 0xa438, 0xae02 }, \ 1840 { 0xa438, 0xae1c }, \ 1841 { 0xa438, 0xe0b4 }, \ 1842 { 0xa438, 0x62e1 }, \ 1843 { 0xa438, 0xb463 }, \ 1844 { 0xa438, 0x6901 }, \ 1845 { 0xa438, 0xe4b4 }, \ 1846 { 0xa438, 0x62e5 }, \ 1847 { 0xa438, 0xb463 }, \ 1848 { 0xa438, 0xe0b4 }, \ 1849 { 0xa438, 0x62e1 }, \ 1850 { 0xa438, 0xb463 }, \ 1851 { 0xa438, 0x6901 }, \ 1852 { 0xa438, 0xe4b4 }, \ 1853 { 0xa438, 0x62e5 }, \ 1854 { 0xa438, 0xb463 }, \ 1855 { 0xa438, 0xfc04 }, \ 1856 { 0xa436, 0xb85e }, \ 1857 { 0xa438, 0x03b3 }, \ 1858 { 0xa436, 0xb860 }, \ 1859 { 0xa438, 0xffff }, \ 1860 { 0xa436, 0xb862 }, \ 1861 { 0xa438, 0xffff }, \ 1862 { 0xa436, 0xb864 }, \ 1863 { 0xa438, 0xffff }, \ 1864 { 0xa436, 0xb878 }, \ 1865 { 0xa438, 0x0001 } 1866