Supporting 200 Different Expansions Boards: The Broken Promise of Device Tree – ELCE 2012

Koen Kooi, software engineering manager at Circuitco Electronics and lead developer of the Angstrom distribution, explains that device tree does help with the ARM Linux kernel, but brings all the complexity to the bootloader(s), taking the variety of Beaglebone capes as example, at the Embedded Linux Conference in Barcelona, Spain, on November 6, 2012.


Devicetree is marketed as the one ring to rule them all when it comes to non-discoverable hardware for Linux on ARM. The problem with devicetree is that the complexity gets removed from the kernel and put into the bootloader.

BeBoPr Beaglebone CAPE

Koen first gives an overview of device tree, and provides an example (am33xx.dtsi) to show device tree data structure. Then time for some Beaglebone and capes promotion overview,  before moving to the core of the problem:

  • Pinctrl
  • Resource tracking
  • EVM/bone split
  • uboot/uimage/dtb lockstep
  • pdata only
  • Keycodes and other non-hardware bits

You can also download the presentation slides for this talk.