1/dts-v1/; 2 3m1: 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}; 67 68/ { 69 rref = <&{/}>; 70}; 71