diff options
author | Tom Rini <trini@ti.com> | 2014-04-25 14:53:51 -0400 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-04-25 14:53:51 -0400 |
commit | 080d897585428d0fd42c237abfb6746908f4effc (patch) | |
tree | dc65d6d4bbbf1a7f06bbb045a981270a7624ec67 /drivers/net/fm/memac_phy.c | |
parent | adcdeacc3eda1e5949e54062aa99c299e12483be (diff) | |
parent | 08ad9b068afb8842df4cd559c327f54a42811a8d (diff) | |
download | u-boot-imx-080d897585428d0fd42c237abfb6746908f4effc.zip u-boot-imx-080d897585428d0fd42c237abfb6746908f4effc.tar.gz u-boot-imx-080d897585428d0fd42c237abfb6746908f4effc.tar.bz2 |
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Diffstat (limited to 'drivers/net/fm/memac_phy.c')
-rw-r--r-- | drivers/net/fm/memac_phy.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/fm/memac_phy.c b/drivers/net/fm/memac_phy.c index 140e59b..2f4bc11 100644 --- a/drivers/net/fm/memac_phy.c +++ b/drivers/net/fm/memac_phy.c @@ -133,5 +133,17 @@ int fm_memac_mdio_init(bd_t *bis, struct memac_mdio_info *info) bus->priv = info->regs; + /* + * On some platforms like B4860, default value of MDIO_CLK_DIV bits + * in mdio_stat(mdio_cfg) register generates MDIO clock too high + * (much higher than 2.5MHz), violating the IEEE specs. + * On other platforms like T1040, default value of MDIO_CLK_DIV bits + * is zero, so MDIO clock is disabled. + * So, for proper functioning of MDIO, MDIO_CLK_DIV bits needs to + * be properly initialized. + */ + setbits_be32(&((struct memac_mdio_controller *)info->regs)->mdio_stat, + MDIO_STAT_CLKDIV(258)); + return mdio_register(bus); } |