1 /* $OpenBSD: if_rgereg.h,v 1.10 2023/12/22 05:28:14 kevlo Exp $ */ 2 3 /* 4 * Copyright (c) 2019, 2020 Kevin Lo <kevlo@openbsd.org> 5 * 6 * Permission to use, copy, modify, and distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19 #define RGE_PCI_BAR0 PCI_MAPREG_START 20 #define RGE_PCI_BAR1 (PCI_MAPREG_START + 4) 21 #define RGE_PCI_BAR2 (PCI_MAPREG_START + 8) 22 23 #define RGE_MAC0 0x0000 24 #define RGE_MAC4 0x0004 25 #define RGE_MAR0 0x0008 26 #define RGE_MAR4 0x000c 27 #define RGE_TXDESC_ADDR_LO 0x0020 28 #define RGE_TXDESC_ADDR_HI 0x0024 29 #define RGE_INT_CFG0 0x0034 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_TIMERINT0 0x0058 45 #define RGE_TIMERINT1 0x005c 46 #define RGE_CSIDR 0x0064 47 #define RGE_CSIAR 0x0068 48 #define RGE_PHYSTAT 0x006c 49 #define RGE_PMCH 0x006f 50 #define RGE_INT_CFG1 0x007a 51 #define RGE_EPHYAR 0x0080 52 #define RGE_TIMERINT2 0x008c 53 #define RGE_TXSTART 0x0090 54 #define RGE_MACOCP 0x00b0 55 #define RGE_PHYOCP 0x00b8 56 #define RGE_DLLPR 0x00d0 57 #define RGE_TWICMD 0x00d2 58 #define RGE_MCUCMD 0x00d3 59 #define RGE_RXMAXSIZE 0x00da 60 #define RGE_CPLUSCMD 0x00e0 61 #define RGE_IM 0x00e2 62 #define RGE_RXDESC_ADDR_LO 0x00e4 63 #define RGE_RXDESC_ADDR_HI 0x00e8 64 #define RGE_PPSW 0x00f2 65 #define RGE_TIMERINT3 0x00f4 66 #define RGE_INTMITI(i) (0x0a00 + (i) * 4) 67 #define RGE_PHYBASE 0x0a40 68 #define RGE_ADDR0 0x19e0 69 #define RGE_ADDR1 0x19e4 70 #define RGE_RSS_CTRL 0x4500 71 #define RGE_RXQUEUE_CTRL 0x4800 72 #define RGE_EEE_TXIDLE_TIMER 0x6048 73 74 /* Flags for register RGE_INT_CFG0 */ 75 #define RGE_INT_CFG0_EN 0x01 76 #define RGE_INT_CFG0_TIMEOUT_BYPASS 0x02 77 #define RGE_INT_CFG0_MITIGATION_BYPASS 0x04 78 79 /* Flags for register RGE_CMD */ 80 #define RGE_CMD_RXBUF_EMPTY 0x01 81 #define RGE_CMD_TXENB 0x04 82 #define RGE_CMD_RXENB 0x08 83 #define RGE_CMD_RESET 0x10 84 #define RGE_CMD_STOPREQ 0x80 85 86 /* Flags for register RGE_ISR */ 87 #define RGE_ISR_RX_OK 0x00000001 88 #define RGE_ISR_RX_ERR 0x00000002 89 #define RGE_ISR_TX_OK 0x00000004 90 #define RGE_ISR_TX_ERR 0x00000008 91 #define RGE_ISR_RX_DESC_UNAVAIL 0x00000010 92 #define RGE_ISR_LINKCHG 0x00000020 93 #define RGE_ISR_RX_FIFO_OFLOW 0x00000040 94 #define RGE_ISR_TX_DESC_UNAVAIL 0x00000080 95 #define RGE_ISR_SWI 0x00000100 96 #define RGE_ISR_PCS_TIMEOUT 0x00004000 97 #define RGE_ISR_SYSTEM_ERR 0x00008000 98 99 #define RGE_INTRS \ 100 (RGE_ISR_RX_OK | RGE_ISR_RX_ERR | RGE_ISR_TX_OK | \ 101 RGE_ISR_TX_ERR | RGE_ISR_LINKCHG | RGE_ISR_TX_DESC_UNAVAIL | \ 102 RGE_ISR_PCS_TIMEOUT | RGE_ISR_SYSTEM_ERR) 103 104 #define RGE_INTRS_TIMER \ 105 (RGE_ISR_RX_ERR | RGE_ISR_TX_ERR | RGE_ISR_PCS_TIMEOUT | \ 106 RGE_ISR_SYSTEM_ERR) 107 108 /* Flags for register RGE_TXCFG */ 109 #define RGE_TXCFG_HWREV 0x7cf00000 110 111 /* Flags for register RGE_RXCFG */ 112 #define RGE_RXCFG_ALLPHYS 0x00000001 113 #define RGE_RXCFG_INDIV 0x00000002 114 #define RGE_RXCFG_MULTI 0x00000004 115 #define RGE_RXCFG_BROAD 0x00000008 116 #define RGE_RXCFG_RUNT 0x00000010 117 #define RGE_RXCFG_ERRPKT 0x00000020 118 #define RGE_RXCFG_VLANSTRIP 0x00c00000 119 120 /* Flags for register RGE_EECMD */ 121 #define RGE_EECMD_WRITECFG 0xc0 122 123 /* Flags for register RGE_CFG1 */ 124 #define RGE_CFG1_PM_EN 0x01 125 #define RGE_CFG1_SPEED_DOWN 0x10 126 127 /* Flags for register RGE_CFG2 */ 128 #define RGE_CFG2_PMSTS_EN 0x20 129 #define RGE_CFG2_CLKREQ_EN 0x80 130 131 /* Flags for register RGE_CFG3 */ 132 #define RGE_CFG3_RDY_TO_L23 0x02 133 #define RGE_CFG3_WOL_LINK 0x10 134 #define RGE_CFG3_WOL_MAGIC 0x20 135 136 /* Flags for register RGE_CFG5 */ 137 #define RGE_CFG5_PME_STS 0x01 138 #define RGE_CFG5_WOL_LANWAKE 0x02 139 #define RGE_CFG5_WOL_UCAST 0x10 140 #define RGE_CFG5_WOL_MCAST 0x20 141 #define RGE_CFG5_WOL_BCAST 0x40 142 143 /* Flags for register RGE_CSIAR */ 144 #define RGE_CSIAR_BYTE_EN 0x0000000f 145 #define RGE_CSIAR_BYTE_EN_SHIFT 12 146 #define RGE_CSIAR_ADDR_MASK 0x00000fff 147 #define RGE_CSIAR_BUSY 0x80000000 148 149 /* Flags for register RGE_PHYSTAT */ 150 #define RGE_PHYSTAT_FDX 0x0001 151 #define RGE_PHYSTAT_LINK 0x0002 152 #define RGE_PHYSTAT_10MBPS 0x0004 153 #define RGE_PHYSTAT_100MBPS 0x0008 154 #define RGE_PHYSTAT_1000MBPS 0x0010 155 #define RGE_PHYSTAT_RXFLOW 0x0020 156 #define RGE_PHYSTAT_TXFLOW 0x0040 157 #define RGE_PHYSTAT_2500MBPS 0x0400 158 159 /* Flags for register RGE_EPHYAR */ 160 #define RGE_EPHYAR_DATA_MASK 0x0000ffff 161 #define RGE_EPHYAR_BUSY 0x80000000 162 #define RGE_EPHYAR_ADDR_MASK 0x0000007f 163 #define RGE_EPHYAR_ADDR_SHIFT 16 164 165 /* Flags for register RGE_TXSTART */ 166 #define RGE_TXSTART_START 0x0001 167 168 /* Flags for register RGE_MACOCP */ 169 #define RGE_MACOCP_DATA_MASK 0x0000ffff 170 #define RGE_MACOCP_BUSY 0x80000000 171 #define RGE_MACOCP_ADDR_SHIFT 16 172 173 /* Flags for register RGE_PHYOCP */ 174 #define RGE_PHYOCP_DATA_MASK 0x0000ffff 175 #define RGE_PHYOCP_BUSY 0x80000000 176 #define RGE_PHYOCP_ADDR_SHIFT 16 177 178 /* Flags for register RGE_DLLPR. */ 179 #define RGE_DLLPR_PFM_EN 0x40 180 #define RGE_DLLPR_TX_10M_PS_EN 0x80 181 182 /* Flags for register RGE_MCUCMD */ 183 #define RGE_MCUCMD_RXFIFO_EMPTY 0x10 184 #define RGE_MCUCMD_TXFIFO_EMPTY 0x20 185 #define RGE_MCUCMD_IS_OOB 0x80 186 187 /* Flags for register RGE_CPLUSCMD */ 188 #define RGE_CPLUSCMD_RXCSUM 0x0020 189 190 #define RGE_TX_NSEGS 32 191 #define RGE_TX_LIST_CNT 1024 192 #define RGE_RX_LIST_CNT 1024 193 #define RGE_ALIGN 256 194 #define RGE_TX_LIST_SZ (sizeof(struct rge_tx_desc) * RGE_TX_LIST_CNT) 195 #define RGE_RX_LIST_SZ (sizeof(struct rge_rx_desc) * RGE_RX_LIST_CNT) 196 #define RGE_NEXT_TX_DESC(x) (((x) + 1) % RGE_TX_LIST_CNT) 197 #define RGE_NEXT_RX_DESC(x) (((x) + 1) % RGE_RX_LIST_CNT) 198 #define RGE_ADDR_LO(y) ((uint64_t) (y) & 0xffffffff) 199 #define RGE_ADDR_HI(y) ((uint64_t) (y) >> 32) 200 201 #define RGE_ADV_2500TFDX 0x0080 202 203 /* Tx descriptor */ 204 struct rge_tx_desc { 205 uint32_t rge_cmdsts; 206 uint32_t rge_extsts; 207 uint32_t rge_addrlo; 208 uint32_t rge_addrhi; 209 uint32_t reserved[4]; 210 }; 211 212 #define RGE_TDCMDSTS_COLL 0x000f0000 213 #define RGE_TDCMDSTS_EXCESSCOLL 0x00100000 214 #define RGE_TDCMDSTS_TXERR 0x00800000 215 #define RGE_TDCMDSTS_EOF 0x10000000 216 #define RGE_TDCMDSTS_SOF 0x20000000 217 #define RGE_TDCMDSTS_EOR 0x40000000 218 #define RGE_TDCMDSTS_OWN 0x80000000 219 220 #define RGE_TDEXTSTS_VTAG 0x00020000 221 #define RGE_TDEXTSTS_IPCSUM 0x20000000 222 #define RGE_TDEXTSTS_TCPCSUM 0x40000000 223 #define RGE_TDEXTSTS_UDPCSUM 0x80000000 224 225 /* Rx descriptor */ 226 struct rge_rx_desc { 227 union { 228 struct { 229 uint32_t rsvd0; 230 uint32_t rsvd1; 231 } rx_qword0; 232 } lo_qword0; 233 234 union { 235 struct { 236 uint32_t rss; 237 uint16_t length; 238 uint16_t hdr_info; 239 } rx_qword1; 240 241 struct { 242 uint32_t rsvd2; 243 uint32_t rsvd3; 244 } rx_qword2; 245 } lo_qword1; 246 247 union { 248 uint64_t rge_addr; 249 250 struct { 251 uint64_t timestamp; 252 } rx_timestamp; 253 254 struct { 255 uint32_t rsvd4; 256 uint32_t rsvd5; 257 } rx_qword3; 258 } hi_qword0; 259 260 union { 261 struct { 262 uint32_t rge_extsts; 263 uint32_t rge_cmdsts; 264 } rx_qword4; 265 266 struct { 267 uint16_t rsvd6; 268 uint16_t rsvd7; 269 uint32_t rsvd8; 270 } rx_ptp; 271 } hi_qword1; 272 }; 273 274 #define RGE_RDCMDSTS_RXERRSUM 0x00100000 275 #define RGE_RDCMDSTS_EOF 0x01000000 276 #define RGE_RDCMDSTS_SOF 0x02000000 277 #define RGE_RDCMDSTS_EOR 0x40000000 278 #define RGE_RDCMDSTS_OWN 0x80000000 279 #define RGE_RDCMDSTS_FRAGLEN 0x00003fff 280 281 #define RGE_RDEXTSTS_VTAG 0x00010000 282 #define RGE_RDEXTSTS_VLAN_MASK 0x0000ffff 283 #define RGE_RDEXTSTS_TCPCSUMERR 0x01000000 284 #define RGE_RDEXTSTS_UDPCSUMERR 0x02000000 285 #define RGE_RDEXTSTS_IPCSUMERR 0x04000000 286 #define RGE_RDEXTSTS_TCPPKT 0x10000000 287 #define RGE_RDEXTSTS_UDPPKT 0x20000000 288 #define RGE_RDEXTSTS_IPV4 0x40000000 289 #define RGE_RDEXTSTS_IPV6 0x80000000 290 291 /* 292 * Statistics counter structure 293 */ 294 struct rge_stats { 295 uint64_t rge_tx_ok; 296 uint64_t rge_rx_ok; 297 uint64_t rge_tx_er; 298 uint32_t rge_rx_er; 299 uint16_t rge_miss_pkt; 300 uint16_t rge_fae; 301 uint32_t rge_tx_1col; 302 uint32_t rge_tx_mcol; 303 uint64_t rge_rx_ok_phy; 304 uint64_t rge_rx_ok_brd; 305 uint32_t rge_rx_ok_mul; 306 uint16_t rge_tx_abt; 307 uint16_t rge_tx_undrn; 308 } __packed __aligned(sizeof(uint64_t)); 309 310 #define RGE_STATS_ALIGNMENT 64 311 312 struct rge_txq { 313 struct mbuf *txq_mbuf; 314 bus_dmamap_t txq_dmamap; 315 int txq_descidx; 316 }; 317 318 struct rge_rxq { 319 struct mbuf *rxq_mbuf; 320 bus_dmamap_t rxq_dmamap; 321 }; 322 323 struct rge_tx { 324 struct rge_txq rge_txq[RGE_TX_LIST_CNT]; 325 int rge_txq_prodidx; 326 int rge_txq_considx; 327 328 bus_dma_segment_t rge_tx_listseg; 329 int rge_tx_listnseg; 330 bus_dmamap_t rge_tx_list_map; 331 struct rge_tx_desc *rge_tx_list; 332 }; 333 334 struct rge_rx { 335 struct rge_rxq rge_rxq[RGE_RX_LIST_CNT]; 336 int rge_rxq_prodidx; 337 int rge_rxq_considx; 338 339 struct if_rxring rge_rx_ring; 340 bus_dma_segment_t rge_rx_listseg; 341 int rge_rx_listnseg; 342 bus_dmamap_t rge_rx_list_map; 343 struct rge_rx_desc *rge_rx_list; 344 345 struct mbuf *rge_head; 346 struct mbuf *rge_tail; 347 }; 348 349 struct rge_queues { 350 struct rge_softc *q_sc; 351 void *q_ihc; 352 int q_index; 353 char q_name[16]; 354 pci_intr_handle_t q_ih; 355 struct rge_tx q_tx; 356 struct rge_rx q_rx; 357 }; 358 359 /* Microcode version */ 360 #define RGE_MAC_CFG3_MCODE_VER 0x0b33 361 #define RGE_MAC_CFG5_MCODE_VER 0x0b74 362 363 enum rge_mac_type { 364 MAC_CFG_UNKNOWN = 1, 365 MAC_CFG2, 366 MAC_CFG3, 367 MAC_CFG4, 368 MAC_CFG5 369 }; 370 371 #define RGE_TIMEOUT 100 372 373 #define RGE_JUMBO_FRAMELEN 9216 374 #define RGE_JUMBO_MTU \ 375 (RGE_JUMBO_FRAMELEN - ETHER_HDR_LEN - ETHER_CRC_LEN - \ 376 ETHER_VLAN_ENCAP_LEN) 377 378 #define RGE_TXCFG_CONFIG 0x03000700 379 #define RGE_RXCFG_CONFIG 0x41c00700 380 #define RGE_RXCFG_CONFIG_8125B 0x41c00f00 381 382 struct kstat; 383 384 struct rge_softc { 385 struct device sc_dev; 386 struct arpcom sc_arpcom; /* Ethernet common data */ 387 void *sc_ih; /* interrupt vectoring */ 388 bus_space_handle_t rge_bhandle; /* bus space handle */ 389 bus_space_tag_t rge_btag; /* bus space tag */ 390 bus_size_t rge_bsize; 391 bus_dma_tag_t sc_dmat; 392 pci_chipset_tag_t sc_pc; 393 pcitag_t sc_tag; 394 struct ifmedia sc_media; /* media info */ 395 enum rge_mac_type rge_type; 396 397 struct rge_queues *sc_queues; 398 unsigned int sc_nqueues; 399 400 struct task sc_task; 401 402 struct timeout sc_timeout; /* tick timeout */ 403 404 uint16_t rge_mcodever; 405 uint32_t rge_flags; 406 #define RGE_FLAG_MSI 0x00000001 407 408 uint32_t rge_intrs; 409 int rge_timerintr; 410 #define RGE_IMTYPE_NONE 0 411 #define RGE_IMTYPE_SIM 1 412 413 struct kstat *sc_kstat; 414 }; 415 416 /* 417 * Register space access macros. 418 */ 419 #define RGE_WRITE_4(sc, reg, val) \ 420 bus_space_write_4(sc->rge_btag, sc->rge_bhandle, reg, val) 421 #define RGE_WRITE_2(sc, reg, val) \ 422 bus_space_write_2(sc->rge_btag, sc->rge_bhandle, reg, val) 423 #define RGE_WRITE_1(sc, reg, val) \ 424 bus_space_write_1(sc->rge_btag, sc->rge_bhandle, reg, val) 425 426 #define RGE_READ_4(sc, reg) \ 427 bus_space_read_4(sc->rge_btag, sc->rge_bhandle, reg) 428 #define RGE_READ_2(sc, reg) \ 429 bus_space_read_2(sc->rge_btag, sc->rge_bhandle, reg) 430 #define RGE_READ_1(sc, reg) \ 431 bus_space_read_1(sc->rge_btag, sc->rge_bhandle, reg) 432 433 #define RGE_SETBIT_4(sc, reg, val) \ 434 RGE_WRITE_4(sc, reg, RGE_READ_4(sc, reg) | (val)) 435 #define RGE_SETBIT_2(sc, reg, val) \ 436 RGE_WRITE_2(sc, reg, RGE_READ_2(sc, reg) | (val)) 437 #define RGE_SETBIT_1(sc, reg, val) \ 438 RGE_WRITE_1(sc, reg, RGE_READ_1(sc, reg) | (val)) 439 440 #define RGE_CLRBIT_4(sc, reg, val) \ 441 RGE_WRITE_4(sc, reg, RGE_READ_4(sc, reg) & ~(val)) 442 #define RGE_CLRBIT_2(sc, reg, val) \ 443 RGE_WRITE_2(sc, reg, RGE_READ_2(sc, reg) & ~(val)) 444 #define RGE_CLRBIT_1(sc, reg, val) \ 445 RGE_WRITE_1(sc, reg, RGE_READ_1(sc, reg) & ~(val)) 446 447 #define RGE_EPHY_SETBIT(sc, reg, val) \ 448 rge_write_ephy(sc, reg, rge_read_ephy(sc, reg) | (val)) 449 450 #define RGE_EPHY_CLRBIT(sc, reg, val) \ 451 rge_write_ephy(sc, reg, rge_read_ephy(sc, reg) & ~(val)) 452 453 #define RGE_PHY_SETBIT(sc, reg, val) \ 454 rge_write_phy_ocp(sc, reg, rge_read_phy_ocp(sc, reg) | (val)) 455 456 #define RGE_PHY_CLRBIT(sc, reg, val) \ 457 rge_write_phy_ocp(sc, reg, rge_read_phy_ocp(sc, reg) & ~(val)) 458 459 #define RGE_MAC_SETBIT(sc, reg, val) \ 460 rge_write_mac_ocp(sc, reg, rge_read_mac_ocp(sc, reg) | (val)) 461 462 #define RGE_MAC_CLRBIT(sc, reg, val) \ 463 rge_write_mac_ocp(sc, reg, rge_read_mac_ocp(sc, reg) & ~(val)) 464 465 static const struct { 466 uint16_t reg; 467 uint16_t val; 468 } rtl8125_mac_bps[] = { 469 { 0xf800, 0xe010 }, { 0xf802, 0xe012 }, { 0xf804, 0xe022 }, 470 { 0xf806, 0xe024 }, { 0xf808, 0xe029 }, { 0xf80a, 0xe02b }, 471 { 0xf80c, 0xe094 }, { 0xf80e, 0xe09d }, { 0xf810, 0xe09f }, 472 { 0xf812, 0xe0aa }, { 0xf814, 0xe0b5 }, { 0xf816, 0xe0c6 }, 473 { 0xf818, 0xe0cc }, { 0xf81a, 0xe0d1 }, { 0xf81c, 0xe0d6 }, 474 { 0xf81e, 0xe0d8 }, { 0xf820, 0xc602 }, { 0xf822, 0xbe00 }, 475 { 0xf824, 0x0000 }, { 0xf826, 0xc60f }, { 0xf828, 0x73c4 }, 476 { 0xf82a, 0x49b3 }, { 0xf82c, 0xf106 }, { 0xf82e, 0x73c2 }, 477 { 0xf830, 0xc608 }, { 0xf832, 0xb406 }, { 0xf834, 0xc609 }, 478 { 0xf836, 0xff80 }, { 0xf838, 0xc605 }, { 0xf83a, 0xb406 }, 479 { 0xf83c, 0xc605 }, { 0xf83e, 0xff80 }, { 0xf840, 0x0544 }, 480 { 0xf842, 0x0568 }, { 0xf844, 0xe906 }, { 0xf846, 0xcde8 }, 481 { 0xf848, 0xc602 }, { 0xf84a, 0xbe00 }, { 0xf84c, 0x0000 }, 482 { 0xf84e, 0x48c1 }, { 0xf850, 0x48c2 }, { 0xf852, 0x9c46 }, 483 { 0xf854, 0xc402 }, { 0xf856, 0xbc00 }, { 0xf858, 0x0a12 }, 484 { 0xf85a, 0xc602 }, { 0xf85c, 0xbe00 }, { 0xf85e, 0x0eba }, 485 { 0xf860, 0x1501 }, { 0xf862, 0xf02a }, { 0xf864, 0x1500 }, 486 { 0xf866, 0xf15d }, { 0xf868, 0xc661 }, { 0xf86a, 0x75c8 }, 487 { 0xf86c, 0x49d5 }, { 0xf86e, 0xf00a }, { 0xf870, 0x49d6 }, 488 { 0xf872, 0xf008 }, { 0xf874, 0x49d7 }, { 0xf876, 0xf006 }, 489 { 0xf878, 0x49d8 }, { 0xf87a, 0xf004 }, { 0xf87c, 0x75d2 }, 490 { 0xf87e, 0x49d9 }, { 0xf880, 0xf150 }, { 0xf882, 0xc553 }, 491 { 0xf884, 0x77a0 }, { 0xf886, 0x75c8 }, { 0xf888, 0x4855 }, 492 { 0xf88a, 0x4856 }, { 0xf88c, 0x4857 }, { 0xf88e, 0x4858 }, 493 { 0xf890, 0x48da }, { 0xf892, 0x48db }, { 0xf894, 0x49fe }, 494 { 0xf896, 0xf002 }, { 0xf898, 0x485a }, { 0xf89a, 0x49ff }, 495 { 0xf89c, 0xf002 }, { 0xf89e, 0x485b }, { 0xf8a0, 0x9dc8 }, 496 { 0xf8a2, 0x75d2 }, { 0xf8a4, 0x4859 }, { 0xf8a6, 0x9dd2 }, 497 { 0xf8a8, 0xc643 }, { 0xf8aa, 0x75c0 }, { 0xf8ac, 0x49d4 }, 498 { 0xf8ae, 0xf033 }, { 0xf8b0, 0x49d0 }, { 0xf8b2, 0xf137 }, 499 { 0xf8b4, 0xe030 }, { 0xf8b6, 0xc63a }, { 0xf8b8, 0x75c8 }, 500 { 0xf8ba, 0x49d5 }, { 0xf8bc, 0xf00e }, { 0xf8be, 0x49d6 }, 501 { 0xf8c0, 0xf00c }, { 0xf8c2, 0x49d7 }, { 0xf8c4, 0xf00a }, 502 { 0xf8c6, 0x49d8 }, { 0xf8c8, 0xf008 }, { 0xf8ca, 0x75d2 }, 503 { 0xf8cc, 0x49d9 }, { 0xf8ce, 0xf005 }, { 0xf8d0, 0xc62e }, 504 { 0xf8d2, 0x75c0 }, { 0xf8d4, 0x49d7 }, { 0xf8d6, 0xf125 }, 505 { 0xf8d8, 0xc528 }, { 0xf8da, 0x77a0 }, { 0xf8dc, 0xc627 }, 506 { 0xf8de, 0x75c8 }, { 0xf8e0, 0x4855 }, { 0xf8e2, 0x4856 }, 507 { 0xf8e4, 0x4857 }, { 0xf8e6, 0x4858 }, { 0xf8e8, 0x48da }, 508 { 0xf8ea, 0x48db }, { 0xf8ec, 0x49fe }, { 0xf8ee, 0xf002 }, 509 { 0xf8f0, 0x485a }, { 0xf8f2, 0x49ff }, { 0xf8f4, 0xf002 }, 510 { 0xf8f6, 0x485b }, { 0xf8f8, 0x9dc8 }, { 0xf8fa, 0x75d2 }, 511 { 0xf8fc, 0x4859 }, { 0xf8fe, 0x9dd2 }, { 0xf900, 0xc616 }, 512 { 0xf902, 0x75c0 }, { 0xf904, 0x4857 }, { 0xf906, 0x9dc0 }, 513 { 0xf908, 0xc613 }, { 0xf90a, 0x75c0 }, { 0xf90c, 0x49da }, 514 { 0xf90e, 0xf003 }, { 0xf910, 0x49d0 }, { 0xf912, 0xf107 }, 515 { 0xf914, 0xc60b }, { 0xf916, 0xc50e }, { 0xf918, 0x48d9 }, 516 { 0xf91a, 0x9dc0 }, { 0xf91c, 0x4859 }, { 0xf91e, 0x9dc0 }, 517 { 0xf920, 0xc608 }, { 0xf922, 0xc702 }, { 0xf924, 0xbf00 }, 518 { 0xf926, 0x3ae0 }, { 0xf928, 0xe860 }, { 0xf92a, 0xb400 }, 519 { 0xf92c, 0xb5d4 }, { 0xf92e, 0xe908 }, { 0xf930, 0xe86c }, 520 { 0xf932, 0x1200 }, { 0xf934, 0xc409 }, { 0xf936, 0x6780 }, 521 { 0xf938, 0x48f1 }, { 0xf93a, 0x8f80 }, { 0xf93c, 0xc404 }, 522 { 0xf93e, 0xc602 }, { 0xf940, 0xbe00 }, { 0xf942, 0x10aa }, 523 { 0xf944, 0xc010 }, { 0xf946, 0xea7c }, { 0xf948, 0xc602 }, 524 { 0xf94a, 0xbe00 }, { 0xf94c, 0x0000 }, { 0xf94e, 0x740a }, 525 { 0xf950, 0x4846 }, { 0xf952, 0x4847 }, { 0xf954, 0x9c0a }, 526 { 0xf956, 0xc607 }, { 0xf958, 0x74c0 }, { 0xf95a, 0x48c6 }, 527 { 0xf95c, 0x9cc0 }, { 0xf95e, 0xc602 }, { 0xf960, 0xbe00 }, 528 { 0xf962, 0x13fe }, { 0xf964, 0xe054 }, { 0xf966, 0x72ca }, 529 { 0xf968, 0x4826 }, { 0xf96a, 0x4827 }, { 0xf96c, 0x9aca }, 530 { 0xf96e, 0xc607 }, { 0xf970, 0x72c0 }, { 0xf972, 0x48a6 }, 531 { 0xf974, 0x9ac0 }, { 0xf976, 0xc602 }, { 0xf978, 0xbe00 }, 532 { 0xf97a, 0x07dc }, { 0xf97c, 0xe054 }, { 0xf97e, 0xc60f }, 533 { 0xf980, 0x74c4 }, { 0xf982, 0x49cc }, { 0xf984, 0xf109 }, 534 { 0xf986, 0xc60c }, { 0xf988, 0x74ca }, { 0xf98a, 0x48c7 }, 535 { 0xf98c, 0x9cca }, { 0xf98e, 0xc609 }, { 0xf990, 0x74c0 }, 536 { 0xf992, 0x4846 }, { 0xf994, 0x9cc0 }, { 0xf996, 0xc602 }, 537 { 0xf998, 0xbe00 }, { 0xf99a, 0x2480 }, { 0xf99c, 0xe092 }, 538 { 0xf99e, 0xe0c0 }, { 0xf9a0, 0xe054 }, { 0xf9a2, 0x7420 }, 539 { 0xf9a4, 0x48c0 }, { 0xf9a6, 0x9c20 }, { 0xf9a8, 0x7444 }, 540 { 0xf9aa, 0xc602 }, { 0xf9ac, 0xbe00 }, { 0xf9ae, 0x12f8 }, 541 { 0xf9b0, 0x1bff }, { 0xf9b2, 0x46eb }, { 0xf9b4, 0x1bff }, 542 { 0xf9b6, 0xc102 }, { 0xf9b8, 0xb900 }, { 0xf9ba, 0x0d5a }, 543 { 0xf9bc, 0x1bff }, { 0xf9be, 0x46eb }, { 0xf9c0, 0x1bff }, 544 { 0xf9c2, 0xc102 }, { 0xf9c4, 0xb900 }, { 0xf9c6, 0x0e2a }, 545 { 0xf9c8, 0xc602 }, { 0xf9ca, 0xbe00 }, { 0xf9cc, 0x0000 }, 546 { 0xf9ce, 0xc602 }, { 0xf9d0, 0xbe00 }, { 0xf9d2, 0x0000 }, 547 { 0xf9d4, 0x0000 }, { 0xf9d6, 0x0000 }, { 0xf9d8, 0x0000 }, 548 { 0xf9da, 0x0000 }, { 0xf9dc, 0x0000 }, { 0xf9de, 0x0000 }, 549 { 0xf9e0, 0x0000 }, { 0xf9e2, 0x0000 }, { 0xf9e4, 0x0000 }, 550 { 0xf9e6, 0x0000 }, { 0xf9e8, 0x0000 }, { 0xf9ea, 0x0000 }, 551 { 0xf9ec, 0x0000 }, { 0xf9ee, 0x0000 }, { 0xf9f0, 0x0000 }, 552 { 0xf9f2, 0x0000 }, { 0xf9f4, 0x0000 }, { 0xf9f6, 0x0000 }, 553 { 0xf9f8, 0x0000 }, { 0xf9fa, 0x0000 }, { 0xf9fc, 0x0000 }, 554 { 0xf9fe, 0x0000 } 555 }, rtl8125b_mac_bps[] = { 556 { 0xf800, 0xe010 }, { 0xf802, 0xe01b }, { 0xf804, 0xe026 }, 557 { 0xf806, 0xe037 }, { 0xf808, 0xe03d }, { 0xf80a, 0xe057 }, 558 { 0xf80c, 0xe05b }, { 0xf80e, 0xe060 }, { 0xf810, 0xe062 }, 559 { 0xf812, 0xe064 }, { 0xf814, 0xe066 }, { 0xf816, 0xe068 }, 560 { 0xf818, 0xe06a }, { 0xf81a, 0xe06c }, { 0xf81c, 0xe06e }, 561 { 0xf81e, 0xe070 }, { 0xf820, 0x740a }, { 0xf822, 0x4846 }, 562 { 0xf824, 0x4847 }, { 0xf826, 0x9c0a }, { 0xf828, 0xc607 }, 563 { 0xf82a, 0x74c0 }, { 0xf82c, 0x48c6 }, { 0xf82e, 0x9cc0 }, 564 { 0xf830, 0xc602 }, { 0xf832, 0xbe00 }, { 0xf834, 0x13f0 }, 565 { 0xf836, 0xe054 }, { 0xf838, 0x72ca }, { 0xf83a, 0x4826 }, 566 { 0xf83c, 0x4827 }, { 0xf83e, 0x9aca }, { 0xf840, 0xc607 }, 567 { 0xf842, 0x72c0 }, { 0xf844, 0x48a6 }, { 0xf846, 0x9ac0 }, 568 { 0xf848, 0xc602 }, { 0xf84a, 0xbe00 }, { 0xf84c, 0x081c }, 569 { 0xf84e, 0xe054 }, { 0xf850, 0xc60f }, { 0xf852, 0x74c4 }, 570 { 0xf854, 0x49cc }, { 0xf856, 0xf109 }, { 0xf858, 0xc60c }, 571 { 0xf85a, 0x74ca }, { 0xf85c, 0x48c7 }, { 0xf85e, 0x9cca }, 572 { 0xf860, 0xc609 }, { 0xf862, 0x74c0 }, { 0xf864, 0x4846 }, 573 { 0xf866, 0x9cc0 }, { 0xf868, 0xc602 }, { 0xf86a, 0xbe00 }, 574 { 0xf86c, 0x2494 }, { 0xf86e, 0xe092 }, { 0xf870, 0xe0c0 }, 575 { 0xf872, 0xe054 }, { 0xf874, 0x7420 }, { 0xf876, 0x48c0 }, 576 { 0xf878, 0x9c20 }, { 0xf87a, 0x7444 }, { 0xf87c, 0xc602 }, 577 { 0xf87e, 0xbe00 }, { 0xf880, 0x12dc }, { 0xf882, 0x733a }, 578 { 0xf884, 0x21b5 }, { 0xf886, 0x25bc }, { 0xf888, 0x1304 }, 579 { 0xf88a, 0xf111 }, { 0xf88c, 0x1b12 }, { 0xf88e, 0x1d2a }, 580 { 0xf890, 0x3168 }, { 0xf892, 0x3ada }, { 0xf894, 0x31ab }, 581 { 0xf896, 0x1a00 }, { 0xf898, 0x9ac0 }, { 0xf89a, 0x1300 }, 582 { 0xf89c, 0xf1fb }, { 0xf89e, 0x7620 }, { 0xf8a0, 0x236e }, 583 { 0xf8a2, 0x276f }, { 0xf8a4, 0x1a3c }, { 0xf8a6, 0x22a1 }, 584 { 0xf8a8, 0x41b5 }, { 0xf8aa, 0x9ee2 }, { 0xf8ac, 0x76e4 }, 585 { 0xf8ae, 0x486f }, { 0xf8b0, 0x9ee4 }, { 0xf8b2, 0xc602 }, 586 { 0xf8b4, 0xbe00 }, { 0xf8b6, 0x4a26 }, { 0xf8b8, 0x733a }, 587 { 0xf8ba, 0x49bb }, { 0xf8bc, 0xc602 }, { 0xf8be, 0xbe00 }, 588 { 0xf8c0, 0x47a2 }, { 0xf8c2, 0x48c1 }, { 0xf8c4, 0x48c2 }, 589 { 0xf8c6, 0x9c46 }, { 0xf8c8, 0xc402 }, { 0xf8ca, 0xbc00 }, 590 { 0xf8cc, 0x0a52 }, { 0xf8ce, 0xc602 }, { 0xf8d0, 0xbe00 }, 591 { 0xf8d2, 0x0000 }, { 0xf8d4, 0xc602 }, { 0xf8d6, 0xbe00 }, 592 { 0xf8d8, 0x0000 }, { 0xf8da, 0xc602 }, { 0xf8dc, 0xbe00 }, 593 { 0xf8de, 0x0000 }, { 0xf8e0, 0xc602 }, { 0xf8e2, 0xbe00 }, 594 { 0xf8e4, 0x0000 }, { 0xf8e6, 0xc602 }, { 0xf8e8, 0xbe00 }, 595 { 0xf8ea, 0x0000 }, { 0xf8ec, 0xc602 }, { 0xf8ee, 0xbe00 }, 596 { 0xf8f0, 0x0000 }, { 0xf8f2, 0xc602 }, { 0xf8f4, 0xbe00 }, 597 { 0xf8f6, 0x0000 }, { 0xf8f8, 0xc602 }, { 0xf8fa, 0xbe00 }, 598 { 0xf8fc, 0x0000 }, { 0xf8fe, 0xc602 }, { 0xf900, 0xbe00 }, 599 { 0xf902, 0x0000 }, { 0xfc26, 0x8000 }, { 0xfc28, 0x13e6 }, 600 { 0xfc2a, 0x0812 }, { 0xfc2c, 0x248c }, { 0xfc2e, 0x12da }, 601 { 0xfc30, 0x4a20 }, { 0xfc32, 0x47a0 }, { 0xfc48, 0x003f } 602 }; 603 604 static const struct { 605 uint16_t reg; 606 uint16_t val; 607 } rtl8125_mac_cfg3_ephy[] = { 608 { 0x0004, 0xd000 }, { 0x000a, 0x8653 }, { 0x0023, 0xab66 }, 609 { 0x0020, 0x9455 }, { 0x0021, 0x99ff }, { 0x0029, 0xfe04 }, 610 { 0x0044, 0xd000 }, { 0x004a, 0x8653 }, { 0x0063, 0xab66 }, 611 { 0x0060, 0x9455 }, { 0x0061, 0x99ff }, { 0x0069, 0xfe04 } 612 }, rtl8125_mac_cfg5_ephy[] = { 613 { 0x000b, 0xa908 }, { 0x001e, 0x20eb }, { 0x0022, 0x0023 }, 614 { 0x0002, 0x60c2 }, { 0x0029, 0xff00 }, { 0x004b, 0xa908 }, 615 { 0x005e, 0x28eb }, { 0x0062, 0x0023 }, { 0x0042, 0x60c2 }, 616 { 0x0069, 0xff00 } 617 }; 618 619 #define RTL8125_MAC_CFG3_MCU \ 620 { 0xa436, 0xa016 }, \ 621 { 0xa438, 0x0000 }, \ 622 { 0xa436, 0xa012 }, \ 623 { 0xa438, 0x0000 }, \ 624 { 0xa436, 0xa014 }, \ 625 { 0xa438, 0x1800 }, \ 626 { 0xa438, 0x8010 }, \ 627 { 0xa438, 0x1800 }, \ 628 { 0xa438, 0x808b }, \ 629 { 0xa438, 0x1800 }, \ 630 { 0xa438, 0x808f }, \ 631 { 0xa438, 0x1800 }, \ 632 { 0xa438, 0x8093 }, \ 633 { 0xa438, 0x1800 }, \ 634 { 0xa438, 0x8097 }, \ 635 { 0xa438, 0x1800 }, \ 636 { 0xa438, 0x809d }, \ 637 { 0xa438, 0x1800 }, \ 638 { 0xa438, 0x80a1 }, \ 639 { 0xa438, 0x1800 }, \ 640 { 0xa438, 0x80aa }, \ 641 { 0xa438, 0xd718 }, \ 642 { 0xa438, 0x607b }, \ 643 { 0xa438, 0x40da }, \ 644 { 0xa438, 0xf00e }, \ 645 { 0xa438, 0x42da }, \ 646 { 0xa438, 0xf01e }, \ 647 { 0xa438, 0xd718 }, \ 648 { 0xa438, 0x615b }, \ 649 { 0xa438, 0x1000 }, \ 650 { 0xa438, 0x1456 }, \ 651 { 0xa438, 0x1000 }, \ 652 { 0xa438, 0x14a4 }, \ 653 { 0xa438, 0x1000 }, \ 654 { 0xa438, 0x14bc }, \ 655 { 0xa438, 0xd718 }, \ 656 { 0xa438, 0x5f2e }, \ 657 { 0xa438, 0xf01c }, \ 658 { 0xa438, 0x1000 }, \ 659 { 0xa438, 0x1456 }, \ 660 { 0xa438, 0x1000 }, \ 661 { 0xa438, 0x14a4 }, \ 662 { 0xa438, 0x1000 }, \ 663 { 0xa438, 0x14bc }, \ 664 { 0xa438, 0xd718 }, \ 665 { 0xa438, 0x5f2e }, \ 666 { 0xa438, 0xf024 }, \ 667 { 0xa438, 0x1000 }, \ 668 { 0xa438, 0x1456 }, \ 669 { 0xa438, 0x1000 }, \ 670 { 0xa438, 0x14a4 }, \ 671 { 0xa438, 0x1000 }, \ 672 { 0xa438, 0x14bc }, \ 673 { 0xa438, 0xd718 }, \ 674 { 0xa438, 0x5f2e }, \ 675 { 0xa438, 0xf02c }, \ 676 { 0xa438, 0x1000 }, \ 677 { 0xa438, 0x1456 }, \ 678 { 0xa438, 0x1000 }, \ 679 { 0xa438, 0x14a4 }, \ 680 { 0xa438, 0x1000 }, \ 681 { 0xa438, 0x14bc }, \ 682 { 0xa438, 0xd718 }, \ 683 { 0xa438, 0x5f2e }, \ 684 { 0xa438, 0xf034 }, \ 685 { 0xa438, 0xd719 }, \ 686 { 0xa438, 0x4118 }, \ 687 { 0xa438, 0xd504 }, \ 688 { 0xa438, 0xac11 }, \ 689 { 0xa438, 0xd501 }, \ 690 { 0xa438, 0xce01 }, \ 691 { 0xa438, 0xa410 }, \ 692 { 0xa438, 0xce00 }, \ 693 { 0xa438, 0xd500 }, \ 694 { 0xa438, 0x4779 }, \ 695 { 0xa438, 0xd504 }, \ 696 { 0xa438, 0xac0f }, \ 697 { 0xa438, 0xae01 }, \ 698 { 0xa438, 0xd500 }, \ 699 { 0xa438, 0x1000 }, \ 700 { 0xa438, 0x1444 }, \ 701 { 0xa438, 0xf034 }, \ 702 { 0xa438, 0xd719 }, \ 703 { 0xa438, 0x4118 }, \ 704 { 0xa438, 0xd504 }, \ 705 { 0xa438, 0xac22 }, \ 706 { 0xa438, 0xd501 }, \ 707 { 0xa438, 0xce01 }, \ 708 { 0xa438, 0xa420 }, \ 709 { 0xa438, 0xce00 }, \ 710 { 0xa438, 0xd500 }, \ 711 { 0xa438, 0x4559 }, \ 712 { 0xa438, 0xd504 }, \ 713 { 0xa438, 0xac0f }, \ 714 { 0xa438, 0xae01 }, \ 715 { 0xa438, 0xd500 }, \ 716 { 0xa438, 0x1000 }, \ 717 { 0xa438, 0x1444 }, \ 718 { 0xa438, 0xf023 }, \ 719 { 0xa438, 0xd719 }, \ 720 { 0xa438, 0x4118 }, \ 721 { 0xa438, 0xd504 }, \ 722 { 0xa438, 0xac44 }, \ 723 { 0xa438, 0xd501 }, \ 724 { 0xa438, 0xce01 }, \ 725 { 0xa438, 0xa440 }, \ 726 { 0xa438, 0xce00 }, \ 727 { 0xa438, 0xd500 }, \ 728 { 0xa438, 0x4339 }, \ 729 { 0xa438, 0xd504 }, \ 730 { 0xa438, 0xac0f }, \ 731 { 0xa438, 0xae01 }, \ 732 { 0xa438, 0xd500 }, \ 733 { 0xa438, 0x1000 }, \ 734 { 0xa438, 0x1444 }, \ 735 { 0xa438, 0xf012 }, \ 736 { 0xa438, 0xd719 }, \ 737 { 0xa438, 0x4118 }, \ 738 { 0xa438, 0xd504 }, \ 739 { 0xa438, 0xac88 }, \ 740 { 0xa438, 0xd501 }, \ 741 { 0xa438, 0xce01 }, \ 742 { 0xa438, 0xa480 }, \ 743 { 0xa438, 0xce00 }, \ 744 { 0xa438, 0xd500 }, \ 745 { 0xa438, 0x4119 }, \ 746 { 0xa438, 0xd504 }, \ 747 { 0xa438, 0xac0f }, \ 748 { 0xa438, 0xae01 }, \ 749 { 0xa438, 0xd500 }, \ 750 { 0xa438, 0x1000 }, \ 751 { 0xa438, 0x1444 }, \ 752 { 0xa438, 0xf001 }, \ 753 { 0xa438, 0x1000 }, \ 754 { 0xa438, 0x1456 }, \ 755 { 0xa438, 0xd718 }, \ 756 { 0xa438, 0x5fac }, \ 757 { 0xa438, 0xc48f }, \ 758 { 0xa438, 0x1000 }, \ 759 { 0xa438, 0x141b }, \ 760 { 0xa438, 0xd504 }, \ 761 { 0xa438, 0x8010 }, \ 762 { 0xa438, 0x1800 }, \ 763 { 0xa438, 0x121a }, \ 764 { 0xa438, 0xd0b4 }, \ 765 { 0xa438, 0xd1bb }, \ 766 { 0xa438, 0x1800 }, \ 767 { 0xa438, 0x0898 }, \ 768 { 0xa438, 0xd0b4 }, \ 769 { 0xa438, 0xd1bb }, \ 770 { 0xa438, 0x1800 }, \ 771 { 0xa438, 0x0a0e }, \ 772 { 0xa438, 0xd064 }, \ 773 { 0xa438, 0xd18a }, \ 774 { 0xa438, 0x1800 }, \ 775 { 0xa438, 0x0b7e }, \ 776 { 0xa438, 0x401c }, \ 777 { 0xa438, 0xd501 }, \ 778 { 0xa438, 0xa804 }, \ 779 { 0xa438, 0x8804 }, \ 780 { 0xa438, 0x1800 }, \ 781 { 0xa438, 0x053b }, \ 782 { 0xa438, 0xd500 }, \ 783 { 0xa438, 0xa301 }, \ 784 { 0xa438, 0x1800 }, \ 785 { 0xa438, 0x0648 }, \ 786 { 0xa438, 0xc520 }, \ 787 { 0xa438, 0xa201 }, \ 788 { 0xa438, 0xd701 }, \ 789 { 0xa438, 0x252d }, \ 790 { 0xa438, 0x1646 }, \ 791 { 0xa438, 0xd708 }, \ 792 { 0xa438, 0x4006 }, \ 793 { 0xa438, 0x1800 }, \ 794 { 0xa438, 0x1646 }, \ 795 { 0xa438, 0x1800 }, \ 796 { 0xa438, 0x0308 }, \ 797 { 0xa436, 0xa026 }, \ 798 { 0xa438, 0x0307 }, \ 799 { 0xa436, 0xa024 }, \ 800 { 0xa438, 0x1645 }, \ 801 { 0xa436, 0xa022 }, \ 802 { 0xa438, 0x0647 }, \ 803 { 0xa436, 0xa020 }, \ 804 { 0xa438, 0x053a }, \ 805 { 0xa436, 0xa006 }, \ 806 { 0xa438, 0x0b7c }, \ 807 { 0xa436, 0xa004 }, \ 808 { 0xa438, 0x0a0c }, \ 809 { 0xa436, 0xa002 }, \ 810 { 0xa438, 0x0896 }, \ 811 { 0xa436, 0xa000 }, \ 812 { 0xa438, 0x11a1 }, \ 813 { 0xa436, 0xa008 }, \ 814 { 0xa438, 0xff00 }, \ 815 { 0xa436, 0xa016 }, \ 816 { 0xa438, 0x0010 }, \ 817 { 0xa436, 0xa012 }, \ 818 { 0xa438, 0x0000 }, \ 819 { 0xa436, 0xa014 }, \ 820 { 0xa438, 0x1800 }, \ 821 { 0xa438, 0x8010 }, \ 822 { 0xa438, 0x1800 }, \ 823 { 0xa438, 0x8015 }, \ 824 { 0xa438, 0x1800 }, \ 825 { 0xa438, 0x801a }, \ 826 { 0xa438, 0x1800 }, \ 827 { 0xa438, 0x801a }, \ 828 { 0xa438, 0x1800 }, \ 829 { 0xa438, 0x801a }, \ 830 { 0xa438, 0x1800 }, \ 831 { 0xa438, 0x801a }, \ 832 { 0xa438, 0x1800 }, \ 833 { 0xa438, 0x801a }, \ 834 { 0xa438, 0x1800 }, \ 835 { 0xa438, 0x801a }, \ 836 { 0xa438, 0xad02 }, \ 837 { 0xa438, 0x1000 }, \ 838 { 0xa438, 0x02d7 }, \ 839 { 0xa438, 0x1800 }, \ 840 { 0xa438, 0x00ed }, \ 841 { 0xa438, 0x0c0f }, \ 842 { 0xa438, 0x0509 }, \ 843 { 0xa438, 0xc100 }, \ 844 { 0xa438, 0x1800 }, \ 845 { 0xa438, 0x008f }, \ 846 { 0xa436, 0xa08e }, \ 847 { 0xa438, 0xffff }, \ 848 { 0xa436, 0xa08c }, \ 849 { 0xa438, 0xffff }, \ 850 { 0xa436, 0xa08a }, \ 851 { 0xa438, 0xffff }, \ 852 { 0xa436, 0xa088 }, \ 853 { 0xa438, 0xffff }, \ 854 { 0xa436, 0xa086 }, \ 855 { 0xa438, 0xffff }, \ 856 { 0xa436, 0xa084 }, \ 857 { 0xa438, 0xffff }, \ 858 { 0xa436, 0xa082 }, \ 859 { 0xa438, 0x008d }, \ 860 { 0xa436, 0xa080 }, \ 861 { 0xa438, 0x00eb }, \ 862 { 0xa436, 0xa090 }, \ 863 { 0xa438, 0x0103 }, \ 864 { 0xa436, 0xa016 }, \ 865 { 0xa438, 0x0020 }, \ 866 { 0xa436, 0xa012 }, \ 867 { 0xa438, 0x0000 }, \ 868 { 0xa436, 0xa014 }, \ 869 { 0xa438, 0x1800 }, \ 870 { 0xa438, 0x8010 }, \ 871 { 0xa438, 0x1800 }, \ 872 { 0xa438, 0x8014 }, \ 873 { 0xa438, 0x1800 }, \ 874 { 0xa438, 0x8018 }, \ 875 { 0xa438, 0x1800 }, \ 876 { 0xa438, 0x8024 }, \ 877 { 0xa438, 0x1800 }, \ 878 { 0xa438, 0x8051 }, \ 879 { 0xa438, 0x1800 }, \ 880 { 0xa438, 0x8055 }, \ 881 { 0xa438, 0x1800 }, \ 882 { 0xa438, 0x8072 }, \ 883 { 0xa438, 0x1800 }, \ 884 { 0xa438, 0x80dc }, \ 885 { 0xa438, 0x0000 }, \ 886 { 0xa438, 0x0000 }, \ 887 { 0xa438, 0x0000 }, \ 888 { 0xa438, 0xfffd }, \ 889 { 0xa438, 0x0000 }, \ 890 { 0xa438, 0x0000 }, \ 891 { 0xa438, 0x0000 }, \ 892 { 0xa438, 0xfffd }, \ 893 { 0xa438, 0x8301 }, \ 894 { 0xa438, 0x800a }, \ 895 { 0xa438, 0x8190 }, \ 896 { 0xa438, 0x82a0 }, \ 897 { 0xa438, 0x8404 }, \ 898 { 0xa438, 0xa70c }, \ 899 { 0xa438, 0x9402 }, \ 900 { 0xa438, 0x890c }, \ 901 { 0xa438, 0x8840 }, \ 902 { 0xa438, 0xa380 }, \ 903 { 0xa438, 0x1800 }, \ 904 { 0xa438, 0x066e }, \ 905 { 0xa438, 0xcb91 }, \ 906 { 0xa438, 0xd700 }, \ 907 { 0xa438, 0x4063 }, \ 908 { 0xa438, 0xd139 }, \ 909 { 0xa438, 0xf002 }, \ 910 { 0xa438, 0xd140 }, \ 911 { 0xa438, 0xd040 }, \ 912 { 0xa438, 0xb404 }, \ 913 { 0xa438, 0x0c0f }, \ 914 { 0xa438, 0x0d00 }, \ 915 { 0xa438, 0x1000 }, \ 916 { 0xa438, 0x07e0 }, \ 917 { 0xa438, 0xa610 }, \ 918 { 0xa438, 0xa110 }, \ 919 { 0xa438, 0xa2a0 }, \ 920 { 0xa438, 0xa404 }, \ 921 { 0xa438, 0xd704 }, \ 922 { 0xa438, 0x4085 }, \ 923 { 0xa438, 0xa180 }, \ 924 { 0xa438, 0xa404 }, \ 925 { 0xa438, 0x8280 }, \ 926 { 0xa438, 0xd704 }, \ 927 { 0xa438, 0x405d }, \ 928 { 0xa438, 0xa720 }, \ 929 { 0xa438, 0x1000 }, \ 930 { 0xa438, 0x0743 }, \ 931 { 0xa438, 0x1000 }, \ 932 { 0xa438, 0x07f0 }, \ 933 { 0xa438, 0xd700 }, \ 934 { 0xa438, 0x5f74 }, \ 935 { 0xa438, 0x1000 }, \ 936 { 0xa438, 0x0743 }, \ 937 { 0xa438, 0xd702 }, \ 938 { 0xa438, 0x7fb6 }, \ 939 { 0xa438, 0x8190 }, \ 940 { 0xa438, 0x82a0 }, \ 941 { 0xa438, 0x8404 }, \ 942 { 0xa438, 0x8610 }, \ 943 { 0xa438, 0x0000 }, \ 944 { 0xa438, 0x0c0f }, \ 945 { 0xa438, 0x0d01 }, \ 946 { 0xa438, 0x1000 }, \ 947 { 0xa438, 0x07e0 }, \ 948 { 0xa438, 0x1800 }, \ 949 { 0xa438, 0x066e }, \ 950 { 0xa438, 0xd158 }, \ 951 { 0xa438, 0xd04d }, \ 952 { 0xa438, 0x1800 }, \ 953 { 0xa438, 0x03d4 }, \ 954 { 0xa438, 0x94bc }, \ 955 { 0xa438, 0x870c }, \ 956 { 0xa438, 0x8380 }, \ 957 { 0xa438, 0xd10d }, \ 958 { 0xa438, 0xd040 }, \ 959 { 0xa438, 0x1000 }, \ 960 { 0xa438, 0x07c4 }, \ 961 { 0xa438, 0xd700 }, \ 962 { 0xa438, 0x5fb4 }, \ 963 { 0xa438, 0xa190 }, \ 964 { 0xa438, 0xa00a }, \ 965 { 0xa438, 0xa280 }, \ 966 { 0xa438, 0xa404 }, \ 967 { 0xa438, 0xa220 }, \ 968 { 0xa438, 0xd130 }, \ 969 { 0xa438, 0xd040 }, \ 970 { 0xa438, 0x1000 }, \ 971 { 0xa438, 0x07c4 }, \ 972 { 0xa438, 0xd700 }, \ 973 { 0xa438, 0x5fb4 }, \ 974 { 0xa438, 0xbb80 }, \ 975 { 0xa438, 0xd1c4 }, \ 976 { 0xa438, 0xd074 }, \ 977 { 0xa438, 0xa301 }, \ 978 { 0xa438, 0xd704 }, \ 979 { 0xa438, 0x604b }, \ 980 { 0xa438, 0xa90c }, \ 981 { 0xa438, 0x1800 }, \ 982 { 0xa438, 0x0556 }, \ 983 { 0xa438, 0xcb92 }, \ 984 { 0xa438, 0xd700 }, \ 985 { 0xa438, 0x4063 }, \ 986 { 0xa438, 0xd116 }, \ 987 { 0xa438, 0xf002 }, \ 988 { 0xa438, 0xd119 }, \ 989 { 0xa438, 0xd040 }, \ 990 { 0xa438, 0xd703 }, \ 991 { 0xa438, 0x60a0 }, \ 992 { 0xa438, 0x6241 }, \ 993 { 0xa438, 0x63e2 }, \ 994 { 0xa438, 0x6583 }, \ 995 { 0xa438, 0xf054 }, \ 996 { 0xa438, 0xd701 }, \ 997 { 0xa438, 0x611e }, \ 998 { 0xa438, 0xd701 }, \ 999 { 0xa438, 0x40da }, \ 1000 { 0xa438, 0x0cf0 }, \ 1001 { 0xa438, 0x0d10 }, \ 1002 { 0xa438, 0xa010 }, \ 1003 { 0xa438, 0x8740 }, \ 1004 { 0xa438, 0xf02f }, \ 1005 { 0xa438, 0x0cf0 }, \ 1006 { 0xa438, 0x0d50 }, \ 1007 { 0xa438, 0x8010 }, \ 1008 { 0xa438, 0xa740 }, \ 1009 { 0xa438, 0xf02a }, \ 1010 { 0xa438, 0xd701 }, \ 1011 { 0xa438, 0x611e }, \ 1012 { 0xa438, 0xd701 }, \ 1013 { 0xa438, 0x40da }, \ 1014 { 0xa438, 0x0cf0 }, \ 1015 { 0xa438, 0x0d20 }, \ 1016 { 0xa438, 0xa010 }, \ 1017 { 0xa438, 0x8740 }, \ 1018 { 0xa438, 0xf021 }, \ 1019 { 0xa438, 0x0cf0 }, \ 1020 { 0xa438, 0x0d60 }, \ 1021 { 0xa438, 0x8010 }, \ 1022 { 0xa438, 0xa740 }, \ 1023 { 0xa438, 0xf01c }, \ 1024 { 0xa438, 0xd701 }, \ 1025 { 0xa438, 0x611e }, \ 1026 { 0xa438, 0xd701 }, \ 1027 { 0xa438, 0x40da }, \ 1028 { 0xa438, 0x0cf0 }, \ 1029 { 0xa438, 0x0d30 }, \ 1030 { 0xa438, 0xa010 }, \ 1031 { 0xa438, 0x8740 }, \ 1032 { 0xa438, 0xf013 }, \ 1033 { 0xa438, 0x0cf0 }, \ 1034 { 0xa438, 0x0d70 }, \ 1035 { 0xa438, 0x8010 }, \ 1036 { 0xa438, 0xa740 }, \ 1037 { 0xa438, 0xf00e }, \ 1038 { 0xa438, 0xd701 }, \ 1039 { 0xa438, 0x611e }, \ 1040 { 0xa438, 0xd701 }, \ 1041 { 0xa438, 0x40da }, \ 1042 { 0xa438, 0x0cf0 }, \ 1043 { 0xa438, 0x0d40 }, \ 1044 { 0xa438, 0xa010 }, \ 1045 { 0xa438, 0x8740 }, \ 1046 { 0xa438, 0xf005 }, \ 1047 { 0xa438, 0x0cf0 }, \ 1048 { 0xa438, 0x0d80 }, \ 1049 { 0xa438, 0x8010 }, \ 1050 { 0xa438, 0xa740 }, \ 1051 { 0xa438, 0x1000 }, \ 1052 { 0xa438, 0x07e8 }, \ 1053 { 0xa438, 0xa610 }, \ 1054 { 0xa438, 0xd704 }, \ 1055 { 0xa438, 0x405d }, \ 1056 { 0xa438, 0xa720 }, \ 1057 { 0xa438, 0xd700 }, \ 1058 { 0xa438, 0x5ff4 }, \ 1059 { 0xa438, 0xa008 }, \ 1060 { 0xa438, 0xd704 }, \ 1061 { 0xa438, 0x4046 }, \ 1062 { 0xa438, 0xa002 }, \ 1063 { 0xa438, 0x1000 }, \ 1064 { 0xa438, 0x0743 }, \ 1065 { 0xa438, 0x1000 }, \ 1066 { 0xa438, 0x07fb }, \ 1067 { 0xa438, 0xd703 }, \ 1068 { 0xa438, 0x7f6f }, \ 1069 { 0xa438, 0x7f4e }, \ 1070 { 0xa438, 0x7f2d }, \ 1071 { 0xa438, 0x7f0c }, \ 1072 { 0xa438, 0x800a }, \ 1073 { 0xa438, 0x0cf0 }, \ 1074 { 0xa438, 0x0d00 }, \ 1075 { 0xa438, 0x1000 }, \ 1076 { 0xa438, 0x07e8 }, \ 1077 { 0xa438, 0x8010 }, \ 1078 { 0xa438, 0xa740 }, \ 1079 { 0xa438, 0x1000 }, \ 1080 { 0xa438, 0x0743 }, \ 1081 { 0xa438, 0xd702 }, \ 1082 { 0xa438, 0x7fb5 }, \ 1083 { 0xa438, 0xd701 }, \ 1084 { 0xa438, 0x3ad4 }, \ 1085 { 0xa438, 0x0556 }, \ 1086 { 0xa438, 0x8610 }, \ 1087 { 0xa438, 0x1800 }, \ 1088 { 0xa438, 0x066e }, \ 1089 { 0xa438, 0xd1f5 }, \ 1090 { 0xa438, 0xd049 }, \ 1091 { 0xa438, 0x1800 }, \ 1092 { 0xa438, 0x01ec }, \ 1093 { 0xa436, 0xa10e }, \ 1094 { 0xa438, 0x01ea }, \ 1095 { 0xa436, 0xa10c }, \ 1096 { 0xa438, 0x06a9 }, \ 1097 { 0xa436, 0xa10a }, \ 1098 { 0xa438, 0x078a }, \ 1099 { 0xa436, 0xa108 }, \ 1100 { 0xa438, 0x03d2 }, \ 1101 { 0xa436, 0xa106 }, \ 1102 { 0xa438, 0x067f }, \ 1103 { 0xa436, 0xa104 }, \ 1104 { 0xa438, 0x0665 }, \ 1105 { 0xa436, 0xa102 }, \ 1106 { 0xa438, 0x0000 }, \ 1107 { 0xa436, 0xa100 }, \ 1108 { 0xa438, 0x0000 }, \ 1109 { 0xa436, 0xa110 }, \ 1110 { 0xa438, 0x00fc }, \ 1111 { 0xa436, 0xb87c }, \ 1112 { 0xa438, 0x8530 }, \ 1113 { 0xa436, 0xb87e }, \ 1114 { 0xa438, 0xaf85 }, \ 1115 { 0xa438, 0x3caf }, \ 1116 { 0xa438, 0x8545 }, \ 1117 { 0xa438, 0xaf85 }, \ 1118 { 0xa438, 0x45af }, \ 1119 { 0xa438, 0x8545 }, \ 1120 { 0xa438, 0xee82 }, \ 1121 { 0xa438, 0xf900 }, \ 1122 { 0xa438, 0x0103 }, \ 1123 { 0xa438, 0xaf03 }, \ 1124 { 0xa438, 0xb7f8 }, \ 1125 { 0xa438, 0xe0a6 }, \ 1126 { 0xa438, 0x00e1 }, \ 1127 { 0xa438, 0xa601 }, \ 1128 { 0xa438, 0xef01 }, \ 1129 { 0xa438, 0x58f0 }, \ 1130 { 0xa438, 0xa080 }, \ 1131 { 0xa438, 0x37a1 }, \ 1132 { 0xa438, 0x8402 }, \ 1133 { 0xa438, 0xae16 }, \ 1134 { 0xa438, 0xa185 }, \ 1135 { 0xa438, 0x02ae }, \ 1136 { 0xa438, 0x11a1 }, \ 1137 { 0xa438, 0x8702 }, \ 1138 { 0xa438, 0xae0c }, \ 1139 { 0xa438, 0xa188 }, \ 1140 { 0xa438, 0x02ae }, \ 1141 { 0xa438, 0x07a1 }, \ 1142 { 0xa438, 0x8902 }, \ 1143 { 0xa438, 0xae02 }, \ 1144 { 0xa438, 0xae1c }, \ 1145 { 0xa438, 0xe0b4 }, \ 1146 { 0xa438, 0x62e1 }, \ 1147 { 0xa438, 0xb463 }, \ 1148 { 0xa438, 0x6901 }, \ 1149 { 0xa438, 0xe4b4 }, \ 1150 { 0xa438, 0x62e5 }, \ 1151 { 0xa438, 0xb463 }, \ 1152 { 0xa438, 0xe0b4 }, \ 1153 { 0xa438, 0x62e1 }, \ 1154 { 0xa438, 0xb463 }, \ 1155 { 0xa438, 0x6901 }, \ 1156 { 0xa438, 0xe4b4 }, \ 1157 { 0xa438, 0x62e5 }, \ 1158 { 0xa438, 0xb463 }, \ 1159 { 0xa438, 0xfc04 }, \ 1160 { 0xa436, 0xb85e }, \ 1161 { 0xa438, 0x03b3 }, \ 1162 { 0xa436, 0xb860 }, \ 1163 { 0xa438, 0xffff }, \ 1164 { 0xa436, 0xb862 }, \ 1165 { 0xa438, 0xffff }, \ 1166 { 0xa436, 0xb864 }, \ 1167 { 0xa438, 0xffff }, \ 1168 { 0xa436, 0xb878 }, \ 1169 { 0xa438, 0x0001 } 1170 1171 #define RTL8125_MAC_CFG5_MCU \ 1172 { 0xa436, 0x8024 }, \ 1173 { 0xa438, 0x3701 }, \ 1174 { 0xa436, 0xb82e }, \ 1175 { 0xa438, 0x0001 }, \ 1176 { 0xb820, 0x0090 }, \ 1177 { 0xa436, 0xa016 }, \ 1178 { 0xa438, 0x0000 }, \ 1179 { 0xa436, 0xa012 }, \ 1180 { 0xa438, 0x0000 }, \ 1181 { 0xa436, 0xa014 }, \ 1182 { 0xa438, 0x1800 }, \ 1183 { 0xa438, 0x8010 }, \ 1184 { 0xa438, 0x1800 }, \ 1185 { 0xa438, 0x801a }, \ 1186 { 0xa438, 0x1800 }, \ 1187 { 0xa438, 0x803f }, \ 1188 { 0xa438, 0x1800 }, \ 1189 { 0xa438, 0x8045 }, \ 1190 { 0xa438, 0x1800 }, \ 1191 { 0xa438, 0x8067 }, \ 1192 { 0xa438, 0x1800 }, \ 1193 { 0xa438, 0x806d }, \ 1194 { 0xa438, 0x1800 }, \ 1195 { 0xa438, 0x8071 }, \ 1196 { 0xa438, 0x1800 }, \ 1197 { 0xa438, 0x80b1 }, \ 1198 { 0xa438, 0xd093 }, \ 1199 { 0xa438, 0xd1c4 }, \ 1200 { 0xa438, 0x1000 }, \ 1201 { 0xa438, 0x135c }, \ 1202 { 0xa438, 0xd704 }, \ 1203 { 0xa438, 0x5fbc }, \ 1204 { 0xa438, 0xd504 }, \ 1205 { 0xa438, 0xc9f1 }, \ 1206 { 0xa438, 0x1800 }, \ 1207 { 0xa438, 0x0fc9 }, \ 1208 { 0xa438, 0xbb50 }, \ 1209 { 0xa438, 0xd505 }, \ 1210 { 0xa438, 0xa202 }, \ 1211 { 0xa438, 0xd504 }, \ 1212 { 0xa438, 0x8c0f }, \ 1213 { 0xa438, 0xd500 }, \ 1214 { 0xa438, 0x1000 }, \ 1215 { 0xa438, 0x1519 }, \ 1216 { 0xa438, 0x1000 }, \ 1217 { 0xa438, 0x135c }, \ 1218 { 0xa438, 0xd75e }, \ 1219 { 0xa438, 0x5fae }, \ 1220 { 0xa438, 0x9b50 }, \ 1221 { 0xa438, 0x1000 }, \ 1222 { 0xa438, 0x135c }, \ 1223 { 0xa438, 0xd75e }, \ 1224 { 0xa438, 0x7fae }, \ 1225 { 0xa438, 0x1000 }, \ 1226 { 0xa438, 0x135c }, \ 1227 { 0xa438, 0xd707 }, \ 1228 { 0xa438, 0x40a7 }, \ 1229 { 0xa438, 0xd719 }, \ 1230 { 0xa438, 0x4071 }, \ 1231 { 0xa438, 0x1800 }, \ 1232 { 0xa438, 0x1557 }, \ 1233 { 0xa438, 0xd719 }, \ 1234 { 0xa438, 0x2f70 }, \ 1235 { 0xa438, 0x803b }, \ 1236 { 0xa438, 0x2f73 }, \ 1237 { 0xa438, 0x156a }, \ 1238 { 0xa438, 0x5e70 }, \ 1239 { 0xa438, 0x1800 }, \ 1240 { 0xa438, 0x155d }, \ 1241 { 0xa438, 0xd505 }, \ 1242 { 0xa438, 0xa202 }, \ 1243 { 0xa438, 0xd500 }, \ 1244 { 0xa438, 0xffed }, \ 1245 { 0xa438, 0xd709 }, \ 1246 { 0xa438, 0x4054 }, \ 1247 { 0xa438, 0xa788 }, \ 1248 { 0xa438, 0xd70b }, \ 1249 { 0xa438, 0x1800 }, \ 1250 { 0xa438, 0x172a }, \ 1251 { 0xa438, 0xc0c1 }, \ 1252 { 0xa438, 0xc0c0 }, \ 1253 { 0xa438, 0xd05a }, \ 1254 { 0xa438, 0xd1ba }, \ 1255 { 0xa438, 0xd701 }, \ 1256 { 0xa438, 0x2529 }, \ 1257 { 0xa438, 0x022a }, \ 1258 { 0xa438, 0xd0a7 }, \ 1259 { 0xa438, 0xd1b9 }, \ 1260 { 0xa438, 0xa208 }, \ 1261 { 0xa438, 0x1000 }, \ 1262 { 0xa438, 0x080e }, \ 1263 { 0xa438, 0xd701 }, \ 1264 { 0xa438, 0x408b }, \ 1265 { 0xa438, 0x1000 }, \ 1266 { 0xa438, 0x0a65 }, \ 1267 { 0xa438, 0xf003 }, \ 1268 { 0xa438, 0x1000 }, \ 1269 { 0xa438, 0x0a6b }, \ 1270 { 0xa438, 0xd701 }, \ 1271 { 0xa438, 0x1000 }, \ 1272 { 0xa438, 0x0920 }, \ 1273 { 0xa438, 0x1000 }, \ 1274 { 0xa438, 0x0915 }, \ 1275 { 0xa438, 0x1000 }, \ 1276 { 0xa438, 0x0909 }, \ 1277 { 0xa438, 0x228f }, \ 1278 { 0xa438, 0x804e }, \ 1279 { 0xa438, 0x9801 }, \ 1280 { 0xa438, 0xd71e }, \ 1281 { 0xa438, 0x5d61 }, \ 1282 { 0xa438, 0xd701 }, \ 1283 { 0xa438, 0x1800 }, \ 1284 { 0xa438, 0x022a }, \ 1285 { 0xa438, 0x2005 }, \ 1286 { 0xa438, 0x091a }, \ 1287 { 0xa438, 0x3bd9 }, \ 1288 { 0xa438, 0x0919 }, \ 1289 { 0xa438, 0x1800 }, \ 1290 { 0xa438, 0x0916 }, \ 1291 { 0xa438, 0xd090 }, \ 1292 { 0xa438, 0xd1c9 }, \ 1293 { 0xa438, 0x1800 }, \ 1294 { 0xa438, 0x1064 }, \ 1295 { 0xa438, 0xd096 }, \ 1296 { 0xa438, 0xd1a9 }, \ 1297 { 0xa438, 0xd503 }, \ 1298 { 0xa438, 0xa104 }, \ 1299 { 0xa438, 0x0c07 }, \ 1300 { 0xa438, 0x0902 }, \ 1301 { 0xa438, 0xd500 }, \ 1302 { 0xa438, 0xbc10 }, \ 1303 { 0xa438, 0xd501 }, \ 1304 { 0xa438, 0xce01 }, \ 1305 { 0xa438, 0xa201 }, \ 1306 { 0xa438, 0x8201 }, \ 1307 { 0xa438, 0xce00 }, \ 1308 { 0xa438, 0xd500 }, \ 1309 { 0xa438, 0xc484 }, \ 1310 { 0xa438, 0xd503 }, \ 1311 { 0xa438, 0xcc02 }, \ 1312 { 0xa438, 0xcd0d }, \ 1313 { 0xa438, 0xaf01 }, \ 1314 { 0xa438, 0xd500 }, \ 1315 { 0xa438, 0xd703 }, \ 1316 { 0xa438, 0x4371 }, \ 1317 { 0xa438, 0xbd08 }, \ 1318 { 0xa438, 0x1000 }, \ 1319 { 0xa438, 0x135c }, \ 1320 { 0xa438, 0xd75e }, \ 1321 { 0xa438, 0x5fb3 }, \ 1322 { 0xa438, 0xd503 }, \ 1323 { 0xa438, 0xd0f5 }, \ 1324 { 0xa438, 0xd1c6 }, \ 1325 { 0xa438, 0x0cf0 }, \ 1326 { 0xa438, 0x0e50 }, \ 1327 { 0xa438, 0xd704 }, \ 1328 { 0xa438, 0x401c }, \ 1329 { 0xa438, 0xd0f5 }, \ 1330 { 0xa438, 0xd1c6 }, \ 1331 { 0xa438, 0x0cf0 }, \ 1332 { 0xa438, 0x0ea0 }, \ 1333 { 0xa438, 0x401c }, \ 1334 { 0xa438, 0xd07b }, \ 1335 { 0xa438, 0xd1c5 }, \ 1336 { 0xa438, 0x8ef0 }, \ 1337 { 0xa438, 0x401c }, \ 1338 { 0xa438, 0x9d08 }, \ 1339 { 0xa438, 0x1000 }, \ 1340 { 0xa438, 0x135c }, \ 1341 { 0xa438, 0xd75e }, \ 1342 { 0xa438, 0x7fb3 }, \ 1343 { 0xa438, 0x1000 }, \ 1344 { 0xa438, 0x135c }, \ 1345 { 0xa438, 0xd75e }, \ 1346 { 0xa438, 0x5fad }, \ 1347 { 0xa438, 0x1000 }, \ 1348 { 0xa438, 0x14c5 }, \ 1349 { 0xa438, 0xd703 }, \ 1350 { 0xa438, 0x3181 }, \ 1351 { 0xa438, 0x80af }, \ 1352 { 0xa438, 0x60ad }, \ 1353 { 0xa438, 0x1000 }, \ 1354 { 0xa438, 0x135c }, \ 1355 { 0xa438, 0xd703 }, \ 1356 { 0xa438, 0x5fba }, \ 1357 { 0xa438, 0x1800 }, \ 1358 { 0xa438, 0x0cc7 }, \ 1359 { 0xa438, 0xa802 }, \ 1360 { 0xa438, 0xa301 }, \ 1361 { 0xa438, 0xa801 }, \ 1362 { 0xa438, 0xc004 }, \ 1363 { 0xa438, 0xd710 }, \ 1364 { 0xa438, 0x4000 }, \ 1365 { 0xa438, 0x1800 }, \ 1366 { 0xa438, 0x1e79 }, \ 1367 { 0xa436, 0xa026 }, \ 1368 { 0xa438, 0x1e78 }, \ 1369 { 0xa436, 0xa024 }, \ 1370 { 0xa438, 0x0c93 }, \ 1371 { 0xa436, 0xa022 }, \ 1372 { 0xa438, 0x1062 }, \ 1373 { 0xa436, 0xa020 }, \ 1374 { 0xa438, 0x0915 }, \ 1375 { 0xa436, 0xa006 }, \ 1376 { 0xa438, 0x020a }, \ 1377 { 0xa436, 0xa004 }, \ 1378 { 0xa438, 0x1726 }, \ 1379 { 0xa436, 0xa002 }, \ 1380 { 0xa438, 0x1542 }, \ 1381 { 0xa436, 0xa000 }, \ 1382 { 0xa438, 0x0fc7 }, \ 1383 { 0xa436, 0xa008 }, \ 1384 { 0xa438, 0xff00 }, \ 1385 { 0xa436, 0xa016 }, \ 1386 { 0xa438, 0x0010 }, \ 1387 { 0xa436, 0xa012 }, \ 1388 { 0xa438, 0x0000 }, \ 1389 { 0xa436, 0xa014 }, \ 1390 { 0xa438, 0x1800 }, \ 1391 { 0xa438, 0x8010 }, \ 1392 { 0xa438, 0x1800 }, \ 1393 { 0xa438, 0x801d }, \ 1394 { 0xa438, 0x1800 }, \ 1395 { 0xa438, 0x802c }, \ 1396 { 0xa438, 0x1800 }, \ 1397 { 0xa438, 0x802c }, \ 1398 { 0xa438, 0x1800 }, \ 1399 { 0xa438, 0x802c }, \ 1400 { 0xa438, 0x1800 }, \ 1401 { 0xa438, 0x802c }, \ 1402 { 0xa438, 0x1800 }, \ 1403 { 0xa438, 0x802c }, \ 1404 { 0xa438, 0x1800 }, \ 1405 { 0xa438, 0x802c }, \ 1406 { 0xa438, 0xd700 }, \ 1407 { 0xa438, 0x6090 }, \ 1408 { 0xa438, 0x60d1 }, \ 1409 { 0xa438, 0xc95c }, \ 1410 { 0xa438, 0xf007 }, \ 1411 { 0xa438, 0x60b1 }, \ 1412 { 0xa438, 0xc95a }, \ 1413 { 0xa438, 0xf004 }, \ 1414 { 0xa438, 0xc956 }, \ 1415 { 0xa438, 0xf002 }, \ 1416 { 0xa438, 0xc94e }, \ 1417 { 0xa438, 0x1800 }, \ 1418 { 0xa438, 0x00cd }, \ 1419 { 0xa438, 0xd700 }, \ 1420 { 0xa438, 0x6090 }, \ 1421 { 0xa438, 0x60d1 }, \ 1422 { 0xa438, 0xc95c }, \ 1423 { 0xa438, 0xf007 }, \ 1424 { 0xa438, 0x60b1 }, \ 1425 { 0xa438, 0xc95a }, \ 1426 { 0xa438, 0xf004 }, \ 1427 { 0xa438, 0xc956 }, \ 1428 { 0xa438, 0xf002 }, \ 1429 { 0xa438, 0xc94e }, \ 1430 { 0xa438, 0x1000 }, \ 1431 { 0xa438, 0x022a }, \ 1432 { 0xa438, 0x1800 }, \ 1433 { 0xa438, 0x0132 }, \ 1434 { 0xa436, 0xa08e }, \ 1435 { 0xa438, 0xffff }, \ 1436 { 0xa436, 0xa08c }, \ 1437 { 0xa438, 0xffff }, \ 1438 { 0xa436, 0xa08a }, \ 1439 { 0xa438, 0xffff }, \ 1440 { 0xa436, 0xa088 }, \ 1441 { 0xa438, 0xffff }, \ 1442 { 0xa436, 0xa086 }, \ 1443 { 0xa438, 0xffff }, \ 1444 { 0xa436, 0xa084 }, \ 1445 { 0xa438, 0xffff }, \ 1446 { 0xa436, 0xa082 }, \ 1447 { 0xa438, 0x012f }, \ 1448 { 0xa436, 0xa080 }, \ 1449 { 0xa438, 0x00cc }, \ 1450 { 0xa436, 0xa090 }, \ 1451 { 0xa438, 0x0103 }, \ 1452 { 0xa436, 0xa016 }, \ 1453 { 0xa438, 0x0020 }, \ 1454 { 0xa436, 0xa012 }, \ 1455 { 0xa438, 0x0000 }, \ 1456 { 0xa436, 0xa014 }, \ 1457 { 0xa438, 0x1800 }, \ 1458 { 0xa438, 0x8010 }, \ 1459 { 0xa438, 0x1800 }, \ 1460 { 0xa438, 0x8020 }, \ 1461 { 0xa438, 0x1800 }, \ 1462 { 0xa438, 0x802a }, \ 1463 { 0xa438, 0x1800 }, \ 1464 { 0xa438, 0x8035 }, \ 1465 { 0xa438, 0x1800 }, \ 1466 { 0xa438, 0x803c }, \ 1467 { 0xa438, 0x1800 }, \ 1468 { 0xa438, 0x803c }, \ 1469 { 0xa438, 0x1800 }, \ 1470 { 0xa438, 0x803c }, \ 1471 { 0xa438, 0x1800 }, \ 1472 { 0xa438, 0x803c }, \ 1473 { 0xa438, 0xd107 }, \ 1474 { 0xa438, 0xd042 }, \ 1475 { 0xa438, 0xa404 }, \ 1476 { 0xa438, 0x1000 }, \ 1477 { 0xa438, 0x09df }, \ 1478 { 0xa438, 0xd700 }, \ 1479 { 0xa438, 0x5fb4 }, \ 1480 { 0xa438, 0x8280 }, \ 1481 { 0xa438, 0xd700 }, \ 1482 { 0xa438, 0x6065 }, \ 1483 { 0xa438, 0xd125 }, \ 1484 { 0xa438, 0xf002 }, \ 1485 { 0xa438, 0xd12b }, \ 1486 { 0xa438, 0xd040 }, \ 1487 { 0xa438, 0x1800 }, \ 1488 { 0xa438, 0x077f }, \ 1489 { 0xa438, 0x0cf0 }, \ 1490 { 0xa438, 0x0c50 }, \ 1491 { 0xa438, 0xd104 }, \ 1492 { 0xa438, 0xd040 }, \ 1493 { 0xa438, 0x1000 }, \ 1494 { 0xa438, 0x0aa8 }, \ 1495 { 0xa438, 0xd700 }, \ 1496 { 0xa438, 0x5fb4 }, \ 1497 { 0xa438, 0x1800 }, \ 1498 { 0xa438, 0x0a2e }, \ 1499 { 0xa438, 0xcb9b }, \ 1500 { 0xa438, 0xd110 }, \ 1501 { 0xa438, 0xd040 }, \ 1502 { 0xa438, 0x1000 }, \ 1503 { 0xa438, 0x0b7b }, \ 1504 { 0xa438, 0x1000 }, \ 1505 { 0xa438, 0x09df }, \ 1506 { 0xa438, 0xd700 }, \ 1507 { 0xa438, 0x5fb4 }, \ 1508 { 0xa438, 0x1800 }, \ 1509 { 0xa438, 0x081b }, \ 1510 { 0xa438, 0x1000 }, \ 1511 { 0xa438, 0x09df }, \ 1512 { 0xa438, 0xd704 }, \ 1513 { 0xa438, 0x7fb8 }, \ 1514 { 0xa438, 0xa718 }, \ 1515 { 0xa438, 0x1800 }, \ 1516 { 0xa438, 0x074e }, \ 1517 { 0xa436, 0xa10e }, \ 1518 { 0xa438, 0xffff }, \ 1519 { 0xa436, 0xa10c }, \ 1520 { 0xa438, 0xffff }, \ 1521 { 0xa436, 0xa10a }, \ 1522 { 0xa438, 0xffff }, \ 1523 { 0xa436, 0xa108 }, \ 1524 { 0xa438, 0xffff }, \ 1525 { 0xa436, 0xa106 }, \ 1526 { 0xa438, 0x074d }, \ 1527 { 0xa436, 0xa104 }, \ 1528 { 0xa438, 0x0818 }, \ 1529 { 0xa436, 0xa102 }, \ 1530 { 0xa438, 0x0a2c }, \ 1531 { 0xa436, 0xa100 }, \ 1532 { 0xa438, 0x077e }, \ 1533 { 0xa436, 0xa110 }, \ 1534 { 0xa438, 0x000f }, \ 1535 { 0xa436, 0xb87c }, \ 1536 { 0xa438, 0x8625 }, \ 1537 { 0xa436, 0xb87e }, \ 1538 { 0xa438, 0xaf86 }, \ 1539 { 0xa438, 0x3daf }, \ 1540 { 0xa438, 0x8689 }, \ 1541 { 0xa438, 0xaf88 }, \ 1542 { 0xa438, 0x69af }, \ 1543 { 0xa438, 0x8887 }, \ 1544 { 0xa438, 0xaf88 }, \ 1545 { 0xa438, 0x9caf }, \ 1546 { 0xa438, 0x889c }, \ 1547 { 0xa438, 0xaf88 }, \ 1548 { 0xa438, 0x9caf }, \ 1549 { 0xa438, 0x889c }, \ 1550 { 0xa438, 0xbf86 }, \ 1551 { 0xa438, 0x49d7 }, \ 1552 { 0xa438, 0x0040 }, \ 1553 { 0xa438, 0x0277 }, \ 1554 { 0xa438, 0x7daf }, \ 1555 { 0xa438, 0x2727 }, \ 1556 { 0xa438, 0x0000 }, \ 1557 { 0xa438, 0x7205 }, \ 1558 { 0xa438, 0x0000 }, \ 1559 { 0xa438, 0x7208 }, \ 1560 { 0xa438, 0x0000 }, \ 1561 { 0xa438, 0x71f3 }, \ 1562 { 0xa438, 0x0000 }, \ 1563 { 0xa438, 0x71f6 }, \ 1564 { 0xa438, 0x0000 }, \ 1565 { 0xa438, 0x7229 }, \ 1566 { 0xa438, 0x0000 }, \ 1567 { 0xa438, 0x722c }, \ 1568 { 0xa438, 0x0000 }, \ 1569 { 0xa438, 0x7217 }, \ 1570 { 0xa438, 0x0000 }, \ 1571 { 0xa438, 0x721a }, \ 1572 { 0xa438, 0x0000 }, \ 1573 { 0xa438, 0x721d }, \ 1574 { 0xa438, 0x0000 }, \ 1575 { 0xa438, 0x7211 }, \ 1576 { 0xa438, 0x0000 }, \ 1577 { 0xa438, 0x7220 }, \ 1578 { 0xa438, 0x0000 }, \ 1579 { 0xa438, 0x7214 }, \ 1580 { 0xa438, 0x0000 }, \ 1581 { 0xa438, 0x722f }, \ 1582 { 0xa438, 0x0000 }, \ 1583 { 0xa438, 0x7223 }, \ 1584 { 0xa438, 0x0000 }, \ 1585 { 0xa438, 0x7232 }, \ 1586 { 0xa438, 0x0000 }, \ 1587 { 0xa438, 0x7226 }, \ 1588 { 0xa438, 0xf8f9 }, \ 1589 { 0xa438, 0xfae0 }, \ 1590 { 0xa438, 0x85b3 }, \ 1591 { 0xa438, 0x3802 }, \ 1592 { 0xa438, 0xad27 }, \ 1593 { 0xa438, 0x02ae }, \ 1594 { 0xa438, 0x03af }, \ 1595 { 0xa438, 0x8830 }, \ 1596 { 0xa438, 0x1f66 }, \ 1597 { 0xa438, 0xef65 }, \ 1598 { 0xa438, 0xbfc2 }, \ 1599 { 0xa438, 0x1f1a }, \ 1600 { 0xa438, 0x96f7 }, \ 1601 { 0xa438, 0x05ee }, \ 1602 { 0xa438, 0xffd2 }, \ 1603 { 0xa438, 0x00da }, \ 1604 { 0xa438, 0xf605 }, \ 1605 { 0xa438, 0xbfc2 }, \ 1606 { 0xa438, 0x2f1a }, \ 1607 { 0xa438, 0x96f7 }, \ 1608 { 0xa438, 0x05ee }, \ 1609 { 0xa438, 0xffd2 }, \ 1610 { 0xa438, 0x00db }, \ 1611 { 0xa438, 0xf605 }, \ 1612 { 0xa438, 0xef02 }, \ 1613 { 0xa438, 0x1f11 }, \ 1614 { 0xa438, 0x0d42 }, \ 1615 { 0xa438, 0xbf88 }, \ 1616 { 0xa438, 0x4202 }, \ 1617 { 0xa438, 0x6e7d }, \ 1618 { 0xa438, 0xef02 }, \ 1619 { 0xa438, 0x1b03 }, \ 1620 { 0xa438, 0x1f11 }, \ 1621 { 0xa438, 0x0d42 }, \ 1622 { 0xa438, 0xbf88 }, \ 1623 { 0xa438, 0x4502 }, \ 1624 { 0xa438, 0x6e7d }, \ 1625 { 0xa438, 0xef02 }, \ 1626 { 0xa438, 0x1a03 }, \ 1627 { 0xa438, 0x1f11 }, \ 1628 { 0xa438, 0x0d42 }, \ 1629 { 0xa438, 0xbf88 }, \ 1630 { 0xa438, 0x4802 }, \ 1631 { 0xa438, 0x6e7d }, \ 1632 { 0xa438, 0xbfc2 }, \ 1633 { 0xa438, 0x3f1a }, \ 1634 { 0xa438, 0x96f7 }, \ 1635 { 0xa438, 0x05ee }, \ 1636 { 0xa438, 0xffd2 }, \ 1637 { 0xa438, 0x00da }, \ 1638 { 0xa438, 0xf605 }, \ 1639 { 0xa438, 0xbfc2 }, \ 1640 { 0xa438, 0x4f1a }, \ 1641 { 0xa438, 0x96f7 }, \ 1642 { 0xa438, 0x05ee }, \ 1643 { 0xa438, 0xffd2 }, \ 1644 { 0xa438, 0x00db }, \ 1645 { 0xa438, 0xf605 }, \ 1646 { 0xa438, 0xef02 }, \ 1647 { 0xa438, 0x1f11 }, \ 1648 { 0xa438, 0x0d42 }, \ 1649 { 0xa438, 0xbf88 }, \ 1650 { 0xa438, 0x4b02 }, \ 1651 { 0xa438, 0x6e7d }, \ 1652 { 0xa438, 0xef02 }, \ 1653 { 0xa438, 0x1b03 }, \ 1654 { 0xa438, 0x1f11 }, \ 1655 { 0xa438, 0x0d42 }, \ 1656 { 0xa438, 0xbf88 }, \ 1657 { 0xa438, 0x4e02 }, \ 1658 { 0xa438, 0x6e7d }, \ 1659 { 0xa438, 0xef02 }, \ 1660 { 0xa438, 0x1a03 }, \ 1661 { 0xa438, 0x1f11 }, \ 1662 { 0xa438, 0x0d42 }, \ 1663 { 0xa438, 0xbf88 }, \ 1664 { 0xa438, 0x5102 }, \ 1665 { 0xa438, 0x6e7d }, \ 1666 { 0xa438, 0xef56 }, \ 1667 { 0xa438, 0xd020 }, \ 1668 { 0xa438, 0x1f11 }, \ 1669 { 0xa438, 0xbf88 }, \ 1670 { 0xa438, 0x5402 }, \ 1671 { 0xa438, 0x6e7d }, \ 1672 { 0xa438, 0xbf88 }, \ 1673 { 0xa438, 0x5702 }, \ 1674 { 0xa438, 0x6e7d }, \ 1675 { 0xa438, 0xbf88 }, \ 1676 { 0xa438, 0x5a02 }, \ 1677 { 0xa438, 0x6e7d }, \ 1678 { 0xa438, 0xe185 }, \ 1679 { 0xa438, 0xa0ef }, \ 1680 { 0xa438, 0x0348 }, \ 1681 { 0xa438, 0x0a28 }, \ 1682 { 0xa438, 0x05ef }, \ 1683 { 0xa438, 0x201b }, \ 1684 { 0xa438, 0x01ad }, \ 1685 { 0xa438, 0x2735 }, \ 1686 { 0xa438, 0x1f44 }, \ 1687 { 0xa438, 0xe085 }, \ 1688 { 0xa438, 0x88e1 }, \ 1689 { 0xa438, 0x8589 }, \ 1690 { 0xa438, 0xbf88 }, \ 1691 { 0xa438, 0x5d02 }, \ 1692 { 0xa438, 0x6e7d }, \ 1693 { 0xa438, 0xe085 }, \ 1694 { 0xa438, 0x8ee1 }, \ 1695 { 0xa438, 0x858f }, \ 1696 { 0xa438, 0xbf88 }, \ 1697 { 0xa438, 0x6002 }, \ 1698 { 0xa438, 0x6e7d }, \ 1699 { 0xa438, 0xe085 }, \ 1700 { 0xa438, 0x94e1 }, \ 1701 { 0xa438, 0x8595 }, \ 1702 { 0xa438, 0xbf88 }, \ 1703 { 0xa438, 0x6302 }, \ 1704 { 0xa438, 0x6e7d }, \ 1705 { 0xa438, 0xe085 }, \ 1706 { 0xa438, 0x9ae1 }, \ 1707 { 0xa438, 0x859b }, \ 1708 { 0xa438, 0xbf88 }, \ 1709 { 0xa438, 0x6602 }, \ 1710 { 0xa438, 0x6e7d }, \ 1711 { 0xa438, 0xaf88 }, \ 1712 { 0xa438, 0x3cbf }, \ 1713 { 0xa438, 0x883f }, \ 1714 { 0xa438, 0x026e }, \ 1715 { 0xa438, 0x9cad }, \ 1716 { 0xa438, 0x2835 }, \ 1717 { 0xa438, 0x1f44 }, \ 1718 { 0xa438, 0xe08f }, \ 1719 { 0xa438, 0xf8e1 }, \ 1720 { 0xa438, 0x8ff9 }, \ 1721 { 0xa438, 0xbf88 }, \ 1722 { 0xa438, 0x5d02 }, \ 1723 { 0xa438, 0x6e7d }, \ 1724 { 0xa438, 0xe08f }, \ 1725 { 0xa438, 0xfae1 }, \ 1726 { 0xa438, 0x8ffb }, \ 1727 { 0xa438, 0xbf88 }, \ 1728 { 0xa438, 0x6002 }, \ 1729 { 0xa438, 0x6e7d }, \ 1730 { 0xa438, 0xe08f }, \ 1731 { 0xa438, 0xfce1 }, \ 1732 { 0xa438, 0x8ffd }, \ 1733 { 0xa438, 0xbf88 }, \ 1734 { 0xa438, 0x6302 }, \ 1735 { 0xa438, 0x6e7d }, \ 1736 { 0xa438, 0xe08f }, \ 1737 { 0xa438, 0xfee1 }, \ 1738 { 0xa438, 0x8fff }, \ 1739 { 0xa438, 0xbf88 }, \ 1740 { 0xa438, 0x6602 }, \ 1741 { 0xa438, 0x6e7d }, \ 1742 { 0xa438, 0xaf88 }, \ 1743 { 0xa438, 0x3ce1 }, \ 1744 { 0xa438, 0x85a1 }, \ 1745 { 0xa438, 0x1b21 }, \ 1746 { 0xa438, 0xad37 }, \ 1747 { 0xa438, 0x341f }, \ 1748 { 0xa438, 0x44e0 }, \ 1749 { 0xa438, 0x858a }, \ 1750 { 0xa438, 0xe185 }, \ 1751 { 0xa438, 0x8bbf }, \ 1752 { 0xa438, 0x885d }, \ 1753 { 0xa438, 0x026e }, \ 1754 { 0xa438, 0x7de0 }, \ 1755 { 0xa438, 0x8590 }, \ 1756 { 0xa438, 0xe185 }, \ 1757 { 0xa438, 0x91bf }, \ 1758 { 0xa438, 0x8860 }, \ 1759 { 0xa438, 0x026e }, \ 1760 { 0xa438, 0x7de0 }, \ 1761 { 0xa438, 0x8596 }, \ 1762 { 0xa438, 0xe185 }, \ 1763 { 0xa438, 0x97bf }, \ 1764 { 0xa438, 0x8863 }, \ 1765 { 0xa438, 0x026e }, \ 1766 { 0xa438, 0x7de0 }, \ 1767 { 0xa438, 0x859c }, \ 1768 { 0xa438, 0xe185 }, \ 1769 { 0xa438, 0x9dbf }, \ 1770 { 0xa438, 0x8866 }, \ 1771 { 0xa438, 0x026e }, \ 1772 { 0xa438, 0x7dae }, \ 1773 { 0xa438, 0x401f }, \ 1774 { 0xa438, 0x44e0 }, \ 1775 { 0xa438, 0x858c }, \ 1776 { 0xa438, 0xe185 }, \ 1777 { 0xa438, 0x8dbf }, \ 1778 { 0xa438, 0x885d }, \ 1779 { 0xa438, 0x026e }, \ 1780 { 0xa438, 0x7de0 }, \ 1781 { 0xa438, 0x8592 }, \ 1782 { 0xa438, 0xe185 }, \ 1783 { 0xa438, 0x93bf }, \ 1784 { 0xa438, 0x8860 }, \ 1785 { 0xa438, 0x026e }, \ 1786 { 0xa438, 0x7de0 }, \ 1787 { 0xa438, 0x8598 }, \ 1788 { 0xa438, 0xe185 }, \ 1789 { 0xa438, 0x99bf }, \ 1790 { 0xa438, 0x8863 }, \ 1791 { 0xa438, 0x026e }, \ 1792 { 0xa438, 0x7de0 }, \ 1793 { 0xa438, 0x859e }, \ 1794 { 0xa438, 0xe185 }, \ 1795 { 0xa438, 0x9fbf }, \ 1796 { 0xa438, 0x8866 }, \ 1797 { 0xa438, 0x026e }, \ 1798 { 0xa438, 0x7dae }, \ 1799 { 0xa438, 0x0ce1 }, \ 1800 { 0xa438, 0x85b3 }, \ 1801 { 0xa438, 0x3904 }, \ 1802 { 0xa438, 0xac2f }, \ 1803 { 0xa438, 0x04ee }, \ 1804 { 0xa438, 0x85b3 }, \ 1805 { 0xa438, 0x00af }, \ 1806 { 0xa438, 0x39d9 }, \ 1807 { 0xa438, 0x22ac }, \ 1808 { 0xa438, 0xeaf0 }, \ 1809 { 0xa438, 0xacf6 }, \ 1810 { 0xa438, 0xf0ac }, \ 1811 { 0xa438, 0xfaf0 }, \ 1812 { 0xa438, 0xacf8 }, \ 1813 { 0xa438, 0xf0ac }, \ 1814 { 0xa438, 0xfcf0 }, \ 1815 { 0xa438, 0xad00 }, \ 1816 { 0xa438, 0xf0ac }, \ 1817 { 0xa438, 0xfef0 }, \ 1818 { 0xa438, 0xacf0 }, \ 1819 { 0xa438, 0xf0ac }, \ 1820 { 0xa438, 0xf4f0 }, \ 1821 { 0xa438, 0xacf2 }, \ 1822 { 0xa438, 0xf0ac }, \ 1823 { 0xa438, 0xb0f0 }, \ 1824 { 0xa438, 0xacae }, \ 1825 { 0xa438, 0xf0ac }, \ 1826 { 0xa438, 0xacf0 }, \ 1827 { 0xa438, 0xacaa }, \ 1828 { 0xa438, 0xa100 }, \ 1829 { 0xa438, 0x0ce1 }, \ 1830 { 0xa438, 0x8ff7 }, \ 1831 { 0xa438, 0xbf88 }, \ 1832 { 0xa438, 0x8402 }, \ 1833 { 0xa438, 0x6e7d }, \ 1834 { 0xa438, 0xaf26 }, \ 1835 { 0xa438, 0xe9e1 }, \ 1836 { 0xa438, 0x8ff6 }, \ 1837 { 0xa438, 0xbf88 }, \ 1838 { 0xa438, 0x8402 }, \ 1839 { 0xa438, 0x6e7d }, \ 1840 { 0xa438, 0xaf26 }, \ 1841 { 0xa438, 0xf520 }, \ 1842 { 0xa438, 0xac86 }, \ 1843 { 0xa438, 0xbf88 }, \ 1844 { 0xa438, 0x3f02 }, \ 1845 { 0xa438, 0x6e9c }, \ 1846 { 0xa438, 0xad28 }, \ 1847 { 0xa438, 0x03af }, \ 1848 { 0xa438, 0x3324 }, \ 1849 { 0xa438, 0xad38 }, \ 1850 { 0xa438, 0x03af }, \ 1851 { 0xa438, 0x32e6 }, \ 1852 { 0xa438, 0xaf32 }, \ 1853 { 0xa438, 0xfb00 }, \ 1854 { 0xa436, 0xb87c }, \ 1855 { 0xa438, 0x8ff6 }, \ 1856 { 0xa436, 0xb87e }, \ 1857 { 0xa438, 0x0705 }, \ 1858 { 0xa436, 0xb87c }, \ 1859 { 0xa438, 0x8ff8 }, \ 1860 { 0xa436, 0xb87e }, \ 1861 { 0xa438, 0x19cc }, \ 1862 { 0xa436, 0xb87c }, \ 1863 { 0xa438, 0x8ffa }, \ 1864 { 0xa436, 0xb87e }, \ 1865 { 0xa438, 0x28e3 }, \ 1866 { 0xa436, 0xb87c }, \ 1867 { 0xa438, 0x8ffc }, \ 1868 { 0xa436, 0xb87e }, \ 1869 { 0xa438, 0x1047 }, \ 1870 { 0xa436, 0xb87c }, \ 1871 { 0xa438, 0x8ffe }, \ 1872 { 0xa436, 0xb87e }, \ 1873 { 0xa438, 0x0a45 }, \ 1874 { 0xa436, 0xb85e }, \ 1875 { 0xa438, 0x271e }, \ 1876 { 0xa436, 0xb860 }, \ 1877 { 0xa438, 0x3846 }, \ 1878 { 0xa436, 0xb862 }, \ 1879 { 0xa438, 0x26e6 }, \ 1880 { 0xa436, 0xb864 }, \ 1881 { 0xa438, 0x32e3 }, \ 1882 { 0xa436, 0xb886 }, \ 1883 { 0xa438, 0xffff }, \ 1884 { 0xa436, 0xb888 }, \ 1885 { 0xa438, 0xffff }, \ 1886 { 0xa436, 0xb88a }, \ 1887 { 0xa438, 0xffff }, \ 1888 { 0xa436, 0xb88c }, \ 1889 { 0xa438, 0xffff }, \ 1890 { 0xa436, 0xb838 }, \ 1891 { 0xa438, 0x000f }, \ 1892 { 0xb820, 0x0010 }, \ 1893 { 0xa436, 0x846e }, \ 1894 { 0xa438, 0xaf84 }, \ 1895 { 0xa438, 0x86af }, \ 1896 { 0xa438, 0x8690 }, \ 1897 { 0xa438, 0xaf86 }, \ 1898 { 0xa438, 0xa4af }, \ 1899 { 0xa438, 0x86a4 }, \ 1900 { 0xa438, 0xaf86 }, \ 1901 { 0xa438, 0xa4af }, \ 1902 { 0xa438, 0x86a4 }, \ 1903 { 0xa438, 0xaf86 }, \ 1904 { 0xa438, 0xa4af }, \ 1905 { 0xa438, 0x86a4 }, \ 1906 { 0xa438, 0xee82 }, \ 1907 { 0xa438, 0x5f00 }, \ 1908 { 0xa438, 0x0284 }, \ 1909 { 0xa438, 0x90af }, \ 1910 { 0xa438, 0x0441 }, \ 1911 { 0xa438, 0xf8e0 }, \ 1912 { 0xa438, 0x8ff3 }, \ 1913 { 0xa438, 0xa000 }, \ 1914 { 0xa438, 0x0502 }, \ 1915 { 0xa438, 0x84a4 }, \ 1916 { 0xa438, 0xae06 }, \ 1917 { 0xa438, 0xa001 }, \ 1918 { 0xa438, 0x0302 }, \ 1919 { 0xa438, 0x84c8 }, \ 1920 { 0xa438, 0xfc04 }, \ 1921 { 0xa438, 0xf8f9 }, \ 1922 { 0xa438, 0xef59 }, \ 1923 { 0xa438, 0xe080 }, \ 1924 { 0xa438, 0x15ad }, \ 1925 { 0xa438, 0x2702 }, \ 1926 { 0xa438, 0xae03 }, \ 1927 { 0xa438, 0xaf84 }, \ 1928 { 0xa438, 0xc3bf }, \ 1929 { 0xa438, 0x53ca }, \ 1930 { 0xa438, 0x0252 }, \ 1931 { 0xa438, 0xc8ad }, \ 1932 { 0xa438, 0x2807 }, \ 1933 { 0xa438, 0x0285 }, \ 1934 { 0xa438, 0x2cee }, \ 1935 { 0xa438, 0x8ff3 }, \ 1936 { 0xa438, 0x01ef }, \ 1937 { 0xa438, 0x95fd }, \ 1938 { 0xa438, 0xfc04 }, \ 1939 { 0xa438, 0xf8f9 }, \ 1940 { 0xa438, 0xfaef }, \ 1941 { 0xa438, 0x69bf }, \ 1942 { 0xa438, 0x53ca }, \ 1943 { 0xa438, 0x0252 }, \ 1944 { 0xa438, 0xc8ac }, \ 1945 { 0xa438, 0x2822 }, \ 1946 { 0xa438, 0xd480 }, \ 1947 { 0xa438, 0x00bf }, \ 1948 { 0xa438, 0x8684 }, \ 1949 { 0xa438, 0x0252 }, \ 1950 { 0xa438, 0xa9bf }, \ 1951 { 0xa438, 0x8687 }, \ 1952 { 0xa438, 0x0252 }, \ 1953 { 0xa438, 0xa9bf }, \ 1954 { 0xa438, 0x868a }, \ 1955 { 0xa438, 0x0252 }, \ 1956 { 0xa438, 0xa9bf }, \ 1957 { 0xa438, 0x868d }, \ 1958 { 0xa438, 0x0252 }, \ 1959 { 0xa438, 0xa9ee }, \ 1960 { 0xa438, 0x8ff3 }, \ 1961 { 0xa438, 0x00af }, \ 1962 { 0xa438, 0x8526 }, \ 1963 { 0xa438, 0xe08f }, \ 1964 { 0xa438, 0xf4e1 }, \ 1965 { 0xa438, 0x8ff5 }, \ 1966 { 0xa438, 0xe28f }, \ 1967 { 0xa438, 0xf6e3 }, \ 1968 { 0xa438, 0x8ff7 }, \ 1969 { 0xa438, 0x1b45 }, \ 1970 { 0xa438, 0xac27 }, \ 1971 { 0xa438, 0x0eee }, \ 1972 { 0xa438, 0x8ff4 }, \ 1973 { 0xa438, 0x00ee }, \ 1974 { 0xa438, 0x8ff5 }, \ 1975 { 0xa438, 0x0002 }, \ 1976 { 0xa438, 0x852c }, \ 1977 { 0xa438, 0xaf85 }, \ 1978 { 0xa438, 0x26e0 }, \ 1979 { 0xa438, 0x8ff4 }, \ 1980 { 0xa438, 0xe18f }, \ 1981 { 0xa438, 0xf52c }, \ 1982 { 0xa438, 0x0001 }, \ 1983 { 0xa438, 0xe48f }, \ 1984 { 0xa438, 0xf4e5 }, \ 1985 { 0xa438, 0x8ff5 }, \ 1986 { 0xa438, 0xef96 }, \ 1987 { 0xa438, 0xfefd }, \ 1988 { 0xa438, 0xfc04 }, \ 1989 { 0xa438, 0xf8f9 }, \ 1990 { 0xa438, 0xef59 }, \ 1991 { 0xa438, 0xbf53 }, \ 1992 { 0xa438, 0x2202 }, \ 1993 { 0xa438, 0x52c8 }, \ 1994 { 0xa438, 0xa18b }, \ 1995 { 0xa438, 0x02ae }, \ 1996 { 0xa438, 0x03af }, \ 1997 { 0xa438, 0x85da }, \ 1998 { 0xa438, 0xbf57 }, \ 1999 { 0xa438, 0x7202 }, \ 2000 { 0xa438, 0x52c8 }, \ 2001 { 0xa438, 0xe48f }, \ 2002 { 0xa438, 0xf8e5 }, \ 2003 { 0xa438, 0x8ff9 }, \ 2004 { 0xa438, 0xbf57 }, \ 2005 { 0xa438, 0x7502 }, \ 2006 { 0xa438, 0x52c8 }, \ 2007 { 0xa438, 0xe48f }, \ 2008 { 0xa438, 0xfae5 }, \ 2009 { 0xa438, 0x8ffb }, \ 2010 { 0xa438, 0xbf57 }, \ 2011 { 0xa438, 0x7802 }, \ 2012 { 0xa438, 0x52c8 }, \ 2013 { 0xa438, 0xe48f }, \ 2014 { 0xa438, 0xfce5 }, \ 2015 { 0xa438, 0x8ffd }, \ 2016 { 0xa438, 0xbf57 }, \ 2017 { 0xa438, 0x7b02 }, \ 2018 { 0xa438, 0x52c8 }, \ 2019 { 0xa438, 0xe48f }, \ 2020 { 0xa438, 0xfee5 }, \ 2021 { 0xa438, 0x8fff }, \ 2022 { 0xa438, 0xbf57 }, \ 2023 { 0xa438, 0x6c02 }, \ 2024 { 0xa438, 0x52c8 }, \ 2025 { 0xa438, 0xa102 }, \ 2026 { 0xa438, 0x13ee }, \ 2027 { 0xa438, 0x8ffc }, \ 2028 { 0xa438, 0x80ee }, \ 2029 { 0xa438, 0x8ffd }, \ 2030 { 0xa438, 0x00ee }, \ 2031 { 0xa438, 0x8ffe }, \ 2032 { 0xa438, 0x80ee }, \ 2033 { 0xa438, 0x8fff }, \ 2034 { 0xa438, 0x00af }, \ 2035 { 0xa438, 0x8599 }, \ 2036 { 0xa438, 0xa101 }, \ 2037 { 0xa438, 0x0cbf }, \ 2038 { 0xa438, 0x534c }, \ 2039 { 0xa438, 0x0252 }, \ 2040 { 0xa438, 0xc8a1 }, \ 2041 { 0xa438, 0x0303 }, \ 2042 { 0xa438, 0xaf85 }, \ 2043 { 0xa438, 0x77bf }, \ 2044 { 0xa438, 0x5322 }, \ 2045 { 0xa438, 0x0252 }, \ 2046 { 0xa438, 0xc8a1 }, \ 2047 { 0xa438, 0x8b02 }, \ 2048 { 0xa438, 0xae03 }, \ 2049 { 0xa438, 0xaf86 }, \ 2050 { 0xa438, 0x64e0 }, \ 2051 { 0xa438, 0x8ff8 }, \ 2052 { 0xa438, 0xe18f }, \ 2053 { 0xa438, 0xf9bf }, \ 2054 { 0xa438, 0x8684 }, \ 2055 { 0xa438, 0x0252 }, \ 2056 { 0xa438, 0xa9e0 }, \ 2057 { 0xa438, 0x8ffa }, \ 2058 { 0xa438, 0xe18f }, \ 2059 { 0xa438, 0xfbbf }, \ 2060 { 0xa438, 0x8687 }, \ 2061 { 0xa438, 0x0252 }, \ 2062 { 0xa438, 0xa9e0 }, \ 2063 { 0xa438, 0x8ffc }, \ 2064 { 0xa438, 0xe18f }, \ 2065 { 0xa438, 0xfdbf }, \ 2066 { 0xa438, 0x868a }, \ 2067 { 0xa438, 0x0252 }, \ 2068 { 0xa438, 0xa9e0 }, \ 2069 { 0xa438, 0x8ffe }, \ 2070 { 0xa438, 0xe18f }, \ 2071 { 0xa438, 0xffbf }, \ 2072 { 0xa438, 0x868d }, \ 2073 { 0xa438, 0x0252 }, \ 2074 { 0xa438, 0xa9af }, \ 2075 { 0xa438, 0x867f }, \ 2076 { 0xa438, 0xbf53 }, \ 2077 { 0xa438, 0x2202 }, \ 2078 { 0xa438, 0x52c8 }, \ 2079 { 0xa438, 0xa144 }, \ 2080 { 0xa438, 0x3cbf }, \ 2081 { 0xa438, 0x547b }, \ 2082 { 0xa438, 0x0252 }, \ 2083 { 0xa438, 0xc8e4 }, \ 2084 { 0xa438, 0x8ff8 }, \ 2085 { 0xa438, 0xe58f }, \ 2086 { 0xa438, 0xf9bf }, \ 2087 { 0xa438, 0x547e }, \ 2088 { 0xa438, 0x0252 }, \ 2089 { 0xa438, 0xc8e4 }, \ 2090 { 0xa438, 0x8ffa }, \ 2091 { 0xa438, 0xe58f }, \ 2092 { 0xa438, 0xfbbf }, \ 2093 { 0xa438, 0x5481 }, \ 2094 { 0xa438, 0x0252 }, \ 2095 { 0xa438, 0xc8e4 }, \ 2096 { 0xa438, 0x8ffc }, \ 2097 { 0xa438, 0xe58f }, \ 2098 { 0xa438, 0xfdbf }, \ 2099 { 0xa438, 0x5484 }, \ 2100 { 0xa438, 0x0252 }, \ 2101 { 0xa438, 0xc8e4 }, \ 2102 { 0xa438, 0x8ffe }, \ 2103 { 0xa438, 0xe58f }, \ 2104 { 0xa438, 0xffbf }, \ 2105 { 0xa438, 0x5322 }, \ 2106 { 0xa438, 0x0252 }, \ 2107 { 0xa438, 0xc8a1 }, \ 2108 { 0xa438, 0x4448 }, \ 2109 { 0xa438, 0xaf85 }, \ 2110 { 0xa438, 0xa7bf }, \ 2111 { 0xa438, 0x5322 }, \ 2112 { 0xa438, 0x0252 }, \ 2113 { 0xa438, 0xc8a1 }, \ 2114 { 0xa438, 0x313c }, \ 2115 { 0xa438, 0xbf54 }, \ 2116 { 0xa438, 0x7b02 }, \ 2117 { 0xa438, 0x52c8 }, \ 2118 { 0xa438, 0xe48f }, \ 2119 { 0xa438, 0xf8e5 }, \ 2120 { 0xa438, 0x8ff9 }, \ 2121 { 0xa438, 0xbf54 }, \ 2122 { 0xa438, 0x7e02 }, \ 2123 { 0xa438, 0x52c8 }, \ 2124 { 0xa438, 0xe48f }, \ 2125 { 0xa438, 0xfae5 }, \ 2126 { 0xa438, 0x8ffb }, \ 2127 { 0xa438, 0xbf54 }, \ 2128 { 0xa438, 0x8102 }, \ 2129 { 0xa438, 0x52c8 }, \ 2130 { 0xa438, 0xe48f }, \ 2131 { 0xa438, 0xfce5 }, \ 2132 { 0xa438, 0x8ffd }, \ 2133 { 0xa438, 0xbf54 }, \ 2134 { 0xa438, 0x8402 }, \ 2135 { 0xa438, 0x52c8 }, \ 2136 { 0xa438, 0xe48f }, \ 2137 { 0xa438, 0xfee5 }, \ 2138 { 0xa438, 0x8fff }, \ 2139 { 0xa438, 0xbf53 }, \ 2140 { 0xa438, 0x2202 }, \ 2141 { 0xa438, 0x52c8 }, \ 2142 { 0xa438, 0xa131 }, \ 2143 { 0xa438, 0x03af }, \ 2144 { 0xa438, 0x85a7 }, \ 2145 { 0xa438, 0xd480 }, \ 2146 { 0xa438, 0x00bf }, \ 2147 { 0xa438, 0x8684 }, \ 2148 { 0xa438, 0x0252 }, \ 2149 { 0xa438, 0xa9bf }, \ 2150 { 0xa438, 0x8687 }, \ 2151 { 0xa438, 0x0252 }, \ 2152 { 0xa438, 0xa9bf }, \ 2153 { 0xa438, 0x868a }, \ 2154 { 0xa438, 0x0252 }, \ 2155 { 0xa438, 0xa9bf }, \ 2156 { 0xa438, 0x868d }, \ 2157 { 0xa438, 0x0252 }, \ 2158 { 0xa438, 0xa9ef }, \ 2159 { 0xa438, 0x95fd }, \ 2160 { 0xa438, 0xfc04 }, \ 2161 { 0xa438, 0xf0d1 }, \ 2162 { 0xa438, 0x2af0 }, \ 2163 { 0xa438, 0xd12c }, \ 2164 { 0xa438, 0xf0d1 }, \ 2165 { 0xa438, 0x44f0 }, \ 2166 { 0xa438, 0xd146 }, \ 2167 { 0xa438, 0xbf86 }, \ 2168 { 0xa438, 0xa102 }, \ 2169 { 0xa438, 0x52c8 }, \ 2170 { 0xa438, 0xbf86 }, \ 2171 { 0xa438, 0xa102 }, \ 2172 { 0xa438, 0x52c8 }, \ 2173 { 0xa438, 0xd101 }, \ 2174 { 0xa438, 0xaf06 }, \ 2175 { 0xa438, 0xa570 }, \ 2176 { 0xa438, 0xce42 }, \ 2177 { 0xa436, 0xb818 }, \ 2178 { 0xa438, 0x043d }, \ 2179 { 0xa436, 0xb81a }, \ 2180 { 0xa438, 0x06a3 }, \ 2181 { 0xa436, 0xb81c }, \ 2182 { 0xa438, 0xffff }, \ 2183 { 0xa436, 0xb81e }, \ 2184 { 0xa438, 0xffff }, \ 2185 { 0xa436, 0xb850 }, \ 2186 { 0xa438, 0xffff }, \ 2187 { 0xa436, 0xb852 }, \ 2188 { 0xa438, 0xffff }, \ 2189 { 0xa436, 0xb878 }, \ 2190 { 0xa438, 0xffff }, \ 2191 { 0xa436, 0xb884 }, \ 2192 { 0xa438, 0xffff }, \ 2193 { 0xa436, 0xb832 }, \ 2194 { 0xa438, 0x0003 }, \ 2195 { 0xa436, 0x0000 }, \ 2196 { 0xa438, 0x0000 }, \ 2197 { 0xa436, 0xb82e }, \ 2198 { 0xa438, 0x0000 }, \ 2199 { 0xa436, 0x8024 }, \ 2200 { 0xa438, 0x0000 }, \ 2201 { 0xa436, 0x801e }, \ 2202 { 0xa438, 0x0021 }, \ 2203 { 0xb820, 0x0000 } 2204