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