Glossary Updates6 new terms added to the glossaries · October 11, 2026, 13:38 CEST
AI TechDocKnowledge

Glossary · 5 · Hardware SDKs and devices

Device tree

Also known as: Devicetree, Flattened device tree (FDT)

In embedded systems, a device tree is a hierarchical data structure and source language for describing the hardware of a system, such as processors, memory, buses and peripherals, so that an operating system can configure itself for that hardware without hard-coding it; it is written as source files (.dts, .dtsi) and usually compiled into a binary blob (.dtb).

  • Hardware SDK
  • Embedded systems
  • Standards

In one sentence

A device tree is a hierarchical description of a system's hardware that an operating system reads instead of hard-coding the board's details.

Example

A board's .dts file lists its I2C bus and the temperature sensor at address 0x48, so the Linux kernel loads the right driver without a board-specific code change.

How it applies

  • Hardware SDKs: The device tree is the hardware description inside many embedded kits and board support packages. The Linux kernel documentation calls it a data structure and language for describing hardware, readable by an operating system so that it does not need to hard-code details of the machine.
  • Linux and Zephyr: Linux reads a compiled device tree blob passed by the bootloader at start-up. Zephyr uses devicetree at build time: board .dts files include .dtsi files for the system-on-chip, overlays adjust them and YAML bindings define the allowed properties, and the build turns the result into configuration for the device drivers.
  • Specification: The format is specified by the Devicetree Specification, maintained at devicetree.org; as of October 11, 2026 the current release is v0.4 (June 28, 2023). Bindings for individual device types are maintained by the operating system projects.
  • Origin: The device tree comes from Open Firmware. A flattened form (FDT) was later created so that bootloaders could pass the description to the operating-system kernel as a binary blob without an Open Firmware implementation.
  • Documentation: Board documentation should name the device tree files, the overlays a user may need and the bindings they rely on. A changed device tree changes how the system sees its hardware and belongs in release notes like a driver change.

Device tree vs. ACPI

A device tree describes hardware as data. ACPI, the firmware interface of PC and many server platforms, also carries byte code (AML) with which the platform encodes hardware behavior, and defines a power management model. The Linux kernel documentation on ACPI for arm64 gives these points, with the established server bindings, as the rationale for using ACPI on Arm server systems; boards described in board support packages for Linux and Zephyr typically use device trees.

External references