linux/drivers/of/unittest-data/tests-overlay.dtsi

330 lines
5.9 KiB
Plaintext

/ {
testcase-data {
overlay-node {
/* test bus */
selftestbus: test-bus {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
selftest100: test-selftest100 {
compatible = "selftest";
status = "okay";
reg = <100>;
};
selftest101: test-selftest101 {
compatible = "selftest";
status = "disabled";
reg = <101>;
};
selftest0: test-selftest0 {
compatible = "selftest";
status = "disabled";
reg = <0>;
};
selftest1: test-selftest1 {
compatible = "selftest";
status = "okay";
reg = <1>;
};
selftest2: test-selftest2 {
compatible = "selftest";
status = "disabled";
reg = <2>;
};
selftest3: test-selftest3 {
compatible = "selftest";
status = "okay";
reg = <3>;
};
selftest5: test-selftest5 {
compatible = "selftest";
status = "disabled";
reg = <5>;
};
selftest6: test-selftest6 {
compatible = "selftest";
status = "disabled";
reg = <6>;
};
selftest7: test-selftest7 {
compatible = "selftest";
status = "disabled";
reg = <7>;
};
selftest8: test-selftest8 {
compatible = "selftest";
status = "disabled";
reg = <8>;
};
i2c-test-bus {
compatible = "selftest-i2c-bus";
status = "okay";
reg = <50>;
#address-cells = <1>;
#size-cells = <0>;
test-selftest12 {
reg = <8>;
compatible = "selftest-i2c-dev";
status = "disabled";
};
test-selftest13 {
reg = <9>;
compatible = "selftest-i2c-dev";
status = "okay";
};
test-selftest14 {
reg = <10>;
compatible = "selftest-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 = "selftest-i2c-dev";
status = "okay";
};
};
};
};
};
};
/* test enable using absolute target path */
overlay0 {
fragment@0 {
target-path = "/testcase-data/overlay-node/test-bus/test-selftest0";
__overlay__ {
status = "okay";
};
};
};
/* test disable using absolute target path */
overlay1 {
fragment@0 {
target-path = "/testcase-data/overlay-node/test-bus/test-selftest1";
__overlay__ {
status = "disabled";
};
};
};
/* test enable using label */
overlay2 {
fragment@0 {
target = <&selftest2>;
__overlay__ {
status = "okay";
};
};
};
/* test disable using label */
overlay3 {
fragment@0 {
target = <&selftest3>;
__overlay__ {
status = "disabled";
};
};
};
/* test insertion of a full node */
overlay4 {
fragment@0 {
target = <&selftestbus>;
__overlay__ {
/* suppress DTC warning */
#address-cells = <1>;
#size-cells = <0>;
test-selftest4 {
compatible = "selftest";
status = "okay";
reg = <4>;
};
};
};
};
/* test overlay apply revert */
overlay5 {
fragment@0 {
target-path = "/testcase-data/overlay-node/test-bus/test-selftest5";
__overlay__ {
status = "okay";
};
};
};
/* test overlays application and removal in sequence */
overlay6 {
fragment@0 {
target-path = "/testcase-data/overlay-node/test-bus/test-selftest6";
__overlay__ {
status = "okay";
};
};
};
overlay7 {
fragment@0 {
target-path = "/testcase-data/overlay-node/test-bus/test-selftest7";
__overlay__ {
status = "okay";
};
};
};
/* test overlays application and removal in bad sequence */
overlay8 {
fragment@0 {
target-path = "/testcase-data/overlay-node/test-bus/test-selftest8";
__overlay__ {
status = "okay";
};
};
};
overlay9 {
fragment@0 {
target-path = "/testcase-data/overlay-node/test-bus/test-selftest8";
__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-selftest10 {
compatible = "selftest";
status = "okay";
reg = <10>;
#address-cells = <1>;
#size-cells = <0>;
test-selftest101 {
compatible = "selftest";
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-selftest11 {
compatible = "selftest";
status = "okay";
reg = <11>;
#address-cells = <1>;
#size-cells = <0>;
test-selftest111 {
compatible = "selftest";
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-selftest12";
__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-selftest13";
__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-selftest15 {
reg = <11>;
compatible = "selftest-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 = "selftest-i2c-dev";
status = "okay";
};
};
};
};
};
};
};
};