@ -22,6 +22,13 @@
# include "bfin_mac.h"
# ifndef CONFIG_PHY_ADDR
# define CONFIG_PHY_ADDR 1
# endif
# ifndef CONFIG_PHY_CLOCK_FREQ
# define CONFIG_PHY_CLOCK_FREQ 2500000
# endif
# ifdef CONFIG_POST
# include <post.h>
# endif
@ -265,14 +272,14 @@ static int bfin_miiphy_init(struct eth_device *dev, int *opmode)
/* Odd word alignment for Receive Frame DMA word */
/* Configure checksum support and rcve frame word alignment */
bfin_write_EMAC_SYSCTL ( RXDWA | RXCKS | SET_MDCDIV ( MDC_FREQ_TO_DIV ( 2500000 ) ) ) ;
bfin_write_EMAC_SYSCTL ( RXDWA | RXCKS | SET_MDCDIV ( MDC_FREQ_TO_DIV ( CONFIG_PHY_CLOCK_FREQ ) ) ) ;
/* turn on auto-negotiation and wait for link to come up */
bfin_miiphy_write ( dev - > name , PHYADDR , MII_BMCR , BMCR_ANENABLE ) ;
bfin_miiphy_write ( dev - > name , CONFIG_ PHY_ ADDR, MII_BMCR , BMCR_ANENABLE ) ;
count = 0 ;
while ( 1 ) {
+ + count ;
if ( bfin_miiphy_read ( dev - > name , PHYADDR , MII_BMSR , & phydat ) )
if ( bfin_miiphy_read ( dev - > name , CONFIG_ PHY_ ADDR, MII_BMSR , & phydat ) )
return - 1 ;
if ( phydat & BMSR_LSTATUS )
break ;
@ -284,7 +291,7 @@ static int bfin_miiphy_init(struct eth_device *dev, int *opmode)
}
/* see what kind of link we have */
if ( bfin_miiphy_read ( dev - > name , PHYADDR , MII_LPA , & phydat ) )
if ( bfin_miiphy_read ( dev - > name , CONFIG_ PHY_ ADDR, MII_LPA , & phydat ) )
return - 1 ;
if ( phydat & LPA_DUPLEX )
* opmode = FDMODE ;