Boot interface for device trees on ARM

Grant Likely grant.likely at
Wed May 19 07:45:50 EDT 2010

On Mon, May 17, 2010 at 8:54 PM, Jeremy Kerr <jeremy.kerr at> wrote:
> Hi all,
> As we're getting closer to device tree support on ARM, I'd like to get some
> input on our proposed boot interface.
> Basically, I'd like to define how we pass the device tree from the bootloader
> to the kernel.
> My current method of doing this is through a new atag. It looks like this:
>        /* flattened device tree blob pointer */
>        #define ATAG_DEVTREE    0x5441000a
>        struct tag_devtree {
>                __u32 start;    /* physical start address */
>                __u32 size;     /* size of dtb image in bytes */
>        };
> With ATAG_DEVTREE, we keep the existing boot interface the same (ie, machine
> number in r1, atags pointer r2).

For the reference of those new to this discussion, here is a link to
the previous thread and the link to the draft boot interface document.


>  - We are now potentially carrying data in two different places - atags and
> the device tree. For example, the physical memory layout and kernel command
> line may be present in both.

I've tried to explicitly addresses this in the draft document.  the DT
blob always supersedes ATAG information.


Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

More information about the linux-arm-kernel mailing list