Device trees on ARM

This proposal has been rejected.


One Line Summary

Status of device tree support for Linux on ARM


Currently, the Linux ARM architecture code supports a large number of ARM boards, spanning a huge variety of hardware configurations. At present, support for each platform is fairly separate, and hardware setup code is predefined at compile time.

Open Firmware device trees provide a method of representing hardware in a machine-readable form, and have been used for all sorts of hardware, most prominently on the PowerPC architecture. On device-tree platforms, the kernel parses a device tree to discover the configuration of hardware, and uses this information to initialise the machine correctly.

Since late 2009, the author (with help from all sorts of contributors) has been working to add device tree support to the ARM platform, to do more of the machine-specific configuration at boot time. We aim to provide more flexible platform support, while reducing the amount of board-specific code. Eventually, we’re aiming to allow for fewer kernel builds to support a larger range of machines.

This presentation will be a general overview of the device tree on ARM plans and specifications, as well as the current status of ARM device tree support in the kernel.


kernel, arm, device tree, boot


  • Jeremy Kerr



    Jeremy Kerr works for Canonical, as a Linux kernel developer, on the hardware enablement team.

    Jeremy has contributed to a range of other Open Source projects as well, such as petitboot (a GUI bootloader), K42 (a research operating system), patchwork (a web-based patch-tracking system) and nfsim (the netfilter simulation environment).

    Jeremy’s interests lie in operating system kernels, Linux on ARM, and the Cell/B.E. & PowerPC architectures.

Leave a private comment to organizers about this proposal