Once the MDIO state machine has been initialized and enabled, it
starts polling all 32 PHY addresses on the MDIO bus, looking for
an active PHY. Add a 5 ms delay, so all PHYs are for sure detected.

This problem was detected on the cmc board with a KSZ8864 switch.

Signed-off-by: Heiko Schocher <h...@denx.de>
---
 drivers/net/davinci_emac.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c
index d58c28b..a8905b8 100644
--- a/drivers/net/davinci_emac.c
+++ b/drivers/net/davinci_emac.c
@@ -680,6 +680,9 @@ int davinci_emac_initialize(void)
 
        davinci_eth_mdio_enable();
 
+       /* let the EMAC detect the PHYs */
+       udelay(5000);
+
        for (i = 0; i < 256; i++) {
                if (readl(&adap_mdio->ALIVE))
                        break;
-- 
1.7.6

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to