Subject: Re: [dtc] Add support for flat device tree format version 17

From: Timur Tabi <[email-masked]>
Date: Wed, 14 Mar 2007 16:41:57 -0500

Jerry Van Baren wrote:

> The best solution, which I'm making progress on but slowly, is to pull 
> David Gibson's libfdt utilities into u-boot and use them to manipulate 
> the tree.  I very much want v17 blobs because that removes my 
> "write-in-place" restrictions on changing the properties.

Here's an alternative idea I got from a colleage (Scott Wood).

Allow U-Boot to accept V17 DTBs.  When it modifies the DTB, it should change the version 
to 16, since that's the only version that it really knows.  U-Boot currently does not have 
the infrastructure to support multiple DTB versions.

The DTB that U-Boot passes to the kernel will say V16, but it will have the extra length 
field in the header.  Therefore, we need to update the documentation to say that 
compatibility implies that any DTB will still be able to read the DTB if the DTB version 
number has been changed to another compatible version.  So if your DTB is V17, and it has 
V17 data, any code that assumes a V16 DTB should still be able to read it.  That seems 
obvious, but is should be documented.

-- 
Timur Tabi
Linux Kernel Developer @ Freescale