Thread (1 message) 1 message, 1 author, 2005-03-08

Re: [Bugme-new] [Bug 4310] New: ppc 8260 fcc ethernet driver cannot read LXT971 PHY id

From: Andrew Morton <hidden>
Date: 2005-03-08 19:49:32
Also in: linuxppc-dev

I'm not sure that we have a maintainer for fcc_enet.c.  Could you
please send in a tested diff?

bugme-daemon@osdl.org wrote:
http://bugme.osdl.org/show_bug.cgi?id=4310

           Summary: ppc 8260 fcc ethernet driver cannot read LXT971 PHY id
    Kernel Version: 2.6.10
            Status: NEW
          Severity: normal
             Owner: platform_ppc-32@kernel-bugs.osdl.org
         Submitter: oray@lucent.com


Distribution: www.kernel.org
Hardware Environment: Target: PowerPC 8260 custom board
Software Environment: Red Hat 9 cross development using ELDK 3.1 distribution.
Problem Description: Fast ethernet driver (fcc_enet.c) initialization fails to
read a valid id from registers 2 and 3 of the LXT971 PHY device and calls the
panic routine. The bug is in the mii_send_receive() function. During the read
phase, per LXT971 data sheet, the device starts driving the MDIO line after the
rising edge of the MDC clock and it could take up to 150ns before the data
settles. The driver reads the MDIO line before waiting for the data to settle
down and thus reads in garbage. I fixed the problem by moving the sampling of
the MDIO line to after the MDC clock is taken low. The code snippet follows:   


                for (i = 0, off = 15; i < 16; i++, off--)
                {
#define FCC_8260_BUG
                        FCC_PDATC_MDC(1);
                        retval <<= 1;
#ifndef FCC_8260_BUG
                        if (io->iop_pdatc & fip->fc_mdio)
                                retval++;
                        udelay(1);
                        FCC_PDATC_MDC(0);
#else
                        udelay(1);
                        FCC_PDATC_MDC(0);
                        if (io->iop_pdatc & fip->fc_mdio)
                                retval++;
#endif
                        udelay(1);
#undef FCC_8260_BUG
                }


Steps to reproduce: Is likely to happen on an 8260 target with any kind of PHY,
not just the LXT971, hooked up to the FCC port.

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help