if_rgereg.h revision 1.4 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 (at) 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