Defining schemas for Device Tree

jonsmirl at gmail.com jonsmirl at gmail.com
Tue Jul 30 14:28:26 EDT 2013


On Tue, Jul 30, 2013 at 2:25 PM, Stephen Warren <swarren at wwwdotorg.org> wrote:
> On 07/30/2013 12:04 PM, jonsmirl at gmail.com wrote:
> ...
>> So what does an alternating use of strings do?
>>
>>  dmas = "tx", <&pdma0 7>, "rx", <&pdma0 6>;
>
> cat > temp.dts << ENDOFHERE
> /dts-v1/;
>
> / {
>     dmas = "tx", <&pdma0 7>, "rx", <&pdma0 6>;
>
>     pdma0: dma { };
> };
> ENDOFHERE
>
> dtc -O dtb -o temp.dtb -I dts temp.dts
>
> hexdump -C temp.dtb
>
> yields:
>
>> 00000000  d0 0d fe ed 00 00 00 ab  00 00 00 38 00 00 00 98  |...........8....|
>> 00000010  00 00 00 28 00 00 00 11  00 00 00 10 00 00 00 00  |...(............|
>> 00000020  00 00 00 13 00 00 00 60  00 00 00 00 00 00 00 00  |.......`........|
>> 00000030  00 00 00 00 00 00 00 00  00 00 00 01 00 00 00 00  |................|
>> 00000040  00 00 00 03 00 00 00 16  00 00 00 00 74 78 00 00  |............tx..|
>                                                  ss ss ss pp
>> 00000050  00 00 01 00 00 00 07 72  78 00 00 00 00 01 00 00  |.......rx.......|
>             pp pp pp ii ii ii ii ss  ss ss pp pp pp pp ii ii
>> 00000060  00 06 00 00 00 00 00 01  64 6d 61 00 00 00 00 03  |........dma.....|
>             ii ii
>
> ... where ss represents a string byte, pp a phandle byte, ii an integer
> byte.
>
>> 00000070  00 00 00 04 00 00 00 05  00 00 00 01 00 00 00 03  |................|
>> 00000080  00 00 00 04 00 00 00 0b  00 00 00 01 00 00 00 02  |................|
>> 00000090  00 00 00 02 00 00 00 09  64 6d 61 73 00 6c 69 6e  |........dmas.lin|
>> 000000a0  75 78 2c 70 68 61 6e 64  6c 65 00                 |ux,phandle.|
>
> Starting about half way through that last line is the string table.
>
> (the string table indirection is for property names, not property
> values, and it looks like not for node names either)

Ok, so this won't work without introducing variable length data. Too
bad, I would have liked to eliminate the paired attributes.

-- 
Jon Smirl
jonsmirl at gmail.com



More information about the linux-arm-kernel mailing list