I am encountering an issue when trying to apply a display overlay to my Colibri iMX8X device. I am unable to successfully apply the display overlay, which results in the following error during boot stage:
## Executing script at 9d480000
Loading DeviceTree: imx8qxp-colibri-eval-v3.dtb
50575 bytes read in 5 ms (9.6 MiB/s)
62 bytes read in 3 ms (19.5 KiB/s)
Working FDT set to 9d400000
Applying Overlay: colibri-imx8x_panel-cap-touch-7inch_overlay.dtbo
2860 bytes read in 3 ms (930.7 KiB/s)
failed on fdt_overlay_apply(): FDT_ERR_NOTFOUND
I believe the issue is related to the fdt_overlay_apply() failing due to missing nodes in the base device tree. Upon further investigation, I have found that the base device tree (imx8qxp-colibri-eval-v3.dtb) lacks the necessary nodes for applying the overlay, specifically the panel-dpi and related properties. Base devicetree and overlay are from toradex source, so there is not any custom configuration.
I have tried the following steps:
Using fdtoverlay to manually apply the overlay with no success.
Verifying the device tree for missing nodes using dtc.
Rebuilding the device tree and applying the overlay again without any improvements.
Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!
Did you like my answer?
Hello Kadir,
Thank you for reaching out with your issue regarding the display overlay on your Colibri iMX8X device. The error fdt_overlay_apply(): FDT_ERR_NOTFOUND suggests that the overlay is attempting to modify or reference nodes that are not present in the base device tree. Here are some steps to help you resolve this:
Verify Base Device Tree Nodes: Use the dtc tool to decompile your base device tree (imx8qxp-colibri-eval-v3.dtb) and check for the presence of the panel-dpi and related nodes. If these nodes are missing, they need to be added to the base device tree source.
Modify the Base Device Tree: If necessary nodes are absent, modify the base device tree source file to include them. After making changes, recompile the device tree to ensure it includes all required nodes and properties for the overlay.
Check Overlay Compatibility: Ensure that your overlay (colibri-imx8x_panel-cap-touch-7inch_overlay.dtbo) is compatible with the base device tree. Overlays are sometimes specific to certain versions or configurations, so verify that your overlay matches your device tree setup.
Review Documentation: Check any available documentation or updates for your Colibri iMX8X device. There might be newer versions of the device tree or overlays that address this issue.
Enable Verbose Logging: During the boot process, enable verbose logging to capture detailed error messages. This can provide additional insights into the overlay application process.
Consult Example Overlays: Look at example overlays provided for similar configurations. These can guide you in structuring your overlay correctly and ensuring compatibility.
By following these steps, you should be able to identify and resolve the issue with your display overlay. If you have further questions or need additional assistance, feel free to reach out.
Best regards,
Toradex AI Assistant
Please, also check if these links can help you solve your problem:
U-Boot 2024.04-7.1.0+git.c03a484b2906 (Dec 18 2024 - 12:59:22 +0000)
CPU: NXP i.MX8QXP RevC A35 at 1200 MHz at 53C
DRAM: 2 GiB
Core: 248 devices, 24 uclasses, devicetree: separate
MMC: FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... OK
In: serial
Out: serial
Err: serial
Model: Toradex 0038 Colibri iMX8QXP 2GB WB IT V1.0D
Serial#: 06995758
Boot: MMC0
Reset cause: POR
BuildInfo:
- SCFW 83624b99, SECO-FW c9de51c0, IMX-MKIMAGE 4622115c, ATF 7c64d4e
- U-Boot 2024.04-7.1.0+git.c03a484b2906
flash target is MMC:0
Net: eth0: ethernet@5b040000
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot: 0
MMC: no card present
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
5974 bytes read in 4 ms (1.4 MiB/s)
## Executing script at 9d480000
Loading DeviceTree: imx8qxp-colibri-eval-v3.dtb
122344 bytes read in 7 ms (16.7 MiB/s)
62 bytes read in 3 ms (19.5 KiB/s)
Working FDT set to 9d400000
Applying Overlay: colibri-imx8x_panel-cap-touch-7inch_overlay.dtbo
2860 bytes read in 4 ms (698.2 KiB/s)
8124461 bytes read in 197 ms (39.3 MiB/s)
Bootargs: root=PARTUUID=c2423f92-02 ro rootwait console=tty1 console=ttyLP3,115200
Uncompressing Kernel Image to 0
## Flattened Device Tree blob at 9d400000
Booting using the fdt blob at 0x9d400000
Working FDT set to 9d400000
Loading Device Tree to 00000000fd632000, end 00000000fd672fff ... OK
Working FDT set to fd632000
/bus@59000000/dma-controller@591f0000, 43676
/bus@59000000/dma-controller@599f0000, 44912
/bus@5a000000/dma-controller@5a1f0000, 60920
/bus@5a000000/dma-controller@5a1f0000, 60920
/bus@5a000000/dma-controller@5a9f0000, 62032
Starting kernel ...
Can you test if you can enable the overlay from this file? /boot/overlays.txt
Hi @allan.tx ,
Thank you for your reply. I’ve already followed that guide and unfortunately had the issues that i mentioned.
Could you share yocto production details of your trial e.g. meta-toradex-bsp-common branch and rev information? Im suspecting that there is a version mismatch between linux-toradex-upstream and device-tree-overlays that I am using.
Thank you very much for your reply. I was using linux-toradex-upstream. When i checked the Embedded Linux Release Matrix i saw that i should use downstream kernel. I forced it to use downstream kernel and it worked now.
Thank you for the repo that you shared! I will use it as a clean base.