Defining schemas for Device Tree

Stephen Warren swarren at wwwdotorg.org
Tue Jul 30 14:25:42 EDT 2013


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)



More information about the linux-arm-kernel mailing list