Second Ethernet not working on Colibri iMX7D Module on custom carrier board

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hi Vinoth,

It looks like you’ve done a thorough job of setting up the hardware and configuring the device tree for the second Ethernet interface on your custom carrier board using the Colibri iMX7D module. However, the issue with the 50MHz clock signal not being generated could be due to a few potential reasons. Let’s go through some troubleshooting steps:

  1. Clock Source Configuration:
    Ensure that the clock source for the RMII interface is correctly configured. The assigned-clock-parents and assigned-clock-rates properties in your device tree look correct, but double-check that the IMX7D_PLL_ENET_MAIN_100M_CLK is indeed set up to provide the necessary 50MHz clock.

  2. Pin Multiplexing:
    Verify that the pin multiplexing for the clock output pin is correctly set up. In your pinctrl_enet2_lpsr group, you have:

    MX7D_PAD_LPSR_GPIO1_IO03__CCM_ENET_REF_CLK2     0x73 /* SODIMM 22 */
    

    Ensure that this pin is correctly routed and not being used by another peripheral.

  3. Clock Enablement:
    Make sure that the clock is enabled in the CCM (Clock Control Module). Sometimes, clocks need to be explicitly enabled in the CCM registers.

  4. PHY Configuration:
    Ensure that the KSZ8041NL PHY is correctly configured to use the RMII interface and that it is expecting a 50MHz clock. Check the PHY datasheet for any specific configuration requirements.

  5. Device Tree Status:
    Ensure that the status property for the fec2 node is set to "okay" and not "disabled":

    status = "okay";
    
  6. Kernel Logs:
    Check the kernel logs (dmesg) for any errors or warnings related to the Ethernet interface or clock generation. This can provide clues as to what might be going wrong.

  7. Reference Designs:
    Refer to the Toradex reference designs and schematics for the Colibri iMX7D and ensure that your custom carrier board follows the recommended design practices for Ethernet interfaces.

If you’ve gone through these steps and the issue persists, it might be helpful to share the relevant sections of your kernel logs and any additional hardware details. Additionally, you can reach out to Toradex technical support for more in-depth assistance.

Best regards,
[Your Name]

Please, also check if these links can help you solve your problem:

PHY Interface for K60 - NXP Community.