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 node6 { 44 linux,phandle = <0xfffffffe>; 45 phandle = <0xfffffffe>; 46 }; 47}; 48 49/ { 50 /* Append labels (also changes property content) */ 51 nx: node1 { 52 px: lref = <&ny>; 53 }; 54 55 /* Add multiple labels */ 56 ny: n2: node2 { 57 /* Add a label to a property */ 58 p2: py: phandle = <0x1>; 59 }; 60 61 /* Reassigning the same label should be a no-op */ 62 n3: node3 { 63 p3: ref = <&{/node4}>; 64 }; 65 66 /* Redefining a node/property should not remove labels */ 67 node4 { 68 prop; 69 }; 70 71}; 72 73/ { 74 rref = <&{/}>; 75}; 76