1// SPDX-License-Identifier: GPL-2.0 2 3/ { 4 testcase-data { 5 overlay-node { 6 7 /* test bus */ 8 unittestbus: test-bus { 9 compatible = "simple-bus"; 10 #address-cells = <1>; 11 #size-cells = <0>; 12 13 unittest100: test-unittest100 { 14 compatible = "unittest"; 15 status = "okay"; 16 reg = <100>; 17 }; 18 19 unittest101: test-unittest101 { 20 compatible = "unittest"; 21 status = "disabled"; 22 reg = <101>; 23 }; 24 25 unittest0: test-unittest0 { 26 compatible = "unittest"; 27 status = "disabled"; 28 reg = <0>; 29 }; 30 31 unittest1: test-unittest1 { 32 compatible = "unittest"; 33 status = "okay"; 34 reg = <1>; 35 }; 36 37 unittest2: test-unittest2 { 38 compatible = "unittest"; 39 status = "disabled"; 40 reg = <2>; 41 }; 42 43 unittest3: test-unittest3 { 44 compatible = "unittest"; 45 status = "okay"; 46 reg = <3>; 47 }; 48 49 unittest5: test-unittest5 { 50 compatible = "unittest"; 51 status = "disabled"; 52 reg = <5>; 53 }; 54 55 unittest6: test-unittest6 { 56 compatible = "unittest"; 57 status = "disabled"; 58 reg = <6>; 59 }; 60 61 unittest7: test-unittest7 { 62 compatible = "unittest"; 63 status = "disabled"; 64 reg = <7>; 65 }; 66 67 unittest8: test-unittest8 { 68 compatible = "unittest"; 69 status = "disabled"; 70 reg = <8>; 71 }; 72 73 i2c-test-bus { 74 compatible = "unittest-i2c-bus"; 75 status = "okay"; 76 reg = <50>; 77 78 #address-cells = <1>; 79 #size-cells = <0>; 80 81 test-unittest12 { 82 reg = <8>; 83 compatible = "unittest-i2c-dev"; 84 status = "disabled"; 85 }; 86 87 test-unittest13 { 88 reg = <9>; 89 compatible = "unittest-i2c-dev"; 90 status = "okay"; 91 }; 92 93 test-unittest14 { 94 reg = <10>; 95 compatible = "unittest-i2c-mux"; 96 status = "okay"; 97 98 #address-cells = <1>; 99 #size-cells = <0>; 100 101 i2c@0 { 102 #address-cells = <1>; 103 #size-cells = <0>; 104 reg = <0>; 105 106 test-mux-dev { 107 reg = <32>; 108 compatible = "unittest-i2c-dev"; 109 status = "okay"; 110 }; 111 }; 112 }; 113 }; 114 }; 115 }; 116 117 /* test enable using absolute target path */ 118 overlay0 { 119 fragment@0 { 120 target-path = "/testcase-data/overlay-node/test-bus/test-unittest0"; 121 __overlay__ { 122 status = "okay"; 123 }; 124 }; 125 }; 126 127 /* test disable using absolute target path */ 128 overlay1 { 129 fragment@0 { 130 target-path = "/testcase-data/overlay-node/test-bus/test-unittest1"; 131 __overlay__ { 132 status = "disabled"; 133 }; 134 }; 135 }; 136 137 /* test enable using label */ 138 overlay2 { 139 fragment@0 { 140 target = <&unittest2>; 141 __overlay__ { 142 status = "okay"; 143 }; 144 }; 145 }; 146 147 /* test disable using label */ 148 overlay3 { 149 fragment@0 { 150 target = <&unittest3>; 151 __overlay__ { 152 status = "disabled"; 153 }; 154 }; 155 }; 156 157 /* test insertion of a full node */ 158 overlay4 { 159 fragment@0 { 160 target = <&unittestbus>; 161 __overlay__ { 162 163 /* suppress DTC warning */ 164 #address-cells = <1>; 165 #size-cells = <0>; 166 167 test-unittest4 { 168 compatible = "unittest"; 169 status = "okay"; 170 reg = <4>; 171 }; 172 }; 173 }; 174 }; 175 176 /* test overlay apply revert */ 177 overlay5 { 178 fragment@0 { 179 target-path = "/testcase-data/overlay-node/test-bus/test-unittest5"; 180 __overlay__ { 181 status = "okay"; 182 }; 183 }; 184 }; 185 186 /* test overlays application and removal in sequence */ 187 overlay6 { 188 fragment@0 { 189 target-path = "/testcase-data/overlay-node/test-bus/test-unittest6"; 190 __overlay__ { 191 status = "okay"; 192 }; 193 }; 194 }; 195 overlay7 { 196 fragment@0 { 197 target-path = "/testcase-data/overlay-node/test-bus/test-unittest7"; 198 __overlay__ { 199 status = "okay"; 200 }; 201 }; 202 }; 203 204 /* test overlays application and removal in bad sequence */ 205 overlay8 { 206 fragment@0 { 207 target-path = "/testcase-data/overlay-node/test-bus/test-unittest8"; 208 __overlay__ { 209 status = "okay"; 210 }; 211 }; 212 }; 213 overlay9 { 214 fragment@0 { 215 target-path = "/testcase-data/overlay-node/test-bus/test-unittest8"; 216 __overlay__ { 217 property-foo = "bar"; 218 }; 219 }; 220 }; 221 222 overlay10 { 223 fragment@0 { 224 target-path = "/testcase-data/overlay-node/test-bus"; 225 __overlay__ { 226 227 /* suppress DTC warning */ 228 #address-cells = <1>; 229 #size-cells = <0>; 230 231 test-unittest10 { 232 compatible = "unittest"; 233 status = "okay"; 234 reg = <10>; 235 236 #address-cells = <1>; 237 #size-cells = <0>; 238 239 test-unittest101 { 240 compatible = "unittest"; 241 status = "okay"; 242 reg = <1>; 243 }; 244 245 }; 246 }; 247 }; 248 }; 249 250 overlay11 { 251 fragment@0 { 252 target-path = "/testcase-data/overlay-node/test-bus"; 253 __overlay__ { 254 255 /* suppress DTC warning */ 256 #address-cells = <1>; 257 #size-cells = <0>; 258 259 test-unittest11 { 260 compatible = "unittest"; 261 status = "okay"; 262 reg = <11>; 263 264 #address-cells = <1>; 265 #size-cells = <0>; 266 267 test-unittest111 { 268 compatible = "unittest"; 269 status = "okay"; 270 reg = <1>; 271 }; 272 273 }; 274 }; 275 }; 276 }; 277 278 /* test enable using absolute target path (i2c) */ 279 overlay12 { 280 fragment@0 { 281 target-path = "/testcase-data/overlay-node/test-bus/i2c-test-bus/test-unittest12"; 282 __overlay__ { 283 status = "okay"; 284 }; 285 }; 286 }; 287 288 /* test disable using absolute target path (i2c) */ 289 overlay13 { 290 fragment@0 { 291 target-path = "/testcase-data/overlay-node/test-bus/i2c-test-bus/test-unittest13"; 292 __overlay__ { 293 status = "disabled"; 294 }; 295 }; 296 }; 297 298 /* test mux overlay */ 299 overlay15 { 300 fragment@0 { 301 target-path = "/testcase-data/overlay-node/test-bus/i2c-test-bus"; 302 __overlay__ { 303 #address-cells = <1>; 304 #size-cells = <0>; 305 test-unittest15 { 306 reg = <11>; 307 compatible = "unittest-i2c-mux"; 308 status = "okay"; 309 310 #address-cells = <1>; 311 #size-cells = <0>; 312 313 i2c@0 { 314 #address-cells = <1>; 315 #size-cells = <0>; 316 reg = <0>; 317 318 test-mux-dev { 319 reg = <32>; 320 compatible = "unittest-i2c-dev"; 321 status = "okay"; 322 }; 323 }; 324 }; 325 }; 326 }; 327 }; 328 329 }; 330}; 331