I' trying to debug an issue I'm having with a LAN8720 chip.
The chip is connected to a iMX283 SoC and is working with the REFCLK provided by the SoC.
The SoC is running Linux v5.7 with the Freescale FEC and the SMSC LAN8710/20 drivers.
The issue is that when the PHY chip reports the link to be up, the Linux driver performs a hardware reset of its MAC module, which leads to the PHY losing the link. The LEDs on the ethernet port turn off at this time and autonegotiation restarts.
I'm pretty sure the issue occurs exactly at the time of the hard reset as (1) I tried adding delay before the reset and (2) changing the hard for a soft reset works fine (I'm not sure of the exact differences between these two reset modes though).
I'm trying to work out what is happening and whether this is a problem with the hardware or the software. I would be very grateful if someone could advise on the following questions:
- What could possibly cause the link to drop? I'm thinking that if the REFCLK gets disturbed or turned off temporarily this might produce this behavior. Any other likely possibilities?
- Looking at the RXP/RXN signals showed that the signaling between the magnetics module and the PHY chip abruptly and completely stop at the time the link goes down (see attached picture for an example). Is this expected or would this rather indicate an issue with, e.g., power? I doubt that the PHY chip resets itself as this would clear the interrupt mask, which is not the case.
I would be very grateful for any help with this issue.