[U-Boot] [PATCH] net, davinci_emac: let the EMAC detect the PHYs

Heiko Schocher hs at denx.de
Thu Sep 15 07:37:42 CEST 2011


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 at 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



More information about the U-Boot mailing list