mirror of
https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot-2016.git
synced 2026-03-14 21:10:27 +01:00
NET: fec_mxc: fix MDIO clock prescaler calculation
The prescaler value for MDC is calculated wrong for MX6S. Implement the same logic as linux here which handles ENET_MAC different then original FEC. Tested on a custom board with i.MX6S and 100MBit PHY Signed-off-by: Markus Niebel <Markus.Niebel@tqs.de>
This commit is contained in:
parent
adadc915b3
commit
6ba45cc0f8
1 changed files with 6 additions and 2 deletions
|
|
@ -128,8 +128,12 @@ static void fec_mii_setspeed(struct ethernet_regs *eth)
|
|||
* Set MII_SPEED = (1/(mii_speed * 2)) * System Clock
|
||||
* and do not drop the Preamble.
|
||||
*/
|
||||
writel((((imx_get_fecclk() / 1000000) + 2) / 5) << 1,
|
||||
ð->mii_speed);
|
||||
register u32 speed = DIV_ROUND_UP(imx_get_fecclk(), 5000000);
|
||||
#ifdef FEC_QUIRK_ENET_MAC
|
||||
speed--;
|
||||
#endif
|
||||
speed <<= 1;
|
||||
writel(speed, ð->mii_speed);
|
||||
debug("%s: mii_speed %08x\n", __func__, readl(ð->mii_speed));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue