Add qemu 2.4.0
[kvmfornfv.git] / qemu / dtc / tests / multilabel_merge.dts
1 /dts-v1/;
2
3 m1: mq: /memreserve/ 0 0x1000;
4
5 / {
6         p0: pw: prop = "foo";
7
8         /* Explicit phandles */
9         n1: node1 {
10                 linux,phandle = <0x2000>;
11                 ref = <&{/node2}>; /* reference precedes target */
12                 p1: lref;
13         };
14         node2 {
15                 phandle = <0x1>;
16                 ref = <&{/node1}>; /* reference after target */
17                 lref = <&nx>;
18         };
19
20         /* Implicit phandles */
21         n3: node3 {
22                 p3: ref = <&{/node4}>;
23                 lref = <&n4>;
24         };
25         n4: node4 {
26                 p4: prop = "foo";
27         };
28
29         /* Explicit phandle with implicit value */
30         /* This self-reference is the standard way to tag a node as requiring
31          * a phandle (perhaps for reference by nodes that will be dynamically
32          * added) without explicitly allocating it a phandle.
33          * The self-reference requires some special internal handling, though
34          * so check it actually works */
35         n5: nz: node5 {
36                 linux,phandle = <&n5>;
37                 phandle = <&nz>;
38                 n1 = &n1;
39                 n2 = &n2;
40                 n3 = &n3;
41         };
42 };
43
44 / {
45         /* Append labels (also changes property content) */
46         nx: node1 {
47                 px: lref = <&ny>;
48         };
49
50         /* Add multiple labels */
51         ny: n2: node2 {
52                 /* Add a label to a property */
53                 p2: py: phandle = <0x1>;
54         };
55
56         /* Reassigning the same label should be a no-op */
57         n3: node3 {
58                 p3: ref = <&{/node4}>;
59         };
60
61         /* Redefining a node/property should not remove labels */
62         node4 {
63                 prop;
64         };
65
66 };