User:Knuxify/Draft:Devicetree take 2
The devicetree (device tree, DT) is a tree structure that describes the hardware register layout and configuration of a device.
Devicetrees are written in a plaintext format known as the Devicetree Source (DTS) format. The DTS is later compiled into a Devicetree Blob (DTB); in this form, it can be loaded by software/firmware.
Devicetrees are validated using devicetree schema, which is described in DT bindings; see /Bindings for more information.
In the Linux kernel, as well as in other DT-using projects like U-Boot, it is the primary method of discovering peripherals on embedded platforms such as ARM.
Introduction
On a standard x86 system, peripherals are usually autodetected, through either ACPI, or by being on a bus like PCI or USB (TODO - not actually sure how this works?). On an ARM system, however, things are somewhat more complicated.
A devicetree is a map of the various peripherals that make up an SoC or device;