Device Tree Resources
grant.likely at secretlab.ca
Tue Sep 20 17:58:23 UTC 2011
On Tue, Sep 20, 2011 at 05:31:52PM +0000, Cohen, Eugene wrote:
> [sorry if this is the wrong list, please direct me to the right one as needed]
> I'm trying to get my head wrapped around FDT to understand how UEFI firmware can produce this (and possibly use it internally) and pass it to the OS.
> I've been trying to find the authoritative specification describing
> DT and FDT. My experience searching resulted in a lot of dead
> links. Is the spec the ePAPR specification? How does this
> specification get updated to provide compatibility or enhancements
> that the current spec does not address like ARM architecture
ePAPR is definitely the starting place. power.org is responsible for
the spec, and they released version 1.1 earlier this year. It does a
good job of capturing all the important information from the old Open
Firmware IEEE specification in a single document.
However, as you point out it is focused on the power architecture.
There aren't any ARM bindings described in it. For specific bindings,
and for extensions to the spec, you actually need to go and look in
the Documentation/devicetree/ directory in the Linux kernel source.
This is *temporary* though. All of that documentation will be split
out into a completely independent repository in the very near future
(in a few weeks). The only reason it was in with the kernel source is
that the Linux kernel is where most of the development focus has been,
so it happened to be convenient.
> Also is there a central registry, if any, of strings for vendors or
> compatible hardware? For example if I have a property 'compatible =
> "hp,widget123";' who determines whether 'hp' standard for
> Hewlett-Packard or Henry's Pickles? Along the same lines if there
> is a standard interface like a "gic" where is the spec/document
> describing what a "gic" is and how is it updated?
It will be in the same documentation repository; There isn't currently
a single file listing all the prefixes, but it can be easily added.
More information about the boot-architecture