diff options
Diffstat (limited to 'drivers/net/xilinx_axi_emac.c')
-rw-r--r-- | drivers/net/xilinx_axi_emac.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/xilinx_axi_emac.c b/drivers/net/xilinx_axi_emac.c index 4d87e2d1f36..c8038ddef1b 100644 --- a/drivers/net/xilinx_axi_emac.c +++ b/drivers/net/xilinx_axi_emac.c @@ -11,6 +11,7 @@ #include <display_options.h> #include <dm.h> #include <dm/device_compat.h> +#include <env.h> #include <log.h> #include <net.h> #include <malloc.h> @@ -343,6 +344,8 @@ static int axiemac_phy_init(struct udevice *dev) static int pcs_pma_startup(struct axidma_priv *priv) { + u32 aneg_timeout = env_get_ulong("phy_aneg_timeout", 10, + CONFIG_PHY_ANEG_TIMEOUT); u32 rc, retry_cnt = 0; u16 mii_reg; @@ -361,7 +364,7 @@ static int pcs_pma_startup(struct axidma_priv *priv) * and the external PHY is not obtained. */ debug("axiemac: waiting for link status of the PCS/PMA PHY"); - while (retry_cnt * 10 < CONFIG_PHY_ANEG_TIMEOUT) { + while (retry_cnt * 10 < aneg_timeout) { rc = phyread(priv, priv->pcsaddr, MII_BMSR, &mii_reg); if ((mii_reg & BMSR_LSTATUS) && mii_reg != 0xffff && !rc) { debug(".Done\n"); |