Home | History | Annotate | Download | only in tests
      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 };
     67 
     68 / {
     69 	rref = <&{/}>;
     70 };
     71