Message ID | 1316065062-5729-1-git-send-email-hs@denx.de |
---|---|
State | Accepted |
Commit | 19fdf9a1c338c408b992f3d0a7fd03b4207b8cf9 |
Headers | show |
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;
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 <hs@denx.de> --- drivers/net/davinci_emac.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)