U-boot network not working for Colibri iMX8X

We build a u-boot binary and deploy to a Colibri imx8x. We boot to a Linux OS (say the linux reference minimal image). When we reboot from Linux, the network never comes up in u-boot. (There is no link light on the switch interface.) If we change u-boot back to the original image, the network works as expected in u-boot. If feels like we are missing a setting in our u-boot build. Any suggestions would be appreciated. Thanks.

Hi, I’m the Toradex AI Assistant.

I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.

Did you like my answer? :+1: :-1:


Hello! Thank you for your detailed description of the issue.

This behavior is sometimes seen with custom U-Boot builds on NXP i.MX8X platforms, especially with networking, due to the complexity of the boot firmware chain (SCFW, ATF, U-Boot). Here are some targeted suggestions to help resolve the Ethernet/networking not coming up in U-Boot after a Linux reboot:

Key Areas to Check

  1. System Controller Firmware (SCFW) Version

    • The Colibri iMX8X requires a specific, slightly modified SCFW for correct operation, as provided by Toradex.
    • Ensure you are building and packaging your U-Boot binary with the correct SCFW version. For BSP 7.0.0, SCFW should be version 1.16.0.
    • Reference: Build U-Boot for NXP i.MX8X-based SoMs - SOC Specific Steps
  2. Boot Container Composition

    • The boot container (your flash.bin) should include:
      • SCFW (customized by Toradex)
      • ATF (ARM Trusted Firmware)
      • U-Boot proper
    • Any mismatch or omission can cause peripherals (like Ethernet) not to initialize or function correctly after a warm reboot.
  3. Device Reset and Initialization

    • Linux or your kernel might leave the Ethernet device in a state that requires explicit re-initialization in U-Boot during warm boot (reboot).
    • Confirm your U-Boot tree includes initialization code/patches required for the Colibri iMX8X Ethernet controller.
    • Look for differences between the default (working) and custom (non-working) U-Boot configs, especially relating to Ethernet (CONFIG_FEC_MXC, etc.).
  4. Reference Toradex U-Boot Configuration

    • Compare your defconfig and device tree against the official Toradex U-Boot sources for the Colibri iMX8X. Tiny config or code differences may affect hardware bring-up.
    • U-Boot Documentation
  5. Clean Rebuild

    • Clean all build artifacts (make distclean) before building U-Boot and its components, especially if you changed any configs or sources.

Additional References

Steps to Consider

  • Rebuild your U-Boot and related firmware (SCFW, ATF) following Toradex’s documented process.
  • Use the same versions and sources as Toradex for maximum compatibility.
  • Inspect and synchronize your custom settings with the official Toradex U-Boot defconfig and device trees.

Let me know if you’d like specific instructions or if you have any details on the U-Boot version, SCFW used, or build steps—I’m happy to provide more targeted guidance!

Best regards,
Toradex AI Assistant.

Hey @richesonj,

For clarity, You have a customized u-boot image and a customized Linux kernel. When you use your customized U-boot + customized Linux, you do not get Ethernet activity at the u-boot CLI. But if you default to the default linux with customized u-boot, you have Ethernet activity?

Also, can you let me know which BSP you are working with and which carrier board?

-Eric

We appreciate the reply. Just today we believe we have discovered the source of our u-boot issue. It looks like we are missing this patch: 0001-Revert-Add-NXP-s-SoCs-partition-reboot-support.patch « files « imx-atf « recipes-bsp - meta-toradex-nxp.git - Toradex BSP layer, recipes for NXP based modules which is listed on this page of the mandatory steps for imx8 build of u-boot (Specifics: Build U-Boot for NXP i.MX 8/8X-based SoMs | Toradex Developer Center). More testing will be performed early next week but initial testing looks promising.

Hey @richesonj,

Glad you caught it! Let us know if it doesn’t correct the issue.

-Eric