Hello,
I am in the process of updating one of our older i.MX6 Solo based products from an older 4.9.11 Linux kernel to a newer 6.1.55-2.2.1 Linux kernel (from linux-imx repository). So far I have been able to boot the device but we are having a problem with ethernet (FEC) connectivity. The FEC driver and Micrel 9031 PHY that we are using are recognized and loaded by the kernel but there is no network communication. The RJ45 network jack has its LEDs blinking normally but there is no data (other than ARP requests) going through the interface. I found that if I add a fixed-link property (see below) to the device tree then I are able to get data in and out of the ethernet port and can ping. The problem is that we can’t have the port fixed at a particular speed as we need to be able to support both 100 Mbps and 1000 Mbps. I would appreciate any help.
Here are snippets from our device tree that are relevant to the ethernet FEC. It works with the fixed-link node and if we remove the fixed-link node we get nothing out of the ethernet port.
Top-level DTS file snippet:
[...]
[...]
DTSI file ourcustom.dtsi snippet:
[…]
&fec {
phy-mode = "rgmii";
status = "okay";
fixed-link {
speed = <1000>;
full-duplex;
};
};
[…]
Thanks,
Patrick
Can confirm I'm having the same issues using linux-imx branch imx_5.4.70_2.3.0
The FEC claims to be UP and working, I can check the PHY status using phytool, but the device can't be pinged and cannot ping outward either.
Unsure how to debug this further.
I've got things working now, so posting this in case anyone else runs into the same issue upgrading from linux-imx 4.1.15 to a later version.
The board I'm using is loosely based off a wandboard, and was using an AT8031 PHY. It seems that the AT803X PHY driver was changed to always reset RX/TX delay bits in the PHY when it is initialised, overwriting anything set earlier e.g. by U-Boot.
Resolved by setting the FEC's "phy-mode" = "rgmii-id" in my device tree, and configuring the appropriate delays. Previously I was using "rgmii", which would not have touched any RX/TX delay settings.
Hello,
This bindings seems to be valid, and you should be able to select the speed as well, so I see no problems with using it.
https://github.com/nxp-imx/linux-imx/blob/lf-6.6.y/Documentation/devicetree/bindings/net/ethernet-co...
Best regards/Saludos,
Aldo.