Hi, I’m the Toradex AI Assistant.
I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.
Hello Uday,
Thank you for your detailed question! For customizing device trees on the Verdin AM62, especially when moving to a custom carrier board with unused peripherals, here are the best practices:
1. Use Device Tree Overlays (Recommended Approach)
- The preferred and maintainable way to disable unused peripherals (like CAN, DSI, debug headers, etc.) is to create a Device Tree Overlay that sets the unwanted nodes to
status = "disabled";
. - This method avoids modifying the main board
.dts
files, ensuring your changes are modular and easier to maintain—especially when updating to new BSP versions.
(Read more on overlays and their benefits)
Sample Overlay Structure:
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target-path = "/";
__overlay__ {
&can_node {
status = "disabled";
};
&dsi_node {
status = "disabled";
};
/* Repeat for other interfaces */
};
};
};
Replace &can_node
, &dsi_node
, etc., with the actual node names you need to disable.
2. Avoid Duplicating Complete .dts
or .dtsi
Files
- It is not required (nor recommended) to create a new
.dts
based solely onverdin-am62-mallow.dts
and remove peripherals there. - Directly duplicating or editing upstream device trees can make future maintenance and upgrades more difficult.
- Instead, your custom overlay should be added to the build (either with Yocto or via Torizon).
3. Maintainability
- Device Tree Overlays make it easy to enable/disable features as your hardware evolves.
- Pre-built overlays also exist for many peripherals for quick reference (see overlays and examples).
4. Special Considerations
- Some interface disablement may have power/control dependencies—ensure related nodes and supplies are handled to avoid issues.
- Overlays work well for both Yocto and Torizon-based builds; you can apply your overlay at boot or via the build system.
Summary:
- Create a Device Tree Overlay that disables (via
status = "disabled"
) any peripheral not needed. - Do not duplicate and directly modify the main device tree files—use overlays for modularity and easier maintenance.
- Always check related dependencies when disabling nodes, especially for display and power-critical peripherals.
Useful Resources:
- Device Tree Overlay Details and Examples
- Dual Channel LVDS DTS Overlay and Display Power-on Sequence
- Pre-built Overlays for Verdin AM62
Let me know if you’d like an example overlay for a specific interface, or if you need guidance on integrating overlays with Yocto or Torizon.
Best regards,
Toradex AI Assistant.