diff options
-rw-r--r-- | dtc-parser.y | 11 | ||||
-rw-r--r-- | tests/test_tree1.dts | 44 | ||||
-rw-r--r-- | tests/test_tree1_body.dtsi | 43 | ||||
-rw-r--r-- | tests/test_tree1_delete.dts | 2 |
4 files changed, 52 insertions, 48 deletions
diff --git a/dtc-parser.y b/dtc-parser.y index 000873f..14aaf2e 100644 --- a/dtc-parser.y +++ b/dtc-parser.y @@ -101,13 +101,18 @@ extern bool treesource_error; %% sourcefile: - DT_V1 ';' memreserves devicetree + v1tag memreserves devicetree { - the_boot_info = build_boot_info($3, $4, - guess_boot_cpuid($4)); + the_boot_info = build_boot_info($2, $3, + guess_boot_cpuid($3)); } ; +v1tag: + DT_V1 ';' + | DT_V1 ';' v1tag + ; + memreserves: /* empty */ { diff --git a/tests/test_tree1.dts b/tests/test_tree1.dts index c7b170c..67ecfd0 100644 --- a/tests/test_tree1.dts +++ b/tests/test_tree1.dts @@ -1,3 +1,45 @@ /dts-v1/; -/include/ "test_tree1_body.dtsi" +/memreserve/ 0xdeadbeef00000000 0x100000; +/memreserve/ 123456789 010000; + +/ { + compatible = "test_tree1"; + prop-int = <0xdeadbeef>; + prop-int64 = /bits/ 64 <0xdeadbeef01abcdef>; + prop-str = "hello world"; + #address-cells = <1>; + #size-cells = <0>; + + subnode@1 { + compatible = "subnode1"; + reg = <1>; + prop-int = [deadbeef]; + + subsubnode { + compatible = "subsubnode1", "subsubnode"; + prop-int = <0xdeadbeef>; + }; + + ss1 { + }; + }; + + subnode@2 { + reg = <2>; + linux,phandle = <0x2000>; + prop-int = <123456789>; + #address-cells = <1>; + #size-cells = <0>; + + ssn0: subsubnode@0 { + reg = <0>; + phandle = <0x2001>; + compatible = "subsubnode2", "subsubnode"; + prop-int = <0726746425>; + }; + + ss2 { + }; + }; +}; diff --git a/tests/test_tree1_body.dtsi b/tests/test_tree1_body.dtsi deleted file mode 100644 index 24a5e1e..0000000 --- a/tests/test_tree1_body.dtsi +++ /dev/null @@ -1,43 +0,0 @@ -/memreserve/ 0xdeadbeef00000000 0x100000; -/memreserve/ 123456789 010000; - -/ { - compatible = "test_tree1"; - prop-int = <0xdeadbeef>; - prop-int64 = /bits/ 64 <0xdeadbeef01abcdef>; - prop-str = "hello world"; - #address-cells = <1>; - #size-cells = <0>; - - subnode@1 { - compatible = "subnode1"; - reg = <1>; - prop-int = [deadbeef]; - - subsubnode { - compatible = "subsubnode1", "subsubnode"; - prop-int = <0xdeadbeef>; - }; - - ss1 { - }; - }; - - subnode@2 { - reg = <2>; - linux,phandle = <0x2000>; - prop-int = <123456789>; - #address-cells = <1>; - #size-cells = <0>; - - ssn0: subsubnode@0 { - reg = <0>; - phandle = <0x2001>; - compatible = "subsubnode2", "subsubnode"; - prop-int = <0726746425>; - }; - - ss2 { - }; - }; -}; diff --git a/tests/test_tree1_delete.dts b/tests/test_tree1_delete.dts index a2f1bfd..b95ef1e 100644 --- a/tests/test_tree1_delete.dts +++ b/tests/test_tree1_delete.dts @@ -1,6 +1,6 @@ /dts-v1/; -/include/ "test_tree1_body.dtsi" +/include/ "test_tree1.dts" / { nonexistant-property = <0xdeadbeef>; |