Skip to contentSkip to conversation

MDIO clock speed computation

DISCUSSION Pavel Bartusek 1 participant 1 message Jul 22, 2002

lore
Share & tools
lore
#0 lore raw

Hi there,

I found a little problem with computation of MDIO clock speed in linux/arch/ppc/8xx_io/fec.c
The MPC855T users manual: "The MII_SPEED field must be programmed with a value to provide an MDC frequency of less than or equal to 2.5 MHz to comply with the IEEE MII specification."
The code produces ie. value 0x18 to the MII Speed Control Register for 64MHz system clock it means 2.67Mhz MDIO clock.

This patch will repair it.

       /* Set MII speed to 2.5 MHz
       */
       fecp->fec_mii_speed = fep->phy_speed =
-               (( (bd->bi_intfreq + 500000) / 2500000 / 2 ) & 0x3F ) << 1;
+               (( (bd->bi_intfreq + (2500000-1)) / 2500000 / 2 ) & 0x3F
) << 1;
#else
       fecp->fec_mii_speed = 0;        /* turn off MDIO */

#endif /* CONFIG_USE_MDIO */

--

----------------------------------------------------------------------

|                          Pavel Bartusek                            |
|                                                                    |
| Sysgo RTS GmbH,                     phone: +49 (0) 6136 9948-722   |
| Am Pfaffenstein 14                  fax:   +49 (0) 6136 9948-10    |
| D-55270 Klein-Winternheim           email: [email protected]            |
| Germany                                                            |
|                                                                    |
|       http://www.sysgo.de           http://www.elinos.com          |
|                                                                    |

----------------------------------------------------------------------

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/