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 */
204struct 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 */
226struct 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  */
294struct 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
312struct rge_txq {
313	struct mbuf		*txq_mbuf;
314	bus_dmamap_t		txq_dmamap;
315	int			txq_descidx;
316};
317
318struct rge_rxq {
319	struct mbuf		*rxq_mbuf;
320	bus_dmamap_t		rxq_dmamap;
321};
322
323struct 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
334struct 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
349struct 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
363enum 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
382struct kstat;
383
384struct 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
465static 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
604static 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