iMX6ULL intermittent Ethernet PHY issue

Colibri iMX6ULL 512MB Wi-Fi - Bluetooth IT SoM (#00401100)
Custom Carrier based on Iris
BSP 3.0b4

Hi,

On two of the iMX6ULL modules, we have seen an odd Ethernet issue where the PHY is not responsive. The ethtool utility reports the following:

root@colibri# ethtool eth0
Settings for eth0:
Cannot get device settings: No such device
        Supports Wake-on: g
        Wake-on: d
        Link detected: no

I installed phytool and it is also unable to detect the PHY (at address 0x02):

root@colibri:~# phytool print eth0/0x02
error: phy_read (-22)
error: phy_read (-22)
error: phy_read (-22)
error: phy_read (-22)
ieee-phy: id:0xffeaffea

error: phy_read (-22)

error: phy_read (-22)

uboot reports:

Net:   Could not get PHY for FEC1: addr 2
eth-1: ethernet@020b4000

From the status LEDs on the Ethernet switch this is connected to, there is a link. The problem appears to be between the MAC and PHY (on module).

The only way I have ever been able to get the Ethernet is to issue a reset command from uboot. This resets the whole module and the PHY is detected as normal. This remains the case once Linux has booted and there don’t seem to be any performance issues.

However as soon as we issue a reboot command from Linux and the module resets, the PHY is again not detected by uboot or Linux.

Are you able to suggest anything further to test? Is there some way we can issue a reset to PHY from linux?

Thanks
Matthew

Hello Can you please try if these modules work on the IRIS carrier board or EVB.
I just want to exclude that this is something with your carrier board.

Best Regards,

Matthias Gohke

Hi,

Yes, it does appear to work on the IRIS carrier board.

I suspect I may have found the issue and would appreciate your thoughts and comments regarding this.

Our product is designed to be as low power as possible and so we have not populated the Ethernet link and activity LEDs or series resistors (also due to our case design you would not be able to see these LEDs in any case). This was the only difference I could see between our design and the IRIS design for the Ethernet circuit.

I soldered on the series resistors and LEDs and now for at least one of the two modules, the issue has gone away.

The LED lines of the PHY (KSZ8041) are used for configuration strapping so this leads me to suspect that something is “on the edge” for these modules where I have seen the issue and on startup, the incorrect configuration is read.

For both of these pins, the PHY seems to have internal pull-ups (40k) for default configuration so I am not 100% sure if my above assumption is correct however, the evidence does seem to support the fact that having the LED in place fixes the issue. Also, neither of the options configured by the LED pins would prevent MAC to PHY communication as I was seeing.

It would be great to get your opinion/thoughts on this as well as a suggestion as to what we can do instead of using the LEDs.

Thanks
Matthew

Hello can you please share your schematic part for review. You can send it to support@toradex.com.
please mention this post in the email by posting the link.

Best Regards,

Matthias Gohlke