@ -400,6 +400,7 @@ static int fec_init(struct eth_device *dev, bd_t* bd)
{
uint32_t base ;
struct fec_priv * fec = ( struct fec_priv * ) dev - > priv ;
uint32_t rcntrl ;
/* Initialize MAC address */
fec_set_hwaddr ( dev ) ;
@ -442,19 +443,19 @@ static int fec_init(struct eth_device *dev, bd_t* bd)
/*
* Set FEC - Lite receive control register ( R_CNTRL ) :
*/
if ( fec - > xcv_type = = SEVENWIRE ) {
/*
* Frame length = 1518 ; 7 - wire mode
*/
writel ( 0x05ee0020 , & fec - > eth - > r_cntrl ) ; /* FIXME 0x05ee0000 */
} else {
/*
* Frame length = 1518 ; MII mode ;
*/
writel ( 0x05ee0024 , & fec - > eth - > r_cntrl ) ; /* FIXME 0x05ee0004 */
/* Start with frame length = 1518, common for all modes. */
rcntrl = PKTSIZE < < FEC_RCNTRL_MAX_FL_SHIFT ;
if ( fec - > xcv_type = = SEVENWIRE )
rcntrl | = FEC_RCNTRL_FCE ;
else /* MII mode */
rcntrl | = FEC_RCNTRL_FCE | FEC_RCNTRL_MII_MODE ;
writel ( rcntrl , & fec - > eth - > r_cntrl ) ;
if ( fec - > xcv_type = = MII10 | | fec - > xcv_type = = MII100 )
fec_mii_setspeed ( fec ) ;
}
/*
* Set Opcode / Pause Duration Register
*/
@ -731,7 +732,8 @@ static int fec_probe(bd_t *bd)
/*
* Frame length = 1518 ; MII mode ;
*/
writel ( 0x05ee0024 , & fec - > eth - > r_cntrl ) ; /* FIXME 0x05ee0004 */
writel ( ( PKTSIZE < < FEC_RCNTRL_MAX_FL_SHIFT ) | FEC_RCNTRL_FCE |
FEC_RCNTRL_MII_MODE , & fec - > eth - > r_cntrl ) ;
fec_mii_setspeed ( fec ) ;
sprintf ( edev - > name , " FEC " ) ;