1
2/ {
3	testcase-data {
4		overlay-node {
5
6			/* test bus */
7			selftestbus: test-bus {
8				compatible = "simple-bus";
9				#address-cells = <1>;
10				#size-cells = <0>;
11
12				selftest100: test-selftest100 {
13					compatible = "selftest";
14					status = "okay";
15					reg = <100>;
16				};
17
18				selftest101: test-selftest101 {
19					compatible = "selftest";
20					status = "disabled";
21					reg = <101>;
22				};
23
24				selftest0: test-selftest0 {
25					compatible = "selftest";
26					status = "disabled";
27					reg = <0>;
28				};
29
30				selftest1: test-selftest1 {
31					compatible = "selftest";
32					status = "okay";
33					reg = <1>;
34				};
35
36				selftest2: test-selftest2 {
37					compatible = "selftest";
38					status = "disabled";
39					reg = <2>;
40				};
41
42				selftest3: test-selftest3 {
43					compatible = "selftest";
44					status = "okay";
45					reg = <3>;
46				};
47
48				selftest5: test-selftest5 {
49					compatible = "selftest";
50					status = "disabled";
51					reg = <5>;
52				};
53
54				selftest6: test-selftest6 {
55					compatible = "selftest";
56					status = "disabled";
57					reg = <6>;
58				};
59
60				selftest7: test-selftest7 {
61					compatible = "selftest";
62					status = "disabled";
63					reg = <7>;
64				};
65
66				selftest8: test-selftest8 {
67					compatible = "selftest";
68					status = "disabled";
69					reg = <8>;
70				};
71			};
72		};
73
74		/* test enable using absolute target path */
75		overlay0 {
76			fragment@0 {
77				target-path = "/testcase-data/overlay-node/test-bus/test-selftest0";
78				__overlay__ {
79					status = "okay";
80				};
81			};
82		};
83
84		/* test disable using absolute target path */
85		overlay1 {
86			fragment@0 {
87				target-path = "/testcase-data/overlay-node/test-bus/test-selftest1";
88				__overlay__ {
89					status = "disabled";
90				};
91			};
92		};
93
94		/* test enable using label */
95		overlay2 {
96			fragment@0 {
97				target = <&selftest2>;
98				__overlay__ {
99					status = "okay";
100				};
101			};
102		};
103
104		/* test disable using label */
105		overlay3 {
106			fragment@0 {
107				target = <&selftest3>;
108				__overlay__ {
109					status = "disabled";
110				};
111			};
112		};
113
114		/* test insertion of a full node */
115		overlay4 {
116			fragment@0 {
117				target = <&selftestbus>;
118				__overlay__ {
119
120					/* suppress DTC warning */
121					#address-cells = <1>;
122					#size-cells = <0>;
123
124					test-selftest4 {
125						compatible = "selftest";
126						status = "okay";
127						reg = <4>;
128					};
129				};
130			};
131		};
132
133		/* test overlay apply revert */
134		overlay5 {
135			fragment@0 {
136				target-path = "/testcase-data/overlay-node/test-bus/test-selftest5";
137				__overlay__ {
138					status = "okay";
139				};
140			};
141		};
142
143		/* test overlays application and removal in sequence */
144		overlay6 {
145			fragment@0 {
146				target-path = "/testcase-data/overlay-node/test-bus/test-selftest6";
147				__overlay__ {
148					status = "okay";
149				};
150			};
151		};
152		overlay7 {
153			fragment@0 {
154				target-path = "/testcase-data/overlay-node/test-bus/test-selftest7";
155				__overlay__ {
156					status = "okay";
157				};
158			};
159		};
160
161		/* test overlays application and removal in bad sequence */
162		overlay8 {
163			fragment@0 {
164				target-path = "/testcase-data/overlay-node/test-bus/test-selftest8";
165				__overlay__ {
166					status = "okay";
167				};
168			};
169		};
170		overlay9 {
171			fragment@0 {
172				target-path = "/testcase-data/overlay-node/test-bus/test-selftest8";
173				__overlay__ {
174					property-foo = "bar";
175				};
176			};
177		};
178
179		overlay10 {
180			fragment@0 {
181				target-path = "/testcase-data/overlay-node/test-bus";
182				__overlay__ {
183
184					/* suppress DTC warning */
185					#address-cells = <1>;
186					#size-cells = <0>;
187
188					test-selftest10 {
189						compatible = "selftest";
190						status = "okay";
191						reg = <10>;
192
193						#address-cells = <1>;
194						#size-cells = <0>;
195
196						test-selftest101 {
197							compatible = "selftest";
198							status = "okay";
199							reg = <1>;
200						};
201
202					};
203				};
204			};
205		};
206
207		overlay11 {
208			fragment@0 {
209				target-path = "/testcase-data/overlay-node/test-bus";
210				__overlay__ {
211
212					/* suppress DTC warning */
213					#address-cells = <1>;
214					#size-cells = <0>;
215
216					test-selftest11 {
217						compatible = "selftest";
218						status = "okay";
219						reg = <11>;
220
221						#address-cells = <1>;
222						#size-cells = <0>;
223
224						test-selftest111 {
225							compatible = "selftest";
226							status = "okay";
227							reg = <1>;
228						};
229
230					};
231				};
232			};
233		};
234	};
235};
236