Lines Matching +full:0 +full:x8006

37 	{ 0, 0, 0 },	/* No link */
38 { 0, 0, 0 }, /* 10BT Half Duplex */
39 { 1, 0, 0 }, /* 10BT Full Duplex */
40 { 0, 1, 0 }, /* 100BT Half Duplex */
41 { 0, 1, 0 }, /* 100BT Half Duplex */
42 { 1, 1, 0 }, /* 100BT Full Duplex*/
43 { 1, 0, 1 }, /* 1000BT */
44 { 1, 0, 1 }, /* 1000BT */
81 if ((val & BMCR_RESET) == 0) in reset_one_mii_phy()
85 if ((val & BMCR_ISOLATE) && limit > 0) in reset_one_mii_phy()
88 return limit <= 0; in reset_one_mii_phy()
99 sungem_phy_write(phy, MII_BCM5201_INTERRUPT, 0); in bcm5201_init()
101 return 0; in bcm5201_init()
106 sungem_phy_write(phy, MII_BCM5201_INTERRUPT, 0); in bcm5201_suspend()
109 return 0; in bcm5201_suspend()
132 return 0; in bcm5221_init()
147 return 0; in bcm5221_suspend()
170 return 0; in bcm5241_init()
185 return 0; in bcm5241_suspend()
204 (void)reset_one_mii_phy(phy, 0x1f); in bcm5400_init()
206 data = __sungem_phy_read(phy, 0x1f, MII_BCM5201_MULTIPHY); in bcm5400_init()
208 __sungem_phy_write(phy, 0x1f, MII_BCM5201_MULTIPHY, data); in bcm5400_init()
214 return 0; in bcm5400_init()
219 #if 0 /* Commented out in Darwin... someone has those dawn docs ? */ in bcm5400_suspend()
222 return 0; in bcm5400_suspend()
230 rev = sungem_phy_read(phy, MII_PHYSID2) & 0x000f; in bcm5401_init()
231 if (rev == 0 || rev == 3) { in bcm5401_init()
243 sungem_phy_write(phy, 0x18, 0x0c20); in bcm5401_init()
244 sungem_phy_write(phy, 0x17, 0x0012); in bcm5401_init()
245 sungem_phy_write(phy, 0x15, 0x1804); in bcm5401_init()
246 sungem_phy_write(phy, 0x17, 0x0013); in bcm5401_init()
247 sungem_phy_write(phy, 0x15, 0x1204); in bcm5401_init()
248 sungem_phy_write(phy, 0x17, 0x8006); in bcm5401_init()
249 sungem_phy_write(phy, 0x15, 0x0132); in bcm5401_init()
250 sungem_phy_write(phy, 0x17, 0x8006); in bcm5401_init()
251 sungem_phy_write(phy, 0x15, 0x0232); in bcm5401_init()
252 sungem_phy_write(phy, 0x17, 0x201f); in bcm5401_init()
253 sungem_phy_write(phy, 0x15, 0x0a20); in bcm5401_init()
264 (void)reset_one_mii_phy(phy, 0x1f); in bcm5401_init()
266 data = __sungem_phy_read(phy, 0x1f, MII_BCM5201_MULTIPHY); in bcm5401_init()
268 __sungem_phy_write(phy, 0x1f, MII_BCM5201_MULTIPHY, data); in bcm5401_init()
270 return 0; in bcm5401_init()
275 #if 0 /* Commented out in Darwin... someone has those dawn docs ? */ in bcm5401_suspend()
278 return 0; in bcm5401_suspend()
288 sungem_phy_write(phy, 0x1c, 0x8c23); in bcm5411_init()
289 sungem_phy_write(phy, 0x1c, 0x8ca3); in bcm5411_init()
290 sungem_phy_write(phy, 0x1c, 0x8c23); in bcm5411_init()
296 sungem_phy_write(phy, MII_BMCR, 0x1340); in bcm5411_init()
305 (void)reset_one_mii_phy(phy, 0x1f); in bcm5411_init()
307 return 0; in bcm5411_init()
317 phy->pause = 0; in genmii_setup_aneg()
338 return 0; in genmii_setup_aneg()
345 phy->autoneg = 0; in genmii_setup_forced()
348 phy->pause = 0; in genmii_setup_forced()
371 return 0; in genmii_setup_forced()
380 if ((status & BMSR_LSTATUS) == 0) in genmii_poll_link()
381 return 0; in genmii_poll_link()
383 return 0; in genmii_poll_link()
402 phy->pause = 0; in genmii_read_link()
408 return 0; in genmii_read_link()
415 return 0; in generic_suspend()
425 /* Revision 0 of 5421 needs some fixups */ in bcm5421_init()
426 if (id == 0x002060e0) { in bcm5421_init()
429 sungem_phy_write(phy, 0x18, 0x1007); in bcm5421_init()
430 data = sungem_phy_read(phy, 0x18); in bcm5421_init()
431 sungem_phy_write(phy, 0x18, data | 0x0400); in bcm5421_init()
432 sungem_phy_write(phy, 0x18, 0x0007); in bcm5421_init()
433 data = sungem_phy_read(phy, 0x18); in bcm5421_init()
434 sungem_phy_write(phy, 0x18, data | 0x0800); in bcm5421_init()
435 sungem_phy_write(phy, 0x17, 0x000a); in bcm5421_init()
436 data = sungem_phy_read(phy, 0x15); in bcm5421_init()
437 sungem_phy_write(phy, 0x15, data | 0x0200); in bcm5421_init()
441 if ((id & 0xfffffff0) == 0x002062e0) { in bcm5421_init()
442 sungem_phy_write(phy, 4, 0x01e1); in bcm5421_init()
443 sungem_phy_write(phy, 9, 0x0300); in bcm5421_init()
452 can_low_power = 0; in bcm5421_init()
456 sungem_phy_write(phy, 0x1c, 0x9002); in bcm5421_init()
457 sungem_phy_write(phy, 0x1c, 0xa821); in bcm5421_init()
458 sungem_phy_write(phy, 0x1c, 0x941d); in bcm5421_init()
463 return 0; in bcm5421_init()
473 phy->pause = 0; in bcm54xx_setup_aneg()
507 return 0; in bcm54xx_setup_aneg()
514 phy->autoneg = 0; in bcm54xx_setup_forced()
517 phy->pause = 0; in bcm54xx_setup_forced()
542 return 0; in bcm54xx_setup_forced()
554 phy->duplex = phy_BCM5400_link_table[link_mode][0] ? in bcm54xx_read_link()
562 ((val & LPA_PAUSE) != 0); in bcm54xx_read_link()
568 return 0; in bcm54xx_read_link()
575 /* magic init sequence for rev 0 */ in marvell88e1111_init()
576 rev = sungem_phy_read(phy, MII_PHYSID2) & 0x000f; in marvell88e1111_init()
577 if (rev == 0) { in marvell88e1111_init()
578 sungem_phy_write(phy, 0x1d, 0x000a); in marvell88e1111_init()
579 sungem_phy_write(phy, 0x1e, 0x0821); in marvell88e1111_init()
581 sungem_phy_write(phy, 0x1d, 0x0006); in marvell88e1111_init()
582 sungem_phy_write(phy, 0x1e, 0x8600); in marvell88e1111_init()
584 sungem_phy_write(phy, 0x1d, 0x000b); in marvell88e1111_init()
585 sungem_phy_write(phy, 0x1e, 0x0100); in marvell88e1111_init()
587 sungem_phy_write(phy, 0x1d, 0x0004); in marvell88e1111_init()
588 sungem_phy_write(phy, 0x1e, 0x4850); in marvell88e1111_init()
590 return 0; in marvell88e1111_init()
601 sungem_phy_write(phy, MII_NCONFIG, 0x1000); in bcm5421_poll_link()
610 sungem_phy_write(phy, MII_NCONFIG, 0x2000); in bcm5421_poll_link()
613 if (phy_reg & 0x0020) in bcm5421_poll_link()
614 return 0; in bcm5421_poll_link()
625 sungem_phy_write(phy, MII_NCONFIG, 0x1000); in bcm5421_read_link()
636 sungem_phy_write(phy, MII_NCONFIG, 0x2000); in bcm5421_read_link()
639 if ( (phy_reg & 0x0080) >> 7) in bcm5421_read_link()
644 return 0; in bcm5421_read_link()
650 sungem_phy_write(phy, MII_NCONFIG, 0x9020); in bcm5421_enable_fiber()
652 sungem_phy_write(phy, MII_NCONFIG, 0x945f); in bcm5421_enable_fiber()
656 sungem_phy_write(phy, MII_NCONFIG, 0xfc01); in bcm5421_enable_fiber()
657 sungem_phy_write(phy, 0x0b, 0x0004); in bcm5421_enable_fiber()
662 return 0; in bcm5421_enable_fiber()
674 sungem_phy_write(phy, MII_NCONFIG, 0x7c00); in bcm5461_poll_link()
683 sungem_phy_write(phy, MII_NCONFIG, 0x7000); in bcm5461_poll_link()
689 return 0; in bcm5461_poll_link()
700 sungem_phy_write(phy, MII_NCONFIG, 0x7c00); in bcm5461_read_link()
712 sungem_phy_write(phy, MII_NCONFIG, 0x7000); in bcm5461_read_link()
720 return 0; in bcm5461_read_link()
726 sungem_phy_write(phy, MII_NCONFIG, 0xfc0b); in bcm5461_enable_fiber()
730 sungem_phy_write(phy, MII_ADVERTISE, 0x01e0); in bcm5461_enable_fiber()
731 sungem_phy_write(phy, MII_BMCR, 0x1140); in bcm5461_enable_fiber()
734 sungem_phy_write(phy, MII_BMCR, 0x0140); in bcm5461_enable_fiber()
739 return 0; in bcm5461_enable_fiber()
749 phy->pause = 0; in marvell_setup_aneg()
790 return 0; in marvell_setup_aneg()
797 phy->autoneg = 0; in marvell_setup_forced()
800 phy->pause = 0; in marvell_setup_forced()
840 return 0; in marvell_setup_forced()
849 if ((status & MII_M1011_PHY_SPEC_STATUS_RESOLVED) == 0) in marvell_read_link()
869 return 0; in marvell_read_link()
897 .phy_id = 0x00406210,
898 .phy_id_mask = 0xfffffff0,
916 .phy_id = 0x004061e0,
917 .phy_id_mask = 0xfffffff0,
935 .phy_id = 0x0143bc30,
936 .phy_id_mask = 0xfffffff0,
954 .phy_id = 0x00206040,
955 .phy_id_mask = 0xfffffff0,
973 .phy_id = 0x00206050,
974 .phy_id_mask = 0xfffffff0,
992 .phy_id = 0x00206070,
993 .phy_id_mask = 0xfffffff0,
1012 .phy_id = 0x002060e0,
1013 .phy_id_mask = 0xfffffff0,
1031 .phy_id = 0x002062e0,
1032 .phy_id_mask = 0xfffffff0,
1050 .phy_id = 0x002060c0,
1051 .phy_id_mask = 0xfffffff0,
1069 .phy_id = 0x002060d0,
1070 .phy_id_mask = 0xfffffff0,
1099 .phy_id = 0x01410c20,
1100 .phy_id_mask = 0xfffffff0,
1108 .phy_id = 0x01410c60,
1109 .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()