diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2009-07-30 16:09:59 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2009-07-30 16:09:59 +0200 |
commit | 6437a0156ad8001fb5f115e4ff5c29865acba6ed (patch) | |
tree | 95da54b09aad67244a6dc84126784d1360a21955 /drivers/net | |
parent | d3e15e7eed461e5ffb7b9f7d90c992e577c3c441 (diff) | |
download | barebox-6437a0156ad8001fb5f115e4ff5c29865acba6ed.tar.gz barebox-6437a0156ad8001fb5f115e4ff5c29865acba6ed.tar.xz |
fec_imx: Make sure MII speed is correct before reading the phy
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/fec_imx.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/fec_imx.c b/drivers/net/fec_imx.c index 067e1f3e06..35ac670767 100644 --- a/drivers/net/fec_imx.c +++ b/drivers/net/fec_imx.c @@ -54,6 +54,8 @@ static int fec_miiphy_read(struct miiphy_device *mdev, uint8_t phyAddr, uint32_t phy; /* convenient holder for the PHY */ uint64_t start; + writel(((imx_get_fecclk() >> 20) / 5) << 1, + fec->regs + FEC_MII_SPEED); /* * reading from any PHY's register is done by properly * programming the FEC's MII data register. @@ -98,6 +100,9 @@ static int fec_miiphy_write(struct miiphy_device *mdev, uint8_t phyAddr, uint32_t phy; /* convenient holder for the PHY */ uint64_t start; + writel(((imx_get_fecclk() >> 20) / 5) << 1, + fec->regs + FEC_MII_SPEED); + reg = regAddr << FEC_MII_DATA_RA_SHIFT; phy = phyAddr << FEC_MII_DATA_PA_SHIFT; |