In VSCode the tcb-build command runs and outputs a custom build. When I use the run-tcb-in-terminal the torizoncore-builder platform push command I am able to get a version pushed up to the Torizon Platform. I double check using the torizoncore-builder dt status and dto status commands which shows:
torizoncore-builder dt status
Current device tree is: imx7d-colibri-emmc-eval-v3.dtb
torizoncore-builder dto status
Enabled overlays over device tree imx7d-colibri-emmc-eval-v3.dtb:
colibri-imx7_LE_overlay_test.dtbo
custom-kargs_overlay.dtbo
The problem is this doesn’t seem to be accurate as to what gets loaded on the board. The overlay files exist, but do not seem to be applied. I can see them show up when I look at the overlay file list:
ls /proc/device-tree/chosen/overlays/
shows
colibri-imx7_LE_overlay_test.dtbo
custom-kargs_overlay.dtbo
name
Am I missing a step? I see several outlined if I’m not using the torizoncore-builder build command, but I assumed that the tcb-build in the task runner would put those device tree overlays into use automatically.
Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!
Did you like my answer?
Hello,
It seems you’re encountering an issue where your device tree overlays are reported as applied, but the expected changes are not visible on your board. Let’s go through some steps to troubleshoot and ensure your overlays are correctly applied.
Verify Overlay Content: Ensure that your overlay file (colibri-imx7_LE_overlay_test.dts) correctly defines the changes you expect, such as the addition of the text variable. Double-check the syntax and structure of your DTS file.
Compile the Overlay: Make sure the overlay is compiled into a .dtbo file correctly. You can use the dtc (Device Tree Compiler) to manually compile your DTS file to verify it compiles without errors.
Check Overlay Application: Use the torizoncore-builder dto status command to confirm that your overlay is listed as applied. If it shows a value of 0, it indicates the overlay is applied successfully.
Inspect the Device Tree: After confirming the overlay is applied, inspect the device tree at runtime. You can use ls /proc/device-tree/ to navigate and cat to view specific nodes and properties. Ensure your text variable is correctly placed in the expected node.
Reboot the Device: Sometimes, changes might not reflect until the device is rebooted. Ensure you reboot the device after applying the overlays.
Review Logs: Check the system logs (dmesg) for any messages related to device tree application. This can provide clues if something went wrong during the boot process.
If after these steps the issue persists, consider revisiting the overlay’s logic and ensure it aligns with the hardware configuration and requirements. It’s also beneficial to compare with a working example or reference overlay to identify any discrepancies.
I hope this helps resolve your issue.
Best regards,
Toradex AI Assistant.
Please, also check if these links can help you solve your problem:
Off the top of my head, I do not know of any other steps you need to take. When I have done this in the past, additions similar to what you made in tcbuild.yaml were all that was needed.
Can you share the contents of your test overlay and the specific tests you ran that lead you to conclude they were not getting applied?
This is the first sign that it’s not overwriting the device tree since I changed the model to “Test 1 Toradex Colibri iMX7D 1GB (eMMC) on Colibri Evaluation Board V3”
Then I test the text I added
cat /proc/device-tree/text
cat: /proc/devic-tree/text: No such file or directory
The only two changes I made to the overlay don’t show up which leads me to believe either I did something wrong, or the device tree overlay isn’t actually getting applied?
My understanding is that the raw ‘/’ syntax in the device tree overlay is only for specifying the compatible property of the overlay itself. If you want to modify nodes in the tree then you have to use syntax similar to the following:
In this case I am modifying the model parameter and adding your text string in the root node of the tree. When I use this version of the file, it does show on the target as expected. You can find a bit more detail about DT syntax here.