diff options
| author | Marek Vasut <marek.vasut@gmail.com> | 2011-09-11 18:05:31 +0000 | 
|---|---|---|
| committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2011-09-30 22:01:01 +0200 | 
| commit | 9eb3770b7b32d672f5e812788976e72d4c6ed8af (patch) | |
| tree | 14461afdc29b9f632b340eaebd14dd00bc1314cd /drivers/net/fec_mxc.c | |
| parent | 77dbd6ab7fcd8e24c14a7512417fa3b9c14ac786 (diff) | |
| download | olio-uboot-2014.01-9eb3770b7b32d672f5e812788976e72d4c6ed8af.tar.xz olio-uboot-2014.01-9eb3770b7b32d672f5e812788976e72d4c6ed8af.zip | |
FEC: Kill mode select FIXME's
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Ben Warren <biggerbadderben@gmail.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Diffstat (limited to 'drivers/net/fec_mxc.c')
| -rw-r--r-- | drivers/net/fec_mxc.c | 26 | 
1 files changed, 14 insertions, 12 deletions
| diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c index 8e0d30a13..9a99272ff 100644 --- a/drivers/net/fec_mxc.c +++ b/drivers/net/fec_mxc.c @@ -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"); |