Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / of / unittest-data / tests-overlay.dtsi
diff --git a/kernel/drivers/of/unittest-data/tests-overlay.dtsi b/kernel/drivers/of/unittest-data/tests-overlay.dtsi
new file mode 100644 (file)
index 0000000..02ba56c
--- /dev/null
@@ -0,0 +1,329 @@
+
+/ {
+       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";
+                                                       };
+                                               };
+                                       };
+                               };
+                       };
+               };
+
+       };
+};