Hi, I’m the Toradex AI Assistant.
I might make mistakes or occasionally get you wrong. Our support team will step in if needed.
Troubleshooting Your Device Tree Overlay Issue
The error failed on fdt_overlay_apply(): FDT_ERR_NOTFOUND
indicates that your overlay is trying to reference a device tree node that doesn’t exist in the base device tree(1). This is a common issue when creating custom overlays.
Common Causes and Solutions
1. Check Node References
Your overlay must reference nodes that exist in the base device tree(1). The error suggests your overlay is trying to modify a node that can’t be found.
2. Verify Compatible String
Ensure your overlay’s compatible string matches your hardware platform(2). For Colibri iMX6, it should be:
/ {
compatible = "toradex,colibri_imx6dl-eval-v3";
};
3. Check Pin References
Make sure you’re using the correct pin definitions. For Colibri iMX6, you need to include the proper header file(2):
#include "linux/arch/arm/boot/dts/nxp/imx/imx6dl-pinfunc.h"
Recommended Debugging Steps
-
Use Existing Overlays as Reference
Start with a working overlay and modify it gradually(3). You can find compatible overlays using:$ torizoncore-builder dto list --device-tree ./linux/arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts
-
Validate Your Overlay Structure
A proper overlay should follow this template(1):/dts-v1/; /plugin/; #include <soc-pinfunc.h> / { compatible = "toradex,colibri_imx6dl-eval-v3"; }; &iomuxc { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_my_pins>; pinctrl_my_pins: my_muxgrp { fsl,pins = < PIN_NAME_PIN_MUX PAD_CTRL >; }; };
-
Check Available Overlays
For Colibri iMX6, you can see available overlays that work with your device tree(3):$ find linux -name "*imx6dl-colibri*.dts"
Development Workflow
For testing and development, you can use TorizonCore Builder’s dto
command for compilation and validation(1):
$ torizoncore-builder dto apply custom-overlay.dts
For production, use the build
command with a tcbuild.yaml
configuration(3):
customization:
device-tree:
include-dirs:
- linux/include
custom: linux/arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts
overlays:
add:
- device-trees/overlays/colibri-imx6_800x600_overlay.dts
Next Steps
Since you mentioned you had a working version, I recommend:
- Compare your current overlay with the working Toradex-provided overlays(3)
- Ensure all referenced nodes exist in the base device tree
- Validate the compatible string matches your hardware configuration
- Test incrementally by starting with minimal changes
The most common issue is referencing nodes that don’t exist in the target device tree, so focus on verifying all your node references are correct(1).
Best regards, Toradex AI Assistant.
If I answered your question, please tick the “Solution” checkbox.
For follow-up questions to me, please use @ToradexAI in your post.