
/ {
	testcase-data {
		overlay-node {

			/* test bus */
			unittestbus: test-bus {
				compatible = "simple-bus";
				#address-cells = <1>;
				#size-cells = <0>;

				unittest100: test-unittest100 {
					compatible = "unittest";
					status = "okay";
					reg = <100>;
				};

				unittest101: test-unittest101 {
					compatible = "unittest";
					status = "disabled";
					reg = <101>;
				};

				unittest0: test-unittest0 {
					compatible = "unittest";
					status = "disabled";
					reg = <0>;
				};

				unittest1: test-unittest1 {
					compatible = "unittest";
					status = "okay";
					reg = <1>;
				};

				unittest2: test-unittest2 {
					compatible = "unittest";
					status = "disabled";
					reg = <2>;
				};

				unittest3: test-unittest3 {
					compatible = "unittest";
					status = "okay";
					reg = <3>;
				};

				unittest5: test-unittest5 {
					compatible = "unittest";
					status = "disabled";
					reg = <5>;
				};

				unittest6: test-unittest6 {
					compatible = "unittest";
					status = "disabled";
					reg = <6>;
				};

				unittest7: test-unittest7 {
					compatible = "unittest";
					status = "disabled";
					reg = <7>;
				};

				unittest8: test-unittest8 {
					compatible = "unittest";
					status = "disabled";
					reg = <8>;
				};

				i2c-test-bus {
					compatible = "unittest-i2c-bus";
					status = "okay";
					reg = <50>;

					#address-cells = <1>;
					#size-cells = <0>;

					test-unittest12 {
						reg = <8>;
						compatible = "unittest-i2c-dev";
						status = "disabled";
					};

					test-unittest13 {
						reg = <9>;
						compatible = "unittest-i2c-dev";
						status = "okay";
					};

					test-unittest14 {
						reg = <10>;
						compatible = "unittest-i2c-mux";
						status = "okay";

						#address-cells = <1>;
						#size-cells = <0>;

						i2c@0 {
							#address-cells = <1>;
							#size-cells = <0>;
							reg = <0>;

							test-mux-dev {
								reg = <32>;
								compatible = "unittest-i2c-dev";
								status = "okay";
							};
						};
					};
				};
			};
		};

		/* test enable using absolute target path */
		overlay0 {
			fragment@0 {
				target-path = "/testcase-data/overlay-node/test-bus/test-unittest0";
				__overlay__ {
					status = "okay";
				};
			};
		};

		/* test disable using absolute target path */
		overlay1 {
			fragment@0 {
				target-path = "/testcase-data/overlay-node/test-bus/test-unittest1";
				__overlay__ {
					status = "disabled";
				};
			};
		};

		/* test enable using label */
		overlay2 {
			fragment@0 {
				target = <&unittest2>;
				__overlay__ {
					status = "okay";
				};
			};
		};

		/* test disable using label */
		overlay3 {
			fragment@0 {
				target = <&unittest3>;
				__overlay__ {
					status = "disabled";
				};
			};
		};

		/* test insertion of a full node */
		overlay4 {
			fragment@0 {
				target = <&unittestbus>;
				__overlay__ {

					/* suppress DTC warning */
					#address-cells = <1>;
					#size-cells = <0>;

					test-unittest4 {
						compatible = "unittest";
						status = "okay";
						reg = <4>;
					};
				};
			};
		};

		/* test overlay apply revert */
		overlay5 {
			fragment@0 {
				target-path = "/testcase-data/overlay-node/test-bus/test-unittest5";
				__overlay__ {
					status = "okay";
				};
			};
		};

		/* test overlays application and removal in sequence */
		overlay6 {
			fragment@0 {
				target-path = "/testcase-data/overlay-node/test-bus/test-unittest6";
				__overlay__ {
					status = "okay";
				};
			};
		};
		overlay7 {
			fragment@0 {
				target-path = "/testcase-data/overlay-node/test-bus/test-unittest7";
				__overlay__ {
					status = "okay";
				};
			};
		};

		/* test overlays application and removal in bad sequence */
		overlay8 {
			fragment@0 {
				target-path = "/testcase-data/overlay-node/test-bus/test-unittest8";
				__overlay__ {
					status = "okay";
				};
			};
		};
		overlay9 {
			fragment@0 {
				target-path = "/testcase-data/overlay-node/test-bus/test-unittest8";
				__overlay__ {
					property-foo = "bar";
				};
			};
		};

		overlay10 {
			fragment@0 {
				target-path = "/testcase-data/overlay-node/test-bus";
				__overlay__ {

					/* suppress DTC warning */
					#address-cells = <1>;
					#size-cells = <0>;

					test-unittest10 {
						compatible = "unittest";
						status = "okay";
						reg = <10>;

						#address-cells = <1>;
						#size-cells = <0>;

						test-unittest101 {
							compatible = "unittest";
							status = "okay";
							reg = <1>;
						};

					};
				};
			};
		};

		overlay11 {
			fragment@0 {
				target-path = "/testcase-data/overlay-node/test-bus";
				__overlay__ {

					/* suppress DTC warning */
					#address-cells = <1>;
					#size-cells = <0>;

					test-unittest11 {
						compatible = "unittest";
						status = "okay";
						reg = <11>;

						#address-cells = <1>;
						#size-cells = <0>;

						test-unittest111 {
							compatible = "unittest";
							status = "okay";
							reg = <1>;
						};

					};
				};
			};
		};

		/* test enable using absolute target path (i2c) */
		overlay12 {
			fragment@0 {
				target-path = "/testcase-data/overlay-node/test-bus/i2c-test-bus/test-unittest12";
				__overlay__ {
					status = "okay";
				};
			};
		};

		/* test disable using absolute target path (i2c) */
		overlay13 {
			fragment@0 {
				target-path = "/testcase-data/overlay-node/test-bus/i2c-test-bus/test-unittest13";
				__overlay__ {
					status = "disabled";
				};
			};
		};

		/* test mux overlay */
		overlay15 {
			fragment@0 {
				target-path = "/testcase-data/overlay-node/test-bus/i2c-test-bus";
				__overlay__ {
					#address-cells = <1>;
					#size-cells = <0>;
					test-unittest15 {
						reg = <11>;
						compatible = "unittest-i2c-mux";
						status = "okay";

						#address-cells = <1>;
						#size-cells = <0>;

						i2c@0 {
							#address-cells = <1>;
							#size-cells = <0>;
							reg = <0>;

							test-mux-dev {
								reg = <32>;
								compatible = "unittest-i2c-dev";
								status = "okay";
							};
						};
					};
				};
			};
		};

	};
};
