![Pantelis Antoniou](/assets/img/avatar_default.png)
Introduce I2C device tree overlay tests. Tests insertion and removal of i2c adapters, i2c devices, and muxes. Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com> Signed-off-by: Rob Herring <robh@kernel.org>
330 lines
5.9 KiB
Plaintext
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";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
};
|
|
};
|