MPC857T FEC/MII failure

Kerl, John John.Kerl at
Fri Aug 23 06:12:39 EST 2002


I am experiencing a problem with the MPC857T FEC's MII interface.

I want to read MII registers for our PHY (ID 24 on our board).  Per the

*	I write 0x36 to MII_SPEED (IMMR + 0xe84).  An oscilloscope probe
	on the PHY's MDC pin reveals a 1.235 MHz rate, within spec.

*	I write 0x6c060000 to MII_DATA (IMMR + 0xe80).
	This is:

	-	ST=01
	-	OP=10
	-	ID=11000
	-	REG=00001
	-	TA=10

The data read back in the second 16 bits of MII_DATA are always 0xffff.
This is
in fact regardless of the PHY ID (I've tried all 32) or register (I've tried
all 32).
There are two concomitant symptoms:

*	If I put oscilloscope probes on the PHY's MDC and MDIO pins, then
	at the MDIO pin's values at the rising edges of MDC, I see that the
	has actually written the following:

	-	ST=01
	-	OP=10
	-	ID=11000
	-	REG=00001
	-	TA=11

	which is *not* what I asked it to do.

*	If I read back the MII_DATA register, *even though* I wrote
	I read back the value 0x6c07ffff.  Note that the second 6 is now a

In short, I formulate a compliant request (TA=10), then the FEC mangles it
(TA=11) and drives that out.  It is no wonder the PHY doesn't respond.

This problem is observable in our debug monitor using simple peek and poke.
Thus, this is more of a PPC question than a Linux question.

Has anyone seen anything similar?


** Sent via the linuxppc-embedded mail list. See

More information about the Linuxppc-embedded mailing list