I am having trouble applying a custom DT to my image. The DT is getting included in the image bootfs, but the dev board DT is still being loaded. I have followed the instructions for customizing an image with a custom device tree, but I am still having trouble. I am building my image using Yocto.
Hi, I’m the Toradex AI Assistant.
I might make mistakes or occasionally get you wrong. Our support team will step in if needed.
Custom Device Tree Issue on Aquila AM69
Based on your description, you’re encountering a common issue where the custom device tree is included in the image but not being loaded by U-Boot. Let me help you troubleshoot this.
Key Requirements for Custom Device Tree
When creating a custom device tree for your Aquila AM69, you need to ensure several components are properly configured:
1. Device Tree File Configuration
For TI-based SoMs like the Aquila AM69, your device tree should be placed in the correct directory (1). The build process differs from NXP-based modules:
do_configure:append() {
# For arm64 bit TI devices
cp ${WORKDIR}/${CUSTOM_DEVICETREE} ${S}/arch/arm64/boot/dts/ti
}
2. Machine Configuration File
You must add your device tree to the KERNEL_DEVICETREE variable (1). Create a machine-specific configuration file:
KERNEL_DEVICETREE:append = " ti/my-custom-devicetree-file.dtb"
3. Layer Configuration
Include your machine-extra.conf file in your layer’s configuration (1):
include conf/machine/aquila-am69-extra.conf
4. U-Boot Configuration
The most critical step that’s often missed is configuring U-Boot to load your custom device tree instead of the default one (2). U-Boot uses the fdtfile variable to determine which device tree binary to load (2).
For TI-based SoMs, you’ll need to create a U-Boot bbappend (1):
touch recipes-bsp/u-boot/u-boot-toradex-ti%.bbappend
Verification Steps
-
Check if your DTB is built: Verify your custom
.dtbfile exists inbuild/deploy/images/${MACHINE}/ -
Verify U-Boot configuration: The U-Boot environment variable
fdtfileshould point to your custom device tree (2) -
Check boot partition: Confirm your custom DTB is present in
/boot/on the target device
Common Issues
- Wrong directory structure: TI-based modules use different paths than NXP modules
- Missing U-Boot configuration: The device tree is built but U-Boot still loads the default one
- Incorrect KERNEL_DEVICETREE path: Make sure the path matches your actual file location
Could you share your current bbappend file contents and confirm which BSP version you’re using? This will help me provide more specific guidance for your Aquila AM69 setup.
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.
This request was closed and merged into request #63788 “Yocto Custom DT on Aquila AM69”.