MDIO clock speed computation
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/