From http://www.devicetree.org: "The Device Tree is a data structure for describing hardware. Rather than hard coding every detail of a device into an operating system, many aspects of the hardware can be described in a data structure that is passed to the operating system at boot time"
Raspberry Pi's latest kernels and firmware, including Raspbian and NOOBS releases, now by default use Device Tree (DT) to manage some resource allocation and module loading. This change is to alleviate the problem of multiple drivers contending for system resources, and to allow HAT modules to be auto-configured.
As Device Tree is 'the new way' for Raspberry Pi products we've decided to dedicate some forum area to collecting questions/feedback/issues about it. This forum area is for discussing issues specific to Linux Device Tree implementation used on the Raspberry Pi and Compute Module products, so please keep the disucssions on topic.
Documentation:
Main Raspberry Pi Linux Device Tree Docs:
https://www.raspberrypi.org/documentati ... ce-tree.md
'GPU' Device Tree (This is a DT file specifically for stuff that the GPU uses and Linux doesn't see - e.g. Camera control I2C and pins; usually you won't need to touch this though you might if you are using a Compute Module):
https://www.raspberrypi.org/documentati ... uration.md
Attaching peripherals to a Compute Module and enabling them using Device Tree (also relevant for Raspberry Pi boards):
https://www.raspberrypi.org/documentati ... w-guide.md