Lines Matching +full:0 +full:x7c00
41 { 0, 0, 0 }, /* No link */
42 { 0, 0, 0 }, /* 10BT Half Duplex */
43 { 1, 0, 0 }, /* 10BT Full Duplex */
44 { 0, 1, 0 }, /* 100BT Half Duplex */
45 { 0, 1, 0 }, /* 100BT Half Duplex */
46 { 1, 1, 0 }, /* 100BT Full Duplex*/
47 { 1, 0, 1 }, /* 1000BT */
48 { 1, 0, 1 }, /* 1000BT */
85 if ((val & BMCR_RESET) == 0) in reset_one_mii_phy()
89 if ((val & BMCR_ISOLATE) && limit > 0) in reset_one_mii_phy()
92 return limit <= 0; in reset_one_mii_phy()
103 sungem_phy_write(phy, MII_BCM5201_INTERRUPT, 0); in bcm5201_init()
105 return 0; in bcm5201_init()
110 sungem_phy_write(phy, MII_BCM5201_INTERRUPT, 0); in bcm5201_suspend()
113 return 0; in bcm5201_suspend()
136 return 0; in bcm5221_init()
151 return 0; in bcm5221_suspend()
174 return 0; in bcm5241_init()
189 return 0; in bcm5241_suspend()
208 (void)reset_one_mii_phy(phy, 0x1f); in bcm5400_init()
210 data = __sungem_phy_read(phy, 0x1f, MII_BCM5201_MULTIPHY); in bcm5400_init()
212 __sungem_phy_write(phy, 0x1f, MII_BCM5201_MULTIPHY, data); in bcm5400_init()
218 return 0; in bcm5400_init()
223 #if 0 /* Commented out in Darwin... someone has those dawn docs ? */ in bcm5400_suspend()
226 return 0; in bcm5400_suspend()
234 rev = sungem_phy_read(phy, MII_PHYSID2) & 0x000f; in bcm5401_init()
235 if (rev == 0 || rev == 3) { in bcm5401_init()
247 sungem_phy_write(phy, 0x18, 0x0c20); in bcm5401_init()
248 sungem_phy_write(phy, 0x17, 0x0012); in bcm5401_init()
249 sungem_phy_write(phy, 0x15, 0x1804); in bcm5401_init()
250 sungem_phy_write(phy, 0x17, 0x0013); in bcm5401_init()
251 sungem_phy_write(phy, 0x15, 0x1204); in bcm5401_init()
252 sungem_phy_write(phy, 0x17, 0x8006); in bcm5401_init()
253 sungem_phy_write(phy, 0x15, 0x0132); in bcm5401_init()
254 sungem_phy_write(phy, 0x17, 0x8006); in bcm5401_init()
255 sungem_phy_write(phy, 0x15, 0x0232); in bcm5401_init()
256 sungem_phy_write(phy, 0x17, 0x201f); in bcm5401_init()
257 sungem_phy_write(phy, 0x15, 0x0a20); in bcm5401_init()
268 (void)reset_one_mii_phy(phy, 0x1f); in bcm5401_init()
270 data = __sungem_phy_read(phy, 0x1f, MII_BCM5201_MULTIPHY); in bcm5401_init()
272 __sungem_phy_write(phy, 0x1f, MII_BCM5201_MULTIPHY, data); in bcm5401_init()
274 return 0; in bcm5401_init()
279 #if 0 /* Commented out in Darwin... someone has those dawn docs ? */ in bcm5401_suspend()
282 return 0; in bcm5401_suspend()
292 sungem_phy_write(phy, 0x1c, 0x8c23); in bcm5411_init()
293 sungem_phy_write(phy, 0x1c, 0x8ca3); in bcm5411_init()
294 sungem_phy_write(phy, 0x1c, 0x8c23); in bcm5411_init()
300 sungem_phy_write(phy, MII_BMCR, 0x1340); in bcm5411_init()
309 (void)reset_one_mii_phy(phy, 0x1f); in bcm5411_init()
311 return 0; in bcm5411_init()
321 phy->pause = 0; in genmii_setup_aneg()
342 return 0; in genmii_setup_aneg()
349 phy->autoneg = 0; in genmii_setup_forced()
352 phy->pause = 0; in genmii_setup_forced()
375 return 0; in genmii_setup_forced()
384 if ((status & BMSR_LSTATUS) == 0) in genmii_poll_link()
385 return 0; in genmii_poll_link()
387 return 0; in genmii_poll_link()
406 phy->pause = 0; in genmii_read_link()
412 return 0; in genmii_read_link()
419 return 0; in generic_suspend()
429 /* Revision 0 of 5421 needs some fixups */ in bcm5421_init()
430 if (id == 0x002060e0) { in bcm5421_init()
433 sungem_phy_write(phy, 0x18, 0x1007); in bcm5421_init()
434 data = sungem_phy_read(phy, 0x18); in bcm5421_init()
435 sungem_phy_write(phy, 0x18, data | 0x0400); in bcm5421_init()
436 sungem_phy_write(phy, 0x18, 0x0007); in bcm5421_init()
437 data = sungem_phy_read(phy, 0x18); in bcm5421_init()
438 sungem_phy_write(phy, 0x18, data | 0x0800); in bcm5421_init()
439 sungem_phy_write(phy, 0x17, 0x000a); in bcm5421_init()
440 data = sungem_phy_read(phy, 0x15); in bcm5421_init()
441 sungem_phy_write(phy, 0x15, data | 0x0200); in bcm5421_init()
445 if ((id & 0xfffffff0) == 0x002062e0) { in bcm5421_init()
446 sungem_phy_write(phy, 4, 0x01e1); in bcm5421_init()
447 sungem_phy_write(phy, 9, 0x0300); in bcm5421_init()
456 can_low_power = 0; in bcm5421_init()
459 sungem_phy_write(phy, 0x1c, 0x9002); in bcm5421_init()
460 sungem_phy_write(phy, 0x1c, 0xa821); in bcm5421_init()
461 sungem_phy_write(phy, 0x1c, 0x941d); in bcm5421_init()
466 return 0; in bcm5421_init()
476 phy->pause = 0; in bcm54xx_setup_aneg()
510 return 0; in bcm54xx_setup_aneg()
517 phy->autoneg = 0; in bcm54xx_setup_forced()
520 phy->pause = 0; in bcm54xx_setup_forced()
545 return 0; in bcm54xx_setup_forced()
557 phy->duplex = phy_BCM5400_link_table[link_mode][0] ? in bcm54xx_read_link()
565 ((val & LPA_PAUSE) != 0); in bcm54xx_read_link()
571 return 0; in bcm54xx_read_link()
578 /* magic init sequence for rev 0 */ in marvell88e1111_init()
579 rev = sungem_phy_read(phy, MII_PHYSID2) & 0x000f; in marvell88e1111_init()
580 if (rev == 0) { in marvell88e1111_init()
581 sungem_phy_write(phy, 0x1d, 0x000a); in marvell88e1111_init()
582 sungem_phy_write(phy, 0x1e, 0x0821); in marvell88e1111_init()
584 sungem_phy_write(phy, 0x1d, 0x0006); in marvell88e1111_init()
585 sungem_phy_write(phy, 0x1e, 0x8600); in marvell88e1111_init()
587 sungem_phy_write(phy, 0x1d, 0x000b); in marvell88e1111_init()
588 sungem_phy_write(phy, 0x1e, 0x0100); in marvell88e1111_init()
590 sungem_phy_write(phy, 0x1d, 0x0004); in marvell88e1111_init()
591 sungem_phy_write(phy, 0x1e, 0x4850); in marvell88e1111_init()
593 return 0; in marvell88e1111_init()
604 sungem_phy_write(phy, MII_NCONFIG, 0x1000); in bcm5421_poll_link()
613 sungem_phy_write(phy, MII_NCONFIG, 0x2000); in bcm5421_poll_link()
616 if (phy_reg & 0x0020) in bcm5421_poll_link()
617 return 0; in bcm5421_poll_link()
628 sungem_phy_write(phy, MII_NCONFIG, 0x1000); in bcm5421_read_link()
639 sungem_phy_write(phy, MII_NCONFIG, 0x2000); in bcm5421_read_link()
642 if ( (phy_reg & 0x0080) >> 7) in bcm5421_read_link()
647 return 0; in bcm5421_read_link()
653 sungem_phy_write(phy, MII_NCONFIG, 0x9020); in bcm5421_enable_fiber()
655 sungem_phy_write(phy, MII_NCONFIG, 0x945f); in bcm5421_enable_fiber()
659 sungem_phy_write(phy, MII_NCONFIG, 0xfc01); in bcm5421_enable_fiber()
660 sungem_phy_write(phy, 0x0b, 0x0004); in bcm5421_enable_fiber()
665 return 0; in bcm5421_enable_fiber()
677 sungem_phy_write(phy, MII_NCONFIG, 0x7c00); in bcm5461_poll_link()
686 sungem_phy_write(phy, MII_NCONFIG, 0x7000); in bcm5461_poll_link()
692 return 0; in bcm5461_poll_link()
703 sungem_phy_write(phy, MII_NCONFIG, 0x7c00); in bcm5461_read_link()
715 sungem_phy_write(phy, MII_NCONFIG, 0x7000); in bcm5461_read_link()
723 return 0; in bcm5461_read_link()
729 sungem_phy_write(phy, MII_NCONFIG, 0xfc0b); in bcm5461_enable_fiber()
733 sungem_phy_write(phy, MII_ADVERTISE, 0x01e0); in bcm5461_enable_fiber()
734 sungem_phy_write(phy, MII_BMCR, 0x1140); in bcm5461_enable_fiber()
737 sungem_phy_write(phy, MII_BMCR, 0x0140); in bcm5461_enable_fiber()
742 return 0; in bcm5461_enable_fiber()
752 phy->pause = 0; in marvell_setup_aneg()
793 return 0; in marvell_setup_aneg()
800 phy->autoneg = 0; in marvell_setup_forced()
803 phy->pause = 0; in marvell_setup_forced()
843 return 0; in marvell_setup_forced()
852 if ((status & MII_M1011_PHY_SPEC_STATUS_RESOLVED) == 0) in marvell_read_link()
872 return 0; in marvell_read_link()
900 .phy_id = 0x00406210,
901 .phy_id_mask = 0xfffffff0,
919 .phy_id = 0x004061e0,
920 .phy_id_mask = 0xfffffff0,
937 .phy_id = 0x0143bc30,
938 .phy_id_mask = 0xfffffff0,
956 .phy_id = 0x00206040,
957 .phy_id_mask = 0xfffffff0,
975 .phy_id = 0x00206050,
976 .phy_id_mask = 0xfffffff0,
994 .phy_id = 0x00206070,
995 .phy_id_mask = 0xfffffff0,
1014 .phy_id = 0x002060e0,
1015 .phy_id_mask = 0xfffffff0,
1033 .phy_id = 0x002062e0,
1034 .phy_id_mask = 0xfffffff0,
1052 .phy_id = 0x002060c0,
1053 .phy_id_mask = 0xfffffff0,
1071 .phy_id = 0x002060d0,
1072 .phy_id_mask = 0xfffffff0,
1101 .phy_id = 0x01410c20,
1102 .phy_id_mask = 0xfffffff0,
1109 .phy_id = 0x01410c60,
1110 .phy_id_mask = 0xfffffff0,
1117 .phy_id = 0x01410cc0,
1118 .phy_id_mask = 0xfffffff0,
1134 .phy_id = 0x00000000,
1135 .phy_id_mask = 0x00000000,
1138 .magic_aneg = 0,
1181 for (i=0; (def = mii_phy_table[i]) != NULL; i++) in sungem_phy_probe()
1190 return 0; in sungem_phy_probe()
1192 phy->speed = 0; in sungem_phy_probe()
1193 phy->duplex = 0; in sungem_phy_probe()
1194 phy->pause = 0; in sungem_phy_probe()
1195 phy->advertising = 0; in sungem_phy_probe()