diff options
author | Wolfram Sang <w.sang@pengutronix.de> | 2012-01-24 14:53:51 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-01-25 18:10:26 +0100 |
commit | 79b385b01731ca585bc67baae2e847505f9d8c70 (patch) | |
tree | d309b4851d2e2e35f0e9ff498672c0affd67b0a5 /drivers/net | |
parent | cae7e5b7f92c31cb1b2b20256865ab60cb2c854c (diff) | |
download | barebox-79b385b01731ca585bc67baae2e847505f9d8c70.tar.gz barebox-79b385b01731ca585bc67baae2e847505f9d8c70.tar.xz |
net: fec_imx: configure FEC for 10Mbit when necessary
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/fec_imx.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/fec_imx.c b/drivers/net/fec_imx.c index 45af78f567..653b4888d5 100644 --- a/drivers/net/fec_imx.c +++ b/drivers/net/fec_imx.c @@ -373,6 +373,17 @@ static int fec_open(struct eth_device *edev) ret = miidev_wait_aneg(&fec->miidev); if (ret) return ret; + + ret = miidev_get_status(&fec->miidev); + if (ret < 0) + return ret; + + if (ret & MIIDEV_STATUS_IS_10MBIT) { + u32 rcntl = readl(fec->regs + FEC_R_CNTRL); + rcntl |= FEC_R_CNTRL_RMII_10T; + writel(rcntl, fec->regs + FEC_R_CNTRL); + } + miidev_print_status(&fec->miidev); } |