test: check u-boot properties in SPL device tree
authorPatrick Delaunay <patrick.delaunay@st.com>
Tue, 21 May 2019 17:19:11 +0000 (19:19 +0200)
committerSimon Glass <sjg@chromium.org>
Wed, 10 Jul 2019 22:52:58 +0000 (16:52 -0600)
Add a test to check the management of the U-boot relocation properties
for device tree SPL generation (fdtgrep result) and platdata:
- 'dm-pre-proper' and 'dm-tpl' not included in SPL
- 'dm-pre-reloc' and 'dm-spl' included in SPL

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
arch/sandbox/dts/sandbox.dtsi
test/py/tests/test_ofplatdata.py

index 2fb365d86e89b41ff6f0a1a0abe392e165c6de5e..c6d5650c20b7fe45b67cdfc4dd37e9ae8846462d 100644 (file)
                compatible = "sandbox,spl-test.2";
        };
 
+       spl-test5 {
+               u-boot,dm-tpl;
+               compatible = "sandbox,spl-test";
+               stringarray = "tpl";
+       };
+
+       spl-test6 {
+               u-boot,dm-pre-proper;
+               compatible = "sandbox,spl-test";
+               stringarray = "pre-proper";
+       };
+
+       spl-test7 {
+               u-boot,dm-spl;
+               compatible = "sandbox,spl-test";
+               stringarray = "spl";
+       };
+
        square {
                compatible = "demo-shape";
                colour = "blue";
index 98103ee71a94ef44b633307b28aa1bfccda87276..263334b0743b849b04e4ac3296e6854520da7542 100644 (file)
@@ -2,6 +2,7 @@
 # Copyright (c) 2016 Google, Inc
 
 import pytest
+import u_boot_utils as util
 
 OF_PLATDATA_OUTPUT = '''
 of-platdata probe:
@@ -31,6 +32,15 @@ intarray 0 0 0 0
 longbytearray 00 00 00 00 00 00 00 00 00
 string <NULL>
 stringarray "one" "" ""
+of-platdata probe:
+bool 0
+byte 00
+bytearray 00 00 00
+int 0
+intarray 0 0 0 0
+longbytearray 00 00 00 00 00 00 00 00 00
+string <NULL>
+stringarray "spl" "" ""
 '''
 
 @pytest.mark.buildconfigspec('spl_of_platdata')
@@ -40,3 +50,21 @@ def test_ofplatdata(u_boot_console):
     cons.restart_uboot_with_flags(['--show_of_platdata'])
     output = cons.get_spawn_output().replace('\r', '')
     assert OF_PLATDATA_OUTPUT in output
+
+@pytest.mark.buildconfigspec('spl_of_platdata')
+def test_spl_devicetree(u_boot_console):
+    """Test content of spl device-tree"""
+    cons = u_boot_console
+    dtb = cons.config.build_dir + '/spl/u-boot-spl.dtb'
+    fdtgrep = cons.config.build_dir + '/tools/fdtgrep'
+    output = util.run_and_log(cons, [fdtgrep, '-l', dtb])
+
+    assert "u-boot,dm-pre-reloc" not in output
+    assert "u-boot,dm-pre-proper" not in output
+    assert "u-boot,dm-spl" not in output
+    assert "u-boot,dm-tpl" not in output
+
+    assert "spl-test4" in output
+    assert "spl-test5" not in output
+    assert "spl-test6" not in output
+    assert "spl-test7" in output