Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/analogdevicesinc/codefusion-studio/llms.txt

Use this file to discover all available pages before exploring further.

In Zephyr, a device tree (or devicetree) is a hierarchical data structure that describes the hardware available on a supported board as well as its initial configuration. Rather than reading raw .dts or .dtsi files as plain text, the Device Tree View in CodeFusion Studio parses the source and presents the node hierarchy and property values in a structured, navigable interface — directly inside VS Code.

What the Device Tree View provides

The Device Tree View gives you a live, parsed representation of your Zephyr hardware description. Use it to:

Review hardware components

Browse the hierarchical node structure of your board’s device tree to see exactly which peripherals, buses, and memory regions are defined.

Inspect node properties

Examine every property for a selected node — addresses, interrupt assignments, clock sources, compatible strings, and more — without manually parsing DTS syntax.

Verify overlay files

Open application-level .overlay files to confirm that your peripheral configuration overrides are applied correctly on top of the base board definition.

Validate platform configuration

Confirm that your system’s hardware description matches the expected layout before building, catching misconfiguration early in the development cycle.

Opening the Device Tree View

1

Build your Zephyr project

Complete a successful Zephyr project build so that the final zephyr.dts file is generated in the build output directory.
2

Select the project in the Context menu

In the CodeFusion Studio side panel, select your project in the Context menu.
3

View opens automatically

The Device Tree View automatically loads and displays the project’s zephyr.dts file. The full node hierarchy is immediately available for browsing.

Supported file types

ExtensionDescription
.dtsTop-level device tree source file, typically the board definition or the built zephyr.dts
.dtsiShared device tree include file, usually containing SoC-level peripheral definitions
.overlayApplication overlay that extends or overrides the base board device tree

Use cases

After modifying a board’s .dts or adding a custom peripheral, open the file in the Device Tree View to confirm that node addresses, interrupt lines, and compatible strings reflect your intended configuration — before investing time in a full build cycle.
Application .overlay files are layered on top of the base board definition. Opening an overlay in the Device Tree View lets you inspect the resolved property values and confirm that overrides are structured correctly, helping catch issues such as missing status = "okay" properties or incorrect phandle references.
When starting work on an unfamiliar ADI board, the Device Tree View is a fast way to understand the hardware topology — which buses are available, how peripherals are connected, and what addresses are assigned — without reading raw text.
In continuous integration pipelines where VS Code is not present, use the cfsutil dt parse command to parse device tree files from the command line and emit structured JSON output. The JSON output can be consumed by scripts to validate that specific nodes or properties are present in the built device tree.

CLI reference: cfsutil dt parse

The cfsutil command-line utility provides a dt parse command for parsing Zephyr device tree files outside of VS Code. Output is in JSON format, making it straightforward to integrate with scripts or CI validation steps.
cfsutil dt parse <FILEPATH> [-I <value>...] [-o <value>] [-v]

Options

SwitchEffect
-I, --includeDirs=<value>...Specifies directories to search for included device tree files. Can be specified multiple times — for example, -Idir1 -Idir2 -Idir3
-o, --output=<value>Writes the parsed output to the specified JSON file instead of stdout
-v, --verboseEnables verbose mode for additional details during parsing

Examples

Parse a device tree file and print the JSON output to the terminal:
cfsutil dt parse boards/arm/max32690_evkit/max32690_evkit.dts
Parse a device tree file and write the result to a file:
cfsutil dt parse myfile.dts -o output.json
Parse a file that includes definitions from multiple directories:
cfsutil dt parse zephyr.dts \
  -I zephyr/include/zephyr \
  -I zephyr/dts/arm \
  -o parsed_tree.json
Parse with verbose output for troubleshooting include resolution:
cfsutil dt parse myfile.dts -I zephyr/dts/common -v
Use the -I flag to point cfsutil dt parse at the same include directories that the Zephyr build system uses. If the parser cannot resolve a #include directive, the output will be incomplete. You can find the relevant include paths in your project’s CMake build log.

Additional information

The Device Tree View in CodeFusion Studio is based on the Zephyr devicetree specification. For a full reference on device tree syntax, bindings, and the Zephyr build integration, refer to the Zephyr Devicetree documentation.

Build docs developers (and LLMs) love