xref: /aosp_15_r20/external/dtc/tests/references.dts (revision cd60bc56d4bea3af4ec04523e4d71c2b272c8aff)
1*cd60bc56SAndroid Build Coastguard Worker/dts-v1/;
2*cd60bc56SAndroid Build Coastguard Worker
3*cd60bc56SAndroid Build Coastguard Worker/ {
4*cd60bc56SAndroid Build Coastguard Worker	rref = <&{/}>;
5*cd60bc56SAndroid Build Coastguard Worker
6*cd60bc56SAndroid Build Coastguard Worker	/* Explicit phandles */
7*cd60bc56SAndroid Build Coastguard Worker	n1: node1 {
8*cd60bc56SAndroid Build Coastguard Worker		linux,phandle = <0x2000>;
9*cd60bc56SAndroid Build Coastguard Worker		ref = <&{/node2}>; /* reference precedes target */
10*cd60bc56SAndroid Build Coastguard Worker		lref = <&n2>;
11*cd60bc56SAndroid Build Coastguard Worker	};
12*cd60bc56SAndroid Build Coastguard Worker	n2: node2 {
13*cd60bc56SAndroid Build Coastguard Worker		phandle = <0x1>;
14*cd60bc56SAndroid Build Coastguard Worker		ref = <&{/node1}>; /* reference after target */
15*cd60bc56SAndroid Build Coastguard Worker		lref = <&n1>;
16*cd60bc56SAndroid Build Coastguard Worker	};
17*cd60bc56SAndroid Build Coastguard Worker
18*cd60bc56SAndroid Build Coastguard Worker	/* Implicit phandles */
19*cd60bc56SAndroid Build Coastguard Worker	n3: node3 {
20*cd60bc56SAndroid Build Coastguard Worker		ref = <&{/node4}>;
21*cd60bc56SAndroid Build Coastguard Worker		lref = <&n4>;
22*cd60bc56SAndroid Build Coastguard Worker	};
23*cd60bc56SAndroid Build Coastguard Worker	n4: node4 {
24*cd60bc56SAndroid Build Coastguard Worker	};
25*cd60bc56SAndroid Build Coastguard Worker
26*cd60bc56SAndroid Build Coastguard Worker	/* Explicit phandle with implicit value */
27*cd60bc56SAndroid Build Coastguard Worker	/* This self-reference is the standard way to tag a node as requiring
28*cd60bc56SAndroid Build Coastguard Worker	 * a phandle (perhaps for reference by nodes that will be dynamically
29*cd60bc56SAndroid Build Coastguard Worker	 * added) without explicitly allocating it a phandle.
30*cd60bc56SAndroid Build Coastguard Worker	 * The self-reference requires some special internal handling, though
31*cd60bc56SAndroid Build Coastguard Worker	 * so check it actually works */
32*cd60bc56SAndroid Build Coastguard Worker	n5: node5 {
33*cd60bc56SAndroid Build Coastguard Worker		linux,phandle = <&n5>;
34*cd60bc56SAndroid Build Coastguard Worker		phandle = <&n5>;
35*cd60bc56SAndroid Build Coastguard Worker	};
36*cd60bc56SAndroid Build Coastguard Worker
37*cd60bc56SAndroid Build Coastguard Worker	node6 {
38*cd60bc56SAndroid Build Coastguard Worker		linux,phandle = <0xfffffffe>;
39*cd60bc56SAndroid Build Coastguard Worker		phandle = <0xfffffffe>;
40*cd60bc56SAndroid Build Coastguard Worker	};
41*cd60bc56SAndroid Build Coastguard Worker};
42