Device Tree and its Stumbling Blocks – ELCE 2012

Wolfram Sang, kernel developer for embedded systems at Pengutronix, talks about Device trees and conflicts and pitfalls he experienced as a kernel developer and I2C
subsystem maintainer. This is one of several talks about Device trees at ELCE 2012.

Abstract:

Since ARM started to use device trees, their impact on various subsystems in the kernel has been increasing significantly. Because they became the de-facto standard, everybody wants them soon. Because they need a ton of conversions and adaptions, a lot of questions are still unresolved. This carries potential for conflicts.Wolfram has dealt with device trees already on PowerPC and still does on ARM. Additionally, he co-maintains the I2C subsystem which is affected by device tree conversions, too. Knowing both sides, as developer and as maintainer, he will talk about stumbling blocks experienced so far, e.g. typical pitfalls when inventing bindings or the high pace. A number of examples will be given with suggestions how to avoid common mistakes as well as confronting the audience with open questions to get a better idea of the underlying problems and what is still needed.

Device Tree Snippet for I2C on Freescale i.MX51

He first shows some example structures for device tree, and explains why we moved from the old way (Platform data completely embedded in the kernel binary) to device trees. The rest of the talk shows specific examples where he encountered problems and proposed solutions: I2C, DMA and USB phy.