2 * Copyright (c) 1997, 1998
3 * Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * 3. All advertising materials mentioning features or use of this software
14 * must display the following acknowledgement:
15 * This product includes software developed by Bill Paul.
16 * 4. Neither the name of the author nor the names of any co-contributors
17 * may be used to endorse or promote products derived from this software
18 * without specific prior written permission.
20 * THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
21 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 * ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
24 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
30 * THE POSSIBILITY OF SUCH DAMAGE.
32 * $FreeBSD: src/sys/dev/if_rl.c,v 1.38.2.7 2001/07/19 18:33:07 wpaul Exp $
36 * RealTek 8129/8139 PCI NIC driver
38 * Written by Bill Paul <wpaul@ctr.columbia.edu>
39 * Electrical Engineering Department
40 * Columbia University, New York City
44 #include <sys/cdefs.h>
45 __FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.95.00 " __DATE__ " " __TIME__ " wpaul Exp $");
48 * This driver also support Realtek 8139C+, 8110S/SB/SC, RTL8111B/C/CP/D and RTL8101E/8102E/8103E.
51 #include <sys/param.h>
52 #include <sys/systm.h>
53 #include <sys/sockio.h>
55 #include <sys/malloc.h>
56 #include <sys/kernel.h>
57 #include <sys/socket.h>
58 #include <sys/taskqueue.h>
59 #include <sys/random.h>
62 #include <net/if_var.h>
63 #include <net/if_arp.h>
64 #include <net/ethernet.h>
65 #include <net/if_dl.h>
66 #include <net/if_media.h>
70 #include <vm/vm.h> /* for vtophys */
71 #include <vm/pmap.h> /* for vtophys */
72 #include <machine/clock.h> /* for DELAY */
74 #include <machine/bus.h>
75 #include <machine/resource.h>
78 #include <sys/endian.h>
80 #include <dev/mii/mii.h>
81 #include <dev/re/if_rereg.h>
83 #if OS_VER < VERSION(5,3)
84 #include <pci/pcireg.h>
85 #include <pci/pcivar.h>
86 #include <machine/bus_pio.h>
87 #include <machine/bus_memio.h>
89 #include <dev/pci/pcireg.h>
90 #include <dev/pci/pcivar.h>
91 #include <sys/module.h>
94 #if OS_VER > VERSION(5,9)
95 #include <sys/cdefs.h>
96 #include <sys/endian.h>
97 #include <net/if_types.h>
98 #include <net/if_vlan_var.h>
100 #else /* __DragonFly__ */
102 #include <sys/param.h>
104 #include <sys/endian.h>
105 #include <sys/kernel.h>
106 #include <sys/systm.h>
108 #include <net/ethernet.h>
110 #include <net/if_arp.h>
111 #include <net/if_dl.h>
112 #include <net/if_media.h>
113 #include <net/if_poll.h>
114 #include <net/vlan/if_vlan_var.h>
116 #include <bus/pci/pcireg.h>
117 #include <bus/pci/pcivar.h>
119 #include <dev/netif/mii_layer/mii.h>
120 #include <dev/netif/re/if_revar.h>
121 #include <dev/netif/re/re.h>
122 #include <dev/netif/re/re_dragonfly.h>
125 #define RE_UNLOCK(sc)
126 #define RE_LOCK_ASSERT(sc)
128 #define RE_GET_IFNET(sc) &(sc)->arpcom.ac_if
130 #endif /* !__DragonFly__ */
133 CSR_WRITE_1(sc, RE_EECMD, \
134 CSR_READ_1(sc, RE_EECMD) | x)
137 CSR_WRITE_1(sc, RE_EECMD, \
138 CSR_READ_1(sc, RE_EECMD) & ~x)
140 #ifndef __DragonFly__
142 * Various supported device vendors/types and their names.
144 static struct re_type re_devs[] = {
146 RT_VENDORID, RT_DEVICEID_8169,
147 "Realtek PCI GBE Family Controller"
150 RT_VENDORID, RT_DEVICEID_8169SC,
151 "Realtek PCI GBE Family Controller"
154 RT_VENDORID, RT_DEVICEID_8168,
155 "Realtek PCIe GBE Family Controller"
158 RT_VENDORID, RT_DEVICEID_8161,
159 "Realtek PCIe GBE Family Controller"
162 RT_VENDORID, RT_DEVICEID_8136,
163 "Realtek PCIe FE Family Controller"
166 DLINK_VENDORID, 0x4300,
167 "Realtek PCI GBE Family Controller"
172 static int re_probe __P((device_t));
173 static int re_attach __P((device_t));
174 static int re_detach __P((device_t));
175 static int re_suspend __P((device_t));
176 static int re_resume __P((device_t));
177 static int re_shutdown __P((device_t));
179 static void MP_WritePhyUshort __P((struct re_softc*, u_int8_t, u_int16_t));
180 static u_int16_t MP_ReadPhyUshort __P((struct re_softc*, u_int8_t));
181 static void MP_WriteEPhyUshort __P((struct re_softc*, u_int8_t, u_int16_t));
182 static u_int16_t MP_ReadEPhyUshort __P((struct re_softc*, u_int8_t));
183 static u_int8_t MP_ReadEfuse __P((struct re_softc*, u_int16_t));
184 static void MP_WritePhyOcpRegWord __P((struct re_softc*, u_int16_t, u_int8_t, u_int16_t));
185 static u_int16_t MP_ReadPhyOcpRegWord __P((struct re_softc*, u_int16_t, u_int8_t));
186 static void MP_WriteMcuAccessRegWord __P((struct re_softc*, u_int16_t, u_int16_t));
187 static u_int16_t MP_ReadMcuAccessRegWord __P((struct re_softc*, u_int16_t));
188 static void MP_WriteOtherFunPciEConfigSpace __P((struct re_softc *, u_int8_t, u_int16_t, u_int32_t Regata));
189 static u_int32_t MP_ReadOtherFunPciEConfigSpace __P((struct re_softc *, u_int8_t, u_int16_t));
190 static void MP_WritePciEConfigSpace __P((struct re_softc*, u_int16_t, u_int32_t));
191 static u_int32_t MP_ReadPciEConfigSpace __P((struct re_softc*, u_int16_t));
192 #endif /* !__DragonFly__ */
194 static int re_check_dash __P((struct re_softc *));
196 #ifndef __DragonFly__
197 static void re_driver_start __P((struct re_softc*));
198 static void re_driver_stop __P((struct re_softc*));
200 static void re_hw_phy_config __P((struct re_softc *));
201 static void re_init __P((void *));
202 static int re_var_init __P((struct re_softc *));
203 static void re_reset __P((struct re_softc *));
204 static void re_stop __P((struct re_softc *));
205 static void re_setwol __P((struct re_softc *));
206 #endif /* !__DragonFly__ */
207 static void re_clrwol __P((struct re_softc *));
208 static void re_set_wol_linkspeed __P((struct re_softc *));
210 #ifndef __DragonFly__
211 static void re_start __P((struct ifnet *));
212 static int re_encap __P((struct re_softc *, struct mbuf *));
213 static void WritePacket __P((struct re_softc *, caddr_t, int, int, int, uint32_t, uint32_t));
214 static int CountFreeTxDescNum __P((struct re_descriptor));
215 static int CountMbufNum __P((struct mbuf *));
217 static __inline void re_fixup_rx __P((struct mbuf *));
219 static void re_txeof __P((struct re_softc *));
221 static void re_rxeof __P((struct re_softc *));
223 #if OS_VER < VERSION(7,0)
224 static void re_intr __P((void *));
226 static int re_intr __P((void *));
227 #endif //OS_VER < VERSION(7,0)
228 #endif /* !__DragonFly__ */
229 static void re_set_multicast_reg __P((struct re_softc *, u_int32_t, u_int32_t));
230 #ifndef __DragonFly__
231 static void re_set_rx_packet_filter_in_sleep_state __P((struct re_softc *));
233 static void re_set_rx_packet_filter __P((struct re_softc *));
234 static void re_setmulti __P((struct re_softc *));
235 #ifndef __DragonFly__
236 static int re_ioctl __P((struct ifnet *, u_long, caddr_t));
238 static u_int8_t re_link_ok __P((struct re_softc *));
239 static void re_link_on_patch __P((struct re_softc *));
240 #ifndef __DragonFly__
241 static void re_link_down_patch __P((struct re_softc *));
242 static void re_init_timer __P((struct re_softc *));
243 static void re_stop_timer __P((struct re_softc *));
244 static void re_start_timer __P((struct re_softc *));
245 static void re_tick __P((void *));
246 #if OS_VER < VERSION(7,0)
247 static void re_watchdog __P((struct ifnet *));
249 #endif /* !__DragonFly__ */
251 static int re_ifmedia_upd __P((struct ifnet *));
252 static void re_ifmedia_sts __P((struct ifnet *, struct ifmediareq *));
254 static void re_eeprom_ShiftOutBits __P((struct re_softc *, int, int));
255 static u_int16_t re_eeprom_ShiftInBits __P((struct re_softc *));
256 static void re_eeprom_EEpromCleanup __P((struct re_softc *));
257 static void re_eeprom_getword __P((struct re_softc *, int, u_int16_t *));
258 static void re_read_eeprom __P((struct re_softc *, caddr_t, int, int, int));
259 #ifndef __DragonFly__
260 static void re_int_task (void *, int);
261 #endif /* !__DragonFly__ */
263 static void re_phy_power_up(device_t dev);
264 static void re_phy_power_down(device_t dev);
265 #ifndef __DragonFly__
266 static int re_alloc_buf(struct re_softc *);
267 static void re_release_buf(struct re_softc *);
268 static void set_rxbufsize(struct re_softc*);
269 static void re_release_rx_buf(struct re_softc *);
270 static void re_release_tx_buf(struct re_softc *);
271 #endif /* !__DragonFly__ */
272 static u_int32_t re_eri_read(struct re_softc *, int, int, int);
273 static int re_eri_write(struct re_softc *, int, int, u_int32_t, int);
274 static void OOB_mutex_lock(struct re_softc *);
275 static void OOB_mutex_unlock(struct re_softc *);
278 u_int16_t MP_ReadMcuAccessRegWord(struct re_softc *, u_int16_t);
279 void MP_WriteMcuAccessRegWord(struct re_softc *, u_int16_t, u_int16_t);
281 u_int16_t MP_ReadPhyOcpRegWord(struct re_softc *, u_int16_t, u_int8_t);
282 void MP_WritePhyOcpRegWord(struct re_softc *, u_int16_t, u_int8_t, u_int16_t);
284 void MP_WritePhyUshort(struct re_softc *, u_int8_t, u_int16_t);
285 u_int16_t MP_ReadPhyUshort(struct re_softc *, u_int8_t);
287 u_int32_t MP_ReadPciEConfigSpace(struct re_softc *, u_int16_t);
288 void MP_WritePciEConfigSpace(struct re_softc *, u_int16_t, u_int32_t);
289 u_int32_t MP_ReadOtherFunPciEConfigSpace(struct re_softc *, u_int8_t,
291 void MP_WriteOtherFunPciEConfigSpace(struct re_softc *, u_int8_t, u_int16_t,
294 u_int16_t MP_ReadEPhyUshort(struct re_softc *, u_int8_t);
295 void MP_WriteEPhyUshort(struct re_softc *, u_int8_t, u_int16_t);
297 u_int8_t MP_ReadEfuse(struct re_softc *, u_int16_t);
299 void re_driver_start(struct re_softc *);
300 void re_driver_stop(struct re_softc *);
301 #endif /* __DragonFly__ */
304 static int msi_disable = 1;
305 TUNABLE_INT("hw.re.msi_disable", &msi_disable);
306 static int msix_disable = 0;
307 TUNABLE_INT("hw.re.msix_disable", &msix_disable);
308 static int prefer_iomap = 0;
309 TUNABLE_INT("hw.re.prefer_iomap", &prefer_iomap);
310 static int eee_enable = 0;
311 TUNABLE_INT("hw.re.eee_enable", &eee_enable);
312 static int phy_power_saving = 1;
313 TUNABLE_INT("hw.re.phy_power_saving", &phy_power_saving);
314 static int phy_mdix_mode = RE_ETH_PHY_AUTO_MDI_MDIX;
315 TUNABLE_INT("hw.re.phy_mdix_mode", &phy_mdix_mode);
317 #define RE_CSUM_FEATURES (CSUM_IP | CSUM_TCP | CSUM_UDP)
319 #ifndef __DragonFly__
320 static device_method_t re_methods[] = {
321 /* Device interface */
322 DEVMETHOD(device_probe, re_probe),
323 DEVMETHOD(device_attach, re_attach),
324 DEVMETHOD(device_detach, re_detach),
325 DEVMETHOD(device_suspend, re_suspend),
326 DEVMETHOD(device_resume, re_resume),
327 DEVMETHOD(device_shutdown, re_shutdown),
331 static driver_t re_driver = {
334 sizeof(struct re_softc)
337 static devclass_t re_devclass;
339 DRIVER_MODULE(if_re, pci, re_driver, re_devclass, NULL, NULL);
340 #endif /* !__DragonFly__ */
342 static int re_is_ups_resume(struct re_softc *sc)
344 return (MP_ReadMcuAccessRegWord(sc, 0xD408) & BIT_0);
347 static void re_clear_ups_resume_bit(struct re_softc *sc)
349 MP_WriteMcuAccessRegWord(sc, 0xD408, MP_ReadMcuAccessRegWord(sc, 0xD408) & ~(BIT_0));
352 static void re_wait_phy_ups_resume(struct re_softc *sc, u_int16_t PhyState)
354 u_int16_t TmpPhyState;
358 TmpPhyState = MP_ReadPhyOcpRegWord(sc, 0x0A42, 0x10);
362 } while ((i < 100) && (TmpPhyState != 2));
365 static void re_phy_power_up(device_t dev)
370 sc = device_get_softc(dev);
372 if ((sc->re_if_flags & RL_FLAG_PHYWAKE_PM) != 0)
373 CSR_WRITE_1(sc, RE_PMCH, CSR_READ_1(sc, RE_PMCH) | (BIT_6|BIT_7));
375 MP_WritePhyUshort(sc, 0x1F, 0x0000);
377 switch (sc->re_type) {
396 MP_WritePhyUshort(sc, 0x0e, 0x0000);
402 Data8 = re_eri_read(sc, 0x1AB, 1, ERIAR_ExGMAC);
403 Data8 |= (BIT_2 | BIT_3 | BIT_4 | BIT_5 | BIT_6 | BIT_7);
404 re_eri_write(sc, 0x1AB, 1, Data8, ERIAR_ExGMAC);
411 MP_WritePhyUshort(sc, MII_BMCR, BMCR_AUTOEN);
413 //wait mdc/mdio ready
414 switch(sc->re_type) {
422 //wait ups resume (phy state 3)
423 switch(sc->re_type) {
428 re_wait_phy_ups_resume(sc, 3);
433 static void re_phy_power_down(device_t dev)
438 sc = device_get_softc(dev);
441 re_set_wol_linkspeed(sc);
445 MP_WritePhyUshort(sc, 0x1F, 0x0000);
447 switch (sc->re_type) {
463 MP_WritePhyUshort(sc, 0x0e, 0x0200);
464 MP_WritePhyUshort(sc, MII_BMCR, (BMCR_AUTOEN|BMCR_PDOWN));
470 Data8 = re_eri_read(sc, 0x1AB, 1, ERIAR_ExGMAC);
471 Data8 &= ~(BIT_2 | BIT_3 | BIT_4 | BIT_5 | BIT_6 | BIT_7);
472 re_eri_write(sc, 0x1AB, 1, Data8, ERIAR_ExGMAC);
474 MP_WritePhyUshort(sc, MII_BMCR, (BMCR_AUTOEN|BMCR_PDOWN));
477 MP_WritePhyUshort(sc, MII_BMCR, (BMCR_AUTOEN|BMCR_PDOWN));
481 switch (sc->re_type) {
484 CSR_WRITE_1(sc, 0xD0, CSR_READ_1(sc, 0xD0) & ~BIT_6);
488 switch (sc->re_type) {
491 CSR_WRITE_1(sc, 0xD0, CSR_READ_1(sc, 0xD0) & ~BIT_6);
492 CSR_WRITE_1(sc, 0xF2, CSR_READ_1(sc, 0xF2) & ~BIT_6);
496 if ((sc->re_if_flags & RL_FLAG_PHYWAKE_PM) != 0)
497 CSR_WRITE_1(sc, RE_PMCH, CSR_READ_1(sc, RE_PMCH) & ~(BIT_6|BIT_7));
500 #ifndef __DragonFly__
501 static void re_tx_dma_map_buf(void *arg, bus_dma_segment_t *segs, int nseg, int error)
503 union TxDesc *txptr = arg;
506 txptr->ul[0] &= ~htole32(RL_TDESC_CMD_BUFLEN);
507 txptr->so1.TxBuffL = 0;
508 txptr->so1.TxBuffH = 0;
512 txptr->so1.TxBuffL = htole32(RL_ADDR_LO(segs->ds_addr));
513 txptr->so1.TxBuffH = htole32(RL_ADDR_HI(segs->ds_addr));
516 static void re_rx_dma_map_buf(void *arg, bus_dma_segment_t *segs, int nseg, int error)
518 union RxDesc *rxptr = arg;
521 rxptr->ul[0] &= ~htole32(RL_RDESC_CMD_BUFLEN);
522 rxptr->so0.RxBuffL = 0;
523 rxptr->so0.RxBuffH = 0;
527 rxptr->so0.RxBuffL = htole32(RL_ADDR_LO(segs->ds_addr));
528 rxptr->so0.RxBuffH = htole32(RL_ADDR_HI(segs->ds_addr));
531 static void re_dma_map_rxdesc(void *arg, bus_dma_segment_t *segs, int nseg, int error)
533 struct re_softc *sc = arg;
539 CSR_WRITE_4(sc, 0xe4, RL_ADDR_LO(segs->ds_addr));
540 CSR_WRITE_4(sc, 0xe8, RL_ADDR_HI(segs->ds_addr));
543 static void re_dma_map_txdesc(void *arg, bus_dma_segment_t *segs, int nseg, int error)
545 struct re_softc *sc = arg;
551 CSR_WRITE_4(sc, 0x20, RL_ADDR_LO(segs->ds_addr));
552 CSR_WRITE_4(sc, 0x24, RL_ADDR_HI(segs->ds_addr));
556 * Probe for a RealTek 8129/8139 chip. Check the PCI vendor and device
557 * IDs against our list and return a device name if we find a match.
559 static int re_probe(dev) /* Search for Realtek NIC chip */
564 while (t->re_name != NULL) {
565 if ((pci_get_vendor(dev) == t->re_vid) &&
566 (pci_get_device(dev) == t->re_did)) {
567 device_set_desc(dev, t->re_name);
575 #endif /* !__DragonFly__ */
578 static u_int32_t re_eri_read_with_oob_base_address(struct re_softc *sc, int addr, int len, int type, const u_int32_t base_address)
580 int i, val_shift, shift = 0;
581 u_int32_t value1 = 0, value2 = 0, mask;
582 const u_int32_t transformed_base_address = ((base_address & 0x00FFF000) << 6) | (base_address & 0x000FFF);
584 if (len > 4 || len <= 0)
588 val_shift = addr % ERIAR_Addr_Align;
591 CSR_WRITE_4(sc,RE_ERIAR,
593 transformed_base_address |
594 type << ERIAR_Type_shift |
595 ERIAR_ByteEn << ERIAR_ByteEn_shift |
598 for (i = 0; i < 10; i++) {
601 /* Check if the RTL8168 has completed ERI read */
602 if (CSR_READ_4(sc,RE_ERIAR) & ERIAR_Flag)
606 if (len == 1) mask = (0xFF << (val_shift * 8)) & 0xFFFFFFFF;
607 else if (len == 2) mask = (0xFFFF << (val_shift * 8)) & 0xFFFFFFFF;
608 else if (len == 3) mask = (0xFFFFFF << (val_shift * 8)) & 0xFFFFFFFF;
609 else mask = (0xFFFFFFFF << (val_shift * 8)) & 0xFFFFFFFF;
611 value1 = CSR_READ_4(sc,RE_ERIDR) & mask;
612 value2 |= (value1 >> val_shift * 8) << shift * 8;
614 if (len <= 4 - val_shift)
617 len -= (4 - val_shift);
618 shift = 4 - val_shift;
626 static u_int32_t re_eri_read(struct re_softc *sc, int addr, int len, int type)
628 return re_eri_read_with_oob_base_address(sc, addr, len, type, 0);
631 static int re_eri_write_with_oob_base_address(struct re_softc *sc, int addr, int len, u_int32_t value, int type, const u_int32_t base_address)
634 int i, val_shift, shift = 0;
635 u_int32_t value1 = 0, mask;
636 const u_int32_t transformed_base_address = ((base_address & 0x00FFF000) << 6) | (base_address & 0x000FFF);
638 if (len > 4 || len <= 0)
642 val_shift = addr % ERIAR_Addr_Align;
645 if (len == 1) mask = (0xFF << (val_shift * 8)) & 0xFFFFFFFF;
646 else if (len == 2) mask = (0xFFFF << (val_shift * 8)) & 0xFFFFFFFF;
647 else if (len == 3) mask = (0xFFFFFF << (val_shift * 8)) & 0xFFFFFFFF;
648 else mask = (0xFFFFFFFF << (val_shift * 8)) & 0xFFFFFFFF;
650 value1 = re_eri_read_with_oob_base_address(sc, addr, 4, type, base_address) & ~mask;
651 value1 |= ((value << val_shift * 8) >> shift * 8);
653 CSR_WRITE_4(sc,RE_ERIDR, value1);
654 CSR_WRITE_4(sc,RE_ERIAR,
656 transformed_base_address |
657 type << ERIAR_Type_shift |
658 ERIAR_ByteEn << ERIAR_ByteEn_shift |
661 for (i = 0; i < 10; i++) {
664 /* Check if the RTL8168 has completed ERI write */
665 if (!(CSR_READ_4(sc,RE_ERIAR) & ERIAR_Flag))
669 if (len <= 4 - val_shift)
672 len -= (4 - val_shift);
673 shift = 4 - val_shift;
681 static int re_eri_write(struct re_softc *sc, int addr, int len, u_int32_t value, int type)
683 return re_eri_write_with_oob_base_address(sc, addr, len, value, type, 0);
687 ClearAndSetEthPhyBit(
694 u_int16_t PhyRegValue;
697 PhyRegValue = MP_ReadPhyUshort(sc, addr);
698 PhyRegValue &= ~clearmask;
699 PhyRegValue |= setmask;
700 MP_WritePhyUshort(sc, addr, PhyRegValue);
710 ClearAndSetEthPhyBit(sc,
724 ClearAndSetEthPhyBit(sc,
731 #ifndef __DragonFly__
732 static void re_release_rx_buf(struct re_softc *sc)
736 ifp = RE_GET_IFNET(sc);
738 if (sc->re_desc.re_rx_mtag) {
739 for (i = 0; i < RE_RX_BUF_NUM; i++) {
740 if (sc->re_desc.rx_buf[i]!=NULL) {
741 bus_dmamap_sync(sc->re_desc.re_rx_mtag,
742 sc->re_desc.re_rx_dmamap[i],
743 BUS_DMASYNC_POSTREAD);
744 bus_dmamap_unload(sc->re_desc.re_rx_mtag,
745 sc->re_desc.re_rx_dmamap[i]);
746 bus_dmamap_destroy(sc->re_desc.re_rx_mtag,
747 sc->re_desc.re_rx_dmamap[i]);
748 m_freem(sc->re_desc.rx_buf[i]);
749 sc->re_desc.rx_buf[i] =NULL;
752 bus_dma_tag_destroy(sc->re_desc.re_rx_mtag);
753 sc->re_desc.re_rx_mtag =0;
757 static void re_release_tx_buf(struct re_softc *sc)
761 ifp = RE_GET_IFNET(sc);
763 if (sc->re_desc.re_tx_mtag) {
764 for (i = 0; i < RE_TX_BUF_NUM; i++) {
766 bus_dmamap_destroy(sc->re_desc.re_tx_mtag,
767 sc->re_desc.re_tx_dmamap[i]);
768 m_freem(sc->re_desc.tx_buf[i]);
771 bus_dma_tag_destroy(sc->re_desc.re_tx_mtag);
772 sc->re_desc.re_tx_mtag = 0;
777 static void re_release_buf(struct re_softc *sc)
779 re_release_rx_buf(sc);
780 re_release_tx_buf(sc);
785 static int re_alloc_buf(struct re_softc *sc)
790 error = bus_dma_tag_create(sc->re_parent_tag, 1, 0,
791 BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL,
792 NULL, MCLBYTES* RE_NTXSEGS, RE_NTXSEGS, 4096, 0,
793 NULL, NULL, &sc->re_desc.re_tx_mtag);
796 //device_printf(dev,"re_tx_mtag fail\n");
801 error = bus_dma_tag_create(
803 RE_RX_BUFFER_ALIGN, 0, /* alignment, boundary */
804 BUS_SPACE_MAXADDR, /* lowaddr */
805 BUS_SPACE_MAXADDR, /* highaddr */
806 NULL, NULL, /* filter, filterarg */
807 sc->re_rx_desc_buf_sz, 1, /* maxsize,nsegments */
808 sc->re_rx_desc_buf_sz, /* maxsegsize */
810 NULL, NULL, /* lockfunc, lockarg */
811 &sc->re_desc.re_rx_mtag);
813 //device_printf(dev,"re_rx_mtag fail\n");
818 if (sc->re_rx_mbuf_sz <= MCLBYTES)
820 else if (sc->re_rx_mbuf_sz <= MJUMPAGESIZE)
824 for (i = 0; i < RE_RX_BUF_NUM; i++) {
825 sc->re_desc.rx_buf[i] = m_getjcl(M_DONTWAIT, MT_DATA, M_PKTHDR, size);
826 if (!sc->re_desc.rx_buf[i]) {
827 //device_printf(dev, "m_getcl fail!!!\n");
833 sc->re_desc.rx_buf[i]->m_len = sc->re_desc.rx_buf[i]->m_pkthdr.len = size;
836 * This is part of an evil trick to deal with non-x86 platforms.
837 * The RealTek chip requires RX buffers to be aligned on 64-bit
838 * boundaries, but that will hose non-x86 machines. To get around
839 * this, we leave some empty space at the start of each buffer
840 * and for non-x86 hosts, we copy the buffer back six bytes
841 * to achieve word alignment. This is slightly more efficient
842 * than allocating a new buffer, copying the contents, and
843 * discarding the old buffer.
845 m_adj(sc->re_desc.rx_buf[i], RE_ETHER_ALIGN);
848 error = bus_dmamap_create(sc->re_desc.re_rx_mtag, BUS_DMA_NOWAIT, &sc->re_desc.re_rx_dmamap[i]);
850 //device_printf(dev, "bus_dmamap_create fail!!!\n");
856 for (i = 0; i < RE_TX_BUF_NUM; i++) {
857 error = bus_dmamap_create(sc->re_desc.re_tx_mtag, BUS_DMA_NOWAIT, &sc->re_desc.re_tx_dmamap[i]);
859 //device_printf(dev, "bus_dmamap_create fail!!!\n");
868 static void set_rxbufsize(struct re_softc *sc)
871 //printf("set size\n");
874 ifp = RE_GET_IFNET(sc);
875 sc->re_rx_desc_buf_sz = (ifp->if_mtu > ETHERMTU) ? ifp->if_mtu: ETHERMTU;
876 sc->re_rx_desc_buf_sz += (ETHER_VLAN_ENCAP_LEN + ETHER_HDR_LEN + ETHER_CRC_LEN + 1);
877 CSR_WRITE_2(sc, RE_RxMaxSize, sc->re_rx_desc_buf_sz);
879 #endif /* !__DragonFly__ */
881 static void re_enable_cfg9346_write(struct re_softc *sc)
883 EE_SET(RE_EEMODE_WRITECFG);
886 static void re_disable_cfg9346_write(struct re_softc *sc)
888 EE_CLR(RE_EEMODE_WRITECFG);
891 static void DisableMcuBPs(struct re_softc *sc)
893 switch(sc->re_type) {
898 MP_WriteMcuAccessRegWord(sc, 0xFC38, 0x0000);
902 switch(sc->re_type) {
915 re_enable_cfg9346_write(sc);
916 CSR_WRITE_1(sc, RE_CFG5, CSR_READ_1(sc, RE_CFG5) & ~BIT_0);
917 CSR_WRITE_1(sc, RE_CFG2, CSR_READ_1(sc, RE_CFG2) & ~BIT_7);
918 re_disable_cfg9346_write(sc);
920 MP_WriteMcuAccessRegWord(sc, 0xFC28, 0x0000);
921 MP_WriteMcuAccessRegWord(sc, 0xFC2A, 0x0000);
922 MP_WriteMcuAccessRegWord(sc, 0xFC2C, 0x0000);
923 MP_WriteMcuAccessRegWord(sc, 0xFC2E, 0x0000);
924 MP_WriteMcuAccessRegWord(sc, 0xFC30, 0x0000);
925 MP_WriteMcuAccessRegWord(sc, 0xFC32, 0x0000);
926 MP_WriteMcuAccessRegWord(sc, 0xFC34, 0x0000);
927 MP_WriteMcuAccessRegWord(sc, 0xFC36, 0x0000);
931 MP_WriteMcuAccessRegWord(sc, 0xFC26, 0x0000);
936 static void re_set_mac_mcu_8168g_1(struct re_softc *sc)
938 MP_WriteMcuAccessRegWord(sc, 0xE43C, 0x0000);
939 MP_WriteMcuAccessRegWord(sc, 0xE43E, 0x0000);
941 MP_WriteMcuAccessRegWord(sc, 0xE434, 0x0004);
942 MP_WriteMcuAccessRegWord(sc, 0xE43C, 0x0004);
946 MP_WriteMcuAccessRegWord(sc, 0xF800, 0xE008);
947 MP_WriteMcuAccessRegWord(sc, 0xF802, 0xE01B);
948 MP_WriteMcuAccessRegWord(sc, 0xF804, 0xE022);
949 MP_WriteMcuAccessRegWord(sc, 0xF806, 0xE094);
950 MP_WriteMcuAccessRegWord(sc, 0xF808, 0xE097);
951 MP_WriteMcuAccessRegWord(sc, 0xF80A, 0xE09A);
952 MP_WriteMcuAccessRegWord(sc, 0xF80C, 0xE0B3);
953 MP_WriteMcuAccessRegWord(sc, 0xF80E, 0xE0BA);
954 MP_WriteMcuAccessRegWord(sc, 0xF810, 0x49D2);
955 MP_WriteMcuAccessRegWord(sc, 0xF812, 0xF10D);
956 MP_WriteMcuAccessRegWord(sc, 0xF814, 0x766C);
957 MP_WriteMcuAccessRegWord(sc, 0xF816, 0x49E2);
958 MP_WriteMcuAccessRegWord(sc, 0xF818, 0xF00A);
959 MP_WriteMcuAccessRegWord(sc, 0xF81A, 0x1EC0);
960 MP_WriteMcuAccessRegWord(sc, 0xF81C, 0x8EE1);
961 MP_WriteMcuAccessRegWord(sc, 0xF81E, 0xC60A);
962 MP_WriteMcuAccessRegWord(sc, 0xF820, 0x77C0);
963 MP_WriteMcuAccessRegWord(sc, 0xF822, 0x4870);
964 MP_WriteMcuAccessRegWord(sc, 0xF824, 0x9FC0);
965 MP_WriteMcuAccessRegWord(sc, 0xF826, 0x1EA0);
966 MP_WriteMcuAccessRegWord(sc, 0xF828, 0xC707);
967 MP_WriteMcuAccessRegWord(sc, 0xF82A, 0x8EE1);
968 MP_WriteMcuAccessRegWord(sc, 0xF82C, 0x9D6C);
969 MP_WriteMcuAccessRegWord(sc, 0xF82E, 0xC603);
970 MP_WriteMcuAccessRegWord(sc, 0xF830, 0xBE00);
971 MP_WriteMcuAccessRegWord(sc, 0xF832, 0xB416);
972 MP_WriteMcuAccessRegWord(sc, 0xF834, 0x0076);
973 MP_WriteMcuAccessRegWord(sc, 0xF836, 0xE86C);
974 MP_WriteMcuAccessRegWord(sc, 0xF838, 0xC406);
975 MP_WriteMcuAccessRegWord(sc, 0xF83A, 0x7580);
976 MP_WriteMcuAccessRegWord(sc, 0xF83C, 0x4852);
977 MP_WriteMcuAccessRegWord(sc, 0xF83E, 0x8D80);
978 MP_WriteMcuAccessRegWord(sc, 0xF840, 0xC403);
979 MP_WriteMcuAccessRegWord(sc, 0xF842, 0xBC00);
980 MP_WriteMcuAccessRegWord(sc, 0xF844, 0xD3E0);
981 MP_WriteMcuAccessRegWord(sc, 0xF846, 0x02C8);
982 MP_WriteMcuAccessRegWord(sc, 0xF848, 0x8918);
983 MP_WriteMcuAccessRegWord(sc, 0xF84A, 0xE815);
984 MP_WriteMcuAccessRegWord(sc, 0xF84C, 0x1100);
985 MP_WriteMcuAccessRegWord(sc, 0xF84E, 0xF011);
986 MP_WriteMcuAccessRegWord(sc, 0xF850, 0xE812);
987 MP_WriteMcuAccessRegWord(sc, 0xF852, 0x4990);
988 MP_WriteMcuAccessRegWord(sc, 0xF854, 0xF002);
989 MP_WriteMcuAccessRegWord(sc, 0xF856, 0xE817);
990 MP_WriteMcuAccessRegWord(sc, 0xF858, 0xE80E);
991 MP_WriteMcuAccessRegWord(sc, 0xF85A, 0x4992);
992 MP_WriteMcuAccessRegWord(sc, 0xF85C, 0xF002);
993 MP_WriteMcuAccessRegWord(sc, 0xF85E, 0xE80E);
994 MP_WriteMcuAccessRegWord(sc, 0xF860, 0xE80A);
995 MP_WriteMcuAccessRegWord(sc, 0xF862, 0x4993);
996 MP_WriteMcuAccessRegWord(sc, 0xF864, 0xF002);
997 MP_WriteMcuAccessRegWord(sc, 0xF866, 0xE818);
998 MP_WriteMcuAccessRegWord(sc, 0xF868, 0xE806);
999 MP_WriteMcuAccessRegWord(sc, 0xF86A, 0x4991);
1000 MP_WriteMcuAccessRegWord(sc, 0xF86C, 0xF002);
1001 MP_WriteMcuAccessRegWord(sc, 0xF86E, 0xE838);
1002 MP_WriteMcuAccessRegWord(sc, 0xF870, 0xC25E);
1003 MP_WriteMcuAccessRegWord(sc, 0xF872, 0xBA00);
1004 MP_WriteMcuAccessRegWord(sc, 0xF874, 0xC056);
1005 MP_WriteMcuAccessRegWord(sc, 0xF876, 0x7100);
1006 MP_WriteMcuAccessRegWord(sc, 0xF878, 0xFF80);
1007 MP_WriteMcuAccessRegWord(sc, 0xF87A, 0x7100);
1008 MP_WriteMcuAccessRegWord(sc, 0xF87C, 0x4892);
1009 MP_WriteMcuAccessRegWord(sc, 0xF87E, 0x4813);
1010 MP_WriteMcuAccessRegWord(sc, 0xF880, 0x8900);
1011 MP_WriteMcuAccessRegWord(sc, 0xF882, 0xE00A);
1012 MP_WriteMcuAccessRegWord(sc, 0xF884, 0x7100);
1013 MP_WriteMcuAccessRegWord(sc, 0xF886, 0x4890);
1014 MP_WriteMcuAccessRegWord(sc, 0xF888, 0x4813);
1015 MP_WriteMcuAccessRegWord(sc, 0xF88A, 0x8900);
1016 MP_WriteMcuAccessRegWord(sc, 0xF88C, 0xC74B);
1017 MP_WriteMcuAccessRegWord(sc, 0xF88E, 0x74F8);
1018 MP_WriteMcuAccessRegWord(sc, 0xF890, 0x48C2);
1019 MP_WriteMcuAccessRegWord(sc, 0xF892, 0x4841);
1020 MP_WriteMcuAccessRegWord(sc, 0xF894, 0x8CF8);
1021 MP_WriteMcuAccessRegWord(sc, 0xF896, 0xC746);
1022 MP_WriteMcuAccessRegWord(sc, 0xF898, 0x74FC);
1023 MP_WriteMcuAccessRegWord(sc, 0xF89A, 0x49C0);
1024 MP_WriteMcuAccessRegWord(sc, 0xF89C, 0xF120);
1025 MP_WriteMcuAccessRegWord(sc, 0xF89E, 0x49C1);
1026 MP_WriteMcuAccessRegWord(sc, 0xF8A0, 0xF11E);
1027 MP_WriteMcuAccessRegWord(sc, 0xF8A2, 0x74F8);
1028 MP_WriteMcuAccessRegWord(sc, 0xF8A4, 0x49C0);
1029 MP_WriteMcuAccessRegWord(sc, 0xF8A6, 0xF01B);
1030 MP_WriteMcuAccessRegWord(sc, 0xF8A8, 0x49C6);
1031 MP_WriteMcuAccessRegWord(sc, 0xF8AA, 0xF119);
1032 MP_WriteMcuAccessRegWord(sc, 0xF8AC, 0x74F8);
1033 MP_WriteMcuAccessRegWord(sc, 0xF8AE, 0x49C4);
1034 MP_WriteMcuAccessRegWord(sc, 0xF8B0, 0xF013);
1035 MP_WriteMcuAccessRegWord(sc, 0xF8B2, 0xC536);
1036 MP_WriteMcuAccessRegWord(sc, 0xF8B4, 0x74B0);
1037 MP_WriteMcuAccessRegWord(sc, 0xF8B6, 0x49C1);
1038 MP_WriteMcuAccessRegWord(sc, 0xF8B8, 0xF1FD);
1039 MP_WriteMcuAccessRegWord(sc, 0xF8BA, 0xC537);
1040 MP_WriteMcuAccessRegWord(sc, 0xF8BC, 0xC434);
1041 MP_WriteMcuAccessRegWord(sc, 0xF8BE, 0x9CA0);
1042 MP_WriteMcuAccessRegWord(sc, 0xF8C0, 0xC435);
1043 MP_WriteMcuAccessRegWord(sc, 0xF8C2, 0x1C13);
1044 MP_WriteMcuAccessRegWord(sc, 0xF8C4, 0x484F);
1045 MP_WriteMcuAccessRegWord(sc, 0xF8C6, 0x9CA2);
1046 MP_WriteMcuAccessRegWord(sc, 0xF8C8, 0xC52B);
1047 MP_WriteMcuAccessRegWord(sc, 0xF8CA, 0x74B0);
1048 MP_WriteMcuAccessRegWord(sc, 0xF8CC, 0x49C1);
1049 MP_WriteMcuAccessRegWord(sc, 0xF8CE, 0xF1FD);
1050 MP_WriteMcuAccessRegWord(sc, 0xF8D0, 0x74F8);
1051 MP_WriteMcuAccessRegWord(sc, 0xF8D2, 0x48C4);
1052 MP_WriteMcuAccessRegWord(sc, 0xF8D4, 0x8CF8);
1053 MP_WriteMcuAccessRegWord(sc, 0xF8D6, 0x7100);
1054 MP_WriteMcuAccessRegWord(sc, 0xF8D8, 0x4893);
1055 MP_WriteMcuAccessRegWord(sc, 0xF8DA, 0x8900);
1056 MP_WriteMcuAccessRegWord(sc, 0xF8DC, 0xFF80);
1057 MP_WriteMcuAccessRegWord(sc, 0xF8DE, 0xC520);
1058 MP_WriteMcuAccessRegWord(sc, 0xF8E0, 0x74B0);
1059 MP_WriteMcuAccessRegWord(sc, 0xF8E2, 0x49C1);
1060 MP_WriteMcuAccessRegWord(sc, 0xF8E4, 0xF11C);
1061 MP_WriteMcuAccessRegWord(sc, 0xF8E6, 0xC71E);
1062 MP_WriteMcuAccessRegWord(sc, 0xF8E8, 0x74FC);
1063 MP_WriteMcuAccessRegWord(sc, 0xF8EA, 0x49C1);
1064 MP_WriteMcuAccessRegWord(sc, 0xF8EC, 0xF118);
1065 MP_WriteMcuAccessRegWord(sc, 0xF8EE, 0x49C0);
1066 MP_WriteMcuAccessRegWord(sc, 0xF8F0, 0xF116);
1067 MP_WriteMcuAccessRegWord(sc, 0xF8F2, 0x74F8);
1068 MP_WriteMcuAccessRegWord(sc, 0xF8F4, 0x49C0);
1069 MP_WriteMcuAccessRegWord(sc, 0xF8F6, 0xF013);
1070 MP_WriteMcuAccessRegWord(sc, 0xF8F8, 0x48C3);
1071 MP_WriteMcuAccessRegWord(sc, 0xF8FA, 0x8CF8);
1072 MP_WriteMcuAccessRegWord(sc, 0xF8FC, 0xC516);
1073 MP_WriteMcuAccessRegWord(sc, 0xF8FE, 0x74A2);
1074 MP_WriteMcuAccessRegWord(sc, 0xF900, 0x49CE);
1075 MP_WriteMcuAccessRegWord(sc, 0xF902, 0xF1FE);
1076 MP_WriteMcuAccessRegWord(sc, 0xF904, 0xC411);
1077 MP_WriteMcuAccessRegWord(sc, 0xF906, 0x9CA0);
1078 MP_WriteMcuAccessRegWord(sc, 0xF908, 0xC411);
1079 MP_WriteMcuAccessRegWord(sc, 0xF90A, 0x1C13);
1080 MP_WriteMcuAccessRegWord(sc, 0xF90C, 0x484F);
1081 MP_WriteMcuAccessRegWord(sc, 0xF90E, 0x9CA2);
1082 MP_WriteMcuAccessRegWord(sc, 0xF910, 0x74A2);
1083 MP_WriteMcuAccessRegWord(sc, 0xF912, 0x49CF);
1084 MP_WriteMcuAccessRegWord(sc, 0xF914, 0xF1FE);
1085 MP_WriteMcuAccessRegWord(sc, 0xF916, 0x7100);
1086 MP_WriteMcuAccessRegWord(sc, 0xF918, 0x4891);
1087 MP_WriteMcuAccessRegWord(sc, 0xF91A, 0x8900);
1088 MP_WriteMcuAccessRegWord(sc, 0xF91C, 0xFF80);
1089 MP_WriteMcuAccessRegWord(sc, 0xF91E, 0xE400);
1090 MP_WriteMcuAccessRegWord(sc, 0xF920, 0xD3E0);
1091 MP_WriteMcuAccessRegWord(sc, 0xF922, 0xE000);
1092 MP_WriteMcuAccessRegWord(sc, 0xF924, 0x0481);
1093 MP_WriteMcuAccessRegWord(sc, 0xF926, 0x0C81);
1094 MP_WriteMcuAccessRegWord(sc, 0xF928, 0xDE20);
1095 MP_WriteMcuAccessRegWord(sc, 0xF92A, 0x0000);
1096 MP_WriteMcuAccessRegWord(sc, 0xF92C, 0x0992);
1097 MP_WriteMcuAccessRegWord(sc, 0xF92E, 0x1B76);
1098 MP_WriteMcuAccessRegWord(sc, 0xF930, 0xC602);
1099 MP_WriteMcuAccessRegWord(sc, 0xF932, 0xBE00);
1100 MP_WriteMcuAccessRegWord(sc, 0xF934, 0x059C);
1101 MP_WriteMcuAccessRegWord(sc, 0xF936, 0x1B76);
1102 MP_WriteMcuAccessRegWord(sc, 0xF938, 0xC602);
1103 MP_WriteMcuAccessRegWord(sc, 0xF93A, 0xBE00);
1104 MP_WriteMcuAccessRegWord(sc, 0xF93C, 0x065A);
1105 MP_WriteMcuAccessRegWord(sc, 0xF93E, 0xB400);
1106 MP_WriteMcuAccessRegWord(sc, 0xF940, 0x18DE);
1107 MP_WriteMcuAccessRegWord(sc, 0xF942, 0x2008);
1108 MP_WriteMcuAccessRegWord(sc, 0xF944, 0x4001);
1109 MP_WriteMcuAccessRegWord(sc, 0xF946, 0xF10F);
1110 MP_WriteMcuAccessRegWord(sc, 0xF948, 0x7342);
1111 MP_WriteMcuAccessRegWord(sc, 0xF94A, 0x1880);
1112 MP_WriteMcuAccessRegWord(sc, 0xF94C, 0x2008);
1113 MP_WriteMcuAccessRegWord(sc, 0xF94E, 0x0009);
1114 MP_WriteMcuAccessRegWord(sc, 0xF950, 0x4018);
1115 MP_WriteMcuAccessRegWord(sc, 0xF952, 0xF109);
1116 MP_WriteMcuAccessRegWord(sc, 0xF954, 0x7340);
1117 MP_WriteMcuAccessRegWord(sc, 0xF956, 0x25BC);
1118 MP_WriteMcuAccessRegWord(sc, 0xF958, 0x130F);
1119 MP_WriteMcuAccessRegWord(sc, 0xF95A, 0xF105);
1120 MP_WriteMcuAccessRegWord(sc, 0xF95C, 0xC00A);
1121 MP_WriteMcuAccessRegWord(sc, 0xF95E, 0x7300);
1122 MP_WriteMcuAccessRegWord(sc, 0xF960, 0x4831);
1123 MP_WriteMcuAccessRegWord(sc, 0xF962, 0x9B00);
1124 MP_WriteMcuAccessRegWord(sc, 0xF964, 0xB000);
1125 MP_WriteMcuAccessRegWord(sc, 0xF966, 0x7340);
1126 MP_WriteMcuAccessRegWord(sc, 0xF968, 0x8320);
1127 MP_WriteMcuAccessRegWord(sc, 0xF96A, 0xC302);
1128 MP_WriteMcuAccessRegWord(sc, 0xF96C, 0xBB00);
1129 MP_WriteMcuAccessRegWord(sc, 0xF96E, 0x0C12);
1130 MP_WriteMcuAccessRegWord(sc, 0xF970, 0xE860);
1131 MP_WriteMcuAccessRegWord(sc, 0xF972, 0xC406);
1132 MP_WriteMcuAccessRegWord(sc, 0xF974, 0x7580);
1133 MP_WriteMcuAccessRegWord(sc, 0xF976, 0x4851);
1134 MP_WriteMcuAccessRegWord(sc, 0xF978, 0x8D80);
1135 MP_WriteMcuAccessRegWord(sc, 0xF97A, 0xC403);
1136 MP_WriteMcuAccessRegWord(sc, 0xF97C, 0xBC00);
1137 MP_WriteMcuAccessRegWord(sc, 0xF97E, 0xD3E0);
1138 MP_WriteMcuAccessRegWord(sc, 0xF980, 0x02C8);
1139 MP_WriteMcuAccessRegWord(sc, 0xF982, 0xC406);
1140 MP_WriteMcuAccessRegWord(sc, 0xF984, 0x7580);
1141 MP_WriteMcuAccessRegWord(sc, 0xF986, 0x4850);
1142 MP_WriteMcuAccessRegWord(sc, 0xF988, 0x8D80);
1143 MP_WriteMcuAccessRegWord(sc, 0xF98A, 0xC403);
1144 MP_WriteMcuAccessRegWord(sc, 0xF98C, 0xBC00);
1145 MP_WriteMcuAccessRegWord(sc, 0xF98E, 0xD3E0);
1146 MP_WriteMcuAccessRegWord(sc, 0xF990, 0x0298);
1148 MP_WriteMcuAccessRegWord(sc, 0xDE30, 0x0080);
1150 MP_WriteMcuAccessRegWord(sc, 0xFC26, 0x8000);
1152 MP_WriteMcuAccessRegWord(sc, 0xFC28, 0x0075);
1153 MP_WriteMcuAccessRegWord(sc, 0xFC2A, 0x02B1);
1154 MP_WriteMcuAccessRegWord(sc, 0xFC2C, 0x0991);
1155 MP_WriteMcuAccessRegWord(sc, 0xFC2E, 0x059B);
1156 MP_WriteMcuAccessRegWord(sc, 0xFC30, 0x0659);
1157 MP_WriteMcuAccessRegWord(sc, 0xFC32, 0x0000);
1158 MP_WriteMcuAccessRegWord(sc, 0xFC34, 0x02BB);
1159 MP_WriteMcuAccessRegWord(sc, 0xFC36, 0x0279);
1162 static void re_set_mac_mcu_8168gu_1(struct re_softc *sc)
1166 MP_WriteMcuAccessRegWord(sc, 0xF800, 0xE008);
1167 MP_WriteMcuAccessRegWord(sc, 0xF802, 0xE011);
1168 MP_WriteMcuAccessRegWord(sc, 0xF804, 0xE015);
1169 MP_WriteMcuAccessRegWord(sc, 0xF806, 0xE018);
1170 MP_WriteMcuAccessRegWord(sc, 0xF808, 0xE01B);
1171 MP_WriteMcuAccessRegWord(sc, 0xF80A, 0xE027);
1172 MP_WriteMcuAccessRegWord(sc, 0xF80C, 0xE043);
1173 MP_WriteMcuAccessRegWord(sc, 0xF80E, 0xE065);
1174 MP_WriteMcuAccessRegWord(sc, 0xF810, 0x49E2);
1175 MP_WriteMcuAccessRegWord(sc, 0xF812, 0xF005);
1176 MP_WriteMcuAccessRegWord(sc, 0xF814, 0x49EA);
1177 MP_WriteMcuAccessRegWord(sc, 0xF816, 0xF003);
1178 MP_WriteMcuAccessRegWord(sc, 0xF818, 0xC404);
1179 MP_WriteMcuAccessRegWord(sc, 0xF81A, 0xBC00);
1180 MP_WriteMcuAccessRegWord(sc, 0xF81C, 0xC403);
1181 MP_WriteMcuAccessRegWord(sc, 0xF81E, 0xBC00);
1182 MP_WriteMcuAccessRegWord(sc, 0xF820, 0x0496);
1183 MP_WriteMcuAccessRegWord(sc, 0xF822, 0x051A);
1184 MP_WriteMcuAccessRegWord(sc, 0xF824, 0x1D01);
1185 MP_WriteMcuAccessRegWord(sc, 0xF826, 0x8DE8);
1186 MP_WriteMcuAccessRegWord(sc, 0xF828, 0xC602);
1187 MP_WriteMcuAccessRegWord(sc, 0xF82A, 0xBE00);
1188 MP_WriteMcuAccessRegWord(sc, 0xF82C, 0x0206);
1189 MP_WriteMcuAccessRegWord(sc, 0xF82E, 0x1B76);
1190 MP_WriteMcuAccessRegWord(sc, 0xF830, 0xC202);
1191 MP_WriteMcuAccessRegWord(sc, 0xF832, 0xBA00);
1192 MP_WriteMcuAccessRegWord(sc, 0xF834, 0x058A);
1193 MP_WriteMcuAccessRegWord(sc, 0xF836, 0x1B76);
1194 MP_WriteMcuAccessRegWord(sc, 0xF838, 0xC602);
1195 MP_WriteMcuAccessRegWord(sc, 0xF83A, 0xBE00);
1196 MP_WriteMcuAccessRegWord(sc, 0xF83C, 0x0648);
1197 MP_WriteMcuAccessRegWord(sc, 0xF83E, 0x74E6);
1198 MP_WriteMcuAccessRegWord(sc, 0xF840, 0x1B78);
1199 MP_WriteMcuAccessRegWord(sc, 0xF842, 0x46DC);
1200 MP_WriteMcuAccessRegWord(sc, 0xF844, 0x1300);
1201 MP_WriteMcuAccessRegWord(sc, 0xF846, 0xF005);
1202 MP_WriteMcuAccessRegWord(sc, 0xF848, 0x74F8);
1203 MP_WriteMcuAccessRegWord(sc, 0xF84A, 0x48C3);
1204 MP_WriteMcuAccessRegWord(sc, 0xF84C, 0x48C4);
1205 MP_WriteMcuAccessRegWord(sc, 0xF84E, 0x8CF8);
1206 MP_WriteMcuAccessRegWord(sc, 0xF850, 0x64E7);
1207 MP_WriteMcuAccessRegWord(sc, 0xF852, 0xC302);
1208 MP_WriteMcuAccessRegWord(sc, 0xF854, 0xBB00);
1209 MP_WriteMcuAccessRegWord(sc, 0xF856, 0x068E);
1210 MP_WriteMcuAccessRegWord(sc, 0xF858, 0x74E4);
1211 MP_WriteMcuAccessRegWord(sc, 0xF85A, 0x49C5);
1212 MP_WriteMcuAccessRegWord(sc, 0xF85C, 0xF106);
1213 MP_WriteMcuAccessRegWord(sc, 0xF85E, 0x49C6);
1214 MP_WriteMcuAccessRegWord(sc, 0xF860, 0xF107);
1215 MP_WriteMcuAccessRegWord(sc, 0xF862, 0x48C8);
1216 MP_WriteMcuAccessRegWord(sc, 0xF864, 0x48C9);
1217 MP_WriteMcuAccessRegWord(sc, 0xF866, 0xE011);
1218 MP_WriteMcuAccessRegWord(sc, 0xF868, 0x48C9);
1219 MP_WriteMcuAccessRegWord(sc, 0xF86A, 0x4848);
1220 MP_WriteMcuAccessRegWord(sc, 0xF86C, 0xE00E);
1221 MP_WriteMcuAccessRegWord(sc, 0xF86E, 0x4848);
1222 MP_WriteMcuAccessRegWord(sc, 0xF870, 0x49C7);
1223 MP_WriteMcuAccessRegWord(sc, 0xF872, 0xF00A);
1224 MP_WriteMcuAccessRegWord(sc, 0xF874, 0x48C9);
1225 MP_WriteMcuAccessRegWord(sc, 0xF876, 0xC60D);
1226 MP_WriteMcuAccessRegWord(sc, 0xF878, 0x1D1F);
1227 MP_WriteMcuAccessRegWord(sc, 0xF87A, 0x8DC2);
1228 MP_WriteMcuAccessRegWord(sc, 0xF87C, 0x1D00);
1229 MP_WriteMcuAccessRegWord(sc, 0xF87E, 0x8DC3);
1230 MP_WriteMcuAccessRegWord(sc, 0xF880, 0x1D11);
1231 MP_WriteMcuAccessRegWord(sc, 0xF882, 0x8DC0);
1232 MP_WriteMcuAccessRegWord(sc, 0xF884, 0xE002);
1233 MP_WriteMcuAccessRegWord(sc, 0xF886, 0x4849);
1234 MP_WriteMcuAccessRegWord(sc, 0xF888, 0x94E5);
1235 MP_WriteMcuAccessRegWord(sc, 0xF88A, 0xC602);
1236 MP_WriteMcuAccessRegWord(sc, 0xF88C, 0xBE00);
1237 MP_WriteMcuAccessRegWord(sc, 0xF88E, 0x0238);
1238 MP_WriteMcuAccessRegWord(sc, 0xF890, 0xE434);
1239 MP_WriteMcuAccessRegWord(sc, 0xF892, 0x49D9);
1240 MP_WriteMcuAccessRegWord(sc, 0xF894, 0xF01B);
1241 MP_WriteMcuAccessRegWord(sc, 0xF896, 0xC31E);
1242 MP_WriteMcuAccessRegWord(sc, 0xF898, 0x7464);
1243 MP_WriteMcuAccessRegWord(sc, 0xF89A, 0x49C4);
1244 MP_WriteMcuAccessRegWord(sc, 0xF89C, 0xF114);
1245 MP_WriteMcuAccessRegWord(sc, 0xF89E, 0xC31B);
1246 MP_WriteMcuAccessRegWord(sc, 0xF8A0, 0x6460);
1247 MP_WriteMcuAccessRegWord(sc, 0xF8A2, 0x14FA);
1248 MP_WriteMcuAccessRegWord(sc, 0xF8A4, 0xFA02);
1249 MP_WriteMcuAccessRegWord(sc, 0xF8A6, 0xE00F);
1250 MP_WriteMcuAccessRegWord(sc, 0xF8A8, 0xC317);
1251 MP_WriteMcuAccessRegWord(sc, 0xF8AA, 0x7460);
1252 MP_WriteMcuAccessRegWord(sc, 0xF8AC, 0x49C0);
1253 MP_WriteMcuAccessRegWord(sc, 0xF8AE, 0xF10B);
1254 MP_WriteMcuAccessRegWord(sc, 0xF8B0, 0xC311);
1255 MP_WriteMcuAccessRegWord(sc, 0xF8B2, 0x7462);
1256 MP_WriteMcuAccessRegWord(sc, 0xF8B4, 0x48C1);
1257 MP_WriteMcuAccessRegWord(sc, 0xF8B6, 0x9C62);
1258 MP_WriteMcuAccessRegWord(sc, 0xF8B8, 0x4841);
1259 MP_WriteMcuAccessRegWord(sc, 0xF8BA, 0x9C62);
1260 MP_WriteMcuAccessRegWord(sc, 0xF8BC, 0xC30A);
1261 MP_WriteMcuAccessRegWord(sc, 0xF8BE, 0x1C04);
1262 MP_WriteMcuAccessRegWord(sc, 0xF8C0, 0x8C60);
1263 MP_WriteMcuAccessRegWord(sc, 0xF8C2, 0xE004);
1264 MP_WriteMcuAccessRegWord(sc, 0xF8C4, 0x1C15);
1265 MP_WriteMcuAccessRegWord(sc, 0xF8C6, 0xC305);
1266 MP_WriteMcuAccessRegWord(sc, 0xF8C8, 0x8C60);
1267 MP_WriteMcuAccessRegWord(sc, 0xF8CA, 0xC602);
1268 MP_WriteMcuAccessRegWord(sc, 0xF8CC, 0xBE00);
1269 MP_WriteMcuAccessRegWord(sc, 0xF8CE, 0x0374);
1270 MP_WriteMcuAccessRegWord(sc, 0xF8D0, 0xE434);
1271 MP_WriteMcuAccessRegWord(sc, 0xF8D2, 0xE030);
1272 MP_WriteMcuAccessRegWord(sc, 0xF8D4, 0xE61C);
1273 MP_WriteMcuAccessRegWord(sc, 0xF8D6, 0xE906);
1274 MP_WriteMcuAccessRegWord(sc, 0xF8D8, 0xC602);
1275 MP_WriteMcuAccessRegWord(sc, 0xF8DA, 0xBE00);
1276 MP_WriteMcuAccessRegWord(sc, 0xF8DC, 0x0000);
1278 MP_WriteMcuAccessRegWord(sc, 0xFC26, 0x8000);
1280 MP_WriteMcuAccessRegWord(sc, 0xFC28, 0x0493);
1281 MP_WriteMcuAccessRegWord(sc, 0xFC2A, 0x0205);
1282 MP_WriteMcuAccessRegWord(sc, 0xFC2C, 0x0589);
1283 MP_WriteMcuAccessRegWord(sc, 0xFC2E, 0x0647);
1284 MP_WriteMcuAccessRegWord(sc, 0xFC30, 0x0000);
1285 MP_WriteMcuAccessRegWord(sc, 0xFC32, 0x0215);
1286 MP_WriteMcuAccessRegWord(sc, 0xFC34, 0x0285);
1289 static void re_set_mac_mcu_8168gu_2(struct re_softc *sc)
1293 MP_WriteMcuAccessRegWord(sc, 0xF800, 0xE008);
1294 MP_WriteMcuAccessRegWord(sc, 0xF802, 0xE00A);
1295 MP_WriteMcuAccessRegWord(sc, 0xF804, 0xE00D);
1296 MP_WriteMcuAccessRegWord(sc, 0xF806, 0xE02F);
1297 MP_WriteMcuAccessRegWord(sc, 0xF808, 0xE031);
1298 MP_WriteMcuAccessRegWord(sc, 0xF80A, 0xE038);
1299 MP_WriteMcuAccessRegWord(sc, 0xF80C, 0xE03A);
1300 MP_WriteMcuAccessRegWord(sc, 0xF80E, 0xE051);
1301 MP_WriteMcuAccessRegWord(sc, 0xF810, 0xC202);
1302 MP_WriteMcuAccessRegWord(sc, 0xF812, 0xBA00);
1303 MP_WriteMcuAccessRegWord(sc, 0xF814, 0x0DFC);
1304 MP_WriteMcuAccessRegWord(sc, 0xF816, 0x7444);
1305 MP_WriteMcuAccessRegWord(sc, 0xF818, 0xC502);
1306 MP_WriteMcuAccessRegWord(sc, 0xF81A, 0xBD00);
1307 MP_WriteMcuAccessRegWord(sc, 0xF81C, 0x0A30);
1308 MP_WriteMcuAccessRegWord(sc, 0xF81E, 0x49D9);
1309 MP_WriteMcuAccessRegWord(sc, 0xF820, 0xF019);
1310 MP_WriteMcuAccessRegWord(sc, 0xF822, 0xC520);
1311 MP_WriteMcuAccessRegWord(sc, 0xF824, 0x64A5);
1312 MP_WriteMcuAccessRegWord(sc, 0xF826, 0x1400);
1313 MP_WriteMcuAccessRegWord(sc, 0xF828, 0xF007);
1314 MP_WriteMcuAccessRegWord(sc, 0xF82A, 0x0C01);
1315 MP_WriteMcuAccessRegWord(sc, 0xF82C, 0x8CA5);
1316 MP_WriteMcuAccessRegWord(sc, 0xF82E, 0x1C15);
1317 MP_WriteMcuAccessRegWord(sc, 0xF830, 0xC515);
1318 MP_WriteMcuAccessRegWord(sc, 0xF832, 0x9CA0);
1319 MP_WriteMcuAccessRegWord(sc, 0xF834, 0xE00F);
1320 MP_WriteMcuAccessRegWord(sc, 0xF836, 0xC513);
1321 MP_WriteMcuAccessRegWord(sc, 0xF838, 0x74A0);
1322 MP_WriteMcuAccessRegWord(sc, 0xF83A, 0x48C8);
1323 MP_WriteMcuAccessRegWord(sc, 0xF83C, 0x48CA);
1324 MP_WriteMcuAccessRegWord(sc, 0xF83E, 0x9CA0);
1325 MP_WriteMcuAccessRegWord(sc, 0xF840, 0xC510);
1326 MP_WriteMcuAccessRegWord(sc, 0xF842, 0x1B00);
1327 MP_WriteMcuAccessRegWord(sc, 0xF844, 0x9BA0);
1328 MP_WriteMcuAccessRegWord(sc, 0xF846, 0x1B1C);
1329 MP_WriteMcuAccessRegWord(sc, 0xF848, 0x483F);
1330 MP_WriteMcuAccessRegWord(sc, 0xF84A, 0x9BA2);
1331 MP_WriteMcuAccessRegWord(sc, 0xF84C, 0x1B04);
1332 MP_WriteMcuAccessRegWord(sc, 0xF84E, 0xC506);
1333 MP_WriteMcuAccessRegWord(sc, 0xF850, 0x9BA0);
1334 MP_WriteMcuAccessRegWord(sc, 0xF852, 0xC603);
1335 MP_WriteMcuAccessRegWord(sc, 0xF854, 0xBE00);
1336 MP_WriteMcuAccessRegWord(sc, 0xF856, 0x0298);
1337 MP_WriteMcuAccessRegWord(sc, 0xF858, 0x03DE);
1338 MP_WriteMcuAccessRegWord(sc, 0xF85A, 0xE434);
1339 MP_WriteMcuAccessRegWord(sc, 0xF85C, 0xE096);
1340 MP_WriteMcuAccessRegWord(sc, 0xF85E, 0xE860);
1341 MP_WriteMcuAccessRegWord(sc, 0xF860, 0xDE20);
1342 MP_WriteMcuAccessRegWord(sc, 0xF862, 0xD3C0);
1343 MP_WriteMcuAccessRegWord(sc, 0xF864, 0xC602);
1344 MP_WriteMcuAccessRegWord(sc, 0xF866, 0xBE00);
1345 MP_WriteMcuAccessRegWord(sc, 0xF868, 0x0A64);
1346 MP_WriteMcuAccessRegWord(sc, 0xF86A, 0xC707);
1347 MP_WriteMcuAccessRegWord(sc, 0xF86C, 0x1D00);
1348 MP_WriteMcuAccessRegWord(sc, 0xF86E, 0x8DE2);
1349 MP_WriteMcuAccessRegWord(sc, 0xF870, 0x48C1);
1350 MP_WriteMcuAccessRegWord(sc, 0xF872, 0xC502);
1351 MP_WriteMcuAccessRegWord(sc, 0xF874, 0xBD00);
1352 MP_WriteMcuAccessRegWord(sc, 0xF876, 0x00AA);
1353 MP_WriteMcuAccessRegWord(sc, 0xF878, 0xE0C0);
1354 MP_WriteMcuAccessRegWord(sc, 0xF87A, 0xC502);
1355 MP_WriteMcuAccessRegWord(sc, 0xF87C, 0xBD00);
1356 MP_WriteMcuAccessRegWord(sc, 0xF87E, 0x0132);
1357 MP_WriteMcuAccessRegWord(sc, 0xF880, 0xC50C);
1358 MP_WriteMcuAccessRegWord(sc, 0xF882, 0x74A2);
1359 MP_WriteMcuAccessRegWord(sc, 0xF884, 0x49CE);
1360 MP_WriteMcuAccessRegWord(sc, 0xF886, 0xF1FE);
1361 MP_WriteMcuAccessRegWord(sc, 0xF888, 0x1C00);
1362 MP_WriteMcuAccessRegWord(sc, 0xF88A, 0x9EA0);
1363 MP_WriteMcuAccessRegWord(sc, 0xF88C, 0x1C1C);
1364 MP_WriteMcuAccessRegWord(sc, 0xF88E, 0x484F);
1365 MP_WriteMcuAccessRegWord(sc, 0xF890, 0x9CA2);
1366 MP_WriteMcuAccessRegWord(sc, 0xF892, 0xC402);
1367 MP_WriteMcuAccessRegWord(sc, 0xF894, 0xBC00);
1368 MP_WriteMcuAccessRegWord(sc, 0xF896, 0x0AFA);
1369 MP_WriteMcuAccessRegWord(sc, 0xF898, 0xDE20);
1370 MP_WriteMcuAccessRegWord(sc, 0xF89A, 0xE000);
1371 MP_WriteMcuAccessRegWord(sc, 0xF89C, 0xE092);
1372 MP_WriteMcuAccessRegWord(sc, 0xF89E, 0xE430);
1373 MP_WriteMcuAccessRegWord(sc, 0xF8A0, 0xDE20);
1374 MP_WriteMcuAccessRegWord(sc, 0xF8A2, 0xE0C0);
1375 MP_WriteMcuAccessRegWord(sc, 0xF8A4, 0xE860);
1376 MP_WriteMcuAccessRegWord(sc, 0xF8A6, 0xE84C);
1377 MP_WriteMcuAccessRegWord(sc, 0xF8A8, 0xB400);
1378 MP_WriteMcuAccessRegWord(sc, 0xF8AA, 0xB430);
1379 MP_WriteMcuAccessRegWord(sc, 0xF8AC, 0xE410);
1380 MP_WriteMcuAccessRegWord(sc, 0xF8AE, 0xC0AE);
1381 MP_WriteMcuAccessRegWord(sc, 0xF8B0, 0xB407);
1382 MP_WriteMcuAccessRegWord(sc, 0xF8B2, 0xB406);
1383 MP_WriteMcuAccessRegWord(sc, 0xF8B4, 0xB405);
1384 MP_WriteMcuAccessRegWord(sc, 0xF8B6, 0xB404);
1385 MP_WriteMcuAccessRegWord(sc, 0xF8B8, 0xB403);
1386 MP_WriteMcuAccessRegWord(sc, 0xF8BA, 0xB402);
1387 MP_WriteMcuAccessRegWord(sc, 0xF8BC, 0xB401);
1388 MP_WriteMcuAccessRegWord(sc, 0xF8BE, 0xC7EE);
1389 MP_WriteMcuAccessRegWord(sc, 0xF8C0, 0x76F4);
1390 MP_WriteMcuAccessRegWord(sc, 0xF8C2, 0xC2ED);
1391 MP_WriteMcuAccessRegWord(sc, 0xF8C4, 0xC3ED);
1392 MP_WriteMcuAccessRegWord(sc, 0xF8C6, 0xC1EF);
1393 MP_WriteMcuAccessRegWord(sc, 0xF8C8, 0xC5F3);
1394 MP_WriteMcuAccessRegWord(sc, 0xF8CA, 0x74A0);
1395 MP_WriteMcuAccessRegWord(sc, 0xF8CC, 0x49CD);
1396 MP_WriteMcuAccessRegWord(sc, 0xF8CE, 0xF001);
1397 MP_WriteMcuAccessRegWord(sc, 0xF8D0, 0xC5EE);
1398 MP_WriteMcuAccessRegWord(sc, 0xF8D2, 0x74A0);
1399 MP_WriteMcuAccessRegWord(sc, 0xF8D4, 0x49C1);
1400 MP_WriteMcuAccessRegWord(sc, 0xF8D6, 0xF105);
1401 MP_WriteMcuAccessRegWord(sc, 0xF8D8, 0xC5E4);
1402 MP_WriteMcuAccessRegWord(sc, 0xF8DA, 0x74A2);
1403 MP_WriteMcuAccessRegWord(sc, 0xF8DC, 0x49CE);
1404 MP_WriteMcuAccessRegWord(sc, 0xF8DE, 0xF00B);
1405 MP_WriteMcuAccessRegWord(sc, 0xF8E0, 0x7444);
1406 MP_WriteMcuAccessRegWord(sc, 0xF8E2, 0x484B);
1407 MP_WriteMcuAccessRegWord(sc, 0xF8E4, 0x9C44);
1408 MP_WriteMcuAccessRegWord(sc, 0xF8E6, 0x1C10);
1409 MP_WriteMcuAccessRegWord(sc, 0xF8E8, 0x9C62);
1410 MP_WriteMcuAccessRegWord(sc, 0xF8EA, 0x1C11);
1411 MP_WriteMcuAccessRegWord(sc, 0xF8EC, 0x8C60);
1412 MP_WriteMcuAccessRegWord(sc, 0xF8EE, 0x1C00);
1413 MP_WriteMcuAccessRegWord(sc, 0xF8F0, 0x9CF6);
1414 MP_WriteMcuAccessRegWord(sc, 0xF8F2, 0xE0EC);
1415 MP_WriteMcuAccessRegWord(sc, 0xF8F4, 0x49E7);
1416 MP_WriteMcuAccessRegWord(sc, 0xF8F6, 0xF016);
1417 MP_WriteMcuAccessRegWord(sc, 0xF8F8, 0x1D80);
1418 MP_WriteMcuAccessRegWord(sc, 0xF8FA, 0x8DF4);
1419 MP_WriteMcuAccessRegWord(sc, 0xF8FC, 0x74F8);
1420 MP_WriteMcuAccessRegWord(sc, 0xF8FE, 0x4843);
1421 MP_WriteMcuAccessRegWord(sc, 0xF900, 0x8CF8);
1422 MP_WriteMcuAccessRegWord(sc, 0xF902, 0x74F8);
1423 MP_WriteMcuAccessRegWord(sc, 0xF904, 0x74F8);
1424 MP_WriteMcuAccessRegWord(sc, 0xF906, 0x7444);
1425 MP_WriteMcuAccessRegWord(sc, 0xF908, 0x48C8);
1426 MP_WriteMcuAccessRegWord(sc, 0xF90A, 0x48C9);
1427 MP_WriteMcuAccessRegWord(sc, 0xF90C, 0x48CA);
1428 MP_WriteMcuAccessRegWord(sc, 0xF90E, 0x9C44);
1429 MP_WriteMcuAccessRegWord(sc, 0xF910, 0x74F8);
1430 MP_WriteMcuAccessRegWord(sc, 0xF912, 0x4844);
1431 MP_WriteMcuAccessRegWord(sc, 0xF914, 0x8CF8);
1432 MP_WriteMcuAccessRegWord(sc, 0xF916, 0x1E01);
1433 MP_WriteMcuAccessRegWord(sc, 0xF918, 0xE8DB);
1434 MP_WriteMcuAccessRegWord(sc, 0xF91A, 0x7420);
1435 MP_WriteMcuAccessRegWord(sc, 0xF91C, 0x48C1);
1436 MP_WriteMcuAccessRegWord(sc, 0xF91E, 0x9C20);
1437 MP_WriteMcuAccessRegWord(sc, 0xF920, 0xE0D5);
1438 MP_WriteMcuAccessRegWord(sc, 0xF922, 0x49E6);
1439 MP_WriteMcuAccessRegWord(sc, 0xF924, 0xF02A);
1440 MP_WriteMcuAccessRegWord(sc, 0xF926, 0x1D40);
1441 MP_WriteMcuAccessRegWord(sc, 0xF928, 0x8DF4);
1442 MP_WriteMcuAccessRegWord(sc, 0xF92A, 0x74FC);
1443 MP_WriteMcuAccessRegWord(sc, 0xF92C, 0x49C0);
1444 MP_WriteMcuAccessRegWord(sc, 0xF92E, 0xF124);
1445 MP_WriteMcuAccessRegWord(sc, 0xF930, 0x49C1);
1446 MP_WriteMcuAccessRegWord(sc, 0xF932, 0xF122);
1447 MP_WriteMcuAccessRegWord(sc, 0xF934, 0x74F8);
1448 MP_WriteMcuAccessRegWord(sc, 0xF936, 0x49C0);
1449 MP_WriteMcuAccessRegWord(sc, 0xF938, 0xF01F);
1450 MP_WriteMcuAccessRegWord(sc, 0xF93A, 0xE8D3);
1451 MP_WriteMcuAccessRegWord(sc, 0xF93C, 0x48C4);
1452 MP_WriteMcuAccessRegWord(sc, 0xF93E, 0x8CF8);
1453 MP_WriteMcuAccessRegWord(sc, 0xF940, 0x1E00);
1454 MP_WriteMcuAccessRegWord(sc, 0xF942, 0xE8C6);
1455 MP_WriteMcuAccessRegWord(sc, 0xF944, 0xC5B1);
1456 MP_WriteMcuAccessRegWord(sc, 0xF946, 0x74A0);
1457 MP_WriteMcuAccessRegWord(sc, 0xF948, 0x49C3);
1458 MP_WriteMcuAccessRegWord(sc, 0xF94A, 0xF016);
1459 MP_WriteMcuAccessRegWord(sc, 0xF94C, 0xC5AF);
1460 MP_WriteMcuAccessRegWord(sc, 0xF94E, 0x74A4);
1461 MP_WriteMcuAccessRegWord(sc, 0xF950, 0x49C2);
1462 MP_WriteMcuAccessRegWord(sc, 0xF952, 0xF005);
1463 MP_WriteMcuAccessRegWord(sc, 0xF954, 0xC5AA);
1464 MP_WriteMcuAccessRegWord(sc, 0xF956, 0x74B2);
1465 MP_WriteMcuAccessRegWord(sc, 0xF958, 0x49C9);
1466 MP_WriteMcuAccessRegWord(sc, 0xF95A, 0xF10E);
1467 MP_WriteMcuAccessRegWord(sc, 0xF95C, 0xC5A6);
1468 MP_WriteMcuAccessRegWord(sc, 0xF95E, 0x74A8);
1469 MP_WriteMcuAccessRegWord(sc, 0xF960, 0x4845);
1470 MP_WriteMcuAccessRegWord(sc, 0xF962, 0x4846);
1471 MP_WriteMcuAccessRegWord(sc, 0xF964, 0x4847);
1472 MP_WriteMcuAccessRegWord(sc, 0xF966, 0x4848);
1473 MP_WriteMcuAccessRegWord(sc, 0xF968, 0x9CA8);
1474 MP_WriteMcuAccessRegWord(sc, 0xF96A, 0x74B2);
1475 MP_WriteMcuAccessRegWord(sc, 0xF96C, 0x4849);
1476 MP_WriteMcuAccessRegWord(sc, 0xF96E, 0x9CB2);
1477 MP_WriteMcuAccessRegWord(sc, 0xF970, 0x74A0);
1478 MP_WriteMcuAccessRegWord(sc, 0xF972, 0x484F);
1479 MP_WriteMcuAccessRegWord(sc, 0xF974, 0x9CA0);
1480 MP_WriteMcuAccessRegWord(sc, 0xF976, 0xE0AA);
1481 MP_WriteMcuAccessRegWord(sc, 0xF978, 0x49E4);
1482 MP_WriteMcuAccessRegWord(sc, 0xF97A, 0xF018);
1483 MP_WriteMcuAccessRegWord(sc, 0xF97C, 0x1D10);
1484 MP_WriteMcuAccessRegWord(sc, 0xF97E, 0x8DF4);
1485 MP_WriteMcuAccessRegWord(sc, 0xF980, 0x74F8);
1486 MP_WriteMcuAccessRegWord(sc, 0xF982, 0x74F8);
1487 MP_WriteMcuAccessRegWord(sc, 0xF984, 0x74F8);
1488 MP_WriteMcuAccessRegWord(sc, 0xF986, 0x4843);
1489 MP_WriteMcuAccessRegWord(sc, 0xF988, 0x8CF8);
1490 MP_WriteMcuAccessRegWord(sc, 0xF98A, 0x74F8);
1491 MP_WriteMcuAccessRegWord(sc, 0xF98C, 0x74F8);
1492 MP_WriteMcuAccessRegWord(sc, 0xF98E, 0x74F8);
1493 MP_WriteMcuAccessRegWord(sc, 0xF990, 0x4844);
1494 MP_WriteMcuAccessRegWord(sc, 0xF992, 0x4842);
1495 MP_WriteMcuAccessRegWord(sc, 0xF994, 0x4841);
1496 MP_WriteMcuAccessRegWord(sc, 0xF996, 0x8CF8);
1497 MP_WriteMcuAccessRegWord(sc, 0xF998, 0x1E01);
1498 MP_WriteMcuAccessRegWord(sc, 0xF99A, 0xE89A);
1499 MP_WriteMcuAccessRegWord(sc, 0xF99C, 0x7420);
1500 MP_WriteMcuAccessRegWord(sc, 0xF99E, 0x4841);
1501 MP_WriteMcuAccessRegWord(sc, 0xF9A0, 0x9C20);
1502 MP_WriteMcuAccessRegWord(sc, 0xF9A2, 0x7444);
1503 MP_WriteMcuAccessRegWord(sc, 0xF9A4, 0x4848);
1504 MP_WriteMcuAccessRegWord(sc, 0xF9A6, 0x9C44);
1505 MP_WriteMcuAccessRegWord(sc, 0xF9A8, 0xE091);
1506 MP_WriteMcuAccessRegWord(sc, 0xF9AA, 0x49E5);
1507 MP_WriteMcuAccessRegWord(sc, 0xF9AC, 0xF03E);
1508 MP_WriteMcuAccessRegWord(sc, 0xF9AE, 0x1D20);
1509 MP_WriteMcuAccessRegWord(sc, 0xF9B0, 0x8DF4);
1510 MP_WriteMcuAccessRegWord(sc, 0xF9B2, 0x74F8);
1511 MP_WriteMcuAccessRegWord(sc, 0xF9B4, 0x48C2);
1512 MP_WriteMcuAccessRegWord(sc, 0xF9B6, 0x4841);
1513 MP_WriteMcuAccessRegWord(sc, 0xF9B8, 0x8CF8);
1514 MP_WriteMcuAccessRegWord(sc, 0xF9BA, 0x1E01);
1515 MP_WriteMcuAccessRegWord(sc, 0xF9BC, 0x7444);
1516 MP_WriteMcuAccessRegWord(sc, 0xF9BE, 0x49CA);
1517 MP_WriteMcuAccessRegWord(sc, 0xF9C0, 0xF103);
1518 MP_WriteMcuAccessRegWord(sc, 0xF9C2, 0x49C2);
1519 MP_WriteMcuAccessRegWord(sc, 0xF9C4, 0xF00C);
1520 MP_WriteMcuAccessRegWord(sc, 0xF9C6, 0x49C1);
1521 MP_WriteMcuAccessRegWord(sc, 0xF9C8, 0xF004);
1522 MP_WriteMcuAccessRegWord(sc, 0xF9CA, 0x6447);
1523 MP_WriteMcuAccessRegWord(sc, 0xF9CC, 0x2244);
1524 MP_WriteMcuAccessRegWord(sc, 0xF9CE, 0xE002);
1525 MP_WriteMcuAccessRegWord(sc, 0xF9D0, 0x1C01);
1526 MP_WriteMcuAccessRegWord(sc, 0xF9D2, 0x9C62);
1527 MP_WriteMcuAccessRegWord(sc, 0xF9D4, 0x1C11);
1528 MP_WriteMcuAccessRegWord(sc, 0xF9D6, 0x8C60);
1529 MP_WriteMcuAccessRegWord(sc, 0xF9D8, 0x1C00);
1530 MP_WriteMcuAccessRegWord(sc, 0xF9DA, 0x9CF6);
1531 MP_WriteMcuAccessRegWord(sc, 0xF9DC, 0x7444);
1532 MP_WriteMcuAccessRegWord(sc, 0xF9DE, 0x49C8);
1533 MP_WriteMcuAccessRegWord(sc, 0xF9E0, 0xF01D);
1534 MP_WriteMcuAccessRegWord(sc, 0xF9E2, 0x74FC);
1535 MP_WriteMcuAccessRegWord(sc, 0xF9E4, 0x49C0);
1536 MP_WriteMcuAccessRegWord(sc, 0xF9E6, 0xF11A);
1537 MP_WriteMcuAccessRegWord(sc, 0xF9E8, 0x49C1);
1538 MP_WriteMcuAccessRegWord(sc, 0xF9EA, 0xF118);
1539 MP_WriteMcuAccessRegWord(sc, 0xF9EC, 0x74F8);
1540 MP_WriteMcuAccessRegWord(sc, 0xF9EE, 0x49C0);
1541 MP_WriteMcuAccessRegWord(sc, 0xF9F0, 0xF015);
1542 MP_WriteMcuAccessRegWord(sc, 0xF9F2, 0x49C6);
1543 MP_WriteMcuAccessRegWord(sc, 0xF9F4, 0xF113);
1544 MP_WriteMcuAccessRegWord(sc, 0xF9F6, 0xE875);
1545 MP_WriteMcuAccessRegWord(sc, 0xF9F8, 0x48C4);
1546 MP_WriteMcuAccessRegWord(sc, 0xF9FA, 0x8CF8);
1547 MP_WriteMcuAccessRegWord(sc, 0xF9FC, 0x7420);
1548 MP_WriteMcuAccessRegWord(sc, 0xF9FE, 0x48C1);
1549 MP_WriteMcuAccessRegWord(sc, 0xFA00, 0x9C20);
1550 MP_WriteMcuAccessRegWord(sc, 0xFA02, 0xC50A);
1551 MP_WriteMcuAccessRegWord(sc, 0xFA04, 0x74A2);
1552 MP_WriteMcuAccessRegWord(sc, 0xFA06, 0x8CA5);
1553 MP_WriteMcuAccessRegWord(sc, 0xFA08, 0x74A0);
1554 MP_WriteMcuAccessRegWord(sc, 0xFA0A, 0xC505);
1555 MP_WriteMcuAccessRegWord(sc, 0xFA0C, 0x9CA2);
1556 MP_WriteMcuAccessRegWord(sc, 0xFA0E, 0x1C11);
1557 MP_WriteMcuAccessRegWord(sc, 0xFA10, 0x9CA0);
1558 MP_WriteMcuAccessRegWord(sc, 0xFA12, 0xE00A);
1559 MP_WriteMcuAccessRegWord(sc, 0xFA14, 0xE434);
1560 MP_WriteMcuAccessRegWord(sc, 0xFA16, 0xD3C0);
1561 MP_WriteMcuAccessRegWord(sc, 0xFA18, 0xDC00);
1562 MP_WriteMcuAccessRegWord(sc, 0xFA1A, 0x7444);
1563 MP_WriteMcuAccessRegWord(sc, 0xFA1C, 0x49CA);
1564 MP_WriteMcuAccessRegWord(sc, 0xFA1E, 0xF004);
1565 MP_WriteMcuAccessRegWord(sc, 0xFA20, 0x48CA);
1566 MP_WriteMcuAccessRegWord(sc, 0xFA22, 0x9C44);
1567 MP_WriteMcuAccessRegWord(sc, 0xFA24, 0xE855);
1568 MP_WriteMcuAccessRegWord(sc, 0xFA26, 0xE052);
1569 MP_WriteMcuAccessRegWord(sc, 0xFA28, 0x49E8);
1570 MP_WriteMcuAccessRegWord(sc, 0xFA2A, 0xF024);
1571 MP_WriteMcuAccessRegWord(sc, 0xFA2C, 0x1D01);
1572 MP_WriteMcuAccessRegWord(sc, 0xFA2E, 0x8DF5);
1573 MP_WriteMcuAccessRegWord(sc, 0xFA30, 0x7440);
1574 MP_WriteMcuAccessRegWord(sc, 0xFA32, 0x49C0);
1575 MP_WriteMcuAccessRegWord(sc, 0xFA34, 0xF11E);
1576 MP_WriteMcuAccessRegWord(sc, 0xFA36, 0x7444);
1577 MP_WriteMcuAccessRegWord(sc, 0xFA38, 0x49C8);
1578 MP_WriteMcuAccessRegWord(sc, 0xFA3A, 0xF01B);
1579 MP_WriteMcuAccessRegWord(sc, 0xFA3C, 0x49CA);
1580 MP_WriteMcuAccessRegWord(sc, 0xFA3E, 0xF119);
1581 MP_WriteMcuAccessRegWord(sc, 0xFA40, 0xC5EC);
1582 MP_WriteMcuAccessRegWord(sc, 0xFA42, 0x76A4);
1583 MP_WriteMcuAccessRegWord(sc, 0xFA44, 0x49E3);
1584 MP_WriteMcuAccessRegWord(sc, 0xFA46, 0xF015);
1585 MP_WriteMcuAccessRegWord(sc, 0xFA48, 0x49C0);
1586 MP_WriteMcuAccessRegWord(sc, 0xFA4A, 0xF103);
1587 MP_WriteMcuAccessRegWord(sc, 0xFA4C, 0x49C1);
1588 MP_WriteMcuAccessRegWord(sc, 0xFA4E, 0xF011);
1589 MP_WriteMcuAccessRegWord(sc, 0xFA50, 0x4849);
1590 MP_WriteMcuAccessRegWord(sc, 0xFA52, 0x9C44);
1591 MP_WriteMcuAccessRegWord(sc, 0xFA54, 0x1C00);
1592 MP_WriteMcuAccessRegWord(sc, 0xFA56, 0x9CF6);
1593 MP_WriteMcuAccessRegWord(sc, 0xFA58, 0x7444);
1594 MP_WriteMcuAccessRegWord(sc, 0xFA5A, 0x49C1);
1595 MP_WriteMcuAccessRegWord(sc, 0xFA5C, 0xF004);
1596 MP_WriteMcuAccessRegWord(sc, 0xFA5E, 0x6446);
1597 MP_WriteMcuAccessRegWord(sc, 0xFA60, 0x1E07);
1598 MP_WriteMcuAccessRegWord(sc, 0xFA62, 0xE003);
1599 MP_WriteMcuAccessRegWord(sc, 0xFA64, 0x1C01);
1600 MP_WriteMcuAccessRegWord(sc, 0xFA66, 0x1E03);
1601 MP_WriteMcuAccessRegWord(sc, 0xFA68, 0x9C62);
1602 MP_WriteMcuAccessRegWord(sc, 0xFA6A, 0x1C11);
1603 MP_WriteMcuAccessRegWord(sc, 0xFA6C, 0x8C60);
1604 MP_WriteMcuAccessRegWord(sc, 0xFA6E, 0xE830);
1605 MP_WriteMcuAccessRegWord(sc, 0xFA70, 0xE02D);
1606 MP_WriteMcuAccessRegWord(sc, 0xFA72, 0x49E9);
1607 MP_WriteMcuAccessRegWord(sc, 0xFA74, 0xF004);
1608 MP_WriteMcuAccessRegWord(sc, 0xFA76, 0x1D02);
1609 MP_WriteMcuAccessRegWord(sc, 0xFA78, 0x8DF5);
1610 MP_WriteMcuAccessRegWord(sc, 0xFA7A, 0xE79C);
1611 MP_WriteMcuAccessRegWord(sc, 0xFA7C, 0x49E3);
1612 MP_WriteMcuAccessRegWord(sc, 0xFA7E, 0xF006);
1613 MP_WriteMcuAccessRegWord(sc, 0xFA80, 0x1D08);
1614 MP_WriteMcuAccessRegWord(sc, 0xFA82, 0x8DF4);
1615 MP_WriteMcuAccessRegWord(sc, 0xFA84, 0x74F8);
1616 MP_WriteMcuAccessRegWord(sc, 0xFA86, 0x74F8);
1617 MP_WriteMcuAccessRegWord(sc, 0xFA88, 0xE73A);
1618 MP_WriteMcuAccessRegWord(sc, 0xFA8A, 0x49E1);
1619 MP_WriteMcuAccessRegWord(sc, 0xFA8C, 0xF007);
1620 MP_WriteMcuAccessRegWord(sc, 0xFA8E, 0x1D02);
1621 MP_WriteMcuAccessRegWord(sc, 0xFA90, 0x8DF4);
1622 MP_WriteMcuAccessRegWord(sc, 0xFA92, 0x1E01);
1623 MP_WriteMcuAccessRegWord(sc, 0xFA94, 0xE7A7);
1624 MP_WriteMcuAccessRegWord(sc, 0xFA96, 0xDE20);
1625 MP_WriteMcuAccessRegWord(sc, 0xFA98, 0xE410);
1626 MP_WriteMcuAccessRegWord(sc, 0xFA9A, 0x49E0);
1627 MP_WriteMcuAccessRegWord(sc, 0xFA9C, 0xF017);
1628 MP_WriteMcuAccessRegWord(sc, 0xFA9E, 0x1D01);
1629 MP_WriteMcuAccessRegWord(sc, 0xFAA0, 0x8DF4);
1630 MP_WriteMcuAccessRegWord(sc, 0xFAA2, 0xC5FA);
1631 MP_WriteMcuAccessRegWord(sc, 0xFAA4, 0x1C00);
1632 MP_WriteMcuAccessRegWord(sc, 0xFAA6, 0x8CA0);
1633 MP_WriteMcuAccessRegWord(sc, 0xFAA8, 0x1C1B);
1634 MP_WriteMcuAccessRegWord(sc, 0xFAAA, 0x9CA2);
1635 MP_WriteMcuAccessRegWord(sc, 0xFAAC, 0x74A2);
1636 MP_WriteMcuAccessRegWord(sc, 0xFAAE, 0x49CF);
1637 MP_WriteMcuAccessRegWord(sc, 0xFAB0, 0xF0FE);
1638 MP_WriteMcuAccessRegWord(sc, 0xFAB2, 0xC5F3);
1639 MP_WriteMcuAccessRegWord(sc, 0xFAB4, 0x74A0);
1640 MP_WriteMcuAccessRegWord(sc, 0xFAB6, 0x4849);
1641 MP_WriteMcuAccessRegWord(sc, 0xFAB8, 0x9CA0);
1642 MP_WriteMcuAccessRegWord(sc, 0xFABA, 0x74F8);
1643 MP_WriteMcuAccessRegWord(sc, 0xFABC, 0x49C0);
1644 MP_WriteMcuAccessRegWord(sc, 0xFABE, 0xF006);
1645 MP_WriteMcuAccessRegWord(sc, 0xFAC0, 0x48C3);
1646 MP_WriteMcuAccessRegWord(sc, 0xFAC2, 0x8CF8);
1647 MP_WriteMcuAccessRegWord(sc, 0xFAC4, 0xE820);
1648 MP_WriteMcuAccessRegWord(sc, 0xFAC6, 0x74F8);
1649 MP_WriteMcuAccessRegWord(sc, 0xFAC8, 0x74F8);
1650 MP_WriteMcuAccessRegWord(sc, 0xFACA, 0xC432);
1651 MP_WriteMcuAccessRegWord(sc, 0xFACC, 0xBC00);
1652 MP_WriteMcuAccessRegWord(sc, 0xFACE, 0xC5E4);
1653 MP_WriteMcuAccessRegWord(sc, 0xFAD0, 0x74A2);
1654 MP_WriteMcuAccessRegWord(sc, 0xFAD2, 0x49CE);
1655 MP_WriteMcuAccessRegWord(sc, 0xFAD4, 0xF1FE);
1656 MP_WriteMcuAccessRegWord(sc, 0xFAD6, 0x9EA0);
1657 MP_WriteMcuAccessRegWord(sc, 0xFAD8, 0x1C1C);
1658 MP_WriteMcuAccessRegWord(sc, 0xFADA, 0x484F);
1659 MP_WriteMcuAccessRegWord(sc, 0xFADC, 0x9CA2);
1660 MP_WriteMcuAccessRegWord(sc, 0xFADE, 0xFF80);
1661 MP_WriteMcuAccessRegWord(sc, 0xFAE0, 0xB404);
1662 MP_WriteMcuAccessRegWord(sc, 0xFAE2, 0xB405);
1663 MP_WriteMcuAccessRegWord(sc, 0xFAE4, 0xC5D9);
1664 MP_WriteMcuAccessRegWord(sc, 0xFAE6, 0x74A2);
1665 MP_WriteMcuAccessRegWord(sc, 0xFAE8, 0x49CE);
1666 MP_WriteMcuAccessRegWord(sc, 0xFAEA, 0xF1FE);
1667 MP_WriteMcuAccessRegWord(sc, 0xFAEC, 0xC41F);
1668 MP_WriteMcuAccessRegWord(sc, 0xFAEE, 0x9CA0);
1669 MP_WriteMcuAccessRegWord(sc, 0xFAF0, 0xC41C);
1670 MP_WriteMcuAccessRegWord(sc, 0xFAF2, 0x1C13);
1671 MP_WriteMcuAccessRegWord(sc, 0xFAF4, 0x484F);
1672 MP_WriteMcuAccessRegWord(sc, 0xFAF6, 0x9CA2);
1673 MP_WriteMcuAccessRegWord(sc, 0xFAF8, 0x74A2);
1674 MP_WriteMcuAccessRegWord(sc, 0xFAFA, 0x49CF);
1675 MP_WriteMcuAccessRegWord(sc, 0xFAFC, 0xF1FE);
1676 MP_WriteMcuAccessRegWord(sc, 0xFAFE, 0xB005);
1677 MP_WriteMcuAccessRegWord(sc, 0xFB00, 0xB004);
1678 MP_WriteMcuAccessRegWord(sc, 0xFB02, 0xFF80);
1679 MP_WriteMcuAccessRegWord(sc, 0xFB04, 0xB404);
1680 MP_WriteMcuAccessRegWord(sc, 0xFB06, 0xB405);
1681 MP_WriteMcuAccessRegWord(sc, 0xFB08, 0xC5C7);
1682 MP_WriteMcuAccessRegWord(sc, 0xFB0A, 0x74A2);
1683 MP_WriteMcuAccessRegWord(sc, 0xFB0C, 0x49CE);
1684 MP_WriteMcuAccessRegWord(sc, 0xFB0E, 0xF1FE);
1685 MP_WriteMcuAccessRegWord(sc, 0xFB10, 0xC40E);
1686 MP_WriteMcuAccessRegWord(sc, 0xFB12, 0x9CA0);
1687 MP_WriteMcuAccessRegWord(sc, 0xFB14, 0xC40A);
1688 MP_WriteMcuAccessRegWord(sc, 0xFB16, 0x1C13);
1689 MP_WriteMcuAccessRegWord(sc, 0xFB18, 0x484F);
1690 MP_WriteMcuAccessRegWord(sc, 0xFB1A, 0x9CA2);
1691 MP_WriteMcuAccessRegWord(sc, 0xFB1C, 0x74A2);
1692 MP_WriteMcuAccessRegWord(sc, 0xFB1E, 0x49CF);
1693 MP_WriteMcuAccessRegWord(sc, 0xFB20, 0xF1FE);
1694 MP_WriteMcuAccessRegWord(sc, 0xFB22, 0xB005);
1695 MP_WriteMcuAccessRegWord(sc, 0xFB24, 0xB004);
1696 MP_WriteMcuAccessRegWord(sc, 0xFB26, 0xFF80);
1697 MP_WriteMcuAccessRegWord(sc, 0xFB28, 0x0000);
1698 MP_WriteMcuAccessRegWord(sc, 0xFB2A, 0x0481);
1699 MP_WriteMcuAccessRegWord(sc, 0xFB2C, 0x0C81);
1700 MP_WriteMcuAccessRegWord(sc, 0xFB2E, 0x0AE0);
1702 MP_WriteMcuAccessRegWord(sc, 0xFC26, 0x8000);
1704 MP_WriteMcuAccessRegWord(sc, 0xFC28, 0x0000);
1705 MP_WriteMcuAccessRegWord(sc, 0xFC2A, 0x0000);
1706 MP_WriteMcuAccessRegWord(sc, 0xFC2C, 0x0297);
1707 MP_WriteMcuAccessRegWord(sc, 0xFC2E, 0x0000);
1708 MP_WriteMcuAccessRegWord(sc, 0xFC30, 0x00A9);
1709 MP_WriteMcuAccessRegWord(sc, 0xFC32, 0x012D);
1710 MP_WriteMcuAccessRegWord(sc, 0xFC34, 0x0000);
1711 MP_WriteMcuAccessRegWord(sc, 0xFC36, 0x08DF);
1714 static void re_set_mac_mcu_8411b_1(struct re_softc *sc)
1718 MP_WriteMcuAccessRegWord(sc, 0xF800, 0xE008);
1719 MP_WriteMcuAccessRegWord(sc, 0xF802, 0xE00A);
1720 MP_WriteMcuAccessRegWord(sc, 0xF804, 0xE00C);
1721 MP_WriteMcuAccessRegWord(sc, 0xF806, 0xE00E);
1722 MP_WriteMcuAccessRegWord(sc, 0xF808, 0xE027);
1723 MP_WriteMcuAccessRegWord(sc, 0xF80A, 0xE04F);
1724 MP_WriteMcuAccessRegWord(sc, 0xF80C, 0xE05E);
1725 MP_WriteMcuAccessRegWord(sc, 0xF80E, 0xE065);
1726 MP_WriteMcuAccessRegWord(sc, 0xF810, 0xC602);
1727 MP_WriteMcuAccessRegWord(sc, 0xF812, 0xBE00);
1728 MP_WriteMcuAccessRegWord(sc, 0xF814, 0x0000);
1729 MP_WriteMcuAccessRegWord(sc, 0xF816, 0xC502);
1730 MP_WriteMcuAccessRegWord(sc, 0xF818, 0xBD00);
1731 MP_WriteMcuAccessRegWord(sc, 0xF81A, 0x074C);
1732 MP_WriteMcuAccessRegWord(sc, 0xF81C, 0xC302);
1733 MP_WriteMcuAccessRegWord(sc, 0xF81E, 0xBB00);
1734 MP_WriteMcuAccessRegWord(sc, 0xF820, 0x080A);
1735 MP_WriteMcuAccessRegWord(sc, 0xF822, 0x6420);
1736 MP_WriteMcuAccessRegWord(sc, 0xF824, 0x48C2);
1737 MP_WriteMcuAccessRegWord(sc, 0xF826, 0x8C20);
1738 MP_WriteMcuAccessRegWord(sc, 0xF828, 0xC516);
1739 MP_WriteMcuAccessRegWord(sc, 0xF82A, 0x64A4);
1740 MP_WriteMcuAccessRegWord(sc, 0xF82C, 0x49C0);
1741 MP_WriteMcuAccessRegWord(sc, 0xF82E, 0xF009);
1742 MP_WriteMcuAccessRegWord(sc, 0xF830, 0x74A2);
1743 MP_WriteMcuAccessRegWord(sc, 0xF832, 0x8CA5);
1744 MP_WriteMcuAccessRegWord(sc, 0xF834, 0x74A0);
1745 MP_WriteMcuAccessRegWord(sc, 0xF836, 0xC50E);
1746 MP_WriteMcuAccessRegWord(sc, 0xF838, 0x9CA2);
1747 MP_WriteMcuAccessRegWord(sc, 0xF83A, 0x1C11);
1748 MP_WriteMcuAccessRegWord(sc, 0xF83C, 0x9CA0);
1749 MP_WriteMcuAccessRegWord(sc, 0xF83E, 0xE006);
1750 MP_WriteMcuAccessRegWord(sc, 0xF840, 0x74F8);
1751 MP_WriteMcuAccessRegWord(sc, 0xF842, 0x48C4);
1752 MP_WriteMcuAccessRegWord(sc, 0xF844, 0x8CF8);
1753 MP_WriteMcuAccessRegWord(sc, 0xF846, 0xC404);
1754 MP_WriteMcuAccessRegWord(sc, 0xF848, 0xBC00);
1755 MP_WriteMcuAccessRegWord(sc, 0xF84A, 0xC403);
1756 MP_WriteMcuAccessRegWord(sc, 0xF84C, 0xBC00);
1757 MP_WriteMcuAccessRegWord(sc, 0xF84E, 0x0BF2);
1758 MP_WriteMcuAccessRegWord(sc, 0xF850, 0x0C0A);
1759 MP_WriteMcuAccessRegWord(sc, 0xF852, 0xE434);
1760 MP_WriteMcuAccessRegWord(sc, 0xF854, 0xD3C0);
1761 MP_WriteMcuAccessRegWord(sc, 0xF856, 0x49D9);
1762 MP_WriteMcuAccessRegWord(sc, 0xF858, 0xF01F);
1763 MP_WriteMcuAccessRegWord(sc, 0xF85A, 0xC526);
1764 MP_WriteMcuAccessRegWord(sc, 0xF85C, 0x64A5);
1765 MP_WriteMcuAccessRegWord(sc, 0xF85E, 0x1400);
1766 MP_WriteMcuAccessRegWord(sc, 0xF860, 0xF007);
1767 MP_WriteMcuAccessRegWord(sc, 0xF862, 0x0C01);
1768 MP_WriteMcuAccessRegWord(sc, 0xF864, 0x8CA5);
1769 MP_WriteMcuAccessRegWord(sc, 0xF866, 0x1C15);
1770 MP_WriteMcuAccessRegWord(sc, 0xF868, 0xC51B);
1771 MP_WriteMcuAccessRegWord(sc, 0xF86A, 0x9CA0);
1772 MP_WriteMcuAccessRegWord(sc, 0xF86C, 0xE013);
1773 MP_WriteMcuAccessRegWord(sc, 0xF86E, 0xC519);
1774 MP_WriteMcuAccessRegWord(sc, 0xF870, 0x74A0);
1775 MP_WriteMcuAccessRegWord(sc, 0xF872, 0x48C4);
1776 MP_WriteMcuAccessRegWord(sc, 0xF874, 0x8CA0);
1777 MP_WriteMcuAccessRegWord(sc, 0xF876, 0xC516);
1778 MP_WriteMcuAccessRegWord(sc, 0xF878, 0x74A4);
1779 MP_WriteMcuAccessRegWord(sc, 0xF87A, 0x48C8);
1780 MP_WriteMcuAccessRegWord(sc, 0xF87C, 0x48CA);
1781 MP_WriteMcuAccessRegWord(sc, 0xF87E, 0x9CA4);
1782 MP_WriteMcuAccessRegWord(sc, 0xF880, 0xC512);
1783 MP_WriteMcuAccessRegWord(sc, 0xF882, 0x1B00);
1784 MP_WriteMcuAccessRegWord(sc, 0xF884, 0x9BA0);
1785 MP_WriteMcuAccessRegWord(sc, 0xF886, 0x1B1C);
1786 MP_WriteMcuAccessRegWord(sc, 0xF888, 0x483F);
1787 MP_WriteMcuAccessRegWord(sc, 0xF88A, 0x9BA2);
1788 MP_WriteMcuAccessRegWord(sc, 0xF88C, 0x1B04);
1789 MP_WriteMcuAccessRegWord(sc, 0xF88E, 0xC508);
1790 MP_WriteMcuAccessRegWord(sc, 0xF890, 0x9BA0);
1791 MP_WriteMcuAccessRegWord(sc, 0xF892, 0xC505);
1792 MP_WriteMcuAccessRegWord(sc, 0xF894, 0xBD00);
1793 MP_WriteMcuAccessRegWord(sc, 0xF896, 0xC502);
1794 MP_WriteMcuAccessRegWord(sc, 0xF898, 0xBD00);
1795 MP_WriteMcuAccessRegWord(sc, 0xF89A, 0x0300);
1796 MP_WriteMcuAccessRegWord(sc, 0xF89C, 0x051E);
1797 MP_WriteMcuAccessRegWord(sc, 0xF89E, 0xE434);
1798 MP_WriteMcuAccessRegWord(sc, 0xF8A0, 0xE018);
1799 MP_WriteMcuAccessRegWord(sc, 0xF8A2, 0xE092);
1800 MP_WriteMcuAccessRegWord(sc, 0xF8A4, 0xDE20);
1801 MP_WriteMcuAccessRegWord(sc, 0xF8A6, 0xD3C0);
1802 MP_WriteMcuAccessRegWord(sc, 0xF8A8, 0xC50F);
1803 MP_WriteMcuAccessRegWord(sc, 0xF8AA, 0x76A4);
1804 MP_WriteMcuAccessRegWord(sc, 0xF8AC, 0x49E3);
1805 MP_WriteMcuAccessRegWord(sc, 0xF8AE, 0xF007);
1806 MP_WriteMcuAccessRegWord(sc, 0xF8B0, 0x49C0);
1807 MP_WriteMcuAccessRegWord(sc, 0xF8B2, 0xF103);
1808 MP_WriteMcuAccessRegWord(sc, 0xF8B4, 0xC607);
1809 MP_WriteMcuAccessRegWord(sc, 0xF8B6, 0xBE00);
1810 MP_WriteMcuAccessRegWord(sc, 0xF8B8, 0xC606);
1811 MP_WriteMcuAccessRegWord(sc, 0xF8BA, 0xBE00);
1812 MP_WriteMcuAccessRegWord(sc, 0xF8BC, 0xC602);
1813 MP_WriteMcuAccessRegWord(sc, 0xF8BE, 0xBE00);
1814 MP_WriteMcuAccessRegWord(sc, 0xF8C0, 0x0C4C);
1815 MP_WriteMcuAccessRegWord(sc, 0xF8C2, 0x0C28);
1816 MP_WriteMcuAccessRegWord(sc, 0xF8C4, 0x0C2C);
1817 MP_WriteMcuAccessRegWord(sc, 0xF8C6, 0xDC00);
1818 MP_WriteMcuAccessRegWord(sc, 0xF8C8, 0xC707);
1819 MP_WriteMcuAccessRegWord(sc, 0xF8CA, 0x1D00);
1820 MP_WriteMcuAccessRegWord(sc, 0xF8CC, 0x8DE2);
1821 MP_WriteMcuAccessRegWord(sc, 0xF8CE, 0x48C1);
1822 MP_WriteMcuAccessRegWord(sc, 0xF8D0, 0xC502);
1823 MP_WriteMcuAccessRegWord(sc, 0xF8D2, 0xBD00);
1824 MP_WriteMcuAccessRegWord(sc, 0xF8D4, 0x00AA);
1825 MP_WriteMcuAccessRegWord(sc, 0xF8D6, 0xE0C0);
1826 MP_WriteMcuAccessRegWord(sc, 0xF8D8, 0xC502);
1827 MP_WriteMcuAccessRegWord(sc, 0xF8DA, 0xBD00);
1828 MP_WriteMcuAccessRegWord(sc, 0xF8DC, 0x0132);
1830 MP_WriteMcuAccessRegWord(sc, 0xFC26, 0x8000);
1832 MP_WriteMcuAccessRegWord(sc, 0xFC2A, 0x0743);
1833 MP_WriteMcuAccessRegWord(sc, 0xFC2C, 0x0801);
1834 MP_WriteMcuAccessRegWord(sc, 0xFC2E, 0x0BE9);
1835 MP_WriteMcuAccessRegWord(sc, 0xFC30, 0x02FD);
1836 MP_WriteMcuAccessRegWord(sc, 0xFC32, 0x0C25);
1837 MP_WriteMcuAccessRegWord(sc, 0xFC34, 0x00A9);
1838 MP_WriteMcuAccessRegWord(sc, 0xFC36, 0x012D);
1841 static void re_set_mac_mcu_8168ep_1(struct re_softc *sc)
1845 MP_WriteMcuAccessRegWord(sc, 0xF800, 0xE008);
1846 MP_WriteMcuAccessRegWord(sc, 0xF802, 0xE0D3);
1847 MP_WriteMcuAccessRegWord(sc, 0xF804, 0xE0D6);
1848 MP_WriteMcuAccessRegWord(sc, 0xF806, 0xE0D9);
1849 MP_WriteMcuAccessRegWord(sc, 0xF808, 0xE0DB);
1850 MP_WriteMcuAccessRegWord(sc, 0xF80A, 0xE0DD);
1851 MP_WriteMcuAccessRegWord(sc, 0xF80C, 0xE0DF);
1852 MP_WriteMcuAccessRegWord(sc, 0xF80E, 0xE0E1);
1853 MP_WriteMcuAccessRegWord(sc, 0xF810, 0xC251);
1854 MP_WriteMcuAccessRegWord(sc, 0xF812, 0x7340);
1855 MP_WriteMcuAccessRegWord(sc, 0xF814, 0x49B1);
1856 MP_WriteMcuAccessRegWord(sc, 0xF816, 0xF010);
1857 MP_WriteMcuAccessRegWord(sc, 0xF818, 0x1D02);
1858 MP_WriteMcuAccessRegWord(sc, 0xF81A, 0x8D40);
1859 MP_WriteMcuAccessRegWord(sc, 0xF81C, 0xC202);
1860 MP_WriteMcuAccessRegWord(sc, 0xF81E, 0xBA00);
1861 MP_WriteMcuAccessRegWord(sc, 0xF820, 0x2C3A);
1862 MP_WriteMcuAccessRegWord(sc, 0xF822, 0xC0F0);
1863 MP_WriteMcuAccessRegWord(sc, 0xF824, 0xE8DE);
1864 MP_WriteMcuAccessRegWord(sc, 0xF826, 0x2000);
1865 MP_WriteMcuAccessRegWord(sc, 0xF828, 0x8000);
1866 MP_WriteMcuAccessRegWord(sc, 0xF82A, 0xC0B6);
1867 MP_WriteMcuAccessRegWord(sc, 0xF82C, 0x268C);
1868 MP_WriteMcuAccessRegWord(sc, 0xF82E, 0x752C);
1869 MP_WriteMcuAccessRegWord(sc, 0xF830, 0x49D4);
1870 MP_WriteMcuAccessRegWord(sc, 0xF832, 0xF112);
1871 MP_WriteMcuAccessRegWord(sc, 0xF834, 0xE025);
1872 MP_WriteMcuAccessRegWord(sc, 0xF836, 0xC2F6);
1873 MP_WriteMcuAccessRegWord(sc, 0xF838, 0x7146);
1874 MP_WriteMcuAccessRegWord(sc, 0xF83A, 0xC2F5);
1875 MP_WriteMcuAccessRegWord(sc, 0xF83C, 0x7340);
1876 MP_WriteMcuAccessRegWord(sc, 0xF83E, 0x49BE);
1877 MP_WriteMcuAccessRegWord(sc, 0xF840, 0xF103);
1878 MP_WriteMcuAccessRegWord(sc, 0xF842, 0xC7F2);
1879 MP_WriteMcuAccessRegWord(sc, 0xF844, 0xE002);
1880 MP_WriteMcuAccessRegWord(sc, 0xF846, 0xC7F1);
1881 MP_WriteMcuAccessRegWord(sc, 0xF848, 0x304F);
1882 MP_WriteMcuAccessRegWord(sc, 0xF84A, 0x6226);
1883 MP_WriteMcuAccessRegWord(sc, 0xF84C, 0x49A1);
1884 MP_WriteMcuAccessRegWord(sc, 0xF84E, 0xF1F0);
1885 MP_WriteMcuAccessRegWord(sc, 0xF850, 0x7222);
1886 MP_WriteMcuAccessRegWord(sc, 0xF852, 0x49A0);
1887 MP_WriteMcuAccessRegWord(sc, 0xF854, 0xF1ED);
1888 MP_WriteMcuAccessRegWord(sc, 0xF856, 0x2525);
1889 MP_WriteMcuAccessRegWord(sc, 0xF858, 0x1F28);
1890 MP_WriteMcuAccessRegWord(sc, 0xF85A, 0x3097);
1891 MP_WriteMcuAccessRegWord(sc, 0xF85C, 0x3091);
1892 MP_WriteMcuAccessRegWord(sc, 0xF85E, 0x9A36);
1893 MP_WriteMcuAccessRegWord(sc, 0xF860, 0x752C);
1894 MP_WriteMcuAccessRegWord(sc, 0xF862, 0x21DC);
1895 MP_WriteMcuAccessRegWord(sc, 0xF864, 0x25BC);
1896 MP_WriteMcuAccessRegWord(sc, 0xF866, 0xC6E2);
1897 MP_WriteMcuAccessRegWord(sc, 0xF868, 0x77C0);
1898 MP_WriteMcuAccessRegWord(sc, 0xF86A, 0x1304);
1899 MP_WriteMcuAccessRegWord(sc, 0xF86C, 0xF014);
1900 MP_WriteMcuAccessRegWord(sc, 0xF86E, 0x1303);
1901 MP_WriteMcuAccessRegWord(sc, 0xF870, 0xF014);
1902 MP_WriteMcuAccessRegWord(sc, 0xF872, 0x1302);
1903 MP_WriteMcuAccessRegWord(sc, 0xF874, 0xF014);
1904 MP_WriteMcuAccessRegWord(sc, 0xF876, 0x1301);
1905 MP_WriteMcuAccessRegWord(sc, 0xF878, 0xF014);
1906 MP_WriteMcuAccessRegWord(sc, 0xF87A, 0x49D4);
1907 MP_WriteMcuAccessRegWord(sc, 0xF87C, 0xF103);
1908 MP_WriteMcuAccessRegWord(sc, 0xF87E, 0xC3D7);
1909 MP_WriteMcuAccessRegWord(sc, 0xF880, 0xBB00);
1910 MP_WriteMcuAccessRegWord(sc, 0xF882, 0xC618);
1911 MP_WriteMcuAccessRegWord(sc, 0xF884, 0x67C6);
1912 MP_WriteMcuAccessRegWord(sc, 0xF886, 0x752E);
1913 MP_WriteMcuAccessRegWord(sc, 0xF888, 0x22D7);
1914 MP_WriteMcuAccessRegWord(sc, 0xF88A, 0x26DD);
1915 MP_WriteMcuAccessRegWord(sc, 0xF88C, 0x1505);
1916 MP_WriteMcuAccessRegWord(sc, 0xF88E, 0xF013);
1917 MP_WriteMcuAccessRegWord(sc, 0xF890, 0xC60A);
1918 MP_WriteMcuAccessRegWord(sc, 0xF892, 0xBE00);
1919 MP_WriteMcuAccessRegWord(sc, 0xF894, 0xC309);
1920 MP_WriteMcuAccessRegWord(sc, 0xF896, 0xBB00);
1921 MP_WriteMcuAccessRegWord(sc, 0xF898, 0xC308);
1922 MP_WriteMcuAccessRegWord(sc, 0xF89A, 0xBB00);
1923 MP_WriteMcuAccessRegWord(sc, 0xF89C, 0xC307);
1924 MP_WriteMcuAccessRegWord(sc, 0xF89E, 0xBB00);
1925 MP_WriteMcuAccessRegWord(sc, 0xF8A0, 0xC306);
1926 MP_WriteMcuAccessRegWord(sc, 0xF8A2, 0xBB00);
1927 MP_WriteMcuAccessRegWord(sc, 0xF8A4, 0x25C8);
1928 MP_WriteMcuAccessRegWord(sc, 0xF8A6, 0x25A6);
1929 MP_WriteMcuAccessRegWord(sc, 0xF8A8, 0x25AC);
1930 MP_WriteMcuAccessRegWord(sc, 0xF8AA, 0x25B2);
1931 MP_WriteMcuAccessRegWord(sc, 0xF8AC, 0x25B8);
1932 MP_WriteMcuAccessRegWord(sc, 0xF8AE, 0xCD08);
1933 MP_WriteMcuAccessRegWord(sc, 0xF8B0, 0x0000);
1934 MP_WriteMcuAccessRegWord(sc, 0xF8B2, 0xC0BC);
1935 MP_WriteMcuAccessRegWord(sc, 0xF8B4, 0xC2FF);
1936 MP_WriteMcuAccessRegWord(sc, 0xF8B6, 0x7340);
1937 MP_WriteMcuAccessRegWord(sc, 0xF8B8, 0x49B0);
1938 MP_WriteMcuAccessRegWord(sc, 0xF8BA, 0xF04E);
1939 MP_WriteMcuAccessRegWord(sc, 0xF8BC, 0x1F46);
1940 MP_WriteMcuAccessRegWord(sc, 0xF8BE, 0x308F);
1941 MP_WriteMcuAccessRegWord(sc, 0xF8C0, 0xC3F7);
1942 MP_WriteMcuAccessRegWord(sc, 0xF8C2, 0x1C04);
1943 MP_WriteMcuAccessRegWord(sc, 0xF8C4, 0xE84D);
1944 MP_WriteMcuAccessRegWord(sc, 0xF8C6, 0x1401);
1945 MP_WriteMcuAccessRegWord(sc, 0xF8C8, 0xF147);
1946 MP_WriteMcuAccessRegWord(sc, 0xF8CA, 0x7226);
1947 MP_WriteMcuAccessRegWord(sc, 0xF8CC, 0x49A7);
1948 MP_WriteMcuAccessRegWord(sc, 0xF8CE, 0xF044);
1949 MP_WriteMcuAccessRegWord(sc, 0xF8D0, 0x7222);
1950 MP_WriteMcuAccessRegWord(sc, 0xF8D2, 0x2525);
1951 MP_WriteMcuAccessRegWord(sc, 0xF8D4, 0x1F30);
1952 MP_WriteMcuAccessRegWord(sc, 0xF8D6, 0x3097);
1953 MP_WriteMcuAccessRegWord(sc, 0xF8D8, 0x3091);
1954 MP_WriteMcuAccessRegWord(sc, 0xF8DA, 0x7340);
1955 MP_WriteMcuAccessRegWord(sc, 0xF8DC, 0xC4EA);
1956 MP_WriteMcuAccessRegWord(sc, 0xF8DE, 0x401C);
1957 MP_WriteMcuAccessRegWord(sc, 0xF8E0, 0xF006);
1958 MP_WriteMcuAccessRegWord(sc, 0xF8E2, 0xC6E8);
1959 MP_WriteMcuAccessRegWord(sc, 0xF8E4, 0x75C0);
1960 MP_WriteMcuAccessRegWord(sc, 0xF8E6, 0x49D7);
1961 MP_WriteMcuAccessRegWord(sc, 0xF8E8, 0xF105);
1962 MP_WriteMcuAccessRegWord(sc, 0xF8EA, 0xE036);
1963 MP_WriteMcuAccessRegWord(sc, 0xF8EC, 0x1D08);
1964 MP_WriteMcuAccessRegWord(sc, 0xF8EE, 0x8DC1);
1965 MP_WriteMcuAccessRegWord(sc, 0xF8F0, 0x0208);
1966 MP_WriteMcuAccessRegWord(sc, 0xF8F2, 0x6640);
1967 MP_WriteMcuAccessRegWord(sc, 0xF8F4, 0x2764);
1968 MP_WriteMcuAccessRegWord(sc, 0xF8F6, 0x1606);
1969 MP_WriteMcuAccessRegWord(sc, 0xF8F8, 0xF12F);
1970 MP_WriteMcuAccessRegWord(sc, 0xF8FA, 0x6346);
1971 MP_WriteMcuAccessRegWord(sc, 0xF8FC, 0x133B);
1972 MP_WriteMcuAccessRegWord(sc, 0xF8FE, 0xF12C);
1973 MP_WriteMcuAccessRegWord(sc, 0xF900, 0x9B34);
1974 MP_WriteMcuAccessRegWord(sc, 0xF902, 0x1B18);
1975 MP_WriteMcuAccessRegWord(sc, 0xF904, 0x3093);
1976 MP_WriteMcuAccessRegWord(sc, 0xF906, 0xC32A);
1977 MP_WriteMcuAccessRegWord(sc, 0xF908, 0x1C10);
1978 MP_WriteMcuAccessRegWord(sc, 0xF90A, 0xE82A);
1979 MP_WriteMcuAccessRegWord(sc, 0xF90C, 0x1401);
1980 MP_WriteMcuAccessRegWord(sc, 0xF90E, 0xF124);
1981 MP_WriteMcuAccessRegWord(sc, 0xF910, 0x1A36);
1982 MP_WriteMcuAccessRegWord(sc, 0xF912, 0x308A);
1983 MP_WriteMcuAccessRegWord(sc, 0xF914, 0x7322);
1984 MP_WriteMcuAccessRegWord(sc, 0xF916, 0x25B5);
1985 MP_WriteMcuAccessRegWord(sc, 0xF918, 0x0B0E);
1986 MP_WriteMcuAccessRegWord(sc, 0xF91A, 0x1C00);
1987 MP_WriteMcuAccessRegWord(sc, 0xF91C, 0xE82C);
1988 MP_WriteMcuAccessRegWord(sc, 0xF91E, 0xC71F);
1989 MP_WriteMcuAccessRegWord(sc, 0xF920, 0x4027);
1990 MP_WriteMcuAccessRegWord(sc, 0xF922, 0xF11A);
1991 MP_WriteMcuAccessRegWord(sc, 0xF924, 0xE838);
1992 MP_WriteMcuAccessRegWord(sc, 0xF926, 0x1F42);
1993 MP_WriteMcuAccessRegWord(sc, 0xF928, 0x308F);
1994 MP_WriteMcuAccessRegWord(sc, 0xF92A, 0x1B08);
1995 MP_WriteMcuAccessRegWord(sc, 0xF92C, 0xE824);
1996 MP_WriteMcuAccessRegWord(sc, 0xF92E, 0x7236);
1997 MP_WriteMcuAccessRegWord(sc, 0xF930, 0x7746);
1998 MP_WriteMcuAccessRegWord(sc, 0xF932, 0x1700);
1999 MP_WriteMcuAccessRegWord(sc, 0xF934, 0xF00D);
2000 MP_WriteMcuAccessRegWord(sc, 0xF936, 0xC313);
2001 MP_WriteMcuAccessRegWord(sc, 0xF938, 0x401F);
2002 MP_WriteMcuAccessRegWord(sc, 0xF93A, 0xF103);
2003 MP_WriteMcuAccessRegWord(sc, 0xF93C, 0x1F00);
2004 MP_WriteMcuAccessRegWord(sc, 0xF93E, 0x9F46);
2005 MP_WriteMcuAccessRegWord(sc, 0xF940, 0x7744);
2006 MP_WriteMcuAccessRegWord(sc, 0xF942, 0x449F);
2007 MP_WriteMcuAccessRegWord(sc, 0xF944, 0x445F);
2008 MP_WriteMcuAccessRegWord(sc, 0xF946, 0xE817);
2009 MP_WriteMcuAccessRegWord(sc, 0xF948, 0xC70A);
2010 MP_WriteMcuAccessRegWord(sc, 0xF94A, 0x4027);
2011 MP_WriteMcuAccessRegWord(sc, 0xF94C, 0xF105);
2012 MP_WriteMcuAccessRegWord(sc, 0xF94E, 0xC302);
2013 MP_WriteMcuAccessRegWord(sc, 0xF950, 0xBB00);
2014 MP_WriteMcuAccessRegWord(sc, 0xF952, 0x2E08);
2015 MP_WriteMcuAccessRegWord(sc, 0xF954, 0x2DC2);
2016 MP_WriteMcuAccessRegWord(sc, 0xF956, 0xC7FF);
2017 MP_WriteMcuAccessRegWord(sc, 0xF958, 0xBF00);
2018 MP_WriteMcuAccessRegWord(sc, 0xF95A, 0xCDB8);
2019 MP_WriteMcuAccessRegWord(sc, 0xF95C, 0xFFFF);
2020 MP_WriteMcuAccessRegWord(sc, 0xF95E, 0x0C02);
2021 MP_WriteMcuAccessRegWord(sc, 0xF960, 0xA554);
2022 MP_WriteMcuAccessRegWord(sc, 0xF962, 0xA5DC);
2023 MP_WriteMcuAccessRegWord(sc, 0xF964, 0x402F);
2024 MP_WriteMcuAccessRegWord(sc, 0xF966, 0xF105);
2025 MP_WriteMcuAccessRegWord(sc, 0xF968, 0x1400);
2026 MP_WriteMcuAccessRegWord(sc, 0xF96A, 0xF1FA);
2027 MP_WriteMcuAccessRegWord(sc, 0xF96C, 0x1C01);
2028 MP_WriteMcuAccessRegWord(sc, 0xF96E, 0xE002);
2029 MP_WriteMcuAccessRegWord(sc, 0xF970, 0x1C00);
2030 MP_WriteMcuAccessRegWord(sc, 0xF972, 0xFF80);
2031 MP_WriteMcuAccessRegWord(sc, 0xF974, 0x49B0);
2032 MP_WriteMcuAccessRegWord(sc, 0xF976, 0xF004);
2033 MP_WriteMcuAccessRegWord(sc, 0xF978, 0x0B01);
2034 MP_WriteMcuAccessRegWord(sc, 0xF97A, 0xA1D3);
2035 MP_WriteMcuAccessRegWord(sc, 0xF97C, 0xE003);
2036 MP_WriteMcuAccessRegWord(sc, 0xF97E, 0x0B02);
2037 MP_WriteMcuAccessRegWord(sc, 0xF980, 0xA5D3);
2038 MP_WriteMcuAccessRegWord(sc, 0xF982, 0x3127);
2039 MP_WriteMcuAccessRegWord(sc, 0xF984, 0x3720);
2040 MP_WriteMcuAccessRegWord(sc, 0xF986, 0x0B02);
2041 MP_WriteMcuAccessRegWord(sc, 0xF988, 0xA5D3);
2042 MP_WriteMcuAccessRegWord(sc, 0xF98A, 0x3127);
2043 MP_WriteMcuAccessRegWord(sc, 0xF98C, 0x3720);
2044 MP_WriteMcuAccessRegWord(sc, 0xF98E, 0x1300);
2045 MP_WriteMcuAccessRegWord(sc, 0xF990, 0xF1FB);
2046 MP_WriteMcuAccessRegWord(sc, 0xF992, 0xFF80);
2047 MP_WriteMcuAccessRegWord(sc, 0xF994, 0x7322);
2048 MP_WriteMcuAccessRegWord(sc, 0xF996, 0x25B5);
2049 MP_WriteMcuAccessRegWord(sc, 0xF998, 0x1E28);
2050 MP_WriteMcuAccessRegWord(sc, 0xF99A, 0x30DE);
2051 MP_WriteMcuAccessRegWord(sc, 0xF99C, 0x30D9);
2052 MP_WriteMcuAccessRegWord(sc, 0xF99E, 0x7264);
2053 MP_WriteMcuAccessRegWord(sc, 0xF9A0, 0x1E11);
2054 MP_WriteMcuAccessRegWord(sc, 0xF9A2, 0x2368);
2055 MP_WriteMcuAccessRegWord(sc, 0xF9A4, 0x3116);
2056 MP_WriteMcuAccessRegWord(sc, 0xF9A6, 0xFF80);
2057 MP_WriteMcuAccessRegWord(sc, 0xF9A8, 0x1B7E);
2058 MP_WriteMcuAccessRegWord(sc, 0xF9AA, 0xC602);
2059 MP_WriteMcuAccessRegWord(sc, 0xF9AC, 0xBE00);
2060 MP_WriteMcuAccessRegWord(sc, 0xF9AE, 0x06A6);
2061 MP_WriteMcuAccessRegWord(sc, 0xF9B0, 0x1B7E);
2062 MP_WriteMcuAccessRegWord(sc, 0xF9B2, 0xC602);
2063 MP_WriteMcuAccessRegWord(sc, 0xF9B4, 0xBE00);
2064 MP_WriteMcuAccessRegWord(sc, 0xF9B6, 0x0764);
2065 MP_WriteMcuAccessRegWord(sc, 0xF9B8, 0xC602);
2066 MP_WriteMcuAccessRegWord(sc, 0xF9BA, 0xBE00);
2067 MP_WriteMcuAccessRegWord(sc, 0xF9BC, 0x0000);
2068 MP_WriteMcuAccessRegWord(sc, 0xF9BE, 0xC602);
2069 MP_WriteMcuAccessRegWord(sc, 0xF9C0, 0xBE00);
2070 MP_WriteMcuAccessRegWord(sc, 0xF9C2, 0x0000);
2071 MP_WriteMcuAccessRegWord(sc, 0xF9C4, 0xC602);
2072 MP_WriteMcuAccessRegWord(sc, 0xF9C6, 0xBE00);
2073 MP_WriteMcuAccessRegWord(sc, 0xF9C8, 0x0000);
2074 MP_WriteMcuAccessRegWord(sc, 0xF9CA, 0xC602);
2075 MP_WriteMcuAccessRegWord(sc, 0xF9CC, 0xBE00);
2076 MP_WriteMcuAccessRegWord(sc, 0xF9CE, 0x0000);
2077 MP_WriteMcuAccessRegWord(sc, 0xF9D0, 0xC602);
2078 MP_WriteMcuAccessRegWord(sc, 0xF9D2, 0xBE00);
2079 MP_WriteMcuAccessRegWord(sc, 0xF9D4, 0x0000);
2081 MP_WriteMcuAccessRegWord(sc, 0xFC26, 0x8000);
2083 MP_WriteMcuAccessRegWord(sc, 0xFC28, 0x2549);
2084 MP_WriteMcuAccessRegWord(sc, 0xFC2A, 0x06A5);
2085 MP_WriteMcuAccessRegWord(sc, 0xFC2C, 0x0763);
2088 static void re_set_mac_mcu_8168ep_2(struct re_softc *sc)
2092 MP_WriteMcuAccessRegWord(sc, 0xF800, 0xE008);
2093 MP_WriteMcuAccessRegWord(sc, 0xF802, 0xE017);
2094 MP_WriteMcuAccessRegWord(sc, 0xF804, 0xE019);
2095 MP_WriteMcuAccessRegWord(sc, 0xF806, 0xE01B);
2096 MP_WriteMcuAccessRegWord(sc, 0xF808, 0xE01D);
2097 MP_WriteMcuAccessRegWord(sc, 0xF80A, 0xE01F);
2098 MP_WriteMcuAccessRegWord(sc, 0xF80C, 0xE021);
2099 MP_WriteMcuAccessRegWord(sc, 0xF80E, 0xE023);
2100 MP_WriteMcuAccessRegWord(sc, 0xF810, 0xC50F);
2101 MP_WriteMcuAccessRegWord(sc, 0xF812, 0x76A4);
2102 MP_WriteMcuAccessRegWord(sc, 0xF814, 0x49E3);
2103 MP_WriteMcuAccessRegWord(sc, 0xF816, 0xF007);
2104 MP_WriteMcuAccessRegWord(sc, 0xF818, 0x49C0);
2105 MP_WriteMcuAccessRegWord(sc, 0xF81A, 0xF103);
2106 MP_WriteMcuAccessRegWord(sc, 0xF81C, 0xC607);
2107 MP_WriteMcuAccessRegWord(sc, 0xF81E, 0xBE00);
2108 MP_WriteMcuAccessRegWord(sc, 0xF820, 0xC606);
2109 MP_WriteMcuAccessRegWord(sc, 0xF822, 0xBE00);
2110 MP_WriteMcuAccessRegWord(sc, 0xF824, 0xC602);
2111 MP_WriteMcuAccessRegWord(sc, 0xF826, 0xBE00);
2112 MP_WriteMcuAccessRegWord(sc, 0xF828, 0x0BDA);
2113 MP_WriteMcuAccessRegWord(sc, 0xF82A, 0x0BB0);
2114 MP_WriteMcuAccessRegWord(sc, 0xF82C, 0x0BBA);
2115 MP_WriteMcuAccessRegWord(sc, 0xF82E, 0xDC00);
2116 MP_WriteMcuAccessRegWord(sc, 0xF830, 0xC602);
2117 MP_WriteMcuAccessRegWord(sc, 0xF832, 0xBE00);
2118 MP_WriteMcuAccessRegWord(sc, 0xF834, 0x0000);
2119 MP_WriteMcuAccessRegWord(sc, 0xF836, 0xC602);
2120 MP_WriteMcuAccessRegWord(sc, 0xF838, 0xBE00);
2121 MP_WriteMcuAccessRegWord(sc, 0xF83A, 0x0000);
2122 MP_WriteMcuAccessRegWord(sc, 0xF83C, 0xC602);
2123 MP_WriteMcuAccessRegWord(sc, 0xF83E, 0xBE00);
2124 MP_WriteMcuAccessRegWord(sc, 0xF840, 0x0000);
2125 MP_WriteMcuAccessRegWord(sc, 0xF842, 0xC602);
2126 MP_WriteMcuAccessRegWord(sc, 0xF844, 0xBE00);
2127 MP_WriteMcuAccessRegWord(sc, 0xF846, 0x0000);
2128 MP_WriteMcuAccessRegWord(sc, 0xF848, 0xC602);
2129 MP_WriteMcuAccessRegWord(sc, 0xF84A, 0xBE00);
2130 MP_WriteMcuAccessRegWord(sc, 0xF84C, 0x0000);
2131 MP_WriteMcuAccessRegWord(sc, 0xF84E, 0xC602);
2132 MP_WriteMcuAccessRegWord(sc, 0xF850, 0xBE00);
2133 MP_WriteMcuAccessRegWord(sc, 0xF852, 0x0000);
2134 MP_WriteMcuAccessRegWord(sc, 0xF854, 0xC602);
2135 MP_WriteMcuAccessRegWord(sc, 0xF856, 0xBE00);
2136 MP_WriteMcuAccessRegWord(sc, 0xF858, 0x0000);
2138 MP_WriteMcuAccessRegWord(sc, 0xFC26, 0x8000);
2140 MP_WriteMcuAccessRegWord(sc, 0xFC28, 0x0BB3);
2143 static void re_set_mac_mcu_8168h_1(struct re_softc *sc)
2147 MP_WriteMcuAccessRegWord(sc, 0xF800, 0xE008);
2148 MP_WriteMcuAccessRegWord(sc, 0xF802, 0xE00F);
2149 MP_WriteMcuAccessRegWord(sc, 0xF804, 0xE011);
2150 MP_WriteMcuAccessRegWord(sc, 0xF806, 0xE047);
2151 MP_WriteMcuAccessRegWord(sc, 0xF808, 0xE049);
2152 MP_WriteMcuAccessRegWord(sc, 0xF80A, 0xE073);
2153 MP_WriteMcuAccessRegWord(sc, 0xF80C, 0xE075);
2154 MP_WriteMcuAccessRegWord(sc, 0xF80E, 0xE077);
2155 MP_WriteMcuAccessRegWord(sc, 0xF810, 0xC707);
2156 MP_WriteMcuAccessRegWord(sc, 0xF812, 0x1D00);
2157 MP_WriteMcuAccessRegWord(sc, 0xF814, 0x8DE2);
2158 MP_WriteMcuAccessRegWord(sc, 0xF816, 0x48C1);
2159 MP_WriteMcuAccessRegWord(sc, 0xF818, 0xC502);
2160 MP_WriteMcuAccessRegWord(sc, 0xF81A, 0xBD00);
2161 MP_WriteMcuAccessRegWord(sc, 0xF81C, 0x00E4);
2162 MP_WriteMcuAccessRegWord(sc, 0xF81E, 0xE0C0);
2163 MP_WriteMcuAccessRegWord(sc, 0xF820, 0xC502);
2164 MP_WriteMcuAccessRegWord(sc, 0xF822, 0xBD00);
2165 MP_WriteMcuAccessRegWord(sc, 0xF824, 0x0216);
2166 MP_WriteMcuAccessRegWord(sc, 0xF826, 0xC634);
2167 MP_WriteMcuAccessRegWord(sc, 0xF828, 0x75C0);
2168 MP_WriteMcuAccessRegWord(sc, 0xF82A, 0x49D3);
2169 MP_WriteMcuAccessRegWord(sc, 0xF82C, 0xF027);
2170 MP_WriteMcuAccessRegWord(sc, 0xF82E, 0xC631);
2171 MP_WriteMcuAccessRegWord(sc, 0xF830, 0x75C0);
2172 MP_WriteMcuAccessRegWord(sc, 0xF832, 0x49D3);
2173 MP_WriteMcuAccessRegWord(sc, 0xF834, 0xF123);
2174 MP_WriteMcuAccessRegWord(sc, 0xF836, 0xC627);
2175 MP_WriteMcuAccessRegWord(sc, 0xF838, 0x75C0);
2176 MP_WriteMcuAccessRegWord(sc, 0xF83A, 0xB405);
2177 MP_WriteMcuAccessRegWord(sc, 0xF83C, 0xC525);
2178 MP_WriteMcuAccessRegWord(sc, 0xF83E, 0x9DC0);
2179 MP_WriteMcuAccessRegWord(sc, 0xF840, 0xC621);
2180 MP_WriteMcuAccessRegWord(sc, 0xF842, 0x75C8);
2181 MP_WriteMcuAccessRegWord(sc, 0xF844, 0x49D5);
2182 MP_WriteMcuAccessRegWord(sc, 0xF846, 0xF00A);
2183 MP_WriteMcuAccessRegWord(sc, 0xF848, 0x49D6);
2184 MP_WriteMcuAccessRegWord(sc, 0xF84A, 0xF008);
2185 MP_WriteMcuAccessRegWord(sc, 0xF84C, 0x49D7);
2186 MP_WriteMcuAccessRegWord(sc, 0xF84E, 0xF006);
2187 MP_WriteMcuAccessRegWord(sc, 0xF850, 0x49D8);
2188 MP_WriteMcuAccessRegWord(sc, 0xF852, 0xF004);
2189 MP_WriteMcuAccessRegWord(sc, 0xF854, 0x75D2);
2190 MP_WriteMcuAccessRegWord(sc, 0xF856, 0x49D9);
2191 MP_WriteMcuAccessRegWord(sc, 0xF858, 0xF111);
2192 MP_WriteMcuAccessRegWord(sc, 0xF85A, 0xC517);
2193 MP_WriteMcuAccessRegWord(sc, 0xF85C, 0x9DC8);
2194 MP_WriteMcuAccessRegWord(sc, 0xF85E, 0xC516);
2195 MP_WriteMcuAccessRegWord(sc, 0xF860, 0x9DD2);
2196 MP_WriteMcuAccessRegWord(sc, 0xF862, 0xC618);
2197 MP_WriteMcuAccessRegWord(sc, 0xF864, 0x75C0);
2198 MP_WriteMcuAccessRegWord(sc, 0xF866, 0x49D4);
2199 MP_WriteMcuAccessRegWord(sc, 0xF868, 0xF003);
2200 MP_WriteMcuAccessRegWord(sc, 0xF86A, 0x49D0);
2201 MP_WriteMcuAccessRegWord(sc, 0xF86C, 0xF104);
2202 MP_WriteMcuAccessRegWord(sc, 0xF86E, 0xC60A);
2203 MP_WriteMcuAccessRegWord(sc, 0xF870, 0xC50E);
2204 MP_WriteMcuAccessRegWord(sc, 0xF872, 0x9DC0);
2205 MP_WriteMcuAccessRegWord(sc, 0xF874, 0xB005);
2206 MP_WriteMcuAccessRegWord(sc, 0xF876, 0xC607);
2207 MP_WriteMcuAccessRegWord(sc, 0xF878, 0x9DC0);
2208 MP_WriteMcuAccessRegWord(sc, 0xF87A, 0xB007);
2209 MP_WriteMcuAccessRegWord(sc, 0xF87C, 0xC602);
2210 MP_WriteMcuAccessRegWord(sc, 0xF87E, 0xBE00);
2211 MP_WriteMcuAccessRegWord(sc, 0xF880, 0x1A06);
2212 MP_WriteMcuAccessRegWord(sc, 0xF882, 0xB400);
2213 MP_WriteMcuAccessRegWord(sc, 0xF884, 0xE86C);
2214 MP_WriteMcuAccessRegWord(sc, 0xF886, 0xA000);
2215 MP_WriteMcuAccessRegWord(sc, 0xF888, 0x01E1);
2216 MP_WriteMcuAccessRegWord(sc, 0xF88A, 0x0200);
2217 MP_WriteMcuAccessRegWord(sc, 0xF88C, 0x9200);
2218 MP_WriteMcuAccessRegWord(sc, 0xF88E, 0xE84C);
2219 MP_WriteMcuAccessRegWord(sc, 0xF890, 0xE004);
2220 MP_WriteMcuAccessRegWord(sc, 0xF892, 0xE908);
2221 MP_WriteMcuAccessRegWord(sc, 0xF894, 0xC502);
2222 MP_WriteMcuAccessRegWord(sc, 0xF896, 0xBD00);
2223 MP_WriteMcuAccessRegWord(sc, 0xF898, 0x0B58);
2224 MP_WriteMcuAccessRegWord(sc, 0xF89A, 0xB407);
2225 MP_WriteMcuAccessRegWord(sc, 0xF89C, 0xB404);
2226 MP_WriteMcuAccessRegWord(sc, 0xF89E, 0x2195);
2227 MP_WriteMcuAccessRegWord(sc, 0xF8A0, 0x25BD);
2228 MP_WriteMcuAccessRegWord(sc, 0xF8A2, 0x9BE0);
2229 MP_WriteMcuAccessRegWord(sc, 0xF8A4, 0x1C1C);
2230 MP_WriteMcuAccessRegWord(sc, 0xF8A6, 0x484F);
2231 MP_WriteMcuAccessRegWord(sc, 0xF8A8, 0x9CE2);
2232 MP_WriteMcuAccessRegWord(sc, 0xF8AA, 0x72E2);
2233 MP_WriteMcuAccessRegWord(sc, 0xF8AC, 0x49AE);
2234 MP_WriteMcuAccessRegWord(sc, 0xF8AE, 0xF1FE);
2235 MP_WriteMcuAccessRegWord(sc, 0xF8B0, 0x0B00);
2236 MP_WriteMcuAccessRegWord(sc, 0xF8B2, 0xF116);
2237 MP_WriteMcuAccessRegWord(sc, 0xF8B4, 0xC71C);
2238 MP_WriteMcuAccessRegWord(sc, 0xF8B6, 0xC419);
2239 MP_WriteMcuAccessRegWord(sc, 0xF8B8, 0x9CE0);
2240 MP_WriteMcuAccessRegWord(sc, 0xF8BA, 0x1C13);
2241 MP_WriteMcuAccessRegWord(sc, 0xF8BC, 0x484F);
2242 MP_WriteMcuAccessRegWord(sc, 0xF8BE, 0x9CE2);
2243 MP_WriteMcuAccessRegWord(sc, 0xF8C0, 0x74E2);
2244 MP_WriteMcuAccessRegWord(sc, 0xF8C2, 0x49CE);
2245 MP_WriteMcuAccessRegWord(sc, 0xF8C4, 0xF1FE);
2246 MP_WriteMcuAccessRegWord(sc, 0xF8C6, 0xC412);
2247 MP_WriteMcuAccessRegWord(sc, 0xF8C8, 0x9CE0);
2248 MP_WriteMcuAccessRegWord(sc, 0xF8CA, 0x1C13);
2249 MP_WriteMcuAccessRegWord(sc, 0xF8CC, 0x484F);
2250 MP_WriteMcuAccessRegWord(sc, 0xF8CE, 0x9CE2);
2251 MP_WriteMcuAccessRegWord(sc, 0xF8D0, 0x74E2);
2252 MP_WriteMcuAccessRegWord(sc, 0xF8D2, 0x49CE);
2253 MP_WriteMcuAccessRegWord(sc, 0xF8D4, 0xF1FE);
2254 MP_WriteMcuAccessRegWord(sc, 0xF8D6, 0xC70C);
2255 MP_WriteMcuAccessRegWord(sc, 0xF8D8, 0x74F8);
2256 MP_WriteMcuAccessRegWord(sc, 0xF8DA, 0x48C3);
2257 MP_WriteMcuAccessRegWord(sc, 0xF8DC, 0x8CF8);
2258 MP_WriteMcuAccessRegWord(sc, 0xF8DE, 0xB004);
2259 MP_WriteMcuAccessRegWord(sc, 0xF8E0, 0xB007);
2260 MP_WriteMcuAccessRegWord(sc, 0xF8E2, 0xC502);
2261 MP_WriteMcuAccessRegWord(sc, 0xF8E4, 0xBD00);
2262 MP_WriteMcuAccessRegWord(sc, 0xF8E6, 0x0F24);
2263 MP_WriteMcuAccessRegWord(sc, 0xF8E8, 0x0481);
2264 MP_WriteMcuAccessRegWord(sc, 0xF8EA, 0x0C81);
2265 MP_WriteMcuAccessRegWord(sc, 0xF8EC, 0xDE24);
2266 MP_WriteMcuAccessRegWord(sc, 0xF8EE, 0xE000);
2267 MP_WriteMcuAccessRegWord(sc, 0xF8F0, 0xC602);
2268 MP_WriteMcuAccessRegWord(sc, 0xF8F2, 0xBE00);
2269 MP_WriteMcuAccessRegWord(sc, 0xF8F4, 0x0CA4);
2270 MP_WriteMcuAccessRegWord(sc, 0xF8F6, 0xC502);
2271 MP_WriteMcuAccessRegWord(sc, 0xF8F8, 0xBD00);
2272 MP_WriteMcuAccessRegWord(sc, 0xF8FA, 0x0000);
2273 MP_WriteMcuAccessRegWord(sc, 0xF8FC, 0xC602);
2274 MP_WriteMcuAccessRegWord(sc, 0xF8FE, 0xBE00);
2275 MP_WriteMcuAccessRegWord(sc, 0xF900, 0x0000);
2277 MP_WriteMcuAccessRegWord(sc, 0xFC26, 0x8000);
2279 MP_WriteMcuAccessRegWord(sc, 0xFC28, 0x00E2);
2280 MP_WriteMcuAccessRegWord(sc, 0xFC2A, 0x0210);
2281 MP_WriteMcuAccessRegWord(sc, 0xFC2C, 0x1A04);
2282 MP_WriteMcuAccessRegWord(sc, 0xFC2E, 0x0B26);
2283 MP_WriteMcuAccessRegWord(sc, 0xFC30, 0x0F02);
2284 MP_WriteMcuAccessRegWord(sc, 0xFC32, 0x0CA0);
2286 if (sc->re_device_id == RT_DEVICEID_8136)
2287 MP_WriteMcuAccessRegWord(sc, 0xFC38, 0x0033);
2289 MP_WriteMcuAccessRegWord(sc, 0xFC38, 0x003F);
2292 static void re_set_mac_mcu_8168fp_1(struct re_softc *sc)
2296 MP_WriteMcuAccessRegWord(sc, 0xF800, 0xE00A);
2297 MP_WriteMcuAccessRegWord(sc, 0xF802, 0xE0C1);
2298 MP_WriteMcuAccessRegWord(sc, 0xF804, 0xE104);
2299 MP_WriteMcuAccessRegWord(sc, 0xF806, 0xE108);
2300 MP_WriteMcuAccessRegWord(sc, 0xF808, 0xE10D);
2301 MP_WriteMcuAccessRegWord(sc, 0xF80A, 0xE112);
2302 MP_WriteMcuAccessRegWord(sc, 0xF80C, 0xE11C);
2303 MP_WriteMcuAccessRegWord(sc, 0xF80E, 0xE121);
2304 MP_WriteMcuAccessRegWord(sc, 0xF810, 0xE000);
2305 MP_WriteMcuAccessRegWord(sc, 0xF812, 0xE0C8);
2306 MP_WriteMcuAccessRegWord(sc, 0xF814, 0xB400);
2307 MP_WriteMcuAccessRegWord(sc, 0xF816, 0xC1FE);
2308 MP_WriteMcuAccessRegWord(sc, 0xF818, 0x49E2);
2309 MP_WriteMcuAccessRegWord(sc, 0xF81A, 0xF04C);
2310 MP_WriteMcuAccessRegWord(sc, 0xF81C, 0x49EA);
2311 MP_WriteMcuAccessRegWord(sc, 0xF81E, 0xF04A);
2312 MP_WriteMcuAccessRegWord(sc, 0xF820, 0x74E6);
2313 MP_WriteMcuAccessRegWord(sc, 0xF822, 0xC246);
2314 MP_WriteMcuAccessRegWord(sc, 0xF824, 0x7542);
2315 MP_WriteMcuAccessRegWord(sc, 0xF826, 0x73EC);
2316 MP_WriteMcuAccessRegWord(sc, 0xF828, 0x1800);
2317 MP_WriteMcuAccessRegWord(sc, 0xF82A, 0x49C0);
2318 MP_WriteMcuAccessRegWord(sc, 0xF82C, 0xF10D);
2319 MP_WriteMcuAccessRegWord(sc, 0xF82E, 0x49C1);
2320 MP_WriteMcuAccessRegWord(sc, 0xF830, 0xF10B);
2321 MP_WriteMcuAccessRegWord(sc, 0xF832, 0x49C2);
2322 MP_WriteMcuAccessRegWord(sc, 0xF834, 0xF109);
2323 MP_WriteMcuAccessRegWord(sc, 0xF836, 0x49B0);
2324 MP_WriteMcuAccessRegWord(sc, 0xF838, 0xF107);
2325 MP_WriteMcuAccessRegWord(sc, 0xF83A, 0x49B1);
2326 MP_WriteMcuAccessRegWord(sc, 0xF83C, 0xF105);
2327 MP_WriteMcuAccessRegWord(sc, 0xF83E, 0x7220);
2328 MP_WriteMcuAccessRegWord(sc, 0xF840, 0x49A2);
2329 MP_WriteMcuAccessRegWord(sc, 0xF842, 0xF102);
2330 MP_WriteMcuAccessRegWord(sc, 0xF844, 0xE002);
2331 MP_WriteMcuAccessRegWord(sc, 0xF846, 0x4800);
2332 MP_WriteMcuAccessRegWord(sc, 0xF848, 0x49D0);
2333 MP_WriteMcuAccessRegWord(sc, 0xF84A, 0xF10A);
2334 MP_WriteMcuAccessRegWord(sc, 0xF84C, 0x49D1);
2335 MP_WriteMcuAccessRegWord(sc, 0xF84E, 0xF108);
2336 MP_WriteMcuAccessRegWord(sc, 0xF850, 0x49D2);
2337 MP_WriteMcuAccessRegWord(sc, 0xF852, 0xF106);
2338 MP_WriteMcuAccessRegWord(sc, 0xF854, 0x49D3);
2339 MP_WriteMcuAccessRegWord(sc, 0xF856, 0xF104);
2340 MP_WriteMcuAccessRegWord(sc, 0xF858, 0x49DF);
2341 MP_WriteMcuAccessRegWord(sc, 0xF85A, 0xF102);
2342 MP_WriteMcuAccessRegWord(sc, 0xF85C, 0xE00C);
2343 MP_WriteMcuAccessRegWord(sc, 0xF85E, 0x4801);
2344 MP_WriteMcuAccessRegWord(sc, 0xF860, 0x72E4);
2345 MP_WriteMcuAccessRegWord(sc, 0xF862, 0x49AD);
2346 MP_WriteMcuAccessRegWord(sc, 0xF864, 0xF108);
2347 MP_WriteMcuAccessRegWord(sc, 0xF866, 0xC225);
2348 MP_WriteMcuAccessRegWord(sc, 0xF868, 0x6741);
2349 MP_WriteMcuAccessRegWord(sc, 0xF86A, 0x48F0);
2350 MP_WriteMcuAccessRegWord(sc, 0xF86C, 0x8F41);
2351 MP_WriteMcuAccessRegWord(sc, 0xF86E, 0x4870);
2352 MP_WriteMcuAccessRegWord(sc, 0xF870, 0x8F41);
2353 MP_WriteMcuAccessRegWord(sc, 0xF872, 0xC7CF);
2354 MP_WriteMcuAccessRegWord(sc, 0xF874, 0x49B5);
2355 MP_WriteMcuAccessRegWord(sc, 0xF876, 0xF01F);
2356 MP_WriteMcuAccessRegWord(sc, 0xF878, 0x49B2);
2357 MP_WriteMcuAccessRegWord(sc, 0xF87A, 0xF00B);
2358 MP_WriteMcuAccessRegWord(sc, 0xF87C, 0x4980);
2359 MP_WriteMcuAccessRegWord(sc, 0xF87E, 0xF003);
2360 MP_WriteMcuAccessRegWord(sc, 0xF880, 0x484E);
2361 MP_WriteMcuAccessRegWord(sc, 0xF882, 0x94E7);
2362 MP_WriteMcuAccessRegWord(sc, 0xF884, 0x4981);
2363 MP_WriteMcuAccessRegWord(sc, 0xF886, 0xF004);
2364 MP_WriteMcuAccessRegWord(sc, 0xF888, 0x485E);
2365 MP_WriteMcuAccessRegWord(sc, 0xF88A, 0xC212);
2366 MP_WriteMcuAccessRegWord(sc, 0xF88C, 0x9543);
2367 MP_WriteMcuAccessRegWord(sc, 0xF88E, 0xE071);
2368 MP_WriteMcuAccessRegWord(sc, 0xF890, 0x49B6);
2369 MP_WriteMcuAccessRegWord(sc, 0xF892, 0xF003);
2370 MP_WriteMcuAccessRegWord(sc, 0xF894, 0x49B3);
2371 MP_WriteMcuAccessRegWord(sc, 0xF896, 0xF10F);
2372 MP_WriteMcuAccessRegWord(sc, 0xF898, 0x4980);
2373 MP_WriteMcuAccessRegWord(sc, 0xF89A, 0xF003);
2374 MP_WriteMcuAccessRegWord(sc, 0xF89C, 0x484E);
2375 MP_WriteMcuAccessRegWord(sc, 0xF89E, 0x94E7);
2376 MP_WriteMcuAccessRegWord(sc, 0xF8A0, 0x4981);
2377 MP_WriteMcuAccessRegWord(sc, 0xF8A2, 0xF004);
2378 MP_WriteMcuAccessRegWord(sc, 0xF8A4, 0x485E);
2379 MP_WriteMcuAccessRegWord(sc, 0xF8A6, 0xC204);
2380 MP_WriteMcuAccessRegWord(sc, 0xF8A8, 0x9543);
2381 MP_WriteMcuAccessRegWord(sc, 0xF8AA, 0xE005);
2382 MP_WriteMcuAccessRegWord(sc, 0xF8AC, 0xE000);
2383 MP_WriteMcuAccessRegWord(sc, 0xF8AE, 0xE0FC);
2384 MP_WriteMcuAccessRegWord(sc, 0xF8B0, 0xE0FA);
2385 MP_WriteMcuAccessRegWord(sc, 0xF8B2, 0xE065);
2386 MP_WriteMcuAccessRegWord(sc, 0xF8B4, 0x49B7);
2387 MP_WriteMcuAccessRegWord(sc, 0xF8B6, 0xF007);
2388 MP_WriteMcuAccessRegWord(sc, 0xF8B8, 0x4980);
2389 MP_WriteMcuAccessRegWord(sc, 0xF8BA, 0xF005);
2390 MP_WriteMcuAccessRegWord(sc, 0xF8BC, 0x1A38);
2391 MP_WriteMcuAccessRegWord(sc, 0xF8BE, 0x46D4);
2392 MP_WriteMcuAccessRegWord(sc, 0xF8C0, 0x1200);
2393 MP_WriteMcuAccessRegWord(sc, 0xF8C2, 0xF109);
2394 MP_WriteMcuAccessRegWord(sc, 0xF8C4, 0x4981);
2395 MP_WriteMcuAccessRegWord(sc, 0xF8C6, 0xF055);
2396 MP_WriteMcuAccessRegWord(sc, 0xF8C8, 0x49C3);
2397 MP_WriteMcuAccessRegWord(sc, 0xF8CA, 0xF105);
2398 MP_WriteMcuAccessRegWord(sc, 0xF8CC, 0x1A30);
2399 MP_WriteMcuAccessRegWord(sc, 0xF8CE, 0x46D5);
2400 MP_WriteMcuAccessRegWord(sc, 0xF8D0, 0x1200);
2401 MP_WriteMcuAccessRegWord(sc, 0xF8D2, 0xF04F);
2402 MP_WriteMcuAccessRegWord(sc, 0xF8D4, 0x7220);
2403 MP_WriteMcuAccessRegWord(sc, 0xF8D6, 0x49A2);
2404 MP_WriteMcuAccessRegWord(sc, 0xF8D8, 0xF130);
2405 MP_WriteMcuAccessRegWord(sc, 0xF8DA, 0x49C1);
2406 MP_WriteMcuAccessRegWord(sc, 0xF8DC, 0xF12E);
2407 MP_WriteMcuAccessRegWord(sc, 0xF8DE, 0x49B0);
2408 MP_WriteMcuAccessRegWord(sc, 0xF8E0, 0xF12C);
2409 MP_WriteMcuAccessRegWord(sc, 0xF8E2, 0xC2E6);
2410 MP_WriteMcuAccessRegWord(sc, 0xF8E4, 0x7240);
2411 MP_WriteMcuAccessRegWord(sc, 0xF8E6, 0x49A8);
2412 MP_WriteMcuAccessRegWord(sc, 0xF8E8, 0xF003);
2413 MP_WriteMcuAccessRegWord(sc, 0xF8EA, 0x49D0);
2414 MP_WriteMcuAccessRegWord(sc, 0xF8EC, 0xF126);
2415 MP_WriteMcuAccessRegWord(sc, 0xF8EE, 0x49A9);
2416 MP_WriteMcuAccessRegWord(sc, 0xF8F0, 0xF003);
2417 MP_WriteMcuAccessRegWord(sc, 0xF8F2, 0x49D1);
2418 MP_WriteMcuAccessRegWord(sc, 0xF8F4, 0xF122);
2419 MP_WriteMcuAccessRegWord(sc, 0xF8F6, 0x49AA);
2420 MP_WriteMcuAccessRegWord(sc, 0xF8F8, 0xF003);
2421 MP_WriteMcuAccessRegWord(sc, 0xF8FA, 0x49D2);
2422 MP_WriteMcuAccessRegWord(sc, 0xF8FC, 0xF11E);
2423 MP_WriteMcuAccessRegWord(sc, 0xF8FE, 0x49AB);
2424 MP_WriteMcuAccessRegWord(sc, 0xF900, 0xF003);
2425 MP_WriteMcuAccessRegWord(sc, 0xF902, 0x49DF);
2426 MP_WriteMcuAccessRegWord(sc, 0xF904, 0xF11A);
2427 MP_WriteMcuAccessRegWord(sc, 0xF906, 0x49AC);
2428 MP_WriteMcuAccessRegWord(sc, 0xF908, 0xF003);
2429 MP_WriteMcuAccessRegWord(sc, 0xF90A, 0x49D3);
2430 MP_WriteMcuAccessRegWord(sc, 0xF90C, 0xF116);
2431 MP_WriteMcuAccessRegWord(sc, 0xF90E, 0x4980);
2432 MP_WriteMcuAccessRegWord(sc, 0xF910, 0xF003);
2433 MP_WriteMcuAccessRegWord(sc, 0xF912, 0x49C7);
2434 MP_WriteMcuAccessRegWord(sc, 0xF914, 0xF105);
2435 MP_WriteMcuAccessRegWord(sc, 0xF916, 0x4981);
2436 MP_WriteMcuAccessRegWord(sc, 0xF918, 0xF02C);
2437 MP_WriteMcuAccessRegWord(sc, 0xF91A, 0x49D7);
2438 MP_WriteMcuAccessRegWord(sc, 0xF91C, 0xF02A);
2439 MP_WriteMcuAccessRegWord(sc, 0xF91E, 0x49C0);
2440 MP_WriteMcuAccessRegWord(sc, 0xF920, 0xF00C);
2441 MP_WriteMcuAccessRegWord(sc, 0xF922, 0xC721);
2442 MP_WriteMcuAccessRegWord(sc, 0xF924, 0x62F4);
2443 MP_WriteMcuAccessRegWord(sc, 0xF926, 0x49A0);
2444 MP_WriteMcuAccessRegWord(sc, 0xF928, 0xF008);
2445 MP_WriteMcuAccessRegWord(sc, 0xF92A, 0x49A4);
2446 MP_WriteMcuAccessRegWord(sc, 0xF92C, 0xF106);
2447 MP_WriteMcuAccessRegWord(sc, 0xF92E, 0x4824);
2448 MP_WriteMcuAccessRegWord(sc, 0xF930, 0x8AF4);
2449 MP_WriteMcuAccessRegWord(sc, 0xF932, 0xC71A);
2450 MP_WriteMcuAccessRegWord(sc, 0xF934, 0x1A40);
2451 MP_WriteMcuAccessRegWord(sc, 0xF936, 0x9AE0);
2452 MP_WriteMcuAccessRegWord(sc, 0xF938, 0x49B6);
2453 MP_WriteMcuAccessRegWord(sc, 0xF93A, 0xF017);
2454 MP_WriteMcuAccessRegWord(sc, 0xF93C, 0x200E);
2455 MP_WriteMcuAccessRegWord(sc, 0xF93E, 0xC7B8);
2456 MP_WriteMcuAccessRegWord(sc, 0xF940, 0x72E0);
2457 MP_WriteMcuAccessRegWord(sc, 0xF942, 0x4710);
2458 MP_WriteMcuAccessRegWord(sc, 0xF944, 0x92E1);
2459 MP_WriteMcuAccessRegWord(sc, 0xF946, 0xC70E);
2460 MP_WriteMcuAccessRegWord(sc, 0xF948, 0x77E0);
2461 MP_WriteMcuAccessRegWord(sc, 0xF94A, 0x49F0);
2462 MP_WriteMcuAccessRegWord(sc, 0xF94C, 0xF112);
2463 MP_WriteMcuAccessRegWord(sc, 0xF94E, 0xC70B);
2464 MP_WriteMcuAccessRegWord(sc, 0xF950, 0x77E0);
2465 MP_WriteMcuAccessRegWord(sc, 0xF952, 0x27FE);
2466 MP_WriteMcuAccessRegWord(sc, 0xF954, 0x1AFA);
2467 MP_WriteMcuAccessRegWord(sc, 0xF956, 0x4317);
2468 MP_WriteMcuAccessRegWord(sc, 0xF958, 0xC705);
2469 MP_WriteMcuAccessRegWord(sc, 0xF95A, 0x9AE2);
2470 MP_WriteMcuAccessRegWord(sc, 0xF95C, 0x1A11);
2471 MP_WriteMcuAccessRegWord(sc, 0xF95E, 0x8AE0);
2472 MP_WriteMcuAccessRegWord(sc, 0xF960, 0xE008);
2473 MP_WriteMcuAccessRegWord(sc, 0xF962, 0xE41C);
2474 MP_WriteMcuAccessRegWord(sc, 0xF964, 0xC0AE);
2475 MP_WriteMcuAccessRegWord(sc, 0xF966, 0xD23A);
2476 MP_WriteMcuAccessRegWord(sc, 0xF968, 0xC7A2);
2477 MP_WriteMcuAccessRegWord(sc, 0xF96A, 0x74E6);
2478 MP_WriteMcuAccessRegWord(sc, 0xF96C, 0x484F);
2479 MP_WriteMcuAccessRegWord(sc, 0xF96E, 0x94E7);
2480 MP_WriteMcuAccessRegWord(sc, 0xF970, 0xC79E);
2481 MP_WriteMcuAccessRegWord(sc, 0xF972, 0x8CE6);
2482 MP_WriteMcuAccessRegWord(sc, 0xF974, 0x8BEC);
2483 MP_WriteMcuAccessRegWord(sc, 0xF976, 0xC29C);
2484 MP_WriteMcuAccessRegWord(sc, 0xF978, 0x8D42);
2485 MP_WriteMcuAccessRegWord(sc, 0xF97A, 0x7220);
2486 MP_WriteMcuAccessRegWord(sc, 0xF97C, 0xB000);
2487 MP_WriteMcuAccessRegWord(sc, 0xF97E, 0xC502);
2488 MP_WriteMcuAccessRegWord(sc, 0xF980, 0xBD00);
2489 MP_WriteMcuAccessRegWord(sc, 0xF982, 0x0932);
2490 MP_WriteMcuAccessRegWord(sc, 0xF984, 0xB400);
2491 MP_WriteMcuAccessRegWord(sc, 0xF986, 0xC240);
2492 MP_WriteMcuAccessRegWord(sc, 0xF988, 0xC340);
2493 MP_WriteMcuAccessRegWord(sc, 0xF98A, 0x7060);
2494 MP_WriteMcuAccessRegWord(sc, 0xF98C, 0x498F);
2495 MP_WriteMcuAccessRegWord(sc, 0xF98E, 0xF014);
2496 MP_WriteMcuAccessRegWord(sc, 0xF990, 0x488F);
2497 MP_WriteMcuAccessRegWord(sc, 0xF992, 0x9061);
2498 MP_WriteMcuAccessRegWord(sc, 0xF994, 0x744C);
2499 MP_WriteMcuAccessRegWord(sc, 0xF996, 0x49C3);
2500 MP_WriteMcuAccessRegWord(sc, 0xF998, 0xF004);
2501 MP_WriteMcuAccessRegWord(sc, 0xF99A, 0x7562);
2502 MP_WriteMcuAccessRegWord(sc, 0xF99C, 0x485E);
2503 MP_WriteMcuAccessRegWord(sc, 0xF99E, 0x9563);
2504 MP_WriteMcuAccessRegWord(sc, 0xF9A0, 0x7446);
2505 MP_WriteMcuAccessRegWord(sc, 0xF9A2, 0x49C3);
2506 MP_WriteMcuAccessRegWord(sc, 0xF9A4, 0xF106);
2507 MP_WriteMcuAccessRegWord(sc, 0xF9A6, 0x7562);
2508 MP_WriteMcuAccessRegWord(sc, 0xF9A8, 0x1C30);
2509 MP_WriteMcuAccessRegWord(sc, 0xF9AA, 0x46E5);
2510 MP_WriteMcuAccessRegWord(sc, 0xF9AC, 0x1200);
2511 MP_WriteMcuAccessRegWord(sc, 0xF9AE, 0xF004);
2512 MP_WriteMcuAccessRegWord(sc, 0xF9B0, 0x7446);
2513 MP_WriteMcuAccessRegWord(sc, 0xF9B2, 0x484F);
2514 MP_WriteMcuAccessRegWord(sc, 0xF9B4, 0x9447);
2515 MP_WriteMcuAccessRegWord(sc, 0xF9B6, 0xC32A);
2516 MP_WriteMcuAccessRegWord(sc, 0xF9B8, 0x7466);
2517 MP_WriteMcuAccessRegWord(sc, 0xF9BA, 0x49C0);
2518 MP_WriteMcuAccessRegWord(sc, 0xF9BC, 0xF00F);
2519 MP_WriteMcuAccessRegWord(sc, 0xF9BE, 0x48C0);
2520 MP_WriteMcuAccessRegWord(sc, 0xF9C0, 0x9C66);
2521 MP_WriteMcuAccessRegWord(sc, 0xF9C2, 0x7446);
2522 MP_WriteMcuAccessRegWord(sc, 0xF9C4, 0x4840);
2523 MP_WriteMcuAccessRegWord(sc, 0xF9C6, 0x4841);
2524 MP_WriteMcuAccessRegWord(sc, 0xF9C8, 0x4842);
2525 MP_WriteMcuAccessRegWord(sc, 0xF9CA, 0x9C46);
2526 MP_WriteMcuAccessRegWord(sc, 0xF9CC, 0x744C);
2527 MP_WriteMcuAccessRegWord(sc, 0xF9CE, 0x4840);
2528 MP_WriteMcuAccessRegWord(sc, 0xF9D0, 0x9C4C);
2529 MP_WriteMcuAccessRegWord(sc, 0xF9D2, 0x744A);
2530 MP_WriteMcuAccessRegWord(sc, 0xF9D4, 0x484A);
2531 MP_WriteMcuAccessRegWord(sc, 0xF9D6, 0x9C4A);
2532 MP_WriteMcuAccessRegWord(sc, 0xF9D8, 0xE013);
2533 MP_WriteMcuAccessRegWord(sc, 0xF9DA, 0x498E);
2534 MP_WriteMcuAccessRegWord(sc, 0xF9DC, 0xF011);
2535 MP_WriteMcuAccessRegWord(sc, 0xF9DE, 0x488E);
2536 MP_WriteMcuAccessRegWord(sc, 0xF9E0, 0x9061);
2537 MP_WriteMcuAccessRegWord(sc, 0xF9E2, 0x744C);
2538 MP_WriteMcuAccessRegWord(sc, 0xF9E4, 0x49C3);
2539 MP_WriteMcuAccessRegWord(sc, 0xF9E6, 0xF004);
2540 MP_WriteMcuAccessRegWord(sc, 0xF9E8, 0x7446);
2541 MP_WriteMcuAccessRegWord(sc, 0xF9EA, 0x484E);
2542 MP_WriteMcuAccessRegWord(sc, 0xF9EC, 0x9447);
2543 MP_WriteMcuAccessRegWord(sc, 0xF9EE, 0x7446);
2544 MP_WriteMcuAccessRegWord(sc, 0xF9F0, 0x1D38);
2545 MP_WriteMcuAccessRegWord(sc, 0xF9F2, 0x46EC);
2546 MP_WriteMcuAccessRegWord(sc, 0xF9F4, 0x1500);
2547 MP_WriteMcuAccessRegWord(sc, 0xF9F6, 0xF004);
2548 MP_WriteMcuAccessRegWord(sc, 0xF9F8, 0x7446);
2549 MP_WriteMcuAccessRegWord(sc, 0xF9FA, 0x484F);
2550 MP_WriteMcuAccessRegWord(sc, 0xF9FC, 0x9447);
2551 MP_WriteMcuAccessRegWord(sc, 0xF9FE, 0xB000);
2552 MP_WriteMcuAccessRegWord(sc, 0xFA00, 0xC502);
2553 MP_WriteMcuAccessRegWord(sc, 0xFA02, 0xBD00);
2554 MP_WriteMcuAccessRegWord(sc, 0xFA04, 0x074C);
2555 MP_WriteMcuAccessRegWord(sc, 0xFA06, 0xE000);
2556 MP_WriteMcuAccessRegWord(sc, 0xFA08, 0xE0FC);
2557 MP_WriteMcuAccessRegWord(sc, 0xFA0A, 0xE0C0);
2558 MP_WriteMcuAccessRegWord(sc, 0xFA0C, 0x4830);
2559 MP_WriteMcuAccessRegWord(sc, 0xFA0E, 0x4837);
2560 MP_WriteMcuAccessRegWord(sc, 0xFA10, 0xC502);
2561 MP_WriteMcuAccessRegWord(sc, 0xFA12, 0xBD00);
2562 MP_WriteMcuAccessRegWord(sc, 0xFA14, 0x0978);
2563 MP_WriteMcuAccessRegWord(sc, 0xFA16, 0x63E2);
2564 MP_WriteMcuAccessRegWord(sc, 0xFA18, 0x4830);
2565 MP_WriteMcuAccessRegWord(sc, 0xFA1A, 0x4837);
2566 MP_WriteMcuAccessRegWord(sc, 0xFA1C, 0xC502);
2567 MP_WriteMcuAccessRegWord(sc, 0xFA1E, 0xBD00);
2568 MP_WriteMcuAccessRegWord(sc, 0xFA20, 0x09FE);
2569 MP_WriteMcuAccessRegWord(sc, 0xFA22, 0x73E2);
2570 MP_WriteMcuAccessRegWord(sc, 0xFA24, 0x4830);
2571 MP_WriteMcuAccessRegWord(sc, 0xFA26, 0x8BE2);
2572 MP_WriteMcuAccessRegWord(sc, 0xFA28, 0xC302);
2573 MP_WriteMcuAccessRegWord(sc, 0xFA2A, 0xBB00);
2574 MP_WriteMcuAccessRegWord(sc, 0xFA2C, 0x0A12);
2575 MP_WriteMcuAccessRegWord(sc, 0xFA2E, 0x73E2);
2576 MP_WriteMcuAccessRegWord(sc, 0xFA30, 0x48B0);
2577 MP_WriteMcuAccessRegWord(sc, 0xFA32, 0x48B3);
2578 MP_WriteMcuAccessRegWord(sc, 0xFA34, 0x48B4);
2579 MP_WriteMcuAccessRegWord(sc, 0xFA36, 0x48B5);
2580 MP_WriteMcuAccessRegWord(sc, 0xFA38, 0x48B6);
2581 MP_WriteMcuAccessRegWord(sc, 0xFA3A, 0x48B7);
2582 MP_WriteMcuAccessRegWord(sc, 0xFA3C, 0x8BE2);
2583 MP_WriteMcuAccessRegWord(sc, 0xFA3E, 0xC302);
2584 MP_WriteMcuAccessRegWord(sc, 0xFA40, 0xBB00);
2585 MP_WriteMcuAccessRegWord(sc, 0xFA42, 0x0A5A);
2586 MP_WriteMcuAccessRegWord(sc, 0xFA44, 0x73E2);
2587 MP_WriteMcuAccessRegWord(sc, 0xFA46, 0x4830);
2588 MP_WriteMcuAccessRegWord(sc, 0xFA48, 0x8BE2);
2589 MP_WriteMcuAccessRegWord(sc, 0xFA4A, 0xC302);
2590 MP_WriteMcuAccessRegWord(sc, 0xFA4C, 0xBB00);
2591 MP_WriteMcuAccessRegWord(sc, 0xFA4E, 0x0A6C);
2592 MP_WriteMcuAccessRegWord(sc, 0xFA50, 0x73E2);
2593 MP_WriteMcuAccessRegWord(sc, 0xFA52, 0x4830);
2594 MP_WriteMcuAccessRegWord(sc, 0xFA54, 0x4837);
2595 MP_WriteMcuAccessRegWord(sc, 0xFA56, 0xC502);
2596 MP_WriteMcuAccessRegWord(sc, 0xFA58, 0xBD00);
2597 MP_WriteMcuAccessRegWord(sc, 0xFA5A, 0x0A86);
2599 MP_WriteMcuAccessRegWord(sc, 0xFC26, 0x8000);
2601 MP_WriteMcuAccessRegWord(sc, 0xFC28, 0x0890);
2602 MP_WriteMcuAccessRegWord(sc, 0xFC2A, 0x0712);
2603 MP_WriteMcuAccessRegWord(sc, 0xFC2C, 0x0974);
2604 MP_WriteMcuAccessRegWord(sc, 0xFC2E, 0x09FC);
2605 MP_WriteMcuAccessRegWord(sc, 0xFC30, 0x0A0E);
2606 MP_WriteMcuAccessRegWord(sc, 0xFC32, 0x0A56);
2607 MP_WriteMcuAccessRegWord(sc, 0xFC34, 0x0A68);
2608 MP_WriteMcuAccessRegWord(sc, 0xFC36, 0x0A84);
2610 if (sc->HwPkgDet == 0x0)
2611 MP_WriteMcuAccessRegWord(sc, 0xFC38, 0x00FC);
2612 else if(sc->HwPkgDet == 0xF)
2613 MP_WriteMcuAccessRegWord(sc, 0xFC38, 0x00FF);
2616 static void re_set_mac_mcu_8168fp_2(struct re_softc *sc)
2620 MP_WriteMcuAccessRegWord(sc, 0xF800, 0xE008);
2621 MP_WriteMcuAccessRegWord(sc, 0xF802, 0xE00A);
2622 MP_WriteMcuAccessRegWord(sc, 0xF804, 0xE031);
2623 MP_WriteMcuAccessRegWord(sc, 0xF806, 0xE033);
2624 MP_WriteMcuAccessRegWord(sc, 0xF808, 0xE035);
2625 MP_WriteMcuAccessRegWord(sc, 0xF80A, 0xE144);
2626 MP_WriteMcuAccessRegWord(sc, 0xF80C, 0xE166);
2627 MP_WriteMcuAccessRegWord(sc, 0xF80E, 0xE168);
2628 MP_WriteMcuAccessRegWord(sc, 0xF810, 0xC502);
2629 MP_WriteMcuAccessRegWord(sc, 0xF812, 0xBD00);
2630 MP_WriteMcuAccessRegWord(sc, 0xF814, 0x0000);
2631 MP_WriteMcuAccessRegWord(sc, 0xF816, 0xC725);
2632 MP_WriteMcuAccessRegWord(sc, 0xF818, 0x75E0);
2633 MP_WriteMcuAccessRegWord(sc, 0xF81A, 0x48D0);
2634 MP_WriteMcuAccessRegWord(sc, 0xF81C, 0x9DE0);
2635 MP_WriteMcuAccessRegWord(sc, 0xF81E, 0xC722);
2636 MP_WriteMcuAccessRegWord(sc, 0xF820, 0x75E0);
2637 MP_WriteMcuAccessRegWord(sc, 0xF822, 0x1C78);
2638 MP_WriteMcuAccessRegWord(sc, 0xF824, 0x416C);
2639 MP_WriteMcuAccessRegWord(sc, 0xF826, 0x1530);
2640 MP_WriteMcuAccessRegWord(sc, 0xF828, 0xF111);
2641 MP_WriteMcuAccessRegWord(sc, 0xF82A, 0xC71D);
2642 MP_WriteMcuAccessRegWord(sc, 0xF82C, 0x75F6);
2643 MP_WriteMcuAccessRegWord(sc, 0xF82E, 0x49D1);
2644 MP_WriteMcuAccessRegWord(sc, 0xF830, 0xF00D);
2645 MP_WriteMcuAccessRegWord(sc, 0xF832, 0x75E0);
2646 MP_WriteMcuAccessRegWord(sc, 0xF834, 0x1C1F);
2647 MP_WriteMcuAccessRegWord(sc, 0xF836, 0x416C);
2648 MP_WriteMcuAccessRegWord(sc, 0xF838, 0x1502);
2649 MP_WriteMcuAccessRegWord(sc, 0xF83A, 0xF108);
2650 MP_WriteMcuAccessRegWord(sc, 0xF83C, 0x75FA);
2651 MP_WriteMcuAccessRegWord(sc, 0xF83E, 0x49D3);
2652 MP_WriteMcuAccessRegWord(sc, 0xF840, 0xF005);
2653 MP_WriteMcuAccessRegWord(sc, 0xF842, 0x75EC);
2654 MP_WriteMcuAccessRegWord(sc, 0xF844, 0x9DE4);
2655 MP_WriteMcuAccessRegWord(sc, 0xF846, 0x4853);
2656 MP_WriteMcuAccessRegWord(sc, 0xF848, 0x9DFA);
2657 MP_WriteMcuAccessRegWord(sc, 0xF84A, 0xC70B);
2658 MP_WriteMcuAccessRegWord(sc, 0xF84C, 0x75E0);
2659 MP_WriteMcuAccessRegWord(sc, 0xF84E, 0x4852);
2660 MP_WriteMcuAccessRegWord(sc, 0xF850, 0x4850);
2661 MP_WriteMcuAccessRegWord(sc, 0xF852, 0x9DE0);
2662 MP_WriteMcuAccessRegWord(sc, 0xF854, 0xC602);
2663 MP_WriteMcuAccessRegWord(sc, 0xF856, 0xBE00);
2664 MP_WriteMcuAccessRegWord(sc, 0xF858, 0x04B8);
2665 MP_WriteMcuAccessRegWord(sc, 0xF85A, 0xE420);
2666 MP_WriteMcuAccessRegWord(sc, 0xF85C, 0xE000);
2667 MP_WriteMcuAccessRegWord(sc, 0xF85E, 0xE0FC);
2668 MP_WriteMcuAccessRegWord(sc, 0xF860, 0xE43C);
2669 MP_WriteMcuAccessRegWord(sc, 0xF862, 0xDC00);
2670 MP_WriteMcuAccessRegWord(sc, 0xF864, 0xEB00);
2671 MP_WriteMcuAccessRegWord(sc, 0xF866, 0xC202);
2672 MP_WriteMcuAccessRegWord(sc, 0xF868, 0xBA00);
2673 MP_WriteMcuAccessRegWord(sc, 0xF86A, 0x0000);
2674 MP_WriteMcuAccessRegWord(sc, 0xF86C, 0xC002);
2675 MP_WriteMcuAccessRegWord(sc, 0xF86E, 0xB800);
2676 MP_WriteMcuAccessRegWord(sc, 0xF870, 0x0000);
2677 MP_WriteMcuAccessRegWord(sc, 0xF872, 0xB401);
2678 MP_WriteMcuAccessRegWord(sc, 0xF874, 0xB402);
2679 MP_WriteMcuAccessRegWord(sc, 0xF876, 0xB403);
2680 MP_WriteMcuAccessRegWord(sc, 0xF878, 0xB404);
2681 MP_WriteMcuAccessRegWord(sc, 0xF87A, 0xB405);
2682 MP_WriteMcuAccessRegWord(sc, 0xF87C, 0xB406);
2683 MP_WriteMcuAccessRegWord(sc, 0xF87E, 0xC44D);
2684 MP_WriteMcuAccessRegWord(sc, 0xF880, 0xC54D);
2685 MP_WriteMcuAccessRegWord(sc, 0xF882, 0x1867);
2686 MP_WriteMcuAccessRegWord(sc, 0xF884, 0xE8A2);
2687 MP_WriteMcuAccessRegWord(sc, 0xF886, 0x2318);
2688 MP_WriteMcuAccessRegWord(sc, 0xF888, 0x276E);
2689 MP_WriteMcuAccessRegWord(sc, 0xF88A, 0x1601);
2690 MP_WriteMcuAccessRegWord(sc, 0xF88C, 0xF106);
2691 MP_WriteMcuAccessRegWord(sc, 0xF88E, 0x1A07);
2692 MP_WriteMcuAccessRegWord(sc, 0xF890, 0xE861);
2693 MP_WriteMcuAccessRegWord(sc, 0xF892, 0xE86B);
2694 MP_WriteMcuAccessRegWord(sc, 0xF894, 0xE873);
2695 MP_WriteMcuAccessRegWord(sc, 0xF896, 0xE037);
2696 MP_WriteMcuAccessRegWord(sc, 0xF898, 0x231E);
2697 MP_WriteMcuAccessRegWord(sc, 0xF89A, 0x276E);
2698 MP_WriteMcuAccessRegWord(sc, 0xF89C, 0x1602);
2699 MP_WriteMcuAccessRegWord(sc, 0xF89E, 0xF10B);
2700 MP_WriteMcuAccessRegWord(sc, 0xF8A0, 0x1A07);
2701 MP_WriteMcuAccessRegWord(sc, 0xF8A2, 0xE858);
2702 MP_WriteMcuAccessRegWord(sc, 0xF8A4, 0xE862);
2703 MP_WriteMcuAccessRegWord(sc, 0xF8A6, 0xC247);
2704 MP_WriteMcuAccessRegWord(sc, 0xF8A8, 0xC344);
2705 MP_WriteMcuAccessRegWord(sc, 0xF8AA, 0xE8E3);
2706 MP_WriteMcuAccessRegWord(sc, 0xF8AC, 0xC73B);
2707 MP_WriteMcuAccessRegWord(sc, 0xF8AE, 0x66E0);
2708 MP_WriteMcuAccessRegWord(sc, 0xF8B0, 0xE8B5);
2709 MP_WriteMcuAccessRegWord(sc, 0xF8B2, 0xE029);
2710 MP_WriteMcuAccessRegWord(sc, 0xF8B4, 0x231A);
2711 MP_WriteMcuAccessRegWord(sc, 0xF8B6, 0x276C);
2712 MP_WriteMcuAccessRegWord(sc, 0xF8B8, 0xC733);
2713 MP_WriteMcuAccessRegWord(sc, 0xF8BA, 0x9EE0);
2714 MP_WriteMcuAccessRegWord(sc, 0xF8BC, 0x1866);
2715 MP_WriteMcuAccessRegWord(sc, 0xF8BE, 0xE885);
2716 MP_WriteMcuAccessRegWord(sc, 0xF8C0, 0x251C);
2717 MP_WriteMcuAccessRegWord(sc, 0xF8C2, 0x120F);
2718 MP_WriteMcuAccessRegWord(sc, 0xF8C4, 0xF011);
2719 MP_WriteMcuAccessRegWord(sc, 0xF8C6, 0x1209);
2720 MP_WriteMcuAccessRegWord(sc, 0xF8C8, 0xF011);
2721 MP_WriteMcuAccessRegWord(sc, 0xF8CA, 0x2014);
2722 MP_WriteMcuAccessRegWord(sc, 0xF8CC, 0x240E);
2723 MP_WriteMcuAccessRegWord(sc, 0xF8CE, 0x1000);
2724 MP_WriteMcuAccessRegWord(sc, 0xF8D0, 0xF007);
2725 MP_WriteMcuAccessRegWord(sc, 0xF8D2, 0x120C);
2726 MP_WriteMcuAccessRegWord(sc, 0xF8D4, 0xF00D);
2727 MP_WriteMcuAccessRegWord(sc, 0xF8D6, 0x1203);
2728 MP_WriteMcuAccessRegWord(sc, 0xF8D8, 0xF00D);
2729 MP_WriteMcuAccessRegWord(sc, 0xF8DA, 0x1200);
2730 MP_WriteMcuAccessRegWord(sc, 0xF8DC, 0xF00D);
2731 MP_WriteMcuAccessRegWord(sc, 0xF8DE, 0x120C);
2732 MP_WriteMcuAccessRegWord(sc, 0xF8E0, 0xF00D);
2733 MP_WriteMcuAccessRegWord(sc, 0xF8E2, 0x1203);
2734 MP_WriteMcuAccessRegWord(sc, 0xF8E4, 0xF00D);
2735 MP_WriteMcuAccessRegWord(sc, 0xF8E6, 0x1A03);
2736 MP_WriteMcuAccessRegWord(sc, 0xF8E8, 0xE00C);
2737 MP_WriteMcuAccessRegWord(sc, 0xF8EA, 0x1A07);
2738 MP_WriteMcuAccessRegWord(sc, 0xF8EC, 0xE00A);
2739 MP_WriteMcuAccessRegWord(sc, 0xF8EE, 0x1A00);
2740 MP_WriteMcuAccessRegWord(sc, 0xF8F0, 0xE008);
2741 MP_WriteMcuAccessRegWord(sc, 0xF8F2, 0x1A01);
2742 MP_WriteMcuAccessRegWord(sc, 0xF8F4, 0xE006);
2743 MP_WriteMcuAccessRegWord(sc, 0xF8F6, 0x1A02);
2744 MP_WriteMcuAccessRegWord(sc, 0xF8F8, 0xE004);
2745 MP_WriteMcuAccessRegWord(sc, 0xF8FA, 0x1A04);
2746 MP_WriteMcuAccessRegWord(sc, 0xF8FC, 0xE002);
2747 MP_WriteMcuAccessRegWord(sc, 0xF8FE, 0x1A05);
2748 MP_WriteMcuAccessRegWord(sc, 0xF900, 0xE829);
2749 MP_WriteMcuAccessRegWord(sc, 0xF902, 0xE833);
2750 MP_WriteMcuAccessRegWord(sc, 0xF904, 0xB006);
2751 MP_WriteMcuAccessRegWord(sc, 0xF906, 0xB005);
2752 MP_WriteMcuAccessRegWord(sc, 0xF908, 0xB004);
2753 MP_WriteMcuAccessRegWord(sc, 0xF90A, 0xB003);
2754 MP_WriteMcuAccessRegWord(sc, 0xF90C, 0xB002);
2755 MP_WriteMcuAccessRegWord(sc, 0xF90E, 0xB001);
2756 MP_WriteMcuAccessRegWord(sc, 0xF910, 0x60C4);
2757 MP_WriteMcuAccessRegWord(sc, 0xF912, 0xC702);
2758 MP_WriteMcuAccessRegWord(sc, 0xF914, 0xBF00);
2759 MP_WriteMcuAccessRegWord(sc, 0xF916, 0x2786);
2760 MP_WriteMcuAccessRegWord(sc, 0xF918, 0xDD00);
2761 MP_WriteMcuAccessRegWord(sc, 0xF91A, 0xD030);
2762 MP_WriteMcuAccessRegWord(sc, 0xF91C, 0xE0C4);
2763 MP_WriteMcuAccessRegWord(sc, 0xF91E, 0xE0F8);
2764 MP_WriteMcuAccessRegWord(sc, 0xF920, 0xDC42);
2765 MP_WriteMcuAccessRegWord(sc, 0xF922, 0xD3F0);
2766 MP_WriteMcuAccessRegWord(sc, 0xF924, 0x0000);
2767 MP_WriteMcuAccessRegWord(sc, 0xF926, 0x0004);
2768 MP_WriteMcuAccessRegWord(sc, 0xF928, 0x0007);
2769 MP_WriteMcuAccessRegWord(sc, 0xF92A, 0x0014);
2770 MP_WriteMcuAccessRegWord(sc, 0xF92C, 0x0090);
2771 MP_WriteMcuAccessRegWord(sc, 0xF92E, 0x1000);
2772 MP_WriteMcuAccessRegWord(sc, 0xF930, 0x0F00);
2773 MP_WriteMcuAccessRegWord(sc, 0xF932, 0x1004);
2774 MP_WriteMcuAccessRegWord(sc, 0xF934, 0x1008);
2775 MP_WriteMcuAccessRegWord(sc, 0xF936, 0x3000);
2776 MP_WriteMcuAccessRegWord(sc, 0xF938, 0x3004);
2777 MP_WriteMcuAccessRegWord(sc, 0xF93A, 0x3008);
2778 MP_WriteMcuAccessRegWord(sc, 0xF93C, 0x4000);
2779 MP_WriteMcuAccessRegWord(sc, 0xF93E, 0x7777);
2780 MP_WriteMcuAccessRegWord(sc, 0xF940, 0x8000);
2781 MP_WriteMcuAccessRegWord(sc, 0xF942, 0x8001);
2782 MP_WriteMcuAccessRegWord(sc, 0xF944, 0x8008);
2783 MP_WriteMcuAccessRegWord(sc, 0xF946, 0x8003);
2784 MP_WriteMcuAccessRegWord(sc, 0xF948, 0x8004);
2785 MP_WriteMcuAccessRegWord(sc, 0xF94A, 0xC000);
2786 MP_WriteMcuAccessRegWord(sc, 0xF94C, 0xC004);
2787 MP_WriteMcuAccessRegWord(sc, 0xF94E, 0xF004);
2788 MP_WriteMcuAccessRegWord(sc, 0xF950, 0xFFFF);
2789 MP_WriteMcuAccessRegWord(sc, 0xF952, 0xB406);
2790 MP_WriteMcuAccessRegWord(sc, 0xF954, 0xB407);
2791 MP_WriteMcuAccessRegWord(sc, 0xF956, 0xC6E5);
2792 MP_WriteMcuAccessRegWord(sc, 0xF958, 0x77C0);
2793 MP_WriteMcuAccessRegWord(sc, 0xF95A, 0x27F3);
2794 MP_WriteMcuAccessRegWord(sc, 0xF95C, 0x23F3);
2795 MP_WriteMcuAccessRegWord(sc, 0xF95E, 0x47FA);
2796 MP_WriteMcuAccessRegWord(sc, 0xF960, 0x9FC0);
2797 MP_WriteMcuAccessRegWord(sc, 0xF962, 0xB007);
2798 MP_WriteMcuAccessRegWord(sc, 0xF964, 0xB006);
2799 MP_WriteMcuAccessRegWord(sc, 0xF966, 0xFF80);
2800 MP_WriteMcuAccessRegWord(sc, 0xF968, 0xB405);
2801 MP_WriteMcuAccessRegWord(sc, 0xF96A, 0xB407);
2802 MP_WriteMcuAccessRegWord(sc, 0xF96C, 0xC7D8);
2803 MP_WriteMcuAccessRegWord(sc, 0xF96E, 0x75E0);
2804 MP_WriteMcuAccessRegWord(sc, 0xF970, 0x48D0);
2805 MP_WriteMcuAccessRegWord(sc, 0xF972, 0x9DE0);
2806 MP_WriteMcuAccessRegWord(sc, 0xF974, 0xB007);
2807 MP_WriteMcuAccessRegWord(sc, 0xF976, 0xB005);
2808 MP_WriteMcuAccessRegWord(sc, 0xF978, 0xFF80);
2809 MP_WriteMcuAccessRegWord(sc, 0xF97A, 0xB401);
2810 MP_WriteMcuAccessRegWord(sc, 0xF97C, 0xC0EA);
2811 MP_WriteMcuAccessRegWord(sc, 0xF97E, 0xC2DC);
2812 MP_WriteMcuAccessRegWord(sc, 0xF980, 0xC3D8);
2813 MP_WriteMcuAccessRegWord(sc, 0xF982, 0xE865);
2814 MP_WriteMcuAccessRegWord(sc, 0xF984, 0xC0D3);
2815 MP_WriteMcuAccessRegWord(sc, 0xF986, 0xC1E0);
2816 MP_WriteMcuAccessRegWord(sc, 0xF988, 0xC2E3);
2817 MP_WriteMcuAccessRegWord(sc, 0xF98A, 0xE861);
2818 MP_WriteMcuAccessRegWord(sc, 0xF98C, 0xE817);
2819 MP_WriteMcuAccessRegWord(sc, 0xF98E, 0xC0CD);
2820 MP_WriteMcuAccessRegWord(sc, 0xF990, 0xC2CF);
2821 MP_WriteMcuAccessRegWord(sc, 0xF992, 0xE85D);
2822 MP_WriteMcuAccessRegWord(sc, 0xF994, 0xC0C9);
2823 MP_WriteMcuAccessRegWord(sc, 0xF996, 0xC1D6);
2824 MP_WriteMcuAccessRegWord(sc, 0xF998, 0xC2DB);
2825 MP_WriteMcuAccessRegWord(sc, 0xF99A, 0xE859);
2826 MP_WriteMcuAccessRegWord(sc, 0xF99C, 0xE80F);
2827 MP_WriteMcuAccessRegWord(sc, 0xF99E, 0xC1C7);
2828 MP_WriteMcuAccessRegWord(sc, 0xF9A0, 0xC2CE);
2829 MP_WriteMcuAccessRegWord(sc, 0xF9A2, 0xE855);
2830 MP_WriteMcuAccessRegWord(sc, 0xF9A4, 0xC0C0);
2831 MP_WriteMcuAccessRegWord(sc, 0xF9A6, 0xC1D1);
2832 MP_WriteMcuAccessRegWord(sc, 0xF9A8, 0xC2D3);
2833 MP_WriteMcuAccessRegWord(sc, 0xF9AA, 0xE851);
2834 MP_WriteMcuAccessRegWord(sc, 0xF9AC, 0xE807);
2835 MP_WriteMcuAccessRegWord(sc, 0xF9AE, 0xC0BE);
2836 MP_WriteMcuAccessRegWord(sc, 0xF9B0, 0xC2C2);
2837 MP_WriteMcuAccessRegWord(sc, 0xF9B2, 0xE84D);
2838 MP_WriteMcuAccessRegWord(sc, 0xF9B4, 0xE803);
2839 MP_WriteMcuAccessRegWord(sc, 0xF9B6, 0xB001);
2840 MP_WriteMcuAccessRegWord(sc, 0xF9B8, 0xFF80);
2841 MP_WriteMcuAccessRegWord(sc, 0xF9BA, 0xB402);
2842 MP_WriteMcuAccessRegWord(sc, 0xF9BC, 0xC2C6);
2843 MP_WriteMcuAccessRegWord(sc, 0xF9BE, 0xE859);
2844 MP_WriteMcuAccessRegWord(sc, 0xF9C0, 0x499F);
2845 MP_WriteMcuAccessRegWord(sc, 0xF9C2, 0xF1FE);
2846 MP_WriteMcuAccessRegWord(sc, 0xF9C4, 0xB002);
2847 MP_WriteMcuAccessRegWord(sc, 0xF9C6, 0xFF80);
2848 MP_WriteMcuAccessRegWord(sc, 0xF9C8, 0xB402);
2849 MP_WriteMcuAccessRegWord(sc, 0xF9CA, 0xB403);
2850 MP_WriteMcuAccessRegWord(sc, 0xF9CC, 0xB407);
2851 MP_WriteMcuAccessRegWord(sc, 0xF9CE, 0xE821);
2852 MP_WriteMcuAccessRegWord(sc, 0xF9D0, 0x8882);
2853 MP_WriteMcuAccessRegWord(sc, 0xF9D2, 0x1980);
2854 MP_WriteMcuAccessRegWord(sc, 0xF9D4, 0x8983);
2855 MP_WriteMcuAccessRegWord(sc, 0xF9D6, 0xE81D);
2856 MP_WriteMcuAccessRegWord(sc, 0xF9D8, 0x7180);
2857 MP_WriteMcuAccessRegWord(sc, 0xF9DA, 0x218B);
2858 MP_WriteMcuAccessRegWord(sc, 0xF9DC, 0x25BB);
2859 MP_WriteMcuAccessRegWord(sc, 0xF9DE, 0x1310);
2860 MP_WriteMcuAccessRegWord(sc, 0xF9E0, 0xF014);
2861 MP_WriteMcuAccessRegWord(sc, 0xF9E2, 0x1310);
2862 MP_WriteMcuAccessRegWord(sc, 0xF9E4, 0xFB03);
2863 MP_WriteMcuAccessRegWord(sc, 0xF9E6, 0x1F20);
2864 MP_WriteMcuAccessRegWord(sc, 0xF9E8, 0x38FB);
2865 MP_WriteMcuAccessRegWord(sc, 0xF9EA, 0x3288);
2866 MP_WriteMcuAccessRegWord(sc, 0xF9EC, 0x434B);
2867 MP_WriteMcuAccessRegWord(sc, 0xF9EE, 0x2491);
2868 MP_WriteMcuAccessRegWord(sc, 0xF9F0, 0x430B);
2869 MP_WriteMcuAccessRegWord(sc, 0xF9F2, 0x1F0F);
2870 MP_WriteMcuAccessRegWord(sc, 0xF9F4, 0x38FB);
2871 MP_WriteMcuAccessRegWord(sc, 0xF9F6, 0x4313);
2872 MP_WriteMcuAccessRegWord(sc, 0xF9F8, 0x2121);
2873 MP_WriteMcuAccessRegWord(sc, 0xF9FA, 0x4353);
2874 MP_WriteMcuAccessRegWord(sc, 0xF9FC, 0x2521);
2875 MP_WriteMcuAccessRegWord(sc, 0xF9FE, 0x418A);
2876 MP_WriteMcuAccessRegWord(sc, 0xFA00, 0x6282);
2877 MP_WriteMcuAccessRegWord(sc, 0xFA02, 0x2527);
2878 MP_WriteMcuAccessRegWord(sc, 0xFA04, 0x212F);
2879 MP_WriteMcuAccessRegWord(sc, 0xFA06, 0x418A);
2880 MP_WriteMcuAccessRegWord(sc, 0xFA08, 0xB007);
2881 MP_WriteMcuAccessRegWord(sc, 0xFA0A, 0xB003);
2882 MP_WriteMcuAccessRegWord(sc, 0xFA0C, 0xB002);
2883 MP_WriteMcuAccessRegWord(sc, 0xFA0E, 0xFF80);
2884 MP_WriteMcuAccessRegWord(sc, 0xFA10, 0x6183);
2885 MP_WriteMcuAccessRegWord(sc, 0xFA12, 0x2496);
2886 MP_WriteMcuAccessRegWord(sc, 0xFA14, 0x1100);
2887 MP_WriteMcuAccessRegWord(sc, 0xFA16, 0xF1FD);
2888 MP_WriteMcuAccessRegWord(sc, 0xFA18, 0xFF80);
2889 MP_WriteMcuAccessRegWord(sc, 0xFA1A, 0x4800);
2890 MP_WriteMcuAccessRegWord(sc, 0xFA1C, 0x4801);
2891 MP_WriteMcuAccessRegWord(sc, 0xFA1E, 0xC213);
2892 MP_WriteMcuAccessRegWord(sc, 0xFA20, 0xC313);
2893 MP_WriteMcuAccessRegWord(sc, 0xFA22, 0xE815);
2894 MP_WriteMcuAccessRegWord(sc, 0xFA24, 0x4860);
2895 MP_WriteMcuAccessRegWord(sc, 0xFA26, 0x8EE0);
2896 MP_WriteMcuAccessRegWord(sc, 0xFA28, 0xC210);
2897 MP_WriteMcuAccessRegWord(sc, 0xFA2A, 0xC310);
2898 MP_WriteMcuAccessRegWord(sc, 0xFA2C, 0xE822);
2899 MP_WriteMcuAccessRegWord(sc, 0xFA2E, 0x481E);
2900 MP_WriteMcuAccessRegWord(sc, 0xFA30, 0xC20C);
2901 MP_WriteMcuAccessRegWord(sc, 0xFA32, 0xC30C);
2902 MP_WriteMcuAccessRegWord(sc, 0xFA34, 0xE80C);
2903 MP_WriteMcuAccessRegWord(sc, 0xFA36, 0xC206);
2904 MP_WriteMcuAccessRegWord(sc, 0xFA38, 0x7358);
2905 MP_WriteMcuAccessRegWord(sc, 0xFA3A, 0x483A);
2906 MP_WriteMcuAccessRegWord(sc, 0xFA3C, 0x9B58);
2907 MP_WriteMcuAccessRegWord(sc, 0xFA3E, 0xFF80);
2908 MP_WriteMcuAccessRegWord(sc, 0xFA40, 0xE8E0);
2909 MP_WriteMcuAccessRegWord(sc, 0xFA42, 0xE000);
2910 MP_WriteMcuAccessRegWord(sc, 0xFA44, 0x1008);
2911 MP_WriteMcuAccessRegWord(sc, 0xFA46, 0x0F00);
2912 MP_WriteMcuAccessRegWord(sc, 0xFA48, 0x800C);
2913 MP_WriteMcuAccessRegWord(sc, 0xFA4A, 0x0F00);
2914 MP_WriteMcuAccessRegWord(sc, 0xFA4C, 0xB407);
2915 MP_WriteMcuAccessRegWord(sc, 0xFA4E, 0xB406);
2916 MP_WriteMcuAccessRegWord(sc, 0xFA50, 0xB403);
2917 MP_WriteMcuAccessRegWord(sc, 0xFA52, 0xC7F7);
2918 MP_WriteMcuAccessRegWord(sc, 0xFA54, 0x98E0);
2919 MP_WriteMcuAccessRegWord(sc, 0xFA56, 0x99E2);
2920 MP_WriteMcuAccessRegWord(sc, 0xFA58, 0x9AE4);
2921 MP_WriteMcuAccessRegWord(sc, 0xFA5A, 0x21B2);
2922 MP_WriteMcuAccessRegWord(sc, 0xFA5C, 0x4831);
2923 MP_WriteMcuAccessRegWord(sc, 0xFA5E, 0x483F);
2924 MP_WriteMcuAccessRegWord(sc, 0xFA60, 0x9BE6);
2925 MP_WriteMcuAccessRegWord(sc, 0xFA62, 0x66E7);
2926 MP_WriteMcuAccessRegWord(sc, 0xFA64, 0x49E6);
2927 MP_WriteMcuAccessRegWord(sc, 0xFA66, 0xF1FE);
2928 MP_WriteMcuAccessRegWord(sc, 0xFA68, 0xB003);
2929 MP_WriteMcuAccessRegWord(sc, 0xFA6A, 0xB006);
2930 MP_WriteMcuAccessRegWord(sc, 0xFA6C, 0xB007);
2931 MP_WriteMcuAccessRegWord(sc, 0xFA6E, 0xFF80);
2932 MP_WriteMcuAccessRegWord(sc, 0xFA70, 0xB407);
2933 MP_WriteMcuAccessRegWord(sc, 0xFA72, 0xB406);
2934 MP_WriteMcuAccessRegWord(sc, 0xFA74, 0xB403);
2935 MP_WriteMcuAccessRegWord(sc, 0xFA76, 0xC7E5);
2936 MP_WriteMcuAccessRegWord(sc, 0xFA78, 0x9AE4);
2937 MP_WriteMcuAccessRegWord(sc, 0xFA7A, 0x21B2);
2938 MP_WriteMcuAccessRegWord(sc, 0xFA7C, 0x4831);
2939 MP_WriteMcuAccessRegWord(sc, 0xFA7E, 0x9BE6);
2940 MP_WriteMcuAccessRegWord(sc, 0xFA80, 0x66E7);
2941 MP_WriteMcuAccessRegWord(sc, 0xFA82, 0x49E6);
2942 MP_WriteMcuAccessRegWord(sc, 0xFA84, 0xF1FE);
2943 MP_WriteMcuAccessRegWord(sc, 0xFA86, 0x70E0);
2944 MP_WriteMcuAccessRegWord(sc, 0xFA88, 0x71E2);
2945 MP_WriteMcuAccessRegWord(sc, 0xFA8A, 0xB003);
2946 MP_WriteMcuAccessRegWord(sc, 0xFA8C, 0xB006);
2947 MP_WriteMcuAccessRegWord(sc, 0xFA8E, 0xB007);
2948 MP_WriteMcuAccessRegWord(sc, 0xFA90, 0xFF80);
2949 MP_WriteMcuAccessRegWord(sc, 0xFA92, 0x4882);
2950 MP_WriteMcuAccessRegWord(sc, 0xFA94, 0xB406);
2951 MP_WriteMcuAccessRegWord(sc, 0xFA96, 0xB405);
2952 MP_WriteMcuAccessRegWord(sc, 0xFA98, 0xC71E);
2953 MP_WriteMcuAccessRegWord(sc, 0xFA9A, 0x76E0);
2954 MP_WriteMcuAccessRegWord(sc, 0xFA9C, 0x1D78);
2955 MP_WriteMcuAccessRegWord(sc, 0xFA9E, 0x4175);
2956 MP_WriteMcuAccessRegWord(sc, 0xFAA0, 0x1630);
2957 MP_WriteMcuAccessRegWord(sc, 0xFAA2, 0xF10C);
2958 MP_WriteMcuAccessRegWord(sc, 0xFAA4, 0xC715);
2959 MP_WriteMcuAccessRegWord(sc, 0xFAA6, 0x76E0);
2960 MP_WriteMcuAccessRegWord(sc, 0xFAA8, 0x4861);
2961 MP_WriteMcuAccessRegWord(sc, 0xFAAA, 0x9EE0);
2962 MP_WriteMcuAccessRegWord(sc, 0xFAAC, 0xC713);
2963 MP_WriteMcuAccessRegWord(sc, 0xFAAE, 0x1EFF);
2964 MP_WriteMcuAccessRegWord(sc, 0xFAB0, 0x9EE2);
2965 MP_WriteMcuAccessRegWord(sc, 0xFAB2, 0x75E0);
2966 MP_WriteMcuAccessRegWord(sc, 0xFAB4, 0x4850);
2967 MP_WriteMcuAccessRegWord(sc, 0xFAB6, 0x9DE0);
2968 MP_WriteMcuAccessRegWord(sc, 0xFAB8, 0xE005);
2969 MP_WriteMcuAccessRegWord(sc, 0xFABA, 0xC70B);
2970 MP_WriteMcuAccessRegWord(sc, 0xFABC, 0x76E0);
2971 MP_WriteMcuAccessRegWord(sc, 0xFABE, 0x4865);
2972 MP_WriteMcuAccessRegWord(sc, 0xFAC0, 0x9EE0);
2973 MP_WriteMcuAccessRegWord(sc, 0xFAC2, 0xB005);
2974 MP_WriteMcuAccessRegWord(sc, 0xFAC4, 0xB006);
2975 MP_WriteMcuAccessRegWord(sc, 0xFAC6, 0xC708);
2976 MP_WriteMcuAccessRegWord(sc, 0xFAC8, 0xC102);
2977 MP_WriteMcuAccessRegWord(sc, 0xFACA, 0xB900);
2978 MP_WriteMcuAccessRegWord(sc, 0xFACC, 0x279E);
2979 MP_WriteMcuAccessRegWord(sc, 0xFACE, 0xEB16);
2980 MP_WriteMcuAccessRegWord(sc, 0xFAD0, 0xEB00);
2981 MP_WriteMcuAccessRegWord(sc, 0xFAD2, 0xE43C);
2982 MP_WriteMcuAccessRegWord(sc, 0xFAD4, 0xDC00);
2983 MP_WriteMcuAccessRegWord(sc, 0xFAD6, 0xD3EC);
2984 MP_WriteMcuAccessRegWord(sc, 0xFAD8, 0xC602);
2985 MP_WriteMcuAccessRegWord(sc, 0xFADA, 0xBE00);
2986 MP_WriteMcuAccessRegWord(sc, 0xFADC, 0x0000);
2987 MP_WriteMcuAccessRegWord(sc, 0xFADE, 0xC602);
2988 MP_WriteMcuAccessRegWord(sc, 0xFAE0, 0xBE00);
2989 MP_WriteMcuAccessRegWord(sc, 0xFAE2, 0x0000);
2991 MP_WriteMcuAccessRegWord(sc, 0xFC26, 0x8000);
2993 MP_WriteMcuAccessRegWord(sc, 0xFC28, 0x0000);
2994 MP_WriteMcuAccessRegWord(sc, 0xFC2A, 0x04B4);
2995 MP_WriteMcuAccessRegWord(sc, 0xFC2C, 0x0000);
2996 MP_WriteMcuAccessRegWord(sc, 0xFC2E, 0x0000);
2997 MP_WriteMcuAccessRegWord(sc, 0xFC30, 0x0000);
2998 MP_WriteMcuAccessRegWord(sc, 0xFC32, 0x279C);
2999 MP_WriteMcuAccessRegWord(sc, 0xFC34, 0x0000);
3000 MP_WriteMcuAccessRegWord(sc, 0xFC36, 0x0000);
3002 MP_WriteMcuAccessRegWord(sc, 0xFC38, 0x0022);
3005 static void re_hw_mac_mcu_config(struct re_softc *sc)
3007 switch(sc->re_type) {
3009 re_set_mac_mcu_8168g_1(sc);
3012 re_set_mac_mcu_8168gu_1(sc);
3015 re_set_mac_mcu_8168gu_2(sc);
3018 re_set_mac_mcu_8411b_1(sc);
3021 re_set_mac_mcu_8168ep_1(sc);
3024 re_set_mac_mcu_8168ep_2(sc);
3028 re_set_mac_mcu_8168h_1(sc);
3031 if (sc->HwPkgDet == 0x00 || sc->HwPkgDet == 0x0F)
3032 re_set_mac_mcu_8168fp_1(sc);
3033 else if (sc->HwPkgDet == 0x06)
3034 re_set_mac_mcu_8168fp_2(sc);
3042 #define ISRIMR_DASH_TYPE2_TX_DISABLE_IDLE BIT_5
3043 static void Dash2DisableTx(struct re_softc *sc)
3045 //if (!sc->re_dash) return;
3047 if (HW_DASH_SUPPORT_TYPE_2(sc) || HW_DASH_SUPPORT_TYPE_3(sc)) {
3052 RE_CMAC_WRITE_1(sc, RE_CMAC_IBCR2, RE_CMAC_READ_1(sc, RE_CMAC_IBCR2) & ~(BIT_0));
3055 //wait oob tx disable
3057 TmpUchar = RE_CMAC_READ_1(sc, RE_CMAC_IBISR0);
3059 if (TmpUchar & ISRIMR_DASH_TYPE2_TX_DISABLE_IDLE) {
3065 } while(WaitCnt < 2000);
3067 //Clear ISRIMR_DASH_TYPE2_TX_DISABLE_IDLE
3068 RE_CMAC_WRITE_1(sc, RE_CMAC_IBISR0, RE_CMAC_READ_1(sc, RE_CMAC_IBISR0) | ISRIMR_DASH_TYPE2_TX_DISABLE_IDLE);
3072 static void Dash2DisableRx(struct re_softc *sc)
3074 //if (!sc->re_dash) return;
3076 if (HW_DASH_SUPPORT_TYPE_2(sc) || HW_DASH_SUPPORT_TYPE_3(sc)) {
3077 RE_CMAC_WRITE_1(sc, RE_CMAC_IBCR0, RE_CMAC_READ_1(sc, RE_CMAC_IBCR0) & ~(BIT_0));
3081 static void Dash2DisableTxRx(struct re_softc *sc)
3083 if (HW_DASH_SUPPORT_TYPE_2(sc) || HW_DASH_SUPPORT_TYPE_3(sc)) {
3090 is_zero_ether_addr(const u_int8_t * addr)
3092 return ((addr[0] + addr[1] + addr[2] + addr[3] + addr[4] + addr[5]) == 0x00);
3096 is_multicast_ether_addr(const u_int8_t * addr)
3098 return (0x01 & addr[0]);
3103 is_broadcast_ether_addr(const u_int8_t * addr)
3105 return ((addr[0] + addr[1] + addr[2] + addr[3] + addr[4] + addr[5]) == (6 * 0xff));
3110 is_valid_ether_addr(const u_int8_t * addr)
3112 return !is_multicast_ether_addr(addr) && !is_zero_ether_addr(addr);
3116 random_ether_addr(u_int8_t * dst)
3118 #ifndef __DragonFly__
3119 if (read_random(dst, 6) == 0)
3120 arc4rand(dst, 6, 0);
3129 static void re_disable_now_is_oob(struct re_softc *sc)
3131 if (sc->re_hw_supp_now_is_oob_ver == 1)
3132 CSR_WRITE_1(sc, RE_MCU_CMD, CSR_READ_1(sc, RE_MCU_CMD) & ~RE_NOW_IS_OOB);
3135 static void re_exit_oob(struct re_softc *sc)
3140 re_disable_cfg9346_write(sc);
3142 switch(sc->re_type) {
3148 Dash2DisableTxRx(sc);
3153 re_driver_start(sc);
3155 switch(sc->re_type) {
3168 CSR_WRITE_1(sc, 0xF2, CSR_READ_1(sc, 0xF2) | BIT_3);
3171 for (i = 0; i < 10; i++) {
3173 if (CSR_READ_4(sc, RE_TXCFG) & BIT_11)
3177 if (CSR_READ_1(sc, RE_COMMAND) & (RE_CMD_TX_ENB | RE_CMD_RX_ENB)) {
3179 CSR_WRITE_1(sc, RE_COMMAND, CSR_READ_1(sc, RE_COMMAND) & ~(RE_CMD_TX_ENB | RE_CMD_RX_ENB));
3182 for (i = 0; i < 10; i++) {
3184 if ((CSR_READ_1(sc, RE_MCU_CMD) & (RE_TXFIFO_EMPTY | RE_RXFIFO_EMPTY)) == (RE_TXFIFO_EMPTY | RE_RXFIFO_EMPTY))
3191 //Disable realwow function
3192 switch (sc->re_type) {
3195 CSR_WRITE_4(sc, RE_MCUACCESS, 0xE5A90000);
3196 CSR_WRITE_4(sc, RE_MCUACCESS, 0xF2100010);
3199 CSR_WRITE_4(sc, RE_MCUACCESS, 0xE5A90000);
3200 CSR_WRITE_4(sc, RE_MCUACCESS, 0xE4640000);
3201 CSR_WRITE_4(sc, RE_MCUACCESS, 0xF2100010);
3205 CSR_WRITE_4(sc, RE_MCUACCESS, 0x605E0000);
3206 CSR_WRITE_4(sc, RE_MCUACCESS, (0xE05E << 16) | (CSR_READ_4(sc, RE_MCUACCESS) & 0xFFFE));
3207 CSR_WRITE_4(sc, RE_MCUACCESS, 0xE9720000);
3208 CSR_WRITE_4(sc, RE_MCUACCESS, 0xF2140010);
3211 CSR_WRITE_4(sc, RE_MCUACCESS, 0xE05E00FF);
3212 CSR_WRITE_4(sc, RE_MCUACCESS, 0xE9720000);
3213 MP_WriteMcuAccessRegWord(sc, 0xE428, 0x0010);
3217 if (sc->re_hw_supp_now_is_oob_ver >0)
3218 re_disable_now_is_oob(sc);
3220 switch(sc->re_type) {
3222 for (i = 0; i < 10; i++) {
3224 if (CSR_READ_2(sc, 0xD2) & BIT_9)
3228 data16 = MP_ReadMcuAccessRegWord(sc, 0xD4DE) | BIT_15;
3229 MP_WriteMcuAccessRegWord(sc, 0xD4DE, data16);
3231 for (i = 0; i < 10; i++) {
3233 if (CSR_READ_2(sc, 0xD2) & BIT_9)
3249 data16 = MP_ReadMcuAccessRegWord(sc, 0xE8DE) & ~BIT_14;
3250 MP_WriteMcuAccessRegWord(sc, 0xE8DE, data16);
3251 for (i = 0; i < 10; i++) {
3253 if (CSR_READ_2(sc, 0xD2) & BIT_9)
3257 data16 = MP_ReadMcuAccessRegWord(sc, 0xE8DE) | BIT_15;
3258 MP_WriteMcuAccessRegWord(sc, 0xE8DE, data16);
3260 for (i = 0; i < 10; i++) {
3262 if (CSR_READ_2(sc, 0xD2) & BIT_9)
3268 //wait ups resume (phy state 2)
3269 switch(sc->re_type) {
3274 if (re_is_ups_resume(sc)) {
3275 re_wait_phy_ups_resume(sc, 2);
3276 re_clear_ups_resume_bit(sc);
3284 re_hw_mac_mcu_config(sc);
3287 static void re_hw_init(struct re_softc *sc)
3292 switch(sc->re_type) {
3298 CSR_WRITE_1(sc, 0xF4, CSR_READ_1(sc, 0xF4) & ~(BIT_0|BIT_1));
3310 CSR_WRITE_1(sc, 0xF2, CSR_READ_1(sc, 0xF2) & ~(BIT_0|BIT_1|BIT_2));
3314 switch(sc->re_type) {
3316 if (CSR_READ_1(sc, RE_CFG2) & 1) {
3317 CSR_WRITE_4(sc, 0x7C, 0x000FFFFF);
3319 CSR_WRITE_4(sc, 0x7C, 0x000FFF00);
3323 if (CSR_READ_1(sc, RE_CFG2) & 1) {
3324 CSR_WRITE_4(sc, 0x7C, 0x003FFFFF);
3326 CSR_WRITE_4(sc, 0x7C, 0x003FFF00);
3331 switch(sc->re_type) {
3335 CSR_WRITE_1(sc, 0xF3, CSR_READ_1(sc, 0xF3) | BIT_2);
3339 switch(sc->re_type) {
3364 re_enable_cfg9346_write(sc);
3365 CSR_WRITE_1(sc, RE_CFG5, CSR_READ_1(sc, RE_CFG5) & ~BIT_0);
3366 CSR_WRITE_1(sc, RE_CFG2, CSR_READ_1(sc, RE_CFG2) & ~BIT_7);
3367 CSR_WRITE_1(sc, 0xF1, CSR_READ_1(sc, 0xF1) & ~ BIT_7);
3368 CSR_WRITE_1(sc, RE_CFG2, CSR_READ_1(sc, RE_CFG2) | BIT_5);
3369 re_disable_cfg9346_write(sc);
3373 if (sc->re_if_flags & RL_FLAG_PCIE) {
3375 //Set PCIE uncorrectable error status mask pcie 0x108
3376 Data32 = MP_ReadPciEConfigSpace(sc, 0xF108);
3378 MP_WritePciEConfigSpace(sc, 0xF108, Data32);
3382 static void re_rar_set(struct re_softc *sc, u_int8_t *eaddr)
3384 re_enable_cfg9346_write(sc);
3386 CSR_WRITE_4(sc, RE_IDR0,
3387 htole32(*(u_int32_t *)(&eaddr[0])));
3388 CSR_WRITE_2(sc, RE_IDR4,
3389 htole16(*(u_int32_t *)(&eaddr[4])));
3391 switch (sc->re_type) {
3398 CSR_WRITE_4(sc, RE_SecMAC0,
3399 htole32(*(u_int32_t *)(&eaddr[0])));
3400 CSR_WRITE_2(sc, RE_SecMAC4,
3401 htole16(*(u_int16_t *)(&eaddr[4])));
3405 switch (sc->re_type) {
3408 re_eri_write(sc, 0xF0, 4, *(u_int16_t *)(&eaddr[0])<<16, ERIAR_ExGMAC);
3409 re_eri_write(sc, 0xF4, 4, *(u_int32_t *)(&eaddr[2]), ERIAR_ExGMAC);
3413 re_disable_cfg9346_write(sc);
3416 static void re_get_hw_mac_address(struct re_softc *sc, u_int8_t *eaddr)
3418 device_t dev = sc->dev;
3419 u_int16_t re_eeid = 0;
3422 for (i = 0; i < ETHER_ADDR_LEN; i++)
3423 eaddr[i] = CSR_READ_1(sc, RE_IDR0 + i);
3425 switch(sc->re_type) {
3442 *(u_int32_t *)&eaddr[0] = re_eri_read(sc, 0xE0, 4, ERIAR_ExGMAC);
3443 *(u_int16_t *)&eaddr[4] = (u_int16_t)re_eri_read(sc, 0xE4, 4, ERIAR_ExGMAC);
3451 re_read_eeprom(sc, (caddr_t)&re_eeid, RE_EE_ID, 1, 0);
3452 if (re_eeid == 0x8129)
3453 re_read_eeprom(sc, (caddr_t)&eaddr[0], RE_EE_EADDR, 3, 0);
3457 if (!is_valid_ether_addr(eaddr)) {
3458 #ifndef __DragonFly__
3459 device_printf(dev,"Invalid ether addr: %6D\n", eaddr, ":");
3461 device_printf(dev, "Invalid ether addr: "
3462 "%02x:%02x:%02x:%02x:%02x:%02x\n",
3463 eaddr[0], eaddr[1], eaddr[2], eaddr[3], eaddr[4], eaddr[5]);
3465 random_ether_addr(eaddr);
3466 #ifndef __DragonFly__
3467 device_printf(dev,"Random ether addr: %6D\n", eaddr, ":");
3469 device_printf(dev, "Random ether addr: "
3470 "%02x:%02x:%02x:%02x:%02x:%02x\n",
3471 eaddr[0], eaddr[1], eaddr[2], eaddr[3], eaddr[4], eaddr[5]);
3475 re_rar_set(sc, eaddr);
3478 static int re_check_mac_version(struct re_softc *sc)
3480 device_t dev = sc->dev;
3483 switch(CSR_READ_4(sc, RE_TXCFG) & 0xFCF00000) {
3486 sc->re_type = MACFG_3;
3487 sc->max_jumbo_frame_size = Jumbo_Frame_7k;
3488 CSR_WRITE_4(sc, RE_RXCFG, 0xFF00);
3491 sc->re_type = MACFG_4;
3492 sc->max_jumbo_frame_size = Jumbo_Frame_7k;
3493 CSR_WRITE_4(sc, RE_RXCFG, 0xFF00);
3496 sc->re_type = MACFG_5;
3497 sc->max_jumbo_frame_size = Jumbo_Frame_7k;
3498 CSR_WRITE_4(sc, RE_RXCFG, 0xFF00);
3501 sc->re_type = MACFG_6;
3502 sc->max_jumbo_frame_size = Jumbo_Frame_7k;
3503 CSR_WRITE_4(sc, RE_RXCFG, 0xFF00);
3507 sc->re_type = MACFG_11;
3508 sc->max_jumbo_frame_size = ETHERMTU;
3509 CSR_WRITE_4(sc, RE_RXCFG, 0xE700);
3513 sc->re_type = MACFG_12;
3514 sc->max_jumbo_frame_size = ETHERMTU;
3515 CSR_WRITE_4(sc, RE_RXCFG, 0xE700);
3519 sc->re_type = MACFG_13;
3520 sc->max_jumbo_frame_size = ETHERMTU;
3521 CSR_WRITE_4(sc, RE_RXCFG, 0xE700);
3525 sc->re_type = MACFG_14;
3526 sc->max_jumbo_frame_size = ETHERMTU;
3527 sc->re_if_flags |= RL_FLAG_DESCV2;
3528 CSR_WRITE_4(sc, RE_RXCFG, 0xE700);
3532 sc->re_type = MACFG_15;
3533 sc->max_jumbo_frame_size = ETHERMTU;
3534 sc->re_if_flags |= RL_FLAG_DESCV2;
3535 CSR_WRITE_4(sc, RE_RXCFG, 0xE700);
3539 sc->re_type = MACFG_16;
3540 sc->max_jumbo_frame_size = ETHERMTU;
3541 sc->re_if_flags |= RL_FLAG_DESCV2;
3542 CSR_WRITE_4(sc, RE_RXCFG, 0xE700);
3546 sc->re_type = MACFG_17;
3547 sc->max_jumbo_frame_size = ETHERMTU;
3548 sc->re_if_flags |= RL_FLAG_DESCV2;
3549 CSR_WRITE_4(sc, RE_RXCFG, 0xE700);
3553 sc->re_type = MACFG_18;
3554 sc->max_jumbo_frame_size = ETHERMTU;
3555 sc->re_if_flags |= RL_FLAG_DESCV2;
3556 CSR_WRITE_4(sc, RE_RXCFG, 0xE700);
3560 sc->re_type = MACFG_19;
3561 sc->max_jumbo_frame_size = ETHERMTU;
3562 sc->re_if_flags |= RL_FLAG_DESCV2;
3563 CSR_WRITE_4(sc, RE_RXCFG, 0xE700);
3566 sc->re_type = MACFG_21;
3567 sc->max_jumbo_frame_size = Jumbo_Frame_4k;
3568 CSR_WRITE_4(sc, RE_RXCFG, 0xE700);
3571 sc->re_type = MACFG_22;
3572 sc->max_jumbo_frame_size = Jumbo_Frame_4k;
3573 CSR_WRITE_4(sc, RE_RXCFG, 0xE700);
3579 sc->re_type = MACFG_23;
3580 sc->max_jumbo_frame_size = Jumbo_Frame_4k;
3581 CSR_WRITE_4(sc, RE_RXCFG, 0xE700);
3584 sc->re_type = MACFG_24;
3585 sc->max_jumbo_frame_size = Jumbo_Frame_6k;
3586 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3587 CSR_WRITE_4(sc, RE_RXCFG, 0xC700);
3590 sc->re_type = MACFG_25;
3591 sc->max_jumbo_frame_size = Jumbo_Frame_6k;
3592 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3593 CSR_WRITE_4(sc, RE_RXCFG, 0xC700);
3596 sc->re_type = MACFG_26;
3597 sc->max_jumbo_frame_size = Jumbo_Frame_6k;
3598 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3599 CSR_WRITE_4(sc, RE_RXCFG, 0xC700);
3602 sc->re_type = MACFG_27;
3603 sc->max_jumbo_frame_size = Jumbo_Frame_6k;
3604 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3605 CSR_WRITE_4(sc, RE_RXCFG, 0xC700);
3608 sc->re_type = MACFG_28;
3609 sc->max_jumbo_frame_size = Jumbo_Frame_6k;
3610 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3611 CSR_WRITE_4(sc, RE_RXCFG, 0xC700);
3614 sc->re_type = MACFG_31;
3615 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3616 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3617 CSR_WRITE_4(sc, RE_RXCFG, 0x8700);
3620 sc->re_type = MACFG_32;
3621 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3622 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3623 CSR_WRITE_4(sc, RE_RXCFG, 0x8700);
3626 sc->re_type = MACFG_33;
3627 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3628 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3629 CSR_WRITE_4(sc, RE_RXCFG, 0x8700);
3632 sc->re_type = MACFG_36;
3633 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3634 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3635 CSR_WRITE_4(sc, RE_RXCFG, 0x8700);
3638 sc->re_type = MACFG_37;
3639 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3640 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3641 CSR_WRITE_4(sc, RE_RXCFG, 0x8700);
3644 sc->re_type = MACFG_38;
3645 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3646 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM | RL_FLAG_MAGIC_PACKET_V2;
3647 CSR_WRITE_4(sc, RE_RXCFG, 0xBF00);
3650 sc->re_type = MACFG_39;
3651 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3652 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM | RL_FLAG_MAGIC_PACKET_V2;
3653 CSR_WRITE_4(sc, RE_RXCFG, 0xBF00);
3656 sc->re_type = MACFG_41;
3657 sc->max_jumbo_frame_size = ETHERMTU;
3658 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3659 CSR_WRITE_4(sc, RE_RXCFG, 0xE700);
3662 sc->re_type = MACFG_42;
3663 sc->max_jumbo_frame_size = ETHERMTU;
3664 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3665 CSR_WRITE_4(sc, RE_RXCFG, 0xE700);
3670 sc->re_type = MACFG_43;
3671 sc->max_jumbo_frame_size = ETHERMTU;
3672 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3673 CSR_WRITE_4(sc, RE_RXCFG, 0xE700);
3676 sc->re_type = MACFG_50;
3677 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3678 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM | RL_FLAG_MAGIC_PACKET_V2;
3679 CSR_WRITE_4(sc, RE_RXCFG, 0xBF00);
3682 sc->re_type = MACFG_51;
3683 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3684 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM | RL_FLAG_MAGIC_PACKET_V2;
3685 CSR_WRITE_4(sc, RE_RXCFG, 0xBF00);
3688 sc->re_type = MACFG_52;
3689 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3690 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM | RL_FLAG_MAGIC_PACKET_V2;
3691 CSR_WRITE_4(sc, RE_RXCFG, 0xBF00);
3694 sc->re_type = MACFG_53;
3695 sc->max_jumbo_frame_size = ETHERMTU;
3696 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM | RL_FLAG_MAGIC_PACKET_V2;
3697 CSR_WRITE_4(sc, RE_RXCFG, 0xE700);
3700 sc->re_type = MACFG_54;
3701 sc->max_jumbo_frame_size = ETHERMTU;
3702 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3703 CSR_WRITE_4(sc, RE_RXCFG, 0xE700);
3706 sc->re_type = MACFG_55;
3707 sc->max_jumbo_frame_size = ETHERMTU;
3708 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3709 CSR_WRITE_4(sc, RE_RXCFG, 0xE700);
3712 sc->re_type = MACFG_56;
3713 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3714 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM | RL_FLAG_MAGIC_PACKET_V2;
3715 CSR_WRITE_4(sc, RE_RXCFG, 0xCF00);
3718 sc->re_type = MACFG_57;
3719 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3720 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM | RL_FLAG_MAGIC_PACKET_V2;
3721 CSR_WRITE_4(sc, RE_RXCFG, 0xCF00);
3724 sc->re_type = MACFG_58;
3725 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3726 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM | RL_FLAG_MAGIC_PACKET_V2;
3727 CSR_WRITE_4(sc, RE_RXCFG, 0xCF00);
3730 sc->re_type = MACFG_59;
3731 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3732 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM | RL_FLAG_MAGIC_PACKET_V2;
3733 CSR_WRITE_4(sc, RE_RXCFG, 0xCF00);
3736 sc->re_type = MACFG_60;
3737 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3738 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM | RL_FLAG_MAGIC_PACKET_V2;
3739 CSR_WRITE_4(sc, RE_RXCFG, 0xCF00);
3742 sc->re_type = MACFG_61;
3743 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3744 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM | RL_FLAG_MAGIC_PACKET_V2;
3745 CSR_WRITE_4(sc, RE_RXCFG, 0xCF00);
3748 sc->re_type = MACFG_62;
3749 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3750 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM | RL_FLAG_MAGIC_PACKET_V2;
3751 CSR_WRITE_4(sc, RE_RXCFG, 0xCF00);
3754 sc->re_type = MACFG_67;
3755 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3756 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM | RL_FLAG_MAGIC_PACKET_V2;
3757 CSR_WRITE_4(sc, RE_RXCFG, 0xCF00);
3760 sc->re_type = MACFG_63;
3761 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3762 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3763 CSR_WRITE_4(sc, RE_RXCFG, 0x8700);
3766 sc->re_type = MACFG_64;
3767 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3768 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3769 CSR_WRITE_4(sc, RE_RXCFG, 0x8700);
3772 sc->re_type = MACFG_65;
3773 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3774 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3775 CSR_WRITE_4(sc, RE_RXCFG, 0x8700);
3778 sc->re_type = MACFG_66;
3779 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3780 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM;
3781 CSR_WRITE_4(sc, RE_RXCFG, 0x8700);
3784 sc->re_type = MACFG_68;
3785 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3786 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM | RL_FLAG_MAGIC_PACKET_V2;
3787 CSR_WRITE_4(sc, RE_RXCFG, 0xCF00);
3790 sc->re_type = MACFG_69;
3791 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3792 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM | RL_FLAG_MAGIC_PACKET_V2;
3793 CSR_WRITE_4(sc, RE_RXCFG, 0xCF00);
3796 sc->re_type = MACFG_70;
3797 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3798 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM | RL_FLAG_MAGIC_PACKET_V2;
3799 CSR_WRITE_4(sc, RE_RXCFG, 0xCF00);
3802 sc->re_type = MACFG_71;
3803 sc->max_jumbo_frame_size = Jumbo_Frame_9k;
3804 sc->re_if_flags |= RL_FLAG_DESCV2 | RL_FLAG_PHYWAKE_PM | RL_FLAG_MAGIC_PACKET_V2;
3805 CSR_WRITE_4(sc, RE_RXCFG, 0xCF00);
3808 device_printf(dev,"unknown device\n");
3809 sc->re_type = MACFG_FF;
3814 switch(sc->re_device_id) {
3815 case RT_DEVICEID_8169:
3816 case RT_DEVICEID_8169SC:
3817 case RT_DEVICEID_8168:
3818 case RT_DEVICEID_8161:
3822 sc->max_jumbo_frame_size = ETHERMTU;
3829 static void re_init_software_variable(struct re_softc *sc)
3831 switch(sc->re_device_id) {
3832 case RT_DEVICEID_8168:
3833 case RT_DEVICEID_8161:
3834 case RT_DEVICEID_8136:
3835 sc->re_if_flags |= RL_FLAG_PCIE;
3839 sc->re_rx_mbuf_sz = sc->max_jumbo_frame_size + ETHER_VLAN_ENCAP_LEN + ETHER_HDR_LEN + ETHER_CRC_LEN + RE_ETHER_ALIGN + 1;
3841 if (sc->re_rx_mbuf_sz > MJUM9BYTES) {
3842 sc->max_jumbo_frame_size -= (sc->re_rx_mbuf_sz - MJUM9BYTES);
3843 sc->re_rx_mbuf_sz = MJUM9BYTES;
3846 switch(sc->re_type) {
3851 sc->HwSuppDashVer = 1;
3856 sc->HwSuppDashVer = 2;
3860 sc->HwSuppDashVer = 3;
3863 sc->HwSuppDashVer = 0;
3867 switch(sc->re_type) {
3870 sc->HwPkgDet = MP_ReadMcuAccessRegWord(sc, 0xDC00);
3871 sc->HwPkgDet = (sc->HwPkgDet >> 3) & 0x0F;
3872 //printf("Realtek PCIe GBE Family Controller HwPkgDet = 0x%02X\n",
3877 if (HW_DASH_SUPPORT_TYPE_3(sc) && sc->HwPkgDet == 0x06)
3880 if (HW_DASH_SUPPORT_DASH(sc))
3881 sc->re_dash = re_check_dash(sc);
3884 if (HW_DASH_SUPPORT_TYPE_3(sc)) {
3885 u_int64_t CmacMemPhysAddress;
3886 bus_space_handle_t cmac_ioaddr;
3888 CmacMemPhysAddress = MP_ReadOtherFunPciEConfigSpace(sc, 0, 0xf018);
3889 if (!(CmacMemPhysAddress & BIT_0)) {
3890 if (CmacMemPhysAddress & BIT_2)
3891 CmacMemPhysAddress |= MP_ReadOtherFunPciEConfigSpace(sc, 0, 0xf01c) << 16;
3893 CmacMemPhysAddress &= 0xFFFFFFF0;
3894 /* ioremap MMIO region */
3895 #ifndef __DragonFly__
3896 sc->re_mapped_cmac_tag = X86_BUS_SPACE_MEM;
3898 sc->re_mapped_cmac_tag = X86_64_BUS_SPACE_MEM;
3900 if (bus_space_map(sc->re_mapped_cmac_tag, CmacMemPhysAddress, RE_REGS_SIZE, 0,
3904 sc->re_mapped_cmac_handle = cmac_ioaddr;
3909 switch(sc->re_type) {
3913 sc->re_cmac_handle = sc->re_bhandle;
3914 sc->re_cmac_tag = sc->re_btag;
3918 sc->re_cmac_handle = sc->re_mapped_cmac_handle;
3919 sc->re_cmac_tag = sc->re_mapped_cmac_tag;
3923 switch(sc->re_type) {
3938 sc->re_efuse_ver = EFUSE_SUPPORT_V1;
3946 sc->re_efuse_ver = EFUSE_SUPPORT_V2;
3966 sc->re_efuse_ver = EFUSE_SUPPORT_V3;
3969 sc->re_efuse_ver = EFUSE_NOT_SUPPORT;
3973 switch(sc->re_type) {
3975 u_int16_t ioffset_p3, ioffset_p2, ioffset_p1, ioffset_p0;
3976 u_int16_t TmpUshort;
3978 MP_WriteMcuAccessRegWord(sc, 0xDD02, 0x807D);
3980 TmpUshort = MP_ReadMcuAccessRegWord(sc, 0xDD02);
3981 ioffset_p3 = ((TmpUshort & BIT_7) >>7);
3983 TmpUshort = MP_ReadMcuAccessRegWord(sc, 0xDD00);
3985 ioffset_p3 |= ((TmpUshort & (BIT_15 | BIT_14 | BIT_13))>>13);
3987 ioffset_p2 = ((TmpUshort & (BIT_12|BIT_11|BIT_10|BIT_9))>>9);
3988 ioffset_p1 = ((TmpUshort & (BIT_8|BIT_7|BIT_6|BIT_5))>>5);
3990 ioffset_p0 = ((TmpUshort & BIT_4) >>4);
3992 ioffset_p0 |= (TmpUshort & (BIT_2| BIT_1 | BIT_0));
3994 if ((ioffset_p3 == 0x0F) && (ioffset_p2 == 0x0F) && (ioffset_p1 == 0x0F) && (ioffset_p0 == 0x0F)) {
3995 sc->RequireAdcBiasPatch = FALSE;
3997 sc->RequireAdcBiasPatch = TRUE;
3998 sc->AdcBiasPatchIoffset = (ioffset_p3<<12)|(ioffset_p2<<8)|(ioffset_p1<<4)|(ioffset_p0);
4004 switch(sc->re_type) {
4009 u_int16_t rg_saw_cnt;
4011 MP_WritePhyUshort(sc, 0x1F, 0x0C42);
4012 rg_saw_cnt = MP_ReadPhyUshort(sc, 0x13);
4013 rg_saw_cnt &= ~(BIT_15|BIT_14);
4014 MP_WritePhyUshort(sc, 0x1F, 0x0000);
4016 if (rg_saw_cnt > 0) {
4017 sc->SwrCnt1msIni = 16000000/rg_saw_cnt;
4018 sc->SwrCnt1msIni &= 0x0FFF;
4020 sc->RequireAdjustUpsTxLinkPulseTiming = TRUE;
4026 switch(sc->re_type) {
4058 sc->re_hw_enable_msi_msix = TRUE;
4062 switch(sc->re_type) {
4081 #ifdef __DragonFly__
4086 sc->re_coalesce_tx_pkt = TRUE;
4087 #ifdef __DragonFly__
4088 if (sc->re_type != MACFG_50)
4089 sc->re_pad_runt = TRUE;
4094 switch(sc->re_type) {
4119 sc->re_hw_supp_now_is_oob_ver = 1;
4123 switch (sc->re_type) {
4126 sc->re_sw_ram_code_ver = NIC_RAMCODE_VERSION_8168E;
4130 sc->re_sw_ram_code_ver = NIC_RAMCODE_VERSION_8168EVL;
4134 sc->re_sw_ram_code_ver = NIC_RAMCODE_VERSION_8168F;
4137 sc->re_sw_ram_code_ver = NIC_RAMCODE_VERSION_8411;
4141 sc->re_sw_ram_code_ver = NIC_RAMCODE_VERSION_8168G;
4145 sc->re_sw_ram_code_ver = NIC_RAMCODE_VERSION_8168GU;
4148 sc->re_sw_ram_code_ver = NIC_RAMCODE_VERSION_8411B;
4153 sc->re_sw_ram_code_ver = NIC_RAMCODE_VERSION_8168EP;
4157 sc->re_sw_ram_code_ver = NIC_RAMCODE_VERSION_8168H;
4161 sc->re_sw_ram_code_ver = NIC_RAMCODE_VERSION_8168FP;
4165 sc->re_8169_MacVersion=(CSR_READ_4(sc, RE_TXCFG)&0x7c800000)>>25; /* Get bit 26~30 */
4166 sc->re_8169_MacVersion|=((CSR_READ_4(sc, RE_TXCFG)&0x00800000)!=0 ? 1:0); /* Get bit 23 */
4167 DBGPRINT1(sc->re_unit,"8169 Mac Version %d",sc->re_8169_MacVersion);
4169 /* Rtl8169s single chip detected */
4170 if (sc->re_type == MACFG_3) {
4172 sc->re_8169_PhyVersion=(MP_ReadPhyUshort(sc, 0x03)&0x000f);
4173 DBGPRINT1(sc->re_unit,"8169 Phy Version %d",sc->re_8169_PhyVersion);
4177 #ifndef __DragonFly__
4178 sc->link_state = LINK_STATE_UNKNOWN;
4182 static void re_hw_d3_para(struct re_softc *sc)
4184 if (sc->re_type == MACFG_59 || sc->re_type == MACFG_60 ||
4185 sc->re_type == MACFG_62 || sc->re_type == MACFG_67 ||
4186 sc->re_type == MACFG_68 || sc->re_type == MACFG_69 ||
4187 sc->re_type == MACFG_70 || sc->re_type == MACFG_71) {
4188 MP_WritePhyOcpRegWord(sc, 0x0C41, 0x13, 0x0000);
4189 MP_WritePhyOcpRegWord(sc, 0x0C41, 0x13, 0x0500);
4193 #ifndef __DragonFly__
4195 * Attach the interface. Allocate softc structures, do ifmedia
4196 * setup and ethernet/BPF attach.
4198 static int re_attach(device_t dev)
4201 u_char eaddr[ETHER_ADDR_LEN];
4203 struct re_softc *sc;
4205 int unit, error = 0, rid, i;
4210 int msic=0, msixc=0;
4214 sc = device_get_softc(dev);
4215 unit = device_get_unit(dev);
4216 bzero(sc, sizeof(struct re_softc));
4217 RE_LOCK_INIT(sc,device_get_nameunit(dev));
4220 sc->driver_detach = 0;
4222 sc->re_device_id = pci_get_device(dev);
4223 sc->re_revid = pci_get_revid(dev);
4224 pci_enable_busmaster(dev);
4227 * Map control/status registers.
4229 command = pci_read_config(dev, PCIR_COMMAND, 4);
4230 command |= (PCIM_CMD_PORTEN|PCIM_CMD_MEMEN|PCIM_CMD_BUSMASTEREN);
4231 pci_write_config(dev, PCIR_COMMAND, command, 4);
4232 command = pci_read_config(dev, PCIR_COMMAND, 4);
4234 if (prefer_iomap == 0) {
4235 sc->re_res_id = PCIR_BAR(1);
4236 sc->re_res_type = SYS_RES_MEMORY;
4237 /* PCIE NIC use different BARs. */
4238 if (sc->re_device_id == RT_DEVICEID_8168 || sc->re_device_id == RT_DEVICEID_8161 ||
4239 sc->re_device_id == RT_DEVICEID_8136)
4240 sc->re_res_id = PCIR_BAR(2);
4242 sc->re_res_id = PCIR_BAR(0);
4243 sc->re_res_type = SYS_RES_IOPORT;
4245 sc->re_res = bus_alloc_resource(dev, sc->re_res_type, &sc->re_res_id,
4246 0, ~0, 1, RF_ACTIVE);
4247 if (sc->re_res == NULL && prefer_iomap == 0) {
4248 sc->re_res_id = PCIR_BAR(0);
4249 sc->re_res_type = SYS_RES_IOPORT;
4250 sc->re_res = bus_alloc_resource(dev, sc->re_res_type, &sc->re_res_id,
4251 0, ~0, 1, RF_ACTIVE);
4254 if (sc->re_res == NULL) {
4255 device_printf(dev,"couldn't map ports/memory\n");
4260 if (sc->re_res_type == SYS_RES_IOPORT)
4261 device_printf(dev, "Using I/O Ports\n");
4263 device_printf(dev, "Using Memory Mapping!\n");
4265 sc->re_btag = rman_get_bustag(sc->re_res);
4266 sc->re_bhandle = rman_get_bushandle(sc->re_res);
4268 error = re_check_mac_version(sc);
4274 re_init_software_variable(sc);
4276 #if OS_VER >= VERSION(7,0)
4277 msic = pci_msi_count(dev);
4278 msixc = pci_msix_count(dev);
4279 if (pci_find_cap(dev, PCIY_EXPRESS, ®) == 0) {
4280 sc->re_if_flags |= RL_FLAG_PCIE;
4281 sc->re_expcap = reg;
4283 sc->re_if_flags &= ~RL_FLAG_PCIE;
4287 //device_printf(dev, "MSI count : %d\n", msic);
4288 //device_printf(dev, "MSI-X count : %d\n", msixc);
4289 if (sc->re_hw_enable_msi_msix == FALSE) {
4293 if (msix_disable > 0)
4295 if (msi_disable > 0)
4298 /* Prefer MSI-X to MSI. */
4301 msixc = RL_MSI_MESSAGES;
4302 sc->re_res_pba = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
4304 if (sc->re_res_pba == NULL) {
4306 "could not allocate MSI-X PBA resource\n");
4308 if (sc->re_res_pba != NULL &&
4309 pci_alloc_msix(dev, &msixc) == 0) {
4310 if (msixc == RL_MSI_MESSAGES) {
4311 device_printf(dev, "Using %d MSI-X message\n",
4313 sc->re_if_flags |= RL_FLAG_MSIX;
4315 pci_release_msi(dev);
4317 if ((sc->re_if_flags & RL_FLAG_MSIX) == 0) {
4318 if (sc->re_res_pba != NULL)
4319 bus_release_resource(dev, SYS_RES_MEMORY, rid,
4321 sc->re_res_pba = NULL;
4326 /* Prefer MSI to INTx. */
4327 if (msixc == 0 && msic > 0) {
4328 msic = RL_MSI_MESSAGES;
4329 if (pci_alloc_msi(dev, &msic) == 0) {
4330 if (msic == RL_MSI_MESSAGES) {
4331 device_printf(dev, "Using %d MSI message\n",
4333 sc->re_if_flags |= RL_FLAG_MSI;
4335 pci_release_msi(dev);
4337 if ((sc->re_if_flags & RL_FLAG_MSI) == 0)
4340 #endif //OS_VER >= VERSION(7,0)
4342 if ((sc->re_if_flags & (RL_FLAG_MSI | RL_FLAG_MSIX)) == 0) {
4344 sc->re_irq = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 0, ~0, 1,
4345 RF_SHAREABLE | RF_ACTIVE);
4347 if (sc->re_irq == NULL) {
4348 device_printf(dev,"couldn't map interrupt\n");
4352 device_printf(dev, "Using line-based interrupt\n");
4355 sc->re_irq = bus_alloc_resource_any(dev,
4356 SYS_RES_IRQ, &rid, RF_ACTIVE);
4357 if (sc->re_irq == NULL) {
4359 "couldn't allocate IRQ resources for "
4360 "message %d\n", rid);
4366 #if OS_VER >= VERSION(7,3)
4367 /* Disable ASPM L0S/L1 and Clock Request. */
4368 if (sc->re_expcap != 0) {
4370 cap = pci_read_config(dev, sc->re_expcap +
4371 RE_PCIER_LINK_CAP, 2);
4372 if ((cap & RE_PCIEM_LINK_CAP_ASPM) != 0) {
4373 ctl = pci_read_config(dev, sc->re_expcap +
4374 RE_PCIER_LINK_CTL, 2);
4375 if ((ctl & 0x0103) != 0) {
4377 pci_write_config(dev, sc->re_expcap +
4378 RE_PCIER_LINK_CTL, ctl, 2);
4379 device_printf(dev, "ASPM disabled\n");
4382 device_printf(dev, "no ASPM capability\n");
4384 #endif //OS_VER >= VERSION(7,3)
4394 * Reset the adapter. Only take the lock here as it's needed in
4395 * order to call re_reset().
4401 /* Get station address. */
4403 re_get_hw_mac_address(sc, eaddr);
4407 * A RealTek chip was detected. Inform the world.
4409 device_printf(dev,"version:1.95.00\n");
4410 device_printf(dev,"Ethernet address: %6D\n", eaddr, ":");
4411 printf("\nThis product is covered by one or more of the following patents: \
4412 \nUS6,570,884, US6,115,776, and US6,327,625.\n");
4416 #if OS_VER < VERSION(6,0)
4417 bcopy(eaddr, (char *)&sc->arpcom.ac_enaddr, ETHER_ADDR_LEN);
4420 if (sc->re_type == MACFG_3) { /* Change PCI Latency time*/
4421 pci_write_config(dev, RE_PCI_LATENCY_TIMER, 0x40, 1);
4424 error = bus_dma_tag_create(
4425 #if OS_VER < VERSION(7,0)
4428 bus_get_dma_tag(dev), /* parent */
4430 1, 0, /* alignment, boundary */
4431 BUS_SPACE_MAXADDR, /* lowaddr */
4432 BUS_SPACE_MAXADDR, /* highaddr */
4433 NULL, NULL, /* filter, filterarg */
4434 BUS_SPACE_MAXSIZE_32BIT, /* maxsize */
4436 BUS_SPACE_MAXSIZE_32BIT, /* maxsegsize */
4438 NULL, NULL, /* lockfunc, lockarg */
4439 &sc->re_parent_tag);
4441 i = roundup2(sizeof(union RxDesc)*RE_RX_BUF_NUM, RE_DESC_ALIGN);
4442 error = bus_dma_tag_create(
4444 RE_DESC_ALIGN, 0, /* alignment, boundary */
4445 BUS_SPACE_MAXADDR, /* lowaddr */
4446 BUS_SPACE_MAXADDR, /* highaddr */
4447 NULL, NULL, /* filter, filterarg */
4452 NULL, NULL, /* lockfunc, lockarg */
4453 &sc->re_desc.rx_desc_tag);
4455 device_printf(dev,"bus_dma_tag_create fail\n");
4459 error = bus_dmamem_alloc(sc->re_desc.rx_desc_tag,
4460 (void**) &sc->re_desc.rx_desc,
4461 BUS_DMA_WAITOK|BUS_DMA_COHERENT|BUS_DMA_ZERO,
4462 &sc->re_desc.rx_desc_dmamap);
4464 device_printf(dev,"bus_dmamem_alloc fail\n");
4468 i = roundup2(sizeof(union TxDesc)*RE_TX_BUF_NUM, RE_DESC_ALIGN);
4469 error = bus_dma_tag_create(
4471 RE_DESC_ALIGN, 0, /* alignment, boundary */
4472 BUS_SPACE_MAXADDR, /* lowaddr */
4473 BUS_SPACE_MAXADDR, /* highaddr */
4474 NULL, NULL, /* filter, filterarg */
4479 NULL, NULL, /* lockfunc, lockarg */
4480 &sc->re_desc.tx_desc_tag);
4482 device_printf(dev,"bus_dma_tag_create fail\n");
4486 error = bus_dmamem_alloc(sc->re_desc.tx_desc_tag,
4487 (void**) &sc->re_desc.tx_desc,
4488 BUS_DMA_WAITOK|BUS_DMA_COHERENT|BUS_DMA_ZERO,
4489 &sc->re_desc.tx_desc_dmamap);
4492 device_printf(dev,"bus_dmamem_alloc fail\n");
4497 re_phy_power_up(dev);
4498 re_hw_phy_config(sc);
4505 #if OS_VER < VERSION(6,0)
4506 ifp = &sc->arpcom.ac_if;
4508 ifp = sc->re_ifp = if_alloc(IFT_ETHER);
4510 device_printf(dev, "can not if_alloc()\n");
4516 #if OS_VER < VERSION(5,3)
4517 ifp->if_unit = unit;
4518 ifp->if_name = "re";
4520 if_initname(ifp, device_get_name(dev), device_get_unit(dev));
4522 ifp->if_mtu = ETHERMTU;
4523 ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
4524 ifp->if_ioctl = re_ioctl;
4525 ifp->if_output = ether_output;
4526 ifp->if_start = re_start;
4527 #if OS_VER < VERSION(7,0)
4528 ifp->if_watchdog = re_watchdog;
4530 if ((sc->re_type == MACFG_24) || (sc->re_type == MACFG_25) || (sc->re_type == MACFG_26))
4531 ifp->if_hwassist |= CSUM_TCP | CSUM_UDP;
4533 ifp->if_hwassist |= RE_CSUM_FEATURES;
4535 ifp->if_capabilities = IFCAP_HWCSUM;
4536 ifp->if_capenable = ifp->if_capabilities;
4537 CSR_WRITE_2 (sc, RE_CPlusCmd,CSR_READ_2(sc, RE_CPlusCmd) |RL_RxChkSum);
4538 ifp->if_init = re_init;
4539 /* VLAN capability setup */
4540 ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING;
4541 ifp->if_capenable = ifp->if_capabilities;
4543 /* Enable WOL if PM is supported. */
4544 if (pci_find_cap(sc->dev, PCIY_PMG, ®) == 0)
4545 ifp->if_capabilities |= IFCAP_WOL;
4546 ifp->if_capenable = ifp->if_capabilities;
4547 ifp->if_capenable &= ~(IFCAP_WOL_UCAST | IFCAP_WOL_MCAST);
4551 error =re_alloc_buf(sc);
4557 /* Init descriptors. */
4562 switch(sc->re_device_id) {
4563 case RT_DEVICEID_8169:
4564 case RT_DEVICEID_8169SC:
4565 case RT_DEVICEID_8168:
4566 case RT_DEVICEID_8161:
4567 ifp->if_baudrate = 1000000000;
4571 ifp->if_baudrate = 100000000;
4574 IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN);
4575 ifp->if_snd.ifq_drv_maxlen = IFQ_MAXLEN;
4576 IFQ_SET_READY(&ifp->if_snd);
4578 #if OS_VER>=VERSION(7,0)
4579 TASK_INIT(&sc->re_inttask, 0, re_int_task, sc);
4583 * Call MI attach routine.
4585 /*#if OS_VER < VERSION(5, 1)*/
4586 #if OS_VER < VERSION(4,9)
4587 ether_ifattach(ifp, ETHER_BPF_SUPPORTED);
4589 ether_ifattach(ifp, eaddr);
4592 #if OS_VER < VERSION(7,0)
4593 error = bus_setup_intr(dev, sc->re_irq, INTR_TYPE_NET,
4594 re_intr, sc, &sc->re_intrhand);
4596 error = bus_setup_intr(dev, sc->re_irq, INTR_TYPE_NET|INTR_MPSAFE,
4597 re_intr, NULL, sc, &sc->re_intrhand);
4601 #if OS_VER < VERSION(4,9)
4602 ether_ifdetach(ifp, ETHER_BPF_SUPPORTED);
4604 ether_ifdetach(ifp);
4606 device_printf(dev,"couldn't set up irq\n");
4611 * Specify the media types supported by this adapter and register
4612 * callbacks to update media and link information
4614 ifmedia_init(&sc->media, IFM_IMASK, re_ifmedia_upd, re_ifmedia_sts);
4615 ifmedia_add(&sc->media, IFM_ETHER | IFM_10_T, 0, NULL);
4616 ifmedia_add(&sc->media, IFM_ETHER | IFM_10_T | IFM_FDX, 0, NULL);
4617 ifmedia_add(&sc->media, IFM_ETHER | IFM_100_TX, 0, NULL);
4618 ifmedia_add(&sc->media, IFM_ETHER | IFM_100_TX | IFM_FDX, 0, NULL);
4619 switch(sc->re_device_id) {
4620 case RT_DEVICEID_8169:
4621 case RT_DEVICEID_8169SC:
4622 case RT_DEVICEID_8168:
4623 case RT_DEVICEID_8161:
4624 ifmedia_add(&sc->media, IFM_ETHER | IFM_1000_T | IFM_FDX, 0, NULL);
4625 ifmedia_add(&sc->media, IFM_ETHER | IFM_1000_T, 0, NULL);
4631 ifmedia_add(&sc->media, IFM_ETHER | IFM_AUTO, 0, NULL);
4632 ifmedia_set(&sc->media, IFM_ETHER | IFM_AUTO);
4633 sc->media.ifm_media = IFM_ETHER | IFM_AUTO;
4634 re_ifmedia_upd(ifp);
4643 static int re_detach(device_t dev)
4645 struct re_softc *sc;
4653 sc = device_get_softc(dev);
4655 ifp = RE_GET_IFNET(sc);
4657 /* These should only be active if attach succeeded */
4658 if (device_is_attached(dev)) {
4662 #if OS_VER>=VERSION(7,0)
4663 taskqueue_drain(taskqueue_fast, &sc->re_inttask);
4665 #if OS_VER < VERSION(4,9)
4666 ether_ifdetach(ifp, ETHER_BPF_SUPPORTED);
4668 ether_ifdetach(ifp);
4672 bus_generic_detach(dev);
4674 sc->driver_detach = 1;
4676 if (sc->re_intrhand)
4677 bus_teardown_intr(dev, sc->re_irq, sc->re_intrhand);
4679 #if OS_VER>=VERSION(6,0)
4684 if ((sc->re_if_flags & (RL_FLAG_MSI | RL_FLAG_MSIX)) == 0)
4689 bus_release_resource(dev, SYS_RES_IRQ, rid, sc->re_irq);
4692 if ((sc->re_if_flags & (RL_FLAG_MSI | RL_FLAG_MSIX)) != 0)
4693 pci_release_msi(dev);
4694 if (sc->re_res_pba) {
4696 bus_release_resource(dev, SYS_RES_MEMORY, rid, sc->re_res_pba);
4699 bus_release_resource(dev, sc->re_res_type, sc->re_res_id, sc->re_res);
4701 if (HW_DASH_SUPPORT_TYPE_3(sc) && sc->re_dash)
4702 bus_space_unmap(sc->re_cmac_tag, sc->re_mapped_cmac_handle, RE_REGS_SIZE);
4704 if (sc->re_desc.re_rx_mtag) {
4705 for (i = 0; i < RE_RX_BUF_NUM; i++) {
4706 if (sc->re_desc.rx_buf[i]!=NULL) {
4707 bus_dmamap_sync(sc->re_desc.re_rx_mtag,
4708 sc->re_desc.re_rx_dmamap[i],
4709 BUS_DMASYNC_POSTREAD);
4710 bus_dmamap_unload(sc->re_desc.re_rx_mtag,
4711 sc->re_desc.re_rx_dmamap[i]);
4712 bus_dmamap_destroy(sc->re_desc.re_rx_mtag,
4713 sc->re_desc.re_rx_dmamap[i]);
4714 m_freem(sc->re_desc.rx_buf[i]);
4715 sc->re_desc.rx_buf[i] =NULL;
4718 bus_dma_tag_destroy(sc->re_desc.re_rx_mtag);
4719 sc->re_desc.re_rx_mtag =0;
4722 if (sc->re_desc.re_tx_mtag) {
4723 for (i = 0; i < RE_TX_BUF_NUM; i++) {
4724 bus_dmamap_destroy(sc->re_desc.re_tx_mtag,
4725 sc->re_desc.re_tx_dmamap[i]);
4727 bus_dma_tag_destroy(sc->re_desc.re_tx_mtag);
4728 sc->re_desc.re_tx_mtag =0;
4731 if (sc->re_desc.rx_desc_tag) {
4732 bus_dmamap_sync(sc->re_desc.rx_desc_tag,
4733 sc->re_desc.rx_desc_dmamap,
4734 BUS_DMASYNC_POSTREAD|BUS_DMASYNC_POSTWRITE);
4735 bus_dmamap_unload(sc->re_desc.rx_desc_tag,
4736 sc->re_desc.rx_desc_dmamap);
4737 bus_dmamem_free(sc->re_desc.rx_desc_tag,
4738 sc->re_desc.rx_desc,
4739 sc->re_desc.rx_desc_dmamap);
4740 bus_dma_tag_destroy(sc->re_desc.rx_desc_tag);
4743 if (sc->re_desc.tx_desc_tag) {
4744 bus_dmamap_sync(sc->re_desc.tx_desc_tag,
4745 sc->re_desc.tx_desc_dmamap,
4746 BUS_DMASYNC_POSTREAD|BUS_DMASYNC_POSTWRITE);
4747 bus_dmamap_unload(sc->re_desc.tx_desc_tag,
4748 sc->re_desc.tx_desc_dmamap);
4749 bus_dmamem_free(sc->re_desc.tx_desc_tag,
4750 sc->re_desc.tx_desc,
4751 sc->re_desc.tx_desc_dmamap);
4752 bus_dma_tag_destroy(sc->re_desc.tx_desc_tag);
4755 if (sc->re_parent_tag) {
4756 bus_dma_tag_destroy(sc->re_parent_tag);
4760 RE_LOCK_DESTROY(sc);
4764 #endif /* !__DragonFly__ */
4766 #ifndef __DragonFly__
4768 re_link_state_change(struct ifnet *ifp, int link_state)
4770 #if OS_VER>=VERSION(6,0)
4771 if_link_state_change(ifp, link_state);
4773 ifp->if_link_state = link_state
4778 * Device suspend routine. Stop the interface and save some PCI
4779 * settings in case the BIOS doesn't restore them properly on
4783 re_suspend(device_t dev)
4785 struct re_softc *sc;
4788 sc = device_get_softc(dev);
4790 ifp = RE_GET_IFNET(sc);
4791 sc->re_link_chg_det = 0;
4796 sc->link_state = LINK_STATE_UNKNOWN;
4797 re_link_state_change(ifp, sc->link_state);
4798 sc->prohibit_access_reg = 1;
4805 * Device resume routine. Restore some PCI settings in case the BIOS
4806 * doesn't, re-enable busmastering, and restart the interface if
4810 re_resume(device_t dev)
4812 struct re_softc *sc;
4815 sc = device_get_softc(dev);
4819 ifp = RE_GET_IFNET(sc);
4821 sc->prohibit_access_reg = 0;
4829 re_phy_power_up(dev);
4831 re_hw_phy_config(sc);
4834 * Clear WOL matching such that normal Rx filtering
4835 * wouldn't interfere with WOL patterns.
4842 re_ifmedia_upd(ifp);
4844 if (ifp->if_flags & IFF_UP) {
4845 sc->re_link_chg_det = 1;
4852 #endif /* !__DragonFly__ */
4856 ClearAndSetPCIePhyBit(
4857 struct re_softc *sc,
4859 u_int16_t clearmask,
4863 u_int16_t EphyValue;
4865 EphyValue = MP_ReadEPhyUshort(sc, addr);
4866 EphyValue &= ~clearmask;
4867 EphyValue |= setmask;
4868 MP_WriteEPhyUshort(sc, addr, EphyValue);
4873 struct re_softc *sc,
4878 ClearAndSetPCIePhyBit(sc,
4887 struct re_softc *sc,
4892 ClearAndSetPCIePhyBit(sc,
4899 #ifndef __DragonFly__
4901 * Stop all chip I/O so that the kernel's probe routines don't
4902 * get confused by errant DMAs when rebooting.
4904 static int re_shutdown(dev) /* The same with re_stop(sc) */
4907 struct re_softc *sc;
4909 sc = device_get_softc(dev);
4915 sc->re_link_chg_det = 0;
4921 re_phy_power_down(dev);
4926 #endif /* !__DragonFly__ */
4928 static void re_hw_start_unlock(struct re_softc *sc)
4933 u_int16_t data16 = 0;
4936 ifp = RE_GET_IFNET(sc);
4938 #ifndef __DragonFly__
4939 /* Init descriptors. */
4943 re_enable_cfg9346_write(sc);
4945 switch(sc->re_type) {
4970 CSR_WRITE_1(sc, RE_CFG5, CSR_READ_1(sc, RE_CFG5) & ~BIT_0);
4971 CSR_WRITE_1(sc, RE_CFG2, CSR_READ_1(sc, RE_CFG2) & ~BIT_7);
4972 CSR_WRITE_1(sc, 0xF1, CSR_READ_1(sc, 0xF1) & ~ BIT_7);
4976 /*disable Link Down Power Saving(non-LDPS)*/
4977 /*CSR_WRITE_1(sc, RE_LDPS, 0x05);*/
4978 /*ldps= CSR_READ_1(sc, RE_LDPS);*/
4980 CSR_WRITE_2(sc, RE_CPCR, 0x2060);
4982 CSR_WRITE_2(sc, RE_IM, 0x5151);
4984 CSR_WRITE_1(sc, RE_MTPS, 0x3f);
4986 if (sc->re_device_id == RT_DEVICEID_8169 || sc->re_device_id == RT_DEVICEID_8169SC) {
4989 /* Set the initial TX configuration.*/
4990 CSR_WRITE_4(sc, RE_TXCFG, RE_TXCFG_CONFIG);
4993 macver = CSR_READ_4(sc, RE_TXCFG) & 0xFC800000;
4994 if (macver == 0x00800000 || macver == 0x04000000 || macver == 0x10000000) {
4995 CSR_WRITE_2(sc, RE_CPlusCmd, 0x0063| ((sc->re_type == MACFG_3 && sc->re_8169_MacVersion==1) ? 0x4008:0));
4996 } else if (macver == 0x18000000 || macver == 0x98000000) {
4997 CSR_WRITE_2(sc, RE_CPlusCmd, 0x0068);
4998 CSR_WRITE_2(sc, 0xe2, 0x0000);
4999 } else if (macver == 0x30000000) {
5000 CSR_WRITE_2 (sc, RE_CPlusCmd, 0x2060);
5001 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_0);
5003 if (ifp->if_mtu > ETHERMTU) {
5004 data8 = pci_read_config(sc->dev, 0x69, 1);
5007 pci_write_config(sc->dev, 0x69, data8, 1);
5009 data8 = pci_read_config(sc->dev, 0x69, 1);
5012 pci_write_config(sc->dev, 0x69, data8, 1);
5014 } else if (macver == 0x38000000) {
5015 CSR_WRITE_2 (sc, RE_CPlusCmd, 0x2060);
5016 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_0);
5018 if (ifp->if_mtu > ETHERMTU) {
5019 data8 = pci_read_config(sc->dev, 0x69, 1);
5022 pci_write_config(sc->dev, 0x69, data8, 1);
5023 CSR_WRITE_1(sc, RE_CFG4, CSR_READ_1(sc, RE_CFG4) | BIT_0);
5025 data8 = pci_read_config(sc->dev, 0x69, 1);
5028 pci_write_config(sc->dev, 0x69, data8, 1);
5029 CSR_WRITE_1(sc, RE_CFG4, CSR_READ_1(sc, RE_CFG4) & ~ BIT_0);
5031 } else if (macver == 0x34000000 || macver == 0xB4000000) {
5032 CSR_WRITE_2 (sc, RE_CPlusCmd, 0x2060);
5033 } else if (macver == 0x34800000 || macver == 0x24800000) {
5034 if (pci_read_config(sc->dev, 0x81, 1) == 1) {
5035 CSR_WRITE_1(sc, RE_DBG_reg, 0x98);
5036 CSR_WRITE_1(sc, RE_CFG2, CSR_READ_1(sc, RE_CFG2) | 0x80);
5037 CSR_WRITE_1(sc, RE_CFG4, CSR_READ_1(sc, RE_CFG4) | 0x04);
5038 pci_write_config(sc->dev, 0x81, 1, 1);
5041 data8 = pci_read_config(sc->dev, 0x79, 1);
5044 pci_write_config(sc->dev, 0x79, data8, 1);
5046 /*set configuration space offset 0x70f to 0x3f*/
5047 Data32 = MP_ReadPciEConfigSpace(sc, 0x870c);
5048 Data32 &=0xC0FFFFFF;
5049 Data32 |= (0x3F << 24);
5050 MP_WritePciEConfigSpace(sc, 0x870c, Data32);
5052 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_0);
5054 CSR_WRITE_2 (sc, RE_CPlusCmd, 0x2060);
5055 if (sc->re_type == MACFG_14) {
5056 CSR_WRITE_1(sc,RE_CFG1, 0x0f);
5058 MP_WriteEPhyUshort(sc, 0x03, 0xC2F9);
5059 } else if (sc->re_type == MACFG_15) {
5060 CSR_WRITE_1(sc,RE_CFG1, 0x0f);
5062 MP_WriteEPhyUshort(sc, 0x01, 0x6FE5);
5063 MP_WriteEPhyUshort(sc, 0x03, 0x07D9);
5064 } else if (sc->re_type == MACFG_17) {
5065 MP_WriteEPhyUshort(sc, 0x06, 0xAF35);
5066 } else if (sc->re_type == MACFG_18) {
5067 CSR_WRITE_1(sc, 0xF5, CSR_READ_1(sc, 0xF5)|0x04);
5068 MP_WriteEPhyUshort(sc, 0x19, 0xEC90);
5069 MP_WriteEPhyUshort(sc, 0x01, 0x6FE5);
5070 MP_WriteEPhyUshort(sc, 0x03, 0x05D9);
5071 MP_WriteEPhyUshort(sc, 0x06, 0xAF35);
5072 } else if (sc->re_type == MACFG_19) {
5073 if (pci_read_config(sc->dev, 0x80, 1)&3) {
5074 MP_WriteEPhyUshort(sc, 0x02, 0x011F);
5076 CSR_WRITE_1(sc, 0xF4, CSR_READ_1(sc, 0xF4)|0x08);
5077 CSR_WRITE_1(sc, 0xF5, CSR_READ_1(sc, 0xF5)|0x04);
5078 MP_WriteEPhyUshort(sc, 0x19, 0xEC90);
5079 MP_WriteEPhyUshort(sc, 0x01, 0x6FE5);
5080 MP_WriteEPhyUshort(sc, 0x03, 0x05D9);
5081 MP_WriteEPhyUshort(sc, 0x06, 0xAF35);
5083 } else if (macver == 0x3C000000) {
5084 //disable clock request.
5085 pci_write_config(sc->dev, 0x81, 0, 1);
5087 /*set configuration space offset 0x70f to 0x27*/
5088 Data32 = MP_ReadPciEConfigSpace(sc, 0x870c);
5089 Data32 &=0xC0FFFFFF;
5090 Data32 |= (0x27 << 24);
5091 MP_WritePciEConfigSpace(sc, 0x870c, Data32);
5093 CSR_WRITE_1(sc, RE_CFG1, CSR_READ_1(sc, RE_CFG1)|0x10);
5094 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_0);
5096 CSR_WRITE_2 (sc, RE_CPlusCmd, 0x2060);
5097 if (sc->re_type == MACFG_24) {
5098 /*set mac register offset 0xd1 to 0xf8*/
5099 CSR_WRITE_1(sc, RE_DBG_reg, 0xF8);
5101 data16 = MP_ReadEPhyUshort(sc, 0x02) & ~0x1800;
5103 MP_WriteEPhyUshort(sc, 0x02, data16);
5105 data16 = MP_ReadEPhyUshort(sc, 0x03) | 0x0002;
5106 MP_WriteEPhyUshort(sc, 0x03, data16);
5108 data16 = MP_ReadEPhyUshort(sc, 0x06) & ~0x0080;
5109 MP_WriteEPhyUshort(sc, 0x06, data16);
5111 if (ifp->if_mtu > ETHERMTU) {
5112 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) | BIT_2); //Jumbo_en0
5113 CSR_WRITE_1(sc, RE_CFG4, CSR_READ_1(sc, RE_CFG4) | (1 << 1)); //Jumbo_en1
5115 data8 = pci_read_config(sc->dev, 0x79, 1);
5118 pci_write_config(sc->dev, 0x79, data8, 1);
5119 ifp->if_capenable &= ~IFCAP_HWCSUM;
5120 CSR_WRITE_2 (sc, RE_CPlusCmd,CSR_READ_2(sc, RE_CPlusCmd) & ~RL_RxChkSum);
5121 ifp->if_hwassist &= ~RE_CSUM_FEATURES;
5124 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_2); //Jumbo_en0
5125 CSR_WRITE_1(sc, RE_CFG4, CSR_READ_1(sc, RE_CFG4) & ~(1 << 1)); //Jumbo_en1
5126 data8 = pci_read_config(sc->dev, 0x79, 1);
5129 pci_write_config(sc->dev, 0x79, data8, 1);
5130 if (sc->re_tx_cstag) {
5131 ifp->if_capenable |= IFCAP_TXCSUM;
5132 if ((sc->re_type == MACFG_24) || (sc->re_type == MACFG_25) || (sc->re_type == MACFG_26))
5133 ifp->if_hwassist |= CSUM_TCP | CSUM_UDP;
5135 ifp->if_hwassist |= RE_CSUM_FEATURES;
5137 if (sc->re_rx_cstag) {
5138 ifp->if_capenable |= IFCAP_RXCSUM;
5139 CSR_WRITE_2 (sc, RE_CPlusCmd,CSR_READ_2(sc, RE_CPlusCmd) |RL_RxChkSum);
5142 } else if (sc->re_type == MACFG_25) {
5143 data16 = MP_ReadEPhyUshort(sc, 0x01) | 0x0001;
5144 MP_WriteEPhyUshort(sc, 0x01, data16);
5146 data16 = MP_ReadEPhyUshort(sc, 0x03) & ~0x0620;
5148 MP_WriteEPhyUshort(sc, 0x03, data16);
5150 if (ifp->if_mtu > ETHERMTU) {
5151 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) | BIT_2); //Jumbo_en0
5152 CSR_WRITE_1(sc, RE_CFG4, CSR_READ_1(sc, RE_CFG4) | (1<<1)); //Jumbo_en1
5154 data8 = pci_read_config(sc->dev, 0x79, 1);
5157 pci_write_config(sc->dev, 0x79, data8, 1);
5158 ifp->if_capenable &= ~IFCAP_HWCSUM;
5159 CSR_WRITE_2 (sc, RE_CPlusCmd,CSR_READ_2(sc, RE_CPlusCmd) & ~RL_RxChkSum);
5160 ifp->if_hwassist &= ~RE_CSUM_FEATURES;
5163 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_2); //Jumbo_en0
5164 CSR_WRITE_1(sc, RE_CFG4, CSR_READ_1(sc, RE_CFG4) & ~(1<<1)); //Jumbo_en1
5165 data8 = pci_read_config(sc->dev, 0x79, 1);
5168 pci_write_config(sc->dev, 0x79, data8, 1);
5169 if (sc->re_tx_cstag) {
5170 ifp->if_capenable |= IFCAP_TXCSUM;
5171 if ((sc->re_type == MACFG_24) || (sc->re_type == MACFG_25) || (sc->re_type == MACFG_26))
5172 ifp->if_hwassist |= CSUM_TCP | CSUM_UDP;
5174 ifp->if_hwassist |= RE_CSUM_FEATURES;
5176 if (sc->re_rx_cstag) {
5177 ifp->if_capenable |= IFCAP_RXCSUM;
5178 CSR_WRITE_2 (sc, RE_CPlusCmd,CSR_READ_2(sc, RE_CPlusCmd) |RL_RxChkSum);
5183 } else if (sc->re_type == MACFG_26) {
5184 if (ifp->if_mtu > ETHERMTU) {
5185 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) | BIT_2); //Jumbo_en0
5186 CSR_WRITE_1(sc, RE_CFG4, CSR_READ_1(sc, RE_CFG4) | (1<<1)); //Jumbo_en1
5188 data8 = pci_read_config(sc->dev, 0x79, 1);
5191 pci_write_config(sc->dev, 0x79, data8, 1);
5192 ifp->if_capenable &= ~IFCAP_HWCSUM;
5193 CSR_WRITE_2 (sc, RE_CPlusCmd,CSR_READ_2(sc, RE_CPlusCmd) & ~RL_RxChkSum);
5194 ifp->if_hwassist &= ~RE_CSUM_FEATURES;
5196 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_2); //Jumbo_en0
5197 CSR_WRITE_1(sc, RE_CFG4, CSR_READ_1(sc, RE_CFG4) & ~(1<<1)); //Jumbo_en1
5198 data8 = pci_read_config(sc->dev, 0x79, 1);
5201 pci_write_config(sc->dev, 0x79, data8, 1);
5202 if (sc->re_tx_cstag) {
5203 ifp->if_capenable |= IFCAP_TXCSUM;
5204 if ((sc->re_type == MACFG_24) || (sc->re_type == MACFG_25) || (sc->re_type == MACFG_26))
5205 ifp->if_hwassist |= CSUM_TCP | CSUM_UDP;
5207 ifp->if_hwassist |= RE_CSUM_FEATURES;
5209 if (sc->re_rx_cstag) {
5210 ifp->if_capenable |= IFCAP_RXCSUM;
5211 CSR_WRITE_2 (sc, RE_CPlusCmd,CSR_READ_2(sc, RE_CPlusCmd) |RL_RxChkSum);
5215 } else if (macver == 0x3C800000) {
5216 //disable clock request.
5217 pci_write_config(sc->dev, 0x81, 0x00, 1);
5219 /*set configuration space offset 0x70f to 0x27*/
5220 Data32 = MP_ReadPciEConfigSpace(sc, 0x870c);
5221 Data32 &=0xC0FFFFFF;
5222 Data32 |= (0x27 << 24);
5223 MP_WritePciEConfigSpace(sc, 0x870c, Data32);
5225 re_eri_write(sc, 0x1EC, 1, 0x07, ERIAR_ASF);
5227 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_0);
5228 CSR_WRITE_2 (sc, RE_CPlusCmd, 0x2060);
5229 if (sc->re_type == MACFG_28)
5230 CSR_WRITE_1(sc, 0xD1, 0x20);
5232 if (ifp->if_mtu > ETHERMTU) {
5233 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) | BIT_2); //Jumbo_en0
5234 CSR_WRITE_1(sc, RE_CFG4, CSR_READ_1(sc, RE_CFG4) | (1<<1)); //Jumbo_en1
5236 data8 = pci_read_config(sc->dev, 0x79, 1);
5239 pci_write_config(sc->dev, 0x79, data8, 1);
5240 ifp->if_capenable &= ~IFCAP_HWCSUM;
5241 CSR_WRITE_2 (sc, RE_CPlusCmd,CSR_READ_2(sc, RE_CPlusCmd) & ~RL_RxChkSum);
5242 ifp->if_hwassist &= ~RE_CSUM_FEATURES;
5244 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_2); //Jumbo_en0
5245 CSR_WRITE_1(sc, RE_CFG4, CSR_READ_1(sc, RE_CFG4) & ~(1<<1)); //Jumbo_en1
5246 data8 = pci_read_config(sc->dev, 0x79, 1);
5249 pci_write_config(sc->dev, 0x79, data8, 1);
5250 if (sc->re_tx_cstag) {
5251 ifp->if_capenable |= IFCAP_TXCSUM;
5252 ifp->if_hwassist |= RE_CSUM_FEATURES;
5254 if (sc->re_rx_cstag) {
5255 ifp->if_capenable |= IFCAP_RXCSUM;
5256 CSR_WRITE_2 (sc, RE_CPlusCmd,CSR_READ_2(sc, RE_CPlusCmd) |RL_RxChkSum);
5259 } else if (macver == 0x28000000) {
5260 //disable clock request.
5261 pci_write_config(sc->dev, 0x81, 0x00, 1);
5263 /*set configuration space offset 0x70f to 0x13*/
5264 Data32 = MP_ReadPciEConfigSpace(sc, 0x870c);
5265 Data32 &=0xC0FFFFFF;
5266 Data32 |= (0x27 << 24);
5267 MP_WritePciEConfigSpace(sc, 0x870c, Data32);
5269 CSR_WRITE_1(sc, RE_TDFNR, 0x8);
5271 CSR_WRITE_1(sc, 0xD1, CSR_READ_1(sc, 0xD1) | 0x02);
5273 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_0);
5274 CSR_WRITE_1(sc, RE_DBG_reg, CSR_READ_1(sc, RE_DBG_reg)|0x82);
5276 CSR_WRITE_2 (sc, RE_CPlusCmd, 0x2060);
5278 if (ifp->if_mtu > ETHERMTU) {
5279 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) | BIT_2); //Jumbo_en0
5280 CSR_WRITE_1(sc, RE_CFG4, CSR_READ_1(sc, RE_CFG4) | (1<<1)); //Jumbo_en1
5282 data8 = pci_read_config(sc->dev, 0x79, 1);
5285 pci_write_config(sc->dev, 0x79, data8, 1);
5286 ifp->if_capenable &= ~IFCAP_HWCSUM;
5287 CSR_WRITE_2 (sc, RE_CPlusCmd,CSR_READ_2(sc, RE_CPlusCmd) & ~RL_RxChkSum);
5288 ifp->if_hwassist &= ~RE_CSUM_FEATURES;
5291 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_2); //Jumbo_en0
5292 CSR_WRITE_1(sc, RE_CFG4, CSR_READ_1(sc, RE_CFG4) & ~(1<<1)); //Jumbo_en1
5293 data8 = pci_read_config(sc->dev, 0x79, 1);
5296 pci_write_config(sc->dev, 0x79, data8, 1);
5297 if (sc->re_tx_cstag) {
5298 ifp->if_capenable |= IFCAP_TXCSUM;
5299 ifp->if_hwassist |= RE_CSUM_FEATURES;
5301 if (sc->re_rx_cstag) {
5302 ifp->if_capenable |= IFCAP_RXCSUM;
5303 CSR_WRITE_2 (sc, RE_CPlusCmd,CSR_READ_2(sc, RE_CPlusCmd) |RL_RxChkSum);
5307 if (sc->re_type == MACFG_31) {
5308 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~(1<<4));
5310 MP_WriteEPhyUshort(sc, 0x01, 0x7C7F);
5311 MP_WriteEPhyUshort(sc, 0x02, 0x011F);
5312 MP_WriteEPhyUshort(sc, 0x06, 0xB271);
5313 MP_WriteEPhyUshort(sc, 0x07, 0xCE00);
5314 } else if (sc->re_type == MACFG_32) {
5315 MP_WriteEPhyUshort(sc, 0x01, 0x7C7D);
5316 MP_WriteEPhyUshort(sc, 0x02, 0x091F);
5317 MP_WriteEPhyUshort(sc, 0x03, 0xC5BA);
5318 MP_WriteEPhyUshort(sc, 0x06, 0xB279);
5319 MP_WriteEPhyUshort(sc, 0x07, 0xAF00);
5320 MP_WriteEPhyUshort(sc, 0x1E, 0xB8EB);
5321 } else if (sc->re_type == MACFG_33) {
5322 CSR_WRITE_1(sc, RE_CFG1, CSR_READ_1(sc, RE_CFG1)|0x10);
5324 MP_WriteEPhyUshort(sc, 0x01, 0x6C7F);
5325 MP_WriteEPhyUshort(sc, 0x02, 0x011F);
5326 ClearAndSetPCIePhyBit(sc,
5331 MP_WriteEPhyUshort(sc, 0x1A, 0x0546);
5332 MP_WriteEPhyUshort(sc, 0x1C, 0x80C4);
5333 MP_WriteEPhyUshort(sc, 0x1D, 0x78E5);
5334 MP_WriteEPhyUshort(sc, 0x0A, 0x8100);
5336 } else if (macver == 0x28800000) {
5337 /* disable clock request. */
5338 pci_write_config(sc->dev, 0x81, 0x00, 1);
5340 /*set configuration space offset 0x70f to 0x17*/
5341 Data32 = MP_ReadPciEConfigSpace(sc, 0x870c);
5342 Data32 &=0xC0FFFFFF;
5343 Data32 |= (0x27 << 24);
5344 MP_WritePciEConfigSpace(sc, 0x870c, Data32);
5346 CSR_WRITE_1(sc, RE_TDFNR, 0x8);
5348 (sc->re_type == MACFG_63 || sc->re_type == MACFG_64))
5349 CSR_WRITE_1(sc, RE_TDFNR, 0x1);
5351 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_0);
5352 CSR_WRITE_1(sc, RE_DBG_reg, CSR_READ_1(sc, RE_DBG_reg)|0x82);
5354 CSR_WRITE_2 (sc, RE_CPlusCmd, 0x2060);
5356 if (ifp->if_mtu > ETHERMTU) {
5357 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) | BIT_2); //Jumbo_en0
5358 CSR_WRITE_1(sc, RE_CFG4, CSR_READ_1(sc, RE_CFG4) | (1<<1)); //Jumbo_en1
5360 data8 = pci_read_config(sc->dev, 0x79, 1);
5363 pci_write_config(sc->dev, 0x79, data8, 1);
5364 ifp->if_capenable &= ~IFCAP_HWCSUM;
5365 CSR_WRITE_2 (sc, RE_CPlusCmd,CSR_READ_2(sc, RE_CPlusCmd) & ~RL_RxChkSum);
5366 ifp->if_hwassist &= ~RE_CSUM_FEATURES;
5369 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_2); //Jumbo_en0
5370 CSR_WRITE_1(sc, RE_CFG4, CSR_READ_1(sc, RE_CFG4) & ~(1<<1)); //Jumbo_en1
5371 data8 = pci_read_config(sc->dev, 0x79, 1);
5374 pci_write_config(sc->dev, 0x79, data8, 1);
5375 if (sc->re_tx_cstag) {
5376 ifp->if_capenable |= IFCAP_TXCSUM;
5377 ifp->if_hwassist |= RE_CSUM_FEATURES;
5379 if (sc->re_rx_cstag) {
5380 ifp->if_capenable |= IFCAP_RXCSUM;
5381 CSR_WRITE_2 (sc, RE_CPlusCmd,CSR_READ_2(sc, RE_CPlusCmd) |RL_RxChkSum);
5385 if (sc->re_type == MACFG_65 || sc->re_type == MACFG_66) {
5386 SetPCIePhyBit(sc, 0x0B, (BIT_3 | BIT_6));
5388 ClearAndSetPCIePhyBit(sc,
5394 ClearAndSetPCIePhyBit(sc,
5400 ClearPCIePhyBit(sc, 0x10, (BIT_2));
5402 } else if (macver == 0x2C000000) {
5403 /* disable clock request. */
5404 pci_write_config(sc->dev, 0x81, 0x00, 1);
5406 /*set configuration space offset 0x70f to 0x20*/
5407 Data32 = MP_ReadPciEConfigSpace(sc, 0x870c);
5408 Data32 &=0xC0FFFFFF;
5409 Data32 |= (0x27 << 24);
5410 MP_WritePciEConfigSpace(sc, 0x870c, Data32);
5412 CSR_WRITE_1(sc, 0xF3, CSR_READ_1(sc, 0xF3)|0x20);
5413 CSR_WRITE_1(sc, 0xF3, CSR_READ_1(sc, 0xF3)& ~0x20);
5415 CSR_WRITE_1(sc, 0xD0, CSR_READ_1(sc, 0xD0)|0xC0);
5416 CSR_WRITE_1(sc, 0xF1, CSR_READ_1(sc, 0xF1)|0x73);
5417 CSR_WRITE_1(sc, RE_CFG5, (CSR_READ_1(sc, RE_CFG5)& ~0x08));
5418 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_0);
5420 CSR_WRITE_1(sc, RE_TDFNR, 0x8);
5422 if (sc->re_type == MACFG_36 || sc->re_type == MACFG_37) {
5423 /* set EPHY registers */
5424 data16 = MP_ReadEPhyUshort(sc, 0x00) & ~0x0200;
5426 MP_WriteEPhyUshort(sc, 0x00, data16);
5428 data16 = MP_ReadEPhyUshort(sc, 0x00);
5430 MP_WriteEPhyUshort(sc, 0x00, data16);
5432 data16 = MP_ReadEPhyUshort(sc, 0x06) & ~0x0002;
5434 MP_WriteEPhyUshort(sc, 0x06, data16);
5436 data16 = MP_ReadEPhyUshort(sc, 0x06);
5438 MP_WriteEPhyUshort(sc, 0x06, data16);
5440 data16 = MP_ReadEPhyUshort(sc, 0x07);
5442 MP_WriteEPhyUshort(sc, 0x07, data16);
5444 data16 = MP_ReadEPhyUshort(sc, 0x00);
5446 MP_WriteEPhyUshort(sc, 0x00, data16);
5448 data16 = MP_ReadEPhyUshort(sc, 0x03) & ~0x5800;
5450 MP_WriteEPhyUshort(sc, 0x03, data16);
5452 data16 = MP_ReadEPhyUshort(sc, 0x03);
5454 MP_WriteEPhyUshort(sc, 0x03, data16);
5456 data16 = MP_ReadEPhyUshort(sc, 0x01) & ~0x0800;
5458 MP_WriteEPhyUshort(sc, 0x01, data16);
5460 data16 = MP_ReadEPhyUshort(sc, 0x07);
5462 MP_WriteEPhyUshort(sc, 0x07, data16);
5464 data16 = MP_ReadEPhyUshort(sc, 0x1E);
5466 MP_WriteEPhyUshort(sc, 0x1E, data16);
5468 MP_WriteEPhyUshort(sc, 0x19, 0xFE6C);
5470 data16 = MP_ReadEPhyUshort(sc, 0x0A);
5472 MP_WriteEPhyUshort(sc, 0x0A, data16);
5474 if (ifp->if_mtu > ETHERMTU) {
5475 CSR_WRITE_1 (sc, RE_MTPS, 0x24);
5476 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) | BIT_2);
5477 CSR_WRITE_1(sc, RE_CFG4, CSR_READ_1(sc, RE_CFG4) |0x01);
5478 data8 = pci_read_config(sc->dev, 0x79, 1);
5481 pci_write_config(sc->dev, 0x79, data8, 1);
5482 ifp->if_capenable &= ~IFCAP_HWCSUM;
5483 CSR_WRITE_2 (sc, RE_CPlusCmd,CSR_READ_2(sc, RE_CPlusCmd) & ~RL_RxChkSum);
5484 ifp->if_hwassist &= ~RE_CSUM_FEATURES;
5486 CSR_WRITE_1 (sc, RE_MTPS, 0x0c);
5487 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_2);
5488 CSR_WRITE_1(sc, RE_CFG4, CSR_READ_1(sc, RE_CFG4) & ~0x01);
5489 data8 = pci_read_config(sc->dev, 0x79, 1);
5492 pci_write_config(sc->dev, 0x79, data8, 1);
5494 if (sc->re_tx_cstag) {
5495 ifp->if_capenable |= IFCAP_TXCSUM;
5496 ifp->if_hwassist |= RE_CSUM_FEATURES;
5498 if (sc->re_rx_cstag) {
5499 ifp->if_capenable |= IFCAP_RXCSUM;
5500 CSR_WRITE_2 (sc, RE_CPlusCmd,CSR_READ_2(sc, RE_CPlusCmd) |RL_RxChkSum);
5504 } else if (macver == 0x2C800000) {
5505 /* disable clock request. */
5506 pci_write_config(sc->dev, 0x81, 0x00, 1);
5508 /*set configuration space offset 0x70f to 0x27*/
5509 Data32 = MP_ReadPciEConfigSpace(sc, 0x870c);
5510 Data32 &=0xC0FFFFFF;
5511 Data32 |= (0x27 << 24);
5512 MP_WritePciEConfigSpace(sc, 0x870c, Data32);
5514 data8 = pci_read_config(sc->dev, 0x79, 1);
5517 pci_write_config(sc->dev, 0x79, data8, 1);
5519 CSR_WRITE_1(sc, RE_TDFNR, 0x8);
5521 re_eri_write(sc, 0xC0, 2, 0x0000, ERIAR_ExGMAC);
5522 re_eri_write(sc, 0xB8, 4, 0x00000000, ERIAR_ExGMAC);
5523 re_eri_write(sc, 0xC8, 4, 0x00100002, ERIAR_ExGMAC);
5524 re_eri_write(sc, 0xE8, 4, 0x00100006, ERIAR_ExGMAC);
5525 Data32 = re_eri_read(sc, 0xdc, 4, ERIAR_ExGMAC);
5527 re_eri_write(sc, 0xdc, 1, Data32, ERIAR_ExGMAC);
5529 re_eri_write(sc, 0xdc, 1, Data32, ERIAR_ExGMAC);
5531 Data32 = re_eri_read(sc, 0xD4, 4, ERIAR_ExGMAC);
5532 Data32 |= (BIT_8 | BIT_9 | BIT_10 | BIT_11 | BIT_12);
5533 re_eri_write(sc, 0xD4, 4, Data32, ERIAR_ExGMAC);
5534 if (sc ->re_type == MACFG_39) {
5535 Data32 = re_eri_read(sc, 0x1B0, 4, ERIAR_ExGMAC);
5537 re_eri_write(sc, 0x1B0, 4, Data32, ERIAR_ExGMAC);
5538 re_eri_write(sc, 0xCC, 4, 0x00000050, ERIAR_ExGMAC);
5539 re_eri_write(sc, 0xD0, 4, 0x07ff0060, ERIAR_ExGMAC);
5542 CSR_WRITE_4(sc, RE_TXCFG, CSR_READ_4(sc, RE_TXCFG) |BIT_7);
5543 CSR_WRITE_1(sc, 0xD3, CSR_READ_1(sc, 0xD3) & ~BIT_7);
5544 CSR_WRITE_1(sc, 0x1B, CSR_READ_1(sc, 0x1B) & ~0x07);
5546 CSR_WRITE_2 (sc, RE_CPlusCmd, 0x2060);
5548 if (sc ->re_type == MACFG_38) {
5549 CSR_WRITE_4(sc, 0xB0, 0xEE480010);
5550 CSR_WRITE_1(sc, 0x1A, CSR_READ_1(sc, 0x1A) & ~(BIT_2 |BIT_3));
5551 re_eri_write(sc, 0x1DC, 1, 0x64, ERIAR_ExGMAC);
5553 MP_WriteEPhyUshort(sc, 0x06, 0xF020);
5554 MP_WriteEPhyUshort(sc, 0x07, 0x01FF);
5555 MP_WriteEPhyUshort(sc, 0x00, 0x5027);
5556 MP_WriteEPhyUshort(sc, 0x01, 0x0003);
5557 MP_WriteEPhyUshort(sc, 0x02, 0x2D16);
5558 MP_WriteEPhyUshort(sc, 0x03, 0x6D49);
5559 MP_WriteEPhyUshort(sc, 0x08, 0x0006);
5560 MP_WriteEPhyUshort(sc, 0x0A, 0x00C8);
5563 data16 = MP_ReadEPhyUshort(sc, 0x09);
5565 MP_WriteEPhyUshort(sc, 0x09, data16);
5567 data16 = MP_ReadEPhyUshort(sc, 0x19);
5568 data16 |= (BIT_2 | BIT_5 | BIT_9);
5569 MP_WriteEPhyUshort(sc, 0x19, data16);
5571 SetPCIePhyBit(sc, 0x00, BIT_3);
5572 ClearAndSetPCIePhyBit(sc,
5574 (BIT_13|BIT_12|BIT_11|BIT_10|BIT_8|BIT_7|BIT_6|BIT_5|BIT_4),
5578 CSR_WRITE_1(sc, RE_CFG2, CSR_READ_1(sc, RE_CFG2) | BIT_5);
5579 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_0);
5581 CSR_WRITE_1(sc, 0xD0, CSR_READ_1(sc, 0xD0) | BIT_6);
5582 CSR_WRITE_1(sc, 0xF2, CSR_READ_1(sc, 0xF2) | BIT_6);
5584 CSR_WRITE_1 (sc, RE_MTPS, 0x27);
5585 ifp->if_capenable &= ~IFCAP_HWCSUM;
5586 ifp->if_hwassist &= ~RE_CSUM_FEATURES;
5587 } else if (macver == 0x24000000) {
5588 if (pci_read_config(sc->dev, 0x81, 1)==1) {
5589 CSR_WRITE_1(sc, RE_DBG_reg, 0x98);
5590 CSR_WRITE_1(sc, RE_CFG2, CSR_READ_1(sc, RE_CFG2) | 0x80);
5591 CSR_WRITE_1(sc, RE_CFG4, CSR_READ_1(sc, RE_CFG4) | 0x04);
5592 pci_write_config(sc->dev, 0x81, 1, 1);
5594 data8 = pci_read_config(sc->dev, 0x79, 1);
5597 pci_write_config(sc->dev, 0x79, data8, 1);
5599 /*set configuration space offset 0x70f to 0x3F*/
5600 Data32 = MP_ReadPciEConfigSpace(sc, 0x870c);
5601 Data32 &=0xC0FFFFFF;
5602 Data32 |= (0x3F << 24);
5603 MP_WritePciEConfigSpace(sc, 0x870c, Data32);
5605 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_0);
5607 CSR_WRITE_2 (sc, RE_CPlusCmd, 0x2060);
5609 MP_WriteEPhyUshort(sc, 0x06, 0xAF25);
5610 MP_WriteEPhyUshort(sc, 0x07, 0x8E68);
5611 } else if (macver == 0x40800000) {
5612 CSR_WRITE_1(sc, 0xF2, CSR_READ_1(sc, 0xF2) | 0x80);
5613 CSR_WRITE_1(sc, 0xF1, CSR_READ_1(sc, 0xF1) | 0x28);
5614 CSR_WRITE_1(sc, 0xD3, CSR_READ_1(sc, 0xD3) | 0x0C);
5615 CSR_WRITE_1(sc, 0xD3, CSR_READ_1(sc, 0xD3) & ~BIT_7);
5616 CSR_WRITE_1(sc, 0xD0, CSR_READ_1(sc, 0xD0) | 0x40);
5617 CSR_WRITE_2(sc, 0xE0, CSR_READ_2(sc, 0xE0) & ~0xDF9C);
5618 CSR_WRITE_1(sc, 0xD1, CSR_READ_1(sc, 0xD1) | 0x02);
5620 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_0);
5622 if (sc->re_type == MACFG_42) {
5623 /* set EPHY registers */
5624 SetPCIePhyBit(sc, 0x07, BIT_14);
5625 SetPCIePhyBit(sc, 0x19, BIT_9);
5626 SetPCIePhyBit(sc, 0x19, BIT_5);
5627 SetPCIePhyBit(sc, 0x1E, BIT_13);
5628 SetPCIePhyBit(sc, 0x03, BIT_0);
5629 SetPCIePhyBit(sc, 0x19, BIT_8);
5630 SetPCIePhyBit(sc, 0x19, BIT_2);
5631 SetPCIePhyBit(sc, 0x0A, BIT_5);
5632 SetPCIePhyBit(sc, 0x05, BIT_13);
5634 if (sc->re_type == MACFG_43) {
5635 SetPCIePhyBit(sc, 0x07, BIT_14);
5636 SetPCIePhyBit(sc, 0x19, BIT_9);
5637 SetPCIePhyBit(sc, 0x19, BIT_5);
5638 SetPCIePhyBit(sc, 0x1E, BIT_13);
5639 SetPCIePhyBit(sc, 0x03, BIT_0);
5640 SetPCIePhyBit(sc, 0x19, BIT_8);
5641 SetPCIePhyBit(sc, 0x19, BIT_2);
5642 SetPCIePhyBit(sc, 0x0A, BIT_5);
5643 SetPCIePhyBit(sc, 0x1E, BIT_15);
5644 SetPCIePhyBit(sc, 0x05, BIT_13);
5646 } else if (macver == 0x44000000) {
5648 CSR_WRITE_2(sc, 0xE0, CSR_READ_2(sc, 0xE0) & ~0xDF9C);
5650 re_eri_write(sc, 0xC8, 4, 0x00000002, ERIAR_ExGMAC);
5651 re_eri_write(sc, 0xE8, 4, 0x00000006, ERIAR_ExGMAC);
5653 Data32 = re_eri_read(sc, 0xD4, 4, ERIAR_ExGMAC);
5654 Data32 |= BIT_11 | BIT_10;
5655 re_eri_write(sc, 0xD4, 4, Data32, ERIAR_ExGMAC);
5657 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_0);
5659 /* set EPHY registers */
5660 MP_WriteEPhyUshort(sc, 0x19, 0xFF64);
5662 CSR_WRITE_1 (sc, RE_MTPS, 0x27);
5663 } else if (macver == 0x48000000) {
5664 /*set configuration space offset 0x70f to 0x27*/
5665 Data32 = MP_ReadPciEConfigSpace(sc, 0x870c);
5666 Data32 &=0xC0FFFFFF;
5667 Data32 |= (0x27 << 24);
5668 MP_WritePciEConfigSpace(sc, 0x870c, Data32);
5670 data8 = pci_read_config(sc->dev, 0x79, 1);
5673 pci_write_config(sc->dev, 0x79, data8, 1);
5675 CSR_WRITE_1(sc, RE_TDFNR, 0x8);
5677 Data32 = re_eri_read(sc, 0xD4, 4, ERIAR_ExGMAC);
5678 Data32 |= (BIT_8 | BIT_9 | BIT_10 | BIT_11 | BIT_12);
5679 re_eri_write(sc, 0xD4, 4, Data32, ERIAR_ExGMAC);
5680 re_eri_write(sc, 0xC0, 2, 0x0000, ERIAR_ExGMAC);
5681 re_eri_write(sc, 0xB8, 4, 0x00000000, ERIAR_ExGMAC);
5682 re_eri_write(sc, 0xC8, 4, 0x00100002, ERIAR_ExGMAC);
5683 re_eri_write(sc, 0xE8, 4, 0x00100006, ERIAR_ExGMAC);
5684 Data32 = re_eri_read(sc, 0xdc, 4, ERIAR_ExGMAC);
5686 re_eri_write(sc, 0xdc, 1, Data32, ERIAR_ExGMAC);
5688 re_eri_write(sc, 0xdc, 1, Data32, ERIAR_ExGMAC);
5689 Data32 = re_eri_read(sc, 0x1B0, 4, ERIAR_ExGMAC);
5691 re_eri_write(sc, 0x1B0, 4, Data32, ERIAR_ExGMAC);
5692 re_eri_write(sc, 0xCC, 4, 0x00000050, ERIAR_ExGMAC);
5693 re_eri_write(sc, 0xD0, 4, 0x00000060, ERIAR_ExGMAC);
5694 Data32 = re_eri_read(sc, 0x1D0, 4, ERIAR_ExGMAC);
5696 re_eri_write(sc, 0x1D0, 4, Data32, ERIAR_ExGMAC);
5698 CSR_WRITE_4(sc, RE_TXCFG, CSR_READ_4(sc, RE_TXCFG) | BIT_7);
5699 CSR_WRITE_1(sc, 0xD3, CSR_READ_1(sc, 0xD3) & ~BIT_7);
5700 CSR_WRITE_1(sc, 0x1B, CSR_READ_1(sc, 0x1B) & ~0x07);
5702 CSR_WRITE_2 (sc, RE_CPlusCmd, 0x2060);
5704 if (sc->re_type == MACFG_50) {
5705 data16 = MP_ReadEPhyUshort(sc, 0x06);
5706 data16 &= ~(BIT_7 | BIT_6);
5708 MP_WriteEPhyUshort(sc, 0x06, data16);
5710 data16 = MP_ReadEPhyUshort(sc, 0x08);
5713 MP_WriteEPhyUshort(sc, 0x08, data16);
5716 data16 = MP_ReadEPhyUshort(sc, 0x09);
5718 MP_WriteEPhyUshort(sc, 0x09, data16);
5720 data16 = MP_ReadEPhyUshort(sc, 0x19);
5721 data16 |= (BIT_2 | BIT_5 | BIT_9);
5722 MP_WriteEPhyUshort(sc, 0x19, data16);
5724 SetPCIePhyBit(sc, 0x00, BIT_3);
5725 ClearAndSetPCIePhyBit(sc,
5727 (BIT_13|BIT_12|BIT_11|BIT_10|BIT_8|BIT_7|BIT_6|BIT_5|BIT_4),
5731 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_0);
5733 CSR_WRITE_1(sc, 0xD0, CSR_READ_1(sc, 0xD0) | BIT_6);
5734 CSR_WRITE_1(sc, 0xF2, CSR_READ_1(sc, 0xF2) | BIT_6);
5736 CSR_WRITE_1 (sc, RE_MTPS, 0x27);
5738 if (ifp->if_mtu > ETHERMTU) {
5739 ifp->if_capenable &= ~IFCAP_HWCSUM;
5740 ifp->if_hwassist &= ~RE_CSUM_FEATURES;
5742 if (sc->re_tx_cstag) {
5743 ifp->if_capenable |= IFCAP_TXCSUM;
5744 ifp->if_hwassist |= RE_CSUM_FEATURES;
5746 if (sc->re_rx_cstag) {
5747 ifp->if_capenable |= IFCAP_RXCSUM;
5750 } else if (macver == 0x48800000) {
5751 /*set configuration space offset 0x70f to 0x27*/
5752 Data32 = MP_ReadPciEConfigSpace(sc, 0x870c);
5753 Data32 &=0xC0FFFFFF;
5754 Data32 |= (0x27 << 24);
5755 MP_WritePciEConfigSpace(sc, 0x870c, Data32);
5757 data8 = pci_read_config(sc->dev, 0x79, 1);
5760 pci_write_config(sc->dev, 0x79, data8, 1);
5762 CSR_WRITE_1(sc, RE_TDFNR, 0x8);
5764 Data32 = re_eri_read(sc, 0xD4, 4, ERIAR_ExGMAC);
5765 Data32 |= BIT_11 | BIT_10;
5766 re_eri_write(sc, 0xD4, 4, Data32, ERIAR_ExGMAC);
5767 re_eri_write(sc, 0xC0, 2, 0x0000, ERIAR_ExGMAC);
5768 re_eri_write(sc, 0xB8, 4, 0x00000000, ERIAR_ExGMAC);
5769 re_eri_write(sc, 0xC8, 4, 0x00100002, ERIAR_ExGMAC);
5770 re_eri_write(sc, 0xE8, 4, 0x00100006, ERIAR_ExGMAC);
5771 Data32 = re_eri_read(sc, 0xdc, 4, ERIAR_ExGMAC);
5773 re_eri_write(sc, 0xdc, 1, Data32, ERIAR_ExGMAC);
5775 re_eri_write(sc, 0xdc, 1, Data32, ERIAR_ExGMAC);
5776 Data32 = re_eri_read(sc, 0x1B0, 4, ERIAR_ExGMAC);
5778 re_eri_write(sc, 0x1B0, 4, Data32, ERIAR_ExGMAC);
5779 re_eri_write(sc, 0xCC, 4, 0x00000050, ERIAR_ExGMAC);
5780 re_eri_write(sc, 0xD0, 4, 0x00000060, ERIAR_ExGMAC);
5781 Data32 = re_eri_read(sc, 0x1D0, 4, ERIAR_ExGMAC);
5783 re_eri_write(sc, 0x1D0, 4, Data32, ERIAR_ExGMAC);
5785 CSR_WRITE_4(sc, RE_TXCFG, CSR_READ_4(sc, RE_TXCFG) | BIT_7);
5786 CSR_WRITE_1(sc, 0xD3, CSR_READ_1(sc, 0xD3) & ~BIT_7);
5787 // CSR_WRITE_1(sc, 0x1B, CSR_READ_1(sc, 0x1B) & ~0x07);
5789 CSR_WRITE_2 (sc, RE_CPlusCmd, 0x2060);
5791 data16 = MP_ReadEPhyUshort(sc, 0x06);
5792 data16 &= ~(BIT_7 | BIT_6);
5794 MP_WriteEPhyUshort(sc, 0x06, data16);
5796 MP_WriteEPhyUshort(sc, 0x0f, 0x5200);
5798 data16 = MP_ReadEPhyUshort(sc, 0x1e);
5800 MP_WriteEPhyUshort(sc, 0x1e, data16);
5802 data16 = MP_ReadEPhyUshort(sc, 0x19);
5803 data16 |= (BIT_2 | BIT_5 | BIT_9);
5804 MP_WriteEPhyUshort(sc, 0x19, data16);
5806 SetPCIePhyBit(sc, 0x00, BIT_3);
5807 ClearAndSetPCIePhyBit(sc,
5809 (BIT_13|BIT_12|BIT_11|BIT_10|BIT_8|BIT_7|BIT_6|BIT_5|BIT_4),
5813 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_0);
5815 CSR_WRITE_1(sc, 0xD0, CSR_READ_1(sc, 0xD0) | BIT_6);
5816 CSR_WRITE_1(sc, 0xF2, CSR_READ_1(sc, 0xF2) | BIT_6);
5818 CSR_WRITE_1 (sc, RE_MTPS, 0x27);
5820 if (ifp->if_mtu > ETHERMTU) {
5821 ifp->if_capenable &= ~IFCAP_HWCSUM;
5822 ifp->if_hwassist &= ~RE_CSUM_FEATURES;
5824 if (sc->re_tx_cstag) {
5825 ifp->if_capenable |= IFCAP_TXCSUM;
5826 ifp->if_hwassist |= RE_CSUM_FEATURES;
5828 if (sc->re_rx_cstag) {
5829 ifp->if_capenable |= IFCAP_RXCSUM;
5832 } else if (macver == 0x44800000) {
5833 CSR_WRITE_1(sc, 0xF2, CSR_READ_1(sc, 0xF2) | 0x80);
5834 CSR_WRITE_1(sc, 0xF1, CSR_READ_1(sc, 0xF1) | 0x28);
5835 CSR_WRITE_1(sc, 0xD3, CSR_READ_1(sc, 0xD3) | 0x0C);
5836 CSR_WRITE_1(sc, 0xD3, CSR_READ_1(sc, 0xD3) & ~BIT_7);
5837 CSR_WRITE_1(sc, 0xD0, CSR_READ_1(sc, 0xD0) | 0x40);
5838 CSR_WRITE_2(sc, 0xE0, CSR_READ_2(sc, 0xE0) & ~0xDF9C);
5840 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_0);
5841 } else if (macver == 0x4C000000 || macver == 0x50800000 ||
5842 macver == 0x5C800000 || macver == 0x54000000) {
5843 CSR_WRITE_1(sc, RE_CFG2, CSR_READ_1(sc, RE_CFG2) | BIT_5);
5845 if (sc->re_type == MACFG_59) {
5846 MP_WriteMcuAccessRegWord(sc, 0xD3C0, 0x0B00);
5847 MP_WriteMcuAccessRegWord(sc, 0xD3C2, 0x0000);
5850 if (sc->re_type == MACFG_68 || sc->re_type == MACFG_69) {
5851 MP_WriteMcuAccessRegWord(sc, 0xD400, MP_ReadMcuAccessRegWord(sc, 0xD400) & ~(BIT_0));
5853 data16 = MP_ReadMcuAccessRegWord(sc, 0xE63E);
5854 data16 &= ~(BIT_3 | BIT_2 | BIT_1);
5855 MP_WriteMcuAccessRegWord(sc, 0xE63E, data16);
5857 MP_WriteMcuAccessRegWord(sc, 0xE63E, data16);
5859 MP_WriteMcuAccessRegWord(sc, 0xE63E, data16);
5860 MP_WriteMcuAccessRegWord(sc, 0xC094, 0x0);
5861 MP_WriteMcuAccessRegWord(sc, 0xC09E, 0x0);
5863 MP_WriteMcuAccessRegWord(sc, 0xE098, 0x0AA2);
5866 /*set configuration space offset 0x70f to 0x17*/
5867 Data32 = MP_ReadPciEConfigSpace(sc, 0x870c);
5868 Data32 &=0xC0FFFFFF;
5869 Data32 |= (0x27 << 24);
5870 MP_WritePciEConfigSpace(sc, 0x870c, Data32);
5872 data8 = pci_read_config(sc->dev, 0x79, 1);
5875 pci_write_config(sc->dev, 0x79, data8, 1);
5877 CSR_WRITE_1(sc, RE_TDFNR, 0x4);
5879 if (sc->re_type == MACFG_56 || sc->re_type == MACFG_57) {
5880 Data32 = MP_ReadPciEConfigSpace(sc, 0x2710);
5881 Data32 &=0xFFFF0FFF;
5882 Data32 |= (0x04 << 12);
5883 MP_WritePciEConfigSpace(sc, 0x2710, Data32);
5886 if (sc->re_type == MACFG_68 || sc->re_type == MACFG_69) {
5887 Data32 = re_eri_read(sc, 0xD4, 4, ERIAR_ExGMAC);
5888 Data32 |= (BIT_8 | BIT_9 | BIT_10 | BIT_11 | BIT_12);
5889 re_eri_write(sc, 0xD4, 4, Data32, ERIAR_ExGMAC);
5891 Data32 = re_eri_read(sc, 0xDC, 4, ERIAR_ExGMAC);
5892 Data32 |= (BIT_2| BIT_3 | BIT_4);
5893 re_eri_write(sc, 0xDC, 4, Data32, ERIAR_ExGMAC);
5895 Data32 = re_eri_read(sc, 0xD4, 4, ERIAR_ExGMAC);
5896 Data32 |= (BIT_7 | BIT_8 | BIT_9 | BIT_10 | BIT_11 | BIT_12);
5897 re_eri_write(sc, 0xD4, 4, Data32, ERIAR_ExGMAC);
5900 re_eri_write(sc, 0xC8, 4, 0x00080002, ERIAR_ExGMAC);
5901 re_eri_write(sc, 0xCC, 1, 0x38, ERIAR_ExGMAC);
5902 re_eri_write(sc, 0xD0, 1, 0x48, ERIAR_ExGMAC);
5903 re_eri_write(sc, 0xE8, 4, 0x00100006, ERIAR_ExGMAC);
5905 if (sc->re_type == MACFG_68 || sc->re_type == MACFG_69)
5906 MP_WriteMcuAccessRegWord(sc, 0xE054, 0xFC01);
5908 re_eri_write(sc, 0x5F0, 4, 0x4F87, ERIAR_ExGMAC);
5910 Data32 = re_eri_read(sc, 0xdc, 4, ERIAR_ExGMAC);
5912 re_eri_write(sc, 0xdc, 1, Data32, ERIAR_ExGMAC);
5914 re_eri_write(sc, 0xdc, 1, Data32, ERIAR_ExGMAC);
5916 Data32 = re_eri_read(sc, 0x2FC, 4, ERIAR_ExGMAC);
5917 Data32 &= ~(BIT_0 | BIT_1 | BIT_2);
5919 re_eri_write(sc, 0x2FC, 4, Data32, ERIAR_ExGMAC);
5921 Data32 = re_eri_read(sc, 0x1B0, 4, ERIAR_ExGMAC);
5923 re_eri_write(sc, 0x1B0, 4, Data32, ERIAR_ExGMAC);
5925 CSR_WRITE_4(sc, RE_TXCFG, CSR_READ_4(sc, RE_TXCFG) | BIT_7);
5926 CSR_WRITE_1(sc, 0xD3, CSR_READ_1(sc, 0xD3) & ~BIT_7);
5927 CSR_WRITE_1(sc, 0x1B, CSR_READ_1(sc, 0x1B) & ~0x07);
5929 CSR_WRITE_2 (sc, RE_CPlusCmd, 0x2060);
5931 if (sc->re_type == MACFG_56 || sc->re_type == MACFG_57) {
5932 ClearPCIePhyBit(sc, 0x00, BIT_3);
5933 ClearAndSetPCIePhyBit(sc,
5935 (BIT_13|BIT_12|BIT_10|BIT_9|BIT_8|BIT_7|BIT_6|BIT_4),
5938 SetPCIePhyBit(sc, 0x1E, BIT_0);
5939 ClearPCIePhyBit(sc, 0x19, BIT_15);
5940 } else if (sc->re_type == MACFG_58) {
5941 SetPCIePhyBit(sc, 0x00, (BIT_3));
5942 ClearAndSetPCIePhyBit(sc,
5944 (BIT_13 | BIT_12 | BIT_11 | BIT_10 | BIT_8 | BIT_7 | BIT_6 | BIT_5 | BIT_4),
5947 } else if (sc->re_type == MACFG_59) {
5948 ClearPCIePhyBit(sc, 0x00, BIT_3);
5949 ClearAndSetPCIePhyBit(sc,
5951 (BIT_13 | BIT_12 | BIT_10 | BIT_9 | BIT_8 | BIT_7 | BIT_6 | BIT_4),
5955 SetPCIePhyBit(sc, 0x1E, BIT_0);
5956 ClearPCIePhyBit(sc, 0x19, BIT_15);
5957 MP_WriteEPhyUshort(sc, 0x19, 0x7C00);
5958 MP_WriteEPhyUshort(sc, 0x1E, 0x20EB);
5959 MP_WriteEPhyUshort(sc, 0x0D, 0x1666);
5960 MP_WriteEPhyUshort(sc, 0x00, 0x10A3);
5962 MP_WriteEPhyUshort(sc, 0x06, 0xF050);
5964 SetPCIePhyBit(sc, 0x04, BIT_4);
5965 ClearPCIePhyBit(sc, 0x1D, BIT_14);
5966 } else if (sc->re_type == MACFG_60) {
5967 ClearPCIePhyBit(sc, 0x00, BIT_3);
5968 ClearAndSetPCIePhyBit(sc,
5970 (BIT_13 | BIT_12 | BIT_10 | BIT_9 | BIT_8 | BIT_7 | BIT_6 | BIT_4),
5973 SetPCIePhyBit(sc, 0x1E, BIT_0);
5974 ClearPCIePhyBit(sc, 0x19, BIT_15);
5976 ClearPCIePhyBit(sc, 0x19, (BIT_5 | BIT_0));
5978 SetPCIePhyBit(sc, 0x1E, BIT_13);
5979 ClearPCIePhyBit(sc, 0x0D, BIT_8);
5980 SetPCIePhyBit(sc, 0x0D, BIT_9);
5981 SetPCIePhyBit(sc, 0x00, BIT_7);
5983 SetPCIePhyBit(sc, 0x06, BIT_4);
5985 SetPCIePhyBit(sc, 0x04, BIT_4);
5986 SetPCIePhyBit(sc, 0x1D, BIT_14);
5987 } else if (sc->re_type == MACFG_68 || sc->re_type == MACFG_69) {
5988 ClearPCIePhyBit(sc, 0x1E, BIT_11);
5990 SetPCIePhyBit(sc, 0x1E, BIT_0);
5991 SetPCIePhyBit(sc, 0x1D, BIT_11);
5993 MP_WriteEPhyUshort(sc, 0x05, 0x2089);
5994 MP_WriteEPhyUshort(sc, 0x06, 0x5881);
5996 MP_WriteEPhyUshort(sc, 0x04, 0x854A);
5997 MP_WriteEPhyUshort(sc, 0x01, 0x068B);
6000 if (sc->re_type == MACFG_60) {
6001 data16 = MP_ReadMcuAccessRegWord(sc, 0xD3C0);
6004 MP_WriteMcuAccessRegWord(sc, 0xD3C0, data16);
6006 data16 = MP_ReadMcuAccessRegWord(sc, 0xD3C2);
6008 MP_WriteMcuAccessRegWord(sc, 0xD3C2, data16);
6010 data16 = MP_ReadMcuAccessRegWord(sc, 0xD3C4);
6012 MP_WriteMcuAccessRegWord(sc, 0xD3C4, data16);
6013 } else if (sc->re_type == MACFG_68 || sc->re_type == MACFG_69) {
6014 if (sc->RequireAdjustUpsTxLinkPulseTiming) {
6015 data16 = MP_ReadMcuAccessRegWord(sc, 0xD412);
6016 data16 &= ~(0x0FFF);
6017 data16 |= sc->SwrCnt1msIni;
6018 MP_WriteMcuAccessRegWord(sc, 0xD412, data16);
6021 data16 = MP_ReadMcuAccessRegWord(sc, 0xE056);
6022 data16 &= ~(BIT_7 | BIT_6 | BIT_5 | BIT_4);
6023 data16 |= (BIT_6 | BIT_5 | BIT_4);
6024 MP_WriteMcuAccessRegWord(sc, 0xE056, data16);
6026 data16 = MP_ReadMcuAccessRegWord(sc, 0xE052);
6027 data16 &= ~(BIT_14 | BIT_13);
6030 MP_WriteMcuAccessRegWord(sc, 0xE052, data16);
6032 data16 = MP_ReadMcuAccessRegWord(sc, 0xD420);
6033 data16 &= ~(BIT_11 | BIT_10 | BIT_9 | BIT_8 | BIT_7 | BIT_6 | BIT_5 | BIT_4 | BIT_3 | BIT_2 | BIT_1 | BIT_0);
6035 MP_WriteMcuAccessRegWord(sc, 0xD420, data16);
6037 data16 = MP_ReadMcuAccessRegWord(sc, 0xE0D6);
6038 data16 &= ~(BIT_8 | BIT_7 | BIT_6 | BIT_5 | BIT_4 | BIT_3 | BIT_2 | BIT_1 | BIT_0);
6040 MP_WriteMcuAccessRegWord(sc, 0xE0D6, data16);
6043 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_0);
6045 CSR_WRITE_1(sc, 0xD0, CSR_READ_1(sc, 0xD0) | BIT_6);
6046 CSR_WRITE_1(sc, 0xF2, CSR_READ_1(sc, 0xF2) | BIT_6);
6048 CSR_WRITE_1(sc, 0xF2, CSR_READ_1(sc, 0xF2) & ~BIT_3);
6050 CSR_WRITE_1 (sc, RE_MTPS, 0x27);
6052 if (sc->re_type == MACFG_56 || sc->re_type == MACFG_57 ||
6053 sc->re_type == MACFG_58 || sc->re_type == MACFG_59) {
6054 MP_WriteMcuAccessRegWord(sc, 0xC140, 0xFFFF);
6055 } else if (sc->re_type == MACFG_68 || sc->re_type == MACFG_69) {
6056 MP_WriteMcuAccessRegWord(sc, 0xC140, 0xFFFF);
6057 MP_WriteMcuAccessRegWord(sc, 0xC142, 0xFFFF);
6060 if (ifp->if_mtu > ETHERMTU) {
6061 ifp->if_capenable &= ~IFCAP_HWCSUM;
6062 ifp->if_hwassist &= ~RE_CSUM_FEATURES;
6064 if (sc->re_tx_cstag) {
6065 ifp->if_capenable |= IFCAP_TXCSUM;
6066 ifp->if_hwassist |= RE_CSUM_FEATURES;
6068 if (sc->re_rx_cstag) {
6069 ifp->if_capenable |= IFCAP_RXCSUM;
6072 } else if (macver == 0x50000000) {
6073 /*set configuration space offset 0x70f to 0x17*/
6074 Data32 = MP_ReadPciEConfigSpace(sc, 0x870c);
6075 Data32 &=0xC0FFFFFF;
6076 Data32 |= (0x27 << 24);
6077 MP_WritePciEConfigSpace(sc, 0x870c, Data32);
6079 data8 = pci_read_config(sc->dev, 0x79, 1);
6082 pci_write_config(sc->dev, 0x79, data8, 1);
6084 Data32 = re_eri_read(sc, 0xD4, 4, ERIAR_ExGMAC);
6085 Data32 |= BIT_7 | BIT_8 | BIT_9 | BIT_10 | BIT_11 | BIT_12;
6086 re_eri_write(sc, 0xD4, 4, Data32, ERIAR_ExGMAC);
6088 re_eri_write(sc, 0xC8, 4, 0x00080002, ERIAR_ExGMAC);
6089 re_eri_write(sc, 0xCC, 1, 0x2F, ERIAR_ExGMAC);
6090 re_eri_write(sc, 0xD0, 1, 0x5F, ERIAR_ExGMAC);
6091 re_eri_write(sc, 0xE8, 4, 0x00100006, ERIAR_ExGMAC);
6093 if (sc->re_type == MACFG_62 || sc->re_type == MACFG_67) {
6095 re_eri_write(sc, 0x5F0, 4, 0x4F87, ERIAR_ExGMAC);
6096 OOB_mutex_unlock(sc);
6099 Data32 = re_eri_read(sc, 0xdc, 4, ERIAR_ExGMAC);
6101 re_eri_write(sc, 0xdc, 1, Data32, ERIAR_ExGMAC);
6103 re_eri_write(sc, 0xdc, 1, Data32, ERIAR_ExGMAC);
6105 Data32 = re_eri_read(sc, 0x2FC, 4, ERIAR_ExGMAC);
6106 Data32 &= ~(BIT_0 | BIT_1 | BIT_2);
6108 re_eri_write(sc, 0x2FC, 4, Data32, ERIAR_ExGMAC);
6110 Data32 = re_eri_read(sc, 0x1B0, 4, ERIAR_ExGMAC);
6112 re_eri_write(sc, 0x1B0, 4, Data32, ERIAR_ExGMAC);
6114 CSR_WRITE_4(sc, RE_TXCFG, CSR_READ_4(sc, RE_TXCFG) | BIT_7);
6115 CSR_WRITE_1(sc, 0xD3, CSR_READ_1(sc, 0xD3) & ~BIT_7);
6116 CSR_WRITE_1(sc, 0x1B, CSR_READ_1(sc, 0x1B) & ~0x07);
6118 CSR_WRITE_2 (sc, RE_CPlusCmd, 0x2060);
6120 if (sc->re_type == MACFG_61) {
6121 MP_WriteEPhyUshort(sc, 0x00, 0x10AB);
6122 MP_WriteEPhyUshort(sc, 0x06, 0xF030);
6123 MP_WriteEPhyUshort(sc, 0x08, 0x2006);
6124 MP_WriteEPhyUshort(sc, 0x0D, 0x1666);
6125 ClearPCIePhyBit(sc, 0x0C, (BIT_13 | BIT_12 | BIT_11 | BIT_10 | BIT_9 | BIT_8 | BIT_7 | BIT_6 | BIT_5 | BIT_4));
6126 } else if (sc->re_type == MACFG_62) {
6127 MP_WriteEPhyUshort(sc, 0x00, 0x10A3);
6128 MP_WriteEPhyUshort(sc, 0x19, 0xFC00);
6129 MP_WriteEPhyUshort(sc, 0x1E, 0x20EA);
6130 } else if (sc->re_type == MACFG_67) {
6131 SetPCIePhyBit(sc, 0x00, BIT_7);
6132 ClearAndSetPCIePhyBit(sc,
6137 ClearPCIePhyBit(sc, 0x19, (BIT_15 | BIT_5 | BIT_0));
6138 SetPCIePhyBit(sc, 0x1E, BIT_13);
6141 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_0);
6143 CSR_WRITE_1(sc, 0xD0, CSR_READ_1(sc, 0xD0) | BIT_6);
6144 CSR_WRITE_1(sc, 0xF2, CSR_READ_1(sc, 0xF2) | BIT_6);
6146 CSR_WRITE_1(sc, 0xF2, CSR_READ_1(sc, 0xF2) & ~BIT_3);
6148 CSR_WRITE_1 (sc, RE_MTPS, 0x27);
6150 if (sc->re_type == MACFG_67) {
6151 data16 = MP_ReadMcuAccessRegWord(sc, 0xD3E2);
6154 MP_WriteMcuAccessRegWord(sc, 0xD3E2, data16);
6156 data16 = MP_ReadMcuAccessRegWord(sc, 0xD3E4);
6158 MP_WriteMcuAccessRegWord(sc, 0xD3E4, data16);
6160 data16 = MP_ReadMcuAccessRegWord(sc, 0xE860);
6162 MP_WriteMcuAccessRegWord(sc, 0xE860, data16);
6165 MP_WriteMcuAccessRegWord(sc, 0xC140, 0xFFFF);
6166 MP_WriteMcuAccessRegWord(sc, 0xC142, 0xFFFF);
6168 if (ifp->if_mtu > ETHERMTU) {
6169 ifp->if_capenable &= ~IFCAP_HWCSUM;
6170 ifp->if_hwassist &= ~RE_CSUM_FEATURES;
6172 if (sc->re_tx_cstag) {
6173 ifp->if_capenable |= IFCAP_TXCSUM;
6174 ifp->if_hwassist |= RE_CSUM_FEATURES;
6176 if (sc->re_rx_cstag) {
6177 ifp->if_capenable |= IFCAP_RXCSUM;
6180 } else if (macver == 0x54800000) {
6181 MP_WriteMcuAccessRegWord(sc, 0xD400, MP_ReadMcuAccessRegWord(sc, 0xD400) & ~(BIT_0));
6183 if (sc->RequireAdjustUpsTxLinkPulseTiming) {
6184 data16 = MP_ReadMcuAccessRegWord(sc, 0xD412);
6185 data16 &= ~(0x0FFF);
6186 data16 |= sc->SwrCnt1msIni;
6187 MP_WriteMcuAccessRegWord(sc, 0xD412, data16);
6190 data16 = MP_ReadMcuAccessRegWord(sc, 0xE056);
6191 data16 &= ~(BIT_7 | BIT_6 | BIT_5 | BIT_4);
6192 data16 |= (BIT_6 | BIT_5 | BIT_4);
6193 MP_WriteMcuAccessRegWord(sc, 0xE056, data16);
6196 data16 = MP_ReadMcuAccessRegWord(sc, 0xE052);
6197 if (sc->re_type == MACFG_71)
6201 MP_WriteMcuAccessRegWord(sc, 0xE052, data16);
6202 OOB_mutex_unlock(sc);
6204 data16 = MP_ReadMcuAccessRegWord(sc, 0xD420);
6205 data16 &= ~(BIT_11 | BIT_10 | BIT_9 | BIT_8 | BIT_7 | BIT_6 | BIT_5 | BIT_4 | BIT_3 | BIT_2 | BIT_1 | BIT_0);
6207 MP_WriteMcuAccessRegWord(sc, 0xD420, data16);
6209 CSR_WRITE_1(sc, RE_TDFNR, 0x4);
6211 data16 = MP_ReadMcuAccessRegWord(sc, 0xE63E);
6212 data16 &= ~(BIT_3 | BIT_2 | BIT_1);
6213 MP_WriteMcuAccessRegWord(sc, 0xE63E, data16);
6215 MP_WriteMcuAccessRegWord(sc, 0xE63E, data16);
6217 MP_WriteMcuAccessRegWord(sc, 0xE63E, data16);
6218 MP_WriteMcuAccessRegWord(sc, 0xC094, 0x0);
6219 MP_WriteMcuAccessRegWord(sc, 0xC09E, 0x0);
6221 /*set configuration space offset 0x70f to 0x27*/
6222 Data32 = MP_ReadPciEConfigSpace(sc, 0x870c);
6223 Data32 &=0xC0FFFFFF;
6224 Data32 |= (0x27 << 24);
6225 MP_WritePciEConfigSpace(sc, 0x870c, Data32);
6227 data8 = pci_read_config(sc->dev, 0x79, 1);
6230 pci_write_config(sc->dev, 0x79, data8, 1);
6232 Data32 = re_eri_read(sc, 0xD4, 4, ERIAR_ExGMAC);
6233 Data32 |= BIT_7 | BIT_8 | BIT_9 | BIT_10 | BIT_11 | BIT_12;
6234 if (sc->re_type == MACFG_71) Data32 |= BIT_4;
6235 re_eri_write(sc, 0xD4, 4, Data32, ERIAR_ExGMAC);
6237 re_eri_write(sc, 0xC8, 4, 0x00080002, ERIAR_ExGMAC);
6238 re_eri_write(sc, 0xCC, 1, 0x2F, ERIAR_ExGMAC);
6239 re_eri_write(sc, 0xD0, 1, 0x5F, ERIAR_ExGMAC);
6240 re_eri_write(sc, 0xE8, 4, 0x00100006, ERIAR_ExGMAC);
6242 MP_WriteMcuAccessRegWord(sc, 0xE054, 0xFC01);
6245 Data32 = re_eri_read(sc, 0x5F0, 4, ERIAR_ExGMAC);
6246 Data32 |= (BIT_8 | BIT_9 | BIT_10 | BIT_11);
6247 re_eri_write(sc, 0x5F0, 4, Data32, ERIAR_ExGMAC);
6248 OOB_mutex_unlock(sc);
6250 Data32 = re_eri_read(sc, 0xdc, 4, ERIAR_ExGMAC);
6252 re_eri_write(sc, 0xdc, 1, Data32, ERIAR_ExGMAC);
6254 re_eri_write(sc, 0xdc, 1, Data32, ERIAR_ExGMAC);
6256 Data32 = re_eri_read(sc, 0x2FC, 4, ERIAR_ExGMAC);
6257 Data32 &= ~(BIT_0 | BIT_1 | BIT_2);
6259 re_eri_write(sc, 0x2FC, 4, Data32, ERIAR_ExGMAC);
6261 Data32 = re_eri_read(sc, 0x1B0, 4, ERIAR_ExGMAC);
6263 re_eri_write(sc, 0x1B0, 4, Data32, ERIAR_ExGMAC);
6265 Data32 = re_eri_read(sc, 0x1D0, 1, ERIAR_ExGMAC);
6267 re_eri_write(sc, 0x1D0, 1, Data32, ERIAR_ExGMAC);
6269 re_eri_write(sc, 0xC0, 2, 0x0000, ERIAR_ExGMAC);
6270 re_eri_write(sc, 0xB8, 4, 0x00000000, ERIAR_ExGMAC);
6272 CSR_WRITE_4(sc, RE_TXCFG, CSR_READ_4(sc, RE_TXCFG) | BIT_7);
6273 CSR_WRITE_1(sc, 0xD3, CSR_READ_1(sc, 0xD3) & ~BIT_7);
6274 CSR_WRITE_1(sc, 0x1B, CSR_READ_1(sc, 0x1B) & ~0x07);
6276 CSR_WRITE_2 (sc, RE_CPlusCmd, 0x2060);
6278 ClearAndSetPCIePhyBit(sc,
6283 ClearAndSetPCIePhyBit(sc,
6289 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_0);
6291 CSR_WRITE_1(sc, 0xD0, CSR_READ_1(sc, 0xD0) | BIT_6);
6292 CSR_WRITE_1(sc, 0xF2, CSR_READ_1(sc, 0xF2) | BIT_6);
6294 CSR_WRITE_1(sc, 0xD0, CSR_READ_1(sc, 0xD0) | BIT_7);
6296 CSR_WRITE_1(sc, 0xF2, CSR_READ_1(sc, 0xF2) & ~BIT_3);
6298 if (ifp->if_mtu > ETHERMTU)
6299 CSR_WRITE_1 (sc, RE_MTPS, 0x27);
6301 data16 = MP_ReadMcuAccessRegWord(sc, 0xD3E2);
6304 MP_WriteMcuAccessRegWord(sc, 0xD3E2, data16);
6306 data16 = MP_ReadMcuAccessRegWord(sc, 0xD3E4);
6308 MP_WriteMcuAccessRegWord(sc, 0xD3E4, data16);
6310 data16 = MP_ReadMcuAccessRegWord(sc, 0xE860);
6312 MP_WriteMcuAccessRegWord(sc, 0xE860, data16);
6314 MP_WriteMcuAccessRegWord(sc, 0xC140, 0xFFFF);
6315 MP_WriteMcuAccessRegWord(sc, 0xC142, 0xFFFF);
6317 if (ifp->if_mtu > ETHERMTU) {
6318 ifp->if_capenable &= ~IFCAP_HWCSUM;
6319 ifp->if_hwassist &= ~RE_CSUM_FEATURES;
6321 if (sc->re_tx_cstag) {
6322 ifp->if_capenable |= IFCAP_TXCSUM;
6323 ifp->if_hwassist |= RE_CSUM_FEATURES;
6325 if (sc->re_rx_cstag) {
6326 ifp->if_capenable |= IFCAP_RXCSUM;
6332 switch (sc->re_type) {
6351 CSR_WRITE_1(sc, RE_CFG3, CSR_READ_1(sc, RE_CFG3) & ~BIT_1);
6355 switch(sc->re_type) {
6380 CSR_WRITE_1(sc, RE_CFG5, CSR_READ_1(sc, RE_CFG5) | BIT_0);
6381 CSR_WRITE_1(sc, RE_CFG2, CSR_READ_1(sc, RE_CFG2) | BIT_7);
6382 CSR_WRITE_1(sc, 0xF1, CSR_READ_1(sc, 0xF1) | BIT_7);
6389 data16 = CSR_READ_2(sc, RE_CPlusCmd);
6390 if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0)
6391 data16 |= RL_CPLUSCMD_VLANSTRIP;
6393 data16 &= ~RL_CPLUSCMD_VLANSTRIP;
6395 if ((ifp->if_capenable & IFCAP_RXCSUM) != 0)
6396 data16 |= RL_RxChkSum;
6398 data16 &= ~RL_RxChkSum;
6399 CSR_WRITE_2 (sc, RE_CPlusCmd, data16);
6401 re_disable_cfg9346_write(sc);
6402 //CSR_WRITE_1(sc, 0xec, 0x3f);
6404 if (sc->re_device_id == RT_DEVICEID_8169 || sc->re_device_id == RT_DEVICEID_8169SC) {
6405 /* Enable transmit and receive.*/
6406 CSR_WRITE_1(sc, RE_COMMAND, RE_CMD_TX_ENB | RE_CMD_RX_ENB);
6408 /* Set the initial TX configuration.*/
6409 CSR_WRITE_4(sc, RE_TXCFG, RE_TXCFG_CONFIG);
6411 /* Set the initial RX configuration.*/
6413 * Program the multicast filter, if necessary.
6415 re_set_rx_packet_filter(sc);
6417 /* Set the initial RX configuration.*/
6419 * Program the multicast filter, if necessary.
6421 re_set_rx_packet_filter(sc);
6423 /* Enable transmit and receive.*/
6424 CSR_WRITE_1(sc, RE_COMMAND, RE_CMD_TX_ENB | RE_CMD_RX_ENB);
6427 #ifndef __DragonFly__
6428 ifp->if_drv_flags |= IFF_DRV_RUNNING;
6429 ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
6432 * Enable interrupts.
6434 CSR_WRITE_2(sc, RE_IMR, RE_INTRS);
6438 static void re_init_unlock(void *xsc) /* Software & Hardware Initialize */
6440 struct re_softc *sc = xsc;
6442 #ifndef __DragonFly__
6443 #if OS_VER < VERSION(6,0)
6446 #endif /* !__DragonFly__ */
6448 uint32_t align_dummy;
6449 u_char eaddr[ETHER_ADDR_LEN];
6452 ifp = RE_GET_IFNET(sc);
6454 #ifndef __DragonFly__
6456 * Cancel pending I/O and free all RX/TX buffers.
6459 #endif /* !__DragonFly__ */
6461 /* Copy MAC address on stack to align. */
6462 #ifndef __DragonFly__
6463 #if OS_VER < VERSION(6,0)
6464 bcopy((char *)&sc->arpcom.ac_enaddr, eaddr.eaddr, ETHER_ADDR_LEN);
6465 #elif OS_VER < VERSION(7,0)
6466 bcopy(IFP2ENADDR(ifp), eaddr.eaddr, ETHER_ADDR_LEN);
6468 bcopy(IF_LLADDR(ifp), eaddr.eaddr, ETHER_ADDR_LEN);
6470 #else /* __DragonFly__ */
6471 bcopy(IF_LLADDR(ifp), eaddr.eaddr, ETHER_ADDR_LEN);
6472 #endif /* !__DragonFly__ */
6474 /* Init our MAC address */
6475 re_rar_set(sc, eaddr.eaddr);
6477 #ifndef __DragonFly__
6478 re_hw_start_unlock(sc);
6484 #ifndef __DragonFly__
6485 static void re_init(void *xsc) /* Software & Hardware Initialize */
6487 struct re_softc *sc = xsc;
6491 ifp = RE_GET_IFNET(sc);
6493 if (re_link_ok(sc)) {
6494 sc->link_state = LINK_STATE_UP;
6495 re_link_state_change(ifp, sc->link_state);
6496 re_link_on_patch(sc);
6499 sc->re_link_chg_det = 1;
6506 * Initialize the transmit descriptors.
6508 static int re_var_init(struct re_softc *sc)
6511 union RxDesc *rxptr;
6512 union TxDesc *txptr;
6514 sc->re_desc.rx_cur_index = 0;
6515 sc->re_desc.rx_last_index = 0;
6516 rxptr = sc->re_desc.rx_desc;
6517 for (i = 0; i < RE_RX_BUF_NUM; i++) {
6518 memset(&rxptr[i], 0, sizeof(union RxDesc));
6520 /* Init the RX buffer pointer register. */
6521 bus_dmamap_load(sc->re_desc.re_rx_mtag,
6522 sc->re_desc.re_rx_dmamap[i],
6523 sc->re_desc.rx_buf[i]->m_data, sc->re_rx_desc_buf_sz,
6527 bus_dmamap_sync(sc->re_desc.re_rx_mtag,
6528 sc->re_desc.re_rx_dmamap[i],
6529 BUS_DMASYNC_PREREAD);
6531 rxptr[i].ul[0] = htole32(sc->re_rx_desc_buf_sz);
6532 if (i == (RE_RX_BUF_NUM - 1))
6533 rxptr[i].ul[0] |= htole32(RL_RDESC_CMD_EOR);
6534 rxptr[i].ul[0] |= htole32(RL_RDESC_CMD_OWN);
6537 bus_dmamap_load(sc->re_desc.rx_desc_tag,
6538 sc->re_desc.rx_desc_dmamap,
6539 sc->re_desc.rx_desc,
6540 sizeof(union RxDesc)*RE_RX_BUF_NUM,
6544 bus_dmamap_sync(sc->re_desc.rx_desc_tag,
6545 sc->re_desc.rx_desc_dmamap,
6546 BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE);
6548 sc->re_desc.tx_cur_index = 0;
6549 sc->re_desc.tx_last_index = 0;
6550 txptr = sc->re_desc.tx_desc;
6551 for (i = 0; i < RE_TX_BUF_NUM; i++) {
6552 memset(&txptr[i], 0, sizeof(union TxDesc));
6553 if (i == (RE_TX_BUF_NUM - 1))
6554 txptr[i].ul[0] = htole32(RL_TDESC_CMD_EOR);
6557 bus_dmamap_load(sc->re_desc.tx_desc_tag,
6558 sc->re_desc.tx_desc_dmamap,
6559 sc->re_desc.tx_desc,
6560 sizeof(union RxDesc) * RE_TX_BUF_NUM,
6564 bus_dmamap_sync(sc->re_desc.tx_desc_tag,
6565 sc->re_desc.tx_desc_dmamap,
6566 BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE);
6570 #endif /* !__DragonFly__ */
6572 static void re_reset(struct re_softc *sc)
6576 CSR_WRITE_4(sc, RE_RXCFG, CSR_READ_4(sc, RE_RXCFG)& ~0x3F);
6578 switch (sc->re_type) {
6616 CSR_WRITE_1(sc, RE_COMMAND, 0x8C);
6624 CSR_WRITE_1(sc, RE_COMMAND, 0x8C);
6625 while (!(CSR_READ_4(sc,RE_TXCFG) & BIT_11)) DELAY(100);
6646 CSR_WRITE_1(sc, RE_COMMAND, RE_CMD_RESET);
6648 for (i = 0; i < RE_TIMEOUT; i++) {
6650 if (!(CSR_READ_1(sc, RE_COMMAND) & RE_CMD_RESET))
6654 if (i == RE_TIMEOUT)
6655 device_printf(sc->dev,"reset never completed!\n");
6660 static u_int8_t re_link_ok(struct re_softc *sc)
6664 retval = (CSR_READ_1(sc, RE_PHY_STATUS) & RL_PHY_STATUS_LINK_STS) ? 1 : 0;
6670 re_set_wol_linkspeed(struct re_softc *sc)
6672 u_int8_t wol_link_speed;
6675 MP_WritePhyUshort(sc, 0x1F, 0x0000);
6677 wol_link_speed = RE_WOL_LINK_SPEED_100M_FIRST;
6679 if (re_link_ok(sc)) {
6682 anlpar = MP_ReadPhyUshort(sc,MII_ANLPAR);
6683 if ((anlpar & ANLPAR_10_FD) || (anlpar & ANLPAR_10)) {
6684 wol_link_speed = RE_WOL_LINK_SPEED_10M_FIRST;
6686 wol_link_speed = RE_WOL_LINK_SPEED_100M_FIRST;
6691 anar = MP_ReadPhyUshort(sc,MII_ANAR);
6693 if (wol_link_speed == RE_WOL_LINK_SPEED_10M_FIRST)
6694 anar &= ~(ANAR_TX_FD | ANAR_TX);
6696 if (sc->re_device_id==RT_DEVICEID_8169 || sc->re_device_id==RT_DEVICEID_8169SC ||
6697 sc->re_device_id==RT_DEVICEID_8168 || sc->re_device_id==RT_DEVICEID_8161) {
6700 gbcr = MP_ReadPhyUshort(sc,MII_100T2CR);
6701 gbcr &= ~(GTCR_ADV_1000TFDX|GTCR_ADV_1000THDX);
6702 MP_WritePhyUshort(sc, MII_100T2CR, gbcr);
6703 MP_WritePhyUshort(sc, MII_ANAR, anar);
6704 MP_WritePhyUshort(sc, MII_BMCR, BMCR_RESET | BMCR_AUTOEN | BMCR_STARTNEG);
6705 } else if (sc->re_type == MACFG_36) {
6706 MP_WritePhyUshort(sc, MII_ANAR, anar);
6707 MP_WritePhyUshort(sc, MII_BMCR, BMCR_RESET | BMCR_AUTOEN | BMCR_STARTNEG);
6709 MP_WritePhyUshort(sc, MII_ANAR, anar);
6710 MP_WritePhyUshort(sc, MII_BMCR, BMCR_AUTOEN | BMCR_STARTNEG);
6714 #ifndef __DragonFly__
6716 re_setwol(struct re_softc *sc)
6725 ifp = RE_GET_IFNET(sc);
6727 if ((ifp->if_capenable & IFCAP_WOL) == 0) {
6728 re_phy_power_down(sc->dev);
6732 if (pci_find_cap(sc->dev, PCIY_PMG, &pmc) != 0)
6735 /* Enable config register write. */
6736 re_enable_cfg9346_write(sc);
6739 if (sc->re_device_id==RT_DEVICEID_8169 || sc->re_device_id==RT_DEVICEID_8169SC) {
6740 v = CSR_READ_1(sc, RE_CFG1);
6742 if ((ifp->if_capenable & IFCAP_WOL) != 0)
6744 CSR_WRITE_1(sc, RE_CFG1, v);
6747 if (sc->re_if_flags & RL_FLAG_MAGIC_PACKET_V2) {
6750 Data32 = re_eri_read(sc, 0xDC, 4, ERIAR_ExGMAC);
6751 Data32 &= ~(BIT_16);
6752 if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0)
6754 re_eri_write(sc, 0xDC, 4, Data32, ERIAR_ExGMAC);
6756 v = CSR_READ_1(sc, RE_CFG3);
6757 v &= ~(RL_CFG3_WOL_MAGIC);
6758 if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0)
6759 v |= RL_CFG3_WOL_MAGIC;
6760 CSR_WRITE_1(sc, RE_CFG3, v);
6763 v = CSR_READ_1(sc, RE_CFG5);
6764 v &= ~(RL_CFG5_WOL_BCAST | RL_CFG5_WOL_MCAST | RL_CFG5_WOL_UCAST |
6765 RL_CFG5_WOL_LANWAKE);
6767 if ((ifp->if_capenable & IFCAP_WOL_UCAST) != 0)
6768 v |= RL_CFG5_WOL_UCAST;
6769 if ((ifp->if_capenable & IFCAP_WOL_MCAST) != 0)
6770 v |= RL_CFG5_WOL_MCAST | RL_CFG5_WOL_BCAST;
6771 if ((ifp->if_capenable & IFCAP_WOL) != 0)
6772 v |= RL_CFG5_WOL_LANWAKE;
6773 CSR_WRITE_1(sc, RE_CFG5, v);
6775 /* Config register write done. */
6776 re_disable_cfg9346_write(sc);
6779 * It seems that hardware resets its link speed to 100Mbps in
6780 * power down mode so switching to 100Mbps in driver is not
6784 /* Request PME if WOL is requested. */
6785 pmstat = pci_read_config(sc->dev, pmc + PCIR_POWER_STATUS, 2);
6786 pmstat &= ~(PCIM_PSTAT_PMEENABLE);
6787 if ((ifp->if_capenable & IFCAP_WOL) != 0)
6788 pmstat |= PCIM_PSTAT_PMEENABLE;
6789 pci_write_config(sc->dev, pmc + PCIR_POWER_STATUS, pmstat, 2);
6791 /* Put controller into sleep mode. */
6792 if ((ifp->if_capenable & IFCAP_WOL) != 0) {
6793 re_set_rx_packet_filter_in_sleep_state(sc);
6794 re_set_wol_linkspeed(sc);
6795 if (sc->re_type == MACFG_21 || sc->re_type == MACFG_22)
6796 CSR_WRITE_1(sc, RE_COMMAND, RE_CMD_RX_ENB);
6799 #endif /* !__DragonFly__ */
6802 re_clrwol(struct re_softc *sc)
6810 #ifndef __DragonFly__
6811 if (pci_find_cap(sc->dev, PCIY_PMG, &pmc) != 0)
6814 if (pci_find_extcap(sc->dev, PCIY_PMG, &pmc) != 0)
6818 /* Disable PME and clear PME status. */
6819 pmstat = pci_read_config(sc->dev, pmc + PCIR_POWER_STATUS, 2);
6820 pmstat &= ~PCIM_PSTAT_PMEENABLE;
6821 pci_write_config(sc->dev, pmc + PCIR_POWER_STATUS, pmstat, 2);
6823 /* Enable config register write. */
6824 re_enable_cfg9346_write(sc);
6826 if (sc->re_device_id==RT_DEVICEID_8169 || sc->re_device_id==RT_DEVICEID_8169SC) {
6827 v = CSR_READ_1(sc, RE_CFG1);
6829 CSR_WRITE_1(sc, RE_CFG1, v);
6832 v = CSR_READ_1(sc, RE_CFG3);
6833 v &= ~(RL_CFG3_WOL_LINK);
6834 CSR_WRITE_1(sc, RE_CFG3, v);
6836 if (sc->re_if_flags & RL_FLAG_MAGIC_PACKET_V2) {
6839 Data32 = re_eri_read(sc, 0xDC, 4, ERIAR_ExGMAC);
6840 Data32 &= ~(BIT_16);
6841 re_eri_write(sc, 0xDC, 4, Data32, ERIAR_ExGMAC);
6843 v = CSR_READ_1(sc, RE_CFG3);
6844 v &= ~(RL_CFG3_WOL_MAGIC);
6845 CSR_WRITE_1(sc, RE_CFG3, v);
6848 v = CSR_READ_1(sc, RE_CFG5);
6849 v &= ~(RL_CFG5_WOL_BCAST | RL_CFG5_WOL_MCAST | RL_CFG5_WOL_UCAST);
6850 v &= ~RL_CFG5_WOL_LANWAKE;
6851 CSR_WRITE_1(sc, RE_CFG5, v);
6853 /* Config register write done. */
6854 re_disable_cfg9346_write(sc);
6858 * Stop the adapter and free any mbufs allocated to the
6861 #ifndef __DragonFly__
6862 static void re_stop(struct re_softc *sc) /* Stop Driver */
6863 #else /* __DragonFly__ */
6865 re_stop_rtl(struct re_softc *sc)
6866 #endif /* !__DragonFly__ */
6868 #ifndef __DragonFly__
6871 /* RE_LOCK_ASSERT(sc);*/
6873 ifp = RE_GET_IFNET(sc);
6874 #if OS_VER < VERSION(9,0)
6879 #endif /* !__DragonFly__ */
6882 * Disable accepting frames to put RX MAC into idle state.
6883 * Otherwise it's possible to get frames while stop command
6884 * execution is in progress and controller can DMA the frame
6885 * to already freed RX buffer during that period.
6887 CSR_WRITE_4(sc, RE_RXCFG, CSR_READ_4(sc, RE_RXCFG) &
6888 ~(RE_RXCFG_RX_ALLPHYS | RE_RXCFG_RX_INDIV | RE_RXCFG_RX_MULTI |
6889 RE_RXCFG_RX_BROAD | RE_RXCFG_RX_RUNT | RE_RXCFG_RX_ERRPKT));
6891 CSR_WRITE_2(sc, RE_IMR, 0x0000);
6892 CSR_WRITE_2(sc, RE_ISR, 0xffff);
6893 if (sc->re_type == MACFG_50 || sc->re_type == MACFG_51 || sc->re_type == MACFG_52) {
6894 re_eri_write(sc, 0x1bc, 4, 0x0000001f, ERIAR_ExGMAC);
6895 re_eri_write(sc, 0x1dc, 4, 0x0000002d, ERIAR_ExGMAC);
6896 } else if (sc->re_type == MACFG_38) {
6897 re_eri_write(sc, 0x1bc, 4, 0x0000001f, ERIAR_ExGMAC);
6898 re_eri_write(sc, 0x1dc, 4, 0x0000003f, ERIAR_ExGMAC);
6902 #ifndef __DragonFly__
6904 * Free the TX list buffers.
6906 while (sc->re_desc.tx_last_index!=sc->re_desc.tx_cur_index) {
6907 if (sc->re_desc.re_tx_mtag) {
6908 bus_dmamap_sync(sc->re_desc.re_tx_mtag,
6909 sc->re_desc.re_tx_dmamap[sc->re_desc.tx_last_index],
6910 BUS_DMASYNC_POSTWRITE);
6911 bus_dmamap_unload(sc->re_desc.re_tx_mtag,
6912 sc->re_desc.re_tx_dmamap[sc->re_desc.tx_last_index]);
6915 if (sc->re_desc.tx_buf[sc->re_desc.tx_last_index]!=NULL) {
6916 m_freem(sc->re_desc.tx_buf[sc->re_desc.tx_last_index]);
6917 sc->re_desc.tx_buf[sc->re_desc.tx_last_index] = NULL;
6919 sc->re_desc.tx_last_index = (sc->re_desc.tx_last_index+1)%RE_TX_BUF_NUM;
6922 ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE);
6925 #endif /* !__DragonFly__ */
6928 #ifndef __DragonFly__
6930 * Main transmit routine.
6932 static void re_start(struct ifnet *ifp) /* Transmit Packet*/
6934 struct re_softc *sc;
6935 struct mbuf *m_head = NULL;
6937 sc = ifp->if_softc; /* Paste to ifp in function re_attach(dev) */
6941 /* RE_LOCK_ASSERT(sc);*/
6943 if ((sc->driver_detach == 1) || (sc->rx_fifo_overflow != 0)) {
6949 int fs = 1, ls = 0, TxLen = 0, PktLen;
6953 IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); /* Remove(get) data from system transmit queue */
6954 if (m_head == NULL) {
6958 if (sc->re_coalesce_tx_pkt) {
6959 if (re_encap(sc, m_head)) {
6960 IFQ_DRV_PREPEND(&ifp->if_snd, m_head);
6961 ifp->if_drv_flags |= IFF_DRV_OACTIVE;
6965 m_head = sc->re_desc.tx_buf[sc->re_desc.tx_cur_index];
6968 if (CountMbufNum(m_head) > CountFreeTxDescNum(sc->re_desc)) { /* No enough descriptor */
6969 IFQ_DRV_PREPEND(&ifp->if_snd, m_head);
6970 ifp->if_drv_flags |= IFF_DRV_OACTIVE;
6974 if (ifp->if_bpf) { /* If there's a BPF listener, bounce a copy of this frame to him. */
6975 //printf("If there's a BPF listener, bounce a copy of this frame to him. \n");
6977 /*#if OS_VER < VERSION(5, 1)*/
6978 #if OS_VER < VERSION(4,9)
6979 bpf_mtap(ifp, m_head);
6981 bpf_mtap(ifp->if_bpf, m_head);
6986 if (ifp->if_capenable & IFCAP_TXCSUM) {
6987 if ((m_head->m_pkthdr.csum_flags & RE_CSUM_FEATURES) !=0) {
6988 if (!(sc->re_if_flags & RL_FLAG_DESCV2)) {
6989 opts1 |= RL_IPV4CS1;
6990 if ((m_head->m_pkthdr.csum_flags & CSUM_TCP)!=0)
6992 if ((m_head->m_pkthdr.csum_flags & CSUM_UDP)!=0)
6996 if ((m_head->m_pkthdr.csum_flags & CSUM_TCP)!=0)
6998 else if ((m_head->m_pkthdr.csum_flags & CSUM_UDP)!=0)
7005 if (m_head->m_flags & M_VLANTAG)
7006 opts2 |= bswap16(m_head->m_pkthdr.ether_vtag) | RL_TDESC_VLANCTL_TAG;
7008 PktLen = ptr->m_pkthdr.len;
7010 printf("PktLen=%d",PktLen);
7013 if (ptr->m_len >0) {
7015 printf(", len=%d T=%d F=%d",ptr->m_len,ptr->m_type,ptr->m_flags);
7017 TxLen += ptr->m_len;
7018 if (TxLen >= PktLen) {
7020 sc->re_desc.tx_buf[sc->re_desc.tx_cur_index] = m_head;
7022 sc->re_desc.tx_buf[sc->re_desc.tx_cur_index] = NULL;
7025 WritePacket(sc,ptr->m_data,ptr->m_len,fs,ls,opts2,opts1);
7035 #if OS_VER < VERSION(9,0)
7045 * Encapsulate an mbuf chain in a descriptor by coupling the mbuf data
7046 * pointers to the fragment pointers.
7048 static int re_encap(struct re_softc *sc,struct mbuf *m_head)
7050 struct mbuf *m_new = NULL;
7052 m_new = m_defrag(m_head, M_DONTWAIT);
7054 if (m_new == NULL) {
7055 printf("re%d: no memory for tx list", sc->re_unit);
7060 /* Pad frames to at least 60 bytes. */
7061 if (m_head->m_pkthdr.len < RE_MIN_FRAMELEN) { /* Case length < 60 bytes */
7063 * Make security concious people happy: zero out the
7064 * bytes in the pad area, since we don't know what
7065 * this mbuf cluster buffer's previous user might
7068 bzero(mtod(m_head, char *) + m_head->m_pkthdr.len,
7069 RE_MIN_FRAMELEN - m_head->m_pkthdr.len);
7070 m_head->m_pkthdr.len = RE_MIN_FRAMELEN;
7071 m_head->m_len = m_head->m_pkthdr.len;
7074 sc->re_desc.tx_buf[sc->re_desc.tx_cur_index] = m_head;
7079 static void WritePacket(struct re_softc *sc, caddr_t addr, int len,int fs_flag,int ls_flag, uint32_t opts2,uint32_t opts1)
7081 union TxDesc *txptr;
7083 txptr=&(sc->re_desc.tx_desc[sc->re_desc.tx_cur_index]);
7085 txptr->ul[0] &= htole32(0x40000000);
7086 txptr->ul[0] |= htole32(opts1);
7087 txptr->ul[1] = htole32(opts2);
7090 txptr->ul[0] |= htole32(RL_TDESC_CMD_SOF);
7092 txptr->ul[0] |= htole32(RL_TDESC_CMD_EOF);
7093 txptr->ul[0] |= htole32(len);
7094 bus_dmamap_load(sc->re_desc.re_tx_mtag,
7095 sc->re_desc.re_tx_dmamap[sc->re_desc.tx_cur_index],
7098 re_tx_dma_map_buf, txptr,
7100 bus_dmamap_sync(sc->re_desc.re_tx_mtag,
7101 sc->re_desc.re_tx_dmamap[sc->re_desc.tx_cur_index],
7102 BUS_DMASYNC_PREWRITE);
7103 txptr->ul[0] |= htole32(RL_TDESC_CMD_OWN);
7105 bus_dmamap_sync(sc->re_desc.tx_desc_tag,
7106 sc->re_desc.tx_desc_dmamap,
7107 BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE);
7110 CSR_WRITE_1(sc, RE_TPPOLL, RE_NPQ);
7111 CSR_WRITE_1(sc, RE_TPPOLL, RE_NPQ);
7114 sc->re_desc.tx_cur_index = (sc->re_desc.tx_cur_index+1)%RE_TX_BUF_NUM;
7117 static int CountFreeTxDescNum(struct re_descriptor desc)
7119 int ret=desc.tx_last_index-desc.tx_cur_index;
7126 static int CountMbufNum(struct mbuf *m_head)
7129 struct mbuf *ptr = m_head;
7141 static __inline void re_fixup_rx(struct mbuf *m)
7144 uint16_t *src, *dst;
7146 src = mtod(m, uint16_t *);
7147 dst = src - (RE_ETHER_ALIGN - ETHER_ALIGN) / sizeof *src;
7149 for (i = 0; i < (m->m_len / sizeof(uint16_t) + 1); i++)
7152 m->m_data -= RE_ETHER_ALIGN - ETHER_ALIGN;
7157 * A frame was downloaded to the chip. It's safe for us to clean up
7160 static void re_txeof(struct re_softc *sc) /* Transmit OK/ERR handler */
7162 union TxDesc *txptr;
7168 ifp = RE_GET_IFNET(sc);
7170 #if OS_VER < VERSION(9,0)
7171 /* Clear the timeout timer. */
7175 bus_dmamap_sync(sc->re_desc.tx_desc_tag,
7176 sc->re_desc.tx_desc_dmamap,
7177 BUS_DMASYNC_POSTREAD|BUS_DMASYNC_POSTWRITE);
7179 while (sc->re_desc.tx_last_index!=sc->re_desc.tx_cur_index) {
7180 txptr=&(sc->re_desc.tx_desc[sc->re_desc.tx_last_index]);
7181 txstat = le32toh(txptr->ul[0]);
7182 if (txstat & RL_TDESC_STAT_OWN)
7185 printf("**** Tx OK ****\n");
7187 bus_dmamap_sync(sc->re_desc.re_tx_mtag,
7188 sc->re_desc.re_tx_dmamap[sc->re_desc.tx_last_index],
7189 BUS_DMASYNC_POSTWRITE);
7190 bus_dmamap_unload(sc->re_desc.re_tx_mtag,
7191 sc->re_desc.re_tx_dmamap[sc->re_desc.tx_last_index]);
7193 if (sc->re_desc.tx_buf[sc->re_desc.tx_last_index]!=NULL) {
7194 m_freem(sc->re_desc.tx_buf[sc->re_desc.tx_last_index]); /* Free Current MBuf in a Mbuf list*/
7195 sc->re_desc.tx_buf[sc->re_desc.tx_last_index] = NULL;
7198 sc->re_desc.tx_last_index = (sc->re_desc.tx_last_index+1)%RE_TX_BUF_NUM;
7199 #if OS_VER < VERSION(11,0)
7200 if (txstat & (RL_TDESC_STAT_EXCESSCOL|
7201 RL_TDESC_STAT_COLCNT))
7202 ifp->if_collisions++;
7203 if (txstat & RL_TDESC_STAT_TXERRSUM)
7208 if (txstat & (RL_TDESC_STAT_EXCESSCOL|
7209 RL_TDESC_STAT_COLCNT))
7210 if_inc_counter(ifp, IFCOUNTER_COLLISIONS, 1);
7211 if (txstat & RL_TDESC_STAT_TXERRSUM)
7212 if_inc_counter(ifp, IFCOUNTER_OERRORS, 1);
7214 if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1);
7216 ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
7223 * A frame has been uploaded: pass the resulting mbuf chain up to
7224 * the higher level protocols.
7226 * You know there's something wrong with a PCI bus-master chip design
7227 * when you have to use m_devget().
7229 * The receive operation is badly documented in the datasheet, so I'll
7230 * attempt to document it here. The driver provides a buffer area and
7231 * places its base address in the RX buffer start address register.
7232 * The chip then begins copying frames into the RX buffer. Each frame
7233 * is preceeded by a 32-bit RX status word which specifies the length
7234 * of the frame and certain other status bits. Each frame (starting with
7235 * the status word) is also 32-bit aligned. The frame length is in the
7236 * first 16 bits of the status word; the lower 15 bits correspond with
7237 * the 'rx status register' mentioned in the datasheet.
7239 * Note: to make the Alpha happy, the frame payload needs to be aligned
7240 * on a 32-bit boundary. To achieve this, we cheat a bit by copying from
7241 * the ring buffer starting at an address two bytes before the actual
7242 * data location. We can then shave off the first two bytes using m_adj().
7243 * The reason we do this is because m_devget() doesn't let us specify an
7244 * offset into the mbuf storage space, so we have to artificially create
7245 * one. The ring is allocated in such a way that there are a few unused
7246 * bytes of space preceecing it so that it will be safe for us to do the
7247 * 2-byte backstep even if reading from the ring at offset 0.
7249 static void re_rxeof(sc) /* Receive Data OK/ERR handler */
7250 struct re_softc *sc;
7252 struct ether_header *eh;
7255 union RxDesc *rxptr;
7259 int maxpkt = RE_RX_BUF_NUM;
7261 u_int32_t opts2,opts1;
7263 /* RE_LOCK_ASSERT(sc);*/
7265 ifp = RE_GET_IFNET(sc);
7267 bus_dmamap_sync(sc->re_desc.rx_desc_tag,
7268 sc->re_desc.rx_desc_dmamap,
7269 BUS_DMASYNC_POSTREAD|BUS_DMASYNC_POSTWRITE);
7271 rxptr=&(sc->re_desc.rx_desc[sc->re_desc.rx_cur_index]);
7272 while ((rxptr->ul[0]&htole32(RL_RDESC_STAT_OWN))==0) { /* Receive OK */
7275 opts1 = le32toh(rxptr->ul[0]);
7277 /* Check if this packet is received correctly*/
7278 if (opts1&0x200000) { /*Check RES bit*/
7280 #if OS_VER < VERSION(11,0)
7283 if_inc_counter(ifp, IFCOUNTER_IERRORS, 1);
7287 opts2 = le32toh(rxptr->ul[1]);
7289 //buf = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR); /* Alloc a new mbuf */
7291 if (sc->re_rx_mbuf_sz <= MCLBYTES)
7293 else if (sc->re_rx_mbuf_sz <= MJUMPAGESIZE)
7294 size = MJUMPAGESIZE;
7298 buf = m_getjcl(M_DONTWAIT, MT_DATA, M_PKTHDR, size);
7301 #if OS_VER < VERSION(11,0)
7304 if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1);
7309 buf->m_len = buf->m_pkthdr.len = size;
7312 * This is part of an evil trick to deal with non-x86 platforms.
7313 * The RealTek chip requires RX buffers to be aligned on 64-bit
7314 * boundaries, but that will hose non-x86 machines. To get around
7315 * this, we leave some empty space at the start of each buffer
7316 * and for non-x86 hosts, we copy the buffer back six bytes
7317 * to achieve word alignment. This is slightly more efficient
7318 * than allocating a new buffer, copying the contents, and
7319 * discarding the old buffer.
7321 m_adj(buf, RE_ETHER_ALIGN);
7324 bus_dmamap_sync(sc->re_desc.re_rx_mtag,
7325 sc->re_desc.re_rx_dmamap[sc->re_desc.rx_cur_index],
7326 BUS_DMASYNC_POSTREAD);
7327 bus_dmamap_unload(sc->re_desc.re_rx_mtag,
7328 sc->re_desc.re_rx_dmamap[sc->re_desc.rx_cur_index]);
7330 m = sc->re_desc.rx_buf[sc->re_desc.rx_cur_index];
7331 sc->re_desc.rx_buf[sc->re_desc.rx_cur_index] = buf;
7332 m->m_pkthdr.len = m->m_len = (opts1&RL_RDESC_STAT_GFRAGLEN)-ETHER_CRC_LEN;
7333 m->m_pkthdr.rcvif = ifp;
7340 if (opts2 & RL_RDESC_VLANCTL_TAG) {
7341 m->m_pkthdr.ether_vtag =
7342 bswap16((opts2 & RL_RDESC_VLANCTL_DATA));
7343 m->m_flags |= M_VLANTAG;
7345 if (ifp->if_capenable & IFCAP_RXCSUM) {
7346 if (!(sc->re_if_flags & RL_FLAG_DESCV2)) {
7347 if (opts1 & RL_ProtoIP)
7348 m->m_pkthdr.csum_flags |= CSUM_IP_CHECKED;
7349 if (!(opts1 & RL_IPF))
7350 m->m_pkthdr.csum_flags |= CSUM_IP_VALID;
7351 if ((((opts1 & RL_ProtoIP)==(1<<17)) && !(opts1 & RL_TCPF)) || (((opts1 & RL_ProtoIP)==(1<<18)) && !(opts1 & RL_UDPF))) {
7352 m->m_pkthdr.csum_flags |= CSUM_DATA_VALID|CSUM_PSEUDO_HDR;
7353 m->m_pkthdr.csum_data = 0xffff;
7356 if ((opts1 & RL_ProtoIP) && (opts2 & RL_V4F))
7357 m->m_pkthdr.csum_flags |= CSUM_IP_CHECKED;
7358 if (!(opts1 & RL_IPF) && (opts2 & RL_V4F))
7359 m->m_pkthdr.csum_flags |= CSUM_IP_VALID;
7360 if (((opts1 & RL_TCPT) && !(opts2 & RL_TCPF)) || ((opts1 & RL_UDPT) && !(opts2 & RL_UDPF))) {
7361 m->m_pkthdr.csum_flags |= CSUM_DATA_VALID|CSUM_PSEUDO_HDR;
7362 m->m_pkthdr.csum_data = 0xffff;
7367 eh = mtod(m, struct ether_header *);
7368 #if OS_VER < VERSION(11,0)
7371 if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1);
7374 printf("Rcv Packet, Len=%d \n", m->m_len);
7379 /*#if OS_VER < VERSION(5, 1)*/
7380 #if OS_VER < VERSION(4,9)
7381 /* Remove header from mbuf and pass it on. */
7382 m_adj(m, sizeof(struct ether_header));
7383 ether_input(ifp, eh, m);
7385 (*ifp->if_input)(ifp, m);
7390 rxptr->ul[0]&=htole32(0x40000000); /* keep EOR bit */
7393 rxptr->ul[0] |= htole32(sc->re_rx_desc_buf_sz);
7395 bus_dmamap_load(sc->re_desc.re_rx_mtag,
7396 sc->re_desc.re_rx_dmamap[sc->re_desc.rx_cur_index],
7397 sc->re_desc.rx_buf[sc->re_desc.rx_cur_index]->m_data,
7398 sc->re_rx_desc_buf_sz,
7399 re_rx_dma_map_buf, rxptr,
7401 bus_dmamap_sync(sc->re_desc.re_rx_mtag,
7402 sc->re_desc.re_rx_dmamap[sc->re_desc.rx_cur_index],
7403 BUS_DMASYNC_PREREAD);
7405 rxptr->ul[0] |= htole32(RL_RDESC_CMD_OWN);
7406 sc->re_desc.rx_cur_index = (sc->re_desc.rx_cur_index+1)%RE_RX_BUF_NUM;
7407 rxptr=&sc->re_desc.rx_desc[sc->re_desc.rx_cur_index];
7414 bus_dmamap_sync(sc->re_desc.rx_desc_tag,
7415 sc->re_desc.rx_desc_dmamap,
7416 BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE);
7421 #if OS_VER < VERSION(7,0)
7422 static void re_intr(void *arg) /* Interrupt Handler */
7424 static int re_intr(void *arg) /* Interrupt Handler */
7425 #endif //OS_VER < VERSION(7,0)
7427 struct re_softc *sc;
7431 if ((sc->re_if_flags & (RL_FLAG_MSI | RL_FLAG_MSIX)) == 0) {
7432 if ((CSR_READ_2(sc, RE_ISR) & RE_INTRS) == 0) {
7433 #if OS_VER < VERSION(7,0)
7436 return (FILTER_STRAY);
7441 /* Disable interrupts. */
7442 CSR_WRITE_2(sc, RE_IMR, 0x0000);
7444 #if OS_VER < VERSION(7,0)
7445 re_int_task(arg, 0);
7446 #else //OS_VER < VERSION(7,0)
7447 #if OS_VER < VERSION(11,0)
7448 taskqueue_enqueue_fast(taskqueue_fast, &sc->re_inttask);
7449 #else ////OS_VER < VERSION(11,0)
7450 taskqueue_enqueue(taskqueue_fast, &sc->re_inttask);
7451 #endif //OS_VER < VERSION(11,0)
7452 return (FILTER_HANDLED);
7453 #endif //OS_VER < VERSION(7,0)
7456 static void re_int_task(void *arg, int npending)
7458 struct re_softc *sc;
7466 ifp = RE_GET_IFNET(sc);
7468 status = CSR_READ_2(sc, RE_ISR);
7471 CSR_WRITE_2(sc, RE_ISR, status & 0xffbf);
7474 if (sc->suspended ||
7475 (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) {
7482 if (sc->re_type == MACFG_21) {
7483 if (status & RE_ISR_FIFO_OFLOW) {
7484 sc->rx_fifo_overflow = 1;
7485 CSR_WRITE_2(sc, 0x00e2, 0x0000);
7486 CSR_WRITE_4(sc, 0x0048, 0x4000);
7487 CSR_WRITE_4(sc, 0x0058, 0x4000);
7489 sc->rx_fifo_overflow = 0;
7490 CSR_WRITE_4(sc,RE_CPCR, 0x51512082);
7493 if (status & RE_ISR_PCS_TIMEOUT) {
7494 if ((status & RE_ISR_FIFO_OFLOW) &&
7495 (!(status & (RE_ISR_RX_OK | RE_ISR_TX_OK | RE_ISR_RX_OVERRUN)))) {
7498 sc->rx_fifo_overflow = 0;
7499 CSR_WRITE_2(sc, RE_ISR, RE_ISR_FIFO_OFLOW);
7506 if (status & RE_ISR_SYSTEM_ERR) {
7511 switch(sc->re_type) {
7516 CSR_WRITE_1(sc, RE_TPPOLL, RE_NPQ);
7525 if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
7528 #if OS_VER>=VERSION(7,0)
7529 if (CSR_READ_2(sc, RE_ISR) & RE_INTRS) {
7530 #if OS_VER < VERSION(11,0)
7531 taskqueue_enqueue_fast(taskqueue_fast, &sc->re_inttask);
7532 #else ////OS_VER < VERSION(11,0)
7533 taskqueue_enqueue(taskqueue_fast, &sc->re_inttask);
7534 #endif //OS_VER < VERSION(11,0)
7537 #endif //OS_VER>=VERSION(7,0)
7539 /* Re-enable interrupts. */
7540 CSR_WRITE_2(sc, RE_IMR, RE_INTRS);
7542 #endif /* !__DragonFly__ */
7544 static void re_set_multicast_reg(struct re_softc *sc, u_int32_t mask0, u_int32_t mask4)
7546 u_int8_t enable_cfg_reg_write = 0;
7548 if (sc->re_type == MACFG_5 || sc->re_type == MACFG_6)
7549 enable_cfg_reg_write = 1;
7551 if (enable_cfg_reg_write)
7552 re_enable_cfg9346_write(sc);
7553 CSR_WRITE_4(sc, RE_MAR0, mask0);
7554 CSR_WRITE_4(sc, RE_MAR4, mask4);
7555 if (enable_cfg_reg_write)
7556 re_disable_cfg9346_write(sc);
7561 #ifndef __DragonFly__
7562 static void re_set_rx_packet_filter_in_sleep_state(struct re_softc *sc)
7567 ifp = RE_GET_IFNET(sc);
7569 rxfilt = CSR_READ_4(sc, RE_RXCFG);
7571 rxfilt &= ~(RE_RXCFG_RX_ALLPHYS | RE_RXCFG_RX_INDIV | RE_RXCFG_RX_MULTI | RE_RXCFG_RX_BROAD | RE_RXCFG_RX_RUNT | RE_RXCFG_RX_ERRPKT);
7572 rxfilt |= (RE_RXCFG_RX_INDIV | RE_RXCFG_RX_MULTI | RE_RXCFG_RX_BROAD);
7574 CSR_WRITE_4(sc, RE_RXCFG, rxfilt);
7576 re_set_multicast_reg(sc, 0xFFFFFFFF, 0xFFFFFFFF);
7580 #endif /* !__DragonFly__ */
7582 static void re_set_rx_packet_filter(struct re_softc *sc)
7587 ifp = RE_GET_IFNET(sc);
7589 rxfilt = CSR_READ_4(sc, RE_RXCFG);
7591 rxfilt |= RE_RXCFG_RX_INDIV;
7593 if (ifp->if_flags & (IFF_MULTICAST | IFF_ALLMULTI | IFF_PROMISC)) {
7594 rxfilt |= (RE_RXCFG_RX_ALLPHYS | RE_RXCFG_RX_MULTI);
7596 rxfilt &= ~(RE_RXCFG_RX_MULTI);
7599 if (ifp->if_flags & IFF_PROMISC) {
7600 rxfilt |= (RE_RXCFG_RX_ALLPHYS | RE_RXCFG_RX_RUNT | RE_RXCFG_RX_ERRPKT);
7602 rxfilt &= ~(RE_RXCFG_RX_ALLPHYS | RE_RXCFG_RX_RUNT | RE_RXCFG_RX_ERRPKT);
7605 if (ifp->if_flags & (IFF_BROADCAST | IFF_PROMISC)) {
7606 rxfilt |= RE_RXCFG_RX_BROAD;
7608 rxfilt &= ~RE_RXCFG_RX_BROAD;
7611 CSR_WRITE_4(sc, RE_RXCFG, rxfilt);
7619 * Program the 64-bit multicast hash filter.
7621 static void re_setmulti(struct re_softc *sc)
7625 u_int32_t hashes[2] = { 0, 0 };
7626 struct ifmultiaddr *ifma;
7630 ifp = RE_GET_IFNET(sc);
7632 rxfilt = CSR_READ_4(sc, RE_RXCFG);
7634 if (ifp->if_flags & IFF_ALLMULTI || ifp->if_flags & IFF_PROMISC) {
7635 rxfilt |= RE_RXCFG_RX_MULTI;
7636 CSR_WRITE_4(sc, RE_RXCFG, rxfilt);
7637 re_set_multicast_reg(sc, 0xFFFFFFFF, 0xFFFFFFFF);
7642 #ifndef __DragonFly__
7643 /* now program new ones */
7644 #if OS_VER > VERSION(6,0)
7647 #if OS_VER < VERSION(4,9)
7648 for (ifma = ifp->if_multiaddrs.lh_first; ifma != NULL;
7649 ifma = ifma->ifma_link.le_next)
7651 TAILQ_FOREACH(ifma,&ifp->if_multiaddrs,ifma_link)
7653 #else /* __DragonFly__ */
7654 TAILQ_FOREACH(ifma,&ifp->if_multiaddrs,ifma_link)
7655 #endif /* !__DragonFly__ */
7657 if (ifma->ifma_addr->sa_family != AF_LINK)
7659 h = ether_crc32_be(LLADDR((struct sockaddr_dl *)
7660 ifma->ifma_addr), ETHER_ADDR_LEN) >> 26;
7662 hashes[0] |= (1 << h);
7664 hashes[1] |= (1 << (h - 32));
7667 #ifndef __DragonFly__
7668 #if OS_VER > VERSION(6,0)
7669 IF_ADDR_UNLOCK(ifp);
7671 #endif /* !__DragonFly__ */
7674 if ((sc->re_if_flags & RL_FLAG_PCIE) != 0) {
7675 h = bswap32(hashes[0]);
7676 hashes[0] = bswap32(hashes[1]);
7679 rxfilt |= RE_RXCFG_RX_MULTI;
7681 rxfilt &= ~RE_RXCFG_RX_MULTI;
7683 CSR_WRITE_4(sc, RE_RXCFG, rxfilt);
7684 re_set_multicast_reg(sc, hashes[0], hashes[1]);
7689 #ifndef __DragonFly__
7690 static int re_ioctl(ifp, command, data)
7695 struct re_softc *sc = ifp->if_softc;
7696 struct ifreq *ifr = (struct ifreq *) data;
7705 error = ether_ioctl(ifp, command, data);
7710 //printf("before mtu =%d\n",(int)ifp->if_mtu);
7711 if (ifr->ifr_mtu > sc->max_jumbo_frame_size)
7714 ifp->if_mtu = ifr->ifr_mtu;
7717 if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
7718 //printf("set mtu when running\n");
7725 error =re_alloc_buf(sc);
7737 error =re_alloc_buf(sc);
7739 /* Init descriptors. */
7746 // printf("after mtu =%d\n",(int)ifp->if_mtu);
7750 if (ifp->if_flags & IFF_UP) {
7752 } else if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
7761 re_set_rx_packet_filter(sc);
7767 error = ifmedia_ioctl(ifp, ifr, &sc->media, command);
7772 mask = ifr->ifr_reqcap ^ ifp->if_capenable;
7775 if ((mask & IFCAP_TXCSUM) != 0 && (ifp->if_capabilities & IFCAP_TXCSUM) != 0) {
7776 ifp->if_capenable ^= IFCAP_TXCSUM;
7777 if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) {
7778 if ((sc->re_type == MACFG_24) || (sc->re_type == MACFG_24) || (sc->re_type == MACFG_26))
7779 ifp->if_hwassist |= CSUM_TCP | CSUM_UDP;
7781 ifp->if_hwassist |= RE_CSUM_FEATURES;
7783 ifp->if_hwassist &= ~RE_CSUM_FEATURES;
7787 if ((mask & IFCAP_RXCSUM) != 0 &&
7788 (ifp->if_capabilities & IFCAP_RXCSUM) != 0) {
7789 ifp->if_capenable ^= IFCAP_RXCSUM;
7793 if ((ifp->if_mtu <= ETHERMTU) || ((sc->re_type>= MACFG_3) &&(sc->re_type <=MACFG_6)) || ((sc->re_type>= MACFG_21) && (sc->re_type <=MACFG_23))) {
7794 if (ifp->if_capenable & IFCAP_TXCSUM)
7795 sc->re_tx_cstag = 1;
7797 sc->re_tx_cstag = 0;
7799 if (ifp->if_capenable & IFCAP_RXCSUM)
7800 sc->re_rx_cstag = 1;
7802 sc->re_rx_cstag = 0;
7804 if ((mask & IFCAP_VLAN_HWTAGGING) != 0 &&
7805 (ifp->if_capabilities & IFCAP_VLAN_HWTAGGING) != 0) {
7806 ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING;
7807 /* TSO over VLAN requires VLAN hardware tagging. */
7808 //if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) == 0)
7809 // ifp->if_capenable &= ~IFCAP_VLAN_HWTSO;
7813 if ((mask & IFCAP_WOL) != 0 &&
7814 (ifp->if_capabilities & IFCAP_WOL) != 0) {
7815 if ((mask & IFCAP_WOL_UCAST) != 0)
7816 ifp->if_capenable ^= IFCAP_WOL_UCAST;
7817 if ((mask & IFCAP_WOL_MCAST) != 0)
7818 ifp->if_capenable ^= IFCAP_WOL_MCAST;
7819 if ((mask & IFCAP_WOL_MAGIC) != 0)
7820 ifp->if_capenable ^= IFCAP_WOL_MAGIC;
7822 if (reinit && ifp->if_drv_flags & IFF_DRV_RUNNING) {
7823 ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
7826 VLAN_CAPABILITIES(ifp);
7837 #endif /* !__DragonFly__ */
7839 static void re_link_on_patch(struct re_softc *sc)
7843 ifp = RE_GET_IFNET(sc);
7845 if (sc->re_type == MACFG_50 || sc->re_type == MACFG_51 || sc->re_type == MACFG_52) {
7846 if (CSR_READ_1(sc, RE_PHY_STATUS) & RL_PHY_STATUS_1000MF) {
7847 re_eri_write(sc, 0x1bc, 4, 0x00000011, ERIAR_ExGMAC);
7848 re_eri_write(sc, 0x1dc, 4, 0x0000001f, ERIAR_ExGMAC);
7849 } else if (CSR_READ_1(sc, RE_PHY_STATUS) & RL_PHY_STATUS_100M) {
7850 re_eri_write(sc, 0x1bc, 4, 0x0000001f, ERIAR_ExGMAC);
7851 re_eri_write(sc, 0x1dc, 4, 0x0000001f, ERIAR_ExGMAC);
7853 re_eri_write(sc, 0x1bc, 4, 0x0000001f, ERIAR_ExGMAC);
7854 re_eri_write(sc, 0x1dc, 4, 0x0000002d, ERIAR_ExGMAC);
7856 } else if ((sc->re_type == MACFG_38 || sc->re_type == MACFG_39) && (ifp->if_flags & IFF_UP)) {
7857 if (sc->re_type == MACFG_38 && (CSR_READ_1(sc, RE_PHY_STATUS) & RL_PHY_STATUS_10M)) {
7858 CSR_WRITE_4(sc, RE_RXCFG, CSR_READ_4(sc, RE_RXCFG) | RE_RXCFG_RX_ALLPHYS);
7859 } else if (sc->re_type == MACFG_39) {
7860 if (CSR_READ_1(sc, RE_PHY_STATUS) & RL_PHY_STATUS_1000MF) {
7861 re_eri_write(sc, 0x1bc, 4, 0x00000011, ERIAR_ExGMAC);
7862 re_eri_write(sc, 0x1dc, 4, 0x00000005, ERIAR_ExGMAC);
7863 } else if (CSR_READ_1(sc, RE_PHY_STATUS) & RL_PHY_STATUS_100M) {
7864 re_eri_write(sc, 0x1bc, 4, 0x0000001f, ERIAR_ExGMAC);
7865 re_eri_write(sc, 0x1dc, 4, 0x00000005, ERIAR_ExGMAC);
7867 re_eri_write(sc, 0x1bc, 4, 0x0000001f, ERIAR_ExGMAC);
7868 re_eri_write(sc, 0x1dc, 4, 0x0000003f, ERIAR_ExGMAC);
7871 } else if ((sc->re_type == MACFG_36 || sc->re_type == MACFG_37) && eee_enable ==1) {
7872 /*Full -Duplex mode*/
7873 if (CSR_READ_1(sc, RE_PHY_STATUS) & RL_PHY_STATUS_FULL_DUP) {
7874 MP_WritePhyUshort(sc, 0x1F, 0x0006);
7875 MP_WritePhyUshort(sc, 0x00, 0x5a30);
7876 MP_WritePhyUshort(sc, 0x1F, 0x0000);
7877 if (CSR_READ_1(sc, RE_PHY_STATUS) & (RL_PHY_STATUS_10M | RL_PHY_STATUS_100M))
7878 CSR_WRITE_4(sc, RE_TXCFG, (CSR_READ_4(sc, RE_TXCFG) & ~BIT_19) | BIT_25);
7881 MP_WritePhyUshort(sc, 0x1F, 0x0006);
7882 MP_WritePhyUshort(sc, 0x00, 0x5a00);
7883 MP_WritePhyUshort(sc, 0x1F, 0x0000);
7884 if (CSR_READ_1(sc, RE_PHY_STATUS) & (RL_PHY_STATUS_10M | RL_PHY_STATUS_100M))
7885 CSR_WRITE_4(sc, RE_TXCFG, (CSR_READ_4(sc, RE_TXCFG) & ~BIT_19) | RE_TXCFG_IFG);
7887 } else if ((sc->re_type == MACFG_56 || sc->re_type == MACFG_57 ||
7888 sc->re_type == MACFG_58 || sc->re_type == MACFG_59 ||
7889 sc->re_type == MACFG_60 || sc->re_type == MACFG_61 ||
7890 sc->re_type == MACFG_62 || sc->re_type == MACFG_67 ||
7891 sc->re_type == MACFG_68 || sc->re_type == MACFG_69 ||
7892 sc->re_type == MACFG_70 || sc->re_type == MACFG_71) &&
7893 (ifp->if_flags & IFF_UP)) {
7894 if (CSR_READ_1(sc, RE_PHY_STATUS) & RL_PHY_STATUS_FULL_DUP)
7895 CSR_WRITE_4(sc, RE_TXCFG, (CSR_READ_4(sc, RE_TXCFG) | (BIT_24 | BIT_25)) & ~BIT_19);
7897 CSR_WRITE_4(sc, RE_TXCFG, (CSR_READ_4(sc, RE_TXCFG) | BIT_25) & ~(BIT_19 | BIT_24));
7900 if (sc->re_type == MACFG_56 || sc->re_type == MACFG_57 ||
7901 sc->re_type == MACFG_61 || sc->re_type == MACFG_62) {
7903 if (!(CSR_READ_1(sc, RE_PHY_STATUS) & RL_PHY_STATUS_FULL_DUP)) {
7904 MP_WritePhyUshort(sc, 0x1F, 0x0000);
7905 MP_WritePhyUshort(sc, MII_ANAR, MP_ReadPhyUshort(sc, MII_ANAR)&~(ANAR_PAUSE_SYM |ANAR_PAUSE_ASYM));
7909 if ((sc->re_type == MACFG_70 || sc->re_type == MACFG_71) &&
7910 (CSR_READ_1(sc, RE_PHY_STATUS) & RL_PHY_STATUS_10M)) {
7913 Data32 = re_eri_read(sc, 0x1D0, 1, ERIAR_ExGMAC);
7915 re_eri_write(sc, 0x1D0, 1, Data32, ERIAR_ExGMAC);
7918 #ifndef __DragonFly__
7923 #ifndef __DragonFly__
7924 static void re_link_down_patch(struct re_softc *sc)
7928 ifp = RE_GET_IFNET(sc);
7934 re_ifmedia_upd(ifp);
7938 * Check Link Status.
7940 static void re_check_link_status(struct re_softc *sc)
7942 u_int8_t link_state;
7945 ifp = RE_GET_IFNET(sc);
7947 if (re_link_ok(sc)) {
7948 link_state = LINK_STATE_UP;
7950 link_state = LINK_STATE_DOWN;
7953 if (link_state != sc->link_state) {
7954 sc->link_state = link_state;
7955 if (link_state == LINK_STATE_UP) {
7956 re_link_on_patch(sc);
7957 re_link_state_change(ifp, LINK_STATE_UP);
7959 re_link_state_change(ifp, LINK_STATE_DOWN);
7960 re_link_down_patch(sc);
7965 static void re_init_timer(struct re_softc *sc)
7967 #ifdef RE_USE_NEW_CALLOUT_FUN
7968 callout_init(&sc->re_stat_ch, CALLOUT_MPSAFE);
7970 callout_handle_init(&sc->re_stat_ch);
7974 static void re_stop_timer(struct re_softc *sc)
7976 #ifdef RE_USE_NEW_CALLOUT_FUN
7977 callout_stop(&sc->re_stat_ch);
7979 untimeout(re_tick, sc, sc->re_stat_ch);
7983 static void re_start_timer(struct re_softc *sc)
7985 #ifdef RE_USE_NEW_CALLOUT_FUN
7986 callout_reset(&sc->re_stat_ch, hz, re_tick, sc);
7989 sc->re_stat_ch = timeout(re_tick, sc, hz);
7993 static void re_tick(xsc)
7996 /*called per second*/
7997 struct re_softc *sc;
8003 /*mii = device_get_softc(sc->re_miibus);
8011 if (sc->re_link_chg_det == 1) {
8012 re_check_link_status(sc);
8021 #if OS_VER < VERSION(7,0)
8022 static void re_watchdog(ifp)
8025 struct re_softc *sc;
8029 printf("re%d: watchdog timeout\n", sc->re_unit);
8030 #if OS_VER < VERSION(11,0)
8033 if_inc_counter(ifp, IFCOUNTER_OERRORS, 1);
8043 #endif /* !__DragonFly__ */
8046 * Set media options.
8048 static int re_ifmedia_upd(struct ifnet *ifp)
8050 struct re_softc *sc = ifp->if_softc;
8051 struct ifmedia *ifm = &sc->media;
8055 if (IFM_TYPE(ifm->ifm_media) != IFM_ETHER)
8058 if (sc->re_type == MACFG_68 || sc->re_type == MACFG_69 ||
8059 sc->re_type == MACFG_70 || sc->re_type == MACFG_71) {
8061 MP_WritePhyUshort(sc, 0x1F, 0x0A42);
8062 ClearEthPhyBit(sc, 0x14, BIT_9);
8063 if (sc->re_type == MACFG_70 || sc->re_type == MACFG_71)
8064 ClearEthPhyBit(sc, 0x14, BIT_7);
8065 MP_WritePhyUshort(sc, 0x1F, 0x0A40);
8066 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8070 switch (IFM_SUBTYPE(ifm->ifm_media)) {
8076 gbcr = GTCR_ADV_1000TFDX |
8080 #ifndef __DragonFly__
8086 #else /* __DragonFly__ */
8088 #endif /* !__DragonFly__ */
8093 gbcr = GTCR_ADV_1000TFDX |
8097 gbcr = MP_ReadPhyUshort(sc, MII_100T2CR) &
8098 ~(GTCR_ADV_1000TFDX | GTCR_ADV_1000THDX);
8099 if ((ifm->ifm_media & IFM_GMASK) == IFM_FDX) {
8111 gbcr = MP_ReadPhyUshort(sc, MII_100T2CR) &
8112 ~(GTCR_ADV_1000TFDX | GTCR_ADV_1000THDX);
8113 if ((ifm->ifm_media & IFM_GMASK) == IFM_FDX) {
8120 if (sc->re_type == MACFG_13) {
8121 MP_WritePhyUshort(sc, MII_BMCR, 0x8000);
8126 #ifndef __DragonFly__
8127 printf("re%d: Unsupported media type\n", sc->re_unit);
8130 if_printf(ifp, "Unsupported media type\n");
8131 return (EOPNOTSUPP);
8135 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8136 if (sc->re_device_id==RT_DEVICEID_8169 || sc->re_device_id==RT_DEVICEID_8169SC ||
8137 sc->re_device_id==RT_DEVICEID_8168 || sc->re_device_id==RT_DEVICEID_8161) {
8138 MP_WritePhyUshort(sc, MII_ANAR, anar | 0x0800 | ANAR_FC);
8139 MP_WritePhyUshort(sc, MII_100T2CR, gbcr);
8140 MP_WritePhyUshort(sc, MII_BMCR, BMCR_RESET | BMCR_AUTOEN | BMCR_STARTNEG);
8141 } else if (sc->re_type == MACFG_36) {
8142 MP_WritePhyUshort(sc, MII_ANAR, anar | 0x0800 | ANAR_FC);
8143 MP_WritePhyUshort(sc, MII_BMCR, BMCR_RESET | BMCR_AUTOEN | BMCR_STARTNEG);
8145 MP_WritePhyUshort(sc, MII_ANAR, anar | 1);
8146 MP_WritePhyUshort(sc, MII_BMCR, BMCR_AUTOEN | BMCR_STARTNEG);
8153 * Report current media status.
8155 static void re_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr)
8157 struct re_softc *sc;
8163 ifmr->ifm_status = IFM_AVALID;
8164 ifmr->ifm_active = IFM_ETHER;
8166 if (re_link_ok(sc)) {
8169 ifmr->ifm_status |= IFM_ACTIVE;
8171 msr = CSR_READ_1(sc, RE_PHY_STATUS);
8172 if (msr & RL_PHY_STATUS_FULL_DUP)
8173 ifmr->ifm_active |= IFM_FDX;
8175 ifmr->ifm_active |= IFM_HDX;
8177 if (msr & RL_PHY_STATUS_10M)
8178 ifmr->ifm_active |= IFM_10_T;
8179 else if (msr & RL_PHY_STATUS_100M)
8180 ifmr->ifm_active |= IFM_100_TX;
8181 else if (msr & RL_PHY_STATUS_1000MF)
8182 ifmr->ifm_active |= IFM_1000_T;
8183 #ifdef __DragonFly__
8185 if (IFM_SUBTYPE(sc->media.ifm_media) == IFM_AUTO)
8186 ifmr->ifm_active |= IFM_NONE;
8188 ifmr->ifm_active |= sc->media.ifm_media;
8197 static int re_enable_EEE(struct re_softc *sc)
8201 u_int16_t PhyRegValue;
8205 switch (sc->re_type) {
8208 re_eri_write(sc, 0x1B0, 2, 0xED03, ERIAR_ExGMAC);
8209 MP_WritePhyUshort(sc, 0x1F, 0x0004);
8210 if (CSR_READ_1(sc, 0xEF) & 0x02) {
8211 MP_WritePhyUshort(sc, 0x10, 0x731F);
8212 MP_WritePhyUshort(sc, 0x19, 0x7630);
8214 MP_WritePhyUshort(sc, 0x10, 0x711F);
8215 MP_WritePhyUshort(sc, 0x19, 0x7030);
8217 MP_WritePhyUshort(sc, 0x1A, 0x1506);
8218 MP_WritePhyUshort(sc, 0x1B, 0x0551);
8219 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8220 MP_WritePhyUshort(sc, 0x0D, 0x0007);
8221 MP_WritePhyUshort(sc, 0x0E, 0x003C);
8222 MP_WritePhyUshort(sc, 0x0D, 0x4007);
8223 MP_WritePhyUshort(sc, 0x0E, 0x0002);
8224 MP_WritePhyUshort(sc, 0x0D, 0x0000);
8226 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8227 MP_WritePhyUshort(sc, 0x0D, 0x0003);
8228 MP_WritePhyUshort(sc, 0x0E, 0x0015);
8229 MP_WritePhyUshort(sc, 0x0D, 0x4003);
8230 MP_WritePhyUshort(sc, 0x0E, 0x0002);
8231 MP_WritePhyUshort(sc, 0x0D, 0x0000);
8233 MP_WritePhyUshort(sc, MII_BMCR, BMCR_AUTOEN | BMCR_STARTNEG);
8239 re_eri_write(sc, 0x1B0, 2, 0xED03, ERIAR_ExGMAC);
8240 MP_WritePhyUshort(sc, 0x1F, 0x0004);
8241 MP_WritePhyUshort(sc, 0x10, 0x731F);
8242 MP_WritePhyUshort(sc, 0x19, 0x7630);
8243 MP_WritePhyUshort(sc, 0x1A, 0x1506);
8244 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8245 MP_WritePhyUshort(sc, 0x0D, 0x0007);
8246 MP_WritePhyUshort(sc, 0x0E, 0x003C);
8247 MP_WritePhyUshort(sc, 0x0D, 0x4007);
8248 MP_WritePhyUshort(sc, 0x0E, 0x0002);
8249 MP_WritePhyUshort(sc, 0x0D, 0x0000);
8251 MP_WritePhyUshort(sc, MII_BMCR, BMCR_AUTOEN | BMCR_STARTNEG);
8256 MP_WritePhyUshort(sc, 0x1F, 0x0007);
8257 MP_WritePhyUshort(sc, 0x1E, 0x0020);
8258 data = MP_ReadPhyUshort(sc, 0x15) | 0x0100;
8259 MP_WritePhyUshort(sc, 0x15, data);
8260 MP_WritePhyUshort(sc, 0x1F, 0x0006);
8261 MP_WritePhyUshort(sc, 0x00, 0x5A30);
8262 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8263 MP_WritePhyUshort(sc, 0x0D, 0x0007);
8264 MP_WritePhyUshort(sc, 0x0E, 0x003C);
8265 MP_WritePhyUshort(sc, 0x0D, 0x4007);
8266 MP_WritePhyUshort(sc, 0x0E, 0x0006);
8267 MP_WritePhyUshort(sc, 0x0D, 0x0000);
8268 if ((CSR_READ_1(sc, RE_CFG4)&RL_CFG4_CUSTOMIZED_LED) && (CSR_READ_1(sc, RE_MACDBG) & BIT_7)) {
8269 MP_WritePhyUshort(sc, 0x1F, 0x0005);
8270 MP_WritePhyUshort(sc, 0x05, 0x8AC8);
8271 MP_WritePhyUshort(sc, 0x06, CSR_READ_1(sc, RE_CUSTOM_LED));
8272 MP_WritePhyUshort(sc, 0x05, 0x8B82);
8273 data = MP_ReadPhyUshort(sc, 0x06) | 0x0010;
8274 MP_WritePhyUshort(sc, 0x05, 0x8B82);
8275 MP_WritePhyUshort(sc, 0x06, data);
8276 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8283 data = re_eri_read(sc, 0x1B0, 4, ERIAR_ExGMAC) | 0x0003;
8284 re_eri_write(sc, 0x1B0, 4, data, ERIAR_ExGMAC);
8285 MP_WritePhyUshort(sc, 0x1F, 0x0007);
8286 MP_WritePhyUshort(sc, 0x1E, 0x0020);
8287 data = MP_ReadPhyUshort(sc, 0x15)|0x0100;
8288 MP_WritePhyUshort(sc, 0x15, data);
8289 MP_WritePhyUshort(sc, 0x1F, 0x0005);
8290 MP_WritePhyUshort(sc, 0x05, 0x8B85);
8291 data = MP_ReadPhyUshort(sc, 0x06)|0x2000;
8292 MP_WritePhyUshort(sc, 0x06, data);
8293 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8294 MP_WritePhyUshort(sc, 0x0D, 0x0007);
8295 MP_WritePhyUshort(sc, 0x0E, 0x003C);
8296 MP_WritePhyUshort(sc, 0x0D, 0x4007);
8297 MP_WritePhyUshort(sc, 0x0E, 0x0006);
8298 MP_WritePhyUshort(sc, 0x1D, 0x0000);
8303 data = re_eri_read(sc, 0x1B0, 4, ERIAR_ExGMAC);
8304 data |= BIT_1 | BIT_0;
8305 re_eri_write(sc, 0x1B0, 4, data, ERIAR_ExGMAC);
8306 MP_WritePhyUshort(sc, 0x1F, 0x0004);
8307 MP_WritePhyUshort(sc, 0x1F, 0x0007);
8308 MP_WritePhyUshort(sc, 0x1e, 0x0020);
8309 data = MP_ReadPhyUshort(sc, 0x15);
8311 MP_WritePhyUshort(sc, 0x15, data);
8312 MP_WritePhyUshort(sc, 0x1F, 0x0002);
8313 MP_WritePhyUshort(sc, 0x1F, 0x0005);
8314 MP_WritePhyUshort(sc, 0x05, 0x8B85);
8315 data = MP_ReadPhyUshort(sc, 0x06);
8317 MP_WritePhyUshort(sc, 0x06, data);
8318 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8319 MP_WritePhyUshort(sc, 0x0D, 0x0007);
8320 MP_WritePhyUshort(sc, 0x0E, 0x003C);
8321 MP_WritePhyUshort(sc, 0x0D, 0x4007);
8322 MP_WritePhyUshort(sc, 0x0E, 0x0006);
8323 MP_WritePhyUshort(sc, 0x0D, 0x0000);
8338 data = re_eri_read(sc, 0x1B0, 4, ERIAR_ExGMAC);
8339 data |= BIT_1 | BIT_0;
8340 re_eri_write(sc, 0x1B0, 4, data, ERIAR_ExGMAC);
8341 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
8342 data = MP_ReadPhyUshort(sc, 0x11);
8343 MP_WritePhyUshort(sc, 0x11, data | BIT_4);
8344 MP_WritePhyUshort(sc, 0x1F, 0x0A5D);
8345 MP_WritePhyUshort(sc, 0x10, 0x0006);
8346 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8354 switch (sc->re_type) {
8357 MP_WritePhyUshort(sc, 0x1F, 0x0A4A);
8358 SetEthPhyBit(sc, 0x11, BIT_9);
8359 MP_WritePhyUshort(sc, 0x1F, 0x0A42);
8360 SetEthPhyBit(sc, 0x14, BIT_7);
8361 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8366 switch (sc->re_type) {
8372 MP_WritePhyUshort(sc, 0x1F, 0x0B82);
8373 SetEthPhyBit(sc, 0x10, BIT_4);
8374 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8376 MP_WritePhyUshort(sc, 0x1F, 0x0B80);
8379 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
8380 PhyRegValue &= 0x0040;
8384 } while(PhyRegValue != 0x0040 && WaitCnt <1000);
8386 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8390 switch (sc->re_type) {
8392 re_eri_write(sc, 0x1EA, 1, 0xFA, ERIAR_ExGMAC);
8394 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
8395 data = MP_ReadPhyUshort(sc, 0x10);
8396 if (data & BIT_10) {
8397 MP_WritePhyUshort(sc, 0x1F, 0x0A42);
8398 data = MP_ReadPhyUshort(sc, 0x16);
8400 MP_WritePhyUshort(sc, 0x16, data);
8402 MP_WritePhyUshort(sc, 0x1F, 0x0A42);
8403 data = MP_ReadPhyUshort(sc, 0x16);
8405 MP_WritePhyUshort(sc, 0x16, data);
8407 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8410 data = MP_ReadMcuAccessRegWord(sc, 0xE052);
8412 MP_WriteMcuAccessRegWord(sc, 0xE052, data);
8413 data = MP_ReadMcuAccessRegWord(sc, 0xE056);
8415 data |= (BIT_4 | BIT_5 | BIT_6);
8416 MP_WriteMcuAccessRegWord(sc, 0xE056, data);
8418 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
8419 data = MP_ReadPhyUshort(sc, 0x10);
8420 if (data & BIT_10) {
8421 MP_WritePhyUshort(sc, 0x1F, 0x0A42);
8422 data = MP_ReadPhyUshort(sc, 0x16);
8424 MP_WritePhyUshort(sc, 0x16, data);
8426 MP_WritePhyUshort(sc, 0x1F, 0x0A42);
8427 data = MP_ReadPhyUshort(sc, 0x16);
8429 MP_WritePhyUshort(sc, 0x16, data);
8431 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8437 data = MP_ReadMcuAccessRegWord(sc, 0xE052);
8439 MP_WriteMcuAccessRegWord(sc, 0xE052, data);
8440 OOB_mutex_unlock(sc);
8441 data = MP_ReadMcuAccessRegWord(sc, 0xE056);
8443 data |= (BIT_4 | BIT_5 | BIT_6);
8444 MP_WriteMcuAccessRegWord(sc, 0xE056, data);
8449 data = MP_ReadMcuAccessRegWord(sc, 0xE052);
8451 MP_WriteMcuAccessRegWord(sc, 0xE052, data);
8452 OOB_mutex_unlock(sc);
8453 data = MP_ReadMcuAccessRegWord(sc, 0xE056);
8455 data |= (BIT_4 | BIT_5 | BIT_6);
8456 MP_WriteMcuAccessRegWord(sc, 0xE056, data);
8457 MP_WriteMcuAccessRegWord(sc, 0xEA80, 0x0003);
8461 data = MP_ReadMcuAccessRegWord(sc, 0xE052);
8463 MP_WriteMcuAccessRegWord(sc, 0xE052, data);
8465 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
8466 data = MP_ReadPhyUshort(sc, 0x10) | BIT_15;
8467 MP_WritePhyUshort(sc, 0x10, data);
8469 MP_WritePhyUshort(sc, 0x1F, 0x0A44);
8470 data = MP_ReadPhyUshort(sc, 0x11) | BIT_13 | BIT_14;
8472 MP_WritePhyUshort(sc, 0x11, data);
8476 switch (sc->re_type) {
8482 MP_WritePhyUshort(sc, 0x1F, 0x0B82);
8483 ClearEthPhyBit(sc, 0x10, BIT_4);
8484 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8491 static int re_disable_EEE(struct re_softc *sc)
8495 u_int16_t PhyRegValue;
8499 switch (sc->re_type) {
8502 re_eri_write(sc, 0x1B0, 2, 0, ERIAR_ExGMAC);
8503 MP_WritePhyUshort(sc, 0x1F, 0x0004);
8504 MP_WritePhyUshort(sc, 0x10, 0x401F);
8505 MP_WritePhyUshort(sc, 0x19, 0x7030);
8507 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8508 MP_WritePhyUshort(sc, 0x0D, 0x0007);
8509 MP_WritePhyUshort(sc, 0x0E, 0x003C);
8510 MP_WritePhyUshort(sc, 0x0D, 0x4007);
8511 MP_WritePhyUshort(sc, 0x0E, 0x0000);
8512 MP_WritePhyUshort(sc, 0x0D, 0x0000);
8514 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8515 MP_WritePhyUshort(sc, 0x0D, 0x0003);
8516 MP_WritePhyUshort(sc, 0x0E, 0x0015);
8517 MP_WritePhyUshort(sc, 0x0D, 0x4003);
8518 MP_WritePhyUshort(sc, 0x0E, 0x0000);
8519 MP_WritePhyUshort(sc, 0x0D, 0x0000);
8521 MP_WritePhyUshort(sc, MII_BMCR, BMCR_AUTOEN | BMCR_STARTNEG);
8525 re_eri_write(sc, 0x1B0, 2, 0, ERIAR_ExGMAC);
8526 MP_WritePhyUshort(sc, 0x1F, 0x0004);
8527 MP_WritePhyUshort(sc, 0x10, 0x401F);
8528 MP_WritePhyUshort(sc, 0x19, 0x7030);
8530 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8531 MP_WritePhyUshort(sc, 0x0D, 0x0007);
8532 MP_WritePhyUshort(sc, 0x0E, 0x003C);
8533 MP_WritePhyUshort(sc, 0x0D, 0x4007);
8534 MP_WritePhyUshort(sc, 0x0E, 0x0000);
8535 MP_WritePhyUshort(sc, 0x0D, 0x0000);
8537 MP_WritePhyUshort(sc, MII_BMCR, BMCR_AUTOEN | BMCR_STARTNEG);
8542 re_eri_write(sc, 0x1B0, 2, 0, ERIAR_ExGMAC);
8543 MP_WritePhyUshort(sc, 0x1F, 0x0004);
8544 MP_WritePhyUshort(sc, 0x10, 0xC07F);
8545 MP_WritePhyUshort(sc, 0x19, 0x7030);
8546 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8548 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8549 MP_WritePhyUshort(sc, 0x0D, 0x0007);
8550 MP_WritePhyUshort(sc, 0x0E, 0x003C);
8551 MP_WritePhyUshort(sc, 0x0D, 0x4007);
8552 MP_WritePhyUshort(sc, 0x0E, 0x0000);
8553 MP_WritePhyUshort(sc, 0x0D, 0x0000);
8555 MP_WritePhyUshort(sc, MII_BMCR, BMCR_AUTOEN | BMCR_STARTNEG);
8560 MP_WritePhyUshort(sc, 0x1F, 0x0007);
8561 MP_WritePhyUshort(sc, 0x1E, 0x0020);
8562 data = MP_ReadPhyUshort(sc, 0x15) & ~0x0100;
8563 MP_WritePhyUshort(sc, 0x15, data);
8564 MP_WritePhyUshort(sc, 0x1F, 0x0006);
8565 MP_WritePhyUshort(sc, 0x00, 0x5A00);
8566 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8567 MP_WritePhyUshort(sc, 0x0D, 0x0007);
8568 MP_WritePhyUshort(sc, 0x0E, 0x003C);
8569 MP_WritePhyUshort(sc, 0x0D, 0x4007);
8570 MP_WritePhyUshort(sc, 0x0E, 0x0000);
8571 MP_WritePhyUshort(sc, 0x0D, 0x0000);
8572 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8573 if (CSR_READ_1(sc, RE_CFG4) & RL_CFG4_CUSTOMIZED_LED) {
8574 MP_WritePhyUshort(sc, 0x1F, 0x0005);
8575 MP_WritePhyUshort(sc, 0x05, 0x8B82);
8576 data = MP_ReadPhyUshort(sc, 0x06) & ~0x0010;
8577 MP_WritePhyUshort(sc, 0x05, 0x8B82);
8578 MP_WritePhyUshort(sc, 0x06, data);
8579 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8586 data = re_eri_read(sc, 0x1B0, 4, ERIAR_ExGMAC)& ~0x0003;
8587 re_eri_write(sc, 0x1B0, 4, data, ERIAR_ExGMAC);
8588 MP_WritePhyUshort(sc, 0x1F, 0x0005);
8589 MP_WritePhyUshort(sc, 0x05, 0x8B85);
8590 data = MP_ReadPhyUshort(sc, 0x06) & ~0x2000;
8591 MP_WritePhyUshort(sc, 0x06, data);
8592 MP_WritePhyUshort(sc, 0x1F, 0x0007);
8593 MP_WritePhyUshort(sc, 0x1E, 0x0020);
8594 data = MP_ReadPhyUshort(sc, 0x15) & ~0x0100;
8595 MP_WritePhyUshort(sc, 0x15, data);
8596 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8597 MP_WritePhyUshort(sc, 0x0D, 0x0007);
8598 MP_WritePhyUshort(sc, 0x0E, 0x003C);
8599 MP_WritePhyUshort(sc, 0x0D, 0x4007);
8600 MP_WritePhyUshort(sc, 0x0E, 0x0000);
8601 MP_WritePhyUshort(sc, 0x0D, 0x0000);
8602 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8607 data = re_eri_read(sc, 0x1B0, 4, ERIAR_ExGMAC);
8608 data &= ~(BIT_1 | BIT_0);
8609 re_eri_write(sc, 0x1B0, 4, data, ERIAR_ExGMAC);
8610 MP_WritePhyUshort(sc, 0x1F, 0x0005);
8611 MP_WritePhyUshort(sc, 0x05, 0x8B85);
8612 data = MP_ReadPhyUshort(sc, 0x06);
8614 MP_WritePhyUshort(sc, 0x06, data);
8615 MP_WritePhyUshort(sc, 0x1F, 0x0004);
8616 MP_WritePhyUshort(sc, 0x1F, 0x0007);
8617 MP_WritePhyUshort(sc, 0x1e, 0x0020);
8618 data = MP_ReadPhyUshort(sc, 0x15);
8620 MP_WritePhyUshort(sc, 0x15, data);
8621 MP_WritePhyUshort(sc, 0x1F, 0x0002);
8622 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8623 MP_WritePhyUshort(sc, 0x0D, 0x0007);
8624 MP_WritePhyUshort(sc, 0x0E, 0x003C);
8625 MP_WritePhyUshort(sc, 0x0D, 0x4007);
8626 MP_WritePhyUshort(sc, 0x0E, 0x0000);
8627 MP_WritePhyUshort(sc, 0x0D, 0x0000);
8628 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8643 data = re_eri_read(sc, 0x1B0, 4, ERIAR_ExGMAC);
8644 data &= ~(BIT_1 | BIT_0);
8645 re_eri_write(sc, 0x1B0, 4, data, ERIAR_ExGMAC);
8646 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
8647 data = MP_ReadPhyUshort(sc, 0x11);
8648 MP_WritePhyUshort(sc, 0x11, data & ~BIT_4);
8649 MP_WritePhyUshort(sc, 0x1F, 0x0A5D);
8650 MP_WritePhyUshort(sc, 0x10, 0x0000);
8651 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8659 switch (sc->re_type) {
8662 MP_WritePhyUshort(sc, 0x1F, 0x0A42);
8663 ClearEthPhyBit(sc, 0x14, BIT_7);
8664 MP_WritePhyUshort(sc, 0x1F, 0x0A4A);
8665 ClearEthPhyBit(sc, 0x11, BIT_9);
8666 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8671 switch (sc->re_type) {
8677 MP_WritePhyUshort(sc, 0x1F, 0x0B82);
8678 SetEthPhyBit(sc, 0x10, BIT_4);
8679 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8681 MP_WritePhyUshort(sc, 0x1F, 0x0B80);
8684 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
8685 PhyRegValue &= 0x0040;
8689 } while(PhyRegValue != 0x0040 && WaitCnt <1000);
8691 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8695 switch (sc->re_type) {
8697 re_eri_write(sc, 0x1EA, 1, 0x00, ERIAR_ExGMAC);
8699 MP_WritePhyUshort(sc, 0x1F, 0x0A42);
8700 data = MP_ReadPhyUshort(sc, 0x16);
8702 MP_WritePhyUshort(sc, 0x16, data);
8703 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8706 data = MP_ReadMcuAccessRegWord(sc, 0xE052);
8708 MP_WriteMcuAccessRegWord(sc, 0xE052, data);
8710 MP_WritePhyUshort(sc, 0x1F, 0x0A42);
8711 data = MP_ReadPhyUshort(sc, 0x16);
8713 MP_WritePhyUshort(sc, 0x16, data);
8714 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8721 data = MP_ReadMcuAccessRegWord(sc, 0xE052);
8723 MP_WriteMcuAccessRegWord(sc, 0xE052, data);
8727 data = MP_ReadMcuAccessRegWord(sc, 0xE052);
8729 MP_WriteMcuAccessRegWord(sc, 0xE052, data);
8731 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
8732 data = MP_ReadPhyUshort(sc, 0x10) & ~(BIT_15);
8733 MP_WritePhyUshort(sc, 0x10, data);
8735 MP_WritePhyUshort(sc, 0x1F, 0x0A44);
8736 data = MP_ReadPhyUshort(sc, 0x11) & ~(BIT_12 | BIT_13 | BIT_14);
8737 MP_WritePhyUshort(sc, 0x11, data);
8741 switch (sc->re_type) {
8747 MP_WritePhyUshort(sc, 0x1F, 0x0B82);
8748 ClearEthPhyBit(sc, 0x10, BIT_4);
8749 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8756 static int re_phy_ram_code_check(struct re_softc *sc)
8758 u_int16_t PhyRegValue;
8762 switch(sc->re_type) {
8764 MP_WritePhyUshort(sc, 0x1f, 0x0A40);
8765 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
8766 PhyRegValue &= ~(BIT_11);
8767 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
8770 MP_WritePhyUshort(sc, 0x1f, 0x0A00);
8771 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
8772 PhyRegValue &= ~(BIT_12 | BIT_13 | BIT_14 | BIT_15);
8773 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
8775 MP_WritePhyUshort(sc, 0x1f, 0x0A43);
8776 MP_WritePhyUshort(sc, 0x13, 0x8010);
8777 PhyRegValue = MP_ReadPhyUshort(sc, 0x14);
8778 PhyRegValue &= ~(BIT_11);
8779 MP_WritePhyUshort(sc, 0x14, PhyRegValue);
8781 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
8782 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
8783 PhyRegValue |= BIT_4;
8784 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
8786 MP_WritePhyUshort(sc, 0x1f, 0x0B80);
8789 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
8790 PhyRegValue &= 0x0040;
8794 } while(PhyRegValue != 0x0040 && WaitCnt <1000);
8796 if (WaitCnt == 1000) {
8800 MP_WritePhyUshort(sc, 0x1f, 0x0A40);
8801 MP_WritePhyUshort(sc, 0x10, 0x0140);
8803 MP_WritePhyUshort(sc, 0x1f, 0x0A4A);
8804 PhyRegValue = MP_ReadPhyUshort(sc, 0x13);
8805 PhyRegValue &= ~(BIT_6);
8806 PhyRegValue |= (BIT_7);
8807 MP_WritePhyUshort(sc, 0x13, PhyRegValue);
8809 MP_WritePhyUshort(sc, 0x1f, 0x0A44);
8810 PhyRegValue = MP_ReadPhyUshort(sc, 0x14);
8811 PhyRegValue |= (BIT_2);
8812 MP_WritePhyUshort(sc, 0x14, PhyRegValue);
8814 MP_WritePhyUshort(sc, 0x1f, 0x0A50);
8815 PhyRegValue = MP_ReadPhyUshort(sc, 0x11);
8816 PhyRegValue |= (BIT_11|BIT_12);
8817 MP_WritePhyUshort(sc, 0x11, PhyRegValue);
8819 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
8820 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
8821 PhyRegValue &= ~(BIT_4);
8822 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
8824 MP_WritePhyUshort(sc, 0x1f, 0x0A22);
8827 PhyRegValue = MP_ReadPhyUshort(sc, 0x12);
8828 PhyRegValue &= 0x0010;
8832 } while(PhyRegValue != 0x0010 && WaitCnt <1000);
8834 if (WaitCnt == 1000) {
8838 MP_WritePhyUshort(sc, 0x1f, 0x0A40);
8839 MP_WritePhyUshort(sc, 0x10, 0x1040);
8841 MP_WritePhyUshort(sc, 0x1f, 0x0A4A);
8842 PhyRegValue = MP_ReadPhyUshort(sc, 0x13);
8843 PhyRegValue &= ~(BIT_6|BIT_7);
8844 MP_WritePhyUshort(sc, 0x13, PhyRegValue);
8846 MP_WritePhyUshort(sc, 0x1f, 0x0A44);
8847 PhyRegValue = MP_ReadPhyUshort(sc, 0x14);
8848 PhyRegValue &= ~(BIT_2);
8849 MP_WritePhyUshort(sc, 0x14, PhyRegValue);
8851 MP_WritePhyUshort(sc, 0x1f, 0x0A50);
8852 PhyRegValue = MP_ReadPhyUshort(sc, 0x11);
8853 PhyRegValue &= ~(BIT_11|BIT_12);
8854 MP_WritePhyUshort(sc, 0x11, PhyRegValue);
8856 MP_WritePhyUshort(sc, 0x1f, 0x0A43);
8857 MP_WritePhyUshort(sc, 0x13, 0x8010);
8858 PhyRegValue = MP_ReadPhyUshort(sc, 0x14);
8859 PhyRegValue |= (BIT_11);
8860 MP_WritePhyUshort(sc, 0x14, PhyRegValue);
8862 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
8863 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
8864 PhyRegValue |= BIT_4;
8865 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
8867 MP_WritePhyUshort(sc, 0x1f, 0x0B80);
8870 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
8871 PhyRegValue &= 0x0040;
8875 } while(PhyRegValue != 0x0040 && WaitCnt <1000);
8877 if (WaitCnt == 1000) {
8881 MP_WritePhyUshort(sc, 0x1f, 0x0A20);
8882 PhyRegValue = MP_ReadPhyUshort(sc, 0x13);
8883 if (PhyRegValue & BIT_11) {
8884 if (PhyRegValue & BIT_10) {
8889 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
8890 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
8891 PhyRegValue &= ~(BIT_4);
8892 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
8901 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8906 static void re_set_phy_ram_code_check_fail_flag(struct re_softc *sc)
8908 u_int16_t TmpUshort;
8910 switch(sc->re_type) {
8912 TmpUshort = MP_ReadMcuAccessRegWord(sc, 0xD3C0);
8914 MP_WriteMcuAccessRegWord(sc, 0xD3C0, TmpUshort);
8919 static int re_hw_phy_mcu_code_ver_matched(struct re_softc *sc)
8921 int ram_code_ver_match = 0;
8923 switch (sc->re_type) {
8926 MP_WritePhyUshort(sc, 0x1F, 0x0005);
8927 MP_WritePhyUshort(sc, 0x05, 0x8B60);
8928 sc->re_hw_ram_code_ver = MP_ReadPhyUshort(sc, 0x06);
8929 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8936 MP_WritePhyUshort(sc, 0x1F, 0x0005);
8937 MP_WritePhyUshort(sc, 0x05, 0x8B30);
8938 sc->re_hw_ram_code_ver = MP_ReadPhyUshort(sc, 0x06);
8939 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8953 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
8954 MP_WritePhyUshort(sc, 0x13, 0x801E);
8955 sc->re_hw_ram_code_ver = MP_ReadPhyUshort(sc, 0x14);
8956 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8959 sc->re_hw_ram_code_ver = ~0;
8963 if (sc->re_hw_ram_code_ver == sc->re_sw_ram_code_ver)
8964 ram_code_ver_match = 1;
8966 return ram_code_ver_match;
8969 static void re_write_hw_phy_mcu_code_ver(struct re_softc *sc)
8971 switch (sc->re_type) {
8974 MP_WritePhyUshort(sc, 0x1F, 0x0005);
8975 MP_WritePhyUshort(sc, 0x05, 0x8B60);
8976 MP_WritePhyUshort(sc, 0x06, sc->re_sw_ram_code_ver);
8977 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8978 sc->re_hw_ram_code_ver = sc->re_sw_ram_code_ver;
8985 MP_WritePhyUshort(sc, 0x1F, 0x0005);
8986 MP_WritePhyUshort(sc, 0x05, 0x8B30);
8987 MP_WritePhyUshort(sc, 0x06, sc->re_sw_ram_code_ver);
8988 MP_WritePhyUshort(sc, 0x1F, 0x0000);
8989 sc->re_hw_ram_code_ver = sc->re_sw_ram_code_ver;
9003 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
9004 MP_WritePhyUshort(sc, 0x13, 0x801E);
9005 MP_WritePhyUshort(sc, 0x14, sc->re_sw_ram_code_ver);
9006 MP_WritePhyUshort(sc, 0x1F, 0x0000);
9007 sc->re_hw_ram_code_ver = sc->re_sw_ram_code_ver;
9012 static void re_set_phy_mcu_8168e_1(struct re_softc *sc)
9014 u_int16_t PhyRegValue;
9017 MP_WritePhyUshort(sc, 0x1f, 0x0000);
9018 MP_WritePhyUshort(sc, 0x00, 0x1800);
9019 MP_WritePhyUshort(sc, 0x1f, 0x0007);
9020 MP_WritePhyUshort(sc, 0x1e, 0x0023);
9021 MP_WritePhyUshort(sc, 0x17, 0x0117);
9022 MP_WritePhyUshort(sc, 0x1f, 0x0007);
9023 MP_WritePhyUshort(sc, 0x1E, 0x002C);
9024 MP_WritePhyUshort(sc, 0x1B, 0x5000);
9025 MP_WritePhyUshort(sc, 0x1f, 0x0000);
9026 MP_WritePhyUshort(sc, 0x16, 0x4104);
9027 for (i=0; i<200; i++) {
9029 PhyRegValue = MP_ReadPhyUshort(sc, 0x1E);
9030 PhyRegValue &= 0x03FF;
9031 if (PhyRegValue== 0x000C)
9034 MP_WritePhyUshort(sc, 0x1f, 0x0005);
9035 for (i=0; i<200; i++) {
9037 PhyRegValue = MP_ReadPhyUshort(sc, 0x07);
9038 if ((PhyRegValue&0x0020)==0)
9041 PhyRegValue = MP_ReadPhyUshort(sc, 0x07);
9042 if (PhyRegValue & 0x0020) {
9043 MP_WritePhyUshort(sc, 0x1f, 0x0007);
9044 MP_WritePhyUshort(sc, 0x1e, 0x00a1);
9045 MP_WritePhyUshort(sc, 0x17, 0x1000);
9046 MP_WritePhyUshort(sc, 0x17, 0x0000);
9047 MP_WritePhyUshort(sc, 0x17, 0x2000);
9048 MP_WritePhyUshort(sc, 0x1e, 0x002f);
9049 MP_WritePhyUshort(sc, 0x18, 0x9bfb);
9050 MP_WritePhyUshort(sc, 0x1f, 0x0005);
9051 MP_WritePhyUshort(sc, 0x07, 0x0000);
9052 MP_WritePhyUshort(sc, 0x1f, 0x0000);
9055 MP_WritePhyUshort(sc, 0x1f, 0x0005);
9056 MP_WritePhyUshort(sc, 0x05, 0xfff6);
9057 MP_WritePhyUshort(sc, 0x06, 0x0080);
9058 PhyRegValue = MP_ReadPhyUshort(sc, 0x00);
9059 PhyRegValue &= ~(BIT_7);
9060 MP_WritePhyUshort(sc, 0x00, PhyRegValue);
9061 MP_WritePhyUshort(sc, 0x1f, 0x0002);
9062 PhyRegValue = MP_ReadPhyUshort(sc, 0x08);
9063 PhyRegValue &= ~(BIT_7);
9064 MP_WritePhyUshort(sc, 0x08, PhyRegValue);
9065 MP_WritePhyUshort(sc, 0x1f, 0x0000);
9066 MP_WritePhyUshort(sc, 0x1f, 0x0007);
9067 MP_WritePhyUshort(sc, 0x1e, 0x0023);
9068 MP_WritePhyUshort(sc, 0x16, 0x0306);
9069 MP_WritePhyUshort(sc, 0x16, 0x0307);
9070 MP_WritePhyUshort(sc, 0x15, 0x000e);
9071 MP_WritePhyUshort(sc, 0x19, 0x000a);
9072 MP_WritePhyUshort(sc, 0x15, 0x0010);
9073 MP_WritePhyUshort(sc, 0x19, 0x0008);
9074 MP_WritePhyUshort(sc, 0x15, 0x0018);
9075 MP_WritePhyUshort(sc, 0x19, 0x4801);
9076 MP_WritePhyUshort(sc, 0x15, 0x0019);
9077 MP_WritePhyUshort(sc, 0x19, 0x6801);
9078 MP_WritePhyUshort(sc, 0x15, 0x001a);
9079 MP_WritePhyUshort(sc, 0x19, 0x66a1);
9080 MP_WritePhyUshort(sc, 0x15, 0x001f);
9081 MP_WritePhyUshort(sc, 0x19, 0x0000);
9082 MP_WritePhyUshort(sc, 0x15, 0x0020);
9083 MP_WritePhyUshort(sc, 0x19, 0x0000);
9084 MP_WritePhyUshort(sc, 0x15, 0x0021);
9085 MP_WritePhyUshort(sc, 0x19, 0x0000);
9086 MP_WritePhyUshort(sc, 0x15, 0x0022);
9087 MP_WritePhyUshort(sc, 0x19, 0x0000);
9088 MP_WritePhyUshort(sc, 0x15, 0x0023);
9089 MP_WritePhyUshort(sc, 0x19, 0x0000);
9090 MP_WritePhyUshort(sc, 0x15, 0x0024);
9091 MP_WritePhyUshort(sc, 0x19, 0x0000);
9092 MP_WritePhyUshort(sc, 0x15, 0x0025);
9093 MP_WritePhyUshort(sc, 0x19, 0x64a1);
9094 MP_WritePhyUshort(sc, 0x15, 0x0026);
9095 MP_WritePhyUshort(sc, 0x19, 0x40ea);
9096 MP_WritePhyUshort(sc, 0x15, 0x0027);
9097 MP_WritePhyUshort(sc, 0x19, 0x4503);
9098 MP_WritePhyUshort(sc, 0x15, 0x0028);
9099 MP_WritePhyUshort(sc, 0x19, 0x9f00);
9100 MP_WritePhyUshort(sc, 0x15, 0x0029);
9101 MP_WritePhyUshort(sc, 0x19, 0xa631);
9102 MP_WritePhyUshort(sc, 0x15, 0x002a);
9103 MP_WritePhyUshort(sc, 0x19, 0x9717);
9104 MP_WritePhyUshort(sc, 0x15, 0x002b);
9105 MP_WritePhyUshort(sc, 0x19, 0x302c);
9106 MP_WritePhyUshort(sc, 0x15, 0x002c);
9107 MP_WritePhyUshort(sc, 0x19, 0x4802);
9108 MP_WritePhyUshort(sc, 0x15, 0x002d);
9109 MP_WritePhyUshort(sc, 0x19, 0x58da);
9110 MP_WritePhyUshort(sc, 0x15, 0x002e);
9111 MP_WritePhyUshort(sc, 0x19, 0x400d);
9112 MP_WritePhyUshort(sc, 0x15, 0x002f);
9113 MP_WritePhyUshort(sc, 0x19, 0x4488);
9114 MP_WritePhyUshort(sc, 0x15, 0x0030);
9115 MP_WritePhyUshort(sc, 0x19, 0x9e00);
9116 MP_WritePhyUshort(sc, 0x15, 0x0031);
9117 MP_WritePhyUshort(sc, 0x19, 0x63c8);
9118 MP_WritePhyUshort(sc, 0x15, 0x0032);
9119 MP_WritePhyUshort(sc, 0x19, 0x6481);
9120 MP_WritePhyUshort(sc, 0x15, 0x0033);
9121 MP_WritePhyUshort(sc, 0x19, 0x0000);
9122 MP_WritePhyUshort(sc, 0x15, 0x0034);
9123 MP_WritePhyUshort(sc, 0x19, 0x0000);
9124 MP_WritePhyUshort(sc, 0x15, 0x0035);
9125 MP_WritePhyUshort(sc, 0x19, 0x0000);
9126 MP_WritePhyUshort(sc, 0x15, 0x0036);
9127 MP_WritePhyUshort(sc, 0x19, 0x0000);
9128 MP_WritePhyUshort(sc, 0x15, 0x0037);
9129 MP_WritePhyUshort(sc, 0x19, 0x0000);
9130 MP_WritePhyUshort(sc, 0x15, 0x0038);
9131 MP_WritePhyUshort(sc, 0x19, 0x0000);
9132 MP_WritePhyUshort(sc, 0x15, 0x0039);
9133 MP_WritePhyUshort(sc, 0x19, 0x0000);
9134 MP_WritePhyUshort(sc, 0x15, 0x003a);
9135 MP_WritePhyUshort(sc, 0x19, 0x0000);
9136 MP_WritePhyUshort(sc, 0x15, 0x003b);
9137 MP_WritePhyUshort(sc, 0x19, 0x63e8);
9138 MP_WritePhyUshort(sc, 0x15, 0x003c);
9139 MP_WritePhyUshort(sc, 0x19, 0x7d00);
9140 MP_WritePhyUshort(sc, 0x15, 0x003d);
9141 MP_WritePhyUshort(sc, 0x19, 0x59d4);
9142 MP_WritePhyUshort(sc, 0x15, 0x003e);
9143 MP_WritePhyUshort(sc, 0x19, 0x63f8);
9144 MP_WritePhyUshort(sc, 0x15, 0x0040);
9145 MP_WritePhyUshort(sc, 0x19, 0x64a1);
9146 MP_WritePhyUshort(sc, 0x15, 0x0041);
9147 MP_WritePhyUshort(sc, 0x19, 0x30de);
9148 MP_WritePhyUshort(sc, 0x15, 0x0044);
9149 MP_WritePhyUshort(sc, 0x19, 0x480f);
9150 MP_WritePhyUshort(sc, 0x15, 0x0045);
9151 MP_WritePhyUshort(sc, 0x19, 0x6800);
9152 MP_WritePhyUshort(sc, 0x15, 0x0046);
9153 MP_WritePhyUshort(sc, 0x19, 0x6680);
9154 MP_WritePhyUshort(sc, 0x15, 0x0047);
9155 MP_WritePhyUshort(sc, 0x19, 0x7c10);
9156 MP_WritePhyUshort(sc, 0x15, 0x0048);
9157 MP_WritePhyUshort(sc, 0x19, 0x63c8);
9158 MP_WritePhyUshort(sc, 0x15, 0x0049);
9159 MP_WritePhyUshort(sc, 0x19, 0x0000);
9160 MP_WritePhyUshort(sc, 0x15, 0x004a);
9161 MP_WritePhyUshort(sc, 0x19, 0x0000);
9162 MP_WritePhyUshort(sc, 0x15, 0x004b);
9163 MP_WritePhyUshort(sc, 0x19, 0x0000);
9164 MP_WritePhyUshort(sc, 0x15, 0x004c);
9165 MP_WritePhyUshort(sc, 0x19, 0x0000);
9166 MP_WritePhyUshort(sc, 0x15, 0x004d);
9167 MP_WritePhyUshort(sc, 0x19, 0x0000);
9168 MP_WritePhyUshort(sc, 0x15, 0x004e);
9169 MP_WritePhyUshort(sc, 0x19, 0x0000);
9170 MP_WritePhyUshort(sc, 0x15, 0x004f);
9171 MP_WritePhyUshort(sc, 0x19, 0x40ea);
9172 MP_WritePhyUshort(sc, 0x15, 0x0050);
9173 MP_WritePhyUshort(sc, 0x19, 0x4503);
9174 MP_WritePhyUshort(sc, 0x15, 0x0051);
9175 MP_WritePhyUshort(sc, 0x19, 0x58ca);
9176 MP_WritePhyUshort(sc, 0x15, 0x0052);
9177 MP_WritePhyUshort(sc, 0x19, 0x63c8);
9178 MP_WritePhyUshort(sc, 0x15, 0x0053);
9179 MP_WritePhyUshort(sc, 0x19, 0x63d8);
9180 MP_WritePhyUshort(sc, 0x15, 0x0054);
9181 MP_WritePhyUshort(sc, 0x19, 0x66a0);
9182 MP_WritePhyUshort(sc, 0x15, 0x0055);
9183 MP_WritePhyUshort(sc, 0x19, 0x9f00);
9184 MP_WritePhyUshort(sc, 0x15, 0x0056);
9185 MP_WritePhyUshort(sc, 0x19, 0x3000);
9186 MP_WritePhyUshort(sc, 0x15, 0x006E);
9187 MP_WritePhyUshort(sc, 0x19, 0x9afa);
9188 MP_WritePhyUshort(sc, 0x15, 0x00a1);
9189 MP_WritePhyUshort(sc, 0x19, 0x3044);
9190 MP_WritePhyUshort(sc, 0x15, 0x00ab);
9191 MP_WritePhyUshort(sc, 0x19, 0x5820);
9192 MP_WritePhyUshort(sc, 0x15, 0x00ac);
9193 MP_WritePhyUshort(sc, 0x19, 0x5e04);
9194 MP_WritePhyUshort(sc, 0x15, 0x00ad);
9195 MP_WritePhyUshort(sc, 0x19, 0xb60c);
9196 MP_WritePhyUshort(sc, 0x15, 0x00af);
9197 MP_WritePhyUshort(sc, 0x19, 0x000a);
9198 MP_WritePhyUshort(sc, 0x15, 0x00b2);
9199 MP_WritePhyUshort(sc, 0x19, 0x30b9);
9200 MP_WritePhyUshort(sc, 0x15, 0x00b9);
9201 MP_WritePhyUshort(sc, 0x19, 0x4408);
9202 MP_WritePhyUshort(sc, 0x15, 0x00ba);
9203 MP_WritePhyUshort(sc, 0x19, 0x480b);
9204 MP_WritePhyUshort(sc, 0x15, 0x00bb);
9205 MP_WritePhyUshort(sc, 0x19, 0x5e00);
9206 MP_WritePhyUshort(sc, 0x15, 0x00bc);
9207 MP_WritePhyUshort(sc, 0x19, 0x405f);
9208 MP_WritePhyUshort(sc, 0x15, 0x00bd);
9209 MP_WritePhyUshort(sc, 0x19, 0x4448);
9210 MP_WritePhyUshort(sc, 0x15, 0x00be);
9211 MP_WritePhyUshort(sc, 0x19, 0x4020);
9212 MP_WritePhyUshort(sc, 0x15, 0x00bf);
9213 MP_WritePhyUshort(sc, 0x19, 0x4468);
9214 MP_WritePhyUshort(sc, 0x15, 0x00c0);
9215 MP_WritePhyUshort(sc, 0x19, 0x9c02);
9216 MP_WritePhyUshort(sc, 0x15, 0x00c1);
9217 MP_WritePhyUshort(sc, 0x19, 0x58a0);
9218 MP_WritePhyUshort(sc, 0x15, 0x00c2);
9219 MP_WritePhyUshort(sc, 0x19, 0xb605);
9220 MP_WritePhyUshort(sc, 0x15, 0x00c3);
9221 MP_WritePhyUshort(sc, 0x19, 0xc0d3);
9222 MP_WritePhyUshort(sc, 0x15, 0x00c4);
9223 MP_WritePhyUshort(sc, 0x19, 0x00e6);
9224 MP_WritePhyUshort(sc, 0x15, 0x00c5);
9225 MP_WritePhyUshort(sc, 0x19, 0xdaec);
9226 MP_WritePhyUshort(sc, 0x15, 0x00c6);
9227 MP_WritePhyUshort(sc, 0x19, 0x00fa);
9228 MP_WritePhyUshort(sc, 0x15, 0x00c7);
9229 MP_WritePhyUshort(sc, 0x19, 0x9df9);
9230 MP_WritePhyUshort(sc, 0x15, 0x00c8);
9231 MP_WritePhyUshort(sc, 0x19, 0x307a);
9232 MP_WritePhyUshort(sc, 0x15, 0x0112);
9233 MP_WritePhyUshort(sc, 0x19, 0x6421);
9234 MP_WritePhyUshort(sc, 0x15, 0x0113);
9235 MP_WritePhyUshort(sc, 0x19, 0x7c08);
9236 MP_WritePhyUshort(sc, 0x15, 0x0114);
9237 MP_WritePhyUshort(sc, 0x19, 0x63f0);
9238 MP_WritePhyUshort(sc, 0x15, 0x0115);
9239 MP_WritePhyUshort(sc, 0x19, 0x4003);
9240 MP_WritePhyUshort(sc, 0x15, 0x0116);
9241 MP_WritePhyUshort(sc, 0x19, 0x4418);
9242 MP_WritePhyUshort(sc, 0x15, 0x0117);
9243 MP_WritePhyUshort(sc, 0x19, 0x9b00);
9244 MP_WritePhyUshort(sc, 0x15, 0x0118);
9245 MP_WritePhyUshort(sc, 0x19, 0x6461);
9246 MP_WritePhyUshort(sc, 0x15, 0x0119);
9247 MP_WritePhyUshort(sc, 0x19, 0x64e1);
9248 MP_WritePhyUshort(sc, 0x15, 0x011a);
9249 MP_WritePhyUshort(sc, 0x19, 0x0000);
9250 MP_WritePhyUshort(sc, 0x15, 0x0150);
9251 MP_WritePhyUshort(sc, 0x19, 0x7c80);
9252 MP_WritePhyUshort(sc, 0x15, 0x0151);
9253 MP_WritePhyUshort(sc, 0x19, 0x6461);
9254 MP_WritePhyUshort(sc, 0x15, 0x0152);
9255 MP_WritePhyUshort(sc, 0x19, 0x4003);
9256 MP_WritePhyUshort(sc, 0x15, 0x0153);
9257 MP_WritePhyUshort(sc, 0x19, 0x4540);
9258 MP_WritePhyUshort(sc, 0x15, 0x0154);
9259 MP_WritePhyUshort(sc, 0x19, 0x9f00);
9260 MP_WritePhyUshort(sc, 0x15, 0x0155);
9261 MP_WritePhyUshort(sc, 0x19, 0x9d00);
9262 MP_WritePhyUshort(sc, 0x15, 0x0156);
9263 MP_WritePhyUshort(sc, 0x19, 0x7c40);
9264 MP_WritePhyUshort(sc, 0x15, 0x0157);
9265 MP_WritePhyUshort(sc, 0x19, 0x6421);
9266 MP_WritePhyUshort(sc, 0x15, 0x0158);
9267 MP_WritePhyUshort(sc, 0x19, 0x7c80);
9268 MP_WritePhyUshort(sc, 0x15, 0x0159);
9269 MP_WritePhyUshort(sc, 0x19, 0x64a1);
9270 MP_WritePhyUshort(sc, 0x15, 0x015a);
9271 MP_WritePhyUshort(sc, 0x19, 0x30fe);
9272 MP_WritePhyUshort(sc, 0x15, 0x021e);
9273 MP_WritePhyUshort(sc, 0x19, 0x5410);
9274 MP_WritePhyUshort(sc, 0x15, 0x0225);
9275 MP_WritePhyUshort(sc, 0x19, 0x5400);
9276 MP_WritePhyUshort(sc, 0x15, 0x023D);
9277 MP_WritePhyUshort(sc, 0x19, 0x4050);
9278 MP_WritePhyUshort(sc, 0x15, 0x0295);
9279 MP_WritePhyUshort(sc, 0x19, 0x6c08);
9280 MP_WritePhyUshort(sc, 0x15, 0x02bd);
9281 MP_WritePhyUshort(sc, 0x19, 0xa523);
9282 MP_WritePhyUshort(sc, 0x15, 0x02be);
9283 MP_WritePhyUshort(sc, 0x19, 0x32ca);
9284 MP_WritePhyUshort(sc, 0x15, 0x02ca);
9285 MP_WritePhyUshort(sc, 0x19, 0x48b3);
9286 MP_WritePhyUshort(sc, 0x15, 0x02cb);
9287 MP_WritePhyUshort(sc, 0x19, 0x4020);
9288 MP_WritePhyUshort(sc, 0x15, 0x02cc);
9289 MP_WritePhyUshort(sc, 0x19, 0x4823);
9290 MP_WritePhyUshort(sc, 0x15, 0x02cd);
9291 MP_WritePhyUshort(sc, 0x19, 0x4510);
9292 MP_WritePhyUshort(sc, 0x15, 0x02ce);
9293 MP_WritePhyUshort(sc, 0x19, 0xb63a);
9294 MP_WritePhyUshort(sc, 0x15, 0x02cf);
9295 MP_WritePhyUshort(sc, 0x19, 0x7dc8);
9296 MP_WritePhyUshort(sc, 0x15, 0x02d6);
9297 MP_WritePhyUshort(sc, 0x19, 0x9bf8);
9298 MP_WritePhyUshort(sc, 0x15, 0x02d8);
9299 MP_WritePhyUshort(sc, 0x19, 0x85f6);
9300 MP_WritePhyUshort(sc, 0x15, 0x02d9);
9301 MP_WritePhyUshort(sc, 0x19, 0x32e0);
9302 MP_WritePhyUshort(sc, 0x15, 0x02e0);
9303 MP_WritePhyUshort(sc, 0x19, 0x4834);
9304 MP_WritePhyUshort(sc, 0x15, 0x02e1);
9305 MP_WritePhyUshort(sc, 0x19, 0x6c08);
9306 MP_WritePhyUshort(sc, 0x15, 0x02e2);
9307 MP_WritePhyUshort(sc, 0x19, 0x4020);
9308 MP_WritePhyUshort(sc, 0x15, 0x02e3);
9309 MP_WritePhyUshort(sc, 0x19, 0x4824);
9310 MP_WritePhyUshort(sc, 0x15, 0x02e4);
9311 MP_WritePhyUshort(sc, 0x19, 0x4520);
9312 MP_WritePhyUshort(sc, 0x15, 0x02e5);
9313 MP_WritePhyUshort(sc, 0x19, 0x4008);
9314 MP_WritePhyUshort(sc, 0x15, 0x02e6);
9315 MP_WritePhyUshort(sc, 0x19, 0x4560);
9316 MP_WritePhyUshort(sc, 0x15, 0x02e7);
9317 MP_WritePhyUshort(sc, 0x19, 0x9d04);
9318 MP_WritePhyUshort(sc, 0x15, 0x02e8);
9319 MP_WritePhyUshort(sc, 0x19, 0x48c4);
9320 MP_WritePhyUshort(sc, 0x15, 0x02e9);
9321 MP_WritePhyUshort(sc, 0x19, 0x0000);
9322 MP_WritePhyUshort(sc, 0x15, 0x02ea);
9323 MP_WritePhyUshort(sc, 0x19, 0x4844);
9324 MP_WritePhyUshort(sc, 0x15, 0x02eb);
9325 MP_WritePhyUshort(sc, 0x19, 0x7dc8);
9326 MP_WritePhyUshort(sc, 0x15, 0x02f0);
9327 MP_WritePhyUshort(sc, 0x19, 0x9cf7);
9328 MP_WritePhyUshort(sc, 0x15, 0x02f1);
9329 MP_WritePhyUshort(sc, 0x19, 0xdf94);
9330 MP_WritePhyUshort(sc, 0x15, 0x02f2);
9331 MP_WritePhyUshort(sc, 0x19, 0x0002);
9332 MP_WritePhyUshort(sc, 0x15, 0x02f3);
9333 MP_WritePhyUshort(sc, 0x19, 0x6810);
9334 MP_WritePhyUshort(sc, 0x15, 0x02f4);
9335 MP_WritePhyUshort(sc, 0x19, 0xb614);
9336 MP_WritePhyUshort(sc, 0x15, 0x02f5);
9337 MP_WritePhyUshort(sc, 0x19, 0xc42b);
9338 MP_WritePhyUshort(sc, 0x15, 0x02f6);
9339 MP_WritePhyUshort(sc, 0x19, 0x00d4);
9340 MP_WritePhyUshort(sc, 0x15, 0x02f7);
9341 MP_WritePhyUshort(sc, 0x19, 0xc455);
9342 MP_WritePhyUshort(sc, 0x15, 0x02f8);
9343 MP_WritePhyUshort(sc, 0x19, 0x0093);
9344 MP_WritePhyUshort(sc, 0x15, 0x02f9);
9345 MP_WritePhyUshort(sc, 0x19, 0x92ee);
9346 MP_WritePhyUshort(sc, 0x15, 0x02fa);
9347 MP_WritePhyUshort(sc, 0x19, 0xefed);
9348 MP_WritePhyUshort(sc, 0x15, 0x02fb);
9349 MP_WritePhyUshort(sc, 0x19, 0x3312);
9350 MP_WritePhyUshort(sc, 0x15, 0x0312);
9351 MP_WritePhyUshort(sc, 0x19, 0x49b5);
9352 MP_WritePhyUshort(sc, 0x15, 0x0313);
9353 MP_WritePhyUshort(sc, 0x19, 0x7d00);
9354 MP_WritePhyUshort(sc, 0x15, 0x0314);
9355 MP_WritePhyUshort(sc, 0x19, 0x4d00);
9356 MP_WritePhyUshort(sc, 0x15, 0x0315);
9357 MP_WritePhyUshort(sc, 0x19, 0x6810);
9358 MP_WritePhyUshort(sc, 0x15, 0x031e);
9359 MP_WritePhyUshort(sc, 0x19, 0x404f);
9360 MP_WritePhyUshort(sc, 0x15, 0x031f);
9361 MP_WritePhyUshort(sc, 0x19, 0x44c8);
9362 MP_WritePhyUshort(sc, 0x15, 0x0320);
9363 MP_WritePhyUshort(sc, 0x19, 0xd64f);
9364 MP_WritePhyUshort(sc, 0x15, 0x0321);
9365 MP_WritePhyUshort(sc, 0x19, 0x00e7);
9366 MP_WritePhyUshort(sc, 0x15, 0x0322);
9367 MP_WritePhyUshort(sc, 0x19, 0x7c08);
9368 MP_WritePhyUshort(sc, 0x15, 0x0323);
9369 MP_WritePhyUshort(sc, 0x19, 0x8203);
9370 MP_WritePhyUshort(sc, 0x15, 0x0324);
9371 MP_WritePhyUshort(sc, 0x19, 0x4d48);
9372 MP_WritePhyUshort(sc, 0x15, 0x0325);
9373 MP_WritePhyUshort(sc, 0x19, 0x3327);
9374 MP_WritePhyUshort(sc, 0x15, 0x0326);
9375 MP_WritePhyUshort(sc, 0x19, 0x4d40);
9376 MP_WritePhyUshort(sc, 0x15, 0x0327);
9377 MP_WritePhyUshort(sc, 0x19, 0xc8d7);
9378 MP_WritePhyUshort(sc, 0x15, 0x0328);
9379 MP_WritePhyUshort(sc, 0x19, 0x0003);
9380 MP_WritePhyUshort(sc, 0x15, 0x0329);
9381 MP_WritePhyUshort(sc, 0x19, 0x7c20);
9382 MP_WritePhyUshort(sc, 0x15, 0x032a);
9383 MP_WritePhyUshort(sc, 0x19, 0x4c20);
9384 MP_WritePhyUshort(sc, 0x15, 0x032b);
9385 MP_WritePhyUshort(sc, 0x19, 0xc8ed);
9386 MP_WritePhyUshort(sc, 0x15, 0x032c);
9387 MP_WritePhyUshort(sc, 0x19, 0x00f4);
9388 MP_WritePhyUshort(sc, 0x15, 0x032d);
9389 MP_WritePhyUshort(sc, 0x19, 0x82b3);
9390 MP_WritePhyUshort(sc, 0x15, 0x032e);
9391 MP_WritePhyUshort(sc, 0x19, 0xd11d);
9392 MP_WritePhyUshort(sc, 0x15, 0x032f);
9393 MP_WritePhyUshort(sc, 0x19, 0x00b1);
9394 MP_WritePhyUshort(sc, 0x15, 0x0330);
9395 MP_WritePhyUshort(sc, 0x19, 0xde18);
9396 MP_WritePhyUshort(sc, 0x15, 0x0331);
9397 MP_WritePhyUshort(sc, 0x19, 0x0008);
9398 MP_WritePhyUshort(sc, 0x15, 0x0332);
9399 MP_WritePhyUshort(sc, 0x19, 0x91ee);
9400 MP_WritePhyUshort(sc, 0x15, 0x0333);
9401 MP_WritePhyUshort(sc, 0x19, 0x3339);
9402 MP_WritePhyUshort(sc, 0x15, 0x033a);
9403 MP_WritePhyUshort(sc, 0x19, 0x4064);
9404 MP_WritePhyUshort(sc, 0x15, 0x0340);
9405 MP_WritePhyUshort(sc, 0x19, 0x9e06);
9406 MP_WritePhyUshort(sc, 0x15, 0x0341);
9407 MP_WritePhyUshort(sc, 0x19, 0x7c08);
9408 MP_WritePhyUshort(sc, 0x15, 0x0342);
9409 MP_WritePhyUshort(sc, 0x19, 0x8203);
9410 MP_WritePhyUshort(sc, 0x15, 0x0343);
9411 MP_WritePhyUshort(sc, 0x19, 0x4d48);
9412 MP_WritePhyUshort(sc, 0x15, 0x0344);
9413 MP_WritePhyUshort(sc, 0x19, 0x3346);
9414 MP_WritePhyUshort(sc, 0x15, 0x0345);
9415 MP_WritePhyUshort(sc, 0x19, 0x4d40);
9416 MP_WritePhyUshort(sc, 0x15, 0x0346);
9417 MP_WritePhyUshort(sc, 0x19, 0xd11d);
9418 MP_WritePhyUshort(sc, 0x15, 0x0347);
9419 MP_WritePhyUshort(sc, 0x19, 0x0099);
9420 MP_WritePhyUshort(sc, 0x15, 0x0348);
9421 MP_WritePhyUshort(sc, 0x19, 0xbb17);
9422 MP_WritePhyUshort(sc, 0x15, 0x0349);
9423 MP_WritePhyUshort(sc, 0x19, 0x8102);
9424 MP_WritePhyUshort(sc, 0x15, 0x034a);
9425 MP_WritePhyUshort(sc, 0x19, 0x334d);
9426 MP_WritePhyUshort(sc, 0x15, 0x034b);
9427 MP_WritePhyUshort(sc, 0x19, 0xa22c);
9428 MP_WritePhyUshort(sc, 0x15, 0x034c);
9429 MP_WritePhyUshort(sc, 0x19, 0x3397);
9430 MP_WritePhyUshort(sc, 0x15, 0x034d);
9431 MP_WritePhyUshort(sc, 0x19, 0x91f2);
9432 MP_WritePhyUshort(sc, 0x15, 0x034e);
9433 MP_WritePhyUshort(sc, 0x19, 0xc218);
9434 MP_WritePhyUshort(sc, 0x15, 0x034f);
9435 MP_WritePhyUshort(sc, 0x19, 0x00f0);
9436 MP_WritePhyUshort(sc, 0x15, 0x0350);
9437 MP_WritePhyUshort(sc, 0x19, 0x3397);
9438 MP_WritePhyUshort(sc, 0x15, 0x0351);
9439 MP_WritePhyUshort(sc, 0x19, 0x0000);
9440 MP_WritePhyUshort(sc, 0x15, 0x0364);
9441 MP_WritePhyUshort(sc, 0x19, 0xbc05);
9442 MP_WritePhyUshort(sc, 0x15, 0x0367);
9443 MP_WritePhyUshort(sc, 0x19, 0xa1fc);
9444 MP_WritePhyUshort(sc, 0x15, 0x0368);
9445 MP_WritePhyUshort(sc, 0x19, 0x3377);
9446 MP_WritePhyUshort(sc, 0x15, 0x0369);
9447 MP_WritePhyUshort(sc, 0x19, 0x328b);
9448 MP_WritePhyUshort(sc, 0x15, 0x036a);
9449 MP_WritePhyUshort(sc, 0x19, 0x0000);
9450 MP_WritePhyUshort(sc, 0x15, 0x0377);
9451 MP_WritePhyUshort(sc, 0x19, 0x4b97);
9452 MP_WritePhyUshort(sc, 0x15, 0x0378);
9453 MP_WritePhyUshort(sc, 0x19, 0x6818);
9454 MP_WritePhyUshort(sc, 0x15, 0x0379);
9455 MP_WritePhyUshort(sc, 0x19, 0x4b07);
9456 MP_WritePhyUshort(sc, 0x15, 0x037a);
9457 MP_WritePhyUshort(sc, 0x19, 0x40ac);
9458 MP_WritePhyUshort(sc, 0x15, 0x037b);
9459 MP_WritePhyUshort(sc, 0x19, 0x4445);
9460 MP_WritePhyUshort(sc, 0x15, 0x037c);
9461 MP_WritePhyUshort(sc, 0x19, 0x404e);
9462 MP_WritePhyUshort(sc, 0x15, 0x037d);
9463 MP_WritePhyUshort(sc, 0x19, 0x4461);
9464 MP_WritePhyUshort(sc, 0x15, 0x037e);
9465 MP_WritePhyUshort(sc, 0x19, 0x9c09);
9466 MP_WritePhyUshort(sc, 0x15, 0x037f);
9467 MP_WritePhyUshort(sc, 0x19, 0x63da);
9468 MP_WritePhyUshort(sc, 0x15, 0x0380);
9469 MP_WritePhyUshort(sc, 0x19, 0x5440);
9470 MP_WritePhyUshort(sc, 0x15, 0x0381);
9471 MP_WritePhyUshort(sc, 0x19, 0x4b98);
9472 MP_WritePhyUshort(sc, 0x15, 0x0382);
9473 MP_WritePhyUshort(sc, 0x19, 0x7c60);
9474 MP_WritePhyUshort(sc, 0x15, 0x0383);
9475 MP_WritePhyUshort(sc, 0x19, 0x4c00);
9476 MP_WritePhyUshort(sc, 0x15, 0x0384);
9477 MP_WritePhyUshort(sc, 0x19, 0x4b08);
9478 MP_WritePhyUshort(sc, 0x15, 0x0385);
9479 MP_WritePhyUshort(sc, 0x19, 0x63d8);
9480 MP_WritePhyUshort(sc, 0x15, 0x0386);
9481 MP_WritePhyUshort(sc, 0x19, 0x338d);
9482 MP_WritePhyUshort(sc, 0x15, 0x0387);
9483 MP_WritePhyUshort(sc, 0x19, 0xd64f);
9484 MP_WritePhyUshort(sc, 0x15, 0x0388);
9485 MP_WritePhyUshort(sc, 0x19, 0x0080);
9486 MP_WritePhyUshort(sc, 0x15, 0x0389);
9487 MP_WritePhyUshort(sc, 0x19, 0x820c);
9488 MP_WritePhyUshort(sc, 0x15, 0x038a);
9489 MP_WritePhyUshort(sc, 0x19, 0xa10b);
9490 MP_WritePhyUshort(sc, 0x15, 0x038b);
9491 MP_WritePhyUshort(sc, 0x19, 0x9df3);
9492 MP_WritePhyUshort(sc, 0x15, 0x038c);
9493 MP_WritePhyUshort(sc, 0x19, 0x3395);
9494 MP_WritePhyUshort(sc, 0x15, 0x038d);
9495 MP_WritePhyUshort(sc, 0x19, 0xd64f);
9496 MP_WritePhyUshort(sc, 0x15, 0x038e);
9497 MP_WritePhyUshort(sc, 0x19, 0x00f9);
9498 MP_WritePhyUshort(sc, 0x15, 0x038f);
9499 MP_WritePhyUshort(sc, 0x19, 0xc017);
9500 MP_WritePhyUshort(sc, 0x15, 0x0390);
9501 MP_WritePhyUshort(sc, 0x19, 0x0005);
9502 MP_WritePhyUshort(sc, 0x15, 0x0391);
9503 MP_WritePhyUshort(sc, 0x19, 0x6c0b);
9504 MP_WritePhyUshort(sc, 0x15, 0x0392);
9505 MP_WritePhyUshort(sc, 0x19, 0xa103);
9506 MP_WritePhyUshort(sc, 0x15, 0x0393);
9507 MP_WritePhyUshort(sc, 0x19, 0x6c08);
9508 MP_WritePhyUshort(sc, 0x15, 0x0394);
9509 MP_WritePhyUshort(sc, 0x19, 0x9df9);
9510 MP_WritePhyUshort(sc, 0x15, 0x0395);
9511 MP_WritePhyUshort(sc, 0x19, 0x6c08);
9512 MP_WritePhyUshort(sc, 0x15, 0x0396);
9513 MP_WritePhyUshort(sc, 0x19, 0x3397);
9514 MP_WritePhyUshort(sc, 0x15, 0x0399);
9515 MP_WritePhyUshort(sc, 0x19, 0x6810);
9516 MP_WritePhyUshort(sc, 0x15, 0x03a4);
9517 MP_WritePhyUshort(sc, 0x19, 0x7c08);
9518 MP_WritePhyUshort(sc, 0x15, 0x03a5);
9519 MP_WritePhyUshort(sc, 0x19, 0x8203);
9520 MP_WritePhyUshort(sc, 0x15, 0x03a6);
9521 MP_WritePhyUshort(sc, 0x19, 0x4d08);
9522 MP_WritePhyUshort(sc, 0x15, 0x03a7);
9523 MP_WritePhyUshort(sc, 0x19, 0x33a9);
9524 MP_WritePhyUshort(sc, 0x15, 0x03a8);
9525 MP_WritePhyUshort(sc, 0x19, 0x4d00);
9526 MP_WritePhyUshort(sc, 0x15, 0x03a9);
9527 MP_WritePhyUshort(sc, 0x19, 0x9bfa);
9528 MP_WritePhyUshort(sc, 0x15, 0x03aa);
9529 MP_WritePhyUshort(sc, 0x19, 0x33b6);
9530 MP_WritePhyUshort(sc, 0x15, 0x03bb);
9531 MP_WritePhyUshort(sc, 0x19, 0x4056);
9532 MP_WritePhyUshort(sc, 0x15, 0x03bc);
9533 MP_WritePhyUshort(sc, 0x19, 0x44e9);
9534 MP_WritePhyUshort(sc, 0x15, 0x03bd);
9535 MP_WritePhyUshort(sc, 0x19, 0x405e);
9536 MP_WritePhyUshort(sc, 0x15, 0x03be);
9537 MP_WritePhyUshort(sc, 0x19, 0x44f8);
9538 MP_WritePhyUshort(sc, 0x15, 0x03bf);
9539 MP_WritePhyUshort(sc, 0x19, 0xd64f);
9540 MP_WritePhyUshort(sc, 0x15, 0x03c0);
9541 MP_WritePhyUshort(sc, 0x19, 0x0037);
9542 MP_WritePhyUshort(sc, 0x15, 0x03c1);
9543 MP_WritePhyUshort(sc, 0x19, 0xbd37);
9544 MP_WritePhyUshort(sc, 0x15, 0x03c2);
9545 MP_WritePhyUshort(sc, 0x19, 0x9cfd);
9546 MP_WritePhyUshort(sc, 0x15, 0x03c3);
9547 MP_WritePhyUshort(sc, 0x19, 0xc639);
9548 MP_WritePhyUshort(sc, 0x15, 0x03c4);
9549 MP_WritePhyUshort(sc, 0x19, 0x0011);
9550 MP_WritePhyUshort(sc, 0x15, 0x03c5);
9551 MP_WritePhyUshort(sc, 0x19, 0x9b03);
9552 MP_WritePhyUshort(sc, 0x15, 0x03c6);
9553 MP_WritePhyUshort(sc, 0x19, 0x7c01);
9554 MP_WritePhyUshort(sc, 0x15, 0x03c7);
9555 MP_WritePhyUshort(sc, 0x19, 0x4c01);
9556 MP_WritePhyUshort(sc, 0x15, 0x03c8);
9557 MP_WritePhyUshort(sc, 0x19, 0x9e03);
9558 MP_WritePhyUshort(sc, 0x15, 0x03c9);
9559 MP_WritePhyUshort(sc, 0x19, 0x7c20);
9560 MP_WritePhyUshort(sc, 0x15, 0x03ca);
9561 MP_WritePhyUshort(sc, 0x19, 0x4c20);
9562 MP_WritePhyUshort(sc, 0x15, 0x03cb);
9563 MP_WritePhyUshort(sc, 0x19, 0x9af4);
9564 MP_WritePhyUshort(sc, 0x15, 0x03cc);
9565 MP_WritePhyUshort(sc, 0x19, 0x7c12);
9566 MP_WritePhyUshort(sc, 0x15, 0x03cd);
9567 MP_WritePhyUshort(sc, 0x19, 0x4c52);
9568 MP_WritePhyUshort(sc, 0x15, 0x03ce);
9569 MP_WritePhyUshort(sc, 0x19, 0x4470);
9570 MP_WritePhyUshort(sc, 0x15, 0x03cf);
9571 MP_WritePhyUshort(sc, 0x19, 0x7c12);
9572 MP_WritePhyUshort(sc, 0x15, 0x03d0);
9573 MP_WritePhyUshort(sc, 0x19, 0x4c40);
9574 MP_WritePhyUshort(sc, 0x15, 0x03d1);
9575 MP_WritePhyUshort(sc, 0x19, 0x33bf);
9576 MP_WritePhyUshort(sc, 0x15, 0x03d6);
9577 MP_WritePhyUshort(sc, 0x19, 0x4047);
9578 MP_WritePhyUshort(sc, 0x15, 0x03d7);
9579 MP_WritePhyUshort(sc, 0x19, 0x4469);
9580 MP_WritePhyUshort(sc, 0x15, 0x03d8);
9581 MP_WritePhyUshort(sc, 0x19, 0x492b);
9582 MP_WritePhyUshort(sc, 0x15, 0x03d9);
9583 MP_WritePhyUshort(sc, 0x19, 0x4479);
9584 MP_WritePhyUshort(sc, 0x15, 0x03da);
9585 MP_WritePhyUshort(sc, 0x19, 0x7c09);
9586 MP_WritePhyUshort(sc, 0x15, 0x03db);
9587 MP_WritePhyUshort(sc, 0x19, 0x8203);
9588 MP_WritePhyUshort(sc, 0x15, 0x03dc);
9589 MP_WritePhyUshort(sc, 0x19, 0x4d48);
9590 MP_WritePhyUshort(sc, 0x15, 0x03dd);
9591 MP_WritePhyUshort(sc, 0x19, 0x33df);
9592 MP_WritePhyUshort(sc, 0x15, 0x03de);
9593 MP_WritePhyUshort(sc, 0x19, 0x4d40);
9594 MP_WritePhyUshort(sc, 0x15, 0x03df);
9595 MP_WritePhyUshort(sc, 0x19, 0xd64f);
9596 MP_WritePhyUshort(sc, 0x15, 0x03e0);
9597 MP_WritePhyUshort(sc, 0x19, 0x0017);
9598 MP_WritePhyUshort(sc, 0x15, 0x03e1);
9599 MP_WritePhyUshort(sc, 0x19, 0xbd17);
9600 MP_WritePhyUshort(sc, 0x15, 0x03e2);
9601 MP_WritePhyUshort(sc, 0x19, 0x9b03);
9602 MP_WritePhyUshort(sc, 0x15, 0x03e3);
9603 MP_WritePhyUshort(sc, 0x19, 0x7c20);
9604 MP_WritePhyUshort(sc, 0x15, 0x03e4);
9605 MP_WritePhyUshort(sc, 0x19, 0x4c20);
9606 MP_WritePhyUshort(sc, 0x15, 0x03e5);
9607 MP_WritePhyUshort(sc, 0x19, 0x88f5);
9608 MP_WritePhyUshort(sc, 0x15, 0x03e6);
9609 MP_WritePhyUshort(sc, 0x19, 0xc428);
9610 MP_WritePhyUshort(sc, 0x15, 0x03e7);
9611 MP_WritePhyUshort(sc, 0x19, 0x0008);
9612 MP_WritePhyUshort(sc, 0x15, 0x03e8);
9613 MP_WritePhyUshort(sc, 0x19, 0x9af2);
9614 MP_WritePhyUshort(sc, 0x15, 0x03e9);
9615 MP_WritePhyUshort(sc, 0x19, 0x7c12);
9616 MP_WritePhyUshort(sc, 0x15, 0x03ea);
9617 MP_WritePhyUshort(sc, 0x19, 0x4c52);
9618 MP_WritePhyUshort(sc, 0x15, 0x03eb);
9619 MP_WritePhyUshort(sc, 0x19, 0x4470);
9620 MP_WritePhyUshort(sc, 0x15, 0x03ec);
9621 MP_WritePhyUshort(sc, 0x19, 0x7c12);
9622 MP_WritePhyUshort(sc, 0x15, 0x03ed);
9623 MP_WritePhyUshort(sc, 0x19, 0x4c40);
9624 MP_WritePhyUshort(sc, 0x15, 0x03ee);
9625 MP_WritePhyUshort(sc, 0x19, 0x33da);
9626 MP_WritePhyUshort(sc, 0x15, 0x03ef);
9627 MP_WritePhyUshort(sc, 0x19, 0x3312);
9628 MP_WritePhyUshort(sc, 0x16, 0x0306);
9629 MP_WritePhyUshort(sc, 0x16, 0x0300);
9630 MP_WritePhyUshort(sc, 0x1f, 0x0000);
9631 MP_WritePhyUshort(sc, 0x17, 0x2179);
9632 MP_WritePhyUshort(sc, 0x1f, 0x0007);
9633 MP_WritePhyUshort(sc, 0x1e, 0x0040);
9634 MP_WritePhyUshort(sc, 0x18, 0x0645);
9635 MP_WritePhyUshort(sc, 0x19, 0xe200);
9636 MP_WritePhyUshort(sc, 0x18, 0x0655);
9637 MP_WritePhyUshort(sc, 0x19, 0x9000);
9638 MP_WritePhyUshort(sc, 0x18, 0x0d05);
9639 MP_WritePhyUshort(sc, 0x19, 0xbe00);
9640 MP_WritePhyUshort(sc, 0x18, 0x0d15);
9641 MP_WritePhyUshort(sc, 0x19, 0xd300);
9642 MP_WritePhyUshort(sc, 0x18, 0x0d25);
9643 MP_WritePhyUshort(sc, 0x19, 0xfe00);
9644 MP_WritePhyUshort(sc, 0x18, 0x0d35);
9645 MP_WritePhyUshort(sc, 0x19, 0x4000);
9646 MP_WritePhyUshort(sc, 0x18, 0x0d45);
9647 MP_WritePhyUshort(sc, 0x19, 0x7f00);
9648 MP_WritePhyUshort(sc, 0x18, 0x0d55);
9649 MP_WritePhyUshort(sc, 0x19, 0x1000);
9650 MP_WritePhyUshort(sc, 0x18, 0x0d65);
9651 MP_WritePhyUshort(sc, 0x19, 0x0000);
9652 MP_WritePhyUshort(sc, 0x18, 0x0d75);
9653 MP_WritePhyUshort(sc, 0x19, 0x8200);
9654 MP_WritePhyUshort(sc, 0x18, 0x0d85);
9655 MP_WritePhyUshort(sc, 0x19, 0x0000);
9656 MP_WritePhyUshort(sc, 0x18, 0x0d95);
9657 MP_WritePhyUshort(sc, 0x19, 0x7000);
9658 MP_WritePhyUshort(sc, 0x18, 0x0da5);
9659 MP_WritePhyUshort(sc, 0x19, 0x0f00);
9660 MP_WritePhyUshort(sc, 0x18, 0x0db5);
9661 MP_WritePhyUshort(sc, 0x19, 0x0100);
9662 MP_WritePhyUshort(sc, 0x18, 0x0dc5);
9663 MP_WritePhyUshort(sc, 0x19, 0x9b00);
9664 MP_WritePhyUshort(sc, 0x18, 0x0dd5);
9665 MP_WritePhyUshort(sc, 0x19, 0x7f00);
9666 MP_WritePhyUshort(sc, 0x18, 0x0de5);
9667 MP_WritePhyUshort(sc, 0x19, 0xe000);
9668 MP_WritePhyUshort(sc, 0x18, 0x0df5);
9669 MP_WritePhyUshort(sc, 0x19, 0xef00);
9670 MP_WritePhyUshort(sc, 0x18, 0x16d5);
9671 MP_WritePhyUshort(sc, 0x19, 0xe200);
9672 MP_WritePhyUshort(sc, 0x18, 0x16e5);
9673 MP_WritePhyUshort(sc, 0x19, 0xab00);
9674 MP_WritePhyUshort(sc, 0x18, 0x2904);
9675 MP_WritePhyUshort(sc, 0x19, 0x4000);
9676 MP_WritePhyUshort(sc, 0x18, 0x2914);
9677 MP_WritePhyUshort(sc, 0x19, 0x7f00);
9678 MP_WritePhyUshort(sc, 0x18, 0x2924);
9679 MP_WritePhyUshort(sc, 0x19, 0x0100);
9680 MP_WritePhyUshort(sc, 0x18, 0x2934);
9681 MP_WritePhyUshort(sc, 0x19, 0x2000);
9682 MP_WritePhyUshort(sc, 0x18, 0x2944);
9683 MP_WritePhyUshort(sc, 0x19, 0x0000);
9684 MP_WritePhyUshort(sc, 0x18, 0x2954);
9685 MP_WritePhyUshort(sc, 0x19, 0x4600);
9686 MP_WritePhyUshort(sc, 0x18, 0x2964);
9687 MP_WritePhyUshort(sc, 0x19, 0xfc00);
9688 MP_WritePhyUshort(sc, 0x18, 0x2974);
9689 MP_WritePhyUshort(sc, 0x19, 0x0000);
9690 MP_WritePhyUshort(sc, 0x18, 0x2984);
9691 MP_WritePhyUshort(sc, 0x19, 0x5000);
9692 MP_WritePhyUshort(sc, 0x18, 0x2994);
9693 MP_WritePhyUshort(sc, 0x19, 0x9d00);
9694 MP_WritePhyUshort(sc, 0x18, 0x29a4);
9695 MP_WritePhyUshort(sc, 0x19, 0xff00);
9696 MP_WritePhyUshort(sc, 0x18, 0x29b4);
9697 MP_WritePhyUshort(sc, 0x19, 0x4000);
9698 MP_WritePhyUshort(sc, 0x18, 0x29c4);
9699 MP_WritePhyUshort(sc, 0x19, 0x7f00);
9700 MP_WritePhyUshort(sc, 0x18, 0x29d4);
9701 MP_WritePhyUshort(sc, 0x19, 0x0000);
9702 MP_WritePhyUshort(sc, 0x18, 0x29e4);
9703 MP_WritePhyUshort(sc, 0x19, 0x2000);
9704 MP_WritePhyUshort(sc, 0x18, 0x29f4);
9705 MP_WritePhyUshort(sc, 0x19, 0x0000);
9706 MP_WritePhyUshort(sc, 0x18, 0x2a04);
9707 MP_WritePhyUshort(sc, 0x19, 0xe600);
9708 MP_WritePhyUshort(sc, 0x18, 0x2a14);
9709 MP_WritePhyUshort(sc, 0x19, 0xff00);
9710 MP_WritePhyUshort(sc, 0x18, 0x2a24);
9711 MP_WritePhyUshort(sc, 0x19, 0x0000);
9712 MP_WritePhyUshort(sc, 0x18, 0x2a34);
9713 MP_WritePhyUshort(sc, 0x19, 0x5000);
9714 MP_WritePhyUshort(sc, 0x18, 0x2a44);
9715 MP_WritePhyUshort(sc, 0x19, 0x8500);
9716 MP_WritePhyUshort(sc, 0x18, 0x2a54);
9717 MP_WritePhyUshort(sc, 0x19, 0x7f00);
9718 MP_WritePhyUshort(sc, 0x18, 0x2a64);
9719 MP_WritePhyUshort(sc, 0x19, 0xac00);
9720 MP_WritePhyUshort(sc, 0x18, 0x2a74);
9721 MP_WritePhyUshort(sc, 0x19, 0x0800);
9722 MP_WritePhyUshort(sc, 0x18, 0x2a84);
9723 MP_WritePhyUshort(sc, 0x19, 0xfc00);
9724 MP_WritePhyUshort(sc, 0x18, 0x2a94);
9725 MP_WritePhyUshort(sc, 0x19, 0xe000);
9726 MP_WritePhyUshort(sc, 0x18, 0x2aa4);
9727 MP_WritePhyUshort(sc, 0x19, 0x7400);
9728 MP_WritePhyUshort(sc, 0x18, 0x2ab4);
9729 MP_WritePhyUshort(sc, 0x19, 0x4000);
9730 MP_WritePhyUshort(sc, 0x18, 0x2ac4);
9731 MP_WritePhyUshort(sc, 0x19, 0x7f00);
9732 MP_WritePhyUshort(sc, 0x18, 0x2ad4);
9733 MP_WritePhyUshort(sc, 0x19, 0x0100);
9734 MP_WritePhyUshort(sc, 0x18, 0x2ae4);
9735 MP_WritePhyUshort(sc, 0x19, 0xff00);
9736 MP_WritePhyUshort(sc, 0x18, 0x2af4);
9737 MP_WritePhyUshort(sc, 0x19, 0x0000);
9738 MP_WritePhyUshort(sc, 0x18, 0x2b04);
9739 MP_WritePhyUshort(sc, 0x19, 0x4400);
9740 MP_WritePhyUshort(sc, 0x18, 0x2b14);
9741 MP_WritePhyUshort(sc, 0x19, 0xfc00);
9742 MP_WritePhyUshort(sc, 0x18, 0x2b24);
9743 MP_WritePhyUshort(sc, 0x19, 0x0000);
9744 MP_WritePhyUshort(sc, 0x18, 0x2b34);
9745 MP_WritePhyUshort(sc, 0x19, 0x4000);
9746 MP_WritePhyUshort(sc, 0x18, 0x2b44);
9747 MP_WritePhyUshort(sc, 0x19, 0x9d00);
9748 MP_WritePhyUshort(sc, 0x18, 0x2b54);
9749 MP_WritePhyUshort(sc, 0x19, 0xff00);
9750 MP_WritePhyUshort(sc, 0x18, 0x2b64);
9751 MP_WritePhyUshort(sc, 0x19, 0x4000);
9752 MP_WritePhyUshort(sc, 0x18, 0x2b74);
9753 MP_WritePhyUshort(sc, 0x19, 0x7f00);
9754 MP_WritePhyUshort(sc, 0x18, 0x2b84);
9755 MP_WritePhyUshort(sc, 0x19, 0x0000);
9756 MP_WritePhyUshort(sc, 0x18, 0x2b94);
9757 MP_WritePhyUshort(sc, 0x19, 0xff00);
9758 MP_WritePhyUshort(sc, 0x18, 0x2ba4);
9759 MP_WritePhyUshort(sc, 0x19, 0x0000);
9760 MP_WritePhyUshort(sc, 0x18, 0x2bb4);
9761 MP_WritePhyUshort(sc, 0x19, 0xfc00);
9762 MP_WritePhyUshort(sc, 0x18, 0x2bc4);
9763 MP_WritePhyUshort(sc, 0x19, 0xff00);
9764 MP_WritePhyUshort(sc, 0x18, 0x2bd4);
9765 MP_WritePhyUshort(sc, 0x19, 0x0000);
9766 MP_WritePhyUshort(sc, 0x18, 0x2be4);
9767 MP_WritePhyUshort(sc, 0x19, 0x4000);
9768 MP_WritePhyUshort(sc, 0x18, 0x2bf4);
9769 MP_WritePhyUshort(sc, 0x19, 0x8900);
9770 MP_WritePhyUshort(sc, 0x18, 0x2c04);
9771 MP_WritePhyUshort(sc, 0x19, 0x8300);
9772 MP_WritePhyUshort(sc, 0x18, 0x2c14);
9773 MP_WritePhyUshort(sc, 0x19, 0xe000);
9774 MP_WritePhyUshort(sc, 0x18, 0x2c24);
9775 MP_WritePhyUshort(sc, 0x19, 0x0000);
9776 MP_WritePhyUshort(sc, 0x18, 0x2c34);
9777 MP_WritePhyUshort(sc, 0x19, 0xac00);
9778 MP_WritePhyUshort(sc, 0x18, 0x2c44);
9779 MP_WritePhyUshort(sc, 0x19, 0x0800);
9780 MP_WritePhyUshort(sc, 0x18, 0x2c54);
9781 MP_WritePhyUshort(sc, 0x19, 0xfa00);
9782 MP_WritePhyUshort(sc, 0x18, 0x2c64);
9783 MP_WritePhyUshort(sc, 0x19, 0xe100);
9784 MP_WritePhyUshort(sc, 0x18, 0x2c74);
9785 MP_WritePhyUshort(sc, 0x19, 0x7f00);
9786 MP_WritePhyUshort(sc, 0x18, 0x0001);
9787 MP_WritePhyUshort(sc, 0x1f, 0x0000);
9788 MP_WritePhyUshort(sc, 0x17, 0x2100);
9789 MP_WritePhyUshort(sc, 0x1f, 0x0005);
9790 MP_WritePhyUshort(sc, 0x05, 0xfff6);
9791 MP_WritePhyUshort(sc, 0x06, 0x0080);
9792 MP_WritePhyUshort(sc, 0x05, 0x8b88);
9793 MP_WritePhyUshort(sc, 0x06, 0x0000);
9794 MP_WritePhyUshort(sc, 0x06, 0x0000);
9795 MP_WritePhyUshort(sc, 0x06, 0x0000);
9796 MP_WritePhyUshort(sc, 0x06, 0x0000);
9797 MP_WritePhyUshort(sc, 0x05, 0x8000);
9798 MP_WritePhyUshort(sc, 0x06, 0xd480);
9799 MP_WritePhyUshort(sc, 0x06, 0xc1e4);
9800 MP_WritePhyUshort(sc, 0x06, 0x8b9a);
9801 MP_WritePhyUshort(sc, 0x06, 0xe58b);
9802 MP_WritePhyUshort(sc, 0x06, 0x9bee);
9803 MP_WritePhyUshort(sc, 0x06, 0x8b83);
9804 MP_WritePhyUshort(sc, 0x06, 0x41bf);
9805 MP_WritePhyUshort(sc, 0x06, 0x8b88);
9806 MP_WritePhyUshort(sc, 0x06, 0xec00);
9807 MP_WritePhyUshort(sc, 0x06, 0x19a9);
9808 MP_WritePhyUshort(sc, 0x06, 0x8b90);
9809 MP_WritePhyUshort(sc, 0x06, 0xf9ee);
9810 MP_WritePhyUshort(sc, 0x06, 0xfff6);
9811 MP_WritePhyUshort(sc, 0x06, 0x00ee);
9812 MP_WritePhyUshort(sc, 0x06, 0xfff7);
9813 MP_WritePhyUshort(sc, 0x06, 0xffe0);
9814 MP_WritePhyUshort(sc, 0x06, 0xe140);
9815 MP_WritePhyUshort(sc, 0x06, 0xe1e1);
9816 MP_WritePhyUshort(sc, 0x06, 0x41f7);
9817 MP_WritePhyUshort(sc, 0x06, 0x2ff6);
9818 MP_WritePhyUshort(sc, 0x06, 0x28e4);
9819 MP_WritePhyUshort(sc, 0x06, 0xe140);
9820 MP_WritePhyUshort(sc, 0x06, 0xe5e1);
9821 MP_WritePhyUshort(sc, 0x06, 0x41f7);
9822 MP_WritePhyUshort(sc, 0x06, 0x0002);
9823 MP_WritePhyUshort(sc, 0x06, 0x020c);
9824 MP_WritePhyUshort(sc, 0x06, 0x0202);
9825 MP_WritePhyUshort(sc, 0x06, 0x1d02);
9826 MP_WritePhyUshort(sc, 0x06, 0x0230);
9827 MP_WritePhyUshort(sc, 0x06, 0x0202);
9828 MP_WritePhyUshort(sc, 0x06, 0x4002);
9829 MP_WritePhyUshort(sc, 0x06, 0x028b);
9830 MP_WritePhyUshort(sc, 0x06, 0x0280);
9831 MP_WritePhyUshort(sc, 0x06, 0x6c02);
9832 MP_WritePhyUshort(sc, 0x06, 0x8085);
9833 MP_WritePhyUshort(sc, 0x06, 0xe08b);
9834 MP_WritePhyUshort(sc, 0x06, 0x88e1);
9835 MP_WritePhyUshort(sc, 0x06, 0x8b89);
9836 MP_WritePhyUshort(sc, 0x06, 0x1e01);
9837 MP_WritePhyUshort(sc, 0x06, 0xe18b);
9838 MP_WritePhyUshort(sc, 0x06, 0x8a1e);
9839 MP_WritePhyUshort(sc, 0x06, 0x01e1);
9840 MP_WritePhyUshort(sc, 0x06, 0x8b8b);
9841 MP_WritePhyUshort(sc, 0x06, 0x1e01);
9842 MP_WritePhyUshort(sc, 0x06, 0xe18b);
9843 MP_WritePhyUshort(sc, 0x06, 0x8c1e);
9844 MP_WritePhyUshort(sc, 0x06, 0x01e1);
9845 MP_WritePhyUshort(sc, 0x06, 0x8b8d);
9846 MP_WritePhyUshort(sc, 0x06, 0x1e01);
9847 MP_WritePhyUshort(sc, 0x06, 0xe18b);
9848 MP_WritePhyUshort(sc, 0x06, 0x8e1e);
9849 MP_WritePhyUshort(sc, 0x06, 0x01a0);
9850 MP_WritePhyUshort(sc, 0x06, 0x00c7);
9851 MP_WritePhyUshort(sc, 0x06, 0xaec3);
9852 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
9853 MP_WritePhyUshort(sc, 0x06, 0x8b8d);
9854 MP_WritePhyUshort(sc, 0x06, 0xad20);
9855 MP_WritePhyUshort(sc, 0x06, 0x10ee);
9856 MP_WritePhyUshort(sc, 0x06, 0x8b8d);
9857 MP_WritePhyUshort(sc, 0x06, 0x0002);
9858 MP_WritePhyUshort(sc, 0x06, 0x1310);
9859 MP_WritePhyUshort(sc, 0x06, 0x021f);
9860 MP_WritePhyUshort(sc, 0x06, 0x9d02);
9861 MP_WritePhyUshort(sc, 0x06, 0x1f0c);
9862 MP_WritePhyUshort(sc, 0x06, 0x0227);
9863 MP_WritePhyUshort(sc, 0x06, 0x49fc);
9864 MP_WritePhyUshort(sc, 0x06, 0x04f8);
9865 MP_WritePhyUshort(sc, 0x06, 0xe08b);
9866 MP_WritePhyUshort(sc, 0x06, 0x8ead);
9867 MP_WritePhyUshort(sc, 0x06, 0x200b);
9868 MP_WritePhyUshort(sc, 0x06, 0xf620);
9869 MP_WritePhyUshort(sc, 0x06, 0xe48b);
9870 MP_WritePhyUshort(sc, 0x06, 0x8e02);
9871 MP_WritePhyUshort(sc, 0x06, 0x830e);
9872 MP_WritePhyUshort(sc, 0x06, 0x021b);
9873 MP_WritePhyUshort(sc, 0x06, 0x67ad);
9874 MP_WritePhyUshort(sc, 0x06, 0x2211);
9875 MP_WritePhyUshort(sc, 0x06, 0xf622);
9876 MP_WritePhyUshort(sc, 0x06, 0xe48b);
9877 MP_WritePhyUshort(sc, 0x06, 0x8e02);
9878 MP_WritePhyUshort(sc, 0x06, 0x2ba5);
9879 MP_WritePhyUshort(sc, 0x06, 0x022a);
9880 MP_WritePhyUshort(sc, 0x06, 0x2402);
9881 MP_WritePhyUshort(sc, 0x06, 0x80c6);
9882 MP_WritePhyUshort(sc, 0x06, 0x022a);
9883 MP_WritePhyUshort(sc, 0x06, 0xf0ad);
9884 MP_WritePhyUshort(sc, 0x06, 0x2511);
9885 MP_WritePhyUshort(sc, 0x06, 0xf625);
9886 MP_WritePhyUshort(sc, 0x06, 0xe48b);
9887 MP_WritePhyUshort(sc, 0x06, 0x8e02);
9888 MP_WritePhyUshort(sc, 0x06, 0x8226);
9889 MP_WritePhyUshort(sc, 0x06, 0x0204);
9890 MP_WritePhyUshort(sc, 0x06, 0x0302);
9891 MP_WritePhyUshort(sc, 0x06, 0x19cc);
9892 MP_WritePhyUshort(sc, 0x06, 0x022b);
9893 MP_WritePhyUshort(sc, 0x06, 0x5bfc);
9894 MP_WritePhyUshort(sc, 0x06, 0x04ee);
9895 MP_WritePhyUshort(sc, 0x06, 0x8b8d);
9896 MP_WritePhyUshort(sc, 0x06, 0x0105);
9897 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
9898 MP_WritePhyUshort(sc, 0x06, 0x8b83);
9899 MP_WritePhyUshort(sc, 0x06, 0xad24);
9900 MP_WritePhyUshort(sc, 0x06, 0x44e0);
9901 MP_WritePhyUshort(sc, 0x06, 0xe022);
9902 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
9903 MP_WritePhyUshort(sc, 0x06, 0x23ad);
9904 MP_WritePhyUshort(sc, 0x06, 0x223b);
9905 MP_WritePhyUshort(sc, 0x06, 0xe08a);
9906 MP_WritePhyUshort(sc, 0x06, 0xbea0);
9907 MP_WritePhyUshort(sc, 0x06, 0x0005);
9908 MP_WritePhyUshort(sc, 0x06, 0x0228);
9909 MP_WritePhyUshort(sc, 0x06, 0xdeae);
9910 MP_WritePhyUshort(sc, 0x06, 0x42a0);
9911 MP_WritePhyUshort(sc, 0x06, 0x0105);
9912 MP_WritePhyUshort(sc, 0x06, 0x0228);
9913 MP_WritePhyUshort(sc, 0x06, 0xf1ae);
9914 MP_WritePhyUshort(sc, 0x06, 0x3aa0);
9915 MP_WritePhyUshort(sc, 0x06, 0x0205);
9916 MP_WritePhyUshort(sc, 0x06, 0x0281);
9917 MP_WritePhyUshort(sc, 0x06, 0x25ae);
9918 MP_WritePhyUshort(sc, 0x06, 0x32a0);
9919 MP_WritePhyUshort(sc, 0x06, 0x0305);
9920 MP_WritePhyUshort(sc, 0x06, 0x0229);
9921 MP_WritePhyUshort(sc, 0x06, 0x9aae);
9922 MP_WritePhyUshort(sc, 0x06, 0x2aa0);
9923 MP_WritePhyUshort(sc, 0x06, 0x0405);
9924 MP_WritePhyUshort(sc, 0x06, 0x0229);
9925 MP_WritePhyUshort(sc, 0x06, 0xaeae);
9926 MP_WritePhyUshort(sc, 0x06, 0x22a0);
9927 MP_WritePhyUshort(sc, 0x06, 0x0505);
9928 MP_WritePhyUshort(sc, 0x06, 0x0229);
9929 MP_WritePhyUshort(sc, 0x06, 0xd7ae);
9930 MP_WritePhyUshort(sc, 0x06, 0x1aa0);
9931 MP_WritePhyUshort(sc, 0x06, 0x0605);
9932 MP_WritePhyUshort(sc, 0x06, 0x0229);
9933 MP_WritePhyUshort(sc, 0x06, 0xfeae);
9934 MP_WritePhyUshort(sc, 0x06, 0x12ee);
9935 MP_WritePhyUshort(sc, 0x06, 0x8ac0);
9936 MP_WritePhyUshort(sc, 0x06, 0x00ee);
9937 MP_WritePhyUshort(sc, 0x06, 0x8ac1);
9938 MP_WritePhyUshort(sc, 0x06, 0x00ee);
9939 MP_WritePhyUshort(sc, 0x06, 0x8ac6);
9940 MP_WritePhyUshort(sc, 0x06, 0x00ee);
9941 MP_WritePhyUshort(sc, 0x06, 0x8abe);
9942 MP_WritePhyUshort(sc, 0x06, 0x00ae);
9943 MP_WritePhyUshort(sc, 0x06, 0x00fc);
9944 MP_WritePhyUshort(sc, 0x06, 0x04f8);
9945 MP_WritePhyUshort(sc, 0x06, 0x022a);
9946 MP_WritePhyUshort(sc, 0x06, 0x67e0);
9947 MP_WritePhyUshort(sc, 0x06, 0xe022);
9948 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
9949 MP_WritePhyUshort(sc, 0x06, 0x230d);
9950 MP_WritePhyUshort(sc, 0x06, 0x0658);
9951 MP_WritePhyUshort(sc, 0x06, 0x03a0);
9952 MP_WritePhyUshort(sc, 0x06, 0x0202);
9953 MP_WritePhyUshort(sc, 0x06, 0xae2d);
9954 MP_WritePhyUshort(sc, 0x06, 0xa001);
9955 MP_WritePhyUshort(sc, 0x06, 0x02ae);
9956 MP_WritePhyUshort(sc, 0x06, 0x2da0);
9957 MP_WritePhyUshort(sc, 0x06, 0x004d);
9958 MP_WritePhyUshort(sc, 0x06, 0xe0e2);
9959 MP_WritePhyUshort(sc, 0x06, 0x00e1);
9960 MP_WritePhyUshort(sc, 0x06, 0xe201);
9961 MP_WritePhyUshort(sc, 0x06, 0xad24);
9962 MP_WritePhyUshort(sc, 0x06, 0x44e0);
9963 MP_WritePhyUshort(sc, 0x06, 0x8ac2);
9964 MP_WritePhyUshort(sc, 0x06, 0xe48a);
9965 MP_WritePhyUshort(sc, 0x06, 0xc4e0);
9966 MP_WritePhyUshort(sc, 0x06, 0x8ac3);
9967 MP_WritePhyUshort(sc, 0x06, 0xe48a);
9968 MP_WritePhyUshort(sc, 0x06, 0xc5ee);
9969 MP_WritePhyUshort(sc, 0x06, 0x8abe);
9970 MP_WritePhyUshort(sc, 0x06, 0x03e0);
9971 MP_WritePhyUshort(sc, 0x06, 0x8b83);
9972 MP_WritePhyUshort(sc, 0x06, 0xad25);
9973 MP_WritePhyUshort(sc, 0x06, 0x3aee);
9974 MP_WritePhyUshort(sc, 0x06, 0x8abe);
9975 MP_WritePhyUshort(sc, 0x06, 0x05ae);
9976 MP_WritePhyUshort(sc, 0x06, 0x34e0);
9977 MP_WritePhyUshort(sc, 0x06, 0x8ace);
9978 MP_WritePhyUshort(sc, 0x06, 0xae03);
9979 MP_WritePhyUshort(sc, 0x06, 0xe08a);
9980 MP_WritePhyUshort(sc, 0x06, 0xcfe1);
9981 MP_WritePhyUshort(sc, 0x06, 0x8ac2);
9982 MP_WritePhyUshort(sc, 0x06, 0x4905);
9983 MP_WritePhyUshort(sc, 0x06, 0xe58a);
9984 MP_WritePhyUshort(sc, 0x06, 0xc4e1);
9985 MP_WritePhyUshort(sc, 0x06, 0x8ac3);
9986 MP_WritePhyUshort(sc, 0x06, 0x4905);
9987 MP_WritePhyUshort(sc, 0x06, 0xe58a);
9988 MP_WritePhyUshort(sc, 0x06, 0xc5ee);
9989 MP_WritePhyUshort(sc, 0x06, 0x8abe);
9990 MP_WritePhyUshort(sc, 0x06, 0x0502);
9991 MP_WritePhyUshort(sc, 0x06, 0x2ab6);
9992 MP_WritePhyUshort(sc, 0x06, 0xac20);
9993 MP_WritePhyUshort(sc, 0x06, 0x1202);
9994 MP_WritePhyUshort(sc, 0x06, 0x819b);
9995 MP_WritePhyUshort(sc, 0x06, 0xac20);
9996 MP_WritePhyUshort(sc, 0x06, 0x0cee);
9997 MP_WritePhyUshort(sc, 0x06, 0x8ac1);
9998 MP_WritePhyUshort(sc, 0x06, 0x00ee);
9999 MP_WritePhyUshort(sc, 0x06, 0x8ac6);
10000 MP_WritePhyUshort(sc, 0x06, 0x00ee);
10001 MP_WritePhyUshort(sc, 0x06, 0x8abe);
10002 MP_WritePhyUshort(sc, 0x06, 0x02fc);
10003 MP_WritePhyUshort(sc, 0x06, 0x04d0);
10004 MP_WritePhyUshort(sc, 0x06, 0x0002);
10005 MP_WritePhyUshort(sc, 0x06, 0x81ad);
10006 MP_WritePhyUshort(sc, 0x06, 0x590f);
10007 MP_WritePhyUshort(sc, 0x06, 0x3902);
10008 MP_WritePhyUshort(sc, 0x06, 0xaa04);
10009 MP_WritePhyUshort(sc, 0x06, 0xd001);
10010 MP_WritePhyUshort(sc, 0x06, 0xae02);
10011 MP_WritePhyUshort(sc, 0x06, 0xd000);
10012 MP_WritePhyUshort(sc, 0x06, 0x04f9);
10013 MP_WritePhyUshort(sc, 0x06, 0xfae2);
10014 MP_WritePhyUshort(sc, 0x06, 0xe2d2);
10015 MP_WritePhyUshort(sc, 0x06, 0xe3e2);
10016 MP_WritePhyUshort(sc, 0x06, 0xd3f9);
10017 MP_WritePhyUshort(sc, 0x06, 0x5af7);
10018 MP_WritePhyUshort(sc, 0x06, 0xe6e2);
10019 MP_WritePhyUshort(sc, 0x06, 0xd2e7);
10020 MP_WritePhyUshort(sc, 0x06, 0xe2d3);
10021 MP_WritePhyUshort(sc, 0x06, 0xe2e0);
10022 MP_WritePhyUshort(sc, 0x06, 0x2ce3);
10023 MP_WritePhyUshort(sc, 0x06, 0xe02d);
10024 MP_WritePhyUshort(sc, 0x06, 0xf95b);
10025 MP_WritePhyUshort(sc, 0x06, 0xe01e);
10026 MP_WritePhyUshort(sc, 0x06, 0x30e6);
10027 MP_WritePhyUshort(sc, 0x06, 0xe02c);
10028 MP_WritePhyUshort(sc, 0x06, 0xe7e0);
10029 MP_WritePhyUshort(sc, 0x06, 0x2de2);
10030 MP_WritePhyUshort(sc, 0x06, 0xe2cc);
10031 MP_WritePhyUshort(sc, 0x06, 0xe3e2);
10032 MP_WritePhyUshort(sc, 0x06, 0xcdf9);
10033 MP_WritePhyUshort(sc, 0x06, 0x5a0f);
10034 MP_WritePhyUshort(sc, 0x06, 0x6a50);
10035 MP_WritePhyUshort(sc, 0x06, 0xe6e2);
10036 MP_WritePhyUshort(sc, 0x06, 0xcce7);
10037 MP_WritePhyUshort(sc, 0x06, 0xe2cd);
10038 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
10039 MP_WritePhyUshort(sc, 0x06, 0x3ce1);
10040 MP_WritePhyUshort(sc, 0x06, 0xe03d);
10041 MP_WritePhyUshort(sc, 0x06, 0xef64);
10042 MP_WritePhyUshort(sc, 0x06, 0xfde0);
10043 MP_WritePhyUshort(sc, 0x06, 0xe2cc);
10044 MP_WritePhyUshort(sc, 0x06, 0xe1e2);
10045 MP_WritePhyUshort(sc, 0x06, 0xcd58);
10046 MP_WritePhyUshort(sc, 0x06, 0x0f5a);
10047 MP_WritePhyUshort(sc, 0x06, 0xf01e);
10048 MP_WritePhyUshort(sc, 0x06, 0x02e4);
10049 MP_WritePhyUshort(sc, 0x06, 0xe2cc);
10050 MP_WritePhyUshort(sc, 0x06, 0xe5e2);
10051 MP_WritePhyUshort(sc, 0x06, 0xcdfd);
10052 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
10053 MP_WritePhyUshort(sc, 0x06, 0x2ce1);
10054 MP_WritePhyUshort(sc, 0x06, 0xe02d);
10055 MP_WritePhyUshort(sc, 0x06, 0x59e0);
10056 MP_WritePhyUshort(sc, 0x06, 0x5b1f);
10057 MP_WritePhyUshort(sc, 0x06, 0x1e13);
10058 MP_WritePhyUshort(sc, 0x06, 0xe4e0);
10059 MP_WritePhyUshort(sc, 0x06, 0x2ce5);
10060 MP_WritePhyUshort(sc, 0x06, 0xe02d);
10061 MP_WritePhyUshort(sc, 0x06, 0xfde0);
10062 MP_WritePhyUshort(sc, 0x06, 0xe2d2);
10063 MP_WritePhyUshort(sc, 0x06, 0xe1e2);
10064 MP_WritePhyUshort(sc, 0x06, 0xd358);
10065 MP_WritePhyUshort(sc, 0x06, 0xf75a);
10066 MP_WritePhyUshort(sc, 0x06, 0x081e);
10067 MP_WritePhyUshort(sc, 0x06, 0x02e4);
10068 MP_WritePhyUshort(sc, 0x06, 0xe2d2);
10069 MP_WritePhyUshort(sc, 0x06, 0xe5e2);
10070 MP_WritePhyUshort(sc, 0x06, 0xd3ef);
10071 MP_WritePhyUshort(sc, 0x06, 0x46fe);
10072 MP_WritePhyUshort(sc, 0x06, 0xfd04);
10073 MP_WritePhyUshort(sc, 0x06, 0xf8f9);
10074 MP_WritePhyUshort(sc, 0x06, 0xfaef);
10075 MP_WritePhyUshort(sc, 0x06, 0x69e0);
10076 MP_WritePhyUshort(sc, 0x06, 0xe022);
10077 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
10078 MP_WritePhyUshort(sc, 0x06, 0x2358);
10079 MP_WritePhyUshort(sc, 0x06, 0xc4e1);
10080 MP_WritePhyUshort(sc, 0x06, 0x8b6e);
10081 MP_WritePhyUshort(sc, 0x06, 0x1f10);
10082 MP_WritePhyUshort(sc, 0x06, 0x9e58);
10083 MP_WritePhyUshort(sc, 0x06, 0xe48b);
10084 MP_WritePhyUshort(sc, 0x06, 0x6ead);
10085 MP_WritePhyUshort(sc, 0x06, 0x2222);
10086 MP_WritePhyUshort(sc, 0x06, 0xac27);
10087 MP_WritePhyUshort(sc, 0x06, 0x55ac);
10088 MP_WritePhyUshort(sc, 0x06, 0x2602);
10089 MP_WritePhyUshort(sc, 0x06, 0xae1a);
10090 MP_WritePhyUshort(sc, 0x06, 0xd106);
10091 MP_WritePhyUshort(sc, 0x06, 0xbf3b);
10092 MP_WritePhyUshort(sc, 0x06, 0xba02);
10093 MP_WritePhyUshort(sc, 0x06, 0x2dc1);
10094 MP_WritePhyUshort(sc, 0x06, 0xd107);
10095 MP_WritePhyUshort(sc, 0x06, 0xbf3b);
10096 MP_WritePhyUshort(sc, 0x06, 0xbd02);
10097 MP_WritePhyUshort(sc, 0x06, 0x2dc1);
10098 MP_WritePhyUshort(sc, 0x06, 0xd107);
10099 MP_WritePhyUshort(sc, 0x06, 0xbf3b);
10100 MP_WritePhyUshort(sc, 0x06, 0xc002);
10101 MP_WritePhyUshort(sc, 0x06, 0x2dc1);
10102 MP_WritePhyUshort(sc, 0x06, 0xae30);
10103 MP_WritePhyUshort(sc, 0x06, 0xd103);
10104 MP_WritePhyUshort(sc, 0x06, 0xbf3b);
10105 MP_WritePhyUshort(sc, 0x06, 0xc302);
10106 MP_WritePhyUshort(sc, 0x06, 0x2dc1);
10107 MP_WritePhyUshort(sc, 0x06, 0xd100);
10108 MP_WritePhyUshort(sc, 0x06, 0xbf3b);
10109 MP_WritePhyUshort(sc, 0x06, 0xc602);
10110 MP_WritePhyUshort(sc, 0x06, 0x2dc1);
10111 MP_WritePhyUshort(sc, 0x06, 0xd100);
10112 MP_WritePhyUshort(sc, 0x06, 0xbf82);
10113 MP_WritePhyUshort(sc, 0x06, 0xca02);
10114 MP_WritePhyUshort(sc, 0x06, 0x2dc1);
10115 MP_WritePhyUshort(sc, 0x06, 0xd10f);
10116 MP_WritePhyUshort(sc, 0x06, 0xbf3b);
10117 MP_WritePhyUshort(sc, 0x06, 0xba02);
10118 MP_WritePhyUshort(sc, 0x06, 0x2dc1);
10119 MP_WritePhyUshort(sc, 0x06, 0xd101);
10120 MP_WritePhyUshort(sc, 0x06, 0xbf3b);
10121 MP_WritePhyUshort(sc, 0x06, 0xbd02);
10122 MP_WritePhyUshort(sc, 0x06, 0x2dc1);
10123 MP_WritePhyUshort(sc, 0x06, 0xd101);
10124 MP_WritePhyUshort(sc, 0x06, 0xbf3b);
10125 MP_WritePhyUshort(sc, 0x06, 0xc002);
10126 MP_WritePhyUshort(sc, 0x06, 0x2dc1);
10127 MP_WritePhyUshort(sc, 0x06, 0xef96);
10128 MP_WritePhyUshort(sc, 0x06, 0xfefd);
10129 MP_WritePhyUshort(sc, 0x06, 0xfc04);
10130 MP_WritePhyUshort(sc, 0x06, 0xd100);
10131 MP_WritePhyUshort(sc, 0x06, 0xbf3b);
10132 MP_WritePhyUshort(sc, 0x06, 0xc302);
10133 MP_WritePhyUshort(sc, 0x06, 0x2dc1);
10134 MP_WritePhyUshort(sc, 0x06, 0xd011);
10135 MP_WritePhyUshort(sc, 0x06, 0x022b);
10136 MP_WritePhyUshort(sc, 0x06, 0xfb59);
10137 MP_WritePhyUshort(sc, 0x06, 0x03ef);
10138 MP_WritePhyUshort(sc, 0x06, 0x01d1);
10139 MP_WritePhyUshort(sc, 0x06, 0x00a0);
10140 MP_WritePhyUshort(sc, 0x06, 0x0002);
10141 MP_WritePhyUshort(sc, 0x06, 0xd101);
10142 MP_WritePhyUshort(sc, 0x06, 0xbf3b);
10143 MP_WritePhyUshort(sc, 0x06, 0xc602);
10144 MP_WritePhyUshort(sc, 0x06, 0x2dc1);
10145 MP_WritePhyUshort(sc, 0x06, 0xd111);
10146 MP_WritePhyUshort(sc, 0x06, 0xad20);
10147 MP_WritePhyUshort(sc, 0x06, 0x020c);
10148 MP_WritePhyUshort(sc, 0x06, 0x11ad);
10149 MP_WritePhyUshort(sc, 0x06, 0x2102);
10150 MP_WritePhyUshort(sc, 0x06, 0x0c12);
10151 MP_WritePhyUshort(sc, 0x06, 0xbf82);
10152 MP_WritePhyUshort(sc, 0x06, 0xca02);
10153 MP_WritePhyUshort(sc, 0x06, 0x2dc1);
10154 MP_WritePhyUshort(sc, 0x06, 0xaec8);
10155 MP_WritePhyUshort(sc, 0x06, 0x70e4);
10156 MP_WritePhyUshort(sc, 0x06, 0x2602);
10157 MP_WritePhyUshort(sc, 0x06, 0x82d1);
10158 MP_WritePhyUshort(sc, 0x06, 0x05f8);
10159 MP_WritePhyUshort(sc, 0x06, 0xfaef);
10160 MP_WritePhyUshort(sc, 0x06, 0x69e0);
10161 MP_WritePhyUshort(sc, 0x06, 0xe2fe);
10162 MP_WritePhyUshort(sc, 0x06, 0xe1e2);
10163 MP_WritePhyUshort(sc, 0x06, 0xffad);
10164 MP_WritePhyUshort(sc, 0x06, 0x2d1a);
10165 MP_WritePhyUshort(sc, 0x06, 0xe0e1);
10166 MP_WritePhyUshort(sc, 0x06, 0x4ee1);
10167 MP_WritePhyUshort(sc, 0x06, 0xe14f);
10168 MP_WritePhyUshort(sc, 0x06, 0xac2d);
10169 MP_WritePhyUshort(sc, 0x06, 0x22f6);
10170 MP_WritePhyUshort(sc, 0x06, 0x0302);
10171 MP_WritePhyUshort(sc, 0x06, 0x033b);
10172 MP_WritePhyUshort(sc, 0x06, 0xf703);
10173 MP_WritePhyUshort(sc, 0x06, 0xf706);
10174 MP_WritePhyUshort(sc, 0x06, 0xbf84);
10175 MP_WritePhyUshort(sc, 0x06, 0x4402);
10176 MP_WritePhyUshort(sc, 0x06, 0x2d21);
10177 MP_WritePhyUshort(sc, 0x06, 0xae11);
10178 MP_WritePhyUshort(sc, 0x06, 0xe0e1);
10179 MP_WritePhyUshort(sc, 0x06, 0x4ee1);
10180 MP_WritePhyUshort(sc, 0x06, 0xe14f);
10181 MP_WritePhyUshort(sc, 0x06, 0xad2d);
10182 MP_WritePhyUshort(sc, 0x06, 0x08bf);
10183 MP_WritePhyUshort(sc, 0x06, 0x844f);
10184 MP_WritePhyUshort(sc, 0x06, 0x022d);
10185 MP_WritePhyUshort(sc, 0x06, 0x21f6);
10186 MP_WritePhyUshort(sc, 0x06, 0x06ef);
10187 MP_WritePhyUshort(sc, 0x06, 0x96fe);
10188 MP_WritePhyUshort(sc, 0x06, 0xfc04);
10189 MP_WritePhyUshort(sc, 0x06, 0xf8fa);
10190 MP_WritePhyUshort(sc, 0x06, 0xef69);
10191 MP_WritePhyUshort(sc, 0x06, 0x0283);
10192 MP_WritePhyUshort(sc, 0x06, 0x4502);
10193 MP_WritePhyUshort(sc, 0x06, 0x83a2);
10194 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
10195 MP_WritePhyUshort(sc, 0x06, 0x00e1);
10196 MP_WritePhyUshort(sc, 0x06, 0xe001);
10197 MP_WritePhyUshort(sc, 0x06, 0xad27);
10198 MP_WritePhyUshort(sc, 0x06, 0x1fd1);
10199 MP_WritePhyUshort(sc, 0x06, 0x01bf);
10200 MP_WritePhyUshort(sc, 0x06, 0x843b);
10201 MP_WritePhyUshort(sc, 0x06, 0x022d);
10202 MP_WritePhyUshort(sc, 0x06, 0xc1e0);
10203 MP_WritePhyUshort(sc, 0x06, 0xe020);
10204 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
10205 MP_WritePhyUshort(sc, 0x06, 0x21ad);
10206 MP_WritePhyUshort(sc, 0x06, 0x200e);
10207 MP_WritePhyUshort(sc, 0x06, 0xd100);
10208 MP_WritePhyUshort(sc, 0x06, 0xbf84);
10209 MP_WritePhyUshort(sc, 0x06, 0x3b02);
10210 MP_WritePhyUshort(sc, 0x06, 0x2dc1);
10211 MP_WritePhyUshort(sc, 0x06, 0xbf3b);
10212 MP_WritePhyUshort(sc, 0x06, 0x9602);
10213 MP_WritePhyUshort(sc, 0x06, 0x2d21);
10214 MP_WritePhyUshort(sc, 0x06, 0xef96);
10215 MP_WritePhyUshort(sc, 0x06, 0xfefc);
10216 MP_WritePhyUshort(sc, 0x06, 0x04f8);
10217 MP_WritePhyUshort(sc, 0x06, 0xf9fa);
10218 MP_WritePhyUshort(sc, 0x06, 0xef69);
10219 MP_WritePhyUshort(sc, 0x06, 0xe08b);
10220 MP_WritePhyUshort(sc, 0x06, 0x87ad);
10221 MP_WritePhyUshort(sc, 0x06, 0x204c);
10222 MP_WritePhyUshort(sc, 0x06, 0xd200);
10223 MP_WritePhyUshort(sc, 0x06, 0xe0e2);
10224 MP_WritePhyUshort(sc, 0x06, 0x0058);
10225 MP_WritePhyUshort(sc, 0x06, 0x010c);
10226 MP_WritePhyUshort(sc, 0x06, 0x021e);
10227 MP_WritePhyUshort(sc, 0x06, 0x20e0);
10228 MP_WritePhyUshort(sc, 0x06, 0xe000);
10229 MP_WritePhyUshort(sc, 0x06, 0x5810);
10230 MP_WritePhyUshort(sc, 0x06, 0x1e20);
10231 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
10232 MP_WritePhyUshort(sc, 0x06, 0x3658);
10233 MP_WritePhyUshort(sc, 0x06, 0x031e);
10234 MP_WritePhyUshort(sc, 0x06, 0x20e0);
10235 MP_WritePhyUshort(sc, 0x06, 0xe022);
10236 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
10237 MP_WritePhyUshort(sc, 0x06, 0x2358);
10238 MP_WritePhyUshort(sc, 0x06, 0xe01e);
10239 MP_WritePhyUshort(sc, 0x06, 0x20e0);
10240 MP_WritePhyUshort(sc, 0x06, 0x8b64);
10241 MP_WritePhyUshort(sc, 0x06, 0x1f02);
10242 MP_WritePhyUshort(sc, 0x06, 0x9e22);
10243 MP_WritePhyUshort(sc, 0x06, 0xe68b);
10244 MP_WritePhyUshort(sc, 0x06, 0x64ad);
10245 MP_WritePhyUshort(sc, 0x06, 0x3214);
10246 MP_WritePhyUshort(sc, 0x06, 0xad34);
10247 MP_WritePhyUshort(sc, 0x06, 0x11ef);
10248 MP_WritePhyUshort(sc, 0x06, 0x0258);
10249 MP_WritePhyUshort(sc, 0x06, 0x039e);
10250 MP_WritePhyUshort(sc, 0x06, 0x07ad);
10251 MP_WritePhyUshort(sc, 0x06, 0x3508);
10252 MP_WritePhyUshort(sc, 0x06, 0x5ac0);
10253 MP_WritePhyUshort(sc, 0x06, 0x9f04);
10254 MP_WritePhyUshort(sc, 0x06, 0xd101);
10255 MP_WritePhyUshort(sc, 0x06, 0xae02);
10256 MP_WritePhyUshort(sc, 0x06, 0xd100);
10257 MP_WritePhyUshort(sc, 0x06, 0xbf84);
10258 MP_WritePhyUshort(sc, 0x06, 0x3e02);
10259 MP_WritePhyUshort(sc, 0x06, 0x2dc1);
10260 MP_WritePhyUshort(sc, 0x06, 0xef96);
10261 MP_WritePhyUshort(sc, 0x06, 0xfefd);
10262 MP_WritePhyUshort(sc, 0x06, 0xfc04);
10263 MP_WritePhyUshort(sc, 0x06, 0xf8f9);
10264 MP_WritePhyUshort(sc, 0x06, 0xfbe0);
10265 MP_WritePhyUshort(sc, 0x06, 0x8b85);
10266 MP_WritePhyUshort(sc, 0x06, 0xad25);
10267 MP_WritePhyUshort(sc, 0x06, 0x22e0);
10268 MP_WritePhyUshort(sc, 0x06, 0xe022);
10269 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
10270 MP_WritePhyUshort(sc, 0x06, 0x23e2);
10271 MP_WritePhyUshort(sc, 0x06, 0xe036);
10272 MP_WritePhyUshort(sc, 0x06, 0xe3e0);
10273 MP_WritePhyUshort(sc, 0x06, 0x375a);
10274 MP_WritePhyUshort(sc, 0x06, 0xc40d);
10275 MP_WritePhyUshort(sc, 0x06, 0x0158);
10276 MP_WritePhyUshort(sc, 0x06, 0x021e);
10277 MP_WritePhyUshort(sc, 0x06, 0x20e3);
10278 MP_WritePhyUshort(sc, 0x06, 0x8ae7);
10279 MP_WritePhyUshort(sc, 0x06, 0xac31);
10280 MP_WritePhyUshort(sc, 0x06, 0x60ac);
10281 MP_WritePhyUshort(sc, 0x06, 0x3a08);
10282 MP_WritePhyUshort(sc, 0x06, 0xac3e);
10283 MP_WritePhyUshort(sc, 0x06, 0x26ae);
10284 MP_WritePhyUshort(sc, 0x06, 0x67af);
10285 MP_WritePhyUshort(sc, 0x06, 0x8437);
10286 MP_WritePhyUshort(sc, 0x06, 0xad37);
10287 MP_WritePhyUshort(sc, 0x06, 0x61e0);
10288 MP_WritePhyUshort(sc, 0x06, 0x8ae8);
10289 MP_WritePhyUshort(sc, 0x06, 0x10e4);
10290 MP_WritePhyUshort(sc, 0x06, 0x8ae8);
10291 MP_WritePhyUshort(sc, 0x06, 0xe18a);
10292 MP_WritePhyUshort(sc, 0x06, 0xe91b);
10293 MP_WritePhyUshort(sc, 0x06, 0x109e);
10294 MP_WritePhyUshort(sc, 0x06, 0x02ae);
10295 MP_WritePhyUshort(sc, 0x06, 0x51d1);
10296 MP_WritePhyUshort(sc, 0x06, 0x00bf);
10297 MP_WritePhyUshort(sc, 0x06, 0x8441);
10298 MP_WritePhyUshort(sc, 0x06, 0x022d);
10299 MP_WritePhyUshort(sc, 0x06, 0xc1ee);
10300 MP_WritePhyUshort(sc, 0x06, 0x8ae8);
10301 MP_WritePhyUshort(sc, 0x06, 0x00ae);
10302 MP_WritePhyUshort(sc, 0x06, 0x43ad);
10303 MP_WritePhyUshort(sc, 0x06, 0x3627);
10304 MP_WritePhyUshort(sc, 0x06, 0xe08a);
10305 MP_WritePhyUshort(sc, 0x06, 0xeee1);
10306 MP_WritePhyUshort(sc, 0x06, 0x8aef);
10307 MP_WritePhyUshort(sc, 0x06, 0xef74);
10308 MP_WritePhyUshort(sc, 0x06, 0xe08a);
10309 MP_WritePhyUshort(sc, 0x06, 0xeae1);
10310 MP_WritePhyUshort(sc, 0x06, 0x8aeb);
10311 MP_WritePhyUshort(sc, 0x06, 0x1b74);
10312 MP_WritePhyUshort(sc, 0x06, 0x9e2e);
10313 MP_WritePhyUshort(sc, 0x06, 0x14e4);
10314 MP_WritePhyUshort(sc, 0x06, 0x8aea);
10315 MP_WritePhyUshort(sc, 0x06, 0xe58a);
10316 MP_WritePhyUshort(sc, 0x06, 0xebef);
10317 MP_WritePhyUshort(sc, 0x06, 0x74e0);
10318 MP_WritePhyUshort(sc, 0x06, 0x8aee);
10319 MP_WritePhyUshort(sc, 0x06, 0xe18a);
10320 MP_WritePhyUshort(sc, 0x06, 0xef1b);
10321 MP_WritePhyUshort(sc, 0x06, 0x479e);
10322 MP_WritePhyUshort(sc, 0x06, 0x0fae);
10323 MP_WritePhyUshort(sc, 0x06, 0x19ee);
10324 MP_WritePhyUshort(sc, 0x06, 0x8aea);
10325 MP_WritePhyUshort(sc, 0x06, 0x00ee);
10326 MP_WritePhyUshort(sc, 0x06, 0x8aeb);
10327 MP_WritePhyUshort(sc, 0x06, 0x00ae);
10328 MP_WritePhyUshort(sc, 0x06, 0x0fac);
10329 MP_WritePhyUshort(sc, 0x06, 0x390c);
10330 MP_WritePhyUshort(sc, 0x06, 0xd101);
10331 MP_WritePhyUshort(sc, 0x06, 0xbf84);
10332 MP_WritePhyUshort(sc, 0x06, 0x4102);
10333 MP_WritePhyUshort(sc, 0x06, 0x2dc1);
10334 MP_WritePhyUshort(sc, 0x06, 0xee8a);
10335 MP_WritePhyUshort(sc, 0x06, 0xe800);
10336 MP_WritePhyUshort(sc, 0x06, 0xe68a);
10337 MP_WritePhyUshort(sc, 0x06, 0xe7ff);
10338 MP_WritePhyUshort(sc, 0x06, 0xfdfc);
10339 MP_WritePhyUshort(sc, 0x06, 0x0400);
10340 MP_WritePhyUshort(sc, 0x06, 0xe234);
10341 MP_WritePhyUshort(sc, 0x06, 0xcce2);
10342 MP_WritePhyUshort(sc, 0x06, 0x0088);
10343 MP_WritePhyUshort(sc, 0x06, 0xe200);
10344 MP_WritePhyUshort(sc, 0x06, 0xa725);
10345 MP_WritePhyUshort(sc, 0x06, 0xe50a);
10346 MP_WritePhyUshort(sc, 0x06, 0x1de5);
10347 MP_WritePhyUshort(sc, 0x06, 0x0a2c);
10348 MP_WritePhyUshort(sc, 0x06, 0xe50a);
10349 MP_WritePhyUshort(sc, 0x06, 0x6de5);
10350 MP_WritePhyUshort(sc, 0x06, 0x0a1d);
10351 MP_WritePhyUshort(sc, 0x06, 0xe50a);
10352 MP_WritePhyUshort(sc, 0x06, 0x1ce5);
10353 MP_WritePhyUshort(sc, 0x06, 0x0a2d);
10354 MP_WritePhyUshort(sc, 0x06, 0xa755);
10355 MP_WritePhyUshort(sc, 0x05, 0x8b64);
10356 MP_WritePhyUshort(sc, 0x06, 0x0000);
10357 MP_WritePhyUshort(sc, 0x05, 0x8b94);
10358 MP_WritePhyUshort(sc, 0x06, 0x82cd);
10359 MP_WritePhyUshort(sc, 0x05, 0x8b85);
10360 MP_WritePhyUshort(sc, 0x06, 0x2000);
10361 MP_WritePhyUshort(sc, 0x05, 0x8aee);
10362 MP_WritePhyUshort(sc, 0x06, 0x03b8);
10363 MP_WritePhyUshort(sc, 0x05, 0x8ae8);
10364 MP_WritePhyUshort(sc, 0x06, 0x0002);
10365 PhyRegValue = MP_ReadPhyUshort(sc, 0x01);
10366 PhyRegValue |= BIT_0;
10367 MP_WritePhyUshort(sc, 0x01, PhyRegValue);
10368 PhyRegValue = MP_ReadPhyUshort(sc, 0x00);
10369 PhyRegValue |= BIT_0;
10370 MP_WritePhyUshort(sc, 0x00, PhyRegValue);
10371 MP_WritePhyUshort(sc, 0x1f, 0x0);
10372 MP_WritePhyUshort(sc, 0x1f, 0x0005);
10373 for (i=0; i<200; i++) {
10375 PhyRegValue = MP_ReadPhyUshort(sc, 0x00);
10376 if (PhyRegValue&0x0080)
10379 MP_WritePhyUshort(sc, 0x1f, 0x0007);
10380 MP_WritePhyUshort(sc, 0x1e, 0x0023);
10381 PhyRegValue = MP_ReadPhyUshort(sc, 0x17);
10382 PhyRegValue &= ~(BIT_0);
10383 if (sc->RequiredSecLanDonglePatch)
10384 PhyRegValue &= ~(BIT_2);
10385 MP_WritePhyUshort(sc, 0x17, PhyRegValue);
10386 MP_WritePhyUshort(sc, 0x1f, 0x0007);
10387 MP_WritePhyUshort(sc, 0x1e, 0x0028);
10388 MP_WritePhyUshort(sc, 0x15, 0x0010);
10389 MP_WritePhyUshort(sc, 0x1f, 0x0007);
10390 MP_WritePhyUshort(sc, 0x1e, 0x0041);
10391 MP_WritePhyUshort(sc, 0x15, 0x0802);
10392 MP_WritePhyUshort(sc, 0x16, 0x2185);
10393 MP_WritePhyUshort(sc, 0x1f, 0x0000);
10396 static void re_set_phy_mcu_8168e_2(struct re_softc *sc)
10398 u_int16_t PhyRegValue;
10401 if (MP_ReadEfuse(sc, 0x22) == 0x0c) {
10402 MP_WritePhyUshort(sc, 0x1f, 0x0000);
10403 MP_WritePhyUshort(sc, 0x00, 0x1800);
10404 MP_WritePhyUshort(sc, 0x1f, 0x0007);
10405 MP_WritePhyUshort(sc, 0x1e, 0x0023);
10406 MP_WritePhyUshort(sc, 0x17, 0x0117);
10407 MP_WritePhyUshort(sc, 0x1f, 0x0007);
10408 MP_WritePhyUshort(sc, 0x1E, 0x002C);
10409 MP_WritePhyUshort(sc, 0x1B, 0x5000);
10410 MP_WritePhyUshort(sc, 0x1f, 0x0000);
10411 MP_WritePhyUshort(sc, 0x16, 0x4104);
10412 for (i=0; i<200; i++) {
10414 PhyRegValue = MP_ReadPhyUshort(sc, 0x1E);
10415 PhyRegValue &= 0x03FF;
10416 if (PhyRegValue== 0x000C)
10419 MP_WritePhyUshort(sc, 0x1f, 0x0005);
10420 for (i=0; i<200; i++) {
10422 PhyRegValue = MP_ReadPhyUshort(sc, 0x07);
10423 if ((PhyRegValue&0x0020)==0)
10426 PhyRegValue = MP_ReadPhyUshort(sc, 0x07);
10427 if (PhyRegValue & 0x0020) {
10428 MP_WritePhyUshort(sc, 0x1f, 0x0007);
10429 MP_WritePhyUshort(sc, 0x1e, 0x00a1);
10430 MP_WritePhyUshort(sc, 0x17, 0x1000);
10431 MP_WritePhyUshort(sc, 0x17, 0x0000);
10432 MP_WritePhyUshort(sc, 0x17, 0x2000);
10433 MP_WritePhyUshort(sc, 0x1e, 0x002f);
10434 MP_WritePhyUshort(sc, 0x18, 0x9bfb);
10435 MP_WritePhyUshort(sc, 0x1f, 0x0005);
10436 MP_WritePhyUshort(sc, 0x07, 0x0000);
10437 MP_WritePhyUshort(sc, 0x1f, 0x0000);
10439 MP_WritePhyUshort(sc, 0x1f, 0x0005);
10440 MP_WritePhyUshort(sc, 0x05, 0xfff6);
10441 MP_WritePhyUshort(sc, 0x06, 0x0080);
10442 PhyRegValue = MP_ReadPhyUshort(sc, 0x00);
10443 PhyRegValue &= ~(BIT_7);
10444 MP_WritePhyUshort(sc, 0x00, PhyRegValue);
10445 MP_WritePhyUshort(sc, 0x1f, 0x0002);
10446 PhyRegValue = MP_ReadPhyUshort(sc, 0x08);
10447 PhyRegValue &= ~(BIT_7);
10448 MP_WritePhyUshort(sc, 0x08, PhyRegValue);
10449 MP_WritePhyUshort(sc, 0x1f, 0x0000);
10450 MP_WritePhyUshort(sc, 0x1f, 0x0007);
10451 MP_WritePhyUshort(sc, 0x1e, 0x0023);
10452 MP_WritePhyUshort(sc, 0x16, 0x0306);
10453 MP_WritePhyUshort(sc, 0x16, 0x0307);
10454 MP_WritePhyUshort(sc, 0x15, 0x000e);
10455 MP_WritePhyUshort(sc, 0x19, 0x000a);
10456 MP_WritePhyUshort(sc, 0x15, 0x0010);
10457 MP_WritePhyUshort(sc, 0x19, 0x0008);
10458 MP_WritePhyUshort(sc, 0x15, 0x0018);
10459 MP_WritePhyUshort(sc, 0x19, 0x4801);
10460 MP_WritePhyUshort(sc, 0x15, 0x0019);
10461 MP_WritePhyUshort(sc, 0x19, 0x6801);
10462 MP_WritePhyUshort(sc, 0x15, 0x001a);
10463 MP_WritePhyUshort(sc, 0x19, 0x66a1);
10464 MP_WritePhyUshort(sc, 0x15, 0x001f);
10465 MP_WritePhyUshort(sc, 0x19, 0x0000);
10466 MP_WritePhyUshort(sc, 0x15, 0x0020);
10467 MP_WritePhyUshort(sc, 0x19, 0x0000);
10468 MP_WritePhyUshort(sc, 0x15, 0x0021);
10469 MP_WritePhyUshort(sc, 0x19, 0x0000);
10470 MP_WritePhyUshort(sc, 0x15, 0x0022);
10471 MP_WritePhyUshort(sc, 0x19, 0x0000);
10472 MP_WritePhyUshort(sc, 0x15, 0x0023);
10473 MP_WritePhyUshort(sc, 0x19, 0x0000);
10474 MP_WritePhyUshort(sc, 0x15, 0x0024);
10475 MP_WritePhyUshort(sc, 0x19, 0x0000);
10476 MP_WritePhyUshort(sc, 0x15, 0x0025);
10477 MP_WritePhyUshort(sc, 0x19, 0x64a1);
10478 MP_WritePhyUshort(sc, 0x15, 0x0026);
10479 MP_WritePhyUshort(sc, 0x19, 0x40ea);
10480 MP_WritePhyUshort(sc, 0x15, 0x0027);
10481 MP_WritePhyUshort(sc, 0x19, 0x4503);
10482 MP_WritePhyUshort(sc, 0x15, 0x0028);
10483 MP_WritePhyUshort(sc, 0x19, 0x9f00);
10484 MP_WritePhyUshort(sc, 0x15, 0x0029);
10485 MP_WritePhyUshort(sc, 0x19, 0xa631);
10486 MP_WritePhyUshort(sc, 0x15, 0x002a);
10487 MP_WritePhyUshort(sc, 0x19, 0x9717);
10488 MP_WritePhyUshort(sc, 0x15, 0x002b);
10489 MP_WritePhyUshort(sc, 0x19, 0x302c);
10490 MP_WritePhyUshort(sc, 0x15, 0x002c);
10491 MP_WritePhyUshort(sc, 0x19, 0x4802);
10492 MP_WritePhyUshort(sc, 0x15, 0x002d);
10493 MP_WritePhyUshort(sc, 0x19, 0x58da);
10494 MP_WritePhyUshort(sc, 0x15, 0x002e);
10495 MP_WritePhyUshort(sc, 0x19, 0x400d);
10496 MP_WritePhyUshort(sc, 0x15, 0x002f);
10497 MP_WritePhyUshort(sc, 0x19, 0x4488);
10498 MP_WritePhyUshort(sc, 0x15, 0x0030);
10499 MP_WritePhyUshort(sc, 0x19, 0x9e00);
10500 MP_WritePhyUshort(sc, 0x15, 0x0031);
10501 MP_WritePhyUshort(sc, 0x19, 0x63c8);
10502 MP_WritePhyUshort(sc, 0x15, 0x0032);
10503 MP_WritePhyUshort(sc, 0x19, 0x6481);
10504 MP_WritePhyUshort(sc, 0x15, 0x0033);
10505 MP_WritePhyUshort(sc, 0x19, 0x0000);
10506 MP_WritePhyUshort(sc, 0x15, 0x0034);
10507 MP_WritePhyUshort(sc, 0x19, 0x0000);
10508 MP_WritePhyUshort(sc, 0x15, 0x0035);
10509 MP_WritePhyUshort(sc, 0x19, 0x0000);
10510 MP_WritePhyUshort(sc, 0x15, 0x0036);
10511 MP_WritePhyUshort(sc, 0x19, 0x0000);
10512 MP_WritePhyUshort(sc, 0x15, 0x0037);
10513 MP_WritePhyUshort(sc, 0x19, 0x0000);
10514 MP_WritePhyUshort(sc, 0x15, 0x0038);
10515 MP_WritePhyUshort(sc, 0x19, 0x0000);
10516 MP_WritePhyUshort(sc, 0x15, 0x0039);
10517 MP_WritePhyUshort(sc, 0x19, 0x0000);
10518 MP_WritePhyUshort(sc, 0x15, 0x003a);
10519 MP_WritePhyUshort(sc, 0x19, 0x0000);
10520 MP_WritePhyUshort(sc, 0x15, 0x003b);
10521 MP_WritePhyUshort(sc, 0x19, 0x63e8);
10522 MP_WritePhyUshort(sc, 0x15, 0x003c);
10523 MP_WritePhyUshort(sc, 0x19, 0x7d00);
10524 MP_WritePhyUshort(sc, 0x15, 0x003d);
10525 MP_WritePhyUshort(sc, 0x19, 0x59d4);
10526 MP_WritePhyUshort(sc, 0x15, 0x003e);
10527 MP_WritePhyUshort(sc, 0x19, 0x63f8);
10528 MP_WritePhyUshort(sc, 0x15, 0x0040);
10529 MP_WritePhyUshort(sc, 0x19, 0x64a1);
10530 MP_WritePhyUshort(sc, 0x15, 0x0041);
10531 MP_WritePhyUshort(sc, 0x19, 0x30de);
10532 MP_WritePhyUshort(sc, 0x15, 0x0044);
10533 MP_WritePhyUshort(sc, 0x19, 0x480f);
10534 MP_WritePhyUshort(sc, 0x15, 0x0045);
10535 MP_WritePhyUshort(sc, 0x19, 0x6800);
10536 MP_WritePhyUshort(sc, 0x15, 0x0046);
10537 MP_WritePhyUshort(sc, 0x19, 0x6680);
10538 MP_WritePhyUshort(sc, 0x15, 0x0047);
10539 MP_WritePhyUshort(sc, 0x19, 0x7c10);
10540 MP_WritePhyUshort(sc, 0x15, 0x0048);
10541 MP_WritePhyUshort(sc, 0x19, 0x63c8);
10542 MP_WritePhyUshort(sc, 0x15, 0x0049);
10543 MP_WritePhyUshort(sc, 0x19, 0x0000);
10544 MP_WritePhyUshort(sc, 0x15, 0x004a);
10545 MP_WritePhyUshort(sc, 0x19, 0x0000);
10546 MP_WritePhyUshort(sc, 0x15, 0x004b);
10547 MP_WritePhyUshort(sc, 0x19, 0x0000);
10548 MP_WritePhyUshort(sc, 0x15, 0x004c);
10549 MP_WritePhyUshort(sc, 0x19, 0x0000);
10550 MP_WritePhyUshort(sc, 0x15, 0x004d);
10551 MP_WritePhyUshort(sc, 0x19, 0x0000);
10552 MP_WritePhyUshort(sc, 0x15, 0x004e);
10553 MP_WritePhyUshort(sc, 0x19, 0x0000);
10554 MP_WritePhyUshort(sc, 0x15, 0x004f);
10555 MP_WritePhyUshort(sc, 0x19, 0x40ea);
10556 MP_WritePhyUshort(sc, 0x15, 0x0050);
10557 MP_WritePhyUshort(sc, 0x19, 0x4503);
10558 MP_WritePhyUshort(sc, 0x15, 0x0051);
10559 MP_WritePhyUshort(sc, 0x19, 0x58ca);
10560 MP_WritePhyUshort(sc, 0x15, 0x0052);
10561 MP_WritePhyUshort(sc, 0x19, 0x63c8);
10562 MP_WritePhyUshort(sc, 0x15, 0x0053);
10563 MP_WritePhyUshort(sc, 0x19, 0x63d8);
10564 MP_WritePhyUshort(sc, 0x15, 0x0054);
10565 MP_WritePhyUshort(sc, 0x19, 0x66a0);
10566 MP_WritePhyUshort(sc, 0x15, 0x0055);
10567 MP_WritePhyUshort(sc, 0x19, 0x9f00);
10568 MP_WritePhyUshort(sc, 0x15, 0x0056);
10569 MP_WritePhyUshort(sc, 0x19, 0x3000);
10570 MP_WritePhyUshort(sc, 0x15, 0x00a1);
10571 MP_WritePhyUshort(sc, 0x19, 0x3044);
10572 MP_WritePhyUshort(sc, 0x15, 0x00ab);
10573 MP_WritePhyUshort(sc, 0x19, 0x5820);
10574 MP_WritePhyUshort(sc, 0x15, 0x00ac);
10575 MP_WritePhyUshort(sc, 0x19, 0x5e04);
10576 MP_WritePhyUshort(sc, 0x15, 0x00ad);
10577 MP_WritePhyUshort(sc, 0x19, 0xb60c);
10578 MP_WritePhyUshort(sc, 0x15, 0x00af);
10579 MP_WritePhyUshort(sc, 0x19, 0x000a);
10580 MP_WritePhyUshort(sc, 0x15, 0x00b2);
10581 MP_WritePhyUshort(sc, 0x19, 0x30b9);
10582 MP_WritePhyUshort(sc, 0x15, 0x00b9);
10583 MP_WritePhyUshort(sc, 0x19, 0x4408);
10584 MP_WritePhyUshort(sc, 0x15, 0x00ba);
10585 MP_WritePhyUshort(sc, 0x19, 0x480b);
10586 MP_WritePhyUshort(sc, 0x15, 0x00bb);
10587 MP_WritePhyUshort(sc, 0x19, 0x5e00);
10588 MP_WritePhyUshort(sc, 0x15, 0x00bc);
10589 MP_WritePhyUshort(sc, 0x19, 0x405f);
10590 MP_WritePhyUshort(sc, 0x15, 0x00bd);
10591 MP_WritePhyUshort(sc, 0x19, 0x4448);
10592 MP_WritePhyUshort(sc, 0x15, 0x00be);
10593 MP_WritePhyUshort(sc, 0x19, 0x4020);
10594 MP_WritePhyUshort(sc, 0x15, 0x00bf);
10595 MP_WritePhyUshort(sc, 0x19, 0x4468);
10596 MP_WritePhyUshort(sc, 0x15, 0x00c0);
10597 MP_WritePhyUshort(sc, 0x19, 0x9c02);
10598 MP_WritePhyUshort(sc, 0x15, 0x00c1);
10599 MP_WritePhyUshort(sc, 0x19, 0x58a0);
10600 MP_WritePhyUshort(sc, 0x15, 0x00c2);
10601 MP_WritePhyUshort(sc, 0x19, 0xb605);
10602 MP_WritePhyUshort(sc, 0x15, 0x00c3);
10603 MP_WritePhyUshort(sc, 0x19, 0xc0d3);
10604 MP_WritePhyUshort(sc, 0x15, 0x00c4);
10605 MP_WritePhyUshort(sc, 0x19, 0x00e6);
10606 MP_WritePhyUshort(sc, 0x15, 0x00c5);
10607 MP_WritePhyUshort(sc, 0x19, 0xdaec);
10608 MP_WritePhyUshort(sc, 0x15, 0x00c6);
10609 MP_WritePhyUshort(sc, 0x19, 0x00fa);
10610 MP_WritePhyUshort(sc, 0x15, 0x00c7);
10611 MP_WritePhyUshort(sc, 0x19, 0x9df9);
10612 MP_WritePhyUshort(sc, 0x15, 0x0112);
10613 MP_WritePhyUshort(sc, 0x19, 0x6421);
10614 MP_WritePhyUshort(sc, 0x15, 0x0113);
10615 MP_WritePhyUshort(sc, 0x19, 0x7c08);
10616 MP_WritePhyUshort(sc, 0x15, 0x0114);
10617 MP_WritePhyUshort(sc, 0x19, 0x63f0);
10618 MP_WritePhyUshort(sc, 0x15, 0x0115);
10619 MP_WritePhyUshort(sc, 0x19, 0x4003);
10620 MP_WritePhyUshort(sc, 0x15, 0x0116);
10621 MP_WritePhyUshort(sc, 0x19, 0x4418);
10622 MP_WritePhyUshort(sc, 0x15, 0x0117);
10623 MP_WritePhyUshort(sc, 0x19, 0x9b00);
10624 MP_WritePhyUshort(sc, 0x15, 0x0118);
10625 MP_WritePhyUshort(sc, 0x19, 0x6461);
10626 MP_WritePhyUshort(sc, 0x15, 0x0119);
10627 MP_WritePhyUshort(sc, 0x19, 0x64e1);
10628 MP_WritePhyUshort(sc, 0x15, 0x011a);
10629 MP_WritePhyUshort(sc, 0x19, 0x0000);
10630 MP_WritePhyUshort(sc, 0x15, 0x0150);
10631 MP_WritePhyUshort(sc, 0x19, 0x7c80);
10632 MP_WritePhyUshort(sc, 0x15, 0x0151);
10633 MP_WritePhyUshort(sc, 0x19, 0x6461);
10634 MP_WritePhyUshort(sc, 0x15, 0x0152);
10635 MP_WritePhyUshort(sc, 0x19, 0x4003);
10636 MP_WritePhyUshort(sc, 0x15, 0x0153);
10637 MP_WritePhyUshort(sc, 0x19, 0x4540);
10638 MP_WritePhyUshort(sc, 0x15, 0x0154);
10639 MP_WritePhyUshort(sc, 0x19, 0x9f00);
10640 MP_WritePhyUshort(sc, 0x15, 0x0155);
10641 MP_WritePhyUshort(sc, 0x19, 0x9d00);
10642 MP_WritePhyUshort(sc, 0x15, 0x0156);
10643 MP_WritePhyUshort(sc, 0x19, 0x7c40);
10644 MP_WritePhyUshort(sc, 0x15, 0x0157);
10645 MP_WritePhyUshort(sc, 0x19, 0x6421);
10646 MP_WritePhyUshort(sc, 0x15, 0x0158);
10647 MP_WritePhyUshort(sc, 0x19, 0x7c80);
10648 MP_WritePhyUshort(sc, 0x15, 0x0159);
10649 MP_WritePhyUshort(sc, 0x19, 0x64a1);
10650 MP_WritePhyUshort(sc, 0x15, 0x015a);
10651 MP_WritePhyUshort(sc, 0x19, 0x30fe);
10652 MP_WritePhyUshort(sc, 0x15, 0x029c);
10653 MP_WritePhyUshort(sc, 0x19, 0x0070);
10654 MP_WritePhyUshort(sc, 0x15, 0x02b2);
10655 MP_WritePhyUshort(sc, 0x19, 0x005a);
10656 MP_WritePhyUshort(sc, 0x15, 0x02bd);
10657 MP_WritePhyUshort(sc, 0x19, 0xa522);
10658 MP_WritePhyUshort(sc, 0x15, 0x02ce);
10659 MP_WritePhyUshort(sc, 0x19, 0xb63e);
10660 MP_WritePhyUshort(sc, 0x15, 0x02d9);
10661 MP_WritePhyUshort(sc, 0x19, 0x32df);
10662 MP_WritePhyUshort(sc, 0x15, 0x02df);
10663 MP_WritePhyUshort(sc, 0x19, 0x4500);
10664 MP_WritePhyUshort(sc, 0x15, 0x02e7);
10665 MP_WritePhyUshort(sc, 0x19, 0x0000);
10666 MP_WritePhyUshort(sc, 0x15, 0x02f4);
10667 MP_WritePhyUshort(sc, 0x19, 0xb618);
10668 MP_WritePhyUshort(sc, 0x15, 0x02fb);
10669 MP_WritePhyUshort(sc, 0x19, 0xb900);
10670 MP_WritePhyUshort(sc, 0x15, 0x02fc);
10671 MP_WritePhyUshort(sc, 0x19, 0x49b5);
10672 MP_WritePhyUshort(sc, 0x15, 0x02fd);
10673 MP_WritePhyUshort(sc, 0x19, 0x6812);
10674 MP_WritePhyUshort(sc, 0x15, 0x02fe);
10675 MP_WritePhyUshort(sc, 0x19, 0x66a0);
10676 MP_WritePhyUshort(sc, 0x15, 0x02ff);
10677 MP_WritePhyUshort(sc, 0x19, 0x9900);
10678 MP_WritePhyUshort(sc, 0x15, 0x0300);
10679 MP_WritePhyUshort(sc, 0x19, 0x64a0);
10680 MP_WritePhyUshort(sc, 0x15, 0x0301);
10681 MP_WritePhyUshort(sc, 0x19, 0x3316);
10682 MP_WritePhyUshort(sc, 0x15, 0x0308);
10683 MP_WritePhyUshort(sc, 0x19, 0x0000);
10684 MP_WritePhyUshort(sc, 0x15, 0x030c);
10685 MP_WritePhyUshort(sc, 0x19, 0x3000);
10686 MP_WritePhyUshort(sc, 0x15, 0x0312);
10687 MP_WritePhyUshort(sc, 0x19, 0x0000);
10688 MP_WritePhyUshort(sc, 0x15, 0x0313);
10689 MP_WritePhyUshort(sc, 0x19, 0x0000);
10690 MP_WritePhyUshort(sc, 0x15, 0x0314);
10691 MP_WritePhyUshort(sc, 0x19, 0x0000);
10692 MP_WritePhyUshort(sc, 0x15, 0x0315);
10693 MP_WritePhyUshort(sc, 0x19, 0x0000);
10694 MP_WritePhyUshort(sc, 0x15, 0x0316);
10695 MP_WritePhyUshort(sc, 0x19, 0x49b5);
10696 MP_WritePhyUshort(sc, 0x15, 0x0317);
10697 MP_WritePhyUshort(sc, 0x19, 0x7d00);
10698 MP_WritePhyUshort(sc, 0x15, 0x0318);
10699 MP_WritePhyUshort(sc, 0x19, 0x4d00);
10700 MP_WritePhyUshort(sc, 0x15, 0x0319);
10701 MP_WritePhyUshort(sc, 0x19, 0x6810);
10702 MP_WritePhyUshort(sc, 0x15, 0x031a);
10703 MP_WritePhyUshort(sc, 0x19, 0x6c08);
10704 MP_WritePhyUshort(sc, 0x15, 0x031b);
10705 MP_WritePhyUshort(sc, 0x19, 0x4925);
10706 MP_WritePhyUshort(sc, 0x15, 0x031c);
10707 MP_WritePhyUshort(sc, 0x19, 0x403b);
10708 MP_WritePhyUshort(sc, 0x15, 0x031d);
10709 MP_WritePhyUshort(sc, 0x19, 0xa602);
10710 MP_WritePhyUshort(sc, 0x15, 0x031e);
10711 MP_WritePhyUshort(sc, 0x19, 0x402f);
10712 MP_WritePhyUshort(sc, 0x15, 0x031f);
10713 MP_WritePhyUshort(sc, 0x19, 0x4484);
10714 MP_WritePhyUshort(sc, 0x15, 0x0320);
10715 MP_WritePhyUshort(sc, 0x19, 0x40c8);
10716 MP_WritePhyUshort(sc, 0x15, 0x0321);
10717 MP_WritePhyUshort(sc, 0x19, 0x44c4);
10718 MP_WritePhyUshort(sc, 0x15, 0x0322);
10719 MP_WritePhyUshort(sc, 0x19, 0x404f);
10720 MP_WritePhyUshort(sc, 0x15, 0x0323);
10721 MP_WritePhyUshort(sc, 0x19, 0x44c8);
10722 MP_WritePhyUshort(sc, 0x15, 0x0324);
10723 MP_WritePhyUshort(sc, 0x19, 0xd64f);
10724 MP_WritePhyUshort(sc, 0x15, 0x0325);
10725 MP_WritePhyUshort(sc, 0x19, 0x00e7);
10726 MP_WritePhyUshort(sc, 0x15, 0x0326);
10727 MP_WritePhyUshort(sc, 0x19, 0x7c08);
10728 MP_WritePhyUshort(sc, 0x15, 0x0327);
10729 MP_WritePhyUshort(sc, 0x19, 0x8203);
10730 MP_WritePhyUshort(sc, 0x15, 0x0328);
10731 MP_WritePhyUshort(sc, 0x19, 0x4d48);
10732 MP_WritePhyUshort(sc, 0x15, 0x0329);
10733 MP_WritePhyUshort(sc, 0x19, 0x332b);
10734 MP_WritePhyUshort(sc, 0x15, 0x032a);
10735 MP_WritePhyUshort(sc, 0x19, 0x4d40);
10736 MP_WritePhyUshort(sc, 0x15, 0x032c);
10737 MP_WritePhyUshort(sc, 0x19, 0x00f8);
10738 MP_WritePhyUshort(sc, 0x15, 0x032d);
10739 MP_WritePhyUshort(sc, 0x19, 0x82b2);
10740 MP_WritePhyUshort(sc, 0x15, 0x032f);
10741 MP_WritePhyUshort(sc, 0x19, 0x00b0);
10742 MP_WritePhyUshort(sc, 0x15, 0x0332);
10743 MP_WritePhyUshort(sc, 0x19, 0x91f2);
10744 MP_WritePhyUshort(sc, 0x15, 0x033f);
10745 MP_WritePhyUshort(sc, 0x19, 0xb6cd);
10746 MP_WritePhyUshort(sc, 0x15, 0x0340);
10747 MP_WritePhyUshort(sc, 0x19, 0x9e01);
10748 MP_WritePhyUshort(sc, 0x15, 0x0341);
10749 MP_WritePhyUshort(sc, 0x19, 0xd11d);
10750 MP_WritePhyUshort(sc, 0x15, 0x0342);
10751 MP_WritePhyUshort(sc, 0x19, 0x009d);
10752 MP_WritePhyUshort(sc, 0x15, 0x0343);
10753 MP_WritePhyUshort(sc, 0x19, 0xbb1c);
10754 MP_WritePhyUshort(sc, 0x15, 0x0344);
10755 MP_WritePhyUshort(sc, 0x19, 0x8102);
10756 MP_WritePhyUshort(sc, 0x15, 0x0345);
10757 MP_WritePhyUshort(sc, 0x19, 0x3348);
10758 MP_WritePhyUshort(sc, 0x15, 0x0346);
10759 MP_WritePhyUshort(sc, 0x19, 0xa231);
10760 MP_WritePhyUshort(sc, 0x15, 0x0347);
10761 MP_WritePhyUshort(sc, 0x19, 0x335b);
10762 MP_WritePhyUshort(sc, 0x15, 0x0348);
10763 MP_WritePhyUshort(sc, 0x19, 0x91f7);
10764 MP_WritePhyUshort(sc, 0x15, 0x0349);
10765 MP_WritePhyUshort(sc, 0x19, 0xc218);
10766 MP_WritePhyUshort(sc, 0x15, 0x034a);
10767 MP_WritePhyUshort(sc, 0x19, 0x00f5);
10768 MP_WritePhyUshort(sc, 0x15, 0x034b);
10769 MP_WritePhyUshort(sc, 0x19, 0x335b);
10770 MP_WritePhyUshort(sc, 0x15, 0x034c);
10771 MP_WritePhyUshort(sc, 0x19, 0x0000);
10772 MP_WritePhyUshort(sc, 0x15, 0x034d);
10773 MP_WritePhyUshort(sc, 0x19, 0x0000);
10774 MP_WritePhyUshort(sc, 0x15, 0x034e);
10775 MP_WritePhyUshort(sc, 0x19, 0x0000);
10776 MP_WritePhyUshort(sc, 0x15, 0x034f);
10777 MP_WritePhyUshort(sc, 0x19, 0x0000);
10778 MP_WritePhyUshort(sc, 0x15, 0x0350);
10779 MP_WritePhyUshort(sc, 0x19, 0x0000);
10780 MP_WritePhyUshort(sc, 0x15, 0x035b);
10781 MP_WritePhyUshort(sc, 0x19, 0xa23c);
10782 MP_WritePhyUshort(sc, 0x15, 0x035c);
10783 MP_WritePhyUshort(sc, 0x19, 0x7c08);
10784 MP_WritePhyUshort(sc, 0x15, 0x035d);
10785 MP_WritePhyUshort(sc, 0x19, 0x4c00);
10786 MP_WritePhyUshort(sc, 0x15, 0x035e);
10787 MP_WritePhyUshort(sc, 0x19, 0x3397);
10788 MP_WritePhyUshort(sc, 0x15, 0x0363);
10789 MP_WritePhyUshort(sc, 0x19, 0xb6a9);
10790 MP_WritePhyUshort(sc, 0x15, 0x0366);
10791 MP_WritePhyUshort(sc, 0x19, 0x00f5);
10792 MP_WritePhyUshort(sc, 0x15, 0x0382);
10793 MP_WritePhyUshort(sc, 0x19, 0x7c40);
10794 MP_WritePhyUshort(sc, 0x15, 0x0388);
10795 MP_WritePhyUshort(sc, 0x19, 0x0084);
10796 MP_WritePhyUshort(sc, 0x15, 0x0389);
10797 MP_WritePhyUshort(sc, 0x19, 0xdd17);
10798 MP_WritePhyUshort(sc, 0x15, 0x038a);
10799 MP_WritePhyUshort(sc, 0x19, 0x000b);
10800 MP_WritePhyUshort(sc, 0x15, 0x038b);
10801 MP_WritePhyUshort(sc, 0x19, 0xa10a);
10802 MP_WritePhyUshort(sc, 0x15, 0x038c);
10803 MP_WritePhyUshort(sc, 0x19, 0x337e);
10804 MP_WritePhyUshort(sc, 0x15, 0x038d);
10805 MP_WritePhyUshort(sc, 0x19, 0x6c0b);
10806 MP_WritePhyUshort(sc, 0x15, 0x038e);
10807 MP_WritePhyUshort(sc, 0x19, 0xa107);
10808 MP_WritePhyUshort(sc, 0x15, 0x038f);
10809 MP_WritePhyUshort(sc, 0x19, 0x6c08);
10810 MP_WritePhyUshort(sc, 0x15, 0x0390);
10811 MP_WritePhyUshort(sc, 0x19, 0xc017);
10812 MP_WritePhyUshort(sc, 0x15, 0x0391);
10813 MP_WritePhyUshort(sc, 0x19, 0x0004);
10814 MP_WritePhyUshort(sc, 0x15, 0x0392);
10815 MP_WritePhyUshort(sc, 0x19, 0xd64f);
10816 MP_WritePhyUshort(sc, 0x15, 0x0393);
10817 MP_WritePhyUshort(sc, 0x19, 0x00f4);
10818 MP_WritePhyUshort(sc, 0x15, 0x0397);
10819 MP_WritePhyUshort(sc, 0x19, 0x4098);
10820 MP_WritePhyUshort(sc, 0x15, 0x0398);
10821 MP_WritePhyUshort(sc, 0x19, 0x4408);
10822 MP_WritePhyUshort(sc, 0x15, 0x0399);
10823 MP_WritePhyUshort(sc, 0x19, 0x55bf);
10824 MP_WritePhyUshort(sc, 0x15, 0x039a);
10825 MP_WritePhyUshort(sc, 0x19, 0x4bb9);
10826 MP_WritePhyUshort(sc, 0x15, 0x039b);
10827 MP_WritePhyUshort(sc, 0x19, 0x6810);
10828 MP_WritePhyUshort(sc, 0x15, 0x039c);
10829 MP_WritePhyUshort(sc, 0x19, 0x4b29);
10830 MP_WritePhyUshort(sc, 0x15, 0x039d);
10831 MP_WritePhyUshort(sc, 0x19, 0x4041);
10832 MP_WritePhyUshort(sc, 0x15, 0x039e);
10833 MP_WritePhyUshort(sc, 0x19, 0x442a);
10834 MP_WritePhyUshort(sc, 0x15, 0x039f);
10835 MP_WritePhyUshort(sc, 0x19, 0x4029);
10836 MP_WritePhyUshort(sc, 0x15, 0x03aa);
10837 MP_WritePhyUshort(sc, 0x19, 0x33b8);
10838 MP_WritePhyUshort(sc, 0x15, 0x03b6);
10839 MP_WritePhyUshort(sc, 0x19, 0x0000);
10840 MP_WritePhyUshort(sc, 0x15, 0x03b7);
10841 MP_WritePhyUshort(sc, 0x19, 0x0000);
10842 MP_WritePhyUshort(sc, 0x15, 0x03b8);
10843 MP_WritePhyUshort(sc, 0x19, 0x543f);
10844 MP_WritePhyUshort(sc, 0x15, 0x03b9);
10845 MP_WritePhyUshort(sc, 0x19, 0x499a);
10846 MP_WritePhyUshort(sc, 0x15, 0x03ba);
10847 MP_WritePhyUshort(sc, 0x19, 0x7c40);
10848 MP_WritePhyUshort(sc, 0x15, 0x03bb);
10849 MP_WritePhyUshort(sc, 0x19, 0x4c40);
10850 MP_WritePhyUshort(sc, 0x15, 0x03bc);
10851 MP_WritePhyUshort(sc, 0x19, 0x490a);
10852 MP_WritePhyUshort(sc, 0x15, 0x03bd);
10853 MP_WritePhyUshort(sc, 0x19, 0x405e);
10854 MP_WritePhyUshort(sc, 0x15, 0x03c2);
10855 MP_WritePhyUshort(sc, 0x19, 0x9a03);
10856 MP_WritePhyUshort(sc, 0x15, 0x03c4);
10857 MP_WritePhyUshort(sc, 0x19, 0x0015);
10858 MP_WritePhyUshort(sc, 0x15, 0x03c5);
10859 MP_WritePhyUshort(sc, 0x19, 0x9e03);
10860 MP_WritePhyUshort(sc, 0x15, 0x03c8);
10861 MP_WritePhyUshort(sc, 0x19, 0x9cf7);
10862 MP_WritePhyUshort(sc, 0x15, 0x03c9);
10863 MP_WritePhyUshort(sc, 0x19, 0x7c12);
10864 MP_WritePhyUshort(sc, 0x15, 0x03ca);
10865 MP_WritePhyUshort(sc, 0x19, 0x4c52);
10866 MP_WritePhyUshort(sc, 0x15, 0x03cb);
10867 MP_WritePhyUshort(sc, 0x19, 0x4458);
10868 MP_WritePhyUshort(sc, 0x15, 0x03cd);
10869 MP_WritePhyUshort(sc, 0x19, 0x4c40);
10870 MP_WritePhyUshort(sc, 0x15, 0x03ce);
10871 MP_WritePhyUshort(sc, 0x19, 0x33bf);
10872 MP_WritePhyUshort(sc, 0x15, 0x03cf);
10873 MP_WritePhyUshort(sc, 0x19, 0x0000);
10874 MP_WritePhyUshort(sc, 0x15, 0x03d0);
10875 MP_WritePhyUshort(sc, 0x19, 0x0000);
10876 MP_WritePhyUshort(sc, 0x15, 0x03d1);
10877 MP_WritePhyUshort(sc, 0x19, 0x0000);
10878 MP_WritePhyUshort(sc, 0x15, 0x03d5);
10879 MP_WritePhyUshort(sc, 0x19, 0x0000);
10880 MP_WritePhyUshort(sc, 0x15, 0x03d6);
10881 MP_WritePhyUshort(sc, 0x19, 0x0000);
10882 MP_WritePhyUshort(sc, 0x15, 0x03d7);
10883 MP_WritePhyUshort(sc, 0x19, 0x0000);
10884 MP_WritePhyUshort(sc, 0x15, 0x03d8);
10885 MP_WritePhyUshort(sc, 0x19, 0x0000);
10886 MP_WritePhyUshort(sc, 0x15, 0x03d9);
10887 MP_WritePhyUshort(sc, 0x19, 0x49bb);
10888 MP_WritePhyUshort(sc, 0x15, 0x03da);
10889 MP_WritePhyUshort(sc, 0x19, 0x4478);
10890 MP_WritePhyUshort(sc, 0x15, 0x03db);
10891 MP_WritePhyUshort(sc, 0x19, 0x492b);
10892 MP_WritePhyUshort(sc, 0x15, 0x03dc);
10893 MP_WritePhyUshort(sc, 0x19, 0x7c01);
10894 MP_WritePhyUshort(sc, 0x15, 0x03dd);
10895 MP_WritePhyUshort(sc, 0x19, 0x4c00);
10896 MP_WritePhyUshort(sc, 0x15, 0x03de);
10897 MP_WritePhyUshort(sc, 0x19, 0xbd1a);
10898 MP_WritePhyUshort(sc, 0x15, 0x03df);
10899 MP_WritePhyUshort(sc, 0x19, 0xc428);
10900 MP_WritePhyUshort(sc, 0x15, 0x03e0);
10901 MP_WritePhyUshort(sc, 0x19, 0x0008);
10902 MP_WritePhyUshort(sc, 0x15, 0x03e1);
10903 MP_WritePhyUshort(sc, 0x19, 0x9cfd);
10904 MP_WritePhyUshort(sc, 0x15, 0x03e2);
10905 MP_WritePhyUshort(sc, 0x19, 0x7c12);
10906 MP_WritePhyUshort(sc, 0x15, 0x03e3);
10907 MP_WritePhyUshort(sc, 0x19, 0x4c52);
10908 MP_WritePhyUshort(sc, 0x15, 0x03e4);
10909 MP_WritePhyUshort(sc, 0x19, 0x4458);
10910 MP_WritePhyUshort(sc, 0x15, 0x03e5);
10911 MP_WritePhyUshort(sc, 0x19, 0x7c12);
10912 MP_WritePhyUshort(sc, 0x15, 0x03e6);
10913 MP_WritePhyUshort(sc, 0x19, 0x4c40);
10914 MP_WritePhyUshort(sc, 0x15, 0x03e7);
10915 MP_WritePhyUshort(sc, 0x19, 0x33de);
10916 MP_WritePhyUshort(sc, 0x15, 0x03e8);
10917 MP_WritePhyUshort(sc, 0x19, 0xc218);
10918 MP_WritePhyUshort(sc, 0x15, 0x03e9);
10919 MP_WritePhyUshort(sc, 0x19, 0x0002);
10920 MP_WritePhyUshort(sc, 0x15, 0x03ea);
10921 MP_WritePhyUshort(sc, 0x19, 0x32df);
10922 MP_WritePhyUshort(sc, 0x15, 0x03eb);
10923 MP_WritePhyUshort(sc, 0x19, 0x3316);
10924 MP_WritePhyUshort(sc, 0x15, 0x03ec);
10925 MP_WritePhyUshort(sc, 0x19, 0x0000);
10926 MP_WritePhyUshort(sc, 0x15, 0x03ed);
10927 MP_WritePhyUshort(sc, 0x19, 0x0000);
10928 MP_WritePhyUshort(sc, 0x15, 0x03ee);
10929 MP_WritePhyUshort(sc, 0x19, 0x0000);
10930 MP_WritePhyUshort(sc, 0x15, 0x03ef);
10931 MP_WritePhyUshort(sc, 0x19, 0x0000);
10932 MP_WritePhyUshort(sc, 0x15, 0x03f7);
10933 MP_WritePhyUshort(sc, 0x19, 0x330c);
10934 MP_WritePhyUshort(sc, 0x16, 0x0306);
10935 MP_WritePhyUshort(sc, 0x16, 0x0300);
10936 MP_WritePhyUshort(sc, 0x1f, 0x0005);
10937 MP_WritePhyUshort(sc, 0x05, 0xfff6);
10938 MP_WritePhyUshort(sc, 0x06, 0x0080);
10939 MP_WritePhyUshort(sc, 0x05, 0x8000);
10940 MP_WritePhyUshort(sc, 0x06, 0x0280);
10941 MP_WritePhyUshort(sc, 0x06, 0x48f7);
10942 MP_WritePhyUshort(sc, 0x06, 0x00e0);
10943 MP_WritePhyUshort(sc, 0x06, 0xfff7);
10944 MP_WritePhyUshort(sc, 0x06, 0xa080);
10945 MP_WritePhyUshort(sc, 0x06, 0x02ae);
10946 MP_WritePhyUshort(sc, 0x06, 0xf602);
10947 MP_WritePhyUshort(sc, 0x06, 0x0200);
10948 MP_WritePhyUshort(sc, 0x06, 0x0280);
10949 MP_WritePhyUshort(sc, 0x06, 0x9002);
10950 MP_WritePhyUshort(sc, 0x06, 0x0224);
10951 MP_WritePhyUshort(sc, 0x06, 0x0202);
10952 MP_WritePhyUshort(sc, 0x06, 0x3402);
10953 MP_WritePhyUshort(sc, 0x06, 0x027f);
10954 MP_WritePhyUshort(sc, 0x06, 0x0280);
10955 MP_WritePhyUshort(sc, 0x06, 0xa602);
10956 MP_WritePhyUshort(sc, 0x06, 0x80bf);
10957 MP_WritePhyUshort(sc, 0x06, 0xe08b);
10958 MP_WritePhyUshort(sc, 0x06, 0x88e1);
10959 MP_WritePhyUshort(sc, 0x06, 0x8b89);
10960 MP_WritePhyUshort(sc, 0x06, 0x1e01);
10961 MP_WritePhyUshort(sc, 0x06, 0xe18b);
10962 MP_WritePhyUshort(sc, 0x06, 0x8a1e);
10963 MP_WritePhyUshort(sc, 0x06, 0x01e1);
10964 MP_WritePhyUshort(sc, 0x06, 0x8b8b);
10965 MP_WritePhyUshort(sc, 0x06, 0x1e01);
10966 MP_WritePhyUshort(sc, 0x06, 0xe18b);
10967 MP_WritePhyUshort(sc, 0x06, 0x8c1e);
10968 MP_WritePhyUshort(sc, 0x06, 0x01e1);
10969 MP_WritePhyUshort(sc, 0x06, 0x8b8d);
10970 MP_WritePhyUshort(sc, 0x06, 0x1e01);
10971 MP_WritePhyUshort(sc, 0x06, 0xe18b);
10972 MP_WritePhyUshort(sc, 0x06, 0x8e1e);
10973 MP_WritePhyUshort(sc, 0x06, 0x01a0);
10974 MP_WritePhyUshort(sc, 0x06, 0x00c7);
10975 MP_WritePhyUshort(sc, 0x06, 0xaebb);
10976 MP_WritePhyUshort(sc, 0x06, 0xee8a);
10977 MP_WritePhyUshort(sc, 0x06, 0xe600);
10978 MP_WritePhyUshort(sc, 0x06, 0xee8a);
10979 MP_WritePhyUshort(sc, 0x06, 0xee03);
10980 MP_WritePhyUshort(sc, 0x06, 0xee8a);
10981 MP_WritePhyUshort(sc, 0x06, 0xefb8);
10982 MP_WritePhyUshort(sc, 0x06, 0xee8a);
10983 MP_WritePhyUshort(sc, 0x06, 0xe902);
10984 MP_WritePhyUshort(sc, 0x06, 0xee8b);
10985 MP_WritePhyUshort(sc, 0x06, 0x8285);
10986 MP_WritePhyUshort(sc, 0x06, 0xee8b);
10987 MP_WritePhyUshort(sc, 0x06, 0x8520);
10988 MP_WritePhyUshort(sc, 0x06, 0xee8b);
10989 MP_WritePhyUshort(sc, 0x06, 0x8701);
10990 MP_WritePhyUshort(sc, 0x06, 0xd481);
10991 MP_WritePhyUshort(sc, 0x06, 0x35e4);
10992 MP_WritePhyUshort(sc, 0x06, 0x8b94);
10993 MP_WritePhyUshort(sc, 0x06, 0xe58b);
10994 MP_WritePhyUshort(sc, 0x06, 0x95bf);
10995 MP_WritePhyUshort(sc, 0x06, 0x8b88);
10996 MP_WritePhyUshort(sc, 0x06, 0xec00);
10997 MP_WritePhyUshort(sc, 0x06, 0x19a9);
10998 MP_WritePhyUshort(sc, 0x06, 0x8b90);
10999 MP_WritePhyUshort(sc, 0x06, 0xf9ee);
11000 MP_WritePhyUshort(sc, 0x06, 0xfff6);
11001 MP_WritePhyUshort(sc, 0x06, 0x00ee);
11002 MP_WritePhyUshort(sc, 0x06, 0xfff7);
11003 MP_WritePhyUshort(sc, 0x06, 0xffe0);
11004 MP_WritePhyUshort(sc, 0x06, 0xe140);
11005 MP_WritePhyUshort(sc, 0x06, 0xe1e1);
11006 MP_WritePhyUshort(sc, 0x06, 0x41f7);
11007 MP_WritePhyUshort(sc, 0x06, 0x2ff6);
11008 MP_WritePhyUshort(sc, 0x06, 0x28e4);
11009 MP_WritePhyUshort(sc, 0x06, 0xe140);
11010 MP_WritePhyUshort(sc, 0x06, 0xe5e1);
11011 MP_WritePhyUshort(sc, 0x06, 0x4104);
11012 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
11013 MP_WritePhyUshort(sc, 0x06, 0x8b89);
11014 MP_WritePhyUshort(sc, 0x06, 0xad20);
11015 MP_WritePhyUshort(sc, 0x06, 0x0dee);
11016 MP_WritePhyUshort(sc, 0x06, 0x8b89);
11017 MP_WritePhyUshort(sc, 0x06, 0x0002);
11018 MP_WritePhyUshort(sc, 0x06, 0x82f4);
11019 MP_WritePhyUshort(sc, 0x06, 0x021f);
11020 MP_WritePhyUshort(sc, 0x06, 0x4102);
11021 MP_WritePhyUshort(sc, 0x06, 0x2812);
11022 MP_WritePhyUshort(sc, 0x06, 0xfc04);
11023 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
11024 MP_WritePhyUshort(sc, 0x06, 0x8b8d);
11025 MP_WritePhyUshort(sc, 0x06, 0xad20);
11026 MP_WritePhyUshort(sc, 0x06, 0x10ee);
11027 MP_WritePhyUshort(sc, 0x06, 0x8b8d);
11028 MP_WritePhyUshort(sc, 0x06, 0x0002);
11029 MP_WritePhyUshort(sc, 0x06, 0x139d);
11030 MP_WritePhyUshort(sc, 0x06, 0x0281);
11031 MP_WritePhyUshort(sc, 0x06, 0xd602);
11032 MP_WritePhyUshort(sc, 0x06, 0x1f99);
11033 MP_WritePhyUshort(sc, 0x06, 0x0227);
11034 MP_WritePhyUshort(sc, 0x06, 0xeafc);
11035 MP_WritePhyUshort(sc, 0x06, 0x04f8);
11036 MP_WritePhyUshort(sc, 0x06, 0xe08b);
11037 MP_WritePhyUshort(sc, 0x06, 0x8ead);
11038 MP_WritePhyUshort(sc, 0x06, 0x2014);
11039 MP_WritePhyUshort(sc, 0x06, 0xf620);
11040 MP_WritePhyUshort(sc, 0x06, 0xe48b);
11041 MP_WritePhyUshort(sc, 0x06, 0x8e02);
11042 MP_WritePhyUshort(sc, 0x06, 0x8104);
11043 MP_WritePhyUshort(sc, 0x06, 0x021b);
11044 MP_WritePhyUshort(sc, 0x06, 0xf402);
11045 MP_WritePhyUshort(sc, 0x06, 0x2c9c);
11046 MP_WritePhyUshort(sc, 0x06, 0x0281);
11047 MP_WritePhyUshort(sc, 0x06, 0x7902);
11048 MP_WritePhyUshort(sc, 0x06, 0x8443);
11049 MP_WritePhyUshort(sc, 0x06, 0xad22);
11050 MP_WritePhyUshort(sc, 0x06, 0x11f6);
11051 MP_WritePhyUshort(sc, 0x06, 0x22e4);
11052 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
11053 MP_WritePhyUshort(sc, 0x06, 0x022c);
11054 MP_WritePhyUshort(sc, 0x06, 0x4602);
11055 MP_WritePhyUshort(sc, 0x06, 0x2ac5);
11056 MP_WritePhyUshort(sc, 0x06, 0x0229);
11057 MP_WritePhyUshort(sc, 0x06, 0x2002);
11058 MP_WritePhyUshort(sc, 0x06, 0x2b91);
11059 MP_WritePhyUshort(sc, 0x06, 0xad25);
11060 MP_WritePhyUshort(sc, 0x06, 0x11f6);
11061 MP_WritePhyUshort(sc, 0x06, 0x25e4);
11062 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
11063 MP_WritePhyUshort(sc, 0x06, 0x0284);
11064 MP_WritePhyUshort(sc, 0x06, 0xe202);
11065 MP_WritePhyUshort(sc, 0x06, 0x043a);
11066 MP_WritePhyUshort(sc, 0x06, 0x021a);
11067 MP_WritePhyUshort(sc, 0x06, 0x5902);
11068 MP_WritePhyUshort(sc, 0x06, 0x2bfc);
11069 MP_WritePhyUshort(sc, 0x06, 0xfc04);
11070 MP_WritePhyUshort(sc, 0x06, 0xf8fa);
11071 MP_WritePhyUshort(sc, 0x06, 0xef69);
11072 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
11073 MP_WritePhyUshort(sc, 0x06, 0x00e1);
11074 MP_WritePhyUshort(sc, 0x06, 0xe001);
11075 MP_WritePhyUshort(sc, 0x06, 0xad27);
11076 MP_WritePhyUshort(sc, 0x06, 0x1fd1);
11077 MP_WritePhyUshort(sc, 0x06, 0x01bf);
11078 MP_WritePhyUshort(sc, 0x06, 0x8638);
11079 MP_WritePhyUshort(sc, 0x06, 0x022f);
11080 MP_WritePhyUshort(sc, 0x06, 0x50e0);
11081 MP_WritePhyUshort(sc, 0x06, 0xe020);
11082 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
11083 MP_WritePhyUshort(sc, 0x06, 0x21ad);
11084 MP_WritePhyUshort(sc, 0x06, 0x200e);
11085 MP_WritePhyUshort(sc, 0x06, 0xd100);
11086 MP_WritePhyUshort(sc, 0x06, 0xbf86);
11087 MP_WritePhyUshort(sc, 0x06, 0x3802);
11088 MP_WritePhyUshort(sc, 0x06, 0x2f50);
11089 MP_WritePhyUshort(sc, 0x06, 0xbf3d);
11090 MP_WritePhyUshort(sc, 0x06, 0x3902);
11091 MP_WritePhyUshort(sc, 0x06, 0x2eb0);
11092 MP_WritePhyUshort(sc, 0x06, 0xef96);
11093 MP_WritePhyUshort(sc, 0x06, 0xfefc);
11094 MP_WritePhyUshort(sc, 0x06, 0x0402);
11095 MP_WritePhyUshort(sc, 0x06, 0x8591);
11096 MP_WritePhyUshort(sc, 0x06, 0x0281);
11097 MP_WritePhyUshort(sc, 0x06, 0x3c05);
11098 MP_WritePhyUshort(sc, 0x06, 0xf8fa);
11099 MP_WritePhyUshort(sc, 0x06, 0xef69);
11100 MP_WritePhyUshort(sc, 0x06, 0xe0e2);
11101 MP_WritePhyUshort(sc, 0x06, 0xfee1);
11102 MP_WritePhyUshort(sc, 0x06, 0xe2ff);
11103 MP_WritePhyUshort(sc, 0x06, 0xad2d);
11104 MP_WritePhyUshort(sc, 0x06, 0x1ae0);
11105 MP_WritePhyUshort(sc, 0x06, 0xe14e);
11106 MP_WritePhyUshort(sc, 0x06, 0xe1e1);
11107 MP_WritePhyUshort(sc, 0x06, 0x4fac);
11108 MP_WritePhyUshort(sc, 0x06, 0x2d22);
11109 MP_WritePhyUshort(sc, 0x06, 0xf603);
11110 MP_WritePhyUshort(sc, 0x06, 0x0203);
11111 MP_WritePhyUshort(sc, 0x06, 0x36f7);
11112 MP_WritePhyUshort(sc, 0x06, 0x03f7);
11113 MP_WritePhyUshort(sc, 0x06, 0x06bf);
11114 MP_WritePhyUshort(sc, 0x06, 0x8622);
11115 MP_WritePhyUshort(sc, 0x06, 0x022e);
11116 MP_WritePhyUshort(sc, 0x06, 0xb0ae);
11117 MP_WritePhyUshort(sc, 0x06, 0x11e0);
11118 MP_WritePhyUshort(sc, 0x06, 0xe14e);
11119 MP_WritePhyUshort(sc, 0x06, 0xe1e1);
11120 MP_WritePhyUshort(sc, 0x06, 0x4fad);
11121 MP_WritePhyUshort(sc, 0x06, 0x2d08);
11122 MP_WritePhyUshort(sc, 0x06, 0xbf86);
11123 MP_WritePhyUshort(sc, 0x06, 0x2d02);
11124 MP_WritePhyUshort(sc, 0x06, 0x2eb0);
11125 MP_WritePhyUshort(sc, 0x06, 0xf606);
11126 MP_WritePhyUshort(sc, 0x06, 0xef96);
11127 MP_WritePhyUshort(sc, 0x06, 0xfefc);
11128 MP_WritePhyUshort(sc, 0x06, 0x04f8);
11129 MP_WritePhyUshort(sc, 0x06, 0xf9fa);
11130 MP_WritePhyUshort(sc, 0x06, 0xef69);
11131 MP_WritePhyUshort(sc, 0x06, 0xe08b);
11132 MP_WritePhyUshort(sc, 0x06, 0x87ad);
11133 MP_WritePhyUshort(sc, 0x06, 0x204c);
11134 MP_WritePhyUshort(sc, 0x06, 0xd200);
11135 MP_WritePhyUshort(sc, 0x06, 0xe0e2);
11136 MP_WritePhyUshort(sc, 0x06, 0x0058);
11137 MP_WritePhyUshort(sc, 0x06, 0x010c);
11138 MP_WritePhyUshort(sc, 0x06, 0x021e);
11139 MP_WritePhyUshort(sc, 0x06, 0x20e0);
11140 MP_WritePhyUshort(sc, 0x06, 0xe000);
11141 MP_WritePhyUshort(sc, 0x06, 0x5810);
11142 MP_WritePhyUshort(sc, 0x06, 0x1e20);
11143 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
11144 MP_WritePhyUshort(sc, 0x06, 0x3658);
11145 MP_WritePhyUshort(sc, 0x06, 0x031e);
11146 MP_WritePhyUshort(sc, 0x06, 0x20e0);
11147 MP_WritePhyUshort(sc, 0x06, 0xe022);
11148 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
11149 MP_WritePhyUshort(sc, 0x06, 0x2358);
11150 MP_WritePhyUshort(sc, 0x06, 0xe01e);
11151 MP_WritePhyUshort(sc, 0x06, 0x20e0);
11152 MP_WritePhyUshort(sc, 0x06, 0x8ae6);
11153 MP_WritePhyUshort(sc, 0x06, 0x1f02);
11154 MP_WritePhyUshort(sc, 0x06, 0x9e22);
11155 MP_WritePhyUshort(sc, 0x06, 0xe68a);
11156 MP_WritePhyUshort(sc, 0x06, 0xe6ad);
11157 MP_WritePhyUshort(sc, 0x06, 0x3214);
11158 MP_WritePhyUshort(sc, 0x06, 0xad34);
11159 MP_WritePhyUshort(sc, 0x06, 0x11ef);
11160 MP_WritePhyUshort(sc, 0x06, 0x0258);
11161 MP_WritePhyUshort(sc, 0x06, 0x039e);
11162 MP_WritePhyUshort(sc, 0x06, 0x07ad);
11163 MP_WritePhyUshort(sc, 0x06, 0x3508);
11164 MP_WritePhyUshort(sc, 0x06, 0x5ac0);
11165 MP_WritePhyUshort(sc, 0x06, 0x9f04);
11166 MP_WritePhyUshort(sc, 0x06, 0xd101);
11167 MP_WritePhyUshort(sc, 0x06, 0xae02);
11168 MP_WritePhyUshort(sc, 0x06, 0xd100);
11169 MP_WritePhyUshort(sc, 0x06, 0xbf86);
11170 MP_WritePhyUshort(sc, 0x06, 0x3e02);
11171 MP_WritePhyUshort(sc, 0x06, 0x2f50);
11172 MP_WritePhyUshort(sc, 0x06, 0xef96);
11173 MP_WritePhyUshort(sc, 0x06, 0xfefd);
11174 MP_WritePhyUshort(sc, 0x06, 0xfc04);
11175 MP_WritePhyUshort(sc, 0x06, 0xf8f9);
11176 MP_WritePhyUshort(sc, 0x06, 0xfae0);
11177 MP_WritePhyUshort(sc, 0x06, 0x8b81);
11178 MP_WritePhyUshort(sc, 0x06, 0xac26);
11179 MP_WritePhyUshort(sc, 0x06, 0x0ee0);
11180 MP_WritePhyUshort(sc, 0x06, 0x8b81);
11181 MP_WritePhyUshort(sc, 0x06, 0xac21);
11182 MP_WritePhyUshort(sc, 0x06, 0x08e0);
11183 MP_WritePhyUshort(sc, 0x06, 0x8b87);
11184 MP_WritePhyUshort(sc, 0x06, 0xac24);
11185 MP_WritePhyUshort(sc, 0x06, 0x02ae);
11186 MP_WritePhyUshort(sc, 0x06, 0x6bee);
11187 MP_WritePhyUshort(sc, 0x06, 0xe0ea);
11188 MP_WritePhyUshort(sc, 0x06, 0x00ee);
11189 MP_WritePhyUshort(sc, 0x06, 0xe0eb);
11190 MP_WritePhyUshort(sc, 0x06, 0x00e2);
11191 MP_WritePhyUshort(sc, 0x06, 0xe07c);
11192 MP_WritePhyUshort(sc, 0x06, 0xe3e0);
11193 MP_WritePhyUshort(sc, 0x06, 0x7da5);
11194 MP_WritePhyUshort(sc, 0x06, 0x1111);
11195 MP_WritePhyUshort(sc, 0x06, 0x15d2);
11196 MP_WritePhyUshort(sc, 0x06, 0x60d6);
11197 MP_WritePhyUshort(sc, 0x06, 0x6666);
11198 MP_WritePhyUshort(sc, 0x06, 0x0207);
11199 MP_WritePhyUshort(sc, 0x06, 0xf9d2);
11200 MP_WritePhyUshort(sc, 0x06, 0xa0d6);
11201 MP_WritePhyUshort(sc, 0x06, 0xaaaa);
11202 MP_WritePhyUshort(sc, 0x06, 0x0207);
11203 MP_WritePhyUshort(sc, 0x06, 0xf902);
11204 MP_WritePhyUshort(sc, 0x06, 0x825c);
11205 MP_WritePhyUshort(sc, 0x06, 0xae44);
11206 MP_WritePhyUshort(sc, 0x06, 0xa566);
11207 MP_WritePhyUshort(sc, 0x06, 0x6602);
11208 MP_WritePhyUshort(sc, 0x06, 0xae38);
11209 MP_WritePhyUshort(sc, 0x06, 0xa5aa);
11210 MP_WritePhyUshort(sc, 0x06, 0xaa02);
11211 MP_WritePhyUshort(sc, 0x06, 0xae32);
11212 MP_WritePhyUshort(sc, 0x06, 0xeee0);
11213 MP_WritePhyUshort(sc, 0x06, 0xea04);
11214 MP_WritePhyUshort(sc, 0x06, 0xeee0);
11215 MP_WritePhyUshort(sc, 0x06, 0xeb06);
11216 MP_WritePhyUshort(sc, 0x06, 0xe2e0);
11217 MP_WritePhyUshort(sc, 0x06, 0x7ce3);
11218 MP_WritePhyUshort(sc, 0x06, 0xe07d);
11219 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
11220 MP_WritePhyUshort(sc, 0x06, 0x38e1);
11221 MP_WritePhyUshort(sc, 0x06, 0xe039);
11222 MP_WritePhyUshort(sc, 0x06, 0xad2e);
11223 MP_WritePhyUshort(sc, 0x06, 0x21ad);
11224 MP_WritePhyUshort(sc, 0x06, 0x3f13);
11225 MP_WritePhyUshort(sc, 0x06, 0xe0e4);
11226 MP_WritePhyUshort(sc, 0x06, 0x14e1);
11227 MP_WritePhyUshort(sc, 0x06, 0xe415);
11228 MP_WritePhyUshort(sc, 0x06, 0x6880);
11229 MP_WritePhyUshort(sc, 0x06, 0xe4e4);
11230 MP_WritePhyUshort(sc, 0x06, 0x14e5);
11231 MP_WritePhyUshort(sc, 0x06, 0xe415);
11232 MP_WritePhyUshort(sc, 0x06, 0x0282);
11233 MP_WritePhyUshort(sc, 0x06, 0x5cae);
11234 MP_WritePhyUshort(sc, 0x06, 0x0bac);
11235 MP_WritePhyUshort(sc, 0x06, 0x3e02);
11236 MP_WritePhyUshort(sc, 0x06, 0xae06);
11237 MP_WritePhyUshort(sc, 0x06, 0x0282);
11238 MP_WritePhyUshort(sc, 0x06, 0x8602);
11239 MP_WritePhyUshort(sc, 0x06, 0x82b0);
11240 MP_WritePhyUshort(sc, 0x06, 0xfefd);
11241 MP_WritePhyUshort(sc, 0x06, 0xfc04);
11242 MP_WritePhyUshort(sc, 0x06, 0xf8e1);
11243 MP_WritePhyUshort(sc, 0x06, 0x8b2e);
11244 MP_WritePhyUshort(sc, 0x06, 0xe08b);
11245 MP_WritePhyUshort(sc, 0x06, 0x81ad);
11246 MP_WritePhyUshort(sc, 0x06, 0x2605);
11247 MP_WritePhyUshort(sc, 0x06, 0x0221);
11248 MP_WritePhyUshort(sc, 0x06, 0xf3f7);
11249 MP_WritePhyUshort(sc, 0x06, 0x28e0);
11250 MP_WritePhyUshort(sc, 0x06, 0x8b81);
11251 MP_WritePhyUshort(sc, 0x06, 0xad21);
11252 MP_WritePhyUshort(sc, 0x06, 0x0502);
11253 MP_WritePhyUshort(sc, 0x06, 0x22f8);
11254 MP_WritePhyUshort(sc, 0x06, 0xf729);
11255 MP_WritePhyUshort(sc, 0x06, 0xe08b);
11256 MP_WritePhyUshort(sc, 0x06, 0x87ad);
11257 MP_WritePhyUshort(sc, 0x06, 0x2405);
11258 MP_WritePhyUshort(sc, 0x06, 0x0282);
11259 MP_WritePhyUshort(sc, 0x06, 0xebf7);
11260 MP_WritePhyUshort(sc, 0x06, 0x2ae5);
11261 MP_WritePhyUshort(sc, 0x06, 0x8b2e);
11262 MP_WritePhyUshort(sc, 0x06, 0xfc04);
11263 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
11264 MP_WritePhyUshort(sc, 0x06, 0x8b81);
11265 MP_WritePhyUshort(sc, 0x06, 0xad26);
11266 MP_WritePhyUshort(sc, 0x06, 0x0302);
11267 MP_WritePhyUshort(sc, 0x06, 0x2134);
11268 MP_WritePhyUshort(sc, 0x06, 0xe08b);
11269 MP_WritePhyUshort(sc, 0x06, 0x81ad);
11270 MP_WritePhyUshort(sc, 0x06, 0x2109);
11271 MP_WritePhyUshort(sc, 0x06, 0xe08b);
11272 MP_WritePhyUshort(sc, 0x06, 0x2eac);
11273 MP_WritePhyUshort(sc, 0x06, 0x2003);
11274 MP_WritePhyUshort(sc, 0x06, 0x0283);
11275 MP_WritePhyUshort(sc, 0x06, 0x52e0);
11276 MP_WritePhyUshort(sc, 0x06, 0x8b87);
11277 MP_WritePhyUshort(sc, 0x06, 0xad24);
11278 MP_WritePhyUshort(sc, 0x06, 0x09e0);
11279 MP_WritePhyUshort(sc, 0x06, 0x8b2e);
11280 MP_WritePhyUshort(sc, 0x06, 0xac21);
11281 MP_WritePhyUshort(sc, 0x06, 0x0302);
11282 MP_WritePhyUshort(sc, 0x06, 0x8337);
11283 MP_WritePhyUshort(sc, 0x06, 0xfc04);
11284 MP_WritePhyUshort(sc, 0x06, 0xf8e1);
11285 MP_WritePhyUshort(sc, 0x06, 0x8b2e);
11286 MP_WritePhyUshort(sc, 0x06, 0xe08b);
11287 MP_WritePhyUshort(sc, 0x06, 0x81ad);
11288 MP_WritePhyUshort(sc, 0x06, 0x2608);
11289 MP_WritePhyUshort(sc, 0x06, 0xe085);
11290 MP_WritePhyUshort(sc, 0x06, 0xd2ad);
11291 MP_WritePhyUshort(sc, 0x06, 0x2502);
11292 MP_WritePhyUshort(sc, 0x06, 0xf628);
11293 MP_WritePhyUshort(sc, 0x06, 0xe08b);
11294 MP_WritePhyUshort(sc, 0x06, 0x81ad);
11295 MP_WritePhyUshort(sc, 0x06, 0x210a);
11296 MP_WritePhyUshort(sc, 0x06, 0xe086);
11297 MP_WritePhyUshort(sc, 0x06, 0x0af6);
11298 MP_WritePhyUshort(sc, 0x06, 0x27a0);
11299 MP_WritePhyUshort(sc, 0x06, 0x0502);
11300 MP_WritePhyUshort(sc, 0x06, 0xf629);
11301 MP_WritePhyUshort(sc, 0x06, 0xe08b);
11302 MP_WritePhyUshort(sc, 0x06, 0x87ad);
11303 MP_WritePhyUshort(sc, 0x06, 0x2408);
11304 MP_WritePhyUshort(sc, 0x06, 0xe08a);
11305 MP_WritePhyUshort(sc, 0x06, 0xedad);
11306 MP_WritePhyUshort(sc, 0x06, 0x2002);
11307 MP_WritePhyUshort(sc, 0x06, 0xf62a);
11308 MP_WritePhyUshort(sc, 0x06, 0xe58b);
11309 MP_WritePhyUshort(sc, 0x06, 0x2ea1);
11310 MP_WritePhyUshort(sc, 0x06, 0x0003);
11311 MP_WritePhyUshort(sc, 0x06, 0x0221);
11312 MP_WritePhyUshort(sc, 0x06, 0x11fc);
11313 MP_WritePhyUshort(sc, 0x06, 0x04ee);
11314 MP_WritePhyUshort(sc, 0x06, 0x8aed);
11315 MP_WritePhyUshort(sc, 0x06, 0x00ee);
11316 MP_WritePhyUshort(sc, 0x06, 0x8aec);
11317 MP_WritePhyUshort(sc, 0x06, 0x0004);
11318 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
11319 MP_WritePhyUshort(sc, 0x06, 0x8b87);
11320 MP_WritePhyUshort(sc, 0x06, 0xad24);
11321 MP_WritePhyUshort(sc, 0x06, 0x3ae0);
11322 MP_WritePhyUshort(sc, 0x06, 0xe0ea);
11323 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
11324 MP_WritePhyUshort(sc, 0x06, 0xeb58);
11325 MP_WritePhyUshort(sc, 0x06, 0xf8d1);
11326 MP_WritePhyUshort(sc, 0x06, 0x01e4);
11327 MP_WritePhyUshort(sc, 0x06, 0xe0ea);
11328 MP_WritePhyUshort(sc, 0x06, 0xe5e0);
11329 MP_WritePhyUshort(sc, 0x06, 0xebe0);
11330 MP_WritePhyUshort(sc, 0x06, 0xe07c);
11331 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
11332 MP_WritePhyUshort(sc, 0x06, 0x7d5c);
11333 MP_WritePhyUshort(sc, 0x06, 0x00ff);
11334 MP_WritePhyUshort(sc, 0x06, 0x3c00);
11335 MP_WritePhyUshort(sc, 0x06, 0x1eab);
11336 MP_WritePhyUshort(sc, 0x06, 0x1ce0);
11337 MP_WritePhyUshort(sc, 0x06, 0xe04c);
11338 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
11339 MP_WritePhyUshort(sc, 0x06, 0x4d58);
11340 MP_WritePhyUshort(sc, 0x06, 0xc1e4);
11341 MP_WritePhyUshort(sc, 0x06, 0xe04c);
11342 MP_WritePhyUshort(sc, 0x06, 0xe5e0);
11343 MP_WritePhyUshort(sc, 0x06, 0x4de0);
11344 MP_WritePhyUshort(sc, 0x06, 0xe0ee);
11345 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
11346 MP_WritePhyUshort(sc, 0x06, 0xef69);
11347 MP_WritePhyUshort(sc, 0x06, 0x3ce4);
11348 MP_WritePhyUshort(sc, 0x06, 0xe0ee);
11349 MP_WritePhyUshort(sc, 0x06, 0xe5e0);
11350 MP_WritePhyUshort(sc, 0x06, 0xeffc);
11351 MP_WritePhyUshort(sc, 0x06, 0x04f8);
11352 MP_WritePhyUshort(sc, 0x06, 0xe08b);
11353 MP_WritePhyUshort(sc, 0x06, 0x87ad);
11354 MP_WritePhyUshort(sc, 0x06, 0x2412);
11355 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
11356 MP_WritePhyUshort(sc, 0x06, 0xeee1);
11357 MP_WritePhyUshort(sc, 0x06, 0xe0ef);
11358 MP_WritePhyUshort(sc, 0x06, 0x59c3);
11359 MP_WritePhyUshort(sc, 0x06, 0xe4e0);
11360 MP_WritePhyUshort(sc, 0x06, 0xeee5);
11361 MP_WritePhyUshort(sc, 0x06, 0xe0ef);
11362 MP_WritePhyUshort(sc, 0x06, 0xee8a);
11363 MP_WritePhyUshort(sc, 0x06, 0xed01);
11364 MP_WritePhyUshort(sc, 0x06, 0xfc04);
11365 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
11366 MP_WritePhyUshort(sc, 0x06, 0x8b81);
11367 MP_WritePhyUshort(sc, 0x06, 0xac25);
11368 MP_WritePhyUshort(sc, 0x06, 0x0502);
11369 MP_WritePhyUshort(sc, 0x06, 0x8363);
11370 MP_WritePhyUshort(sc, 0x06, 0xae03);
11371 MP_WritePhyUshort(sc, 0x06, 0x0225);
11372 MP_WritePhyUshort(sc, 0x06, 0x16fc);
11373 MP_WritePhyUshort(sc, 0x06, 0x04f8);
11374 MP_WritePhyUshort(sc, 0x06, 0xf9fa);
11375 MP_WritePhyUshort(sc, 0x06, 0xef69);
11376 MP_WritePhyUshort(sc, 0x06, 0xfae0);
11377 MP_WritePhyUshort(sc, 0x06, 0x860a);
11378 MP_WritePhyUshort(sc, 0x06, 0xa000);
11379 MP_WritePhyUshort(sc, 0x06, 0x19e0);
11380 MP_WritePhyUshort(sc, 0x06, 0x860b);
11381 MP_WritePhyUshort(sc, 0x06, 0xe18b);
11382 MP_WritePhyUshort(sc, 0x06, 0x331b);
11383 MP_WritePhyUshort(sc, 0x06, 0x109e);
11384 MP_WritePhyUshort(sc, 0x06, 0x04aa);
11385 MP_WritePhyUshort(sc, 0x06, 0x02ae);
11386 MP_WritePhyUshort(sc, 0x06, 0x06ee);
11387 MP_WritePhyUshort(sc, 0x06, 0x860a);
11388 MP_WritePhyUshort(sc, 0x06, 0x01ae);
11389 MP_WritePhyUshort(sc, 0x06, 0xe602);
11390 MP_WritePhyUshort(sc, 0x06, 0x241e);
11391 MP_WritePhyUshort(sc, 0x06, 0xae14);
11392 MP_WritePhyUshort(sc, 0x06, 0xa001);
11393 MP_WritePhyUshort(sc, 0x06, 0x1402);
11394 MP_WritePhyUshort(sc, 0x06, 0x2426);
11395 MP_WritePhyUshort(sc, 0x06, 0xbf26);
11396 MP_WritePhyUshort(sc, 0x06, 0x6d02);
11397 MP_WritePhyUshort(sc, 0x06, 0x2eb0);
11398 MP_WritePhyUshort(sc, 0x06, 0xee86);
11399 MP_WritePhyUshort(sc, 0x06, 0x0b00);
11400 MP_WritePhyUshort(sc, 0x06, 0xee86);
11401 MP_WritePhyUshort(sc, 0x06, 0x0a02);
11402 MP_WritePhyUshort(sc, 0x06, 0xaf84);
11403 MP_WritePhyUshort(sc, 0x06, 0x3ca0);
11404 MP_WritePhyUshort(sc, 0x06, 0x0252);
11405 MP_WritePhyUshort(sc, 0x06, 0xee86);
11406 MP_WritePhyUshort(sc, 0x06, 0x0400);
11407 MP_WritePhyUshort(sc, 0x06, 0xee86);
11408 MP_WritePhyUshort(sc, 0x06, 0x0500);
11409 MP_WritePhyUshort(sc, 0x06, 0xe086);
11410 MP_WritePhyUshort(sc, 0x06, 0x0be1);
11411 MP_WritePhyUshort(sc, 0x06, 0x8b32);
11412 MP_WritePhyUshort(sc, 0x06, 0x1b10);
11413 MP_WritePhyUshort(sc, 0x06, 0x9e04);
11414 MP_WritePhyUshort(sc, 0x06, 0xaa02);
11415 MP_WritePhyUshort(sc, 0x06, 0xaecb);
11416 MP_WritePhyUshort(sc, 0x06, 0xee86);
11417 MP_WritePhyUshort(sc, 0x06, 0x0b00);
11418 MP_WritePhyUshort(sc, 0x06, 0x0224);
11419 MP_WritePhyUshort(sc, 0x06, 0x3ae2);
11420 MP_WritePhyUshort(sc, 0x06, 0x8604);
11421 MP_WritePhyUshort(sc, 0x06, 0xe386);
11422 MP_WritePhyUshort(sc, 0x06, 0x05ef);
11423 MP_WritePhyUshort(sc, 0x06, 0x65e2);
11424 MP_WritePhyUshort(sc, 0x06, 0x8606);
11425 MP_WritePhyUshort(sc, 0x06, 0xe386);
11426 MP_WritePhyUshort(sc, 0x06, 0x071b);
11427 MP_WritePhyUshort(sc, 0x06, 0x56aa);
11428 MP_WritePhyUshort(sc, 0x06, 0x0eef);
11429 MP_WritePhyUshort(sc, 0x06, 0x56e6);
11430 MP_WritePhyUshort(sc, 0x06, 0x8606);
11431 MP_WritePhyUshort(sc, 0x06, 0xe786);
11432 MP_WritePhyUshort(sc, 0x06, 0x07e2);
11433 MP_WritePhyUshort(sc, 0x06, 0x8609);
11434 MP_WritePhyUshort(sc, 0x06, 0xe686);
11435 MP_WritePhyUshort(sc, 0x06, 0x08e0);
11436 MP_WritePhyUshort(sc, 0x06, 0x8609);
11437 MP_WritePhyUshort(sc, 0x06, 0xa000);
11438 MP_WritePhyUshort(sc, 0x06, 0x07ee);
11439 MP_WritePhyUshort(sc, 0x06, 0x860a);
11440 MP_WritePhyUshort(sc, 0x06, 0x03af);
11441 MP_WritePhyUshort(sc, 0x06, 0x8369);
11442 MP_WritePhyUshort(sc, 0x06, 0x0224);
11443 MP_WritePhyUshort(sc, 0x06, 0x8e02);
11444 MP_WritePhyUshort(sc, 0x06, 0x2426);
11445 MP_WritePhyUshort(sc, 0x06, 0xae48);
11446 MP_WritePhyUshort(sc, 0x06, 0xa003);
11447 MP_WritePhyUshort(sc, 0x06, 0x21e0);
11448 MP_WritePhyUshort(sc, 0x06, 0x8608);
11449 MP_WritePhyUshort(sc, 0x06, 0xe186);
11450 MP_WritePhyUshort(sc, 0x06, 0x091b);
11451 MP_WritePhyUshort(sc, 0x06, 0x019e);
11452 MP_WritePhyUshort(sc, 0x06, 0x0caa);
11453 MP_WritePhyUshort(sc, 0x06, 0x0502);
11454 MP_WritePhyUshort(sc, 0x06, 0x249d);
11455 MP_WritePhyUshort(sc, 0x06, 0xaee7);
11456 MP_WritePhyUshort(sc, 0x06, 0x0224);
11457 MP_WritePhyUshort(sc, 0x06, 0x8eae);
11458 MP_WritePhyUshort(sc, 0x06, 0xe2ee);
11459 MP_WritePhyUshort(sc, 0x06, 0x860a);
11460 MP_WritePhyUshort(sc, 0x06, 0x04ee);
11461 MP_WritePhyUshort(sc, 0x06, 0x860b);
11462 MP_WritePhyUshort(sc, 0x06, 0x00af);
11463 MP_WritePhyUshort(sc, 0x06, 0x8369);
11464 MP_WritePhyUshort(sc, 0x06, 0xa004);
11465 MP_WritePhyUshort(sc, 0x06, 0x15e0);
11466 MP_WritePhyUshort(sc, 0x06, 0x860b);
11467 MP_WritePhyUshort(sc, 0x06, 0xe18b);
11468 MP_WritePhyUshort(sc, 0x06, 0x341b);
11469 MP_WritePhyUshort(sc, 0x06, 0x109e);
11470 MP_WritePhyUshort(sc, 0x06, 0x05aa);
11471 MP_WritePhyUshort(sc, 0x06, 0x03af);
11472 MP_WritePhyUshort(sc, 0x06, 0x8383);
11473 MP_WritePhyUshort(sc, 0x06, 0xee86);
11474 MP_WritePhyUshort(sc, 0x06, 0x0a05);
11475 MP_WritePhyUshort(sc, 0x06, 0xae0c);
11476 MP_WritePhyUshort(sc, 0x06, 0xa005);
11477 MP_WritePhyUshort(sc, 0x06, 0x02ae);
11478 MP_WritePhyUshort(sc, 0x06, 0x0702);
11479 MP_WritePhyUshort(sc, 0x06, 0x2309);
11480 MP_WritePhyUshort(sc, 0x06, 0xee86);
11481 MP_WritePhyUshort(sc, 0x06, 0x0a00);
11482 MP_WritePhyUshort(sc, 0x06, 0xfeef);
11483 MP_WritePhyUshort(sc, 0x06, 0x96fe);
11484 MP_WritePhyUshort(sc, 0x06, 0xfdfc);
11485 MP_WritePhyUshort(sc, 0x06, 0x04f8);
11486 MP_WritePhyUshort(sc, 0x06, 0xf9fa);
11487 MP_WritePhyUshort(sc, 0x06, 0xef69);
11488 MP_WritePhyUshort(sc, 0x06, 0xfbe0);
11489 MP_WritePhyUshort(sc, 0x06, 0x8b85);
11490 MP_WritePhyUshort(sc, 0x06, 0xad25);
11491 MP_WritePhyUshort(sc, 0x06, 0x22e0);
11492 MP_WritePhyUshort(sc, 0x06, 0xe022);
11493 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
11494 MP_WritePhyUshort(sc, 0x06, 0x23e2);
11495 MP_WritePhyUshort(sc, 0x06, 0xe036);
11496 MP_WritePhyUshort(sc, 0x06, 0xe3e0);
11497 MP_WritePhyUshort(sc, 0x06, 0x375a);
11498 MP_WritePhyUshort(sc, 0x06, 0xc40d);
11499 MP_WritePhyUshort(sc, 0x06, 0x0158);
11500 MP_WritePhyUshort(sc, 0x06, 0x021e);
11501 MP_WritePhyUshort(sc, 0x06, 0x20e3);
11502 MP_WritePhyUshort(sc, 0x06, 0x8ae7);
11503 MP_WritePhyUshort(sc, 0x06, 0xac31);
11504 MP_WritePhyUshort(sc, 0x06, 0x60ac);
11505 MP_WritePhyUshort(sc, 0x06, 0x3a08);
11506 MP_WritePhyUshort(sc, 0x06, 0xac3e);
11507 MP_WritePhyUshort(sc, 0x06, 0x26ae);
11508 MP_WritePhyUshort(sc, 0x06, 0x67af);
11509 MP_WritePhyUshort(sc, 0x06, 0x84db);
11510 MP_WritePhyUshort(sc, 0x06, 0xad37);
11511 MP_WritePhyUshort(sc, 0x06, 0x61e0);
11512 MP_WritePhyUshort(sc, 0x06, 0x8ae8);
11513 MP_WritePhyUshort(sc, 0x06, 0x10e4);
11514 MP_WritePhyUshort(sc, 0x06, 0x8ae8);
11515 MP_WritePhyUshort(sc, 0x06, 0xe18a);
11516 MP_WritePhyUshort(sc, 0x06, 0xe91b);
11517 MP_WritePhyUshort(sc, 0x06, 0x109e);
11518 MP_WritePhyUshort(sc, 0x06, 0x02ae);
11519 MP_WritePhyUshort(sc, 0x06, 0x51d1);
11520 MP_WritePhyUshort(sc, 0x06, 0x00bf);
11521 MP_WritePhyUshort(sc, 0x06, 0x863b);
11522 MP_WritePhyUshort(sc, 0x06, 0x022f);
11523 MP_WritePhyUshort(sc, 0x06, 0x50ee);
11524 MP_WritePhyUshort(sc, 0x06, 0x8ae8);
11525 MP_WritePhyUshort(sc, 0x06, 0x00ae);
11526 MP_WritePhyUshort(sc, 0x06, 0x43ad);
11527 MP_WritePhyUshort(sc, 0x06, 0x3627);
11528 MP_WritePhyUshort(sc, 0x06, 0xe08a);
11529 MP_WritePhyUshort(sc, 0x06, 0xeee1);
11530 MP_WritePhyUshort(sc, 0x06, 0x8aef);
11531 MP_WritePhyUshort(sc, 0x06, 0xef74);
11532 MP_WritePhyUshort(sc, 0x06, 0xe08a);
11533 MP_WritePhyUshort(sc, 0x06, 0xeae1);
11534 MP_WritePhyUshort(sc, 0x06, 0x8aeb);
11535 MP_WritePhyUshort(sc, 0x06, 0x1b74);
11536 MP_WritePhyUshort(sc, 0x06, 0x9e2e);
11537 MP_WritePhyUshort(sc, 0x06, 0x14e4);
11538 MP_WritePhyUshort(sc, 0x06, 0x8aea);
11539 MP_WritePhyUshort(sc, 0x06, 0xe58a);
11540 MP_WritePhyUshort(sc, 0x06, 0xebef);
11541 MP_WritePhyUshort(sc, 0x06, 0x74e0);
11542 MP_WritePhyUshort(sc, 0x06, 0x8aee);
11543 MP_WritePhyUshort(sc, 0x06, 0xe18a);
11544 MP_WritePhyUshort(sc, 0x06, 0xef1b);
11545 MP_WritePhyUshort(sc, 0x06, 0x479e);
11546 MP_WritePhyUshort(sc, 0x06, 0x0fae);
11547 MP_WritePhyUshort(sc, 0x06, 0x19ee);
11548 MP_WritePhyUshort(sc, 0x06, 0x8aea);
11549 MP_WritePhyUshort(sc, 0x06, 0x00ee);
11550 MP_WritePhyUshort(sc, 0x06, 0x8aeb);
11551 MP_WritePhyUshort(sc, 0x06, 0x00ae);
11552 MP_WritePhyUshort(sc, 0x06, 0x0fac);
11553 MP_WritePhyUshort(sc, 0x06, 0x390c);
11554 MP_WritePhyUshort(sc, 0x06, 0xd101);
11555 MP_WritePhyUshort(sc, 0x06, 0xbf86);
11556 MP_WritePhyUshort(sc, 0x06, 0x3b02);
11557 MP_WritePhyUshort(sc, 0x06, 0x2f50);
11558 MP_WritePhyUshort(sc, 0x06, 0xee8a);
11559 MP_WritePhyUshort(sc, 0x06, 0xe800);
11560 MP_WritePhyUshort(sc, 0x06, 0xe68a);
11561 MP_WritePhyUshort(sc, 0x06, 0xe7ff);
11562 MP_WritePhyUshort(sc, 0x06, 0xef96);
11563 MP_WritePhyUshort(sc, 0x06, 0xfefd);
11564 MP_WritePhyUshort(sc, 0x06, 0xfc04);
11565 MP_WritePhyUshort(sc, 0x06, 0xf8f9);
11566 MP_WritePhyUshort(sc, 0x06, 0xfaef);
11567 MP_WritePhyUshort(sc, 0x06, 0x69e0);
11568 MP_WritePhyUshort(sc, 0x06, 0xe022);
11569 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
11570 MP_WritePhyUshort(sc, 0x06, 0x2358);
11571 MP_WritePhyUshort(sc, 0x06, 0xc4e1);
11572 MP_WritePhyUshort(sc, 0x06, 0x8b6e);
11573 MP_WritePhyUshort(sc, 0x06, 0x1f10);
11574 MP_WritePhyUshort(sc, 0x06, 0x9e24);
11575 MP_WritePhyUshort(sc, 0x06, 0xe48b);
11576 MP_WritePhyUshort(sc, 0x06, 0x6ead);
11577 MP_WritePhyUshort(sc, 0x06, 0x2218);
11578 MP_WritePhyUshort(sc, 0x06, 0xac27);
11579 MP_WritePhyUshort(sc, 0x06, 0x0dac);
11580 MP_WritePhyUshort(sc, 0x06, 0x2605);
11581 MP_WritePhyUshort(sc, 0x06, 0x0203);
11582 MP_WritePhyUshort(sc, 0x06, 0x8fae);
11583 MP_WritePhyUshort(sc, 0x06, 0x1302);
11584 MP_WritePhyUshort(sc, 0x06, 0x03c8);
11585 MP_WritePhyUshort(sc, 0x06, 0xae0e);
11586 MP_WritePhyUshort(sc, 0x06, 0x0203);
11587 MP_WritePhyUshort(sc, 0x06, 0xe102);
11588 MP_WritePhyUshort(sc, 0x06, 0x8520);
11589 MP_WritePhyUshort(sc, 0x06, 0xae06);
11590 MP_WritePhyUshort(sc, 0x06, 0x0203);
11591 MP_WritePhyUshort(sc, 0x06, 0x8f02);
11592 MP_WritePhyUshort(sc, 0x06, 0x8566);
11593 MP_WritePhyUshort(sc, 0x06, 0xef96);
11594 MP_WritePhyUshort(sc, 0x06, 0xfefd);
11595 MP_WritePhyUshort(sc, 0x06, 0xfc04);
11596 MP_WritePhyUshort(sc, 0x06, 0xf8fa);
11597 MP_WritePhyUshort(sc, 0x06, 0xef69);
11598 MP_WritePhyUshort(sc, 0x06, 0xe08b);
11599 MP_WritePhyUshort(sc, 0x06, 0x82ad);
11600 MP_WritePhyUshort(sc, 0x06, 0x2737);
11601 MP_WritePhyUshort(sc, 0x06, 0xbf86);
11602 MP_WritePhyUshort(sc, 0x06, 0x4402);
11603 MP_WritePhyUshort(sc, 0x06, 0x2f23);
11604 MP_WritePhyUshort(sc, 0x06, 0xac28);
11605 MP_WritePhyUshort(sc, 0x06, 0x2ed1);
11606 MP_WritePhyUshort(sc, 0x06, 0x01bf);
11607 MP_WritePhyUshort(sc, 0x06, 0x8647);
11608 MP_WritePhyUshort(sc, 0x06, 0x022f);
11609 MP_WritePhyUshort(sc, 0x06, 0x50bf);
11610 MP_WritePhyUshort(sc, 0x06, 0x8641);
11611 MP_WritePhyUshort(sc, 0x06, 0x022f);
11612 MP_WritePhyUshort(sc, 0x06, 0x23e5);
11613 MP_WritePhyUshort(sc, 0x06, 0x8af0);
11614 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
11615 MP_WritePhyUshort(sc, 0x06, 0x22e1);
11616 MP_WritePhyUshort(sc, 0x06, 0xe023);
11617 MP_WritePhyUshort(sc, 0x06, 0xac2e);
11618 MP_WritePhyUshort(sc, 0x06, 0x04d1);
11619 MP_WritePhyUshort(sc, 0x06, 0x01ae);
11620 MP_WritePhyUshort(sc, 0x06, 0x02d1);
11621 MP_WritePhyUshort(sc, 0x06, 0x00bf);
11622 MP_WritePhyUshort(sc, 0x06, 0x8641);
11623 MP_WritePhyUshort(sc, 0x06, 0x022f);
11624 MP_WritePhyUshort(sc, 0x06, 0x50d1);
11625 MP_WritePhyUshort(sc, 0x06, 0x01bf);
11626 MP_WritePhyUshort(sc, 0x06, 0x8644);
11627 MP_WritePhyUshort(sc, 0x06, 0x022f);
11628 MP_WritePhyUshort(sc, 0x06, 0x50ef);
11629 MP_WritePhyUshort(sc, 0x06, 0x96fe);
11630 MP_WritePhyUshort(sc, 0x06, 0xfc04);
11631 MP_WritePhyUshort(sc, 0x06, 0xf8fa);
11632 MP_WritePhyUshort(sc, 0x06, 0xef69);
11633 MP_WritePhyUshort(sc, 0x06, 0xbf86);
11634 MP_WritePhyUshort(sc, 0x06, 0x4702);
11635 MP_WritePhyUshort(sc, 0x06, 0x2f23);
11636 MP_WritePhyUshort(sc, 0x06, 0xad28);
11637 MP_WritePhyUshort(sc, 0x06, 0x19d1);
11638 MP_WritePhyUshort(sc, 0x06, 0x00bf);
11639 MP_WritePhyUshort(sc, 0x06, 0x8644);
11640 MP_WritePhyUshort(sc, 0x06, 0x022f);
11641 MP_WritePhyUshort(sc, 0x06, 0x50e1);
11642 MP_WritePhyUshort(sc, 0x06, 0x8af0);
11643 MP_WritePhyUshort(sc, 0x06, 0xbf86);
11644 MP_WritePhyUshort(sc, 0x06, 0x4102);
11645 MP_WritePhyUshort(sc, 0x06, 0x2f50);
11646 MP_WritePhyUshort(sc, 0x06, 0xd100);
11647 MP_WritePhyUshort(sc, 0x06, 0xbf86);
11648 MP_WritePhyUshort(sc, 0x06, 0x4702);
11649 MP_WritePhyUshort(sc, 0x06, 0x2f50);
11650 MP_WritePhyUshort(sc, 0x06, 0xef96);
11651 MP_WritePhyUshort(sc, 0x06, 0xfefc);
11652 MP_WritePhyUshort(sc, 0x06, 0x04f8);
11653 MP_WritePhyUshort(sc, 0x06, 0xe0e2);
11654 MP_WritePhyUshort(sc, 0x06, 0xfee1);
11655 MP_WritePhyUshort(sc, 0x06, 0xe2ff);
11656 MP_WritePhyUshort(sc, 0x06, 0xad2e);
11657 MP_WritePhyUshort(sc, 0x06, 0x63e0);
11658 MP_WritePhyUshort(sc, 0x06, 0xe038);
11659 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
11660 MP_WritePhyUshort(sc, 0x06, 0x39ad);
11661 MP_WritePhyUshort(sc, 0x06, 0x2f10);
11662 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
11663 MP_WritePhyUshort(sc, 0x06, 0x34e1);
11664 MP_WritePhyUshort(sc, 0x06, 0xe035);
11665 MP_WritePhyUshort(sc, 0x06, 0xf726);
11666 MP_WritePhyUshort(sc, 0x06, 0xe4e0);
11667 MP_WritePhyUshort(sc, 0x06, 0x34e5);
11668 MP_WritePhyUshort(sc, 0x06, 0xe035);
11669 MP_WritePhyUshort(sc, 0x06, 0xae0e);
11670 MP_WritePhyUshort(sc, 0x06, 0xe0e2);
11671 MP_WritePhyUshort(sc, 0x06, 0xd6e1);
11672 MP_WritePhyUshort(sc, 0x06, 0xe2d7);
11673 MP_WritePhyUshort(sc, 0x06, 0xf728);
11674 MP_WritePhyUshort(sc, 0x06, 0xe4e2);
11675 MP_WritePhyUshort(sc, 0x06, 0xd6e5);
11676 MP_WritePhyUshort(sc, 0x06, 0xe2d7);
11677 MP_WritePhyUshort(sc, 0x06, 0xe0e2);
11678 MP_WritePhyUshort(sc, 0x06, 0x34e1);
11679 MP_WritePhyUshort(sc, 0x06, 0xe235);
11680 MP_WritePhyUshort(sc, 0x06, 0xf72b);
11681 MP_WritePhyUshort(sc, 0x06, 0xe4e2);
11682 MP_WritePhyUshort(sc, 0x06, 0x34e5);
11683 MP_WritePhyUshort(sc, 0x06, 0xe235);
11684 MP_WritePhyUshort(sc, 0x06, 0xd07d);
11685 MP_WritePhyUshort(sc, 0x06, 0xb0fe);
11686 MP_WritePhyUshort(sc, 0x06, 0xe0e2);
11687 MP_WritePhyUshort(sc, 0x06, 0x34e1);
11688 MP_WritePhyUshort(sc, 0x06, 0xe235);
11689 MP_WritePhyUshort(sc, 0x06, 0xf62b);
11690 MP_WritePhyUshort(sc, 0x06, 0xe4e2);
11691 MP_WritePhyUshort(sc, 0x06, 0x34e5);
11692 MP_WritePhyUshort(sc, 0x06, 0xe235);
11693 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
11694 MP_WritePhyUshort(sc, 0x06, 0x34e1);
11695 MP_WritePhyUshort(sc, 0x06, 0xe035);
11696 MP_WritePhyUshort(sc, 0x06, 0xf626);
11697 MP_WritePhyUshort(sc, 0x06, 0xe4e0);
11698 MP_WritePhyUshort(sc, 0x06, 0x34e5);
11699 MP_WritePhyUshort(sc, 0x06, 0xe035);
11700 MP_WritePhyUshort(sc, 0x06, 0xe0e2);
11701 MP_WritePhyUshort(sc, 0x06, 0xd6e1);
11702 MP_WritePhyUshort(sc, 0x06, 0xe2d7);
11703 MP_WritePhyUshort(sc, 0x06, 0xf628);
11704 MP_WritePhyUshort(sc, 0x06, 0xe4e2);
11705 MP_WritePhyUshort(sc, 0x06, 0xd6e5);
11706 MP_WritePhyUshort(sc, 0x06, 0xe2d7);
11707 MP_WritePhyUshort(sc, 0x06, 0xfc04);
11708 MP_WritePhyUshort(sc, 0x06, 0xae20);
11709 MP_WritePhyUshort(sc, 0x06, 0x0000);
11710 MP_WritePhyUshort(sc, 0x06, 0x0000);
11711 MP_WritePhyUshort(sc, 0x06, 0x0000);
11712 MP_WritePhyUshort(sc, 0x06, 0x0000);
11713 MP_WritePhyUshort(sc, 0x06, 0x0000);
11714 MP_WritePhyUshort(sc, 0x06, 0x0000);
11715 MP_WritePhyUshort(sc, 0x06, 0x0000);
11716 MP_WritePhyUshort(sc, 0x06, 0x0000);
11717 MP_WritePhyUshort(sc, 0x06, 0x0000);
11718 MP_WritePhyUshort(sc, 0x06, 0x0000);
11719 MP_WritePhyUshort(sc, 0x06, 0x0000);
11720 MP_WritePhyUshort(sc, 0x06, 0x0000);
11721 MP_WritePhyUshort(sc, 0x06, 0x0000);
11722 MP_WritePhyUshort(sc, 0x06, 0x0000);
11723 MP_WritePhyUshort(sc, 0x06, 0x0000);
11724 MP_WritePhyUshort(sc, 0x06, 0x0000);
11725 MP_WritePhyUshort(sc, 0x06, 0xa725);
11726 MP_WritePhyUshort(sc, 0x06, 0xe50a);
11727 MP_WritePhyUshort(sc, 0x06, 0x1de5);
11728 MP_WritePhyUshort(sc, 0x06, 0x0a2c);
11729 MP_WritePhyUshort(sc, 0x06, 0xe50a);
11730 MP_WritePhyUshort(sc, 0x06, 0x6de5);
11731 MP_WritePhyUshort(sc, 0x06, 0x0a1d);
11732 MP_WritePhyUshort(sc, 0x06, 0xe50a);
11733 MP_WritePhyUshort(sc, 0x06, 0x1ce5);
11734 MP_WritePhyUshort(sc, 0x06, 0x0a2d);
11735 MP_WritePhyUshort(sc, 0x06, 0xa755);
11736 MP_WritePhyUshort(sc, 0x06, 0x00e2);
11737 MP_WritePhyUshort(sc, 0x06, 0x3488);
11738 MP_WritePhyUshort(sc, 0x06, 0xe200);
11739 MP_WritePhyUshort(sc, 0x06, 0xcce2);
11740 MP_WritePhyUshort(sc, 0x06, 0x0055);
11741 MP_WritePhyUshort(sc, 0x06, 0xe020);
11742 MP_WritePhyUshort(sc, 0x06, 0x55e2);
11743 MP_WritePhyUshort(sc, 0x06, 0xd600);
11744 MP_WritePhyUshort(sc, 0x06, 0xe24a);
11745 PhyRegValue = MP_ReadPhyUshort(sc, 0x01);
11746 PhyRegValue |= BIT_0;
11747 MP_WritePhyUshort(sc, 0x01, PhyRegValue);
11748 PhyRegValue = MP_ReadPhyUshort(sc, 0x00);
11749 PhyRegValue |= BIT_0;
11750 MP_WritePhyUshort(sc, 0x00, PhyRegValue);
11751 MP_WritePhyUshort(sc, 0x1f, 0x0000);
11752 MP_WritePhyUshort(sc, 0x1f, 0x0000);
11753 MP_WritePhyUshort(sc, 0x17, 0x2179);
11754 MP_WritePhyUshort(sc, 0x1f, 0x0001);
11755 MP_WritePhyUshort(sc, 0x10, 0xf274);
11756 MP_WritePhyUshort(sc, 0x1f, 0x0007);
11757 MP_WritePhyUshort(sc, 0x1e, 0x0042);
11758 MP_WritePhyUshort(sc, 0x15, 0x0f00);
11759 MP_WritePhyUshort(sc, 0x15, 0x0f00);
11760 MP_WritePhyUshort(sc, 0x16, 0x7408);
11761 MP_WritePhyUshort(sc, 0x15, 0x0e00);
11762 MP_WritePhyUshort(sc, 0x15, 0x0f00);
11763 MP_WritePhyUshort(sc, 0x15, 0x0f01);
11764 MP_WritePhyUshort(sc, 0x16, 0x4000);
11765 MP_WritePhyUshort(sc, 0x15, 0x0e01);
11766 MP_WritePhyUshort(sc, 0x15, 0x0f01);
11767 MP_WritePhyUshort(sc, 0x15, 0x0f02);
11768 MP_WritePhyUshort(sc, 0x16, 0x9400);
11769 MP_WritePhyUshort(sc, 0x15, 0x0e02);
11770 MP_WritePhyUshort(sc, 0x15, 0x0f02);
11771 MP_WritePhyUshort(sc, 0x15, 0x0f03);
11772 MP_WritePhyUshort(sc, 0x16, 0x7408);
11773 MP_WritePhyUshort(sc, 0x15, 0x0e03);
11774 MP_WritePhyUshort(sc, 0x15, 0x0f03);
11775 MP_WritePhyUshort(sc, 0x15, 0x0f04);
11776 MP_WritePhyUshort(sc, 0x16, 0x4008);
11777 MP_WritePhyUshort(sc, 0x15, 0x0e04);
11778 MP_WritePhyUshort(sc, 0x15, 0x0f04);
11779 MP_WritePhyUshort(sc, 0x15, 0x0f05);
11780 MP_WritePhyUshort(sc, 0x16, 0x9400);
11781 MP_WritePhyUshort(sc, 0x15, 0x0e05);
11782 MP_WritePhyUshort(sc, 0x15, 0x0f05);
11783 MP_WritePhyUshort(sc, 0x15, 0x0f06);
11784 MP_WritePhyUshort(sc, 0x16, 0x0803);
11785 MP_WritePhyUshort(sc, 0x15, 0x0e06);
11786 MP_WritePhyUshort(sc, 0x15, 0x0f06);
11787 MP_WritePhyUshort(sc, 0x15, 0x0d00);
11788 MP_WritePhyUshort(sc, 0x15, 0x0100);
11789 MP_WritePhyUshort(sc, 0x1f, 0x0001);
11790 MP_WritePhyUshort(sc, 0x10, 0xf074);
11791 MP_WritePhyUshort(sc, 0x1f, 0x0000);
11792 MP_WritePhyUshort(sc, 0x17, 0x2149);
11793 MP_WritePhyUshort(sc, 0x1f, 0x0005);
11794 for (i=0; i<200; i++) {
11796 PhyRegValue = MP_ReadPhyUshort(sc, 0x00);
11797 if (PhyRegValue&0x0080)
11800 MP_WritePhyUshort(sc, 0x1f, 0x0007);
11801 MP_WritePhyUshort(sc, 0x1e, 0x0023);
11802 PhyRegValue = MP_ReadPhyUshort(sc, 0x17);
11803 PhyRegValue &= ~(BIT_0);
11804 if (sc->RequiredSecLanDonglePatch)
11805 PhyRegValue &= ~(BIT_2);
11806 MP_WritePhyUshort(sc, 0x17, PhyRegValue);
11807 MP_WritePhyUshort(sc, 0x1f, 0x0000);
11808 MP_WritePhyUshort(sc, 0x1f, 0x0007);
11809 MP_WritePhyUshort(sc, 0x1e, 0x0023);
11810 PhyRegValue = MP_ReadPhyUshort(sc, 0x17);
11811 PhyRegValue |= BIT_14;
11812 MP_WritePhyUshort(sc, 0x17, PhyRegValue);
11813 MP_WritePhyUshort(sc, 0x1e, 0x0020);
11814 PhyRegValue = MP_ReadPhyUshort(sc, 0x1b);
11815 PhyRegValue |= BIT_7;
11816 MP_WritePhyUshort(sc, 0x1b, PhyRegValue);
11817 MP_WritePhyUshort(sc, 0x1e, 0x0041);
11818 MP_WritePhyUshort(sc, 0x15, 0x0e02);
11819 MP_WritePhyUshort(sc, 0x1e, 0x0028);
11820 PhyRegValue = MP_ReadPhyUshort(sc, 0x19);
11821 PhyRegValue |= BIT_15;
11822 MP_WritePhyUshort(sc, 0x19, PhyRegValue);
11823 MP_WritePhyUshort(sc, 0x1f, 0x0000);
11825 MP_WritePhyUshort(sc, 0x1f, 0x0000);
11826 MP_WritePhyUshort(sc, 0x00, 0x1800);
11827 MP_WritePhyUshort(sc, 0x1f, 0x0007);
11828 MP_WritePhyUshort(sc, 0x1e, 0x0023);
11829 MP_WritePhyUshort(sc, 0x17, 0x0117);
11830 MP_WritePhyUshort(sc, 0x1f, 0x0007);
11831 MP_WritePhyUshort(sc, 0x1E, 0x002C);
11832 MP_WritePhyUshort(sc, 0x1B, 0x5000);
11833 MP_WritePhyUshort(sc, 0x1f, 0x0000);
11834 MP_WritePhyUshort(sc, 0x16, 0x4104);
11835 for (i = 0; i < 200; i++) {
11837 PhyRegValue = MP_ReadPhyUshort(sc, 0x1E);
11838 PhyRegValue &= 0x03FF;
11839 if (PhyRegValue==0x000C)
11842 MP_WritePhyUshort(sc, 0x1f, 0x0005);
11843 for (i = 0; i < 200; i++) {
11845 PhyRegValue = MP_ReadPhyUshort(sc, 0x07);
11846 if ((PhyRegValue & BIT_5) == 0)
11849 PhyRegValue = MP_ReadPhyUshort(sc, 0x07);
11850 if (PhyRegValue & BIT_5) {
11851 MP_WritePhyUshort(sc, 0x1f, 0x0007);
11852 MP_WritePhyUshort(sc, 0x1e, 0x00a1);
11853 MP_WritePhyUshort(sc, 0x17, 0x1000);
11854 MP_WritePhyUshort(sc, 0x17, 0x0000);
11855 MP_WritePhyUshort(sc, 0x17, 0x2000);
11856 MP_WritePhyUshort(sc, 0x1e, 0x002f);
11857 MP_WritePhyUshort(sc, 0x18, 0x9bfb);
11858 MP_WritePhyUshort(sc, 0x1f, 0x0005);
11859 MP_WritePhyUshort(sc, 0x07, 0x0000);
11860 MP_WritePhyUshort(sc, 0x1f, 0x0000);
11862 MP_WritePhyUshort(sc, 0x1f, 0x0005);
11863 MP_WritePhyUshort(sc, 0x05, 0xfff6);
11864 MP_WritePhyUshort(sc, 0x06, 0x0080);
11865 PhyRegValue = MP_ReadPhyUshort(sc, 0x00);
11866 PhyRegValue &= ~(BIT_7);
11867 MP_WritePhyUshort(sc, 0x00, PhyRegValue);
11868 MP_WritePhyUshort(sc, 0x1f, 0x0002);
11869 PhyRegValue = MP_ReadPhyUshort(sc, 0x08);
11870 PhyRegValue &= ~(BIT_7);
11871 MP_WritePhyUshort(sc, 0x08, PhyRegValue);
11872 MP_WritePhyUshort(sc, 0x1f, 0x0000);
11874 MP_WritePhyUshort(sc, 0x1f, 0x0007);
11875 MP_WritePhyUshort(sc, 0x1e, 0x0023);
11876 MP_WritePhyUshort(sc, 0x16, 0x0306);
11877 MP_WritePhyUshort(sc, 0x16, 0x0307);
11878 MP_WritePhyUshort(sc, 0x15, 0x000e);
11879 MP_WritePhyUshort(sc, 0x19, 0x000a);
11880 MP_WritePhyUshort(sc, 0x15, 0x0010);
11881 MP_WritePhyUshort(sc, 0x19, 0x0008);
11882 MP_WritePhyUshort(sc, 0x15, 0x0018);
11883 MP_WritePhyUshort(sc, 0x19, 0x4801);
11884 MP_WritePhyUshort(sc, 0x15, 0x0019);
11885 MP_WritePhyUshort(sc, 0x19, 0x6801);
11886 MP_WritePhyUshort(sc, 0x15, 0x001a);
11887 MP_WritePhyUshort(sc, 0x19, 0x66a1);
11888 MP_WritePhyUshort(sc, 0x15, 0x001f);
11889 MP_WritePhyUshort(sc, 0x19, 0x0000);
11890 MP_WritePhyUshort(sc, 0x15, 0x0020);
11891 MP_WritePhyUshort(sc, 0x19, 0x0000);
11892 MP_WritePhyUshort(sc, 0x15, 0x0021);
11893 MP_WritePhyUshort(sc, 0x19, 0x0000);
11894 MP_WritePhyUshort(sc, 0x15, 0x0022);
11895 MP_WritePhyUshort(sc, 0x19, 0x0000);
11896 MP_WritePhyUshort(sc, 0x15, 0x0023);
11897 MP_WritePhyUshort(sc, 0x19, 0x0000);
11898 MP_WritePhyUshort(sc, 0x15, 0x0024);
11899 MP_WritePhyUshort(sc, 0x19, 0x0000);
11900 MP_WritePhyUshort(sc, 0x15, 0x0025);
11901 MP_WritePhyUshort(sc, 0x19, 0x64a1);
11902 MP_WritePhyUshort(sc, 0x15, 0x0026);
11903 MP_WritePhyUshort(sc, 0x19, 0x40ea);
11904 MP_WritePhyUshort(sc, 0x15, 0x0027);
11905 MP_WritePhyUshort(sc, 0x19, 0x4503);
11906 MP_WritePhyUshort(sc, 0x15, 0x0028);
11907 MP_WritePhyUshort(sc, 0x19, 0x9f00);
11908 MP_WritePhyUshort(sc, 0x15, 0x0029);
11909 MP_WritePhyUshort(sc, 0x19, 0xa631);
11910 MP_WritePhyUshort(sc, 0x15, 0x002a);
11911 MP_WritePhyUshort(sc, 0x19, 0x9717);
11912 MP_WritePhyUshort(sc, 0x15, 0x002b);
11913 MP_WritePhyUshort(sc, 0x19, 0x302c);
11914 MP_WritePhyUshort(sc, 0x15, 0x002c);
11915 MP_WritePhyUshort(sc, 0x19, 0x4802);
11916 MP_WritePhyUshort(sc, 0x15, 0x002d);
11917 MP_WritePhyUshort(sc, 0x19, 0x58da);
11918 MP_WritePhyUshort(sc, 0x15, 0x002e);
11919 MP_WritePhyUshort(sc, 0x19, 0x400d);
11920 MP_WritePhyUshort(sc, 0x15, 0x002f);
11921 MP_WritePhyUshort(sc, 0x19, 0x4488);
11922 MP_WritePhyUshort(sc, 0x15, 0x0030);
11923 MP_WritePhyUshort(sc, 0x19, 0x9e00);
11924 MP_WritePhyUshort(sc, 0x15, 0x0031);
11925 MP_WritePhyUshort(sc, 0x19, 0x63c8);
11926 MP_WritePhyUshort(sc, 0x15, 0x0032);
11927 MP_WritePhyUshort(sc, 0x19, 0x6481);
11928 MP_WritePhyUshort(sc, 0x15, 0x0033);
11929 MP_WritePhyUshort(sc, 0x19, 0x0000);
11930 MP_WritePhyUshort(sc, 0x15, 0x0034);
11931 MP_WritePhyUshort(sc, 0x19, 0x0000);
11932 MP_WritePhyUshort(sc, 0x15, 0x0035);
11933 MP_WritePhyUshort(sc, 0x19, 0x0000);
11934 MP_WritePhyUshort(sc, 0x15, 0x0036);
11935 MP_WritePhyUshort(sc, 0x19, 0x0000);
11936 MP_WritePhyUshort(sc, 0x15, 0x0037);
11937 MP_WritePhyUshort(sc, 0x19, 0x0000);
11938 MP_WritePhyUshort(sc, 0x15, 0x0038);
11939 MP_WritePhyUshort(sc, 0x19, 0x0000);
11940 MP_WritePhyUshort(sc, 0x15, 0x0039);
11941 MP_WritePhyUshort(sc, 0x19, 0x0000);
11942 MP_WritePhyUshort(sc, 0x15, 0x003a);
11943 MP_WritePhyUshort(sc, 0x19, 0x0000);
11944 MP_WritePhyUshort(sc, 0x15, 0x003b);
11945 MP_WritePhyUshort(sc, 0x19, 0x63e8);
11946 MP_WritePhyUshort(sc, 0x15, 0x003c);
11947 MP_WritePhyUshort(sc, 0x19, 0x7d00);
11948 MP_WritePhyUshort(sc, 0x15, 0x003d);
11949 MP_WritePhyUshort(sc, 0x19, 0x59d4);
11950 MP_WritePhyUshort(sc, 0x15, 0x003e);
11951 MP_WritePhyUshort(sc, 0x19, 0x63f8);
11952 MP_WritePhyUshort(sc, 0x15, 0x0040);
11953 MP_WritePhyUshort(sc, 0x19, 0x64a1);
11954 MP_WritePhyUshort(sc, 0x15, 0x0041);
11955 MP_WritePhyUshort(sc, 0x19, 0x30de);
11956 MP_WritePhyUshort(sc, 0x15, 0x0044);
11957 MP_WritePhyUshort(sc, 0x19, 0x480f);
11958 MP_WritePhyUshort(sc, 0x15, 0x0045);
11959 MP_WritePhyUshort(sc, 0x19, 0x6800);
11960 MP_WritePhyUshort(sc, 0x15, 0x0046);
11961 MP_WritePhyUshort(sc, 0x19, 0x6680);
11962 MP_WritePhyUshort(sc, 0x15, 0x0047);
11963 MP_WritePhyUshort(sc, 0x19, 0x7c10);
11964 MP_WritePhyUshort(sc, 0x15, 0x0048);
11965 MP_WritePhyUshort(sc, 0x19, 0x63c8);
11966 MP_WritePhyUshort(sc, 0x15, 0x0049);
11967 MP_WritePhyUshort(sc, 0x19, 0x0000);
11968 MP_WritePhyUshort(sc, 0x15, 0x004a);
11969 MP_WritePhyUshort(sc, 0x19, 0x0000);
11970 MP_WritePhyUshort(sc, 0x15, 0x004b);
11971 MP_WritePhyUshort(sc, 0x19, 0x0000);
11972 MP_WritePhyUshort(sc, 0x15, 0x004c);
11973 MP_WritePhyUshort(sc, 0x19, 0x0000);
11974 MP_WritePhyUshort(sc, 0x15, 0x004d);
11975 MP_WritePhyUshort(sc, 0x19, 0x0000);
11976 MP_WritePhyUshort(sc, 0x15, 0x004e);
11977 MP_WritePhyUshort(sc, 0x19, 0x0000);
11978 MP_WritePhyUshort(sc, 0x15, 0x004f);
11979 MP_WritePhyUshort(sc, 0x19, 0x40ea);
11980 MP_WritePhyUshort(sc, 0x15, 0x0050);
11981 MP_WritePhyUshort(sc, 0x19, 0x4503);
11982 MP_WritePhyUshort(sc, 0x15, 0x0051);
11983 MP_WritePhyUshort(sc, 0x19, 0x58ca);
11984 MP_WritePhyUshort(sc, 0x15, 0x0052);
11985 MP_WritePhyUshort(sc, 0x19, 0x63c8);
11986 MP_WritePhyUshort(sc, 0x15, 0x0053);
11987 MP_WritePhyUshort(sc, 0x19, 0x63d8);
11988 MP_WritePhyUshort(sc, 0x15, 0x0054);
11989 MP_WritePhyUshort(sc, 0x19, 0x66a0);
11990 MP_WritePhyUshort(sc, 0x15, 0x0055);
11991 MP_WritePhyUshort(sc, 0x19, 0x9f00);
11992 MP_WritePhyUshort(sc, 0x15, 0x0056);
11993 MP_WritePhyUshort(sc, 0x19, 0x3000);
11994 MP_WritePhyUshort(sc, 0x15, 0x00a1);
11995 MP_WritePhyUshort(sc, 0x19, 0x3044);
11996 MP_WritePhyUshort(sc, 0x15, 0x00ab);
11997 MP_WritePhyUshort(sc, 0x19, 0x5820);
11998 MP_WritePhyUshort(sc, 0x15, 0x00ac);
11999 MP_WritePhyUshort(sc, 0x19, 0x5e04);
12000 MP_WritePhyUshort(sc, 0x15, 0x00ad);
12001 MP_WritePhyUshort(sc, 0x19, 0xb60c);
12002 MP_WritePhyUshort(sc, 0x15, 0x00af);
12003 MP_WritePhyUshort(sc, 0x19, 0x000a);
12004 MP_WritePhyUshort(sc, 0x15, 0x00b2);
12005 MP_WritePhyUshort(sc, 0x19, 0x30b9);
12006 MP_WritePhyUshort(sc, 0x15, 0x00b9);
12007 MP_WritePhyUshort(sc, 0x19, 0x4408);
12008 MP_WritePhyUshort(sc, 0x15, 0x00ba);
12009 MP_WritePhyUshort(sc, 0x19, 0x480b);
12010 MP_WritePhyUshort(sc, 0x15, 0x00bb);
12011 MP_WritePhyUshort(sc, 0x19, 0x5e00);
12012 MP_WritePhyUshort(sc, 0x15, 0x00bc);
12013 MP_WritePhyUshort(sc, 0x19, 0x405f);
12014 MP_WritePhyUshort(sc, 0x15, 0x00bd);
12015 MP_WritePhyUshort(sc, 0x19, 0x4448);
12016 MP_WritePhyUshort(sc, 0x15, 0x00be);
12017 MP_WritePhyUshort(sc, 0x19, 0x4020);
12018 MP_WritePhyUshort(sc, 0x15, 0x00bf);
12019 MP_WritePhyUshort(sc, 0x19, 0x4468);
12020 MP_WritePhyUshort(sc, 0x15, 0x00c0);
12021 MP_WritePhyUshort(sc, 0x19, 0x9c02);
12022 MP_WritePhyUshort(sc, 0x15, 0x00c1);
12023 MP_WritePhyUshort(sc, 0x19, 0x58a0);
12024 MP_WritePhyUshort(sc, 0x15, 0x00c2);
12025 MP_WritePhyUshort(sc, 0x19, 0xb605);
12026 MP_WritePhyUshort(sc, 0x15, 0x00c3);
12027 MP_WritePhyUshort(sc, 0x19, 0xc0d3);
12028 MP_WritePhyUshort(sc, 0x15, 0x00c4);
12029 MP_WritePhyUshort(sc, 0x19, 0x00e6);
12030 MP_WritePhyUshort(sc, 0x15, 0x00c5);
12031 MP_WritePhyUshort(sc, 0x19, 0xdaec);
12032 MP_WritePhyUshort(sc, 0x15, 0x00c6);
12033 MP_WritePhyUshort(sc, 0x19, 0x00fa);
12034 MP_WritePhyUshort(sc, 0x15, 0x00c7);
12035 MP_WritePhyUshort(sc, 0x19, 0x9df9);
12036 MP_WritePhyUshort(sc, 0x15, 0x0112);
12037 MP_WritePhyUshort(sc, 0x19, 0x6421);
12038 MP_WritePhyUshort(sc, 0x15, 0x0113);
12039 MP_WritePhyUshort(sc, 0x19, 0x7c08);
12040 MP_WritePhyUshort(sc, 0x15, 0x0114);
12041 MP_WritePhyUshort(sc, 0x19, 0x63f0);
12042 MP_WritePhyUshort(sc, 0x15, 0x0115);
12043 MP_WritePhyUshort(sc, 0x19, 0x4003);
12044 MP_WritePhyUshort(sc, 0x15, 0x0116);
12045 MP_WritePhyUshort(sc, 0x19, 0x4418);
12046 MP_WritePhyUshort(sc, 0x15, 0x0117);
12047 MP_WritePhyUshort(sc, 0x19, 0x9b00);
12048 MP_WritePhyUshort(sc, 0x15, 0x0118);
12049 MP_WritePhyUshort(sc, 0x19, 0x6461);
12050 MP_WritePhyUshort(sc, 0x15, 0x0119);
12051 MP_WritePhyUshort(sc, 0x19, 0x64e1);
12052 MP_WritePhyUshort(sc, 0x15, 0x011a);
12053 MP_WritePhyUshort(sc, 0x19, 0x0000);
12054 MP_WritePhyUshort(sc, 0x15, 0x0150);
12055 MP_WritePhyUshort(sc, 0x19, 0x7c80);
12056 MP_WritePhyUshort(sc, 0x15, 0x0151);
12057 MP_WritePhyUshort(sc, 0x19, 0x6461);
12058 MP_WritePhyUshort(sc, 0x15, 0x0152);
12059 MP_WritePhyUshort(sc, 0x19, 0x4003);
12060 MP_WritePhyUshort(sc, 0x15, 0x0153);
12061 MP_WritePhyUshort(sc, 0x19, 0x4540);
12062 MP_WritePhyUshort(sc, 0x15, 0x0154);
12063 MP_WritePhyUshort(sc, 0x19, 0x9f00);
12064 MP_WritePhyUshort(sc, 0x15, 0x0155);
12065 MP_WritePhyUshort(sc, 0x19, 0x9d00);
12066 MP_WritePhyUshort(sc, 0x15, 0x0156);
12067 MP_WritePhyUshort(sc, 0x19, 0x7c40);
12068 MP_WritePhyUshort(sc, 0x15, 0x0157);
12069 MP_WritePhyUshort(sc, 0x19, 0x6421);
12070 MP_WritePhyUshort(sc, 0x15, 0x0158);
12071 MP_WritePhyUshort(sc, 0x19, 0x7c80);
12072 MP_WritePhyUshort(sc, 0x15, 0x0159);
12073 MP_WritePhyUshort(sc, 0x19, 0x64a1);
12074 MP_WritePhyUshort(sc, 0x15, 0x015a);
12075 MP_WritePhyUshort(sc, 0x19, 0x30fe);
12076 MP_WritePhyUshort(sc, 0x15, 0x029c);
12077 MP_WritePhyUshort(sc, 0x19, 0x0070);
12078 MP_WritePhyUshort(sc, 0x15, 0x02b2);
12079 MP_WritePhyUshort(sc, 0x19, 0x005a);
12080 MP_WritePhyUshort(sc, 0x15, 0x02bd);
12081 MP_WritePhyUshort(sc, 0x19, 0xa522);
12082 MP_WritePhyUshort(sc, 0x15, 0x02ce);
12083 MP_WritePhyUshort(sc, 0x19, 0xb63e);
12084 MP_WritePhyUshort(sc, 0x15, 0x02d9);
12085 MP_WritePhyUshort(sc, 0x19, 0x32df);
12086 MP_WritePhyUshort(sc, 0x15, 0x02df);
12087 MP_WritePhyUshort(sc, 0x19, 0x4500);
12088 MP_WritePhyUshort(sc, 0x15, 0x02f4);
12089 MP_WritePhyUshort(sc, 0x19, 0xb618);
12090 MP_WritePhyUshort(sc, 0x15, 0x02fb);
12091 MP_WritePhyUshort(sc, 0x19, 0xb900);
12092 MP_WritePhyUshort(sc, 0x15, 0x02fc);
12093 MP_WritePhyUshort(sc, 0x19, 0x49b5);
12094 MP_WritePhyUshort(sc, 0x15, 0x02fd);
12095 MP_WritePhyUshort(sc, 0x19, 0x6812);
12096 MP_WritePhyUshort(sc, 0x15, 0x02fe);
12097 MP_WritePhyUshort(sc, 0x19, 0x66a0);
12098 MP_WritePhyUshort(sc, 0x15, 0x02ff);
12099 MP_WritePhyUshort(sc, 0x19, 0x9900);
12100 MP_WritePhyUshort(sc, 0x15, 0x0300);
12101 MP_WritePhyUshort(sc, 0x19, 0x64a0);
12102 MP_WritePhyUshort(sc, 0x15, 0x0301);
12103 MP_WritePhyUshort(sc, 0x19, 0x3316);
12104 MP_WritePhyUshort(sc, 0x15, 0x0308);
12105 MP_WritePhyUshort(sc, 0x19, 0x0000);
12106 MP_WritePhyUshort(sc, 0x15, 0x030c);
12107 MP_WritePhyUshort(sc, 0x19, 0x3000);
12108 MP_WritePhyUshort(sc, 0x15, 0x0312);
12109 MP_WritePhyUshort(sc, 0x19, 0x0000);
12110 MP_WritePhyUshort(sc, 0x15, 0x0313);
12111 MP_WritePhyUshort(sc, 0x19, 0x0000);
12112 MP_WritePhyUshort(sc, 0x15, 0x0314);
12113 MP_WritePhyUshort(sc, 0x19, 0x0000);
12114 MP_WritePhyUshort(sc, 0x15, 0x0315);
12115 MP_WritePhyUshort(sc, 0x19, 0x0000);
12116 MP_WritePhyUshort(sc, 0x15, 0x0316);
12117 MP_WritePhyUshort(sc, 0x19, 0x49b5);
12118 MP_WritePhyUshort(sc, 0x15, 0x0317);
12119 MP_WritePhyUshort(sc, 0x19, 0x7d00);
12120 MP_WritePhyUshort(sc, 0x15, 0x0318);
12121 MP_WritePhyUshort(sc, 0x19, 0x4d00);
12122 MP_WritePhyUshort(sc, 0x15, 0x0319);
12123 MP_WritePhyUshort(sc, 0x19, 0x6810);
12124 MP_WritePhyUshort(sc, 0x15, 0x031a);
12125 MP_WritePhyUshort(sc, 0x19, 0x6c08);
12126 MP_WritePhyUshort(sc, 0x15, 0x031b);
12127 MP_WritePhyUshort(sc, 0x19, 0x4925);
12128 MP_WritePhyUshort(sc, 0x15, 0x031c);
12129 MP_WritePhyUshort(sc, 0x19, 0x403b);
12130 MP_WritePhyUshort(sc, 0x15, 0x031d);
12131 MP_WritePhyUshort(sc, 0x19, 0xa602);
12132 MP_WritePhyUshort(sc, 0x15, 0x031e);
12133 MP_WritePhyUshort(sc, 0x19, 0x402f);
12134 MP_WritePhyUshort(sc, 0x15, 0x031f);
12135 MP_WritePhyUshort(sc, 0x19, 0x4484);
12136 MP_WritePhyUshort(sc, 0x15, 0x0320);
12137 MP_WritePhyUshort(sc, 0x19, 0x40c8);
12138 MP_WritePhyUshort(sc, 0x15, 0x0321);
12139 MP_WritePhyUshort(sc, 0x19, 0x44c4);
12140 MP_WritePhyUshort(sc, 0x15, 0x0322);
12141 MP_WritePhyUshort(sc, 0x19, 0x404f);
12142 MP_WritePhyUshort(sc, 0x15, 0x0323);
12143 MP_WritePhyUshort(sc, 0x19, 0x44c8);
12144 MP_WritePhyUshort(sc, 0x15, 0x0324);
12145 MP_WritePhyUshort(sc, 0x19, 0xd64f);
12146 MP_WritePhyUshort(sc, 0x15, 0x0325);
12147 MP_WritePhyUshort(sc, 0x19, 0x00e7);
12148 MP_WritePhyUshort(sc, 0x15, 0x0326);
12149 MP_WritePhyUshort(sc, 0x19, 0x7c08);
12150 MP_WritePhyUshort(sc, 0x15, 0x0327);
12151 MP_WritePhyUshort(sc, 0x19, 0x8203);
12152 MP_WritePhyUshort(sc, 0x15, 0x0328);
12153 MP_WritePhyUshort(sc, 0x19, 0x4d48);
12154 MP_WritePhyUshort(sc, 0x15, 0x0329);
12155 MP_WritePhyUshort(sc, 0x19, 0x332b);
12156 MP_WritePhyUshort(sc, 0x15, 0x032a);
12157 MP_WritePhyUshort(sc, 0x19, 0x4d40);
12158 MP_WritePhyUshort(sc, 0x15, 0x032c);
12159 MP_WritePhyUshort(sc, 0x19, 0x00f8);
12160 MP_WritePhyUshort(sc, 0x15, 0x032d);
12161 MP_WritePhyUshort(sc, 0x19, 0x82b2);
12162 MP_WritePhyUshort(sc, 0x15, 0x032f);
12163 MP_WritePhyUshort(sc, 0x19, 0x00b0);
12164 MP_WritePhyUshort(sc, 0x15, 0x0332);
12165 MP_WritePhyUshort(sc, 0x19, 0x91f2);
12166 MP_WritePhyUshort(sc, 0x15, 0x033f);
12167 MP_WritePhyUshort(sc, 0x19, 0xb6cd);
12168 MP_WritePhyUshort(sc, 0x15, 0x0340);
12169 MP_WritePhyUshort(sc, 0x19, 0x9e01);
12170 MP_WritePhyUshort(sc, 0x15, 0x0341);
12171 MP_WritePhyUshort(sc, 0x19, 0xd11d);
12172 MP_WritePhyUshort(sc, 0x15, 0x0342);
12173 MP_WritePhyUshort(sc, 0x19, 0x009d);
12174 MP_WritePhyUshort(sc, 0x15, 0x0343);
12175 MP_WritePhyUshort(sc, 0x19, 0xbb1c);
12176 MP_WritePhyUshort(sc, 0x15, 0x0344);
12177 MP_WritePhyUshort(sc, 0x19, 0x8102);
12178 MP_WritePhyUshort(sc, 0x15, 0x0345);
12179 MP_WritePhyUshort(sc, 0x19, 0x3348);
12180 MP_WritePhyUshort(sc, 0x15, 0x0346);
12181 MP_WritePhyUshort(sc, 0x19, 0xa231);
12182 MP_WritePhyUshort(sc, 0x15, 0x0347);
12183 MP_WritePhyUshort(sc, 0x19, 0x335b);
12184 MP_WritePhyUshort(sc, 0x15, 0x0348);
12185 MP_WritePhyUshort(sc, 0x19, 0x91f7);
12186 MP_WritePhyUshort(sc, 0x15, 0x0349);
12187 MP_WritePhyUshort(sc, 0x19, 0xc218);
12188 MP_WritePhyUshort(sc, 0x15, 0x034a);
12189 MP_WritePhyUshort(sc, 0x19, 0x00f5);
12190 MP_WritePhyUshort(sc, 0x15, 0x034b);
12191 MP_WritePhyUshort(sc, 0x19, 0x335b);
12192 MP_WritePhyUshort(sc, 0x15, 0x034c);
12193 MP_WritePhyUshort(sc, 0x19, 0x0000);
12194 MP_WritePhyUshort(sc, 0x15, 0x034d);
12195 MP_WritePhyUshort(sc, 0x19, 0x0000);
12196 MP_WritePhyUshort(sc, 0x15, 0x034e);
12197 MP_WritePhyUshort(sc, 0x19, 0x0000);
12198 MP_WritePhyUshort(sc, 0x15, 0x034f);
12199 MP_WritePhyUshort(sc, 0x19, 0x0000);
12200 MP_WritePhyUshort(sc, 0x15, 0x0350);
12201 MP_WritePhyUshort(sc, 0x19, 0x0000);
12202 MP_WritePhyUshort(sc, 0x15, 0x035b);
12203 MP_WritePhyUshort(sc, 0x19, 0xa23c);
12204 MP_WritePhyUshort(sc, 0x15, 0x035c);
12205 MP_WritePhyUshort(sc, 0x19, 0x7c08);
12206 MP_WritePhyUshort(sc, 0x15, 0x035d);
12207 MP_WritePhyUshort(sc, 0x19, 0x4c00);
12208 MP_WritePhyUshort(sc, 0x15, 0x035e);
12209 MP_WritePhyUshort(sc, 0x19, 0x3397);
12210 MP_WritePhyUshort(sc, 0x15, 0x0363);
12211 MP_WritePhyUshort(sc, 0x19, 0xb6a9);
12212 MP_WritePhyUshort(sc, 0x15, 0x0366);
12213 MP_WritePhyUshort(sc, 0x19, 0x00f5);
12214 MP_WritePhyUshort(sc, 0x15, 0x0382);
12215 MP_WritePhyUshort(sc, 0x19, 0x7c40);
12216 MP_WritePhyUshort(sc, 0x15, 0x0388);
12217 MP_WritePhyUshort(sc, 0x19, 0x0084);
12218 MP_WritePhyUshort(sc, 0x15, 0x0389);
12219 MP_WritePhyUshort(sc, 0x19, 0xdd17);
12220 MP_WritePhyUshort(sc, 0x15, 0x038a);
12221 MP_WritePhyUshort(sc, 0x19, 0x000b);
12222 MP_WritePhyUshort(sc, 0x15, 0x038b);
12223 MP_WritePhyUshort(sc, 0x19, 0xa10a);
12224 MP_WritePhyUshort(sc, 0x15, 0x038c);
12225 MP_WritePhyUshort(sc, 0x19, 0x337e);
12226 MP_WritePhyUshort(sc, 0x15, 0x038d);
12227 MP_WritePhyUshort(sc, 0x19, 0x6c0b);
12228 MP_WritePhyUshort(sc, 0x15, 0x038e);
12229 MP_WritePhyUshort(sc, 0x19, 0xa107);
12230 MP_WritePhyUshort(sc, 0x15, 0x038f);
12231 MP_WritePhyUshort(sc, 0x19, 0x6c08);
12232 MP_WritePhyUshort(sc, 0x15, 0x0390);
12233 MP_WritePhyUshort(sc, 0x19, 0xc017);
12234 MP_WritePhyUshort(sc, 0x15, 0x0391);
12235 MP_WritePhyUshort(sc, 0x19, 0x0004);
12236 MP_WritePhyUshort(sc, 0x15, 0x0392);
12237 MP_WritePhyUshort(sc, 0x19, 0xd64f);
12238 MP_WritePhyUshort(sc, 0x15, 0x0393);
12239 MP_WritePhyUshort(sc, 0x19, 0x00f4);
12240 MP_WritePhyUshort(sc, 0x15, 0x0397);
12241 MP_WritePhyUshort(sc, 0x19, 0x4098);
12242 MP_WritePhyUshort(sc, 0x15, 0x0398);
12243 MP_WritePhyUshort(sc, 0x19, 0x4408);
12244 MP_WritePhyUshort(sc, 0x15, 0x0399);
12245 MP_WritePhyUshort(sc, 0x19, 0x55bf);
12246 MP_WritePhyUshort(sc, 0x15, 0x039a);
12247 MP_WritePhyUshort(sc, 0x19, 0x4bb9);
12248 MP_WritePhyUshort(sc, 0x15, 0x039b);
12249 MP_WritePhyUshort(sc, 0x19, 0x6810);
12250 MP_WritePhyUshort(sc, 0x15, 0x039c);
12251 MP_WritePhyUshort(sc, 0x19, 0x4b29);
12252 MP_WritePhyUshort(sc, 0x15, 0x039d);
12253 MP_WritePhyUshort(sc, 0x19, 0x4041);
12254 MP_WritePhyUshort(sc, 0x15, 0x039e);
12255 MP_WritePhyUshort(sc, 0x19, 0x442a);
12256 MP_WritePhyUshort(sc, 0x15, 0x039f);
12257 MP_WritePhyUshort(sc, 0x19, 0x4029);
12258 MP_WritePhyUshort(sc, 0x15, 0x03aa);
12259 MP_WritePhyUshort(sc, 0x19, 0x33b8);
12260 MP_WritePhyUshort(sc, 0x15, 0x03b6);
12261 MP_WritePhyUshort(sc, 0x19, 0x0000);
12262 MP_WritePhyUshort(sc, 0x15, 0x03b7);
12263 MP_WritePhyUshort(sc, 0x19, 0x0000);
12264 MP_WritePhyUshort(sc, 0x15, 0x03b8);
12265 MP_WritePhyUshort(sc, 0x19, 0x543f);
12266 MP_WritePhyUshort(sc, 0x15, 0x03b9);
12267 MP_WritePhyUshort(sc, 0x19, 0x499a);
12268 MP_WritePhyUshort(sc, 0x15, 0x03ba);
12269 MP_WritePhyUshort(sc, 0x19, 0x7c40);
12270 MP_WritePhyUshort(sc, 0x15, 0x03bb);
12271 MP_WritePhyUshort(sc, 0x19, 0x4c40);
12272 MP_WritePhyUshort(sc, 0x15, 0x03bc);
12273 MP_WritePhyUshort(sc, 0x19, 0x490a);
12274 MP_WritePhyUshort(sc, 0x15, 0x03bd);
12275 MP_WritePhyUshort(sc, 0x19, 0x405e);
12276 MP_WritePhyUshort(sc, 0x15, 0x03c2);
12277 MP_WritePhyUshort(sc, 0x19, 0x9a03);
12278 MP_WritePhyUshort(sc, 0x15, 0x03c4);
12279 MP_WritePhyUshort(sc, 0x19, 0x0015);
12280 MP_WritePhyUshort(sc, 0x15, 0x03c5);
12281 MP_WritePhyUshort(sc, 0x19, 0x9e03);
12282 MP_WritePhyUshort(sc, 0x15, 0x03c8);
12283 MP_WritePhyUshort(sc, 0x19, 0x9cf7);
12284 MP_WritePhyUshort(sc, 0x15, 0x03c9);
12285 MP_WritePhyUshort(sc, 0x19, 0x7c12);
12286 MP_WritePhyUshort(sc, 0x15, 0x03ca);
12287 MP_WritePhyUshort(sc, 0x19, 0x4c52);
12288 MP_WritePhyUshort(sc, 0x15, 0x03cb);
12289 MP_WritePhyUshort(sc, 0x19, 0x4458);
12290 MP_WritePhyUshort(sc, 0x15, 0x03cd);
12291 MP_WritePhyUshort(sc, 0x19, 0x4c40);
12292 MP_WritePhyUshort(sc, 0x15, 0x03ce);
12293 MP_WritePhyUshort(sc, 0x19, 0x33bf);
12294 MP_WritePhyUshort(sc, 0x15, 0x03cf);
12295 MP_WritePhyUshort(sc, 0x19, 0x0000);
12296 MP_WritePhyUshort(sc, 0x15, 0x03d0);
12297 MP_WritePhyUshort(sc, 0x19, 0x0000);
12298 MP_WritePhyUshort(sc, 0x15, 0x03d1);
12299 MP_WritePhyUshort(sc, 0x19, 0x0000);
12300 MP_WritePhyUshort(sc, 0x15, 0x03d5);
12301 MP_WritePhyUshort(sc, 0x19, 0x0000);
12302 MP_WritePhyUshort(sc, 0x15, 0x03d6);
12303 MP_WritePhyUshort(sc, 0x19, 0x0000);
12304 MP_WritePhyUshort(sc, 0x15, 0x03d7);
12305 MP_WritePhyUshort(sc, 0x19, 0x0000);
12306 MP_WritePhyUshort(sc, 0x15, 0x03d8);
12307 MP_WritePhyUshort(sc, 0x19, 0x0000);
12308 MP_WritePhyUshort(sc, 0x15, 0x03d9);
12309 MP_WritePhyUshort(sc, 0x19, 0x49bb);
12310 MP_WritePhyUshort(sc, 0x15, 0x03da);
12311 MP_WritePhyUshort(sc, 0x19, 0x4478);
12312 MP_WritePhyUshort(sc, 0x15, 0x03db);
12313 MP_WritePhyUshort(sc, 0x19, 0x492b);
12314 MP_WritePhyUshort(sc, 0x15, 0x03dc);
12315 MP_WritePhyUshort(sc, 0x19, 0x7c01);
12316 MP_WritePhyUshort(sc, 0x15, 0x03dd);
12317 MP_WritePhyUshort(sc, 0x19, 0x4c00);
12318 MP_WritePhyUshort(sc, 0x15, 0x03de);
12319 MP_WritePhyUshort(sc, 0x19, 0xbd1a);
12320 MP_WritePhyUshort(sc, 0x15, 0x03df);
12321 MP_WritePhyUshort(sc, 0x19, 0xc428);
12322 MP_WritePhyUshort(sc, 0x15, 0x03e0);
12323 MP_WritePhyUshort(sc, 0x19, 0x0008);
12324 MP_WritePhyUshort(sc, 0x15, 0x03e1);
12325 MP_WritePhyUshort(sc, 0x19, 0x9cfd);
12326 MP_WritePhyUshort(sc, 0x15, 0x03e2);
12327 MP_WritePhyUshort(sc, 0x19, 0x7c12);
12328 MP_WritePhyUshort(sc, 0x15, 0x03e3);
12329 MP_WritePhyUshort(sc, 0x19, 0x4c52);
12330 MP_WritePhyUshort(sc, 0x15, 0x03e4);
12331 MP_WritePhyUshort(sc, 0x19, 0x4458);
12332 MP_WritePhyUshort(sc, 0x15, 0x03e5);
12333 MP_WritePhyUshort(sc, 0x19, 0x7c12);
12334 MP_WritePhyUshort(sc, 0x15, 0x03e6);
12335 MP_WritePhyUshort(sc, 0x19, 0x4c40);
12336 MP_WritePhyUshort(sc, 0x15, 0x03e7);
12337 MP_WritePhyUshort(sc, 0x19, 0x33de);
12338 MP_WritePhyUshort(sc, 0x15, 0x03e8);
12339 MP_WritePhyUshort(sc, 0x19, 0xc218);
12340 MP_WritePhyUshort(sc, 0x15, 0x03e9);
12341 MP_WritePhyUshort(sc, 0x19, 0x0002);
12342 MP_WritePhyUshort(sc, 0x15, 0x03ea);
12343 MP_WritePhyUshort(sc, 0x19, 0x32df);
12344 MP_WritePhyUshort(sc, 0x15, 0x03eb);
12345 MP_WritePhyUshort(sc, 0x19, 0x3316);
12346 MP_WritePhyUshort(sc, 0x15, 0x03ec);
12347 MP_WritePhyUshort(sc, 0x19, 0x0000);
12348 MP_WritePhyUshort(sc, 0x15, 0x03ed);
12349 MP_WritePhyUshort(sc, 0x19, 0x0000);
12350 MP_WritePhyUshort(sc, 0x15, 0x03ee);
12351 MP_WritePhyUshort(sc, 0x19, 0x0000);
12352 MP_WritePhyUshort(sc, 0x15, 0x03ef);
12353 MP_WritePhyUshort(sc, 0x19, 0x0000);
12354 MP_WritePhyUshort(sc, 0x15, 0x03f7);
12355 MP_WritePhyUshort(sc, 0x19, 0x330c);
12356 MP_WritePhyUshort(sc, 0x16, 0x0306);
12357 MP_WritePhyUshort(sc, 0x16, 0x0300);
12359 MP_WritePhyUshort(sc, 0x1f, 0x0005);
12360 MP_WritePhyUshort(sc, 0x05, 0xfff6);
12361 MP_WritePhyUshort(sc, 0x06, 0x0080);
12362 MP_WritePhyUshort(sc, 0x05, 0x8000);
12363 MP_WritePhyUshort(sc, 0x06, 0x0280);
12364 MP_WritePhyUshort(sc, 0x06, 0x48f7);
12365 MP_WritePhyUshort(sc, 0x06, 0x00e0);
12366 MP_WritePhyUshort(sc, 0x06, 0xfff7);
12367 MP_WritePhyUshort(sc, 0x06, 0xa080);
12368 MP_WritePhyUshort(sc, 0x06, 0x02ae);
12369 MP_WritePhyUshort(sc, 0x06, 0xf602);
12370 MP_WritePhyUshort(sc, 0x06, 0x0200);
12371 MP_WritePhyUshort(sc, 0x06, 0x0280);
12372 MP_WritePhyUshort(sc, 0x06, 0x9002);
12373 MP_WritePhyUshort(sc, 0x06, 0x0224);
12374 MP_WritePhyUshort(sc, 0x06, 0x0202);
12375 MP_WritePhyUshort(sc, 0x06, 0x3402);
12376 MP_WritePhyUshort(sc, 0x06, 0x027f);
12377 MP_WritePhyUshort(sc, 0x06, 0x0280);
12378 MP_WritePhyUshort(sc, 0x06, 0xa602);
12379 MP_WritePhyUshort(sc, 0x06, 0x80bf);
12380 MP_WritePhyUshort(sc, 0x06, 0xe08b);
12381 MP_WritePhyUshort(sc, 0x06, 0x88e1);
12382 MP_WritePhyUshort(sc, 0x06, 0x8b89);
12383 MP_WritePhyUshort(sc, 0x06, 0x1e01);
12384 MP_WritePhyUshort(sc, 0x06, 0xe18b);
12385 MP_WritePhyUshort(sc, 0x06, 0x8a1e);
12386 MP_WritePhyUshort(sc, 0x06, 0x01e1);
12387 MP_WritePhyUshort(sc, 0x06, 0x8b8b);
12388 MP_WritePhyUshort(sc, 0x06, 0x1e01);
12389 MP_WritePhyUshort(sc, 0x06, 0xe18b);
12390 MP_WritePhyUshort(sc, 0x06, 0x8c1e);
12391 MP_WritePhyUshort(sc, 0x06, 0x01e1);
12392 MP_WritePhyUshort(sc, 0x06, 0x8b8d);
12393 MP_WritePhyUshort(sc, 0x06, 0x1e01);
12394 MP_WritePhyUshort(sc, 0x06, 0xe18b);
12395 MP_WritePhyUshort(sc, 0x06, 0x8e1e);
12396 MP_WritePhyUshort(sc, 0x06, 0x01a0);
12397 MP_WritePhyUshort(sc, 0x06, 0x00c7);
12398 MP_WritePhyUshort(sc, 0x06, 0xaebb);
12399 MP_WritePhyUshort(sc, 0x06, 0xee8a);
12400 MP_WritePhyUshort(sc, 0x06, 0xe600);
12401 MP_WritePhyUshort(sc, 0x06, 0xee8a);
12402 MP_WritePhyUshort(sc, 0x06, 0xee03);
12403 MP_WritePhyUshort(sc, 0x06, 0xee8a);
12404 MP_WritePhyUshort(sc, 0x06, 0xefb8);
12405 MP_WritePhyUshort(sc, 0x06, 0xee8a);
12406 MP_WritePhyUshort(sc, 0x06, 0xe902);
12407 MP_WritePhyUshort(sc, 0x06, 0xee8b);
12408 MP_WritePhyUshort(sc, 0x06, 0x8285);
12409 MP_WritePhyUshort(sc, 0x06, 0xee8b);
12410 MP_WritePhyUshort(sc, 0x06, 0x8520);
12411 MP_WritePhyUshort(sc, 0x06, 0xee8b);
12412 MP_WritePhyUshort(sc, 0x06, 0x8701);
12413 MP_WritePhyUshort(sc, 0x06, 0xd481);
12414 MP_WritePhyUshort(sc, 0x06, 0x35e4);
12415 MP_WritePhyUshort(sc, 0x06, 0x8b94);
12416 MP_WritePhyUshort(sc, 0x06, 0xe58b);
12417 MP_WritePhyUshort(sc, 0x06, 0x95bf);
12418 MP_WritePhyUshort(sc, 0x06, 0x8b88);
12419 MP_WritePhyUshort(sc, 0x06, 0xec00);
12420 MP_WritePhyUshort(sc, 0x06, 0x19a9);
12421 MP_WritePhyUshort(sc, 0x06, 0x8b90);
12422 MP_WritePhyUshort(sc, 0x06, 0xf9ee);
12423 MP_WritePhyUshort(sc, 0x06, 0xfff6);
12424 MP_WritePhyUshort(sc, 0x06, 0x00ee);
12425 MP_WritePhyUshort(sc, 0x06, 0xfff7);
12426 MP_WritePhyUshort(sc, 0x06, 0xffe0);
12427 MP_WritePhyUshort(sc, 0x06, 0xe140);
12428 MP_WritePhyUshort(sc, 0x06, 0xe1e1);
12429 MP_WritePhyUshort(sc, 0x06, 0x41f7);
12430 MP_WritePhyUshort(sc, 0x06, 0x2ff6);
12431 MP_WritePhyUshort(sc, 0x06, 0x28e4);
12432 MP_WritePhyUshort(sc, 0x06, 0xe140);
12433 MP_WritePhyUshort(sc, 0x06, 0xe5e1);
12434 MP_WritePhyUshort(sc, 0x06, 0x4104);
12435 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
12436 MP_WritePhyUshort(sc, 0x06, 0x8b89);
12437 MP_WritePhyUshort(sc, 0x06, 0xad20);
12438 MP_WritePhyUshort(sc, 0x06, 0x0dee);
12439 MP_WritePhyUshort(sc, 0x06, 0x8b89);
12440 MP_WritePhyUshort(sc, 0x06, 0x0002);
12441 MP_WritePhyUshort(sc, 0x06, 0x82f4);
12442 MP_WritePhyUshort(sc, 0x06, 0x021f);
12443 MP_WritePhyUshort(sc, 0x06, 0x4102);
12444 MP_WritePhyUshort(sc, 0x06, 0x2812);
12445 MP_WritePhyUshort(sc, 0x06, 0xfc04);
12446 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
12447 MP_WritePhyUshort(sc, 0x06, 0x8b8d);
12448 MP_WritePhyUshort(sc, 0x06, 0xad20);
12449 MP_WritePhyUshort(sc, 0x06, 0x10ee);
12450 MP_WritePhyUshort(sc, 0x06, 0x8b8d);
12451 MP_WritePhyUshort(sc, 0x06, 0x0002);
12452 MP_WritePhyUshort(sc, 0x06, 0x139d);
12453 MP_WritePhyUshort(sc, 0x06, 0x0281);
12454 MP_WritePhyUshort(sc, 0x06, 0xd602);
12455 MP_WritePhyUshort(sc, 0x06, 0x1f99);
12456 MP_WritePhyUshort(sc, 0x06, 0x0227);
12457 MP_WritePhyUshort(sc, 0x06, 0xeafc);
12458 MP_WritePhyUshort(sc, 0x06, 0x04f8);
12459 MP_WritePhyUshort(sc, 0x06, 0xe08b);
12460 MP_WritePhyUshort(sc, 0x06, 0x8ead);
12461 MP_WritePhyUshort(sc, 0x06, 0x2014);
12462 MP_WritePhyUshort(sc, 0x06, 0xf620);
12463 MP_WritePhyUshort(sc, 0x06, 0xe48b);
12464 MP_WritePhyUshort(sc, 0x06, 0x8e02);
12465 MP_WritePhyUshort(sc, 0x06, 0x8104);
12466 MP_WritePhyUshort(sc, 0x06, 0x021b);
12467 MP_WritePhyUshort(sc, 0x06, 0xf402);
12468 MP_WritePhyUshort(sc, 0x06, 0x2c9c);
12469 MP_WritePhyUshort(sc, 0x06, 0x0281);
12470 MP_WritePhyUshort(sc, 0x06, 0x7902);
12471 MP_WritePhyUshort(sc, 0x06, 0x8443);
12472 MP_WritePhyUshort(sc, 0x06, 0xad22);
12473 MP_WritePhyUshort(sc, 0x06, 0x11f6);
12474 MP_WritePhyUshort(sc, 0x06, 0x22e4);
12475 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
12476 MP_WritePhyUshort(sc, 0x06, 0x022c);
12477 MP_WritePhyUshort(sc, 0x06, 0x4602);
12478 MP_WritePhyUshort(sc, 0x06, 0x2ac5);
12479 MP_WritePhyUshort(sc, 0x06, 0x0229);
12480 MP_WritePhyUshort(sc, 0x06, 0x2002);
12481 MP_WritePhyUshort(sc, 0x06, 0x2b91);
12482 MP_WritePhyUshort(sc, 0x06, 0xad25);
12483 MP_WritePhyUshort(sc, 0x06, 0x11f6);
12484 MP_WritePhyUshort(sc, 0x06, 0x25e4);
12485 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
12486 MP_WritePhyUshort(sc, 0x06, 0x0284);
12487 MP_WritePhyUshort(sc, 0x06, 0xe202);
12488 MP_WritePhyUshort(sc, 0x06, 0x043a);
12489 MP_WritePhyUshort(sc, 0x06, 0x021a);
12490 MP_WritePhyUshort(sc, 0x06, 0x5902);
12491 MP_WritePhyUshort(sc, 0x06, 0x2bfc);
12492 MP_WritePhyUshort(sc, 0x06, 0xfc04);
12493 MP_WritePhyUshort(sc, 0x06, 0xf8fa);
12494 MP_WritePhyUshort(sc, 0x06, 0xef69);
12495 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
12496 MP_WritePhyUshort(sc, 0x06, 0x00e1);
12497 MP_WritePhyUshort(sc, 0x06, 0xe001);
12498 MP_WritePhyUshort(sc, 0x06, 0xad27);
12499 MP_WritePhyUshort(sc, 0x06, 0x1fd1);
12500 MP_WritePhyUshort(sc, 0x06, 0x01bf);
12501 MP_WritePhyUshort(sc, 0x06, 0x8638);
12502 MP_WritePhyUshort(sc, 0x06, 0x022f);
12503 MP_WritePhyUshort(sc, 0x06, 0x50e0);
12504 MP_WritePhyUshort(sc, 0x06, 0xe020);
12505 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
12506 MP_WritePhyUshort(sc, 0x06, 0x21ad);
12507 MP_WritePhyUshort(sc, 0x06, 0x200e);
12508 MP_WritePhyUshort(sc, 0x06, 0xd100);
12509 MP_WritePhyUshort(sc, 0x06, 0xbf86);
12510 MP_WritePhyUshort(sc, 0x06, 0x3802);
12511 MP_WritePhyUshort(sc, 0x06, 0x2f50);
12512 MP_WritePhyUshort(sc, 0x06, 0xbf3d);
12513 MP_WritePhyUshort(sc, 0x06, 0x3902);
12514 MP_WritePhyUshort(sc, 0x06, 0x2eb0);
12515 MP_WritePhyUshort(sc, 0x06, 0xef96);
12516 MP_WritePhyUshort(sc, 0x06, 0xfefc);
12517 MP_WritePhyUshort(sc, 0x06, 0x0402);
12518 MP_WritePhyUshort(sc, 0x06, 0x8591);
12519 MP_WritePhyUshort(sc, 0x06, 0x0281);
12520 MP_WritePhyUshort(sc, 0x06, 0x3c05);
12521 MP_WritePhyUshort(sc, 0x06, 0xf8fa);
12522 MP_WritePhyUshort(sc, 0x06, 0xef69);
12523 MP_WritePhyUshort(sc, 0x06, 0xe0e2);
12524 MP_WritePhyUshort(sc, 0x06, 0xfee1);
12525 MP_WritePhyUshort(sc, 0x06, 0xe2ff);
12526 MP_WritePhyUshort(sc, 0x06, 0xad2d);
12527 MP_WritePhyUshort(sc, 0x06, 0x1ae0);
12528 MP_WritePhyUshort(sc, 0x06, 0xe14e);
12529 MP_WritePhyUshort(sc, 0x06, 0xe1e1);
12530 MP_WritePhyUshort(sc, 0x06, 0x4fac);
12531 MP_WritePhyUshort(sc, 0x06, 0x2d22);
12532 MP_WritePhyUshort(sc, 0x06, 0xf603);
12533 MP_WritePhyUshort(sc, 0x06, 0x0203);
12534 MP_WritePhyUshort(sc, 0x06, 0x36f7);
12535 MP_WritePhyUshort(sc, 0x06, 0x03f7);
12536 MP_WritePhyUshort(sc, 0x06, 0x06bf);
12537 MP_WritePhyUshort(sc, 0x06, 0x8622);
12538 MP_WritePhyUshort(sc, 0x06, 0x022e);
12539 MP_WritePhyUshort(sc, 0x06, 0xb0ae);
12540 MP_WritePhyUshort(sc, 0x06, 0x11e0);
12541 MP_WritePhyUshort(sc, 0x06, 0xe14e);
12542 MP_WritePhyUshort(sc, 0x06, 0xe1e1);
12543 MP_WritePhyUshort(sc, 0x06, 0x4fad);
12544 MP_WritePhyUshort(sc, 0x06, 0x2d08);
12545 MP_WritePhyUshort(sc, 0x06, 0xbf86);
12546 MP_WritePhyUshort(sc, 0x06, 0x2d02);
12547 MP_WritePhyUshort(sc, 0x06, 0x2eb0);
12548 MP_WritePhyUshort(sc, 0x06, 0xf606);
12549 MP_WritePhyUshort(sc, 0x06, 0xef96);
12550 MP_WritePhyUshort(sc, 0x06, 0xfefc);
12551 MP_WritePhyUshort(sc, 0x06, 0x04f8);
12552 MP_WritePhyUshort(sc, 0x06, 0xf9fa);
12553 MP_WritePhyUshort(sc, 0x06, 0xef69);
12554 MP_WritePhyUshort(sc, 0x06, 0xe08b);
12555 MP_WritePhyUshort(sc, 0x06, 0x87ad);
12556 MP_WritePhyUshort(sc, 0x06, 0x204c);
12557 MP_WritePhyUshort(sc, 0x06, 0xd200);
12558 MP_WritePhyUshort(sc, 0x06, 0xe0e2);
12559 MP_WritePhyUshort(sc, 0x06, 0x0058);
12560 MP_WritePhyUshort(sc, 0x06, 0x010c);
12561 MP_WritePhyUshort(sc, 0x06, 0x021e);
12562 MP_WritePhyUshort(sc, 0x06, 0x20e0);
12563 MP_WritePhyUshort(sc, 0x06, 0xe000);
12564 MP_WritePhyUshort(sc, 0x06, 0x5810);
12565 MP_WritePhyUshort(sc, 0x06, 0x1e20);
12566 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
12567 MP_WritePhyUshort(sc, 0x06, 0x3658);
12568 MP_WritePhyUshort(sc, 0x06, 0x031e);
12569 MP_WritePhyUshort(sc, 0x06, 0x20e0);
12570 MP_WritePhyUshort(sc, 0x06, 0xe022);
12571 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
12572 MP_WritePhyUshort(sc, 0x06, 0x2358);
12573 MP_WritePhyUshort(sc, 0x06, 0xe01e);
12574 MP_WritePhyUshort(sc, 0x06, 0x20e0);
12575 MP_WritePhyUshort(sc, 0x06, 0x8ae6);
12576 MP_WritePhyUshort(sc, 0x06, 0x1f02);
12577 MP_WritePhyUshort(sc, 0x06, 0x9e22);
12578 MP_WritePhyUshort(sc, 0x06, 0xe68a);
12579 MP_WritePhyUshort(sc, 0x06, 0xe6ad);
12580 MP_WritePhyUshort(sc, 0x06, 0x3214);
12581 MP_WritePhyUshort(sc, 0x06, 0xad34);
12582 MP_WritePhyUshort(sc, 0x06, 0x11ef);
12583 MP_WritePhyUshort(sc, 0x06, 0x0258);
12584 MP_WritePhyUshort(sc, 0x06, 0x039e);
12585 MP_WritePhyUshort(sc, 0x06, 0x07ad);
12586 MP_WritePhyUshort(sc, 0x06, 0x3508);
12587 MP_WritePhyUshort(sc, 0x06, 0x5ac0);
12588 MP_WritePhyUshort(sc, 0x06, 0x9f04);
12589 MP_WritePhyUshort(sc, 0x06, 0xd101);
12590 MP_WritePhyUshort(sc, 0x06, 0xae02);
12591 MP_WritePhyUshort(sc, 0x06, 0xd100);
12592 MP_WritePhyUshort(sc, 0x06, 0xbf86);
12593 MP_WritePhyUshort(sc, 0x06, 0x3e02);
12594 MP_WritePhyUshort(sc, 0x06, 0x2f50);
12595 MP_WritePhyUshort(sc, 0x06, 0xef96);
12596 MP_WritePhyUshort(sc, 0x06, 0xfefd);
12597 MP_WritePhyUshort(sc, 0x06, 0xfc04);
12598 MP_WritePhyUshort(sc, 0x06, 0xf8f9);
12599 MP_WritePhyUshort(sc, 0x06, 0xfae0);
12600 MP_WritePhyUshort(sc, 0x06, 0x8b81);
12601 MP_WritePhyUshort(sc, 0x06, 0xac26);
12602 MP_WritePhyUshort(sc, 0x06, 0x0ee0);
12603 MP_WritePhyUshort(sc, 0x06, 0x8b81);
12604 MP_WritePhyUshort(sc, 0x06, 0xac21);
12605 MP_WritePhyUshort(sc, 0x06, 0x08e0);
12606 MP_WritePhyUshort(sc, 0x06, 0x8b87);
12607 MP_WritePhyUshort(sc, 0x06, 0xac24);
12608 MP_WritePhyUshort(sc, 0x06, 0x02ae);
12609 MP_WritePhyUshort(sc, 0x06, 0x6bee);
12610 MP_WritePhyUshort(sc, 0x06, 0xe0ea);
12611 MP_WritePhyUshort(sc, 0x06, 0x00ee);
12612 MP_WritePhyUshort(sc, 0x06, 0xe0eb);
12613 MP_WritePhyUshort(sc, 0x06, 0x00e2);
12614 MP_WritePhyUshort(sc, 0x06, 0xe07c);
12615 MP_WritePhyUshort(sc, 0x06, 0xe3e0);
12616 MP_WritePhyUshort(sc, 0x06, 0x7da5);
12617 MP_WritePhyUshort(sc, 0x06, 0x1111);
12618 MP_WritePhyUshort(sc, 0x06, 0x15d2);
12619 MP_WritePhyUshort(sc, 0x06, 0x60d6);
12620 MP_WritePhyUshort(sc, 0x06, 0x6666);
12621 MP_WritePhyUshort(sc, 0x06, 0x0207);
12622 MP_WritePhyUshort(sc, 0x06, 0xf9d2);
12623 MP_WritePhyUshort(sc, 0x06, 0xa0d6);
12624 MP_WritePhyUshort(sc, 0x06, 0xaaaa);
12625 MP_WritePhyUshort(sc, 0x06, 0x0207);
12626 MP_WritePhyUshort(sc, 0x06, 0xf902);
12627 MP_WritePhyUshort(sc, 0x06, 0x825c);
12628 MP_WritePhyUshort(sc, 0x06, 0xae44);
12629 MP_WritePhyUshort(sc, 0x06, 0xa566);
12630 MP_WritePhyUshort(sc, 0x06, 0x6602);
12631 MP_WritePhyUshort(sc, 0x06, 0xae38);
12632 MP_WritePhyUshort(sc, 0x06, 0xa5aa);
12633 MP_WritePhyUshort(sc, 0x06, 0xaa02);
12634 MP_WritePhyUshort(sc, 0x06, 0xae32);
12635 MP_WritePhyUshort(sc, 0x06, 0xeee0);
12636 MP_WritePhyUshort(sc, 0x06, 0xea04);
12637 MP_WritePhyUshort(sc, 0x06, 0xeee0);
12638 MP_WritePhyUshort(sc, 0x06, 0xeb06);
12639 MP_WritePhyUshort(sc, 0x06, 0xe2e0);
12640 MP_WritePhyUshort(sc, 0x06, 0x7ce3);
12641 MP_WritePhyUshort(sc, 0x06, 0xe07d);
12642 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
12643 MP_WritePhyUshort(sc, 0x06, 0x38e1);
12644 MP_WritePhyUshort(sc, 0x06, 0xe039);
12645 MP_WritePhyUshort(sc, 0x06, 0xad2e);
12646 MP_WritePhyUshort(sc, 0x06, 0x21ad);
12647 MP_WritePhyUshort(sc, 0x06, 0x3f13);
12648 MP_WritePhyUshort(sc, 0x06, 0xe0e4);
12649 MP_WritePhyUshort(sc, 0x06, 0x14e1);
12650 MP_WritePhyUshort(sc, 0x06, 0xe415);
12651 MP_WritePhyUshort(sc, 0x06, 0x6880);
12652 MP_WritePhyUshort(sc, 0x06, 0xe4e4);
12653 MP_WritePhyUshort(sc, 0x06, 0x14e5);
12654 MP_WritePhyUshort(sc, 0x06, 0xe415);
12655 MP_WritePhyUshort(sc, 0x06, 0x0282);
12656 MP_WritePhyUshort(sc, 0x06, 0x5cae);
12657 MP_WritePhyUshort(sc, 0x06, 0x0bac);
12658 MP_WritePhyUshort(sc, 0x06, 0x3e02);
12659 MP_WritePhyUshort(sc, 0x06, 0xae06);
12660 MP_WritePhyUshort(sc, 0x06, 0x0282);
12661 MP_WritePhyUshort(sc, 0x06, 0x8602);
12662 MP_WritePhyUshort(sc, 0x06, 0x82b0);
12663 MP_WritePhyUshort(sc, 0x06, 0xfefd);
12664 MP_WritePhyUshort(sc, 0x06, 0xfc04);
12665 MP_WritePhyUshort(sc, 0x06, 0xf8e1);
12666 MP_WritePhyUshort(sc, 0x06, 0x8b2e);
12667 MP_WritePhyUshort(sc, 0x06, 0xe08b);
12668 MP_WritePhyUshort(sc, 0x06, 0x81ad);
12669 MP_WritePhyUshort(sc, 0x06, 0x2605);
12670 MP_WritePhyUshort(sc, 0x06, 0x0221);
12671 MP_WritePhyUshort(sc, 0x06, 0xf3f7);
12672 MP_WritePhyUshort(sc, 0x06, 0x28e0);
12673 MP_WritePhyUshort(sc, 0x06, 0x8b81);
12674 MP_WritePhyUshort(sc, 0x06, 0xad21);
12675 MP_WritePhyUshort(sc, 0x06, 0x0502);
12676 MP_WritePhyUshort(sc, 0x06, 0x22f8);
12677 MP_WritePhyUshort(sc, 0x06, 0xf729);
12678 MP_WritePhyUshort(sc, 0x06, 0xe08b);
12679 MP_WritePhyUshort(sc, 0x06, 0x87ad);
12680 MP_WritePhyUshort(sc, 0x06, 0x2405);
12681 MP_WritePhyUshort(sc, 0x06, 0x0282);
12682 MP_WritePhyUshort(sc, 0x06, 0xebf7);
12683 MP_WritePhyUshort(sc, 0x06, 0x2ae5);
12684 MP_WritePhyUshort(sc, 0x06, 0x8b2e);
12685 MP_WritePhyUshort(sc, 0x06, 0xfc04);
12686 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
12687 MP_WritePhyUshort(sc, 0x06, 0x8b81);
12688 MP_WritePhyUshort(sc, 0x06, 0xad26);
12689 MP_WritePhyUshort(sc, 0x06, 0x0302);
12690 MP_WritePhyUshort(sc, 0x06, 0x2134);
12691 MP_WritePhyUshort(sc, 0x06, 0xe08b);
12692 MP_WritePhyUshort(sc, 0x06, 0x81ad);
12693 MP_WritePhyUshort(sc, 0x06, 0x2109);
12694 MP_WritePhyUshort(sc, 0x06, 0xe08b);
12695 MP_WritePhyUshort(sc, 0x06, 0x2eac);
12696 MP_WritePhyUshort(sc, 0x06, 0x2003);
12697 MP_WritePhyUshort(sc, 0x06, 0x0283);
12698 MP_WritePhyUshort(sc, 0x06, 0x52e0);
12699 MP_WritePhyUshort(sc, 0x06, 0x8b87);
12700 MP_WritePhyUshort(sc, 0x06, 0xad24);
12701 MP_WritePhyUshort(sc, 0x06, 0x09e0);
12702 MP_WritePhyUshort(sc, 0x06, 0x8b2e);
12703 MP_WritePhyUshort(sc, 0x06, 0xac21);
12704 MP_WritePhyUshort(sc, 0x06, 0x0302);
12705 MP_WritePhyUshort(sc, 0x06, 0x8337);
12706 MP_WritePhyUshort(sc, 0x06, 0xfc04);
12707 MP_WritePhyUshort(sc, 0x06, 0xf8e1);
12708 MP_WritePhyUshort(sc, 0x06, 0x8b2e);
12709 MP_WritePhyUshort(sc, 0x06, 0xe08b);
12710 MP_WritePhyUshort(sc, 0x06, 0x81ad);
12711 MP_WritePhyUshort(sc, 0x06, 0x2608);
12712 MP_WritePhyUshort(sc, 0x06, 0xe085);
12713 MP_WritePhyUshort(sc, 0x06, 0xd2ad);
12714 MP_WritePhyUshort(sc, 0x06, 0x2502);
12715 MP_WritePhyUshort(sc, 0x06, 0xf628);
12716 MP_WritePhyUshort(sc, 0x06, 0xe08b);
12717 MP_WritePhyUshort(sc, 0x06, 0x81ad);
12718 MP_WritePhyUshort(sc, 0x06, 0x210a);
12719 MP_WritePhyUshort(sc, 0x06, 0xe086);
12720 MP_WritePhyUshort(sc, 0x06, 0x0af6);
12721 MP_WritePhyUshort(sc, 0x06, 0x27a0);
12722 MP_WritePhyUshort(sc, 0x06, 0x0502);
12723 MP_WritePhyUshort(sc, 0x06, 0xf629);
12724 MP_WritePhyUshort(sc, 0x06, 0xe08b);
12725 MP_WritePhyUshort(sc, 0x06, 0x87ad);
12726 MP_WritePhyUshort(sc, 0x06, 0x2408);
12727 MP_WritePhyUshort(sc, 0x06, 0xe08a);
12728 MP_WritePhyUshort(sc, 0x06, 0xedad);
12729 MP_WritePhyUshort(sc, 0x06, 0x2002);
12730 MP_WritePhyUshort(sc, 0x06, 0xf62a);
12731 MP_WritePhyUshort(sc, 0x06, 0xe58b);
12732 MP_WritePhyUshort(sc, 0x06, 0x2ea1);
12733 MP_WritePhyUshort(sc, 0x06, 0x0003);
12734 MP_WritePhyUshort(sc, 0x06, 0x0221);
12735 MP_WritePhyUshort(sc, 0x06, 0x11fc);
12736 MP_WritePhyUshort(sc, 0x06, 0x04ee);
12737 MP_WritePhyUshort(sc, 0x06, 0x8aed);
12738 MP_WritePhyUshort(sc, 0x06, 0x00ee);
12739 MP_WritePhyUshort(sc, 0x06, 0x8aec);
12740 MP_WritePhyUshort(sc, 0x06, 0x0004);
12741 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
12742 MP_WritePhyUshort(sc, 0x06, 0x8b87);
12743 MP_WritePhyUshort(sc, 0x06, 0xad24);
12744 MP_WritePhyUshort(sc, 0x06, 0x3ae0);
12745 MP_WritePhyUshort(sc, 0x06, 0xe0ea);
12746 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
12747 MP_WritePhyUshort(sc, 0x06, 0xeb58);
12748 MP_WritePhyUshort(sc, 0x06, 0xf8d1);
12749 MP_WritePhyUshort(sc, 0x06, 0x01e4);
12750 MP_WritePhyUshort(sc, 0x06, 0xe0ea);
12751 MP_WritePhyUshort(sc, 0x06, 0xe5e0);
12752 MP_WritePhyUshort(sc, 0x06, 0xebe0);
12753 MP_WritePhyUshort(sc, 0x06, 0xe07c);
12754 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
12755 MP_WritePhyUshort(sc, 0x06, 0x7d5c);
12756 MP_WritePhyUshort(sc, 0x06, 0x00ff);
12757 MP_WritePhyUshort(sc, 0x06, 0x3c00);
12758 MP_WritePhyUshort(sc, 0x06, 0x1eab);
12759 MP_WritePhyUshort(sc, 0x06, 0x1ce0);
12760 MP_WritePhyUshort(sc, 0x06, 0xe04c);
12761 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
12762 MP_WritePhyUshort(sc, 0x06, 0x4d58);
12763 MP_WritePhyUshort(sc, 0x06, 0xc1e4);
12764 MP_WritePhyUshort(sc, 0x06, 0xe04c);
12765 MP_WritePhyUshort(sc, 0x06, 0xe5e0);
12766 MP_WritePhyUshort(sc, 0x06, 0x4de0);
12767 MP_WritePhyUshort(sc, 0x06, 0xe0ee);
12768 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
12769 MP_WritePhyUshort(sc, 0x06, 0xef69);
12770 MP_WritePhyUshort(sc, 0x06, 0x3ce4);
12771 MP_WritePhyUshort(sc, 0x06, 0xe0ee);
12772 MP_WritePhyUshort(sc, 0x06, 0xe5e0);
12773 MP_WritePhyUshort(sc, 0x06, 0xeffc);
12774 MP_WritePhyUshort(sc, 0x06, 0x04f8);
12775 MP_WritePhyUshort(sc, 0x06, 0xe08b);
12776 MP_WritePhyUshort(sc, 0x06, 0x87ad);
12777 MP_WritePhyUshort(sc, 0x06, 0x2412);
12778 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
12779 MP_WritePhyUshort(sc, 0x06, 0xeee1);
12780 MP_WritePhyUshort(sc, 0x06, 0xe0ef);
12781 MP_WritePhyUshort(sc, 0x06, 0x59c3);
12782 MP_WritePhyUshort(sc, 0x06, 0xe4e0);
12783 MP_WritePhyUshort(sc, 0x06, 0xeee5);
12784 MP_WritePhyUshort(sc, 0x06, 0xe0ef);
12785 MP_WritePhyUshort(sc, 0x06, 0xee8a);
12786 MP_WritePhyUshort(sc, 0x06, 0xed01);
12787 MP_WritePhyUshort(sc, 0x06, 0xfc04);
12788 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
12789 MP_WritePhyUshort(sc, 0x06, 0x8b81);
12790 MP_WritePhyUshort(sc, 0x06, 0xac25);
12791 MP_WritePhyUshort(sc, 0x06, 0x0502);
12792 MP_WritePhyUshort(sc, 0x06, 0x8363);
12793 MP_WritePhyUshort(sc, 0x06, 0xae03);
12794 MP_WritePhyUshort(sc, 0x06, 0x0225);
12795 MP_WritePhyUshort(sc, 0x06, 0x16fc);
12796 MP_WritePhyUshort(sc, 0x06, 0x04f8);
12797 MP_WritePhyUshort(sc, 0x06, 0xf9fa);
12798 MP_WritePhyUshort(sc, 0x06, 0xef69);
12799 MP_WritePhyUshort(sc, 0x06, 0xfae0);
12800 MP_WritePhyUshort(sc, 0x06, 0x860a);
12801 MP_WritePhyUshort(sc, 0x06, 0xa000);
12802 MP_WritePhyUshort(sc, 0x06, 0x19e0);
12803 MP_WritePhyUshort(sc, 0x06, 0x860b);
12804 MP_WritePhyUshort(sc, 0x06, 0xe18b);
12805 MP_WritePhyUshort(sc, 0x06, 0x331b);
12806 MP_WritePhyUshort(sc, 0x06, 0x109e);
12807 MP_WritePhyUshort(sc, 0x06, 0x04aa);
12808 MP_WritePhyUshort(sc, 0x06, 0x02ae);
12809 MP_WritePhyUshort(sc, 0x06, 0x06ee);
12810 MP_WritePhyUshort(sc, 0x06, 0x860a);
12811 MP_WritePhyUshort(sc, 0x06, 0x01ae);
12812 MP_WritePhyUshort(sc, 0x06, 0xe602);
12813 MP_WritePhyUshort(sc, 0x06, 0x241e);
12814 MP_WritePhyUshort(sc, 0x06, 0xae14);
12815 MP_WritePhyUshort(sc, 0x06, 0xa001);
12816 MP_WritePhyUshort(sc, 0x06, 0x1402);
12817 MP_WritePhyUshort(sc, 0x06, 0x2426);
12818 MP_WritePhyUshort(sc, 0x06, 0xbf26);
12819 MP_WritePhyUshort(sc, 0x06, 0x6d02);
12820 MP_WritePhyUshort(sc, 0x06, 0x2eb0);
12821 MP_WritePhyUshort(sc, 0x06, 0xee86);
12822 MP_WritePhyUshort(sc, 0x06, 0x0b00);
12823 MP_WritePhyUshort(sc, 0x06, 0xee86);
12824 MP_WritePhyUshort(sc, 0x06, 0x0a02);
12825 MP_WritePhyUshort(sc, 0x06, 0xaf84);
12826 MP_WritePhyUshort(sc, 0x06, 0x3ca0);
12827 MP_WritePhyUshort(sc, 0x06, 0x0252);
12828 MP_WritePhyUshort(sc, 0x06, 0xee86);
12829 MP_WritePhyUshort(sc, 0x06, 0x0400);
12830 MP_WritePhyUshort(sc, 0x06, 0xee86);
12831 MP_WritePhyUshort(sc, 0x06, 0x0500);
12832 MP_WritePhyUshort(sc, 0x06, 0xe086);
12833 MP_WritePhyUshort(sc, 0x06, 0x0be1);
12834 MP_WritePhyUshort(sc, 0x06, 0x8b32);
12835 MP_WritePhyUshort(sc, 0x06, 0x1b10);
12836 MP_WritePhyUshort(sc, 0x06, 0x9e04);
12837 MP_WritePhyUshort(sc, 0x06, 0xaa02);
12838 MP_WritePhyUshort(sc, 0x06, 0xaecb);
12839 MP_WritePhyUshort(sc, 0x06, 0xee86);
12840 MP_WritePhyUshort(sc, 0x06, 0x0b00);
12841 MP_WritePhyUshort(sc, 0x06, 0x0224);
12842 MP_WritePhyUshort(sc, 0x06, 0x3ae2);
12843 MP_WritePhyUshort(sc, 0x06, 0x8604);
12844 MP_WritePhyUshort(sc, 0x06, 0xe386);
12845 MP_WritePhyUshort(sc, 0x06, 0x05ef);
12846 MP_WritePhyUshort(sc, 0x06, 0x65e2);
12847 MP_WritePhyUshort(sc, 0x06, 0x8606);
12848 MP_WritePhyUshort(sc, 0x06, 0xe386);
12849 MP_WritePhyUshort(sc, 0x06, 0x071b);
12850 MP_WritePhyUshort(sc, 0x06, 0x56aa);
12851 MP_WritePhyUshort(sc, 0x06, 0x0eef);
12852 MP_WritePhyUshort(sc, 0x06, 0x56e6);
12853 MP_WritePhyUshort(sc, 0x06, 0x8606);
12854 MP_WritePhyUshort(sc, 0x06, 0xe786);
12855 MP_WritePhyUshort(sc, 0x06, 0x07e2);
12856 MP_WritePhyUshort(sc, 0x06, 0x8609);
12857 MP_WritePhyUshort(sc, 0x06, 0xe686);
12858 MP_WritePhyUshort(sc, 0x06, 0x08e0);
12859 MP_WritePhyUshort(sc, 0x06, 0x8609);
12860 MP_WritePhyUshort(sc, 0x06, 0xa000);
12861 MP_WritePhyUshort(sc, 0x06, 0x07ee);
12862 MP_WritePhyUshort(sc, 0x06, 0x860a);
12863 MP_WritePhyUshort(sc, 0x06, 0x03af);
12864 MP_WritePhyUshort(sc, 0x06, 0x8369);
12865 MP_WritePhyUshort(sc, 0x06, 0x0224);
12866 MP_WritePhyUshort(sc, 0x06, 0x8e02);
12867 MP_WritePhyUshort(sc, 0x06, 0x2426);
12868 MP_WritePhyUshort(sc, 0x06, 0xae48);
12869 MP_WritePhyUshort(sc, 0x06, 0xa003);
12870 MP_WritePhyUshort(sc, 0x06, 0x21e0);
12871 MP_WritePhyUshort(sc, 0x06, 0x8608);
12872 MP_WritePhyUshort(sc, 0x06, 0xe186);
12873 MP_WritePhyUshort(sc, 0x06, 0x091b);
12874 MP_WritePhyUshort(sc, 0x06, 0x019e);
12875 MP_WritePhyUshort(sc, 0x06, 0x0caa);
12876 MP_WritePhyUshort(sc, 0x06, 0x0502);
12877 MP_WritePhyUshort(sc, 0x06, 0x249d);
12878 MP_WritePhyUshort(sc, 0x06, 0xaee7);
12879 MP_WritePhyUshort(sc, 0x06, 0x0224);
12880 MP_WritePhyUshort(sc, 0x06, 0x8eae);
12881 MP_WritePhyUshort(sc, 0x06, 0xe2ee);
12882 MP_WritePhyUshort(sc, 0x06, 0x860a);
12883 MP_WritePhyUshort(sc, 0x06, 0x04ee);
12884 MP_WritePhyUshort(sc, 0x06, 0x860b);
12885 MP_WritePhyUshort(sc, 0x06, 0x00af);
12886 MP_WritePhyUshort(sc, 0x06, 0x8369);
12887 MP_WritePhyUshort(sc, 0x06, 0xa004);
12888 MP_WritePhyUshort(sc, 0x06, 0x15e0);
12889 MP_WritePhyUshort(sc, 0x06, 0x860b);
12890 MP_WritePhyUshort(sc, 0x06, 0xe18b);
12891 MP_WritePhyUshort(sc, 0x06, 0x341b);
12892 MP_WritePhyUshort(sc, 0x06, 0x109e);
12893 MP_WritePhyUshort(sc, 0x06, 0x05aa);
12894 MP_WritePhyUshort(sc, 0x06, 0x03af);
12895 MP_WritePhyUshort(sc, 0x06, 0x8383);
12896 MP_WritePhyUshort(sc, 0x06, 0xee86);
12897 MP_WritePhyUshort(sc, 0x06, 0x0a05);
12898 MP_WritePhyUshort(sc, 0x06, 0xae0c);
12899 MP_WritePhyUshort(sc, 0x06, 0xa005);
12900 MP_WritePhyUshort(sc, 0x06, 0x02ae);
12901 MP_WritePhyUshort(sc, 0x06, 0x0702);
12902 MP_WritePhyUshort(sc, 0x06, 0x2309);
12903 MP_WritePhyUshort(sc, 0x06, 0xee86);
12904 MP_WritePhyUshort(sc, 0x06, 0x0a00);
12905 MP_WritePhyUshort(sc, 0x06, 0xfeef);
12906 MP_WritePhyUshort(sc, 0x06, 0x96fe);
12907 MP_WritePhyUshort(sc, 0x06, 0xfdfc);
12908 MP_WritePhyUshort(sc, 0x06, 0x04f8);
12909 MP_WritePhyUshort(sc, 0x06, 0xf9fa);
12910 MP_WritePhyUshort(sc, 0x06, 0xef69);
12911 MP_WritePhyUshort(sc, 0x06, 0xfbe0);
12912 MP_WritePhyUshort(sc, 0x06, 0x8b85);
12913 MP_WritePhyUshort(sc, 0x06, 0xad25);
12914 MP_WritePhyUshort(sc, 0x06, 0x22e0);
12915 MP_WritePhyUshort(sc, 0x06, 0xe022);
12916 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
12917 MP_WritePhyUshort(sc, 0x06, 0x23e2);
12918 MP_WritePhyUshort(sc, 0x06, 0xe036);
12919 MP_WritePhyUshort(sc, 0x06, 0xe3e0);
12920 MP_WritePhyUshort(sc, 0x06, 0x375a);
12921 MP_WritePhyUshort(sc, 0x06, 0xc40d);
12922 MP_WritePhyUshort(sc, 0x06, 0x0158);
12923 MP_WritePhyUshort(sc, 0x06, 0x021e);
12924 MP_WritePhyUshort(sc, 0x06, 0x20e3);
12925 MP_WritePhyUshort(sc, 0x06, 0x8ae7);
12926 MP_WritePhyUshort(sc, 0x06, 0xac31);
12927 MP_WritePhyUshort(sc, 0x06, 0x60ac);
12928 MP_WritePhyUshort(sc, 0x06, 0x3a08);
12929 MP_WritePhyUshort(sc, 0x06, 0xac3e);
12930 MP_WritePhyUshort(sc, 0x06, 0x26ae);
12931 MP_WritePhyUshort(sc, 0x06, 0x67af);
12932 MP_WritePhyUshort(sc, 0x06, 0x84db);
12933 MP_WritePhyUshort(sc, 0x06, 0xad37);
12934 MP_WritePhyUshort(sc, 0x06, 0x61e0);
12935 MP_WritePhyUshort(sc, 0x06, 0x8ae8);
12936 MP_WritePhyUshort(sc, 0x06, 0x10e4);
12937 MP_WritePhyUshort(sc, 0x06, 0x8ae8);
12938 MP_WritePhyUshort(sc, 0x06, 0xe18a);
12939 MP_WritePhyUshort(sc, 0x06, 0xe91b);
12940 MP_WritePhyUshort(sc, 0x06, 0x109e);
12941 MP_WritePhyUshort(sc, 0x06, 0x02ae);
12942 MP_WritePhyUshort(sc, 0x06, 0x51d1);
12943 MP_WritePhyUshort(sc, 0x06, 0x00bf);
12944 MP_WritePhyUshort(sc, 0x06, 0x863b);
12945 MP_WritePhyUshort(sc, 0x06, 0x022f);
12946 MP_WritePhyUshort(sc, 0x06, 0x50ee);
12947 MP_WritePhyUshort(sc, 0x06, 0x8ae8);
12948 MP_WritePhyUshort(sc, 0x06, 0x00ae);
12949 MP_WritePhyUshort(sc, 0x06, 0x43ad);
12950 MP_WritePhyUshort(sc, 0x06, 0x3627);
12951 MP_WritePhyUshort(sc, 0x06, 0xe08a);
12952 MP_WritePhyUshort(sc, 0x06, 0xeee1);
12953 MP_WritePhyUshort(sc, 0x06, 0x8aef);
12954 MP_WritePhyUshort(sc, 0x06, 0xef74);
12955 MP_WritePhyUshort(sc, 0x06, 0xe08a);
12956 MP_WritePhyUshort(sc, 0x06, 0xeae1);
12957 MP_WritePhyUshort(sc, 0x06, 0x8aeb);
12958 MP_WritePhyUshort(sc, 0x06, 0x1b74);
12959 MP_WritePhyUshort(sc, 0x06, 0x9e2e);
12960 MP_WritePhyUshort(sc, 0x06, 0x14e4);
12961 MP_WritePhyUshort(sc, 0x06, 0x8aea);
12962 MP_WritePhyUshort(sc, 0x06, 0xe58a);
12963 MP_WritePhyUshort(sc, 0x06, 0xebef);
12964 MP_WritePhyUshort(sc, 0x06, 0x74e0);
12965 MP_WritePhyUshort(sc, 0x06, 0x8aee);
12966 MP_WritePhyUshort(sc, 0x06, 0xe18a);
12967 MP_WritePhyUshort(sc, 0x06, 0xef1b);
12968 MP_WritePhyUshort(sc, 0x06, 0x479e);
12969 MP_WritePhyUshort(sc, 0x06, 0x0fae);
12970 MP_WritePhyUshort(sc, 0x06, 0x19ee);
12971 MP_WritePhyUshort(sc, 0x06, 0x8aea);
12972 MP_WritePhyUshort(sc, 0x06, 0x00ee);
12973 MP_WritePhyUshort(sc, 0x06, 0x8aeb);
12974 MP_WritePhyUshort(sc, 0x06, 0x00ae);
12975 MP_WritePhyUshort(sc, 0x06, 0x0fac);
12976 MP_WritePhyUshort(sc, 0x06, 0x390c);
12977 MP_WritePhyUshort(sc, 0x06, 0xd101);
12978 MP_WritePhyUshort(sc, 0x06, 0xbf86);
12979 MP_WritePhyUshort(sc, 0x06, 0x3b02);
12980 MP_WritePhyUshort(sc, 0x06, 0x2f50);
12981 MP_WritePhyUshort(sc, 0x06, 0xee8a);
12982 MP_WritePhyUshort(sc, 0x06, 0xe800);
12983 MP_WritePhyUshort(sc, 0x06, 0xe68a);
12984 MP_WritePhyUshort(sc, 0x06, 0xe7ff);
12985 MP_WritePhyUshort(sc, 0x06, 0xef96);
12986 MP_WritePhyUshort(sc, 0x06, 0xfefd);
12987 MP_WritePhyUshort(sc, 0x06, 0xfc04);
12988 MP_WritePhyUshort(sc, 0x06, 0xf8f9);
12989 MP_WritePhyUshort(sc, 0x06, 0xfaef);
12990 MP_WritePhyUshort(sc, 0x06, 0x69e0);
12991 MP_WritePhyUshort(sc, 0x06, 0xe022);
12992 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
12993 MP_WritePhyUshort(sc, 0x06, 0x2358);
12994 MP_WritePhyUshort(sc, 0x06, 0xc4e1);
12995 MP_WritePhyUshort(sc, 0x06, 0x8b6e);
12996 MP_WritePhyUshort(sc, 0x06, 0x1f10);
12997 MP_WritePhyUshort(sc, 0x06, 0x9e24);
12998 MP_WritePhyUshort(sc, 0x06, 0xe48b);
12999 MP_WritePhyUshort(sc, 0x06, 0x6ead);
13000 MP_WritePhyUshort(sc, 0x06, 0x2218);
13001 MP_WritePhyUshort(sc, 0x06, 0xac27);
13002 MP_WritePhyUshort(sc, 0x06, 0x0dac);
13003 MP_WritePhyUshort(sc, 0x06, 0x2605);
13004 MP_WritePhyUshort(sc, 0x06, 0x0203);
13005 MP_WritePhyUshort(sc, 0x06, 0x8fae);
13006 MP_WritePhyUshort(sc, 0x06, 0x1302);
13007 MP_WritePhyUshort(sc, 0x06, 0x03c8);
13008 MP_WritePhyUshort(sc, 0x06, 0xae0e);
13009 MP_WritePhyUshort(sc, 0x06, 0x0203);
13010 MP_WritePhyUshort(sc, 0x06, 0xe102);
13011 MP_WritePhyUshort(sc, 0x06, 0x8520);
13012 MP_WritePhyUshort(sc, 0x06, 0xae06);
13013 MP_WritePhyUshort(sc, 0x06, 0x0203);
13014 MP_WritePhyUshort(sc, 0x06, 0x8f02);
13015 MP_WritePhyUshort(sc, 0x06, 0x8566);
13016 MP_WritePhyUshort(sc, 0x06, 0xef96);
13017 MP_WritePhyUshort(sc, 0x06, 0xfefd);
13018 MP_WritePhyUshort(sc, 0x06, 0xfc04);
13019 MP_WritePhyUshort(sc, 0x06, 0xf8fa);
13020 MP_WritePhyUshort(sc, 0x06, 0xef69);
13021 MP_WritePhyUshort(sc, 0x06, 0xe08b);
13022 MP_WritePhyUshort(sc, 0x06, 0x82ad);
13023 MP_WritePhyUshort(sc, 0x06, 0x2737);
13024 MP_WritePhyUshort(sc, 0x06, 0xbf86);
13025 MP_WritePhyUshort(sc, 0x06, 0x4402);
13026 MP_WritePhyUshort(sc, 0x06, 0x2f23);
13027 MP_WritePhyUshort(sc, 0x06, 0xac28);
13028 MP_WritePhyUshort(sc, 0x06, 0x2ed1);
13029 MP_WritePhyUshort(sc, 0x06, 0x01bf);
13030 MP_WritePhyUshort(sc, 0x06, 0x8647);
13031 MP_WritePhyUshort(sc, 0x06, 0x022f);
13032 MP_WritePhyUshort(sc, 0x06, 0x50bf);
13033 MP_WritePhyUshort(sc, 0x06, 0x8641);
13034 MP_WritePhyUshort(sc, 0x06, 0x022f);
13035 MP_WritePhyUshort(sc, 0x06, 0x23e5);
13036 MP_WritePhyUshort(sc, 0x06, 0x8af0);
13037 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
13038 MP_WritePhyUshort(sc, 0x06, 0x22e1);
13039 MP_WritePhyUshort(sc, 0x06, 0xe023);
13040 MP_WritePhyUshort(sc, 0x06, 0xac2e);
13041 MP_WritePhyUshort(sc, 0x06, 0x04d1);
13042 MP_WritePhyUshort(sc, 0x06, 0x01ae);
13043 MP_WritePhyUshort(sc, 0x06, 0x02d1);
13044 MP_WritePhyUshort(sc, 0x06, 0x00bf);
13045 MP_WritePhyUshort(sc, 0x06, 0x8641);
13046 MP_WritePhyUshort(sc, 0x06, 0x022f);
13047 MP_WritePhyUshort(sc, 0x06, 0x50d1);
13048 MP_WritePhyUshort(sc, 0x06, 0x01bf);
13049 MP_WritePhyUshort(sc, 0x06, 0x8644);
13050 MP_WritePhyUshort(sc, 0x06, 0x022f);
13051 MP_WritePhyUshort(sc, 0x06, 0x50ef);
13052 MP_WritePhyUshort(sc, 0x06, 0x96fe);
13053 MP_WritePhyUshort(sc, 0x06, 0xfc04);
13054 MP_WritePhyUshort(sc, 0x06, 0xf8fa);
13055 MP_WritePhyUshort(sc, 0x06, 0xef69);
13056 MP_WritePhyUshort(sc, 0x06, 0xbf86);
13057 MP_WritePhyUshort(sc, 0x06, 0x4702);
13058 MP_WritePhyUshort(sc, 0x06, 0x2f23);
13059 MP_WritePhyUshort(sc, 0x06, 0xad28);
13060 MP_WritePhyUshort(sc, 0x06, 0x19d1);
13061 MP_WritePhyUshort(sc, 0x06, 0x00bf);
13062 MP_WritePhyUshort(sc, 0x06, 0x8644);
13063 MP_WritePhyUshort(sc, 0x06, 0x022f);
13064 MP_WritePhyUshort(sc, 0x06, 0x50e1);
13065 MP_WritePhyUshort(sc, 0x06, 0x8af0);
13066 MP_WritePhyUshort(sc, 0x06, 0xbf86);
13067 MP_WritePhyUshort(sc, 0x06, 0x4102);
13068 MP_WritePhyUshort(sc, 0x06, 0x2f50);
13069 MP_WritePhyUshort(sc, 0x06, 0xd100);
13070 MP_WritePhyUshort(sc, 0x06, 0xbf86);
13071 MP_WritePhyUshort(sc, 0x06, 0x4702);
13072 MP_WritePhyUshort(sc, 0x06, 0x2f50);
13073 MP_WritePhyUshort(sc, 0x06, 0xef96);
13074 MP_WritePhyUshort(sc, 0x06, 0xfefc);
13075 MP_WritePhyUshort(sc, 0x06, 0x04f8);
13076 MP_WritePhyUshort(sc, 0x06, 0xe0e2);
13077 MP_WritePhyUshort(sc, 0x06, 0xfee1);
13078 MP_WritePhyUshort(sc, 0x06, 0xe2ff);
13079 MP_WritePhyUshort(sc, 0x06, 0xad2e);
13080 MP_WritePhyUshort(sc, 0x06, 0x63e0);
13081 MP_WritePhyUshort(sc, 0x06, 0xe038);
13082 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
13083 MP_WritePhyUshort(sc, 0x06, 0x39ad);
13084 MP_WritePhyUshort(sc, 0x06, 0x2f10);
13085 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
13086 MP_WritePhyUshort(sc, 0x06, 0x34e1);
13087 MP_WritePhyUshort(sc, 0x06, 0xe035);
13088 MP_WritePhyUshort(sc, 0x06, 0xf726);
13089 MP_WritePhyUshort(sc, 0x06, 0xe4e0);
13090 MP_WritePhyUshort(sc, 0x06, 0x34e5);
13091 MP_WritePhyUshort(sc, 0x06, 0xe035);
13092 MP_WritePhyUshort(sc, 0x06, 0xae0e);
13093 MP_WritePhyUshort(sc, 0x06, 0xe0e2);
13094 MP_WritePhyUshort(sc, 0x06, 0xd6e1);
13095 MP_WritePhyUshort(sc, 0x06, 0xe2d7);
13096 MP_WritePhyUshort(sc, 0x06, 0xf728);
13097 MP_WritePhyUshort(sc, 0x06, 0xe4e2);
13098 MP_WritePhyUshort(sc, 0x06, 0xd6e5);
13099 MP_WritePhyUshort(sc, 0x06, 0xe2d7);
13100 MP_WritePhyUshort(sc, 0x06, 0xe0e2);
13101 MP_WritePhyUshort(sc, 0x06, 0x34e1);
13102 MP_WritePhyUshort(sc, 0x06, 0xe235);
13103 MP_WritePhyUshort(sc, 0x06, 0xf72b);
13104 MP_WritePhyUshort(sc, 0x06, 0xe4e2);
13105 MP_WritePhyUshort(sc, 0x06, 0x34e5);
13106 MP_WritePhyUshort(sc, 0x06, 0xe235);
13107 MP_WritePhyUshort(sc, 0x06, 0xd07d);
13108 MP_WritePhyUshort(sc, 0x06, 0xb0fe);
13109 MP_WritePhyUshort(sc, 0x06, 0xe0e2);
13110 MP_WritePhyUshort(sc, 0x06, 0x34e1);
13111 MP_WritePhyUshort(sc, 0x06, 0xe235);
13112 MP_WritePhyUshort(sc, 0x06, 0xf62b);
13113 MP_WritePhyUshort(sc, 0x06, 0xe4e2);
13114 MP_WritePhyUshort(sc, 0x06, 0x34e5);
13115 MP_WritePhyUshort(sc, 0x06, 0xe235);
13116 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
13117 MP_WritePhyUshort(sc, 0x06, 0x34e1);
13118 MP_WritePhyUshort(sc, 0x06, 0xe035);
13119 MP_WritePhyUshort(sc, 0x06, 0xf626);
13120 MP_WritePhyUshort(sc, 0x06, 0xe4e0);
13121 MP_WritePhyUshort(sc, 0x06, 0x34e5);
13122 MP_WritePhyUshort(sc, 0x06, 0xe035);
13123 MP_WritePhyUshort(sc, 0x06, 0xe0e2);
13124 MP_WritePhyUshort(sc, 0x06, 0xd6e1);
13125 MP_WritePhyUshort(sc, 0x06, 0xe2d7);
13126 MP_WritePhyUshort(sc, 0x06, 0xf628);
13127 MP_WritePhyUshort(sc, 0x06, 0xe4e2);
13128 MP_WritePhyUshort(sc, 0x06, 0xd6e5);
13129 MP_WritePhyUshort(sc, 0x06, 0xe2d7);
13130 MP_WritePhyUshort(sc, 0x06, 0xfc04);
13131 MP_WritePhyUshort(sc, 0x06, 0xae20);
13132 MP_WritePhyUshort(sc, 0x06, 0x0000);
13133 MP_WritePhyUshort(sc, 0x06, 0x0000);
13134 MP_WritePhyUshort(sc, 0x06, 0x0000);
13135 MP_WritePhyUshort(sc, 0x06, 0x0000);
13136 MP_WritePhyUshort(sc, 0x06, 0x0000);
13137 MP_WritePhyUshort(sc, 0x06, 0x0000);
13138 MP_WritePhyUshort(sc, 0x06, 0x0000);
13139 MP_WritePhyUshort(sc, 0x06, 0x0000);
13140 MP_WritePhyUshort(sc, 0x06, 0x0000);
13141 MP_WritePhyUshort(sc, 0x06, 0x0000);
13142 MP_WritePhyUshort(sc, 0x06, 0x0000);
13143 MP_WritePhyUshort(sc, 0x06, 0x0000);
13144 MP_WritePhyUshort(sc, 0x06, 0x0000);
13145 MP_WritePhyUshort(sc, 0x06, 0x0000);
13146 MP_WritePhyUshort(sc, 0x06, 0x0000);
13147 MP_WritePhyUshort(sc, 0x06, 0x0000);
13148 MP_WritePhyUshort(sc, 0x06, 0xa725);
13149 MP_WritePhyUshort(sc, 0x06, 0xe50a);
13150 MP_WritePhyUshort(sc, 0x06, 0x1de5);
13151 MP_WritePhyUshort(sc, 0x06, 0x0a2c);
13152 MP_WritePhyUshort(sc, 0x06, 0xe50a);
13153 MP_WritePhyUshort(sc, 0x06, 0x6de5);
13154 MP_WritePhyUshort(sc, 0x06, 0x0a1d);
13155 MP_WritePhyUshort(sc, 0x06, 0xe50a);
13156 MP_WritePhyUshort(sc, 0x06, 0x1ce5);
13157 MP_WritePhyUshort(sc, 0x06, 0x0a2d);
13158 MP_WritePhyUshort(sc, 0x06, 0xa755);
13159 MP_WritePhyUshort(sc, 0x06, 0x00e2);
13160 MP_WritePhyUshort(sc, 0x06, 0x3488);
13161 MP_WritePhyUshort(sc, 0x06, 0xe200);
13162 MP_WritePhyUshort(sc, 0x06, 0xcce2);
13163 MP_WritePhyUshort(sc, 0x06, 0x0055);
13164 MP_WritePhyUshort(sc, 0x06, 0xe020);
13165 MP_WritePhyUshort(sc, 0x06, 0x55e2);
13166 MP_WritePhyUshort(sc, 0x06, 0xd600);
13167 MP_WritePhyUshort(sc, 0x06, 0xe24a);
13168 PhyRegValue = MP_ReadPhyUshort(sc, 0x01);
13169 PhyRegValue |= BIT_0;
13170 MP_WritePhyUshort(sc, 0x01, PhyRegValue);
13171 PhyRegValue = MP_ReadPhyUshort(sc, 0x00);
13172 PhyRegValue |= BIT_0;
13173 MP_WritePhyUshort(sc, 0x00, PhyRegValue);
13174 MP_WritePhyUshort(sc, 0x1f, 0x0000);
13176 MP_WritePhyUshort(sc, 0x1f, 0x0005);
13177 for (i = 0; i < 200; i++) {
13179 PhyRegValue = MP_ReadPhyUshort(sc, 0x00);
13180 if (PhyRegValue & BIT_7)
13183 MP_WritePhyUshort(sc, 0x1f, 0x0007);
13184 MP_WritePhyUshort(sc, 0x1e, 0x0023);
13185 PhyRegValue = MP_ReadPhyUshort(sc, 0x17);
13186 PhyRegValue &= ~(BIT_0);
13187 if (sc->RequiredSecLanDonglePatch)
13188 PhyRegValue &= ~(BIT_2);
13189 MP_WritePhyUshort(sc, 0x17, PhyRegValue);
13190 MP_WritePhyUshort(sc, 0x1f, 0x0000);
13194 static void re_set_phy_mcu_8168evl_1(struct re_softc *sc)
13196 u_int16_t PhyRegValue;
13199 MP_WritePhyUshort(sc, 0x1f, 0x0000);
13200 MP_WritePhyUshort(sc, 0x00, 0x1800);
13201 PhyRegValue= MP_ReadPhyUshort(sc, 0x15);
13202 PhyRegValue &= ~BIT_12;
13203 MP_WritePhyUshort(sc, 0x15, PhyRegValue);
13206 MP_WritePhyUshort(sc, 0x1f, 0x0004);
13207 MP_WritePhyUshort(sc, 0x1f, 0x0007);
13208 MP_WritePhyUshort(sc, 0x1e, 0x0023);
13209 PhyRegValue = MP_ReadPhyUshort(sc, 0x17);
13210 if ((PhyRegValue & BIT_11) == 0x0000) {
13211 PhyRegValue |= BIT_0;
13212 MP_WritePhyUshort(sc, 0x17, PhyRegValue);
13213 for (i = 0; i < 200; i++) {
13215 PhyRegValue = MP_ReadPhyUshort(sc, 0x17);
13216 if (PhyRegValue & BIT_11)
13220 PhyRegValue = MP_ReadPhyUshort(sc, 0x17);
13221 PhyRegValue |= BIT_11;
13222 MP_WritePhyUshort(sc, 0x17,PhyRegValue);
13223 MP_WritePhyUshort(sc, 0x1f, 0x0004);
13224 MP_WritePhyUshort(sc, 0x1f, 0x0007);
13225 MP_WritePhyUshort(sc, 0x1E, 0x002C);
13226 MP_WritePhyUshort(sc, 0x1B, 0x5000);
13227 MP_WritePhyUshort(sc, 0x1E, 0x002d);
13228 MP_WritePhyUshort(sc, 0x19, 0x0004);
13229 MP_WritePhyUshort(sc, 0x1f, 0x0002);
13230 MP_WritePhyUshort(sc, 0x1f, 0x0000);
13231 for (i = 0; i < 200; i++) {
13233 PhyRegValue= MP_ReadPhyUshort(sc, 0x1E);
13234 if ((PhyRegValue& 0x03FF) == 0x0014)
13237 MP_WritePhyUshort(sc, 0x1f, 0x0005);
13238 for (i = 0; i < 200; i++) {
13240 PhyRegValue= MP_ReadPhyUshort(sc, 0x07);
13241 if ((PhyRegValue& BIT_5) == 0)
13244 PhyRegValue = MP_ReadPhyUshort(sc, 0x07);
13245 if (PhyRegValue & BIT_5) {
13246 MP_WritePhyUshort(sc, 0x1f, 0x0004);
13247 MP_WritePhyUshort(sc, 0x1f, 0x0007);
13248 MP_WritePhyUshort(sc, 0x1e, 0x00a1);
13249 MP_WritePhyUshort(sc, 0x17, 0x1000);
13250 MP_WritePhyUshort(sc, 0x17, 0x0000);
13251 MP_WritePhyUshort(sc, 0x17, 0x2000);
13252 MP_WritePhyUshort(sc, 0x1e, 0x002f);
13253 MP_WritePhyUshort(sc, 0x18, 0x9bfb);
13254 MP_WritePhyUshort(sc, 0x1f, 0x0005);
13255 MP_WritePhyUshort(sc, 0x07, 0x0000);
13256 MP_WritePhyUshort(sc, 0x1f, 0x0002);
13257 MP_WritePhyUshort(sc, 0x1f, 0x0000);
13259 MP_WritePhyUshort(sc, 0x1f, 0x0005);
13260 MP_WritePhyUshort(sc, 0x05, 0xfff6);
13261 MP_WritePhyUshort(sc, 0x06, 0x0080);
13262 PhyRegValue = MP_ReadPhyUshort(sc, 0x00);
13263 PhyRegValue &= ~BIT_7;
13264 MP_WritePhyUshort(sc, 0x00, PhyRegValue);
13265 MP_WritePhyUshort(sc, 0x1f, 0x0004);
13266 MP_WritePhyUshort(sc, 0x1f, 0x0007);
13267 MP_WritePhyUshort(sc, 0x1e, 0x0023);
13268 MP_WritePhyUshort(sc, 0x16, 0x0306);
13269 MP_WritePhyUshort(sc, 0x16, 0x0307);
13270 MP_WritePhyUshort(sc, 0x15, 0x0000);
13271 MP_WritePhyUshort(sc, 0x19, 0x407d);
13272 MP_WritePhyUshort(sc, 0x15, 0x0001);
13273 MP_WritePhyUshort(sc, 0x19, 0x440f);
13274 MP_WritePhyUshort(sc, 0x15, 0x0002);
13275 MP_WritePhyUshort(sc, 0x19, 0x7c03);
13276 MP_WritePhyUshort(sc, 0x15, 0x0003);
13277 MP_WritePhyUshort(sc, 0x19, 0x6c03);
13278 MP_WritePhyUshort(sc, 0x15, 0x0004);
13279 MP_WritePhyUshort(sc, 0x19, 0xc4d5);
13280 MP_WritePhyUshort(sc, 0x15, 0x0005);
13281 MP_WritePhyUshort(sc, 0x19, 0x00ff);
13282 MP_WritePhyUshort(sc, 0x15, 0x0006);
13283 MP_WritePhyUshort(sc, 0x19, 0x74f0);
13284 MP_WritePhyUshort(sc, 0x15, 0x0007);
13285 MP_WritePhyUshort(sc, 0x19, 0x4880);
13286 MP_WritePhyUshort(sc, 0x15, 0x0008);
13287 MP_WritePhyUshort(sc, 0x19, 0x4c00);
13288 MP_WritePhyUshort(sc, 0x15, 0x0009);
13289 MP_WritePhyUshort(sc, 0x19, 0x4800);
13290 MP_WritePhyUshort(sc, 0x15, 0x000a);
13291 MP_WritePhyUshort(sc, 0x19, 0x5000);
13292 MP_WritePhyUshort(sc, 0x15, 0x000b);
13293 MP_WritePhyUshort(sc, 0x19, 0x4400);
13294 MP_WritePhyUshort(sc, 0x15, 0x000c);
13295 MP_WritePhyUshort(sc, 0x19, 0x7801);
13296 MP_WritePhyUshort(sc, 0x15, 0x000d);
13297 MP_WritePhyUshort(sc, 0x19, 0x4000);
13298 MP_WritePhyUshort(sc, 0x15, 0x000e);
13299 MP_WritePhyUshort(sc, 0x19, 0x7800);
13300 MP_WritePhyUshort(sc, 0x15, 0x000f);
13301 MP_WritePhyUshort(sc, 0x19, 0x7010);
13302 MP_WritePhyUshort(sc, 0x15, 0x0010);
13303 MP_WritePhyUshort(sc, 0x19, 0x6804);
13304 MP_WritePhyUshort(sc, 0x15, 0x0011);
13305 MP_WritePhyUshort(sc, 0x19, 0x64a0);
13306 MP_WritePhyUshort(sc, 0x15, 0x0012);
13307 MP_WritePhyUshort(sc, 0x19, 0x63da);
13308 MP_WritePhyUshort(sc, 0x15, 0x0013);
13309 MP_WritePhyUshort(sc, 0x19, 0x63d8);
13310 MP_WritePhyUshort(sc, 0x15, 0x0014);
13311 MP_WritePhyUshort(sc, 0x19, 0x6f05);
13312 MP_WritePhyUshort(sc, 0x15, 0x0015);
13313 MP_WritePhyUshort(sc, 0x19, 0x5420);
13314 MP_WritePhyUshort(sc, 0x15, 0x0016);
13315 MP_WritePhyUshort(sc, 0x19, 0x58ce);
13316 MP_WritePhyUshort(sc, 0x15, 0x0017);
13317 MP_WritePhyUshort(sc, 0x19, 0x5cf3);
13318 MP_WritePhyUshort(sc, 0x15, 0x0018);
13319 MP_WritePhyUshort(sc, 0x19, 0xb600);
13320 MP_WritePhyUshort(sc, 0x15, 0x0019);
13321 MP_WritePhyUshort(sc, 0x19, 0xc659);
13322 MP_WritePhyUshort(sc, 0x15, 0x001a);
13323 MP_WritePhyUshort(sc, 0x19, 0x0018);
13324 MP_WritePhyUshort(sc, 0x15, 0x001b);
13325 MP_WritePhyUshort(sc, 0x19, 0xc403);
13326 MP_WritePhyUshort(sc, 0x15, 0x001c);
13327 MP_WritePhyUshort(sc, 0x19, 0x0016);
13328 MP_WritePhyUshort(sc, 0x15, 0x001d);
13329 MP_WritePhyUshort(sc, 0x19, 0xaa05);
13330 MP_WritePhyUshort(sc, 0x15, 0x001e);
13331 MP_WritePhyUshort(sc, 0x19, 0xc503);
13332 MP_WritePhyUshort(sc, 0x15, 0x001f);
13333 MP_WritePhyUshort(sc, 0x19, 0x0003);
13334 MP_WritePhyUshort(sc, 0x15, 0x0020);
13335 MP_WritePhyUshort(sc, 0x19, 0x89f8);
13336 MP_WritePhyUshort(sc, 0x15, 0x0021);
13337 MP_WritePhyUshort(sc, 0x19, 0x32ae);
13338 MP_WritePhyUshort(sc, 0x15, 0x0022);
13339 MP_WritePhyUshort(sc, 0x19, 0x7c03);
13340 MP_WritePhyUshort(sc, 0x15, 0x0023);
13341 MP_WritePhyUshort(sc, 0x19, 0x6c03);
13342 MP_WritePhyUshort(sc, 0x15, 0x0024);
13343 MP_WritePhyUshort(sc, 0x19, 0x7c03);
13344 MP_WritePhyUshort(sc, 0x15, 0x0025);
13345 MP_WritePhyUshort(sc, 0x19, 0x6801);
13346 MP_WritePhyUshort(sc, 0x15, 0x0026);
13347 MP_WritePhyUshort(sc, 0x19, 0x66a0);
13348 MP_WritePhyUshort(sc, 0x15, 0x0027);
13349 MP_WritePhyUshort(sc, 0x19, 0xa300);
13350 MP_WritePhyUshort(sc, 0x15, 0x0028);
13351 MP_WritePhyUshort(sc, 0x19, 0x64a0);
13352 MP_WritePhyUshort(sc, 0x15, 0x0029);
13353 MP_WritePhyUshort(sc, 0x19, 0x76f0);
13354 MP_WritePhyUshort(sc, 0x15, 0x002a);
13355 MP_WritePhyUshort(sc, 0x19, 0x7670);
13356 MP_WritePhyUshort(sc, 0x15, 0x002b);
13357 MP_WritePhyUshort(sc, 0x19, 0x7630);
13358 MP_WritePhyUshort(sc, 0x15, 0x002c);
13359 MP_WritePhyUshort(sc, 0x19, 0x31a6);
13360 MP_WritePhyUshort(sc, 0x15, 0x002d);
13361 MP_WritePhyUshort(sc, 0x19, 0x0000);
13362 MP_WritePhyUshort(sc, 0x15, 0x002e);
13363 MP_WritePhyUshort(sc, 0x19, 0x0000);
13364 MP_WritePhyUshort(sc, 0x15, 0x002f);
13365 MP_WritePhyUshort(sc, 0x19, 0x0000);
13366 MP_WritePhyUshort(sc, 0x15, 0x0030);
13367 MP_WritePhyUshort(sc, 0x19, 0x0000);
13368 MP_WritePhyUshort(sc, 0x15, 0x0031);
13369 MP_WritePhyUshort(sc, 0x19, 0x0000);
13370 MP_WritePhyUshort(sc, 0x15, 0x0032);
13371 MP_WritePhyUshort(sc, 0x19, 0x4801);
13372 MP_WritePhyUshort(sc, 0x15, 0x0033);
13373 MP_WritePhyUshort(sc, 0x19, 0x6803);
13374 MP_WritePhyUshort(sc, 0x15, 0x0034);
13375 MP_WritePhyUshort(sc, 0x19, 0x66a1);
13376 MP_WritePhyUshort(sc, 0x15, 0x0035);
13377 MP_WritePhyUshort(sc, 0x19, 0x7c03);
13378 MP_WritePhyUshort(sc, 0x15, 0x0036);
13379 MP_WritePhyUshort(sc, 0x19, 0x6c03);
13380 MP_WritePhyUshort(sc, 0x15, 0x0037);
13381 MP_WritePhyUshort(sc, 0x19, 0xa300);
13382 MP_WritePhyUshort(sc, 0x15, 0x0038);
13383 MP_WritePhyUshort(sc, 0x19, 0x64a1);
13384 MP_WritePhyUshort(sc, 0x15, 0x0039);
13385 MP_WritePhyUshort(sc, 0x19, 0x7c08);
13386 MP_WritePhyUshort(sc, 0x15, 0x003a);
13387 MP_WritePhyUshort(sc, 0x19, 0x74f8);
13388 MP_WritePhyUshort(sc, 0x15, 0x003b);
13389 MP_WritePhyUshort(sc, 0x19, 0x63d0);
13390 MP_WritePhyUshort(sc, 0x15, 0x003c);
13391 MP_WritePhyUshort(sc, 0x19, 0x7ff0);
13392 MP_WritePhyUshort(sc, 0x15, 0x003d);
13393 MP_WritePhyUshort(sc, 0x19, 0x77f0);
13394 MP_WritePhyUshort(sc, 0x15, 0x003e);
13395 MP_WritePhyUshort(sc, 0x19, 0x7ff0);
13396 MP_WritePhyUshort(sc, 0x15, 0x003f);
13397 MP_WritePhyUshort(sc, 0x19, 0x7750);
13398 MP_WritePhyUshort(sc, 0x15, 0x0040);
13399 MP_WritePhyUshort(sc, 0x19, 0x63d8);
13400 MP_WritePhyUshort(sc, 0x15, 0x0041);
13401 MP_WritePhyUshort(sc, 0x19, 0x7cf0);
13402 MP_WritePhyUshort(sc, 0x15, 0x0042);
13403 MP_WritePhyUshort(sc, 0x19, 0x7708);
13404 MP_WritePhyUshort(sc, 0x15, 0x0043);
13405 MP_WritePhyUshort(sc, 0x19, 0xa654);
13406 MP_WritePhyUshort(sc, 0x15, 0x0044);
13407 MP_WritePhyUshort(sc, 0x19, 0x304a);
13408 MP_WritePhyUshort(sc, 0x15, 0x0045);
13409 MP_WritePhyUshort(sc, 0x19, 0x0000);
13410 MP_WritePhyUshort(sc, 0x15, 0x0046);
13411 MP_WritePhyUshort(sc, 0x19, 0x0000);
13412 MP_WritePhyUshort(sc, 0x15, 0x0047);
13413 MP_WritePhyUshort(sc, 0x19, 0x0000);
13414 MP_WritePhyUshort(sc, 0x15, 0x0048);
13415 MP_WritePhyUshort(sc, 0x19, 0x0000);
13416 MP_WritePhyUshort(sc, 0x15, 0x0049);
13417 MP_WritePhyUshort(sc, 0x19, 0x0000);
13418 MP_WritePhyUshort(sc, 0x15, 0x004a);
13419 MP_WritePhyUshort(sc, 0x19, 0x4802);
13420 MP_WritePhyUshort(sc, 0x15, 0x004b);
13421 MP_WritePhyUshort(sc, 0x19, 0x4003);
13422 MP_WritePhyUshort(sc, 0x15, 0x004c);
13423 MP_WritePhyUshort(sc, 0x19, 0x4440);
13424 MP_WritePhyUshort(sc, 0x15, 0x004d);
13425 MP_WritePhyUshort(sc, 0x19, 0x63c8);
13426 MP_WritePhyUshort(sc, 0x15, 0x004e);
13427 MP_WritePhyUshort(sc, 0x19, 0x6481);
13428 MP_WritePhyUshort(sc, 0x15, 0x004f);
13429 MP_WritePhyUshort(sc, 0x19, 0x9d00);
13430 MP_WritePhyUshort(sc, 0x15, 0x0050);
13431 MP_WritePhyUshort(sc, 0x19, 0x63e8);
13432 MP_WritePhyUshort(sc, 0x15, 0x0051);
13433 MP_WritePhyUshort(sc, 0x19, 0x7d00);
13434 MP_WritePhyUshort(sc, 0x15, 0x0052);
13435 MP_WritePhyUshort(sc, 0x19, 0x5900);
13436 MP_WritePhyUshort(sc, 0x15, 0x0053);
13437 MP_WritePhyUshort(sc, 0x19, 0x63f8);
13438 MP_WritePhyUshort(sc, 0x15, 0x0054);
13439 MP_WritePhyUshort(sc, 0x19, 0x64a1);
13440 MP_WritePhyUshort(sc, 0x15, 0x0055);
13441 MP_WritePhyUshort(sc, 0x19, 0x3116);
13442 MP_WritePhyUshort(sc, 0x15, 0x0056);
13443 MP_WritePhyUshort(sc, 0x19, 0x0000);
13444 MP_WritePhyUshort(sc, 0x15, 0x0057);
13445 MP_WritePhyUshort(sc, 0x19, 0x0000);
13446 MP_WritePhyUshort(sc, 0x15, 0x0058);
13447 MP_WritePhyUshort(sc, 0x19, 0x0000);
13448 MP_WritePhyUshort(sc, 0x15, 0x0059);
13449 MP_WritePhyUshort(sc, 0x19, 0x0000);
13450 MP_WritePhyUshort(sc, 0x15, 0x005a);
13451 MP_WritePhyUshort(sc, 0x19, 0x7c03);
13452 MP_WritePhyUshort(sc, 0x15, 0x005b);
13453 MP_WritePhyUshort(sc, 0x19, 0x6c03);
13454 MP_WritePhyUshort(sc, 0x15, 0x005c);
13455 MP_WritePhyUshort(sc, 0x19, 0x7c08);
13456 MP_WritePhyUshort(sc, 0x15, 0x005d);
13457 MP_WritePhyUshort(sc, 0x19, 0x6000);
13458 MP_WritePhyUshort(sc, 0x15, 0x005e);
13459 MP_WritePhyUshort(sc, 0x19, 0x59ce);
13460 MP_WritePhyUshort(sc, 0x15, 0x005f);
13461 MP_WritePhyUshort(sc, 0x19, 0x4400);
13462 MP_WritePhyUshort(sc, 0x15, 0x0060);
13463 MP_WritePhyUshort(sc, 0x19, 0x7d00);
13464 MP_WritePhyUshort(sc, 0x15, 0x0061);
13465 MP_WritePhyUshort(sc, 0x19, 0x72b0);
13466 MP_WritePhyUshort(sc, 0x15, 0x0062);
13467 MP_WritePhyUshort(sc, 0x19, 0x400e);
13468 MP_WritePhyUshort(sc, 0x15, 0x0063);
13469 MP_WritePhyUshort(sc, 0x19, 0x4440);
13470 MP_WritePhyUshort(sc, 0x15, 0x0064);
13471 MP_WritePhyUshort(sc, 0x19, 0x9d00);
13472 MP_WritePhyUshort(sc, 0x15, 0x0065);
13473 MP_WritePhyUshort(sc, 0x19, 0x7f00);
13474 MP_WritePhyUshort(sc, 0x15, 0x0066);
13475 MP_WritePhyUshort(sc, 0x19, 0x70b0);
13476 MP_WritePhyUshort(sc, 0x15, 0x0067);
13477 MP_WritePhyUshort(sc, 0x19, 0x7c08);
13478 MP_WritePhyUshort(sc, 0x15, 0x0068);
13479 MP_WritePhyUshort(sc, 0x19, 0x6008);
13480 MP_WritePhyUshort(sc, 0x15, 0x0069);
13481 MP_WritePhyUshort(sc, 0x19, 0x7cf0);
13482 MP_WritePhyUshort(sc, 0x15, 0x006a);
13483 MP_WritePhyUshort(sc, 0x19, 0x7750);
13484 MP_WritePhyUshort(sc, 0x15, 0x006b);
13485 MP_WritePhyUshort(sc, 0x19, 0x4007);
13486 MP_WritePhyUshort(sc, 0x15, 0x006c);
13487 MP_WritePhyUshort(sc, 0x19, 0x4500);
13488 MP_WritePhyUshort(sc, 0x15, 0x006d);
13489 MP_WritePhyUshort(sc, 0x19, 0x4023);
13490 MP_WritePhyUshort(sc, 0x15, 0x006e);
13491 MP_WritePhyUshort(sc, 0x19, 0x4580);
13492 MP_WritePhyUshort(sc, 0x15, 0x006f);
13493 MP_WritePhyUshort(sc, 0x19, 0x9f00);
13494 MP_WritePhyUshort(sc, 0x15, 0x0070);
13495 MP_WritePhyUshort(sc, 0x19, 0xcd78);
13496 MP_WritePhyUshort(sc, 0x15, 0x0071);
13497 MP_WritePhyUshort(sc, 0x19, 0x0003);
13498 MP_WritePhyUshort(sc, 0x15, 0x0072);
13499 MP_WritePhyUshort(sc, 0x19, 0xbe02);
13500 MP_WritePhyUshort(sc, 0x15, 0x0073);
13501 MP_WritePhyUshort(sc, 0x19, 0x3070);
13502 MP_WritePhyUshort(sc, 0x15, 0x0074);
13503 MP_WritePhyUshort(sc, 0x19, 0x7cf0);
13504 MP_WritePhyUshort(sc, 0x15, 0x0075);
13505 MP_WritePhyUshort(sc, 0x19, 0x77f0);
13506 MP_WritePhyUshort(sc, 0x15, 0x0076);
13507 MP_WritePhyUshort(sc, 0x19, 0x4400);
13508 MP_WritePhyUshort(sc, 0x15, 0x0077);
13509 MP_WritePhyUshort(sc, 0x19, 0x4007);
13510 MP_WritePhyUshort(sc, 0x15, 0x0078);
13511 MP_WritePhyUshort(sc, 0x19, 0x4500);
13512 MP_WritePhyUshort(sc, 0x15, 0x0079);
13513 MP_WritePhyUshort(sc, 0x19, 0x4023);
13514 MP_WritePhyUshort(sc, 0x15, 0x007a);
13515 MP_WritePhyUshort(sc, 0x19, 0x4580);
13516 MP_WritePhyUshort(sc, 0x15, 0x007b);
13517 MP_WritePhyUshort(sc, 0x19, 0x9f00);
13518 MP_WritePhyUshort(sc, 0x15, 0x007c);
13519 MP_WritePhyUshort(sc, 0x19, 0xce80);
13520 MP_WritePhyUshort(sc, 0x15, 0x007d);
13521 MP_WritePhyUshort(sc, 0x19, 0x0004);
13522 MP_WritePhyUshort(sc, 0x15, 0x007e);
13523 MP_WritePhyUshort(sc, 0x19, 0xce80);
13524 MP_WritePhyUshort(sc, 0x15, 0x007f);
13525 MP_WritePhyUshort(sc, 0x19, 0x0002);
13526 MP_WritePhyUshort(sc, 0x15, 0x0080);
13527 MP_WritePhyUshort(sc, 0x19, 0x307c);
13528 MP_WritePhyUshort(sc, 0x15, 0x0081);
13529 MP_WritePhyUshort(sc, 0x19, 0x4400);
13530 MP_WritePhyUshort(sc, 0x15, 0x0082);
13531 MP_WritePhyUshort(sc, 0x19, 0x480f);
13532 MP_WritePhyUshort(sc, 0x15, 0x0083);
13533 MP_WritePhyUshort(sc, 0x19, 0x6802);
13534 MP_WritePhyUshort(sc, 0x15, 0x0084);
13535 MP_WritePhyUshort(sc, 0x19, 0x6680);
13536 MP_WritePhyUshort(sc, 0x15, 0x0085);
13537 MP_WritePhyUshort(sc, 0x19, 0x7c10);
13538 MP_WritePhyUshort(sc, 0x15, 0x0086);
13539 MP_WritePhyUshort(sc, 0x19, 0x6010);
13540 MP_WritePhyUshort(sc, 0x15, 0x0087);
13541 MP_WritePhyUshort(sc, 0x19, 0x400a);
13542 MP_WritePhyUshort(sc, 0x15, 0x0088);
13543 MP_WritePhyUshort(sc, 0x19, 0x4580);
13544 MP_WritePhyUshort(sc, 0x15, 0x0089);
13545 MP_WritePhyUshort(sc, 0x19, 0x9e00);
13546 MP_WritePhyUshort(sc, 0x15, 0x008a);
13547 MP_WritePhyUshort(sc, 0x19, 0x7d00);
13548 MP_WritePhyUshort(sc, 0x15, 0x008b);
13549 MP_WritePhyUshort(sc, 0x19, 0x5800);
13550 MP_WritePhyUshort(sc, 0x15, 0x008c);
13551 MP_WritePhyUshort(sc, 0x19, 0x63c8);
13552 MP_WritePhyUshort(sc, 0x15, 0x008d);
13553 MP_WritePhyUshort(sc, 0x19, 0x63d8);
13554 MP_WritePhyUshort(sc, 0x15, 0x008e);
13555 MP_WritePhyUshort(sc, 0x19, 0x66a0);
13556 MP_WritePhyUshort(sc, 0x15, 0x008f);
13557 MP_WritePhyUshort(sc, 0x19, 0x8300);
13558 MP_WritePhyUshort(sc, 0x15, 0x0090);
13559 MP_WritePhyUshort(sc, 0x19, 0x7ff0);
13560 MP_WritePhyUshort(sc, 0x15, 0x0091);
13561 MP_WritePhyUshort(sc, 0x19, 0x74f0);
13562 MP_WritePhyUshort(sc, 0x15, 0x0092);
13563 MP_WritePhyUshort(sc, 0x19, 0x3006);
13564 MP_WritePhyUshort(sc, 0x15, 0x0093);
13565 MP_WritePhyUshort(sc, 0x19, 0x0000);
13566 MP_WritePhyUshort(sc, 0x15, 0x0094);
13567 MP_WritePhyUshort(sc, 0x19, 0x0000);
13568 MP_WritePhyUshort(sc, 0x15, 0x0095);
13569 MP_WritePhyUshort(sc, 0x19, 0x0000);
13570 MP_WritePhyUshort(sc, 0x15, 0x0096);
13571 MP_WritePhyUshort(sc, 0x19, 0x0000);
13572 MP_WritePhyUshort(sc, 0x15, 0x0097);
13573 MP_WritePhyUshort(sc, 0x19, 0x4803);
13574 MP_WritePhyUshort(sc, 0x15, 0x0098);
13575 MP_WritePhyUshort(sc, 0x19, 0x7c03);
13576 MP_WritePhyUshort(sc, 0x15, 0x0099);
13577 MP_WritePhyUshort(sc, 0x19, 0x6c03);
13578 MP_WritePhyUshort(sc, 0x15, 0x009a);
13579 MP_WritePhyUshort(sc, 0x19, 0xa203);
13580 MP_WritePhyUshort(sc, 0x15, 0x009b);
13581 MP_WritePhyUshort(sc, 0x19, 0x64b1);
13582 MP_WritePhyUshort(sc, 0x15, 0x009c);
13583 MP_WritePhyUshort(sc, 0x19, 0x309e);
13584 MP_WritePhyUshort(sc, 0x15, 0x009d);
13585 MP_WritePhyUshort(sc, 0x19, 0x64b3);
13586 MP_WritePhyUshort(sc, 0x15, 0x009e);
13587 MP_WritePhyUshort(sc, 0x19, 0x4030);
13588 MP_WritePhyUshort(sc, 0x15, 0x009f);
13589 MP_WritePhyUshort(sc, 0x19, 0x440e);
13590 MP_WritePhyUshort(sc, 0x15, 0x00a0);
13591 MP_WritePhyUshort(sc, 0x19, 0x4020);
13592 MP_WritePhyUshort(sc, 0x15, 0x00a1);
13593 MP_WritePhyUshort(sc, 0x19, 0x4419);
13594 MP_WritePhyUshort(sc, 0x15, 0x00a2);
13595 MP_WritePhyUshort(sc, 0x19, 0x7801);
13596 MP_WritePhyUshort(sc, 0x15, 0x00a3);
13597 MP_WritePhyUshort(sc, 0x19, 0xc520);
13598 MP_WritePhyUshort(sc, 0x15, 0x00a4);
13599 MP_WritePhyUshort(sc, 0x19, 0x000b);
13600 MP_WritePhyUshort(sc, 0x15, 0x00a5);
13601 MP_WritePhyUshort(sc, 0x19, 0x4020);
13602 MP_WritePhyUshort(sc, 0x15, 0x00a6);
13603 MP_WritePhyUshort(sc, 0x19, 0x7800);
13604 MP_WritePhyUshort(sc, 0x15, 0x00a7);
13605 MP_WritePhyUshort(sc, 0x19, 0x58a4);
13606 MP_WritePhyUshort(sc, 0x15, 0x00a8);
13607 MP_WritePhyUshort(sc, 0x19, 0x63da);
13608 MP_WritePhyUshort(sc, 0x15, 0x00a9);
13609 MP_WritePhyUshort(sc, 0x19, 0x5cb0);
13610 MP_WritePhyUshort(sc, 0x15, 0x00aa);
13611 MP_WritePhyUshort(sc, 0x19, 0x7d00);
13612 MP_WritePhyUshort(sc, 0x15, 0x00ab);
13613 MP_WritePhyUshort(sc, 0x19, 0x72b0);
13614 MP_WritePhyUshort(sc, 0x15, 0x00ac);
13615 MP_WritePhyUshort(sc, 0x19, 0x7f00);
13616 MP_WritePhyUshort(sc, 0x15, 0x00ad);
13617 MP_WritePhyUshort(sc, 0x19, 0x70b0);
13618 MP_WritePhyUshort(sc, 0x15, 0x00ae);
13619 MP_WritePhyUshort(sc, 0x19, 0x30b8);
13620 MP_WritePhyUshort(sc, 0x15, 0x00AF);
13621 MP_WritePhyUshort(sc, 0x19, 0x4060);
13622 MP_WritePhyUshort(sc, 0x15, 0x00B0);
13623 MP_WritePhyUshort(sc, 0x19, 0x7800);
13624 MP_WritePhyUshort(sc, 0x15, 0x00B1);
13625 MP_WritePhyUshort(sc, 0x19, 0x7e00);
13626 MP_WritePhyUshort(sc, 0x15, 0x00B2);
13627 MP_WritePhyUshort(sc, 0x19, 0x72B0);
13628 MP_WritePhyUshort(sc, 0x15, 0x00B3);
13629 MP_WritePhyUshort(sc, 0x19, 0x7F00);
13630 MP_WritePhyUshort(sc, 0x15, 0x00B4);
13631 MP_WritePhyUshort(sc, 0x19, 0x73B0);
13632 MP_WritePhyUshort(sc, 0x15, 0x00b5);
13633 MP_WritePhyUshort(sc, 0x19, 0x58a0);
13634 MP_WritePhyUshort(sc, 0x15, 0x00b6);
13635 MP_WritePhyUshort(sc, 0x19, 0x63d2);
13636 MP_WritePhyUshort(sc, 0x15, 0x00b7);
13637 MP_WritePhyUshort(sc, 0x19, 0x5c00);
13638 MP_WritePhyUshort(sc, 0x15, 0x00b8);
13639 MP_WritePhyUshort(sc, 0x19, 0x5780);
13640 MP_WritePhyUshort(sc, 0x15, 0x00b9);
13641 MP_WritePhyUshort(sc, 0x19, 0xb60d);
13642 MP_WritePhyUshort(sc, 0x15, 0x00ba);
13643 MP_WritePhyUshort(sc, 0x19, 0x9bff);
13644 MP_WritePhyUshort(sc, 0x15, 0x00bb);
13645 MP_WritePhyUshort(sc, 0x19, 0x7c03);
13646 MP_WritePhyUshort(sc, 0x15, 0x00bc);
13647 MP_WritePhyUshort(sc, 0x19, 0x6001);
13648 MP_WritePhyUshort(sc, 0x15, 0x00bd);
13649 MP_WritePhyUshort(sc, 0x19, 0xc020);
13650 MP_WritePhyUshort(sc, 0x15, 0x00be);
13651 MP_WritePhyUshort(sc, 0x19, 0x002b);
13652 MP_WritePhyUshort(sc, 0x15, 0x00bf);
13653 MP_WritePhyUshort(sc, 0x19, 0xc137);
13654 MP_WritePhyUshort(sc, 0x15, 0x00c0);
13655 MP_WritePhyUshort(sc, 0x19, 0x0006);
13656 MP_WritePhyUshort(sc, 0x15, 0x00c1);
13657 MP_WritePhyUshort(sc, 0x19, 0x9af8);
13658 MP_WritePhyUshort(sc, 0x15, 0x00c2);
13659 MP_WritePhyUshort(sc, 0x19, 0x30c6);
13660 MP_WritePhyUshort(sc, 0x15, 0x00c3);
13661 MP_WritePhyUshort(sc, 0x19, 0x0000);
13662 MP_WritePhyUshort(sc, 0x15, 0x00c4);
13663 MP_WritePhyUshort(sc, 0x19, 0x0000);
13664 MP_WritePhyUshort(sc, 0x15, 0x00c5);
13665 MP_WritePhyUshort(sc, 0x19, 0x0000);
13666 MP_WritePhyUshort(sc, 0x15, 0x00c6);
13667 MP_WritePhyUshort(sc, 0x19, 0x7d00);
13668 MP_WritePhyUshort(sc, 0x15, 0x00c7);
13669 MP_WritePhyUshort(sc, 0x19, 0x70b0);
13670 MP_WritePhyUshort(sc, 0x15, 0x00c8);
13671 MP_WritePhyUshort(sc, 0x19, 0x4400);
13672 MP_WritePhyUshort(sc, 0x15, 0x00c9);
13673 MP_WritePhyUshort(sc, 0x19, 0x4804);
13674 MP_WritePhyUshort(sc, 0x15, 0x00ca);
13675 MP_WritePhyUshort(sc, 0x19, 0x7c80);
13676 MP_WritePhyUshort(sc, 0x15, 0x00cb);
13677 MP_WritePhyUshort(sc, 0x19, 0x5c80);
13678 MP_WritePhyUshort(sc, 0x15, 0x00cc);
13679 MP_WritePhyUshort(sc, 0x19, 0x4010);
13680 MP_WritePhyUshort(sc, 0x15, 0x00cd);
13681 MP_WritePhyUshort(sc, 0x19, 0x4415);
13682 MP_WritePhyUshort(sc, 0x15, 0x00ce);
13683 MP_WritePhyUshort(sc, 0x19, 0x9b00);
13684 MP_WritePhyUshort(sc, 0x15, 0x00cf);
13685 MP_WritePhyUshort(sc, 0x19, 0x7f00);
13686 MP_WritePhyUshort(sc, 0x15, 0x00d0);
13687 MP_WritePhyUshort(sc, 0x19, 0x70b0);
13688 MP_WritePhyUshort(sc, 0x15, 0x00d1);
13689 MP_WritePhyUshort(sc, 0x19, 0x3177);
13690 MP_WritePhyUshort(sc, 0x15, 0x00d2);
13691 MP_WritePhyUshort(sc, 0x19, 0x0000);
13692 MP_WritePhyUshort(sc, 0x15, 0x00d3);
13693 MP_WritePhyUshort(sc, 0x19, 0x0000);
13694 MP_WritePhyUshort(sc, 0x15, 0x00d4);
13695 MP_WritePhyUshort(sc, 0x19, 0x0000);
13696 MP_WritePhyUshort(sc, 0x15, 0x00d5);
13697 MP_WritePhyUshort(sc, 0x19, 0x4808);
13698 MP_WritePhyUshort(sc, 0x15, 0x00d6);
13699 MP_WritePhyUshort(sc, 0x19, 0x4007);
13700 MP_WritePhyUshort(sc, 0x15, 0x00d7);
13701 MP_WritePhyUshort(sc, 0x19, 0x4420);
13702 MP_WritePhyUshort(sc, 0x15, 0x00d8);
13703 MP_WritePhyUshort(sc, 0x19, 0x63d8);
13704 MP_WritePhyUshort(sc, 0x15, 0x00d9);
13705 MP_WritePhyUshort(sc, 0x19, 0xb608);
13706 MP_WritePhyUshort(sc, 0x15, 0x00da);
13707 MP_WritePhyUshort(sc, 0x19, 0xbcbd);
13708 MP_WritePhyUshort(sc, 0x15, 0x00db);
13709 MP_WritePhyUshort(sc, 0x19, 0xc60b);
13710 MP_WritePhyUshort(sc, 0x15, 0x00dc);
13711 MP_WritePhyUshort(sc, 0x19, 0x00fd);
13712 MP_WritePhyUshort(sc, 0x15, 0x00dd);
13713 MP_WritePhyUshort(sc, 0x19, 0x30e1);
13714 MP_WritePhyUshort(sc, 0x15, 0x00de);
13715 MP_WritePhyUshort(sc, 0x19, 0x0000);
13716 MP_WritePhyUshort(sc, 0x15, 0x00df);
13717 MP_WritePhyUshort(sc, 0x19, 0x0000);
13718 MP_WritePhyUshort(sc, 0x15, 0x00e0);
13719 MP_WritePhyUshort(sc, 0x19, 0x0000);
13720 MP_WritePhyUshort(sc, 0x15, 0x00e1);
13721 MP_WritePhyUshort(sc, 0x19, 0x4809);
13722 MP_WritePhyUshort(sc, 0x15, 0x00e2);
13723 MP_WritePhyUshort(sc, 0x19, 0x7e40);
13724 MP_WritePhyUshort(sc, 0x15, 0x00e3);
13725 MP_WritePhyUshort(sc, 0x19, 0x5a40);
13726 MP_WritePhyUshort(sc, 0x15, 0x00e4);
13727 MP_WritePhyUshort(sc, 0x19, 0x305a);
13728 MP_WritePhyUshort(sc, 0x15, 0x00e5);
13729 MP_WritePhyUshort(sc, 0x19, 0x0000);
13730 MP_WritePhyUshort(sc, 0x15, 0x00e6);
13731 MP_WritePhyUshort(sc, 0x19, 0x0000);
13732 MP_WritePhyUshort(sc, 0x15, 0x00e7);
13733 MP_WritePhyUshort(sc, 0x19, 0x0000);
13734 MP_WritePhyUshort(sc, 0x15, 0x00e8);
13735 MP_WritePhyUshort(sc, 0x19, 0x0000);
13736 MP_WritePhyUshort(sc, 0x15, 0x00e9);
13737 MP_WritePhyUshort(sc, 0x19, 0x480a);
13738 MP_WritePhyUshort(sc, 0x15, 0x00ea);
13739 MP_WritePhyUshort(sc, 0x19, 0x5820);
13740 MP_WritePhyUshort(sc, 0x15, 0x00eb);
13741 MP_WritePhyUshort(sc, 0x19, 0x6c03);
13742 MP_WritePhyUshort(sc, 0x15, 0x00ec);
13743 MP_WritePhyUshort(sc, 0x19, 0xb60a);
13744 MP_WritePhyUshort(sc, 0x15, 0x00ed);
13745 MP_WritePhyUshort(sc, 0x19, 0xda07);
13746 MP_WritePhyUshort(sc, 0x15, 0x00ee);
13747 MP_WritePhyUshort(sc, 0x19, 0x0008);
13748 MP_WritePhyUshort(sc, 0x15, 0x00ef);
13749 MP_WritePhyUshort(sc, 0x19, 0xc60b);
13750 MP_WritePhyUshort(sc, 0x15, 0x00f0);
13751 MP_WritePhyUshort(sc, 0x19, 0x00fc);
13752 MP_WritePhyUshort(sc, 0x15, 0x00f1);
13753 MP_WritePhyUshort(sc, 0x19, 0x30f6);
13754 MP_WritePhyUshort(sc, 0x15, 0x00f2);
13755 MP_WritePhyUshort(sc, 0x19, 0x0000);
13756 MP_WritePhyUshort(sc, 0x15, 0x00f3);
13757 MP_WritePhyUshort(sc, 0x19, 0x0000);
13758 MP_WritePhyUshort(sc, 0x15, 0x00f4);
13759 MP_WritePhyUshort(sc, 0x19, 0x0000);
13760 MP_WritePhyUshort(sc, 0x15, 0x00f5);
13761 MP_WritePhyUshort(sc, 0x19, 0x0000);
13762 MP_WritePhyUshort(sc, 0x15, 0x00f6);
13763 MP_WritePhyUshort(sc, 0x19, 0x4408);
13764 MP_WritePhyUshort(sc, 0x15, 0x00f7);
13765 MP_WritePhyUshort(sc, 0x19, 0x480b);
13766 MP_WritePhyUshort(sc, 0x15, 0x00f8);
13767 MP_WritePhyUshort(sc, 0x19, 0x6f03);
13768 MP_WritePhyUshort(sc, 0x15, 0x00f9);
13769 MP_WritePhyUshort(sc, 0x19, 0x405f);
13770 MP_WritePhyUshort(sc, 0x15, 0x00fa);
13771 MP_WritePhyUshort(sc, 0x19, 0x4448);
13772 MP_WritePhyUshort(sc, 0x15, 0x00fb);
13773 MP_WritePhyUshort(sc, 0x19, 0x4020);
13774 MP_WritePhyUshort(sc, 0x15, 0x00fc);
13775 MP_WritePhyUshort(sc, 0x19, 0x4468);
13776 MP_WritePhyUshort(sc, 0x15, 0x00fd);
13777 MP_WritePhyUshort(sc, 0x19, 0x9c03);
13778 MP_WritePhyUshort(sc, 0x15, 0x00fe);
13779 MP_WritePhyUshort(sc, 0x19, 0x6f07);
13780 MP_WritePhyUshort(sc, 0x15, 0x00ff);
13781 MP_WritePhyUshort(sc, 0x19, 0x58a0);
13782 MP_WritePhyUshort(sc, 0x15, 0x0100);
13783 MP_WritePhyUshort(sc, 0x19, 0xd6d1);
13784 MP_WritePhyUshort(sc, 0x15, 0x0101);
13785 MP_WritePhyUshort(sc, 0x19, 0x0004);
13786 MP_WritePhyUshort(sc, 0x15, 0x0102);
13787 MP_WritePhyUshort(sc, 0x19, 0xc137);
13788 MP_WritePhyUshort(sc, 0x15, 0x0103);
13789 MP_WritePhyUshort(sc, 0x19, 0x0002);
13790 MP_WritePhyUshort(sc, 0x15, 0x0104);
13791 MP_WritePhyUshort(sc, 0x19, 0xa0e5);
13792 MP_WritePhyUshort(sc, 0x15, 0x0105);
13793 MP_WritePhyUshort(sc, 0x19, 0x9df8);
13794 MP_WritePhyUshort(sc, 0x15, 0x0106);
13795 MP_WritePhyUshort(sc, 0x19, 0x30c6);
13796 MP_WritePhyUshort(sc, 0x15, 0x0107);
13797 MP_WritePhyUshort(sc, 0x19, 0x0000);
13798 MP_WritePhyUshort(sc, 0x15, 0x0108);
13799 MP_WritePhyUshort(sc, 0x19, 0x0000);
13800 MP_WritePhyUshort(sc, 0x15, 0x0109);
13801 MP_WritePhyUshort(sc, 0x19, 0x0000);
13802 MP_WritePhyUshort(sc, 0x15, 0x010a);
13803 MP_WritePhyUshort(sc, 0x19, 0x0000);
13804 MP_WritePhyUshort(sc, 0x15, 0x010b);
13805 MP_WritePhyUshort(sc, 0x19, 0x4808);
13806 MP_WritePhyUshort(sc, 0x15, 0x010c);
13807 MP_WritePhyUshort(sc, 0x19, 0xc32d);
13808 MP_WritePhyUshort(sc, 0x15, 0x010d);
13809 MP_WritePhyUshort(sc, 0x19, 0x0003);
13810 MP_WritePhyUshort(sc, 0x15, 0x010e);
13811 MP_WritePhyUshort(sc, 0x19, 0xc8b3);
13812 MP_WritePhyUshort(sc, 0x15, 0x010f);
13813 MP_WritePhyUshort(sc, 0x19, 0x00fc);
13814 MP_WritePhyUshort(sc, 0x15, 0x0110);
13815 MP_WritePhyUshort(sc, 0x19, 0x4400);
13816 MP_WritePhyUshort(sc, 0x15, 0x0111);
13817 MP_WritePhyUshort(sc, 0x19, 0x3116);
13818 MP_WritePhyUshort(sc, 0x15, 0x0112);
13819 MP_WritePhyUshort(sc, 0x19, 0x0000);
13820 MP_WritePhyUshort(sc, 0x15, 0x0113);
13821 MP_WritePhyUshort(sc, 0x19, 0x0000);
13822 MP_WritePhyUshort(sc, 0x15, 0x0114);
13823 MP_WritePhyUshort(sc, 0x19, 0x0000);
13824 MP_WritePhyUshort(sc, 0x15, 0x0115);
13825 MP_WritePhyUshort(sc, 0x19, 0x0000);
13826 MP_WritePhyUshort(sc, 0x15, 0x0116);
13827 MP_WritePhyUshort(sc, 0x19, 0x4803);
13828 MP_WritePhyUshort(sc, 0x15, 0x0117);
13829 MP_WritePhyUshort(sc, 0x19, 0x7c03);
13830 MP_WritePhyUshort(sc, 0x15, 0x0118);
13831 MP_WritePhyUshort(sc, 0x19, 0x6c02);
13832 MP_WritePhyUshort(sc, 0x15, 0x0119);
13833 MP_WritePhyUshort(sc, 0x19, 0x7c04);
13834 MP_WritePhyUshort(sc, 0x15, 0x011a);
13835 MP_WritePhyUshort(sc, 0x19, 0x6000);
13836 MP_WritePhyUshort(sc, 0x15, 0x011b);
13837 MP_WritePhyUshort(sc, 0x19, 0x5cf7);
13838 MP_WritePhyUshort(sc, 0x15, 0x011c);
13839 MP_WritePhyUshort(sc, 0x19, 0x7c2a);
13840 MP_WritePhyUshort(sc, 0x15, 0x011d);
13841 MP_WritePhyUshort(sc, 0x19, 0x5800);
13842 MP_WritePhyUshort(sc, 0x15, 0x011e);
13843 MP_WritePhyUshort(sc, 0x19, 0x5400);
13844 MP_WritePhyUshort(sc, 0x15, 0x011f);
13845 MP_WritePhyUshort(sc, 0x19, 0x7c08);
13846 MP_WritePhyUshort(sc, 0x15, 0x0120);
13847 MP_WritePhyUshort(sc, 0x19, 0x74f0);
13848 MP_WritePhyUshort(sc, 0x15, 0x0121);
13849 MP_WritePhyUshort(sc, 0x19, 0x4019);
13850 MP_WritePhyUshort(sc, 0x15, 0x0122);
13851 MP_WritePhyUshort(sc, 0x19, 0x440d);
13852 MP_WritePhyUshort(sc, 0x15, 0x0123);
13853 MP_WritePhyUshort(sc, 0x19, 0xb6c1);
13854 MP_WritePhyUshort(sc, 0x15, 0x0124);
13855 MP_WritePhyUshort(sc, 0x19, 0xc05b);
13856 MP_WritePhyUshort(sc, 0x15, 0x0125);
13857 MP_WritePhyUshort(sc, 0x19, 0x00bf);
13858 MP_WritePhyUshort(sc, 0x15, 0x0126);
13859 MP_WritePhyUshort(sc, 0x19, 0xc025);
13860 MP_WritePhyUshort(sc, 0x15, 0x0127);
13861 MP_WritePhyUshort(sc, 0x19, 0x00bd);
13862 MP_WritePhyUshort(sc, 0x15, 0x0128);
13863 MP_WritePhyUshort(sc, 0x19, 0xc603);
13864 MP_WritePhyUshort(sc, 0x15, 0x0129);
13865 MP_WritePhyUshort(sc, 0x19, 0x00bb);
13866 MP_WritePhyUshort(sc, 0x15, 0x012a);
13867 MP_WritePhyUshort(sc, 0x19, 0x8805);
13868 MP_WritePhyUshort(sc, 0x15, 0x012b);
13869 MP_WritePhyUshort(sc, 0x19, 0x7801);
13870 MP_WritePhyUshort(sc, 0x15, 0x012c);
13871 MP_WritePhyUshort(sc, 0x19, 0x4001);
13872 MP_WritePhyUshort(sc, 0x15, 0x012d);
13873 MP_WritePhyUshort(sc, 0x19, 0x7800);
13874 MP_WritePhyUshort(sc, 0x15, 0x012e);
13875 MP_WritePhyUshort(sc, 0x19, 0xa3dd);
13876 MP_WritePhyUshort(sc, 0x15, 0x012f);
13877 MP_WritePhyUshort(sc, 0x19, 0x7c03);
13878 MP_WritePhyUshort(sc, 0x15, 0x0130);
13879 MP_WritePhyUshort(sc, 0x19, 0x6c03);
13880 MP_WritePhyUshort(sc, 0x15, 0x0131);
13881 MP_WritePhyUshort(sc, 0x19, 0x8407);
13882 MP_WritePhyUshort(sc, 0x15, 0x0132);
13883 MP_WritePhyUshort(sc, 0x19, 0x7c03);
13884 MP_WritePhyUshort(sc, 0x15, 0x0133);
13885 MP_WritePhyUshort(sc, 0x19, 0x6c02);
13886 MP_WritePhyUshort(sc, 0x15, 0x0134);
13887 MP_WritePhyUshort(sc, 0x19, 0xd9b8);
13888 MP_WritePhyUshort(sc, 0x15, 0x0135);
13889 MP_WritePhyUshort(sc, 0x19, 0x0003);
13890 MP_WritePhyUshort(sc, 0x15, 0x0136);
13891 MP_WritePhyUshort(sc, 0x19, 0xc240);
13892 MP_WritePhyUshort(sc, 0x15, 0x0137);
13893 MP_WritePhyUshort(sc, 0x19, 0x0015);
13894 MP_WritePhyUshort(sc, 0x15, 0x0138);
13895 MP_WritePhyUshort(sc, 0x19, 0x7c03);
13896 MP_WritePhyUshort(sc, 0x15, 0x0139);
13897 MP_WritePhyUshort(sc, 0x19, 0x6c02);
13898 MP_WritePhyUshort(sc, 0x15, 0x013a);
13899 MP_WritePhyUshort(sc, 0x19, 0x9ae9);
13900 MP_WritePhyUshort(sc, 0x15, 0x013b);
13901 MP_WritePhyUshort(sc, 0x19, 0x3140);
13902 MP_WritePhyUshort(sc, 0x15, 0x013c);
13903 MP_WritePhyUshort(sc, 0x19, 0x0000);
13904 MP_WritePhyUshort(sc, 0x15, 0x013d);
13905 MP_WritePhyUshort(sc, 0x19, 0x0000);
13906 MP_WritePhyUshort(sc, 0x15, 0x013e);
13907 MP_WritePhyUshort(sc, 0x19, 0x0000);
13908 MP_WritePhyUshort(sc, 0x15, 0x013f);
13909 MP_WritePhyUshort(sc, 0x19, 0x0000);
13910 MP_WritePhyUshort(sc, 0x15, 0x0140);
13911 MP_WritePhyUshort(sc, 0x19, 0x4807);
13912 MP_WritePhyUshort(sc, 0x15, 0x0141);
13913 MP_WritePhyUshort(sc, 0x19, 0x4004);
13914 MP_WritePhyUshort(sc, 0x15, 0x0142);
13915 MP_WritePhyUshort(sc, 0x19, 0x4410);
13916 MP_WritePhyUshort(sc, 0x15, 0x0143);
13917 MP_WritePhyUshort(sc, 0x19, 0x7c0c);
13918 MP_WritePhyUshort(sc, 0x15, 0x0144);
13919 MP_WritePhyUshort(sc, 0x19, 0x600c);
13920 MP_WritePhyUshort(sc, 0x15, 0x0145);
13921 MP_WritePhyUshort(sc, 0x19, 0x9b00);
13922 MP_WritePhyUshort(sc, 0x15, 0x0146);
13923 MP_WritePhyUshort(sc, 0x19, 0xa68f);
13924 MP_WritePhyUshort(sc, 0x15, 0x0147);
13925 MP_WritePhyUshort(sc, 0x19, 0x3116);
13926 MP_WritePhyUshort(sc, 0x15, 0x0148);
13927 MP_WritePhyUshort(sc, 0x19, 0x0000);
13928 MP_WritePhyUshort(sc, 0x15, 0x0149);
13929 MP_WritePhyUshort(sc, 0x19, 0x0000);
13930 MP_WritePhyUshort(sc, 0x15, 0x014a);
13931 MP_WritePhyUshort(sc, 0x19, 0x0000);
13932 MP_WritePhyUshort(sc, 0x15, 0x014b);
13933 MP_WritePhyUshort(sc, 0x19, 0x0000);
13934 MP_WritePhyUshort(sc, 0x15, 0x014c);
13935 MP_WritePhyUshort(sc, 0x19, 0x4804);
13936 MP_WritePhyUshort(sc, 0x15, 0x014d);
13937 MP_WritePhyUshort(sc, 0x19, 0x54c0);
13938 MP_WritePhyUshort(sc, 0x15, 0x014e);
13939 MP_WritePhyUshort(sc, 0x19, 0xb703);
13940 MP_WritePhyUshort(sc, 0x15, 0x014f);
13941 MP_WritePhyUshort(sc, 0x19, 0x5cff);
13942 MP_WritePhyUshort(sc, 0x15, 0x0150);
13943 MP_WritePhyUshort(sc, 0x19, 0x315f);
13944 MP_WritePhyUshort(sc, 0x15, 0x0151);
13945 MP_WritePhyUshort(sc, 0x19, 0x7c08);
13946 MP_WritePhyUshort(sc, 0x15, 0x0152);
13947 MP_WritePhyUshort(sc, 0x19, 0x74f8);
13948 MP_WritePhyUshort(sc, 0x15, 0x0153);
13949 MP_WritePhyUshort(sc, 0x19, 0x6421);
13950 MP_WritePhyUshort(sc, 0x15, 0x0154);
13951 MP_WritePhyUshort(sc, 0x19, 0x7c08);
13952 MP_WritePhyUshort(sc, 0x15, 0x0155);
13953 MP_WritePhyUshort(sc, 0x19, 0x6000);
13954 MP_WritePhyUshort(sc, 0x15, 0x0156);
13955 MP_WritePhyUshort(sc, 0x19, 0x4003);
13956 MP_WritePhyUshort(sc, 0x15, 0x0157);
13957 MP_WritePhyUshort(sc, 0x19, 0x4418);
13958 MP_WritePhyUshort(sc, 0x15, 0x0158);
13959 MP_WritePhyUshort(sc, 0x19, 0x9b00);
13960 MP_WritePhyUshort(sc, 0x15, 0x0159);
13961 MP_WritePhyUshort(sc, 0x19, 0x6461);
13962 MP_WritePhyUshort(sc, 0x15, 0x015a);
13963 MP_WritePhyUshort(sc, 0x19, 0x64e1);
13964 MP_WritePhyUshort(sc, 0x15, 0x015b);
13965 MP_WritePhyUshort(sc, 0x19, 0x7c20);
13966 MP_WritePhyUshort(sc, 0x15, 0x015c);
13967 MP_WritePhyUshort(sc, 0x19, 0x5820);
13968 MP_WritePhyUshort(sc, 0x15, 0x015d);
13969 MP_WritePhyUshort(sc, 0x19, 0x5ccf);
13970 MP_WritePhyUshort(sc, 0x15, 0x015e);
13971 MP_WritePhyUshort(sc, 0x19, 0x7050);
13972 MP_WritePhyUshort(sc, 0x15, 0x015f);
13973 MP_WritePhyUshort(sc, 0x19, 0xd9b8);
13974 MP_WritePhyUshort(sc, 0x15, 0x0160);
13975 MP_WritePhyUshort(sc, 0x19, 0x0008);
13976 MP_WritePhyUshort(sc, 0x15, 0x0161);
13977 MP_WritePhyUshort(sc, 0x19, 0xdab1);
13978 MP_WritePhyUshort(sc, 0x15, 0x0162);
13979 MP_WritePhyUshort(sc, 0x19, 0x0015);
13980 MP_WritePhyUshort(sc, 0x15, 0x0163);
13981 MP_WritePhyUshort(sc, 0x19, 0xc244);
13982 MP_WritePhyUshort(sc, 0x15, 0x0164);
13983 MP_WritePhyUshort(sc, 0x19, 0x0013);
13984 MP_WritePhyUshort(sc, 0x15, 0x0165);
13985 MP_WritePhyUshort(sc, 0x19, 0xc021);
13986 MP_WritePhyUshort(sc, 0x15, 0x0166);
13987 MP_WritePhyUshort(sc, 0x19, 0x00f9);
13988 MP_WritePhyUshort(sc, 0x15, 0x0167);
13989 MP_WritePhyUshort(sc, 0x19, 0x3177);
13990 MP_WritePhyUshort(sc, 0x15, 0x0168);
13991 MP_WritePhyUshort(sc, 0x19, 0x5cf7);
13992 MP_WritePhyUshort(sc, 0x15, 0x0169);
13993 MP_WritePhyUshort(sc, 0x19, 0x4010);
13994 MP_WritePhyUshort(sc, 0x15, 0x016a);
13995 MP_WritePhyUshort(sc, 0x19, 0x4428);
13996 MP_WritePhyUshort(sc, 0x15, 0x016b);
13997 MP_WritePhyUshort(sc, 0x19, 0x9c00);
13998 MP_WritePhyUshort(sc, 0x15, 0x016c);
13999 MP_WritePhyUshort(sc, 0x19, 0x7c08);
14000 MP_WritePhyUshort(sc, 0x15, 0x016d);
14001 MP_WritePhyUshort(sc, 0x19, 0x6008);
14002 MP_WritePhyUshort(sc, 0x15, 0x016e);
14003 MP_WritePhyUshort(sc, 0x19, 0x7c08);
14004 MP_WritePhyUshort(sc, 0x15, 0x016f);
14005 MP_WritePhyUshort(sc, 0x19, 0x74f0);
14006 MP_WritePhyUshort(sc, 0x15, 0x0170);
14007 MP_WritePhyUshort(sc, 0x19, 0x6461);
14008 MP_WritePhyUshort(sc, 0x15, 0x0171);
14009 MP_WritePhyUshort(sc, 0x19, 0x6421);
14010 MP_WritePhyUshort(sc, 0x15, 0x0172);
14011 MP_WritePhyUshort(sc, 0x19, 0x64a1);
14012 MP_WritePhyUshort(sc, 0x15, 0x0173);
14013 MP_WritePhyUshort(sc, 0x19, 0x3116);
14014 MP_WritePhyUshort(sc, 0x15, 0x0174);
14015 MP_WritePhyUshort(sc, 0x19, 0x0000);
14016 MP_WritePhyUshort(sc, 0x15, 0x0175);
14017 MP_WritePhyUshort(sc, 0x19, 0x0000);
14018 MP_WritePhyUshort(sc, 0x15, 0x0176);
14019 MP_WritePhyUshort(sc, 0x19, 0x0000);
14020 MP_WritePhyUshort(sc, 0x15, 0x0177);
14021 MP_WritePhyUshort(sc, 0x19, 0x4805);
14022 MP_WritePhyUshort(sc, 0x15, 0x0178);
14023 MP_WritePhyUshort(sc, 0x19, 0xa103);
14024 MP_WritePhyUshort(sc, 0x15, 0x0179);
14025 MP_WritePhyUshort(sc, 0x19, 0x7c02);
14026 MP_WritePhyUshort(sc, 0x15, 0x017a);
14027 MP_WritePhyUshort(sc, 0x19, 0x6002);
14028 MP_WritePhyUshort(sc, 0x15, 0x017b);
14029 MP_WritePhyUshort(sc, 0x19, 0x7e00);
14030 MP_WritePhyUshort(sc, 0x15, 0x017c);
14031 MP_WritePhyUshort(sc, 0x19, 0x5400);
14032 MP_WritePhyUshort(sc, 0x15, 0x017d);
14033 MP_WritePhyUshort(sc, 0x19, 0x7c6b);
14034 MP_WritePhyUshort(sc, 0x15, 0x017e);
14035 MP_WritePhyUshort(sc, 0x19, 0x5c63);
14036 MP_WritePhyUshort(sc, 0x15, 0x017f);
14037 MP_WritePhyUshort(sc, 0x19, 0x407d);
14038 MP_WritePhyUshort(sc, 0x15, 0x0180);
14039 MP_WritePhyUshort(sc, 0x19, 0xa602);
14040 MP_WritePhyUshort(sc, 0x15, 0x0181);
14041 MP_WritePhyUshort(sc, 0x19, 0x4001);
14042 MP_WritePhyUshort(sc, 0x15, 0x0182);
14043 MP_WritePhyUshort(sc, 0x19, 0x4420);
14044 MP_WritePhyUshort(sc, 0x15, 0x0183);
14045 MP_WritePhyUshort(sc, 0x19, 0x4020);
14046 MP_WritePhyUshort(sc, 0x15, 0x0184);
14047 MP_WritePhyUshort(sc, 0x19, 0x44a1);
14048 MP_WritePhyUshort(sc, 0x15, 0x0185);
14049 MP_WritePhyUshort(sc, 0x19, 0xd6e0);
14050 MP_WritePhyUshort(sc, 0x15, 0x0186);
14051 MP_WritePhyUshort(sc, 0x19, 0x0009);
14052 MP_WritePhyUshort(sc, 0x15, 0x0187);
14053 MP_WritePhyUshort(sc, 0x19, 0x9efe);
14054 MP_WritePhyUshort(sc, 0x15, 0x0188);
14055 MP_WritePhyUshort(sc, 0x19, 0x7c02);
14056 MP_WritePhyUshort(sc, 0x15, 0x0189);
14057 MP_WritePhyUshort(sc, 0x19, 0x6000);
14058 MP_WritePhyUshort(sc, 0x15, 0x018a);
14059 MP_WritePhyUshort(sc, 0x19, 0x9c00);
14060 MP_WritePhyUshort(sc, 0x15, 0x018b);
14061 MP_WritePhyUshort(sc, 0x19, 0x318f);
14062 MP_WritePhyUshort(sc, 0x15, 0x018c);
14063 MP_WritePhyUshort(sc, 0x19, 0x0000);
14064 MP_WritePhyUshort(sc, 0x15, 0x018d);
14065 MP_WritePhyUshort(sc, 0x19, 0x0000);
14066 MP_WritePhyUshort(sc, 0x15, 0x018e);
14067 MP_WritePhyUshort(sc, 0x19, 0x0000);
14068 MP_WritePhyUshort(sc, 0x15, 0x018f);
14069 MP_WritePhyUshort(sc, 0x19, 0x4806);
14070 MP_WritePhyUshort(sc, 0x15, 0x0190);
14071 MP_WritePhyUshort(sc, 0x19, 0x7c10);
14072 MP_WritePhyUshort(sc, 0x15, 0x0191);
14073 MP_WritePhyUshort(sc, 0x19, 0x5c10);
14074 MP_WritePhyUshort(sc, 0x15, 0x0192);
14075 MP_WritePhyUshort(sc, 0x19, 0x40fa);
14076 MP_WritePhyUshort(sc, 0x15, 0x0193);
14077 MP_WritePhyUshort(sc, 0x19, 0xa602);
14078 MP_WritePhyUshort(sc, 0x15, 0x0194);
14079 MP_WritePhyUshort(sc, 0x19, 0x4010);
14080 MP_WritePhyUshort(sc, 0x15, 0x0195);
14081 MP_WritePhyUshort(sc, 0x19, 0x4440);
14082 MP_WritePhyUshort(sc, 0x15, 0x0196);
14083 MP_WritePhyUshort(sc, 0x19, 0x9d00);
14084 MP_WritePhyUshort(sc, 0x15, 0x0197);
14085 MP_WritePhyUshort(sc, 0x19, 0x7c80);
14086 MP_WritePhyUshort(sc, 0x15, 0x0198);
14087 MP_WritePhyUshort(sc, 0x19, 0x6400);
14088 MP_WritePhyUshort(sc, 0x15, 0x0199);
14089 MP_WritePhyUshort(sc, 0x19, 0x4003);
14090 MP_WritePhyUshort(sc, 0x15, 0x019a);
14091 MP_WritePhyUshort(sc, 0x19, 0x4540);
14092 MP_WritePhyUshort(sc, 0x15, 0x019b);
14093 MP_WritePhyUshort(sc, 0x19, 0x7c08);
14094 MP_WritePhyUshort(sc, 0x15, 0x019c);
14095 MP_WritePhyUshort(sc, 0x19, 0x6008);
14096 MP_WritePhyUshort(sc, 0x15, 0x019d);
14097 MP_WritePhyUshort(sc, 0x19, 0x9f00);
14098 MP_WritePhyUshort(sc, 0x15, 0x019e);
14099 MP_WritePhyUshort(sc, 0x19, 0x7c40);
14100 MP_WritePhyUshort(sc, 0x15, 0x019f);
14101 MP_WritePhyUshort(sc, 0x19, 0x6400);
14102 MP_WritePhyUshort(sc, 0x15, 0x01a0);
14103 MP_WritePhyUshort(sc, 0x19, 0x7c80);
14104 MP_WritePhyUshort(sc, 0x15, 0x01a1);
14105 MP_WritePhyUshort(sc, 0x19, 0x6480);
14106 MP_WritePhyUshort(sc, 0x15, 0x01a2);
14107 MP_WritePhyUshort(sc, 0x19, 0x3140);
14108 MP_WritePhyUshort(sc, 0x15, 0x01a3);
14109 MP_WritePhyUshort(sc, 0x19, 0x0000);
14110 MP_WritePhyUshort(sc, 0x15, 0x01a4);
14111 MP_WritePhyUshort(sc, 0x19, 0x0000);
14112 MP_WritePhyUshort(sc, 0x15, 0x01a5);
14113 MP_WritePhyUshort(sc, 0x19, 0x0000);
14114 MP_WritePhyUshort(sc, 0x15, 0x01a6);
14115 MP_WritePhyUshort(sc, 0x19, 0x4400);
14116 MP_WritePhyUshort(sc, 0x15, 0x01a7);
14117 MP_WritePhyUshort(sc, 0x19, 0x7c0b);
14118 MP_WritePhyUshort(sc, 0x15, 0x01a8);
14119 MP_WritePhyUshort(sc, 0x19, 0x6c01);
14120 MP_WritePhyUshort(sc, 0x15, 0x01a9);
14121 MP_WritePhyUshort(sc, 0x19, 0x64a8);
14122 MP_WritePhyUshort(sc, 0x15, 0x01aa);
14123 MP_WritePhyUshort(sc, 0x19, 0x6800);
14124 MP_WritePhyUshort(sc, 0x15, 0x01ab);
14125 MP_WritePhyUshort(sc, 0x19, 0x5cf0);
14126 MP_WritePhyUshort(sc, 0x15, 0x01ac);
14127 MP_WritePhyUshort(sc, 0x19, 0x588f);
14128 MP_WritePhyUshort(sc, 0x15, 0x01ad);
14129 MP_WritePhyUshort(sc, 0x19, 0xb628);
14130 MP_WritePhyUshort(sc, 0x15, 0x01ae);
14131 MP_WritePhyUshort(sc, 0x19, 0xc053);
14132 MP_WritePhyUshort(sc, 0x15, 0x01af);
14133 MP_WritePhyUshort(sc, 0x19, 0x0026);
14134 MP_WritePhyUshort(sc, 0x15, 0x01b0);
14135 MP_WritePhyUshort(sc, 0x19, 0xc02d);
14136 MP_WritePhyUshort(sc, 0x15, 0x01b1);
14137 MP_WritePhyUshort(sc, 0x19, 0x0024);
14138 MP_WritePhyUshort(sc, 0x15, 0x01b2);
14139 MP_WritePhyUshort(sc, 0x19, 0xc603);
14140 MP_WritePhyUshort(sc, 0x15, 0x01b3);
14141 MP_WritePhyUshort(sc, 0x19, 0x0022);
14142 MP_WritePhyUshort(sc, 0x15, 0x01b4);
14143 MP_WritePhyUshort(sc, 0x19, 0x8cf9);
14144 MP_WritePhyUshort(sc, 0x15, 0x01b5);
14145 MP_WritePhyUshort(sc, 0x19, 0x31ba);
14146 MP_WritePhyUshort(sc, 0x15, 0x01b6);
14147 MP_WritePhyUshort(sc, 0x19, 0x0000);
14148 MP_WritePhyUshort(sc, 0x15, 0x01b7);
14149 MP_WritePhyUshort(sc, 0x19, 0x0000);
14150 MP_WritePhyUshort(sc, 0x15, 0x01b8);
14151 MP_WritePhyUshort(sc, 0x19, 0x0000);
14152 MP_WritePhyUshort(sc, 0x15, 0x01b9);
14153 MP_WritePhyUshort(sc, 0x19, 0x0000);
14154 MP_WritePhyUshort(sc, 0x15, 0x01ba);
14155 MP_WritePhyUshort(sc, 0x19, 0x4400);
14156 MP_WritePhyUshort(sc, 0x15, 0x01bb);
14157 MP_WritePhyUshort(sc, 0x19, 0x5420);
14158 MP_WritePhyUshort(sc, 0x15, 0x01bc);
14159 MP_WritePhyUshort(sc, 0x19, 0x4811);
14160 MP_WritePhyUshort(sc, 0x15, 0x01bd);
14161 MP_WritePhyUshort(sc, 0x19, 0x5000);
14162 MP_WritePhyUshort(sc, 0x15, 0x01be);
14163 MP_WritePhyUshort(sc, 0x19, 0x4801);
14164 MP_WritePhyUshort(sc, 0x15, 0x01bf);
14165 MP_WritePhyUshort(sc, 0x19, 0x6800);
14166 MP_WritePhyUshort(sc, 0x15, 0x01c0);
14167 MP_WritePhyUshort(sc, 0x19, 0x31f5);
14168 MP_WritePhyUshort(sc, 0x15, 0x01c1);
14169 MP_WritePhyUshort(sc, 0x19, 0xb614);
14170 MP_WritePhyUshort(sc, 0x15, 0x01c2);
14171 MP_WritePhyUshort(sc, 0x19, 0x8ce4);
14172 MP_WritePhyUshort(sc, 0x15, 0x01c3);
14173 MP_WritePhyUshort(sc, 0x19, 0xb30c);
14174 MP_WritePhyUshort(sc, 0x15, 0x01c4);
14175 MP_WritePhyUshort(sc, 0x19, 0x7c03);
14176 MP_WritePhyUshort(sc, 0x15, 0x01c5);
14177 MP_WritePhyUshort(sc, 0x19, 0x6c02);
14178 MP_WritePhyUshort(sc, 0x15, 0x01c6);
14179 MP_WritePhyUshort(sc, 0x19, 0x8206);
14180 MP_WritePhyUshort(sc, 0x15, 0x01c7);
14181 MP_WritePhyUshort(sc, 0x19, 0x7c03);
14182 MP_WritePhyUshort(sc, 0x15, 0x01c8);
14183 MP_WritePhyUshort(sc, 0x19, 0x6c00);
14184 MP_WritePhyUshort(sc, 0x15, 0x01c9);
14185 MP_WritePhyUshort(sc, 0x19, 0x7c04);
14186 MP_WritePhyUshort(sc, 0x15, 0x01ca);
14187 MP_WritePhyUshort(sc, 0x19, 0x7404);
14188 MP_WritePhyUshort(sc, 0x15, 0x01cb);
14189 MP_WritePhyUshort(sc, 0x19, 0x31c0);
14190 MP_WritePhyUshort(sc, 0x15, 0x01cc);
14191 MP_WritePhyUshort(sc, 0x19, 0x7c04);
14192 MP_WritePhyUshort(sc, 0x15, 0x01cd);
14193 MP_WritePhyUshort(sc, 0x19, 0x7400);
14194 MP_WritePhyUshort(sc, 0x15, 0x01ce);
14195 MP_WritePhyUshort(sc, 0x19, 0x31c0);
14196 MP_WritePhyUshort(sc, 0x15, 0x01cf);
14197 MP_WritePhyUshort(sc, 0x19, 0x8df1);
14198 MP_WritePhyUshort(sc, 0x15, 0x01d0);
14199 MP_WritePhyUshort(sc, 0x19, 0x3248);
14200 MP_WritePhyUshort(sc, 0x15, 0x01d1);
14201 MP_WritePhyUshort(sc, 0x19, 0x0000);
14202 MP_WritePhyUshort(sc, 0x15, 0x01d2);
14203 MP_WritePhyUshort(sc, 0x19, 0x0000);
14204 MP_WritePhyUshort(sc, 0x15, 0x01d3);
14205 MP_WritePhyUshort(sc, 0x19, 0x0000);
14206 MP_WritePhyUshort(sc, 0x15, 0x01d4);
14207 MP_WritePhyUshort(sc, 0x19, 0x0000);
14208 MP_WritePhyUshort(sc, 0x15, 0x01d5);
14209 MP_WritePhyUshort(sc, 0x19, 0x4400);
14210 MP_WritePhyUshort(sc, 0x15, 0x01d6);
14211 MP_WritePhyUshort(sc, 0x19, 0x7c03);
14212 MP_WritePhyUshort(sc, 0x15, 0x01d7);
14213 MP_WritePhyUshort(sc, 0x19, 0x6c03);
14214 MP_WritePhyUshort(sc, 0x15, 0x01d8);
14215 MP_WritePhyUshort(sc, 0x19, 0x7670);
14216 MP_WritePhyUshort(sc, 0x15, 0x01d9);
14217 MP_WritePhyUshort(sc, 0x19, 0x4023);
14218 MP_WritePhyUshort(sc, 0x15, 0x01da);
14219 MP_WritePhyUshort(sc, 0x19, 0x4500);
14220 MP_WritePhyUshort(sc, 0x15, 0x01db);
14221 MP_WritePhyUshort(sc, 0x19, 0x4069);
14222 MP_WritePhyUshort(sc, 0x15, 0x01dc);
14223 MP_WritePhyUshort(sc, 0x19, 0x4580);
14224 MP_WritePhyUshort(sc, 0x15, 0x01dd);
14225 MP_WritePhyUshort(sc, 0x19, 0x9f00);
14226 MP_WritePhyUshort(sc, 0x15, 0x01de);
14227 MP_WritePhyUshort(sc, 0x19, 0xcff5);
14228 MP_WritePhyUshort(sc, 0x15, 0x01df);
14229 MP_WritePhyUshort(sc, 0x19, 0x00ff);
14230 MP_WritePhyUshort(sc, 0x15, 0x01e0);
14231 MP_WritePhyUshort(sc, 0x19, 0x76f0);
14232 MP_WritePhyUshort(sc, 0x15, 0x01e1);
14233 MP_WritePhyUshort(sc, 0x19, 0x4400);
14234 MP_WritePhyUshort(sc, 0x15, 0x01e2);
14235 MP_WritePhyUshort(sc, 0x19, 0x4023);
14236 MP_WritePhyUshort(sc, 0x15, 0x01e3);
14237 MP_WritePhyUshort(sc, 0x19, 0x4500);
14238 MP_WritePhyUshort(sc, 0x15, 0x01e4);
14239 MP_WritePhyUshort(sc, 0x19, 0x4069);
14240 MP_WritePhyUshort(sc, 0x15, 0x01e5);
14241 MP_WritePhyUshort(sc, 0x19, 0x4580);
14242 MP_WritePhyUshort(sc, 0x15, 0x01e6);
14243 MP_WritePhyUshort(sc, 0x19, 0x9f00);
14244 MP_WritePhyUshort(sc, 0x15, 0x01e7);
14245 MP_WritePhyUshort(sc, 0x19, 0xd0f5);
14246 MP_WritePhyUshort(sc, 0x15, 0x01e8);
14247 MP_WritePhyUshort(sc, 0x19, 0x00ff);
14248 MP_WritePhyUshort(sc, 0x15, 0x01e9);
14249 MP_WritePhyUshort(sc, 0x19, 0x4400);
14250 MP_WritePhyUshort(sc, 0x15, 0x01ea);
14251 MP_WritePhyUshort(sc, 0x19, 0x7c03);
14252 MP_WritePhyUshort(sc, 0x15, 0x01eb);
14253 MP_WritePhyUshort(sc, 0x19, 0x6800);
14254 MP_WritePhyUshort(sc, 0x15, 0x01ec);
14255 MP_WritePhyUshort(sc, 0x19, 0x66a0);
14256 MP_WritePhyUshort(sc, 0x15, 0x01ed);
14257 MP_WritePhyUshort(sc, 0x19, 0x8300);
14258 MP_WritePhyUshort(sc, 0x15, 0x01ee);
14259 MP_WritePhyUshort(sc, 0x19, 0x74f0);
14260 MP_WritePhyUshort(sc, 0x15, 0x01ef);
14261 MP_WritePhyUshort(sc, 0x19, 0x3006);
14262 MP_WritePhyUshort(sc, 0x15, 0x01f0);
14263 MP_WritePhyUshort(sc, 0x19, 0x0000);
14264 MP_WritePhyUshort(sc, 0x15, 0x01f1);
14265 MP_WritePhyUshort(sc, 0x19, 0x0000);
14266 MP_WritePhyUshort(sc, 0x15, 0x01f2);
14267 MP_WritePhyUshort(sc, 0x19, 0x0000);
14268 MP_WritePhyUshort(sc, 0x15, 0x01f3);
14269 MP_WritePhyUshort(sc, 0x19, 0x0000);
14270 MP_WritePhyUshort(sc, 0x15, 0x01f4);
14271 MP_WritePhyUshort(sc, 0x19, 0x0000);
14272 MP_WritePhyUshort(sc, 0x15, 0x01f5);
14273 MP_WritePhyUshort(sc, 0x19, 0x7c03);
14274 MP_WritePhyUshort(sc, 0x15, 0x01f6);
14275 MP_WritePhyUshort(sc, 0x19, 0x6c02);
14276 MP_WritePhyUshort(sc, 0x15, 0x01f7);
14277 MP_WritePhyUshort(sc, 0x19, 0x409d);
14278 MP_WritePhyUshort(sc, 0x15, 0x01f8);
14279 MP_WritePhyUshort(sc, 0x19, 0x7c87);
14280 MP_WritePhyUshort(sc, 0x15, 0x01f9);
14281 MP_WritePhyUshort(sc, 0x19, 0xae14);
14282 MP_WritePhyUshort(sc, 0x15, 0x01fa);
14283 MP_WritePhyUshort(sc, 0x19, 0x4400);
14284 MP_WritePhyUshort(sc, 0x15, 0x01fb);
14285 MP_WritePhyUshort(sc, 0x19, 0x7c40);
14286 MP_WritePhyUshort(sc, 0x15, 0x01fc);
14287 MP_WritePhyUshort(sc, 0x19, 0x6800);
14288 MP_WritePhyUshort(sc, 0x15, 0x01fd);
14289 MP_WritePhyUshort(sc, 0x19, 0x7801);
14290 MP_WritePhyUshort(sc, 0x15, 0x01fe);
14291 MP_WritePhyUshort(sc, 0x19, 0x980e);
14292 MP_WritePhyUshort(sc, 0x15, 0x01ff);
14293 MP_WritePhyUshort(sc, 0x19, 0x930c);
14294 MP_WritePhyUshort(sc, 0x15, 0x0200);
14295 MP_WritePhyUshort(sc, 0x19, 0x9206);
14296 MP_WritePhyUshort(sc, 0x15, 0x0201);
14297 MP_WritePhyUshort(sc, 0x19, 0x4002);
14298 MP_WritePhyUshort(sc, 0x15, 0x0202);
14299 MP_WritePhyUshort(sc, 0x19, 0x7800);
14300 MP_WritePhyUshort(sc, 0x15, 0x0203);
14301 MP_WritePhyUshort(sc, 0x19, 0x588f);
14302 MP_WritePhyUshort(sc, 0x15, 0x0204);
14303 MP_WritePhyUshort(sc, 0x19, 0x5520);
14304 MP_WritePhyUshort(sc, 0x15, 0x0205);
14305 MP_WritePhyUshort(sc, 0x19, 0x320c);
14306 MP_WritePhyUshort(sc, 0x15, 0x0206);
14307 MP_WritePhyUshort(sc, 0x19, 0x4000);
14308 MP_WritePhyUshort(sc, 0x15, 0x0207);
14309 MP_WritePhyUshort(sc, 0x19, 0x7800);
14310 MP_WritePhyUshort(sc, 0x15, 0x0208);
14311 MP_WritePhyUshort(sc, 0x19, 0x588d);
14312 MP_WritePhyUshort(sc, 0x15, 0x0209);
14313 MP_WritePhyUshort(sc, 0x19, 0x5500);
14314 MP_WritePhyUshort(sc, 0x15, 0x020a);
14315 MP_WritePhyUshort(sc, 0x19, 0x320c);
14316 MP_WritePhyUshort(sc, 0x15, 0x020b);
14317 MP_WritePhyUshort(sc, 0x19, 0x4002);
14318 MP_WritePhyUshort(sc, 0x15, 0x020c);
14319 MP_WritePhyUshort(sc, 0x19, 0x3220);
14320 MP_WritePhyUshort(sc, 0x15, 0x020d);
14321 MP_WritePhyUshort(sc, 0x19, 0x4480);
14322 MP_WritePhyUshort(sc, 0x15, 0x020e);
14323 MP_WritePhyUshort(sc, 0x19, 0x9e03);
14324 MP_WritePhyUshort(sc, 0x15, 0x020f);
14325 MP_WritePhyUshort(sc, 0x19, 0x7c40);
14326 MP_WritePhyUshort(sc, 0x15, 0x0210);
14327 MP_WritePhyUshort(sc, 0x19, 0x6840);
14328 MP_WritePhyUshort(sc, 0x15, 0x0211);
14329 MP_WritePhyUshort(sc, 0x19, 0x7801);
14330 MP_WritePhyUshort(sc, 0x15, 0x0212);
14331 MP_WritePhyUshort(sc, 0x19, 0x980e);
14332 MP_WritePhyUshort(sc, 0x15, 0x0213);
14333 MP_WritePhyUshort(sc, 0x19, 0x930c);
14334 MP_WritePhyUshort(sc, 0x15, 0x0214);
14335 MP_WritePhyUshort(sc, 0x19, 0x9206);
14336 MP_WritePhyUshort(sc, 0x15, 0x0215);
14337 MP_WritePhyUshort(sc, 0x19, 0x4000);
14338 MP_WritePhyUshort(sc, 0x15, 0x0216);
14339 MP_WritePhyUshort(sc, 0x19, 0x7800);
14340 MP_WritePhyUshort(sc, 0x15, 0x0217);
14341 MP_WritePhyUshort(sc, 0x19, 0x588f);
14342 MP_WritePhyUshort(sc, 0x15, 0x0218);
14343 MP_WritePhyUshort(sc, 0x19, 0x5520);
14344 MP_WritePhyUshort(sc, 0x15, 0x0219);
14345 MP_WritePhyUshort(sc, 0x19, 0x3220);
14346 MP_WritePhyUshort(sc, 0x15, 0x021a);
14347 MP_WritePhyUshort(sc, 0x19, 0x4002);
14348 MP_WritePhyUshort(sc, 0x15, 0x021b);
14349 MP_WritePhyUshort(sc, 0x19, 0x7800);
14350 MP_WritePhyUshort(sc, 0x15, 0x021c);
14351 MP_WritePhyUshort(sc, 0x19, 0x588d);
14352 MP_WritePhyUshort(sc, 0x15, 0x021d);
14353 MP_WritePhyUshort(sc, 0x19, 0x5540);
14354 MP_WritePhyUshort(sc, 0x15, 0x021e);
14355 MP_WritePhyUshort(sc, 0x19, 0x3220);
14356 MP_WritePhyUshort(sc, 0x15, 0x021f);
14357 MP_WritePhyUshort(sc, 0x19, 0x4000);
14358 MP_WritePhyUshort(sc, 0x15, 0x0220);
14359 MP_WritePhyUshort(sc, 0x19, 0x7800);
14360 MP_WritePhyUshort(sc, 0x15, 0x0221);
14361 MP_WritePhyUshort(sc, 0x19, 0x7c03);
14362 MP_WritePhyUshort(sc, 0x15, 0x0222);
14363 MP_WritePhyUshort(sc, 0x19, 0x6c00);
14364 MP_WritePhyUshort(sc, 0x15, 0x0223);
14365 MP_WritePhyUshort(sc, 0x19, 0x3231);
14366 MP_WritePhyUshort(sc, 0x15, 0x0224);
14367 MP_WritePhyUshort(sc, 0x19, 0xab06);
14368 MP_WritePhyUshort(sc, 0x15, 0x0225);
14369 MP_WritePhyUshort(sc, 0x19, 0xbf08);
14370 MP_WritePhyUshort(sc, 0x15, 0x0226);
14371 MP_WritePhyUshort(sc, 0x19, 0x4076);
14372 MP_WritePhyUshort(sc, 0x15, 0x0227);
14373 MP_WritePhyUshort(sc, 0x19, 0x7d07);
14374 MP_WritePhyUshort(sc, 0x15, 0x0228);
14375 MP_WritePhyUshort(sc, 0x19, 0x4502);
14376 MP_WritePhyUshort(sc, 0x15, 0x0229);
14377 MP_WritePhyUshort(sc, 0x19, 0x3231);
14378 MP_WritePhyUshort(sc, 0x15, 0x022a);
14379 MP_WritePhyUshort(sc, 0x19, 0x7d80);
14380 MP_WritePhyUshort(sc, 0x15, 0x022b);
14381 MP_WritePhyUshort(sc, 0x19, 0x5180);
14382 MP_WritePhyUshort(sc, 0x15, 0x022c);
14383 MP_WritePhyUshort(sc, 0x19, 0x322f);
14384 MP_WritePhyUshort(sc, 0x15, 0x022d);
14385 MP_WritePhyUshort(sc, 0x19, 0x7d80);
14386 MP_WritePhyUshort(sc, 0x15, 0x022e);
14387 MP_WritePhyUshort(sc, 0x19, 0x5000);
14388 MP_WritePhyUshort(sc, 0x15, 0x022f);
14389 MP_WritePhyUshort(sc, 0x19, 0x7d07);
14390 MP_WritePhyUshort(sc, 0x15, 0x0230);
14391 MP_WritePhyUshort(sc, 0x19, 0x4402);
14392 MP_WritePhyUshort(sc, 0x15, 0x0231);
14393 MP_WritePhyUshort(sc, 0x19, 0x7c03);
14394 MP_WritePhyUshort(sc, 0x15, 0x0232);
14395 MP_WritePhyUshort(sc, 0x19, 0x6c02);
14396 MP_WritePhyUshort(sc, 0x15, 0x0233);
14397 MP_WritePhyUshort(sc, 0x19, 0x7c03);
14398 MP_WritePhyUshort(sc, 0x15, 0x0234);
14399 MP_WritePhyUshort(sc, 0x19, 0xb309);
14400 MP_WritePhyUshort(sc, 0x15, 0x0235);
14401 MP_WritePhyUshort(sc, 0x19, 0xb204);
14402 MP_WritePhyUshort(sc, 0x15, 0x0236);
14403 MP_WritePhyUshort(sc, 0x19, 0xb105);
14404 MP_WritePhyUshort(sc, 0x15, 0x0237);
14405 MP_WritePhyUshort(sc, 0x19, 0x6c00);
14406 MP_WritePhyUshort(sc, 0x15, 0x0238);
14407 MP_WritePhyUshort(sc, 0x19, 0x31c1);
14408 MP_WritePhyUshort(sc, 0x15, 0x0239);
14409 MP_WritePhyUshort(sc, 0x19, 0x6c00);
14410 MP_WritePhyUshort(sc, 0x15, 0x023a);
14411 MP_WritePhyUshort(sc, 0x19, 0x3261);
14412 MP_WritePhyUshort(sc, 0x15, 0x023b);
14413 MP_WritePhyUshort(sc, 0x19, 0x6c00);
14414 MP_WritePhyUshort(sc, 0x15, 0x023c);
14415 MP_WritePhyUshort(sc, 0x19, 0x3250);
14416 MP_WritePhyUshort(sc, 0x15, 0x023d);
14417 MP_WritePhyUshort(sc, 0x19, 0xb203);
14418 MP_WritePhyUshort(sc, 0x15, 0x023e);
14419 MP_WritePhyUshort(sc, 0x19, 0x6c00);
14420 MP_WritePhyUshort(sc, 0x15, 0x023f);
14421 MP_WritePhyUshort(sc, 0x19, 0x327a);
14422 MP_WritePhyUshort(sc, 0x15, 0x0240);
14423 MP_WritePhyUshort(sc, 0x19, 0x6c00);
14424 MP_WritePhyUshort(sc, 0x15, 0x0241);
14425 MP_WritePhyUshort(sc, 0x19, 0x3293);
14426 MP_WritePhyUshort(sc, 0x15, 0x0242);
14427 MP_WritePhyUshort(sc, 0x19, 0x0000);
14428 MP_WritePhyUshort(sc, 0x15, 0x0243);
14429 MP_WritePhyUshort(sc, 0x19, 0x0000);
14430 MP_WritePhyUshort(sc, 0x15, 0x0244);
14431 MP_WritePhyUshort(sc, 0x19, 0x0000);
14432 MP_WritePhyUshort(sc, 0x15, 0x0245);
14433 MP_WritePhyUshort(sc, 0x19, 0x0000);
14434 MP_WritePhyUshort(sc, 0x15, 0x0246);
14435 MP_WritePhyUshort(sc, 0x19, 0x0000);
14436 MP_WritePhyUshort(sc, 0x15, 0x0247);
14437 MP_WritePhyUshort(sc, 0x19, 0x32a3);
14438 MP_WritePhyUshort(sc, 0x15, 0x0248);
14439 MP_WritePhyUshort(sc, 0x19, 0x5520);
14440 MP_WritePhyUshort(sc, 0x15, 0x0249);
14441 MP_WritePhyUshort(sc, 0x19, 0x403d);
14442 MP_WritePhyUshort(sc, 0x15, 0x024a);
14443 MP_WritePhyUshort(sc, 0x19, 0x440c);
14444 MP_WritePhyUshort(sc, 0x15, 0x024b);
14445 MP_WritePhyUshort(sc, 0x19, 0x4812);
14446 MP_WritePhyUshort(sc, 0x15, 0x024c);
14447 MP_WritePhyUshort(sc, 0x19, 0x5001);
14448 MP_WritePhyUshort(sc, 0x15, 0x024d);
14449 MP_WritePhyUshort(sc, 0x19, 0x4802);
14450 MP_WritePhyUshort(sc, 0x15, 0x024e);
14451 MP_WritePhyUshort(sc, 0x19, 0x6880);
14452 MP_WritePhyUshort(sc, 0x15, 0x024f);
14453 MP_WritePhyUshort(sc, 0x19, 0x31f5);
14454 MP_WritePhyUshort(sc, 0x15, 0x0250);
14455 MP_WritePhyUshort(sc, 0x19, 0xb685);
14456 MP_WritePhyUshort(sc, 0x15, 0x0251);
14457 MP_WritePhyUshort(sc, 0x19, 0x801c);
14458 MP_WritePhyUshort(sc, 0x15, 0x0252);
14459 MP_WritePhyUshort(sc, 0x19, 0xbaf5);
14460 MP_WritePhyUshort(sc, 0x15, 0x0253);
14461 MP_WritePhyUshort(sc, 0x19, 0xc07c);
14462 MP_WritePhyUshort(sc, 0x15, 0x0254);
14463 MP_WritePhyUshort(sc, 0x19, 0x00fb);
14464 MP_WritePhyUshort(sc, 0x15, 0x0255);
14465 MP_WritePhyUshort(sc, 0x19, 0x325a);
14466 MP_WritePhyUshort(sc, 0x15, 0x0256);
14467 MP_WritePhyUshort(sc, 0x19, 0x0000);
14468 MP_WritePhyUshort(sc, 0x15, 0x0257);
14469 MP_WritePhyUshort(sc, 0x19, 0x0000);
14470 MP_WritePhyUshort(sc, 0x15, 0x0258);
14471 MP_WritePhyUshort(sc, 0x19, 0x0000);
14472 MP_WritePhyUshort(sc, 0x15, 0x0259);
14473 MP_WritePhyUshort(sc, 0x19, 0x0000);
14474 MP_WritePhyUshort(sc, 0x15, 0x025a);
14475 MP_WritePhyUshort(sc, 0x19, 0x481a);
14476 MP_WritePhyUshort(sc, 0x15, 0x025b);
14477 MP_WritePhyUshort(sc, 0x19, 0x5001);
14478 MP_WritePhyUshort(sc, 0x15, 0x025c);
14479 MP_WritePhyUshort(sc, 0x19, 0x401b);
14480 MP_WritePhyUshort(sc, 0x15, 0x025d);
14481 MP_WritePhyUshort(sc, 0x19, 0x480a);
14482 MP_WritePhyUshort(sc, 0x15, 0x025e);
14483 MP_WritePhyUshort(sc, 0x19, 0x4418);
14484 MP_WritePhyUshort(sc, 0x15, 0x025f);
14485 MP_WritePhyUshort(sc, 0x19, 0x6900);
14486 MP_WritePhyUshort(sc, 0x15, 0x0260);
14487 MP_WritePhyUshort(sc, 0x19, 0x31f5);
14488 MP_WritePhyUshort(sc, 0x15, 0x0261);
14489 MP_WritePhyUshort(sc, 0x19, 0xb64b);
14490 MP_WritePhyUshort(sc, 0x15, 0x0262);
14491 MP_WritePhyUshort(sc, 0x19, 0xdb00);
14492 MP_WritePhyUshort(sc, 0x15, 0x0263);
14493 MP_WritePhyUshort(sc, 0x19, 0x0048);
14494 MP_WritePhyUshort(sc, 0x15, 0x0264);
14495 MP_WritePhyUshort(sc, 0x19, 0xdb7d);
14496 MP_WritePhyUshort(sc, 0x15, 0x0265);
14497 MP_WritePhyUshort(sc, 0x19, 0x0002);
14498 MP_WritePhyUshort(sc, 0x15, 0x0266);
14499 MP_WritePhyUshort(sc, 0x19, 0xa0fa);
14500 MP_WritePhyUshort(sc, 0x15, 0x0267);
14501 MP_WritePhyUshort(sc, 0x19, 0x4408);
14502 MP_WritePhyUshort(sc, 0x15, 0x0268);
14503 MP_WritePhyUshort(sc, 0x19, 0x3248);
14504 MP_WritePhyUshort(sc, 0x15, 0x0269);
14505 MP_WritePhyUshort(sc, 0x19, 0x0000);
14506 MP_WritePhyUshort(sc, 0x15, 0x026a);
14507 MP_WritePhyUshort(sc, 0x19, 0x0000);
14508 MP_WritePhyUshort(sc, 0x15, 0x026b);
14509 MP_WritePhyUshort(sc, 0x19, 0x0000);
14510 MP_WritePhyUshort(sc, 0x15, 0x026c);
14511 MP_WritePhyUshort(sc, 0x19, 0x0000);
14512 MP_WritePhyUshort(sc, 0x15, 0x026d);
14513 MP_WritePhyUshort(sc, 0x19, 0xb806);
14514 MP_WritePhyUshort(sc, 0x15, 0x026e);
14515 MP_WritePhyUshort(sc, 0x19, 0x588d);
14516 MP_WritePhyUshort(sc, 0x15, 0x026f);
14517 MP_WritePhyUshort(sc, 0x19, 0x5500);
14518 MP_WritePhyUshort(sc, 0x15, 0x0270);
14519 MP_WritePhyUshort(sc, 0x19, 0x7801);
14520 MP_WritePhyUshort(sc, 0x15, 0x0271);
14521 MP_WritePhyUshort(sc, 0x19, 0x4002);
14522 MP_WritePhyUshort(sc, 0x15, 0x0272);
14523 MP_WritePhyUshort(sc, 0x19, 0x7800);
14524 MP_WritePhyUshort(sc, 0x15, 0x0273);
14525 MP_WritePhyUshort(sc, 0x19, 0x4814);
14526 MP_WritePhyUshort(sc, 0x15, 0x0274);
14527 MP_WritePhyUshort(sc, 0x19, 0x500b);
14528 MP_WritePhyUshort(sc, 0x15, 0x0275);
14529 MP_WritePhyUshort(sc, 0x19, 0x4804);
14530 MP_WritePhyUshort(sc, 0x15, 0x0276);
14531 MP_WritePhyUshort(sc, 0x19, 0x40c4);
14532 MP_WritePhyUshort(sc, 0x15, 0x0277);
14533 MP_WritePhyUshort(sc, 0x19, 0x4425);
14534 MP_WritePhyUshort(sc, 0x15, 0x0278);
14535 MP_WritePhyUshort(sc, 0x19, 0x6a00);
14536 MP_WritePhyUshort(sc, 0x15, 0x0279);
14537 MP_WritePhyUshort(sc, 0x19, 0x31f5);
14538 MP_WritePhyUshort(sc, 0x15, 0x027a);
14539 MP_WritePhyUshort(sc, 0x19, 0xb632);
14540 MP_WritePhyUshort(sc, 0x15, 0x027b);
14541 MP_WritePhyUshort(sc, 0x19, 0xdc03);
14542 MP_WritePhyUshort(sc, 0x15, 0x027c);
14543 MP_WritePhyUshort(sc, 0x19, 0x0027);
14544 MP_WritePhyUshort(sc, 0x15, 0x027d);
14545 MP_WritePhyUshort(sc, 0x19, 0x80fc);
14546 MP_WritePhyUshort(sc, 0x15, 0x027e);
14547 MP_WritePhyUshort(sc, 0x19, 0x3283);
14548 MP_WritePhyUshort(sc, 0x15, 0x027f);
14549 MP_WritePhyUshort(sc, 0x19, 0x0000);
14550 MP_WritePhyUshort(sc, 0x15, 0x0280);
14551 MP_WritePhyUshort(sc, 0x19, 0x0000);
14552 MP_WritePhyUshort(sc, 0x15, 0x0281);
14553 MP_WritePhyUshort(sc, 0x19, 0x0000);
14554 MP_WritePhyUshort(sc, 0x15, 0x0282);
14555 MP_WritePhyUshort(sc, 0x19, 0x0000);
14556 MP_WritePhyUshort(sc, 0x15, 0x0283);
14557 MP_WritePhyUshort(sc, 0x19, 0xb806);
14558 MP_WritePhyUshort(sc, 0x15, 0x0284);
14559 MP_WritePhyUshort(sc, 0x19, 0x588f);
14560 MP_WritePhyUshort(sc, 0x15, 0x0285);
14561 MP_WritePhyUshort(sc, 0x19, 0x5520);
14562 MP_WritePhyUshort(sc, 0x15, 0x0286);
14563 MP_WritePhyUshort(sc, 0x19, 0x7801);
14564 MP_WritePhyUshort(sc, 0x15, 0x0287);
14565 MP_WritePhyUshort(sc, 0x19, 0x4000);
14566 MP_WritePhyUshort(sc, 0x15, 0x0288);
14567 MP_WritePhyUshort(sc, 0x19, 0x7800);
14568 MP_WritePhyUshort(sc, 0x15, 0x0289);
14569 MP_WritePhyUshort(sc, 0x19, 0x4818);
14570 MP_WritePhyUshort(sc, 0x15, 0x028a);
14571 MP_WritePhyUshort(sc, 0x19, 0x5051);
14572 MP_WritePhyUshort(sc, 0x15, 0x028b);
14573 MP_WritePhyUshort(sc, 0x19, 0x4808);
14574 MP_WritePhyUshort(sc, 0x15, 0x028c);
14575 MP_WritePhyUshort(sc, 0x19, 0x4050);
14576 MP_WritePhyUshort(sc, 0x15, 0x028d);
14577 MP_WritePhyUshort(sc, 0x19, 0x4462);
14578 MP_WritePhyUshort(sc, 0x15, 0x028e);
14579 MP_WritePhyUshort(sc, 0x19, 0x40c4);
14580 MP_WritePhyUshort(sc, 0x15, 0x028f);
14581 MP_WritePhyUshort(sc, 0x19, 0x4473);
14582 MP_WritePhyUshort(sc, 0x15, 0x0290);
14583 MP_WritePhyUshort(sc, 0x19, 0x5041);
14584 MP_WritePhyUshort(sc, 0x15, 0x0291);
14585 MP_WritePhyUshort(sc, 0x19, 0x6b00);
14586 MP_WritePhyUshort(sc, 0x15, 0x0292);
14587 MP_WritePhyUshort(sc, 0x19, 0x31f5);
14588 MP_WritePhyUshort(sc, 0x15, 0x0293);
14589 MP_WritePhyUshort(sc, 0x19, 0xb619);
14590 MP_WritePhyUshort(sc, 0x15, 0x0294);
14591 MP_WritePhyUshort(sc, 0x19, 0x80d9);
14592 MP_WritePhyUshort(sc, 0x15, 0x0295);
14593 MP_WritePhyUshort(sc, 0x19, 0xbd06);
14594 MP_WritePhyUshort(sc, 0x15, 0x0296);
14595 MP_WritePhyUshort(sc, 0x19, 0xbb0d);
14596 MP_WritePhyUshort(sc, 0x15, 0x0297);
14597 MP_WritePhyUshort(sc, 0x19, 0xaf14);
14598 MP_WritePhyUshort(sc, 0x15, 0x0298);
14599 MP_WritePhyUshort(sc, 0x19, 0x8efa);
14600 MP_WritePhyUshort(sc, 0x15, 0x0299);
14601 MP_WritePhyUshort(sc, 0x19, 0x5049);
14602 MP_WritePhyUshort(sc, 0x15, 0x029a);
14603 MP_WritePhyUshort(sc, 0x19, 0x3248);
14604 MP_WritePhyUshort(sc, 0x15, 0x029b);
14605 MP_WritePhyUshort(sc, 0x19, 0x4c10);
14606 MP_WritePhyUshort(sc, 0x15, 0x029c);
14607 MP_WritePhyUshort(sc, 0x19, 0x44b0);
14608 MP_WritePhyUshort(sc, 0x15, 0x029d);
14609 MP_WritePhyUshort(sc, 0x19, 0x4c00);
14610 MP_WritePhyUshort(sc, 0x15, 0x029e);
14611 MP_WritePhyUshort(sc, 0x19, 0x3292);
14612 MP_WritePhyUshort(sc, 0x15, 0x029f);
14613 MP_WritePhyUshort(sc, 0x19, 0x0000);
14614 MP_WritePhyUshort(sc, 0x15, 0x02a0);
14615 MP_WritePhyUshort(sc, 0x19, 0x0000);
14616 MP_WritePhyUshort(sc, 0x15, 0x02a1);
14617 MP_WritePhyUshort(sc, 0x19, 0x0000);
14618 MP_WritePhyUshort(sc, 0x15, 0x02a2);
14619 MP_WritePhyUshort(sc, 0x19, 0x0000);
14620 MP_WritePhyUshort(sc, 0x15, 0x02a3);
14621 MP_WritePhyUshort(sc, 0x19, 0x481f);
14622 MP_WritePhyUshort(sc, 0x15, 0x02a4);
14623 MP_WritePhyUshort(sc, 0x19, 0x5005);
14624 MP_WritePhyUshort(sc, 0x15, 0x02a5);
14625 MP_WritePhyUshort(sc, 0x19, 0x480f);
14626 MP_WritePhyUshort(sc, 0x15, 0x02a6);
14627 MP_WritePhyUshort(sc, 0x19, 0xac00);
14628 MP_WritePhyUshort(sc, 0x15, 0x02a7);
14629 MP_WritePhyUshort(sc, 0x19, 0x31a6);
14630 MP_WritePhyUshort(sc, 0x15, 0x02a8);
14631 MP_WritePhyUshort(sc, 0x19, 0x0000);
14632 MP_WritePhyUshort(sc, 0x15, 0x02a9);
14633 MP_WritePhyUshort(sc, 0x19, 0x0000);
14634 MP_WritePhyUshort(sc, 0x15, 0x02aa);
14635 MP_WritePhyUshort(sc, 0x19, 0x0000);
14636 MP_WritePhyUshort(sc, 0x15, 0x02ab);
14637 MP_WritePhyUshort(sc, 0x19, 0x31ba);
14638 MP_WritePhyUshort(sc, 0x15, 0x02ac);
14639 MP_WritePhyUshort(sc, 0x19, 0x31d5);
14640 MP_WritePhyUshort(sc, 0x15, 0x02ad);
14641 MP_WritePhyUshort(sc, 0x19, 0x0000);
14642 MP_WritePhyUshort(sc, 0x15, 0x02ae);
14643 MP_WritePhyUshort(sc, 0x19, 0x5cf0);
14644 MP_WritePhyUshort(sc, 0x15, 0x02af);
14645 MP_WritePhyUshort(sc, 0x19, 0x588c);
14646 MP_WritePhyUshort(sc, 0x15, 0x02b0);
14647 MP_WritePhyUshort(sc, 0x19, 0x542f);
14648 MP_WritePhyUshort(sc, 0x15, 0x02b1);
14649 MP_WritePhyUshort(sc, 0x19, 0x7ffb);
14650 MP_WritePhyUshort(sc, 0x15, 0x02b2);
14651 MP_WritePhyUshort(sc, 0x19, 0x6ff8);
14652 MP_WritePhyUshort(sc, 0x15, 0x02b3);
14653 MP_WritePhyUshort(sc, 0x19, 0x64a4);
14654 MP_WritePhyUshort(sc, 0x15, 0x02b4);
14655 MP_WritePhyUshort(sc, 0x19, 0x64a0);
14656 MP_WritePhyUshort(sc, 0x15, 0x02b5);
14657 MP_WritePhyUshort(sc, 0x19, 0x6800);
14658 MP_WritePhyUshort(sc, 0x15, 0x02b6);
14659 MP_WritePhyUshort(sc, 0x19, 0x4400);
14660 MP_WritePhyUshort(sc, 0x15, 0x02b7);
14661 MP_WritePhyUshort(sc, 0x19, 0x4020);
14662 MP_WritePhyUshort(sc, 0x15, 0x02b8);
14663 MP_WritePhyUshort(sc, 0x19, 0x4480);
14664 MP_WritePhyUshort(sc, 0x15, 0x02b9);
14665 MP_WritePhyUshort(sc, 0x19, 0x9e00);
14666 MP_WritePhyUshort(sc, 0x15, 0x02ba);
14667 MP_WritePhyUshort(sc, 0x19, 0x4891);
14668 MP_WritePhyUshort(sc, 0x15, 0x02bb);
14669 MP_WritePhyUshort(sc, 0x19, 0x4cc0);
14670 MP_WritePhyUshort(sc, 0x15, 0x02bc);
14671 MP_WritePhyUshort(sc, 0x19, 0x4801);
14672 MP_WritePhyUshort(sc, 0x15, 0x02bd);
14673 MP_WritePhyUshort(sc, 0x19, 0xa609);
14674 MP_WritePhyUshort(sc, 0x15, 0x02be);
14675 MP_WritePhyUshort(sc, 0x19, 0xd64f);
14676 MP_WritePhyUshort(sc, 0x15, 0x02bf);
14677 MP_WritePhyUshort(sc, 0x19, 0x004e);
14678 MP_WritePhyUshort(sc, 0x15, 0x02c0);
14679 MP_WritePhyUshort(sc, 0x19, 0x87fe);
14680 MP_WritePhyUshort(sc, 0x15, 0x02c1);
14681 MP_WritePhyUshort(sc, 0x19, 0x32c6);
14682 MP_WritePhyUshort(sc, 0x15, 0x02c2);
14683 MP_WritePhyUshort(sc, 0x19, 0x0000);
14684 MP_WritePhyUshort(sc, 0x15, 0x02c3);
14685 MP_WritePhyUshort(sc, 0x19, 0x0000);
14686 MP_WritePhyUshort(sc, 0x15, 0x02c4);
14687 MP_WritePhyUshort(sc, 0x19, 0x0000);
14688 MP_WritePhyUshort(sc, 0x15, 0x02c5);
14689 MP_WritePhyUshort(sc, 0x19, 0x0000);
14690 MP_WritePhyUshort(sc, 0x15, 0x02c6);
14691 MP_WritePhyUshort(sc, 0x19, 0x48b2);
14692 MP_WritePhyUshort(sc, 0x15, 0x02c7);
14693 MP_WritePhyUshort(sc, 0x19, 0x4020);
14694 MP_WritePhyUshort(sc, 0x15, 0x02c8);
14695 MP_WritePhyUshort(sc, 0x19, 0x4822);
14696 MP_WritePhyUshort(sc, 0x15, 0x02c9);
14697 MP_WritePhyUshort(sc, 0x19, 0x4488);
14698 MP_WritePhyUshort(sc, 0x15, 0x02ca);
14699 MP_WritePhyUshort(sc, 0x19, 0xd64f);
14700 MP_WritePhyUshort(sc, 0x15, 0x02cb);
14701 MP_WritePhyUshort(sc, 0x19, 0x0042);
14702 MP_WritePhyUshort(sc, 0x15, 0x02cc);
14703 MP_WritePhyUshort(sc, 0x19, 0x8203);
14704 MP_WritePhyUshort(sc, 0x15, 0x02cd);
14705 MP_WritePhyUshort(sc, 0x19, 0x4cc8);
14706 MP_WritePhyUshort(sc, 0x15, 0x02ce);
14707 MP_WritePhyUshort(sc, 0x19, 0x32d0);
14708 MP_WritePhyUshort(sc, 0x15, 0x02cf);
14709 MP_WritePhyUshort(sc, 0x19, 0x4cc0);
14710 MP_WritePhyUshort(sc, 0x15, 0x02d0);
14711 MP_WritePhyUshort(sc, 0x19, 0xc4d4);
14712 MP_WritePhyUshort(sc, 0x15, 0x02d1);
14713 MP_WritePhyUshort(sc, 0x19, 0x00f9);
14714 MP_WritePhyUshort(sc, 0x15, 0x02d2);
14715 MP_WritePhyUshort(sc, 0x19, 0xa51a);
14716 MP_WritePhyUshort(sc, 0x15, 0x02d3);
14717 MP_WritePhyUshort(sc, 0x19, 0x32d9);
14718 MP_WritePhyUshort(sc, 0x15, 0x02d4);
14719 MP_WritePhyUshort(sc, 0x19, 0x0000);
14720 MP_WritePhyUshort(sc, 0x15, 0x02d5);
14721 MP_WritePhyUshort(sc, 0x19, 0x0000);
14722 MP_WritePhyUshort(sc, 0x15, 0x02d6);
14723 MP_WritePhyUshort(sc, 0x19, 0x0000);
14724 MP_WritePhyUshort(sc, 0x15, 0x02d7);
14725 MP_WritePhyUshort(sc, 0x19, 0x0000);
14726 MP_WritePhyUshort(sc, 0x15, 0x02d8);
14727 MP_WritePhyUshort(sc, 0x19, 0x0000);
14728 MP_WritePhyUshort(sc, 0x15, 0x02d9);
14729 MP_WritePhyUshort(sc, 0x19, 0x48b3);
14730 MP_WritePhyUshort(sc, 0x15, 0x02da);
14731 MP_WritePhyUshort(sc, 0x19, 0x4020);
14732 MP_WritePhyUshort(sc, 0x15, 0x02db);
14733 MP_WritePhyUshort(sc, 0x19, 0x4823);
14734 MP_WritePhyUshort(sc, 0x15, 0x02dc);
14735 MP_WritePhyUshort(sc, 0x19, 0x4410);
14736 MP_WritePhyUshort(sc, 0x15, 0x02dd);
14737 MP_WritePhyUshort(sc, 0x19, 0xb630);
14738 MP_WritePhyUshort(sc, 0x15, 0x02de);
14739 MP_WritePhyUshort(sc, 0x19, 0x7dc8);
14740 MP_WritePhyUshort(sc, 0x15, 0x02df);
14741 MP_WritePhyUshort(sc, 0x19, 0x8203);
14742 MP_WritePhyUshort(sc, 0x15, 0x02e0);
14743 MP_WritePhyUshort(sc, 0x19, 0x4c48);
14744 MP_WritePhyUshort(sc, 0x15, 0x02e1);
14745 MP_WritePhyUshort(sc, 0x19, 0x32e3);
14746 MP_WritePhyUshort(sc, 0x15, 0x02e2);
14747 MP_WritePhyUshort(sc, 0x19, 0x4c40);
14748 MP_WritePhyUshort(sc, 0x15, 0x02e3);
14749 MP_WritePhyUshort(sc, 0x19, 0x9bfa);
14750 MP_WritePhyUshort(sc, 0x15, 0x02e4);
14751 MP_WritePhyUshort(sc, 0x19, 0x84ca);
14752 MP_WritePhyUshort(sc, 0x15, 0x02e5);
14753 MP_WritePhyUshort(sc, 0x19, 0x85f8);
14754 MP_WritePhyUshort(sc, 0x15, 0x02e6);
14755 MP_WritePhyUshort(sc, 0x19, 0x32ec);
14756 MP_WritePhyUshort(sc, 0x15, 0x02e7);
14757 MP_WritePhyUshort(sc, 0x19, 0x0000);
14758 MP_WritePhyUshort(sc, 0x15, 0x02e8);
14759 MP_WritePhyUshort(sc, 0x19, 0x0000);
14760 MP_WritePhyUshort(sc, 0x15, 0x02e9);
14761 MP_WritePhyUshort(sc, 0x19, 0x0000);
14762 MP_WritePhyUshort(sc, 0x15, 0x02ea);
14763 MP_WritePhyUshort(sc, 0x19, 0x0000);
14764 MP_WritePhyUshort(sc, 0x15, 0x02eb);
14765 MP_WritePhyUshort(sc, 0x19, 0x0000);
14766 MP_WritePhyUshort(sc, 0x15, 0x02ec);
14767 MP_WritePhyUshort(sc, 0x19, 0x48d4);
14768 MP_WritePhyUshort(sc, 0x15, 0x02ed);
14769 MP_WritePhyUshort(sc, 0x19, 0x4020);
14770 MP_WritePhyUshort(sc, 0x15, 0x02ee);
14771 MP_WritePhyUshort(sc, 0x19, 0x4844);
14772 MP_WritePhyUshort(sc, 0x15, 0x02ef);
14773 MP_WritePhyUshort(sc, 0x19, 0x4420);
14774 MP_WritePhyUshort(sc, 0x15, 0x02f0);
14775 MP_WritePhyUshort(sc, 0x19, 0x6800);
14776 MP_WritePhyUshort(sc, 0x15, 0x02f1);
14777 MP_WritePhyUshort(sc, 0x19, 0x7dc0);
14778 MP_WritePhyUshort(sc, 0x15, 0x02f2);
14779 MP_WritePhyUshort(sc, 0x19, 0x4c40);
14780 MP_WritePhyUshort(sc, 0x15, 0x02f3);
14781 MP_WritePhyUshort(sc, 0x19, 0x7c0b);
14782 MP_WritePhyUshort(sc, 0x15, 0x02f4);
14783 MP_WritePhyUshort(sc, 0x19, 0x6c08);
14784 MP_WritePhyUshort(sc, 0x15, 0x02f5);
14785 MP_WritePhyUshort(sc, 0x19, 0x3311);
14786 MP_WritePhyUshort(sc, 0x15, 0x02f6);
14787 MP_WritePhyUshort(sc, 0x19, 0x9cfd);
14788 MP_WritePhyUshort(sc, 0x15, 0x02f7);
14789 MP_WritePhyUshort(sc, 0x19, 0xb616);
14790 MP_WritePhyUshort(sc, 0x15, 0x02f8);
14791 MP_WritePhyUshort(sc, 0x19, 0xc42b);
14792 MP_WritePhyUshort(sc, 0x15, 0x02f9);
14793 MP_WritePhyUshort(sc, 0x19, 0x00e0);
14794 MP_WritePhyUshort(sc, 0x15, 0x02fa);
14795 MP_WritePhyUshort(sc, 0x19, 0xc455);
14796 MP_WritePhyUshort(sc, 0x15, 0x02fb);
14797 MP_WritePhyUshort(sc, 0x19, 0x00b3);
14798 MP_WritePhyUshort(sc, 0x15, 0x02fc);
14799 MP_WritePhyUshort(sc, 0x19, 0xb20a);
14800 MP_WritePhyUshort(sc, 0x15, 0x02fd);
14801 MP_WritePhyUshort(sc, 0x19, 0x7c03);
14802 MP_WritePhyUshort(sc, 0x15, 0x02fe);
14803 MP_WritePhyUshort(sc, 0x19, 0x6c02);
14804 MP_WritePhyUshort(sc, 0x15, 0x02ff);
14805 MP_WritePhyUshort(sc, 0x19, 0x8204);
14806 MP_WritePhyUshort(sc, 0x15, 0x0300);
14807 MP_WritePhyUshort(sc, 0x19, 0x7c04);
14808 MP_WritePhyUshort(sc, 0x15, 0x0301);
14809 MP_WritePhyUshort(sc, 0x19, 0x7404);
14810 MP_WritePhyUshort(sc, 0x15, 0x0302);
14811 MP_WritePhyUshort(sc, 0x19, 0x32f3);
14812 MP_WritePhyUshort(sc, 0x15, 0x0303);
14813 MP_WritePhyUshort(sc, 0x19, 0x7c04);
14814 MP_WritePhyUshort(sc, 0x15, 0x0304);
14815 MP_WritePhyUshort(sc, 0x19, 0x7400);
14816 MP_WritePhyUshort(sc, 0x15, 0x0305);
14817 MP_WritePhyUshort(sc, 0x19, 0x32f3);
14818 MP_WritePhyUshort(sc, 0x15, 0x0306);
14819 MP_WritePhyUshort(sc, 0x19, 0xefed);
14820 MP_WritePhyUshort(sc, 0x15, 0x0307);
14821 MP_WritePhyUshort(sc, 0x19, 0x3342);
14822 MP_WritePhyUshort(sc, 0x15, 0x0308);
14823 MP_WritePhyUshort(sc, 0x19, 0x0000);
14824 MP_WritePhyUshort(sc, 0x15, 0x0309);
14825 MP_WritePhyUshort(sc, 0x19, 0x0000);
14826 MP_WritePhyUshort(sc, 0x15, 0x030a);
14827 MP_WritePhyUshort(sc, 0x19, 0x0000);
14828 MP_WritePhyUshort(sc, 0x15, 0x030b);
14829 MP_WritePhyUshort(sc, 0x19, 0x0000);
14830 MP_WritePhyUshort(sc, 0x15, 0x030c);
14831 MP_WritePhyUshort(sc, 0x19, 0x0000);
14832 MP_WritePhyUshort(sc, 0x15, 0x030d);
14833 MP_WritePhyUshort(sc, 0x19, 0x3006);
14834 MP_WritePhyUshort(sc, 0x15, 0x030e);
14835 MP_WritePhyUshort(sc, 0x19, 0x0000);
14836 MP_WritePhyUshort(sc, 0x15, 0x030f);
14837 MP_WritePhyUshort(sc, 0x19, 0x0000);
14838 MP_WritePhyUshort(sc, 0x15, 0x0310);
14839 MP_WritePhyUshort(sc, 0x19, 0x0000);
14840 MP_WritePhyUshort(sc, 0x15, 0x0311);
14841 MP_WritePhyUshort(sc, 0x19, 0x7c08);
14842 MP_WritePhyUshort(sc, 0x15, 0x0312);
14843 MP_WritePhyUshort(sc, 0x19, 0xa207);
14844 MP_WritePhyUshort(sc, 0x15, 0x0313);
14845 MP_WritePhyUshort(sc, 0x19, 0x4c00);
14846 MP_WritePhyUshort(sc, 0x15, 0x0314);
14847 MP_WritePhyUshort(sc, 0x19, 0x3322);
14848 MP_WritePhyUshort(sc, 0x15, 0x0315);
14849 MP_WritePhyUshort(sc, 0x19, 0x4041);
14850 MP_WritePhyUshort(sc, 0x15, 0x0316);
14851 MP_WritePhyUshort(sc, 0x19, 0x7d07);
14852 MP_WritePhyUshort(sc, 0x15, 0x0317);
14853 MP_WritePhyUshort(sc, 0x19, 0x4502);
14854 MP_WritePhyUshort(sc, 0x15, 0x0318);
14855 MP_WritePhyUshort(sc, 0x19, 0x3322);
14856 MP_WritePhyUshort(sc, 0x15, 0x0319);
14857 MP_WritePhyUshort(sc, 0x19, 0x4c08);
14858 MP_WritePhyUshort(sc, 0x15, 0x031a);
14859 MP_WritePhyUshort(sc, 0x19, 0x3322);
14860 MP_WritePhyUshort(sc, 0x15, 0x031b);
14861 MP_WritePhyUshort(sc, 0x19, 0x7d80);
14862 MP_WritePhyUshort(sc, 0x15, 0x031c);
14863 MP_WritePhyUshort(sc, 0x19, 0x5180);
14864 MP_WritePhyUshort(sc, 0x15, 0x031d);
14865 MP_WritePhyUshort(sc, 0x19, 0x3320);
14866 MP_WritePhyUshort(sc, 0x15, 0x031e);
14867 MP_WritePhyUshort(sc, 0x19, 0x7d80);
14868 MP_WritePhyUshort(sc, 0x15, 0x031f);
14869 MP_WritePhyUshort(sc, 0x19, 0x5000);
14870 MP_WritePhyUshort(sc, 0x15, 0x0320);
14871 MP_WritePhyUshort(sc, 0x19, 0x7d07);
14872 MP_WritePhyUshort(sc, 0x15, 0x0321);
14873 MP_WritePhyUshort(sc, 0x19, 0x4402);
14874 MP_WritePhyUshort(sc, 0x15, 0x0322);
14875 MP_WritePhyUshort(sc, 0x19, 0x7c03);
14876 MP_WritePhyUshort(sc, 0x15, 0x0323);
14877 MP_WritePhyUshort(sc, 0x19, 0x6c02);
14878 MP_WritePhyUshort(sc, 0x15, 0x0324);
14879 MP_WritePhyUshort(sc, 0x19, 0x7c03);
14880 MP_WritePhyUshort(sc, 0x15, 0x0325);
14881 MP_WritePhyUshort(sc, 0x19, 0xb30c);
14882 MP_WritePhyUshort(sc, 0x15, 0x0326);
14883 MP_WritePhyUshort(sc, 0x19, 0xb206);
14884 MP_WritePhyUshort(sc, 0x15, 0x0327);
14885 MP_WritePhyUshort(sc, 0x19, 0xb103);
14886 MP_WritePhyUshort(sc, 0x15, 0x0328);
14887 MP_WritePhyUshort(sc, 0x19, 0x6c00);
14888 MP_WritePhyUshort(sc, 0x15, 0x0329);
14889 MP_WritePhyUshort(sc, 0x19, 0x32f6);
14890 MP_WritePhyUshort(sc, 0x15, 0x032a);
14891 MP_WritePhyUshort(sc, 0x19, 0x6c00);
14892 MP_WritePhyUshort(sc, 0x15, 0x032b);
14893 MP_WritePhyUshort(sc, 0x19, 0x3352);
14894 MP_WritePhyUshort(sc, 0x15, 0x032c);
14895 MP_WritePhyUshort(sc, 0x19, 0xb103);
14896 MP_WritePhyUshort(sc, 0x15, 0x032d);
14897 MP_WritePhyUshort(sc, 0x19, 0x6c00);
14898 MP_WritePhyUshort(sc, 0x15, 0x032e);
14899 MP_WritePhyUshort(sc, 0x19, 0x336a);
14900 MP_WritePhyUshort(sc, 0x15, 0x032f);
14901 MP_WritePhyUshort(sc, 0x19, 0x6c00);
14902 MP_WritePhyUshort(sc, 0x15, 0x0330);
14903 MP_WritePhyUshort(sc, 0x19, 0x3382);
14904 MP_WritePhyUshort(sc, 0x15, 0x0331);
14905 MP_WritePhyUshort(sc, 0x19, 0xb206);
14906 MP_WritePhyUshort(sc, 0x15, 0x0332);
14907 MP_WritePhyUshort(sc, 0x19, 0xb103);
14908 MP_WritePhyUshort(sc, 0x15, 0x0333);
14909 MP_WritePhyUshort(sc, 0x19, 0x6c00);
14910 MP_WritePhyUshort(sc, 0x15, 0x0334);
14911 MP_WritePhyUshort(sc, 0x19, 0x3395);
14912 MP_WritePhyUshort(sc, 0x15, 0x0335);
14913 MP_WritePhyUshort(sc, 0x19, 0x6c00);
14914 MP_WritePhyUshort(sc, 0x15, 0x0336);
14915 MP_WritePhyUshort(sc, 0x19, 0x33c6);
14916 MP_WritePhyUshort(sc, 0x15, 0x0337);
14917 MP_WritePhyUshort(sc, 0x19, 0xb103);
14918 MP_WritePhyUshort(sc, 0x15, 0x0338);
14919 MP_WritePhyUshort(sc, 0x19, 0x6c00);
14920 MP_WritePhyUshort(sc, 0x15, 0x0339);
14921 MP_WritePhyUshort(sc, 0x19, 0x33d7);
14922 MP_WritePhyUshort(sc, 0x15, 0x033a);
14923 MP_WritePhyUshort(sc, 0x19, 0x6c00);
14924 MP_WritePhyUshort(sc, 0x15, 0x033b);
14925 MP_WritePhyUshort(sc, 0x19, 0x33f2);
14926 MP_WritePhyUshort(sc, 0x15, 0x033c);
14927 MP_WritePhyUshort(sc, 0x19, 0x0000);
14928 MP_WritePhyUshort(sc, 0x15, 0x033d);
14929 MP_WritePhyUshort(sc, 0x19, 0x0000);
14930 MP_WritePhyUshort(sc, 0x15, 0x033e);
14931 MP_WritePhyUshort(sc, 0x19, 0x0000);
14932 MP_WritePhyUshort(sc, 0x15, 0x033f);
14933 MP_WritePhyUshort(sc, 0x19, 0x0000);
14934 MP_WritePhyUshort(sc, 0x15, 0x0340);
14935 MP_WritePhyUshort(sc, 0x19, 0x0000);
14936 MP_WritePhyUshort(sc, 0x15, 0x0341);
14937 MP_WritePhyUshort(sc, 0x19, 0x0000);
14938 MP_WritePhyUshort(sc, 0x15, 0x0342);
14939 MP_WritePhyUshort(sc, 0x19, 0x49b5);
14940 MP_WritePhyUshort(sc, 0x15, 0x0343);
14941 MP_WritePhyUshort(sc, 0x19, 0x7d00);
14942 MP_WritePhyUshort(sc, 0x15, 0x0344);
14943 MP_WritePhyUshort(sc, 0x19, 0x4d00);
14944 MP_WritePhyUshort(sc, 0x15, 0x0345);
14945 MP_WritePhyUshort(sc, 0x19, 0x6880);
14946 MP_WritePhyUshort(sc, 0x15, 0x0346);
14947 MP_WritePhyUshort(sc, 0x19, 0x7c08);
14948 MP_WritePhyUshort(sc, 0x15, 0x0347);
14949 MP_WritePhyUshort(sc, 0x19, 0x6c08);
14950 MP_WritePhyUshort(sc, 0x15, 0x0348);
14951 MP_WritePhyUshort(sc, 0x19, 0x4925);
14952 MP_WritePhyUshort(sc, 0x15, 0x0349);
14953 MP_WritePhyUshort(sc, 0x19, 0x403b);
14954 MP_WritePhyUshort(sc, 0x15, 0x034a);
14955 MP_WritePhyUshort(sc, 0x19, 0xa602);
14956 MP_WritePhyUshort(sc, 0x15, 0x034b);
14957 MP_WritePhyUshort(sc, 0x19, 0x402f);
14958 MP_WritePhyUshort(sc, 0x15, 0x034c);
14959 MP_WritePhyUshort(sc, 0x19, 0x4484);
14960 MP_WritePhyUshort(sc, 0x15, 0x034d);
14961 MP_WritePhyUshort(sc, 0x19, 0x40c8);
14962 MP_WritePhyUshort(sc, 0x15, 0x034e);
14963 MP_WritePhyUshort(sc, 0x19, 0x44c4);
14964 MP_WritePhyUshort(sc, 0x15, 0x034f);
14965 MP_WritePhyUshort(sc, 0x19, 0xd64f);
14966 MP_WritePhyUshort(sc, 0x15, 0x0350);
14967 MP_WritePhyUshort(sc, 0x19, 0x00bd);
14968 MP_WritePhyUshort(sc, 0x15, 0x0351);
14969 MP_WritePhyUshort(sc, 0x19, 0x3311);
14970 MP_WritePhyUshort(sc, 0x15, 0x0352);
14971 MP_WritePhyUshort(sc, 0x19, 0xc8ed);
14972 MP_WritePhyUshort(sc, 0x15, 0x0353);
14973 MP_WritePhyUshort(sc, 0x19, 0x00fc);
14974 MP_WritePhyUshort(sc, 0x15, 0x0354);
14975 MP_WritePhyUshort(sc, 0x19, 0x8221);
14976 MP_WritePhyUshort(sc, 0x15, 0x0355);
14977 MP_WritePhyUshort(sc, 0x19, 0xd11d);
14978 MP_WritePhyUshort(sc, 0x15, 0x0356);
14979 MP_WritePhyUshort(sc, 0x19, 0x001f);
14980 MP_WritePhyUshort(sc, 0x15, 0x0357);
14981 MP_WritePhyUshort(sc, 0x19, 0xde18);
14982 MP_WritePhyUshort(sc, 0x15, 0x0358);
14983 MP_WritePhyUshort(sc, 0x19, 0x0008);
14984 MP_WritePhyUshort(sc, 0x15, 0x0359);
14985 MP_WritePhyUshort(sc, 0x19, 0x91f6);
14986 MP_WritePhyUshort(sc, 0x15, 0x035a);
14987 MP_WritePhyUshort(sc, 0x19, 0x3360);
14988 MP_WritePhyUshort(sc, 0x15, 0x035b);
14989 MP_WritePhyUshort(sc, 0x19, 0x0000);
14990 MP_WritePhyUshort(sc, 0x15, 0x035c);
14991 MP_WritePhyUshort(sc, 0x19, 0x0000);
14992 MP_WritePhyUshort(sc, 0x15, 0x035d);
14993 MP_WritePhyUshort(sc, 0x19, 0x0000);
14994 MP_WritePhyUshort(sc, 0x15, 0x035e);
14995 MP_WritePhyUshort(sc, 0x19, 0x0000);
14996 MP_WritePhyUshort(sc, 0x15, 0x035f);
14997 MP_WritePhyUshort(sc, 0x19, 0x0000);
14998 MP_WritePhyUshort(sc, 0x15, 0x0360);
14999 MP_WritePhyUshort(sc, 0x19, 0x4bb6);
15000 MP_WritePhyUshort(sc, 0x15, 0x0361);
15001 MP_WritePhyUshort(sc, 0x19, 0x4064);
15002 MP_WritePhyUshort(sc, 0x15, 0x0362);
15003 MP_WritePhyUshort(sc, 0x19, 0x4b26);
15004 MP_WritePhyUshort(sc, 0x15, 0x0363);
15005 MP_WritePhyUshort(sc, 0x19, 0x4410);
15006 MP_WritePhyUshort(sc, 0x15, 0x0364);
15007 MP_WritePhyUshort(sc, 0x19, 0x4006);
15008 MP_WritePhyUshort(sc, 0x15, 0x0365);
15009 MP_WritePhyUshort(sc, 0x19, 0x4490);
15010 MP_WritePhyUshort(sc, 0x15, 0x0366);
15011 MP_WritePhyUshort(sc, 0x19, 0x6900);
15012 MP_WritePhyUshort(sc, 0x15, 0x0367);
15013 MP_WritePhyUshort(sc, 0x19, 0xb6a6);
15014 MP_WritePhyUshort(sc, 0x15, 0x0368);
15015 MP_WritePhyUshort(sc, 0x19, 0x9e02);
15016 MP_WritePhyUshort(sc, 0x15, 0x0369);
15017 MP_WritePhyUshort(sc, 0x19, 0x3311);
15018 MP_WritePhyUshort(sc, 0x15, 0x036a);
15019 MP_WritePhyUshort(sc, 0x19, 0xd11d);
15020 MP_WritePhyUshort(sc, 0x15, 0x036b);
15021 MP_WritePhyUshort(sc, 0x19, 0x000a);
15022 MP_WritePhyUshort(sc, 0x15, 0x036c);
15023 MP_WritePhyUshort(sc, 0x19, 0xbb0f);
15024 MP_WritePhyUshort(sc, 0x15, 0x036d);
15025 MP_WritePhyUshort(sc, 0x19, 0x8102);
15026 MP_WritePhyUshort(sc, 0x15, 0x036e);
15027 MP_WritePhyUshort(sc, 0x19, 0x3371);
15028 MP_WritePhyUshort(sc, 0x15, 0x036f);
15029 MP_WritePhyUshort(sc, 0x19, 0xa21e);
15030 MP_WritePhyUshort(sc, 0x15, 0x0370);
15031 MP_WritePhyUshort(sc, 0x19, 0x33b6);
15032 MP_WritePhyUshort(sc, 0x15, 0x0371);
15033 MP_WritePhyUshort(sc, 0x19, 0x91f6);
15034 MP_WritePhyUshort(sc, 0x15, 0x0372);
15035 MP_WritePhyUshort(sc, 0x19, 0xc218);
15036 MP_WritePhyUshort(sc, 0x15, 0x0373);
15037 MP_WritePhyUshort(sc, 0x19, 0x00f4);
15038 MP_WritePhyUshort(sc, 0x15, 0x0374);
15039 MP_WritePhyUshort(sc, 0x19, 0x33b6);
15040 MP_WritePhyUshort(sc, 0x15, 0x0375);
15041 MP_WritePhyUshort(sc, 0x19, 0x32ec);
15042 MP_WritePhyUshort(sc, 0x15, 0x0376);
15043 MP_WritePhyUshort(sc, 0x19, 0x0000);
15044 MP_WritePhyUshort(sc, 0x15, 0x0377);
15045 MP_WritePhyUshort(sc, 0x19, 0x0000);
15046 MP_WritePhyUshort(sc, 0x15, 0x0378);
15047 MP_WritePhyUshort(sc, 0x19, 0x0000);
15048 MP_WritePhyUshort(sc, 0x15, 0x0379);
15049 MP_WritePhyUshort(sc, 0x19, 0x0000);
15050 MP_WritePhyUshort(sc, 0x15, 0x037a);
15051 MP_WritePhyUshort(sc, 0x19, 0x0000);
15052 MP_WritePhyUshort(sc, 0x15, 0x037b);
15053 MP_WritePhyUshort(sc, 0x19, 0x4b97);
15054 MP_WritePhyUshort(sc, 0x15, 0x037c);
15055 MP_WritePhyUshort(sc, 0x19, 0x402b);
15056 MP_WritePhyUshort(sc, 0x15, 0x037d);
15057 MP_WritePhyUshort(sc, 0x19, 0x4b07);
15058 MP_WritePhyUshort(sc, 0x15, 0x037e);
15059 MP_WritePhyUshort(sc, 0x19, 0x4422);
15060 MP_WritePhyUshort(sc, 0x15, 0x037f);
15061 MP_WritePhyUshort(sc, 0x19, 0x6980);
15062 MP_WritePhyUshort(sc, 0x15, 0x0380);
15063 MP_WritePhyUshort(sc, 0x19, 0xb608);
15064 MP_WritePhyUshort(sc, 0x15, 0x0381);
15065 MP_WritePhyUshort(sc, 0x19, 0x3311);
15066 MP_WritePhyUshort(sc, 0x15, 0x0382);
15067 MP_WritePhyUshort(sc, 0x19, 0xbc05);
15068 MP_WritePhyUshort(sc, 0x15, 0x0383);
15069 MP_WritePhyUshort(sc, 0x19, 0xc21c);
15070 MP_WritePhyUshort(sc, 0x15, 0x0384);
15071 MP_WritePhyUshort(sc, 0x19, 0x0032);
15072 MP_WritePhyUshort(sc, 0x15, 0x0385);
15073 MP_WritePhyUshort(sc, 0x19, 0xa1fb);
15074 MP_WritePhyUshort(sc, 0x15, 0x0386);
15075 MP_WritePhyUshort(sc, 0x19, 0x338d);
15076 MP_WritePhyUshort(sc, 0x15, 0x0387);
15077 MP_WritePhyUshort(sc, 0x19, 0x32ae);
15078 MP_WritePhyUshort(sc, 0x15, 0x0388);
15079 MP_WritePhyUshort(sc, 0x19, 0x330d);
15080 MP_WritePhyUshort(sc, 0x15, 0x0389);
15081 MP_WritePhyUshort(sc, 0x19, 0x0000);
15082 MP_WritePhyUshort(sc, 0x15, 0x038a);
15083 MP_WritePhyUshort(sc, 0x19, 0x0000);
15084 MP_WritePhyUshort(sc, 0x15, 0x038b);
15085 MP_WritePhyUshort(sc, 0x19, 0x0000);
15086 MP_WritePhyUshort(sc, 0x15, 0x038c);
15087 MP_WritePhyUshort(sc, 0x19, 0x0000);
15088 MP_WritePhyUshort(sc, 0x15, 0x038d);
15089 MP_WritePhyUshort(sc, 0x19, 0x4b97);
15090 MP_WritePhyUshort(sc, 0x15, 0x038e);
15091 MP_WritePhyUshort(sc, 0x19, 0x6a08);
15092 MP_WritePhyUshort(sc, 0x15, 0x038f);
15093 MP_WritePhyUshort(sc, 0x19, 0x4b07);
15094 MP_WritePhyUshort(sc, 0x15, 0x0390);
15095 MP_WritePhyUshort(sc, 0x19, 0x40ac);
15096 MP_WritePhyUshort(sc, 0x15, 0x0391);
15097 MP_WritePhyUshort(sc, 0x19, 0x4445);
15098 MP_WritePhyUshort(sc, 0x15, 0x0392);
15099 MP_WritePhyUshort(sc, 0x19, 0x404e);
15100 MP_WritePhyUshort(sc, 0x15, 0x0393);
15101 MP_WritePhyUshort(sc, 0x19, 0x4461);
15102 MP_WritePhyUshort(sc, 0x15, 0x0394);
15103 MP_WritePhyUshort(sc, 0x19, 0x3311);
15104 MP_WritePhyUshort(sc, 0x15, 0x0395);
15105 MP_WritePhyUshort(sc, 0x19, 0x9c0a);
15106 MP_WritePhyUshort(sc, 0x15, 0x0396);
15107 MP_WritePhyUshort(sc, 0x19, 0x63da);
15108 MP_WritePhyUshort(sc, 0x15, 0x0397);
15109 MP_WritePhyUshort(sc, 0x19, 0x6f0c);
15110 MP_WritePhyUshort(sc, 0x15, 0x0398);
15111 MP_WritePhyUshort(sc, 0x19, 0x5440);
15112 MP_WritePhyUshort(sc, 0x15, 0x0399);
15113 MP_WritePhyUshort(sc, 0x19, 0x4b98);
15114 MP_WritePhyUshort(sc, 0x15, 0x039a);
15115 MP_WritePhyUshort(sc, 0x19, 0x7c40);
15116 MP_WritePhyUshort(sc, 0x15, 0x039b);
15117 MP_WritePhyUshort(sc, 0x19, 0x4c00);
15118 MP_WritePhyUshort(sc, 0x15, 0x039c);
15119 MP_WritePhyUshort(sc, 0x19, 0x4b08);
15120 MP_WritePhyUshort(sc, 0x15, 0x039d);
15121 MP_WritePhyUshort(sc, 0x19, 0x63d8);
15122 MP_WritePhyUshort(sc, 0x15, 0x039e);
15123 MP_WritePhyUshort(sc, 0x19, 0x33a5);
15124 MP_WritePhyUshort(sc, 0x15, 0x039f);
15125 MP_WritePhyUshort(sc, 0x19, 0xd64f);
15126 MP_WritePhyUshort(sc, 0x15, 0x03a0);
15127 MP_WritePhyUshort(sc, 0x19, 0x00e8);
15128 MP_WritePhyUshort(sc, 0x15, 0x03a1);
15129 MP_WritePhyUshort(sc, 0x19, 0x820e);
15130 MP_WritePhyUshort(sc, 0x15, 0x03a2);
15131 MP_WritePhyUshort(sc, 0x19, 0xa10d);
15132 MP_WritePhyUshort(sc, 0x15, 0x03a3);
15133 MP_WritePhyUshort(sc, 0x19, 0x9df1);
15134 MP_WritePhyUshort(sc, 0x15, 0x03a4);
15135 MP_WritePhyUshort(sc, 0x19, 0x33af);
15136 MP_WritePhyUshort(sc, 0x15, 0x03a5);
15137 MP_WritePhyUshort(sc, 0x19, 0xd64f);
15138 MP_WritePhyUshort(sc, 0x15, 0x03a6);
15139 MP_WritePhyUshort(sc, 0x19, 0x00f9);
15140 MP_WritePhyUshort(sc, 0x15, 0x03a7);
15141 MP_WritePhyUshort(sc, 0x19, 0xc017);
15142 MP_WritePhyUshort(sc, 0x15, 0x03a8);
15143 MP_WritePhyUshort(sc, 0x19, 0x0007);
15144 MP_WritePhyUshort(sc, 0x15, 0x03a9);
15145 MP_WritePhyUshort(sc, 0x19, 0x7c03);
15146 MP_WritePhyUshort(sc, 0x15, 0x03aa);
15147 MP_WritePhyUshort(sc, 0x19, 0x6c03);
15148 MP_WritePhyUshort(sc, 0x15, 0x03ab);
15149 MP_WritePhyUshort(sc, 0x19, 0xa104);
15150 MP_WritePhyUshort(sc, 0x15, 0x03ac);
15151 MP_WritePhyUshort(sc, 0x19, 0x7c03);
15152 MP_WritePhyUshort(sc, 0x15, 0x03ad);
15153 MP_WritePhyUshort(sc, 0x19, 0x6c00);
15154 MP_WritePhyUshort(sc, 0x15, 0x03ae);
15155 MP_WritePhyUshort(sc, 0x19, 0x9df7);
15156 MP_WritePhyUshort(sc, 0x15, 0x03af);
15157 MP_WritePhyUshort(sc, 0x19, 0x7c03);
15158 MP_WritePhyUshort(sc, 0x15, 0x03b0);
15159 MP_WritePhyUshort(sc, 0x19, 0x6c08);
15160 MP_WritePhyUshort(sc, 0x15, 0x03b1);
15161 MP_WritePhyUshort(sc, 0x19, 0x33b6);
15162 MP_WritePhyUshort(sc, 0x15, 0x03b2);
15163 MP_WritePhyUshort(sc, 0x19, 0x0000);
15164 MP_WritePhyUshort(sc, 0x15, 0x03b3);
15165 MP_WritePhyUshort(sc, 0x19, 0x0000);
15166 MP_WritePhyUshort(sc, 0x15, 0x03b4);
15167 MP_WritePhyUshort(sc, 0x19, 0x0000);
15168 MP_WritePhyUshort(sc, 0x15, 0x03b5);
15169 MP_WritePhyUshort(sc, 0x19, 0x0000);
15170 MP_WritePhyUshort(sc, 0x15, 0x03b6);
15171 MP_WritePhyUshort(sc, 0x19, 0x55af);
15172 MP_WritePhyUshort(sc, 0x15, 0x03b7);
15173 MP_WritePhyUshort(sc, 0x19, 0x7ff0);
15174 MP_WritePhyUshort(sc, 0x15, 0x03b8);
15175 MP_WritePhyUshort(sc, 0x19, 0x6ff0);
15176 MP_WritePhyUshort(sc, 0x15, 0x03b9);
15177 MP_WritePhyUshort(sc, 0x19, 0x4bb9);
15178 MP_WritePhyUshort(sc, 0x15, 0x03ba);
15179 MP_WritePhyUshort(sc, 0x19, 0x6a80);
15180 MP_WritePhyUshort(sc, 0x15, 0x03bb);
15181 MP_WritePhyUshort(sc, 0x19, 0x4b29);
15182 MP_WritePhyUshort(sc, 0x15, 0x03bc);
15183 MP_WritePhyUshort(sc, 0x19, 0x4041);
15184 MP_WritePhyUshort(sc, 0x15, 0x03bd);
15185 MP_WritePhyUshort(sc, 0x19, 0x440a);
15186 MP_WritePhyUshort(sc, 0x15, 0x03be);
15187 MP_WritePhyUshort(sc, 0x19, 0x4029);
15188 MP_WritePhyUshort(sc, 0x15, 0x03bf);
15189 MP_WritePhyUshort(sc, 0x19, 0x4418);
15190 MP_WritePhyUshort(sc, 0x15, 0x03c0);
15191 MP_WritePhyUshort(sc, 0x19, 0x4090);
15192 MP_WritePhyUshort(sc, 0x15, 0x03c1);
15193 MP_WritePhyUshort(sc, 0x19, 0x4438);
15194 MP_WritePhyUshort(sc, 0x15, 0x03c2);
15195 MP_WritePhyUshort(sc, 0x19, 0x40c4);
15196 MP_WritePhyUshort(sc, 0x15, 0x03c3);
15197 MP_WritePhyUshort(sc, 0x19, 0x447b);
15198 MP_WritePhyUshort(sc, 0x15, 0x03c4);
15199 MP_WritePhyUshort(sc, 0x19, 0xb6c4);
15200 MP_WritePhyUshort(sc, 0x15, 0x03c5);
15201 MP_WritePhyUshort(sc, 0x19, 0x3311);
15202 MP_WritePhyUshort(sc, 0x15, 0x03c6);
15203 MP_WritePhyUshort(sc, 0x19, 0x9bfe);
15204 MP_WritePhyUshort(sc, 0x15, 0x03c7);
15205 MP_WritePhyUshort(sc, 0x19, 0x33cc);
15206 MP_WritePhyUshort(sc, 0x15, 0x03c8);
15207 MP_WritePhyUshort(sc, 0x19, 0x0000);
15208 MP_WritePhyUshort(sc, 0x15, 0x03c9);
15209 MP_WritePhyUshort(sc, 0x19, 0x0000);
15210 MP_WritePhyUshort(sc, 0x15, 0x03ca);
15211 MP_WritePhyUshort(sc, 0x19, 0x0000);
15212 MP_WritePhyUshort(sc, 0x15, 0x03cb);
15213 MP_WritePhyUshort(sc, 0x19, 0x0000);
15214 MP_WritePhyUshort(sc, 0x15, 0x03cc);
15215 MP_WritePhyUshort(sc, 0x19, 0x542f);
15216 MP_WritePhyUshort(sc, 0x15, 0x03cd);
15217 MP_WritePhyUshort(sc, 0x19, 0x499a);
15218 MP_WritePhyUshort(sc, 0x15, 0x03ce);
15219 MP_WritePhyUshort(sc, 0x19, 0x7c40);
15220 MP_WritePhyUshort(sc, 0x15, 0x03cf);
15221 MP_WritePhyUshort(sc, 0x19, 0x4c40);
15222 MP_WritePhyUshort(sc, 0x15, 0x03d0);
15223 MP_WritePhyUshort(sc, 0x19, 0x490a);
15224 MP_WritePhyUshort(sc, 0x15, 0x03d1);
15225 MP_WritePhyUshort(sc, 0x19, 0x405e);
15226 MP_WritePhyUshort(sc, 0x15, 0x03d2);
15227 MP_WritePhyUshort(sc, 0x19, 0x44f8);
15228 MP_WritePhyUshort(sc, 0x15, 0x03d3);
15229 MP_WritePhyUshort(sc, 0x19, 0x6b00);
15230 MP_WritePhyUshort(sc, 0x15, 0x03d4);
15231 MP_WritePhyUshort(sc, 0x19, 0xd64f);
15232 MP_WritePhyUshort(sc, 0x15, 0x03d5);
15233 MP_WritePhyUshort(sc, 0x19, 0x0028);
15234 MP_WritePhyUshort(sc, 0x15, 0x03d6);
15235 MP_WritePhyUshort(sc, 0x19, 0x3311);
15236 MP_WritePhyUshort(sc, 0x15, 0x03d7);
15237 MP_WritePhyUshort(sc, 0x19, 0xbd27);
15238 MP_WritePhyUshort(sc, 0x15, 0x03d8);
15239 MP_WritePhyUshort(sc, 0x19, 0x9cfc);
15240 MP_WritePhyUshort(sc, 0x15, 0x03d9);
15241 MP_WritePhyUshort(sc, 0x19, 0xc639);
15242 MP_WritePhyUshort(sc, 0x15, 0x03da);
15243 MP_WritePhyUshort(sc, 0x19, 0x000f);
15244 MP_WritePhyUshort(sc, 0x15, 0x03db);
15245 MP_WritePhyUshort(sc, 0x19, 0x9e03);
15246 MP_WritePhyUshort(sc, 0x15, 0x03dc);
15247 MP_WritePhyUshort(sc, 0x19, 0x7c01);
15248 MP_WritePhyUshort(sc, 0x15, 0x03dd);
15249 MP_WritePhyUshort(sc, 0x19, 0x4c01);
15250 MP_WritePhyUshort(sc, 0x15, 0x03de);
15251 MP_WritePhyUshort(sc, 0x19, 0x9af6);
15252 MP_WritePhyUshort(sc, 0x15, 0x03df);
15253 MP_WritePhyUshort(sc, 0x19, 0x7c12);
15254 MP_WritePhyUshort(sc, 0x15, 0x03e0);
15255 MP_WritePhyUshort(sc, 0x19, 0x4c52);
15256 MP_WritePhyUshort(sc, 0x15, 0x03e1);
15257 MP_WritePhyUshort(sc, 0x19, 0x4470);
15258 MP_WritePhyUshort(sc, 0x15, 0x03e2);
15259 MP_WritePhyUshort(sc, 0x19, 0x7c12);
15260 MP_WritePhyUshort(sc, 0x15, 0x03e3);
15261 MP_WritePhyUshort(sc, 0x19, 0x4c40);
15262 MP_WritePhyUshort(sc, 0x15, 0x03e4);
15263 MP_WritePhyUshort(sc, 0x19, 0x33d4);
15264 MP_WritePhyUshort(sc, 0x15, 0x03e5);
15265 MP_WritePhyUshort(sc, 0x19, 0x0000);
15266 MP_WritePhyUshort(sc, 0x15, 0x03e6);
15267 MP_WritePhyUshort(sc, 0x19, 0x0000);
15268 MP_WritePhyUshort(sc, 0x15, 0x03e7);
15269 MP_WritePhyUshort(sc, 0x19, 0x0000);
15270 MP_WritePhyUshort(sc, 0x15, 0x03e8);
15271 MP_WritePhyUshort(sc, 0x19, 0x0000);
15272 MP_WritePhyUshort(sc, 0x15, 0x03e9);
15273 MP_WritePhyUshort(sc, 0x19, 0x49bb);
15274 MP_WritePhyUshort(sc, 0x15, 0x03ea);
15275 MP_WritePhyUshort(sc, 0x19, 0x4478);
15276 MP_WritePhyUshort(sc, 0x15, 0x03eb);
15277 MP_WritePhyUshort(sc, 0x19, 0x492b);
15278 MP_WritePhyUshort(sc, 0x15, 0x03ec);
15279 MP_WritePhyUshort(sc, 0x19, 0x6b80);
15280 MP_WritePhyUshort(sc, 0x15, 0x03ed);
15281 MP_WritePhyUshort(sc, 0x19, 0x7c01);
15282 MP_WritePhyUshort(sc, 0x15, 0x03ee);
15283 MP_WritePhyUshort(sc, 0x19, 0x4c00);
15284 MP_WritePhyUshort(sc, 0x15, 0x03ef);
15285 MP_WritePhyUshort(sc, 0x19, 0xd64f);
15286 MP_WritePhyUshort(sc, 0x15, 0x03f0);
15287 MP_WritePhyUshort(sc, 0x19, 0x000d);
15288 MP_WritePhyUshort(sc, 0x15, 0x03f1);
15289 MP_WritePhyUshort(sc, 0x19, 0x3311);
15290 MP_WritePhyUshort(sc, 0x15, 0x03f2);
15291 MP_WritePhyUshort(sc, 0x19, 0xbd0c);
15292 MP_WritePhyUshort(sc, 0x15, 0x03f3);
15293 MP_WritePhyUshort(sc, 0x19, 0xc428);
15294 MP_WritePhyUshort(sc, 0x15, 0x03f4);
15295 MP_WritePhyUshort(sc, 0x19, 0x0008);
15296 MP_WritePhyUshort(sc, 0x15, 0x03f5);
15297 MP_WritePhyUshort(sc, 0x19, 0x9afa);
15298 MP_WritePhyUshort(sc, 0x15, 0x03f6);
15299 MP_WritePhyUshort(sc, 0x19, 0x7c12);
15300 MP_WritePhyUshort(sc, 0x15, 0x03f7);
15301 MP_WritePhyUshort(sc, 0x19, 0x4c52);
15302 MP_WritePhyUshort(sc, 0x15, 0x03f8);
15303 MP_WritePhyUshort(sc, 0x19, 0x4470);
15304 MP_WritePhyUshort(sc, 0x15, 0x03f9);
15305 MP_WritePhyUshort(sc, 0x19, 0x7c12);
15306 MP_WritePhyUshort(sc, 0x15, 0x03fa);
15307 MP_WritePhyUshort(sc, 0x19, 0x4c40);
15308 MP_WritePhyUshort(sc, 0x15, 0x03fb);
15309 MP_WritePhyUshort(sc, 0x19, 0x33ef);
15310 MP_WritePhyUshort(sc, 0x15, 0x03fc);
15311 MP_WritePhyUshort(sc, 0x19, 0x3342);
15312 MP_WritePhyUshort(sc, 0x15, 0x03fd);
15313 MP_WritePhyUshort(sc, 0x19, 0x330d);
15314 MP_WritePhyUshort(sc, 0x15, 0x03fe);
15315 MP_WritePhyUshort(sc, 0x19, 0x32ae);
15316 MP_WritePhyUshort(sc, 0x15, 0x0000);
15317 MP_WritePhyUshort(sc, 0x16, 0x0306);
15318 MP_WritePhyUshort(sc, 0x16, 0x0300);
15319 MP_WritePhyUshort(sc, 0x1f, 0x0002);
15320 MP_WritePhyUshort(sc, 0x1f, 0x0000);
15321 MP_WritePhyUshort(sc, 0x1f, 0x0005);
15322 MP_WritePhyUshort(sc, 0x05, 0xfff6);
15323 MP_WritePhyUshort(sc, 0x06, 0x0080);
15324 MP_WritePhyUshort(sc, 0x05, 0x8000);
15325 MP_WritePhyUshort(sc, 0x06, 0x0280);
15326 MP_WritePhyUshort(sc, 0x06, 0x48f7);
15327 MP_WritePhyUshort(sc, 0x06, 0x00e0);
15328 MP_WritePhyUshort(sc, 0x06, 0xfff7);
15329 MP_WritePhyUshort(sc, 0x06, 0xa080);
15330 MP_WritePhyUshort(sc, 0x06, 0x02ae);
15331 MP_WritePhyUshort(sc, 0x06, 0xf602);
15332 MP_WritePhyUshort(sc, 0x06, 0x0112);
15333 MP_WritePhyUshort(sc, 0x06, 0x0201);
15334 MP_WritePhyUshort(sc, 0x06, 0x1f02);
15335 MP_WritePhyUshort(sc, 0x06, 0x012c);
15336 MP_WritePhyUshort(sc, 0x06, 0x0201);
15337 MP_WritePhyUshort(sc, 0x06, 0x3c02);
15338 MP_WritePhyUshort(sc, 0x06, 0x0156);
15339 MP_WritePhyUshort(sc, 0x06, 0x0201);
15340 MP_WritePhyUshort(sc, 0x06, 0x6d02);
15341 MP_WritePhyUshort(sc, 0x06, 0x809d);
15342 MP_WritePhyUshort(sc, 0x06, 0xe08b);
15343 MP_WritePhyUshort(sc, 0x06, 0x88e1);
15344 MP_WritePhyUshort(sc, 0x06, 0x8b89);
15345 MP_WritePhyUshort(sc, 0x06, 0x1e01);
15346 MP_WritePhyUshort(sc, 0x06, 0xe18b);
15347 MP_WritePhyUshort(sc, 0x06, 0x8a1e);
15348 MP_WritePhyUshort(sc, 0x06, 0x01e1);
15349 MP_WritePhyUshort(sc, 0x06, 0x8b8b);
15350 MP_WritePhyUshort(sc, 0x06, 0x1e01);
15351 MP_WritePhyUshort(sc, 0x06, 0xe18b);
15352 MP_WritePhyUshort(sc, 0x06, 0x8c1e);
15353 MP_WritePhyUshort(sc, 0x06, 0x01e1);
15354 MP_WritePhyUshort(sc, 0x06, 0x8b8d);
15355 MP_WritePhyUshort(sc, 0x06, 0x1e01);
15356 MP_WritePhyUshort(sc, 0x06, 0xe18b);
15357 MP_WritePhyUshort(sc, 0x06, 0x8e1e);
15358 MP_WritePhyUshort(sc, 0x06, 0x01a0);
15359 MP_WritePhyUshort(sc, 0x06, 0x00c7);
15360 MP_WritePhyUshort(sc, 0x06, 0xaebb);
15361 MP_WritePhyUshort(sc, 0x06, 0xd100);
15362 MP_WritePhyUshort(sc, 0x06, 0xbf82);
15363 MP_WritePhyUshort(sc, 0x06, 0xc702);
15364 MP_WritePhyUshort(sc, 0x06, 0x320a);
15365 MP_WritePhyUshort(sc, 0x06, 0xd105);
15366 MP_WritePhyUshort(sc, 0x06, 0xbf82);
15367 MP_WritePhyUshort(sc, 0x06, 0xcd02);
15368 MP_WritePhyUshort(sc, 0x06, 0x320a);
15369 MP_WritePhyUshort(sc, 0x06, 0xd100);
15370 MP_WritePhyUshort(sc, 0x06, 0xbf82);
15371 MP_WritePhyUshort(sc, 0x06, 0xca02);
15372 MP_WritePhyUshort(sc, 0x06, 0x320a);
15373 MP_WritePhyUshort(sc, 0x06, 0xd105);
15374 MP_WritePhyUshort(sc, 0x06, 0xbf82);
15375 MP_WritePhyUshort(sc, 0x06, 0xd002);
15376 MP_WritePhyUshort(sc, 0x06, 0x320a);
15377 MP_WritePhyUshort(sc, 0x06, 0xd481);
15378 MP_WritePhyUshort(sc, 0x06, 0xc9e4);
15379 MP_WritePhyUshort(sc, 0x06, 0x8b90);
15380 MP_WritePhyUshort(sc, 0x06, 0xe58b);
15381 MP_WritePhyUshort(sc, 0x06, 0x91d4);
15382 MP_WritePhyUshort(sc, 0x06, 0x81b8);
15383 MP_WritePhyUshort(sc, 0x06, 0xe48b);
15384 MP_WritePhyUshort(sc, 0x06, 0x92e5);
15385 MP_WritePhyUshort(sc, 0x06, 0x8b93);
15386 MP_WritePhyUshort(sc, 0x06, 0xbf8b);
15387 MP_WritePhyUshort(sc, 0x06, 0x88ec);
15388 MP_WritePhyUshort(sc, 0x06, 0x0019);
15389 MP_WritePhyUshort(sc, 0x06, 0xa98b);
15390 MP_WritePhyUshort(sc, 0x06, 0x90f9);
15391 MP_WritePhyUshort(sc, 0x06, 0xeeff);
15392 MP_WritePhyUshort(sc, 0x06, 0xf600);
15393 MP_WritePhyUshort(sc, 0x06, 0xeeff);
15394 MP_WritePhyUshort(sc, 0x06, 0xf7fc);
15395 MP_WritePhyUshort(sc, 0x06, 0xd100);
15396 MP_WritePhyUshort(sc, 0x06, 0xbf82);
15397 MP_WritePhyUshort(sc, 0x06, 0xc102);
15398 MP_WritePhyUshort(sc, 0x06, 0x320a);
15399 MP_WritePhyUshort(sc, 0x06, 0xd101);
15400 MP_WritePhyUshort(sc, 0x06, 0xbf82);
15401 MP_WritePhyUshort(sc, 0x06, 0xc402);
15402 MP_WritePhyUshort(sc, 0x06, 0x320a);
15403 MP_WritePhyUshort(sc, 0x06, 0x04f8);
15404 MP_WritePhyUshort(sc, 0x06, 0xe08b);
15405 MP_WritePhyUshort(sc, 0x06, 0x8ead);
15406 MP_WritePhyUshort(sc, 0x06, 0x201a);
15407 MP_WritePhyUshort(sc, 0x06, 0xf620);
15408 MP_WritePhyUshort(sc, 0x06, 0xe48b);
15409 MP_WritePhyUshort(sc, 0x06, 0x8e02);
15410 MP_WritePhyUshort(sc, 0x06, 0x824b);
15411 MP_WritePhyUshort(sc, 0x06, 0x0281);
15412 MP_WritePhyUshort(sc, 0x06, 0x1902);
15413 MP_WritePhyUshort(sc, 0x06, 0x2c9d);
15414 MP_WritePhyUshort(sc, 0x06, 0x0203);
15415 MP_WritePhyUshort(sc, 0x06, 0x9602);
15416 MP_WritePhyUshort(sc, 0x06, 0x0473);
15417 MP_WritePhyUshort(sc, 0x06, 0x022e);
15418 MP_WritePhyUshort(sc, 0x06, 0x3902);
15419 MP_WritePhyUshort(sc, 0x06, 0x044d);
15420 MP_WritePhyUshort(sc, 0x06, 0xe08b);
15421 MP_WritePhyUshort(sc, 0x06, 0x8ead);
15422 MP_WritePhyUshort(sc, 0x06, 0x210b);
15423 MP_WritePhyUshort(sc, 0x06, 0xf621);
15424 MP_WritePhyUshort(sc, 0x06, 0xe48b);
15425 MP_WritePhyUshort(sc, 0x06, 0x8e02);
15426 MP_WritePhyUshort(sc, 0x06, 0x0416);
15427 MP_WritePhyUshort(sc, 0x06, 0x021b);
15428 MP_WritePhyUshort(sc, 0x06, 0xa4e0);
15429 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
15430 MP_WritePhyUshort(sc, 0x06, 0xad22);
15431 MP_WritePhyUshort(sc, 0x06, 0x05f6);
15432 MP_WritePhyUshort(sc, 0x06, 0x22e4);
15433 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
15434 MP_WritePhyUshort(sc, 0x06, 0xe08b);
15435 MP_WritePhyUshort(sc, 0x06, 0x8ead);
15436 MP_WritePhyUshort(sc, 0x06, 0x2305);
15437 MP_WritePhyUshort(sc, 0x06, 0xf623);
15438 MP_WritePhyUshort(sc, 0x06, 0xe48b);
15439 MP_WritePhyUshort(sc, 0x06, 0x8ee0);
15440 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
15441 MP_WritePhyUshort(sc, 0x06, 0xad24);
15442 MP_WritePhyUshort(sc, 0x06, 0x05f6);
15443 MP_WritePhyUshort(sc, 0x06, 0x24e4);
15444 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
15445 MP_WritePhyUshort(sc, 0x06, 0xe08b);
15446 MP_WritePhyUshort(sc, 0x06, 0x8ead);
15447 MP_WritePhyUshort(sc, 0x06, 0x2505);
15448 MP_WritePhyUshort(sc, 0x06, 0xf625);
15449 MP_WritePhyUshort(sc, 0x06, 0xe48b);
15450 MP_WritePhyUshort(sc, 0x06, 0x8ee0);
15451 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
15452 MP_WritePhyUshort(sc, 0x06, 0xad26);
15453 MP_WritePhyUshort(sc, 0x06, 0x08f6);
15454 MP_WritePhyUshort(sc, 0x06, 0x26e4);
15455 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
15456 MP_WritePhyUshort(sc, 0x06, 0x0281);
15457 MP_WritePhyUshort(sc, 0x06, 0xdae0);
15458 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
15459 MP_WritePhyUshort(sc, 0x06, 0xad27);
15460 MP_WritePhyUshort(sc, 0x06, 0x05f6);
15461 MP_WritePhyUshort(sc, 0x06, 0x27e4);
15462 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
15463 MP_WritePhyUshort(sc, 0x06, 0x0203);
15464 MP_WritePhyUshort(sc, 0x06, 0x5cfc);
15465 MP_WritePhyUshort(sc, 0x06, 0x04f8);
15466 MP_WritePhyUshort(sc, 0x06, 0xfaef);
15467 MP_WritePhyUshort(sc, 0x06, 0x69e0);
15468 MP_WritePhyUshort(sc, 0x06, 0x8b85);
15469 MP_WritePhyUshort(sc, 0x06, 0xad21);
15470 MP_WritePhyUshort(sc, 0x06, 0x57e0);
15471 MP_WritePhyUshort(sc, 0x06, 0xe022);
15472 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
15473 MP_WritePhyUshort(sc, 0x06, 0x2358);
15474 MP_WritePhyUshort(sc, 0x06, 0xc059);
15475 MP_WritePhyUshort(sc, 0x06, 0x021e);
15476 MP_WritePhyUshort(sc, 0x06, 0x01e1);
15477 MP_WritePhyUshort(sc, 0x06, 0x8b3c);
15478 MP_WritePhyUshort(sc, 0x06, 0x1f10);
15479 MP_WritePhyUshort(sc, 0x06, 0x9e44);
15480 MP_WritePhyUshort(sc, 0x06, 0xe48b);
15481 MP_WritePhyUshort(sc, 0x06, 0x3cad);
15482 MP_WritePhyUshort(sc, 0x06, 0x211d);
15483 MP_WritePhyUshort(sc, 0x06, 0xe18b);
15484 MP_WritePhyUshort(sc, 0x06, 0x84f7);
15485 MP_WritePhyUshort(sc, 0x06, 0x29e5);
15486 MP_WritePhyUshort(sc, 0x06, 0x8b84);
15487 MP_WritePhyUshort(sc, 0x06, 0xac27);
15488 MP_WritePhyUshort(sc, 0x06, 0x0dac);
15489 MP_WritePhyUshort(sc, 0x06, 0x2605);
15490 MP_WritePhyUshort(sc, 0x06, 0x0281);
15491 MP_WritePhyUshort(sc, 0x06, 0x7fae);
15492 MP_WritePhyUshort(sc, 0x06, 0x2b02);
15493 MP_WritePhyUshort(sc, 0x06, 0x2c23);
15494 MP_WritePhyUshort(sc, 0x06, 0xae26);
15495 MP_WritePhyUshort(sc, 0x06, 0x022c);
15496 MP_WritePhyUshort(sc, 0x06, 0x41ae);
15497 MP_WritePhyUshort(sc, 0x06, 0x21e0);
15498 MP_WritePhyUshort(sc, 0x06, 0x8b87);
15499 MP_WritePhyUshort(sc, 0x06, 0xad22);
15500 MP_WritePhyUshort(sc, 0x06, 0x18e0);
15501 MP_WritePhyUshort(sc, 0x06, 0xfff7);
15502 MP_WritePhyUshort(sc, 0x06, 0x58fc);
15503 MP_WritePhyUshort(sc, 0x06, 0xe4ff);
15504 MP_WritePhyUshort(sc, 0x06, 0xf7d1);
15505 MP_WritePhyUshort(sc, 0x06, 0x00bf);
15506 MP_WritePhyUshort(sc, 0x06, 0x2eee);
15507 MP_WritePhyUshort(sc, 0x06, 0x0232);
15508 MP_WritePhyUshort(sc, 0x06, 0x0ad1);
15509 MP_WritePhyUshort(sc, 0x06, 0x00bf);
15510 MP_WritePhyUshort(sc, 0x06, 0x82e8);
15511 MP_WritePhyUshort(sc, 0x06, 0x0232);
15512 MP_WritePhyUshort(sc, 0x06, 0x0a02);
15513 MP_WritePhyUshort(sc, 0x06, 0x2bdf);
15514 MP_WritePhyUshort(sc, 0x06, 0xef96);
15515 MP_WritePhyUshort(sc, 0x06, 0xfefc);
15516 MP_WritePhyUshort(sc, 0x06, 0x04d0);
15517 MP_WritePhyUshort(sc, 0x06, 0x0202);
15518 MP_WritePhyUshort(sc, 0x06, 0x1e97);
15519 MP_WritePhyUshort(sc, 0x06, 0xe08b);
15520 MP_WritePhyUshort(sc, 0x06, 0x87ad);
15521 MP_WritePhyUshort(sc, 0x06, 0x2228);
15522 MP_WritePhyUshort(sc, 0x06, 0xd100);
15523 MP_WritePhyUshort(sc, 0x06, 0xbf82);
15524 MP_WritePhyUshort(sc, 0x06, 0xd302);
15525 MP_WritePhyUshort(sc, 0x06, 0x320a);
15526 MP_WritePhyUshort(sc, 0x06, 0xd10c);
15527 MP_WritePhyUshort(sc, 0x06, 0xbf82);
15528 MP_WritePhyUshort(sc, 0x06, 0xd602);
15529 MP_WritePhyUshort(sc, 0x06, 0x320a);
15530 MP_WritePhyUshort(sc, 0x06, 0xd104);
15531 MP_WritePhyUshort(sc, 0x06, 0xbf82);
15532 MP_WritePhyUshort(sc, 0x06, 0xd902);
15533 MP_WritePhyUshort(sc, 0x06, 0x320a);
15534 MP_WritePhyUshort(sc, 0x06, 0xd101);
15535 MP_WritePhyUshort(sc, 0x06, 0xbf82);
15536 MP_WritePhyUshort(sc, 0x06, 0xe802);
15537 MP_WritePhyUshort(sc, 0x06, 0x320a);
15538 MP_WritePhyUshort(sc, 0x06, 0xe0ff);
15539 MP_WritePhyUshort(sc, 0x06, 0xf768);
15540 MP_WritePhyUshort(sc, 0x06, 0x03e4);
15541 MP_WritePhyUshort(sc, 0x06, 0xfff7);
15542 MP_WritePhyUshort(sc, 0x06, 0xd004);
15543 MP_WritePhyUshort(sc, 0x06, 0x0228);
15544 MP_WritePhyUshort(sc, 0x06, 0x7a04);
15545 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
15546 MP_WritePhyUshort(sc, 0x06, 0xe234);
15547 MP_WritePhyUshort(sc, 0x06, 0xe1e2);
15548 MP_WritePhyUshort(sc, 0x06, 0x35f6);
15549 MP_WritePhyUshort(sc, 0x06, 0x2be4);
15550 MP_WritePhyUshort(sc, 0x06, 0xe234);
15551 MP_WritePhyUshort(sc, 0x06, 0xe5e2);
15552 MP_WritePhyUshort(sc, 0x06, 0x35fc);
15553 MP_WritePhyUshort(sc, 0x06, 0x05f8);
15554 MP_WritePhyUshort(sc, 0x06, 0xe0e2);
15555 MP_WritePhyUshort(sc, 0x06, 0x34e1);
15556 MP_WritePhyUshort(sc, 0x06, 0xe235);
15557 MP_WritePhyUshort(sc, 0x06, 0xf72b);
15558 MP_WritePhyUshort(sc, 0x06, 0xe4e2);
15559 MP_WritePhyUshort(sc, 0x06, 0x34e5);
15560 MP_WritePhyUshort(sc, 0x06, 0xe235);
15561 MP_WritePhyUshort(sc, 0x06, 0xfc05);
15562 MP_WritePhyUshort(sc, 0x06, 0xf8f9);
15563 MP_WritePhyUshort(sc, 0x06, 0xfaef);
15564 MP_WritePhyUshort(sc, 0x06, 0x69ac);
15565 MP_WritePhyUshort(sc, 0x06, 0x1b4c);
15566 MP_WritePhyUshort(sc, 0x06, 0xbf2e);
15567 MP_WritePhyUshort(sc, 0x06, 0x3002);
15568 MP_WritePhyUshort(sc, 0x06, 0x31dd);
15569 MP_WritePhyUshort(sc, 0x06, 0xef01);
15570 MP_WritePhyUshort(sc, 0x06, 0xe28a);
15571 MP_WritePhyUshort(sc, 0x06, 0x76e4);
15572 MP_WritePhyUshort(sc, 0x06, 0x8a76);
15573 MP_WritePhyUshort(sc, 0x06, 0x1f12);
15574 MP_WritePhyUshort(sc, 0x06, 0x9e3a);
15575 MP_WritePhyUshort(sc, 0x06, 0xef12);
15576 MP_WritePhyUshort(sc, 0x06, 0x5907);
15577 MP_WritePhyUshort(sc, 0x06, 0x9f12);
15578 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
15579 MP_WritePhyUshort(sc, 0x06, 0x8b40);
15580 MP_WritePhyUshort(sc, 0x06, 0xf721);
15581 MP_WritePhyUshort(sc, 0x06, 0xe48b);
15582 MP_WritePhyUshort(sc, 0x06, 0x40d0);
15583 MP_WritePhyUshort(sc, 0x06, 0x0302);
15584 MP_WritePhyUshort(sc, 0x06, 0x287a);
15585 MP_WritePhyUshort(sc, 0x06, 0x0282);
15586 MP_WritePhyUshort(sc, 0x06, 0x34fc);
15587 MP_WritePhyUshort(sc, 0x06, 0xa000);
15588 MP_WritePhyUshort(sc, 0x06, 0x1002);
15589 MP_WritePhyUshort(sc, 0x06, 0x2dc3);
15590 MP_WritePhyUshort(sc, 0x06, 0x022e);
15591 MP_WritePhyUshort(sc, 0x06, 0x21e0);
15592 MP_WritePhyUshort(sc, 0x06, 0x8b40);
15593 MP_WritePhyUshort(sc, 0x06, 0xf621);
15594 MP_WritePhyUshort(sc, 0x06, 0xe48b);
15595 MP_WritePhyUshort(sc, 0x06, 0x40ae);
15596 MP_WritePhyUshort(sc, 0x06, 0x0fbf);
15597 MP_WritePhyUshort(sc, 0x06, 0x3fa5);
15598 MP_WritePhyUshort(sc, 0x06, 0x0231);
15599 MP_WritePhyUshort(sc, 0x06, 0x6cbf);
15600 MP_WritePhyUshort(sc, 0x06, 0x3fa2);
15601 MP_WritePhyUshort(sc, 0x06, 0x0231);
15602 MP_WritePhyUshort(sc, 0x06, 0x6c02);
15603 MP_WritePhyUshort(sc, 0x06, 0x2dc3);
15604 MP_WritePhyUshort(sc, 0x06, 0xef96);
15605 MP_WritePhyUshort(sc, 0x06, 0xfefd);
15606 MP_WritePhyUshort(sc, 0x06, 0xfc04);
15607 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
15608 MP_WritePhyUshort(sc, 0x06, 0xe2f4);
15609 MP_WritePhyUshort(sc, 0x06, 0xe1e2);
15610 MP_WritePhyUshort(sc, 0x06, 0xf5e4);
15611 MP_WritePhyUshort(sc, 0x06, 0x8a78);
15612 MP_WritePhyUshort(sc, 0x06, 0xe58a);
15613 MP_WritePhyUshort(sc, 0x06, 0x79ee);
15614 MP_WritePhyUshort(sc, 0x06, 0xe2f4);
15615 MP_WritePhyUshort(sc, 0x06, 0xd8ee);
15616 MP_WritePhyUshort(sc, 0x06, 0xe2f5);
15617 MP_WritePhyUshort(sc, 0x06, 0x20fc);
15618 MP_WritePhyUshort(sc, 0x06, 0x04f8);
15619 MP_WritePhyUshort(sc, 0x06, 0xf9fa);
15620 MP_WritePhyUshort(sc, 0x06, 0xef69);
15621 MP_WritePhyUshort(sc, 0x06, 0xe08b);
15622 MP_WritePhyUshort(sc, 0x06, 0x87ad);
15623 MP_WritePhyUshort(sc, 0x06, 0x2065);
15624 MP_WritePhyUshort(sc, 0x06, 0xd200);
15625 MP_WritePhyUshort(sc, 0x06, 0xbf2e);
15626 MP_WritePhyUshort(sc, 0x06, 0xe802);
15627 MP_WritePhyUshort(sc, 0x06, 0x31dd);
15628 MP_WritePhyUshort(sc, 0x06, 0x1e21);
15629 MP_WritePhyUshort(sc, 0x06, 0xbf82);
15630 MP_WritePhyUshort(sc, 0x06, 0xdf02);
15631 MP_WritePhyUshort(sc, 0x06, 0x31dd);
15632 MP_WritePhyUshort(sc, 0x06, 0x0c11);
15633 MP_WritePhyUshort(sc, 0x06, 0x1e21);
15634 MP_WritePhyUshort(sc, 0x06, 0xbf82);
15635 MP_WritePhyUshort(sc, 0x06, 0xe202);
15636 MP_WritePhyUshort(sc, 0x06, 0x31dd);
15637 MP_WritePhyUshort(sc, 0x06, 0x0c12);
15638 MP_WritePhyUshort(sc, 0x06, 0x1e21);
15639 MP_WritePhyUshort(sc, 0x06, 0xbf82);
15640 MP_WritePhyUshort(sc, 0x06, 0xe502);
15641 MP_WritePhyUshort(sc, 0x06, 0x31dd);
15642 MP_WritePhyUshort(sc, 0x06, 0x0c13);
15643 MP_WritePhyUshort(sc, 0x06, 0x1e21);
15644 MP_WritePhyUshort(sc, 0x06, 0xbf1f);
15645 MP_WritePhyUshort(sc, 0x06, 0x5302);
15646 MP_WritePhyUshort(sc, 0x06, 0x31dd);
15647 MP_WritePhyUshort(sc, 0x06, 0x0c14);
15648 MP_WritePhyUshort(sc, 0x06, 0x1e21);
15649 MP_WritePhyUshort(sc, 0x06, 0xbf82);
15650 MP_WritePhyUshort(sc, 0x06, 0xeb02);
15651 MP_WritePhyUshort(sc, 0x06, 0x31dd);
15652 MP_WritePhyUshort(sc, 0x06, 0x0c16);
15653 MP_WritePhyUshort(sc, 0x06, 0x1e21);
15654 MP_WritePhyUshort(sc, 0x06, 0xe083);
15655 MP_WritePhyUshort(sc, 0x06, 0xe01f);
15656 MP_WritePhyUshort(sc, 0x06, 0x029e);
15657 MP_WritePhyUshort(sc, 0x06, 0x22e6);
15658 MP_WritePhyUshort(sc, 0x06, 0x83e0);
15659 MP_WritePhyUshort(sc, 0x06, 0xad31);
15660 MP_WritePhyUshort(sc, 0x06, 0x14ad);
15661 MP_WritePhyUshort(sc, 0x06, 0x3011);
15662 MP_WritePhyUshort(sc, 0x06, 0xef02);
15663 MP_WritePhyUshort(sc, 0x06, 0x580c);
15664 MP_WritePhyUshort(sc, 0x06, 0x9e07);
15665 MP_WritePhyUshort(sc, 0x06, 0xad36);
15666 MP_WritePhyUshort(sc, 0x06, 0x085a);
15667 MP_WritePhyUshort(sc, 0x06, 0x309f);
15668 MP_WritePhyUshort(sc, 0x06, 0x04d1);
15669 MP_WritePhyUshort(sc, 0x06, 0x01ae);
15670 MP_WritePhyUshort(sc, 0x06, 0x02d1);
15671 MP_WritePhyUshort(sc, 0x06, 0x00bf);
15672 MP_WritePhyUshort(sc, 0x06, 0x82dc);
15673 MP_WritePhyUshort(sc, 0x06, 0x0232);
15674 MP_WritePhyUshort(sc, 0x06, 0x0aef);
15675 MP_WritePhyUshort(sc, 0x06, 0x96fe);
15676 MP_WritePhyUshort(sc, 0x06, 0xfdfc);
15677 MP_WritePhyUshort(sc, 0x06, 0x0400);
15678 MP_WritePhyUshort(sc, 0x06, 0xe140);
15679 MP_WritePhyUshort(sc, 0x06, 0x77e1);
15680 MP_WritePhyUshort(sc, 0x06, 0x4010);
15681 MP_WritePhyUshort(sc, 0x06, 0xe150);
15682 MP_WritePhyUshort(sc, 0x06, 0x32e1);
15683 MP_WritePhyUshort(sc, 0x06, 0x5030);
15684 MP_WritePhyUshort(sc, 0x06, 0xe144);
15685 MP_WritePhyUshort(sc, 0x06, 0x74e1);
15686 MP_WritePhyUshort(sc, 0x06, 0x44bb);
15687 MP_WritePhyUshort(sc, 0x06, 0xe2d2);
15688 MP_WritePhyUshort(sc, 0x06, 0x40e0);
15689 MP_WritePhyUshort(sc, 0x06, 0x2cfc);
15690 MP_WritePhyUshort(sc, 0x06, 0xe2cc);
15691 MP_WritePhyUshort(sc, 0x06, 0xcce2);
15692 MP_WritePhyUshort(sc, 0x06, 0x00cc);
15693 MP_WritePhyUshort(sc, 0x06, 0xe000);
15694 MP_WritePhyUshort(sc, 0x06, 0x99e0);
15695 MP_WritePhyUshort(sc, 0x06, 0x3688);
15696 MP_WritePhyUshort(sc, 0x06, 0xe036);
15697 MP_WritePhyUshort(sc, 0x06, 0x99e1);
15698 MP_WritePhyUshort(sc, 0x06, 0x40dd);
15699 MP_WritePhyUshort(sc, 0x06, 0xe022);
15700 MP_WritePhyUshort(sc, 0x05, 0xe142);
15701 PhyRegValue = MP_ReadPhyUshort(sc, 0x06);
15702 PhyRegValue |= BIT_0;
15703 MP_WritePhyUshort(sc, 0x06, PhyRegValue);
15704 MP_WritePhyUshort(sc, 0x05, 0xe140);
15705 PhyRegValue = MP_ReadPhyUshort(sc, 0x06);
15706 PhyRegValue |= BIT_0;
15707 MP_WritePhyUshort(sc, 0x06, PhyRegValue);
15708 MP_WritePhyUshort(sc, 0x1f, 0x0000);
15709 MP_WritePhyUshort(sc, 0x1f, 0x0005);
15710 for (i = 0; i < 200; i++) {
15712 PhyRegValue = MP_ReadPhyUshort(sc, 0x00);
15713 if (PhyRegValue & BIT_7)
15717 MP_WritePhyUshort(sc, 0x1F, 0x0001);
15718 MP_WritePhyUshort(sc, 0x0B, 0x6C14);
15719 MP_WritePhyUshort(sc, 0x14, 0x7F3D);
15720 MP_WritePhyUshort(sc, 0x1C, 0xFAFE);
15721 MP_WritePhyUshort(sc, 0x08, 0x07C5);
15722 MP_WritePhyUshort(sc, 0x10, 0xF090);
15723 MP_WritePhyUshort(sc, 0x1F, 0x0003);
15724 MP_WritePhyUshort(sc, 0x14, 0x641A);
15725 MP_WritePhyUshort(sc, 0x1A, 0x0606);
15726 MP_WritePhyUshort(sc, 0x12, 0xF480);
15727 MP_WritePhyUshort(sc, 0x13, 0x0747);
15728 MP_WritePhyUshort(sc, 0x1F, 0x0000);
15730 MP_WritePhyUshort(sc, 0x1F, 0x0003);
15731 MP_WritePhyUshort(sc, 0x0D, 0x0207);
15732 MP_WritePhyUshort(sc, 0x02, 0x5FD0);
15733 MP_WritePhyUshort(sc, 0x1F, 0x0000);
15735 MP_WritePhyUshort(sc, 0x1F, 0x0003);
15736 MP_WritePhyUshort(sc, 0x09, 0xA20F);
15737 MP_WritePhyUshort(sc, 0x1F, 0x0000);
15739 MP_WritePhyUshort(sc, 0x1f, 0x0003);
15740 PhyRegValue = MP_ReadPhyUshort(sc, 0x19);
15741 PhyRegValue &= ~BIT_0;
15742 MP_WritePhyUshort(sc, 0x19, PhyRegValue);
15743 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
15744 PhyRegValue &= ~BIT_10;
15745 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
15746 MP_WritePhyUshort(sc, 0x1f, 0x0000);
15748 MP_WritePhyUshort(sc, 0x1f, 0x0004);
15749 MP_WritePhyUshort(sc, 0x1f, 0x0007);
15750 MP_WritePhyUshort(sc, 0x1e, 0x0023);
15751 PhyRegValue = MP_ReadPhyUshort(sc, 0x17);
15752 PhyRegValue &= ~BIT_0;
15753 PhyRegValue |= BIT_2;
15754 MP_WritePhyUshort(sc, 0x17, PhyRegValue);
15755 MP_WritePhyUshort(sc, 0x1f, 0x0002);
15756 MP_WritePhyUshort(sc, 0x1f, 0x0000);
15759 static void re_set_phy_mcu_8168evl_2(struct re_softc *sc)
15761 u_int16_t PhyRegValue;
15764 MP_WritePhyUshort(sc, 0x1f, 0x0000);
15765 MP_WritePhyUshort(sc, 0x00, 0x1800);
15766 PhyRegValue = MP_ReadPhyUshort(sc, 0x15);
15767 PhyRegValue &= ~(BIT_12);
15768 MP_WritePhyUshort(sc, 0x15, PhyRegValue);
15769 MP_WritePhyUshort(sc, 0x00, 0x4800);
15770 MP_WritePhyUshort(sc, 0x1f, 0x0007);
15771 MP_WritePhyUshort(sc, 0x1e, 0x002f);
15772 for (i = 0; i < 1000; i++) {
15773 if (MP_ReadPhyUshort(sc, 0x1c) & BIT_7)
15777 MP_WritePhyUshort(sc, 0x1f, 0x0000);
15778 MP_WritePhyUshort(sc, 0x00, 0x1800);
15779 MP_WritePhyUshort(sc, 0x1f, 0x0007);
15780 MP_WritePhyUshort(sc, 0x1e, 0x0023);
15781 for (i = 0; i < 200; i++) {
15782 if ((MP_ReadPhyUshort(sc, 0x17) & BIT_0) == 0)
15786 MP_WritePhyUshort(sc, 0x1f, 0x0005);
15787 MP_WritePhyUshort(sc, 0x05, 0xfff6);
15788 MP_WritePhyUshort(sc, 0x06, 0x0080);
15789 MP_WritePhyUshort(sc, 0x1f, 0x0007);
15790 MP_WritePhyUshort(sc, 0x1e, 0x0023);
15791 MP_WritePhyUshort(sc, 0x16, 0x0306);
15792 MP_WritePhyUshort(sc, 0x16, 0x0307);
15793 MP_WritePhyUshort(sc, 0x15, 0x00AF);
15794 MP_WritePhyUshort(sc, 0x19, 0x4060);
15795 MP_WritePhyUshort(sc, 0x15, 0x00B0);
15796 MP_WritePhyUshort(sc, 0x19, 0x7800);
15797 MP_WritePhyUshort(sc, 0x15, 0x00B1);
15798 MP_WritePhyUshort(sc, 0x19, 0x7e00);
15799 MP_WritePhyUshort(sc, 0x15, 0x00B2);
15800 MP_WritePhyUshort(sc, 0x19, 0x72B0);
15801 MP_WritePhyUshort(sc, 0x15, 0x00B3);
15802 MP_WritePhyUshort(sc, 0x19, 0x7F00);
15803 MP_WritePhyUshort(sc, 0x15, 0x00B4);
15804 MP_WritePhyUshort(sc, 0x19, 0x73B0);
15805 MP_WritePhyUshort(sc, 0x15, 0x0101);
15806 MP_WritePhyUshort(sc, 0x19, 0x0005);
15807 MP_WritePhyUshort(sc, 0x15, 0x0103);
15808 MP_WritePhyUshort(sc, 0x19, 0x0003);
15809 MP_WritePhyUshort(sc, 0x15, 0x0105);
15810 MP_WritePhyUshort(sc, 0x19, 0x30FD);
15811 MP_WritePhyUshort(sc, 0x15, 0x0106);
15812 MP_WritePhyUshort(sc, 0x19, 0x9DF7);
15813 MP_WritePhyUshort(sc, 0x15, 0x0107);
15814 MP_WritePhyUshort(sc, 0x19, 0x30C6);
15815 MP_WritePhyUshort(sc, 0x15, 0x0098);
15816 MP_WritePhyUshort(sc, 0x19, 0x7c0b);
15817 MP_WritePhyUshort(sc, 0x15, 0x0099);
15818 MP_WritePhyUshort(sc, 0x19, 0x6c0b);
15819 MP_WritePhyUshort(sc, 0x15, 0x00eb);
15820 MP_WritePhyUshort(sc, 0x19, 0x6c0b);
15821 MP_WritePhyUshort(sc, 0x15, 0x00f8);
15822 MP_WritePhyUshort(sc, 0x19, 0x6f0b);
15823 MP_WritePhyUshort(sc, 0x15, 0x00fe);
15824 MP_WritePhyUshort(sc, 0x19, 0x6f0f);
15825 MP_WritePhyUshort(sc, 0x15, 0x00db);
15826 MP_WritePhyUshort(sc, 0x19, 0x6f09);
15827 MP_WritePhyUshort(sc, 0x15, 0x00dc);
15828 MP_WritePhyUshort(sc, 0x19, 0xaefd);
15829 MP_WritePhyUshort(sc, 0x15, 0x00dd);
15830 MP_WritePhyUshort(sc, 0x19, 0x6f0b);
15831 MP_WritePhyUshort(sc, 0x15, 0x00de);
15832 MP_WritePhyUshort(sc, 0x19, 0xc60b);
15833 MP_WritePhyUshort(sc, 0x15, 0x00df);
15834 MP_WritePhyUshort(sc, 0x19, 0x00fa);
15835 MP_WritePhyUshort(sc, 0x15, 0x00e0);
15836 MP_WritePhyUshort(sc, 0x19, 0x30e1);
15837 MP_WritePhyUshort(sc, 0x15, 0x020c);
15838 MP_WritePhyUshort(sc, 0x19, 0x3224);
15839 MP_WritePhyUshort(sc, 0x15, 0x020e);
15840 MP_WritePhyUshort(sc, 0x19, 0x9813);
15841 MP_WritePhyUshort(sc, 0x15, 0x020f);
15842 MP_WritePhyUshort(sc, 0x19, 0x7801);
15843 MP_WritePhyUshort(sc, 0x15, 0x0210);
15844 MP_WritePhyUshort(sc, 0x19, 0x930f);
15845 MP_WritePhyUshort(sc, 0x15, 0x0211);
15846 MP_WritePhyUshort(sc, 0x19, 0x9206);
15847 MP_WritePhyUshort(sc, 0x15, 0x0212);
15848 MP_WritePhyUshort(sc, 0x19, 0x4002);
15849 MP_WritePhyUshort(sc, 0x15, 0x0213);
15850 MP_WritePhyUshort(sc, 0x19, 0x7800);
15851 MP_WritePhyUshort(sc, 0x15, 0x0214);
15852 MP_WritePhyUshort(sc, 0x19, 0x588f);
15853 MP_WritePhyUshort(sc, 0x15, 0x0215);
15854 MP_WritePhyUshort(sc, 0x19, 0x5520);
15855 MP_WritePhyUshort(sc, 0x15, 0x0216);
15856 MP_WritePhyUshort(sc, 0x19, 0x3224);
15857 MP_WritePhyUshort(sc, 0x15, 0x0217);
15858 MP_WritePhyUshort(sc, 0x19, 0x4002);
15859 MP_WritePhyUshort(sc, 0x15, 0x0218);
15860 MP_WritePhyUshort(sc, 0x19, 0x7800);
15861 MP_WritePhyUshort(sc, 0x15, 0x0219);
15862 MP_WritePhyUshort(sc, 0x19, 0x588d);
15863 MP_WritePhyUshort(sc, 0x15, 0x021a);
15864 MP_WritePhyUshort(sc, 0x19, 0x5540);
15865 MP_WritePhyUshort(sc, 0x15, 0x021b);
15866 MP_WritePhyUshort(sc, 0x19, 0x9e03);
15867 MP_WritePhyUshort(sc, 0x15, 0x021c);
15868 MP_WritePhyUshort(sc, 0x19, 0x7c40);
15869 MP_WritePhyUshort(sc, 0x15, 0x021d);
15870 MP_WritePhyUshort(sc, 0x19, 0x6840);
15871 MP_WritePhyUshort(sc, 0x15, 0x021e);
15872 MP_WritePhyUshort(sc, 0x19, 0x3224);
15873 MP_WritePhyUshort(sc, 0x15, 0x021f);
15874 MP_WritePhyUshort(sc, 0x19, 0x4002);
15875 MP_WritePhyUshort(sc, 0x15, 0x0220);
15876 MP_WritePhyUshort(sc, 0x19, 0x3224);
15877 MP_WritePhyUshort(sc, 0x15, 0x0221);
15878 MP_WritePhyUshort(sc, 0x19, 0x9e03);
15879 MP_WritePhyUshort(sc, 0x15, 0x0222);
15880 MP_WritePhyUshort(sc, 0x19, 0x7c40);
15881 MP_WritePhyUshort(sc, 0x15, 0x0223);
15882 MP_WritePhyUshort(sc, 0x19, 0x6840);
15883 MP_WritePhyUshort(sc, 0x15, 0x0224);
15884 MP_WritePhyUshort(sc, 0x19, 0x7800);
15885 MP_WritePhyUshort(sc, 0x15, 0x0225);
15886 MP_WritePhyUshort(sc, 0x19, 0x3231);
15887 MP_WritePhyUshort(sc, 0x15, 0x0000);
15888 MP_WritePhyUshort(sc, 0x16, 0x0306);
15889 MP_WritePhyUshort(sc, 0x16, 0x0300);
15890 MP_WritePhyUshort(sc, 0x1f, 0x0002);
15891 MP_WritePhyUshort(sc, 0x1f, 0x0000);
15892 MP_WritePhyUshort(sc, 0x1f, 0x0000);
15893 MP_WritePhyUshort(sc, 0x17, 0x2160);
15894 MP_WritePhyUshort(sc, 0x1f, 0x0007);
15895 MP_WritePhyUshort(sc, 0x1e, 0x0040);
15896 MP_WritePhyUshort(sc, 0x18, 0x0004);
15897 MP_WritePhyUshort(sc, 0x18, 0x09d4);
15898 MP_WritePhyUshort(sc, 0x19, 0x4000);
15899 MP_WritePhyUshort(sc, 0x18, 0x09e4);
15900 MP_WritePhyUshort(sc, 0x19, 0x0800);
15901 MP_WritePhyUshort(sc, 0x18, 0x09f4);
15902 MP_WritePhyUshort(sc, 0x19, 0xff00);
15903 MP_WritePhyUshort(sc, 0x18, 0x0a04);
15904 MP_WritePhyUshort(sc, 0x19, 0x4000);
15905 MP_WritePhyUshort(sc, 0x18, 0x0a14);
15906 MP_WritePhyUshort(sc, 0x19, 0x0c00);
15907 MP_WritePhyUshort(sc, 0x18, 0x0a24);
15908 MP_WritePhyUshort(sc, 0x19, 0xff00);
15909 MP_WritePhyUshort(sc, 0x18, 0x0a74);
15910 MP_WritePhyUshort(sc, 0x19, 0xf600);
15911 MP_WritePhyUshort(sc, 0x18, 0x1a24);
15912 MP_WritePhyUshort(sc, 0x19, 0x7d00);
15913 MP_WritePhyUshort(sc, 0x18, 0x1a64);
15914 MP_WritePhyUshort(sc, 0x19, 0x0500);
15915 MP_WritePhyUshort(sc, 0x18, 0x1a74);
15916 MP_WritePhyUshort(sc, 0x19, 0x9500);
15917 MP_WritePhyUshort(sc, 0x18, 0x1a84);
15918 MP_WritePhyUshort(sc, 0x19, 0x8000);
15919 MP_WritePhyUshort(sc, 0x18, 0x1a94);
15920 MP_WritePhyUshort(sc, 0x19, 0x7d00);
15921 MP_WritePhyUshort(sc, 0x18, 0x1aa4);
15922 MP_WritePhyUshort(sc, 0x19, 0x9600);
15923 MP_WritePhyUshort(sc, 0x18, 0x1ac4);
15924 MP_WritePhyUshort(sc, 0x19, 0x4000);
15925 MP_WritePhyUshort(sc, 0x18, 0x1ad4);
15926 MP_WritePhyUshort(sc, 0x19, 0x0800);
15927 MP_WritePhyUshort(sc, 0x18, 0x1af4);
15928 MP_WritePhyUshort(sc, 0x19, 0xc400);
15929 MP_WritePhyUshort(sc, 0x18, 0x1b04);
15930 MP_WritePhyUshort(sc, 0x19, 0x4000);
15931 MP_WritePhyUshort(sc, 0x18, 0x1b14);
15932 MP_WritePhyUshort(sc, 0x19, 0x0800);
15933 MP_WritePhyUshort(sc, 0x18, 0x1b24);
15934 MP_WritePhyUshort(sc, 0x19, 0xfd00);
15935 MP_WritePhyUshort(sc, 0x18, 0x1b34);
15936 MP_WritePhyUshort(sc, 0x19, 0x4000);
15937 MP_WritePhyUshort(sc, 0x18, 0x1b44);
15938 MP_WritePhyUshort(sc, 0x19, 0x0400);
15939 MP_WritePhyUshort(sc, 0x18, 0x1b94);
15940 MP_WritePhyUshort(sc, 0x19, 0xf100);
15941 MP_WritePhyUshort(sc, 0x1f, 0x0000);
15942 MP_WritePhyUshort(sc, 0x17, 0x2100);
15943 MP_WritePhyUshort(sc, 0x1f, 0x0007);
15944 MP_WritePhyUshort(sc, 0x1e, 0x0040);
15945 MP_WritePhyUshort(sc, 0x18, 0x0000);
15946 MP_WritePhyUshort(sc, 0x1f, 0x0000);
15947 MP_WritePhyUshort(sc, 0x1f, 0x0005);
15948 MP_WritePhyUshort(sc, 0x05, 0xfff6);
15949 MP_WritePhyUshort(sc, 0x06, 0x0080);
15950 MP_WritePhyUshort(sc, 0x05, 0x8000);
15951 MP_WritePhyUshort(sc, 0x06, 0x0280);
15952 MP_WritePhyUshort(sc, 0x06, 0x48f7);
15953 MP_WritePhyUshort(sc, 0x06, 0x00e0);
15954 MP_WritePhyUshort(sc, 0x06, 0xfff7);
15955 MP_WritePhyUshort(sc, 0x06, 0xa080);
15956 MP_WritePhyUshort(sc, 0x06, 0x02ae);
15957 MP_WritePhyUshort(sc, 0x06, 0xf602);
15958 MP_WritePhyUshort(sc, 0x06, 0x0115);
15959 MP_WritePhyUshort(sc, 0x06, 0x0201);
15960 MP_WritePhyUshort(sc, 0x06, 0x2202);
15961 MP_WritePhyUshort(sc, 0x06, 0x80a0);
15962 MP_WritePhyUshort(sc, 0x06, 0x0201);
15963 MP_WritePhyUshort(sc, 0x06, 0x3f02);
15964 MP_WritePhyUshort(sc, 0x06, 0x0159);
15965 MP_WritePhyUshort(sc, 0x06, 0x0280);
15966 MP_WritePhyUshort(sc, 0x06, 0xbd02);
15967 MP_WritePhyUshort(sc, 0x06, 0x80da);
15968 MP_WritePhyUshort(sc, 0x06, 0xe08b);
15969 MP_WritePhyUshort(sc, 0x06, 0x88e1);
15970 MP_WritePhyUshort(sc, 0x06, 0x8b89);
15971 MP_WritePhyUshort(sc, 0x06, 0x1e01);
15972 MP_WritePhyUshort(sc, 0x06, 0xe18b);
15973 MP_WritePhyUshort(sc, 0x06, 0x8a1e);
15974 MP_WritePhyUshort(sc, 0x06, 0x01e1);
15975 MP_WritePhyUshort(sc, 0x06, 0x8b8b);
15976 MP_WritePhyUshort(sc, 0x06, 0x1e01);
15977 MP_WritePhyUshort(sc, 0x06, 0xe18b);
15978 MP_WritePhyUshort(sc, 0x06, 0x8c1e);
15979 MP_WritePhyUshort(sc, 0x06, 0x01e1);
15980 MP_WritePhyUshort(sc, 0x06, 0x8b8d);
15981 MP_WritePhyUshort(sc, 0x06, 0x1e01);
15982 MP_WritePhyUshort(sc, 0x06, 0xe18b);
15983 MP_WritePhyUshort(sc, 0x06, 0x8e1e);
15984 MP_WritePhyUshort(sc, 0x06, 0x01a0);
15985 MP_WritePhyUshort(sc, 0x06, 0x00c7);
15986 MP_WritePhyUshort(sc, 0x06, 0xaebb);
15987 MP_WritePhyUshort(sc, 0x06, 0xd481);
15988 MP_WritePhyUshort(sc, 0x06, 0xd2e4);
15989 MP_WritePhyUshort(sc, 0x06, 0x8b92);
15990 MP_WritePhyUshort(sc, 0x06, 0xe58b);
15991 MP_WritePhyUshort(sc, 0x06, 0x93d1);
15992 MP_WritePhyUshort(sc, 0x06, 0x03bf);
15993 MP_WritePhyUshort(sc, 0x06, 0x859e);
15994 MP_WritePhyUshort(sc, 0x06, 0x0237);
15995 MP_WritePhyUshort(sc, 0x06, 0x23d1);
15996 MP_WritePhyUshort(sc, 0x06, 0x02bf);
15997 MP_WritePhyUshort(sc, 0x06, 0x85a1);
15998 MP_WritePhyUshort(sc, 0x06, 0x0237);
15999 MP_WritePhyUshort(sc, 0x06, 0x23ee);
16000 MP_WritePhyUshort(sc, 0x06, 0x8608);
16001 MP_WritePhyUshort(sc, 0x06, 0x03ee);
16002 MP_WritePhyUshort(sc, 0x06, 0x860a);
16003 MP_WritePhyUshort(sc, 0x06, 0x60ee);
16004 MP_WritePhyUshort(sc, 0x06, 0x8610);
16005 MP_WritePhyUshort(sc, 0x06, 0x00ee);
16006 MP_WritePhyUshort(sc, 0x06, 0x8611);
16007 MP_WritePhyUshort(sc, 0x06, 0x00ee);
16008 MP_WritePhyUshort(sc, 0x06, 0x8abe);
16009 MP_WritePhyUshort(sc, 0x06, 0x07ee);
16010 MP_WritePhyUshort(sc, 0x06, 0x8abf);
16011 MP_WritePhyUshort(sc, 0x06, 0x73ee);
16012 MP_WritePhyUshort(sc, 0x06, 0x8a95);
16013 MP_WritePhyUshort(sc, 0x06, 0x02bf);
16014 MP_WritePhyUshort(sc, 0x06, 0x8b88);
16015 MP_WritePhyUshort(sc, 0x06, 0xec00);
16016 MP_WritePhyUshort(sc, 0x06, 0x19a9);
16017 MP_WritePhyUshort(sc, 0x06, 0x8b90);
16018 MP_WritePhyUshort(sc, 0x06, 0xf9ee);
16019 MP_WritePhyUshort(sc, 0x06, 0xfff6);
16020 MP_WritePhyUshort(sc, 0x06, 0x00ee);
16021 MP_WritePhyUshort(sc, 0x06, 0xfff7);
16022 MP_WritePhyUshort(sc, 0x06, 0xfed1);
16023 MP_WritePhyUshort(sc, 0x06, 0x00bf);
16024 MP_WritePhyUshort(sc, 0x06, 0x8595);
16025 MP_WritePhyUshort(sc, 0x06, 0x0237);
16026 MP_WritePhyUshort(sc, 0x06, 0x23d1);
16027 MP_WritePhyUshort(sc, 0x06, 0x01bf);
16028 MP_WritePhyUshort(sc, 0x06, 0x8598);
16029 MP_WritePhyUshort(sc, 0x06, 0x0237);
16030 MP_WritePhyUshort(sc, 0x06, 0x2304);
16031 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
16032 MP_WritePhyUshort(sc, 0x06, 0x8b8a);
16033 MP_WritePhyUshort(sc, 0x06, 0xad20);
16034 MP_WritePhyUshort(sc, 0x06, 0x14ee);
16035 MP_WritePhyUshort(sc, 0x06, 0x8b8a);
16036 MP_WritePhyUshort(sc, 0x06, 0x0002);
16037 MP_WritePhyUshort(sc, 0x06, 0x1f9a);
16038 MP_WritePhyUshort(sc, 0x06, 0xe0e4);
16039 MP_WritePhyUshort(sc, 0x06, 0x26e1);
16040 MP_WritePhyUshort(sc, 0x06, 0xe427);
16041 MP_WritePhyUshort(sc, 0x06, 0xeee4);
16042 MP_WritePhyUshort(sc, 0x06, 0x2623);
16043 MP_WritePhyUshort(sc, 0x06, 0xe5e4);
16044 MP_WritePhyUshort(sc, 0x06, 0x27fc);
16045 MP_WritePhyUshort(sc, 0x06, 0x04f8);
16046 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16047 MP_WritePhyUshort(sc, 0x06, 0x8dad);
16048 MP_WritePhyUshort(sc, 0x06, 0x2014);
16049 MP_WritePhyUshort(sc, 0x06, 0xee8b);
16050 MP_WritePhyUshort(sc, 0x06, 0x8d00);
16051 MP_WritePhyUshort(sc, 0x06, 0xe08a);
16052 MP_WritePhyUshort(sc, 0x06, 0x5a78);
16053 MP_WritePhyUshort(sc, 0x06, 0x039e);
16054 MP_WritePhyUshort(sc, 0x06, 0x0902);
16055 MP_WritePhyUshort(sc, 0x06, 0x05db);
16056 MP_WritePhyUshort(sc, 0x06, 0x0282);
16057 MP_WritePhyUshort(sc, 0x06, 0x7b02);
16058 MP_WritePhyUshort(sc, 0x06, 0x3231);
16059 MP_WritePhyUshort(sc, 0x06, 0xfc04);
16060 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
16061 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
16062 MP_WritePhyUshort(sc, 0x06, 0xad20);
16063 MP_WritePhyUshort(sc, 0x06, 0x1df6);
16064 MP_WritePhyUshort(sc, 0x06, 0x20e4);
16065 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
16066 MP_WritePhyUshort(sc, 0x06, 0x0281);
16067 MP_WritePhyUshort(sc, 0x06, 0x5c02);
16068 MP_WritePhyUshort(sc, 0x06, 0x2bcb);
16069 MP_WritePhyUshort(sc, 0x06, 0x022d);
16070 MP_WritePhyUshort(sc, 0x06, 0x2902);
16071 MP_WritePhyUshort(sc, 0x06, 0x03b4);
16072 MP_WritePhyUshort(sc, 0x06, 0x0285);
16073 MP_WritePhyUshort(sc, 0x06, 0x6402);
16074 MP_WritePhyUshort(sc, 0x06, 0x2eca);
16075 MP_WritePhyUshort(sc, 0x06, 0x0284);
16076 MP_WritePhyUshort(sc, 0x06, 0xcd02);
16077 MP_WritePhyUshort(sc, 0x06, 0x046f);
16078 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16079 MP_WritePhyUshort(sc, 0x06, 0x8ead);
16080 MP_WritePhyUshort(sc, 0x06, 0x210b);
16081 MP_WritePhyUshort(sc, 0x06, 0xf621);
16082 MP_WritePhyUshort(sc, 0x06, 0xe48b);
16083 MP_WritePhyUshort(sc, 0x06, 0x8e02);
16084 MP_WritePhyUshort(sc, 0x06, 0x8520);
16085 MP_WritePhyUshort(sc, 0x06, 0x021b);
16086 MP_WritePhyUshort(sc, 0x06, 0xe8e0);
16087 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
16088 MP_WritePhyUshort(sc, 0x06, 0xad22);
16089 MP_WritePhyUshort(sc, 0x06, 0x05f6);
16090 MP_WritePhyUshort(sc, 0x06, 0x22e4);
16091 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
16092 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16093 MP_WritePhyUshort(sc, 0x06, 0x8ead);
16094 MP_WritePhyUshort(sc, 0x06, 0x2308);
16095 MP_WritePhyUshort(sc, 0x06, 0xf623);
16096 MP_WritePhyUshort(sc, 0x06, 0xe48b);
16097 MP_WritePhyUshort(sc, 0x06, 0x8e02);
16098 MP_WritePhyUshort(sc, 0x06, 0x311c);
16099 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16100 MP_WritePhyUshort(sc, 0x06, 0x8ead);
16101 MP_WritePhyUshort(sc, 0x06, 0x2405);
16102 MP_WritePhyUshort(sc, 0x06, 0xf624);
16103 MP_WritePhyUshort(sc, 0x06, 0xe48b);
16104 MP_WritePhyUshort(sc, 0x06, 0x8ee0);
16105 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
16106 MP_WritePhyUshort(sc, 0x06, 0xad25);
16107 MP_WritePhyUshort(sc, 0x06, 0x05f6);
16108 MP_WritePhyUshort(sc, 0x06, 0x25e4);
16109 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
16110 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16111 MP_WritePhyUshort(sc, 0x06, 0x8ead);
16112 MP_WritePhyUshort(sc, 0x06, 0x2608);
16113 MP_WritePhyUshort(sc, 0x06, 0xf626);
16114 MP_WritePhyUshort(sc, 0x06, 0xe48b);
16115 MP_WritePhyUshort(sc, 0x06, 0x8e02);
16116 MP_WritePhyUshort(sc, 0x06, 0x2df5);
16117 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16118 MP_WritePhyUshort(sc, 0x06, 0x8ead);
16119 MP_WritePhyUshort(sc, 0x06, 0x2705);
16120 MP_WritePhyUshort(sc, 0x06, 0xf627);
16121 MP_WritePhyUshort(sc, 0x06, 0xe48b);
16122 MP_WritePhyUshort(sc, 0x06, 0x8e02);
16123 MP_WritePhyUshort(sc, 0x06, 0x037a);
16124 MP_WritePhyUshort(sc, 0x06, 0xfc04);
16125 MP_WritePhyUshort(sc, 0x06, 0xf8f9);
16126 MP_WritePhyUshort(sc, 0x06, 0xfaef);
16127 MP_WritePhyUshort(sc, 0x06, 0x69e0);
16128 MP_WritePhyUshort(sc, 0x06, 0x8b87);
16129 MP_WritePhyUshort(sc, 0x06, 0xad20);
16130 MP_WritePhyUshort(sc, 0x06, 0x65d2);
16131 MP_WritePhyUshort(sc, 0x06, 0x00bf);
16132 MP_WritePhyUshort(sc, 0x06, 0x2fe9);
16133 MP_WritePhyUshort(sc, 0x06, 0x0236);
16134 MP_WritePhyUshort(sc, 0x06, 0xf61e);
16135 MP_WritePhyUshort(sc, 0x06, 0x21bf);
16136 MP_WritePhyUshort(sc, 0x06, 0x2ff5);
16137 MP_WritePhyUshort(sc, 0x06, 0x0236);
16138 MP_WritePhyUshort(sc, 0x06, 0xf60c);
16139 MP_WritePhyUshort(sc, 0x06, 0x111e);
16140 MP_WritePhyUshort(sc, 0x06, 0x21bf);
16141 MP_WritePhyUshort(sc, 0x06, 0x2ff8);
16142 MP_WritePhyUshort(sc, 0x06, 0x0236);
16143 MP_WritePhyUshort(sc, 0x06, 0xf60c);
16144 MP_WritePhyUshort(sc, 0x06, 0x121e);
16145 MP_WritePhyUshort(sc, 0x06, 0x21bf);
16146 MP_WritePhyUshort(sc, 0x06, 0x2ffb);
16147 MP_WritePhyUshort(sc, 0x06, 0x0236);
16148 MP_WritePhyUshort(sc, 0x06, 0xf60c);
16149 MP_WritePhyUshort(sc, 0x06, 0x131e);
16150 MP_WritePhyUshort(sc, 0x06, 0x21bf);
16151 MP_WritePhyUshort(sc, 0x06, 0x1f97);
16152 MP_WritePhyUshort(sc, 0x06, 0x0236);
16153 MP_WritePhyUshort(sc, 0x06, 0xf60c);
16154 MP_WritePhyUshort(sc, 0x06, 0x141e);
16155 MP_WritePhyUshort(sc, 0x06, 0x21bf);
16156 MP_WritePhyUshort(sc, 0x06, 0x859b);
16157 MP_WritePhyUshort(sc, 0x06, 0x0236);
16158 MP_WritePhyUshort(sc, 0x06, 0xf60c);
16159 MP_WritePhyUshort(sc, 0x06, 0x161e);
16160 MP_WritePhyUshort(sc, 0x06, 0x21e0);
16161 MP_WritePhyUshort(sc, 0x06, 0x8a8c);
16162 MP_WritePhyUshort(sc, 0x06, 0x1f02);
16163 MP_WritePhyUshort(sc, 0x06, 0x9e22);
16164 MP_WritePhyUshort(sc, 0x06, 0xe68a);
16165 MP_WritePhyUshort(sc, 0x06, 0x8cad);
16166 MP_WritePhyUshort(sc, 0x06, 0x3114);
16167 MP_WritePhyUshort(sc, 0x06, 0xad30);
16168 MP_WritePhyUshort(sc, 0x06, 0x11ef);
16169 MP_WritePhyUshort(sc, 0x06, 0x0258);
16170 MP_WritePhyUshort(sc, 0x06, 0x0c9e);
16171 MP_WritePhyUshort(sc, 0x06, 0x07ad);
16172 MP_WritePhyUshort(sc, 0x06, 0x3608);
16173 MP_WritePhyUshort(sc, 0x06, 0x5a30);
16174 MP_WritePhyUshort(sc, 0x06, 0x9f04);
16175 MP_WritePhyUshort(sc, 0x06, 0xd101);
16176 MP_WritePhyUshort(sc, 0x06, 0xae02);
16177 MP_WritePhyUshort(sc, 0x06, 0xd100);
16178 MP_WritePhyUshort(sc, 0x06, 0xbf2f);
16179 MP_WritePhyUshort(sc, 0x06, 0xf202);
16180 MP_WritePhyUshort(sc, 0x06, 0x3723);
16181 MP_WritePhyUshort(sc, 0x06, 0xef96);
16182 MP_WritePhyUshort(sc, 0x06, 0xfefd);
16183 MP_WritePhyUshort(sc, 0x06, 0xfc04);
16184 MP_WritePhyUshort(sc, 0x06, 0xf8f9);
16185 MP_WritePhyUshort(sc, 0x06, 0xface);
16186 MP_WritePhyUshort(sc, 0x06, 0xfaef);
16187 MP_WritePhyUshort(sc, 0x06, 0x69fa);
16188 MP_WritePhyUshort(sc, 0x06, 0xd401);
16189 MP_WritePhyUshort(sc, 0x06, 0x55b4);
16190 MP_WritePhyUshort(sc, 0x06, 0xfebf);
16191 MP_WritePhyUshort(sc, 0x06, 0x85a7);
16192 MP_WritePhyUshort(sc, 0x06, 0x0236);
16193 MP_WritePhyUshort(sc, 0x06, 0xf6ac);
16194 MP_WritePhyUshort(sc, 0x06, 0x280b);
16195 MP_WritePhyUshort(sc, 0x06, 0xbf85);
16196 MP_WritePhyUshort(sc, 0x06, 0xa402);
16197 MP_WritePhyUshort(sc, 0x06, 0x36f6);
16198 MP_WritePhyUshort(sc, 0x06, 0xac28);
16199 MP_WritePhyUshort(sc, 0x06, 0x49ae);
16200 MP_WritePhyUshort(sc, 0x06, 0x64bf);
16201 MP_WritePhyUshort(sc, 0x06, 0x85a4);
16202 MP_WritePhyUshort(sc, 0x06, 0x0236);
16203 MP_WritePhyUshort(sc, 0x06, 0xf6ac);
16204 MP_WritePhyUshort(sc, 0x06, 0x285b);
16205 MP_WritePhyUshort(sc, 0x06, 0xd000);
16206 MP_WritePhyUshort(sc, 0x06, 0x0282);
16207 MP_WritePhyUshort(sc, 0x06, 0x60ac);
16208 MP_WritePhyUshort(sc, 0x06, 0x2105);
16209 MP_WritePhyUshort(sc, 0x06, 0xac22);
16210 MP_WritePhyUshort(sc, 0x06, 0x02ae);
16211 MP_WritePhyUshort(sc, 0x06, 0x4ebf);
16212 MP_WritePhyUshort(sc, 0x06, 0xe0c4);
16213 MP_WritePhyUshort(sc, 0x06, 0xbe86);
16214 MP_WritePhyUshort(sc, 0x06, 0x14d2);
16215 MP_WritePhyUshort(sc, 0x06, 0x04d8);
16216 MP_WritePhyUshort(sc, 0x06, 0x19d9);
16217 MP_WritePhyUshort(sc, 0x06, 0x1907);
16218 MP_WritePhyUshort(sc, 0x06, 0xdc19);
16219 MP_WritePhyUshort(sc, 0x06, 0xdd19);
16220 MP_WritePhyUshort(sc, 0x06, 0x0789);
16221 MP_WritePhyUshort(sc, 0x06, 0x89ef);
16222 MP_WritePhyUshort(sc, 0x06, 0x645e);
16223 MP_WritePhyUshort(sc, 0x06, 0x07ff);
16224 MP_WritePhyUshort(sc, 0x06, 0x0d65);
16225 MP_WritePhyUshort(sc, 0x06, 0x5cf8);
16226 MP_WritePhyUshort(sc, 0x06, 0x001e);
16227 MP_WritePhyUshort(sc, 0x06, 0x46dc);
16228 MP_WritePhyUshort(sc, 0x06, 0x19dd);
16229 MP_WritePhyUshort(sc, 0x06, 0x19b2);
16230 MP_WritePhyUshort(sc, 0x06, 0xe2d4);
16231 MP_WritePhyUshort(sc, 0x06, 0x0001);
16232 MP_WritePhyUshort(sc, 0x06, 0xbf85);
16233 MP_WritePhyUshort(sc, 0x06, 0xa402);
16234 MP_WritePhyUshort(sc, 0x06, 0x3723);
16235 MP_WritePhyUshort(sc, 0x06, 0xae1d);
16236 MP_WritePhyUshort(sc, 0x06, 0xbee0);
16237 MP_WritePhyUshort(sc, 0x06, 0xc4bf);
16238 MP_WritePhyUshort(sc, 0x06, 0x8614);
16239 MP_WritePhyUshort(sc, 0x06, 0xd204);
16240 MP_WritePhyUshort(sc, 0x06, 0xd819);
16241 MP_WritePhyUshort(sc, 0x06, 0xd919);
16242 MP_WritePhyUshort(sc, 0x06, 0x07dc);
16243 MP_WritePhyUshort(sc, 0x06, 0x19dd);
16244 MP_WritePhyUshort(sc, 0x06, 0x1907);
16245 MP_WritePhyUshort(sc, 0x06, 0xb2f4);
16246 MP_WritePhyUshort(sc, 0x06, 0xd400);
16247 MP_WritePhyUshort(sc, 0x06, 0x00bf);
16248 MP_WritePhyUshort(sc, 0x06, 0x85a4);
16249 MP_WritePhyUshort(sc, 0x06, 0x0237);
16250 MP_WritePhyUshort(sc, 0x06, 0x23fe);
16251 MP_WritePhyUshort(sc, 0x06, 0xef96);
16252 MP_WritePhyUshort(sc, 0x06, 0xfec6);
16253 MP_WritePhyUshort(sc, 0x06, 0xfefd);
16254 MP_WritePhyUshort(sc, 0x06, 0xfc05);
16255 MP_WritePhyUshort(sc, 0x06, 0xf9e2);
16256 MP_WritePhyUshort(sc, 0x06, 0xe0ea);
16257 MP_WritePhyUshort(sc, 0x06, 0xe3e0);
16258 MP_WritePhyUshort(sc, 0x06, 0xeb5a);
16259 MP_WritePhyUshort(sc, 0x06, 0x070c);
16260 MP_WritePhyUshort(sc, 0x06, 0x031e);
16261 MP_WritePhyUshort(sc, 0x06, 0x20e6);
16262 MP_WritePhyUshort(sc, 0x06, 0xe0ea);
16263 MP_WritePhyUshort(sc, 0x06, 0xe7e0);
16264 MP_WritePhyUshort(sc, 0x06, 0xebe0);
16265 MP_WritePhyUshort(sc, 0x06, 0xe0fc);
16266 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
16267 MP_WritePhyUshort(sc, 0x06, 0xfdfd);
16268 MP_WritePhyUshort(sc, 0x06, 0x04f8);
16269 MP_WritePhyUshort(sc, 0x06, 0xf9e0);
16270 MP_WritePhyUshort(sc, 0x06, 0x8b81);
16271 MP_WritePhyUshort(sc, 0x06, 0xac26);
16272 MP_WritePhyUshort(sc, 0x06, 0x1ae0);
16273 MP_WritePhyUshort(sc, 0x06, 0x8b81);
16274 MP_WritePhyUshort(sc, 0x06, 0xac21);
16275 MP_WritePhyUshort(sc, 0x06, 0x14e0);
16276 MP_WritePhyUshort(sc, 0x06, 0x8b85);
16277 MP_WritePhyUshort(sc, 0x06, 0xac20);
16278 MP_WritePhyUshort(sc, 0x06, 0x0ee0);
16279 MP_WritePhyUshort(sc, 0x06, 0x8b85);
16280 MP_WritePhyUshort(sc, 0x06, 0xac23);
16281 MP_WritePhyUshort(sc, 0x06, 0x08e0);
16282 MP_WritePhyUshort(sc, 0x06, 0x8b87);
16283 MP_WritePhyUshort(sc, 0x06, 0xac24);
16284 MP_WritePhyUshort(sc, 0x06, 0x02ae);
16285 MP_WritePhyUshort(sc, 0x06, 0x3802);
16286 MP_WritePhyUshort(sc, 0x06, 0x1ab5);
16287 MP_WritePhyUshort(sc, 0x06, 0xeee4);
16288 MP_WritePhyUshort(sc, 0x06, 0x1c04);
16289 MP_WritePhyUshort(sc, 0x06, 0xeee4);
16290 MP_WritePhyUshort(sc, 0x06, 0x1d04);
16291 MP_WritePhyUshort(sc, 0x06, 0xe2e0);
16292 MP_WritePhyUshort(sc, 0x06, 0x7ce3);
16293 MP_WritePhyUshort(sc, 0x06, 0xe07d);
16294 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
16295 MP_WritePhyUshort(sc, 0x06, 0x38e1);
16296 MP_WritePhyUshort(sc, 0x06, 0xe039);
16297 MP_WritePhyUshort(sc, 0x06, 0xad2e);
16298 MP_WritePhyUshort(sc, 0x06, 0x1bad);
16299 MP_WritePhyUshort(sc, 0x06, 0x390d);
16300 MP_WritePhyUshort(sc, 0x06, 0xd101);
16301 MP_WritePhyUshort(sc, 0x06, 0xbf21);
16302 MP_WritePhyUshort(sc, 0x06, 0xd502);
16303 MP_WritePhyUshort(sc, 0x06, 0x3723);
16304 MP_WritePhyUshort(sc, 0x06, 0x0282);
16305 MP_WritePhyUshort(sc, 0x06, 0xd8ae);
16306 MP_WritePhyUshort(sc, 0x06, 0x0bac);
16307 MP_WritePhyUshort(sc, 0x06, 0x3802);
16308 MP_WritePhyUshort(sc, 0x06, 0xae06);
16309 MP_WritePhyUshort(sc, 0x06, 0x0283);
16310 MP_WritePhyUshort(sc, 0x06, 0x1802);
16311 MP_WritePhyUshort(sc, 0x06, 0x8360);
16312 MP_WritePhyUshort(sc, 0x06, 0x021a);
16313 MP_WritePhyUshort(sc, 0x06, 0xc6fd);
16314 MP_WritePhyUshort(sc, 0x06, 0xfc04);
16315 MP_WritePhyUshort(sc, 0x06, 0xf8e1);
16316 MP_WritePhyUshort(sc, 0x06, 0x8af4);
16317 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16318 MP_WritePhyUshort(sc, 0x06, 0x81ad);
16319 MP_WritePhyUshort(sc, 0x06, 0x2605);
16320 MP_WritePhyUshort(sc, 0x06, 0x0222);
16321 MP_WritePhyUshort(sc, 0x06, 0xa4f7);
16322 MP_WritePhyUshort(sc, 0x06, 0x28e0);
16323 MP_WritePhyUshort(sc, 0x06, 0x8b81);
16324 MP_WritePhyUshort(sc, 0x06, 0xad21);
16325 MP_WritePhyUshort(sc, 0x06, 0x0502);
16326 MP_WritePhyUshort(sc, 0x06, 0x23a9);
16327 MP_WritePhyUshort(sc, 0x06, 0xf729);
16328 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16329 MP_WritePhyUshort(sc, 0x06, 0x85ad);
16330 MP_WritePhyUshort(sc, 0x06, 0x2005);
16331 MP_WritePhyUshort(sc, 0x06, 0x0214);
16332 MP_WritePhyUshort(sc, 0x06, 0xabf7);
16333 MP_WritePhyUshort(sc, 0x06, 0x2ae0);
16334 MP_WritePhyUshort(sc, 0x06, 0x8b85);
16335 MP_WritePhyUshort(sc, 0x06, 0xad23);
16336 MP_WritePhyUshort(sc, 0x06, 0x0502);
16337 MP_WritePhyUshort(sc, 0x06, 0x12e7);
16338 MP_WritePhyUshort(sc, 0x06, 0xf72b);
16339 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16340 MP_WritePhyUshort(sc, 0x06, 0x87ad);
16341 MP_WritePhyUshort(sc, 0x06, 0x2405);
16342 MP_WritePhyUshort(sc, 0x06, 0x0283);
16343 MP_WritePhyUshort(sc, 0x06, 0xbcf7);
16344 MP_WritePhyUshort(sc, 0x06, 0x2ce5);
16345 MP_WritePhyUshort(sc, 0x06, 0x8af4);
16346 MP_WritePhyUshort(sc, 0x06, 0xfc04);
16347 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
16348 MP_WritePhyUshort(sc, 0x06, 0x8b81);
16349 MP_WritePhyUshort(sc, 0x06, 0xad26);
16350 MP_WritePhyUshort(sc, 0x06, 0x0302);
16351 MP_WritePhyUshort(sc, 0x06, 0x21e5);
16352 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16353 MP_WritePhyUshort(sc, 0x06, 0x81ad);
16354 MP_WritePhyUshort(sc, 0x06, 0x2109);
16355 MP_WritePhyUshort(sc, 0x06, 0xe08a);
16356 MP_WritePhyUshort(sc, 0x06, 0xf4ac);
16357 MP_WritePhyUshort(sc, 0x06, 0x2003);
16358 MP_WritePhyUshort(sc, 0x06, 0x0223);
16359 MP_WritePhyUshort(sc, 0x06, 0x98e0);
16360 MP_WritePhyUshort(sc, 0x06, 0x8b85);
16361 MP_WritePhyUshort(sc, 0x06, 0xad20);
16362 MP_WritePhyUshort(sc, 0x06, 0x09e0);
16363 MP_WritePhyUshort(sc, 0x06, 0x8af4);
16364 MP_WritePhyUshort(sc, 0x06, 0xac21);
16365 MP_WritePhyUshort(sc, 0x06, 0x0302);
16366 MP_WritePhyUshort(sc, 0x06, 0x13fb);
16367 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16368 MP_WritePhyUshort(sc, 0x06, 0x85ad);
16369 MP_WritePhyUshort(sc, 0x06, 0x2309);
16370 MP_WritePhyUshort(sc, 0x06, 0xe08a);
16371 MP_WritePhyUshort(sc, 0x06, 0xf4ac);
16372 MP_WritePhyUshort(sc, 0x06, 0x2203);
16373 MP_WritePhyUshort(sc, 0x06, 0x0212);
16374 MP_WritePhyUshort(sc, 0x06, 0xfae0);
16375 MP_WritePhyUshort(sc, 0x06, 0x8b87);
16376 MP_WritePhyUshort(sc, 0x06, 0xad24);
16377 MP_WritePhyUshort(sc, 0x06, 0x09e0);
16378 MP_WritePhyUshort(sc, 0x06, 0x8af4);
16379 MP_WritePhyUshort(sc, 0x06, 0xac23);
16380 MP_WritePhyUshort(sc, 0x06, 0x0302);
16381 MP_WritePhyUshort(sc, 0x06, 0x83c1);
16382 MP_WritePhyUshort(sc, 0x06, 0xfc04);
16383 MP_WritePhyUshort(sc, 0x06, 0xf8e1);
16384 MP_WritePhyUshort(sc, 0x06, 0x8af4);
16385 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16386 MP_WritePhyUshort(sc, 0x06, 0x81ad);
16387 MP_WritePhyUshort(sc, 0x06, 0x2608);
16388 MP_WritePhyUshort(sc, 0x06, 0xe083);
16389 MP_WritePhyUshort(sc, 0x06, 0xd2ad);
16390 MP_WritePhyUshort(sc, 0x06, 0x2502);
16391 MP_WritePhyUshort(sc, 0x06, 0xf628);
16392 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16393 MP_WritePhyUshort(sc, 0x06, 0x81ad);
16394 MP_WritePhyUshort(sc, 0x06, 0x210a);
16395 MP_WritePhyUshort(sc, 0x06, 0xe084);
16396 MP_WritePhyUshort(sc, 0x06, 0x0af6);
16397 MP_WritePhyUshort(sc, 0x06, 0x27a0);
16398 MP_WritePhyUshort(sc, 0x06, 0x0502);
16399 MP_WritePhyUshort(sc, 0x06, 0xf629);
16400 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16401 MP_WritePhyUshort(sc, 0x06, 0x85ad);
16402 MP_WritePhyUshort(sc, 0x06, 0x2008);
16403 MP_WritePhyUshort(sc, 0x06, 0xe08a);
16404 MP_WritePhyUshort(sc, 0x06, 0xe8ad);
16405 MP_WritePhyUshort(sc, 0x06, 0x2102);
16406 MP_WritePhyUshort(sc, 0x06, 0xf62a);
16407 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16408 MP_WritePhyUshort(sc, 0x06, 0x85ad);
16409 MP_WritePhyUshort(sc, 0x06, 0x2308);
16410 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16411 MP_WritePhyUshort(sc, 0x06, 0x20a0);
16412 MP_WritePhyUshort(sc, 0x06, 0x0302);
16413 MP_WritePhyUshort(sc, 0x06, 0xf62b);
16414 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16415 MP_WritePhyUshort(sc, 0x06, 0x87ad);
16416 MP_WritePhyUshort(sc, 0x06, 0x2408);
16417 MP_WritePhyUshort(sc, 0x06, 0xe086);
16418 MP_WritePhyUshort(sc, 0x06, 0x02a0);
16419 MP_WritePhyUshort(sc, 0x06, 0x0302);
16420 MP_WritePhyUshort(sc, 0x06, 0xf62c);
16421 MP_WritePhyUshort(sc, 0x06, 0xe58a);
16422 MP_WritePhyUshort(sc, 0x06, 0xf4a1);
16423 MP_WritePhyUshort(sc, 0x06, 0x0008);
16424 MP_WritePhyUshort(sc, 0x06, 0xd100);
16425 MP_WritePhyUshort(sc, 0x06, 0xbf21);
16426 MP_WritePhyUshort(sc, 0x06, 0xd502);
16427 MP_WritePhyUshort(sc, 0x06, 0x3723);
16428 MP_WritePhyUshort(sc, 0x06, 0xfc04);
16429 MP_WritePhyUshort(sc, 0x06, 0xee86);
16430 MP_WritePhyUshort(sc, 0x06, 0x0200);
16431 MP_WritePhyUshort(sc, 0x06, 0x04f8);
16432 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16433 MP_WritePhyUshort(sc, 0x06, 0x87ad);
16434 MP_WritePhyUshort(sc, 0x06, 0x241e);
16435 MP_WritePhyUshort(sc, 0x06, 0xe086);
16436 MP_WritePhyUshort(sc, 0x06, 0x02a0);
16437 MP_WritePhyUshort(sc, 0x06, 0x0005);
16438 MP_WritePhyUshort(sc, 0x06, 0x0283);
16439 MP_WritePhyUshort(sc, 0x06, 0xe8ae);
16440 MP_WritePhyUshort(sc, 0x06, 0xf5a0);
16441 MP_WritePhyUshort(sc, 0x06, 0x0105);
16442 MP_WritePhyUshort(sc, 0x06, 0x0283);
16443 MP_WritePhyUshort(sc, 0x06, 0xf8ae);
16444 MP_WritePhyUshort(sc, 0x06, 0x0ba0);
16445 MP_WritePhyUshort(sc, 0x06, 0x0205);
16446 MP_WritePhyUshort(sc, 0x06, 0x0284);
16447 MP_WritePhyUshort(sc, 0x06, 0x14ae);
16448 MP_WritePhyUshort(sc, 0x06, 0x03a0);
16449 MP_WritePhyUshort(sc, 0x06, 0x0300);
16450 MP_WritePhyUshort(sc, 0x06, 0xfc04);
16451 MP_WritePhyUshort(sc, 0x06, 0xf8fa);
16452 MP_WritePhyUshort(sc, 0x06, 0xef69);
16453 MP_WritePhyUshort(sc, 0x06, 0x0284);
16454 MP_WritePhyUshort(sc, 0x06, 0x2bee);
16455 MP_WritePhyUshort(sc, 0x06, 0x8602);
16456 MP_WritePhyUshort(sc, 0x06, 0x01ef);
16457 MP_WritePhyUshort(sc, 0x06, 0x96fe);
16458 MP_WritePhyUshort(sc, 0x06, 0xfc04);
16459 MP_WritePhyUshort(sc, 0x06, 0xf8ee);
16460 MP_WritePhyUshort(sc, 0x06, 0x8609);
16461 MP_WritePhyUshort(sc, 0x06, 0x0002);
16462 MP_WritePhyUshort(sc, 0x06, 0x8461);
16463 MP_WritePhyUshort(sc, 0x06, 0xfc04);
16464 MP_WritePhyUshort(sc, 0x06, 0xae10);
16465 MP_WritePhyUshort(sc, 0x06, 0x0000);
16466 MP_WritePhyUshort(sc, 0x06, 0x0000);
16467 MP_WritePhyUshort(sc, 0x06, 0x0000);
16468 MP_WritePhyUshort(sc, 0x06, 0x0000);
16469 MP_WritePhyUshort(sc, 0x06, 0x0000);
16470 MP_WritePhyUshort(sc, 0x06, 0x0000);
16471 MP_WritePhyUshort(sc, 0x06, 0x0000);
16472 MP_WritePhyUshort(sc, 0x06, 0x0000);
16473 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
16474 MP_WritePhyUshort(sc, 0x06, 0x8608);
16475 MP_WritePhyUshort(sc, 0x06, 0xe186);
16476 MP_WritePhyUshort(sc, 0x06, 0x091f);
16477 MP_WritePhyUshort(sc, 0x06, 0x019e);
16478 MP_WritePhyUshort(sc, 0x06, 0x0611);
16479 MP_WritePhyUshort(sc, 0x06, 0xe586);
16480 MP_WritePhyUshort(sc, 0x06, 0x09ae);
16481 MP_WritePhyUshort(sc, 0x06, 0x04ee);
16482 MP_WritePhyUshort(sc, 0x06, 0x8602);
16483 MP_WritePhyUshort(sc, 0x06, 0x01fc);
16484 MP_WritePhyUshort(sc, 0x06, 0x04f8);
16485 MP_WritePhyUshort(sc, 0x06, 0xf9fa);
16486 MP_WritePhyUshort(sc, 0x06, 0xef69);
16487 MP_WritePhyUshort(sc, 0x06, 0xfbbf);
16488 MP_WritePhyUshort(sc, 0x06, 0x8604);
16489 MP_WritePhyUshort(sc, 0x06, 0xef79);
16490 MP_WritePhyUshort(sc, 0x06, 0xd200);
16491 MP_WritePhyUshort(sc, 0x06, 0xd400);
16492 MP_WritePhyUshort(sc, 0x06, 0x221e);
16493 MP_WritePhyUshort(sc, 0x06, 0x02bf);
16494 MP_WritePhyUshort(sc, 0x06, 0x2fec);
16495 MP_WritePhyUshort(sc, 0x06, 0x0237);
16496 MP_WritePhyUshort(sc, 0x06, 0x23bf);
16497 MP_WritePhyUshort(sc, 0x06, 0x13f2);
16498 MP_WritePhyUshort(sc, 0x06, 0x0236);
16499 MP_WritePhyUshort(sc, 0x06, 0xf60d);
16500 MP_WritePhyUshort(sc, 0x06, 0x4559);
16501 MP_WritePhyUshort(sc, 0x06, 0x1fef);
16502 MP_WritePhyUshort(sc, 0x06, 0x97dd);
16503 MP_WritePhyUshort(sc, 0x06, 0xd308);
16504 MP_WritePhyUshort(sc, 0x06, 0x1a93);
16505 MP_WritePhyUshort(sc, 0x06, 0xdd12);
16506 MP_WritePhyUshort(sc, 0x06, 0x17a2);
16507 MP_WritePhyUshort(sc, 0x06, 0x04de);
16508 MP_WritePhyUshort(sc, 0x06, 0xffef);
16509 MP_WritePhyUshort(sc, 0x06, 0x96fe);
16510 MP_WritePhyUshort(sc, 0x06, 0xfdfc);
16511 MP_WritePhyUshort(sc, 0x06, 0x04f8);
16512 MP_WritePhyUshort(sc, 0x06, 0xf9fa);
16513 MP_WritePhyUshort(sc, 0x06, 0xef69);
16514 MP_WritePhyUshort(sc, 0x06, 0xfbee);
16515 MP_WritePhyUshort(sc, 0x06, 0x8602);
16516 MP_WritePhyUshort(sc, 0x06, 0x03d5);
16517 MP_WritePhyUshort(sc, 0x06, 0x0080);
16518 MP_WritePhyUshort(sc, 0x06, 0xbf86);
16519 MP_WritePhyUshort(sc, 0x06, 0x04ef);
16520 MP_WritePhyUshort(sc, 0x06, 0x79ef);
16521 MP_WritePhyUshort(sc, 0x06, 0x45bf);
16522 MP_WritePhyUshort(sc, 0x06, 0x2fec);
16523 MP_WritePhyUshort(sc, 0x06, 0x0237);
16524 MP_WritePhyUshort(sc, 0x06, 0x23bf);
16525 MP_WritePhyUshort(sc, 0x06, 0x13f2);
16526 MP_WritePhyUshort(sc, 0x06, 0x0236);
16527 MP_WritePhyUshort(sc, 0x06, 0xf6ad);
16528 MP_WritePhyUshort(sc, 0x06, 0x2702);
16529 MP_WritePhyUshort(sc, 0x06, 0x78ff);
16530 MP_WritePhyUshort(sc, 0x06, 0xe186);
16531 MP_WritePhyUshort(sc, 0x06, 0x0a1b);
16532 MP_WritePhyUshort(sc, 0x06, 0x01aa);
16533 MP_WritePhyUshort(sc, 0x06, 0x2eef);
16534 MP_WritePhyUshort(sc, 0x06, 0x97d9);
16535 MP_WritePhyUshort(sc, 0x06, 0x7900);
16536 MP_WritePhyUshort(sc, 0x06, 0x9e2b);
16537 MP_WritePhyUshort(sc, 0x06, 0x81dd);
16538 MP_WritePhyUshort(sc, 0x06, 0xbf85);
16539 MP_WritePhyUshort(sc, 0x06, 0xad02);
16540 MP_WritePhyUshort(sc, 0x06, 0x3723);
16541 MP_WritePhyUshort(sc, 0x06, 0xd101);
16542 MP_WritePhyUshort(sc, 0x06, 0xef02);
16543 MP_WritePhyUshort(sc, 0x06, 0x100c);
16544 MP_WritePhyUshort(sc, 0x06, 0x11b0);
16545 MP_WritePhyUshort(sc, 0x06, 0xfc0d);
16546 MP_WritePhyUshort(sc, 0x06, 0x11bf);
16547 MP_WritePhyUshort(sc, 0x06, 0x85aa);
16548 MP_WritePhyUshort(sc, 0x06, 0x0237);
16549 MP_WritePhyUshort(sc, 0x06, 0x23d1);
16550 MP_WritePhyUshort(sc, 0x06, 0x00bf);
16551 MP_WritePhyUshort(sc, 0x06, 0x85aa);
16552 MP_WritePhyUshort(sc, 0x06, 0x0237);
16553 MP_WritePhyUshort(sc, 0x06, 0x23ee);
16554 MP_WritePhyUshort(sc, 0x06, 0x8602);
16555 MP_WritePhyUshort(sc, 0x06, 0x02ae);
16556 MP_WritePhyUshort(sc, 0x06, 0x0413);
16557 MP_WritePhyUshort(sc, 0x06, 0xa38b);
16558 MP_WritePhyUshort(sc, 0x06, 0xb4d3);
16559 MP_WritePhyUshort(sc, 0x06, 0x8012);
16560 MP_WritePhyUshort(sc, 0x06, 0x17a2);
16561 MP_WritePhyUshort(sc, 0x06, 0x04ad);
16562 MP_WritePhyUshort(sc, 0x06, 0xffef);
16563 MP_WritePhyUshort(sc, 0x06, 0x96fe);
16564 MP_WritePhyUshort(sc, 0x06, 0xfdfc);
16565 MP_WritePhyUshort(sc, 0x06, 0x04f8);
16566 MP_WritePhyUshort(sc, 0x06, 0xf9e0);
16567 MP_WritePhyUshort(sc, 0x06, 0x8b85);
16568 MP_WritePhyUshort(sc, 0x06, 0xad25);
16569 MP_WritePhyUshort(sc, 0x06, 0x48e0);
16570 MP_WritePhyUshort(sc, 0x06, 0x8a96);
16571 MP_WritePhyUshort(sc, 0x06, 0xe18a);
16572 MP_WritePhyUshort(sc, 0x06, 0x977c);
16573 MP_WritePhyUshort(sc, 0x06, 0x0000);
16574 MP_WritePhyUshort(sc, 0x06, 0x9e35);
16575 MP_WritePhyUshort(sc, 0x06, 0xee8a);
16576 MP_WritePhyUshort(sc, 0x06, 0x9600);
16577 MP_WritePhyUshort(sc, 0x06, 0xee8a);
16578 MP_WritePhyUshort(sc, 0x06, 0x9700);
16579 MP_WritePhyUshort(sc, 0x06, 0xe08a);
16580 MP_WritePhyUshort(sc, 0x06, 0xbee1);
16581 MP_WritePhyUshort(sc, 0x06, 0x8abf);
16582 MP_WritePhyUshort(sc, 0x06, 0xe286);
16583 MP_WritePhyUshort(sc, 0x06, 0x10e3);
16584 MP_WritePhyUshort(sc, 0x06, 0x8611);
16585 MP_WritePhyUshort(sc, 0x06, 0x0236);
16586 MP_WritePhyUshort(sc, 0x06, 0x1aad);
16587 MP_WritePhyUshort(sc, 0x06, 0x2012);
16588 MP_WritePhyUshort(sc, 0x06, 0xee8a);
16589 MP_WritePhyUshort(sc, 0x06, 0x9603);
16590 MP_WritePhyUshort(sc, 0x06, 0xee8a);
16591 MP_WritePhyUshort(sc, 0x06, 0x97b7);
16592 MP_WritePhyUshort(sc, 0x06, 0xee86);
16593 MP_WritePhyUshort(sc, 0x06, 0x1000);
16594 MP_WritePhyUshort(sc, 0x06, 0xee86);
16595 MP_WritePhyUshort(sc, 0x06, 0x1100);
16596 MP_WritePhyUshort(sc, 0x06, 0xae11);
16597 MP_WritePhyUshort(sc, 0x06, 0x15e6);
16598 MP_WritePhyUshort(sc, 0x06, 0x8610);
16599 MP_WritePhyUshort(sc, 0x06, 0xe786);
16600 MP_WritePhyUshort(sc, 0x06, 0x11ae);
16601 MP_WritePhyUshort(sc, 0x06, 0x08ee);
16602 MP_WritePhyUshort(sc, 0x06, 0x8610);
16603 MP_WritePhyUshort(sc, 0x06, 0x00ee);
16604 MP_WritePhyUshort(sc, 0x06, 0x8611);
16605 MP_WritePhyUshort(sc, 0x06, 0x00fd);
16606 MP_WritePhyUshort(sc, 0x06, 0xfc04);
16607 MP_WritePhyUshort(sc, 0x06, 0xf8fa);
16608 MP_WritePhyUshort(sc, 0x06, 0xef69);
16609 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
16610 MP_WritePhyUshort(sc, 0x06, 0x00e1);
16611 MP_WritePhyUshort(sc, 0x06, 0xe001);
16612 MP_WritePhyUshort(sc, 0x06, 0xad27);
16613 MP_WritePhyUshort(sc, 0x06, 0x32e0);
16614 MP_WritePhyUshort(sc, 0x06, 0x8b40);
16615 MP_WritePhyUshort(sc, 0x06, 0xf720);
16616 MP_WritePhyUshort(sc, 0x06, 0xe48b);
16617 MP_WritePhyUshort(sc, 0x06, 0x40bf);
16618 MP_WritePhyUshort(sc, 0x06, 0x31f5);
16619 MP_WritePhyUshort(sc, 0x06, 0x0236);
16620 MP_WritePhyUshort(sc, 0x06, 0xf6ad);
16621 MP_WritePhyUshort(sc, 0x06, 0x2821);
16622 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
16623 MP_WritePhyUshort(sc, 0x06, 0x20e1);
16624 MP_WritePhyUshort(sc, 0x06, 0xe021);
16625 MP_WritePhyUshort(sc, 0x06, 0xad20);
16626 MP_WritePhyUshort(sc, 0x06, 0x18e0);
16627 MP_WritePhyUshort(sc, 0x06, 0x8b40);
16628 MP_WritePhyUshort(sc, 0x06, 0xf620);
16629 MP_WritePhyUshort(sc, 0x06, 0xe48b);
16630 MP_WritePhyUshort(sc, 0x06, 0x40ee);
16631 MP_WritePhyUshort(sc, 0x06, 0x8b3b);
16632 MP_WritePhyUshort(sc, 0x06, 0xffe0);
16633 MP_WritePhyUshort(sc, 0x06, 0x8a8a);
16634 MP_WritePhyUshort(sc, 0x06, 0xe18a);
16635 MP_WritePhyUshort(sc, 0x06, 0x8be4);
16636 MP_WritePhyUshort(sc, 0x06, 0xe000);
16637 MP_WritePhyUshort(sc, 0x06, 0xe5e0);
16638 MP_WritePhyUshort(sc, 0x06, 0x01ef);
16639 MP_WritePhyUshort(sc, 0x06, 0x96fe);
16640 MP_WritePhyUshort(sc, 0x06, 0xfc04);
16641 MP_WritePhyUshort(sc, 0x06, 0xf8fa);
16642 MP_WritePhyUshort(sc, 0x06, 0xef69);
16643 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16644 MP_WritePhyUshort(sc, 0x06, 0x80ad);
16645 MP_WritePhyUshort(sc, 0x06, 0x2722);
16646 MP_WritePhyUshort(sc, 0x06, 0xbf44);
16647 MP_WritePhyUshort(sc, 0x06, 0xfc02);
16648 MP_WritePhyUshort(sc, 0x06, 0x36f6);
16649 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16650 MP_WritePhyUshort(sc, 0x06, 0x441f);
16651 MP_WritePhyUshort(sc, 0x06, 0x019e);
16652 MP_WritePhyUshort(sc, 0x06, 0x15e5);
16653 MP_WritePhyUshort(sc, 0x06, 0x8b44);
16654 MP_WritePhyUshort(sc, 0x06, 0xad29);
16655 MP_WritePhyUshort(sc, 0x06, 0x07ac);
16656 MP_WritePhyUshort(sc, 0x06, 0x2804);
16657 MP_WritePhyUshort(sc, 0x06, 0xd101);
16658 MP_WritePhyUshort(sc, 0x06, 0xae02);
16659 MP_WritePhyUshort(sc, 0x06, 0xd100);
16660 MP_WritePhyUshort(sc, 0x06, 0xbf85);
16661 MP_WritePhyUshort(sc, 0x06, 0xb002);
16662 MP_WritePhyUshort(sc, 0x06, 0x3723);
16663 MP_WritePhyUshort(sc, 0x06, 0xef96);
16664 MP_WritePhyUshort(sc, 0x06, 0xfefc);
16665 MP_WritePhyUshort(sc, 0x06, 0x0400);
16666 MP_WritePhyUshort(sc, 0x06, 0xe140);
16667 MP_WritePhyUshort(sc, 0x06, 0x77e1);
16668 MP_WritePhyUshort(sc, 0x06, 0x40dd);
16669 MP_WritePhyUshort(sc, 0x06, 0xe022);
16670 MP_WritePhyUshort(sc, 0x06, 0x32e1);
16671 MP_WritePhyUshort(sc, 0x06, 0x5074);
16672 MP_WritePhyUshort(sc, 0x06, 0xe144);
16673 MP_WritePhyUshort(sc, 0x06, 0xffe0);
16674 MP_WritePhyUshort(sc, 0x06, 0xdaff);
16675 MP_WritePhyUshort(sc, 0x06, 0xe0c0);
16676 MP_WritePhyUshort(sc, 0x06, 0x52e0);
16677 MP_WritePhyUshort(sc, 0x06, 0xeed9);
16678 MP_WritePhyUshort(sc, 0x06, 0xe04c);
16679 MP_WritePhyUshort(sc, 0x06, 0xbbe0);
16680 MP_WritePhyUshort(sc, 0x06, 0x2a00);
16681 MP_WritePhyUshort(sc, 0x05, 0xe142);
16682 PhyRegValue = MP_ReadPhyUshort(sc, 0x06);
16683 PhyRegValue |= BIT_0;
16684 MP_WritePhyUshort(sc, 0x06, PhyRegValue);
16685 MP_WritePhyUshort(sc, 0x05, 0xe140);
16686 PhyRegValue = MP_ReadPhyUshort(sc, 0x06);
16687 PhyRegValue |= BIT_0;
16688 MP_WritePhyUshort(sc, 0x06, PhyRegValue);
16689 MP_WritePhyUshort(sc, 0x1f, 0x0000);
16690 MP_WritePhyUshort(sc, 0x1f, 0x0005);
16691 for (i = 0; i < 200; i++) {
16693 PhyRegValue = MP_ReadPhyUshort(sc, 0x00);
16694 if (PhyRegValue & BIT_7)
16698 MP_WritePhyUshort(sc, 0x1F, 0x0003);
16699 MP_WritePhyUshort(sc, 0x09, 0xA20F);
16700 MP_WritePhyUshort(sc, 0x1F, 0x0000);
16702 MP_WritePhyUshort(sc, 0x1f, 0x0003);
16703 PhyRegValue = MP_ReadPhyUshort(sc, 0x19);
16704 PhyRegValue &= ~BIT_0;
16705 MP_WritePhyUshort(sc, 0x19, PhyRegValue);
16706 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
16707 PhyRegValue &= ~BIT_10;
16708 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
16709 MP_WritePhyUshort(sc, 0x1f, 0x0000);
16711 MP_WritePhyUshort(sc, 0x1f, 0x0007);
16712 MP_WritePhyUshort(sc, 0x1e, 0x0042);
16713 MP_WritePhyUshort(sc, 0x18, 0x2300);
16714 MP_WritePhyUshort(sc, 0x1f, 0x0000);
16715 MP_WritePhyUshort(sc, 0x1f, 0x0007);
16716 MP_WritePhyUshort(sc, 0x1e, 0x0023);
16717 PhyRegValue = MP_ReadPhyUshort(sc, 0x17);
16718 if (sc->RequiredSecLanDonglePatch)
16719 PhyRegValue &= ~(BIT_2);
16720 MP_WritePhyUshort(sc, 0x17, PhyRegValue);
16721 MP_WritePhyUshort(sc, 0x1f, 0x0000);
16722 MP_WritePhyUshort(sc, 0x00, 0x9200);
16725 static void re_set_phy_mcu_8168f_1(struct re_softc *sc)
16727 u_int16_t PhyRegValue;
16730 MP_WritePhyUshort(sc, 0x1f, 0x0000);
16731 MP_WritePhyUshort(sc, 0x00, 0x1800);
16732 PhyRegValue = MP_ReadPhyUshort(sc, 0x15);
16733 PhyRegValue &= ~(BIT_12);
16734 MP_WritePhyUshort(sc, 0x15, PhyRegValue);
16735 MP_WritePhyUshort(sc, 0x00, 0x4800);
16736 MP_WritePhyUshort(sc, 0x1f, 0x0007);
16737 MP_WritePhyUshort(sc, 0x1e, 0x002f);
16738 for (i = 0; i < 1000; i++) {
16740 PhyRegValue = MP_ReadPhyUshort(sc, 0x1c);
16741 if (PhyRegValue & BIT_7)
16744 MP_WritePhyUshort(sc, 0x1f, 0x0000);
16745 MP_WritePhyUshort(sc, 0x00, 0x1800);
16746 MP_WritePhyUshort(sc, 0x1f, 0x0007);
16747 MP_WritePhyUshort(sc, 0x1e, 0x0023);
16748 for (i = 0; i < 200; i++) {
16750 PhyRegValue = MP_ReadPhyUshort(sc, 0x18);
16751 if (!(PhyRegValue & BIT_0))
16754 MP_WritePhyUshort(sc, 0x1f, 0x0005);
16755 MP_WritePhyUshort(sc, 0x05, 0xfff6);
16756 MP_WritePhyUshort(sc, 0x06, 0x0080);
16757 MP_WritePhyUshort(sc, 0x1f, 0x0007);
16758 MP_WritePhyUshort(sc, 0x1e, 0x0023);
16759 MP_WritePhyUshort(sc, 0x16, 0x0306);
16760 MP_WritePhyUshort(sc, 0x16, 0x0307);
16761 MP_WritePhyUshort(sc, 0x15, 0x0194);
16762 MP_WritePhyUshort(sc, 0x19, 0x407D);
16763 MP_WritePhyUshort(sc, 0x15, 0x0098);
16764 MP_WritePhyUshort(sc, 0x19, 0x7c0b);
16765 MP_WritePhyUshort(sc, 0x15, 0x0099);
16766 MP_WritePhyUshort(sc, 0x19, 0x6c0b);
16767 MP_WritePhyUshort(sc, 0x15, 0x00eb);
16768 MP_WritePhyUshort(sc, 0x19, 0x6c0b);
16769 MP_WritePhyUshort(sc, 0x15, 0x00f8);
16770 MP_WritePhyUshort(sc, 0x19, 0x6f0b);
16771 MP_WritePhyUshort(sc, 0x15, 0x00fe);
16772 MP_WritePhyUshort(sc, 0x19, 0x6f0f);
16773 MP_WritePhyUshort(sc, 0x15, 0x00db);
16774 MP_WritePhyUshort(sc, 0x19, 0x6f09);
16775 MP_WritePhyUshort(sc, 0x15, 0x00dc);
16776 MP_WritePhyUshort(sc, 0x19, 0xaefd);
16777 MP_WritePhyUshort(sc, 0x15, 0x00dd);
16778 MP_WritePhyUshort(sc, 0x19, 0x6f0b);
16779 MP_WritePhyUshort(sc, 0x15, 0x00de);
16780 MP_WritePhyUshort(sc, 0x19, 0xc60b);
16781 MP_WritePhyUshort(sc, 0x15, 0x00df);
16782 MP_WritePhyUshort(sc, 0x19, 0x00fa);
16783 MP_WritePhyUshort(sc, 0x15, 0x00e0);
16784 MP_WritePhyUshort(sc, 0x19, 0x30e1);
16785 MP_WritePhyUshort(sc, 0x15, 0x020c);
16786 MP_WritePhyUshort(sc, 0x19, 0x3224);
16787 MP_WritePhyUshort(sc, 0x15, 0x020e);
16788 MP_WritePhyUshort(sc, 0x19, 0x9813);
16789 MP_WritePhyUshort(sc, 0x15, 0x020f);
16790 MP_WritePhyUshort(sc, 0x19, 0x7801);
16791 MP_WritePhyUshort(sc, 0x15, 0x0210);
16792 MP_WritePhyUshort(sc, 0x19, 0x930f);
16793 MP_WritePhyUshort(sc, 0x15, 0x0211);
16794 MP_WritePhyUshort(sc, 0x19, 0x9206);
16795 MP_WritePhyUshort(sc, 0x15, 0x0212);
16796 MP_WritePhyUshort(sc, 0x19, 0x4002);
16797 MP_WritePhyUshort(sc, 0x15, 0x0213);
16798 MP_WritePhyUshort(sc, 0x19, 0x7800);
16799 MP_WritePhyUshort(sc, 0x15, 0x0214);
16800 MP_WritePhyUshort(sc, 0x19, 0x588f);
16801 MP_WritePhyUshort(sc, 0x15, 0x0215);
16802 MP_WritePhyUshort(sc, 0x19, 0x5520);
16803 MP_WritePhyUshort(sc, 0x15, 0x0216);
16804 MP_WritePhyUshort(sc, 0x19, 0x3224);
16805 MP_WritePhyUshort(sc, 0x15, 0x0217);
16806 MP_WritePhyUshort(sc, 0x19, 0x4002);
16807 MP_WritePhyUshort(sc, 0x15, 0x0218);
16808 MP_WritePhyUshort(sc, 0x19, 0x7800);
16809 MP_WritePhyUshort(sc, 0x15, 0x0219);
16810 MP_WritePhyUshort(sc, 0x19, 0x588d);
16811 MP_WritePhyUshort(sc, 0x15, 0x021a);
16812 MP_WritePhyUshort(sc, 0x19, 0x5540);
16813 MP_WritePhyUshort(sc, 0x15, 0x021b);
16814 MP_WritePhyUshort(sc, 0x19, 0x9e03);
16815 MP_WritePhyUshort(sc, 0x15, 0x021c);
16816 MP_WritePhyUshort(sc, 0x19, 0x7c40);
16817 MP_WritePhyUshort(sc, 0x15, 0x021d);
16818 MP_WritePhyUshort(sc, 0x19, 0x6840);
16819 MP_WritePhyUshort(sc, 0x15, 0x021e);
16820 MP_WritePhyUshort(sc, 0x19, 0x3224);
16821 MP_WritePhyUshort(sc, 0x15, 0x021f);
16822 MP_WritePhyUshort(sc, 0x19, 0x4002);
16823 MP_WritePhyUshort(sc, 0x15, 0x0220);
16824 MP_WritePhyUshort(sc, 0x19, 0x3224);
16825 MP_WritePhyUshort(sc, 0x15, 0x0221);
16826 MP_WritePhyUshort(sc, 0x19, 0x9e03);
16827 MP_WritePhyUshort(sc, 0x15, 0x0222);
16828 MP_WritePhyUshort(sc, 0x19, 0x7c40);
16829 MP_WritePhyUshort(sc, 0x15, 0x0223);
16830 MP_WritePhyUshort(sc, 0x19, 0x6840);
16831 MP_WritePhyUshort(sc, 0x15, 0x0224);
16832 MP_WritePhyUshort(sc, 0x19, 0x7800);
16833 MP_WritePhyUshort(sc, 0x15, 0x0225);
16834 MP_WritePhyUshort(sc, 0x19, 0x3231);
16835 MP_WritePhyUshort(sc, 0x15, 0x0000);
16836 MP_WritePhyUshort(sc, 0x16, 0x0306);
16837 MP_WritePhyUshort(sc, 0x16, 0x0300);
16838 MP_WritePhyUshort(sc, 0x1f, 0x0000);
16839 MP_WritePhyUshort(sc, 0x1f, 0x0005);
16840 MP_WritePhyUshort(sc, 0x05, 0xfff6);
16841 MP_WritePhyUshort(sc, 0x06, 0x0080);
16842 MP_WritePhyUshort(sc, 0x05, 0x8000);
16843 MP_WritePhyUshort(sc, 0x06, 0x0280);
16844 MP_WritePhyUshort(sc, 0x06, 0x48f7);
16845 MP_WritePhyUshort(sc, 0x06, 0x00e0);
16846 MP_WritePhyUshort(sc, 0x06, 0xfff7);
16847 MP_WritePhyUshort(sc, 0x06, 0xa080);
16848 MP_WritePhyUshort(sc, 0x06, 0x02ae);
16849 MP_WritePhyUshort(sc, 0x06, 0xf602);
16850 MP_WritePhyUshort(sc, 0x06, 0x0118);
16851 MP_WritePhyUshort(sc, 0x06, 0x0201);
16852 MP_WritePhyUshort(sc, 0x06, 0x2502);
16853 MP_WritePhyUshort(sc, 0x06, 0x8090);
16854 MP_WritePhyUshort(sc, 0x06, 0x0201);
16855 MP_WritePhyUshort(sc, 0x06, 0x4202);
16856 MP_WritePhyUshort(sc, 0x06, 0x015c);
16857 MP_WritePhyUshort(sc, 0x06, 0x0280);
16858 MP_WritePhyUshort(sc, 0x06, 0xad02);
16859 MP_WritePhyUshort(sc, 0x06, 0x80ca);
16860 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16861 MP_WritePhyUshort(sc, 0x06, 0x88e1);
16862 MP_WritePhyUshort(sc, 0x06, 0x8b89);
16863 MP_WritePhyUshort(sc, 0x06, 0x1e01);
16864 MP_WritePhyUshort(sc, 0x06, 0xe18b);
16865 MP_WritePhyUshort(sc, 0x06, 0x8a1e);
16866 MP_WritePhyUshort(sc, 0x06, 0x01e1);
16867 MP_WritePhyUshort(sc, 0x06, 0x8b8b);
16868 MP_WritePhyUshort(sc, 0x06, 0x1e01);
16869 MP_WritePhyUshort(sc, 0x06, 0xe18b);
16870 MP_WritePhyUshort(sc, 0x06, 0x8c1e);
16871 MP_WritePhyUshort(sc, 0x06, 0x01e1);
16872 MP_WritePhyUshort(sc, 0x06, 0x8b8d);
16873 MP_WritePhyUshort(sc, 0x06, 0x1e01);
16874 MP_WritePhyUshort(sc, 0x06, 0xe18b);
16875 MP_WritePhyUshort(sc, 0x06, 0x8e1e);
16876 MP_WritePhyUshort(sc, 0x06, 0x01a0);
16877 MP_WritePhyUshort(sc, 0x06, 0x00c7);
16878 MP_WritePhyUshort(sc, 0x06, 0xaebb);
16879 MP_WritePhyUshort(sc, 0x06, 0xd484);
16880 MP_WritePhyUshort(sc, 0x06, 0x3ce4);
16881 MP_WritePhyUshort(sc, 0x06, 0x8b92);
16882 MP_WritePhyUshort(sc, 0x06, 0xe58b);
16883 MP_WritePhyUshort(sc, 0x06, 0x93ee);
16884 MP_WritePhyUshort(sc, 0x06, 0x8ac8);
16885 MP_WritePhyUshort(sc, 0x06, 0x03ee);
16886 MP_WritePhyUshort(sc, 0x06, 0x8aca);
16887 MP_WritePhyUshort(sc, 0x06, 0x60ee);
16888 MP_WritePhyUshort(sc, 0x06, 0x8ac0);
16889 MP_WritePhyUshort(sc, 0x06, 0x00ee);
16890 MP_WritePhyUshort(sc, 0x06, 0x8ac1);
16891 MP_WritePhyUshort(sc, 0x06, 0x00ee);
16892 MP_WritePhyUshort(sc, 0x06, 0x8abe);
16893 MP_WritePhyUshort(sc, 0x06, 0x07ee);
16894 MP_WritePhyUshort(sc, 0x06, 0x8abf);
16895 MP_WritePhyUshort(sc, 0x06, 0x73ee);
16896 MP_WritePhyUshort(sc, 0x06, 0x8a95);
16897 MP_WritePhyUshort(sc, 0x06, 0x02bf);
16898 MP_WritePhyUshort(sc, 0x06, 0x8b88);
16899 MP_WritePhyUshort(sc, 0x06, 0xec00);
16900 MP_WritePhyUshort(sc, 0x06, 0x19a9);
16901 MP_WritePhyUshort(sc, 0x06, 0x8b90);
16902 MP_WritePhyUshort(sc, 0x06, 0xf9ee);
16903 MP_WritePhyUshort(sc, 0x06, 0xfff6);
16904 MP_WritePhyUshort(sc, 0x06, 0x00ee);
16905 MP_WritePhyUshort(sc, 0x06, 0xfff7);
16906 MP_WritePhyUshort(sc, 0x06, 0xfed1);
16907 MP_WritePhyUshort(sc, 0x06, 0x00bf);
16908 MP_WritePhyUshort(sc, 0x06, 0x85a4);
16909 MP_WritePhyUshort(sc, 0x06, 0x0238);
16910 MP_WritePhyUshort(sc, 0x06, 0x7dd1);
16911 MP_WritePhyUshort(sc, 0x06, 0x01bf);
16912 MP_WritePhyUshort(sc, 0x06, 0x85a7);
16913 MP_WritePhyUshort(sc, 0x06, 0x0238);
16914 MP_WritePhyUshort(sc, 0x06, 0x7d04);
16915 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
16916 MP_WritePhyUshort(sc, 0x06, 0x8b8a);
16917 MP_WritePhyUshort(sc, 0x06, 0xad20);
16918 MP_WritePhyUshort(sc, 0x06, 0x14ee);
16919 MP_WritePhyUshort(sc, 0x06, 0x8b8a);
16920 MP_WritePhyUshort(sc, 0x06, 0x0002);
16921 MP_WritePhyUshort(sc, 0x06, 0x204b);
16922 MP_WritePhyUshort(sc, 0x06, 0xe0e4);
16923 MP_WritePhyUshort(sc, 0x06, 0x26e1);
16924 MP_WritePhyUshort(sc, 0x06, 0xe427);
16925 MP_WritePhyUshort(sc, 0x06, 0xeee4);
16926 MP_WritePhyUshort(sc, 0x06, 0x2623);
16927 MP_WritePhyUshort(sc, 0x06, 0xe5e4);
16928 MP_WritePhyUshort(sc, 0x06, 0x27fc);
16929 MP_WritePhyUshort(sc, 0x06, 0x04f8);
16930 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16931 MP_WritePhyUshort(sc, 0x06, 0x8dad);
16932 MP_WritePhyUshort(sc, 0x06, 0x2014);
16933 MP_WritePhyUshort(sc, 0x06, 0xee8b);
16934 MP_WritePhyUshort(sc, 0x06, 0x8d00);
16935 MP_WritePhyUshort(sc, 0x06, 0xe08a);
16936 MP_WritePhyUshort(sc, 0x06, 0x5a78);
16937 MP_WritePhyUshort(sc, 0x06, 0x039e);
16938 MP_WritePhyUshort(sc, 0x06, 0x0902);
16939 MP_WritePhyUshort(sc, 0x06, 0x05e8);
16940 MP_WritePhyUshort(sc, 0x06, 0x0281);
16941 MP_WritePhyUshort(sc, 0x06, 0x4f02);
16942 MP_WritePhyUshort(sc, 0x06, 0x326c);
16943 MP_WritePhyUshort(sc, 0x06, 0xfc04);
16944 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
16945 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
16946 MP_WritePhyUshort(sc, 0x06, 0xad20);
16947 MP_WritePhyUshort(sc, 0x06, 0x1df6);
16948 MP_WritePhyUshort(sc, 0x06, 0x20e4);
16949 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
16950 MP_WritePhyUshort(sc, 0x06, 0x022f);
16951 MP_WritePhyUshort(sc, 0x06, 0x0902);
16952 MP_WritePhyUshort(sc, 0x06, 0x2ab0);
16953 MP_WritePhyUshort(sc, 0x06, 0x0285);
16954 MP_WritePhyUshort(sc, 0x06, 0x1602);
16955 MP_WritePhyUshort(sc, 0x06, 0x03ba);
16956 MP_WritePhyUshort(sc, 0x06, 0x0284);
16957 MP_WritePhyUshort(sc, 0x06, 0xe502);
16958 MP_WritePhyUshort(sc, 0x06, 0x2df1);
16959 MP_WritePhyUshort(sc, 0x06, 0x0283);
16960 MP_WritePhyUshort(sc, 0x06, 0x8302);
16961 MP_WritePhyUshort(sc, 0x06, 0x0475);
16962 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16963 MP_WritePhyUshort(sc, 0x06, 0x8ead);
16964 MP_WritePhyUshort(sc, 0x06, 0x210b);
16965 MP_WritePhyUshort(sc, 0x06, 0xf621);
16966 MP_WritePhyUshort(sc, 0x06, 0xe48b);
16967 MP_WritePhyUshort(sc, 0x06, 0x8e02);
16968 MP_WritePhyUshort(sc, 0x06, 0x83f8);
16969 MP_WritePhyUshort(sc, 0x06, 0x021c);
16970 MP_WritePhyUshort(sc, 0x06, 0x99e0);
16971 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
16972 MP_WritePhyUshort(sc, 0x06, 0xad22);
16973 MP_WritePhyUshort(sc, 0x06, 0x08f6);
16974 MP_WritePhyUshort(sc, 0x06, 0x22e4);
16975 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
16976 MP_WritePhyUshort(sc, 0x06, 0x0235);
16977 MP_WritePhyUshort(sc, 0x06, 0x63e0);
16978 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
16979 MP_WritePhyUshort(sc, 0x06, 0xad23);
16980 MP_WritePhyUshort(sc, 0x06, 0x08f6);
16981 MP_WritePhyUshort(sc, 0x06, 0x23e4);
16982 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
16983 MP_WritePhyUshort(sc, 0x06, 0x0231);
16984 MP_WritePhyUshort(sc, 0x06, 0x57e0);
16985 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
16986 MP_WritePhyUshort(sc, 0x06, 0xad24);
16987 MP_WritePhyUshort(sc, 0x06, 0x05f6);
16988 MP_WritePhyUshort(sc, 0x06, 0x24e4);
16989 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
16990 MP_WritePhyUshort(sc, 0x06, 0xe08b);
16991 MP_WritePhyUshort(sc, 0x06, 0x8ead);
16992 MP_WritePhyUshort(sc, 0x06, 0x2505);
16993 MP_WritePhyUshort(sc, 0x06, 0xf625);
16994 MP_WritePhyUshort(sc, 0x06, 0xe48b);
16995 MP_WritePhyUshort(sc, 0x06, 0x8ee0);
16996 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
16997 MP_WritePhyUshort(sc, 0x06, 0xad26);
16998 MP_WritePhyUshort(sc, 0x06, 0x08f6);
16999 MP_WritePhyUshort(sc, 0x06, 0x26e4);
17000 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
17001 MP_WritePhyUshort(sc, 0x06, 0x022d);
17002 MP_WritePhyUshort(sc, 0x06, 0x1ce0);
17003 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
17004 MP_WritePhyUshort(sc, 0x06, 0xad27);
17005 MP_WritePhyUshort(sc, 0x06, 0x05f6);
17006 MP_WritePhyUshort(sc, 0x06, 0x27e4);
17007 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
17008 MP_WritePhyUshort(sc, 0x06, 0x0203);
17009 MP_WritePhyUshort(sc, 0x06, 0x80fc);
17010 MP_WritePhyUshort(sc, 0x06, 0x04f8);
17011 MP_WritePhyUshort(sc, 0x06, 0xf9e0);
17012 MP_WritePhyUshort(sc, 0x06, 0x8b81);
17013 MP_WritePhyUshort(sc, 0x06, 0xac26);
17014 MP_WritePhyUshort(sc, 0x06, 0x1ae0);
17015 MP_WritePhyUshort(sc, 0x06, 0x8b81);
17016 MP_WritePhyUshort(sc, 0x06, 0xac21);
17017 MP_WritePhyUshort(sc, 0x06, 0x14e0);
17018 MP_WritePhyUshort(sc, 0x06, 0x8b85);
17019 MP_WritePhyUshort(sc, 0x06, 0xac20);
17020 MP_WritePhyUshort(sc, 0x06, 0x0ee0);
17021 MP_WritePhyUshort(sc, 0x06, 0x8b85);
17022 MP_WritePhyUshort(sc, 0x06, 0xac23);
17023 MP_WritePhyUshort(sc, 0x06, 0x08e0);
17024 MP_WritePhyUshort(sc, 0x06, 0x8b87);
17025 MP_WritePhyUshort(sc, 0x06, 0xac24);
17026 MP_WritePhyUshort(sc, 0x06, 0x02ae);
17027 MP_WritePhyUshort(sc, 0x06, 0x3802);
17028 MP_WritePhyUshort(sc, 0x06, 0x1ac2);
17029 MP_WritePhyUshort(sc, 0x06, 0xeee4);
17030 MP_WritePhyUshort(sc, 0x06, 0x1c04);
17031 MP_WritePhyUshort(sc, 0x06, 0xeee4);
17032 MP_WritePhyUshort(sc, 0x06, 0x1d04);
17033 MP_WritePhyUshort(sc, 0x06, 0xe2e0);
17034 MP_WritePhyUshort(sc, 0x06, 0x7ce3);
17035 MP_WritePhyUshort(sc, 0x06, 0xe07d);
17036 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
17037 MP_WritePhyUshort(sc, 0x06, 0x38e1);
17038 MP_WritePhyUshort(sc, 0x06, 0xe039);
17039 MP_WritePhyUshort(sc, 0x06, 0xad2e);
17040 MP_WritePhyUshort(sc, 0x06, 0x1bad);
17041 MP_WritePhyUshort(sc, 0x06, 0x390d);
17042 MP_WritePhyUshort(sc, 0x06, 0xd101);
17043 MP_WritePhyUshort(sc, 0x06, 0xbf22);
17044 MP_WritePhyUshort(sc, 0x06, 0x7a02);
17045 MP_WritePhyUshort(sc, 0x06, 0x387d);
17046 MP_WritePhyUshort(sc, 0x06, 0x0281);
17047 MP_WritePhyUshort(sc, 0x06, 0xacae);
17048 MP_WritePhyUshort(sc, 0x06, 0x0bac);
17049 MP_WritePhyUshort(sc, 0x06, 0x3802);
17050 MP_WritePhyUshort(sc, 0x06, 0xae06);
17051 MP_WritePhyUshort(sc, 0x06, 0x0281);
17052 MP_WritePhyUshort(sc, 0x06, 0xe902);
17053 MP_WritePhyUshort(sc, 0x06, 0x822e);
17054 MP_WritePhyUshort(sc, 0x06, 0x021a);
17055 MP_WritePhyUshort(sc, 0x06, 0xd3fd);
17056 MP_WritePhyUshort(sc, 0x06, 0xfc04);
17057 MP_WritePhyUshort(sc, 0x06, 0xf8e1);
17058 MP_WritePhyUshort(sc, 0x06, 0x8af4);
17059 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17060 MP_WritePhyUshort(sc, 0x06, 0x81ad);
17061 MP_WritePhyUshort(sc, 0x06, 0x2602);
17062 MP_WritePhyUshort(sc, 0x06, 0xf728);
17063 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17064 MP_WritePhyUshort(sc, 0x06, 0x81ad);
17065 MP_WritePhyUshort(sc, 0x06, 0x2105);
17066 MP_WritePhyUshort(sc, 0x06, 0x0222);
17067 MP_WritePhyUshort(sc, 0x06, 0x8ef7);
17068 MP_WritePhyUshort(sc, 0x06, 0x29e0);
17069 MP_WritePhyUshort(sc, 0x06, 0x8b85);
17070 MP_WritePhyUshort(sc, 0x06, 0xad20);
17071 MP_WritePhyUshort(sc, 0x06, 0x0502);
17072 MP_WritePhyUshort(sc, 0x06, 0x14b8);
17073 MP_WritePhyUshort(sc, 0x06, 0xf72a);
17074 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17075 MP_WritePhyUshort(sc, 0x06, 0x85ad);
17076 MP_WritePhyUshort(sc, 0x06, 0x2305);
17077 MP_WritePhyUshort(sc, 0x06, 0x0212);
17078 MP_WritePhyUshort(sc, 0x06, 0xf4f7);
17079 MP_WritePhyUshort(sc, 0x06, 0x2be0);
17080 MP_WritePhyUshort(sc, 0x06, 0x8b87);
17081 MP_WritePhyUshort(sc, 0x06, 0xad24);
17082 MP_WritePhyUshort(sc, 0x06, 0x0502);
17083 MP_WritePhyUshort(sc, 0x06, 0x8284);
17084 MP_WritePhyUshort(sc, 0x06, 0xf72c);
17085 MP_WritePhyUshort(sc, 0x06, 0xe58a);
17086 MP_WritePhyUshort(sc, 0x06, 0xf4fc);
17087 MP_WritePhyUshort(sc, 0x06, 0x04f8);
17088 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17089 MP_WritePhyUshort(sc, 0x06, 0x81ad);
17090 MP_WritePhyUshort(sc, 0x06, 0x2600);
17091 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17092 MP_WritePhyUshort(sc, 0x06, 0x81ad);
17093 MP_WritePhyUshort(sc, 0x06, 0x2109);
17094 MP_WritePhyUshort(sc, 0x06, 0xe08a);
17095 MP_WritePhyUshort(sc, 0x06, 0xf4ac);
17096 MP_WritePhyUshort(sc, 0x06, 0x2003);
17097 MP_WritePhyUshort(sc, 0x06, 0x0222);
17098 MP_WritePhyUshort(sc, 0x06, 0x7de0);
17099 MP_WritePhyUshort(sc, 0x06, 0x8b85);
17100 MP_WritePhyUshort(sc, 0x06, 0xad20);
17101 MP_WritePhyUshort(sc, 0x06, 0x09e0);
17102 MP_WritePhyUshort(sc, 0x06, 0x8af4);
17103 MP_WritePhyUshort(sc, 0x06, 0xac21);
17104 MP_WritePhyUshort(sc, 0x06, 0x0302);
17105 MP_WritePhyUshort(sc, 0x06, 0x1408);
17106 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17107 MP_WritePhyUshort(sc, 0x06, 0x85ad);
17108 MP_WritePhyUshort(sc, 0x06, 0x2309);
17109 MP_WritePhyUshort(sc, 0x06, 0xe08a);
17110 MP_WritePhyUshort(sc, 0x06, 0xf4ac);
17111 MP_WritePhyUshort(sc, 0x06, 0x2203);
17112 MP_WritePhyUshort(sc, 0x06, 0x0213);
17113 MP_WritePhyUshort(sc, 0x06, 0x07e0);
17114 MP_WritePhyUshort(sc, 0x06, 0x8b87);
17115 MP_WritePhyUshort(sc, 0x06, 0xad24);
17116 MP_WritePhyUshort(sc, 0x06, 0x09e0);
17117 MP_WritePhyUshort(sc, 0x06, 0x8af4);
17118 MP_WritePhyUshort(sc, 0x06, 0xac23);
17119 MP_WritePhyUshort(sc, 0x06, 0x0302);
17120 MP_WritePhyUshort(sc, 0x06, 0x8289);
17121 MP_WritePhyUshort(sc, 0x06, 0xfc04);
17122 MP_WritePhyUshort(sc, 0x06, 0xf8e1);
17123 MP_WritePhyUshort(sc, 0x06, 0x8af4);
17124 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17125 MP_WritePhyUshort(sc, 0x06, 0x81ad);
17126 MP_WritePhyUshort(sc, 0x06, 0x2602);
17127 MP_WritePhyUshort(sc, 0x06, 0xf628);
17128 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17129 MP_WritePhyUshort(sc, 0x06, 0x81ad);
17130 MP_WritePhyUshort(sc, 0x06, 0x210a);
17131 MP_WritePhyUshort(sc, 0x06, 0xe083);
17132 MP_WritePhyUshort(sc, 0x06, 0xecf6);
17133 MP_WritePhyUshort(sc, 0x06, 0x27a0);
17134 MP_WritePhyUshort(sc, 0x06, 0x0502);
17135 MP_WritePhyUshort(sc, 0x06, 0xf629);
17136 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17137 MP_WritePhyUshort(sc, 0x06, 0x85ad);
17138 MP_WritePhyUshort(sc, 0x06, 0x2008);
17139 MP_WritePhyUshort(sc, 0x06, 0xe08a);
17140 MP_WritePhyUshort(sc, 0x06, 0xe8ad);
17141 MP_WritePhyUshort(sc, 0x06, 0x2102);
17142 MP_WritePhyUshort(sc, 0x06, 0xf62a);
17143 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17144 MP_WritePhyUshort(sc, 0x06, 0x85ad);
17145 MP_WritePhyUshort(sc, 0x06, 0x2308);
17146 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17147 MP_WritePhyUshort(sc, 0x06, 0x20a0);
17148 MP_WritePhyUshort(sc, 0x06, 0x0302);
17149 MP_WritePhyUshort(sc, 0x06, 0xf62b);
17150 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17151 MP_WritePhyUshort(sc, 0x06, 0x87ad);
17152 MP_WritePhyUshort(sc, 0x06, 0x2408);
17153 MP_WritePhyUshort(sc, 0x06, 0xe08a);
17154 MP_WritePhyUshort(sc, 0x06, 0xc2a0);
17155 MP_WritePhyUshort(sc, 0x06, 0x0302);
17156 MP_WritePhyUshort(sc, 0x06, 0xf62c);
17157 MP_WritePhyUshort(sc, 0x06, 0xe58a);
17158 MP_WritePhyUshort(sc, 0x06, 0xf4a1);
17159 MP_WritePhyUshort(sc, 0x06, 0x0008);
17160 MP_WritePhyUshort(sc, 0x06, 0xd100);
17161 MP_WritePhyUshort(sc, 0x06, 0xbf22);
17162 MP_WritePhyUshort(sc, 0x06, 0x7a02);
17163 MP_WritePhyUshort(sc, 0x06, 0x387d);
17164 MP_WritePhyUshort(sc, 0x06, 0xfc04);
17165 MP_WritePhyUshort(sc, 0x06, 0xee8a);
17166 MP_WritePhyUshort(sc, 0x06, 0xc200);
17167 MP_WritePhyUshort(sc, 0x06, 0x04f8);
17168 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17169 MP_WritePhyUshort(sc, 0x06, 0x87ad);
17170 MP_WritePhyUshort(sc, 0x06, 0x241e);
17171 MP_WritePhyUshort(sc, 0x06, 0xe08a);
17172 MP_WritePhyUshort(sc, 0x06, 0xc2a0);
17173 MP_WritePhyUshort(sc, 0x06, 0x0005);
17174 MP_WritePhyUshort(sc, 0x06, 0x0282);
17175 MP_WritePhyUshort(sc, 0x06, 0xb0ae);
17176 MP_WritePhyUshort(sc, 0x06, 0xf5a0);
17177 MP_WritePhyUshort(sc, 0x06, 0x0105);
17178 MP_WritePhyUshort(sc, 0x06, 0x0282);
17179 MP_WritePhyUshort(sc, 0x06, 0xc0ae);
17180 MP_WritePhyUshort(sc, 0x06, 0x0ba0);
17181 MP_WritePhyUshort(sc, 0x06, 0x0205);
17182 MP_WritePhyUshort(sc, 0x06, 0x0282);
17183 MP_WritePhyUshort(sc, 0x06, 0xcaae);
17184 MP_WritePhyUshort(sc, 0x06, 0x03a0);
17185 MP_WritePhyUshort(sc, 0x06, 0x0300);
17186 MP_WritePhyUshort(sc, 0x06, 0xfc04);
17187 MP_WritePhyUshort(sc, 0x06, 0xf8fa);
17188 MP_WritePhyUshort(sc, 0x06, 0xef69);
17189 MP_WritePhyUshort(sc, 0x06, 0x0282);
17190 MP_WritePhyUshort(sc, 0x06, 0xe1ee);
17191 MP_WritePhyUshort(sc, 0x06, 0x8ac2);
17192 MP_WritePhyUshort(sc, 0x06, 0x01ef);
17193 MP_WritePhyUshort(sc, 0x06, 0x96fe);
17194 MP_WritePhyUshort(sc, 0x06, 0xfc04);
17195 MP_WritePhyUshort(sc, 0x06, 0xf8ee);
17196 MP_WritePhyUshort(sc, 0x06, 0x8ac9);
17197 MP_WritePhyUshort(sc, 0x06, 0x0002);
17198 MP_WritePhyUshort(sc, 0x06, 0x8317);
17199 MP_WritePhyUshort(sc, 0x06, 0xfc04);
17200 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
17201 MP_WritePhyUshort(sc, 0x06, 0x8ac8);
17202 MP_WritePhyUshort(sc, 0x06, 0xe18a);
17203 MP_WritePhyUshort(sc, 0x06, 0xc91f);
17204 MP_WritePhyUshort(sc, 0x06, 0x019e);
17205 MP_WritePhyUshort(sc, 0x06, 0x0611);
17206 MP_WritePhyUshort(sc, 0x06, 0xe58a);
17207 MP_WritePhyUshort(sc, 0x06, 0xc9ae);
17208 MP_WritePhyUshort(sc, 0x06, 0x04ee);
17209 MP_WritePhyUshort(sc, 0x06, 0x8ac2);
17210 MP_WritePhyUshort(sc, 0x06, 0x01fc);
17211 MP_WritePhyUshort(sc, 0x06, 0x04f8);
17212 MP_WritePhyUshort(sc, 0x06, 0xf9fa);
17213 MP_WritePhyUshort(sc, 0x06, 0xef69);
17214 MP_WritePhyUshort(sc, 0x06, 0xfbbf);
17215 MP_WritePhyUshort(sc, 0x06, 0x8ac4);
17216 MP_WritePhyUshort(sc, 0x06, 0xef79);
17217 MP_WritePhyUshort(sc, 0x06, 0xd200);
17218 MP_WritePhyUshort(sc, 0x06, 0xd400);
17219 MP_WritePhyUshort(sc, 0x06, 0x221e);
17220 MP_WritePhyUshort(sc, 0x06, 0x02bf);
17221 MP_WritePhyUshort(sc, 0x06, 0x3024);
17222 MP_WritePhyUshort(sc, 0x06, 0x0238);
17223 MP_WritePhyUshort(sc, 0x06, 0x7dbf);
17224 MP_WritePhyUshort(sc, 0x06, 0x13ff);
17225 MP_WritePhyUshort(sc, 0x06, 0x0238);
17226 MP_WritePhyUshort(sc, 0x06, 0x500d);
17227 MP_WritePhyUshort(sc, 0x06, 0x4559);
17228 MP_WritePhyUshort(sc, 0x06, 0x1fef);
17229 MP_WritePhyUshort(sc, 0x06, 0x97dd);
17230 MP_WritePhyUshort(sc, 0x06, 0xd308);
17231 MP_WritePhyUshort(sc, 0x06, 0x1a93);
17232 MP_WritePhyUshort(sc, 0x06, 0xdd12);
17233 MP_WritePhyUshort(sc, 0x06, 0x17a2);
17234 MP_WritePhyUshort(sc, 0x06, 0x04de);
17235 MP_WritePhyUshort(sc, 0x06, 0xffef);
17236 MP_WritePhyUshort(sc, 0x06, 0x96fe);
17237 MP_WritePhyUshort(sc, 0x06, 0xfdfc);
17238 MP_WritePhyUshort(sc, 0x06, 0x04f8);
17239 MP_WritePhyUshort(sc, 0x06, 0xf9fa);
17240 MP_WritePhyUshort(sc, 0x06, 0xef69);
17241 MP_WritePhyUshort(sc, 0x06, 0xfbee);
17242 MP_WritePhyUshort(sc, 0x06, 0x8ac2);
17243 MP_WritePhyUshort(sc, 0x06, 0x03d5);
17244 MP_WritePhyUshort(sc, 0x06, 0x0080);
17245 MP_WritePhyUshort(sc, 0x06, 0xbf8a);
17246 MP_WritePhyUshort(sc, 0x06, 0xc4ef);
17247 MP_WritePhyUshort(sc, 0x06, 0x79ef);
17248 MP_WritePhyUshort(sc, 0x06, 0x45bf);
17249 MP_WritePhyUshort(sc, 0x06, 0x3024);
17250 MP_WritePhyUshort(sc, 0x06, 0x0238);
17251 MP_WritePhyUshort(sc, 0x06, 0x7dbf);
17252 MP_WritePhyUshort(sc, 0x06, 0x13ff);
17253 MP_WritePhyUshort(sc, 0x06, 0x0238);
17254 MP_WritePhyUshort(sc, 0x06, 0x50ad);
17255 MP_WritePhyUshort(sc, 0x06, 0x2702);
17256 MP_WritePhyUshort(sc, 0x06, 0x78ff);
17257 MP_WritePhyUshort(sc, 0x06, 0xe18a);
17258 MP_WritePhyUshort(sc, 0x06, 0xca1b);
17259 MP_WritePhyUshort(sc, 0x06, 0x01aa);
17260 MP_WritePhyUshort(sc, 0x06, 0x2eef);
17261 MP_WritePhyUshort(sc, 0x06, 0x97d9);
17262 MP_WritePhyUshort(sc, 0x06, 0x7900);
17263 MP_WritePhyUshort(sc, 0x06, 0x9e2b);
17264 MP_WritePhyUshort(sc, 0x06, 0x81dd);
17265 MP_WritePhyUshort(sc, 0x06, 0xbf85);
17266 MP_WritePhyUshort(sc, 0x06, 0xad02);
17267 MP_WritePhyUshort(sc, 0x06, 0x387d);
17268 MP_WritePhyUshort(sc, 0x06, 0xd101);
17269 MP_WritePhyUshort(sc, 0x06, 0xef02);
17270 MP_WritePhyUshort(sc, 0x06, 0x100c);
17271 MP_WritePhyUshort(sc, 0x06, 0x11b0);
17272 MP_WritePhyUshort(sc, 0x06, 0xfc0d);
17273 MP_WritePhyUshort(sc, 0x06, 0x11bf);
17274 MP_WritePhyUshort(sc, 0x06, 0x85aa);
17275 MP_WritePhyUshort(sc, 0x06, 0x0238);
17276 MP_WritePhyUshort(sc, 0x06, 0x7dd1);
17277 MP_WritePhyUshort(sc, 0x06, 0x00bf);
17278 MP_WritePhyUshort(sc, 0x06, 0x85aa);
17279 MP_WritePhyUshort(sc, 0x06, 0x0238);
17280 MP_WritePhyUshort(sc, 0x06, 0x7dee);
17281 MP_WritePhyUshort(sc, 0x06, 0x8ac2);
17282 MP_WritePhyUshort(sc, 0x06, 0x02ae);
17283 MP_WritePhyUshort(sc, 0x06, 0x0413);
17284 MP_WritePhyUshort(sc, 0x06, 0xa38b);
17285 MP_WritePhyUshort(sc, 0x06, 0xb4d3);
17286 MP_WritePhyUshort(sc, 0x06, 0x8012);
17287 MP_WritePhyUshort(sc, 0x06, 0x17a2);
17288 MP_WritePhyUshort(sc, 0x06, 0x04ad);
17289 MP_WritePhyUshort(sc, 0x06, 0xffef);
17290 MP_WritePhyUshort(sc, 0x06, 0x96fe);
17291 MP_WritePhyUshort(sc, 0x06, 0xfdfc);
17292 MP_WritePhyUshort(sc, 0x06, 0x04f8);
17293 MP_WritePhyUshort(sc, 0x06, 0xf9e0);
17294 MP_WritePhyUshort(sc, 0x06, 0x8b85);
17295 MP_WritePhyUshort(sc, 0x06, 0xad25);
17296 MP_WritePhyUshort(sc, 0x06, 0x48e0);
17297 MP_WritePhyUshort(sc, 0x06, 0x8a96);
17298 MP_WritePhyUshort(sc, 0x06, 0xe18a);
17299 MP_WritePhyUshort(sc, 0x06, 0x977c);
17300 MP_WritePhyUshort(sc, 0x06, 0x0000);
17301 MP_WritePhyUshort(sc, 0x06, 0x9e35);
17302 MP_WritePhyUshort(sc, 0x06, 0xee8a);
17303 MP_WritePhyUshort(sc, 0x06, 0x9600);
17304 MP_WritePhyUshort(sc, 0x06, 0xee8a);
17305 MP_WritePhyUshort(sc, 0x06, 0x9700);
17306 MP_WritePhyUshort(sc, 0x06, 0xe08a);
17307 MP_WritePhyUshort(sc, 0x06, 0xbee1);
17308 MP_WritePhyUshort(sc, 0x06, 0x8abf);
17309 MP_WritePhyUshort(sc, 0x06, 0xe28a);
17310 MP_WritePhyUshort(sc, 0x06, 0xc0e3);
17311 MP_WritePhyUshort(sc, 0x06, 0x8ac1);
17312 MP_WritePhyUshort(sc, 0x06, 0x0237);
17313 MP_WritePhyUshort(sc, 0x06, 0x74ad);
17314 MP_WritePhyUshort(sc, 0x06, 0x2012);
17315 MP_WritePhyUshort(sc, 0x06, 0xee8a);
17316 MP_WritePhyUshort(sc, 0x06, 0x9603);
17317 MP_WritePhyUshort(sc, 0x06, 0xee8a);
17318 MP_WritePhyUshort(sc, 0x06, 0x97b7);
17319 MP_WritePhyUshort(sc, 0x06, 0xee8a);
17320 MP_WritePhyUshort(sc, 0x06, 0xc000);
17321 MP_WritePhyUshort(sc, 0x06, 0xee8a);
17322 MP_WritePhyUshort(sc, 0x06, 0xc100);
17323 MP_WritePhyUshort(sc, 0x06, 0xae11);
17324 MP_WritePhyUshort(sc, 0x06, 0x15e6);
17325 MP_WritePhyUshort(sc, 0x06, 0x8ac0);
17326 MP_WritePhyUshort(sc, 0x06, 0xe78a);
17327 MP_WritePhyUshort(sc, 0x06, 0xc1ae);
17328 MP_WritePhyUshort(sc, 0x06, 0x08ee);
17329 MP_WritePhyUshort(sc, 0x06, 0x8ac0);
17330 MP_WritePhyUshort(sc, 0x06, 0x00ee);
17331 MP_WritePhyUshort(sc, 0x06, 0x8ac1);
17332 MP_WritePhyUshort(sc, 0x06, 0x00fd);
17333 MP_WritePhyUshort(sc, 0x06, 0xfc04);
17334 MP_WritePhyUshort(sc, 0x06, 0xae20);
17335 MP_WritePhyUshort(sc, 0x06, 0x0000);
17336 MP_WritePhyUshort(sc, 0x06, 0x0000);
17337 MP_WritePhyUshort(sc, 0x06, 0x0000);
17338 MP_WritePhyUshort(sc, 0x06, 0x0000);
17339 MP_WritePhyUshort(sc, 0x06, 0x0000);
17340 MP_WritePhyUshort(sc, 0x06, 0x0000);
17341 MP_WritePhyUshort(sc, 0x06, 0x0000);
17342 MP_WritePhyUshort(sc, 0x06, 0x0000);
17343 MP_WritePhyUshort(sc, 0x06, 0x0000);
17344 MP_WritePhyUshort(sc, 0x06, 0x0000);
17345 MP_WritePhyUshort(sc, 0x06, 0x0000);
17346 MP_WritePhyUshort(sc, 0x06, 0x0000);
17347 MP_WritePhyUshort(sc, 0x06, 0x0000);
17348 MP_WritePhyUshort(sc, 0x06, 0x0000);
17349 MP_WritePhyUshort(sc, 0x06, 0x0000);
17350 MP_WritePhyUshort(sc, 0x06, 0x0000);
17351 MP_WritePhyUshort(sc, 0x06, 0xf8fa);
17352 MP_WritePhyUshort(sc, 0x06, 0xef69);
17353 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
17354 MP_WritePhyUshort(sc, 0x06, 0x00e1);
17355 MP_WritePhyUshort(sc, 0x06, 0xe001);
17356 MP_WritePhyUshort(sc, 0x06, 0xad27);
17357 MP_WritePhyUshort(sc, 0x06, 0x32e0);
17358 MP_WritePhyUshort(sc, 0x06, 0x8b40);
17359 MP_WritePhyUshort(sc, 0x06, 0xf720);
17360 MP_WritePhyUshort(sc, 0x06, 0xe48b);
17361 MP_WritePhyUshort(sc, 0x06, 0x40bf);
17362 MP_WritePhyUshort(sc, 0x06, 0x3230);
17363 MP_WritePhyUshort(sc, 0x06, 0x0238);
17364 MP_WritePhyUshort(sc, 0x06, 0x50ad);
17365 MP_WritePhyUshort(sc, 0x06, 0x2821);
17366 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
17367 MP_WritePhyUshort(sc, 0x06, 0x20e1);
17368 MP_WritePhyUshort(sc, 0x06, 0xe021);
17369 MP_WritePhyUshort(sc, 0x06, 0xad20);
17370 MP_WritePhyUshort(sc, 0x06, 0x18e0);
17371 MP_WritePhyUshort(sc, 0x06, 0x8b40);
17372 MP_WritePhyUshort(sc, 0x06, 0xf620);
17373 MP_WritePhyUshort(sc, 0x06, 0xe48b);
17374 MP_WritePhyUshort(sc, 0x06, 0x40ee);
17375 MP_WritePhyUshort(sc, 0x06, 0x8b3b);
17376 MP_WritePhyUshort(sc, 0x06, 0xffe0);
17377 MP_WritePhyUshort(sc, 0x06, 0x8a8a);
17378 MP_WritePhyUshort(sc, 0x06, 0xe18a);
17379 MP_WritePhyUshort(sc, 0x06, 0x8be4);
17380 MP_WritePhyUshort(sc, 0x06, 0xe000);
17381 MP_WritePhyUshort(sc, 0x06, 0xe5e0);
17382 MP_WritePhyUshort(sc, 0x06, 0x01ef);
17383 MP_WritePhyUshort(sc, 0x06, 0x96fe);
17384 MP_WritePhyUshort(sc, 0x06, 0xfc04);
17385 MP_WritePhyUshort(sc, 0x06, 0xf8f9);
17386 MP_WritePhyUshort(sc, 0x06, 0xface);
17387 MP_WritePhyUshort(sc, 0x06, 0xfaef);
17388 MP_WritePhyUshort(sc, 0x06, 0x69fa);
17389 MP_WritePhyUshort(sc, 0x06, 0xd401);
17390 MP_WritePhyUshort(sc, 0x06, 0x55b4);
17391 MP_WritePhyUshort(sc, 0x06, 0xfebf);
17392 MP_WritePhyUshort(sc, 0x06, 0x1c1e);
17393 MP_WritePhyUshort(sc, 0x06, 0x0238);
17394 MP_WritePhyUshort(sc, 0x06, 0x50ac);
17395 MP_WritePhyUshort(sc, 0x06, 0x280b);
17396 MP_WritePhyUshort(sc, 0x06, 0xbf1c);
17397 MP_WritePhyUshort(sc, 0x06, 0x1b02);
17398 MP_WritePhyUshort(sc, 0x06, 0x3850);
17399 MP_WritePhyUshort(sc, 0x06, 0xac28);
17400 MP_WritePhyUshort(sc, 0x06, 0x49ae);
17401 MP_WritePhyUshort(sc, 0x06, 0x64bf);
17402 MP_WritePhyUshort(sc, 0x06, 0x1c1b);
17403 MP_WritePhyUshort(sc, 0x06, 0x0238);
17404 MP_WritePhyUshort(sc, 0x06, 0x50ac);
17405 MP_WritePhyUshort(sc, 0x06, 0x285b);
17406 MP_WritePhyUshort(sc, 0x06, 0xd000);
17407 MP_WritePhyUshort(sc, 0x06, 0x0284);
17408 MP_WritePhyUshort(sc, 0x06, 0xcaac);
17409 MP_WritePhyUshort(sc, 0x06, 0x2105);
17410 MP_WritePhyUshort(sc, 0x06, 0xac22);
17411 MP_WritePhyUshort(sc, 0x06, 0x02ae);
17412 MP_WritePhyUshort(sc, 0x06, 0x4ebf);
17413 MP_WritePhyUshort(sc, 0x06, 0xe0c4);
17414 MP_WritePhyUshort(sc, 0x06, 0xbe85);
17415 MP_WritePhyUshort(sc, 0x06, 0xf6d2);
17416 MP_WritePhyUshort(sc, 0x06, 0x04d8);
17417 MP_WritePhyUshort(sc, 0x06, 0x19d9);
17418 MP_WritePhyUshort(sc, 0x06, 0x1907);
17419 MP_WritePhyUshort(sc, 0x06, 0xdc19);
17420 MP_WritePhyUshort(sc, 0x06, 0xdd19);
17421 MP_WritePhyUshort(sc, 0x06, 0x0789);
17422 MP_WritePhyUshort(sc, 0x06, 0x89ef);
17423 MP_WritePhyUshort(sc, 0x06, 0x645e);
17424 MP_WritePhyUshort(sc, 0x06, 0x07ff);
17425 MP_WritePhyUshort(sc, 0x06, 0x0d65);
17426 MP_WritePhyUshort(sc, 0x06, 0x5cf8);
17427 MP_WritePhyUshort(sc, 0x06, 0x001e);
17428 MP_WritePhyUshort(sc, 0x06, 0x46dc);
17429 MP_WritePhyUshort(sc, 0x06, 0x19dd);
17430 MP_WritePhyUshort(sc, 0x06, 0x19b2);
17431 MP_WritePhyUshort(sc, 0x06, 0xe2d4);
17432 MP_WritePhyUshort(sc, 0x06, 0x0001);
17433 MP_WritePhyUshort(sc, 0x06, 0xbf1c);
17434 MP_WritePhyUshort(sc, 0x06, 0x1b02);
17435 MP_WritePhyUshort(sc, 0x06, 0x387d);
17436 MP_WritePhyUshort(sc, 0x06, 0xae1d);
17437 MP_WritePhyUshort(sc, 0x06, 0xbee0);
17438 MP_WritePhyUshort(sc, 0x06, 0xc4bf);
17439 MP_WritePhyUshort(sc, 0x06, 0x85f6);
17440 MP_WritePhyUshort(sc, 0x06, 0xd204);
17441 MP_WritePhyUshort(sc, 0x06, 0xd819);
17442 MP_WritePhyUshort(sc, 0x06, 0xd919);
17443 MP_WritePhyUshort(sc, 0x06, 0x07dc);
17444 MP_WritePhyUshort(sc, 0x06, 0x19dd);
17445 MP_WritePhyUshort(sc, 0x06, 0x1907);
17446 MP_WritePhyUshort(sc, 0x06, 0xb2f4);
17447 MP_WritePhyUshort(sc, 0x06, 0xd400);
17448 MP_WritePhyUshort(sc, 0x06, 0x00bf);
17449 MP_WritePhyUshort(sc, 0x06, 0x1c1b);
17450 MP_WritePhyUshort(sc, 0x06, 0x0238);
17451 MP_WritePhyUshort(sc, 0x06, 0x7dfe);
17452 MP_WritePhyUshort(sc, 0x06, 0xef96);
17453 MP_WritePhyUshort(sc, 0x06, 0xfec6);
17454 MP_WritePhyUshort(sc, 0x06, 0xfefd);
17455 MP_WritePhyUshort(sc, 0x06, 0xfc05);
17456 MP_WritePhyUshort(sc, 0x06, 0xf9e2);
17457 MP_WritePhyUshort(sc, 0x06, 0xe0ea);
17458 MP_WritePhyUshort(sc, 0x06, 0xe3e0);
17459 MP_WritePhyUshort(sc, 0x06, 0xeb5a);
17460 MP_WritePhyUshort(sc, 0x06, 0x070c);
17461 MP_WritePhyUshort(sc, 0x06, 0x031e);
17462 MP_WritePhyUshort(sc, 0x06, 0x20e6);
17463 MP_WritePhyUshort(sc, 0x06, 0xe0ea);
17464 MP_WritePhyUshort(sc, 0x06, 0xe7e0);
17465 MP_WritePhyUshort(sc, 0x06, 0xebe0);
17466 MP_WritePhyUshort(sc, 0x06, 0xe0fc);
17467 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
17468 MP_WritePhyUshort(sc, 0x06, 0xfdfd);
17469 MP_WritePhyUshort(sc, 0x06, 0x04f8);
17470 MP_WritePhyUshort(sc, 0x06, 0xfaef);
17471 MP_WritePhyUshort(sc, 0x06, 0x69e0);
17472 MP_WritePhyUshort(sc, 0x06, 0x8b80);
17473 MP_WritePhyUshort(sc, 0x06, 0xad27);
17474 MP_WritePhyUshort(sc, 0x06, 0x22bf);
17475 MP_WritePhyUshort(sc, 0x06, 0x4616);
17476 MP_WritePhyUshort(sc, 0x06, 0x0238);
17477 MP_WritePhyUshort(sc, 0x06, 0x50e0);
17478 MP_WritePhyUshort(sc, 0x06, 0x8b44);
17479 MP_WritePhyUshort(sc, 0x06, 0x1f01);
17480 MP_WritePhyUshort(sc, 0x06, 0x9e15);
17481 MP_WritePhyUshort(sc, 0x06, 0xe58b);
17482 MP_WritePhyUshort(sc, 0x06, 0x44ad);
17483 MP_WritePhyUshort(sc, 0x06, 0x2907);
17484 MP_WritePhyUshort(sc, 0x06, 0xac28);
17485 MP_WritePhyUshort(sc, 0x06, 0x04d1);
17486 MP_WritePhyUshort(sc, 0x06, 0x01ae);
17487 MP_WritePhyUshort(sc, 0x06, 0x02d1);
17488 MP_WritePhyUshort(sc, 0x06, 0x00bf);
17489 MP_WritePhyUshort(sc, 0x06, 0x85b0);
17490 MP_WritePhyUshort(sc, 0x06, 0x0238);
17491 MP_WritePhyUshort(sc, 0x06, 0x7def);
17492 MP_WritePhyUshort(sc, 0x06, 0x96fe);
17493 MP_WritePhyUshort(sc, 0x06, 0xfc04);
17494 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
17495 MP_WritePhyUshort(sc, 0x06, 0x8b85);
17496 MP_WritePhyUshort(sc, 0x06, 0xad26);
17497 MP_WritePhyUshort(sc, 0x06, 0x30e0);
17498 MP_WritePhyUshort(sc, 0x06, 0xe036);
17499 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
17500 MP_WritePhyUshort(sc, 0x06, 0x37e1);
17501 MP_WritePhyUshort(sc, 0x06, 0x8b3f);
17502 MP_WritePhyUshort(sc, 0x06, 0x1f10);
17503 MP_WritePhyUshort(sc, 0x06, 0x9e23);
17504 MP_WritePhyUshort(sc, 0x06, 0xe48b);
17505 MP_WritePhyUshort(sc, 0x06, 0x3fac);
17506 MP_WritePhyUshort(sc, 0x06, 0x200b);
17507 MP_WritePhyUshort(sc, 0x06, 0xac21);
17508 MP_WritePhyUshort(sc, 0x06, 0x0dac);
17509 MP_WritePhyUshort(sc, 0x06, 0x250f);
17510 MP_WritePhyUshort(sc, 0x06, 0xac27);
17511 MP_WritePhyUshort(sc, 0x06, 0x11ae);
17512 MP_WritePhyUshort(sc, 0x06, 0x1202);
17513 MP_WritePhyUshort(sc, 0x06, 0x2c47);
17514 MP_WritePhyUshort(sc, 0x06, 0xae0d);
17515 MP_WritePhyUshort(sc, 0x06, 0x0285);
17516 MP_WritePhyUshort(sc, 0x06, 0x4fae);
17517 MP_WritePhyUshort(sc, 0x06, 0x0802);
17518 MP_WritePhyUshort(sc, 0x06, 0x2c69);
17519 MP_WritePhyUshort(sc, 0x06, 0xae03);
17520 MP_WritePhyUshort(sc, 0x06, 0x022c);
17521 MP_WritePhyUshort(sc, 0x06, 0x7cfc);
17522 MP_WritePhyUshort(sc, 0x06, 0x04f8);
17523 MP_WritePhyUshort(sc, 0x06, 0xfaef);
17524 MP_WritePhyUshort(sc, 0x06, 0x6902);
17525 MP_WritePhyUshort(sc, 0x06, 0x856c);
17526 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
17527 MP_WritePhyUshort(sc, 0x06, 0x14e1);
17528 MP_WritePhyUshort(sc, 0x06, 0xe015);
17529 MP_WritePhyUshort(sc, 0x06, 0xad26);
17530 MP_WritePhyUshort(sc, 0x06, 0x08d1);
17531 MP_WritePhyUshort(sc, 0x06, 0x1ebf);
17532 MP_WritePhyUshort(sc, 0x06, 0x2cd9);
17533 MP_WritePhyUshort(sc, 0x06, 0x0238);
17534 MP_WritePhyUshort(sc, 0x06, 0x7def);
17535 MP_WritePhyUshort(sc, 0x06, 0x96fe);
17536 MP_WritePhyUshort(sc, 0x06, 0xfc04);
17537 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
17538 MP_WritePhyUshort(sc, 0x06, 0x8b85);
17539 MP_WritePhyUshort(sc, 0x06, 0xad27);
17540 MP_WritePhyUshort(sc, 0x06, 0x2fd0);
17541 MP_WritePhyUshort(sc, 0x06, 0x0b02);
17542 MP_WritePhyUshort(sc, 0x06, 0x3682);
17543 MP_WritePhyUshort(sc, 0x06, 0x5882);
17544 MP_WritePhyUshort(sc, 0x06, 0x7882);
17545 MP_WritePhyUshort(sc, 0x06, 0x9f24);
17546 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17547 MP_WritePhyUshort(sc, 0x06, 0x32e1);
17548 MP_WritePhyUshort(sc, 0x06, 0x8b33);
17549 MP_WritePhyUshort(sc, 0x06, 0x1f10);
17550 MP_WritePhyUshort(sc, 0x06, 0x9e1a);
17551 MP_WritePhyUshort(sc, 0x06, 0x10e4);
17552 MP_WritePhyUshort(sc, 0x06, 0x8b32);
17553 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
17554 MP_WritePhyUshort(sc, 0x06, 0x28e1);
17555 MP_WritePhyUshort(sc, 0x06, 0xe029);
17556 MP_WritePhyUshort(sc, 0x06, 0xf72c);
17557 MP_WritePhyUshort(sc, 0x06, 0xe4e0);
17558 MP_WritePhyUshort(sc, 0x06, 0x28e5);
17559 MP_WritePhyUshort(sc, 0x06, 0xe029);
17560 MP_WritePhyUshort(sc, 0x06, 0xf62c);
17561 MP_WritePhyUshort(sc, 0x06, 0xe4e0);
17562 MP_WritePhyUshort(sc, 0x06, 0x28e5);
17563 MP_WritePhyUshort(sc, 0x06, 0xe029);
17564 MP_WritePhyUshort(sc, 0x06, 0xfc04);
17565 MP_WritePhyUshort(sc, 0x06, 0x00e1);
17566 MP_WritePhyUshort(sc, 0x06, 0x4077);
17567 MP_WritePhyUshort(sc, 0x06, 0xe140);
17568 MP_WritePhyUshort(sc, 0x06, 0x52e0);
17569 MP_WritePhyUshort(sc, 0x06, 0xeed9);
17570 MP_WritePhyUshort(sc, 0x06, 0xe04c);
17571 MP_WritePhyUshort(sc, 0x06, 0xbbe0);
17572 MP_WritePhyUshort(sc, 0x06, 0x2a00);
17573 MP_WritePhyUshort(sc, 0x05, 0xe142);
17574 PhyRegValue = MP_ReadPhyUshort(sc, 0x06);
17575 PhyRegValue |= BIT_0;
17576 MP_WritePhyUshort(sc, 0x06, PhyRegValue);
17577 MP_WritePhyUshort(sc, 0x05, 0xe140);
17578 PhyRegValue = MP_ReadPhyUshort(sc, 0x06);
17579 PhyRegValue |= BIT_0;
17580 MP_WritePhyUshort(sc, 0x06, PhyRegValue);
17581 MP_WritePhyUshort(sc, 0x1f, 0x0000);
17582 MP_WritePhyUshort(sc, 0x1f, 0x0005);
17583 for (i = 0; i < 200; i++) {
17585 PhyRegValue = MP_ReadPhyUshort(sc, 0x00);
17586 if (PhyRegValue & BIT_7)
17590 MP_WritePhyUshort(sc, 0x1f, 0x0007);
17591 MP_WritePhyUshort(sc, 0x1e, 0x0023);
17592 PhyRegValue = MP_ReadPhyUshort(sc, 0x17);
17593 PhyRegValue |= BIT_1;
17594 if (sc->RequiredSecLanDonglePatch)
17595 PhyRegValue &= ~(BIT_2);
17596 MP_WritePhyUshort(sc, 0x17, PhyRegValue);
17597 MP_WritePhyUshort(sc, 0x1f, 0x0000);
17599 MP_WritePhyUshort(sc, 0x1f, 0x0003);
17600 MP_WritePhyUshort(sc, 0x09, 0xA20F);
17601 MP_WritePhyUshort(sc, 0x1f, 0x0000);
17603 MP_WritePhyUshort(sc, 0x1f, 0x0003);
17604 MP_WritePhyUshort(sc, 0x01, 0x328A);
17605 MP_WritePhyUshort(sc, 0x1f, 0x0000);
17607 MP_WritePhyUshort(sc, 0x1f, 0x0003);
17608 PhyRegValue = MP_ReadPhyUshort(sc, 0x19);
17609 PhyRegValue &= ~BIT_0;
17610 MP_WritePhyUshort(sc, 0x19, PhyRegValue);
17611 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
17612 PhyRegValue &= ~BIT_10;
17613 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
17614 MP_WritePhyUshort(sc, 0x1f, 0x0000);
17617 MP_WritePhyUshort(sc, 0x1f, 0x0000);
17618 MP_WritePhyUshort(sc, 0x00, 0x9200);
17621 static void re_set_phy_mcu_8168f_2(struct re_softc *sc)
17623 u_int16_t PhyRegValue;
17626 MP_WritePhyUshort(sc, 0x1f, 0x0000);
17627 MP_WritePhyUshort(sc, 0x00, 0x1800);
17628 PhyRegValue = MP_ReadPhyUshort(sc, 0x15);
17629 PhyRegValue &= ~(BIT_12);
17630 MP_WritePhyUshort(sc, 0x15, PhyRegValue);
17631 MP_WritePhyUshort(sc, 0x00, 0x4800);
17632 MP_WritePhyUshort(sc, 0x1f, 0x0007);
17633 MP_WritePhyUshort(sc, 0x1e, 0x002f);
17634 for (i = 0; i < 1000; i++) {
17636 PhyRegValue = MP_ReadPhyUshort(sc, 0x1c);
17637 if (PhyRegValue & BIT_7)
17640 MP_WritePhyUshort(sc, 0x1f, 0x0000);
17641 MP_WritePhyUshort(sc, 0x00, 0x1800);
17642 MP_WritePhyUshort(sc, 0x1f, 0x0007);
17643 MP_WritePhyUshort(sc, 0x1e, 0x0023);
17644 for (i = 0; i < 200; i++) {
17646 PhyRegValue = MP_ReadPhyUshort(sc, 0x18);
17647 if (!(PhyRegValue & BIT_0))
17650 MP_WritePhyUshort(sc, 0x1f, 0x0005);
17651 MP_WritePhyUshort(sc, 0x05, 0xfff6);
17652 MP_WritePhyUshort(sc, 0x06, 0x0080);
17653 MP_WritePhyUshort(sc, 0x1f, 0x0007);
17654 MP_WritePhyUshort(sc, 0x1e, 0x0023);
17655 MP_WritePhyUshort(sc, 0x16, 0x0306);
17656 MP_WritePhyUshort(sc, 0x16, 0x0307);
17657 MP_WritePhyUshort(sc, 0x15, 0x0098);
17658 MP_WritePhyUshort(sc, 0x19, 0x7c0b);
17659 MP_WritePhyUshort(sc, 0x15, 0x0099);
17660 MP_WritePhyUshort(sc, 0x19, 0x6c0b);
17661 MP_WritePhyUshort(sc, 0x15, 0x00eb);
17662 MP_WritePhyUshort(sc, 0x19, 0x6c0b);
17663 MP_WritePhyUshort(sc, 0x15, 0x00f8);
17664 MP_WritePhyUshort(sc, 0x19, 0x6f0b);
17665 MP_WritePhyUshort(sc, 0x15, 0x00fe);
17666 MP_WritePhyUshort(sc, 0x19, 0x6f0f);
17667 MP_WritePhyUshort(sc, 0x15, 0x00db);
17668 MP_WritePhyUshort(sc, 0x19, 0x6f09);
17669 MP_WritePhyUshort(sc, 0x15, 0x00dc);
17670 MP_WritePhyUshort(sc, 0x19, 0xaefd);
17671 MP_WritePhyUshort(sc, 0x15, 0x00dd);
17672 MP_WritePhyUshort(sc, 0x19, 0x6f0b);
17673 MP_WritePhyUshort(sc, 0x15, 0x00de);
17674 MP_WritePhyUshort(sc, 0x19, 0xc60b);
17675 MP_WritePhyUshort(sc, 0x15, 0x00df);
17676 MP_WritePhyUshort(sc, 0x19, 0x00fa);
17677 MP_WritePhyUshort(sc, 0x15, 0x00e0);
17678 MP_WritePhyUshort(sc, 0x19, 0x30e1);
17679 MP_WritePhyUshort(sc, 0x15, 0x020c);
17680 MP_WritePhyUshort(sc, 0x19, 0x3224);
17681 MP_WritePhyUshort(sc, 0x15, 0x020e);
17682 MP_WritePhyUshort(sc, 0x19, 0x9813);
17683 MP_WritePhyUshort(sc, 0x15, 0x020f);
17684 MP_WritePhyUshort(sc, 0x19, 0x7801);
17685 MP_WritePhyUshort(sc, 0x15, 0x0210);
17686 MP_WritePhyUshort(sc, 0x19, 0x930f);
17687 MP_WritePhyUshort(sc, 0x15, 0x0211);
17688 MP_WritePhyUshort(sc, 0x19, 0x9206);
17689 MP_WritePhyUshort(sc, 0x15, 0x0212);
17690 MP_WritePhyUshort(sc, 0x19, 0x4002);
17691 MP_WritePhyUshort(sc, 0x15, 0x0213);
17692 MP_WritePhyUshort(sc, 0x19, 0x7800);
17693 MP_WritePhyUshort(sc, 0x15, 0x0214);
17694 MP_WritePhyUshort(sc, 0x19, 0x588f);
17695 MP_WritePhyUshort(sc, 0x15, 0x0215);
17696 MP_WritePhyUshort(sc, 0x19, 0x5520);
17697 MP_WritePhyUshort(sc, 0x15, 0x0216);
17698 MP_WritePhyUshort(sc, 0x19, 0x3224);
17699 MP_WritePhyUshort(sc, 0x15, 0x0217);
17700 MP_WritePhyUshort(sc, 0x19, 0x4002);
17701 MP_WritePhyUshort(sc, 0x15, 0x0218);
17702 MP_WritePhyUshort(sc, 0x19, 0x7800);
17703 MP_WritePhyUshort(sc, 0x15, 0x0219);
17704 MP_WritePhyUshort(sc, 0x19, 0x588d);
17705 MP_WritePhyUshort(sc, 0x15, 0x021a);
17706 MP_WritePhyUshort(sc, 0x19, 0x5540);
17707 MP_WritePhyUshort(sc, 0x15, 0x021b);
17708 MP_WritePhyUshort(sc, 0x19, 0x9e03);
17709 MP_WritePhyUshort(sc, 0x15, 0x021c);
17710 MP_WritePhyUshort(sc, 0x19, 0x7c40);
17711 MP_WritePhyUshort(sc, 0x15, 0x021d);
17712 MP_WritePhyUshort(sc, 0x19, 0x6840);
17713 MP_WritePhyUshort(sc, 0x15, 0x021e);
17714 MP_WritePhyUshort(sc, 0x19, 0x3224);
17715 MP_WritePhyUshort(sc, 0x15, 0x021f);
17716 MP_WritePhyUshort(sc, 0x19, 0x4002);
17717 MP_WritePhyUshort(sc, 0x15, 0x0220);
17718 MP_WritePhyUshort(sc, 0x19, 0x3224);
17719 MP_WritePhyUshort(sc, 0x15, 0x0221);
17720 MP_WritePhyUshort(sc, 0x19, 0x9e03);
17721 MP_WritePhyUshort(sc, 0x15, 0x0222);
17722 MP_WritePhyUshort(sc, 0x19, 0x7c40);
17723 MP_WritePhyUshort(sc, 0x15, 0x0223);
17724 MP_WritePhyUshort(sc, 0x19, 0x6840);
17725 MP_WritePhyUshort(sc, 0x15, 0x0224);
17726 MP_WritePhyUshort(sc, 0x19, 0x7800);
17727 MP_WritePhyUshort(sc, 0x15, 0x0225);
17728 MP_WritePhyUshort(sc, 0x19, 0x3231);
17729 MP_WritePhyUshort(sc, 0x15, 0x0000);
17730 MP_WritePhyUshort(sc, 0x16, 0x0306);
17731 MP_WritePhyUshort(sc, 0x16, 0x0300);
17732 MP_WritePhyUshort(sc, 0x1f, 0x0000);
17733 MP_WritePhyUshort(sc, 0x1f, 0x0005);
17734 MP_WritePhyUshort(sc, 0x05, 0xfff6);
17735 MP_WritePhyUshort(sc, 0x06, 0x0080);
17736 MP_WritePhyUshort(sc, 0x05, 0x8000);
17737 MP_WritePhyUshort(sc, 0x06, 0x0280);
17738 MP_WritePhyUshort(sc, 0x06, 0x48f7);
17739 MP_WritePhyUshort(sc, 0x06, 0x00e0);
17740 MP_WritePhyUshort(sc, 0x06, 0xfff7);
17741 MP_WritePhyUshort(sc, 0x06, 0xa080);
17742 MP_WritePhyUshort(sc, 0x06, 0x02ae);
17743 MP_WritePhyUshort(sc, 0x06, 0xf602);
17744 MP_WritePhyUshort(sc, 0x06, 0x011b);
17745 MP_WritePhyUshort(sc, 0x06, 0x0201);
17746 MP_WritePhyUshort(sc, 0x06, 0x2802);
17747 MP_WritePhyUshort(sc, 0x06, 0x0135);
17748 MP_WritePhyUshort(sc, 0x06, 0x0201);
17749 MP_WritePhyUshort(sc, 0x06, 0x4502);
17750 MP_WritePhyUshort(sc, 0x06, 0x015f);
17751 MP_WritePhyUshort(sc, 0x06, 0x0280);
17752 MP_WritePhyUshort(sc, 0x06, 0x6b02);
17753 MP_WritePhyUshort(sc, 0x06, 0x80e5);
17754 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17755 MP_WritePhyUshort(sc, 0x06, 0x88e1);
17756 MP_WritePhyUshort(sc, 0x06, 0x8b89);
17757 MP_WritePhyUshort(sc, 0x06, 0x1e01);
17758 MP_WritePhyUshort(sc, 0x06, 0xe18b);
17759 MP_WritePhyUshort(sc, 0x06, 0x8a1e);
17760 MP_WritePhyUshort(sc, 0x06, 0x01e1);
17761 MP_WritePhyUshort(sc, 0x06, 0x8b8b);
17762 MP_WritePhyUshort(sc, 0x06, 0x1e01);
17763 MP_WritePhyUshort(sc, 0x06, 0xe18b);
17764 MP_WritePhyUshort(sc, 0x06, 0x8c1e);
17765 MP_WritePhyUshort(sc, 0x06, 0x01e1);
17766 MP_WritePhyUshort(sc, 0x06, 0x8b8d);
17767 MP_WritePhyUshort(sc, 0x06, 0x1e01);
17768 MP_WritePhyUshort(sc, 0x06, 0xe18b);
17769 MP_WritePhyUshort(sc, 0x06, 0x8e1e);
17770 MP_WritePhyUshort(sc, 0x06, 0x01a0);
17771 MP_WritePhyUshort(sc, 0x06, 0x00c7);
17772 MP_WritePhyUshort(sc, 0x06, 0xaebb);
17773 MP_WritePhyUshort(sc, 0x06, 0xbf8b);
17774 MP_WritePhyUshort(sc, 0x06, 0x88ec);
17775 MP_WritePhyUshort(sc, 0x06, 0x0019);
17776 MP_WritePhyUshort(sc, 0x06, 0xa98b);
17777 MP_WritePhyUshort(sc, 0x06, 0x90f9);
17778 MP_WritePhyUshort(sc, 0x06, 0xeeff);
17779 MP_WritePhyUshort(sc, 0x06, 0xf600);
17780 MP_WritePhyUshort(sc, 0x06, 0xeeff);
17781 MP_WritePhyUshort(sc, 0x06, 0xf7fe);
17782 MP_WritePhyUshort(sc, 0x06, 0xd100);
17783 MP_WritePhyUshort(sc, 0x06, 0xbf81);
17784 MP_WritePhyUshort(sc, 0x06, 0x9802);
17785 MP_WritePhyUshort(sc, 0x06, 0x39f3);
17786 MP_WritePhyUshort(sc, 0x06, 0xd101);
17787 MP_WritePhyUshort(sc, 0x06, 0xbf81);
17788 MP_WritePhyUshort(sc, 0x06, 0x9b02);
17789 MP_WritePhyUshort(sc, 0x06, 0x39f3);
17790 MP_WritePhyUshort(sc, 0x06, 0x04f8);
17791 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17792 MP_WritePhyUshort(sc, 0x06, 0x8dad);
17793 MP_WritePhyUshort(sc, 0x06, 0x2014);
17794 MP_WritePhyUshort(sc, 0x06, 0xee8b);
17795 MP_WritePhyUshort(sc, 0x06, 0x8d00);
17796 MP_WritePhyUshort(sc, 0x06, 0xe08a);
17797 MP_WritePhyUshort(sc, 0x06, 0x5a78);
17798 MP_WritePhyUshort(sc, 0x06, 0x039e);
17799 MP_WritePhyUshort(sc, 0x06, 0x0902);
17800 MP_WritePhyUshort(sc, 0x06, 0x05fc);
17801 MP_WritePhyUshort(sc, 0x06, 0x0280);
17802 MP_WritePhyUshort(sc, 0x06, 0x8802);
17803 MP_WritePhyUshort(sc, 0x06, 0x32dd);
17804 MP_WritePhyUshort(sc, 0x06, 0xfc04);
17805 MP_WritePhyUshort(sc, 0x06, 0xf8f9);
17806 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17807 MP_WritePhyUshort(sc, 0x06, 0x81ac);
17808 MP_WritePhyUshort(sc, 0x06, 0x261a);
17809 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17810 MP_WritePhyUshort(sc, 0x06, 0x81ac);
17811 MP_WritePhyUshort(sc, 0x06, 0x2114);
17812 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17813 MP_WritePhyUshort(sc, 0x06, 0x85ac);
17814 MP_WritePhyUshort(sc, 0x06, 0x200e);
17815 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17816 MP_WritePhyUshort(sc, 0x06, 0x85ac);
17817 MP_WritePhyUshort(sc, 0x06, 0x2308);
17818 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17819 MP_WritePhyUshort(sc, 0x06, 0x87ac);
17820 MP_WritePhyUshort(sc, 0x06, 0x2402);
17821 MP_WritePhyUshort(sc, 0x06, 0xae38);
17822 MP_WritePhyUshort(sc, 0x06, 0x021a);
17823 MP_WritePhyUshort(sc, 0x06, 0xd6ee);
17824 MP_WritePhyUshort(sc, 0x06, 0xe41c);
17825 MP_WritePhyUshort(sc, 0x06, 0x04ee);
17826 MP_WritePhyUshort(sc, 0x06, 0xe41d);
17827 MP_WritePhyUshort(sc, 0x06, 0x04e2);
17828 MP_WritePhyUshort(sc, 0x06, 0xe07c);
17829 MP_WritePhyUshort(sc, 0x06, 0xe3e0);
17830 MP_WritePhyUshort(sc, 0x06, 0x7de0);
17831 MP_WritePhyUshort(sc, 0x06, 0xe038);
17832 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
17833 MP_WritePhyUshort(sc, 0x06, 0x39ad);
17834 MP_WritePhyUshort(sc, 0x06, 0x2e1b);
17835 MP_WritePhyUshort(sc, 0x06, 0xad39);
17836 MP_WritePhyUshort(sc, 0x06, 0x0dd1);
17837 MP_WritePhyUshort(sc, 0x06, 0x01bf);
17838 MP_WritePhyUshort(sc, 0x06, 0x22c8);
17839 MP_WritePhyUshort(sc, 0x06, 0x0239);
17840 MP_WritePhyUshort(sc, 0x06, 0xf302);
17841 MP_WritePhyUshort(sc, 0x06, 0x21f0);
17842 MP_WritePhyUshort(sc, 0x06, 0xae0b);
17843 MP_WritePhyUshort(sc, 0x06, 0xac38);
17844 MP_WritePhyUshort(sc, 0x06, 0x02ae);
17845 MP_WritePhyUshort(sc, 0x06, 0x0602);
17846 MP_WritePhyUshort(sc, 0x06, 0x222d);
17847 MP_WritePhyUshort(sc, 0x06, 0x0222);
17848 MP_WritePhyUshort(sc, 0x06, 0x7202);
17849 MP_WritePhyUshort(sc, 0x06, 0x1ae7);
17850 MP_WritePhyUshort(sc, 0x06, 0xfdfc);
17851 MP_WritePhyUshort(sc, 0x06, 0x04f8);
17852 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17853 MP_WritePhyUshort(sc, 0x06, 0x8ead);
17854 MP_WritePhyUshort(sc, 0x06, 0x201a);
17855 MP_WritePhyUshort(sc, 0x06, 0xf620);
17856 MP_WritePhyUshort(sc, 0x06, 0xe48b);
17857 MP_WritePhyUshort(sc, 0x06, 0x8e02);
17858 MP_WritePhyUshort(sc, 0x06, 0x2afe);
17859 MP_WritePhyUshort(sc, 0x06, 0x022c);
17860 MP_WritePhyUshort(sc, 0x06, 0x5c02);
17861 MP_WritePhyUshort(sc, 0x06, 0x03c5);
17862 MP_WritePhyUshort(sc, 0x06, 0x0281);
17863 MP_WritePhyUshort(sc, 0x06, 0x6702);
17864 MP_WritePhyUshort(sc, 0x06, 0x2e4f);
17865 MP_WritePhyUshort(sc, 0x06, 0x0204);
17866 MP_WritePhyUshort(sc, 0x06, 0x8902);
17867 MP_WritePhyUshort(sc, 0x06, 0x2f7a);
17868 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17869 MP_WritePhyUshort(sc, 0x06, 0x8ead);
17870 MP_WritePhyUshort(sc, 0x06, 0x210b);
17871 MP_WritePhyUshort(sc, 0x06, 0xf621);
17872 MP_WritePhyUshort(sc, 0x06, 0xe48b);
17873 MP_WritePhyUshort(sc, 0x06, 0x8e02);
17874 MP_WritePhyUshort(sc, 0x06, 0x0445);
17875 MP_WritePhyUshort(sc, 0x06, 0x021c);
17876 MP_WritePhyUshort(sc, 0x06, 0xb8e0);
17877 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
17878 MP_WritePhyUshort(sc, 0x06, 0xad22);
17879 MP_WritePhyUshort(sc, 0x06, 0x08f6);
17880 MP_WritePhyUshort(sc, 0x06, 0x22e4);
17881 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
17882 MP_WritePhyUshort(sc, 0x06, 0x0235);
17883 MP_WritePhyUshort(sc, 0x06, 0xd4e0);
17884 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
17885 MP_WritePhyUshort(sc, 0x06, 0xad23);
17886 MP_WritePhyUshort(sc, 0x06, 0x08f6);
17887 MP_WritePhyUshort(sc, 0x06, 0x23e4);
17888 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
17889 MP_WritePhyUshort(sc, 0x06, 0x0231);
17890 MP_WritePhyUshort(sc, 0x06, 0xc8e0);
17891 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
17892 MP_WritePhyUshort(sc, 0x06, 0xad24);
17893 MP_WritePhyUshort(sc, 0x06, 0x05f6);
17894 MP_WritePhyUshort(sc, 0x06, 0x24e4);
17895 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
17896 MP_WritePhyUshort(sc, 0x06, 0xe08b);
17897 MP_WritePhyUshort(sc, 0x06, 0x8ead);
17898 MP_WritePhyUshort(sc, 0x06, 0x2505);
17899 MP_WritePhyUshort(sc, 0x06, 0xf625);
17900 MP_WritePhyUshort(sc, 0x06, 0xe48b);
17901 MP_WritePhyUshort(sc, 0x06, 0x8ee0);
17902 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
17903 MP_WritePhyUshort(sc, 0x06, 0xad26);
17904 MP_WritePhyUshort(sc, 0x06, 0x08f6);
17905 MP_WritePhyUshort(sc, 0x06, 0x26e4);
17906 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
17907 MP_WritePhyUshort(sc, 0x06, 0x022d);
17908 MP_WritePhyUshort(sc, 0x06, 0x6ae0);
17909 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
17910 MP_WritePhyUshort(sc, 0x06, 0xad27);
17911 MP_WritePhyUshort(sc, 0x06, 0x05f6);
17912 MP_WritePhyUshort(sc, 0x06, 0x27e4);
17913 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
17914 MP_WritePhyUshort(sc, 0x06, 0x0203);
17915 MP_WritePhyUshort(sc, 0x06, 0x8bfc);
17916 MP_WritePhyUshort(sc, 0x06, 0x04f8);
17917 MP_WritePhyUshort(sc, 0x06, 0xfaef);
17918 MP_WritePhyUshort(sc, 0x06, 0x69e0);
17919 MP_WritePhyUshort(sc, 0x06, 0x8b80);
17920 MP_WritePhyUshort(sc, 0x06, 0xad27);
17921 MP_WritePhyUshort(sc, 0x06, 0x22bf);
17922 MP_WritePhyUshort(sc, 0x06, 0x479a);
17923 MP_WritePhyUshort(sc, 0x06, 0x0239);
17924 MP_WritePhyUshort(sc, 0x06, 0xc6e0);
17925 MP_WritePhyUshort(sc, 0x06, 0x8b44);
17926 MP_WritePhyUshort(sc, 0x06, 0x1f01);
17927 MP_WritePhyUshort(sc, 0x06, 0x9e15);
17928 MP_WritePhyUshort(sc, 0x06, 0xe58b);
17929 MP_WritePhyUshort(sc, 0x06, 0x44ad);
17930 MP_WritePhyUshort(sc, 0x06, 0x2907);
17931 MP_WritePhyUshort(sc, 0x06, 0xac28);
17932 MP_WritePhyUshort(sc, 0x06, 0x04d1);
17933 MP_WritePhyUshort(sc, 0x06, 0x01ae);
17934 MP_WritePhyUshort(sc, 0x06, 0x02d1);
17935 MP_WritePhyUshort(sc, 0x06, 0x00bf);
17936 MP_WritePhyUshort(sc, 0x06, 0x819e);
17937 MP_WritePhyUshort(sc, 0x06, 0x0239);
17938 MP_WritePhyUshort(sc, 0x06, 0xf3ef);
17939 MP_WritePhyUshort(sc, 0x06, 0x96fe);
17940 MP_WritePhyUshort(sc, 0x06, 0xfc04);
17941 MP_WritePhyUshort(sc, 0x06, 0x00e1);
17942 MP_WritePhyUshort(sc, 0x06, 0x4077);
17943 MP_WritePhyUshort(sc, 0x06, 0xe140);
17944 MP_WritePhyUshort(sc, 0x06, 0xbbe0);
17945 MP_WritePhyUshort(sc, 0x06, 0x2a00);
17946 MP_WritePhyUshort(sc, 0x05, 0xe142);
17947 PhyRegValue = MP_ReadPhyUshort(sc, 0x06);
17948 PhyRegValue |= BIT_0;
17949 MP_WritePhyUshort(sc, 0x06, PhyRegValue);
17950 MP_WritePhyUshort(sc, 0x05, 0xe140);
17951 PhyRegValue = MP_ReadPhyUshort(sc, 0x06);
17952 PhyRegValue |= BIT_0;
17953 MP_WritePhyUshort(sc, 0x06, PhyRegValue);
17954 MP_WritePhyUshort(sc, 0x1f, 0x0000);
17955 MP_WritePhyUshort(sc, 0x1f, 0x0005);
17956 for (i = 0; i < 200; i++) {
17958 PhyRegValue = MP_ReadPhyUshort(sc, 0x00);
17959 if (PhyRegValue & BIT_7)
17963 MP_WritePhyUshort(sc, 0x1f, 0x0007);
17964 MP_WritePhyUshort(sc, 0x1e, 0x0023);
17965 PhyRegValue = MP_ReadPhyUshort(sc, 0x17);
17966 PhyRegValue |= BIT_1;
17967 if (sc->RequiredSecLanDonglePatch)
17968 PhyRegValue &= ~(BIT_2);
17969 MP_WritePhyUshort(sc, 0x17, PhyRegValue);
17970 MP_WritePhyUshort(sc, 0x1f, 0x0000);
17972 MP_WritePhyUshort(sc, 0x1f, 0x0003);
17973 PhyRegValue = MP_ReadPhyUshort(sc, 0x19);
17974 PhyRegValue &= ~BIT_0;
17975 MP_WritePhyUshort(sc, 0x19, PhyRegValue);
17976 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
17977 PhyRegValue &= ~BIT_10;
17978 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
17980 MP_WritePhyUshort(sc, 0x1f, 0x0000);
17981 MP_WritePhyUshort(sc, 0x00, 0x9200);
17984 static void re_set_phy_mcu_8411_1(struct re_softc *sc)
17986 u_int16_t PhyRegValue;
17989 MP_WritePhyUshort(sc, 0x1f, 0x0000);
17990 MP_WritePhyUshort(sc, 0x00, 0x1800);
17991 PhyRegValue = MP_ReadPhyUshort(sc, 0x15);
17992 PhyRegValue &= ~(BIT_12);
17993 MP_WritePhyUshort(sc, 0x15, PhyRegValue);
17994 MP_WritePhyUshort(sc, 0x00, 0x4800);
17995 MP_WritePhyUshort(sc, 0x1f, 0x0007);
17996 MP_WritePhyUshort(sc, 0x1e, 0x002f);
17997 for (i = 0; i < 1000; i++) {
17999 PhyRegValue = MP_ReadPhyUshort(sc, 0x1c);
18000 if (PhyRegValue & BIT_7)
18003 MP_WritePhyUshort(sc, 0x1f, 0x0000);
18004 MP_WritePhyUshort(sc, 0x00, 0x1800);
18005 MP_WritePhyUshort(sc, 0x1f, 0x0007);
18006 MP_WritePhyUshort(sc, 0x1e, 0x0023);
18007 for (i = 0; i < 200; i++) {
18009 PhyRegValue = MP_ReadPhyUshort(sc, 0x18);
18010 if (!(PhyRegValue & BIT_0))
18013 MP_WritePhyUshort(sc, 0x1f, 0x0005);
18014 MP_WritePhyUshort(sc, 0x05, 0xfff6);
18015 MP_WritePhyUshort(sc, 0x06, 0x0080);
18016 MP_WritePhyUshort(sc, 0x1f, 0x0007);
18017 MP_WritePhyUshort(sc, 0x1e, 0x0023);
18018 MP_WritePhyUshort(sc, 0x16, 0x0306);
18019 MP_WritePhyUshort(sc, 0x16, 0x0307);
18020 MP_WritePhyUshort(sc, 0x15, 0x0098);
18021 MP_WritePhyUshort(sc, 0x19, 0x7c0b);
18022 MP_WritePhyUshort(sc, 0x15, 0x0099);
18023 MP_WritePhyUshort(sc, 0x19, 0x6c0b);
18024 MP_WritePhyUshort(sc, 0x15, 0x00eb);
18025 MP_WritePhyUshort(sc, 0x19, 0x6c0b);
18026 MP_WritePhyUshort(sc, 0x15, 0x00f8);
18027 MP_WritePhyUshort(sc, 0x19, 0x6f0b);
18028 MP_WritePhyUshort(sc, 0x15, 0x00fe);
18029 MP_WritePhyUshort(sc, 0x19, 0x6f0f);
18030 MP_WritePhyUshort(sc, 0x15, 0x00db);
18031 MP_WritePhyUshort(sc, 0x19, 0x6f09);
18032 MP_WritePhyUshort(sc, 0x15, 0x00dc);
18033 MP_WritePhyUshort(sc, 0x19, 0xaefd);
18034 MP_WritePhyUshort(sc, 0x15, 0x00dd);
18035 MP_WritePhyUshort(sc, 0x19, 0x6f0b);
18036 MP_WritePhyUshort(sc, 0x15, 0x00de);
18037 MP_WritePhyUshort(sc, 0x19, 0xc60b);
18038 MP_WritePhyUshort(sc, 0x15, 0x00df);
18039 MP_WritePhyUshort(sc, 0x19, 0x00fa);
18040 MP_WritePhyUshort(sc, 0x15, 0x00e0);
18041 MP_WritePhyUshort(sc, 0x19, 0x30e1);
18042 MP_WritePhyUshort(sc, 0x15, 0x020c);
18043 MP_WritePhyUshort(sc, 0x19, 0x3224);
18044 MP_WritePhyUshort(sc, 0x15, 0x020e);
18045 MP_WritePhyUshort(sc, 0x19, 0x9813);
18046 MP_WritePhyUshort(sc, 0x15, 0x020f);
18047 MP_WritePhyUshort(sc, 0x19, 0x7801);
18048 MP_WritePhyUshort(sc, 0x15, 0x0210);
18049 MP_WritePhyUshort(sc, 0x19, 0x930f);
18050 MP_WritePhyUshort(sc, 0x15, 0x0211);
18051 MP_WritePhyUshort(sc, 0x19, 0x9206);
18052 MP_WritePhyUshort(sc, 0x15, 0x0212);
18053 MP_WritePhyUshort(sc, 0x19, 0x4002);
18054 MP_WritePhyUshort(sc, 0x15, 0x0213);
18055 MP_WritePhyUshort(sc, 0x19, 0x7800);
18056 MP_WritePhyUshort(sc, 0x15, 0x0214);
18057 MP_WritePhyUshort(sc, 0x19, 0x588f);
18058 MP_WritePhyUshort(sc, 0x15, 0x0215);
18059 MP_WritePhyUshort(sc, 0x19, 0x5520);
18060 MP_WritePhyUshort(sc, 0x15, 0x0216);
18061 MP_WritePhyUshort(sc, 0x19, 0x3224);
18062 MP_WritePhyUshort(sc, 0x15, 0x0217);
18063 MP_WritePhyUshort(sc, 0x19, 0x4002);
18064 MP_WritePhyUshort(sc, 0x15, 0x0218);
18065 MP_WritePhyUshort(sc, 0x19, 0x7800);
18066 MP_WritePhyUshort(sc, 0x15, 0x0219);
18067 MP_WritePhyUshort(sc, 0x19, 0x588d);
18068 MP_WritePhyUshort(sc, 0x15, 0x021a);
18069 MP_WritePhyUshort(sc, 0x19, 0x5540);
18070 MP_WritePhyUshort(sc, 0x15, 0x021b);
18071 MP_WritePhyUshort(sc, 0x19, 0x9e03);
18072 MP_WritePhyUshort(sc, 0x15, 0x021c);
18073 MP_WritePhyUshort(sc, 0x19, 0x7c40);
18074 MP_WritePhyUshort(sc, 0x15, 0x021d);
18075 MP_WritePhyUshort(sc, 0x19, 0x6840);
18076 MP_WritePhyUshort(sc, 0x15, 0x021e);
18077 MP_WritePhyUshort(sc, 0x19, 0x3224);
18078 MP_WritePhyUshort(sc, 0x15, 0x021f);
18079 MP_WritePhyUshort(sc, 0x19, 0x4002);
18080 MP_WritePhyUshort(sc, 0x15, 0x0220);
18081 MP_WritePhyUshort(sc, 0x19, 0x3224);
18082 MP_WritePhyUshort(sc, 0x15, 0x0221);
18083 MP_WritePhyUshort(sc, 0x19, 0x9e03);
18084 MP_WritePhyUshort(sc, 0x15, 0x0222);
18085 MP_WritePhyUshort(sc, 0x19, 0x7c40);
18086 MP_WritePhyUshort(sc, 0x15, 0x0223);
18087 MP_WritePhyUshort(sc, 0x19, 0x6840);
18088 MP_WritePhyUshort(sc, 0x15, 0x0224);
18089 MP_WritePhyUshort(sc, 0x19, 0x7800);
18090 MP_WritePhyUshort(sc, 0x15, 0x0225);
18091 MP_WritePhyUshort(sc, 0x19, 0x3231);
18092 MP_WritePhyUshort(sc, 0x15, 0x0000);
18093 MP_WritePhyUshort(sc, 0x16, 0x0306);
18094 MP_WritePhyUshort(sc, 0x16, 0x0300);
18095 MP_WritePhyUshort(sc, 0x1f, 0x0000);
18096 MP_WritePhyUshort(sc, 0x1f, 0x0005);
18097 MP_WritePhyUshort(sc, 0x05, 0xfff6);
18098 MP_WritePhyUshort(sc, 0x06, 0x0080);
18099 MP_WritePhyUshort(sc, 0x05, 0x8000);
18100 MP_WritePhyUshort(sc, 0x06, 0x0280);
18101 MP_WritePhyUshort(sc, 0x06, 0x48f7);
18102 MP_WritePhyUshort(sc, 0x06, 0x00e0);
18103 MP_WritePhyUshort(sc, 0x06, 0xfff7);
18104 MP_WritePhyUshort(sc, 0x06, 0xa080);
18105 MP_WritePhyUshort(sc, 0x06, 0x02ae);
18106 MP_WritePhyUshort(sc, 0x06, 0xf602);
18107 MP_WritePhyUshort(sc, 0x06, 0x011e);
18108 MP_WritePhyUshort(sc, 0x06, 0x0201);
18109 MP_WritePhyUshort(sc, 0x06, 0x2b02);
18110 MP_WritePhyUshort(sc, 0x06, 0x8077);
18111 MP_WritePhyUshort(sc, 0x06, 0x0201);
18112 MP_WritePhyUshort(sc, 0x06, 0x4802);
18113 MP_WritePhyUshort(sc, 0x06, 0x0162);
18114 MP_WritePhyUshort(sc, 0x06, 0x0280);
18115 MP_WritePhyUshort(sc, 0x06, 0x9402);
18116 MP_WritePhyUshort(sc, 0x06, 0x810e);
18117 MP_WritePhyUshort(sc, 0x06, 0xe08b);
18118 MP_WritePhyUshort(sc, 0x06, 0x88e1);
18119 MP_WritePhyUshort(sc, 0x06, 0x8b89);
18120 MP_WritePhyUshort(sc, 0x06, 0x1e01);
18121 MP_WritePhyUshort(sc, 0x06, 0xe18b);
18122 MP_WritePhyUshort(sc, 0x06, 0x8a1e);
18123 MP_WritePhyUshort(sc, 0x06, 0x01e1);
18124 MP_WritePhyUshort(sc, 0x06, 0x8b8b);
18125 MP_WritePhyUshort(sc, 0x06, 0x1e01);
18126 MP_WritePhyUshort(sc, 0x06, 0xe18b);
18127 MP_WritePhyUshort(sc, 0x06, 0x8c1e);
18128 MP_WritePhyUshort(sc, 0x06, 0x01e1);
18129 MP_WritePhyUshort(sc, 0x06, 0x8b8d);
18130 MP_WritePhyUshort(sc, 0x06, 0x1e01);
18131 MP_WritePhyUshort(sc, 0x06, 0xe18b);
18132 MP_WritePhyUshort(sc, 0x06, 0x8e1e);
18133 MP_WritePhyUshort(sc, 0x06, 0x01a0);
18134 MP_WritePhyUshort(sc, 0x06, 0x00c7);
18135 MP_WritePhyUshort(sc, 0x06, 0xaebb);
18136 MP_WritePhyUshort(sc, 0x06, 0xd481);
18137 MP_WritePhyUshort(sc, 0x06, 0xd4e4);
18138 MP_WritePhyUshort(sc, 0x06, 0x8b92);
18139 MP_WritePhyUshort(sc, 0x06, 0xe58b);
18140 MP_WritePhyUshort(sc, 0x06, 0x9302);
18141 MP_WritePhyUshort(sc, 0x06, 0x2e5a);
18142 MP_WritePhyUshort(sc, 0x06, 0xbf8b);
18143 MP_WritePhyUshort(sc, 0x06, 0x88ec);
18144 MP_WritePhyUshort(sc, 0x06, 0x0019);
18145 MP_WritePhyUshort(sc, 0x06, 0xa98b);
18146 MP_WritePhyUshort(sc, 0x06, 0x90f9);
18147 MP_WritePhyUshort(sc, 0x06, 0xeeff);
18148 MP_WritePhyUshort(sc, 0x06, 0xf600);
18149 MP_WritePhyUshort(sc, 0x06, 0xeeff);
18150 MP_WritePhyUshort(sc, 0x06, 0xf7fc);
18151 MP_WritePhyUshort(sc, 0x06, 0xd100);
18152 MP_WritePhyUshort(sc, 0x06, 0xbf83);
18153 MP_WritePhyUshort(sc, 0x06, 0x3c02);
18154 MP_WritePhyUshort(sc, 0x06, 0x3a21);
18155 MP_WritePhyUshort(sc, 0x06, 0xd101);
18156 MP_WritePhyUshort(sc, 0x06, 0xbf83);
18157 MP_WritePhyUshort(sc, 0x06, 0x3f02);
18158 MP_WritePhyUshort(sc, 0x06, 0x3a21);
18159 MP_WritePhyUshort(sc, 0x06, 0x04f8);
18160 MP_WritePhyUshort(sc, 0x06, 0xe08b);
18161 MP_WritePhyUshort(sc, 0x06, 0x8aad);
18162 MP_WritePhyUshort(sc, 0x06, 0x2014);
18163 MP_WritePhyUshort(sc, 0x06, 0xee8b);
18164 MP_WritePhyUshort(sc, 0x06, 0x8a00);
18165 MP_WritePhyUshort(sc, 0x06, 0x0220);
18166 MP_WritePhyUshort(sc, 0x06, 0x8be0);
18167 MP_WritePhyUshort(sc, 0x06, 0xe426);
18168 MP_WritePhyUshort(sc, 0x06, 0xe1e4);
18169 MP_WritePhyUshort(sc, 0x06, 0x27ee);
18170 MP_WritePhyUshort(sc, 0x06, 0xe426);
18171 MP_WritePhyUshort(sc, 0x06, 0x23e5);
18172 MP_WritePhyUshort(sc, 0x06, 0xe427);
18173 MP_WritePhyUshort(sc, 0x06, 0xfc04);
18174 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
18175 MP_WritePhyUshort(sc, 0x06, 0x8b8d);
18176 MP_WritePhyUshort(sc, 0x06, 0xad20);
18177 MP_WritePhyUshort(sc, 0x06, 0x14ee);
18178 MP_WritePhyUshort(sc, 0x06, 0x8b8d);
18179 MP_WritePhyUshort(sc, 0x06, 0x00e0);
18180 MP_WritePhyUshort(sc, 0x06, 0x8a5a);
18181 MP_WritePhyUshort(sc, 0x06, 0x7803);
18182 MP_WritePhyUshort(sc, 0x06, 0x9e09);
18183 MP_WritePhyUshort(sc, 0x06, 0x0206);
18184 MP_WritePhyUshort(sc, 0x06, 0x2802);
18185 MP_WritePhyUshort(sc, 0x06, 0x80b1);
18186 MP_WritePhyUshort(sc, 0x06, 0x0232);
18187 MP_WritePhyUshort(sc, 0x06, 0xfdfc);
18188 MP_WritePhyUshort(sc, 0x06, 0x04f8);
18189 MP_WritePhyUshort(sc, 0x06, 0xf9e0);
18190 MP_WritePhyUshort(sc, 0x06, 0x8b81);
18191 MP_WritePhyUshort(sc, 0x06, 0xac26);
18192 MP_WritePhyUshort(sc, 0x06, 0x1ae0);
18193 MP_WritePhyUshort(sc, 0x06, 0x8b81);
18194 MP_WritePhyUshort(sc, 0x06, 0xac21);
18195 MP_WritePhyUshort(sc, 0x06, 0x14e0);
18196 MP_WritePhyUshort(sc, 0x06, 0x8b85);
18197 MP_WritePhyUshort(sc, 0x06, 0xac20);
18198 MP_WritePhyUshort(sc, 0x06, 0x0ee0);
18199 MP_WritePhyUshort(sc, 0x06, 0x8b85);
18200 MP_WritePhyUshort(sc, 0x06, 0xac23);
18201 MP_WritePhyUshort(sc, 0x06, 0x08e0);
18202 MP_WritePhyUshort(sc, 0x06, 0x8b87);
18203 MP_WritePhyUshort(sc, 0x06, 0xac24);
18204 MP_WritePhyUshort(sc, 0x06, 0x02ae);
18205 MP_WritePhyUshort(sc, 0x06, 0x3802);
18206 MP_WritePhyUshort(sc, 0x06, 0x1b02);
18207 MP_WritePhyUshort(sc, 0x06, 0xeee4);
18208 MP_WritePhyUshort(sc, 0x06, 0x1c04);
18209 MP_WritePhyUshort(sc, 0x06, 0xeee4);
18210 MP_WritePhyUshort(sc, 0x06, 0x1d04);
18211 MP_WritePhyUshort(sc, 0x06, 0xe2e0);
18212 MP_WritePhyUshort(sc, 0x06, 0x7ce3);
18213 MP_WritePhyUshort(sc, 0x06, 0xe07d);
18214 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
18215 MP_WritePhyUshort(sc, 0x06, 0x38e1);
18216 MP_WritePhyUshort(sc, 0x06, 0xe039);
18217 MP_WritePhyUshort(sc, 0x06, 0xad2e);
18218 MP_WritePhyUshort(sc, 0x06, 0x1bad);
18219 MP_WritePhyUshort(sc, 0x06, 0x390d);
18220 MP_WritePhyUshort(sc, 0x06, 0xd101);
18221 MP_WritePhyUshort(sc, 0x06, 0xbf22);
18222 MP_WritePhyUshort(sc, 0x06, 0xe802);
18223 MP_WritePhyUshort(sc, 0x06, 0x3a21);
18224 MP_WritePhyUshort(sc, 0x06, 0x0222);
18225 MP_WritePhyUshort(sc, 0x06, 0x10ae);
18226 MP_WritePhyUshort(sc, 0x06, 0x0bac);
18227 MP_WritePhyUshort(sc, 0x06, 0x3802);
18228 MP_WritePhyUshort(sc, 0x06, 0xae06);
18229 MP_WritePhyUshort(sc, 0x06, 0x0222);
18230 MP_WritePhyUshort(sc, 0x06, 0x4d02);
18231 MP_WritePhyUshort(sc, 0x06, 0x2292);
18232 MP_WritePhyUshort(sc, 0x06, 0x021b);
18233 MP_WritePhyUshort(sc, 0x06, 0x13fd);
18234 MP_WritePhyUshort(sc, 0x06, 0xfc04);
18235 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
18236 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
18237 MP_WritePhyUshort(sc, 0x06, 0xad20);
18238 MP_WritePhyUshort(sc, 0x06, 0x1af6);
18239 MP_WritePhyUshort(sc, 0x06, 0x20e4);
18240 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
18241 MP_WritePhyUshort(sc, 0x06, 0x022b);
18242 MP_WritePhyUshort(sc, 0x06, 0x1e02);
18243 MP_WritePhyUshort(sc, 0x06, 0x82ae);
18244 MP_WritePhyUshort(sc, 0x06, 0x0203);
18245 MP_WritePhyUshort(sc, 0x06, 0xc002);
18246 MP_WritePhyUshort(sc, 0x06, 0x827d);
18247 MP_WritePhyUshort(sc, 0x06, 0x022e);
18248 MP_WritePhyUshort(sc, 0x06, 0x6f02);
18249 MP_WritePhyUshort(sc, 0x06, 0x047b);
18250 MP_WritePhyUshort(sc, 0x06, 0x022f);
18251 MP_WritePhyUshort(sc, 0x06, 0x9ae0);
18252 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
18253 MP_WritePhyUshort(sc, 0x06, 0xad21);
18254 MP_WritePhyUshort(sc, 0x06, 0x0bf6);
18255 MP_WritePhyUshort(sc, 0x06, 0x21e4);
18256 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
18257 MP_WritePhyUshort(sc, 0x06, 0x0281);
18258 MP_WritePhyUshort(sc, 0x06, 0x9002);
18259 MP_WritePhyUshort(sc, 0x06, 0x1cd9);
18260 MP_WritePhyUshort(sc, 0x06, 0xe08b);
18261 MP_WritePhyUshort(sc, 0x06, 0x8ead);
18262 MP_WritePhyUshort(sc, 0x06, 0x2208);
18263 MP_WritePhyUshort(sc, 0x06, 0xf622);
18264 MP_WritePhyUshort(sc, 0x06, 0xe48b);
18265 MP_WritePhyUshort(sc, 0x06, 0x8e02);
18266 MP_WritePhyUshort(sc, 0x06, 0x35f4);
18267 MP_WritePhyUshort(sc, 0x06, 0xe08b);
18268 MP_WritePhyUshort(sc, 0x06, 0x8ead);
18269 MP_WritePhyUshort(sc, 0x06, 0x2308);
18270 MP_WritePhyUshort(sc, 0x06, 0xf623);
18271 MP_WritePhyUshort(sc, 0x06, 0xe48b);
18272 MP_WritePhyUshort(sc, 0x06, 0x8e02);
18273 MP_WritePhyUshort(sc, 0x06, 0x31e8);
18274 MP_WritePhyUshort(sc, 0x06, 0xe08b);
18275 MP_WritePhyUshort(sc, 0x06, 0x8ead);
18276 MP_WritePhyUshort(sc, 0x06, 0x2405);
18277 MP_WritePhyUshort(sc, 0x06, 0xf624);
18278 MP_WritePhyUshort(sc, 0x06, 0xe48b);
18279 MP_WritePhyUshort(sc, 0x06, 0x8ee0);
18280 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
18281 MP_WritePhyUshort(sc, 0x06, 0xad25);
18282 MP_WritePhyUshort(sc, 0x06, 0x05f6);
18283 MP_WritePhyUshort(sc, 0x06, 0x25e4);
18284 MP_WritePhyUshort(sc, 0x06, 0x8b8e);
18285 MP_WritePhyUshort(sc, 0x06, 0xe08b);
18286 MP_WritePhyUshort(sc, 0x06, 0x8ead);
18287 MP_WritePhyUshort(sc, 0x06, 0x2608);
18288 MP_WritePhyUshort(sc, 0x06, 0xf626);
18289 MP_WritePhyUshort(sc, 0x06, 0xe48b);
18290 MP_WritePhyUshort(sc, 0x06, 0x8e02);
18291 MP_WritePhyUshort(sc, 0x06, 0x2d8a);
18292 MP_WritePhyUshort(sc, 0x06, 0xe08b);
18293 MP_WritePhyUshort(sc, 0x06, 0x8ead);
18294 MP_WritePhyUshort(sc, 0x06, 0x2705);
18295 MP_WritePhyUshort(sc, 0x06, 0xf627);
18296 MP_WritePhyUshort(sc, 0x06, 0xe48b);
18297 MP_WritePhyUshort(sc, 0x06, 0x8e02);
18298 MP_WritePhyUshort(sc, 0x06, 0x0386);
18299 MP_WritePhyUshort(sc, 0x06, 0xfc04);
18300 MP_WritePhyUshort(sc, 0x06, 0xf8fa);
18301 MP_WritePhyUshort(sc, 0x06, 0xef69);
18302 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
18303 MP_WritePhyUshort(sc, 0x06, 0x00e1);
18304 MP_WritePhyUshort(sc, 0x06, 0xe001);
18305 MP_WritePhyUshort(sc, 0x06, 0xad27);
18306 MP_WritePhyUshort(sc, 0x06, 0x32e0);
18307 MP_WritePhyUshort(sc, 0x06, 0x8b40);
18308 MP_WritePhyUshort(sc, 0x06, 0xf720);
18309 MP_WritePhyUshort(sc, 0x06, 0xe48b);
18310 MP_WritePhyUshort(sc, 0x06, 0x40bf);
18311 MP_WritePhyUshort(sc, 0x06, 0x32c1);
18312 MP_WritePhyUshort(sc, 0x06, 0x0239);
18313 MP_WritePhyUshort(sc, 0x06, 0xf4ad);
18314 MP_WritePhyUshort(sc, 0x06, 0x2821);
18315 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
18316 MP_WritePhyUshort(sc, 0x06, 0x20e1);
18317 MP_WritePhyUshort(sc, 0x06, 0xe021);
18318 MP_WritePhyUshort(sc, 0x06, 0xad20);
18319 MP_WritePhyUshort(sc, 0x06, 0x18e0);
18320 MP_WritePhyUshort(sc, 0x06, 0x8b40);
18321 MP_WritePhyUshort(sc, 0x06, 0xf620);
18322 MP_WritePhyUshort(sc, 0x06, 0xe48b);
18323 MP_WritePhyUshort(sc, 0x06, 0x40ee);
18324 MP_WritePhyUshort(sc, 0x06, 0x8b3b);
18325 MP_WritePhyUshort(sc, 0x06, 0xffe0);
18326 MP_WritePhyUshort(sc, 0x06, 0x8a8a);
18327 MP_WritePhyUshort(sc, 0x06, 0xe18a);
18328 MP_WritePhyUshort(sc, 0x06, 0x8be4);
18329 MP_WritePhyUshort(sc, 0x06, 0xe000);
18330 MP_WritePhyUshort(sc, 0x06, 0xe5e0);
18331 MP_WritePhyUshort(sc, 0x06, 0x01ef);
18332 MP_WritePhyUshort(sc, 0x06, 0x96fe);
18333 MP_WritePhyUshort(sc, 0x06, 0xfc04);
18334 MP_WritePhyUshort(sc, 0x06, 0xf8f9);
18335 MP_WritePhyUshort(sc, 0x06, 0xface);
18336 MP_WritePhyUshort(sc, 0x06, 0xfaef);
18337 MP_WritePhyUshort(sc, 0x06, 0x69fa);
18338 MP_WritePhyUshort(sc, 0x06, 0xd401);
18339 MP_WritePhyUshort(sc, 0x06, 0x55b4);
18340 MP_WritePhyUshort(sc, 0x06, 0xfebf);
18341 MP_WritePhyUshort(sc, 0x06, 0x1c5e);
18342 MP_WritePhyUshort(sc, 0x06, 0x0239);
18343 MP_WritePhyUshort(sc, 0x06, 0xf4ac);
18344 MP_WritePhyUshort(sc, 0x06, 0x280b);
18345 MP_WritePhyUshort(sc, 0x06, 0xbf1c);
18346 MP_WritePhyUshort(sc, 0x06, 0x5b02);
18347 MP_WritePhyUshort(sc, 0x06, 0x39f4);
18348 MP_WritePhyUshort(sc, 0x06, 0xac28);
18349 MP_WritePhyUshort(sc, 0x06, 0x49ae);
18350 MP_WritePhyUshort(sc, 0x06, 0x64bf);
18351 MP_WritePhyUshort(sc, 0x06, 0x1c5b);
18352 MP_WritePhyUshort(sc, 0x06, 0x0239);
18353 MP_WritePhyUshort(sc, 0x06, 0xf4ac);
18354 MP_WritePhyUshort(sc, 0x06, 0x285b);
18355 MP_WritePhyUshort(sc, 0x06, 0xd000);
18356 MP_WritePhyUshort(sc, 0x06, 0x0282);
18357 MP_WritePhyUshort(sc, 0x06, 0x62ac);
18358 MP_WritePhyUshort(sc, 0x06, 0x2105);
18359 MP_WritePhyUshort(sc, 0x06, 0xac22);
18360 MP_WritePhyUshort(sc, 0x06, 0x02ae);
18361 MP_WritePhyUshort(sc, 0x06, 0x4ebf);
18362 MP_WritePhyUshort(sc, 0x06, 0xe0c4);
18363 MP_WritePhyUshort(sc, 0x06, 0xbe85);
18364 MP_WritePhyUshort(sc, 0x06, 0xecd2);
18365 MP_WritePhyUshort(sc, 0x06, 0x04d8);
18366 MP_WritePhyUshort(sc, 0x06, 0x19d9);
18367 MP_WritePhyUshort(sc, 0x06, 0x1907);
18368 MP_WritePhyUshort(sc, 0x06, 0xdc19);
18369 MP_WritePhyUshort(sc, 0x06, 0xdd19);
18370 MP_WritePhyUshort(sc, 0x06, 0x0789);
18371 MP_WritePhyUshort(sc, 0x06, 0x89ef);
18372 MP_WritePhyUshort(sc, 0x06, 0x645e);
18373 MP_WritePhyUshort(sc, 0x06, 0x07ff);
18374 MP_WritePhyUshort(sc, 0x06, 0x0d65);
18375 MP_WritePhyUshort(sc, 0x06, 0x5cf8);
18376 MP_WritePhyUshort(sc, 0x06, 0x001e);
18377 MP_WritePhyUshort(sc, 0x06, 0x46dc);
18378 MP_WritePhyUshort(sc, 0x06, 0x19dd);
18379 MP_WritePhyUshort(sc, 0x06, 0x19b2);
18380 MP_WritePhyUshort(sc, 0x06, 0xe2d4);
18381 MP_WritePhyUshort(sc, 0x06, 0x0001);
18382 MP_WritePhyUshort(sc, 0x06, 0xbf1c);
18383 MP_WritePhyUshort(sc, 0x06, 0x5b02);
18384 MP_WritePhyUshort(sc, 0x06, 0x3a21);
18385 MP_WritePhyUshort(sc, 0x06, 0xae1d);
18386 MP_WritePhyUshort(sc, 0x06, 0xbee0);
18387 MP_WritePhyUshort(sc, 0x06, 0xc4bf);
18388 MP_WritePhyUshort(sc, 0x06, 0x85ec);
18389 MP_WritePhyUshort(sc, 0x06, 0xd204);
18390 MP_WritePhyUshort(sc, 0x06, 0xd819);
18391 MP_WritePhyUshort(sc, 0x06, 0xd919);
18392 MP_WritePhyUshort(sc, 0x06, 0x07dc);
18393 MP_WritePhyUshort(sc, 0x06, 0x19dd);
18394 MP_WritePhyUshort(sc, 0x06, 0x1907);
18395 MP_WritePhyUshort(sc, 0x06, 0xb2f4);
18396 MP_WritePhyUshort(sc, 0x06, 0xd400);
18397 MP_WritePhyUshort(sc, 0x06, 0x00bf);
18398 MP_WritePhyUshort(sc, 0x06, 0x1c5b);
18399 MP_WritePhyUshort(sc, 0x06, 0x023a);
18400 MP_WritePhyUshort(sc, 0x06, 0x21fe);
18401 MP_WritePhyUshort(sc, 0x06, 0xef96);
18402 MP_WritePhyUshort(sc, 0x06, 0xfec6);
18403 MP_WritePhyUshort(sc, 0x06, 0xfefd);
18404 MP_WritePhyUshort(sc, 0x06, 0xfc05);
18405 MP_WritePhyUshort(sc, 0x06, 0xf9e2);
18406 MP_WritePhyUshort(sc, 0x06, 0xe0ea);
18407 MP_WritePhyUshort(sc, 0x06, 0xe3e0);
18408 MP_WritePhyUshort(sc, 0x06, 0xeb5a);
18409 MP_WritePhyUshort(sc, 0x06, 0x070c);
18410 MP_WritePhyUshort(sc, 0x06, 0x031e);
18411 MP_WritePhyUshort(sc, 0x06, 0x20e6);
18412 MP_WritePhyUshort(sc, 0x06, 0xe0ea);
18413 MP_WritePhyUshort(sc, 0x06, 0xe7e0);
18414 MP_WritePhyUshort(sc, 0x06, 0xebe0);
18415 MP_WritePhyUshort(sc, 0x06, 0xe0fc);
18416 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
18417 MP_WritePhyUshort(sc, 0x06, 0xfdfd);
18418 MP_WritePhyUshort(sc, 0x06, 0x04f8);
18419 MP_WritePhyUshort(sc, 0x06, 0xfaef);
18420 MP_WritePhyUshort(sc, 0x06, 0x69e0);
18421 MP_WritePhyUshort(sc, 0x06, 0x8b80);
18422 MP_WritePhyUshort(sc, 0x06, 0xad27);
18423 MP_WritePhyUshort(sc, 0x06, 0x22bf);
18424 MP_WritePhyUshort(sc, 0x06, 0x47ba);
18425 MP_WritePhyUshort(sc, 0x06, 0x0239);
18426 MP_WritePhyUshort(sc, 0x06, 0xf4e0);
18427 MP_WritePhyUshort(sc, 0x06, 0x8b44);
18428 MP_WritePhyUshort(sc, 0x06, 0x1f01);
18429 MP_WritePhyUshort(sc, 0x06, 0x9e15);
18430 MP_WritePhyUshort(sc, 0x06, 0xe58b);
18431 MP_WritePhyUshort(sc, 0x06, 0x44ad);
18432 MP_WritePhyUshort(sc, 0x06, 0x2907);
18433 MP_WritePhyUshort(sc, 0x06, 0xac28);
18434 MP_WritePhyUshort(sc, 0x06, 0x04d1);
18435 MP_WritePhyUshort(sc, 0x06, 0x01ae);
18436 MP_WritePhyUshort(sc, 0x06, 0x02d1);
18437 MP_WritePhyUshort(sc, 0x06, 0x00bf);
18438 MP_WritePhyUshort(sc, 0x06, 0x8342);
18439 MP_WritePhyUshort(sc, 0x06, 0x023a);
18440 MP_WritePhyUshort(sc, 0x06, 0x21ef);
18441 MP_WritePhyUshort(sc, 0x06, 0x96fe);
18442 MP_WritePhyUshort(sc, 0x06, 0xfc04);
18443 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
18444 MP_WritePhyUshort(sc, 0x06, 0x8b85);
18445 MP_WritePhyUshort(sc, 0x06, 0xad26);
18446 MP_WritePhyUshort(sc, 0x06, 0x30e0);
18447 MP_WritePhyUshort(sc, 0x06, 0xe036);
18448 MP_WritePhyUshort(sc, 0x06, 0xe1e0);
18449 MP_WritePhyUshort(sc, 0x06, 0x37e1);
18450 MP_WritePhyUshort(sc, 0x06, 0x8b3f);
18451 MP_WritePhyUshort(sc, 0x06, 0x1f10);
18452 MP_WritePhyUshort(sc, 0x06, 0x9e23);
18453 MP_WritePhyUshort(sc, 0x06, 0xe48b);
18454 MP_WritePhyUshort(sc, 0x06, 0x3fac);
18455 MP_WritePhyUshort(sc, 0x06, 0x200b);
18456 MP_WritePhyUshort(sc, 0x06, 0xac21);
18457 MP_WritePhyUshort(sc, 0x06, 0x0dac);
18458 MP_WritePhyUshort(sc, 0x06, 0x250f);
18459 MP_WritePhyUshort(sc, 0x06, 0xac27);
18460 MP_WritePhyUshort(sc, 0x06, 0x11ae);
18461 MP_WritePhyUshort(sc, 0x06, 0x1202);
18462 MP_WritePhyUshort(sc, 0x06, 0x2cb5);
18463 MP_WritePhyUshort(sc, 0x06, 0xae0d);
18464 MP_WritePhyUshort(sc, 0x06, 0x0282);
18465 MP_WritePhyUshort(sc, 0x06, 0xe7ae);
18466 MP_WritePhyUshort(sc, 0x06, 0x0802);
18467 MP_WritePhyUshort(sc, 0x06, 0x2cd7);
18468 MP_WritePhyUshort(sc, 0x06, 0xae03);
18469 MP_WritePhyUshort(sc, 0x06, 0x022c);
18470 MP_WritePhyUshort(sc, 0x06, 0xeafc);
18471 MP_WritePhyUshort(sc, 0x06, 0x04f8);
18472 MP_WritePhyUshort(sc, 0x06, 0xfaef);
18473 MP_WritePhyUshort(sc, 0x06, 0x6902);
18474 MP_WritePhyUshort(sc, 0x06, 0x8304);
18475 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
18476 MP_WritePhyUshort(sc, 0x06, 0x14e1);
18477 MP_WritePhyUshort(sc, 0x06, 0xe015);
18478 MP_WritePhyUshort(sc, 0x06, 0xad26);
18479 MP_WritePhyUshort(sc, 0x06, 0x08d1);
18480 MP_WritePhyUshort(sc, 0x06, 0x1ebf);
18481 MP_WritePhyUshort(sc, 0x06, 0x2d47);
18482 MP_WritePhyUshort(sc, 0x06, 0x023a);
18483 MP_WritePhyUshort(sc, 0x06, 0x21ef);
18484 MP_WritePhyUshort(sc, 0x06, 0x96fe);
18485 MP_WritePhyUshort(sc, 0x06, 0xfc04);
18486 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
18487 MP_WritePhyUshort(sc, 0x06, 0x8b85);
18488 MP_WritePhyUshort(sc, 0x06, 0xad27);
18489 MP_WritePhyUshort(sc, 0x06, 0x2fd0);
18490 MP_WritePhyUshort(sc, 0x06, 0x0b02);
18491 MP_WritePhyUshort(sc, 0x06, 0x3826);
18492 MP_WritePhyUshort(sc, 0x06, 0x5882);
18493 MP_WritePhyUshort(sc, 0x06, 0x7882);
18494 MP_WritePhyUshort(sc, 0x06, 0x9f24);
18495 MP_WritePhyUshort(sc, 0x06, 0xe08b);
18496 MP_WritePhyUshort(sc, 0x06, 0x32e1);
18497 MP_WritePhyUshort(sc, 0x06, 0x8b33);
18498 MP_WritePhyUshort(sc, 0x06, 0x1f10);
18499 MP_WritePhyUshort(sc, 0x06, 0x9e1a);
18500 MP_WritePhyUshort(sc, 0x06, 0x10e4);
18501 MP_WritePhyUshort(sc, 0x06, 0x8b32);
18502 MP_WritePhyUshort(sc, 0x06, 0xe0e0);
18503 MP_WritePhyUshort(sc, 0x06, 0x28e1);
18504 MP_WritePhyUshort(sc, 0x06, 0xe029);
18505 MP_WritePhyUshort(sc, 0x06, 0xf72c);
18506 MP_WritePhyUshort(sc, 0x06, 0xe4e0);
18507 MP_WritePhyUshort(sc, 0x06, 0x28e5);
18508 MP_WritePhyUshort(sc, 0x06, 0xe029);
18509 MP_WritePhyUshort(sc, 0x06, 0xf62c);
18510 MP_WritePhyUshort(sc, 0x06, 0xe4e0);
18511 MP_WritePhyUshort(sc, 0x06, 0x28e5);
18512 MP_WritePhyUshort(sc, 0x06, 0xe029);
18513 MP_WritePhyUshort(sc, 0x06, 0xfc04);
18514 MP_WritePhyUshort(sc, 0x06, 0x00e1);
18515 MP_WritePhyUshort(sc, 0x06, 0x4077);
18516 MP_WritePhyUshort(sc, 0x06, 0xe140);
18517 MP_WritePhyUshort(sc, 0x06, 0xbbe0);
18518 MP_WritePhyUshort(sc, 0x06, 0x2a00);
18519 MP_WritePhyUshort(sc, 0x05, 0xe142);
18520 PhyRegValue = MP_ReadPhyUshort(sc, 0x06);
18521 PhyRegValue |= BIT_0;
18522 MP_WritePhyUshort(sc, 0x06,PhyRegValue);
18523 MP_WritePhyUshort(sc, 0x05, 0xe140);
18524 PhyRegValue = MP_ReadPhyUshort(sc, 0x06);
18525 PhyRegValue |= BIT_0;
18526 MP_WritePhyUshort(sc, 0x06, PhyRegValue);
18527 MP_WritePhyUshort(sc, 0x1f, 0x0000);
18528 MP_WritePhyUshort(sc, 0x1f, 0x0005);
18529 for (i = 0; i < 200; i++) {
18531 PhyRegValue = MP_ReadPhyUshort(sc, 0x00);
18532 if (PhyRegValue & BIT_7)
18535 MP_WritePhyUshort(sc, 0x1f, 0x0007);
18536 MP_WritePhyUshort(sc, 0x1e, 0x0023);
18537 PhyRegValue = MP_ReadPhyUshort(sc, 0x17);
18538 PhyRegValue |= BIT_1;
18539 if (sc->RequiredSecLanDonglePatch)
18540 PhyRegValue &= ~(BIT_2);
18541 MP_WritePhyUshort(sc, 0x17, PhyRegValue);
18542 MP_WritePhyUshort(sc, 0x1f, 0x0000);
18543 MP_WritePhyUshort(sc, 0x1f, 0x0003);
18544 MP_WritePhyUshort(sc, 0x09, 0xA20F);
18545 MP_WritePhyUshort(sc, 0x1f, 0x0000);
18546 MP_WritePhyUshort(sc, 0x1f, 0x0003);
18547 MP_WritePhyUshort(sc, 0x01, 0x328A);
18548 MP_WritePhyUshort(sc, 0x1f, 0x0000);
18549 MP_WritePhyUshort(sc, 0x1f, 0x0003);
18550 PhyRegValue = MP_ReadPhyUshort(sc, 0x19);
18551 PhyRegValue &= ~BIT_0;
18552 MP_WritePhyUshort(sc, 0x19, PhyRegValue);
18553 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
18554 PhyRegValue &= ~BIT_10;
18555 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
18556 MP_WritePhyUshort(sc, 0x1f, 0x0000);
18557 MP_WritePhyUshort(sc, 0x00, 0x9200);
18560 static void re_set_phy_mcu_8168g_1(struct re_softc *sc)
18562 u_int16_t PhyRegValue;
18565 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
18566 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
18567 PhyRegValue |= BIT_4;
18568 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
18570 MP_WritePhyUshort(sc, 0x1f, 0x0B80);
18573 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
18574 PhyRegValue &= 0x0040;
18578 } while(PhyRegValue != 0x0040 && WaitCnt <1000);
18580 MP_WritePhyUshort(sc, 0x1f, 0x0A43);
18581 MP_WritePhyUshort(sc, 0x13, 0x8146);
18582 MP_WritePhyUshort(sc, 0x14, 0x2300);
18583 MP_WritePhyUshort(sc, 0x13, 0xB820);
18584 MP_WritePhyUshort(sc, 0x14, 0x0210);
18586 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
18587 MP_WritePhyUshort(sc, 0x13, 0xB820);
18588 MP_WritePhyUshort(sc, 0x14, 0x0290);
18589 MP_WritePhyUshort(sc, 0x13, 0xA012);
18590 MP_WritePhyUshort(sc, 0x14, 0x0000);
18591 MP_WritePhyUshort(sc, 0x13, 0xA014);
18592 MP_WritePhyUshort(sc, 0x14, 0x2c04);
18593 MP_WritePhyUshort(sc, 0x14, 0x2c0c);
18594 MP_WritePhyUshort(sc, 0x14, 0x2c6c);
18595 MP_WritePhyUshort(sc, 0x14, 0x2d0d);
18596 MP_WritePhyUshort(sc, 0x14, 0x31ce);
18597 MP_WritePhyUshort(sc, 0x14, 0x506d);
18598 MP_WritePhyUshort(sc, 0x14, 0xd708);
18599 MP_WritePhyUshort(sc, 0x14, 0x3108);
18600 MP_WritePhyUshort(sc, 0x14, 0x106d);
18601 MP_WritePhyUshort(sc, 0x14, 0x1560);
18602 MP_WritePhyUshort(sc, 0x14, 0x15a9);
18603 MP_WritePhyUshort(sc, 0x14, 0x206e);
18604 MP_WritePhyUshort(sc, 0x14, 0x175b);
18605 MP_WritePhyUshort(sc, 0x14, 0x6062);
18606 MP_WritePhyUshort(sc, 0x14, 0xd700);
18607 MP_WritePhyUshort(sc, 0x14, 0x5fae);
18608 MP_WritePhyUshort(sc, 0x14, 0xd708);
18609 MP_WritePhyUshort(sc, 0x14, 0x3107);
18610 MP_WritePhyUshort(sc, 0x14, 0x4c1e);
18611 MP_WritePhyUshort(sc, 0x14, 0x4169);
18612 MP_WritePhyUshort(sc, 0x14, 0x316a);
18613 MP_WritePhyUshort(sc, 0x14, 0x0c19);
18614 MP_WritePhyUshort(sc, 0x14, 0x31aa);
18615 MP_WritePhyUshort(sc, 0x14, 0x0c19);
18616 MP_WritePhyUshort(sc, 0x14, 0x2c1b);
18617 MP_WritePhyUshort(sc, 0x14, 0x5e62);
18618 MP_WritePhyUshort(sc, 0x14, 0x26b5);
18619 MP_WritePhyUshort(sc, 0x14, 0x31ab);
18620 MP_WritePhyUshort(sc, 0x14, 0x5c1e);
18621 MP_WritePhyUshort(sc, 0x14, 0x2c0c);
18622 MP_WritePhyUshort(sc, 0x14, 0xc040);
18623 MP_WritePhyUshort(sc, 0x14, 0x8808);
18624 MP_WritePhyUshort(sc, 0x14, 0xc520);
18625 MP_WritePhyUshort(sc, 0x14, 0xc421);
18626 MP_WritePhyUshort(sc, 0x14, 0xd05a);
18627 MP_WritePhyUshort(sc, 0x14, 0xd19a);
18628 MP_WritePhyUshort(sc, 0x14, 0xd709);
18629 MP_WritePhyUshort(sc, 0x14, 0x608f);
18630 MP_WritePhyUshort(sc, 0x14, 0xd06b);
18631 MP_WritePhyUshort(sc, 0x14, 0xd18a);
18632 MP_WritePhyUshort(sc, 0x14, 0x2c2c);
18633 MP_WritePhyUshort(sc, 0x14, 0xd0be);
18634 MP_WritePhyUshort(sc, 0x14, 0xd188);
18635 MP_WritePhyUshort(sc, 0x14, 0x2c2c);
18636 MP_WritePhyUshort(sc, 0x14, 0xd708);
18637 MP_WritePhyUshort(sc, 0x14, 0x4072);
18638 MP_WritePhyUshort(sc, 0x14, 0xc104);
18639 MP_WritePhyUshort(sc, 0x14, 0x2c3e);
18640 MP_WritePhyUshort(sc, 0x14, 0x4076);
18641 MP_WritePhyUshort(sc, 0x14, 0xc110);
18642 MP_WritePhyUshort(sc, 0x14, 0x2c3e);
18643 MP_WritePhyUshort(sc, 0x14, 0x4071);
18644 MP_WritePhyUshort(sc, 0x14, 0xc102);
18645 MP_WritePhyUshort(sc, 0x14, 0x2c3e);
18646 MP_WritePhyUshort(sc, 0x14, 0x4070);
18647 MP_WritePhyUshort(sc, 0x14, 0xc101);
18648 MP_WritePhyUshort(sc, 0x14, 0x2c3e);
18649 MP_WritePhyUshort(sc, 0x14, 0x175b);
18650 MP_WritePhyUshort(sc, 0x14, 0xd709);
18651 MP_WritePhyUshort(sc, 0x14, 0x3390);
18652 MP_WritePhyUshort(sc, 0x14, 0x5c39);
18653 MP_WritePhyUshort(sc, 0x14, 0x2c4e);
18654 MP_WritePhyUshort(sc, 0x14, 0x175b);
18655 MP_WritePhyUshort(sc, 0x14, 0xd708);
18656 MP_WritePhyUshort(sc, 0x14, 0x6193);
18657 MP_WritePhyUshort(sc, 0x14, 0xd709);
18658 MP_WritePhyUshort(sc, 0x14, 0x5f9d);
18659 MP_WritePhyUshort(sc, 0x14, 0x408b);
18660 MP_WritePhyUshort(sc, 0x14, 0xd71e);
18661 MP_WritePhyUshort(sc, 0x14, 0x6042);
18662 MP_WritePhyUshort(sc, 0x14, 0xb401);
18663 MP_WritePhyUshort(sc, 0x14, 0x175b);
18664 MP_WritePhyUshort(sc, 0x14, 0xd708);
18665 MP_WritePhyUshort(sc, 0x14, 0x6073);
18666 MP_WritePhyUshort(sc, 0x14, 0x5fbc);
18667 MP_WritePhyUshort(sc, 0x14, 0x2c4d);
18668 MP_WritePhyUshort(sc, 0x14, 0x26ed);
18669 MP_WritePhyUshort(sc, 0x14, 0xb280);
18670 MP_WritePhyUshort(sc, 0x14, 0xa841);
18671 MP_WritePhyUshort(sc, 0x14, 0x9420);
18672 MP_WritePhyUshort(sc, 0x14, 0x8710);
18673 MP_WritePhyUshort(sc, 0x14, 0xd709);
18674 MP_WritePhyUshort(sc, 0x14, 0x42ec);
18675 MP_WritePhyUshort(sc, 0x14, 0x606d);
18676 MP_WritePhyUshort(sc, 0x14, 0xd207);
18677 MP_WritePhyUshort(sc, 0x14, 0x2c57);
18678 MP_WritePhyUshort(sc, 0x14, 0xd203);
18679 MP_WritePhyUshort(sc, 0x14, 0x33ff);
18680 MP_WritePhyUshort(sc, 0x14, 0x563b);
18681 MP_WritePhyUshort(sc, 0x14, 0x3275);
18682 MP_WritePhyUshort(sc, 0x14, 0x7c5e);
18683 MP_WritePhyUshort(sc, 0x14, 0xb240);
18684 MP_WritePhyUshort(sc, 0x14, 0xb402);
18685 MP_WritePhyUshort(sc, 0x14, 0x263b);
18686 MP_WritePhyUshort(sc, 0x14, 0x6096);
18687 MP_WritePhyUshort(sc, 0x14, 0xb240);
18688 MP_WritePhyUshort(sc, 0x14, 0xb406);
18689 MP_WritePhyUshort(sc, 0x14, 0x263b);
18690 MP_WritePhyUshort(sc, 0x14, 0x31d7);
18691 MP_WritePhyUshort(sc, 0x14, 0x7c67);
18692 MP_WritePhyUshort(sc, 0x14, 0xb240);
18693 MP_WritePhyUshort(sc, 0x14, 0xb40e);
18694 MP_WritePhyUshort(sc, 0x14, 0x263b);
18695 MP_WritePhyUshort(sc, 0x14, 0xb410);
18696 MP_WritePhyUshort(sc, 0x14, 0x8802);
18697 MP_WritePhyUshort(sc, 0x14, 0xb240);
18698 MP_WritePhyUshort(sc, 0x14, 0x940e);
18699 MP_WritePhyUshort(sc, 0x14, 0x263b);
18700 MP_WritePhyUshort(sc, 0x14, 0xba04);
18701 MP_WritePhyUshort(sc, 0x14, 0x1cd6);
18702 MP_WritePhyUshort(sc, 0x14, 0xa902);
18703 MP_WritePhyUshort(sc, 0x14, 0xd711);
18704 MP_WritePhyUshort(sc, 0x14, 0x4045);
18705 MP_WritePhyUshort(sc, 0x14, 0xa980);
18706 MP_WritePhyUshort(sc, 0x14, 0x3003);
18707 MP_WritePhyUshort(sc, 0x14, 0x59b1);
18708 MP_WritePhyUshort(sc, 0x14, 0xa540);
18709 MP_WritePhyUshort(sc, 0x14, 0xa601);
18710 MP_WritePhyUshort(sc, 0x14, 0xd710);
18711 MP_WritePhyUshort(sc, 0x14, 0x4043);
18712 MP_WritePhyUshort(sc, 0x14, 0xa910);
18713 MP_WritePhyUshort(sc, 0x14, 0xd711);
18714 MP_WritePhyUshort(sc, 0x14, 0x60a0);
18715 MP_WritePhyUshort(sc, 0x14, 0xca33);
18716 MP_WritePhyUshort(sc, 0x14, 0xcb33);
18717 MP_WritePhyUshort(sc, 0x14, 0xa941);
18718 MP_WritePhyUshort(sc, 0x14, 0x2c82);
18719 MP_WritePhyUshort(sc, 0x14, 0xcaff);
18720 MP_WritePhyUshort(sc, 0x14, 0xcbff);
18721 MP_WritePhyUshort(sc, 0x14, 0xa921);
18722 MP_WritePhyUshort(sc, 0x14, 0xce02);
18723 MP_WritePhyUshort(sc, 0x14, 0xe070);
18724 MP_WritePhyUshort(sc, 0x14, 0x0f10);
18725 MP_WritePhyUshort(sc, 0x14, 0xaf01);
18726 MP_WritePhyUshort(sc, 0x14, 0x8f01);
18727 MP_WritePhyUshort(sc, 0x14, 0x1766);
18728 MP_WritePhyUshort(sc, 0x14, 0x8e02);
18729 MP_WritePhyUshort(sc, 0x14, 0x1787);
18730 MP_WritePhyUshort(sc, 0x14, 0xd710);
18731 MP_WritePhyUshort(sc, 0x14, 0x609c);
18732 MP_WritePhyUshort(sc, 0x14, 0xd71e);
18733 MP_WritePhyUshort(sc, 0x14, 0x7fa4);
18734 MP_WritePhyUshort(sc, 0x14, 0x2cd4);
18735 MP_WritePhyUshort(sc, 0x14, 0x1ce9);
18736 MP_WritePhyUshort(sc, 0x14, 0xce04);
18737 MP_WritePhyUshort(sc, 0x14, 0xe070);
18738 MP_WritePhyUshort(sc, 0x14, 0x0f20);
18739 MP_WritePhyUshort(sc, 0x14, 0xaf01);
18740 MP_WritePhyUshort(sc, 0x14, 0x8f01);
18741 MP_WritePhyUshort(sc, 0x14, 0x1766);
18742 MP_WritePhyUshort(sc, 0x14, 0x8e04);
18743 MP_WritePhyUshort(sc, 0x14, 0x6044);
18744 MP_WritePhyUshort(sc, 0x14, 0x2cd4);
18745 MP_WritePhyUshort(sc, 0x14, 0xa520);
18746 MP_WritePhyUshort(sc, 0x14, 0xd710);
18747 MP_WritePhyUshort(sc, 0x14, 0x4043);
18748 MP_WritePhyUshort(sc, 0x14, 0x2cc1);
18749 MP_WritePhyUshort(sc, 0x14, 0xe00f);
18750 MP_WritePhyUshort(sc, 0x14, 0x0501);
18751 MP_WritePhyUshort(sc, 0x14, 0x1cef);
18752 MP_WritePhyUshort(sc, 0x14, 0xb801);
18753 MP_WritePhyUshort(sc, 0x14, 0xd71e);
18754 MP_WritePhyUshort(sc, 0x14, 0x4060);
18755 MP_WritePhyUshort(sc, 0x14, 0x7fc4);
18756 MP_WritePhyUshort(sc, 0x14, 0x2cd4);
18757 MP_WritePhyUshort(sc, 0x14, 0x1cf5);
18758 MP_WritePhyUshort(sc, 0x14, 0xe00f);
18759 MP_WritePhyUshort(sc, 0x14, 0x0502);
18760 MP_WritePhyUshort(sc, 0x14, 0x1cef);
18761 MP_WritePhyUshort(sc, 0x14, 0xb802);
18762 MP_WritePhyUshort(sc, 0x14, 0xd71e);
18763 MP_WritePhyUshort(sc, 0x14, 0x4061);
18764 MP_WritePhyUshort(sc, 0x14, 0x7fc4);
18765 MP_WritePhyUshort(sc, 0x14, 0x2cd4);
18766 MP_WritePhyUshort(sc, 0x14, 0x1cf5);
18767 MP_WritePhyUshort(sc, 0x14, 0xe00f);
18768 MP_WritePhyUshort(sc, 0x14, 0x0504);
18769 MP_WritePhyUshort(sc, 0x14, 0xd710);
18770 MP_WritePhyUshort(sc, 0x14, 0x6099);
18771 MP_WritePhyUshort(sc, 0x14, 0xd71e);
18772 MP_WritePhyUshort(sc, 0x14, 0x7fa4);
18773 MP_WritePhyUshort(sc, 0x14, 0x2cd4);
18774 MP_WritePhyUshort(sc, 0x14, 0xc17f);
18775 MP_WritePhyUshort(sc, 0x14, 0xc200);
18776 MP_WritePhyUshort(sc, 0x14, 0xc43f);
18777 MP_WritePhyUshort(sc, 0x14, 0xcc03);
18778 MP_WritePhyUshort(sc, 0x14, 0xa701);
18779 MP_WritePhyUshort(sc, 0x14, 0xa510);
18780 MP_WritePhyUshort(sc, 0x14, 0xd710);
18781 MP_WritePhyUshort(sc, 0x14, 0x4018);
18782 MP_WritePhyUshort(sc, 0x14, 0x9910);
18783 MP_WritePhyUshort(sc, 0x14, 0x8510);
18784 MP_WritePhyUshort(sc, 0x14, 0x2860);
18785 MP_WritePhyUshort(sc, 0x14, 0xe00f);
18786 MP_WritePhyUshort(sc, 0x14, 0x0504);
18787 MP_WritePhyUshort(sc, 0x14, 0xd710);
18788 MP_WritePhyUshort(sc, 0x14, 0x6099);
18789 MP_WritePhyUshort(sc, 0x14, 0xd71e);
18790 MP_WritePhyUshort(sc, 0x14, 0x7fa4);
18791 MP_WritePhyUshort(sc, 0x14, 0x2cd4);
18792 MP_WritePhyUshort(sc, 0x14, 0xa608);
18793 MP_WritePhyUshort(sc, 0x14, 0xc17d);
18794 MP_WritePhyUshort(sc, 0x14, 0xc200);
18795 MP_WritePhyUshort(sc, 0x14, 0xc43f);
18796 MP_WritePhyUshort(sc, 0x14, 0xcc03);
18797 MP_WritePhyUshort(sc, 0x14, 0xa701);
18798 MP_WritePhyUshort(sc, 0x14, 0xa510);
18799 MP_WritePhyUshort(sc, 0x14, 0xd710);
18800 MP_WritePhyUshort(sc, 0x14, 0x4018);
18801 MP_WritePhyUshort(sc, 0x14, 0x9910);
18802 MP_WritePhyUshort(sc, 0x14, 0x8510);
18803 MP_WritePhyUshort(sc, 0x14, 0x2926);
18804 MP_WritePhyUshort(sc, 0x14, 0x1792);
18805 MP_WritePhyUshort(sc, 0x14, 0x27db);
18806 MP_WritePhyUshort(sc, 0x14, 0xc000);
18807 MP_WritePhyUshort(sc, 0x14, 0xc100);
18808 MP_WritePhyUshort(sc, 0x14, 0xc200);
18809 MP_WritePhyUshort(sc, 0x14, 0xc300);
18810 MP_WritePhyUshort(sc, 0x14, 0xc400);
18811 MP_WritePhyUshort(sc, 0x14, 0xc500);
18812 MP_WritePhyUshort(sc, 0x14, 0xc600);
18813 MP_WritePhyUshort(sc, 0x14, 0xc7c1);
18814 MP_WritePhyUshort(sc, 0x14, 0xc800);
18815 MP_WritePhyUshort(sc, 0x14, 0xcc00);
18816 MP_WritePhyUshort(sc, 0x14, 0x0800);
18817 MP_WritePhyUshort(sc, 0x14, 0xca0f);
18818 MP_WritePhyUshort(sc, 0x14, 0xcbff);
18819 MP_WritePhyUshort(sc, 0x14, 0xa901);
18820 MP_WritePhyUshort(sc, 0x14, 0x8902);
18821 MP_WritePhyUshort(sc, 0x14, 0xc900);
18822 MP_WritePhyUshort(sc, 0x14, 0xca00);
18823 MP_WritePhyUshort(sc, 0x14, 0xcb00);
18824 MP_WritePhyUshort(sc, 0x14, 0x0800);
18825 MP_WritePhyUshort(sc, 0x14, 0xb804);
18826 MP_WritePhyUshort(sc, 0x14, 0x0800);
18827 MP_WritePhyUshort(sc, 0x14, 0xd71e);
18828 MP_WritePhyUshort(sc, 0x14, 0x6044);
18829 MP_WritePhyUshort(sc, 0x14, 0x9804);
18830 MP_WritePhyUshort(sc, 0x14, 0x0800);
18831 MP_WritePhyUshort(sc, 0x14, 0xd710);
18832 MP_WritePhyUshort(sc, 0x14, 0x6099);
18833 MP_WritePhyUshort(sc, 0x14, 0xd71e);
18834 MP_WritePhyUshort(sc, 0x14, 0x7fa4);
18835 MP_WritePhyUshort(sc, 0x14, 0x2cd4);
18836 MP_WritePhyUshort(sc, 0x14, 0x0800);
18837 MP_WritePhyUshort(sc, 0x14, 0xa510);
18838 MP_WritePhyUshort(sc, 0x14, 0xd710);
18839 MP_WritePhyUshort(sc, 0x14, 0x6098);
18840 MP_WritePhyUshort(sc, 0x14, 0xd71e);
18841 MP_WritePhyUshort(sc, 0x14, 0x7fa4);
18842 MP_WritePhyUshort(sc, 0x14, 0x2cd4);
18843 MP_WritePhyUshort(sc, 0x14, 0x8510);
18844 MP_WritePhyUshort(sc, 0x14, 0x0800);
18845 MP_WritePhyUshort(sc, 0x14, 0xd711);
18846 MP_WritePhyUshort(sc, 0x14, 0x3003);
18847 MP_WritePhyUshort(sc, 0x14, 0x1d01);
18848 MP_WritePhyUshort(sc, 0x14, 0x2d0b);
18849 MP_WritePhyUshort(sc, 0x14, 0xd710);
18850 MP_WritePhyUshort(sc, 0x14, 0x60be);
18851 MP_WritePhyUshort(sc, 0x14, 0xe060);
18852 MP_WritePhyUshort(sc, 0x14, 0x0920);
18853 MP_WritePhyUshort(sc, 0x14, 0x1cd6);
18854 MP_WritePhyUshort(sc, 0x14, 0x2c89);
18855 MP_WritePhyUshort(sc, 0x14, 0xd71e);
18856 MP_WritePhyUshort(sc, 0x14, 0x3063);
18857 MP_WritePhyUshort(sc, 0x14, 0x1948);
18858 MP_WritePhyUshort(sc, 0x14, 0x288a);
18859 MP_WritePhyUshort(sc, 0x14, 0x1cd6);
18860 MP_WritePhyUshort(sc, 0x14, 0x29bd);
18861 MP_WritePhyUshort(sc, 0x14, 0xa802);
18862 MP_WritePhyUshort(sc, 0x14, 0xa303);
18863 MP_WritePhyUshort(sc, 0x14, 0x843f);
18864 MP_WritePhyUshort(sc, 0x14, 0x81ff);
18865 MP_WritePhyUshort(sc, 0x14, 0x8208);
18866 MP_WritePhyUshort(sc, 0x14, 0xa201);
18867 MP_WritePhyUshort(sc, 0x14, 0xc001);
18868 MP_WritePhyUshort(sc, 0x14, 0xd710);
18869 MP_WritePhyUshort(sc, 0x14, 0x30a0);
18870 MP_WritePhyUshort(sc, 0x14, 0x0d1c);
18871 MP_WritePhyUshort(sc, 0x14, 0x30a0);
18872 MP_WritePhyUshort(sc, 0x14, 0x3d13);
18873 MP_WritePhyUshort(sc, 0x14, 0xd71e);
18874 MP_WritePhyUshort(sc, 0x14, 0x7f4c);
18875 MP_WritePhyUshort(sc, 0x14, 0x2ab6);
18876 MP_WritePhyUshort(sc, 0x14, 0xe003);
18877 MP_WritePhyUshort(sc, 0x14, 0x0202);
18878 MP_WritePhyUshort(sc, 0x14, 0xd710);
18879 MP_WritePhyUshort(sc, 0x14, 0x6090);
18880 MP_WritePhyUshort(sc, 0x14, 0xd71e);
18881 MP_WritePhyUshort(sc, 0x14, 0x7fac);
18882 MP_WritePhyUshort(sc, 0x14, 0x2ab6);
18883 MP_WritePhyUshort(sc, 0x14, 0xa20c);
18884 MP_WritePhyUshort(sc, 0x14, 0xd710);
18885 MP_WritePhyUshort(sc, 0x14, 0x6091);
18886 MP_WritePhyUshort(sc, 0x14, 0xd71e);
18887 MP_WritePhyUshort(sc, 0x14, 0x7fac);
18888 MP_WritePhyUshort(sc, 0x14, 0x2ab6);
18889 MP_WritePhyUshort(sc, 0x14, 0x820e);
18890 MP_WritePhyUshort(sc, 0x14, 0xa3e0);
18891 MP_WritePhyUshort(sc, 0x14, 0xa520);
18892 MP_WritePhyUshort(sc, 0x14, 0xd710);
18893 MP_WritePhyUshort(sc, 0x14, 0x609d);
18894 MP_WritePhyUshort(sc, 0x14, 0xd71e);
18895 MP_WritePhyUshort(sc, 0x14, 0x7fac);
18896 MP_WritePhyUshort(sc, 0x14, 0x2ab6);
18897 MP_WritePhyUshort(sc, 0x14, 0x8520);
18898 MP_WritePhyUshort(sc, 0x14, 0x6703);
18899 MP_WritePhyUshort(sc, 0x14, 0x2d34);
18900 MP_WritePhyUshort(sc, 0x14, 0xa13e);
18901 MP_WritePhyUshort(sc, 0x14, 0xc001);
18902 MP_WritePhyUshort(sc, 0x14, 0xd710);
18903 MP_WritePhyUshort(sc, 0x14, 0x4000);
18904 MP_WritePhyUshort(sc, 0x14, 0x6046);
18905 MP_WritePhyUshort(sc, 0x14, 0x2d0d);
18906 MP_WritePhyUshort(sc, 0x14, 0xa43f);
18907 MP_WritePhyUshort(sc, 0x14, 0xa101);
18908 MP_WritePhyUshort(sc, 0x14, 0xc020);
18909 MP_WritePhyUshort(sc, 0x14, 0xd710);
18910 MP_WritePhyUshort(sc, 0x14, 0x3121);
18911 MP_WritePhyUshort(sc, 0x14, 0x0d45);
18912 MP_WritePhyUshort(sc, 0x14, 0x30c0);
18913 MP_WritePhyUshort(sc, 0x14, 0x3d0d);
18914 MP_WritePhyUshort(sc, 0x14, 0xd71e);
18915 MP_WritePhyUshort(sc, 0x14, 0x7f4c);
18916 MP_WritePhyUshort(sc, 0x14, 0x2ab6);
18917 MP_WritePhyUshort(sc, 0x14, 0xa540);
18918 MP_WritePhyUshort(sc, 0x14, 0xc001);
18919 MP_WritePhyUshort(sc, 0x14, 0xd710);
18920 MP_WritePhyUshort(sc, 0x14, 0x4001);
18921 MP_WritePhyUshort(sc, 0x14, 0xe00f);
18922 MP_WritePhyUshort(sc, 0x14, 0x0501);
18923 MP_WritePhyUshort(sc, 0x14, 0x1dac);
18924 MP_WritePhyUshort(sc, 0x14, 0xc1c4);
18925 MP_WritePhyUshort(sc, 0x14, 0xa268);
18926 MP_WritePhyUshort(sc, 0x14, 0xa303);
18927 MP_WritePhyUshort(sc, 0x14, 0x8420);
18928 MP_WritePhyUshort(sc, 0x14, 0xe00f);
18929 MP_WritePhyUshort(sc, 0x14, 0x0502);
18930 MP_WritePhyUshort(sc, 0x14, 0x1dac);
18931 MP_WritePhyUshort(sc, 0x14, 0xc002);
18932 MP_WritePhyUshort(sc, 0x14, 0xd710);
18933 MP_WritePhyUshort(sc, 0x14, 0x4000);
18934 MP_WritePhyUshort(sc, 0x14, 0x8208);
18935 MP_WritePhyUshort(sc, 0x14, 0x8410);
18936 MP_WritePhyUshort(sc, 0x14, 0xa121);
18937 MP_WritePhyUshort(sc, 0x14, 0xc002);
18938 MP_WritePhyUshort(sc, 0x14, 0xd710);
18939 MP_WritePhyUshort(sc, 0x14, 0x4000);
18940 MP_WritePhyUshort(sc, 0x14, 0x8120);
18941 MP_WritePhyUshort(sc, 0x14, 0x8180);
18942 MP_WritePhyUshort(sc, 0x14, 0x1d97);
18943 MP_WritePhyUshort(sc, 0x14, 0xa180);
18944 MP_WritePhyUshort(sc, 0x14, 0xa13a);
18945 MP_WritePhyUshort(sc, 0x14, 0x8240);
18946 MP_WritePhyUshort(sc, 0x14, 0xa430);
18947 MP_WritePhyUshort(sc, 0x14, 0xc010);
18948 MP_WritePhyUshort(sc, 0x14, 0xd710);
18949 MP_WritePhyUshort(sc, 0x14, 0x30e1);
18950 MP_WritePhyUshort(sc, 0x14, 0x0abc);
18951 MP_WritePhyUshort(sc, 0x14, 0xd71e);
18952 MP_WritePhyUshort(sc, 0x14, 0x7f8c);
18953 MP_WritePhyUshort(sc, 0x14, 0x2ab6);
18954 MP_WritePhyUshort(sc, 0x14, 0xa480);
18955 MP_WritePhyUshort(sc, 0x14, 0xa230);
18956 MP_WritePhyUshort(sc, 0x14, 0xa303);
18957 MP_WritePhyUshort(sc, 0x14, 0xc001);
18958 MP_WritePhyUshort(sc, 0x14, 0xd70c);
18959 MP_WritePhyUshort(sc, 0x14, 0x4124);
18960 MP_WritePhyUshort(sc, 0x14, 0xd710);
18961 MP_WritePhyUshort(sc, 0x14, 0x6120);
18962 MP_WritePhyUshort(sc, 0x14, 0xd711);
18963 MP_WritePhyUshort(sc, 0x14, 0x3128);
18964 MP_WritePhyUshort(sc, 0x14, 0x3d76);
18965 MP_WritePhyUshort(sc, 0x14, 0x2d70);
18966 MP_WritePhyUshort(sc, 0x14, 0xa801);
18967 MP_WritePhyUshort(sc, 0x14, 0x2d6c);
18968 MP_WritePhyUshort(sc, 0x14, 0xd710);
18969 MP_WritePhyUshort(sc, 0x14, 0x4000);
18970 MP_WritePhyUshort(sc, 0x14, 0xe018);
18971 MP_WritePhyUshort(sc, 0x14, 0x0208);
18972 MP_WritePhyUshort(sc, 0x14, 0xa1f8);
18973 MP_WritePhyUshort(sc, 0x14, 0x8480);
18974 MP_WritePhyUshort(sc, 0x14, 0xc004);
18975 MP_WritePhyUshort(sc, 0x14, 0xd710);
18976 MP_WritePhyUshort(sc, 0x14, 0x4000);
18977 MP_WritePhyUshort(sc, 0x14, 0x6046);
18978 MP_WritePhyUshort(sc, 0x14, 0x2d0d);
18979 MP_WritePhyUshort(sc, 0x14, 0xa43f);
18980 MP_WritePhyUshort(sc, 0x14, 0xa105);
18981 MP_WritePhyUshort(sc, 0x14, 0x8228);
18982 MP_WritePhyUshort(sc, 0x14, 0xc004);
18983 MP_WritePhyUshort(sc, 0x14, 0xd710);
18984 MP_WritePhyUshort(sc, 0x14, 0x4000);
18985 MP_WritePhyUshort(sc, 0x14, 0x81bc);
18986 MP_WritePhyUshort(sc, 0x14, 0xa220);
18987 MP_WritePhyUshort(sc, 0x14, 0x1d97);
18988 MP_WritePhyUshort(sc, 0x14, 0x8220);
18989 MP_WritePhyUshort(sc, 0x14, 0xa1bc);
18990 MP_WritePhyUshort(sc, 0x14, 0xc040);
18991 MP_WritePhyUshort(sc, 0x14, 0xd710);
18992 MP_WritePhyUshort(sc, 0x14, 0x30e1);
18993 MP_WritePhyUshort(sc, 0x14, 0x0abc);
18994 MP_WritePhyUshort(sc, 0x14, 0x30e1);
18995 MP_WritePhyUshort(sc, 0x14, 0x3d0d);
18996 MP_WritePhyUshort(sc, 0x14, 0xd71e);
18997 MP_WritePhyUshort(sc, 0x14, 0x7f4c);
18998 MP_WritePhyUshort(sc, 0x14, 0x2ab6);
18999 MP_WritePhyUshort(sc, 0x14, 0xa802);
19000 MP_WritePhyUshort(sc, 0x14, 0xd70c);
19001 MP_WritePhyUshort(sc, 0x14, 0x4244);
19002 MP_WritePhyUshort(sc, 0x14, 0xa301);
19003 MP_WritePhyUshort(sc, 0x14, 0xc004);
19004 MP_WritePhyUshort(sc, 0x14, 0xd711);
19005 MP_WritePhyUshort(sc, 0x14, 0x3128);
19006 MP_WritePhyUshort(sc, 0x14, 0x3da5);
19007 MP_WritePhyUshort(sc, 0x14, 0xd710);
19008 MP_WritePhyUshort(sc, 0x14, 0x5f80);
19009 MP_WritePhyUshort(sc, 0x14, 0xd711);
19010 MP_WritePhyUshort(sc, 0x14, 0x3109);
19011 MP_WritePhyUshort(sc, 0x14, 0x3da7);
19012 MP_WritePhyUshort(sc, 0x14, 0x2dab);
19013 MP_WritePhyUshort(sc, 0x14, 0xa801);
19014 MP_WritePhyUshort(sc, 0x14, 0x2d9a);
19015 MP_WritePhyUshort(sc, 0x14, 0xa802);
19016 MP_WritePhyUshort(sc, 0x14, 0xc004);
19017 MP_WritePhyUshort(sc, 0x14, 0xd710);
19018 MP_WritePhyUshort(sc, 0x14, 0x4000);
19019 MP_WritePhyUshort(sc, 0x14, 0x0800);
19020 MP_WritePhyUshort(sc, 0x14, 0xa510);
19021 MP_WritePhyUshort(sc, 0x14, 0xd710);
19022 MP_WritePhyUshort(sc, 0x14, 0x609a);
19023 MP_WritePhyUshort(sc, 0x14, 0xd71e);
19024 MP_WritePhyUshort(sc, 0x14, 0x7fac);
19025 MP_WritePhyUshort(sc, 0x14, 0x2ab6);
19026 MP_WritePhyUshort(sc, 0x14, 0x8510);
19027 MP_WritePhyUshort(sc, 0x14, 0x0800);
19028 MP_WritePhyUshort(sc, 0x13, 0xA01A);
19029 MP_WritePhyUshort(sc, 0x14, 0x0000);
19030 MP_WritePhyUshort(sc, 0x13, 0xA006);
19031 MP_WritePhyUshort(sc, 0x14, 0x0ad6);
19032 MP_WritePhyUshort(sc, 0x13, 0xA004);
19033 MP_WritePhyUshort(sc, 0x14, 0x07f5);
19034 MP_WritePhyUshort(sc, 0x13, 0xA002);
19035 MP_WritePhyUshort(sc, 0x14, 0x06a9);
19036 MP_WritePhyUshort(sc, 0x13, 0xA000);
19037 MP_WritePhyUshort(sc, 0x14, 0xf069);
19038 MP_WritePhyUshort(sc, 0x13, 0xB820);
19039 MP_WritePhyUshort(sc, 0x14, 0x0210);
19041 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
19042 MP_WritePhyUshort(sc, 0x13, 0x83a0);
19043 MP_WritePhyUshort(sc, 0x14, 0xaf83);
19044 MP_WritePhyUshort(sc, 0x14, 0xacaf);
19045 MP_WritePhyUshort(sc, 0x14, 0x83b8);
19046 MP_WritePhyUshort(sc, 0x14, 0xaf83);
19047 MP_WritePhyUshort(sc, 0x14, 0xcdaf);
19048 MP_WritePhyUshort(sc, 0x14, 0x83d3);
19049 MP_WritePhyUshort(sc, 0x14, 0x0204);
19050 MP_WritePhyUshort(sc, 0x14, 0x9a02);
19051 MP_WritePhyUshort(sc, 0x14, 0x09a9);
19052 MP_WritePhyUshort(sc, 0x14, 0x0284);
19053 MP_WritePhyUshort(sc, 0x14, 0x61af);
19054 MP_WritePhyUshort(sc, 0x14, 0x02fc);
19055 MP_WritePhyUshort(sc, 0x14, 0xad20);
19056 MP_WritePhyUshort(sc, 0x14, 0x0302);
19057 MP_WritePhyUshort(sc, 0x14, 0x867c);
19058 MP_WritePhyUshort(sc, 0x14, 0xad21);
19059 MP_WritePhyUshort(sc, 0x14, 0x0302);
19060 MP_WritePhyUshort(sc, 0x14, 0x85c9);
19061 MP_WritePhyUshort(sc, 0x14, 0xad22);
19062 MP_WritePhyUshort(sc, 0x14, 0x0302);
19063 MP_WritePhyUshort(sc, 0x14, 0x1bc0);
19064 MP_WritePhyUshort(sc, 0x14, 0xaf17);
19065 MP_WritePhyUshort(sc, 0x14, 0xe302);
19066 MP_WritePhyUshort(sc, 0x14, 0x8703);
19067 MP_WritePhyUshort(sc, 0x14, 0xaf18);
19068 MP_WritePhyUshort(sc, 0x14, 0x6201);
19069 MP_WritePhyUshort(sc, 0x14, 0x06e0);
19070 MP_WritePhyUshort(sc, 0x14, 0x8148);
19071 MP_WritePhyUshort(sc, 0x14, 0xaf3c);
19072 MP_WritePhyUshort(sc, 0x14, 0x69f8);
19073 MP_WritePhyUshort(sc, 0x14, 0xf9fa);
19074 MP_WritePhyUshort(sc, 0x14, 0xef69);
19075 MP_WritePhyUshort(sc, 0x14, 0xee80);
19076 MP_WritePhyUshort(sc, 0x14, 0x10f7);
19077 MP_WritePhyUshort(sc, 0x14, 0xee80);
19078 MP_WritePhyUshort(sc, 0x14, 0x131f);
19079 MP_WritePhyUshort(sc, 0x14, 0xd104);
19080 MP_WritePhyUshort(sc, 0x14, 0xbf87);
19081 MP_WritePhyUshort(sc, 0x14, 0xf302);
19082 MP_WritePhyUshort(sc, 0x14, 0x4259);
19083 MP_WritePhyUshort(sc, 0x14, 0x0287);
19084 MP_WritePhyUshort(sc, 0x14, 0x88bf);
19085 MP_WritePhyUshort(sc, 0x14, 0x87cf);
19086 MP_WritePhyUshort(sc, 0x14, 0xd7b8);
19087 MP_WritePhyUshort(sc, 0x14, 0x22d0);
19088 MP_WritePhyUshort(sc, 0x14, 0x0c02);
19089 MP_WritePhyUshort(sc, 0x14, 0x4252);
19090 MP_WritePhyUshort(sc, 0x14, 0xee80);
19091 MP_WritePhyUshort(sc, 0x14, 0xcda0);
19092 MP_WritePhyUshort(sc, 0x14, 0xee80);
19093 MP_WritePhyUshort(sc, 0x14, 0xce8b);
19094 MP_WritePhyUshort(sc, 0x14, 0xee80);
19095 MP_WritePhyUshort(sc, 0x14, 0xd1f5);
19096 MP_WritePhyUshort(sc, 0x14, 0xee80);
19097 MP_WritePhyUshort(sc, 0x14, 0xd2a9);
19098 MP_WritePhyUshort(sc, 0x14, 0xee80);
19099 MP_WritePhyUshort(sc, 0x14, 0xd30a);
19100 MP_WritePhyUshort(sc, 0x14, 0xee80);
19101 MP_WritePhyUshort(sc, 0x14, 0xf010);
19102 MP_WritePhyUshort(sc, 0x14, 0xee80);
19103 MP_WritePhyUshort(sc, 0x14, 0xf38f);
19104 MP_WritePhyUshort(sc, 0x14, 0xee81);
19105 MP_WritePhyUshort(sc, 0x14, 0x011e);
19106 MP_WritePhyUshort(sc, 0x14, 0xee81);
19107 MP_WritePhyUshort(sc, 0x14, 0x0b4a);
19108 MP_WritePhyUshort(sc, 0x14, 0xee81);
19109 MP_WritePhyUshort(sc, 0x14, 0x0c7c);
19110 MP_WritePhyUshort(sc, 0x14, 0xee81);
19111 MP_WritePhyUshort(sc, 0x14, 0x127f);
19112 MP_WritePhyUshort(sc, 0x14, 0xd100);
19113 MP_WritePhyUshort(sc, 0x14, 0x0210);
19114 MP_WritePhyUshort(sc, 0x14, 0xb5ee);
19115 MP_WritePhyUshort(sc, 0x14, 0x8088);
19116 MP_WritePhyUshort(sc, 0x14, 0xa4ee);
19117 MP_WritePhyUshort(sc, 0x14, 0x8089);
19118 MP_WritePhyUshort(sc, 0x14, 0x44ee);
19119 MP_WritePhyUshort(sc, 0x14, 0x809a);
19120 MP_WritePhyUshort(sc, 0x14, 0xa4ee);
19121 MP_WritePhyUshort(sc, 0x14, 0x809b);
19122 MP_WritePhyUshort(sc, 0x14, 0x44ee);
19123 MP_WritePhyUshort(sc, 0x14, 0x809c);
19124 MP_WritePhyUshort(sc, 0x14, 0xa7ee);
19125 MP_WritePhyUshort(sc, 0x14, 0x80a5);
19126 MP_WritePhyUshort(sc, 0x14, 0xa7d2);
19127 MP_WritePhyUshort(sc, 0x14, 0x0002);
19128 MP_WritePhyUshort(sc, 0x14, 0x0e66);
19129 MP_WritePhyUshort(sc, 0x14, 0x0285);
19130 MP_WritePhyUshort(sc, 0x14, 0xc0ee);
19131 MP_WritePhyUshort(sc, 0x14, 0x87fc);
19132 MP_WritePhyUshort(sc, 0x14, 0x00e0);
19133 MP_WritePhyUshort(sc, 0x14, 0x8245);
19134 MP_WritePhyUshort(sc, 0x14, 0xf622);
19135 MP_WritePhyUshort(sc, 0x14, 0xe482);
19136 MP_WritePhyUshort(sc, 0x14, 0x45ef);
19137 MP_WritePhyUshort(sc, 0x14, 0x96fe);
19138 MP_WritePhyUshort(sc, 0x14, 0xfdfc);
19139 MP_WritePhyUshort(sc, 0x14, 0x0402);
19140 MP_WritePhyUshort(sc, 0x14, 0x847a);
19141 MP_WritePhyUshort(sc, 0x14, 0x0284);
19142 MP_WritePhyUshort(sc, 0x14, 0xb302);
19143 MP_WritePhyUshort(sc, 0x14, 0x0cab);
19144 MP_WritePhyUshort(sc, 0x14, 0x020c);
19145 MP_WritePhyUshort(sc, 0x14, 0xc402);
19146 MP_WritePhyUshort(sc, 0x14, 0x0cef);
19147 MP_WritePhyUshort(sc, 0x14, 0x020d);
19148 MP_WritePhyUshort(sc, 0x14, 0x0802);
19149 MP_WritePhyUshort(sc, 0x14, 0x0d33);
19150 MP_WritePhyUshort(sc, 0x14, 0x020c);
19151 MP_WritePhyUshort(sc, 0x14, 0x3d04);
19152 MP_WritePhyUshort(sc, 0x14, 0xf8fa);
19153 MP_WritePhyUshort(sc, 0x14, 0xef69);
19154 MP_WritePhyUshort(sc, 0x14, 0xe182);
19155 MP_WritePhyUshort(sc, 0x14, 0x2fac);
19156 MP_WritePhyUshort(sc, 0x14, 0x291a);
19157 MP_WritePhyUshort(sc, 0x14, 0xe082);
19158 MP_WritePhyUshort(sc, 0x14, 0x24ac);
19159 MP_WritePhyUshort(sc, 0x14, 0x2102);
19160 MP_WritePhyUshort(sc, 0x14, 0xae22);
19161 MP_WritePhyUshort(sc, 0x14, 0x0210);
19162 MP_WritePhyUshort(sc, 0x14, 0x57f6);
19163 MP_WritePhyUshort(sc, 0x14, 0x21e4);
19164 MP_WritePhyUshort(sc, 0x14, 0x8224);
19165 MP_WritePhyUshort(sc, 0x14, 0xd101);
19166 MP_WritePhyUshort(sc, 0x14, 0xbf44);
19167 MP_WritePhyUshort(sc, 0x14, 0xd202);
19168 MP_WritePhyUshort(sc, 0x14, 0x4259);
19169 MP_WritePhyUshort(sc, 0x14, 0xae10);
19170 MP_WritePhyUshort(sc, 0x14, 0x0212);
19171 MP_WritePhyUshort(sc, 0x14, 0x4cf6);
19172 MP_WritePhyUshort(sc, 0x14, 0x29e5);
19173 MP_WritePhyUshort(sc, 0x14, 0x822f);
19174 MP_WritePhyUshort(sc, 0x14, 0xe082);
19175 MP_WritePhyUshort(sc, 0x14, 0x24f6);
19176 MP_WritePhyUshort(sc, 0x14, 0x21e4);
19177 MP_WritePhyUshort(sc, 0x14, 0x8224);
19178 MP_WritePhyUshort(sc, 0x14, 0xef96);
19179 MP_WritePhyUshort(sc, 0x14, 0xfefc);
19180 MP_WritePhyUshort(sc, 0x14, 0x04f8);
19181 MP_WritePhyUshort(sc, 0x14, 0xe182);
19182 MP_WritePhyUshort(sc, 0x14, 0x2fac);
19183 MP_WritePhyUshort(sc, 0x14, 0x2a18);
19184 MP_WritePhyUshort(sc, 0x14, 0xe082);
19185 MP_WritePhyUshort(sc, 0x14, 0x24ac);
19186 MP_WritePhyUshort(sc, 0x14, 0x2202);
19187 MP_WritePhyUshort(sc, 0x14, 0xae26);
19188 MP_WritePhyUshort(sc, 0x14, 0x0284);
19189 MP_WritePhyUshort(sc, 0x14, 0xf802);
19190 MP_WritePhyUshort(sc, 0x14, 0x8565);
19191 MP_WritePhyUshort(sc, 0x14, 0xd101);
19192 MP_WritePhyUshort(sc, 0x14, 0xbf44);
19193 MP_WritePhyUshort(sc, 0x14, 0xd502);
19194 MP_WritePhyUshort(sc, 0x14, 0x4259);
19195 MP_WritePhyUshort(sc, 0x14, 0xae0e);
19196 MP_WritePhyUshort(sc, 0x14, 0x0284);
19197 MP_WritePhyUshort(sc, 0x14, 0xea02);
19198 MP_WritePhyUshort(sc, 0x14, 0x85a9);
19199 MP_WritePhyUshort(sc, 0x14, 0xe182);
19200 MP_WritePhyUshort(sc, 0x14, 0x2ff6);
19201 MP_WritePhyUshort(sc, 0x14, 0x2ae5);
19202 MP_WritePhyUshort(sc, 0x14, 0x822f);
19203 MP_WritePhyUshort(sc, 0x14, 0xe082);
19204 MP_WritePhyUshort(sc, 0x14, 0x24f6);
19205 MP_WritePhyUshort(sc, 0x14, 0x22e4);
19206 MP_WritePhyUshort(sc, 0x14, 0x8224);
19207 MP_WritePhyUshort(sc, 0x14, 0xfc04);
19208 MP_WritePhyUshort(sc, 0x14, 0xf9e2);
19209 MP_WritePhyUshort(sc, 0x14, 0x8011);
19210 MP_WritePhyUshort(sc, 0x14, 0xad31);
19211 MP_WritePhyUshort(sc, 0x14, 0x05d2);
19212 MP_WritePhyUshort(sc, 0x14, 0x0002);
19213 MP_WritePhyUshort(sc, 0x14, 0x0e66);
19214 MP_WritePhyUshort(sc, 0x14, 0xfd04);
19215 MP_WritePhyUshort(sc, 0x14, 0xf8f9);
19216 MP_WritePhyUshort(sc, 0x14, 0xfaef);
19217 MP_WritePhyUshort(sc, 0x14, 0x69e0);
19218 MP_WritePhyUshort(sc, 0x14, 0x8011);
19219 MP_WritePhyUshort(sc, 0x14, 0xad21);
19220 MP_WritePhyUshort(sc, 0x14, 0x5cbf);
19221 MP_WritePhyUshort(sc, 0x14, 0x43be);
19222 MP_WritePhyUshort(sc, 0x14, 0x0242);
19223 MP_WritePhyUshort(sc, 0x14, 0x97ac);
19224 MP_WritePhyUshort(sc, 0x14, 0x281b);
19225 MP_WritePhyUshort(sc, 0x14, 0xbf43);
19226 MP_WritePhyUshort(sc, 0x14, 0xc102);
19227 MP_WritePhyUshort(sc, 0x14, 0x4297);
19228 MP_WritePhyUshort(sc, 0x14, 0xac28);
19229 MP_WritePhyUshort(sc, 0x14, 0x12bf);
19230 MP_WritePhyUshort(sc, 0x14, 0x43c7);
19231 MP_WritePhyUshort(sc, 0x14, 0x0242);
19232 MP_WritePhyUshort(sc, 0x14, 0x97ac);
19233 MP_WritePhyUshort(sc, 0x14, 0x2804);
19234 MP_WritePhyUshort(sc, 0x14, 0xd300);
19235 MP_WritePhyUshort(sc, 0x14, 0xae07);
19236 MP_WritePhyUshort(sc, 0x14, 0xd306);
19237 MP_WritePhyUshort(sc, 0x14, 0xaf85);
19238 MP_WritePhyUshort(sc, 0x14, 0x56d3);
19239 MP_WritePhyUshort(sc, 0x14, 0x03e0);
19240 MP_WritePhyUshort(sc, 0x14, 0x8011);
19241 MP_WritePhyUshort(sc, 0x14, 0xad26);
19242 MP_WritePhyUshort(sc, 0x14, 0x25bf);
19243 MP_WritePhyUshort(sc, 0x14, 0x4559);
19244 MP_WritePhyUshort(sc, 0x14, 0x0242);
19245 MP_WritePhyUshort(sc, 0x14, 0x97e2);
19246 MP_WritePhyUshort(sc, 0x14, 0x8073);
19247 MP_WritePhyUshort(sc, 0x14, 0x0d21);
19248 MP_WritePhyUshort(sc, 0x14, 0xf637);
19249 MP_WritePhyUshort(sc, 0x14, 0x0d11);
19250 MP_WritePhyUshort(sc, 0x14, 0xf62f);
19251 MP_WritePhyUshort(sc, 0x14, 0x1b21);
19252 MP_WritePhyUshort(sc, 0x14, 0xaa02);
19253 MP_WritePhyUshort(sc, 0x14, 0xae10);
19254 MP_WritePhyUshort(sc, 0x14, 0xe280);
19255 MP_WritePhyUshort(sc, 0x14, 0x740d);
19256 MP_WritePhyUshort(sc, 0x14, 0x21f6);
19257 MP_WritePhyUshort(sc, 0x14, 0x371b);
19258 MP_WritePhyUshort(sc, 0x14, 0x21aa);
19259 MP_WritePhyUshort(sc, 0x14, 0x0313);
19260 MP_WritePhyUshort(sc, 0x14, 0xae02);
19261 MP_WritePhyUshort(sc, 0x14, 0x2b02);
19262 MP_WritePhyUshort(sc, 0x14, 0x020e);
19263 MP_WritePhyUshort(sc, 0x14, 0x5102);
19264 MP_WritePhyUshort(sc, 0x14, 0x0e66);
19265 MP_WritePhyUshort(sc, 0x14, 0x020f);
19266 MP_WritePhyUshort(sc, 0x14, 0xa3ef);
19267 MP_WritePhyUshort(sc, 0x14, 0x96fe);
19268 MP_WritePhyUshort(sc, 0x14, 0xfdfc);
19269 MP_WritePhyUshort(sc, 0x14, 0x04f8);
19270 MP_WritePhyUshort(sc, 0x14, 0xf9fa);
19271 MP_WritePhyUshort(sc, 0x14, 0xef69);
19272 MP_WritePhyUshort(sc, 0x14, 0xe080);
19273 MP_WritePhyUshort(sc, 0x14, 0x12ad);
19274 MP_WritePhyUshort(sc, 0x14, 0x2733);
19275 MP_WritePhyUshort(sc, 0x14, 0xbf43);
19276 MP_WritePhyUshort(sc, 0x14, 0xbe02);
19277 MP_WritePhyUshort(sc, 0x14, 0x4297);
19278 MP_WritePhyUshort(sc, 0x14, 0xac28);
19279 MP_WritePhyUshort(sc, 0x14, 0x09bf);
19280 MP_WritePhyUshort(sc, 0x14, 0x43c1);
19281 MP_WritePhyUshort(sc, 0x14, 0x0242);
19282 MP_WritePhyUshort(sc, 0x14, 0x97ad);
19283 MP_WritePhyUshort(sc, 0x14, 0x2821);
19284 MP_WritePhyUshort(sc, 0x14, 0xbf45);
19285 MP_WritePhyUshort(sc, 0x14, 0x5902);
19286 MP_WritePhyUshort(sc, 0x14, 0x4297);
19287 MP_WritePhyUshort(sc, 0x14, 0xe387);
19288 MP_WritePhyUshort(sc, 0x14, 0xffd2);
19289 MP_WritePhyUshort(sc, 0x14, 0x001b);
19290 MP_WritePhyUshort(sc, 0x14, 0x45ac);
19291 MP_WritePhyUshort(sc, 0x14, 0x2711);
19292 MP_WritePhyUshort(sc, 0x14, 0xe187);
19293 MP_WritePhyUshort(sc, 0x14, 0xfebf);
19294 MP_WritePhyUshort(sc, 0x14, 0x87e4);
19295 MP_WritePhyUshort(sc, 0x14, 0x0242);
19296 MP_WritePhyUshort(sc, 0x14, 0x590d);
19297 MP_WritePhyUshort(sc, 0x14, 0x11bf);
19298 MP_WritePhyUshort(sc, 0x14, 0x87e7);
19299 MP_WritePhyUshort(sc, 0x14, 0x0242);
19300 MP_WritePhyUshort(sc, 0x14, 0x59ef);
19301 MP_WritePhyUshort(sc, 0x14, 0x96fe);
19302 MP_WritePhyUshort(sc, 0x14, 0xfdfc);
19303 MP_WritePhyUshort(sc, 0x14, 0x04f8);
19304 MP_WritePhyUshort(sc, 0x14, 0xfaef);
19305 MP_WritePhyUshort(sc, 0x14, 0x69d1);
19306 MP_WritePhyUshort(sc, 0x14, 0x00bf);
19307 MP_WritePhyUshort(sc, 0x14, 0x87e4);
19308 MP_WritePhyUshort(sc, 0x14, 0x0242);
19309 MP_WritePhyUshort(sc, 0x14, 0x59bf);
19310 MP_WritePhyUshort(sc, 0x14, 0x87e7);
19311 MP_WritePhyUshort(sc, 0x14, 0x0242);
19312 MP_WritePhyUshort(sc, 0x14, 0x59ef);
19313 MP_WritePhyUshort(sc, 0x14, 0x96fe);
19314 MP_WritePhyUshort(sc, 0x14, 0xfc04);
19315 MP_WritePhyUshort(sc, 0x14, 0xee87);
19316 MP_WritePhyUshort(sc, 0x14, 0xff46);
19317 MP_WritePhyUshort(sc, 0x14, 0xee87);
19318 MP_WritePhyUshort(sc, 0x14, 0xfe01);
19319 MP_WritePhyUshort(sc, 0x14, 0x04f8);
19320 MP_WritePhyUshort(sc, 0x14, 0xfaef);
19321 MP_WritePhyUshort(sc, 0x14, 0x69e0);
19322 MP_WritePhyUshort(sc, 0x14, 0x8241);
19323 MP_WritePhyUshort(sc, 0x14, 0xa000);
19324 MP_WritePhyUshort(sc, 0x14, 0x0502);
19325 MP_WritePhyUshort(sc, 0x14, 0x85eb);
19326 MP_WritePhyUshort(sc, 0x14, 0xae0e);
19327 MP_WritePhyUshort(sc, 0x14, 0xa001);
19328 MP_WritePhyUshort(sc, 0x14, 0x0502);
19329 MP_WritePhyUshort(sc, 0x14, 0x1a5a);
19330 MP_WritePhyUshort(sc, 0x14, 0xae06);
19331 MP_WritePhyUshort(sc, 0x14, 0xa002);
19332 MP_WritePhyUshort(sc, 0x14, 0x0302);
19333 MP_WritePhyUshort(sc, 0x14, 0x1ae6);
19334 MP_WritePhyUshort(sc, 0x14, 0xef96);
19335 MP_WritePhyUshort(sc, 0x14, 0xfefc);
19336 MP_WritePhyUshort(sc, 0x14, 0x04f8);
19337 MP_WritePhyUshort(sc, 0x14, 0xf9fa);
19338 MP_WritePhyUshort(sc, 0x14, 0xef69);
19339 MP_WritePhyUshort(sc, 0x14, 0xe082);
19340 MP_WritePhyUshort(sc, 0x14, 0x29f6);
19341 MP_WritePhyUshort(sc, 0x14, 0x21e4);
19342 MP_WritePhyUshort(sc, 0x14, 0x8229);
19343 MP_WritePhyUshort(sc, 0x14, 0xe080);
19344 MP_WritePhyUshort(sc, 0x14, 0x10ac);
19345 MP_WritePhyUshort(sc, 0x14, 0x2202);
19346 MP_WritePhyUshort(sc, 0x14, 0xae76);
19347 MP_WritePhyUshort(sc, 0x14, 0xe082);
19348 MP_WritePhyUshort(sc, 0x14, 0x27f7);
19349 MP_WritePhyUshort(sc, 0x14, 0x21e4);
19350 MP_WritePhyUshort(sc, 0x14, 0x8227);
19351 MP_WritePhyUshort(sc, 0x14, 0xbf43);
19352 MP_WritePhyUshort(sc, 0x14, 0x1302);
19353 MP_WritePhyUshort(sc, 0x14, 0x4297);
19354 MP_WritePhyUshort(sc, 0x14, 0xef21);
19355 MP_WritePhyUshort(sc, 0x14, 0xbf43);
19356 MP_WritePhyUshort(sc, 0x14, 0x1602);
19357 MP_WritePhyUshort(sc, 0x14, 0x4297);
19358 MP_WritePhyUshort(sc, 0x14, 0x0c11);
19359 MP_WritePhyUshort(sc, 0x14, 0x1e21);
19360 MP_WritePhyUshort(sc, 0x14, 0xbf43);
19361 MP_WritePhyUshort(sc, 0x14, 0x1902);
19362 MP_WritePhyUshort(sc, 0x14, 0x4297);
19363 MP_WritePhyUshort(sc, 0x14, 0x0c12);
19364 MP_WritePhyUshort(sc, 0x14, 0x1e21);
19365 MP_WritePhyUshort(sc, 0x14, 0xe682);
19366 MP_WritePhyUshort(sc, 0x14, 0x43a2);
19367 MP_WritePhyUshort(sc, 0x14, 0x000a);
19368 MP_WritePhyUshort(sc, 0x14, 0xe182);
19369 MP_WritePhyUshort(sc, 0x14, 0x27f6);
19370 MP_WritePhyUshort(sc, 0x14, 0x29e5);
19371 MP_WritePhyUshort(sc, 0x14, 0x8227);
19372 MP_WritePhyUshort(sc, 0x14, 0xae42);
19373 MP_WritePhyUshort(sc, 0x14, 0xe082);
19374 MP_WritePhyUshort(sc, 0x14, 0x44f7);
19375 MP_WritePhyUshort(sc, 0x14, 0x21e4);
19376 MP_WritePhyUshort(sc, 0x14, 0x8244);
19377 MP_WritePhyUshort(sc, 0x14, 0x0246);
19378 MP_WritePhyUshort(sc, 0x14, 0xaebf);
19379 MP_WritePhyUshort(sc, 0x14, 0x4325);
19380 MP_WritePhyUshort(sc, 0x14, 0x0242);
19381 MP_WritePhyUshort(sc, 0x14, 0x97ef);
19382 MP_WritePhyUshort(sc, 0x14, 0x21bf);
19383 MP_WritePhyUshort(sc, 0x14, 0x431c);
19384 MP_WritePhyUshort(sc, 0x14, 0x0242);
19385 MP_WritePhyUshort(sc, 0x14, 0x970c);
19386 MP_WritePhyUshort(sc, 0x14, 0x121e);
19387 MP_WritePhyUshort(sc, 0x14, 0x21bf);
19388 MP_WritePhyUshort(sc, 0x14, 0x431f);
19389 MP_WritePhyUshort(sc, 0x14, 0x0242);
19390 MP_WritePhyUshort(sc, 0x14, 0x970c);
19391 MP_WritePhyUshort(sc, 0x14, 0x131e);
19392 MP_WritePhyUshort(sc, 0x14, 0x21bf);
19393 MP_WritePhyUshort(sc, 0x14, 0x4328);
19394 MP_WritePhyUshort(sc, 0x14, 0x0242);
19395 MP_WritePhyUshort(sc, 0x14, 0x970c);
19396 MP_WritePhyUshort(sc, 0x14, 0x141e);
19397 MP_WritePhyUshort(sc, 0x14, 0x21bf);
19398 MP_WritePhyUshort(sc, 0x14, 0x44b1);
19399 MP_WritePhyUshort(sc, 0x14, 0x0242);
19400 MP_WritePhyUshort(sc, 0x14, 0x970c);
19401 MP_WritePhyUshort(sc, 0x14, 0x161e);
19402 MP_WritePhyUshort(sc, 0x14, 0x21e6);
19403 MP_WritePhyUshort(sc, 0x14, 0x8242);
19404 MP_WritePhyUshort(sc, 0x14, 0xee82);
19405 MP_WritePhyUshort(sc, 0x14, 0x4101);
19406 MP_WritePhyUshort(sc, 0x14, 0xef96);
19407 MP_WritePhyUshort(sc, 0x14, 0xfefd);
19408 MP_WritePhyUshort(sc, 0x14, 0xfc04);
19409 MP_WritePhyUshort(sc, 0x14, 0xf8fa);
19410 MP_WritePhyUshort(sc, 0x14, 0xef69);
19411 MP_WritePhyUshort(sc, 0x14, 0xe082);
19412 MP_WritePhyUshort(sc, 0x14, 0x46a0);
19413 MP_WritePhyUshort(sc, 0x14, 0x0005);
19414 MP_WritePhyUshort(sc, 0x14, 0x0286);
19415 MP_WritePhyUshort(sc, 0x14, 0x96ae);
19416 MP_WritePhyUshort(sc, 0x14, 0x06a0);
19417 MP_WritePhyUshort(sc, 0x14, 0x0103);
19418 MP_WritePhyUshort(sc, 0x14, 0x0219);
19419 MP_WritePhyUshort(sc, 0x14, 0x19ef);
19420 MP_WritePhyUshort(sc, 0x14, 0x96fe);
19421 MP_WritePhyUshort(sc, 0x14, 0xfc04);
19422 MP_WritePhyUshort(sc, 0x14, 0xf8fa);
19423 MP_WritePhyUshort(sc, 0x14, 0xef69);
19424 MP_WritePhyUshort(sc, 0x14, 0xe082);
19425 MP_WritePhyUshort(sc, 0x14, 0x29f6);
19426 MP_WritePhyUshort(sc, 0x14, 0x20e4);
19427 MP_WritePhyUshort(sc, 0x14, 0x8229);
19428 MP_WritePhyUshort(sc, 0x14, 0xe080);
19429 MP_WritePhyUshort(sc, 0x14, 0x10ac);
19430 MP_WritePhyUshort(sc, 0x14, 0x2102);
19431 MP_WritePhyUshort(sc, 0x14, 0xae54);
19432 MP_WritePhyUshort(sc, 0x14, 0xe082);
19433 MP_WritePhyUshort(sc, 0x14, 0x27f7);
19434 MP_WritePhyUshort(sc, 0x14, 0x20e4);
19435 MP_WritePhyUshort(sc, 0x14, 0x8227);
19436 MP_WritePhyUshort(sc, 0x14, 0xbf42);
19437 MP_WritePhyUshort(sc, 0x14, 0xe602);
19438 MP_WritePhyUshort(sc, 0x14, 0x4297);
19439 MP_WritePhyUshort(sc, 0x14, 0xac28);
19440 MP_WritePhyUshort(sc, 0x14, 0x22bf);
19441 MP_WritePhyUshort(sc, 0x14, 0x430d);
19442 MP_WritePhyUshort(sc, 0x14, 0x0242);
19443 MP_WritePhyUshort(sc, 0x14, 0x97e5);
19444 MP_WritePhyUshort(sc, 0x14, 0x8247);
19445 MP_WritePhyUshort(sc, 0x14, 0xac28);
19446 MP_WritePhyUshort(sc, 0x14, 0x20d1);
19447 MP_WritePhyUshort(sc, 0x14, 0x03bf);
19448 MP_WritePhyUshort(sc, 0x14, 0x4307);
19449 MP_WritePhyUshort(sc, 0x14, 0x0242);
19450 MP_WritePhyUshort(sc, 0x14, 0x59ee);
19451 MP_WritePhyUshort(sc, 0x14, 0x8246);
19452 MP_WritePhyUshort(sc, 0x14, 0x00e1);
19453 MP_WritePhyUshort(sc, 0x14, 0x8227);
19454 MP_WritePhyUshort(sc, 0x14, 0xf628);
19455 MP_WritePhyUshort(sc, 0x14, 0xe582);
19456 MP_WritePhyUshort(sc, 0x14, 0x27ae);
19457 MP_WritePhyUshort(sc, 0x14, 0x21d1);
19458 MP_WritePhyUshort(sc, 0x14, 0x04bf);
19459 MP_WritePhyUshort(sc, 0x14, 0x4307);
19460 MP_WritePhyUshort(sc, 0x14, 0x0242);
19461 MP_WritePhyUshort(sc, 0x14, 0x59ae);
19462 MP_WritePhyUshort(sc, 0x14, 0x08d1);
19463 MP_WritePhyUshort(sc, 0x14, 0x05bf);
19464 MP_WritePhyUshort(sc, 0x14, 0x4307);
19465 MP_WritePhyUshort(sc, 0x14, 0x0242);
19466 MP_WritePhyUshort(sc, 0x14, 0x59e0);
19467 MP_WritePhyUshort(sc, 0x14, 0x8244);
19468 MP_WritePhyUshort(sc, 0x14, 0xf720);
19469 MP_WritePhyUshort(sc, 0x14, 0xe482);
19470 MP_WritePhyUshort(sc, 0x14, 0x4402);
19471 MP_WritePhyUshort(sc, 0x14, 0x46ae);
19472 MP_WritePhyUshort(sc, 0x14, 0xee82);
19473 MP_WritePhyUshort(sc, 0x14, 0x4601);
19474 MP_WritePhyUshort(sc, 0x14, 0xef96);
19475 MP_WritePhyUshort(sc, 0x14, 0xfefc);
19476 MP_WritePhyUshort(sc, 0x14, 0x04f8);
19477 MP_WritePhyUshort(sc, 0x14, 0xfaef);
19478 MP_WritePhyUshort(sc, 0x14, 0x69e0);
19479 MP_WritePhyUshort(sc, 0x14, 0x8013);
19480 MP_WritePhyUshort(sc, 0x14, 0xad24);
19481 MP_WritePhyUshort(sc, 0x14, 0x1cbf);
19482 MP_WritePhyUshort(sc, 0x14, 0x87f0);
19483 MP_WritePhyUshort(sc, 0x14, 0x0242);
19484 MP_WritePhyUshort(sc, 0x14, 0x97ad);
19485 MP_WritePhyUshort(sc, 0x14, 0x2813);
19486 MP_WritePhyUshort(sc, 0x14, 0xe087);
19487 MP_WritePhyUshort(sc, 0x14, 0xfca0);
19488 MP_WritePhyUshort(sc, 0x14, 0x0005);
19489 MP_WritePhyUshort(sc, 0x14, 0x0287);
19490 MP_WritePhyUshort(sc, 0x14, 0x36ae);
19491 MP_WritePhyUshort(sc, 0x14, 0x10a0);
19492 MP_WritePhyUshort(sc, 0x14, 0x0105);
19493 MP_WritePhyUshort(sc, 0x14, 0x0287);
19494 MP_WritePhyUshort(sc, 0x14, 0x48ae);
19495 MP_WritePhyUshort(sc, 0x14, 0x08e0);
19496 MP_WritePhyUshort(sc, 0x14, 0x8230);
19497 MP_WritePhyUshort(sc, 0x14, 0xf626);
19498 MP_WritePhyUshort(sc, 0x14, 0xe482);
19499 MP_WritePhyUshort(sc, 0x14, 0x30ef);
19500 MP_WritePhyUshort(sc, 0x14, 0x96fe);
19501 MP_WritePhyUshort(sc, 0x14, 0xfc04);
19502 MP_WritePhyUshort(sc, 0x14, 0xf8e0);
19503 MP_WritePhyUshort(sc, 0x14, 0x8245);
19504 MP_WritePhyUshort(sc, 0x14, 0xf722);
19505 MP_WritePhyUshort(sc, 0x14, 0xe482);
19506 MP_WritePhyUshort(sc, 0x14, 0x4502);
19507 MP_WritePhyUshort(sc, 0x14, 0x46ae);
19508 MP_WritePhyUshort(sc, 0x14, 0xee87);
19509 MP_WritePhyUshort(sc, 0x14, 0xfc01);
19510 MP_WritePhyUshort(sc, 0x14, 0xfc04);
19511 MP_WritePhyUshort(sc, 0x14, 0xf8fa);
19512 MP_WritePhyUshort(sc, 0x14, 0xef69);
19513 MP_WritePhyUshort(sc, 0x14, 0xfb02);
19514 MP_WritePhyUshort(sc, 0x14, 0x46d3);
19515 MP_WritePhyUshort(sc, 0x14, 0xad50);
19516 MP_WritePhyUshort(sc, 0x14, 0x2fbf);
19517 MP_WritePhyUshort(sc, 0x14, 0x87ed);
19518 MP_WritePhyUshort(sc, 0x14, 0xd101);
19519 MP_WritePhyUshort(sc, 0x14, 0x0242);
19520 MP_WritePhyUshort(sc, 0x14, 0x59bf);
19521 MP_WritePhyUshort(sc, 0x14, 0x87ed);
19522 MP_WritePhyUshort(sc, 0x14, 0xd100);
19523 MP_WritePhyUshort(sc, 0x14, 0x0242);
19524 MP_WritePhyUshort(sc, 0x14, 0x59e0);
19525 MP_WritePhyUshort(sc, 0x14, 0x8245);
19526 MP_WritePhyUshort(sc, 0x14, 0xf622);
19527 MP_WritePhyUshort(sc, 0x14, 0xe482);
19528 MP_WritePhyUshort(sc, 0x14, 0x4502);
19529 MP_WritePhyUshort(sc, 0x14, 0x46ae);
19530 MP_WritePhyUshort(sc, 0x14, 0xd100);
19531 MP_WritePhyUshort(sc, 0x14, 0xbf87);
19532 MP_WritePhyUshort(sc, 0x14, 0xf002);
19533 MP_WritePhyUshort(sc, 0x14, 0x4259);
19534 MP_WritePhyUshort(sc, 0x14, 0xee87);
19535 MP_WritePhyUshort(sc, 0x14, 0xfc00);
19536 MP_WritePhyUshort(sc, 0x14, 0xe082);
19537 MP_WritePhyUshort(sc, 0x14, 0x30f6);
19538 MP_WritePhyUshort(sc, 0x14, 0x26e4);
19539 MP_WritePhyUshort(sc, 0x14, 0x8230);
19540 MP_WritePhyUshort(sc, 0x14, 0xffef);
19541 MP_WritePhyUshort(sc, 0x14, 0x96fe);
19542 MP_WritePhyUshort(sc, 0x14, 0xfc04);
19543 MP_WritePhyUshort(sc, 0x14, 0xf8f9);
19544 MP_WritePhyUshort(sc, 0x14, 0xface);
19545 MP_WritePhyUshort(sc, 0x14, 0xfaef);
19546 MP_WritePhyUshort(sc, 0x14, 0x69fb);
19547 MP_WritePhyUshort(sc, 0x14, 0xbf87);
19548 MP_WritePhyUshort(sc, 0x14, 0xb3d7);
19549 MP_WritePhyUshort(sc, 0x14, 0x001c);
19550 MP_WritePhyUshort(sc, 0x14, 0xd819);
19551 MP_WritePhyUshort(sc, 0x14, 0xd919);
19552 MP_WritePhyUshort(sc, 0x14, 0xda19);
19553 MP_WritePhyUshort(sc, 0x14, 0xdb19);
19554 MP_WritePhyUshort(sc, 0x14, 0x07ef);
19555 MP_WritePhyUshort(sc, 0x14, 0x9502);
19556 MP_WritePhyUshort(sc, 0x14, 0x4259);
19557 MP_WritePhyUshort(sc, 0x14, 0x073f);
19558 MP_WritePhyUshort(sc, 0x14, 0x0004);
19559 MP_WritePhyUshort(sc, 0x14, 0x9fec);
19560 MP_WritePhyUshort(sc, 0x14, 0xffef);
19561 MP_WritePhyUshort(sc, 0x14, 0x96fe);
19562 MP_WritePhyUshort(sc, 0x14, 0xc6fe);
19563 MP_WritePhyUshort(sc, 0x14, 0xfdfc);
19564 MP_WritePhyUshort(sc, 0x14, 0x0400);
19565 MP_WritePhyUshort(sc, 0x14, 0x0145);
19566 MP_WritePhyUshort(sc, 0x14, 0x7d00);
19567 MP_WritePhyUshort(sc, 0x14, 0x0345);
19568 MP_WritePhyUshort(sc, 0x14, 0x5c00);
19569 MP_WritePhyUshort(sc, 0x14, 0x0143);
19570 MP_WritePhyUshort(sc, 0x14, 0x4f00);
19571 MP_WritePhyUshort(sc, 0x14, 0x0387);
19572 MP_WritePhyUshort(sc, 0x14, 0xdb00);
19573 MP_WritePhyUshort(sc, 0x14, 0x0987);
19574 MP_WritePhyUshort(sc, 0x14, 0xde00);
19575 MP_WritePhyUshort(sc, 0x14, 0x0987);
19576 MP_WritePhyUshort(sc, 0x14, 0xe100);
19577 MP_WritePhyUshort(sc, 0x14, 0x0087);
19578 MP_WritePhyUshort(sc, 0x14, 0xeaa4);
19579 MP_WritePhyUshort(sc, 0x14, 0x00b8);
19580 MP_WritePhyUshort(sc, 0x14, 0x20c4);
19581 MP_WritePhyUshort(sc, 0x14, 0x1600);
19582 MP_WritePhyUshort(sc, 0x14, 0x000f);
19583 MP_WritePhyUshort(sc, 0x14, 0xf800);
19584 MP_WritePhyUshort(sc, 0x14, 0x7098);
19585 MP_WritePhyUshort(sc, 0x14, 0xa58a);
19586 MP_WritePhyUshort(sc, 0x14, 0xb6a8);
19587 MP_WritePhyUshort(sc, 0x14, 0x3e50);
19588 MP_WritePhyUshort(sc, 0x14, 0xa83e);
19589 MP_WritePhyUshort(sc, 0x14, 0x33bc);
19590 MP_WritePhyUshort(sc, 0x14, 0xc622);
19591 MP_WritePhyUshort(sc, 0x14, 0xbcc6);
19592 MP_WritePhyUshort(sc, 0x14, 0xaaa4);
19593 MP_WritePhyUshort(sc, 0x14, 0x42ff);
19594 MP_WritePhyUshort(sc, 0x14, 0xc408);
19595 MP_WritePhyUshort(sc, 0x14, 0x00c4);
19596 MP_WritePhyUshort(sc, 0x14, 0x16a8);
19597 MP_WritePhyUshort(sc, 0x14, 0xbcc0);
19598 MP_WritePhyUshort(sc, 0x13, 0xb818);
19599 MP_WritePhyUshort(sc, 0x14, 0x02f3);
19600 MP_WritePhyUshort(sc, 0x13, 0xb81a);
19601 MP_WritePhyUshort(sc, 0x14, 0x17d1);
19602 MP_WritePhyUshort(sc, 0x13, 0xb81c);
19603 MP_WritePhyUshort(sc, 0x14, 0x185a);
19604 MP_WritePhyUshort(sc, 0x13, 0xb81e);
19605 MP_WritePhyUshort(sc, 0x14, 0x3c66);
19606 MP_WritePhyUshort(sc, 0x13, 0xb820);
19607 MP_WritePhyUshort(sc, 0x14, 0x021f);
19608 MP_WritePhyUshort(sc, 0x13, 0xc416);
19609 MP_WritePhyUshort(sc, 0x14, 0x0500);
19610 MP_WritePhyUshort(sc, 0x13, 0xb82e);
19611 MP_WritePhyUshort(sc, 0x14, 0xfffc);
19613 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
19614 MP_WritePhyUshort(sc, 0x13, 0x0000);
19615 MP_WritePhyUshort(sc, 0x14, 0x0000);
19616 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
19617 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
19618 PhyRegValue &= ~(BIT_9);
19619 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
19620 MP_WritePhyUshort(sc, 0x1f, 0x0A43);
19621 MP_WritePhyUshort(sc, 0x13, 0x8146);
19622 MP_WritePhyUshort(sc, 0x14, 0x0000);
19624 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
19625 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
19626 PhyRegValue &= ~(BIT_4);
19627 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
19628 if (sc->RequiredSecLanDonglePatch) {
19629 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
19630 PhyRegValue = MP_ReadPhyUshort(sc, 0x11);
19631 PhyRegValue &= ~(BIT_6);
19632 MP_WritePhyUshort(sc, 0x11, PhyRegValue);
19636 static void re_set_phy_mcu_8168gu_2(struct re_softc *sc)
19638 u_int16_t PhyRegValue;
19641 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
19642 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
19643 PhyRegValue |= BIT_4;
19644 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
19646 MP_WritePhyUshort(sc, 0x1f, 0x0B80);
19649 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
19650 PhyRegValue &= 0x0040;
19654 } while(PhyRegValue != 0x0040 && WaitCnt <1000);
19656 MP_WritePhyUshort(sc, 0x1f, 0x0A43);
19657 MP_WritePhyUshort(sc, 0x13, 0x8146);
19658 MP_WritePhyUshort(sc, 0x14, 0x0300);
19659 MP_WritePhyUshort(sc, 0x13, 0xB82E);
19660 MP_WritePhyUshort(sc, 0x14, 0x0001);
19662 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
19663 MP_WritePhyUshort(sc, 0x13, 0xb820);
19664 MP_WritePhyUshort(sc, 0x14, 0x0290);
19665 MP_WritePhyUshort(sc, 0x13, 0xa012);
19666 MP_WritePhyUshort(sc, 0x14, 0x0000);
19667 MP_WritePhyUshort(sc, 0x13, 0xa014);
19668 MP_WritePhyUshort(sc, 0x14, 0x2c04);
19669 MP_WritePhyUshort(sc, 0x14, 0x2c07);
19670 MP_WritePhyUshort(sc, 0x14, 0x2c07);
19671 MP_WritePhyUshort(sc, 0x14, 0x2c07);
19672 MP_WritePhyUshort(sc, 0x14, 0xa304);
19673 MP_WritePhyUshort(sc, 0x14, 0xa301);
19674 MP_WritePhyUshort(sc, 0x14, 0x207e);
19675 MP_WritePhyUshort(sc, 0x13, 0xa01a);
19676 MP_WritePhyUshort(sc, 0x14, 0x0000);
19677 MP_WritePhyUshort(sc, 0x13, 0xa006);
19678 MP_WritePhyUshort(sc, 0x14, 0x0fff);
19679 MP_WritePhyUshort(sc, 0x13, 0xa004);
19680 MP_WritePhyUshort(sc, 0x14, 0x0fff);
19681 MP_WritePhyUshort(sc, 0x13, 0xa002);
19682 MP_WritePhyUshort(sc, 0x14, 0x0fff);
19683 MP_WritePhyUshort(sc, 0x13, 0xa000);
19684 MP_WritePhyUshort(sc, 0x14, 0x107c);
19685 MP_WritePhyUshort(sc, 0x13, 0xb820);
19686 MP_WritePhyUshort(sc, 0x14, 0x0210);
19688 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
19689 MP_WritePhyUshort(sc, 0x13, 0x0000);
19690 MP_WritePhyUshort(sc, 0x14, 0x0000);
19691 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
19692 PhyRegValue = MP_ReadPhyUshort(sc, 0x17);
19693 PhyRegValue &= ~(BIT_0);
19694 MP_WritePhyUshort(sc, 0x17, PhyRegValue);
19695 MP_WritePhyUshort(sc, 0x1f, 0x0A43);
19696 MP_WritePhyUshort(sc, 0x13, 0x8146);
19697 MP_WritePhyUshort(sc, 0x14, 0x0000);
19699 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
19700 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
19701 PhyRegValue &= ~(BIT_4);
19702 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
19703 if (sc->RequiredSecLanDonglePatch) {
19704 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
19705 PhyRegValue = MP_ReadPhyUshort(sc, 0x11);
19706 PhyRegValue &= ~(BIT_6);
19707 MP_WritePhyUshort(sc, 0x11, PhyRegValue);
19711 static void re_set_phy_mcu_8411b_1(struct re_softc *sc)
19713 u_int16_t PhyRegValue;
19716 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
19717 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
19718 PhyRegValue |= BIT_4;
19719 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
19721 MP_WritePhyUshort(sc, 0x1f, 0x0B80);
19724 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
19725 PhyRegValue &= 0x0040;
19729 } while(PhyRegValue != 0x0040 && WaitCnt <1000);
19731 MP_WritePhyUshort(sc, 0x1f, 0x0A43);
19732 MP_WritePhyUshort(sc, 0x13, 0x8146);
19733 MP_WritePhyUshort(sc, 0x14, 0x0100);
19734 MP_WritePhyUshort(sc, 0x13, 0xB82E);
19735 MP_WritePhyUshort(sc, 0x14, 0x0001);
19737 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
19738 MP_WritePhyUshort(sc, 0x13, 0xb820);
19739 MP_WritePhyUshort(sc, 0x14, 0x0290);
19740 MP_WritePhyUshort(sc, 0x13, 0xa012);
19741 MP_WritePhyUshort(sc, 0x14, 0x0000);
19742 MP_WritePhyUshort(sc, 0x13, 0xa014);
19743 MP_WritePhyUshort(sc, 0x14, 0x2c04);
19744 MP_WritePhyUshort(sc, 0x14, 0x2c07);
19745 MP_WritePhyUshort(sc, 0x14, 0x2c07);
19746 MP_WritePhyUshort(sc, 0x14, 0x2c07);
19747 MP_WritePhyUshort(sc, 0x14, 0xa304);
19748 MP_WritePhyUshort(sc, 0x14, 0xa301);
19749 MP_WritePhyUshort(sc, 0x14, 0x207e);
19750 MP_WritePhyUshort(sc, 0x13, 0xa01a);
19751 MP_WritePhyUshort(sc, 0x14, 0x0000);
19752 MP_WritePhyUshort(sc, 0x13, 0xa006);
19753 MP_WritePhyUshort(sc, 0x14, 0x0fff);
19754 MP_WritePhyUshort(sc, 0x13, 0xa004);
19755 MP_WritePhyUshort(sc, 0x14, 0x0fff);
19756 MP_WritePhyUshort(sc, 0x13, 0xa002);
19757 MP_WritePhyUshort(sc, 0x14, 0x0fff);
19758 MP_WritePhyUshort(sc, 0x13, 0xa000);
19759 MP_WritePhyUshort(sc, 0x14, 0x107c);
19760 MP_WritePhyUshort(sc, 0x13, 0xb820);
19761 MP_WritePhyUshort(sc, 0x14, 0x0210);
19763 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
19764 MP_WritePhyUshort(sc, 0x13, 0x0000);
19765 MP_WritePhyUshort(sc, 0x14, 0x0000);
19766 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
19767 PhyRegValue = MP_ReadPhyUshort(sc, 0x17);
19768 PhyRegValue &= ~(BIT_0);
19769 MP_WritePhyUshort(sc, 0x17, PhyRegValue);
19770 MP_WritePhyUshort(sc, 0x1f, 0x0A43);
19771 MP_WritePhyUshort(sc, 0x13, 0x8146);
19772 MP_WritePhyUshort(sc, 0x14, 0x0000);
19774 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
19775 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
19776 PhyRegValue &= ~(BIT_4);
19777 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
19778 if (sc->RequiredSecLanDonglePatch) {
19779 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
19780 PhyRegValue = MP_ReadPhyUshort(sc, 0x11);
19781 PhyRegValue &= ~(BIT_6);
19782 MP_WritePhyUshort(sc, 0x11, PhyRegValue);
19786 static void re_set_phy_mcu_8168h_1(struct re_softc *sc)
19788 u_int16_t PhyRegValue;
19791 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
19792 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
19793 PhyRegValue |= BIT_4;
19794 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
19796 MP_WritePhyUshort(sc, 0x1f, 0x0B80);
19799 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
19800 PhyRegValue &= 0x0040;
19804 } while(PhyRegValue != 0x0040 && WaitCnt <1000);
19806 MP_WritePhyUshort(sc, 0x1f, 0x0A43);
19807 MP_WritePhyUshort(sc, 0x13, 0x8028);
19808 MP_WritePhyUshort(sc, 0x14, 0x6200);
19809 MP_WritePhyUshort(sc, 0x13, 0xB82E);
19810 MP_WritePhyUshort(sc, 0x14, 0x0001);
19812 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
19813 MP_WritePhyUshort(sc, 0x13, 0xB820);
19814 MP_WritePhyUshort(sc, 0x14, 0x0290);
19815 MP_WritePhyUshort(sc, 0x13, 0xA012);
19816 MP_WritePhyUshort(sc, 0x14, 0x0000);
19817 MP_WritePhyUshort(sc, 0x13, 0xA014);
19818 MP_WritePhyUshort(sc, 0x14, 0x2c04);
19819 MP_WritePhyUshort(sc, 0x14, 0x2c10);
19820 MP_WritePhyUshort(sc, 0x14, 0x2c10);
19821 MP_WritePhyUshort(sc, 0x14, 0x2c10);
19822 MP_WritePhyUshort(sc, 0x14, 0xa210);
19823 MP_WritePhyUshort(sc, 0x14, 0xa101);
19824 MP_WritePhyUshort(sc, 0x14, 0xce10);
19825 MP_WritePhyUshort(sc, 0x14, 0xe070);
19826 MP_WritePhyUshort(sc, 0x14, 0x0f40);
19827 MP_WritePhyUshort(sc, 0x14, 0xaf01);
19828 MP_WritePhyUshort(sc, 0x14, 0x8f01);
19829 MP_WritePhyUshort(sc, 0x14, 0x183e);
19830 MP_WritePhyUshort(sc, 0x14, 0x8e10);
19831 MP_WritePhyUshort(sc, 0x14, 0x8101);
19832 MP_WritePhyUshort(sc, 0x14, 0x8210);
19833 MP_WritePhyUshort(sc, 0x14, 0x28da);
19834 MP_WritePhyUshort(sc, 0x13, 0xA01A);
19835 MP_WritePhyUshort(sc, 0x14, 0x0000);
19836 MP_WritePhyUshort(sc, 0x13, 0xA006);
19837 MP_WritePhyUshort(sc, 0x14, 0x0017);
19838 MP_WritePhyUshort(sc, 0x13, 0xA004);
19839 MP_WritePhyUshort(sc, 0x14, 0x0015);
19840 MP_WritePhyUshort(sc, 0x13, 0xA002);
19841 MP_WritePhyUshort(sc, 0x14, 0x0013);
19842 MP_WritePhyUshort(sc, 0x13, 0xA000);
19843 MP_WritePhyUshort(sc, 0x14, 0x18d1);
19844 MP_WritePhyUshort(sc, 0x13, 0xB820);
19845 MP_WritePhyUshort(sc, 0x14, 0x0210);
19847 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
19848 MP_WritePhyUshort(sc, 0x13, 0x0000);
19849 MP_WritePhyUshort(sc, 0x14, 0x0000);
19850 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
19851 PhyRegValue = MP_ReadPhyUshort(sc, 0x17);
19852 PhyRegValue &= ~(BIT_0);
19853 MP_WritePhyUshort(sc, 0x17, PhyRegValue);
19854 MP_WritePhyUshort(sc, 0x1f, 0x0A43);
19855 MP_WritePhyUshort(sc, 0x13, 0x8028);
19856 MP_WritePhyUshort(sc, 0x14, 0x0000);
19858 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
19859 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
19860 PhyRegValue &= ~(BIT_4);
19861 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
19862 if (sc->RequiredSecLanDonglePatch) {
19863 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
19864 PhyRegValue = MP_ReadPhyUshort(sc, 0x11);
19865 PhyRegValue &= ~(BIT_6);
19866 MP_WritePhyUshort(sc, 0x11, PhyRegValue);
19870 static void re_set_phy_mcu_8168h_2(struct re_softc *sc)
19872 u_int16_t PhyRegValue;
19875 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
19876 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
19877 PhyRegValue |= BIT_4;
19878 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
19880 MP_WritePhyUshort(sc, 0x1f, 0x0B80);
19883 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
19884 PhyRegValue &= 0x0040;
19888 } while(PhyRegValue != 0x0040 && WaitCnt <1000);
19890 MP_WritePhyUshort(sc, 0x1f, 0x0A43);
19891 MP_WritePhyUshort(sc, 0x13, 0x8028);
19892 MP_WritePhyUshort(sc, 0x14, 0x6201);
19893 MP_WritePhyUshort(sc, 0x13, 0xB82E);
19894 MP_WritePhyUshort(sc, 0x14, 0x0001);
19896 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
19897 MP_WritePhyUshort(sc, 0x13, 0xB820);
19898 MP_WritePhyUshort(sc, 0x14, 0x0290);
19899 MP_WritePhyUshort(sc, 0x13, 0xA012);
19900 MP_WritePhyUshort(sc, 0x14, 0x0000);
19901 MP_WritePhyUshort(sc, 0x13, 0xA014);
19902 MP_WritePhyUshort(sc, 0x14, 0x2c04);
19903 MP_WritePhyUshort(sc, 0x14, 0x2c09);
19904 MP_WritePhyUshort(sc, 0x14, 0x2c09);
19905 MP_WritePhyUshort(sc, 0x14, 0x2c09);
19906 MP_WritePhyUshort(sc, 0x14, 0xad01);
19907 MP_WritePhyUshort(sc, 0x14, 0xad01);
19908 MP_WritePhyUshort(sc, 0x14, 0xad01);
19909 MP_WritePhyUshort(sc, 0x14, 0xad01);
19910 MP_WritePhyUshort(sc, 0x14, 0x236c);
19911 MP_WritePhyUshort(sc, 0x13, 0xA01A);
19912 MP_WritePhyUshort(sc, 0x14, 0x0000);
19913 MP_WritePhyUshort(sc, 0x13, 0xA006);
19914 MP_WritePhyUshort(sc, 0x14, 0x0fff);
19915 MP_WritePhyUshort(sc, 0x13, 0xA004);
19916 MP_WritePhyUshort(sc, 0x14, 0x0fff);
19917 MP_WritePhyUshort(sc, 0x13, 0xA002);
19918 MP_WritePhyUshort(sc, 0x14, 0x0fff);
19919 MP_WritePhyUshort(sc, 0x13, 0xA000);
19920 MP_WritePhyUshort(sc, 0x14, 0x136b);
19921 MP_WritePhyUshort(sc, 0x13, 0xB820);
19922 MP_WritePhyUshort(sc, 0x14, 0x0210);
19924 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
19925 MP_WritePhyUshort(sc, 0x13, 0x0000);
19926 MP_WritePhyUshort(sc, 0x14, 0x0000);
19927 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
19928 PhyRegValue = MP_ReadPhyUshort(sc, 0x17);
19929 PhyRegValue &= ~(BIT_0);
19930 MP_WritePhyUshort(sc, 0x17, PhyRegValue);
19931 MP_WritePhyUshort(sc, 0x1f, 0x0A43);
19932 MP_WritePhyUshort(sc, 0x13, 0x8028);
19933 MP_WritePhyUshort(sc, 0x14, 0x0000);
19935 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
19936 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
19937 PhyRegValue &= ~(BIT_4);
19938 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
19939 if (sc->RequiredSecLanDonglePatch) {
19940 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
19941 PhyRegValue = MP_ReadPhyUshort(sc, 0x11);
19942 PhyRegValue &= ~(BIT_6);
19943 MP_WritePhyUshort(sc, 0x11, PhyRegValue);
19947 static void re_set_phy_mcu_8168ep_1(struct re_softc *sc)
19949 u_int16_t PhyRegValue;
19952 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
19953 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
19954 PhyRegValue |= BIT_4;
19955 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
19957 MP_WritePhyUshort(sc, 0x1f, 0x0B80);
19960 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
19961 PhyRegValue &= 0x0040;
19965 } while(PhyRegValue != 0x0040 && WaitCnt <1000);
19967 MP_WritePhyUshort(sc, 0x1f, 0x0A43);
19968 MP_WritePhyUshort(sc, 0x13, 0x8146);
19969 MP_WritePhyUshort(sc, 0x14, 0x2700);
19970 MP_WritePhyUshort(sc, 0x13, 0xB82E);
19971 MP_WritePhyUshort(sc, 0x14, 0x0001);
19973 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
19974 MP_WritePhyUshort(sc, 0x13, 0xb820);
19975 MP_WritePhyUshort(sc, 0x14, 0x0090);
19976 MP_WritePhyUshort(sc, 0x13, 0xa012);
19977 MP_WritePhyUshort(sc, 0x14, 0x0000);
19978 MP_WritePhyUshort(sc, 0x13, 0xa014);
19979 MP_WritePhyUshort(sc, 0x14, 0x2c04);
19980 MP_WritePhyUshort(sc, 0x14, 0x2c1b);
19981 MP_WritePhyUshort(sc, 0x14, 0x2c65);
19982 MP_WritePhyUshort(sc, 0x14, 0x2d14);
19983 MP_WritePhyUshort(sc, 0x14, 0xd71e);
19984 MP_WritePhyUshort(sc, 0x14, 0x4092);
19985 MP_WritePhyUshort(sc, 0x14, 0xba04);
19986 MP_WritePhyUshort(sc, 0x14, 0x3084);
19987 MP_WritePhyUshort(sc, 0x14, 0x1d04);
19988 MP_WritePhyUshort(sc, 0x14, 0x1cdd);
19989 MP_WritePhyUshort(sc, 0x14, 0x1ce8);
19990 MP_WritePhyUshort(sc, 0x14, 0xaeff);
19991 MP_WritePhyUshort(sc, 0x14, 0xaf02);
19992 MP_WritePhyUshort(sc, 0x14, 0x8f02);
19993 MP_WritePhyUshort(sc, 0x14, 0x8eff);
19994 MP_WritePhyUshort(sc, 0x14, 0xce01);
19995 MP_WritePhyUshort(sc, 0x14, 0xe070);
19996 MP_WritePhyUshort(sc, 0x14, 0x0f00);
19997 MP_WritePhyUshort(sc, 0x14, 0xaf01);
19998 MP_WritePhyUshort(sc, 0x14, 0x8f01);
19999 MP_WritePhyUshort(sc, 0x14, 0xd712);
20000 MP_WritePhyUshort(sc, 0x14, 0x5fe8);
20001 MP_WritePhyUshort(sc, 0x14, 0xaf02);
20002 MP_WritePhyUshort(sc, 0x14, 0x8f02);
20003 MP_WritePhyUshort(sc, 0x14, 0x8e01);
20004 MP_WritePhyUshort(sc, 0x14, 0x1cf2);
20005 MP_WritePhyUshort(sc, 0x14, 0x2825);
20006 MP_WritePhyUshort(sc, 0x14, 0xd05a);
20007 MP_WritePhyUshort(sc, 0x14, 0xd19a);
20008 MP_WritePhyUshort(sc, 0x14, 0xd709);
20009 MP_WritePhyUshort(sc, 0x14, 0x608f);
20010 MP_WritePhyUshort(sc, 0x14, 0xd06b);
20011 MP_WritePhyUshort(sc, 0x14, 0xd18a);
20012 MP_WritePhyUshort(sc, 0x14, 0x2c25);
20013 MP_WritePhyUshort(sc, 0x14, 0xd0be);
20014 MP_WritePhyUshort(sc, 0x14, 0xd188);
20015 MP_WritePhyUshort(sc, 0x14, 0x2c25);
20016 MP_WritePhyUshort(sc, 0x14, 0xd708);
20017 MP_WritePhyUshort(sc, 0x14, 0x4072);
20018 MP_WritePhyUshort(sc, 0x14, 0xc104);
20019 MP_WritePhyUshort(sc, 0x14, 0x2c37);
20020 MP_WritePhyUshort(sc, 0x14, 0x4076);
20021 MP_WritePhyUshort(sc, 0x14, 0xc110);
20022 MP_WritePhyUshort(sc, 0x14, 0x2c37);
20023 MP_WritePhyUshort(sc, 0x14, 0x4071);
20024 MP_WritePhyUshort(sc, 0x14, 0xc102);
20025 MP_WritePhyUshort(sc, 0x14, 0x2c37);
20026 MP_WritePhyUshort(sc, 0x14, 0x4070);
20027 MP_WritePhyUshort(sc, 0x14, 0xc101);
20028 MP_WritePhyUshort(sc, 0x14, 0x2c37);
20029 MP_WritePhyUshort(sc, 0x14, 0x1786);
20030 MP_WritePhyUshort(sc, 0x14, 0xd709);
20031 MP_WritePhyUshort(sc, 0x14, 0x3390);
20032 MP_WritePhyUshort(sc, 0x14, 0x5c32);
20033 MP_WritePhyUshort(sc, 0x14, 0x2c47);
20034 MP_WritePhyUshort(sc, 0x14, 0x1786);
20035 MP_WritePhyUshort(sc, 0x14, 0xd708);
20036 MP_WritePhyUshort(sc, 0x14, 0x6193);
20037 MP_WritePhyUshort(sc, 0x14, 0xd709);
20038 MP_WritePhyUshort(sc, 0x14, 0x5f9d);
20039 MP_WritePhyUshort(sc, 0x14, 0x408b);
20040 MP_WritePhyUshort(sc, 0x14, 0xd71e);
20041 MP_WritePhyUshort(sc, 0x14, 0x6042);
20042 MP_WritePhyUshort(sc, 0x14, 0xb401);
20043 MP_WritePhyUshort(sc, 0x14, 0x1786);
20044 MP_WritePhyUshort(sc, 0x14, 0xd708);
20045 MP_WritePhyUshort(sc, 0x14, 0x6073);
20046 MP_WritePhyUshort(sc, 0x14, 0x5fbc);
20047 MP_WritePhyUshort(sc, 0x14, 0x2c46);
20048 MP_WritePhyUshort(sc, 0x14, 0x26fe);
20049 MP_WritePhyUshort(sc, 0x14, 0xb280);
20050 MP_WritePhyUshort(sc, 0x14, 0xa841);
20051 MP_WritePhyUshort(sc, 0x14, 0x94e0);
20052 MP_WritePhyUshort(sc, 0x14, 0x8710);
20053 MP_WritePhyUshort(sc, 0x14, 0xd709);
20054 MP_WritePhyUshort(sc, 0x14, 0x42ec);
20055 MP_WritePhyUshort(sc, 0x14, 0x606d);
20056 MP_WritePhyUshort(sc, 0x14, 0xd207);
20057 MP_WritePhyUshort(sc, 0x14, 0x2c50);
20058 MP_WritePhyUshort(sc, 0x14, 0xd203);
20059 MP_WritePhyUshort(sc, 0x14, 0x33ff);
20060 MP_WritePhyUshort(sc, 0x14, 0x5647);
20061 MP_WritePhyUshort(sc, 0x14, 0x3275);
20062 MP_WritePhyUshort(sc, 0x14, 0x7c57);
20063 MP_WritePhyUshort(sc, 0x14, 0xb240);
20064 MP_WritePhyUshort(sc, 0x14, 0xb402);
20065 MP_WritePhyUshort(sc, 0x14, 0x2647);
20066 MP_WritePhyUshort(sc, 0x14, 0x6096);
20067 MP_WritePhyUshort(sc, 0x14, 0xb240);
20068 MP_WritePhyUshort(sc, 0x14, 0xb406);
20069 MP_WritePhyUshort(sc, 0x14, 0x2647);
20070 MP_WritePhyUshort(sc, 0x14, 0x31d7);
20071 MP_WritePhyUshort(sc, 0x14, 0x7c60);
20072 MP_WritePhyUshort(sc, 0x14, 0xb240);
20073 MP_WritePhyUshort(sc, 0x14, 0xb40e);
20074 MP_WritePhyUshort(sc, 0x14, 0x2647);
20075 MP_WritePhyUshort(sc, 0x14, 0xb410);
20076 MP_WritePhyUshort(sc, 0x14, 0x8802);
20077 MP_WritePhyUshort(sc, 0x14, 0xb240);
20078 MP_WritePhyUshort(sc, 0x14, 0x940e);
20079 MP_WritePhyUshort(sc, 0x14, 0x2647);
20080 MP_WritePhyUshort(sc, 0x14, 0xba04);
20081 MP_WritePhyUshort(sc, 0x14, 0x1cdd);
20082 MP_WritePhyUshort(sc, 0x14, 0xa902);
20083 MP_WritePhyUshort(sc, 0x14, 0xd711);
20084 MP_WritePhyUshort(sc, 0x14, 0x4045);
20085 MP_WritePhyUshort(sc, 0x14, 0xa980);
20086 MP_WritePhyUshort(sc, 0x14, 0x3003);
20087 MP_WritePhyUshort(sc, 0x14, 0x5a19);
20088 MP_WritePhyUshort(sc, 0x14, 0xa540);
20089 MP_WritePhyUshort(sc, 0x14, 0xa601);
20090 MP_WritePhyUshort(sc, 0x14, 0xd710);
20091 MP_WritePhyUshort(sc, 0x14, 0x4043);
20092 MP_WritePhyUshort(sc, 0x14, 0xa910);
20093 MP_WritePhyUshort(sc, 0x14, 0xd711);
20094 MP_WritePhyUshort(sc, 0x14, 0x60a0);
20095 MP_WritePhyUshort(sc, 0x14, 0xca33);
20096 MP_WritePhyUshort(sc, 0x14, 0xcb33);
20097 MP_WritePhyUshort(sc, 0x14, 0xa941);
20098 MP_WritePhyUshort(sc, 0x14, 0x2c7b);
20099 MP_WritePhyUshort(sc, 0x14, 0xcaff);
20100 MP_WritePhyUshort(sc, 0x14, 0xcbff);
20101 MP_WritePhyUshort(sc, 0x14, 0xa921);
20102 MP_WritePhyUshort(sc, 0x14, 0xce02);
20103 MP_WritePhyUshort(sc, 0x14, 0xe070);
20104 MP_WritePhyUshort(sc, 0x14, 0x0f10);
20105 MP_WritePhyUshort(sc, 0x14, 0xaf01);
20106 MP_WritePhyUshort(sc, 0x14, 0x8f01);
20107 MP_WritePhyUshort(sc, 0x14, 0x1791);
20108 MP_WritePhyUshort(sc, 0x14, 0x8e02);
20109 MP_WritePhyUshort(sc, 0x14, 0xd710);
20110 MP_WritePhyUshort(sc, 0x14, 0x41a3);
20111 MP_WritePhyUshort(sc, 0x14, 0xa140);
20112 MP_WritePhyUshort(sc, 0x14, 0xa220);
20113 MP_WritePhyUshort(sc, 0x14, 0xce10);
20114 MP_WritePhyUshort(sc, 0x14, 0xe070);
20115 MP_WritePhyUshort(sc, 0x14, 0x0f40);
20116 MP_WritePhyUshort(sc, 0x14, 0xaf01);
20117 MP_WritePhyUshort(sc, 0x14, 0x8f01);
20118 MP_WritePhyUshort(sc, 0x14, 0x1791);
20119 MP_WritePhyUshort(sc, 0x14, 0x8e10);
20120 MP_WritePhyUshort(sc, 0x14, 0x8140);
20121 MP_WritePhyUshort(sc, 0x14, 0x8220);
20122 MP_WritePhyUshort(sc, 0x14, 0xa301);
20123 MP_WritePhyUshort(sc, 0x14, 0x17b2);
20124 MP_WritePhyUshort(sc, 0x14, 0xd710);
20125 MP_WritePhyUshort(sc, 0x14, 0x609c);
20126 MP_WritePhyUshort(sc, 0x14, 0xd71e);
20127 MP_WritePhyUshort(sc, 0x14, 0x7fa4);
20128 MP_WritePhyUshort(sc, 0x14, 0x2cdb);
20129 MP_WritePhyUshort(sc, 0x14, 0x1cf0);
20130 MP_WritePhyUshort(sc, 0x14, 0xce04);
20131 MP_WritePhyUshort(sc, 0x14, 0xe070);
20132 MP_WritePhyUshort(sc, 0x14, 0x0f20);
20133 MP_WritePhyUshort(sc, 0x14, 0xaf01);
20134 MP_WritePhyUshort(sc, 0x14, 0x8f01);
20135 MP_WritePhyUshort(sc, 0x14, 0x1791);
20136 MP_WritePhyUshort(sc, 0x14, 0x8e04);
20137 MP_WritePhyUshort(sc, 0x14, 0x6044);
20138 MP_WritePhyUshort(sc, 0x14, 0x2cdb);
20139 MP_WritePhyUshort(sc, 0x14, 0xa520);
20140 MP_WritePhyUshort(sc, 0x14, 0xd710);
20141 MP_WritePhyUshort(sc, 0x14, 0x4043);
20142 MP_WritePhyUshort(sc, 0x14, 0x2cc8);
20143 MP_WritePhyUshort(sc, 0x14, 0xe00f);
20144 MP_WritePhyUshort(sc, 0x14, 0x0501);
20145 MP_WritePhyUshort(sc, 0x14, 0x1cf6);
20146 MP_WritePhyUshort(sc, 0x14, 0xb801);
20147 MP_WritePhyUshort(sc, 0x14, 0xd71e);
20148 MP_WritePhyUshort(sc, 0x14, 0x4060);
20149 MP_WritePhyUshort(sc, 0x14, 0x7fc4);
20150 MP_WritePhyUshort(sc, 0x14, 0x2cdb);
20151 MP_WritePhyUshort(sc, 0x14, 0x1cfc);
20152 MP_WritePhyUshort(sc, 0x14, 0xe00f);
20153 MP_WritePhyUshort(sc, 0x14, 0x0502);
20154 MP_WritePhyUshort(sc, 0x14, 0x1cf6);
20155 MP_WritePhyUshort(sc, 0x14, 0xb802);
20156 MP_WritePhyUshort(sc, 0x14, 0xd71e);
20157 MP_WritePhyUshort(sc, 0x14, 0x4061);
20158 MP_WritePhyUshort(sc, 0x14, 0x7fc4);
20159 MP_WritePhyUshort(sc, 0x14, 0x2cdb);
20160 MP_WritePhyUshort(sc, 0x14, 0x1cfc);
20161 MP_WritePhyUshort(sc, 0x14, 0xe00f);
20162 MP_WritePhyUshort(sc, 0x14, 0x0504);
20163 MP_WritePhyUshort(sc, 0x14, 0xd710);
20164 MP_WritePhyUshort(sc, 0x14, 0x6099);
20165 MP_WritePhyUshort(sc, 0x14, 0xd71e);
20166 MP_WritePhyUshort(sc, 0x14, 0x7fa4);
20167 MP_WritePhyUshort(sc, 0x14, 0x2cdb);
20168 MP_WritePhyUshort(sc, 0x14, 0xc17f);
20169 MP_WritePhyUshort(sc, 0x14, 0xc200);
20170 MP_WritePhyUshort(sc, 0x14, 0xc43f);
20171 MP_WritePhyUshort(sc, 0x14, 0xcc03);
20172 MP_WritePhyUshort(sc, 0x14, 0xa701);
20173 MP_WritePhyUshort(sc, 0x14, 0xa510);
20174 MP_WritePhyUshort(sc, 0x14, 0xd710);
20175 MP_WritePhyUshort(sc, 0x14, 0x4018);
20176 MP_WritePhyUshort(sc, 0x14, 0x9910);
20177 MP_WritePhyUshort(sc, 0x14, 0x8510);
20178 MP_WritePhyUshort(sc, 0x14, 0x28a1);
20179 MP_WritePhyUshort(sc, 0x14, 0xe00f);
20180 MP_WritePhyUshort(sc, 0x14, 0x0504);
20181 MP_WritePhyUshort(sc, 0x14, 0xd710);
20182 MP_WritePhyUshort(sc, 0x14, 0x6099);
20183 MP_WritePhyUshort(sc, 0x14, 0xd71e);
20184 MP_WritePhyUshort(sc, 0x14, 0x7fa4);
20185 MP_WritePhyUshort(sc, 0x14, 0x2cdb);
20186 MP_WritePhyUshort(sc, 0x14, 0xa608);
20187 MP_WritePhyUshort(sc, 0x14, 0xc17d);
20188 MP_WritePhyUshort(sc, 0x14, 0xc200);
20189 MP_WritePhyUshort(sc, 0x14, 0xc43f);
20190 MP_WritePhyUshort(sc, 0x14, 0xcc03);
20191 MP_WritePhyUshort(sc, 0x14, 0xa701);
20192 MP_WritePhyUshort(sc, 0x14, 0xa510);
20193 MP_WritePhyUshort(sc, 0x14, 0xd710);
20194 MP_WritePhyUshort(sc, 0x14, 0x4018);
20195 MP_WritePhyUshort(sc, 0x14, 0x9910);
20196 MP_WritePhyUshort(sc, 0x14, 0x8510);
20197 MP_WritePhyUshort(sc, 0x14, 0x298e);
20198 MP_WritePhyUshort(sc, 0x14, 0x17bd);
20199 MP_WritePhyUshort(sc, 0x14, 0x2815);
20200 MP_WritePhyUshort(sc, 0x14, 0xc000);
20201 MP_WritePhyUshort(sc, 0x14, 0xc100);
20202 MP_WritePhyUshort(sc, 0x14, 0xc200);
20203 MP_WritePhyUshort(sc, 0x14, 0xc300);
20204 MP_WritePhyUshort(sc, 0x14, 0xc400);
20205 MP_WritePhyUshort(sc, 0x14, 0xc500);
20206 MP_WritePhyUshort(sc, 0x14, 0xc600);
20207 MP_WritePhyUshort(sc, 0x14, 0xc7c1);
20208 MP_WritePhyUshort(sc, 0x14, 0xc800);
20209 MP_WritePhyUshort(sc, 0x14, 0xcc00);
20210 MP_WritePhyUshort(sc, 0x14, 0x0800);
20211 MP_WritePhyUshort(sc, 0x14, 0xca0f);
20212 MP_WritePhyUshort(sc, 0x14, 0xcbff);
20213 MP_WritePhyUshort(sc, 0x14, 0xa901);
20214 MP_WritePhyUshort(sc, 0x14, 0x8902);
20215 MP_WritePhyUshort(sc, 0x14, 0xc900);
20216 MP_WritePhyUshort(sc, 0x14, 0xca00);
20217 MP_WritePhyUshort(sc, 0x14, 0xcb00);
20218 MP_WritePhyUshort(sc, 0x14, 0x0800);
20219 MP_WritePhyUshort(sc, 0x14, 0xb804);
20220 MP_WritePhyUshort(sc, 0x14, 0x0800);
20221 MP_WritePhyUshort(sc, 0x14, 0xd71e);
20222 MP_WritePhyUshort(sc, 0x14, 0x6044);
20223 MP_WritePhyUshort(sc, 0x14, 0x9804);
20224 MP_WritePhyUshort(sc, 0x14, 0x0800);
20225 MP_WritePhyUshort(sc, 0x14, 0xd710);
20226 MP_WritePhyUshort(sc, 0x14, 0x6099);
20227 MP_WritePhyUshort(sc, 0x14, 0xd71e);
20228 MP_WritePhyUshort(sc, 0x14, 0x7fa4);
20229 MP_WritePhyUshort(sc, 0x14, 0x2cdb);
20230 MP_WritePhyUshort(sc, 0x14, 0x0800);
20231 MP_WritePhyUshort(sc, 0x14, 0xa510);
20232 MP_WritePhyUshort(sc, 0x14, 0xd710);
20233 MP_WritePhyUshort(sc, 0x14, 0x6098);
20234 MP_WritePhyUshort(sc, 0x14, 0xd71e);
20235 MP_WritePhyUshort(sc, 0x14, 0x7fa4);
20236 MP_WritePhyUshort(sc, 0x14, 0x2cdb);
20237 MP_WritePhyUshort(sc, 0x14, 0x8510);
20238 MP_WritePhyUshort(sc, 0x14, 0x0800);
20239 MP_WritePhyUshort(sc, 0x14, 0xd711);
20240 MP_WritePhyUshort(sc, 0x14, 0x3003);
20241 MP_WritePhyUshort(sc, 0x14, 0x1d08);
20242 MP_WritePhyUshort(sc, 0x14, 0x2d12);
20243 MP_WritePhyUshort(sc, 0x14, 0xd710);
20244 MP_WritePhyUshort(sc, 0x14, 0x60be);
20245 MP_WritePhyUshort(sc, 0x14, 0xe060);
20246 MP_WritePhyUshort(sc, 0x14, 0x0920);
20247 MP_WritePhyUshort(sc, 0x14, 0x1cdd);
20248 MP_WritePhyUshort(sc, 0x14, 0x2c90);
20249 MP_WritePhyUshort(sc, 0x14, 0xd71e);
20250 MP_WritePhyUshort(sc, 0x14, 0x3063);
20251 MP_WritePhyUshort(sc, 0x14, 0x19b0);
20252 MP_WritePhyUshort(sc, 0x14, 0x28d5);
20253 MP_WritePhyUshort(sc, 0x14, 0x1cdd);
20254 MP_WritePhyUshort(sc, 0x14, 0x2a25);
20255 MP_WritePhyUshort(sc, 0x14, 0xa802);
20256 MP_WritePhyUshort(sc, 0x14, 0xa303);
20257 MP_WritePhyUshort(sc, 0x14, 0x843f);
20258 MP_WritePhyUshort(sc, 0x14, 0x81ff);
20259 MP_WritePhyUshort(sc, 0x14, 0x8208);
20260 MP_WritePhyUshort(sc, 0x14, 0xa201);
20261 MP_WritePhyUshort(sc, 0x14, 0xc001);
20262 MP_WritePhyUshort(sc, 0x14, 0xd710);
20263 MP_WritePhyUshort(sc, 0x14, 0x30a0);
20264 MP_WritePhyUshort(sc, 0x14, 0x0d23);
20265 MP_WritePhyUshort(sc, 0x14, 0x30a0);
20266 MP_WritePhyUshort(sc, 0x14, 0x3d1a);
20267 MP_WritePhyUshort(sc, 0x14, 0xd71e);
20268 MP_WritePhyUshort(sc, 0x14, 0x7f4c);
20269 MP_WritePhyUshort(sc, 0x14, 0x2b1e);
20270 MP_WritePhyUshort(sc, 0x14, 0xe003);
20271 MP_WritePhyUshort(sc, 0x14, 0x0202);
20272 MP_WritePhyUshort(sc, 0x14, 0xd710);
20273 MP_WritePhyUshort(sc, 0x14, 0x6090);
20274 MP_WritePhyUshort(sc, 0x14, 0xd71e);
20275 MP_WritePhyUshort(sc, 0x14, 0x7fac);
20276 MP_WritePhyUshort(sc, 0x14, 0x2b1e);
20277 MP_WritePhyUshort(sc, 0x14, 0xa20c);
20278 MP_WritePhyUshort(sc, 0x14, 0xd710);
20279 MP_WritePhyUshort(sc, 0x14, 0x6091);
20280 MP_WritePhyUshort(sc, 0x14, 0xd71e);
20281 MP_WritePhyUshort(sc, 0x14, 0x7fac);
20282 MP_WritePhyUshort(sc, 0x14, 0x2b1e);
20283 MP_WritePhyUshort(sc, 0x14, 0x820e);
20284 MP_WritePhyUshort(sc, 0x14, 0xa3e0);
20285 MP_WritePhyUshort(sc, 0x14, 0xa520);
20286 MP_WritePhyUshort(sc, 0x14, 0xd710);
20287 MP_WritePhyUshort(sc, 0x14, 0x609d);
20288 MP_WritePhyUshort(sc, 0x14, 0xd71e);
20289 MP_WritePhyUshort(sc, 0x14, 0x7fac);
20290 MP_WritePhyUshort(sc, 0x14, 0x2b1e);
20291 MP_WritePhyUshort(sc, 0x14, 0x8520);
20292 MP_WritePhyUshort(sc, 0x14, 0x6703);
20293 MP_WritePhyUshort(sc, 0x14, 0x2d3b);
20294 MP_WritePhyUshort(sc, 0x14, 0xa13e);
20295 MP_WritePhyUshort(sc, 0x14, 0xc001);
20296 MP_WritePhyUshort(sc, 0x14, 0xd710);
20297 MP_WritePhyUshort(sc, 0x14, 0x4000);
20298 MP_WritePhyUshort(sc, 0x14, 0x6046);
20299 MP_WritePhyUshort(sc, 0x14, 0x2d14);
20300 MP_WritePhyUshort(sc, 0x14, 0xa43f);
20301 MP_WritePhyUshort(sc, 0x14, 0xa101);
20302 MP_WritePhyUshort(sc, 0x14, 0xc020);
20303 MP_WritePhyUshort(sc, 0x14, 0xd710);
20304 MP_WritePhyUshort(sc, 0x14, 0x3121);
20305 MP_WritePhyUshort(sc, 0x14, 0x0d4c);
20306 MP_WritePhyUshort(sc, 0x14, 0x30c0);
20307 MP_WritePhyUshort(sc, 0x14, 0x3d14);
20308 MP_WritePhyUshort(sc, 0x14, 0xd71e);
20309 MP_WritePhyUshort(sc, 0x14, 0x7f4c);
20310 MP_WritePhyUshort(sc, 0x14, 0x2b1e);
20311 MP_WritePhyUshort(sc, 0x14, 0xa540);
20312 MP_WritePhyUshort(sc, 0x14, 0xc001);
20313 MP_WritePhyUshort(sc, 0x14, 0xd710);
20314 MP_WritePhyUshort(sc, 0x14, 0x4001);
20315 MP_WritePhyUshort(sc, 0x14, 0xe00f);
20316 MP_WritePhyUshort(sc, 0x14, 0x0501);
20317 MP_WritePhyUshort(sc, 0x14, 0x1db3);
20318 MP_WritePhyUshort(sc, 0x14, 0xc1c4);
20319 MP_WritePhyUshort(sc, 0x14, 0xa268);
20320 MP_WritePhyUshort(sc, 0x14, 0xa303);
20321 MP_WritePhyUshort(sc, 0x14, 0x8420);
20322 MP_WritePhyUshort(sc, 0x14, 0xe00f);
20323 MP_WritePhyUshort(sc, 0x14, 0x0502);
20324 MP_WritePhyUshort(sc, 0x14, 0x1db3);
20325 MP_WritePhyUshort(sc, 0x14, 0xc002);
20326 MP_WritePhyUshort(sc, 0x14, 0xd710);
20327 MP_WritePhyUshort(sc, 0x14, 0x4000);
20328 MP_WritePhyUshort(sc, 0x14, 0x8208);
20329 MP_WritePhyUshort(sc, 0x14, 0x8410);
20330 MP_WritePhyUshort(sc, 0x14, 0xa121);
20331 MP_WritePhyUshort(sc, 0x14, 0xc002);
20332 MP_WritePhyUshort(sc, 0x14, 0xd710);
20333 MP_WritePhyUshort(sc, 0x14, 0x4000);
20334 MP_WritePhyUshort(sc, 0x14, 0x8120);
20335 MP_WritePhyUshort(sc, 0x14, 0x8180);
20336 MP_WritePhyUshort(sc, 0x14, 0x1d9e);
20337 MP_WritePhyUshort(sc, 0x14, 0xa180);
20338 MP_WritePhyUshort(sc, 0x14, 0xa13a);
20339 MP_WritePhyUshort(sc, 0x14, 0x8240);
20340 MP_WritePhyUshort(sc, 0x14, 0xa430);
20341 MP_WritePhyUshort(sc, 0x14, 0xc010);
20342 MP_WritePhyUshort(sc, 0x14, 0xd710);
20343 MP_WritePhyUshort(sc, 0x14, 0x30e1);
20344 MP_WritePhyUshort(sc, 0x14, 0x0b24);
20345 MP_WritePhyUshort(sc, 0x14, 0xd71e);
20346 MP_WritePhyUshort(sc, 0x14, 0x7f8c);
20347 MP_WritePhyUshort(sc, 0x14, 0x2b1e);
20348 MP_WritePhyUshort(sc, 0x14, 0xa480);
20349 MP_WritePhyUshort(sc, 0x14, 0xa230);
20350 MP_WritePhyUshort(sc, 0x14, 0xa303);
20351 MP_WritePhyUshort(sc, 0x14, 0xc001);
20352 MP_WritePhyUshort(sc, 0x14, 0xd70c);
20353 MP_WritePhyUshort(sc, 0x14, 0x4124);
20354 MP_WritePhyUshort(sc, 0x14, 0xd710);
20355 MP_WritePhyUshort(sc, 0x14, 0x6120);
20356 MP_WritePhyUshort(sc, 0x14, 0xd711);
20357 MP_WritePhyUshort(sc, 0x14, 0x3128);
20358 MP_WritePhyUshort(sc, 0x14, 0x3d7d);
20359 MP_WritePhyUshort(sc, 0x14, 0x2d77);
20360 MP_WritePhyUshort(sc, 0x14, 0xa801);
20361 MP_WritePhyUshort(sc, 0x14, 0x2d73);
20362 MP_WritePhyUshort(sc, 0x14, 0xd710);
20363 MP_WritePhyUshort(sc, 0x14, 0x4000);
20364 MP_WritePhyUshort(sc, 0x14, 0xe018);
20365 MP_WritePhyUshort(sc, 0x14, 0x0208);
20366 MP_WritePhyUshort(sc, 0x14, 0xa1f8);
20367 MP_WritePhyUshort(sc, 0x14, 0x8480);
20368 MP_WritePhyUshort(sc, 0x14, 0xc004);
20369 MP_WritePhyUshort(sc, 0x14, 0xd710);
20370 MP_WritePhyUshort(sc, 0x14, 0x4000);
20371 MP_WritePhyUshort(sc, 0x14, 0x6046);
20372 MP_WritePhyUshort(sc, 0x14, 0x2d14);
20373 MP_WritePhyUshort(sc, 0x14, 0xa43f);
20374 MP_WritePhyUshort(sc, 0x14, 0xa105);
20375 MP_WritePhyUshort(sc, 0x14, 0x8228);
20376 MP_WritePhyUshort(sc, 0x14, 0xc004);
20377 MP_WritePhyUshort(sc, 0x14, 0xd710);
20378 MP_WritePhyUshort(sc, 0x14, 0x4000);
20379 MP_WritePhyUshort(sc, 0x14, 0x81bc);
20380 MP_WritePhyUshort(sc, 0x14, 0xa220);
20381 MP_WritePhyUshort(sc, 0x14, 0x1d9e);
20382 MP_WritePhyUshort(sc, 0x14, 0x8220);
20383 MP_WritePhyUshort(sc, 0x14, 0xa1bc);
20384 MP_WritePhyUshort(sc, 0x14, 0xc040);
20385 MP_WritePhyUshort(sc, 0x14, 0xd710);
20386 MP_WritePhyUshort(sc, 0x14, 0x30e1);
20387 MP_WritePhyUshort(sc, 0x14, 0x0b24);
20388 MP_WritePhyUshort(sc, 0x14, 0x30e1);
20389 MP_WritePhyUshort(sc, 0x14, 0x3d14);
20390 MP_WritePhyUshort(sc, 0x14, 0xd71e);
20391 MP_WritePhyUshort(sc, 0x14, 0x7f4c);
20392 MP_WritePhyUshort(sc, 0x14, 0x2b1e);
20393 MP_WritePhyUshort(sc, 0x14, 0xa802);
20394 MP_WritePhyUshort(sc, 0x14, 0xd70c);
20395 MP_WritePhyUshort(sc, 0x14, 0x4244);
20396 MP_WritePhyUshort(sc, 0x14, 0xa301);
20397 MP_WritePhyUshort(sc, 0x14, 0xc004);
20398 MP_WritePhyUshort(sc, 0x14, 0xd711);
20399 MP_WritePhyUshort(sc, 0x14, 0x3128);
20400 MP_WritePhyUshort(sc, 0x14, 0x3dac);
20401 MP_WritePhyUshort(sc, 0x14, 0xd710);
20402 MP_WritePhyUshort(sc, 0x14, 0x5f80);
20403 MP_WritePhyUshort(sc, 0x14, 0xd711);
20404 MP_WritePhyUshort(sc, 0x14, 0x3109);
20405 MP_WritePhyUshort(sc, 0x14, 0x3dae);
20406 MP_WritePhyUshort(sc, 0x14, 0x2db2);
20407 MP_WritePhyUshort(sc, 0x14, 0xa801);
20408 MP_WritePhyUshort(sc, 0x14, 0x2da1);
20409 MP_WritePhyUshort(sc, 0x14, 0xa802);
20410 MP_WritePhyUshort(sc, 0x14, 0xc004);
20411 MP_WritePhyUshort(sc, 0x14, 0xd710);
20412 MP_WritePhyUshort(sc, 0x14, 0x4000);
20413 MP_WritePhyUshort(sc, 0x14, 0x0800);
20414 MP_WritePhyUshort(sc, 0x14, 0xa510);
20415 MP_WritePhyUshort(sc, 0x14, 0xd710);
20416 MP_WritePhyUshort(sc, 0x14, 0x609a);
20417 MP_WritePhyUshort(sc, 0x14, 0xd71e);
20418 MP_WritePhyUshort(sc, 0x14, 0x7fac);
20419 MP_WritePhyUshort(sc, 0x14, 0x2b1e);
20420 MP_WritePhyUshort(sc, 0x14, 0x8510);
20421 MP_WritePhyUshort(sc, 0x14, 0x0800);
20422 MP_WritePhyUshort(sc, 0x13, 0xa01a);
20423 MP_WritePhyUshort(sc, 0x14, 0x0000);
20424 MP_WritePhyUshort(sc, 0x13, 0xa006);
20425 MP_WritePhyUshort(sc, 0x14, 0x0b3e);
20426 MP_WritePhyUshort(sc, 0x13, 0xa004);
20427 MP_WritePhyUshort(sc, 0x14, 0x0828);
20428 MP_WritePhyUshort(sc, 0x13, 0xa002);
20429 MP_WritePhyUshort(sc, 0x14, 0x06dd);
20430 MP_WritePhyUshort(sc, 0x13, 0xa000);
20431 MP_WritePhyUshort(sc, 0x14, 0xf815);
20432 MP_WritePhyUshort(sc, 0x13, 0xb820);
20433 MP_WritePhyUshort(sc, 0x14, 0x0010);
20435 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
20436 MP_WritePhyUshort(sc, 0x13, 0x83b0);
20437 MP_WritePhyUshort(sc, 0x14, 0xaf83);
20438 MP_WritePhyUshort(sc, 0x14, 0xbcaf);
20439 MP_WritePhyUshort(sc, 0x14, 0x83c8);
20440 MP_WritePhyUshort(sc, 0x14, 0xaf83);
20441 MP_WritePhyUshort(sc, 0x14, 0xddaf);
20442 MP_WritePhyUshort(sc, 0x14, 0x83e0);
20443 MP_WritePhyUshort(sc, 0x14, 0x0204);
20444 MP_WritePhyUshort(sc, 0x14, 0xa102);
20445 MP_WritePhyUshort(sc, 0x14, 0x09b4);
20446 MP_WritePhyUshort(sc, 0x14, 0x0284);
20447 MP_WritePhyUshort(sc, 0x14, 0x62af);
20448 MP_WritePhyUshort(sc, 0x14, 0x02ec);
20449 MP_WritePhyUshort(sc, 0x14, 0xad20);
20450 MP_WritePhyUshort(sc, 0x14, 0x0302);
20451 MP_WritePhyUshort(sc, 0x14, 0x867d);
20452 MP_WritePhyUshort(sc, 0x14, 0xad21);
20453 MP_WritePhyUshort(sc, 0x14, 0x0302);
20454 MP_WritePhyUshort(sc, 0x14, 0x85ca);
20455 MP_WritePhyUshort(sc, 0x14, 0xad22);
20456 MP_WritePhyUshort(sc, 0x14, 0x0302);
20457 MP_WritePhyUshort(sc, 0x14, 0x1bce);
20458 MP_WritePhyUshort(sc, 0x14, 0xaf18);
20459 MP_WritePhyUshort(sc, 0x14, 0x11af);
20460 MP_WritePhyUshort(sc, 0x14, 0x1811);
20461 MP_WritePhyUshort(sc, 0x14, 0x0106);
20462 MP_WritePhyUshort(sc, 0x14, 0xe081);
20463 MP_WritePhyUshort(sc, 0x14, 0x48af);
20464 MP_WritePhyUshort(sc, 0x14, 0x3b1f);
20465 MP_WritePhyUshort(sc, 0x14, 0xf8f9);
20466 MP_WritePhyUshort(sc, 0x14, 0xfaef);
20467 MP_WritePhyUshort(sc, 0x14, 0x69ee);
20468 MP_WritePhyUshort(sc, 0x14, 0x8010);
20469 MP_WritePhyUshort(sc, 0x14, 0xf7d1);
20470 MP_WritePhyUshort(sc, 0x14, 0x04bf);
20471 MP_WritePhyUshort(sc, 0x14, 0x8776);
20472 MP_WritePhyUshort(sc, 0x14, 0x0241);
20473 MP_WritePhyUshort(sc, 0x14, 0x0a02);
20474 MP_WritePhyUshort(sc, 0x14, 0x8704);
20475 MP_WritePhyUshort(sc, 0x14, 0xbf87);
20476 MP_WritePhyUshort(sc, 0x14, 0x4fd7);
20477 MP_WritePhyUshort(sc, 0x14, 0xb822);
20478 MP_WritePhyUshort(sc, 0x14, 0xd00c);
20479 MP_WritePhyUshort(sc, 0x14, 0x0241);
20480 MP_WritePhyUshort(sc, 0x14, 0x03ee);
20481 MP_WritePhyUshort(sc, 0x14, 0x80cd);
20482 MP_WritePhyUshort(sc, 0x14, 0xa0ee);
20483 MP_WritePhyUshort(sc, 0x14, 0x80ce);
20484 MP_WritePhyUshort(sc, 0x14, 0x8bee);
20485 MP_WritePhyUshort(sc, 0x14, 0x80d1);
20486 MP_WritePhyUshort(sc, 0x14, 0xf5ee);
20487 MP_WritePhyUshort(sc, 0x14, 0x80d2);
20488 MP_WritePhyUshort(sc, 0x14, 0xa9ee);
20489 MP_WritePhyUshort(sc, 0x14, 0x80d3);
20490 MP_WritePhyUshort(sc, 0x14, 0x0aee);
20491 MP_WritePhyUshort(sc, 0x14, 0x80f0);
20492 MP_WritePhyUshort(sc, 0x14, 0x10ee);
20493 MP_WritePhyUshort(sc, 0x14, 0x80f3);
20494 MP_WritePhyUshort(sc, 0x14, 0x8fee);
20495 MP_WritePhyUshort(sc, 0x14, 0x8101);
20496 MP_WritePhyUshort(sc, 0x14, 0x1eee);
20497 MP_WritePhyUshort(sc, 0x14, 0x810b);
20498 MP_WritePhyUshort(sc, 0x14, 0x4aee);
20499 MP_WritePhyUshort(sc, 0x14, 0x810c);
20500 MP_WritePhyUshort(sc, 0x14, 0x7cee);
20501 MP_WritePhyUshort(sc, 0x14, 0x8112);
20502 MP_WritePhyUshort(sc, 0x14, 0x7fd1);
20503 MP_WritePhyUshort(sc, 0x14, 0x0002);
20504 MP_WritePhyUshort(sc, 0x14, 0x10e3);
20505 MP_WritePhyUshort(sc, 0x14, 0xee80);
20506 MP_WritePhyUshort(sc, 0x14, 0x8892);
20507 MP_WritePhyUshort(sc, 0x14, 0xee80);
20508 MP_WritePhyUshort(sc, 0x14, 0x8922);
20509 MP_WritePhyUshort(sc, 0x14, 0xee80);
20510 MP_WritePhyUshort(sc, 0x14, 0x9a80);
20511 MP_WritePhyUshort(sc, 0x14, 0xee80);
20512 MP_WritePhyUshort(sc, 0x14, 0x9b22);
20513 MP_WritePhyUshort(sc, 0x14, 0xee80);
20514 MP_WritePhyUshort(sc, 0x14, 0x9ca7);
20515 MP_WritePhyUshort(sc, 0x14, 0xee80);
20516 MP_WritePhyUshort(sc, 0x14, 0xa010);
20517 MP_WritePhyUshort(sc, 0x14, 0xee80);
20518 MP_WritePhyUshort(sc, 0x14, 0xa5a7);
20519 MP_WritePhyUshort(sc, 0x14, 0xd200);
20520 MP_WritePhyUshort(sc, 0x14, 0x020e);
20521 MP_WritePhyUshort(sc, 0x14, 0x4b02);
20522 MP_WritePhyUshort(sc, 0x14, 0x85c1);
20523 MP_WritePhyUshort(sc, 0x14, 0xef96);
20524 MP_WritePhyUshort(sc, 0x14, 0xfefd);
20525 MP_WritePhyUshort(sc, 0x14, 0xfc04);
20526 MP_WritePhyUshort(sc, 0x14, 0x0284);
20527 MP_WritePhyUshort(sc, 0x14, 0x7b02);
20528 MP_WritePhyUshort(sc, 0x14, 0x84b4);
20529 MP_WritePhyUshort(sc, 0x14, 0x020c);
20530 MP_WritePhyUshort(sc, 0x14, 0x9202);
20531 MP_WritePhyUshort(sc, 0x14, 0x0cab);
20532 MP_WritePhyUshort(sc, 0x14, 0x020c);
20533 MP_WritePhyUshort(sc, 0x14, 0xd602);
20534 MP_WritePhyUshort(sc, 0x14, 0x0cef);
20535 MP_WritePhyUshort(sc, 0x14, 0x020d);
20536 MP_WritePhyUshort(sc, 0x14, 0x1a02);
20537 MP_WritePhyUshort(sc, 0x14, 0x0c24);
20538 MP_WritePhyUshort(sc, 0x14, 0x04f8);
20539 MP_WritePhyUshort(sc, 0x14, 0xfaef);
20540 MP_WritePhyUshort(sc, 0x14, 0x69e1);
20541 MP_WritePhyUshort(sc, 0x14, 0x8234);
20542 MP_WritePhyUshort(sc, 0x14, 0xac29);
20543 MP_WritePhyUshort(sc, 0x14, 0x1ae0);
20544 MP_WritePhyUshort(sc, 0x14, 0x8229);
20545 MP_WritePhyUshort(sc, 0x14, 0xac21);
20546 MP_WritePhyUshort(sc, 0x14, 0x02ae);
20547 MP_WritePhyUshort(sc, 0x14, 0x2202);
20548 MP_WritePhyUshort(sc, 0x14, 0x1085);
20549 MP_WritePhyUshort(sc, 0x14, 0xf621);
20550 MP_WritePhyUshort(sc, 0x14, 0xe482);
20551 MP_WritePhyUshort(sc, 0x14, 0x29d1);
20552 MP_WritePhyUshort(sc, 0x14, 0x01bf);
20553 MP_WritePhyUshort(sc, 0x14, 0x4364);
20554 MP_WritePhyUshort(sc, 0x14, 0x0241);
20555 MP_WritePhyUshort(sc, 0x14, 0x0aae);
20556 MP_WritePhyUshort(sc, 0x14, 0x1002);
20557 MP_WritePhyUshort(sc, 0x14, 0x127a);
20558 MP_WritePhyUshort(sc, 0x14, 0xf629);
20559 MP_WritePhyUshort(sc, 0x14, 0xe582);
20560 MP_WritePhyUshort(sc, 0x14, 0x34e0);
20561 MP_WritePhyUshort(sc, 0x14, 0x8229);
20562 MP_WritePhyUshort(sc, 0x14, 0xf621);
20563 MP_WritePhyUshort(sc, 0x14, 0xe482);
20564 MP_WritePhyUshort(sc, 0x14, 0x29ef);
20565 MP_WritePhyUshort(sc, 0x14, 0x96fe);
20566 MP_WritePhyUshort(sc, 0x14, 0xfc04);
20567 MP_WritePhyUshort(sc, 0x14, 0xf8e1);
20568 MP_WritePhyUshort(sc, 0x14, 0x8234);
20569 MP_WritePhyUshort(sc, 0x14, 0xac2a);
20570 MP_WritePhyUshort(sc, 0x14, 0x18e0);
20571 MP_WritePhyUshort(sc, 0x14, 0x8229);
20572 MP_WritePhyUshort(sc, 0x14, 0xac22);
20573 MP_WritePhyUshort(sc, 0x14, 0x02ae);
20574 MP_WritePhyUshort(sc, 0x14, 0x2602);
20575 MP_WritePhyUshort(sc, 0x14, 0x84f9);
20576 MP_WritePhyUshort(sc, 0x14, 0x0285);
20577 MP_WritePhyUshort(sc, 0x14, 0x66d1);
20578 MP_WritePhyUshort(sc, 0x14, 0x01bf);
20579 MP_WritePhyUshort(sc, 0x14, 0x4367);
20580 MP_WritePhyUshort(sc, 0x14, 0x0241);
20581 MP_WritePhyUshort(sc, 0x14, 0x0aae);
20582 MP_WritePhyUshort(sc, 0x14, 0x0e02);
20583 MP_WritePhyUshort(sc, 0x14, 0x84eb);
20584 MP_WritePhyUshort(sc, 0x14, 0x0285);
20585 MP_WritePhyUshort(sc, 0x14, 0xaae1);
20586 MP_WritePhyUshort(sc, 0x14, 0x8234);
20587 MP_WritePhyUshort(sc, 0x14, 0xf62a);
20588 MP_WritePhyUshort(sc, 0x14, 0xe582);
20589 MP_WritePhyUshort(sc, 0x14, 0x34e0);
20590 MP_WritePhyUshort(sc, 0x14, 0x8229);
20591 MP_WritePhyUshort(sc, 0x14, 0xf622);
20592 MP_WritePhyUshort(sc, 0x14, 0xe482);
20593 MP_WritePhyUshort(sc, 0x14, 0x29fc);
20594 MP_WritePhyUshort(sc, 0x14, 0x04f9);
20595 MP_WritePhyUshort(sc, 0x14, 0xe280);
20596 MP_WritePhyUshort(sc, 0x14, 0x11ad);
20597 MP_WritePhyUshort(sc, 0x14, 0x3105);
20598 MP_WritePhyUshort(sc, 0x14, 0xd200);
20599 MP_WritePhyUshort(sc, 0x14, 0x020e);
20600 MP_WritePhyUshort(sc, 0x14, 0x4bfd);
20601 MP_WritePhyUshort(sc, 0x14, 0x04f8);
20602 MP_WritePhyUshort(sc, 0x14, 0xf9fa);
20603 MP_WritePhyUshort(sc, 0x14, 0xef69);
20604 MP_WritePhyUshort(sc, 0x14, 0xe080);
20605 MP_WritePhyUshort(sc, 0x14, 0x11ad);
20606 MP_WritePhyUshort(sc, 0x14, 0x215c);
20607 MP_WritePhyUshort(sc, 0x14, 0xbf42);
20608 MP_WritePhyUshort(sc, 0x14, 0x5002);
20609 MP_WritePhyUshort(sc, 0x14, 0x4148);
20610 MP_WritePhyUshort(sc, 0x14, 0xac28);
20611 MP_WritePhyUshort(sc, 0x14, 0x1bbf);
20612 MP_WritePhyUshort(sc, 0x14, 0x4253);
20613 MP_WritePhyUshort(sc, 0x14, 0x0241);
20614 MP_WritePhyUshort(sc, 0x14, 0x48ac);
20615 MP_WritePhyUshort(sc, 0x14, 0x2812);
20616 MP_WritePhyUshort(sc, 0x14, 0xbf42);
20617 MP_WritePhyUshort(sc, 0x14, 0x5902);
20618 MP_WritePhyUshort(sc, 0x14, 0x4148);
20619 MP_WritePhyUshort(sc, 0x14, 0xac28);
20620 MP_WritePhyUshort(sc, 0x14, 0x04d3);
20621 MP_WritePhyUshort(sc, 0x14, 0x00ae);
20622 MP_WritePhyUshort(sc, 0x14, 0x07d3);
20623 MP_WritePhyUshort(sc, 0x14, 0x06af);
20624 MP_WritePhyUshort(sc, 0x14, 0x8557);
20625 MP_WritePhyUshort(sc, 0x14, 0xd303);
20626 MP_WritePhyUshort(sc, 0x14, 0xe080);
20627 MP_WritePhyUshort(sc, 0x14, 0x11ad);
20628 MP_WritePhyUshort(sc, 0x14, 0x2625);
20629 MP_WritePhyUshort(sc, 0x14, 0xbf43);
20630 MP_WritePhyUshort(sc, 0x14, 0xeb02);
20631 MP_WritePhyUshort(sc, 0x14, 0x4148);
20632 MP_WritePhyUshort(sc, 0x14, 0xe280);
20633 MP_WritePhyUshort(sc, 0x14, 0x730d);
20634 MP_WritePhyUshort(sc, 0x14, 0x21f6);
20635 MP_WritePhyUshort(sc, 0x14, 0x370d);
20636 MP_WritePhyUshort(sc, 0x14, 0x11f6);
20637 MP_WritePhyUshort(sc, 0x14, 0x2f1b);
20638 MP_WritePhyUshort(sc, 0x14, 0x21aa);
20639 MP_WritePhyUshort(sc, 0x14, 0x02ae);
20640 MP_WritePhyUshort(sc, 0x14, 0x10e2);
20641 MP_WritePhyUshort(sc, 0x14, 0x8074);
20642 MP_WritePhyUshort(sc, 0x14, 0x0d21);
20643 MP_WritePhyUshort(sc, 0x14, 0xf637);
20644 MP_WritePhyUshort(sc, 0x14, 0x1b21);
20645 MP_WritePhyUshort(sc, 0x14, 0xaa03);
20646 MP_WritePhyUshort(sc, 0x14, 0x13ae);
20647 MP_WritePhyUshort(sc, 0x14, 0x022b);
20648 MP_WritePhyUshort(sc, 0x14, 0x0202);
20649 MP_WritePhyUshort(sc, 0x14, 0x0e36);
20650 MP_WritePhyUshort(sc, 0x14, 0x020e);
20651 MP_WritePhyUshort(sc, 0x14, 0x4b02);
20652 MP_WritePhyUshort(sc, 0x14, 0x0f91);
20653 MP_WritePhyUshort(sc, 0x14, 0xef96);
20654 MP_WritePhyUshort(sc, 0x14, 0xfefd);
20655 MP_WritePhyUshort(sc, 0x14, 0xfc04);
20656 MP_WritePhyUshort(sc, 0x14, 0xf8f9);
20657 MP_WritePhyUshort(sc, 0x14, 0xfaef);
20658 MP_WritePhyUshort(sc, 0x14, 0x69e0);
20659 MP_WritePhyUshort(sc, 0x14, 0x8012);
20660 MP_WritePhyUshort(sc, 0x14, 0xad27);
20661 MP_WritePhyUshort(sc, 0x14, 0x33bf);
20662 MP_WritePhyUshort(sc, 0x14, 0x4250);
20663 MP_WritePhyUshort(sc, 0x14, 0x0241);
20664 MP_WritePhyUshort(sc, 0x14, 0x48ac);
20665 MP_WritePhyUshort(sc, 0x14, 0x2809);
20666 MP_WritePhyUshort(sc, 0x14, 0xbf42);
20667 MP_WritePhyUshort(sc, 0x14, 0x5302);
20668 MP_WritePhyUshort(sc, 0x14, 0x4148);
20669 MP_WritePhyUshort(sc, 0x14, 0xad28);
20670 MP_WritePhyUshort(sc, 0x14, 0x21bf);
20671 MP_WritePhyUshort(sc, 0x14, 0x43eb);
20672 MP_WritePhyUshort(sc, 0x14, 0x0241);
20673 MP_WritePhyUshort(sc, 0x14, 0x48e3);
20674 MP_WritePhyUshort(sc, 0x14, 0x87ff);
20675 MP_WritePhyUshort(sc, 0x14, 0xd200);
20676 MP_WritePhyUshort(sc, 0x14, 0x1b45);
20677 MP_WritePhyUshort(sc, 0x14, 0xac27);
20678 MP_WritePhyUshort(sc, 0x14, 0x11e1);
20679 MP_WritePhyUshort(sc, 0x14, 0x87fe);
20680 MP_WritePhyUshort(sc, 0x14, 0xbf87);
20681 MP_WritePhyUshort(sc, 0x14, 0x6702);
20682 MP_WritePhyUshort(sc, 0x14, 0x410a);
20683 MP_WritePhyUshort(sc, 0x14, 0x0d11);
20684 MP_WritePhyUshort(sc, 0x14, 0xbf87);
20685 MP_WritePhyUshort(sc, 0x14, 0x6a02);
20686 MP_WritePhyUshort(sc, 0x14, 0x410a);
20687 MP_WritePhyUshort(sc, 0x14, 0xef96);
20688 MP_WritePhyUshort(sc, 0x14, 0xfefd);
20689 MP_WritePhyUshort(sc, 0x14, 0xfc04);
20690 MP_WritePhyUshort(sc, 0x14, 0xf8fa);
20691 MP_WritePhyUshort(sc, 0x14, 0xef69);
20692 MP_WritePhyUshort(sc, 0x14, 0xd100);
20693 MP_WritePhyUshort(sc, 0x14, 0xbf87);
20694 MP_WritePhyUshort(sc, 0x14, 0x6702);
20695 MP_WritePhyUshort(sc, 0x14, 0x410a);
20696 MP_WritePhyUshort(sc, 0x14, 0xbf87);
20697 MP_WritePhyUshort(sc, 0x14, 0x6a02);
20698 MP_WritePhyUshort(sc, 0x14, 0x410a);
20699 MP_WritePhyUshort(sc, 0x14, 0xef96);
20700 MP_WritePhyUshort(sc, 0x14, 0xfefc);
20701 MP_WritePhyUshort(sc, 0x14, 0x04ee);
20702 MP_WritePhyUshort(sc, 0x14, 0x87ff);
20703 MP_WritePhyUshort(sc, 0x14, 0x46ee);
20704 MP_WritePhyUshort(sc, 0x14, 0x87fe);
20705 MP_WritePhyUshort(sc, 0x14, 0x0104);
20706 MP_WritePhyUshort(sc, 0x14, 0xf8fa);
20707 MP_WritePhyUshort(sc, 0x14, 0xef69);
20708 MP_WritePhyUshort(sc, 0x14, 0xe082);
20709 MP_WritePhyUshort(sc, 0x14, 0x46a0);
20710 MP_WritePhyUshort(sc, 0x14, 0x0005);
20711 MP_WritePhyUshort(sc, 0x14, 0x0285);
20712 MP_WritePhyUshort(sc, 0x14, 0xecae);
20713 MP_WritePhyUshort(sc, 0x14, 0x0ea0);
20714 MP_WritePhyUshort(sc, 0x14, 0x0105);
20715 MP_WritePhyUshort(sc, 0x14, 0x021a);
20716 MP_WritePhyUshort(sc, 0x14, 0x68ae);
20717 MP_WritePhyUshort(sc, 0x14, 0x06a0);
20718 MP_WritePhyUshort(sc, 0x14, 0x0203);
20719 MP_WritePhyUshort(sc, 0x14, 0x021a);
20720 MP_WritePhyUshort(sc, 0x14, 0xf4ef);
20721 MP_WritePhyUshort(sc, 0x14, 0x96fe);
20722 MP_WritePhyUshort(sc, 0x14, 0xfc04);
20723 MP_WritePhyUshort(sc, 0x14, 0xf8f9);
20724 MP_WritePhyUshort(sc, 0x14, 0xfaef);
20725 MP_WritePhyUshort(sc, 0x14, 0x69e0);
20726 MP_WritePhyUshort(sc, 0x14, 0x822e);
20727 MP_WritePhyUshort(sc, 0x14, 0xf621);
20728 MP_WritePhyUshort(sc, 0x14, 0xe482);
20729 MP_WritePhyUshort(sc, 0x14, 0x2ee0);
20730 MP_WritePhyUshort(sc, 0x14, 0x8010);
20731 MP_WritePhyUshort(sc, 0x14, 0xac22);
20732 MP_WritePhyUshort(sc, 0x14, 0x02ae);
20733 MP_WritePhyUshort(sc, 0x14, 0x76e0);
20734 MP_WritePhyUshort(sc, 0x14, 0x822c);
20735 MP_WritePhyUshort(sc, 0x14, 0xf721);
20736 MP_WritePhyUshort(sc, 0x14, 0xe482);
20737 MP_WritePhyUshort(sc, 0x14, 0x2cbf);
20738 MP_WritePhyUshort(sc, 0x14, 0x41a5);
20739 MP_WritePhyUshort(sc, 0x14, 0x0241);
20740 MP_WritePhyUshort(sc, 0x14, 0x48ef);
20741 MP_WritePhyUshort(sc, 0x14, 0x21bf);
20742 MP_WritePhyUshort(sc, 0x14, 0x41a8);
20743 MP_WritePhyUshort(sc, 0x14, 0x0241);
20744 MP_WritePhyUshort(sc, 0x14, 0x480c);
20745 MP_WritePhyUshort(sc, 0x14, 0x111e);
20746 MP_WritePhyUshort(sc, 0x14, 0x21bf);
20747 MP_WritePhyUshort(sc, 0x14, 0x41ab);
20748 MP_WritePhyUshort(sc, 0x14, 0x0241);
20749 MP_WritePhyUshort(sc, 0x14, 0x480c);
20750 MP_WritePhyUshort(sc, 0x14, 0x121e);
20751 MP_WritePhyUshort(sc, 0x14, 0x21e6);
20752 MP_WritePhyUshort(sc, 0x14, 0x8248);
20753 MP_WritePhyUshort(sc, 0x14, 0xa200);
20754 MP_WritePhyUshort(sc, 0x14, 0x0ae1);
20755 MP_WritePhyUshort(sc, 0x14, 0x822c);
20756 MP_WritePhyUshort(sc, 0x14, 0xf629);
20757 MP_WritePhyUshort(sc, 0x14, 0xe582);
20758 MP_WritePhyUshort(sc, 0x14, 0x2cae);
20759 MP_WritePhyUshort(sc, 0x14, 0x42e0);
20760 MP_WritePhyUshort(sc, 0x14, 0x8249);
20761 MP_WritePhyUshort(sc, 0x14, 0xf721);
20762 MP_WritePhyUshort(sc, 0x14, 0xe482);
20763 MP_WritePhyUshort(sc, 0x14, 0x4902);
20764 MP_WritePhyUshort(sc, 0x14, 0x4520);
20765 MP_WritePhyUshort(sc, 0x14, 0xbf41);
20766 MP_WritePhyUshort(sc, 0x14, 0xb702);
20767 MP_WritePhyUshort(sc, 0x14, 0x4148);
20768 MP_WritePhyUshort(sc, 0x14, 0xef21);
20769 MP_WritePhyUshort(sc, 0x14, 0xbf41);
20770 MP_WritePhyUshort(sc, 0x14, 0xae02);
20771 MP_WritePhyUshort(sc, 0x14, 0x4148);
20772 MP_WritePhyUshort(sc, 0x14, 0x0c12);
20773 MP_WritePhyUshort(sc, 0x14, 0x1e21);
20774 MP_WritePhyUshort(sc, 0x14, 0xbf41);
20775 MP_WritePhyUshort(sc, 0x14, 0xb102);
20776 MP_WritePhyUshort(sc, 0x14, 0x4148);
20777 MP_WritePhyUshort(sc, 0x14, 0x0c13);
20778 MP_WritePhyUshort(sc, 0x14, 0x1e21);
20779 MP_WritePhyUshort(sc, 0x14, 0xbf41);
20780 MP_WritePhyUshort(sc, 0x14, 0xba02);
20781 MP_WritePhyUshort(sc, 0x14, 0x4148);
20782 MP_WritePhyUshort(sc, 0x14, 0x0c14);
20783 MP_WritePhyUshort(sc, 0x14, 0x1e21);
20784 MP_WritePhyUshort(sc, 0x14, 0xbf43);
20785 MP_WritePhyUshort(sc, 0x14, 0x4602);
20786 MP_WritePhyUshort(sc, 0x14, 0x4148);
20787 MP_WritePhyUshort(sc, 0x14, 0x0c16);
20788 MP_WritePhyUshort(sc, 0x14, 0x1e21);
20789 MP_WritePhyUshort(sc, 0x14, 0xe682);
20790 MP_WritePhyUshort(sc, 0x14, 0x47ee);
20791 MP_WritePhyUshort(sc, 0x14, 0x8246);
20792 MP_WritePhyUshort(sc, 0x14, 0x01ef);
20793 MP_WritePhyUshort(sc, 0x14, 0x96fe);
20794 MP_WritePhyUshort(sc, 0x14, 0xfdfc);
20795 MP_WritePhyUshort(sc, 0x14, 0x04f8);
20796 MP_WritePhyUshort(sc, 0x14, 0xfaef);
20797 MP_WritePhyUshort(sc, 0x14, 0x69e0);
20798 MP_WritePhyUshort(sc, 0x14, 0x824b);
20799 MP_WritePhyUshort(sc, 0x14, 0xa000);
20800 MP_WritePhyUshort(sc, 0x14, 0x0502);
20801 MP_WritePhyUshort(sc, 0x14, 0x8697);
20802 MP_WritePhyUshort(sc, 0x14, 0xae06);
20803 MP_WritePhyUshort(sc, 0x14, 0xa001);
20804 MP_WritePhyUshort(sc, 0x14, 0x0302);
20805 MP_WritePhyUshort(sc, 0x14, 0x1937);
20806 MP_WritePhyUshort(sc, 0x14, 0xef96);
20807 MP_WritePhyUshort(sc, 0x14, 0xfefc);
20808 MP_WritePhyUshort(sc, 0x14, 0x04f8);
20809 MP_WritePhyUshort(sc, 0x14, 0xfaef);
20810 MP_WritePhyUshort(sc, 0x14, 0x69e0);
20811 MP_WritePhyUshort(sc, 0x14, 0x822e);
20812 MP_WritePhyUshort(sc, 0x14, 0xf620);
20813 MP_WritePhyUshort(sc, 0x14, 0xe482);
20814 MP_WritePhyUshort(sc, 0x14, 0x2ee0);
20815 MP_WritePhyUshort(sc, 0x14, 0x8010);
20816 MP_WritePhyUshort(sc, 0x14, 0xac21);
20817 MP_WritePhyUshort(sc, 0x14, 0x02ae);
20818 MP_WritePhyUshort(sc, 0x14, 0x54e0);
20819 MP_WritePhyUshort(sc, 0x14, 0x822c);
20820 MP_WritePhyUshort(sc, 0x14, 0xf720);
20821 MP_WritePhyUshort(sc, 0x14, 0xe482);
20822 MP_WritePhyUshort(sc, 0x14, 0x2cbf);
20823 MP_WritePhyUshort(sc, 0x14, 0x4175);
20824 MP_WritePhyUshort(sc, 0x14, 0x0241);
20825 MP_WritePhyUshort(sc, 0x14, 0x48ac);
20826 MP_WritePhyUshort(sc, 0x14, 0x2822);
20827 MP_WritePhyUshort(sc, 0x14, 0xbf41);
20828 MP_WritePhyUshort(sc, 0x14, 0x9f02);
20829 MP_WritePhyUshort(sc, 0x14, 0x4148);
20830 MP_WritePhyUshort(sc, 0x14, 0xe582);
20831 MP_WritePhyUshort(sc, 0x14, 0x4cac);
20832 MP_WritePhyUshort(sc, 0x14, 0x2820);
20833 MP_WritePhyUshort(sc, 0x14, 0xd103);
20834 MP_WritePhyUshort(sc, 0x14, 0xbf41);
20835 MP_WritePhyUshort(sc, 0x14, 0x9902);
20836 MP_WritePhyUshort(sc, 0x14, 0x410a);
20837 MP_WritePhyUshort(sc, 0x14, 0xee82);
20838 MP_WritePhyUshort(sc, 0x14, 0x4b00);
20839 MP_WritePhyUshort(sc, 0x14, 0xe182);
20840 MP_WritePhyUshort(sc, 0x14, 0x2cf6);
20841 MP_WritePhyUshort(sc, 0x14, 0x28e5);
20842 MP_WritePhyUshort(sc, 0x14, 0x822c);
20843 MP_WritePhyUshort(sc, 0x14, 0xae21);
20844 MP_WritePhyUshort(sc, 0x14, 0xd104);
20845 MP_WritePhyUshort(sc, 0x14, 0xbf41);
20846 MP_WritePhyUshort(sc, 0x14, 0x9902);
20847 MP_WritePhyUshort(sc, 0x14, 0x410a);
20848 MP_WritePhyUshort(sc, 0x14, 0xae08);
20849 MP_WritePhyUshort(sc, 0x14, 0xd105);
20850 MP_WritePhyUshort(sc, 0x14, 0xbf41);
20851 MP_WritePhyUshort(sc, 0x14, 0x9902);
20852 MP_WritePhyUshort(sc, 0x14, 0x410a);
20853 MP_WritePhyUshort(sc, 0x14, 0xe082);
20854 MP_WritePhyUshort(sc, 0x14, 0x49f7);
20855 MP_WritePhyUshort(sc, 0x14, 0x20e4);
20856 MP_WritePhyUshort(sc, 0x14, 0x8249);
20857 MP_WritePhyUshort(sc, 0x14, 0x0245);
20858 MP_WritePhyUshort(sc, 0x14, 0x20ee);
20859 MP_WritePhyUshort(sc, 0x14, 0x824b);
20860 MP_WritePhyUshort(sc, 0x14, 0x01ef);
20861 MP_WritePhyUshort(sc, 0x14, 0x96fe);
20862 MP_WritePhyUshort(sc, 0x14, 0xfc04);
20863 MP_WritePhyUshort(sc, 0x14, 0xf8f9);
20864 MP_WritePhyUshort(sc, 0x14, 0xface);
20865 MP_WritePhyUshort(sc, 0x14, 0xfaef);
20866 MP_WritePhyUshort(sc, 0x14, 0x69fb);
20867 MP_WritePhyUshort(sc, 0x14, 0xbf87);
20868 MP_WritePhyUshort(sc, 0x14, 0x2fd7);
20869 MP_WritePhyUshort(sc, 0x14, 0x0020);
20870 MP_WritePhyUshort(sc, 0x14, 0xd819);
20871 MP_WritePhyUshort(sc, 0x14, 0xd919);
20872 MP_WritePhyUshort(sc, 0x14, 0xda19);
20873 MP_WritePhyUshort(sc, 0x14, 0xdb19);
20874 MP_WritePhyUshort(sc, 0x14, 0x07ef);
20875 MP_WritePhyUshort(sc, 0x14, 0x9502);
20876 MP_WritePhyUshort(sc, 0x14, 0x410a);
20877 MP_WritePhyUshort(sc, 0x14, 0x073f);
20878 MP_WritePhyUshort(sc, 0x14, 0x0004);
20879 MP_WritePhyUshort(sc, 0x14, 0x9fec);
20880 MP_WritePhyUshort(sc, 0x14, 0xffef);
20881 MP_WritePhyUshort(sc, 0x14, 0x96fe);
20882 MP_WritePhyUshort(sc, 0x14, 0xc6fe);
20883 MP_WritePhyUshort(sc, 0x14, 0xfdfc);
20884 MP_WritePhyUshort(sc, 0x14, 0x0400);
20885 MP_WritePhyUshort(sc, 0x14, 0x0144);
20886 MP_WritePhyUshort(sc, 0x14, 0x0000);
20887 MP_WritePhyUshort(sc, 0x14, 0x0343);
20888 MP_WritePhyUshort(sc, 0x14, 0xee00);
20889 MP_WritePhyUshort(sc, 0x14, 0x0087);
20890 MP_WritePhyUshort(sc, 0x14, 0x5b00);
20891 MP_WritePhyUshort(sc, 0x14, 0x0141);
20892 MP_WritePhyUshort(sc, 0x14, 0xe100);
20893 MP_WritePhyUshort(sc, 0x14, 0x0387);
20894 MP_WritePhyUshort(sc, 0x14, 0x5e00);
20895 MP_WritePhyUshort(sc, 0x14, 0x0987);
20896 MP_WritePhyUshort(sc, 0x14, 0x6100);
20897 MP_WritePhyUshort(sc, 0x14, 0x0987);
20898 MP_WritePhyUshort(sc, 0x14, 0x6400);
20899 MP_WritePhyUshort(sc, 0x14, 0x0087);
20900 MP_WritePhyUshort(sc, 0x14, 0x6da4);
20901 MP_WritePhyUshort(sc, 0x14, 0x00b8);
20902 MP_WritePhyUshort(sc, 0x14, 0x20c4);
20903 MP_WritePhyUshort(sc, 0x14, 0x1600);
20904 MP_WritePhyUshort(sc, 0x14, 0x000f);
20905 MP_WritePhyUshort(sc, 0x14, 0xf800);
20906 MP_WritePhyUshort(sc, 0x14, 0x7000);
20907 MP_WritePhyUshort(sc, 0x14, 0xb82e);
20908 MP_WritePhyUshort(sc, 0x14, 0x98a5);
20909 MP_WritePhyUshort(sc, 0x14, 0x8ab6);
20910 MP_WritePhyUshort(sc, 0x14, 0xa83e);
20911 MP_WritePhyUshort(sc, 0x14, 0x50a8);
20912 MP_WritePhyUshort(sc, 0x14, 0x3e33);
20913 MP_WritePhyUshort(sc, 0x14, 0xbcc6);
20914 MP_WritePhyUshort(sc, 0x14, 0x22bc);
20915 MP_WritePhyUshort(sc, 0x14, 0xc6aa);
20916 MP_WritePhyUshort(sc, 0x14, 0xa442);
20917 MP_WritePhyUshort(sc, 0x14, 0xffc4);
20918 MP_WritePhyUshort(sc, 0x14, 0x0800);
20919 MP_WritePhyUshort(sc, 0x14, 0xc416);
20920 MP_WritePhyUshort(sc, 0x14, 0xa8bc);
20921 MP_WritePhyUshort(sc, 0x14, 0xc000);
20922 MP_WritePhyUshort(sc, 0x13, 0xb818);
20923 MP_WritePhyUshort(sc, 0x14, 0x02e3);
20924 MP_WritePhyUshort(sc, 0x13, 0xb81a);
20925 MP_WritePhyUshort(sc, 0x14, 0x17ff);
20926 MP_WritePhyUshort(sc, 0x13, 0xb81e);
20927 MP_WritePhyUshort(sc, 0x14, 0x3b1c);
20928 MP_WritePhyUshort(sc, 0x13, 0xb820);
20929 MP_WritePhyUshort(sc, 0x14, 0x021b);
20930 MP_WritePhyUshort(sc, 0x1f, 0x0000);
20932 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
20933 MP_WritePhyUshort(sc, 0x13, 0x0000);
20934 MP_WritePhyUshort(sc, 0x14, 0x0000);
20935 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
20936 PhyRegValue = MP_ReadPhyUshort(sc, 0x17);
20937 PhyRegValue &= ~(BIT_0);
20938 MP_WritePhyUshort(sc, 0x17, PhyRegValue);
20939 if (sc->RequiredSecLanDonglePatch)
20940 PhyRegValue &= ~(BIT_2);
20941 MP_WritePhyUshort(sc,0x1f, 0x0000);
20943 MP_WritePhyUshort(sc, 0x1F, 0x0003);
20944 MP_WritePhyUshort(sc, 0x09, 0xA20F);
20945 MP_WritePhyUshort(sc, 0x1F, 0x0000);
20946 MP_WritePhyUshort(sc, 0x1F, 0x0003);
20947 MP_WritePhyUshort(sc, 0x01, 0x328A);
20948 MP_WritePhyUshort(sc, 0x1F, 0x0000);
20949 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
20950 MP_WritePhyUshort(sc, 0x13, 0x8011);
20951 ClearEthPhyBit(sc, 0x14, BIT_14);
20952 MP_WritePhyUshort(sc, 0x1F, 0x0A40);
20953 MP_WritePhyUshort(sc, 0x1F, 0x0000);
20954 MP_WritePhyUshort(sc,0x1f, 0x0000);
20955 MP_WritePhyUshort(sc,0x00, 0x9200);
20958 static void re_set_phy_mcu_8168ep_2(struct re_softc *sc)
20960 u_int16_t PhyRegValue;
20963 MP_WritePhyUshort(sc,0x1f, 0x0B82);
20964 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
20965 PhyRegValue |= BIT_4;
20966 MP_WritePhyUshort(sc,0x10, PhyRegValue);
20968 MP_WritePhyUshort(sc,0x1f, 0x0B80);
20971 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
20972 PhyRegValue &= 0x0040;
20976 } while(PhyRegValue != 0x0040 && WaitCnt <1000);
20978 MP_WritePhyUshort(sc,0x1f, 0x0A43);
20979 MP_WritePhyUshort(sc,0x13, 0x8146);
20980 MP_WritePhyUshort(sc,0x14, 0x8700);
20981 MP_WritePhyUshort(sc,0x13, 0xB82E);
20982 MP_WritePhyUshort(sc,0x14, 0x0001);
20984 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
20986 MP_WritePhyUshort(sc, 0x13, 0x83DD);
20987 MP_WritePhyUshort(sc, 0x14, 0xAF83);
20988 MP_WritePhyUshort(sc, 0x14, 0xE9AF);
20989 MP_WritePhyUshort(sc, 0x14, 0x83EE);
20990 MP_WritePhyUshort(sc, 0x14, 0xAF83);
20991 MP_WritePhyUshort(sc, 0x14, 0xF1A1);
20992 MP_WritePhyUshort(sc, 0x14, 0x83F4);
20993 MP_WritePhyUshort(sc, 0x14, 0xD149);
20994 MP_WritePhyUshort(sc, 0x14, 0xAF06);
20995 MP_WritePhyUshort(sc, 0x14, 0x47AF);
20996 MP_WritePhyUshort(sc, 0x14, 0x0000);
20997 MP_WritePhyUshort(sc, 0x14, 0xAF00);
20998 MP_WritePhyUshort(sc, 0x14, 0x00AF);
20999 MP_WritePhyUshort(sc, 0x14, 0x0000);
21001 MP_WritePhyUshort(sc, 0x13, 0xB818);
21002 MP_WritePhyUshort(sc, 0x14, 0x0645);
21004 MP_WritePhyUshort(sc, 0x13, 0xB81A);
21005 MP_WritePhyUshort(sc, 0x14, 0x0000);
21007 MP_WritePhyUshort(sc, 0x13, 0xB81C);
21008 MP_WritePhyUshort(sc, 0x14, 0x0000);
21010 MP_WritePhyUshort(sc, 0x13, 0xB81E);
21011 MP_WritePhyUshort(sc, 0x14, 0x0000);
21013 MP_WritePhyUshort(sc, 0x13, 0xB832);
21014 MP_WritePhyUshort(sc, 0x14, 0x0001);
21016 MP_WritePhyUshort(sc,0x1F, 0x0A43);
21017 MP_WritePhyUshort(sc,0x13, 0x0000);
21018 MP_WritePhyUshort(sc,0x14, 0x0000);
21019 MP_WritePhyUshort(sc,0x1f, 0x0B82);
21020 PhyRegValue = MP_ReadPhyUshort(sc, 0x17);
21021 PhyRegValue &= ~(BIT_0);
21022 MP_WritePhyUshort(sc,0x17, PhyRegValue);
21023 MP_WritePhyUshort(sc,0x1f, 0x0A43);
21024 MP_WritePhyUshort(sc,0x13, 0x8146);
21025 MP_WritePhyUshort(sc,0x14, 0x0000);
21027 MP_WritePhyUshort(sc,0x1f, 0x0B82);
21028 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
21029 PhyRegValue &= ~(BIT_4);
21030 MP_WritePhyUshort(sc,0x10, PhyRegValue);
21033 static void re_init_hw_phy_mcu(struct re_softc *sc)
21035 if (re_hw_phy_mcu_code_ver_matched(sc)) return;
21037 switch (sc->re_type) {
21039 re_set_phy_mcu_8168e_1(sc);
21042 re_set_phy_mcu_8168e_2(sc);
21045 re_set_phy_mcu_8168evl_1(sc);
21048 re_set_phy_mcu_8168evl_2(sc);
21051 re_set_phy_mcu_8168f_1(sc);
21054 re_set_phy_mcu_8168f_2(sc);
21057 re_set_phy_mcu_8411_1(sc);
21060 re_set_phy_mcu_8168g_1(sc);
21063 re_set_phy_mcu_8168gu_2(sc);
21066 re_set_phy_mcu_8411b_1(sc);
21069 re_set_phy_mcu_8168ep_1(sc);
21072 re_set_phy_mcu_8168ep_2(sc);
21075 re_set_phy_mcu_8168h_1(sc);
21078 re_set_phy_mcu_8168h_2(sc);
21082 re_write_hw_phy_mcu_code_ver(sc);
21084 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21087 static void re_hw_phy_config(struct re_softc *sc)
21089 u_int16_t Data, PhyRegValue, TmpUshort;
21090 u_int32_t Data_u32;
21091 u_int16_t dout_tapbin;
21094 if (sc->re_type == MACFG_59 || sc->re_type == MACFG_60 ||
21095 sc->re_type == MACFG_62 || sc->re_type == MACFG_67 ||
21096 sc->re_type == MACFG_68 || sc->re_type == MACFG_69 ||
21097 sc->re_type == MACFG_70 || sc->re_type == MACFG_71) {
21098 MP_WritePhyOcpRegWord(sc, 0x0C41, 0x13, 0x0000);
21099 MP_WritePhyOcpRegWord(sc, 0x0C41, 0x13, 0x0500);
21102 if (HW_DASH_SUPPORT_TYPE_3(sc) && sc->HwPkgDet == 0x06) return;
21104 if (FALSE == re_phy_ram_code_check(sc)) {
21105 re_set_phy_ram_code_check_fail_flag(sc);
21109 re_init_hw_phy_mcu(sc);
21111 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21113 if (sc->re_type == MACFG_3) {
21114 CSR_WRITE_1(sc, 0x82, CSR_READ_1(sc, 0x82)|BIT_0);
21115 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21116 MP_WritePhyUshort(sc, 0x0b, 0x0000);
21118 MP_WritePhyUshort(sc, 0x1f, 0x0001);
21119 MP_WritePhyUshort(sc, 0x06, 0x006e);
21120 MP_WritePhyUshort(sc, 0x08, 0x0708);
21121 MP_WritePhyUshort(sc, 0x15, 0x4000);
21122 MP_WritePhyUshort(sc, 0x18, 0x65c7);
21124 MP_WritePhyUshort(sc, 0x1f, 0x0001);
21125 MP_WritePhyUshort(sc, 0x03, 0x00a1);
21126 MP_WritePhyUshort(sc, 0x02, 0x0008);
21127 MP_WritePhyUshort(sc, 0x01, 0x0120);
21128 MP_WritePhyUshort(sc, 0x00, 0x1000);
21129 MP_WritePhyUshort(sc, 0x04, 0x0800);
21130 MP_WritePhyUshort(sc, 0x04, 0x0000);
21132 MP_WritePhyUshort(sc, 0x03, 0xff41);
21133 MP_WritePhyUshort(sc, 0x02, 0xdf60);
21134 MP_WritePhyUshort(sc, 0x01, 0x0140);
21135 MP_WritePhyUshort(sc, 0x00, 0x0077);
21136 MP_WritePhyUshort(sc, 0x04, 0x7800);
21137 MP_WritePhyUshort(sc, 0x04, 0x7000);
21139 MP_WritePhyUshort(sc, 0x03, 0x802f);
21140 MP_WritePhyUshort(sc, 0x02, 0x4f02);
21141 MP_WritePhyUshort(sc, 0x01, 0x0409);
21142 MP_WritePhyUshort(sc, 0x00, 0xf0f9);
21143 MP_WritePhyUshort(sc, 0x04, 0x9800);
21144 MP_WritePhyUshort(sc, 0x04, 0x9000);
21146 MP_WritePhyUshort(sc, 0x03, 0xdf01);
21147 MP_WritePhyUshort(sc, 0x02, 0xdf20);
21148 MP_WritePhyUshort(sc, 0x01, 0xff95);
21149 MP_WritePhyUshort(sc, 0x00, 0xba00);
21150 MP_WritePhyUshort(sc, 0x04, 0xa800);
21151 MP_WritePhyUshort(sc, 0x04, 0xa000);
21153 MP_WritePhyUshort(sc, 0x03, 0xff41);
21154 MP_WritePhyUshort(sc, 0x02, 0xdf20);
21155 MP_WritePhyUshort(sc, 0x01, 0x0140);
21156 MP_WritePhyUshort(sc, 0x00, 0x00bb);
21157 MP_WritePhyUshort(sc, 0x04, 0xb800);
21158 MP_WritePhyUshort(sc, 0x04, 0xb000);
21160 MP_WritePhyUshort(sc, 0x03, 0xdf41);
21161 MP_WritePhyUshort(sc, 0x02, 0xdc60);
21162 MP_WritePhyUshort(sc, 0x01, 0x6340);
21163 MP_WritePhyUshort(sc, 0x00, 0x007d);
21164 MP_WritePhyUshort(sc, 0x04, 0xd800);
21165 MP_WritePhyUshort(sc, 0x04, 0xd000);
21167 MP_WritePhyUshort(sc, 0x03, 0xdf01);
21168 MP_WritePhyUshort(sc, 0x02, 0xdf20);
21169 MP_WritePhyUshort(sc, 0x01, 0x100a);
21170 MP_WritePhyUshort(sc, 0x00, 0xa0ff);
21171 MP_WritePhyUshort(sc, 0x04, 0xf800);
21172 MP_WritePhyUshort(sc, 0x04, 0xf000);
21174 MP_WritePhyUshort(sc, 0x1f, 0x0000);
21175 MP_WritePhyUshort(sc, 0x0b, 0x0000);
21176 MP_WritePhyUshort(sc, 0x00, 0x9200);
21178 CSR_WRITE_1(sc, 0x82, 0x0d);
21179 } else if (sc->re_type == MACFG_4) {
21180 MP_WritePhyUshort(sc, 0x1f, 0x0002);
21181 MP_WritePhyUshort(sc, 0x01, 0x90D0);
21182 MP_WritePhyUshort(sc, 0x1f, 0x0000);
21183 // MP_WritePhyUshort(sc, 0x1e, 0x8c00); /* PHY link down with some Giga switch */
21184 } else if (sc->re_type == MACFG_5) {
21185 MP_WritePhyUshort(sc, 0x1f, 0x0001);
21186 MP_WritePhyUshort(sc, 0x04, 0x0000);
21187 MP_WritePhyUshort(sc, 0x03, 0x00a1);
21188 MP_WritePhyUshort(sc, 0x02, 0x0008);
21189 MP_WritePhyUshort(sc, 0x01, 0x0120);
21190 MP_WritePhyUshort(sc, 0x00, 0x1000);
21191 MP_WritePhyUshort(sc, 0x04, 0x0800);
21193 MP_WritePhyUshort(sc, 0x04, 0x9000);
21194 MP_WritePhyUshort(sc, 0x03, 0x802f);
21195 MP_WritePhyUshort(sc, 0x02, 0x4f02);
21196 MP_WritePhyUshort(sc, 0x01, 0x0409);
21197 MP_WritePhyUshort(sc, 0x00, 0xf099);
21198 MP_WritePhyUshort(sc, 0x04, 0x9800);
21200 MP_WritePhyUshort(sc, 0x04, 0xa000);
21201 MP_WritePhyUshort(sc, 0x03, 0xdf01);
21202 MP_WritePhyUshort(sc, 0x02, 0xdf20);
21203 MP_WritePhyUshort(sc, 0x01, 0xff95);
21204 MP_WritePhyUshort(sc, 0x00, 0xba00);
21205 MP_WritePhyUshort(sc, 0x04, 0xa800);
21207 MP_WritePhyUshort(sc, 0x04, 0xf000);
21208 MP_WritePhyUshort(sc, 0x03, 0xdf01);
21209 MP_WritePhyUshort(sc, 0x02, 0xdf20);
21210 MP_WritePhyUshort(sc, 0x01, 0x101a);
21211 MP_WritePhyUshort(sc, 0x00, 0xa0ff);
21212 MP_WritePhyUshort(sc, 0x04, 0xf800);
21213 MP_WritePhyUshort(sc, 0x04, 0x0000);
21214 MP_WritePhyUshort(sc, 0x1f, 0x0000);
21216 MP_WritePhyUshort(sc, 0x1f, 0x0001);
21217 MP_WritePhyUshort(sc, 0x10, 0xf41b);
21218 MP_WritePhyUshort(sc, 0x14, 0xfb54);
21219 MP_WritePhyUshort(sc, 0x18, 0xf5c7);
21220 MP_WritePhyUshort(sc, 0x1f, 0x0000);
21222 MP_WritePhyUshort(sc, 0x1f, 0x0001);
21223 MP_WritePhyUshort(sc, 0x17, 0x0CC0);
21224 MP_WritePhyUshort(sc, 0x1f, 0x0000);
21226 MP_WritePhyUshort(sc, 0x1f, 0x0001);
21227 MP_WritePhyUshort(sc, 0x10, 0xf01b);
21229 } else if (sc->re_type == MACFG_6) {
21230 MP_WritePhyUshort(sc, 0x1f, 0x0001);
21231 MP_WritePhyUshort(sc, 0x04, 0x0000);
21232 MP_WritePhyUshort(sc, 0x03, 0x00a1);
21233 MP_WritePhyUshort(sc, 0x02, 0x0008);
21234 MP_WritePhyUshort(sc, 0x01, 0x0120);
21235 MP_WritePhyUshort(sc, 0x00, 0x1000);
21236 MP_WritePhyUshort(sc, 0x04, 0x0800);
21238 MP_WritePhyUshort(sc, 0x04, 0x9000);
21239 MP_WritePhyUshort(sc, 0x03, 0x802f);
21240 MP_WritePhyUshort(sc, 0x02, 0x4f02);
21241 MP_WritePhyUshort(sc, 0x01, 0x0409);
21242 MP_WritePhyUshort(sc, 0x00, 0xf099);
21243 MP_WritePhyUshort(sc, 0x04, 0x9800);
21245 MP_WritePhyUshort(sc, 0x04, 0xa000);
21246 MP_WritePhyUshort(sc, 0x03, 0xdf01);
21247 MP_WritePhyUshort(sc, 0x02, 0xdf20);
21248 MP_WritePhyUshort(sc, 0x01, 0xff95);
21249 MP_WritePhyUshort(sc, 0x00, 0xba00);
21250 MP_WritePhyUshort(sc, 0x04, 0xa800);
21252 MP_WritePhyUshort(sc, 0x04, 0xf000);
21253 MP_WritePhyUshort(sc, 0x03, 0xdf01);
21254 MP_WritePhyUshort(sc, 0x02, 0xdf20);
21255 MP_WritePhyUshort(sc, 0x01, 0x101a);
21256 MP_WritePhyUshort(sc, 0x00, 0xa0ff);
21257 MP_WritePhyUshort(sc, 0x04, 0xf800);
21258 MP_WritePhyUshort(sc, 0x04, 0x0000);
21259 MP_WritePhyUshort(sc, 0x1f, 0x0000);
21261 MP_WritePhyUshort(sc, 0x1f, 0x0001);
21262 MP_WritePhyUshort(sc, 0x0b, 0x8480);
21263 MP_WritePhyUshort(sc, 0x1f, 0x0000);
21265 MP_WritePhyUshort(sc, 0x1f, 0x0001);
21266 MP_WritePhyUshort(sc, 0x18, 0x67c7);
21267 MP_WritePhyUshort(sc, 0x04, 0x2000);
21268 MP_WritePhyUshort(sc, 0x03, 0x002f);
21269 MP_WritePhyUshort(sc, 0x02, 0x4360);
21270 MP_WritePhyUshort(sc, 0x01, 0x0109);
21271 MP_WritePhyUshort(sc, 0x00, 0x3022);
21272 MP_WritePhyUshort(sc, 0x04, 0x2800);
21273 MP_WritePhyUshort(sc, 0x1f, 0x0000);
21275 MP_WritePhyUshort(sc, 0x1f, 0x0001);
21276 MP_WritePhyUshort(sc, 0x17, 0x0CC0);
21277 } else if (sc->re_type == MACFG_14) {
21278 MP_WritePhyUshort(sc, 0x1f, 0x0000);
21279 MP_WritePhyUshort(sc, 0x11, MP_ReadPhyUshort(sc, 0x11) | 0x1000);
21280 MP_WritePhyUshort(sc, 0x19, MP_ReadPhyUshort(sc, 0x19) | 0x2000);
21281 MP_WritePhyUshort(sc, 0x10, MP_ReadPhyUshort(sc, 0x10) | 0x8000);
21283 MP_WritePhyUshort(sc, 0x1f, 0x0003);
21284 MP_WritePhyUshort(sc, 0x08, 0x441D);
21285 MP_WritePhyUshort(sc, 0x01, 0x9100);
21286 } else if (sc->re_type == MACFG_15) {
21287 MP_WritePhyUshort(sc, 0x1f, 0x0000);
21288 MP_WritePhyUshort(sc, 0x11, MP_ReadPhyUshort(sc, 0x11) | 0x1000);
21289 MP_WritePhyUshort(sc, 0x19, MP_ReadPhyUshort(sc, 0x19) | 0x2000);
21290 MP_WritePhyUshort(sc, 0x10, MP_ReadPhyUshort(sc, 0x10) | 0x8000);
21292 MP_WritePhyUshort(sc, 0x1f, 0x0003);
21293 MP_WritePhyUshort(sc, 0x08, 0x441D);
21294 MP_WritePhyUshort(sc, 0x01, 0x9100);
21295 } else if (sc->re_type == MACFG_17) {
21296 MP_WritePhyUshort(sc, 0x1f, 0x0000);
21297 MP_WritePhyUshort(sc, 0x11, MP_ReadPhyUshort(sc, 0x11) | 0x1000);
21298 MP_WritePhyUshort(sc, 0x19, MP_ReadPhyUshort(sc, 0x19) | 0x2000);
21299 MP_WritePhyUshort(sc, 0x10, MP_ReadPhyUshort(sc, 0x10) | 0x8000);
21301 MP_WritePhyUshort(sc, 0x1f, 0x0003);
21302 MP_WritePhyUshort(sc, 0x08, 0x441D);
21304 MP_WritePhyUshort(sc, 0x1f, 0x0000);
21305 } else if (sc->re_type == MACFG_21) {
21306 MP_WritePhyUshort(sc, 0x1F, 0x0001);
21307 MP_WritePhyUshort(sc, 0x0B, 0x94B0);
21309 MP_WritePhyUshort(sc, 0x1F, 0x0003);
21310 MP_WritePhyUshort(sc, 0x12, 0x6096);
21311 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21312 } else if (sc->re_type == MACFG_22) {
21313 MP_WritePhyUshort(sc, 0x1F, 0x0001);
21314 MP_WritePhyUshort(sc, 0x0B, 0x94B0);
21316 MP_WritePhyUshort(sc, 0x1F, 0x0003);
21317 MP_WritePhyUshort(sc, 0x12, 0x6096);
21318 } else if (sc->re_type == MACFG_23) {
21319 MP_WritePhyUshort(sc, 0x1F, 0x0001);
21320 MP_WritePhyUshort(sc, 0x0B, 0x94B0);
21322 MP_WritePhyUshort(sc, 0x1F, 0x0003);
21323 MP_WritePhyUshort(sc, 0x12, 0x6096);
21324 } else if (sc->re_type == MACFG_24) {
21325 MP_WritePhyUshort(sc, 0x1F, 0x0001);
21326 MP_WritePhyUshort(sc, 0x12, 0x2300);
21327 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21328 MP_WritePhyUshort(sc, 0x1F, 0x0003);
21329 MP_WritePhyUshort(sc, 0x16, 0x000A);
21330 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21332 MP_WritePhyUshort(sc, 0x1F, 0x0003);
21333 MP_WritePhyUshort(sc, 0x12, 0xC096);
21334 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21336 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21337 MP_WritePhyUshort(sc, 0x00, 0x88DE);
21338 MP_WritePhyUshort(sc, 0x01, 0x82B1);
21339 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21341 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21342 MP_WritePhyUshort(sc, 0x08, 0x9E30);
21343 MP_WritePhyUshort(sc, 0x09, 0x01F0);
21344 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21346 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21347 MP_WritePhyUshort(sc, 0x0A, 0x5500);
21348 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21350 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21351 MP_WritePhyUshort(sc, 0x03, 0x7002);
21352 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21354 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21355 MP_WritePhyUshort(sc, 0x14, MP_ReadPhyUshort(sc, 0x14) | BIT_5);
21356 MP_WritePhyUshort(sc, 0x0d, MP_ReadPhyUshort(sc, 0x0d) | BIT_5);
21357 } else if (sc->re_type == MACFG_25) {
21358 MP_WritePhyUshort(sc, 0x1F, 0x0001);
21359 MP_WritePhyUshort(sc, 0x12, 0x2300);
21360 MP_WritePhyUshort(sc, 0x1F, 0x0003);
21361 MP_WritePhyUshort(sc, 0x16, 0x0F0A);
21362 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21364 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21365 MP_WritePhyUshort(sc, 0x00, 0x88DE);
21366 MP_WritePhyUshort(sc, 0x01, 0x82B1);
21367 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21369 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21370 MP_WritePhyUshort(sc, 0x0C, 0x7EB8);
21371 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21373 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21374 MP_WritePhyUshort(sc, 0x06, 0x0761);
21375 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21377 MP_WritePhyUshort(sc, 0x1F, 0x0001);
21378 MP_WritePhyUshort(sc, 0x03, 0x802F);
21379 MP_WritePhyUshort(sc, 0x02, 0x4F02);
21380 MP_WritePhyUshort(sc, 0x01, 0x0409);
21381 MP_WritePhyUshort(sc, 0x00, 0xF099);
21382 MP_WritePhyUshort(sc, 0x04, 0x9800);
21383 MP_WritePhyUshort(sc, 0x04, 0x9000);
21384 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21386 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21387 MP_WritePhyUshort(sc, 0x16, MP_ReadPhyUshort(sc, 0x16) | BIT_0);
21389 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21390 MP_WritePhyUshort(sc, 0x14, MP_ReadPhyUshort(sc, 0x14) | BIT_5);
21391 MP_WritePhyUshort(sc, 0x0D, MP_ReadPhyUshort(sc, 0x0D) & ~BIT_5);
21393 MP_WritePhyUshort(sc, 0x1F, 0x0001);
21394 MP_WritePhyUshort(sc, 0x1D, 0x3D98);
21395 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21397 MP_WritePhyUshort(sc, 0x1F, 0x0001);
21398 MP_WritePhyUshort(sc, 0x17, 0x0CC0);
21399 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21400 } else if (sc->re_type == MACFG_26) {
21401 MP_WritePhyUshort(sc, 0x1F, 0x0001);
21402 MP_WritePhyUshort(sc, 0x12, 0x2300);
21403 MP_WritePhyUshort(sc, 0x1F, 0x0003);
21404 MP_WritePhyUshort(sc, 0x16, 0x0F0A);
21405 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21407 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21408 MP_WritePhyUshort(sc, 0x00, 0x88DE);
21409 MP_WritePhyUshort(sc, 0x01, 0x82B1);
21410 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21412 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21413 MP_WritePhyUshort(sc, 0x0C, 0x7EB8);
21414 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21416 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21417 MP_WritePhyUshort(sc, 0x06, 0x5461);
21418 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21420 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21421 MP_WritePhyUshort(sc, 0x06, 0x5461);
21422 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21424 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21425 MP_WritePhyUshort(sc, 0x16, MP_ReadPhyUshort(sc, 0x16) | BIT_0);
21427 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21428 MP_WritePhyUshort(sc, 0x14, MP_ReadPhyUshort(sc, 0x14) | BIT_5);
21429 MP_WritePhyUshort(sc, 0x0D, MP_ReadPhyUshort(sc, 0x0D) & ~BIT_5);
21431 MP_WritePhyUshort(sc, 0x1F, 0x0001);
21432 MP_WritePhyUshort(sc, 0x1D, 0x3D98);
21433 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21435 MP_WritePhyUshort(sc, 0x1f, 0x0001);
21436 MP_WritePhyUshort(sc, 0x17, 0x0CC0);
21437 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21438 } else if (sc->re_type == MACFG_27) {
21439 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21440 MP_WritePhyUshort(sc, 0x0d, MP_ReadPhyUshort(sc, 0x0d) | BIT_5);
21441 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21443 MP_WritePhyUshort(sc, 0x1F, 0x0001);
21444 MP_WritePhyUshort(sc, 0x1D, 0x3D98);
21445 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21447 MP_WritePhyUshort(sc, 0x1F, 0x0001);
21448 MP_WritePhyUshort(sc, 0x14, 0xCAA3);
21449 MP_WritePhyUshort(sc, 0x1C, 0x000A);
21450 MP_WritePhyUshort(sc, 0x18, 0x65D0);
21452 MP_WritePhyUshort(sc, 0x1F, 0x0003);
21453 MP_WritePhyUshort(sc, 0x17, 0xB580);
21454 MP_WritePhyUshort(sc, 0x18, 0xFF54);
21455 MP_WritePhyUshort(sc, 0x19, 0x3954);
21457 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21458 MP_WritePhyUshort(sc, 0x0D, 0x310C);
21459 MP_WritePhyUshort(sc, 0x0E, 0x310C);
21460 MP_WritePhyUshort(sc, 0x0F, 0x311C);
21461 MP_WritePhyUshort(sc, 0x06, 0x0761);
21463 MP_WritePhyUshort(sc, 0x1F, 0x0003);
21464 MP_WritePhyUshort(sc, 0x18, 0xFF55);
21465 MP_WritePhyUshort(sc, 0x19, 0x3955);
21466 MP_WritePhyUshort(sc, 0x18, 0xFF54);
21467 MP_WritePhyUshort(sc, 0x19, 0x3954);
21469 MP_WritePhyUshort(sc, 0x1f, 0x0001);
21470 MP_WritePhyUshort(sc, 0x17, 0x0CC0);
21471 } else if (sc->re_type == MACFG_28) {
21472 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21473 MP_WritePhyUshort(sc, 0x14, MP_ReadPhyUshort(sc, 0x14) | BIT_5);
21474 MP_WritePhyUshort(sc, 0x0d, MP_ReadPhyUshort(sc, 0x0d) | BIT_5);
21476 MP_WritePhyUshort(sc, 0x1F, 0x0001);
21477 MP_WritePhyUshort(sc, 0x14, 0xCAA3);
21478 MP_WritePhyUshort(sc, 0x1C, 0x000A);
21479 MP_WritePhyUshort(sc, 0x18, 0x65D0);
21481 MP_WritePhyUshort(sc, 0x1F, 0x0003);
21482 MP_WritePhyUshort(sc, 0x17, 0xB580);
21483 MP_WritePhyUshort(sc, 0x18, 0xFF54);
21484 MP_WritePhyUshort(sc, 0x19, 0x3954);
21486 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21487 MP_WritePhyUshort(sc, 0x0D, 0x310C);
21488 MP_WritePhyUshort(sc, 0x0E, 0x310C);
21489 MP_WritePhyUshort(sc, 0x0F, 0x311C);
21490 MP_WritePhyUshort(sc, 0x06, 0x0761);
21492 MP_WritePhyUshort(sc, 0x1F, 0x0003);
21493 MP_WritePhyUshort(sc, 0x18, 0xFF55);
21494 MP_WritePhyUshort(sc, 0x19, 0x3955);
21495 MP_WritePhyUshort(sc, 0x18, 0xFF54);
21496 MP_WritePhyUshort(sc, 0x19, 0x3954);
21498 MP_WritePhyUshort(sc, 0x1f, 0x0001);
21499 MP_WritePhyUshort(sc, 0x17, 0x0CC0);
21501 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21502 MP_WritePhyUshort(sc, 0x16, MP_ReadPhyUshort(sc, 0x16) | BIT_0);
21503 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21504 } else if (sc->re_type == MACFG_31) {
21505 MP_WritePhyUshort(sc, 0x1F, 0x0001);
21506 MP_WritePhyUshort(sc, 0x06, 0x4064);
21507 MP_WritePhyUshort(sc, 0x07, 0x2863);
21508 MP_WritePhyUshort(sc, 0x08, 0x059C);
21509 MP_WritePhyUshort(sc, 0x09, 0x26B4);
21510 MP_WritePhyUshort(sc, 0x0A, 0x6A19);
21511 MP_WritePhyUshort(sc, 0x0B, 0xDCC8);
21512 MP_WritePhyUshort(sc, 0x10, 0xF06D);
21513 MP_WritePhyUshort(sc, 0x14, 0x7F68);
21514 MP_WritePhyUshort(sc, 0x18, 0x7FD9);
21515 MP_WritePhyUshort(sc, 0x1C, 0xF0FF);
21516 MP_WritePhyUshort(sc, 0x1D, 0x3D9C);
21517 MP_WritePhyUshort(sc, 0x1F, 0x0003);
21518 MP_WritePhyUshort(sc, 0x12, 0xF49F);
21519 MP_WritePhyUshort(sc, 0x13, 0x070B);
21520 MP_WritePhyUshort(sc, 0x1A, 0x05AD);
21521 MP_WritePhyUshort(sc, 0x14, 0x94C0);
21523 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21524 Data = MP_ReadPhyUshort(sc, 0x0B) & 0xFF00;
21526 MP_WritePhyUshort(sc, 0x0B, Data);
21527 Data = MP_ReadPhyUshort(sc, 0x0C) & 0x00FF;
21529 MP_WritePhyUshort(sc, 0x0C, Data);
21531 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21532 MP_WritePhyUshort(sc, 0x06, 0x5561);
21533 MP_WritePhyUshort(sc, 0x1F, 0x0005);
21534 MP_WritePhyUshort(sc, 0x05, 0x8332);
21535 MP_WritePhyUshort(sc, 0x06, 0x5561);
21537 if (MP_ReadEfuse(sc, 0x01) == 0xb1) {
21538 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21539 MP_WritePhyUshort(sc, 0x05, 0x669A);
21540 MP_WritePhyUshort(sc, 0x1F, 0x0005);
21541 MP_WritePhyUshort(sc, 0x05, 0x8330);
21542 MP_WritePhyUshort(sc, 0x06, 0x669A);
21544 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21545 Data = MP_ReadPhyUshort(sc, 0x0D);
21546 if ((Data & 0x00FF) != 0x006C) {
21548 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21549 MP_WritePhyUshort(sc, 0x0D, Data | 0x0065);
21550 MP_WritePhyUshort(sc, 0x0D, Data | 0x0066);
21551 MP_WritePhyUshort(sc, 0x0D, Data | 0x0067);
21552 MP_WritePhyUshort(sc, 0x0D, Data | 0x0068);
21553 MP_WritePhyUshort(sc, 0x0D, Data | 0x0069);
21554 MP_WritePhyUshort(sc, 0x0D, Data | 0x006A);
21555 MP_WritePhyUshort(sc, 0x0D, Data | 0x006B);
21556 MP_WritePhyUshort(sc, 0x0D, Data | 0x006C);
21559 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21560 MP_WritePhyUshort(sc, 0x05, 0x6662);
21561 MP_WritePhyUshort(sc, 0x1F, 0x0005);
21562 MP_WritePhyUshort(sc, 0x05, 0x8330);
21563 MP_WritePhyUshort(sc, 0x06, 0x6662);
21566 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21567 Data = MP_ReadPhyUshort(sc, 0x0D);
21569 MP_WritePhyUshort(sc, 0x0D, Data);
21570 Data = MP_ReadPhyUshort(sc, 0x0F);
21572 MP_WritePhyUshort(sc, 0x0F, Data);
21574 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21575 Data = MP_ReadPhyUshort(sc, 0x02);
21578 MP_WritePhyUshort(sc, 0x02, Data);
21579 Data = MP_ReadPhyUshort(sc, 0x03);
21581 MP_WritePhyUshort(sc, 0x03, Data);
21583 MP_WritePhyUshort(sc, 0x1F, 0x0001);
21584 MP_WritePhyUshort(sc, 0x17, 0x0CC0);
21586 MP_WritePhyUshort(sc, 0x1F, 0x0005);
21587 MP_WritePhyUshort(sc, 0x05, 0x001B);
21588 if (MP_ReadPhyUshort(sc, 0x06) == 0xBF00) {
21589 MP_WritePhyUshort(sc, 0x1f, 0x0005);
21590 MP_WritePhyUshort(sc, 0x05, 0xfff6);
21591 MP_WritePhyUshort(sc, 0x06, 0x0080);
21592 MP_WritePhyUshort(sc, 0x05, 0x8000);
21593 MP_WritePhyUshort(sc, 0x06, 0xf8f9);
21594 MP_WritePhyUshort(sc, 0x06, 0xfaef);
21595 MP_WritePhyUshort(sc, 0x06, 0x59ee);
21596 MP_WritePhyUshort(sc, 0x06, 0xf8ea);
21597 MP_WritePhyUshort(sc, 0x06, 0x00ee);
21598 MP_WritePhyUshort(sc, 0x06, 0xf8eb);
21599 MP_WritePhyUshort(sc, 0x06, 0x00e0);
21600 MP_WritePhyUshort(sc, 0x06, 0xf87c);
21601 MP_WritePhyUshort(sc, 0x06, 0xe1f8);
21602 MP_WritePhyUshort(sc, 0x06, 0x7d59);
21603 MP_WritePhyUshort(sc, 0x06, 0x0fef);
21604 MP_WritePhyUshort(sc, 0x06, 0x0139);
21605 MP_WritePhyUshort(sc, 0x06, 0x029e);
21606 MP_WritePhyUshort(sc, 0x06, 0x06ef);
21607 MP_WritePhyUshort(sc, 0x06, 0x1039);
21608 MP_WritePhyUshort(sc, 0x06, 0x089f);
21609 MP_WritePhyUshort(sc, 0x06, 0x2aee);
21610 MP_WritePhyUshort(sc, 0x06, 0xf8ea);
21611 MP_WritePhyUshort(sc, 0x06, 0x00ee);
21612 MP_WritePhyUshort(sc, 0x06, 0xf8eb);
21613 MP_WritePhyUshort(sc, 0x06, 0x01e0);
21614 MP_WritePhyUshort(sc, 0x06, 0xf87c);
21615 MP_WritePhyUshort(sc, 0x06, 0xe1f8);
21616 MP_WritePhyUshort(sc, 0x06, 0x7d58);
21617 MP_WritePhyUshort(sc, 0x06, 0x409e);
21618 MP_WritePhyUshort(sc, 0x06, 0x0f39);
21619 MP_WritePhyUshort(sc, 0x06, 0x46aa);
21620 MP_WritePhyUshort(sc, 0x06, 0x0bbf);
21621 MP_WritePhyUshort(sc, 0x06, 0x8290);
21622 MP_WritePhyUshort(sc, 0x06, 0xd682);
21623 MP_WritePhyUshort(sc, 0x06, 0x9802);
21624 MP_WritePhyUshort(sc, 0x06, 0x014f);
21625 MP_WritePhyUshort(sc, 0x06, 0xae09);
21626 MP_WritePhyUshort(sc, 0x06, 0xbf82);
21627 MP_WritePhyUshort(sc, 0x06, 0x98d6);
21628 MP_WritePhyUshort(sc, 0x06, 0x82a0);
21629 MP_WritePhyUshort(sc, 0x06, 0x0201);
21630 MP_WritePhyUshort(sc, 0x06, 0x4fef);
21631 MP_WritePhyUshort(sc, 0x06, 0x95fe);
21632 MP_WritePhyUshort(sc, 0x06, 0xfdfc);
21633 MP_WritePhyUshort(sc, 0x06, 0x05f8);
21634 MP_WritePhyUshort(sc, 0x06, 0xf9fa);
21635 MP_WritePhyUshort(sc, 0x06, 0xeef8);
21636 MP_WritePhyUshort(sc, 0x06, 0xea00);
21637 MP_WritePhyUshort(sc, 0x06, 0xeef8);
21638 MP_WritePhyUshort(sc, 0x06, 0xeb00);
21639 MP_WritePhyUshort(sc, 0x06, 0xe2f8);
21640 MP_WritePhyUshort(sc, 0x06, 0x7ce3);
21641 MP_WritePhyUshort(sc, 0x06, 0xf87d);
21642 MP_WritePhyUshort(sc, 0x06, 0xa511);
21643 MP_WritePhyUshort(sc, 0x06, 0x1112);
21644 MP_WritePhyUshort(sc, 0x06, 0xd240);
21645 MP_WritePhyUshort(sc, 0x06, 0xd644);
21646 MP_WritePhyUshort(sc, 0x06, 0x4402);
21647 MP_WritePhyUshort(sc, 0x06, 0x8217);
21648 MP_WritePhyUshort(sc, 0x06, 0xd2a0);
21649 MP_WritePhyUshort(sc, 0x06, 0xd6aa);
21650 MP_WritePhyUshort(sc, 0x06, 0xaa02);
21651 MP_WritePhyUshort(sc, 0x06, 0x8217);
21652 MP_WritePhyUshort(sc, 0x06, 0xae0f);
21653 MP_WritePhyUshort(sc, 0x06, 0xa544);
21654 MP_WritePhyUshort(sc, 0x06, 0x4402);
21655 MP_WritePhyUshort(sc, 0x06, 0xae4d);
21656 MP_WritePhyUshort(sc, 0x06, 0xa5aa);
21657 MP_WritePhyUshort(sc, 0x06, 0xaa02);
21658 MP_WritePhyUshort(sc, 0x06, 0xae47);
21659 MP_WritePhyUshort(sc, 0x06, 0xaf82);
21660 MP_WritePhyUshort(sc, 0x06, 0x13ee);
21661 MP_WritePhyUshort(sc, 0x06, 0x834e);
21662 MP_WritePhyUshort(sc, 0x06, 0x00ee);
21663 MP_WritePhyUshort(sc, 0x06, 0x834d);
21664 MP_WritePhyUshort(sc, 0x06, 0x0fee);
21665 MP_WritePhyUshort(sc, 0x06, 0x834c);
21666 MP_WritePhyUshort(sc, 0x06, 0x0fee);
21667 MP_WritePhyUshort(sc, 0x06, 0x834f);
21668 MP_WritePhyUshort(sc, 0x06, 0x00ee);
21669 MP_WritePhyUshort(sc, 0x06, 0x8351);
21670 MP_WritePhyUshort(sc, 0x06, 0x00ee);
21671 MP_WritePhyUshort(sc, 0x06, 0x834a);
21672 MP_WritePhyUshort(sc, 0x06, 0xffee);
21673 MP_WritePhyUshort(sc, 0x06, 0x834b);
21674 MP_WritePhyUshort(sc, 0x06, 0xffe0);
21675 MP_WritePhyUshort(sc, 0x06, 0x8330);
21676 MP_WritePhyUshort(sc, 0x06, 0xe183);
21677 MP_WritePhyUshort(sc, 0x06, 0x3158);
21678 MP_WritePhyUshort(sc, 0x06, 0xfee4);
21679 MP_WritePhyUshort(sc, 0x06, 0xf88a);
21680 MP_WritePhyUshort(sc, 0x06, 0xe5f8);
21681 MP_WritePhyUshort(sc, 0x06, 0x8be0);
21682 MP_WritePhyUshort(sc, 0x06, 0x8332);
21683 MP_WritePhyUshort(sc, 0x06, 0xe183);
21684 MP_WritePhyUshort(sc, 0x06, 0x3359);
21685 MP_WritePhyUshort(sc, 0x06, 0x0fe2);
21686 MP_WritePhyUshort(sc, 0x06, 0x834d);
21687 MP_WritePhyUshort(sc, 0x06, 0x0c24);
21688 MP_WritePhyUshort(sc, 0x06, 0x5af0);
21689 MP_WritePhyUshort(sc, 0x06, 0x1e12);
21690 MP_WritePhyUshort(sc, 0x06, 0xe4f8);
21691 MP_WritePhyUshort(sc, 0x06, 0x8ce5);
21692 MP_WritePhyUshort(sc, 0x06, 0xf88d);
21693 MP_WritePhyUshort(sc, 0x06, 0xaf82);
21694 MP_WritePhyUshort(sc, 0x06, 0x13e0);
21695 MP_WritePhyUshort(sc, 0x06, 0x834f);
21696 MP_WritePhyUshort(sc, 0x06, 0x10e4);
21697 MP_WritePhyUshort(sc, 0x06, 0x834f);
21698 MP_WritePhyUshort(sc, 0x06, 0xe083);
21699 MP_WritePhyUshort(sc, 0x06, 0x4e78);
21700 MP_WritePhyUshort(sc, 0x06, 0x009f);
21701 MP_WritePhyUshort(sc, 0x06, 0x0ae0);
21702 MP_WritePhyUshort(sc, 0x06, 0x834f);
21703 MP_WritePhyUshort(sc, 0x06, 0xa010);
21704 MP_WritePhyUshort(sc, 0x06, 0xa5ee);
21705 MP_WritePhyUshort(sc, 0x06, 0x834e);
21706 MP_WritePhyUshort(sc, 0x06, 0x01e0);
21707 MP_WritePhyUshort(sc, 0x06, 0x834e);
21708 MP_WritePhyUshort(sc, 0x06, 0x7805);
21709 MP_WritePhyUshort(sc, 0x06, 0x9e9a);
21710 MP_WritePhyUshort(sc, 0x06, 0xe083);
21711 MP_WritePhyUshort(sc, 0x06, 0x4e78);
21712 MP_WritePhyUshort(sc, 0x06, 0x049e);
21713 MP_WritePhyUshort(sc, 0x06, 0x10e0);
21714 MP_WritePhyUshort(sc, 0x06, 0x834e);
21715 MP_WritePhyUshort(sc, 0x06, 0x7803);
21716 MP_WritePhyUshort(sc, 0x06, 0x9e0f);
21717 MP_WritePhyUshort(sc, 0x06, 0xe083);
21718 MP_WritePhyUshort(sc, 0x06, 0x4e78);
21719 MP_WritePhyUshort(sc, 0x06, 0x019e);
21720 MP_WritePhyUshort(sc, 0x06, 0x05ae);
21721 MP_WritePhyUshort(sc, 0x06, 0x0caf);
21722 MP_WritePhyUshort(sc, 0x06, 0x81f8);
21723 MP_WritePhyUshort(sc, 0x06, 0xaf81);
21724 MP_WritePhyUshort(sc, 0x06, 0xa3af);
21725 MP_WritePhyUshort(sc, 0x06, 0x81dc);
21726 MP_WritePhyUshort(sc, 0x06, 0xaf82);
21727 MP_WritePhyUshort(sc, 0x06, 0x13ee);
21728 MP_WritePhyUshort(sc, 0x06, 0x8348);
21729 MP_WritePhyUshort(sc, 0x06, 0x00ee);
21730 MP_WritePhyUshort(sc, 0x06, 0x8349);
21731 MP_WritePhyUshort(sc, 0x06, 0x00e0);
21732 MP_WritePhyUshort(sc, 0x06, 0x8351);
21733 MP_WritePhyUshort(sc, 0x06, 0x10e4);
21734 MP_WritePhyUshort(sc, 0x06, 0x8351);
21735 MP_WritePhyUshort(sc, 0x06, 0x5801);
21736 MP_WritePhyUshort(sc, 0x06, 0x9fea);
21737 MP_WritePhyUshort(sc, 0x06, 0xd000);
21738 MP_WritePhyUshort(sc, 0x06, 0xd180);
21739 MP_WritePhyUshort(sc, 0x06, 0x1f66);
21740 MP_WritePhyUshort(sc, 0x06, 0xe2f8);
21741 MP_WritePhyUshort(sc, 0x06, 0xeae3);
21742 MP_WritePhyUshort(sc, 0x06, 0xf8eb);
21743 MP_WritePhyUshort(sc, 0x06, 0x5af8);
21744 MP_WritePhyUshort(sc, 0x06, 0x1e20);
21745 MP_WritePhyUshort(sc, 0x06, 0xe6f8);
21746 MP_WritePhyUshort(sc, 0x06, 0xeae5);
21747 MP_WritePhyUshort(sc, 0x06, 0xf8eb);
21748 MP_WritePhyUshort(sc, 0x06, 0xd302);
21749 MP_WritePhyUshort(sc, 0x06, 0xb3fe);
21750 MP_WritePhyUshort(sc, 0x06, 0xe2f8);
21751 MP_WritePhyUshort(sc, 0x06, 0x7cef);
21752 MP_WritePhyUshort(sc, 0x06, 0x325b);
21753 MP_WritePhyUshort(sc, 0x06, 0x80e3);
21754 MP_WritePhyUshort(sc, 0x06, 0xf87d);
21755 MP_WritePhyUshort(sc, 0x06, 0x9e03);
21756 MP_WritePhyUshort(sc, 0x06, 0x7dff);
21757 MP_WritePhyUshort(sc, 0x06, 0xff0d);
21758 MP_WritePhyUshort(sc, 0x06, 0x581c);
21759 MP_WritePhyUshort(sc, 0x06, 0x551a);
21760 MP_WritePhyUshort(sc, 0x06, 0x6511);
21761 MP_WritePhyUshort(sc, 0x06, 0xa190);
21762 MP_WritePhyUshort(sc, 0x06, 0xd3e2);
21763 MP_WritePhyUshort(sc, 0x06, 0x8348);
21764 MP_WritePhyUshort(sc, 0x06, 0xe383);
21765 MP_WritePhyUshort(sc, 0x06, 0x491b);
21766 MP_WritePhyUshort(sc, 0x06, 0x56ab);
21767 MP_WritePhyUshort(sc, 0x06, 0x08ef);
21768 MP_WritePhyUshort(sc, 0x06, 0x56e6);
21769 MP_WritePhyUshort(sc, 0x06, 0x8348);
21770 MP_WritePhyUshort(sc, 0x06, 0xe783);
21771 MP_WritePhyUshort(sc, 0x06, 0x4910);
21772 MP_WritePhyUshort(sc, 0x06, 0xd180);
21773 MP_WritePhyUshort(sc, 0x06, 0x1f66);
21774 MP_WritePhyUshort(sc, 0x06, 0xa004);
21775 MP_WritePhyUshort(sc, 0x06, 0xb9e2);
21776 MP_WritePhyUshort(sc, 0x06, 0x8348);
21777 MP_WritePhyUshort(sc, 0x06, 0xe383);
21778 MP_WritePhyUshort(sc, 0x06, 0x49ef);
21779 MP_WritePhyUshort(sc, 0x06, 0x65e2);
21780 MP_WritePhyUshort(sc, 0x06, 0x834a);
21781 MP_WritePhyUshort(sc, 0x06, 0xe383);
21782 MP_WritePhyUshort(sc, 0x06, 0x4b1b);
21783 MP_WritePhyUshort(sc, 0x06, 0x56aa);
21784 MP_WritePhyUshort(sc, 0x06, 0x0eef);
21785 MP_WritePhyUshort(sc, 0x06, 0x56e6);
21786 MP_WritePhyUshort(sc, 0x06, 0x834a);
21787 MP_WritePhyUshort(sc, 0x06, 0xe783);
21788 MP_WritePhyUshort(sc, 0x06, 0x4be2);
21789 MP_WritePhyUshort(sc, 0x06, 0x834d);
21790 MP_WritePhyUshort(sc, 0x06, 0xe683);
21791 MP_WritePhyUshort(sc, 0x06, 0x4ce0);
21792 MP_WritePhyUshort(sc, 0x06, 0x834d);
21793 MP_WritePhyUshort(sc, 0x06, 0xa000);
21794 MP_WritePhyUshort(sc, 0x06, 0x0caf);
21795 MP_WritePhyUshort(sc, 0x06, 0x81dc);
21796 MP_WritePhyUshort(sc, 0x06, 0xe083);
21797 MP_WritePhyUshort(sc, 0x06, 0x4d10);
21798 MP_WritePhyUshort(sc, 0x06, 0xe483);
21799 MP_WritePhyUshort(sc, 0x06, 0x4dae);
21800 MP_WritePhyUshort(sc, 0x06, 0x0480);
21801 MP_WritePhyUshort(sc, 0x06, 0xe483);
21802 MP_WritePhyUshort(sc, 0x06, 0x4de0);
21803 MP_WritePhyUshort(sc, 0x06, 0x834e);
21804 MP_WritePhyUshort(sc, 0x06, 0x7803);
21805 MP_WritePhyUshort(sc, 0x06, 0x9e0b);
21806 MP_WritePhyUshort(sc, 0x06, 0xe083);
21807 MP_WritePhyUshort(sc, 0x06, 0x4e78);
21808 MP_WritePhyUshort(sc, 0x06, 0x049e);
21809 MP_WritePhyUshort(sc, 0x06, 0x04ee);
21810 MP_WritePhyUshort(sc, 0x06, 0x834e);
21811 MP_WritePhyUshort(sc, 0x06, 0x02e0);
21812 MP_WritePhyUshort(sc, 0x06, 0x8332);
21813 MP_WritePhyUshort(sc, 0x06, 0xe183);
21814 MP_WritePhyUshort(sc, 0x06, 0x3359);
21815 MP_WritePhyUshort(sc, 0x06, 0x0fe2);
21816 MP_WritePhyUshort(sc, 0x06, 0x834d);
21817 MP_WritePhyUshort(sc, 0x06, 0x0c24);
21818 MP_WritePhyUshort(sc, 0x06, 0x5af0);
21819 MP_WritePhyUshort(sc, 0x06, 0x1e12);
21820 MP_WritePhyUshort(sc, 0x06, 0xe4f8);
21821 MP_WritePhyUshort(sc, 0x06, 0x8ce5);
21822 MP_WritePhyUshort(sc, 0x06, 0xf88d);
21823 MP_WritePhyUshort(sc, 0x06, 0xe083);
21824 MP_WritePhyUshort(sc, 0x06, 0x30e1);
21825 MP_WritePhyUshort(sc, 0x06, 0x8331);
21826 MP_WritePhyUshort(sc, 0x06, 0x6801);
21827 MP_WritePhyUshort(sc, 0x06, 0xe4f8);
21828 MP_WritePhyUshort(sc, 0x06, 0x8ae5);
21829 MP_WritePhyUshort(sc, 0x06, 0xf88b);
21830 MP_WritePhyUshort(sc, 0x06, 0xae37);
21831 MP_WritePhyUshort(sc, 0x06, 0xee83);
21832 MP_WritePhyUshort(sc, 0x06, 0x4e03);
21833 MP_WritePhyUshort(sc, 0x06, 0xe083);
21834 MP_WritePhyUshort(sc, 0x06, 0x4ce1);
21835 MP_WritePhyUshort(sc, 0x06, 0x834d);
21836 MP_WritePhyUshort(sc, 0x06, 0x1b01);
21837 MP_WritePhyUshort(sc, 0x06, 0x9e04);
21838 MP_WritePhyUshort(sc, 0x06, 0xaaa1);
21839 MP_WritePhyUshort(sc, 0x06, 0xaea8);
21840 MP_WritePhyUshort(sc, 0x06, 0xee83);
21841 MP_WritePhyUshort(sc, 0x06, 0x4e04);
21842 MP_WritePhyUshort(sc, 0x06, 0xee83);
21843 MP_WritePhyUshort(sc, 0x06, 0x4f00);
21844 MP_WritePhyUshort(sc, 0x06, 0xaeab);
21845 MP_WritePhyUshort(sc, 0x06, 0xe083);
21846 MP_WritePhyUshort(sc, 0x06, 0x4f78);
21847 MP_WritePhyUshort(sc, 0x06, 0x039f);
21848 MP_WritePhyUshort(sc, 0x06, 0x14ee);
21849 MP_WritePhyUshort(sc, 0x06, 0x834e);
21850 MP_WritePhyUshort(sc, 0x06, 0x05d2);
21851 MP_WritePhyUshort(sc, 0x06, 0x40d6);
21852 MP_WritePhyUshort(sc, 0x06, 0x5554);
21853 MP_WritePhyUshort(sc, 0x06, 0x0282);
21854 MP_WritePhyUshort(sc, 0x06, 0x17d2);
21855 MP_WritePhyUshort(sc, 0x06, 0xa0d6);
21856 MP_WritePhyUshort(sc, 0x06, 0xba00);
21857 MP_WritePhyUshort(sc, 0x06, 0x0282);
21858 MP_WritePhyUshort(sc, 0x06, 0x17fe);
21859 MP_WritePhyUshort(sc, 0x06, 0xfdfc);
21860 MP_WritePhyUshort(sc, 0x06, 0x05f8);
21861 MP_WritePhyUshort(sc, 0x06, 0xe0f8);
21862 MP_WritePhyUshort(sc, 0x06, 0x60e1);
21863 MP_WritePhyUshort(sc, 0x06, 0xf861);
21864 MP_WritePhyUshort(sc, 0x06, 0x6802);
21865 MP_WritePhyUshort(sc, 0x06, 0xe4f8);
21866 MP_WritePhyUshort(sc, 0x06, 0x60e5);
21867 MP_WritePhyUshort(sc, 0x06, 0xf861);
21868 MP_WritePhyUshort(sc, 0x06, 0xe0f8);
21869 MP_WritePhyUshort(sc, 0x06, 0x48e1);
21870 MP_WritePhyUshort(sc, 0x06, 0xf849);
21871 MP_WritePhyUshort(sc, 0x06, 0x580f);
21872 MP_WritePhyUshort(sc, 0x06, 0x1e02);
21873 MP_WritePhyUshort(sc, 0x06, 0xe4f8);
21874 MP_WritePhyUshort(sc, 0x06, 0x48e5);
21875 MP_WritePhyUshort(sc, 0x06, 0xf849);
21876 MP_WritePhyUshort(sc, 0x06, 0xd000);
21877 MP_WritePhyUshort(sc, 0x06, 0x0282);
21878 MP_WritePhyUshort(sc, 0x06, 0x5bbf);
21879 MP_WritePhyUshort(sc, 0x06, 0x8350);
21880 MP_WritePhyUshort(sc, 0x06, 0xef46);
21881 MP_WritePhyUshort(sc, 0x06, 0xdc19);
21882 MP_WritePhyUshort(sc, 0x06, 0xddd0);
21883 MP_WritePhyUshort(sc, 0x06, 0x0102);
21884 MP_WritePhyUshort(sc, 0x06, 0x825b);
21885 MP_WritePhyUshort(sc, 0x06, 0x0282);
21886 MP_WritePhyUshort(sc, 0x06, 0x77e0);
21887 MP_WritePhyUshort(sc, 0x06, 0xf860);
21888 MP_WritePhyUshort(sc, 0x06, 0xe1f8);
21889 MP_WritePhyUshort(sc, 0x06, 0x6158);
21890 MP_WritePhyUshort(sc, 0x06, 0xfde4);
21891 MP_WritePhyUshort(sc, 0x06, 0xf860);
21892 MP_WritePhyUshort(sc, 0x06, 0xe5f8);
21893 MP_WritePhyUshort(sc, 0x06, 0x61fc);
21894 MP_WritePhyUshort(sc, 0x06, 0x04f9);
21895 MP_WritePhyUshort(sc, 0x06, 0xfafb);
21896 MP_WritePhyUshort(sc, 0x06, 0xc6bf);
21897 MP_WritePhyUshort(sc, 0x06, 0xf840);
21898 MP_WritePhyUshort(sc, 0x06, 0xbe83);
21899 MP_WritePhyUshort(sc, 0x06, 0x50a0);
21900 MP_WritePhyUshort(sc, 0x06, 0x0101);
21901 MP_WritePhyUshort(sc, 0x06, 0x071b);
21902 MP_WritePhyUshort(sc, 0x06, 0x89cf);
21903 MP_WritePhyUshort(sc, 0x06, 0xd208);
21904 MP_WritePhyUshort(sc, 0x06, 0xebdb);
21905 MP_WritePhyUshort(sc, 0x06, 0x19b2);
21906 MP_WritePhyUshort(sc, 0x06, 0xfbff);
21907 MP_WritePhyUshort(sc, 0x06, 0xfefd);
21908 MP_WritePhyUshort(sc, 0x06, 0x04f8);
21909 MP_WritePhyUshort(sc, 0x06, 0xe0f8);
21910 MP_WritePhyUshort(sc, 0x06, 0x48e1);
21911 MP_WritePhyUshort(sc, 0x06, 0xf849);
21912 MP_WritePhyUshort(sc, 0x06, 0x6808);
21913 MP_WritePhyUshort(sc, 0x06, 0xe4f8);
21914 MP_WritePhyUshort(sc, 0x06, 0x48e5);
21915 MP_WritePhyUshort(sc, 0x06, 0xf849);
21916 MP_WritePhyUshort(sc, 0x06, 0x58f7);
21917 MP_WritePhyUshort(sc, 0x06, 0xe4f8);
21918 MP_WritePhyUshort(sc, 0x06, 0x48e5);
21919 MP_WritePhyUshort(sc, 0x06, 0xf849);
21920 MP_WritePhyUshort(sc, 0x06, 0xfc04);
21921 MP_WritePhyUshort(sc, 0x06, 0x4d20);
21922 MP_WritePhyUshort(sc, 0x06, 0x0002);
21923 MP_WritePhyUshort(sc, 0x06, 0x4e22);
21924 MP_WritePhyUshort(sc, 0x06, 0x0002);
21925 MP_WritePhyUshort(sc, 0x06, 0x4ddf);
21926 MP_WritePhyUshort(sc, 0x06, 0xff01);
21927 MP_WritePhyUshort(sc, 0x06, 0x4edd);
21928 MP_WritePhyUshort(sc, 0x06, 0xff01);
21929 MP_WritePhyUshort(sc, 0x06, 0xf8fa);
21930 MP_WritePhyUshort(sc, 0x06, 0xfbef);
21931 MP_WritePhyUshort(sc, 0x06, 0x79bf);
21932 MP_WritePhyUshort(sc, 0x06, 0xf822);
21933 MP_WritePhyUshort(sc, 0x06, 0xd819);
21934 MP_WritePhyUshort(sc, 0x06, 0xd958);
21935 MP_WritePhyUshort(sc, 0x06, 0x849f);
21936 MP_WritePhyUshort(sc, 0x06, 0x09bf);
21937 MP_WritePhyUshort(sc, 0x06, 0x82be);
21938 MP_WritePhyUshort(sc, 0x06, 0xd682);
21939 MP_WritePhyUshort(sc, 0x06, 0xc602);
21940 MP_WritePhyUshort(sc, 0x06, 0x014f);
21941 MP_WritePhyUshort(sc, 0x06, 0xef97);
21942 MP_WritePhyUshort(sc, 0x06, 0xfffe);
21943 MP_WritePhyUshort(sc, 0x06, 0xfc05);
21944 MP_WritePhyUshort(sc, 0x06, 0x17ff);
21945 MP_WritePhyUshort(sc, 0x06, 0xfe01);
21946 MP_WritePhyUshort(sc, 0x06, 0x1700);
21947 MP_WritePhyUshort(sc, 0x06, 0x0102);
21948 MP_WritePhyUshort(sc, 0x05, 0x83d8);
21949 MP_WritePhyUshort(sc, 0x06, 0x8051);
21950 MP_WritePhyUshort(sc, 0x05, 0x83d6);
21951 MP_WritePhyUshort(sc, 0x06, 0x82a0);
21952 MP_WritePhyUshort(sc, 0x05, 0x83d4);
21953 MP_WritePhyUshort(sc, 0x06, 0x8000);
21954 MP_WritePhyUshort(sc, 0x02, 0x2010);
21955 MP_WritePhyUshort(sc, 0x03, 0xdc00);
21956 MP_WritePhyUshort(sc, 0x1f, 0x0000);
21957 MP_WritePhyUshort(sc, 0x0b, 0x0600);
21958 MP_WritePhyUshort(sc, 0x1f, 0x0005);
21959 MP_WritePhyUshort(sc, 0x05, 0xfff6);
21960 MP_WritePhyUshort(sc, 0x06, 0x00fc);
21961 MP_WritePhyUshort(sc, 0x1f, 0x0000);
21964 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21965 MP_WritePhyUshort(sc, 0x0D, 0xF880);
21966 MP_WritePhyUshort(sc, 0x1F, 0x0000);
21967 } else if (sc->re_type == MACFG_32) {
21968 MP_WritePhyUshort(sc, 0x1F, 0x0001);
21969 MP_WritePhyUshort(sc, 0x06, 0x4064);
21970 MP_WritePhyUshort(sc, 0x07, 0x2863);
21971 MP_WritePhyUshort(sc, 0x08, 0x059C);
21972 MP_WritePhyUshort(sc, 0x09, 0x26B4);
21973 MP_WritePhyUshort(sc, 0x0A, 0x6A19);
21974 MP_WritePhyUshort(sc, 0x0B, 0xBCC0);
21975 MP_WritePhyUshort(sc, 0x10, 0xF06D);
21976 MP_WritePhyUshort(sc, 0x14, 0x7F68);
21977 MP_WritePhyUshort(sc, 0x18, 0x7FD9);
21978 MP_WritePhyUshort(sc, 0x1C, 0xF0FF);
21979 MP_WritePhyUshort(sc, 0x1D, 0x3D9C);
21980 MP_WritePhyUshort(sc, 0x1F, 0x0003);
21981 MP_WritePhyUshort(sc, 0x12, 0xF49F);
21982 MP_WritePhyUshort(sc, 0x13, 0x070B);
21983 MP_WritePhyUshort(sc, 0x1A, 0x05AD);
21984 MP_WritePhyUshort(sc, 0x14, 0x94C0);
21986 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21987 MP_WritePhyUshort(sc, 0x06, 0x5571);
21989 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21990 MP_WritePhyUshort(sc, 0x05, 0x2642);
21992 MP_WritePhyUshort(sc, 0x1F, 0x0002);
21993 MP_WritePhyUshort(sc, 0x02, 0xC107);
21994 MP_WritePhyUshort(sc, 0x03, 0x1002);
21996 MP_WritePhyUshort(sc, 0x1F, 0x0001);
21997 MP_WritePhyUshort(sc, 0x16, 0x0CC0);
21999 MP_WritePhyUshort(sc, 0x1F, 0x0002);
22000 MP_WritePhyUshort(sc, 0x0F, 0x0017);
22002 MP_WritePhyUshort(sc, 0x1F, 0x0005);
22003 MP_WritePhyUshort(sc, 0x05, 0x8200);
22004 MP_WritePhyUshort(sc, 0x06, 0xF8F9);
22005 MP_WritePhyUshort(sc, 0x06, 0xFAEF);
22006 MP_WritePhyUshort(sc, 0x06, 0x59EE);
22007 MP_WritePhyUshort(sc, 0x06, 0xF8EA);
22008 MP_WritePhyUshort(sc, 0x06, 0x00EE);
22009 MP_WritePhyUshort(sc, 0x06, 0xF8EB);
22010 MP_WritePhyUshort(sc, 0x06, 0x00E0);
22011 MP_WritePhyUshort(sc, 0x06, 0xF87C);
22012 MP_WritePhyUshort(sc, 0x06, 0xE1F8);
22013 MP_WritePhyUshort(sc, 0x06, 0x7D59);
22014 MP_WritePhyUshort(sc, 0x06, 0x0FEF);
22015 MP_WritePhyUshort(sc, 0x06, 0x0139);
22016 MP_WritePhyUshort(sc, 0x06, 0x029E);
22017 MP_WritePhyUshort(sc, 0x06, 0x06EF);
22018 MP_WritePhyUshort(sc, 0x06, 0x1039);
22019 MP_WritePhyUshort(sc, 0x06, 0x089F);
22020 MP_WritePhyUshort(sc, 0x06, 0x2AEE);
22021 MP_WritePhyUshort(sc, 0x06, 0xF8EA);
22022 MP_WritePhyUshort(sc, 0x06, 0x00EE);
22023 MP_WritePhyUshort(sc, 0x06, 0xF8EB);
22024 MP_WritePhyUshort(sc, 0x06, 0x01E0);
22025 MP_WritePhyUshort(sc, 0x06, 0xF87C);
22026 MP_WritePhyUshort(sc, 0x06, 0xE1F8);
22027 MP_WritePhyUshort(sc, 0x06, 0x7D58);
22028 MP_WritePhyUshort(sc, 0x06, 0x409E);
22029 MP_WritePhyUshort(sc, 0x06, 0x0F39);
22030 MP_WritePhyUshort(sc, 0x06, 0x46AA);
22031 MP_WritePhyUshort(sc, 0x06, 0x0BBF);
22032 MP_WritePhyUshort(sc, 0x06, 0x8251);
22033 MP_WritePhyUshort(sc, 0x06, 0xD682);
22034 MP_WritePhyUshort(sc, 0x06, 0x5902);
22035 MP_WritePhyUshort(sc, 0x06, 0x014F);
22036 MP_WritePhyUshort(sc, 0x06, 0xAE09);
22037 MP_WritePhyUshort(sc, 0x06, 0xBF82);
22038 MP_WritePhyUshort(sc, 0x06, 0x59D6);
22039 MP_WritePhyUshort(sc, 0x06, 0x8261);
22040 MP_WritePhyUshort(sc, 0x06, 0x0201);
22041 MP_WritePhyUshort(sc, 0x06, 0x4FEF);
22042 MP_WritePhyUshort(sc, 0x06, 0x95FE);
22043 MP_WritePhyUshort(sc, 0x06, 0xFDFC);
22044 MP_WritePhyUshort(sc, 0x06, 0x054D);
22045 MP_WritePhyUshort(sc, 0x06, 0x2000);
22046 MP_WritePhyUshort(sc, 0x06, 0x024E);
22047 MP_WritePhyUshort(sc, 0x06, 0x2200);
22048 MP_WritePhyUshort(sc, 0x06, 0x024D);
22049 MP_WritePhyUshort(sc, 0x06, 0xDFFF);
22050 MP_WritePhyUshort(sc, 0x06, 0x014E);
22051 MP_WritePhyUshort(sc, 0x06, 0xDDFF);
22052 MP_WritePhyUshort(sc, 0x06, 0x0100);
22053 MP_WritePhyUshort(sc, 0x02, 0x6010);
22054 MP_WritePhyUshort(sc, 0x05, 0xFFF6);
22055 MP_WritePhyUshort(sc, 0x06, 0x00EC);
22056 MP_WritePhyUshort(sc, 0x05, 0x83D4);
22057 MP_WritePhyUshort(sc, 0x06, 0x8200);
22059 } else if (sc->re_type == MACFG_33) {
22060 MP_WritePhyUshort(sc, 0x1F, 0x0001);
22061 MP_WritePhyUshort(sc, 0x06, 0x4064);
22062 MP_WritePhyUshort(sc, 0x07, 0x2863);
22063 MP_WritePhyUshort(sc, 0x08, 0x059C);
22064 MP_WritePhyUshort(sc, 0x09, 0x26B4);
22065 MP_WritePhyUshort(sc, 0x0A, 0x6A19);
22066 MP_WritePhyUshort(sc, 0x0B, 0xDCC8);
22067 MP_WritePhyUshort(sc, 0x10, 0xF06D);
22068 MP_WritePhyUshort(sc, 0x14, 0x7F68);
22069 MP_WritePhyUshort(sc, 0x18, 0x7FD9);
22070 MP_WritePhyUshort(sc, 0x1C, 0xF0FF);
22071 MP_WritePhyUshort(sc, 0x1D, 0x3D9C);
22072 MP_WritePhyUshort(sc, 0x1F, 0x0003);
22073 MP_WritePhyUshort(sc, 0x12, 0xF49F);
22074 MP_WritePhyUshort(sc, 0x13, 0x070B);
22075 MP_WritePhyUshort(sc, 0x1A, 0x05AD);
22076 MP_WritePhyUshort(sc, 0x14, 0x94C0);
22078 MP_WritePhyUshort(sc, 0x1F, 0x0002);
22079 MP_WritePhyUshort(sc, 0x06, 0x5561);
22080 MP_WritePhyUshort(sc, 0x1F, 0x0005);
22081 MP_WritePhyUshort(sc, 0x05, 0x8332);
22082 MP_WritePhyUshort(sc, 0x06, 0x5561);
22084 if (MP_ReadEfuse(sc, 0x01) == 0xb1) {
22085 MP_WritePhyUshort(sc, 0x1F, 0x0002);
22086 MP_WritePhyUshort(sc, 0x05, 0x669A);
22087 MP_WritePhyUshort(sc, 0x1F, 0x0005);
22088 MP_WritePhyUshort(sc, 0x05, 0x8330);
22089 MP_WritePhyUshort(sc, 0x06, 0x669A);
22091 MP_WritePhyUshort(sc, 0x1F, 0x0002);
22092 Data = MP_ReadPhyUshort(sc, 0x0D);
22093 if ((Data & 0x00FF) != 0x006C) {
22095 MP_WritePhyUshort(sc, 0x1F, 0x0002);
22096 MP_WritePhyUshort(sc, 0x0D, Data | 0x0065);
22097 MP_WritePhyUshort(sc, 0x0D, Data | 0x0066);
22098 MP_WritePhyUshort(sc, 0x0D, Data | 0x0067);
22099 MP_WritePhyUshort(sc, 0x0D, Data | 0x0068);
22100 MP_WritePhyUshort(sc, 0x0D, Data | 0x0069);
22101 MP_WritePhyUshort(sc, 0x0D, Data | 0x006A);
22102 MP_WritePhyUshort(sc, 0x0D, Data | 0x006B);
22103 MP_WritePhyUshort(sc, 0x0D, Data | 0x006C);
22106 MP_WritePhyUshort(sc, 0x1F, 0x0002);
22107 MP_WritePhyUshort(sc, 0x05, 0x2642);
22108 MP_WritePhyUshort(sc, 0x1F, 0x0005);
22109 MP_WritePhyUshort(sc, 0x05, 0x8330);
22110 MP_WritePhyUshort(sc, 0x06, 0x2642);
22113 if (MP_ReadEfuse(sc, 0x30) == 0x98) {
22114 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22115 MP_WritePhyUshort(sc, 0x11, MP_ReadPhyUshort(sc, 0x11) & ~0x02);
22116 MP_WritePhyUshort(sc, 0x1F, 0x0005);
22117 MP_WritePhyUshort(sc, 0x01, MP_ReadPhyUshort(sc, 0x01) | 0x200);
22118 } else if (MP_ReadEfuse(sc, 0x30) == 0x90) {
22119 MP_WritePhyUshort(sc, 0x1F, 0x0005);
22120 MP_WritePhyUshort(sc, 0x01, MP_ReadPhyUshort(sc, 0x01) & ~0x200);
22121 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22122 MP_WritePhyUshort(sc, 0x16, 0x5101);
22125 MP_WritePhyUshort(sc, 0x1F, 0x0002);
22126 Data = MP_ReadPhyUshort(sc, 0x02);
22129 MP_WritePhyUshort(sc, 0x02, Data);
22130 Data = MP_ReadPhyUshort(sc, 0x03);
22132 MP_WritePhyUshort(sc, 0x03, Data);
22134 MP_WritePhyUshort(sc, 0x1F, 0x0001);
22135 MP_WritePhyUshort(sc, 0x17, 0x0CC0);
22137 MP_WritePhyUshort(sc, 0x1F, 0x0002);
22138 Data = MP_ReadPhyUshort(sc, 0x0F);
22140 MP_WritePhyUshort(sc, 0x0F, Data);
22142 MP_WritePhyUshort(sc, 0x1F, 0x0005);
22143 MP_WritePhyUshort(sc, 0x05, 0x001B);
22144 if (MP_ReadPhyUshort(sc, 0x06) == 0xB300) {
22145 MP_WritePhyUshort(sc, 0x1f, 0x0005);
22146 MP_WritePhyUshort(sc, 0x05, 0xfff6);
22147 MP_WritePhyUshort(sc, 0x06, 0x0080);
22148 MP_WritePhyUshort(sc, 0x05, 0x8000);
22149 MP_WritePhyUshort(sc, 0x06, 0xf8f9);
22150 MP_WritePhyUshort(sc, 0x06, 0xfaee);
22151 MP_WritePhyUshort(sc, 0x06, 0xf8ea);
22152 MP_WritePhyUshort(sc, 0x06, 0x00ee);
22153 MP_WritePhyUshort(sc, 0x06, 0xf8eb);
22154 MP_WritePhyUshort(sc, 0x06, 0x00e2);
22155 MP_WritePhyUshort(sc, 0x06, 0xf87c);
22156 MP_WritePhyUshort(sc, 0x06, 0xe3f8);
22157 MP_WritePhyUshort(sc, 0x06, 0x7da5);
22158 MP_WritePhyUshort(sc, 0x06, 0x1111);
22159 MP_WritePhyUshort(sc, 0x06, 0x12d2);
22160 MP_WritePhyUshort(sc, 0x06, 0x40d6);
22161 MP_WritePhyUshort(sc, 0x06, 0x4444);
22162 MP_WritePhyUshort(sc, 0x06, 0x0281);
22163 MP_WritePhyUshort(sc, 0x06, 0xc6d2);
22164 MP_WritePhyUshort(sc, 0x06, 0xa0d6);
22165 MP_WritePhyUshort(sc, 0x06, 0xaaaa);
22166 MP_WritePhyUshort(sc, 0x06, 0x0281);
22167 MP_WritePhyUshort(sc, 0x06, 0xc6ae);
22168 MP_WritePhyUshort(sc, 0x06, 0x0fa5);
22169 MP_WritePhyUshort(sc, 0x06, 0x4444);
22170 MP_WritePhyUshort(sc, 0x06, 0x02ae);
22171 MP_WritePhyUshort(sc, 0x06, 0x4da5);
22172 MP_WritePhyUshort(sc, 0x06, 0xaaaa);
22173 MP_WritePhyUshort(sc, 0x06, 0x02ae);
22174 MP_WritePhyUshort(sc, 0x06, 0x47af);
22175 MP_WritePhyUshort(sc, 0x06, 0x81c2);
22176 MP_WritePhyUshort(sc, 0x06, 0xee83);
22177 MP_WritePhyUshort(sc, 0x06, 0x4e00);
22178 MP_WritePhyUshort(sc, 0x06, 0xee83);
22179 MP_WritePhyUshort(sc, 0x06, 0x4d0f);
22180 MP_WritePhyUshort(sc, 0x06, 0xee83);
22181 MP_WritePhyUshort(sc, 0x06, 0x4c0f);
22182 MP_WritePhyUshort(sc, 0x06, 0xee83);
22183 MP_WritePhyUshort(sc, 0x06, 0x4f00);
22184 MP_WritePhyUshort(sc, 0x06, 0xee83);
22185 MP_WritePhyUshort(sc, 0x06, 0x5100);
22186 MP_WritePhyUshort(sc, 0x06, 0xee83);
22187 MP_WritePhyUshort(sc, 0x06, 0x4aff);
22188 MP_WritePhyUshort(sc, 0x06, 0xee83);
22189 MP_WritePhyUshort(sc, 0x06, 0x4bff);
22190 MP_WritePhyUshort(sc, 0x06, 0xe083);
22191 MP_WritePhyUshort(sc, 0x06, 0x30e1);
22192 MP_WritePhyUshort(sc, 0x06, 0x8331);
22193 MP_WritePhyUshort(sc, 0x06, 0x58fe);
22194 MP_WritePhyUshort(sc, 0x06, 0xe4f8);
22195 MP_WritePhyUshort(sc, 0x06, 0x8ae5);
22196 MP_WritePhyUshort(sc, 0x06, 0xf88b);
22197 MP_WritePhyUshort(sc, 0x06, 0xe083);
22198 MP_WritePhyUshort(sc, 0x06, 0x32e1);
22199 MP_WritePhyUshort(sc, 0x06, 0x8333);
22200 MP_WritePhyUshort(sc, 0x06, 0x590f);
22201 MP_WritePhyUshort(sc, 0x06, 0xe283);
22202 MP_WritePhyUshort(sc, 0x06, 0x4d0c);
22203 MP_WritePhyUshort(sc, 0x06, 0x245a);
22204 MP_WritePhyUshort(sc, 0x06, 0xf01e);
22205 MP_WritePhyUshort(sc, 0x06, 0x12e4);
22206 MP_WritePhyUshort(sc, 0x06, 0xf88c);
22207 MP_WritePhyUshort(sc, 0x06, 0xe5f8);
22208 MP_WritePhyUshort(sc, 0x06, 0x8daf);
22209 MP_WritePhyUshort(sc, 0x06, 0x81c2);
22210 MP_WritePhyUshort(sc, 0x06, 0xe083);
22211 MP_WritePhyUshort(sc, 0x06, 0x4f10);
22212 MP_WritePhyUshort(sc, 0x06, 0xe483);
22213 MP_WritePhyUshort(sc, 0x06, 0x4fe0);
22214 MP_WritePhyUshort(sc, 0x06, 0x834e);
22215 MP_WritePhyUshort(sc, 0x06, 0x7800);
22216 MP_WritePhyUshort(sc, 0x06, 0x9f0a);
22217 MP_WritePhyUshort(sc, 0x06, 0xe083);
22218 MP_WritePhyUshort(sc, 0x06, 0x4fa0);
22219 MP_WritePhyUshort(sc, 0x06, 0x10a5);
22220 MP_WritePhyUshort(sc, 0x06, 0xee83);
22221 MP_WritePhyUshort(sc, 0x06, 0x4e01);
22222 MP_WritePhyUshort(sc, 0x06, 0xe083);
22223 MP_WritePhyUshort(sc, 0x06, 0x4e78);
22224 MP_WritePhyUshort(sc, 0x06, 0x059e);
22225 MP_WritePhyUshort(sc, 0x06, 0x9ae0);
22226 MP_WritePhyUshort(sc, 0x06, 0x834e);
22227 MP_WritePhyUshort(sc, 0x06, 0x7804);
22228 MP_WritePhyUshort(sc, 0x06, 0x9e10);
22229 MP_WritePhyUshort(sc, 0x06, 0xe083);
22230 MP_WritePhyUshort(sc, 0x06, 0x4e78);
22231 MP_WritePhyUshort(sc, 0x06, 0x039e);
22232 MP_WritePhyUshort(sc, 0x06, 0x0fe0);
22233 MP_WritePhyUshort(sc, 0x06, 0x834e);
22234 MP_WritePhyUshort(sc, 0x06, 0x7801);
22235 MP_WritePhyUshort(sc, 0x06, 0x9e05);
22236 MP_WritePhyUshort(sc, 0x06, 0xae0c);
22237 MP_WritePhyUshort(sc, 0x06, 0xaf81);
22238 MP_WritePhyUshort(sc, 0x06, 0xa7af);
22239 MP_WritePhyUshort(sc, 0x06, 0x8152);
22240 MP_WritePhyUshort(sc, 0x06, 0xaf81);
22241 MP_WritePhyUshort(sc, 0x06, 0x8baf);
22242 MP_WritePhyUshort(sc, 0x06, 0x81c2);
22243 MP_WritePhyUshort(sc, 0x06, 0xee83);
22244 MP_WritePhyUshort(sc, 0x06, 0x4800);
22245 MP_WritePhyUshort(sc, 0x06, 0xee83);
22246 MP_WritePhyUshort(sc, 0x06, 0x4900);
22247 MP_WritePhyUshort(sc, 0x06, 0xe083);
22248 MP_WritePhyUshort(sc, 0x06, 0x5110);
22249 MP_WritePhyUshort(sc, 0x06, 0xe483);
22250 MP_WritePhyUshort(sc, 0x06, 0x5158);
22251 MP_WritePhyUshort(sc, 0x06, 0x019f);
22252 MP_WritePhyUshort(sc, 0x06, 0xead0);
22253 MP_WritePhyUshort(sc, 0x06, 0x00d1);
22254 MP_WritePhyUshort(sc, 0x06, 0x801f);
22255 MP_WritePhyUshort(sc, 0x06, 0x66e2);
22256 MP_WritePhyUshort(sc, 0x06, 0xf8ea);
22257 MP_WritePhyUshort(sc, 0x06, 0xe3f8);
22258 MP_WritePhyUshort(sc, 0x06, 0xeb5a);
22259 MP_WritePhyUshort(sc, 0x06, 0xf81e);
22260 MP_WritePhyUshort(sc, 0x06, 0x20e6);
22261 MP_WritePhyUshort(sc, 0x06, 0xf8ea);
22262 MP_WritePhyUshort(sc, 0x06, 0xe5f8);
22263 MP_WritePhyUshort(sc, 0x06, 0xebd3);
22264 MP_WritePhyUshort(sc, 0x06, 0x02b3);
22265 MP_WritePhyUshort(sc, 0x06, 0xfee2);
22266 MP_WritePhyUshort(sc, 0x06, 0xf87c);
22267 MP_WritePhyUshort(sc, 0x06, 0xef32);
22268 MP_WritePhyUshort(sc, 0x06, 0x5b80);
22269 MP_WritePhyUshort(sc, 0x06, 0xe3f8);
22270 MP_WritePhyUshort(sc, 0x06, 0x7d9e);
22271 MP_WritePhyUshort(sc, 0x06, 0x037d);
22272 MP_WritePhyUshort(sc, 0x06, 0xffff);
22273 MP_WritePhyUshort(sc, 0x06, 0x0d58);
22274 MP_WritePhyUshort(sc, 0x06, 0x1c55);
22275 MP_WritePhyUshort(sc, 0x06, 0x1a65);
22276 MP_WritePhyUshort(sc, 0x06, 0x11a1);
22277 MP_WritePhyUshort(sc, 0x06, 0x90d3);
22278 MP_WritePhyUshort(sc, 0x06, 0xe283);
22279 MP_WritePhyUshort(sc, 0x06, 0x48e3);
22280 MP_WritePhyUshort(sc, 0x06, 0x8349);
22281 MP_WritePhyUshort(sc, 0x06, 0x1b56);
22282 MP_WritePhyUshort(sc, 0x06, 0xab08);
22283 MP_WritePhyUshort(sc, 0x06, 0xef56);
22284 MP_WritePhyUshort(sc, 0x06, 0xe683);
22285 MP_WritePhyUshort(sc, 0x06, 0x48e7);
22286 MP_WritePhyUshort(sc, 0x06, 0x8349);
22287 MP_WritePhyUshort(sc, 0x06, 0x10d1);
22288 MP_WritePhyUshort(sc, 0x06, 0x801f);
22289 MP_WritePhyUshort(sc, 0x06, 0x66a0);
22290 MP_WritePhyUshort(sc, 0x06, 0x04b9);
22291 MP_WritePhyUshort(sc, 0x06, 0xe283);
22292 MP_WritePhyUshort(sc, 0x06, 0x48e3);
22293 MP_WritePhyUshort(sc, 0x06, 0x8349);
22294 MP_WritePhyUshort(sc, 0x06, 0xef65);
22295 MP_WritePhyUshort(sc, 0x06, 0xe283);
22296 MP_WritePhyUshort(sc, 0x06, 0x4ae3);
22297 MP_WritePhyUshort(sc, 0x06, 0x834b);
22298 MP_WritePhyUshort(sc, 0x06, 0x1b56);
22299 MP_WritePhyUshort(sc, 0x06, 0xaa0e);
22300 MP_WritePhyUshort(sc, 0x06, 0xef56);
22301 MP_WritePhyUshort(sc, 0x06, 0xe683);
22302 MP_WritePhyUshort(sc, 0x06, 0x4ae7);
22303 MP_WritePhyUshort(sc, 0x06, 0x834b);
22304 MP_WritePhyUshort(sc, 0x06, 0xe283);
22305 MP_WritePhyUshort(sc, 0x06, 0x4de6);
22306 MP_WritePhyUshort(sc, 0x06, 0x834c);
22307 MP_WritePhyUshort(sc, 0x06, 0xe083);
22308 MP_WritePhyUshort(sc, 0x06, 0x4da0);
22309 MP_WritePhyUshort(sc, 0x06, 0x000c);
22310 MP_WritePhyUshort(sc, 0x06, 0xaf81);
22311 MP_WritePhyUshort(sc, 0x06, 0x8be0);
22312 MP_WritePhyUshort(sc, 0x06, 0x834d);
22313 MP_WritePhyUshort(sc, 0x06, 0x10e4);
22314 MP_WritePhyUshort(sc, 0x06, 0x834d);
22315 MP_WritePhyUshort(sc, 0x06, 0xae04);
22316 MP_WritePhyUshort(sc, 0x06, 0x80e4);
22317 MP_WritePhyUshort(sc, 0x06, 0x834d);
22318 MP_WritePhyUshort(sc, 0x06, 0xe083);
22319 MP_WritePhyUshort(sc, 0x06, 0x4e78);
22320 MP_WritePhyUshort(sc, 0x06, 0x039e);
22321 MP_WritePhyUshort(sc, 0x06, 0x0be0);
22322 MP_WritePhyUshort(sc, 0x06, 0x834e);
22323 MP_WritePhyUshort(sc, 0x06, 0x7804);
22324 MP_WritePhyUshort(sc, 0x06, 0x9e04);
22325 MP_WritePhyUshort(sc, 0x06, 0xee83);
22326 MP_WritePhyUshort(sc, 0x06, 0x4e02);
22327 MP_WritePhyUshort(sc, 0x06, 0xe083);
22328 MP_WritePhyUshort(sc, 0x06, 0x32e1);
22329 MP_WritePhyUshort(sc, 0x06, 0x8333);
22330 MP_WritePhyUshort(sc, 0x06, 0x590f);
22331 MP_WritePhyUshort(sc, 0x06, 0xe283);
22332 MP_WritePhyUshort(sc, 0x06, 0x4d0c);
22333 MP_WritePhyUshort(sc, 0x06, 0x245a);
22334 MP_WritePhyUshort(sc, 0x06, 0xf01e);
22335 MP_WritePhyUshort(sc, 0x06, 0x12e4);
22336 MP_WritePhyUshort(sc, 0x06, 0xf88c);
22337 MP_WritePhyUshort(sc, 0x06, 0xe5f8);
22338 MP_WritePhyUshort(sc, 0x06, 0x8de0);
22339 MP_WritePhyUshort(sc, 0x06, 0x8330);
22340 MP_WritePhyUshort(sc, 0x06, 0xe183);
22341 MP_WritePhyUshort(sc, 0x06, 0x3168);
22342 MP_WritePhyUshort(sc, 0x06, 0x01e4);
22343 MP_WritePhyUshort(sc, 0x06, 0xf88a);
22344 MP_WritePhyUshort(sc, 0x06, 0xe5f8);
22345 MP_WritePhyUshort(sc, 0x06, 0x8bae);
22346 MP_WritePhyUshort(sc, 0x06, 0x37ee);
22347 MP_WritePhyUshort(sc, 0x06, 0x834e);
22348 MP_WritePhyUshort(sc, 0x06, 0x03e0);
22349 MP_WritePhyUshort(sc, 0x06, 0x834c);
22350 MP_WritePhyUshort(sc, 0x06, 0xe183);
22351 MP_WritePhyUshort(sc, 0x06, 0x4d1b);
22352 MP_WritePhyUshort(sc, 0x06, 0x019e);
22353 MP_WritePhyUshort(sc, 0x06, 0x04aa);
22354 MP_WritePhyUshort(sc, 0x06, 0xa1ae);
22355 MP_WritePhyUshort(sc, 0x06, 0xa8ee);
22356 MP_WritePhyUshort(sc, 0x06, 0x834e);
22357 MP_WritePhyUshort(sc, 0x06, 0x04ee);
22358 MP_WritePhyUshort(sc, 0x06, 0x834f);
22359 MP_WritePhyUshort(sc, 0x06, 0x00ae);
22360 MP_WritePhyUshort(sc, 0x06, 0xabe0);
22361 MP_WritePhyUshort(sc, 0x06, 0x834f);
22362 MP_WritePhyUshort(sc, 0x06, 0x7803);
22363 MP_WritePhyUshort(sc, 0x06, 0x9f14);
22364 MP_WritePhyUshort(sc, 0x06, 0xee83);
22365 MP_WritePhyUshort(sc, 0x06, 0x4e05);
22366 MP_WritePhyUshort(sc, 0x06, 0xd240);
22367 MP_WritePhyUshort(sc, 0x06, 0xd655);
22368 MP_WritePhyUshort(sc, 0x06, 0x5402);
22369 MP_WritePhyUshort(sc, 0x06, 0x81c6);
22370 MP_WritePhyUshort(sc, 0x06, 0xd2a0);
22371 MP_WritePhyUshort(sc, 0x06, 0xd6ba);
22372 MP_WritePhyUshort(sc, 0x06, 0x0002);
22373 MP_WritePhyUshort(sc, 0x06, 0x81c6);
22374 MP_WritePhyUshort(sc, 0x06, 0xfefd);
22375 MP_WritePhyUshort(sc, 0x06, 0xfc05);
22376 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
22377 MP_WritePhyUshort(sc, 0x06, 0xf860);
22378 MP_WritePhyUshort(sc, 0x06, 0xe1f8);
22379 MP_WritePhyUshort(sc, 0x06, 0x6168);
22380 MP_WritePhyUshort(sc, 0x06, 0x02e4);
22381 MP_WritePhyUshort(sc, 0x06, 0xf860);
22382 MP_WritePhyUshort(sc, 0x06, 0xe5f8);
22383 MP_WritePhyUshort(sc, 0x06, 0x61e0);
22384 MP_WritePhyUshort(sc, 0x06, 0xf848);
22385 MP_WritePhyUshort(sc, 0x06, 0xe1f8);
22386 MP_WritePhyUshort(sc, 0x06, 0x4958);
22387 MP_WritePhyUshort(sc, 0x06, 0x0f1e);
22388 MP_WritePhyUshort(sc, 0x06, 0x02e4);
22389 MP_WritePhyUshort(sc, 0x06, 0xf848);
22390 MP_WritePhyUshort(sc, 0x06, 0xe5f8);
22391 MP_WritePhyUshort(sc, 0x06, 0x49d0);
22392 MP_WritePhyUshort(sc, 0x06, 0x0002);
22393 MP_WritePhyUshort(sc, 0x06, 0x820a);
22394 MP_WritePhyUshort(sc, 0x06, 0xbf83);
22395 MP_WritePhyUshort(sc, 0x06, 0x50ef);
22396 MP_WritePhyUshort(sc, 0x06, 0x46dc);
22397 MP_WritePhyUshort(sc, 0x06, 0x19dd);
22398 MP_WritePhyUshort(sc, 0x06, 0xd001);
22399 MP_WritePhyUshort(sc, 0x06, 0x0282);
22400 MP_WritePhyUshort(sc, 0x06, 0x0a02);
22401 MP_WritePhyUshort(sc, 0x06, 0x8226);
22402 MP_WritePhyUshort(sc, 0x06, 0xe0f8);
22403 MP_WritePhyUshort(sc, 0x06, 0x60e1);
22404 MP_WritePhyUshort(sc, 0x06, 0xf861);
22405 MP_WritePhyUshort(sc, 0x06, 0x58fd);
22406 MP_WritePhyUshort(sc, 0x06, 0xe4f8);
22407 MP_WritePhyUshort(sc, 0x06, 0x60e5);
22408 MP_WritePhyUshort(sc, 0x06, 0xf861);
22409 MP_WritePhyUshort(sc, 0x06, 0xfc04);
22410 MP_WritePhyUshort(sc, 0x06, 0xf9fa);
22411 MP_WritePhyUshort(sc, 0x06, 0xfbc6);
22412 MP_WritePhyUshort(sc, 0x06, 0xbff8);
22413 MP_WritePhyUshort(sc, 0x06, 0x40be);
22414 MP_WritePhyUshort(sc, 0x06, 0x8350);
22415 MP_WritePhyUshort(sc, 0x06, 0xa001);
22416 MP_WritePhyUshort(sc, 0x06, 0x0107);
22417 MP_WritePhyUshort(sc, 0x06, 0x1b89);
22418 MP_WritePhyUshort(sc, 0x06, 0xcfd2);
22419 MP_WritePhyUshort(sc, 0x06, 0x08eb);
22420 MP_WritePhyUshort(sc, 0x06, 0xdb19);
22421 MP_WritePhyUshort(sc, 0x06, 0xb2fb);
22422 MP_WritePhyUshort(sc, 0x06, 0xfffe);
22423 MP_WritePhyUshort(sc, 0x06, 0xfd04);
22424 MP_WritePhyUshort(sc, 0x06, 0xf8e0);
22425 MP_WritePhyUshort(sc, 0x06, 0xf848);
22426 MP_WritePhyUshort(sc, 0x06, 0xe1f8);
22427 MP_WritePhyUshort(sc, 0x06, 0x4968);
22428 MP_WritePhyUshort(sc, 0x06, 0x08e4);
22429 MP_WritePhyUshort(sc, 0x06, 0xf848);
22430 MP_WritePhyUshort(sc, 0x06, 0xe5f8);
22431 MP_WritePhyUshort(sc, 0x06, 0x4958);
22432 MP_WritePhyUshort(sc, 0x06, 0xf7e4);
22433 MP_WritePhyUshort(sc, 0x06, 0xf848);
22434 MP_WritePhyUshort(sc, 0x06, 0xe5f8);
22435 MP_WritePhyUshort(sc, 0x06, 0x49fc);
22436 MP_WritePhyUshort(sc, 0x06, 0x044d);
22437 MP_WritePhyUshort(sc, 0x06, 0x2000);
22438 MP_WritePhyUshort(sc, 0x06, 0x024e);
22439 MP_WritePhyUshort(sc, 0x06, 0x2200);
22440 MP_WritePhyUshort(sc, 0x06, 0x024d);
22441 MP_WritePhyUshort(sc, 0x06, 0xdfff);
22442 MP_WritePhyUshort(sc, 0x06, 0x014e);
22443 MP_WritePhyUshort(sc, 0x06, 0xddff);
22444 MP_WritePhyUshort(sc, 0x06, 0x01f8);
22445 MP_WritePhyUshort(sc, 0x06, 0xfafb);
22446 MP_WritePhyUshort(sc, 0x06, 0xef79);
22447 MP_WritePhyUshort(sc, 0x06, 0xbff8);
22448 MP_WritePhyUshort(sc, 0x06, 0x22d8);
22449 MP_WritePhyUshort(sc, 0x06, 0x19d9);
22450 MP_WritePhyUshort(sc, 0x06, 0x5884);
22451 MP_WritePhyUshort(sc, 0x06, 0x9f09);
22452 MP_WritePhyUshort(sc, 0x06, 0xbf82);
22453 MP_WritePhyUshort(sc, 0x06, 0x6dd6);
22454 MP_WritePhyUshort(sc, 0x06, 0x8275);
22455 MP_WritePhyUshort(sc, 0x06, 0x0201);
22456 MP_WritePhyUshort(sc, 0x06, 0x4fef);
22457 MP_WritePhyUshort(sc, 0x06, 0x97ff);
22458 MP_WritePhyUshort(sc, 0x06, 0xfefc);
22459 MP_WritePhyUshort(sc, 0x06, 0x0517);
22460 MP_WritePhyUshort(sc, 0x06, 0xfffe);
22461 MP_WritePhyUshort(sc, 0x06, 0x0117);
22462 MP_WritePhyUshort(sc, 0x06, 0x0001);
22463 MP_WritePhyUshort(sc, 0x06, 0x0200);
22464 MP_WritePhyUshort(sc, 0x05, 0x83d8);
22465 MP_WritePhyUshort(sc, 0x06, 0x8000);
22466 MP_WritePhyUshort(sc, 0x05, 0x83d6);
22467 MP_WritePhyUshort(sc, 0x06, 0x824f);
22468 MP_WritePhyUshort(sc, 0x02, 0x2010);
22469 MP_WritePhyUshort(sc, 0x03, 0xdc00);
22470 MP_WritePhyUshort(sc, 0x1f, 0x0000);
22471 MP_WritePhyUshort(sc, 0x0b, 0x0600);
22472 MP_WritePhyUshort(sc, 0x1f, 0x0005);
22473 MP_WritePhyUshort(sc, 0x05, 0xfff6);
22474 MP_WritePhyUshort(sc, 0x06, 0x00fc);
22475 MP_WritePhyUshort(sc, 0x1f, 0x0000);
22478 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22479 MP_WritePhyUshort(sc, 0x0D, 0xF880);
22480 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22481 } else if (sc->re_type == MACFG_36 || sc->re_type == MACFG_37) {
22482 MP_WritePhyUshort(sc, 0x1F, 0x0007);
22483 MP_WritePhyUshort(sc, 0x1E, 0x0023);
22484 Data = MP_ReadPhyUshort(sc, 0x17) | 0x0006;
22485 if (sc->RequiredSecLanDonglePatch)
22489 MP_WritePhyUshort(sc, 0x17, Data);
22490 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22492 MP_WritePhyUshort(sc, 0x1f, 0x0005);
22493 MP_WritePhyUshort(sc, 0x05, 0x8b80);
22494 MP_WritePhyUshort(sc, 0x06, 0xc896);
22495 MP_WritePhyUshort(sc, 0x1f, 0x0000);
22497 MP_WritePhyUshort(sc, 0x1F, 0x0001);
22498 MP_WritePhyUshort(sc, 0x0B, 0x6C20);
22499 MP_WritePhyUshort(sc, 0x07, 0x2872);
22500 MP_WritePhyUshort(sc, 0x1C, 0xEFFF);
22501 MP_WritePhyUshort(sc, 0x1F, 0x0003);
22502 MP_WritePhyUshort(sc, 0x14, 0x6420);
22503 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22505 MP_WritePhyUshort(sc, 0x1F, 0x0002);
22506 Data = MP_ReadPhyUshort(sc, 0x08) & 0x00FF;
22507 MP_WritePhyUshort(sc, 0x08, Data | 0x8000);
22509 MP_WritePhyUshort(sc, 0x1F, 0x0007);
22510 MP_WritePhyUshort(sc, 0x1E, 0x002D);
22511 Data = MP_ReadPhyUshort(sc, 0x18);
22512 MP_WritePhyUshort(sc, 0x18, Data | 0x0050);
22513 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22514 Data = MP_ReadPhyUshort(sc, 0x14);
22515 MP_WritePhyUshort(sc, 0x14, Data | 0x8000);
22517 MP_WritePhyUshort(sc, 0x1F, 0x0002);
22518 MP_WritePhyUshort(sc, 0x00, 0x080B);
22519 MP_WritePhyUshort(sc, 0x0B, 0x09D7);
22520 MP_WritePhyUshort(sc, 0x1f, 0x0000);
22521 MP_WritePhyUshort(sc, 0x15, 0x1006);
22523 MP_WritePhyUshort(sc, 0x1F, 0x0007);
22524 MP_WritePhyUshort(sc, 0x1E, 0x002F);
22525 MP_WritePhyUshort(sc, 0x15, 0x1919);
22526 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22528 MP_WritePhyUshort(sc, 0x1F, 0x0003);
22529 MP_WritePhyUshort(sc, 0x19, 0x7F46);
22530 MP_WritePhyUshort(sc, 0x1F, 0x0005);
22531 MP_WritePhyUshort(sc, 0x05, 0x8AD2);
22532 MP_WritePhyUshort(sc, 0x06, 0x6810);
22533 MP_WritePhyUshort(sc, 0x05, 0x8AD4);
22534 MP_WritePhyUshort(sc, 0x06, 0x8002);
22535 MP_WritePhyUshort(sc, 0x05, 0x8ADE);
22536 MP_WritePhyUshort(sc, 0x06, 0x8025);
22537 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22538 } else if (sc->re_type == MACFG_38) {
22539 CSR_WRITE_1(sc, 0x6E, CSR_READ_1(sc, 0x6E)| (1<<6));
22541 Data_u32 = re_eri_read(sc, 0x1D0, 4, ERIAR_ExGMAC);
22542 Data_u32 &= ~BIT_1;
22543 re_eri_write(sc, 0x1D0, 4, Data_u32, ERIAR_ExGMAC);
22545 MP_WritePhyUshort(sc, 0x1F, 0x0005);
22546 MP_WritePhyUshort(sc, 0x05, 0x8B80);
22547 Data = MP_ReadPhyUshort(sc, 0x06);
22548 Data |= BIT_2 | BIT_1;
22549 MP_WritePhyUshort(sc, 0x06, Data);
22550 MP_WritePhyUshort(sc, 0x1f, 0x0000);
22552 MP_WritePhyUshort(sc, 0x1f, 0x0004);
22553 MP_WritePhyUshort(sc, 0x1f, 0x0007);
22554 MP_WritePhyUshort(sc, 0x1e, 0x002D);
22555 Data = MP_ReadPhyUshort(sc, 0x18);
22557 MP_WritePhyUshort(sc, 0x18, Data);
22558 MP_WritePhyUshort(sc, 0x1f, 0x0002);
22559 MP_WritePhyUshort(sc, 0x1f, 0x0000);
22560 Data = MP_ReadPhyUshort(sc, 0x14);
22562 MP_WritePhyUshort(sc, 0x14, Data);
22564 MP_WritePhyUshort(sc, 0x1F, 0x0005);
22565 MP_WritePhyUshort(sc, 0x05, 0x8B86);
22566 Data = MP_ReadPhyUshort(sc, 0x06);
22568 MP_WritePhyUshort(sc, 0x06, Data);
22569 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22571 MP_WritePhyUshort(sc, 0x1F, 0x0001);
22572 MP_WritePhyUshort(sc, 0x0B, 0x6C14);
22573 MP_WritePhyUshort(sc, 0x14, 0x7F3D);
22574 MP_WritePhyUshort(sc, 0x1C, 0xFAFE);
22575 MP_WritePhyUshort(sc, 0x08, 0x07C5);
22576 MP_WritePhyUshort(sc, 0x10, 0xF090);
22577 MP_WritePhyUshort(sc, 0x1F, 0x0003);
22578 MP_WritePhyUshort(sc, 0x14, 0x641A);
22579 MP_WritePhyUshort(sc, 0x1A, 0x0606);
22580 MP_WritePhyUshort(sc, 0x12, 0xF480);
22581 MP_WritePhyUshort(sc, 0x13, 0x0747);
22582 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22584 MP_WritePhyUshort(sc, 0x1F, 0x0004);
22585 MP_WritePhyUshort(sc, 0x1F, 0x0007);
22586 MP_WritePhyUshort(sc, 0x1E, 0x0078);
22587 MP_WritePhyUshort(sc, 0x15, 0xA408);
22588 MP_WritePhyUshort(sc, 0x17, 0x5100);
22589 MP_WritePhyUshort(sc, 0x19, 0x0008);
22590 MP_WritePhyUshort(sc, 0x1F, 0x0002);
22591 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22593 MP_WritePhyUshort(sc, 0x1F, 0x0003);
22594 MP_WritePhyUshort(sc, 0x0D, 0x0207);
22595 MP_WritePhyUshort(sc, 0x02, 0x5FD0);
22596 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22598 MP_WritePhyUshort(sc, 0x1F, 0x0004);
22599 MP_WritePhyUshort(sc, 0x1F, 0x0007);
22600 MP_WritePhyUshort(sc, 0x1E, 0x00A1);
22601 Data = MP_ReadPhyUshort(sc, 0x1A);
22603 MP_WritePhyUshort(sc, 0x1A, Data);
22604 MP_WritePhyUshort(sc, 0x1F, 0x0002);
22605 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22607 MP_WritePhyUshort(sc, 0x1F, 0x0004);
22608 MP_WritePhyUshort(sc, 0x1F, 0x0007);
22609 MP_WritePhyUshort(sc, 0x1E, 0x002D);
22610 Data = MP_ReadPhyUshort(sc, 0x16);
22612 MP_WritePhyUshort(sc, 0x16, Data);
22613 MP_WritePhyUshort(sc, 0x1F, 0x0002);
22614 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22616 MP_WritePhyUshort(sc, 0x1F, 0x0004);
22617 MP_WritePhyUshort(sc, 0x1F, 0x0007);
22618 MP_WritePhyUshort(sc, 0x1E, 0x00AC);
22619 MP_WritePhyUshort(sc, 0x18, 0x0006);
22620 MP_WritePhyUshort(sc, 0x1F, 0x0002);
22621 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22623 MP_WritePhyUshort(sc, 0x1F, 0x0003);
22624 MP_WritePhyUshort(sc, 0x09, 0xA20F);
22625 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22627 MP_WritePhyUshort(sc, 0x1F, 0x0005);
22628 MP_WritePhyUshort(sc, 0x05, 0x8B85);
22629 Data = MP_ReadPhyUshort(sc, 0x06);
22631 MP_WritePhyUshort(sc, 0x06, Data);
22632 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22634 MP_WritePhyUshort(sc, 0x1F, 0x0005);
22635 MP_WritePhyUshort(sc, 0x05, 0x8B54);
22636 Data = MP_ReadPhyUshort(sc, 0x06);
22638 MP_WritePhyUshort(sc, 0x06, Data);
22639 MP_WritePhyUshort(sc, 0x05, 0x8B5D);
22640 Data = MP_ReadPhyUshort(sc, 0x06);
22642 MP_WritePhyUshort(sc, 0x06, Data);
22643 MP_WritePhyUshort(sc, 0x05, 0x8A7C);
22644 Data = MP_ReadPhyUshort(sc, 0x06);
22646 MP_WritePhyUshort(sc, 0x06, Data);
22647 MP_WritePhyUshort(sc, 0x05, 0x8A7F);
22648 Data = MP_ReadPhyUshort(sc, 0x06);
22650 MP_WritePhyUshort(sc, 0x06, Data);
22651 MP_WritePhyUshort(sc, 0x05, 0x8A82);
22652 Data = MP_ReadPhyUshort(sc, 0x06);
22654 MP_WritePhyUshort(sc, 0x06, Data);
22655 MP_WritePhyUshort(sc, 0x05, 0x8A85);
22656 Data = MP_ReadPhyUshort(sc, 0x06);
22658 MP_WritePhyUshort(sc, 0x06, Data);
22659 MP_WritePhyUshort(sc, 0x05, 0x8A88);
22660 Data = MP_ReadPhyUshort(sc, 0x06);
22662 MP_WritePhyUshort(sc, 0x06, Data);
22663 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22665 MP_WritePhyUshort(sc, 0x1F, 0x0005);
22666 MP_WritePhyUshort(sc, 0x05, 0x8B85);
22667 Data = MP_ReadPhyUshort(sc, 0x06);
22669 MP_WritePhyUshort(sc, 0x06, Data);
22670 MP_WritePhyUshort(sc, 0x1f, 0x0000);
22672 MP_WritePhyUshort(sc, 0x1f, 0x0003);
22673 Data = MP_ReadPhyUshort(sc, 0x19);
22675 MP_WritePhyUshort(sc, 0x19, Data);
22676 Data = MP_ReadPhyUshort(sc, 0x10);
22678 MP_WritePhyUshort(sc, 0x10, Data);
22679 MP_WritePhyUshort(sc, 0x1f, 0x0000);
22680 } else if (sc->re_type == MACFG_39) {
22681 Data_u32 = re_eri_read(sc, 0x1D0, 4, ERIAR_ExGMAC);
22682 Data_u32 &= ~BIT_1;
22683 re_eri_write(sc, 0x1D0, 4, Data_u32, ERIAR_ExGMAC);
22685 MP_WritePhyUshort(sc, 0x1F, 0x0005);
22686 MP_WritePhyUshort(sc, 0x05, 0x8B80);
22687 Data = MP_ReadPhyUshort(sc, 0x06);
22688 Data |= BIT_2 | BIT_1;
22689 MP_WritePhyUshort(sc, 0x06, Data);
22690 MP_WritePhyUshort(sc, 0x1f, 0x0000);
22692 MP_WritePhyUshort(sc, 0x1F, 0x0005);
22693 MP_WritePhyUshort(sc, 0x05, 0x8B85);
22694 Data = MP_ReadPhyUshort(sc, 0x06);
22696 MP_WritePhyUshort(sc, 0x06, Data);
22697 MP_WritePhyUshort(sc, 0x1f, 0x0000);
22699 MP_WritePhyUshort(sc, 0x1f, 0x0004);
22700 MP_WritePhyUshort(sc, 0x1f, 0x0007);
22701 MP_WritePhyUshort(sc, 0x1e, 0x002D);
22702 Data = MP_ReadPhyUshort(sc, 0x18);
22704 MP_WritePhyUshort(sc, 0x18, Data);
22705 MP_WritePhyUshort(sc, 0x1f, 0x0002);
22706 MP_WritePhyUshort(sc, 0x1f, 0x0000);
22707 Data = MP_ReadPhyUshort(sc, 0x14);
22709 MP_WritePhyUshort(sc, 0x14, Data);
22711 MP_WritePhyUshort(sc, 0x1F, 0x0005);
22712 MP_WritePhyUshort(sc, 0x05, 0x8B86);
22713 Data = MP_ReadPhyUshort(sc, 0x06);
22715 MP_WritePhyUshort(sc, 0x06, Data);
22716 MP_WritePhyUshort(sc, 0x1f, 0x0000);
22718 MP_WritePhyUshort(sc, 0x1F, 0x0004);
22719 MP_WritePhyUshort(sc, 0x1F, 0x0007);
22720 MP_WritePhyUshort(sc, 0x1E, 0x00AC);
22721 MP_WritePhyUshort(sc, 0x18, 0x0006);
22722 MP_WritePhyUshort(sc, 0x1F, 0x0002);
22723 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22725 MP_WritePhyUshort(sc, 0x1F, 0x0003);
22726 MP_WritePhyUshort(sc, 0x09, 0xA20F);
22727 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22729 MP_WritePhyUshort(sc, 0x1F, 0x0005);
22730 MP_WritePhyUshort(sc, 0x05, 0x8B85);
22731 Data = MP_ReadPhyUshort(sc, 0x06);
22733 MP_WritePhyUshort(sc, 0x06, Data);
22734 MP_WritePhyUshort(sc, 0x1f, 0x0000);
22736 MP_WritePhyUshort(sc, 0x1F, 0x0005);
22737 MP_WritePhyUshort(sc, 0x05, 0x8B54);
22738 Data = MP_ReadPhyUshort(sc, 0x06);
22740 MP_WritePhyUshort(sc, 0x06, Data);
22741 MP_WritePhyUshort(sc, 0x05, 0x8B5D);
22742 Data = MP_ReadPhyUshort(sc, 0x06);
22744 MP_WritePhyUshort(sc, 0x06, Data);
22745 MP_WritePhyUshort(sc, 0x05, 0x8A7C);
22746 Data = MP_ReadPhyUshort(sc, 0x06);
22748 MP_WritePhyUshort(sc, 0x06, Data);
22749 MP_WritePhyUshort(sc, 0x05, 0x8A7F);
22750 Data = MP_ReadPhyUshort(sc, 0x06);
22752 MP_WritePhyUshort(sc, 0x06, Data);
22753 MP_WritePhyUshort(sc, 0x05, 0x8A82);
22754 Data = MP_ReadPhyUshort(sc, 0x06);
22756 MP_WritePhyUshort(sc, 0x06, Data);
22757 MP_WritePhyUshort(sc, 0x05, 0x8A85);
22758 Data = MP_ReadPhyUshort(sc, 0x06);
22760 MP_WritePhyUshort(sc, 0x06, Data);
22761 MP_WritePhyUshort(sc, 0x05, 0x8A88);
22762 Data = MP_ReadPhyUshort(sc, 0x06);
22764 MP_WritePhyUshort(sc, 0x06, Data);
22765 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22767 MP_WritePhyUshort(sc, 0x1f, 0x0003);
22768 Data = MP_ReadPhyUshort(sc, 0x19);
22770 MP_WritePhyUshort(sc, 0x19, Data);
22771 Data = MP_ReadPhyUshort(sc, 0x10);
22773 MP_WritePhyUshort(sc, 0x10, Data);
22774 MP_WritePhyUshort(sc, 0x1f, 0x0000);
22775 } else if (sc->re_type == MACFG_41) {
22776 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22777 MP_WritePhyUshort(sc, 0x11, MP_ReadPhyUshort(sc, 0x11) | 0x1000);
22778 MP_WritePhyUshort(sc, 0x1F, 0x0002);
22779 MP_WritePhyUshort(sc, 0x0F, MP_ReadPhyUshort(sc, 0x0F) | 0x0003);
22780 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22782 for (Data_u32=0x800E0068; Data_u32<0x800E006D; Data_u32++) {
22783 CSR_WRITE_4(sc, 0xF8, Data_u32);
22784 for (i=0; i<10; i++) {
22786 if ((CSR_READ_4(sc, 0xF8)&0x80000000)==0)
22790 } else if (sc->re_type == MACFG_42 || sc->re_type == MACFG_43) {
22791 Data_u32 = re_eri_read(sc, 0x1D0, 4, ERIAR_ExGMAC);
22792 Data_u32 &= 0xFFFF0000;
22793 re_eri_write(sc, 0x1D0, 4, Data_u32, ERIAR_ExGMAC);
22795 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22796 MP_WritePhyUshort(sc, 0x18, 0x0310);
22797 MP_WritePhyUshort(sc, 0x1F, 0x0000);
22799 MP_WritePhyUshort(sc, 0x1f, 0x0004);
22800 MP_WritePhyUshort(sc, 0x1f, 0x0004);
22801 MP_WritePhyUshort(sc, 0x19, 0x7070);
22802 MP_WritePhyUshort(sc, 0x1c, 0x0600);
22803 MP_WritePhyUshort(sc, 0x1d, 0x9700);
22804 MP_WritePhyUshort(sc, 0x1d, 0x7d00);
22805 MP_WritePhyUshort(sc, 0x1d, 0x6900);
22806 MP_WritePhyUshort(sc, 0x1d, 0x7d00);
22807 MP_WritePhyUshort(sc, 0x1d, 0x6800);
22808 MP_WritePhyUshort(sc, 0x1d, 0x4899);
22809 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
22810 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
22811 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
22812 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
22813 MP_WritePhyUshort(sc, 0x1d, 0x8000);
22814 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
22815 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
22816 MP_WritePhyUshort(sc, 0x1d, 0x4007);
22817 MP_WritePhyUshort(sc, 0x1d, 0x4400);
22818 MP_WritePhyUshort(sc, 0x1d, 0x4800);
22819 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
22820 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
22821 MP_WritePhyUshort(sc, 0x1d, 0x5310);
22822 MP_WritePhyUshort(sc, 0x1d, 0x6000);
22823 MP_WritePhyUshort(sc, 0x1d, 0x6800);
22824 MP_WritePhyUshort(sc, 0x1d, 0x6736);
22825 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22826 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22827 MP_WritePhyUshort(sc, 0x1d, 0x571f);
22828 MP_WritePhyUshort(sc, 0x1d, 0x5ffb);
22829 MP_WritePhyUshort(sc, 0x1d, 0xaa03);
22830 MP_WritePhyUshort(sc, 0x1d, 0x5b58);
22831 MP_WritePhyUshort(sc, 0x1d, 0x301e);
22832 MP_WritePhyUshort(sc, 0x1d, 0x5b64);
22833 MP_WritePhyUshort(sc, 0x1d, 0xa6fc);
22834 MP_WritePhyUshort(sc, 0x1d, 0xdcdb);
22835 MP_WritePhyUshort(sc, 0x1d, 0x0014);
22836 MP_WritePhyUshort(sc, 0x1d, 0xd9a9);
22837 MP_WritePhyUshort(sc, 0x1d, 0x0013);
22838 MP_WritePhyUshort(sc, 0x1d, 0xd16b);
22839 MP_WritePhyUshort(sc, 0x1d, 0x0011);
22840 MP_WritePhyUshort(sc, 0x1d, 0xb40e);
22841 MP_WritePhyUshort(sc, 0x1d, 0xd06b);
22842 MP_WritePhyUshort(sc, 0x1d, 0x000c);
22843 MP_WritePhyUshort(sc, 0x1d, 0xb206);
22844 MP_WritePhyUshort(sc, 0x1d, 0x7c01);
22845 MP_WritePhyUshort(sc, 0x1d, 0x5800);
22846 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
22847 MP_WritePhyUshort(sc, 0x1d, 0x5c00);
22848 MP_WritePhyUshort(sc, 0x1d, 0x301a);
22849 MP_WritePhyUshort(sc, 0x1d, 0x7c01);
22850 MP_WritePhyUshort(sc, 0x1d, 0x5801);
22851 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
22852 MP_WritePhyUshort(sc, 0x1d, 0x5c04);
22853 MP_WritePhyUshort(sc, 0x1d, 0x301e);
22854 MP_WritePhyUshort(sc, 0x1d, 0x314d);
22855 MP_WritePhyUshort(sc, 0x1d, 0x31f0);
22856 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
22857 MP_WritePhyUshort(sc, 0x1d, 0x4c20);
22858 MP_WritePhyUshort(sc, 0x1d, 0x6004);
22859 MP_WritePhyUshort(sc, 0x1d, 0x5310);
22860 MP_WritePhyUshort(sc, 0x1d, 0x4833);
22861 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
22862 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
22863 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
22864 MP_WritePhyUshort(sc, 0x1d, 0x4c08);
22865 MP_WritePhyUshort(sc, 0x1d, 0x8300);
22866 MP_WritePhyUshort(sc, 0x1d, 0x6800);
22867 MP_WritePhyUshort(sc, 0x1d, 0x6600);
22868 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22869 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22870 MP_WritePhyUshort(sc, 0x1d, 0xb90c);
22871 MP_WritePhyUshort(sc, 0x1d, 0x30d3);
22872 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
22873 MP_WritePhyUshort(sc, 0x1d, 0x4de0);
22874 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
22875 MP_WritePhyUshort(sc, 0x1d, 0x6000);
22876 MP_WritePhyUshort(sc, 0x1d, 0x6800);
22877 MP_WritePhyUshort(sc, 0x1d, 0x6736);
22878 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22879 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22880 MP_WritePhyUshort(sc, 0x1d, 0x5310);
22881 MP_WritePhyUshort(sc, 0x1d, 0x300b);
22882 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
22883 MP_WritePhyUshort(sc, 0x1d, 0x4c60);
22884 MP_WritePhyUshort(sc, 0x1d, 0x6803);
22885 MP_WritePhyUshort(sc, 0x1d, 0x6520);
22886 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22887 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22888 MP_WritePhyUshort(sc, 0x1d, 0xaf03);
22889 MP_WritePhyUshort(sc, 0x1d, 0x6015);
22890 MP_WritePhyUshort(sc, 0x1d, 0x3059);
22891 MP_WritePhyUshort(sc, 0x1d, 0x6017);
22892 MP_WritePhyUshort(sc, 0x1d, 0x57e0);
22893 MP_WritePhyUshort(sc, 0x1d, 0x580c);
22894 MP_WritePhyUshort(sc, 0x1d, 0x588c);
22895 MP_WritePhyUshort(sc, 0x1d, 0x7ffc);
22896 MP_WritePhyUshort(sc, 0x1d, 0x5fa3);
22897 MP_WritePhyUshort(sc, 0x1d, 0x4827);
22898 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
22899 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
22900 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
22901 MP_WritePhyUshort(sc, 0x1d, 0x4c10);
22902 MP_WritePhyUshort(sc, 0x1d, 0x8400);
22903 MP_WritePhyUshort(sc, 0x1d, 0x7c30);
22904 MP_WritePhyUshort(sc, 0x1d, 0x6020);
22905 MP_WritePhyUshort(sc, 0x1d, 0x48bf);
22906 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
22907 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
22908 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
22909 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
22910 MP_WritePhyUshort(sc, 0x1d, 0xad09);
22911 MP_WritePhyUshort(sc, 0x1d, 0x7c03);
22912 MP_WritePhyUshort(sc, 0x1d, 0x5c03);
22913 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22914 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22915 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22916 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22917 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22918 MP_WritePhyUshort(sc, 0x1d, 0x4400);
22919 MP_WritePhyUshort(sc, 0x1d, 0xad2c);
22920 MP_WritePhyUshort(sc, 0x1d, 0xd6cf);
22921 MP_WritePhyUshort(sc, 0x1d, 0x0002);
22922 MP_WritePhyUshort(sc, 0x1d, 0x80f4);
22923 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
22924 MP_WritePhyUshort(sc, 0x1d, 0x4c80);
22925 MP_WritePhyUshort(sc, 0x1d, 0x7c20);
22926 MP_WritePhyUshort(sc, 0x1d, 0x5c20);
22927 MP_WritePhyUshort(sc, 0x1d, 0x481e);
22928 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
22929 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
22930 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
22931 MP_WritePhyUshort(sc, 0x1d, 0x4c02);
22932 MP_WritePhyUshort(sc, 0x1d, 0xad0a);
22933 MP_WritePhyUshort(sc, 0x1d, 0x7c03);
22934 MP_WritePhyUshort(sc, 0x1d, 0x5c03);
22935 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22936 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22937 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22938 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22939 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22940 MP_WritePhyUshort(sc, 0x1d, 0x4400);
22941 MP_WritePhyUshort(sc, 0x1d, 0x5310);
22942 MP_WritePhyUshort(sc, 0x1d, 0x8d02);
22943 MP_WritePhyUshort(sc, 0x1d, 0x4401);
22944 MP_WritePhyUshort(sc, 0x1d, 0x81f4);
22945 MP_WritePhyUshort(sc, 0x1d, 0x3114);
22946 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
22947 MP_WritePhyUshort(sc, 0x1d, 0x4d00);
22948 MP_WritePhyUshort(sc, 0x1d, 0x4832);
22949 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
22950 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
22951 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
22952 MP_WritePhyUshort(sc, 0x1d, 0x4c10);
22953 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
22954 MP_WritePhyUshort(sc, 0x1d, 0x6000);
22955 MP_WritePhyUshort(sc, 0x1d, 0xa4b7);
22956 MP_WritePhyUshort(sc, 0x1d, 0xd9b3);
22957 MP_WritePhyUshort(sc, 0x1d, 0xfffe);
22958 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
22959 MP_WritePhyUshort(sc, 0x1d, 0x4d20);
22960 MP_WritePhyUshort(sc, 0x1d, 0x7e00);
22961 MP_WritePhyUshort(sc, 0x1d, 0x6200);
22962 MP_WritePhyUshort(sc, 0x1d, 0x3045);
22963 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
22964 MP_WritePhyUshort(sc, 0x1d, 0x4d40);
22965 MP_WritePhyUshort(sc, 0x1d, 0x7c40);
22966 MP_WritePhyUshort(sc, 0x1d, 0x6000);
22967 MP_WritePhyUshort(sc, 0x1d, 0x4401);
22968 MP_WritePhyUshort(sc, 0x1d, 0x5210);
22969 MP_WritePhyUshort(sc, 0x1d, 0x4833);
22970 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
22971 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
22972 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
22973 MP_WritePhyUshort(sc, 0x1d, 0x4c08);
22974 MP_WritePhyUshort(sc, 0x1d, 0x8300);
22975 MP_WritePhyUshort(sc, 0x1d, 0x5f80);
22976 MP_WritePhyUshort(sc, 0x1d, 0x55e0);
22977 MP_WritePhyUshort(sc, 0x1d, 0xc06f);
22978 MP_WritePhyUshort(sc, 0x1d, 0x0005);
22979 MP_WritePhyUshort(sc, 0x1d, 0xd9b3);
22980 MP_WritePhyUshort(sc, 0x1d, 0xfffd);
22981 MP_WritePhyUshort(sc, 0x1d, 0x7c40);
22982 MP_WritePhyUshort(sc, 0x1d, 0x6040);
22983 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
22984 MP_WritePhyUshort(sc, 0x1d, 0x4d60);
22985 MP_WritePhyUshort(sc, 0x1d, 0x57e0);
22986 MP_WritePhyUshort(sc, 0x1d, 0x4814);
22987 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
22988 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
22989 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
22990 MP_WritePhyUshort(sc, 0x1d, 0x4c04);
22991 MP_WritePhyUshort(sc, 0x1d, 0x8200);
22992 MP_WritePhyUshort(sc, 0x1d, 0x7c03);
22993 MP_WritePhyUshort(sc, 0x1d, 0x5c03);
22994 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22995 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22996 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22997 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22998 MP_WritePhyUshort(sc, 0x1d, 0x0000);
22999 MP_WritePhyUshort(sc, 0x1d, 0xad02);
23000 MP_WritePhyUshort(sc, 0x1d, 0x4400);
23001 MP_WritePhyUshort(sc, 0x1d, 0xc0e9);
23002 MP_WritePhyUshort(sc, 0x1d, 0x0003);
23003 MP_WritePhyUshort(sc, 0x1d, 0xadd8);
23004 MP_WritePhyUshort(sc, 0x1d, 0x30c6);
23005 MP_WritePhyUshort(sc, 0x1d, 0x3078);
23006 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23007 MP_WritePhyUshort(sc, 0x1d, 0x4dc0);
23008 MP_WritePhyUshort(sc, 0x1d, 0x6730);
23009 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23010 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23011 MP_WritePhyUshort(sc, 0x1d, 0xd09d);
23012 MP_WritePhyUshort(sc, 0x1d, 0x0002);
23013 MP_WritePhyUshort(sc, 0x1d, 0xb4fe);
23014 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23015 MP_WritePhyUshort(sc, 0x1d, 0x4d80);
23016 MP_WritePhyUshort(sc, 0x1d, 0x6802);
23017 MP_WritePhyUshort(sc, 0x1d, 0x6600);
23018 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23019 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23020 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
23021 MP_WritePhyUshort(sc, 0x1d, 0x6000);
23022 MP_WritePhyUshort(sc, 0x1d, 0x486c);
23023 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23024 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23025 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23026 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
23027 MP_WritePhyUshort(sc, 0x1d, 0x9503);
23028 MP_WritePhyUshort(sc, 0x1d, 0x7e00);
23029 MP_WritePhyUshort(sc, 0x1d, 0x6200);
23030 MP_WritePhyUshort(sc, 0x1d, 0x571f);
23031 MP_WritePhyUshort(sc, 0x1d, 0x5fbb);
23032 MP_WritePhyUshort(sc, 0x1d, 0xaa03);
23033 MP_WritePhyUshort(sc, 0x1d, 0x5b58);
23034 MP_WritePhyUshort(sc, 0x1d, 0x30e9);
23035 MP_WritePhyUshort(sc, 0x1d, 0x5b64);
23036 MP_WritePhyUshort(sc, 0x1d, 0xcdab);
23037 MP_WritePhyUshort(sc, 0x1d, 0xff5b);
23038 MP_WritePhyUshort(sc, 0x1d, 0xcd8d);
23039 MP_WritePhyUshort(sc, 0x1d, 0xff59);
23040 MP_WritePhyUshort(sc, 0x1d, 0xd96b);
23041 MP_WritePhyUshort(sc, 0x1d, 0xff57);
23042 MP_WritePhyUshort(sc, 0x1d, 0xd0a0);
23043 MP_WritePhyUshort(sc, 0x1d, 0xffdb);
23044 MP_WritePhyUshort(sc, 0x1d, 0xcba0);
23045 MP_WritePhyUshort(sc, 0x1d, 0x0003);
23046 MP_WritePhyUshort(sc, 0x1d, 0x80f0);
23047 MP_WritePhyUshort(sc, 0x1d, 0x30f6);
23048 MP_WritePhyUshort(sc, 0x1d, 0x3109);
23049 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23050 MP_WritePhyUshort(sc, 0x1d, 0x4ce0);
23051 MP_WritePhyUshort(sc, 0x1d, 0x7d30);
23052 MP_WritePhyUshort(sc, 0x1d, 0x6530);
23053 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23054 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23055 MP_WritePhyUshort(sc, 0x1d, 0x7ce0);
23056 MP_WritePhyUshort(sc, 0x1d, 0x5400);
23057 MP_WritePhyUshort(sc, 0x1d, 0x4832);
23058 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23059 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23060 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23061 MP_WritePhyUshort(sc, 0x1d, 0x4c08);
23062 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
23063 MP_WritePhyUshort(sc, 0x1d, 0x6008);
23064 MP_WritePhyUshort(sc, 0x1d, 0x8300);
23065 MP_WritePhyUshort(sc, 0x1d, 0xb902);
23066 MP_WritePhyUshort(sc, 0x1d, 0x30d3);
23067 MP_WritePhyUshort(sc, 0x1d, 0x308f);
23068 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23069 MP_WritePhyUshort(sc, 0x1d, 0x4da0);
23070 MP_WritePhyUshort(sc, 0x1d, 0x57a0);
23071 MP_WritePhyUshort(sc, 0x1d, 0x590c);
23072 MP_WritePhyUshort(sc, 0x1d, 0x5fa2);
23073 MP_WritePhyUshort(sc, 0x1d, 0xcba4);
23074 MP_WritePhyUshort(sc, 0x1d, 0x0005);
23075 MP_WritePhyUshort(sc, 0x1d, 0xcd8d);
23076 MP_WritePhyUshort(sc, 0x1d, 0x0003);
23077 MP_WritePhyUshort(sc, 0x1d, 0x80fc);
23078 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23079 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23080 MP_WritePhyUshort(sc, 0x1d, 0x4ca0);
23081 MP_WritePhyUshort(sc, 0x1d, 0xb603);
23082 MP_WritePhyUshort(sc, 0x1d, 0x7c10);
23083 MP_WritePhyUshort(sc, 0x1d, 0x6010);
23084 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23085 MP_WritePhyUshort(sc, 0x1d, 0x541f);
23086 MP_WritePhyUshort(sc, 0x1d, 0x7ffc);
23087 MP_WritePhyUshort(sc, 0x1d, 0x5fb3);
23088 MP_WritePhyUshort(sc, 0x1d, 0x9403);
23089 MP_WritePhyUshort(sc, 0x1d, 0x7c03);
23090 MP_WritePhyUshort(sc, 0x1d, 0x5c03);
23091 MP_WritePhyUshort(sc, 0x1d, 0xaa05);
23092 MP_WritePhyUshort(sc, 0x1d, 0x7c80);
23093 MP_WritePhyUshort(sc, 0x1d, 0x5800);
23094 MP_WritePhyUshort(sc, 0x1d, 0x5b58);
23095 MP_WritePhyUshort(sc, 0x1d, 0x3128);
23096 MP_WritePhyUshort(sc, 0x1d, 0x7c80);
23097 MP_WritePhyUshort(sc, 0x1d, 0x5800);
23098 MP_WritePhyUshort(sc, 0x1d, 0x5b64);
23099 MP_WritePhyUshort(sc, 0x1d, 0x4827);
23100 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23101 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23102 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23103 MP_WritePhyUshort(sc, 0x1d, 0x4c10);
23104 MP_WritePhyUshort(sc, 0x1d, 0x8400);
23105 MP_WritePhyUshort(sc, 0x1d, 0x7c10);
23106 MP_WritePhyUshort(sc, 0x1d, 0x6000);
23107 MP_WritePhyUshort(sc, 0x1d, 0x4824);
23108 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23109 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23110 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23111 MP_WritePhyUshort(sc, 0x1d, 0x4c04);
23112 MP_WritePhyUshort(sc, 0x1d, 0x8200);
23113 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23114 MP_WritePhyUshort(sc, 0x1d, 0x4cc0);
23115 MP_WritePhyUshort(sc, 0x1d, 0x7d00);
23116 MP_WritePhyUshort(sc, 0x1d, 0x6400);
23117 MP_WritePhyUshort(sc, 0x1d, 0x7ffc);
23118 MP_WritePhyUshort(sc, 0x1d, 0x5fbb);
23119 MP_WritePhyUshort(sc, 0x1d, 0x4824);
23120 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23121 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23122 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23123 MP_WritePhyUshort(sc, 0x1d, 0x4c04);
23124 MP_WritePhyUshort(sc, 0x1d, 0x8200);
23125 MP_WritePhyUshort(sc, 0x1d, 0x7e00);
23126 MP_WritePhyUshort(sc, 0x1d, 0x6a00);
23127 MP_WritePhyUshort(sc, 0x1d, 0x4824);
23128 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23129 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23130 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23131 MP_WritePhyUshort(sc, 0x1d, 0x4c04);
23132 MP_WritePhyUshort(sc, 0x1d, 0x8200);
23133 MP_WritePhyUshort(sc, 0x1d, 0x7e00);
23134 MP_WritePhyUshort(sc, 0x1d, 0x6800);
23135 MP_WritePhyUshort(sc, 0x1d, 0x30f6);
23136 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23137 MP_WritePhyUshort(sc, 0x1d, 0x4e00);
23138 MP_WritePhyUshort(sc, 0x1d, 0x4007);
23139 MP_WritePhyUshort(sc, 0x1d, 0x4400);
23140 MP_WritePhyUshort(sc, 0x1d, 0x5310);
23141 MP_WritePhyUshort(sc, 0x1d, 0x6800);
23142 MP_WritePhyUshort(sc, 0x1d, 0x6736);
23143 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23144 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23145 MP_WritePhyUshort(sc, 0x1d, 0x570f);
23146 MP_WritePhyUshort(sc, 0x1d, 0x5fff);
23147 MP_WritePhyUshort(sc, 0x1d, 0xaa03);
23148 MP_WritePhyUshort(sc, 0x1d, 0x585b);
23149 MP_WritePhyUshort(sc, 0x1d, 0x315c);
23150 MP_WritePhyUshort(sc, 0x1d, 0x5867);
23151 MP_WritePhyUshort(sc, 0x1d, 0x9402);
23152 MP_WritePhyUshort(sc, 0x1d, 0x6200);
23153 MP_WritePhyUshort(sc, 0x1d, 0xcda3);
23154 MP_WritePhyUshort(sc, 0x1d, 0x009d);
23155 MP_WritePhyUshort(sc, 0x1d, 0xcd85);
23156 MP_WritePhyUshort(sc, 0x1d, 0x009b);
23157 MP_WritePhyUshort(sc, 0x1d, 0xd96b);
23158 MP_WritePhyUshort(sc, 0x1d, 0x0099);
23159 MP_WritePhyUshort(sc, 0x1d, 0x96e9);
23160 MP_WritePhyUshort(sc, 0x1d, 0x6800);
23161 MP_WritePhyUshort(sc, 0x1d, 0x6736);
23162 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23163 MP_WritePhyUshort(sc, 0x1d, 0x4e20);
23164 MP_WritePhyUshort(sc, 0x1d, 0x96e4);
23165 MP_WritePhyUshort(sc, 0x1d, 0x8b04);
23166 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
23167 MP_WritePhyUshort(sc, 0x1d, 0x5008);
23168 MP_WritePhyUshort(sc, 0x1d, 0xab03);
23169 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
23170 MP_WritePhyUshort(sc, 0x1d, 0x5000);
23171 MP_WritePhyUshort(sc, 0x1d, 0x6801);
23172 MP_WritePhyUshort(sc, 0x1d, 0x6776);
23173 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23174 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23175 MP_WritePhyUshort(sc, 0x1d, 0xdb7c);
23176 MP_WritePhyUshort(sc, 0x1d, 0xfff0);
23177 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23178 MP_WritePhyUshort(sc, 0x1d, 0x7fe1);
23179 MP_WritePhyUshort(sc, 0x1d, 0x4e40);
23180 MP_WritePhyUshort(sc, 0x1d, 0x4837);
23181 MP_WritePhyUshort(sc, 0x1d, 0x4418);
23182 MP_WritePhyUshort(sc, 0x1d, 0x41c7);
23183 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23184 MP_WritePhyUshort(sc, 0x1d, 0x4e40);
23185 MP_WritePhyUshort(sc, 0x1d, 0x7c40);
23186 MP_WritePhyUshort(sc, 0x1d, 0x5400);
23187 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23188 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
23189 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23190 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
23191 MP_WritePhyUshort(sc, 0x1d, 0x8fc9);
23192 MP_WritePhyUshort(sc, 0x1d, 0xd2a0);
23193 MP_WritePhyUshort(sc, 0x1d, 0x004a);
23194 MP_WritePhyUshort(sc, 0x1d, 0x9203);
23195 MP_WritePhyUshort(sc, 0x1d, 0xa041);
23196 MP_WritePhyUshort(sc, 0x1d, 0x3184);
23197 MP_WritePhyUshort(sc, 0x1d, 0x7fe1);
23198 MP_WritePhyUshort(sc, 0x1d, 0x4e60);
23199 MP_WritePhyUshort(sc, 0x1d, 0x489c);
23200 MP_WritePhyUshort(sc, 0x1d, 0x4628);
23201 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23202 MP_WritePhyUshort(sc, 0x1d, 0x4e60);
23203 MP_WritePhyUshort(sc, 0x1d, 0x7e28);
23204 MP_WritePhyUshort(sc, 0x1d, 0x4628);
23205 MP_WritePhyUshort(sc, 0x1d, 0x7c40);
23206 MP_WritePhyUshort(sc, 0x1d, 0x5400);
23207 MP_WritePhyUshort(sc, 0x1d, 0x7c01);
23208 MP_WritePhyUshort(sc, 0x1d, 0x5800);
23209 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
23210 MP_WritePhyUshort(sc, 0x1d, 0x5c00);
23211 MP_WritePhyUshort(sc, 0x1d, 0x41e8);
23212 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23213 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
23214 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23215 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
23216 MP_WritePhyUshort(sc, 0x1d, 0x8fb0);
23217 MP_WritePhyUshort(sc, 0x1d, 0xb241);
23218 MP_WritePhyUshort(sc, 0x1d, 0xa02a);
23219 MP_WritePhyUshort(sc, 0x1d, 0x319d);
23220 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23221 MP_WritePhyUshort(sc, 0x1d, 0x4ea0);
23222 MP_WritePhyUshort(sc, 0x1d, 0x7c02);
23223 MP_WritePhyUshort(sc, 0x1d, 0x4402);
23224 MP_WritePhyUshort(sc, 0x1d, 0x4448);
23225 MP_WritePhyUshort(sc, 0x1d, 0x4894);
23226 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23227 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
23228 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23229 MP_WritePhyUshort(sc, 0x1d, 0x4c03);
23230 MP_WritePhyUshort(sc, 0x1d, 0x4824);
23231 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23232 MP_WritePhyUshort(sc, 0x1d, 0x4c07);
23233 MP_WritePhyUshort(sc, 0x1d, 0x41ef);
23234 MP_WritePhyUshort(sc, 0x1d, 0x41ff);
23235 MP_WritePhyUshort(sc, 0x1d, 0x4891);
23236 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23237 MP_WritePhyUshort(sc, 0x1d, 0x4c07);
23238 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23239 MP_WritePhyUshort(sc, 0x1d, 0x4c17);
23240 MP_WritePhyUshort(sc, 0x1d, 0x8400);
23241 MP_WritePhyUshort(sc, 0x1d, 0x8ef8);
23242 MP_WritePhyUshort(sc, 0x1d, 0x41c7);
23243 MP_WritePhyUshort(sc, 0x1d, 0x8f95);
23244 MP_WritePhyUshort(sc, 0x1d, 0x92d5);
23245 MP_WritePhyUshort(sc, 0x1d, 0xa10f);
23246 MP_WritePhyUshort(sc, 0x1d, 0xd480);
23247 MP_WritePhyUshort(sc, 0x1d, 0x0008);
23248 MP_WritePhyUshort(sc, 0x1d, 0xd580);
23249 MP_WritePhyUshort(sc, 0x1d, 0xffb9);
23250 MP_WritePhyUshort(sc, 0x1d, 0xa202);
23251 MP_WritePhyUshort(sc, 0x1d, 0x31b8);
23252 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
23253 MP_WritePhyUshort(sc, 0x1d, 0x4404);
23254 MP_WritePhyUshort(sc, 0x1d, 0x31b8);
23255 MP_WritePhyUshort(sc, 0x1d, 0xd484);
23256 MP_WritePhyUshort(sc, 0x1d, 0xfff3);
23257 MP_WritePhyUshort(sc, 0x1d, 0xd484);
23258 MP_WritePhyUshort(sc, 0x1d, 0xfff1);
23259 MP_WritePhyUshort(sc, 0x1d, 0x314d);
23260 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23261 MP_WritePhyUshort(sc, 0x1d, 0x4ee0);
23262 MP_WritePhyUshort(sc, 0x1d, 0x7c40);
23263 MP_WritePhyUshort(sc, 0x1d, 0x5400);
23264 MP_WritePhyUshort(sc, 0x1d, 0x4488);
23265 MP_WritePhyUshort(sc, 0x1d, 0x41cf);
23266 MP_WritePhyUshort(sc, 0x1d, 0x314d);
23267 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23268 MP_WritePhyUshort(sc, 0x1d, 0x4ec0);
23269 MP_WritePhyUshort(sc, 0x1d, 0x48f3);
23270 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23271 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
23272 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23273 MP_WritePhyUshort(sc, 0x1d, 0x4c09);
23274 MP_WritePhyUshort(sc, 0x1d, 0x4508);
23275 MP_WritePhyUshort(sc, 0x1d, 0x41c7);
23276 MP_WritePhyUshort(sc, 0x1d, 0x8f24);
23277 MP_WritePhyUshort(sc, 0x1d, 0xd218);
23278 MP_WritePhyUshort(sc, 0x1d, 0x0022);
23279 MP_WritePhyUshort(sc, 0x1d, 0xd2a4);
23280 MP_WritePhyUshort(sc, 0x1d, 0xff9f);
23281 MP_WritePhyUshort(sc, 0x1d, 0x31d9);
23282 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23283 MP_WritePhyUshort(sc, 0x1d, 0x4e80);
23284 MP_WritePhyUshort(sc, 0x1d, 0x4832);
23285 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23286 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
23287 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23288 MP_WritePhyUshort(sc, 0x1d, 0x4c11);
23289 MP_WritePhyUshort(sc, 0x1d, 0x4428);
23290 MP_WritePhyUshort(sc, 0x1d, 0x7c40);
23291 MP_WritePhyUshort(sc, 0x1d, 0x5440);
23292 MP_WritePhyUshort(sc, 0x1d, 0x7c01);
23293 MP_WritePhyUshort(sc, 0x1d, 0x5801);
23294 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
23295 MP_WritePhyUshort(sc, 0x1d, 0x5c04);
23296 MP_WritePhyUshort(sc, 0x1d, 0x41e8);
23297 MP_WritePhyUshort(sc, 0x1d, 0xa4b3);
23298 MP_WritePhyUshort(sc, 0x1d, 0x31ee);
23299 MP_WritePhyUshort(sc, 0x1d, 0x6800);
23300 MP_WritePhyUshort(sc, 0x1d, 0x6736);
23301 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23302 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23303 MP_WritePhyUshort(sc, 0x1d, 0x570f);
23304 MP_WritePhyUshort(sc, 0x1d, 0x5fff);
23305 MP_WritePhyUshort(sc, 0x1d, 0xaa03);
23306 MP_WritePhyUshort(sc, 0x1d, 0x585b);
23307 MP_WritePhyUshort(sc, 0x1d, 0x31fa);
23308 MP_WritePhyUshort(sc, 0x1d, 0x5867);
23309 MP_WritePhyUshort(sc, 0x1d, 0xbcf6);
23310 MP_WritePhyUshort(sc, 0x1d, 0x300b);
23311 MP_WritePhyUshort(sc, 0x1d, 0x300b);
23312 MP_WritePhyUshort(sc, 0x1d, 0x314d);
23313 MP_WritePhyUshort(sc, 0x1f, 0x0004);
23314 MP_WritePhyUshort(sc, 0x1c, 0x0200);
23315 MP_WritePhyUshort(sc, 0x19, 0x7030);
23316 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23318 if (CSR_READ_1(sc, 0xEF)&0x08) {
23319 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23320 MP_WritePhyUshort(sc, 0x1A, 0x0004);
23321 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23323 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23324 MP_WritePhyUshort(sc, 0x1A, 0x0000);
23325 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23328 if (CSR_READ_1(sc, 0xEF)&0x10) {
23329 MP_WritePhyUshort(sc, 0x1F, 0x0004);
23330 MP_WritePhyUshort(sc, 0x1C, 0x0000);
23331 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23333 MP_WritePhyUshort(sc, 0x1F, 0x0004);
23334 MP_WritePhyUshort(sc, 0x1C, 0x0200);
23335 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23338 MP_WritePhyUshort(sc, 0x1F, 0x0001);
23339 MP_WritePhyUshort(sc, 0x15, 0x7701);
23340 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23342 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23343 ClearEthPhyBit(sc, 0x1A, BIT_14);
23345 if (phy_power_saving == 1) {
23346 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23347 MP_WritePhyUshort(sc, 0x18, 0x8310);
23348 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23350 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23351 MP_WritePhyUshort(sc, 0x18, 0x0310);
23352 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23356 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23357 MP_WritePhyUshort(sc, 0x0D, 0x0007);
23358 MP_WritePhyUshort(sc, 0x0E, 0x003C);
23359 MP_WritePhyUshort(sc, 0x0D, 0x4007);
23360 MP_WritePhyUshort(sc, 0x0E, 0x0000);
23361 MP_WritePhyUshort(sc, 0x0D, 0x0000);
23362 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23363 MP_WritePhyUshort(sc, 0x0D, 0x0003);
23364 MP_WritePhyUshort(sc, 0x0E, 0x0015);
23365 MP_WritePhyUshort(sc, 0x0D, 0x4003);
23366 MP_WritePhyUshort(sc, 0x0E, 0x0000);
23367 MP_WritePhyUshort(sc, 0x0D, 0x0000);
23369 } else if (sc->re_type == MACFG_50) {
23370 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23371 MP_WritePhyUshort(sc, 0x05, 0x8B80);
23372 Data = MP_ReadPhyUshort(sc, 0x06);
23373 Data |= BIT_2 | BIT_1;
23374 MP_WritePhyUshort(sc, 0x06, Data);
23375 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23377 MP_WritePhyUshort(sc, 0x1F, 0x0007);
23378 MP_WritePhyUshort(sc, 0x1E, 0x002D);
23379 Data = MP_ReadPhyUshort(sc, 0x18);
23381 MP_WritePhyUshort(sc, 0x18, Data);
23382 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23383 Data = MP_ReadPhyUshort(sc, 0x14);
23385 MP_WritePhyUshort(sc, 0x14, Data);
23387 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23388 MP_WritePhyUshort(sc, 0x05, 0x8B86);
23389 Data = MP_ReadPhyUshort(sc, 0x06);
23391 MP_WritePhyUshort(sc, 0x06, Data);
23392 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23394 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23395 MP_WritePhyUshort(sc, 0x05, 0x8B85);
23396 Data = MP_ReadPhyUshort(sc, 0x06);
23398 MP_WritePhyUshort(sc, 0x06, Data);
23399 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23401 MP_WritePhyUshort(sc, 0x1F, 0x0003);
23402 MP_WritePhyUshort(sc, 0x09, 0xA20F);
23403 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23405 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23406 MP_WritePhyUshort(sc, 0x05, 0x8B55);
23407 MP_WritePhyUshort(sc, 0x06, 0x0000);
23408 MP_WritePhyUshort(sc, 0x05, 0x8B5E);
23409 MP_WritePhyUshort(sc, 0x06, 0x0000);
23410 MP_WritePhyUshort(sc, 0x05, 0x8B67);
23411 MP_WritePhyUshort(sc, 0x06, 0x0000);
23412 MP_WritePhyUshort(sc, 0x05, 0x8B70);
23413 MP_WritePhyUshort(sc, 0x06, 0x0000);
23414 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23415 MP_WritePhyUshort(sc, 0x1F, 0x0007);
23416 MP_WritePhyUshort(sc, 0x1E, 0x0078);
23417 MP_WritePhyUshort(sc, 0x17, 0x0000);
23418 MP_WritePhyUshort(sc, 0x19, 0x00FB);
23419 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23421 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23422 MP_WritePhyUshort(sc, 0x05, 0x8B79);
23423 MP_WritePhyUshort(sc, 0x06, 0xAA00);
23424 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23426 MP_WritePhyUshort(sc, 0x1F, 0x0003);
23427 MP_WritePhyUshort(sc, 0x01, 0x328A);
23428 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23430 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23431 MP_WritePhyUshort(sc, 0x05, 0x8B54);
23432 Data = MP_ReadPhyUshort(sc, 0x06);
23434 MP_WritePhyUshort(sc, 0x06, Data);
23435 MP_WritePhyUshort(sc, 0x05, 0x8B5D);
23436 Data = MP_ReadPhyUshort(sc, 0x06);
23438 MP_WritePhyUshort(sc, 0x06, Data);
23439 MP_WritePhyUshort(sc, 0x05, 0x8A7C);
23440 Data = MP_ReadPhyUshort(sc, 0x06);
23442 MP_WritePhyUshort(sc, 0x06, Data);
23443 MP_WritePhyUshort(sc, 0x05, 0x8A7F);
23444 Data = MP_ReadPhyUshort(sc, 0x06);
23446 MP_WritePhyUshort(sc, 0x06, Data);
23447 MP_WritePhyUshort(sc, 0x05, 0x8A82);
23448 Data = MP_ReadPhyUshort(sc, 0x06);
23450 MP_WritePhyUshort(sc, 0x06, Data);
23451 MP_WritePhyUshort(sc, 0x05, 0x8A85);
23452 Data = MP_ReadPhyUshort(sc, 0x06);
23454 MP_WritePhyUshort(sc, 0x06, Data);
23455 MP_WritePhyUshort(sc, 0x05, 0x8A88);
23456 Data = MP_ReadPhyUshort(sc, 0x06);
23458 MP_WritePhyUshort(sc, 0x06, Data);
23459 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23461 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23462 MP_WritePhyUshort(sc, 0x05, 0x8B85);
23463 Data = MP_ReadPhyUshort(sc, 0x06);
23465 MP_WritePhyUshort(sc, 0x06, Data);
23466 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23468 MP_WritePhyUshort(sc, 0x1f, 0x0003);
23469 Data = MP_ReadPhyUshort(sc, 0x19);
23471 MP_WritePhyUshort(sc, 0x19, Data);
23472 Data = MP_ReadPhyUshort(sc, 0x10);
23474 MP_WritePhyUshort(sc, 0x10, Data);
23475 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23476 } else if (sc->re_type == MACFG_51) {
23477 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23478 MP_WritePhyUshort(sc, 0x05, 0x8B80);
23479 Data = MP_ReadPhyUshort(sc, 0x06);
23480 Data |= BIT_2 | BIT_1;
23481 MP_WritePhyUshort(sc, 0x06, Data);
23482 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23484 MP_WritePhyUshort(sc, 0x1F, 0x0007);
23485 MP_WritePhyUshort(sc, 0x1E, 0x002D);
23486 Data = MP_ReadPhyUshort(sc, 0x18);
23488 MP_WritePhyUshort(sc, 0x18, Data);
23489 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23490 Data = MP_ReadPhyUshort(sc, 0x14);
23492 MP_WritePhyUshort(sc, 0x14, Data);
23494 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23495 MP_WritePhyUshort(sc, 0x05, 0x8B86);
23496 Data = MP_ReadPhyUshort(sc, 0x06);
23498 MP_WritePhyUshort(sc, 0x06, Data);
23499 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23501 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23502 MP_WritePhyUshort(sc, 0x05, 0x8B54);
23503 Data = MP_ReadPhyUshort(sc, 0x06);
23505 MP_WritePhyUshort(sc, 0x06, Data);
23506 MP_WritePhyUshort(sc, 0x05, 0x8B5D);
23507 Data = MP_ReadPhyUshort(sc, 0x06);
23509 MP_WritePhyUshort(sc, 0x06, Data);
23510 MP_WritePhyUshort(sc, 0x05, 0x8A7C);
23511 Data = MP_ReadPhyUshort(sc, 0x06);
23513 MP_WritePhyUshort(sc, 0x06, Data);
23514 MP_WritePhyUshort(sc, 0x05, 0x8A7F);
23515 Data = MP_ReadPhyUshort(sc, 0x06);
23517 MP_WritePhyUshort(sc, 0x06, Data);
23518 MP_WritePhyUshort(sc, 0x05, 0x8A82);
23519 Data = MP_ReadPhyUshort(sc, 0x06);
23521 MP_WritePhyUshort(sc, 0x06, Data);
23522 MP_WritePhyUshort(sc, 0x05, 0x8A85);
23523 Data = MP_ReadPhyUshort(sc, 0x06);
23525 MP_WritePhyUshort(sc, 0x06, Data);
23526 MP_WritePhyUshort(sc, 0x05, 0x8A88);
23527 Data = MP_ReadPhyUshort(sc, 0x06);
23529 MP_WritePhyUshort(sc, 0x06, Data);
23530 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23532 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23533 MP_WritePhyUshort(sc, 0x05, 0x8B85);
23534 Data = MP_ReadPhyUshort(sc, 0x06);
23536 MP_WritePhyUshort(sc, 0x06, Data);
23537 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23539 MP_WritePhyUshort(sc, 0x1f, 0x0003);
23540 Data = MP_ReadPhyUshort(sc, 0x19);
23542 MP_WritePhyUshort(sc, 0x19, Data);
23543 Data = MP_ReadPhyUshort(sc, 0x10);
23545 MP_WritePhyUshort(sc, 0x10, Data);
23546 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23547 } else if (sc->re_type == MACFG_52) {
23548 Data_u32 = re_eri_read(sc, 0x1D0, 4, ERIAR_ExGMAC);
23549 Data_u32 &= ~BIT_1;
23550 re_eri_write(sc, 0x1D0, 4, Data_u32, ERIAR_ExGMAC);
23552 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23553 MP_WritePhyUshort(sc, 0x05, 0x8B80);
23554 Data = MP_ReadPhyUshort(sc, 0x06);
23555 Data |= BIT_2 | BIT_1;
23556 MP_WritePhyUshort(sc, 0x06, Data);
23557 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23559 MP_WritePhyUshort(sc, 0x1F, 0x0007);
23560 MP_WritePhyUshort(sc, 0x1E, 0x002D);
23561 Data = MP_ReadPhyUshort(sc, 0x18);
23563 MP_WritePhyUshort(sc, 0x18, Data);
23564 MP_WritePhyUshort(sc, 0x1f, 0x0002);
23565 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23566 Data = MP_ReadPhyUshort(sc, 0x14);
23568 MP_WritePhyUshort(sc, 0x14, Data);
23570 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23571 MP_WritePhyUshort(sc, 0x05, 0x8B86);
23572 Data = MP_ReadPhyUshort(sc, 0x06);
23574 MP_WritePhyUshort(sc, 0x06, Data);
23575 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23577 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23578 MP_WritePhyUshort(sc, 0x05, 0x8B85);
23579 Data = MP_ReadPhyUshort(sc, 0x06);
23581 MP_WritePhyUshort(sc, 0x06, Data);
23582 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23584 MP_WritePhyUshort(sc, 0x1F, 0x0003);
23585 MP_WritePhyUshort(sc, 0x09, 0xA20F);
23586 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23588 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23589 MP_WritePhyUshort(sc, 0x05, 0x8B55);
23590 MP_WritePhyUshort(sc, 0x06, 0x0000);
23591 MP_WritePhyUshort(sc, 0x05, 0x8B5E);
23592 MP_WritePhyUshort(sc, 0x06, 0x0000);
23593 MP_WritePhyUshort(sc, 0x05, 0x8B67);
23594 MP_WritePhyUshort(sc, 0x06, 0x0000);
23595 MP_WritePhyUshort(sc, 0x05, 0x8B70);
23596 MP_WritePhyUshort(sc, 0x06, 0x0000);
23597 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23598 MP_WritePhyUshort(sc, 0x1F, 0x0007);
23599 MP_WritePhyUshort(sc, 0x1E, 0x0078);
23600 MP_WritePhyUshort(sc, 0x17, 0x0000);
23601 MP_WritePhyUshort(sc, 0x19, 0x00FB);
23602 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23604 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23605 MP_WritePhyUshort(sc, 0x05, 0x8B79);
23606 MP_WritePhyUshort(sc, 0x06, 0xAA00);
23607 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23609 MP_WritePhyUshort(sc, 0x1F, 0x0003);
23610 MP_WritePhyUshort(sc, 0x01, 0x328A);
23611 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23613 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23614 MP_WritePhyUshort(sc, 0x05, 0x8B54);
23615 Data = MP_ReadPhyUshort(sc, 0x06);
23617 MP_WritePhyUshort(sc, 0x06, Data);
23618 MP_WritePhyUshort(sc, 0x05, 0x8B5D);
23619 Data = MP_ReadPhyUshort(sc, 0x06);
23621 MP_WritePhyUshort(sc, 0x06, Data);
23622 MP_WritePhyUshort(sc, 0x05, 0x8A7C);
23623 Data = MP_ReadPhyUshort(sc, 0x06);
23625 MP_WritePhyUshort(sc, 0x06, Data);
23626 MP_WritePhyUshort(sc, 0x05, 0x8A7F);
23627 Data = MP_ReadPhyUshort(sc, 0x06);
23629 MP_WritePhyUshort(sc, 0x06, Data);
23630 MP_WritePhyUshort(sc, 0x05, 0x8A82);
23631 Data = MP_ReadPhyUshort(sc, 0x06);
23633 MP_WritePhyUshort(sc, 0x06, Data);
23634 MP_WritePhyUshort(sc, 0x05, 0x8A85);
23635 Data = MP_ReadPhyUshort(sc, 0x06);
23637 MP_WritePhyUshort(sc, 0x06, Data);
23638 MP_WritePhyUshort(sc, 0x05, 0x8A88);
23639 Data = MP_ReadPhyUshort(sc, 0x06);
23641 MP_WritePhyUshort(sc, 0x06, Data);
23642 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23644 MP_WritePhyUshort(sc, 0x1F, 0x0005);
23645 MP_WritePhyUshort(sc, 0x05, 0x8B85);
23646 Data = MP_ReadPhyUshort(sc, 0x06);
23648 MP_WritePhyUshort(sc, 0x06, Data);
23649 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23651 MP_WritePhyUshort(sc, 0x1f, 0x0003);
23652 Data = MP_ReadPhyUshort(sc, 0x19);
23654 MP_WritePhyUshort(sc, 0x19, Data);
23655 Data = MP_ReadPhyUshort(sc, 0x10);
23657 MP_WritePhyUshort(sc, 0x10, Data);
23658 MP_WritePhyUshort(sc, 0x1f, 0x0000);
23659 } else if (sc->re_type == MACFG_53) {
23660 Data_u32 = re_eri_read(sc, 0x1D0, 4, ERIAR_ExGMAC);
23661 Data_u32 &= 0xFFFF0000;
23662 re_eri_write(sc, 0x1D0, 4, Data_u32, ERIAR_ExGMAC);
23664 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23665 MP_WritePhyUshort(sc, 0x18, 0x0310);
23666 MP_WritePhyUshort(sc, 0x1F, 0x0000);
23668 MP_WritePhyUshort(sc, 0x1f, 0x0004);
23669 MP_WritePhyUshort(sc, 0x1f, 0x0004);
23670 MP_WritePhyUshort(sc, 0x19, 0x7070);
23671 MP_WritePhyUshort(sc, 0x1c, 0x0600);
23672 MP_WritePhyUshort(sc, 0x1d, 0x9700);
23673 MP_WritePhyUshort(sc, 0x1d, 0x7d00);
23674 MP_WritePhyUshort(sc, 0x1d, 0x6900);
23675 MP_WritePhyUshort(sc, 0x1d, 0x7d00);
23676 MP_WritePhyUshort(sc, 0x1d, 0x6800);
23677 MP_WritePhyUshort(sc, 0x1d, 0x4899);
23678 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23679 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23680 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23681 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
23682 MP_WritePhyUshort(sc, 0x1d, 0x8000);
23683 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23684 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23685 MP_WritePhyUshort(sc, 0x1d, 0x4007);
23686 MP_WritePhyUshort(sc, 0x1d, 0x4400);
23687 MP_WritePhyUshort(sc, 0x1d, 0x4800);
23688 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23689 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23690 MP_WritePhyUshort(sc, 0x1d, 0x5310);
23691 MP_WritePhyUshort(sc, 0x1d, 0x6000);
23692 MP_WritePhyUshort(sc, 0x1d, 0x6800);
23693 MP_WritePhyUshort(sc, 0x1d, 0x6736);
23694 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23695 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23696 MP_WritePhyUshort(sc, 0x1d, 0x571f);
23697 MP_WritePhyUshort(sc, 0x1d, 0x5ffb);
23698 MP_WritePhyUshort(sc, 0x1d, 0xaa03);
23699 MP_WritePhyUshort(sc, 0x1d, 0x5b58);
23700 MP_WritePhyUshort(sc, 0x1d, 0x301e);
23701 MP_WritePhyUshort(sc, 0x1d, 0x5b64);
23702 MP_WritePhyUshort(sc, 0x1d, 0xa6fc);
23703 MP_WritePhyUshort(sc, 0x1d, 0xdcdb);
23704 MP_WritePhyUshort(sc, 0x1d, 0x0015);
23705 MP_WritePhyUshort(sc, 0x1d, 0xb915);
23706 MP_WritePhyUshort(sc, 0x1d, 0xb511);
23707 MP_WritePhyUshort(sc, 0x1d, 0xd16b);
23708 MP_WritePhyUshort(sc, 0x1d, 0x000f);
23709 MP_WritePhyUshort(sc, 0x1d, 0xb40f);
23710 MP_WritePhyUshort(sc, 0x1d, 0xd06b);
23711 MP_WritePhyUshort(sc, 0x1d, 0x000d);
23712 MP_WritePhyUshort(sc, 0x1d, 0xb206);
23713 MP_WritePhyUshort(sc, 0x1d, 0x7c01);
23714 MP_WritePhyUshort(sc, 0x1d, 0x5800);
23715 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
23716 MP_WritePhyUshort(sc, 0x1d, 0x5c00);
23717 MP_WritePhyUshort(sc, 0x1d, 0x301a);
23718 MP_WritePhyUshort(sc, 0x1d, 0x7c01);
23719 MP_WritePhyUshort(sc, 0x1d, 0x5801);
23720 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
23721 MP_WritePhyUshort(sc, 0x1d, 0x5c04);
23722 MP_WritePhyUshort(sc, 0x1d, 0x301e);
23723 MP_WritePhyUshort(sc, 0x1d, 0x3079);
23724 MP_WritePhyUshort(sc, 0x1d, 0x30f1);
23725 MP_WritePhyUshort(sc, 0x1d, 0x3199);
23726 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23727 MP_WritePhyUshort(sc, 0x1d, 0x4c60);
23728 MP_WritePhyUshort(sc, 0x1d, 0x6803);
23729 MP_WritePhyUshort(sc, 0x1d, 0x6420);
23730 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23731 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23732 MP_WritePhyUshort(sc, 0x1d, 0xaf03);
23733 MP_WritePhyUshort(sc, 0x1d, 0x6015);
23734 MP_WritePhyUshort(sc, 0x1d, 0x3040);
23735 MP_WritePhyUshort(sc, 0x1d, 0x6017);
23736 MP_WritePhyUshort(sc, 0x1d, 0x57e0);
23737 MP_WritePhyUshort(sc, 0x1d, 0x580c);
23738 MP_WritePhyUshort(sc, 0x1d, 0x588c);
23739 MP_WritePhyUshort(sc, 0x1d, 0x5fa3);
23740 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23741 MP_WritePhyUshort(sc, 0x1d, 0x4827);
23742 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23743 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23744 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23745 MP_WritePhyUshort(sc, 0x1d, 0x4c10);
23746 MP_WritePhyUshort(sc, 0x1d, 0x8400);
23747 MP_WritePhyUshort(sc, 0x1d, 0x7c30);
23748 MP_WritePhyUshort(sc, 0x1d, 0x6020);
23749 MP_WritePhyUshort(sc, 0x1d, 0x48bf);
23750 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23751 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23752 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23753 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
23754 MP_WritePhyUshort(sc, 0x1d, 0xd6cf);
23755 MP_WritePhyUshort(sc, 0x1d, 0x0002);
23756 MP_WritePhyUshort(sc, 0x1d, 0x80fe);
23757 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23758 MP_WritePhyUshort(sc, 0x1d, 0x4c80);
23759 MP_WritePhyUshort(sc, 0x1d, 0x7c20);
23760 MP_WritePhyUshort(sc, 0x1d, 0x5c20);
23761 MP_WritePhyUshort(sc, 0x1d, 0x481e);
23762 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23763 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23764 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23765 MP_WritePhyUshort(sc, 0x1d, 0x4c02);
23766 MP_WritePhyUshort(sc, 0x1d, 0x5310);
23767 MP_WritePhyUshort(sc, 0x1d, 0x81ff);
23768 MP_WritePhyUshort(sc, 0x1d, 0x30ba);
23769 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23770 MP_WritePhyUshort(sc, 0x1d, 0x4d00);
23771 MP_WritePhyUshort(sc, 0x1d, 0x4832);
23772 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23773 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23774 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23775 MP_WritePhyUshort(sc, 0x1d, 0x4c10);
23776 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
23777 MP_WritePhyUshort(sc, 0x1d, 0x6000);
23778 MP_WritePhyUshort(sc, 0x1d, 0xa4cc);
23779 MP_WritePhyUshort(sc, 0x1d, 0xd9b3);
23780 MP_WritePhyUshort(sc, 0x1d, 0xfffe);
23781 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23782 MP_WritePhyUshort(sc, 0x1d, 0x4d20);
23783 MP_WritePhyUshort(sc, 0x1d, 0x7e00);
23784 MP_WritePhyUshort(sc, 0x1d, 0x6200);
23785 MP_WritePhyUshort(sc, 0x1d, 0x300b);
23786 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23787 MP_WritePhyUshort(sc, 0x1d, 0x4dc0);
23788 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23789 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23790 MP_WritePhyUshort(sc, 0x1d, 0xd09d);
23791 MP_WritePhyUshort(sc, 0x1d, 0x0002);
23792 MP_WritePhyUshort(sc, 0x1d, 0xb4fe);
23793 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23794 MP_WritePhyUshort(sc, 0x1d, 0x4d80);
23795 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
23796 MP_WritePhyUshort(sc, 0x1d, 0x6004);
23797 MP_WritePhyUshort(sc, 0x1d, 0x5310);
23798 MP_WritePhyUshort(sc, 0x1d, 0x6802);
23799 MP_WritePhyUshort(sc, 0x1d, 0x6720);
23800 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23801 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23802 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
23803 MP_WritePhyUshort(sc, 0x1d, 0x6000);
23804 MP_WritePhyUshort(sc, 0x1d, 0x486c);
23805 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23806 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23807 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23808 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
23809 MP_WritePhyUshort(sc, 0x1d, 0x9503);
23810 MP_WritePhyUshort(sc, 0x1d, 0x7e00);
23811 MP_WritePhyUshort(sc, 0x1d, 0x6200);
23812 MP_WritePhyUshort(sc, 0x1d, 0x571f);
23813 MP_WritePhyUshort(sc, 0x1d, 0x5fbb);
23814 MP_WritePhyUshort(sc, 0x1d, 0xaa03);
23815 MP_WritePhyUshort(sc, 0x1d, 0x5b58);
23816 MP_WritePhyUshort(sc, 0x1d, 0x3092);
23817 MP_WritePhyUshort(sc, 0x1d, 0x5b64);
23818 MP_WritePhyUshort(sc, 0x1d, 0xcdab);
23819 MP_WritePhyUshort(sc, 0x1d, 0xff78);
23820 MP_WritePhyUshort(sc, 0x1d, 0xcd8d);
23821 MP_WritePhyUshort(sc, 0x1d, 0xff76);
23822 MP_WritePhyUshort(sc, 0x1d, 0xd96b);
23823 MP_WritePhyUshort(sc, 0x1d, 0xff74);
23824 MP_WritePhyUshort(sc, 0x1d, 0xd0a0);
23825 MP_WritePhyUshort(sc, 0x1d, 0xffd9);
23826 MP_WritePhyUshort(sc, 0x1d, 0xcba0);
23827 MP_WritePhyUshort(sc, 0x1d, 0x0003);
23828 MP_WritePhyUshort(sc, 0x1d, 0x80f0);
23829 MP_WritePhyUshort(sc, 0x1d, 0x309f);
23830 MP_WritePhyUshort(sc, 0x1d, 0x30ac);
23831 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23832 MP_WritePhyUshort(sc, 0x1d, 0x4ce0);
23833 MP_WritePhyUshort(sc, 0x1d, 0x4832);
23834 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23835 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23836 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23837 MP_WritePhyUshort(sc, 0x1d, 0x4c08);
23838 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
23839 MP_WritePhyUshort(sc, 0x1d, 0x6008);
23840 MP_WritePhyUshort(sc, 0x1d, 0x8300);
23841 MP_WritePhyUshort(sc, 0x1d, 0xb902);
23842 MP_WritePhyUshort(sc, 0x1d, 0x3079);
23843 MP_WritePhyUshort(sc, 0x1d, 0x3061);
23844 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23845 MP_WritePhyUshort(sc, 0x1d, 0x4da0);
23846 MP_WritePhyUshort(sc, 0x1d, 0x6400);
23847 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23848 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23849 MP_WritePhyUshort(sc, 0x1d, 0x57a0);
23850 MP_WritePhyUshort(sc, 0x1d, 0x590c);
23851 MP_WritePhyUshort(sc, 0x1d, 0x5fa3);
23852 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23853 MP_WritePhyUshort(sc, 0x1d, 0xcba4);
23854 MP_WritePhyUshort(sc, 0x1d, 0x0004);
23855 MP_WritePhyUshort(sc, 0x1d, 0xcd8d);
23856 MP_WritePhyUshort(sc, 0x1d, 0x0002);
23857 MP_WritePhyUshort(sc, 0x1d, 0x80fc);
23858 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23859 MP_WritePhyUshort(sc, 0x1d, 0x4ca0);
23860 MP_WritePhyUshort(sc, 0x1d, 0xb603);
23861 MP_WritePhyUshort(sc, 0x1d, 0x7c10);
23862 MP_WritePhyUshort(sc, 0x1d, 0x6010);
23863 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23864 MP_WritePhyUshort(sc, 0x1d, 0x541f);
23865 MP_WritePhyUshort(sc, 0x1d, 0x5fb3);
23866 MP_WritePhyUshort(sc, 0x1d, 0xaa05);
23867 MP_WritePhyUshort(sc, 0x1d, 0x7c80);
23868 MP_WritePhyUshort(sc, 0x1d, 0x5800);
23869 MP_WritePhyUshort(sc, 0x1d, 0x5b58);
23870 MP_WritePhyUshort(sc, 0x1d, 0x30ca);
23871 MP_WritePhyUshort(sc, 0x1d, 0x7c80);
23872 MP_WritePhyUshort(sc, 0x1d, 0x5800);
23873 MP_WritePhyUshort(sc, 0x1d, 0x5b64);
23874 MP_WritePhyUshort(sc, 0x1d, 0x4824);
23875 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23876 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23877 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23878 MP_WritePhyUshort(sc, 0x1d, 0x4c04);
23879 MP_WritePhyUshort(sc, 0x1d, 0x8200);
23880 MP_WritePhyUshort(sc, 0x1d, 0x4827);
23881 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23882 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23883 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23884 MP_WritePhyUshort(sc, 0x1d, 0x4c10);
23885 MP_WritePhyUshort(sc, 0x1d, 0x8400);
23886 MP_WritePhyUshort(sc, 0x1d, 0x7c10);
23887 MP_WritePhyUshort(sc, 0x1d, 0x6000);
23888 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23889 MP_WritePhyUshort(sc, 0x1d, 0x4cc0);
23890 MP_WritePhyUshort(sc, 0x1d, 0x5fbb);
23891 MP_WritePhyUshort(sc, 0x1d, 0x4824);
23892 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23893 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23894 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23895 MP_WritePhyUshort(sc, 0x1d, 0x4c04);
23896 MP_WritePhyUshort(sc, 0x1d, 0x8200);
23897 MP_WritePhyUshort(sc, 0x1d, 0x7ce0);
23898 MP_WritePhyUshort(sc, 0x1d, 0x5400);
23899 MP_WritePhyUshort(sc, 0x1d, 0x6720);
23900 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23901 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23902 MP_WritePhyUshort(sc, 0x1d, 0x7e00);
23903 MP_WritePhyUshort(sc, 0x1d, 0x6a00);
23904 MP_WritePhyUshort(sc, 0x1d, 0x4824);
23905 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23906 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
23907 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23908 MP_WritePhyUshort(sc, 0x1d, 0x4c04);
23909 MP_WritePhyUshort(sc, 0x1d, 0x8200);
23910 MP_WritePhyUshort(sc, 0x1d, 0x7e00);
23911 MP_WritePhyUshort(sc, 0x1d, 0x6800);
23912 MP_WritePhyUshort(sc, 0x1d, 0x309f);
23913 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23914 MP_WritePhyUshort(sc, 0x1d, 0x4e00);
23915 MP_WritePhyUshort(sc, 0x1d, 0x4007);
23916 MP_WritePhyUshort(sc, 0x1d, 0x4400);
23917 MP_WritePhyUshort(sc, 0x1d, 0x5310);
23918 MP_WritePhyUshort(sc, 0x1d, 0x6800);
23919 MP_WritePhyUshort(sc, 0x1d, 0x6736);
23920 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23921 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23922 MP_WritePhyUshort(sc, 0x1d, 0x570f);
23923 MP_WritePhyUshort(sc, 0x1d, 0x5fff);
23924 MP_WritePhyUshort(sc, 0x1d, 0xaa03);
23925 MP_WritePhyUshort(sc, 0x1d, 0x585b);
23926 MP_WritePhyUshort(sc, 0x1d, 0x3100);
23927 MP_WritePhyUshort(sc, 0x1d, 0x5867);
23928 MP_WritePhyUshort(sc, 0x1d, 0x9403);
23929 MP_WritePhyUshort(sc, 0x1d, 0x7e00);
23930 MP_WritePhyUshort(sc, 0x1d, 0x6200);
23931 MP_WritePhyUshort(sc, 0x1d, 0xcda3);
23932 MP_WritePhyUshort(sc, 0x1d, 0x002d);
23933 MP_WritePhyUshort(sc, 0x1d, 0xcd85);
23934 MP_WritePhyUshort(sc, 0x1d, 0x002b);
23935 MP_WritePhyUshort(sc, 0x1d, 0xd96b);
23936 MP_WritePhyUshort(sc, 0x1d, 0x0029);
23937 MP_WritePhyUshort(sc, 0x1d, 0x9629);
23938 MP_WritePhyUshort(sc, 0x1d, 0x6800);
23939 MP_WritePhyUshort(sc, 0x1d, 0x6736);
23940 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23941 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23942 MP_WritePhyUshort(sc, 0x1d, 0x9624);
23943 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23944 MP_WritePhyUshort(sc, 0x1d, 0x4e20);
23945 MP_WritePhyUshort(sc, 0x1d, 0x8b04);
23946 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
23947 MP_WritePhyUshort(sc, 0x1d, 0x5008);
23948 MP_WritePhyUshort(sc, 0x1d, 0xab03);
23949 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
23950 MP_WritePhyUshort(sc, 0x1d, 0x5000);
23951 MP_WritePhyUshort(sc, 0x1d, 0x6801);
23952 MP_WritePhyUshort(sc, 0x1d, 0x6776);
23953 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23954 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23955 MP_WritePhyUshort(sc, 0x1d, 0xdb7c);
23956 MP_WritePhyUshort(sc, 0x1d, 0xffee);
23957 MP_WritePhyUshort(sc, 0x1d, 0x0000);
23958 MP_WritePhyUshort(sc, 0x1d, 0x7fe1);
23959 MP_WritePhyUshort(sc, 0x1d, 0x4e40);
23960 MP_WritePhyUshort(sc, 0x1d, 0x4837);
23961 MP_WritePhyUshort(sc, 0x1d, 0x4418);
23962 MP_WritePhyUshort(sc, 0x1d, 0x41c7);
23963 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23964 MP_WritePhyUshort(sc, 0x1d, 0x4e40);
23965 MP_WritePhyUshort(sc, 0x1d, 0x7c40);
23966 MP_WritePhyUshort(sc, 0x1d, 0x5400);
23967 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23968 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
23969 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23970 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
23971 MP_WritePhyUshort(sc, 0x1d, 0x8f07);
23972 MP_WritePhyUshort(sc, 0x1d, 0xd2a0);
23973 MP_WritePhyUshort(sc, 0x1d, 0x004c);
23974 MP_WritePhyUshort(sc, 0x1d, 0x9205);
23975 MP_WritePhyUshort(sc, 0x1d, 0xa043);
23976 MP_WritePhyUshort(sc, 0x1d, 0x312b);
23977 MP_WritePhyUshort(sc, 0x1d, 0x300b);
23978 MP_WritePhyUshort(sc, 0x1d, 0x30f1);
23979 MP_WritePhyUshort(sc, 0x1d, 0x7fe1);
23980 MP_WritePhyUshort(sc, 0x1d, 0x4e60);
23981 MP_WritePhyUshort(sc, 0x1d, 0x489c);
23982 MP_WritePhyUshort(sc, 0x1d, 0x4628);
23983 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
23984 MP_WritePhyUshort(sc, 0x1d, 0x4e60);
23985 MP_WritePhyUshort(sc, 0x1d, 0x7e28);
23986 MP_WritePhyUshort(sc, 0x1d, 0x4628);
23987 MP_WritePhyUshort(sc, 0x1d, 0x7c40);
23988 MP_WritePhyUshort(sc, 0x1d, 0x5400);
23989 MP_WritePhyUshort(sc, 0x1d, 0x7c01);
23990 MP_WritePhyUshort(sc, 0x1d, 0x5800);
23991 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
23992 MP_WritePhyUshort(sc, 0x1d, 0x5c00);
23993 MP_WritePhyUshort(sc, 0x1d, 0x41e8);
23994 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23995 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
23996 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
23997 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
23998 MP_WritePhyUshort(sc, 0x1d, 0x8fec);
23999 MP_WritePhyUshort(sc, 0x1d, 0xb241);
24000 MP_WritePhyUshort(sc, 0x1d, 0xa02a);
24001 MP_WritePhyUshort(sc, 0x1d, 0x3146);
24002 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24003 MP_WritePhyUshort(sc, 0x1d, 0x4ea0);
24004 MP_WritePhyUshort(sc, 0x1d, 0x7c02);
24005 MP_WritePhyUshort(sc, 0x1d, 0x4402);
24006 MP_WritePhyUshort(sc, 0x1d, 0x4448);
24007 MP_WritePhyUshort(sc, 0x1d, 0x4894);
24008 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24009 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
24010 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24011 MP_WritePhyUshort(sc, 0x1d, 0x4c03);
24012 MP_WritePhyUshort(sc, 0x1d, 0x4824);
24013 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24014 MP_WritePhyUshort(sc, 0x1d, 0x4c07);
24015 MP_WritePhyUshort(sc, 0x1d, 0x41ef);
24016 MP_WritePhyUshort(sc, 0x1d, 0x41ff);
24017 MP_WritePhyUshort(sc, 0x1d, 0x4891);
24018 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24019 MP_WritePhyUshort(sc, 0x1d, 0x4c07);
24020 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24021 MP_WritePhyUshort(sc, 0x1d, 0x4c17);
24022 MP_WritePhyUshort(sc, 0x1d, 0x8400);
24023 MP_WritePhyUshort(sc, 0x1d, 0x8ef8);
24024 MP_WritePhyUshort(sc, 0x1d, 0x41c7);
24025 MP_WritePhyUshort(sc, 0x1d, 0x8fd1);
24026 MP_WritePhyUshort(sc, 0x1d, 0x92d5);
24027 MP_WritePhyUshort(sc, 0x1d, 0xa10f);
24028 MP_WritePhyUshort(sc, 0x1d, 0xd480);
24029 MP_WritePhyUshort(sc, 0x1d, 0x0008);
24030 MP_WritePhyUshort(sc, 0x1d, 0xd580);
24031 MP_WritePhyUshort(sc, 0x1d, 0xffb7);
24032 MP_WritePhyUshort(sc, 0x1d, 0xa202);
24033 MP_WritePhyUshort(sc, 0x1d, 0x3161);
24034 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
24035 MP_WritePhyUshort(sc, 0x1d, 0x4404);
24036 MP_WritePhyUshort(sc, 0x1d, 0x3161);
24037 MP_WritePhyUshort(sc, 0x1d, 0xd484);
24038 MP_WritePhyUshort(sc, 0x1d, 0xfff3);
24039 MP_WritePhyUshort(sc, 0x1d, 0xd484);
24040 MP_WritePhyUshort(sc, 0x1d, 0xfff1);
24041 MP_WritePhyUshort(sc, 0x1d, 0x30f1);
24042 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24043 MP_WritePhyUshort(sc, 0x1d, 0x4ee0);
24044 MP_WritePhyUshort(sc, 0x1d, 0x7c40);
24045 MP_WritePhyUshort(sc, 0x1d, 0x5400);
24046 MP_WritePhyUshort(sc, 0x1d, 0x4488);
24047 MP_WritePhyUshort(sc, 0x1d, 0x41cf);
24048 MP_WritePhyUshort(sc, 0x1d, 0x30f1);
24049 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24050 MP_WritePhyUshort(sc, 0x1d, 0x4ec0);
24051 MP_WritePhyUshort(sc, 0x1d, 0x48f3);
24052 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24053 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
24054 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24055 MP_WritePhyUshort(sc, 0x1d, 0x4c09);
24056 MP_WritePhyUshort(sc, 0x1d, 0x4508);
24057 MP_WritePhyUshort(sc, 0x1d, 0x41c7);
24058 MP_WritePhyUshort(sc, 0x1d, 0x8fb0);
24059 MP_WritePhyUshort(sc, 0x1d, 0xd218);
24060 MP_WritePhyUshort(sc, 0x1d, 0xffae);
24061 MP_WritePhyUshort(sc, 0x1d, 0xd2a4);
24062 MP_WritePhyUshort(sc, 0x1d, 0xff9d);
24063 MP_WritePhyUshort(sc, 0x1d, 0x3182);
24064 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24065 MP_WritePhyUshort(sc, 0x1d, 0x4e80);
24066 MP_WritePhyUshort(sc, 0x1d, 0x4832);
24067 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24068 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
24069 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24070 MP_WritePhyUshort(sc, 0x1d, 0x4c11);
24071 MP_WritePhyUshort(sc, 0x1d, 0x4428);
24072 MP_WritePhyUshort(sc, 0x1d, 0x7c40);
24073 MP_WritePhyUshort(sc, 0x1d, 0x5440);
24074 MP_WritePhyUshort(sc, 0x1d, 0x7c01);
24075 MP_WritePhyUshort(sc, 0x1d, 0x5801);
24076 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
24077 MP_WritePhyUshort(sc, 0x1d, 0x5c04);
24078 MP_WritePhyUshort(sc, 0x1d, 0x41e8);
24079 MP_WritePhyUshort(sc, 0x1d, 0xa4b3);
24080 MP_WritePhyUshort(sc, 0x1d, 0x3197);
24081 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24082 MP_WritePhyUshort(sc, 0x1d, 0x4f20);
24083 MP_WritePhyUshort(sc, 0x1d, 0x6800);
24084 MP_WritePhyUshort(sc, 0x1d, 0x6736);
24085 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24086 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24087 MP_WritePhyUshort(sc, 0x1d, 0x570f);
24088 MP_WritePhyUshort(sc, 0x1d, 0x5fff);
24089 MP_WritePhyUshort(sc, 0x1d, 0xaa03);
24090 MP_WritePhyUshort(sc, 0x1d, 0x585b);
24091 MP_WritePhyUshort(sc, 0x1d, 0x31a5);
24092 MP_WritePhyUshort(sc, 0x1d, 0x5867);
24093 MP_WritePhyUshort(sc, 0x1d, 0xbcf4);
24094 MP_WritePhyUshort(sc, 0x1d, 0x300b);
24095 MP_WritePhyUshort(sc, 0x1f, 0x0004);
24096 MP_WritePhyUshort(sc, 0x1c, 0x0200);
24097 MP_WritePhyUshort(sc, 0x19, 0x7030);
24098 MP_WritePhyUshort(sc, 0x1f, 0x0000);
24100 if (phy_power_saving == 1) {
24101 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24102 MP_WritePhyUshort(sc, 0x18, 0x8310);
24103 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24105 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24106 MP_WritePhyUshort(sc, 0x18, 0x0310);
24107 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24111 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24112 MP_WritePhyUshort(sc, 0x0D, 0x0007);
24113 MP_WritePhyUshort(sc, 0x0E, 0x003C);
24114 MP_WritePhyUshort(sc, 0x0D, 0x4007);
24115 MP_WritePhyUshort(sc, 0x0E, 0x0000);
24116 MP_WritePhyUshort(sc, 0x0D, 0x0000);
24117 } else if (sc->re_type == MACFG_54 || sc->re_type == MACFG_55) {
24118 Data_u32 = re_eri_read(sc, 0x1D0, 4, ERIAR_ExGMAC);
24119 Data_u32 &= 0xFFFF0000;
24120 re_eri_write(sc, 0x1D0, 4, Data_u32, ERIAR_ExGMAC);
24122 if (sc->re_type == MACFG_55) {
24123 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24124 MP_WritePhyUshort(sc, 0x18, 0x0310);
24125 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24127 MP_WritePhyUshort(sc, 0x1f, 0x0004);
24128 MP_WritePhyUshort(sc, 0x1f, 0x0004);
24129 MP_WritePhyUshort(sc, 0x19, 0x7070);
24130 MP_WritePhyUshort(sc, 0x1c, 0x0600);
24131 MP_WritePhyUshort(sc, 0x1d, 0x9700);
24132 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24133 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
24134 MP_WritePhyUshort(sc, 0x1d, 0x4007);
24135 MP_WritePhyUshort(sc, 0x1d, 0x4400);
24136 MP_WritePhyUshort(sc, 0x1d, 0x4800);
24137 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24138 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
24139 MP_WritePhyUshort(sc, 0x1d, 0x5310);
24140 MP_WritePhyUshort(sc, 0x1d, 0x6000);
24141 MP_WritePhyUshort(sc, 0x1d, 0x6800);
24142 MP_WritePhyUshort(sc, 0x1d, 0x673e);
24143 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24144 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24145 MP_WritePhyUshort(sc, 0x1d, 0x571f);
24146 MP_WritePhyUshort(sc, 0x1d, 0x5ffb);
24147 MP_WritePhyUshort(sc, 0x1d, 0xaa04);
24148 MP_WritePhyUshort(sc, 0x1d, 0x5b58);
24149 MP_WritePhyUshort(sc, 0x1d, 0x6100);
24150 MP_WritePhyUshort(sc, 0x1d, 0x3016);
24151 MP_WritePhyUshort(sc, 0x1d, 0x5b64);
24152 MP_WritePhyUshort(sc, 0x1d, 0x6080);
24153 MP_WritePhyUshort(sc, 0x1d, 0xa6fa);
24154 MP_WritePhyUshort(sc, 0x1d, 0xdcdb);
24155 MP_WritePhyUshort(sc, 0x1d, 0x0015);
24156 MP_WritePhyUshort(sc, 0x1d, 0xb915);
24157 MP_WritePhyUshort(sc, 0x1d, 0xb511);
24158 MP_WritePhyUshort(sc, 0x1d, 0xd16b);
24159 MP_WritePhyUshort(sc, 0x1d, 0x000f);
24160 MP_WritePhyUshort(sc, 0x1d, 0xb40f);
24161 MP_WritePhyUshort(sc, 0x1d, 0xd06b);
24162 MP_WritePhyUshort(sc, 0x1d, 0x000d);
24163 MP_WritePhyUshort(sc, 0x1d, 0xb206);
24164 MP_WritePhyUshort(sc, 0x1d, 0x7c01);
24165 MP_WritePhyUshort(sc, 0x1d, 0x5800);
24166 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
24167 MP_WritePhyUshort(sc, 0x1d, 0x5c00);
24168 MP_WritePhyUshort(sc, 0x1d, 0x3010);
24169 MP_WritePhyUshort(sc, 0x1d, 0x7c01);
24170 MP_WritePhyUshort(sc, 0x1d, 0x5801);
24171 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
24172 MP_WritePhyUshort(sc, 0x1d, 0x5c04);
24173 MP_WritePhyUshort(sc, 0x1d, 0x3016);
24174 MP_WritePhyUshort(sc, 0x1d, 0x307e);
24175 MP_WritePhyUshort(sc, 0x1d, 0x30f4);
24176 MP_WritePhyUshort(sc, 0x1d, 0x319f);
24177 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24178 MP_WritePhyUshort(sc, 0x1d, 0x4c60);
24179 MP_WritePhyUshort(sc, 0x1d, 0x6803);
24180 MP_WritePhyUshort(sc, 0x1d, 0x7d00);
24181 MP_WritePhyUshort(sc, 0x1d, 0x6900);
24182 MP_WritePhyUshort(sc, 0x1d, 0x6520);
24183 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24184 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24185 MP_WritePhyUshort(sc, 0x1d, 0xaf03);
24186 MP_WritePhyUshort(sc, 0x1d, 0x6115);
24187 MP_WritePhyUshort(sc, 0x1d, 0x303a);
24188 MP_WritePhyUshort(sc, 0x1d, 0x6097);
24189 MP_WritePhyUshort(sc, 0x1d, 0x57e0);
24190 MP_WritePhyUshort(sc, 0x1d, 0x580c);
24191 MP_WritePhyUshort(sc, 0x1d, 0x588c);
24192 MP_WritePhyUshort(sc, 0x1d, 0x5f80);
24193 MP_WritePhyUshort(sc, 0x1d, 0x4827);
24194 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24195 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
24196 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24197 MP_WritePhyUshort(sc, 0x1d, 0x4c10);
24198 MP_WritePhyUshort(sc, 0x1d, 0x8400);
24199 MP_WritePhyUshort(sc, 0x1d, 0x7c30);
24200 MP_WritePhyUshort(sc, 0x1d, 0x6020);
24201 MP_WritePhyUshort(sc, 0x1d, 0x48bf);
24202 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24203 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
24204 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24205 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
24206 MP_WritePhyUshort(sc, 0x1d, 0xb802);
24207 MP_WritePhyUshort(sc, 0x1d, 0x3053);
24208 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
24209 MP_WritePhyUshort(sc, 0x1d, 0x6808);
24210 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24211 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24212 MP_WritePhyUshort(sc, 0x1d, 0x7c10);
24213 MP_WritePhyUshort(sc, 0x1d, 0x6810);
24214 MP_WritePhyUshort(sc, 0x1d, 0xd6cf);
24215 MP_WritePhyUshort(sc, 0x1d, 0x0002);
24216 MP_WritePhyUshort(sc, 0x1d, 0x80fe);
24217 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24218 MP_WritePhyUshort(sc, 0x1d, 0x4c80);
24219 MP_WritePhyUshort(sc, 0x1d, 0x7c10);
24220 MP_WritePhyUshort(sc, 0x1d, 0x6800);
24221 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
24222 MP_WritePhyUshort(sc, 0x1d, 0x6800);
24223 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24224 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24225 MP_WritePhyUshort(sc, 0x1d, 0x7c23);
24226 MP_WritePhyUshort(sc, 0x1d, 0x5c23);
24227 MP_WritePhyUshort(sc, 0x1d, 0x481e);
24228 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24229 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
24230 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24231 MP_WritePhyUshort(sc, 0x1d, 0x4c02);
24232 MP_WritePhyUshort(sc, 0x1d, 0x5310);
24233 MP_WritePhyUshort(sc, 0x1d, 0x81ff);
24234 MP_WritePhyUshort(sc, 0x1d, 0x30c1);
24235 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24236 MP_WritePhyUshort(sc, 0x1d, 0x4d00);
24237 MP_WritePhyUshort(sc, 0x1d, 0x4832);
24238 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24239 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
24240 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24241 MP_WritePhyUshort(sc, 0x1d, 0x4c10);
24242 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
24243 MP_WritePhyUshort(sc, 0x1d, 0x6000);
24244 MP_WritePhyUshort(sc, 0x1d, 0xa4bd);
24245 MP_WritePhyUshort(sc, 0x1d, 0xd9b3);
24246 MP_WritePhyUshort(sc, 0x1d, 0x00fe);
24247 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24248 MP_WritePhyUshort(sc, 0x1d, 0x4d20);
24249 MP_WritePhyUshort(sc, 0x1d, 0x7e00);
24250 MP_WritePhyUshort(sc, 0x1d, 0x6200);
24251 MP_WritePhyUshort(sc, 0x1d, 0x3001);
24252 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24253 MP_WritePhyUshort(sc, 0x1d, 0x4dc0);
24254 MP_WritePhyUshort(sc, 0x1d, 0xd09d);
24255 MP_WritePhyUshort(sc, 0x1d, 0x0002);
24256 MP_WritePhyUshort(sc, 0x1d, 0xb4fe);
24257 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24258 MP_WritePhyUshort(sc, 0x1d, 0x4d80);
24259 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
24260 MP_WritePhyUshort(sc, 0x1d, 0x6004);
24261 MP_WritePhyUshort(sc, 0x1d, 0x6802);
24262 MP_WritePhyUshort(sc, 0x1d, 0x6728);
24263 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24264 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24265 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
24266 MP_WritePhyUshort(sc, 0x1d, 0x6000);
24267 MP_WritePhyUshort(sc, 0x1d, 0x486c);
24268 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24269 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
24270 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24271 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
24272 MP_WritePhyUshort(sc, 0x1d, 0x9503);
24273 MP_WritePhyUshort(sc, 0x1d, 0x7e00);
24274 MP_WritePhyUshort(sc, 0x1d, 0x6200);
24275 MP_WritePhyUshort(sc, 0x1d, 0x571f);
24276 MP_WritePhyUshort(sc, 0x1d, 0x5fbb);
24277 MP_WritePhyUshort(sc, 0x1d, 0xaa05);
24278 MP_WritePhyUshort(sc, 0x1d, 0x5b58);
24279 MP_WritePhyUshort(sc, 0x1d, 0x7d80);
24280 MP_WritePhyUshort(sc, 0x1d, 0x6100);
24281 MP_WritePhyUshort(sc, 0x1d, 0x309a);
24282 MP_WritePhyUshort(sc, 0x1d, 0x5b64);
24283 MP_WritePhyUshort(sc, 0x1d, 0x7d80);
24284 MP_WritePhyUshort(sc, 0x1d, 0x6080);
24285 MP_WritePhyUshort(sc, 0x1d, 0xcdab);
24286 MP_WritePhyUshort(sc, 0x1d, 0x0058);
24287 MP_WritePhyUshort(sc, 0x1d, 0xcd8d);
24288 MP_WritePhyUshort(sc, 0x1d, 0x0056);
24289 MP_WritePhyUshort(sc, 0x1d, 0xd96b);
24290 MP_WritePhyUshort(sc, 0x1d, 0x0054);
24291 MP_WritePhyUshort(sc, 0x1d, 0xd0a0);
24292 MP_WritePhyUshort(sc, 0x1d, 0x00d8);
24293 MP_WritePhyUshort(sc, 0x1d, 0xcba0);
24294 MP_WritePhyUshort(sc, 0x1d, 0x0003);
24295 MP_WritePhyUshort(sc, 0x1d, 0x80ec);
24296 MP_WritePhyUshort(sc, 0x1d, 0x30a7);
24297 MP_WritePhyUshort(sc, 0x1d, 0x30b4);
24298 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24299 MP_WritePhyUshort(sc, 0x1d, 0x4ce0);
24300 MP_WritePhyUshort(sc, 0x1d, 0x4832);
24301 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24302 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
24303 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24304 MP_WritePhyUshort(sc, 0x1d, 0x4c08);
24305 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
24306 MP_WritePhyUshort(sc, 0x1d, 0x6008);
24307 MP_WritePhyUshort(sc, 0x1d, 0x8300);
24308 MP_WritePhyUshort(sc, 0x1d, 0xb902);
24309 MP_WritePhyUshort(sc, 0x1d, 0x307e);
24310 MP_WritePhyUshort(sc, 0x1d, 0x3068);
24311 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24312 MP_WritePhyUshort(sc, 0x1d, 0x4da0);
24313 MP_WritePhyUshort(sc, 0x1d, 0x6608);
24314 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24315 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24316 MP_WritePhyUshort(sc, 0x1d, 0x56a0);
24317 MP_WritePhyUshort(sc, 0x1d, 0x590c);
24318 MP_WritePhyUshort(sc, 0x1d, 0x5fa0);
24319 MP_WritePhyUshort(sc, 0x1d, 0xcba4);
24320 MP_WritePhyUshort(sc, 0x1d, 0x0004);
24321 MP_WritePhyUshort(sc, 0x1d, 0xcd8d);
24322 MP_WritePhyUshort(sc, 0x1d, 0x0002);
24323 MP_WritePhyUshort(sc, 0x1d, 0x80fc);
24324 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24325 MP_WritePhyUshort(sc, 0x1d, 0x4ca0);
24326 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
24327 MP_WritePhyUshort(sc, 0x1d, 0x6408);
24328 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24329 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24330 MP_WritePhyUshort(sc, 0x1d, 0x7d00);
24331 MP_WritePhyUshort(sc, 0x1d, 0x6800);
24332 MP_WritePhyUshort(sc, 0x1d, 0xb603);
24333 MP_WritePhyUshort(sc, 0x1d, 0x7c10);
24334 MP_WritePhyUshort(sc, 0x1d, 0x6010);
24335 MP_WritePhyUshort(sc, 0x1d, 0x7d1f);
24336 MP_WritePhyUshort(sc, 0x1d, 0x551f);
24337 MP_WritePhyUshort(sc, 0x1d, 0x5fb3);
24338 MP_WritePhyUshort(sc, 0x1d, 0xaa05);
24339 MP_WritePhyUshort(sc, 0x1d, 0x7c80);
24340 MP_WritePhyUshort(sc, 0x1d, 0x5800);
24341 MP_WritePhyUshort(sc, 0x1d, 0x5b58);
24342 MP_WritePhyUshort(sc, 0x1d, 0x30d7);
24343 MP_WritePhyUshort(sc, 0x1d, 0x7c80);
24344 MP_WritePhyUshort(sc, 0x1d, 0x5800);
24345 MP_WritePhyUshort(sc, 0x1d, 0x5b64);
24346 MP_WritePhyUshort(sc, 0x1d, 0x4827);
24347 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24348 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
24349 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24350 MP_WritePhyUshort(sc, 0x1d, 0x4c10);
24351 MP_WritePhyUshort(sc, 0x1d, 0x8400);
24352 MP_WritePhyUshort(sc, 0x1d, 0x7c10);
24353 MP_WritePhyUshort(sc, 0x1d, 0x6000);
24354 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24355 MP_WritePhyUshort(sc, 0x1d, 0x4cc0);
24356 MP_WritePhyUshort(sc, 0x1d, 0x7d00);
24357 MP_WritePhyUshort(sc, 0x1d, 0x6400);
24358 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24359 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24360 MP_WritePhyUshort(sc, 0x1d, 0x5fbb);
24361 MP_WritePhyUshort(sc, 0x1d, 0x4824);
24362 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24363 MP_WritePhyUshort(sc, 0x1d, 0x4c00);
24364 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24365 MP_WritePhyUshort(sc, 0x1d, 0x4c04);
24366 MP_WritePhyUshort(sc, 0x1d, 0x8200);
24367 MP_WritePhyUshort(sc, 0x1d, 0x7ce0);
24368 MP_WritePhyUshort(sc, 0x1d, 0x5400);
24369 MP_WritePhyUshort(sc, 0x1d, 0x7d00);
24370 MP_WritePhyUshort(sc, 0x1d, 0x6500);
24371 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24372 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24373 MP_WritePhyUshort(sc, 0x1d, 0x30a7);
24374 MP_WritePhyUshort(sc, 0x1d, 0x3001);
24375 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24376 MP_WritePhyUshort(sc, 0x1d, 0x4e00);
24377 MP_WritePhyUshort(sc, 0x1d, 0x4007);
24378 MP_WritePhyUshort(sc, 0x1d, 0x4400);
24379 MP_WritePhyUshort(sc, 0x1d, 0x5310);
24380 MP_WritePhyUshort(sc, 0x1d, 0x6800);
24381 MP_WritePhyUshort(sc, 0x1d, 0x673e);
24382 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24383 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24384 MP_WritePhyUshort(sc, 0x1d, 0x570f);
24385 MP_WritePhyUshort(sc, 0x1d, 0x5fff);
24386 MP_WritePhyUshort(sc, 0x1d, 0xaa05);
24387 MP_WritePhyUshort(sc, 0x1d, 0x585b);
24388 MP_WritePhyUshort(sc, 0x1d, 0x7d80);
24389 MP_WritePhyUshort(sc, 0x1d, 0x6100);
24390 MP_WritePhyUshort(sc, 0x1d, 0x3107);
24391 MP_WritePhyUshort(sc, 0x1d, 0x5867);
24392 MP_WritePhyUshort(sc, 0x1d, 0x7d80);
24393 MP_WritePhyUshort(sc, 0x1d, 0x6080);
24394 MP_WritePhyUshort(sc, 0x1d, 0x9403);
24395 MP_WritePhyUshort(sc, 0x1d, 0x7e00);
24396 MP_WritePhyUshort(sc, 0x1d, 0x6200);
24397 MP_WritePhyUshort(sc, 0x1d, 0xcda3);
24398 MP_WritePhyUshort(sc, 0x1d, 0x00e8);
24399 MP_WritePhyUshort(sc, 0x1d, 0xcd85);
24400 MP_WritePhyUshort(sc, 0x1d, 0x00e6);
24401 MP_WritePhyUshort(sc, 0x1d, 0xd96b);
24402 MP_WritePhyUshort(sc, 0x1d, 0x00e4);
24403 MP_WritePhyUshort(sc, 0x1d, 0x96e4);
24404 MP_WritePhyUshort(sc, 0x1d, 0x6800);
24405 MP_WritePhyUshort(sc, 0x1d, 0x673e);
24406 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24407 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24408 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24409 MP_WritePhyUshort(sc, 0x1d, 0x4e20);
24410 MP_WritePhyUshort(sc, 0x1d, 0x96dd);
24411 MP_WritePhyUshort(sc, 0x1d, 0x8b04);
24412 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
24413 MP_WritePhyUshort(sc, 0x1d, 0x5008);
24414 MP_WritePhyUshort(sc, 0x1d, 0xab03);
24415 MP_WritePhyUshort(sc, 0x1d, 0x7c08);
24416 MP_WritePhyUshort(sc, 0x1d, 0x5000);
24417 MP_WritePhyUshort(sc, 0x1d, 0x6801);
24418 MP_WritePhyUshort(sc, 0x1d, 0x677e);
24419 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24420 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24421 MP_WritePhyUshort(sc, 0x1d, 0xdb7c);
24422 MP_WritePhyUshort(sc, 0x1d, 0x00ee);
24423 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24424 MP_WritePhyUshort(sc, 0x1d, 0x7fe1);
24425 MP_WritePhyUshort(sc, 0x1d, 0x4e40);
24426 MP_WritePhyUshort(sc, 0x1d, 0x4837);
24427 MP_WritePhyUshort(sc, 0x1d, 0x4418);
24428 MP_WritePhyUshort(sc, 0x1d, 0x41c7);
24429 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24430 MP_WritePhyUshort(sc, 0x1d, 0x4e40);
24431 MP_WritePhyUshort(sc, 0x1d, 0x7c40);
24432 MP_WritePhyUshort(sc, 0x1d, 0x5400);
24433 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24434 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
24435 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24436 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
24437 MP_WritePhyUshort(sc, 0x1d, 0x8fc2);
24438 MP_WritePhyUshort(sc, 0x1d, 0xd2a0);
24439 MP_WritePhyUshort(sc, 0x1d, 0x004b);
24440 MP_WritePhyUshort(sc, 0x1d, 0x9204);
24441 MP_WritePhyUshort(sc, 0x1d, 0xa042);
24442 MP_WritePhyUshort(sc, 0x1d, 0x3132);
24443 MP_WritePhyUshort(sc, 0x1d, 0x30f4);
24444 MP_WritePhyUshort(sc, 0x1d, 0x7fe1);
24445 MP_WritePhyUshort(sc, 0x1d, 0x4e60);
24446 MP_WritePhyUshort(sc, 0x1d, 0x489c);
24447 MP_WritePhyUshort(sc, 0x1d, 0x4628);
24448 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24449 MP_WritePhyUshort(sc, 0x1d, 0x4e60);
24450 MP_WritePhyUshort(sc, 0x1d, 0x7e28);
24451 MP_WritePhyUshort(sc, 0x1d, 0x4628);
24452 MP_WritePhyUshort(sc, 0x1d, 0x7c40);
24453 MP_WritePhyUshort(sc, 0x1d, 0x5400);
24454 MP_WritePhyUshort(sc, 0x1d, 0x7c01);
24455 MP_WritePhyUshort(sc, 0x1d, 0x5800);
24456 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
24457 MP_WritePhyUshort(sc, 0x1d, 0x5c00);
24458 MP_WritePhyUshort(sc, 0x1d, 0x41e8);
24459 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24460 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
24461 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24462 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
24463 MP_WritePhyUshort(sc, 0x1d, 0x8fa8);
24464 MP_WritePhyUshort(sc, 0x1d, 0xb241);
24465 MP_WritePhyUshort(sc, 0x1d, 0xa02a);
24466 MP_WritePhyUshort(sc, 0x1d, 0x314c);
24467 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24468 MP_WritePhyUshort(sc, 0x1d, 0x4ea0);
24469 MP_WritePhyUshort(sc, 0x1d, 0x7c02);
24470 MP_WritePhyUshort(sc, 0x1d, 0x4402);
24471 MP_WritePhyUshort(sc, 0x1d, 0x4448);
24472 MP_WritePhyUshort(sc, 0x1d, 0x4894);
24473 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24474 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
24475 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24476 MP_WritePhyUshort(sc, 0x1d, 0x4c03);
24477 MP_WritePhyUshort(sc, 0x1d, 0x4824);
24478 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24479 MP_WritePhyUshort(sc, 0x1d, 0x4c07);
24480 MP_WritePhyUshort(sc, 0x1d, 0x41ef);
24481 MP_WritePhyUshort(sc, 0x1d, 0x41ff);
24482 MP_WritePhyUshort(sc, 0x1d, 0x4891);
24483 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24484 MP_WritePhyUshort(sc, 0x1d, 0x4c07);
24485 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24486 MP_WritePhyUshort(sc, 0x1d, 0x4c17);
24487 MP_WritePhyUshort(sc, 0x1d, 0x8400);
24488 MP_WritePhyUshort(sc, 0x1d, 0x8ef8);
24489 MP_WritePhyUshort(sc, 0x1d, 0x41c7);
24490 MP_WritePhyUshort(sc, 0x1d, 0x8f8d);
24491 MP_WritePhyUshort(sc, 0x1d, 0x92d5);
24492 MP_WritePhyUshort(sc, 0x1d, 0xa10f);
24493 MP_WritePhyUshort(sc, 0x1d, 0xd480);
24494 MP_WritePhyUshort(sc, 0x1d, 0x0008);
24495 MP_WritePhyUshort(sc, 0x1d, 0xd580);
24496 MP_WritePhyUshort(sc, 0x1d, 0x00b8);
24497 MP_WritePhyUshort(sc, 0x1d, 0xa202);
24498 MP_WritePhyUshort(sc, 0x1d, 0x3167);
24499 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
24500 MP_WritePhyUshort(sc, 0x1d, 0x4404);
24501 MP_WritePhyUshort(sc, 0x1d, 0x3167);
24502 MP_WritePhyUshort(sc, 0x1d, 0xd484);
24503 MP_WritePhyUshort(sc, 0x1d, 0x00f3);
24504 MP_WritePhyUshort(sc, 0x1d, 0xd484);
24505 MP_WritePhyUshort(sc, 0x1d, 0x00f1);
24506 MP_WritePhyUshort(sc, 0x1d, 0x30f4);
24507 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24508 MP_WritePhyUshort(sc, 0x1d, 0x4ee0);
24509 MP_WritePhyUshort(sc, 0x1d, 0x7c40);
24510 MP_WritePhyUshort(sc, 0x1d, 0x5400);
24511 MP_WritePhyUshort(sc, 0x1d, 0x4488);
24512 MP_WritePhyUshort(sc, 0x1d, 0x41cf);
24513 MP_WritePhyUshort(sc, 0x1d, 0x30f4);
24514 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24515 MP_WritePhyUshort(sc, 0x1d, 0x4ec0);
24516 MP_WritePhyUshort(sc, 0x1d, 0x48f3);
24517 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24518 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
24519 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24520 MP_WritePhyUshort(sc, 0x1d, 0x4c09);
24521 MP_WritePhyUshort(sc, 0x1d, 0x4508);
24522 MP_WritePhyUshort(sc, 0x1d, 0x41c7);
24523 MP_WritePhyUshort(sc, 0x1d, 0x8fb0);
24524 MP_WritePhyUshort(sc, 0x1d, 0xd218);
24525 MP_WritePhyUshort(sc, 0x1d, 0x00ae);
24526 MP_WritePhyUshort(sc, 0x1d, 0xd2a4);
24527 MP_WritePhyUshort(sc, 0x1d, 0x009e);
24528 MP_WritePhyUshort(sc, 0x1d, 0x3188);
24529 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24530 MP_WritePhyUshort(sc, 0x1d, 0x4e80);
24531 MP_WritePhyUshort(sc, 0x1d, 0x4832);
24532 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24533 MP_WritePhyUshort(sc, 0x1d, 0x4c01);
24534 MP_WritePhyUshort(sc, 0x1d, 0x7c1f);
24535 MP_WritePhyUshort(sc, 0x1d, 0x4c11);
24536 MP_WritePhyUshort(sc, 0x1d, 0x4428);
24537 MP_WritePhyUshort(sc, 0x1d, 0x7c40);
24538 MP_WritePhyUshort(sc, 0x1d, 0x5440);
24539 MP_WritePhyUshort(sc, 0x1d, 0x7c01);
24540 MP_WritePhyUshort(sc, 0x1d, 0x5801);
24541 MP_WritePhyUshort(sc, 0x1d, 0x7c04);
24542 MP_WritePhyUshort(sc, 0x1d, 0x5c04);
24543 MP_WritePhyUshort(sc, 0x1d, 0x41e8);
24544 MP_WritePhyUshort(sc, 0x1d, 0xa4b3);
24545 MP_WritePhyUshort(sc, 0x1d, 0x319d);
24546 MP_WritePhyUshort(sc, 0x1d, 0x7fe0);
24547 MP_WritePhyUshort(sc, 0x1d, 0x4f20);
24548 MP_WritePhyUshort(sc, 0x1d, 0x6800);
24549 MP_WritePhyUshort(sc, 0x1d, 0x673e);
24550 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24551 MP_WritePhyUshort(sc, 0x1d, 0x0000);
24552 MP_WritePhyUshort(sc, 0x1d, 0x570f);
24553 MP_WritePhyUshort(sc, 0x1d, 0x5fff);
24554 MP_WritePhyUshort(sc, 0x1d, 0xaa04);
24555 MP_WritePhyUshort(sc, 0x1d, 0x585b);
24556 MP_WritePhyUshort(sc, 0x1d, 0x6100);
24557 MP_WritePhyUshort(sc, 0x1d, 0x31ad);
24558 MP_WritePhyUshort(sc, 0x1d, 0x5867);
24559 MP_WritePhyUshort(sc, 0x1d, 0x6080);
24560 MP_WritePhyUshort(sc, 0x1d, 0xbcf2);
24561 MP_WritePhyUshort(sc, 0x1d, 0x3001);
24562 MP_WritePhyUshort(sc, 0x1f, 0x0004);
24563 MP_WritePhyUshort(sc, 0x1c, 0x0200);
24564 MP_WritePhyUshort(sc, 0x19, 0x7030);
24565 MP_WritePhyUshort(sc, 0x1f, 0x0000);
24568 MP_WritePhyUshort(sc, 0x1F, 0x0001);
24569 MP_WritePhyUshort(sc, 0x11, 0x83BA);
24570 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24572 MP_WritePhyUshort(sc, 0x1F, 0x0005);
24573 ClearEthPhyBit(sc, 0x1A, BIT_2);
24574 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24576 if (phy_power_saving == 1) {
24577 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24578 MP_WritePhyUshort(sc, 0x18, 0x8310);
24579 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24581 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24582 MP_WritePhyUshort(sc, 0x18, 0x0310);
24583 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24587 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24588 MP_WritePhyUshort(sc, 0x0D, 0x0007);
24589 MP_WritePhyUshort(sc, 0x0E, 0x003C);
24590 MP_WritePhyUshort(sc, 0x0D, 0x4007);
24591 MP_WritePhyUshort(sc, 0x0E, 0x0000);
24592 MP_WritePhyUshort(sc, 0x0D, 0x0000);
24593 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24594 MP_WritePhyUshort(sc, 0x0D, 0x0003);
24595 MP_WritePhyUshort(sc, 0x0E, 0x0015);
24596 MP_WritePhyUshort(sc, 0x0D, 0x4003);
24597 MP_WritePhyUshort(sc, 0x0E, 0x0000);
24598 MP_WritePhyUshort(sc, 0x0D, 0x0000);
24599 } else if (sc->re_type == MACFG_56) {
24600 MP_WritePhyUshort(sc, 0x1F, 0x0A46);
24601 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
24602 TmpUshort = (PhyRegValue & BIT_8) ? 0 : BIT_15;
24604 MP_WritePhyUshort(sc, 0x1F, 0x0BCC);
24605 ClearEthPhyBit(sc, 0x12, BIT_15);
24606 SetEthPhyBit(sc, 0x12, TmpUshort);
24609 MP_WritePhyUshort(sc, 0x1F, 0x0A46);
24610 PhyRegValue = MP_ReadPhyUshort(sc, 0x13);
24611 TmpUshort = (PhyRegValue & BIT_8) ? BIT_1 : 0;
24613 MP_WritePhyUshort(sc, 0x1F, 0x0C41);
24614 ClearEthPhyBit(sc, 0x15, BIT_1);
24615 SetEthPhyBit(sc, 0x15, TmpUshort);
24617 MP_WritePhyUshort(sc, 0x1F, 0x0A44);
24618 SetEthPhyBit(sc, 0x11, (BIT_3 | BIT_2));
24619 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24622 MP_WritePhyUshort(sc, 0x1F, 0x0BCC);
24623 ClearEthPhyBit(sc, 0x14, BIT_8);
24624 MP_WritePhyUshort(sc, 0x1F, 0x0A44);
24625 SetEthPhyBit(sc, 0x11, BIT_7);
24626 SetEthPhyBit(sc, 0x11, BIT_6);
24627 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24628 MP_WritePhyUshort(sc, 0x13, 0x8084);
24629 ClearEthPhyBit(sc, 0x14, (BIT_14 | BIT_13));
24630 SetEthPhyBit(sc, 0x10, BIT_12);
24631 SetEthPhyBit(sc, 0x10, BIT_1);
24632 SetEthPhyBit(sc, 0x10, BIT_0);
24633 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24636 MP_WritePhyUshort(sc, 0x1F, 0x0A4B);
24637 SetEthPhyBit(sc, 0x11, BIT_2);
24638 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24642 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24643 MP_WritePhyUshort(sc, 0x13, 0x8012);
24644 SetEthPhyBit(sc, 0x14, BIT_15);
24645 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24649 MP_WritePhyUshort(sc, 0x1F, 0x0C42);
24650 ClearAndSetEthPhyBit(sc,
24655 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24657 if (phy_power_saving == 1) {
24658 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24659 SetEthPhyBit(sc, 0x10, BIT_2);
24660 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24662 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24663 ClearEthPhyBit(sc, 0x10, BIT_2);
24664 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24668 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24669 MP_WritePhyUshort(sc, 0x13, 0x809A);
24670 MP_WritePhyUshort(sc, 0x14, 0x8022);
24671 MP_WritePhyUshort(sc, 0x13, 0x80A0);
24672 ClearAndSetEthPhyBit(sc,
24677 MP_WritePhyUshort(sc, 0x13, 0x8088);
24678 MP_WritePhyUshort(sc, 0x14, 0x9222);
24679 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24681 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24682 MP_WritePhyUshort(sc, 0x13, 0x8011);
24683 ClearEthPhyBit(sc, 0x14, BIT_14);
24684 MP_WritePhyUshort(sc, 0x1F, 0x0A40);
24685 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24686 MP_WritePhyUshort(sc, 0x00, 0x9200);
24687 } else if (sc->re_type == MACFG_58) {
24688 MP_WritePhyUshort(sc, 0x1F, 0x0BCC);
24689 ClearEthPhyBit(sc, 0x14, BIT_8);
24690 MP_WritePhyUshort(sc, 0x1F, 0x0A44);
24691 SetEthPhyBit(sc, 0x11, BIT_7);
24692 SetEthPhyBit(sc, 0x11, BIT_6);
24693 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24694 MP_WritePhyUshort(sc, 0x13, 0x8084);
24695 ClearEthPhyBit(sc, 0x14, (BIT_14 | BIT_13));
24696 SetEthPhyBit(sc, 0x10, BIT_12);
24697 SetEthPhyBit(sc, 0x10, BIT_1);
24698 SetEthPhyBit(sc, 0x10, BIT_0);
24699 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24701 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24702 MP_WritePhyUshort(sc, 0x13, 0x8012);
24703 SetEthPhyBit(sc, 0x14, BIT_15);
24704 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24706 MP_WritePhyUshort(sc, 0x1F, 0x0C42);
24707 ClearAndSetEthPhyBit(sc,
24712 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24714 if (phy_power_saving == 1) {
24715 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24716 SetEthPhyBit(sc, 0x10, BIT_2);
24717 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24719 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24720 ClearEthPhyBit(sc, 0x10, BIT_2);
24721 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24725 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24726 MP_WritePhyUshort(sc, 0x13, 0x8011);
24727 ClearEthPhyBit(sc, 0x14, BIT_14);
24728 MP_WritePhyUshort(sc, 0x1F, 0x0A40);
24729 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24730 MP_WritePhyUshort(sc, 0x00, 0x9200);
24731 } else if (sc->re_type == MACFG_59) {
24732 MP_WritePhyUshort(sc, 0x1F, 0x0BCC);
24733 ClearEthPhyBit(sc, 0x14, BIT_8);
24734 MP_WritePhyUshort(sc, 0x1F, 0x0A44);
24735 SetEthPhyBit(sc, 0x11, BIT_7);
24736 SetEthPhyBit(sc, 0x11, BIT_6);
24737 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24738 MP_WritePhyUshort(sc, 0x13, 0x8084);
24739 ClearEthPhyBit(sc, 0x14, (BIT_14 | BIT_13));
24740 SetEthPhyBit(sc, 0x10, BIT_12);
24741 SetEthPhyBit(sc, 0x10, BIT_1);
24742 SetEthPhyBit(sc, 0x10, BIT_0);
24745 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24746 MP_WritePhyUshort(sc, 0x13, 0x8012);
24747 SetEthPhyBit(sc, 0x14, BIT_15);
24748 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24750 MP_WritePhyUshort(sc, 0x1F, 0x0BCE);
24751 MP_WritePhyUshort(sc, 0x12, 0x8860);
24752 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24754 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24755 MP_WritePhyUshort(sc, 0x13, 0x80F3);
24756 ClearAndSetEthPhyBit(sc,
24761 MP_WritePhyUshort(sc, 0x13, 0x80F0);
24762 ClearAndSetEthPhyBit(sc,
24767 MP_WritePhyUshort(sc, 0x13, 0x80EF);
24768 ClearAndSetEthPhyBit(sc,
24773 MP_WritePhyUshort(sc, 0x13, 0x80F6);
24774 ClearAndSetEthPhyBit(sc,
24779 MP_WritePhyUshort(sc, 0x13, 0x80EC);
24780 ClearAndSetEthPhyBit(sc,
24785 MP_WritePhyUshort(sc, 0x13, 0x80ED);
24786 ClearAndSetEthPhyBit(sc,
24791 MP_WritePhyUshort(sc, 0x13, 0x80F2);
24792 ClearAndSetEthPhyBit(sc,
24797 MP_WritePhyUshort(sc, 0x13, 0x80F4);
24798 ClearAndSetEthPhyBit(sc,
24804 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24805 MP_WritePhyUshort(sc, 0x13, 0x8110);
24806 ClearAndSetEthPhyBit(sc,
24811 MP_WritePhyUshort(sc, 0x13, 0x810F);
24812 ClearAndSetEthPhyBit(sc,
24817 MP_WritePhyUshort(sc, 0x13, 0x8111);
24818 ClearAndSetEthPhyBit(sc,
24823 MP_WritePhyUshort(sc, 0x13, 0x8113);
24824 ClearAndSetEthPhyBit(sc,
24829 MP_WritePhyUshort(sc, 0x13, 0x8115);
24830 ClearAndSetEthPhyBit(sc,
24835 MP_WritePhyUshort(sc, 0x13, 0x810E);
24836 ClearAndSetEthPhyBit(sc,
24841 MP_WritePhyUshort(sc, 0x13, 0x810C);
24842 ClearAndSetEthPhyBit(sc,
24847 MP_WritePhyUshort(sc, 0x13, 0x810B);
24848 ClearAndSetEthPhyBit(sc,
24854 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24855 MP_WritePhyUshort(sc, 0x13, 0x80D1);
24856 ClearAndSetEthPhyBit(sc,
24861 MP_WritePhyUshort(sc, 0x13, 0x80CD);
24862 ClearAndSetEthPhyBit(sc,
24867 MP_WritePhyUshort(sc, 0x13, 0x80D3);
24868 ClearAndSetEthPhyBit(sc,
24873 MP_WritePhyUshort(sc, 0x13, 0x80D5);
24874 ClearAndSetEthPhyBit(sc,
24879 MP_WritePhyUshort(sc, 0x13, 0x80D7);
24880 ClearAndSetEthPhyBit(sc,
24886 if (phy_power_saving == 1) {
24887 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24888 SetEthPhyBit(sc, 0x10, BIT_2);
24889 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24891 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24892 ClearEthPhyBit(sc, 0x10, BIT_2);
24893 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24897 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24898 MP_WritePhyUshort(sc, 0x13, 0x8011);
24899 ClearEthPhyBit(sc, 0x14, BIT_14);
24900 MP_WritePhyUshort(sc, 0x1F, 0x0A40);
24901 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24902 MP_WritePhyUshort(sc, 0x00, 0x9200);
24903 } else if (sc->re_type == MACFG_60) {
24904 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24905 MP_WritePhyUshort(sc, 0x13, 0x8012);
24906 SetEthPhyBit(sc, 0x14, BIT_15);
24907 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24909 MP_WritePhyUshort(sc, 0x1F, 0x0BCE);
24910 MP_WritePhyUshort(sc, 0x12, 0x8860);
24911 MP_WritePhyUshort(sc, 0x1F, 0x0000);
24913 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24914 MP_WritePhyUshort(sc, 0x13, 0x80F3);
24915 ClearAndSetEthPhyBit(sc,
24920 MP_WritePhyUshort(sc, 0x13, 0x80F0);
24921 ClearAndSetEthPhyBit(sc,
24926 MP_WritePhyUshort(sc, 0x13, 0x80EF);
24927 ClearAndSetEthPhyBit(sc,
24932 MP_WritePhyUshort(sc, 0x13, 0x80F6);
24933 ClearAndSetEthPhyBit(sc,
24938 MP_WritePhyUshort(sc, 0x13, 0x80EC);
24939 ClearAndSetEthPhyBit(sc,
24944 MP_WritePhyUshort(sc, 0x13, 0x80ED);
24945 ClearAndSetEthPhyBit(sc,
24950 MP_WritePhyUshort(sc, 0x13, 0x80F2);
24951 ClearAndSetEthPhyBit(sc,
24956 MP_WritePhyUshort(sc, 0x13, 0x80F4);
24957 ClearAndSetEthPhyBit(sc,
24963 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
24964 MP_WritePhyUshort(sc, 0x13, 0x8110);
24965 ClearAndSetEthPhyBit(sc,
24970 MP_WritePhyUshort(sc, 0x13, 0x810F);
24971 ClearAndSetEthPhyBit(sc,
24976 MP_WritePhyUshort(sc, 0x13, 0x8111);
24977 ClearAndSetEthPhyBit(sc,
24982 MP_WritePhyUshort(sc, 0x13, 0x8113);
24983 ClearAndSetEthPhyBit(sc,
24988 MP_WritePhyUshort(sc, 0x13, 0x8115);
24989 ClearAndSetEthPhyBit(sc,
24994 MP_WritePhyUshort(sc, 0x13, 0x810E);
24995 ClearAndSetEthPhyBit(sc,
25000 MP_WritePhyUshort(sc, 0x13, 0x810C);
25001 ClearAndSetEthPhyBit(sc,
25006 MP_WritePhyUshort(sc, 0x13, 0x810B);
25007 ClearAndSetEthPhyBit(sc,
25013 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25014 MP_WritePhyUshort(sc, 0x13, 0x80D1);
25015 ClearAndSetEthPhyBit(sc,
25020 MP_WritePhyUshort(sc, 0x13, 0x80CD);
25021 ClearAndSetEthPhyBit(sc,
25026 MP_WritePhyUshort(sc, 0x13, 0x80D3);
25027 ClearAndSetEthPhyBit(sc,
25032 MP_WritePhyUshort(sc, 0x13, 0x80D5);
25033 ClearAndSetEthPhyBit(sc,
25038 MP_WritePhyUshort(sc, 0x13, 0x80D7);
25039 ClearAndSetEthPhyBit(sc,
25045 if (phy_power_saving == 1) {
25046 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25047 SetEthPhyBit(sc, 0x10, BIT_2);
25048 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25050 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25051 ClearEthPhyBit(sc, 0x10, BIT_2);
25052 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25056 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25057 MP_WritePhyUshort(sc, 0x13, 0x8011);
25058 ClearEthPhyBit(sc, 0x14, BIT_14);
25059 MP_WritePhyUshort(sc, 0x1F, 0x0A40);
25060 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25061 MP_WritePhyUshort(sc, 0x00, 0x9200);
25062 } else if (sc->re_type == MACFG_61) {
25063 MP_WritePhyUshort(sc, 0x1f, 0x0A43);
25064 MP_WritePhyUshort(sc, 0x13, 0x8146);
25065 MP_WritePhyUshort(sc, 0x14, 0x0000);
25067 MP_WritePhyUshort(sc, 0x1f, 0x0B82);
25068 PhyRegValue = MP_ReadPhyUshort(sc, 0x10);
25069 PhyRegValue &= ~(BIT_4);
25070 MP_WritePhyUshort(sc, 0x10, PhyRegValue);
25072 MP_WritePhyUshort(sc, 0x1F, 0x0A44);
25073 SetEthPhyBit(sc, 0x11, (BIT_3 | BIT_2));
25074 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25077 MP_WritePhyUshort(sc, 0x1F, 0x0BCC);
25078 ClearEthPhyBit(sc, 0x14, BIT_8);
25079 MP_WritePhyUshort(sc, 0x1F, 0x0A44);
25080 SetEthPhyBit(sc, 0x11, BIT_7);
25081 SetEthPhyBit(sc, 0x11, BIT_6);
25082 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25083 MP_WritePhyUshort(sc, 0x13, 0x8084);
25084 ClearEthPhyBit(sc, 0x14, (BIT_14 | BIT_13));
25085 SetEthPhyBit(sc, 0x10, BIT_12);
25086 SetEthPhyBit(sc, 0x10, BIT_1);
25087 SetEthPhyBit(sc, 0x10, BIT_0);
25088 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25090 MP_WritePhyUshort(sc, 0x1F, 0x0A4B);
25091 SetEthPhyBit(sc, 0x11, BIT_2);
25092 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25094 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25095 MP_WritePhyUshort(sc, 0x13, 0x8012);
25096 SetEthPhyBit(sc, 0x14, BIT_15);
25097 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25099 MP_WritePhyUshort(sc, 0x1F, 0x0C42);
25100 ClearAndSetEthPhyBit(sc,
25105 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25107 if (phy_power_saving == 1) {
25108 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25109 SetEthPhyBit(sc, 0x10, BIT_2);
25110 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25112 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25113 ClearEthPhyBit(sc, 0x10, BIT_2);
25114 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25118 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25119 MP_WritePhyUshort(sc, 0x13, 0x8011);
25120 ClearEthPhyBit(sc, 0x14, BIT_14);
25121 MP_WritePhyUshort(sc, 0x1F, 0x0A40);
25122 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25123 MP_WritePhyUshort(sc, 0x00, 0x9200);
25124 } else if (sc->re_type == MACFG_62 || sc->re_type == MACFG_67) {
25125 MP_WritePhyUshort(sc, 0x1F, 0x0BCC);
25126 ClearEthPhyBit(sc, 0x14, BIT_8);
25127 MP_WritePhyUshort(sc, 0x1F, 0x0A44);
25128 SetEthPhyBit(sc, 0x11, BIT_7);
25129 SetEthPhyBit(sc, 0x11, BIT_6);
25130 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25131 MP_WritePhyUshort(sc, 0x13, 0x8084);
25132 ClearEthPhyBit(sc, 0x14, (BIT_14 | BIT_13));
25133 SetEthPhyBit(sc, 0x10, BIT_12);
25134 SetEthPhyBit(sc, 0x10, BIT_1);
25135 SetEthPhyBit(sc, 0x10, BIT_0);
25136 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25138 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25139 MP_WritePhyUshort(sc, 0x13, 0x8012);
25140 SetEthPhyBit(sc, 0x14, BIT_15);
25141 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25143 MP_WritePhyUshort(sc, 0x1F, 0x0C42);
25144 ClearAndSetEthPhyBit(sc,
25149 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25151 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25152 MP_WritePhyUshort(sc, 0x13, 0x80F3);
25153 ClearAndSetEthPhyBit(sc,
25158 MP_WritePhyUshort(sc, 0x13, 0x80F0);
25159 ClearAndSetEthPhyBit(sc,
25164 MP_WritePhyUshort(sc, 0x13, 0x80EF);
25165 ClearAndSetEthPhyBit(sc,
25170 MP_WritePhyUshort(sc, 0x13, 0x80F6);
25171 ClearAndSetEthPhyBit(sc,
25176 MP_WritePhyUshort(sc, 0x13, 0x80EC);
25177 ClearAndSetEthPhyBit(sc,
25182 MP_WritePhyUshort(sc, 0x13, 0x80ED);
25183 ClearAndSetEthPhyBit(sc,
25188 MP_WritePhyUshort(sc, 0x13, 0x80F2);
25189 ClearAndSetEthPhyBit(sc,
25194 MP_WritePhyUshort(sc, 0x13, 0x80F4);
25195 ClearAndSetEthPhyBit(sc,
25201 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25202 MP_WritePhyUshort(sc, 0x13, 0x8110);
25203 ClearAndSetEthPhyBit(sc,
25208 MP_WritePhyUshort(sc, 0x13, 0x810F);
25209 ClearAndSetEthPhyBit(sc,
25214 MP_WritePhyUshort(sc, 0x13, 0x8111);
25215 ClearAndSetEthPhyBit(sc,
25220 MP_WritePhyUshort(sc, 0x13, 0x8113);
25221 ClearAndSetEthPhyBit(sc,
25226 MP_WritePhyUshort(sc, 0x13, 0x8115);
25227 ClearAndSetEthPhyBit(sc,
25232 MP_WritePhyUshort(sc, 0x13, 0x810E);
25233 ClearAndSetEthPhyBit(sc,
25238 MP_WritePhyUshort(sc, 0x13, 0x810C);
25239 ClearAndSetEthPhyBit(sc,
25244 MP_WritePhyUshort(sc, 0x13, 0x810B);
25245 ClearAndSetEthPhyBit(sc,
25251 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25252 MP_WritePhyUshort(sc, 0x13, 0x80D1);
25253 ClearAndSetEthPhyBit(sc,
25258 MP_WritePhyUshort(sc, 0x13, 0x80CD);
25259 ClearAndSetEthPhyBit(sc,
25264 MP_WritePhyUshort(sc, 0x13, 0x80D3);
25265 ClearAndSetEthPhyBit(sc,
25270 MP_WritePhyUshort(sc, 0x13, 0x80D5);
25271 ClearAndSetEthPhyBit(sc,
25276 MP_WritePhyUshort(sc, 0x13, 0x80D7);
25277 ClearAndSetEthPhyBit(sc,
25283 if (phy_power_saving == 1) {
25284 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25285 SetEthPhyBit(sc, 0x10, BIT_2);
25286 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25288 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25289 ClearEthPhyBit(sc, 0x10, BIT_2);
25290 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25294 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25295 MP_WritePhyUshort(sc, 0x13, 0x8011);
25296 ClearEthPhyBit(sc, 0x14, BIT_14);
25297 MP_WritePhyUshort(sc, 0x1F, 0x0A40);
25298 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25299 MP_WritePhyUshort(sc, 0x00, 0x9200);
25300 } else if (sc->re_type == MACFG_63) {
25301 MP_WritePhyUshort(sc, 0x1f, 0x0002);
25302 MP_WritePhyUshort(sc, 0x10, 0x0008);
25303 MP_WritePhyUshort(sc, 0x0d, 0x006c);
25304 MP_WritePhyUshort(sc, 0x1f, 0x0000);
25306 MP_WritePhyUshort(sc, 0x1f, 0x0001);
25307 MP_WritePhyUshort(sc, 0x17, 0x0cc0);
25308 MP_WritePhyUshort(sc, 0x1f, 0x0000);
25310 MP_WritePhyUshort(sc, 0x1F, 0x0001);
25311 MP_WritePhyUshort(sc, 0x0B, 0xA4D8);
25312 MP_WritePhyUshort(sc, 0x09, 0x281C);
25313 MP_WritePhyUshort(sc, 0x07, 0x2883);
25314 MP_WritePhyUshort(sc, 0x0A, 0x6B35);
25315 MP_WritePhyUshort(sc, 0x1D, 0x3DA4);
25316 MP_WritePhyUshort(sc, 0x1C, 0xEFFD);
25317 MP_WritePhyUshort(sc, 0x14, 0x7F52);
25318 MP_WritePhyUshort(sc, 0x18, 0x7FC6);
25319 MP_WritePhyUshort(sc, 0x08, 0x0601);
25320 MP_WritePhyUshort(sc, 0x06, 0x4063);
25321 MP_WritePhyUshort(sc, 0x10, 0xF074);
25322 MP_WritePhyUshort(sc, 0x1F, 0x0003);
25323 MP_WritePhyUshort(sc, 0x13, 0x0789);
25324 MP_WritePhyUshort(sc, 0x12, 0xF4BD);
25325 MP_WritePhyUshort(sc, 0x1A, 0x04FD);
25326 MP_WritePhyUshort(sc, 0x14, 0x84B0);
25327 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25329 MP_WritePhyUshort(sc, 0x1F, 0x0005);
25330 MP_WritePhyUshort(sc, 0x01, 0x0340);
25331 MP_WritePhyUshort(sc, 0x1F, 0x0001);
25332 MP_WritePhyUshort(sc, 0x04, 0x4000);
25333 MP_WritePhyUshort(sc, 0x03, 0x1D21);
25334 MP_WritePhyUshort(sc, 0x02, 0x0C32);
25335 MP_WritePhyUshort(sc, 0x01, 0x0200);
25336 MP_WritePhyUshort(sc, 0x00, 0x5554);
25337 MP_WritePhyUshort(sc, 0x04, 0x4800);
25338 MP_WritePhyUshort(sc, 0x04, 0x4000);
25339 MP_WritePhyUshort(sc, 0x04, 0xF000);
25340 MP_WritePhyUshort(sc, 0x03, 0xDF01);
25341 MP_WritePhyUshort(sc, 0x02, 0xDF20);
25342 MP_WritePhyUshort(sc, 0x01, 0x101A);
25343 MP_WritePhyUshort(sc, 0x00, 0xA0FF);
25344 MP_WritePhyUshort(sc, 0x04, 0xF800);
25345 MP_WritePhyUshort(sc, 0x04, 0xF000);
25346 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25348 MP_WritePhyUshort(sc, 0x1F, 0x0007);
25349 MP_WritePhyUshort(sc, 0x1E, 0x0023);
25350 MP_WritePhyUshort(sc, 0x16, 0x0000);
25351 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25353 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25354 PhyRegValue = MP_ReadPhyUshort(sc, 0x0D);
25355 PhyRegValue |= (BIT_5);
25356 MP_WritePhyUshort(sc, 0x0D, PhyRegValue);
25358 MP_WritePhyUshort(sc, 0x1F, 0x0002);
25359 PhyRegValue = MP_ReadPhyUshort(sc, 0x0C);
25360 PhyRegValue |= (BIT_10);
25361 MP_WritePhyUshort(sc, 0x0C, PhyRegValue);
25362 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25363 } else if (sc->re_type == MACFG_64) {
25364 MP_WritePhyUshort(sc, 0x1f, 0x0001);
25365 MP_WritePhyUshort(sc, 0x17, 0x0cc0);
25366 MP_WritePhyUshort(sc, 0x1f, 0x0000);
25368 MP_WritePhyUshort(sc, 0x1F, 0x0005);
25369 MP_WritePhyUshort(sc, 0x01, 0x0340);
25370 MP_WritePhyUshort(sc, 0x1F, 0x0001);
25371 MP_WritePhyUshort(sc, 0x04, 0x4000);
25372 MP_WritePhyUshort(sc, 0x03, 0x1D21);
25373 MP_WritePhyUshort(sc, 0x02, 0x0C32);
25374 MP_WritePhyUshort(sc, 0x01, 0x0200);
25375 MP_WritePhyUshort(sc, 0x00, 0x5554);
25376 MP_WritePhyUshort(sc, 0x04, 0x4800);
25377 MP_WritePhyUshort(sc, 0x04, 0x4000);
25378 MP_WritePhyUshort(sc, 0x04, 0xF000);
25379 MP_WritePhyUshort(sc, 0x03, 0xDF01);
25380 MP_WritePhyUshort(sc, 0x02, 0xDF20);
25381 MP_WritePhyUshort(sc, 0x01, 0x101A);
25382 MP_WritePhyUshort(sc, 0x00, 0xA0FF);
25383 MP_WritePhyUshort(sc, 0x04, 0xF800);
25384 MP_WritePhyUshort(sc, 0x04, 0xF000);
25385 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25387 MP_WritePhyUshort(sc, 0x1F, 0x0007);
25388 MP_WritePhyUshort(sc, 0x1E, 0x0023);
25389 MP_WritePhyUshort(sc, 0x16, 0x0000);
25390 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25392 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25393 PhyRegValue = MP_ReadPhyUshort(sc, 0x0D);
25394 PhyRegValue |= (BIT_5);
25395 MP_WritePhyUshort(sc, 0x0D, PhyRegValue);
25397 MP_WritePhyUshort(sc, 0x1F, 0x0002);
25398 PhyRegValue = MP_ReadPhyUshort(sc, 0x0C);
25399 PhyRegValue |= (BIT_10);
25400 MP_WritePhyUshort(sc, 0x0C, PhyRegValue);
25401 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25402 } else if (sc->re_type == MACFG_65) {
25403 MP_WritePhyUshort(sc, 0x1f, 0x0001);
25404 MP_WritePhyUshort(sc, 0x17, 0x0cc0);
25405 MP_WritePhyUshort(sc, 0x1f, 0x0000);
25407 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25408 PhyRegValue = MP_ReadPhyUshort(sc, 0x0D);
25409 PhyRegValue |= (BIT_5);
25410 MP_WritePhyUshort(sc, 0x0D, PhyRegValue);
25412 MP_WritePhyUshort(sc, 0x1F, 0x0002);
25413 PhyRegValue = MP_ReadPhyUshort(sc, 0x0C);
25414 PhyRegValue |= (BIT_10);
25415 MP_WritePhyUshort(sc, 0x0C, PhyRegValue);
25416 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25418 MP_WritePhyUshort(sc, 0x1F, 0x0007);
25419 MP_WritePhyUshort(sc, 0x1E, 0x002C);
25420 MP_WritePhyUshort(sc, 0x15, 0x035D);
25421 MP_WritePhyUshort(sc, 0x1F, 0x0005);
25422 MP_WritePhyUshort(sc, 0x01, 0x0300);
25423 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25424 } else if (sc->re_type == MACFG_66) {
25425 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25426 PhyRegValue = MP_ReadPhyUshort(sc, 0x0D);
25427 PhyRegValue |= (BIT_5);
25428 MP_WritePhyUshort(sc, 0x0D, PhyRegValue);
25430 MP_WritePhyUshort(sc, 0x1F, 0x0002);
25431 PhyRegValue = MP_ReadPhyUshort(sc, 0x0C);
25432 PhyRegValue |= (BIT_10);
25433 MP_WritePhyUshort(sc, 0x0C, PhyRegValue);
25434 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25435 } else if (sc->re_type == MACFG_68) {
25436 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25437 MP_WritePhyUshort(sc, 0x13, 0x809b);
25438 ClearAndSetEthPhyBit(sc,
25443 MP_WritePhyUshort(sc, 0x13, 0x80A2);
25444 ClearAndSetEthPhyBit(sc,
25449 MP_WritePhyUshort(sc, 0x13, 0x80A4);
25450 ClearAndSetEthPhyBit(sc,
25455 MP_WritePhyUshort(sc, 0x13, 0x809C);
25456 ClearAndSetEthPhyBit(sc,
25461 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25463 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25464 MP_WritePhyUshort(sc, 0x13, 0x80AD);
25465 ClearAndSetEthPhyBit(sc,
25470 MP_WritePhyUshort(sc, 0x13, 0x80B4);
25471 ClearAndSetEthPhyBit(sc,
25476 MP_WritePhyUshort(sc, 0x13, 0x80AC);
25477 ClearAndSetEthPhyBit(sc,
25482 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25484 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25485 MP_WritePhyUshort(sc, 0x13, 0x808E);
25486 ClearAndSetEthPhyBit(sc,
25491 MP_WritePhyUshort(sc, 0x13, 0x8090);
25492 ClearAndSetEthPhyBit(sc,
25497 MP_WritePhyUshort(sc, 0x13, 0x8092);
25498 ClearAndSetEthPhyBit(sc,
25503 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25505 dout_tapbin = 0x0000;
25506 MP_WritePhyUshort(sc, 0x1F, 0x0A46);
25507 TmpUshort = MP_ReadPhyUshort(sc, 0x13);
25508 TmpUshort &= (BIT_1|BIT_0);
25510 dout_tapbin |= TmpUshort;
25512 TmpUshort = MP_ReadPhyUshort(sc, 0x12);
25513 TmpUshort &= (BIT_15|BIT_14);
25515 dout_tapbin |= TmpUshort;
25517 dout_tapbin = ~(dout_tapbin^BIT_3);
25518 dout_tapbin <<= 12;
25519 dout_tapbin &= 0xF000;
25521 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25523 MP_WritePhyUshort(sc, 0x13, 0x827A);
25524 ClearAndSetEthPhyBit(sc,
25526 BIT_15|BIT_14|BIT_13|BIT_12,
25531 MP_WritePhyUshort(sc, 0x13, 0x827B);
25532 ClearAndSetEthPhyBit(sc,
25534 BIT_15|BIT_14|BIT_13|BIT_12,
25539 MP_WritePhyUshort(sc, 0x13, 0x827C);
25540 ClearAndSetEthPhyBit(sc,
25542 BIT_15|BIT_14|BIT_13|BIT_12,
25547 MP_WritePhyUshort(sc, 0x13, 0x827D);
25548 ClearAndSetEthPhyBit(sc,
25550 BIT_15|BIT_14|BIT_13|BIT_12,
25554 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25555 MP_WritePhyUshort(sc, 0x13, 0x8011);
25556 SetEthPhyBit(sc, 0x14, BIT_11);
25557 MP_WritePhyUshort(sc, 0x1F, 0x0A42);
25558 SetEthPhyBit(sc, 0x16, BIT_1);
25560 MP_WritePhyUshort(sc, 0x1F, 0x0A44);
25561 SetEthPhyBit(sc, 0x11, BIT_11);
25562 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25564 MP_WritePhyUshort(sc, 0x1F, 0x0BCA);
25565 ClearAndSetEthPhyBit(sc,
25570 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25572 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25573 MP_WritePhyUshort(sc, 0x13, 0x803F);
25574 ClearEthPhyBit(sc, 0x14, (BIT_13 | BIT_12));
25575 MP_WritePhyUshort(sc, 0x13, 0x8047);
25576 ClearEthPhyBit(sc, 0x14, (BIT_13 | BIT_12));
25577 MP_WritePhyUshort(sc, 0x13, 0x804F);
25578 ClearEthPhyBit(sc, 0x14, (BIT_13 | BIT_12));
25579 MP_WritePhyUshort(sc, 0x13, 0x8057);
25580 ClearEthPhyBit(sc, 0x14, (BIT_13 | BIT_12));
25581 MP_WritePhyUshort(sc, 0x13, 0x805F);
25582 ClearEthPhyBit(sc, 0x14, (BIT_13 | BIT_12));
25583 MP_WritePhyUshort(sc, 0x13, 0x8067);
25584 ClearEthPhyBit(sc, 0x14, (BIT_13 | BIT_12));
25585 MP_WritePhyUshort(sc, 0x13, 0x806F);
25586 ClearEthPhyBit(sc, 0x14, (BIT_13 | BIT_12));
25587 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25589 if (phy_power_saving == 1) {
25590 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25591 SetEthPhyBit(sc, 0x10, BIT_2);
25592 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25594 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25595 ClearEthPhyBit(sc, 0x10, BIT_2);
25596 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25600 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25601 MP_WritePhyUshort(sc, 0x13, 0x8045);
25602 MP_WritePhyUshort(sc, 0x14, 0x2444);
25603 MP_WritePhyUshort(sc, 0x13, 0x804d);
25604 MP_WritePhyUshort(sc, 0x14, 0x2444);
25605 MP_WritePhyUshort(sc, 0x13, 0x805d);
25606 MP_WritePhyUshort(sc, 0x14, 0x2444);
25607 MP_WritePhyUshort(sc, 0x13, 0x8011);
25608 SetEthPhyBit(sc, 0x14, BIT_15);
25609 MP_WritePhyUshort(sc, 0x1F, 0x0A40);
25610 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25611 MP_WritePhyUshort(sc, 0x00, 0x9200);
25612 } else if (sc->re_type == MACFG_69) {
25613 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25614 MP_WritePhyUshort(sc, 0x13, 0x808A);
25615 ClearAndSetEthPhyBit(sc,
25617 BIT_5 | BIT_4 | BIT_3 | BIT_2 | BIT_1 | BIT_0,
25620 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25621 MP_WritePhyUshort(sc, 0x13, 0x8011);
25622 SetEthPhyBit(sc, 0x14, BIT_11);
25623 MP_WritePhyUshort(sc, 0x1F, 0x0A42);
25624 SetEthPhyBit(sc, 0x16, BIT_1);
25626 MP_WritePhyUshort(sc, 0x1F, 0x0A44);
25627 SetEthPhyBit(sc, 0x11, BIT_11);
25628 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25630 if (sc->RequireAdcBiasPatch) {
25631 MP_WritePhyUshort(sc, 0x1F, 0x0BCF);
25632 MP_WritePhyUshort(sc, 0x16, sc->AdcBiasPatchIoffset);
25633 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25639 MP_WritePhyUshort(sc, 0x1F, 0x0BCD);
25640 PhyRegValue = MP_ReadPhyUshort(sc, 0x16);
25641 PhyRegValue &= 0x000F;
25643 if (PhyRegValue > 3) {
25644 rlen = PhyRegValue - 3;
25649 PhyRegValue = rlen | (rlen<<4) | (rlen<<8) | (rlen<<12);
25651 MP_WritePhyUshort(sc, 0x1F, 0x0BCD);
25652 MP_WritePhyUshort(sc, 0x17, PhyRegValue);
25653 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25656 if (phy_power_saving == 1) {
25657 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25658 SetEthPhyBit(sc, 0x10, BIT_2);
25659 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25661 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25662 ClearEthPhyBit(sc, 0x10, BIT_2);
25663 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25667 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25668 MP_WritePhyUshort(sc, 0x13, 0x8045);
25669 MP_WritePhyUshort(sc, 0x14, 0x2444);
25670 MP_WritePhyUshort(sc, 0x13, 0x804d);
25671 MP_WritePhyUshort(sc, 0x14, 0x2444);
25672 MP_WritePhyUshort(sc, 0x13, 0x805d);
25673 MP_WritePhyUshort(sc, 0x14, 0x2444);
25674 MP_WritePhyUshort(sc, 0x13, 0x8011);
25675 SetEthPhyBit(sc, 0x14, BIT_15);
25676 MP_WritePhyUshort(sc, 0x1F, 0x0A40);
25677 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25678 MP_WritePhyUshort(sc, 0x00, 0x9200);
25679 } else if (sc->re_type == MACFG_70 || sc->re_type == MACFG_71) {
25680 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25681 MP_WritePhyUshort(sc, 0x13, 0x808E);
25682 ClearAndSetEthPhyBit(sc,
25686 MP_WritePhyUshort(sc, 0x13, 0x8090);
25687 ClearAndSetEthPhyBit(sc,
25691 MP_WritePhyUshort(sc, 0x13, 0x8092);
25692 ClearAndSetEthPhyBit(sc,
25696 MP_WritePhyUshort(sc, 0x13, 0x8088);
25697 ClearAndSetEthPhyBit(sc,
25701 MP_WritePhyUshort(sc, 0x13, 0x808B);
25702 ClearAndSetEthPhyBit(sc,
25704 BIT_13|BIT_12|BIT_11|BIT_10|BIT_9|BIT_8,
25706 MP_WritePhyUshort(sc, 0x13, 0x808D);
25707 ClearAndSetEthPhyBit(sc,
25709 BIT_12|BIT_11|BIT_10|BIT_9|BIT_8,
25711 MP_WritePhyUshort(sc, 0x13, 0x808C);
25712 ClearAndSetEthPhyBit(sc,
25717 MP_WritePhyUshort(sc, 0x13, 0x80A0);
25718 ClearAndSetEthPhyBit(sc,
25722 MP_WritePhyUshort(sc, 0x13, 0x80A2);
25723 ClearAndSetEthPhyBit(sc,
25727 MP_WritePhyUshort(sc, 0x13, 0x809B);
25728 ClearAndSetEthPhyBit(sc,
25730 BIT_15|BIT_14|BIT_13|BIT_12|BIT_11,
25731 BIT_15|BIT_13|BIT_12);
25732 MP_WritePhyUshort(sc, 0x13, 0x809A);
25733 ClearAndSetEthPhyBit(sc,
25737 MP_WritePhyUshort(sc, 0x13, 0x809D);
25738 ClearAndSetEthPhyBit(sc,
25740 BIT_13|BIT_12|BIT_11|BIT_10|BIT_9|BIT_8,
25742 MP_WritePhyUshort(sc, 0x13, 0x80A1);
25743 ClearAndSetEthPhyBit(sc,
25747 MP_WritePhyUshort(sc, 0x13, 0x809F);
25748 ClearAndSetEthPhyBit(sc,
25750 BIT_12|BIT_11|BIT_10|BIT_9|BIT_8,
25752 MP_WritePhyUshort(sc, 0x13, 0x809E);
25753 ClearAndSetEthPhyBit(sc,
25758 MP_WritePhyUshort(sc, 0x13, 0x80B2);
25759 ClearAndSetEthPhyBit(sc,
25763 MP_WritePhyUshort(sc, 0x13, 0x80AD);
25764 ClearAndSetEthPhyBit(sc,
25766 BIT_15|BIT_14|BIT_13|BIT_12|BIT_11,
25767 BIT_15|BIT_12|BIT_11);
25768 MP_WritePhyUshort(sc, 0x13, 0x80AF);
25769 ClearAndSetEthPhyBit(sc,
25771 BIT_13|BIT_12|BIT_11|BIT_10|BIT_9|BIT_8,
25773 MP_WritePhyUshort(sc, 0x13, 0x80B3);
25774 ClearAndSetEthPhyBit(sc,
25778 MP_WritePhyUshort(sc, 0x13, 0x80B1);
25779 ClearAndSetEthPhyBit(sc,
25781 BIT_12|BIT_11|BIT_10|BIT_9|BIT_8,
25783 MP_WritePhyUshort(sc, 0x13, 0x80B0);
25784 ClearAndSetEthPhyBit(sc,
25788 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25790 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25791 MP_WritePhyUshort(sc, 0x13, 0x8011);
25792 SetEthPhyBit(sc, 0x14, BIT_11);
25793 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25795 MP_WritePhyUshort(sc, 0x1F, 0x0A44);
25796 SetEthPhyBit( sc, 0x11, BIT_11 );
25797 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25799 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25800 MP_WritePhyUshort(sc, 0x13, 0x8016);
25801 SetEthPhyBit(sc, 0x14, BIT_10);
25802 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25804 if (phy_power_saving == 1) {
25805 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25806 SetEthPhyBit(sc, 0x10, BIT_2);
25807 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25809 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25810 ClearEthPhyBit(sc, 0x10, BIT_2);
25811 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25815 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25816 MP_WritePhyUshort(sc, 0x13, 0x8045);
25817 MP_WritePhyUshort(sc, 0x14, 0x2444);
25818 MP_WritePhyUshort(sc, 0x13, 0x804d);
25819 MP_WritePhyUshort(sc, 0x14, 0x2444);
25820 MP_WritePhyUshort(sc, 0x13, 0x805d);
25821 MP_WritePhyUshort(sc, 0x14, 0x2444);
25822 MP_WritePhyUshort(sc, 0x13, 0x8011);
25823 SetEthPhyBit(sc, 0x14, BIT_15);
25824 MP_WritePhyUshort(sc, 0x1F, 0x0A40);
25825 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25826 MP_WritePhyUshort(sc, 0x00, 0x9200);
25829 if (sc->re_type == MACFG_56 || sc->re_type == MACFG_56 ||
25830 sc->re_type == MACFG_58 || sc->re_type == MACFG_58 ||
25831 sc->re_type == MACFG_60) {
25832 //disable EthPhyPPSW
25833 MP_WritePhyUshort(sc, 0x1F, 0x0BCD);
25834 MP_WritePhyUshort(sc, 0x14, 0x5065);
25835 MP_WritePhyUshort(sc, 0x14, 0xD065);
25836 MP_WritePhyUshort(sc, 0x1F, 0x0BC8);
25837 MP_WritePhyUshort(sc, 0x12, 0x00ED);
25838 MP_WritePhyUshort(sc, 0x1F, 0x0BCD);
25839 MP_WritePhyUshort(sc, 0x14, 0x1065);
25840 MP_WritePhyUshort(sc, 0x14, 0x9065);
25841 MP_WritePhyUshort(sc, 0x14, 0x1065);
25842 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25843 } else if (sc->re_type == MACFG_68 || sc->re_type == MACFG_69) {
25844 //enable EthPhyPPSW
25845 MP_WritePhyUshort(sc, 0x1F, 0x0A44);
25846 SetEthPhyBit(sc, 0x11, BIT_7);
25847 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25850 switch(sc->re_type) {
25863 if (phy_mdix_mode == RE_ETH_PHY_FORCE_MDI) {
25865 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25866 SetEthPhyBit(sc, 0x10, BIT_8 | BIT_9);
25867 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25868 } else if (phy_mdix_mode == RE_ETH_PHY_FORCE_MDIX) {
25870 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25871 ClearEthPhyBit(sc, 0x10, BIT_8);
25872 SetEthPhyBit(sc, 0x10, BIT_9);
25873 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25876 MP_WritePhyUshort(sc, 0x1F, 0x0A43);
25877 ClearEthPhyBit(sc, 0x10, BIT_8 | BIT_9);
25878 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25884 if (phy_power_saving == 1) {
25885 if (sc->re_type == MACFG_59 || sc->re_type == MACFG_60 ||
25886 sc->re_type == MACFG_62 || sc->re_type == MACFG_67 ||
25887 sc->re_type == MACFG_68 || sc->re_type == MACFG_69 ||
25888 sc->re_type == MACFG_70 || sc->re_type == MACFG_71) {
25889 MP_WritePhyOcpRegWord(sc, 0x0C41, 0x13, 0x0000);
25890 MP_WritePhyOcpRegWord(sc, 0x0C41, 0x13, 0x0050);
25894 if (eee_enable == 1)
25897 re_disable_EEE(sc);
25899 MP_WritePhyUshort(sc, 0x1F, 0x0000);
25902 void MP_WritePhyUshort(struct re_softc *sc,u_int8_t RegAddr,u_int16_t RegData)
25904 u_int32_t TmpUlong=0x80000000;
25905 u_int32_t Timeout=0;
25907 if (RegAddr == 0x1F) {
25908 sc->cur_page = RegData;
25911 if (sc->re_type == MACFG_63) {
25913 CSR_WRITE_4(sc, RE_OCPDR, OCPDR_Write |
25914 (RegAddr & OCPDR_Reg_Mask) << OCPDR_GPHY_Reg_shift |
25915 (RegData & OCPDR_Data_Mask));
25916 CSR_WRITE_4(sc, RE_OCPAR, OCPAR_GPHY_Write);
25917 CSR_WRITE_4(sc, RE_EPHY_RXER_NUM, 0);
25919 for (i = 0; i < 100; i++) {
25921 if (!(CSR_READ_4(sc, RE_OCPAR) & OCPAR_Flag))
25924 } else if (sc->re_type == MACFG_56 || sc->re_type == MACFG_57 ||
25925 sc->re_type == MACFG_58 || sc->re_type == MACFG_59 ||
25926 sc->re_type == MACFG_60 || sc->re_type == MACFG_61 ||
25927 sc->re_type == MACFG_62 || sc->re_type == MACFG_67 ||
25928 sc->re_type == MACFG_69 || sc->re_type == MACFG_69 ||
25929 sc->re_type == MACFG_70 || sc->re_type == MACFG_71) {
25930 if (RegAddr == 0x1F) {
25934 MP_WritePhyOcpRegWord(sc, sc->cur_page, RegAddr, RegData);
25936 if (sc->re_type == MACFG_65 || sc->re_type == MACFG_66)
25937 CSR_WRITE_4(sc, 0xD0, CSR_READ_4(sc, 0xD0) & ~0x00020000);
25939 TmpUlong |= (((u_int32_t)RegAddr)<<16 | (u_int32_t)RegData);
25941 CSR_WRITE_4(sc, RE_PHYAR, TmpUlong);
25943 /* Wait for writing to Phy ok */
25944 for (Timeout=0; Timeout<5; Timeout++) {
25946 if ((CSR_READ_4(sc, RE_PHYAR)&PHYAR_Flag)==0)
25950 if (sc->re_type == MACFG_65 || sc->re_type == MACFG_66)
25951 CSR_WRITE_4(sc, 0xD0, CSR_READ_4(sc, 0xD0) | 0x00020000);
25955 u_int16_t MP_ReadPhyUshort(struct re_softc *sc,u_int8_t RegAddr)
25958 u_int32_t TmpUlong;
25959 u_int32_t Timeout=0;
25961 if (sc->re_type == MACFG_63) {
25963 CSR_WRITE_4(sc, RE_OCPDR, OCPDR_Read |
25964 (RegAddr & OCPDR_Reg_Mask) << OCPDR_GPHY_Reg_shift);
25965 CSR_WRITE_4(sc, RE_OCPAR, OCPAR_GPHY_Write);
25966 CSR_WRITE_4(sc, RE_EPHY_RXER_NUM, 0);
25968 for (i = 0; i < 100; i++) {
25970 if (!(CSR_READ_4(sc, RE_OCPAR) & OCPAR_Flag))
25975 CSR_WRITE_4(sc, RE_OCPAR, OCPAR_GPHY_Read);
25976 CSR_WRITE_4(sc, RE_EPHY_RXER_NUM, 0);
25978 for (i = 0; i < 100; i++) {
25980 if (CSR_READ_4(sc, RE_OCPAR) & OCPAR_Flag)
25984 RegData = CSR_READ_4(sc, RE_OCPDR) & OCPDR_Data_Mask;
25985 } else if (sc->re_type == MACFG_56 || sc->re_type == MACFG_57 ||
25986 sc->re_type == MACFG_58 || sc->re_type == MACFG_59 ||
25987 sc->re_type == MACFG_60 || sc->re_type == MACFG_61 ||
25988 sc->re_type == MACFG_62 || sc->re_type == MACFG_67 ||
25989 sc->re_type == MACFG_69 || sc->re_type == MACFG_69 ||
25990 sc->re_type == MACFG_70 || sc->re_type == MACFG_71) {
25991 RegData= MP_ReadPhyOcpRegWord(sc, sc->cur_page, RegAddr);
25994 if (sc->re_type == MACFG_65 || sc->re_type == MACFG_66)
25995 CSR_WRITE_4(sc, 0xD0, CSR_READ_4(sc, 0xD0) & ~0x00020000);
25997 TmpUlong = ((u_int32_t)RegAddr << 16);
25998 CSR_WRITE_4(sc, RE_PHYAR, TmpUlong);
26000 /* Wait for writing to Phy ok */
26001 for (Timeout=0; Timeout<5; Timeout++) {
26003 TmpUlong = CSR_READ_4(sc, RE_PHYAR);
26004 if ((TmpUlong&PHYAR_Flag)!=0)
26008 RegData = (u_int16_t)(TmpUlong & 0x0000ffff);
26010 if (sc->re_type == MACFG_65 || sc->re_type == MACFG_66)
26011 CSR_WRITE_4(sc, 0xD0, CSR_READ_4(sc, 0xD0) | 0x00020000);
26017 void MP_WriteEPhyUshort(struct re_softc *sc, u_int8_t RegAddr, u_int16_t RegData)
26019 u_int32_t TmpUlong=0x80000000;
26020 u_int32_t Timeout=0;
26022 TmpUlong |= (((u_int32_t)RegAddr<<16) | (u_int32_t)RegData);
26024 CSR_WRITE_4(sc, RE_EPHYAR, TmpUlong);
26026 /* Wait for writing to Phy ok */
26027 for (Timeout=0; Timeout<5; Timeout++) {
26029 if ((CSR_READ_4(sc, RE_EPHYAR)&PHYAR_Flag)==0)
26034 u_int16_t MP_ReadEPhyUshort(struct re_softc *sc, u_int8_t RegAddr)
26037 u_int32_t TmpUlong;
26038 u_int32_t Timeout=0;
26040 TmpUlong = ((u_int32_t)RegAddr << 16);
26041 CSR_WRITE_4(sc, RE_EPHYAR, TmpUlong);
26043 /* Wait for writing to Phy ok */
26044 for (Timeout=0; Timeout<5; Timeout++) {
26046 TmpUlong = CSR_READ_4(sc, RE_EPHYAR);
26047 if ((TmpUlong&PHYAR_Flag)!=0)
26051 RegData = (u_int16_t)(TmpUlong & 0x0000ffff);
26056 static u_int8_t re_calc_efuse_dummy_bit(u_int16_t reg)
26059 u_int8_t dummyBitPos = 0;
26067 dummyBitPos = (u_int8_t)(16-a);
26069 dummyBitPos = (u_int8_t)a;
26072 return dummyBitPos;
26075 static u_int32_t re_decode_efuse_cmd(struct re_softc *sc, u_int32_t DwCmd)
26077 u_int16_t reg = (u_int16_t)((DwCmd & 0x00FE0000) >> 17);
26078 u_int32_t DummyPos = re_calc_efuse_dummy_bit(reg);
26079 u_int32_t DeCodeDwCmd = DwCmd;
26080 u_int32_t Dw17BitData;
26083 if (sc->re_efuse_ver < 3) {
26084 DeCodeDwCmd = (DwCmd>>(DummyPos+1))<<DummyPos;
26085 if (DummyPos > 0) {
26086 DeCodeDwCmd |= ((DwCmd<<(32-DummyPos))>>(32-DummyPos));
26089 reg = (u_int16_t)((DwCmd & 0x007F0000) >> 16);
26090 DummyPos = re_calc_efuse_dummy_bit(reg);
26091 Dw17BitData = ((DwCmd & BIT_23) >> 23);
26092 Dw17BitData <<= 16;
26093 Dw17BitData |= (DwCmd & 0x0000FFFF);
26094 DeCodeDwCmd = (Dw17BitData>>(DummyPos+1))<<DummyPos;
26095 if (DummyPos > 0) {
26096 DeCodeDwCmd |= ((Dw17BitData<<(32-DummyPos))>>(32-DummyPos));
26100 return DeCodeDwCmd;
26103 #define EFUSE_WRITE 0x80000000
26104 #define EFUSE_WRITE_OK 0x00000000
26105 #define EFUSE_READ 0x00000000
26106 #define EFUSE_READ_OK 0x80000000
26107 #define EFUSE_Reg_Mask 0x03FF
26108 #define EFUSE_Reg_Shift 8
26109 #define EFUSE_Check_Cnt 300
26110 #define EFUSE_READ_FAIL 0xFF
26111 #define EFUSE_Data_Mask 0x000000FF
26113 u_int8_t MP_ReadEfuse(struct re_softc *sc, u_int16_t reg)
26115 u_int8_t efuse_data = 0;
26119 if (sc->re_efuse_ver == EFUSE_NOT_SUPPORT)
26120 return EFUSE_READ_FAIL;
26122 if (sc->re_efuse_ver == EFUSE_SUPPORT_V1) {
26123 temp = EFUSE_READ | ((reg & EFUSE_Reg_Mask) << EFUSE_Reg_Shift);
26124 CSR_WRITE_4(sc, RE_EFUSEAR, temp);
26129 temp = CSR_READ_4(sc, RE_EFUSEAR);
26131 } while (!(temp & EFUSE_READ_OK) && (cnt < EFUSE_Check_Cnt));
26133 if (cnt == EFUSE_Check_Cnt)
26134 efuse_data = EFUSE_READ_FAIL;
26136 efuse_data = (u_int8_t)(CSR_READ_4(sc, RE_EFUSEAR) & EFUSE_Data_Mask);
26137 } else if (sc->re_efuse_ver == EFUSE_SUPPORT_V2) {
26138 temp = (reg/2) & 0x03ff;
26140 temp |= EFUSE_READ;
26141 CSR_WRITE_4(sc, RE_EFUSEAR, temp);
26146 temp = CSR_READ_4(sc, RE_EFUSEAR);
26148 } while (!(temp & EFUSE_READ_OK) && (cnt < EFUSE_Check_Cnt));
26150 if (cnt == EFUSE_Check_Cnt) {
26151 efuse_data = EFUSE_READ_FAIL;
26153 temp = CSR_READ_4(sc, RE_EFUSEAR);
26154 temp = re_decode_efuse_cmd(sc, temp);
26158 efuse_data = (u_int8_t)temp;
26160 efuse_data = (u_int8_t)temp;
26163 } else if (sc->re_efuse_ver == EFUSE_SUPPORT_V3) {
26164 temp = (reg/2) & 0x03ff;
26166 temp |= EFUSE_READ;
26167 CSR_WRITE_4(sc, RE_EFUSEAR, temp);
26172 temp = CSR_READ_4(sc, RE_EFUSEAR);
26174 } while (!(temp & EFUSE_READ_OK) && (cnt < EFUSE_Check_Cnt));
26176 if (cnt == EFUSE_Check_Cnt) {
26177 efuse_data = EFUSE_READ_FAIL;
26179 temp = CSR_READ_4(sc, RE_EFUSEAR);
26180 temp = re_decode_efuse_cmd(sc, temp);
26184 efuse_data = (u_int8_t)temp;
26186 efuse_data = (u_int8_t)temp;
26196 void MP_WriteOtherFunPciEConfigSpace(
26197 struct re_softc *sc,
26198 u_int8_t MultiFunSelBit,
26199 u_int16_t ByteEnAndAddr,
26202 u_int32_t Timeout = 0, WaitCount = 10;
26203 u_int32_t TmpUlong = 0x80000000;
26204 u_int32_t WriteDone;
26206 if (MultiFunSelBit > 7) {
26210 TmpUlong |= MultiFunSelBit << 16;
26212 CSR_WRITE_4(sc, RE_CSIDR, RegData);
26213 TmpUlong |= (u_int32_t) ByteEnAndAddr;
26214 CSR_WRITE_4(sc, RE_CSIAR, TmpUlong);
26219 WriteDone = CSR_READ_4(sc, RE_CSIAR);
26221 } while (((WriteDone & 0x80000000) != 0) && (Timeout < WaitCount));
26227 u_int32_t MP_ReadOtherFunPciEConfigSpace(
26228 struct re_softc *sc,
26229 u_int8_t MultiFunSelBit,
26230 u_int16_t ByteEnAndAddr)
26232 u_int32_t Timeout = 0, WaitCount = 10;
26233 u_int32_t TmpUlong = 0x00000000;
26234 u_int32_t ReadDone;
26235 u_int32_t RetVal = 0xffffffff;
26237 if (MultiFunSelBit > 7) {
26241 TmpUlong |= MultiFunSelBit << 16;
26243 TmpUlong |= (u_int32_t) ByteEnAndAddr;
26244 CSR_WRITE_4(sc, RE_CSIAR, TmpUlong);
26249 ReadDone = CSR_READ_4(sc, RE_CSIAR);
26251 } while (((ReadDone & 0x80000000) == 0)&& (Timeout < WaitCount));
26258 void MP_WritePciEConfigSpace(
26259 struct re_softc *sc,
26260 u_int16_t ByteEnAndAddr,
26263 u_int8_t MultiFunSelBit;
26265 if (sc->re_type == MACFG_52 || sc->re_type == MACFG_53) {
26266 MultiFunSelBit = 2;
26267 } else if (sc->re_type == MACFG_60) {
26268 MultiFunSelBit = 1;
26270 MultiFunSelBit = 0;
26273 MP_WriteOtherFunPciEConfigSpace(sc, MultiFunSelBit, ByteEnAndAddr, RegData);
26277 u_int32_t MP_ReadPciEConfigSpace(
26278 struct re_softc *sc,
26279 u_int16_t ByteEnAndAddr)
26281 u_int8_t MultiFunSelBit;
26283 if (sc->re_type == MACFG_52 || sc->re_type == MACFG_53) {
26284 MultiFunSelBit = 2;
26285 } else if (sc->re_type == MACFG_60) {
26286 MultiFunSelBit = 1;
26288 MultiFunSelBit = 0;
26291 return MP_ReadOtherFunPciEConfigSpace(sc, MultiFunSelBit, ByteEnAndAddr);
26294 static u_int16_t MappingPhyOcpAddress(
26295 struct re_softc *sc,
26299 u_int16_t OcpPageNum = 0;
26300 u_int8_t OcpRegNum = 0;
26301 u_int16_t OcpPhyAddress = 0;
26303 if (PageNum == 0) {
26304 OcpPageNum = 0x0A40 + (RegNum / 8);
26305 OcpRegNum = 0x10 + (RegNum % 8);
26307 OcpPageNum = PageNum;
26308 OcpRegNum = RegNum;
26313 if (OcpRegNum < 16) {
26319 OcpPhyAddress = OcpPageNum + OcpRegNum;
26322 return OcpPhyAddress;
26325 static u_int16_t MP_RealReadPhyOcpRegWord(
26326 struct re_softc *sc,
26327 u_int16_t OcpRegAddr)
26329 u_int32_t Timeout = 0, WaitCount = 100;
26330 u_int32_t TmpUlong;
26331 u_int16_t RetVal = 0xffff;
26333 TmpUlong = OcpRegAddr / 2;
26336 CSR_WRITE_4(sc, RE_PHYOCPACCESS, TmpUlong);
26341 TmpUlong = CSR_READ_4(sc, RE_PHYOCPACCESS);
26344 } while ((!(TmpUlong & PHYAR_Flag)) && (Timeout < WaitCount));
26346 RetVal = (u_int16_t)TmpUlong;
26351 u_int16_t MP_ReadPhyOcpRegWord(
26352 struct re_softc *sc,
26354 u_int8_t PhyRegNum)
26356 u_int16_t OcpRegAddr;
26357 u_int16_t RetVal = 0xffff;
26359 OcpRegAddr = MappingPhyOcpAddress(sc, PhyPage, PhyRegNum);
26361 if (OcpRegAddr % 2) {
26362 u_int16_t tmpUshort;
26364 tmpUshort = MP_RealReadPhyOcpRegWord(sc, OcpRegAddr);
26365 tmpUshort &= 0xFF00;
26367 RetVal = tmpUshort;
26370 tmpUshort = MP_RealReadPhyOcpRegWord(sc, OcpRegAddr + 1);
26371 tmpUshort &= 0x00FF;
26373 RetVal |= tmpUshort;
26375 RetVal = MP_RealReadPhyOcpRegWord(sc, OcpRegAddr);
26381 static void MP_RealWritePhyOcpRegWord(
26382 struct re_softc *sc,
26383 u_int16_t OcpRegAddr,
26386 u_int32_t Timeout = 0, WaitCount = 100;
26387 u_int32_t TmpUlong;
26389 TmpUlong = OcpRegAddr / 2;
26391 TmpUlong += RegData;
26392 TmpUlong |= BIT_31;
26394 CSR_WRITE_4(sc, RE_PHYOCPACCESS, TmpUlong);
26399 TmpUlong = CSR_READ_4(sc, RE_PHYOCPACCESS);
26402 } while ((TmpUlong & PHYAR_Flag) && (Timeout < WaitCount));
26405 void MP_WritePhyOcpRegWord(
26406 struct re_softc *sc,
26408 u_int8_t PhyRegNum,
26411 u_int16_t OcpRegAddr;
26413 OcpRegAddr = MappingPhyOcpAddress(sc, PhyPage, PhyRegNum);
26415 if (OcpRegAddr % 2) {
26416 u_int16_t tmpUshort;
26418 tmpUshort = MP_RealReadPhyOcpRegWord(sc, OcpRegAddr);
26419 tmpUshort &= 0x00FF;
26420 tmpUshort |= (RegData << 8);
26421 MP_RealWritePhyOcpRegWord(sc, OcpRegAddr, tmpUshort);
26422 tmpUshort = MP_RealReadPhyOcpRegWord(sc, OcpRegAddr + 1);
26423 tmpUshort &= 0xFF00;
26424 tmpUshort |= (RegData >> 8);
26425 MP_RealWritePhyOcpRegWord(sc, OcpRegAddr + 1, tmpUshort);
26427 MP_RealWritePhyOcpRegWord(sc, OcpRegAddr, RegData);
26431 void MP_WriteMcuAccessRegWord(
26432 struct re_softc *sc,
26433 u_int16_t ExtRegAddr,
26436 u_int32_t TmpUlong;
26438 TmpUlong = ExtRegAddr / 2;
26440 TmpUlong += RegData;
26441 TmpUlong |= BIT_31;
26443 CSR_WRITE_4(sc, RE_MCUACCESS, TmpUlong);
26446 u_int16_t MP_ReadMcuAccessRegWord(
26447 struct re_softc *sc,
26448 u_int16_t ExtRegAddr)
26450 u_int32_t TmpUlong;
26451 u_int16_t RetVal = 0xffff;
26453 TmpUlong = ExtRegAddr / 2;
26456 CSR_WRITE_4(sc, RE_MCUACCESS, TmpUlong);
26457 TmpUlong = CSR_READ_4(sc, RE_MCUACCESS);
26458 RetVal = (u_int16_t)TmpUlong;
26463 static u_int32_t real_ocp_read(struct re_softc *sc, u_int16_t addr, u_int8_t len)
26465 int i, val_shift, shift = 0;
26466 u_int32_t value1 = 0, value2 = 0, mask;
26468 if (len > 4 || len <= 0)
26472 val_shift = addr % 4;
26473 addr = addr & ~0x3;
26475 CSR_WRITE_4(sc, RE_OCPAR, (0x0F<<12) | (addr&0xFFF));
26477 for (i = 0; i < 20; i++) {
26479 if (CSR_READ_4(sc, RE_OCPAR) & OCPAR_Flag)
26483 if (len == 1) mask = (0xFF << (val_shift * 8)) & 0xFFFFFFFF;
26484 else if (len == 2) mask = (0xFFFF << (val_shift * 8)) & 0xFFFFFFFF;
26485 else if (len == 3) mask = (0xFFFFFF << (val_shift * 8)) & 0xFFFFFFFF;
26486 else mask = (0xFFFFFFFF << (val_shift * 8)) & 0xFFFFFFFF;
26488 value1 = CSR_READ_4(sc, RE_OCPDR) & mask;
26489 value2 |= (value1 >> val_shift * 8) << shift * 8;
26491 if (len <= 4 - val_shift) {
26494 len -= (4 - val_shift);
26495 shift = 4 - val_shift;
26505 static u_int32_t OCP_read_with_oob_base_address(struct re_softc *sc, u_int16_t addr, u_int8_t len, const u_int32_t base_address)
26507 return re_eri_read_with_oob_base_address(sc, addr, len, ERIAR_OOB, base_address);
26510 static u_int32_t OCP_read(struct re_softc *sc, u_int16_t addr, u_int8_t len)
26512 u_int32_t value = 0;
26514 if (HW_DASH_SUPPORT_TYPE_2(sc))
26515 value = re_eri_read(sc, addr, len, ERIAR_OOB);
26516 else if (HW_DASH_SUPPORT_TYPE_3(sc))
26517 value = OCP_read_with_oob_base_address(sc, addr, len, RTL8168FP_OOBMAC_BASE);
26519 value = real_ocp_read(sc, addr, len);
26524 static int real_ocp_write(struct re_softc *sc, u_int16_t addr, u_int8_t len, u_int32_t value)
26526 int i, val_shift, shift = 0;
26527 u_int32_t value1 = 0, mask;
26529 if (len > 4 || len <= 0)
26533 val_shift = addr % 4;
26534 addr = addr & ~0x3;
26536 if (len == 1) mask = (0xFF << (val_shift * 8)) & 0xFFFFFFFF;
26537 else if (len == 2) mask = (0xFFFF << (val_shift * 8)) & 0xFFFFFFFF;
26538 else if (len == 3) mask = (0xFFFFFF << (val_shift * 8)) & 0xFFFFFFFF;
26539 else mask = (0xFFFFFFFF << (val_shift * 8)) & 0xFFFFFFFF;
26541 value1 = OCP_read(sc, addr, 4) & ~mask;
26542 value1 |= ((value << val_shift * 8) >> shift * 8);
26544 CSR_WRITE_4(sc, RE_OCPDR, value1);
26545 CSR_WRITE_4(sc, RE_OCPAR, OCPAR_Flag | (0x0F<<12) | (addr&0xFFF));
26547 for (i = 0; i < 10; i++) {
26550 /* Check if the RTL8168 has completed ERI write */
26551 if (!(CSR_READ_4(sc, RE_OCPAR) & OCPAR_Flag))
26555 if (len <= 4 - val_shift) {
26558 len -= (4 - val_shift);
26559 shift = 4 - val_shift;
26569 static int OCP_write_with_oob_base_address(struct re_softc *sc, u_int16_t addr, u_int8_t len, u_int32_t value, const u_int32_t base_address)
26571 return re_eri_write_with_oob_base_address(sc, addr, len, value, ERIAR_OOB, base_address);
26574 static void OCP_write(struct re_softc *sc, u_int16_t addr, u_int8_t len, u_int32_t value)
26576 if (HW_DASH_SUPPORT_TYPE_2(sc))
26577 re_eri_write(sc, addr, len, value, ERIAR_OOB);
26578 else if (HW_DASH_SUPPORT_TYPE_3(sc))
26579 OCP_write_with_oob_base_address(sc, addr, len, value, RTL8168FP_OOBMAC_BASE);
26581 real_ocp_write(sc, addr, len, value);
26584 static void OOB_mutex_lock(struct re_softc *sc)
26586 u_int8_t reg_16, reg_a0;
26587 u_int32_t wait_cnt_0, wait_Cnt_1;
26588 u_int16_t ocp_reg_mutex_ib;
26589 u_int16_t ocp_reg_mutex_oob;
26590 u_int16_t ocp_reg_mutex_prio;
26592 switch (sc->re_type) {
26596 ocp_reg_mutex_oob = 0x16;
26597 ocp_reg_mutex_ib = 0x17;
26598 ocp_reg_mutex_prio = 0x9C;
26601 ocp_reg_mutex_oob = 0x06;
26602 ocp_reg_mutex_ib = 0x07;
26603 ocp_reg_mutex_prio = 0x9C;
26611 ocp_reg_mutex_oob = 0x110;
26612 ocp_reg_mutex_ib = 0x114;
26613 ocp_reg_mutex_prio = 0x11C;
26617 OCP_write(sc, ocp_reg_mutex_ib, 1, BIT_0);
26618 reg_16 = OCP_read(sc, ocp_reg_mutex_oob, 1);
26621 reg_a0 = OCP_read(sc, ocp_reg_mutex_prio, 1);
26623 OCP_write(sc, ocp_reg_mutex_ib, 1, 0x00);
26624 reg_a0 = OCP_read(sc, ocp_reg_mutex_prio, 1);
26627 reg_a0 = OCP_read(sc, ocp_reg_mutex_prio, 1);
26631 if (wait_Cnt_1 > 2000)
26634 OCP_write(sc, ocp_reg_mutex_ib, 1, BIT_0);
26637 reg_16 = OCP_read(sc, ocp_reg_mutex_oob, 1);
26641 if (wait_cnt_0 > 2000)
26646 static void OOB_mutex_unlock(struct re_softc *sc)
26648 u_int16_t ocp_reg_mutex_ib;
26649 u_int16_t ocp_reg_mutex_oob;
26650 u_int16_t ocp_reg_mutex_prio;
26652 switch (sc->re_type) {
26656 ocp_reg_mutex_oob = 0x16;
26657 ocp_reg_mutex_ib = 0x17;
26658 ocp_reg_mutex_prio = 0x9C;
26661 ocp_reg_mutex_oob = 0x06;
26662 ocp_reg_mutex_ib = 0x07;
26663 ocp_reg_mutex_prio = 0x9C;
26671 ocp_reg_mutex_oob = 0x110;
26672 ocp_reg_mutex_ib = 0x114;
26673 ocp_reg_mutex_prio = 0x11C;
26677 OCP_write(sc, ocp_reg_mutex_prio, 1, BIT_0);
26678 OCP_write(sc, ocp_reg_mutex_ib, 1, 0x00);
26681 static int re_check_dash(struct re_softc *sc)
26683 switch(sc->re_type) {
26693 if (HW_DASH_SUPPORT_TYPE_2(sc) || HW_DASH_SUPPORT_TYPE_3(sc)) {
26694 if (OCP_read(sc, 0x128, 1) & BIT_0)
26701 if (sc->re_type == MACFG_66)
26706 if (OCP_read(sc, reg, 2) & 0x00008000)
26717 static void OOB_notify(struct re_softc *sc, u_int8_t cmd)
26721 CSR_WRITE_1(sc, RE_ERIDR, cmd);
26722 CSR_WRITE_4(sc, RE_ERIAR, 0x800010E8);
26724 for (i = 0; i < 5; i++) {
26726 if (!(CSR_READ_4(sc, RE_ERIAR) & ERIAR_Flag))
26730 OCP_write(sc, 0x30, 1, 0x01);
26733 void re_driver_start(struct re_softc *sc)
26735 if (HW_DASH_SUPPORT_TYPE_2(sc) || HW_DASH_SUPPORT_TYPE_3(sc)) {
26736 u_int32_t tmp_value;
26741 OCP_write(sc, 0x180, 1, OOB_CMD_DRIVER_START);
26742 tmp_value = OCP_read(sc, 0x30, 1);
26743 tmp_value |= BIT_0;
26744 OCP_write(sc, 0x30, 1, tmp_value);
26749 if (sc->re_type == MACFG_66) {
26750 CSR_WRITE_1(sc, RE_TwiCmdReg, CSR_READ_1(sc, RE_TwiCmdReg) | (BIT_7));
26753 OOB_notify(sc, OOB_CMD_DRIVER_START);
26755 if (sc->re_type == MACFG_66)
26760 for (timeout = 0; timeout < 10; timeout++) {
26762 if (OCP_read(sc, reg, 2) & BIT_11)
26768 void re_driver_stop(struct re_softc *sc)
26770 if (HW_DASH_SUPPORT_TYPE_2(sc) || HW_DASH_SUPPORT_TYPE_3(sc)) {
26771 u_int32_t tmp_value;
26776 Dash2DisableTxRx(sc);
26778 OCP_write(sc, 0x180, 1, OOB_CMD_DRIVER_STOP);
26779 tmp_value = OCP_read(sc, 0x30, 1);
26780 tmp_value |= BIT_0;
26781 OCP_write(sc, 0x30, 1, tmp_value);
26786 OOB_notify(sc, OOB_CMD_DRIVER_STOP);
26788 if (sc->re_type == MACFG_66)
26793 for (timeout = 0; timeout < 10; timeout++) {
26795 if ((OCP_read(sc, reg, 4) & BIT_11) == 0)
26799 if (sc->re_type == MACFG_66) {
26800 CSR_WRITE_1(sc, RE_TwiCmdReg, CSR_READ_1(sc, RE_TwiCmdReg) & ~(BIT_7));
26805 /*----------------------------------------------------------------------------*/
26806 /* 8139 (CR9346) 9346 command register bits (offset 0x50, 1 byte)*/
26807 /*----------------------------------------------------------------------------*/
26808 #define CR9346_EEDO 0x01 /* 9346 data out*/
26809 #define CR9346_EEDI 0x02 /* 9346 data in*/
26810 #define CR9346_EESK 0x04 /* 9346 serial clock*/
26811 #define CR9346_EECS 0x08 /* 9346 chip select*/
26812 #define CR9346_EEM0 0x40 /* select 8139 operating mode*/
26813 #define CR9346_EEM1 0x80 /* 00: normal*/
26814 #define CR9346_CFGRW 0xC0 /* Config register write*/
26815 #define CR9346_NORM 0x00
26817 /*----------------------------------------------------------------------------*/
26818 /* EEPROM bit definitions(EEPROM control register bits)*/
26819 /*----------------------------------------------------------------------------*/
26820 #define EN_TRNF 0x10 /* Enable turnoff*/
26821 #define EEDO CR9346_EEDO /* EEPROM data out*/
26822 #define EEDI CR9346_EEDI /* EEPROM data in (set for writing data)*/
26823 #define EECS CR9346_EECS /* EEPROM chip select (1=high, 0=low)*/
26824 #define EESK CR9346_EESK /* EEPROM shift clock (1=high, 0=low)*/
26826 /*----------------------------------------------------------------------------*/
26827 /* EEPROM opcodes*/
26828 /*----------------------------------------------------------------------------*/
26829 #define EEPROM_READ_OPCODE 06
26830 #define EEPROM_WRITE_OPCODE 05
26831 #define EEPROM_ERASE_OPCODE 07
26832 #define EEPROM_EWEN_OPCODE 19 /* Erase/write enable*/
26833 #define EEPROM_EWDS_OPCODE 16 /* Erase/write disable*/
26835 #define CLOCK_RATE 50 /* us*/
26837 #define RaiseClock(_sc,_x) \
26838 (_x) = (_x) | EESK; \
26839 CSR_WRITE_1((_sc), RE_EECMD, (_x)); \
26842 #define LowerClock(_sc,_x) \
26843 (_x) = (_x) & ~EESK; \
26844 CSR_WRITE_1((_sc), RE_EECMD, (_x)); \
26848 * Shift out bit(s) to the EEPROM.
26850 static void re_eeprom_ShiftOutBits(struct re_softc *sc, int data, int count)
26854 mask = 0x01 << (count - 1);
26855 x = CSR_READ_1(sc, RE_EECMD);
26857 x &= ~(EEDO | EEDI);
26864 CSR_WRITE_1(sc, RE_EECMD, x);
26872 CSR_WRITE_1(sc, RE_EECMD, x);
26876 * Shift in bit(s) from the EEPROM.
26878 static u_int16_t re_eeprom_ShiftInBits(struct re_softc *sc)
26881 x = CSR_READ_1(sc, RE_EECMD);
26883 x &= ~(EEDO | EEDI);
26886 for (i=0; i<16; i++) {
26890 x = CSR_READ_1(sc, RE_EECMD);
26903 * Clean up EEprom read/write setting
26905 static void re_eeprom_EEpromCleanup(struct re_softc *sc)
26908 x = CSR_READ_1(sc, RE_EECMD);
26910 x &= ~(EECS | EEDI);
26911 CSR_WRITE_1(sc, RE_EECMD, x);
26918 * Read a word of data stored in the EEPROM at address 'addr.'
26920 static void re_eeprom_getword(struct re_softc *sc, int addr, u_int16_t *dest)
26924 /* select EEPROM, reset bits, set EECS*/
26925 x = CSR_READ_1(sc, RE_EECMD);
26927 x &= ~(EEDI | EEDO | EESK | CR9346_EEM0);
26928 x |= CR9346_EEM1 | EECS;
26929 CSR_WRITE_1(sc, RE_EECMD, x);
26931 /* write the read opcode and register number in that order*/
26932 /* The opcode is 3bits in length, reg is 6 bits long*/
26933 re_eeprom_ShiftOutBits(sc, EEPROM_READ_OPCODE, 3);
26935 if (CSR_READ_4(sc, RE_RXCFG) & RE_RXCFG_RX_9356SEL)
26936 re_eeprom_ShiftOutBits(sc, addr,8); /*93c56=8*/
26938 re_eeprom_ShiftOutBits(sc, addr,6); /*93c46=6*/
26940 /* Now read the data (16 bits) in from the selected EEPROM word*/
26941 *dest=re_eeprom_ShiftInBits(sc);
26943 re_eeprom_EEpromCleanup(sc);
26948 * Read a sequence of words from the EEPROM.
26950 static void re_read_eeprom(struct re_softc *sc, caddr_t dest, int off, int cnt, int swap)
26953 u_int16_t word = 0, *ptr;
26955 for (i = 0; i < cnt; i++) {
26956 re_eeprom_getword(sc, off + i, &word);
26957 ptr = (u_int16_t *)(dest + (i * 2));
26959 *ptr = ntohs(word);
26967 #ifdef __DragonFly__
26970 rtl_check_mac_version(struct re_softc *sc)
26973 return (re_check_mac_version(sc));
26977 rtl_init_software_variable(struct re_softc *sc)
26980 re_init_software_variable(sc);
26984 rtl_exit_oob(struct re_softc *sc)
26991 rtl_hw_init(struct re_softc *sc)
26998 rtl_reset(struct re_softc *sc)
27005 rtl_get_hw_mac_address(struct re_softc *sc, u_int8_t *eaddr)
27008 re_get_hw_mac_address(sc, eaddr);
27012 rtl_phy_power_up(struct re_softc *sc)
27015 re_phy_power_up(sc->dev);
27019 rtl_hw_phy_config(struct re_softc *sc)
27022 re_hw_phy_config(sc);
27026 rtl_clrwol(struct re_softc *sc)
27033 rtl_ifmedia_upd(struct ifnet *ifp)
27036 return (re_ifmedia_upd(ifp));
27040 rtl_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr)
27043 re_ifmedia_sts(ifp, ifmr);
27047 rtl_stop(struct re_softc *sc)
27054 rtl_link_ok(struct re_softc *sc)
27057 return (re_link_ok(sc));
27061 rtl_link_on_patch(struct re_softc *sc)
27064 re_link_on_patch(sc);
27068 rtl_set_eaddr(struct re_softc *sc)
27071 re_init_unlock(sc);
27075 rtl_hw_start(struct re_softc *sc)
27078 re_hw_start_unlock(sc);
27082 rtl_set_rx_packet_filter(struct re_softc *sc)
27085 re_set_rx_packet_filter(sc);
27089 rtl_hw_d3_para(struct re_softc *sc)
27096 rtl_phy_power_down(struct re_softc *sc)
27099 re_phy_power_down(sc->dev);
27103 rtl_cmac_unmap(struct re_softc *sc)
27106 if (HW_DASH_SUPPORT_TYPE_3(sc) && sc->re_dash &&
27107 sc->re_mapped_cmac_handle != 0) {
27108 bus_space_unmap(sc->re_cmac_tag, sc->re_mapped_cmac_handle,
27113 #endif /* __DragonFly__ */