platform_external_dtc/tests/overlay_overlay_manual_fixups.dts
David Gibson 119e273003 Improve tests for dtc overlay generation
So far, the tests for generating runtime overlays with dtc weren't checking
the syntactic sugar.  This adds such a test.

Furthermore the existing tests were only minimally testing dtc's output
for the overlay.  This adds a test comparing the dtc output with the
more or less manually constructed overlays we already have for testing
libfdt's overlay application code.  This does require some minor changes
to that manually constructed overlay which don't change the sematics but
re-order / rename things to match the way dtc does it.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-03-06 13:45:36 +11:00

112 lines
1.9 KiB
Text

/*
* Copyright (c) 2016 NextThing Co
* Copyright (c) 2016 Free Electrons
* Copyright (c) 2016 Konsulko Inc.
*
* SPDX-License-Identifier: GPL-2.0+
*/
/dts-v1/;
/* Note no /plugin/ tag - we're manually generating the metadata for
testing purposes */
/ {
/* Test that we can change an int by another */
fragment@0 {
target = <0xffffffff /*&test*/>;
__overlay__ {
test-int-property = <43>;
};
};
/* Test that we can replace a string by a longer one */
fragment@1 {
target = <0xffffffff /*&test*/>;
__overlay__ {
test-str-property = "foobar";
};
};
/* Test that we add a new property */
fragment@2 {
target = <0xffffffff /*&test*/>;
__overlay__ {
test-str-property-2 = "foobar2";
};
};
/* Test that we add a new node (by phandle) */
fragment@3 {
target = <0xffffffff /*&test*/>;
__overlay__ {
new-node {
new-property;
};
};
};
fragment@4 {
target = <0xffffffff /*&test*/>;
__overlay__ {
local: new-local-node {
new-property;
};
};
};
fragment@5 {
target = <0xffffffff /*&test*/>;
__overlay__ {
test-phandle = <0xffffffff /*&test*/>, <&local>;
};
};
fragment@6 {
target = <0xffffffff /*&test*/>;
__overlay__ {
test-several-phandle = <&local>, <&local>;
};
};
fragment@7 {
target = <0xffffffff /*&test*/>;
__overlay__ {
sub-test-node {
new-sub-test-property;
};
};
};
__fixups__ {
test = "/fragment@0:target:0",
"/fragment@1:target:0",
"/fragment@2:target:0",
"/fragment@3:target:0",
"/fragment@4:target:0",
"/fragment@5:target:0",
"/fragment@5/__overlay__:test-phandle:0",
"/fragment@6:target:0",
"/fragment@7:target:0";
};
__local_fixups__ {
fragment@5 {
__overlay__ {
test-phandle = <4>;
};
};
fragment@6 {
__overlay__ {
test-several-phandle = <0 4>;
};
};
};
};