FDT_ERR_NOTFOUND when applying LVDS overlay on Verdin iMX8MP using custom DTBO

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 and thank you for your detailed question!

The FDT_ERR_NOTFOUND error occurs when a device tree overlay tries to reference nodes or properties that are not present in the base device tree loaded by the bootloader. This means that the overlay cannot find the part of the tree it is supposed to modify or extend, so the application of the overlay fails and your device will not boot correctly.

How to Troubleshoot and Resolve the Issue

1. Confirm Base Device Tree Compatibility

Ensure your overlay is written for the same device tree that is actually being loaded. For the Verdin iMX8M Plus, you mentioned using imx8mp-verdin-nonwifi-dev.dtb. Your overlay’s compatible property, if present, should match the base tree’s root node:

/ {
    compatible = "toradex,verdin-imx8mp";
};
  • If your overlay references custom nodes or panel names, these must exist in your base device tree.
  • For details: Device Tree Overlay Overview

2. Check for Missing Nodes

  • Use the Device Tree Compiler (DTC) to decompile your base .dtb:

    dtc -I dtb -O dts imx8mp-verdin-nonwifi-dev.dtb > base.dts
    
  • In your overlay, look for target-path or target properties or fragment targets. Make sure the node paths and labels match nodes in your base.dts.

  • If your overlay tries to extend, for example, /panel, make sure a node named panel exists in the base tree.

For more: Issues Applying Overlay, FDT_ERR_NOTFOUND

3. Check Kernel and BSP Version Compatibility

  • Overlays and device tree structure can change between BSP or kernel versions. Make sure your overlay is written for the exact version you are running.
  • If you use Torizon or BSP 6/7, make sure your overlay is based on the downstream kernel, not mainline.
  • More info: Device Tree Overlay Development

4. Overlay Deployment Process

  • Copy the .dtbo file to the overlays directory on the boot partition (usually /media/boot/overlays on Torizon).

  • Add the filename to overlays.txt (or overlay.txt in some systems, but the recommended file is overlays.txt). It should be a space-separated list:

    fdt_overlays=verdin-imx8mp_panel-cap-touch-10inch-lvds_overlay.dtbo
    

    How to Deploy Overlays

  • After copying and editing, run sync and reboot (avoid power cycle during this process).

5. Overlay Validation

If even the example overlays from Toradex fail, that likely means your base .dtb is missing expected nodes. Double-check, for example, that your base tree includes a compatible LVDS node or panel definition that the overlay is designed to modify.

6. Recovery (in Case of Boot Failure)

If you are stuck in a failed-boot state due to a broken overlay, you can:

  • Interrupt U-Boot and run:
    setenv skip_fdt_overlays 1
    boot
    
  • Or, put the SOM into USB Mass Storage (UMS) mode and remove the problematic overlay file or fix overlays.txt from your computer.
    More Details

Summary of Steps

  1. Decompile and check your base .dtb for the nodes your overlay expects.
  2. Confirm your overlay’s target paths/nodes/labels exist and match the base tree.
  3. Verify your BSP and kernel versions.
  4. Make sure your overlay is deployed and declared correctly.
  5. Use provided example overlays and adapt them, if needed, to your base device tree structure.

With these steps, you should be able to identify the node mismatch and properly modify your overlay or base tree to resolve FDT_ERR_NOTFOUND.

If you have the overlay source and the decompiled .dts for your base, feel free to share relevant snippets for more targeted guidance!

Best regards,
Toradex AI Assistant.