d75b33af67
Currently, the Linux kernel, libfdt and dtc, when using flattened device trees encode a node's phandle into a property named "linux,phandle". The ePAPR specification, however - aiming as it is to not be a Linux specific spec - requires that phandles be encoded in a property named simply "phandle". This patch adds support for this newer approach to dtc and libfdt. Specifically: - fdt_get_phandle() will now return the correct phandle if it is supplied in either of these properties - fdt_node_offset_by_phandle() will correctly find a node with the given phandle encoded in either property. - By default, when auto-generating phandles, dtc will encode it into both properties for maximum compatibility. A new -H option allows either only old-style or only new-style properties to be generated. - If phandle properties are explicitly supplied in the dts file, dtc will not auto-generate ones in the alternate format. - If both properties are supplied, dtc will check that they have the same value. - Some existing testcases are updated to use a mix of old and new-style phandles, partially testing the changes. - A new phandle_format test further tests the libfdt support, and the -H option. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
37 lines
556 B
Text
37 lines
556 B
Text
/dts-v1/;
|
|
|
|
/memreserve/ 0xdeadbeef00000000 0x100000;
|
|
/memreserve/ 123456789 010000;
|
|
|
|
/ {
|
|
compatible = "test_tree1";
|
|
prop-int = <0xdeadbeef>;
|
|
prop-str = "hello world";
|
|
|
|
subnode@1 {
|
|
compatible = "subnode1";
|
|
prop-int = [deadbeef];
|
|
|
|
subsubnode {
|
|
compatible = "subsubnode1", "subsubnode";
|
|
prop-int = <0xdeadbeef>;
|
|
};
|
|
|
|
ss1 {
|
|
};
|
|
};
|
|
|
|
subnode@2 {
|
|
linux,phandle = <0x2000>;
|
|
prop-int = <123456789>;
|
|
|
|
subsubnode@0 {
|
|
phandle = <0x2001>;
|
|
compatible = "subsubnode2", "subsubnode";
|
|
prop-int = <0726746425>;
|
|
};
|
|
|
|
ss2 {
|
|
};
|
|
};
|
|
};
|