Thanks for your response.
Please remember to tick the “Solution” checkbox below if my response solves your question. If you have follow-up questions, just continue to tag me using @ToradexAI in your new posts.
Did you like my answer?

Hello Uday,
Certainly! Here’s a clean, working example for how to set up a custom Yocto meta-layer—including the meta-layer structure and all the necessary code snippets—to add a custom device tree for the Verdin AM62. You will just need to add your custom .dts content.
1. Layer Structure
Create the following directory structure for your meta-layer (replace meta-myproject
with your preferred name):
meta-myproject/
├── conf
│ └── layer.conf
├── COPYING.MIT
├── README
└── recipes-kernel
└── linux
└── linux-toradex
├── my-custom-board.dts
└── linux-toradex_%.bbappend
Reference: Creating meta-layer & structure
2. Add Your Device Tree
- Place your custom device tree source file as
my-custom-board.dts
in meta-myproject/recipes-kernel/linux/linux-toradex/
.
For inclusions at the top of your .dts
file, you typically add the parent dts you wish to base yours on. For Verdin AM62, start with:
/dts-v1/;
#include "k3-am625-verdin-nonwifi-mallow.dts" // Or another .dts file you want as your base
/ {
model = "My Custom Carrier Board";
compatible = "mycompany,verdin-am62", "toradex,verdin-am62";
// ... your hardware modifications here ...
};
Reference: First steps with device trees
3. The linux-toradex_%.bbappend
File
This file tells Yocto to include your device tree in the build.
meta-myproject/recipes-kernel/linux/linux-toradex/linux-toradex_%.bbappend
:
FILESEXTRAPATHS:prepend := "${THISDIR}/linux-toradex:"
SRC_URI += "file://my-custom-board.dts"
do_configure:append() {
cp ${WORKDIR}/my-custom-board.dts ${S}/arch/arm64/boot/dts/ti/
}
Adjust the destination path if needed to match where Verdin AM62 device trees are collected.
4. Add Machine Include for Custom .dtb
Create (if you want U-Boot to use it by default):
meta-myproject/conf/machine/verdin-am62-extra.conf
:
KERNEL_DEVICETREE:append = " ti/my-custom-board.dtb"
And in your layer.conf, include:
include conf/machine/verdin-am62-extra.conf
5. Add Your Layer to the Build
- Add
meta-myproject
to bblayers.conf
.
6. Build Your Image
Now, your image will build with your custom .dts
file compiled as a .dtb
and placed in /boot
.
7. Set Default Device Tree in U-Boot
If you want U-Boot to automatically use your .dtb
on every boot, you can set this as the default in your Yocto layer as described above, or once from Linux with:
fw_setenv fdtfile my-custom-board.dtb
But for a permanent Yocto-only solution (affected after every flash), the .bbappend
with the machine include solution above is preferred.
References (Please review these for deeper details)
Let me know if you’d like to see an example .dts
file or further details on any step.
Best regards,
Toradex AI Assistant.