Devicetree

From OSDev Wiki
Jump to navigation Jump to search

Device tree is a standard for describing the layout of devices attached to a computer. As opposed to discovering devices by e.g. enumerating PCI devices as is the case with x86, kernels which use device tree are handed a static device tree blob by the bootloader. The device tree specification specifies two formats for device trees:

  • DTS (Device Tree Source) which is a human-readable plain text specification describing the various devices attached to the system and their layout in memory.
  • DTB (Device Tree Blob) which is a flattened device tree binary blob to be parsed by the kernel at boot.

The command line tool dtc, or Device Tree Compiler, can be used to compile a DTS into a DTB. Device trees are used by Linux and iOS/Darwin to boot on a variety of architectures including aarch64.

Resources