mirror of
https://github.com/apache/nuttx.git
synced 2026-06-06 16:50:55 +08:00
arch/arm/src/imxrt/imxrt_enet.c: The board would not come up if I ran Nuttx from cold. I dumped the PHY registers to see what the differences were and the PHY was coming up in NANDTree mode. This is a mode for testing connectivity between the PHY and the MAC. Switching this mode off in the PHY registers has fixed the problem.
This commit is contained in:
committed by
Gregory Nutt
parent
ec498d2660
commit
681609ad51
@@ -2025,9 +2025,23 @@ static inline int imxrt_initphy(struct imxrt_driver_s *priv)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Indicate 50MHz clock */
|
||||
|
||||
imxrt_writemii(priv, phyaddr, MII_KSZ8081_PHYCTRL2,
|
||||
(phydata | (1 << 7)));
|
||||
|
||||
/* Switch off NAND Tree mode */
|
||||
|
||||
ret = imxrt_readmii(priv, phyaddr, MII_KSZ8081_OMSO, &phydata);
|
||||
if (ret < 0)
|
||||
{
|
||||
nerr("ERROR: Failed to read MII_KSZ8081_OMSO: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
imxrt_writemii(priv, phyaddr, MII_KSZ8081_OMSO,
|
||||
(phydata & ~(1 << 5)));
|
||||
|
||||
/* Start auto negotiation */
|
||||
|
||||
ninfo("%s: Start Autonegotiation...\n", BOARD_PHY_NAME);
|
||||
|
||||
Reference in New Issue
Block a user