Rename the test .dts and tests and include the M suffix to indicate those tests are for i.MX8M, not for i.MX8, which is a different SoC.
Update 339_nxp_imx8m.dts, add testNxpImx8MImageMkimageMissing and update nxp_imx8mimage.py test to bring nxp_imx8mimage test to 100% . Add 343..345_nxp_imx8m.dts, add matching tests and update nxp_imx8mcst.py to bring CST tests to 97% . It is not clear how to test the CST output file to reach 100%. Signed-off-by: Marek Vasut <[email protected]> --- Cc: Brian Ruley <[email protected]> Cc: Paul HENRYS <[email protected]> Cc: Rasmus Villemoes <[email protected]> Cc: Simon Glass <[email protected]> Cc: Tim Harvey <[email protected]> Cc: Tom Rini <[email protected]> Cc: [email protected] --- tools/binman/etype/nxp_imx8mcst.py | 4 -- tools/binman/etype/nxp_imx8mimage.py | 4 -- tools/binman/ftest.py | 42 +++++++++++++++++-- .../{339_nxp_imx8.dts => 339_nxp_imx8m.dts} | 3 ++ tools/binman/test/343_nxp_imx8m.dts | 26 ++++++++++++ tools/binman/test/344_nxp_imx8m.dts | 28 +++++++++++++ tools/binman/test/345_nxp_imx8m.dts | 19 +++++++++ 7 files changed, 115 insertions(+), 11 deletions(-) rename tools/binman/test/{339_nxp_imx8.dts => 339_nxp_imx8m.dts} (93%) create mode 100644 tools/binman/test/343_nxp_imx8m.dts create mode 100644 tools/binman/test/344_nxp_imx8m.dts create mode 100644 tools/binman/test/345_nxp_imx8m.dts diff --git a/tools/binman/etype/nxp_imx8mcst.py b/tools/binman/etype/nxp_imx8mcst.py index dd9f226b751..c36a8f68971 100644 --- a/tools/binman/etype/nxp_imx8mcst.py +++ b/tools/binman/etype/nxp_imx8mcst.py @@ -181,10 +181,6 @@ class Entry_nxp_imx8mcst(Entry_mkimage): upto = 0x00 for entry in super().GetEntries().values(): entry.SetOffsetSize(upto, None) - - # Give up if any entries lack a size - if entry.size is None: - return upto += entry.size Entry_section.SetImagePos(self, image_pos) diff --git a/tools/binman/etype/nxp_imx8mimage.py b/tools/binman/etype/nxp_imx8mimage.py index 8ad177b3b65..8d14e16154a 100644 --- a/tools/binman/etype/nxp_imx8mimage.py +++ b/tools/binman/etype/nxp_imx8mimage.py @@ -66,10 +66,6 @@ class Entry_nxp_imx8mimage(Entry_mkimage): upto = 0x00 for entry in super().GetEntries().values(): entry.SetOffsetSize(upto, None) - - # Give up if any entries lack a size - if entry.size is None: - return upto += entry.size Entry_section.SetImagePos(self, image_pos) diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index a553ca9e564..467f24a85d5 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -7822,9 +7822,45 @@ fdt fdtmap Extract the devicetree blob from the fdtmap self.assertIn('Symbol-writing: no value for /binman/section/u-boot', out) - def testNxpImx8Image(self): - """Test that binman can produce an iMX8 image""" - self._DoTestFile('339_nxp_imx8.dts') + def testNxpImx8MImage(self): + """Test that binman can produce an iMX8M image""" + self._DoTestFile('339_nxp_imx8m.dts') + + def testNxpImx8MImageMkimageMissing(self): + """Test that binman can produce an iMX8M image""" + with test_util.capture_sys_output() as (_, stderr): + self._DoTestFile('339_nxp_imx8m.dts', + force_missing_bintools='mkimage') + err = stderr.getvalue() + self.assertRegex(err, "Image 'image'.*missing bintools.*: mkimage") + + def testNxpImx8MCSTSPL(self): + """Test that binman can sign an iMX8M SPL image""" + self._DoTestFile('343_nxp_imx8m.dts') + + def testNxpImx8MCSTFIT(self): + """Test that binman can sign an iMX8M FIT image""" + self._DoTestFile('344_nxp_imx8m.dts') + + def testNxpImx8MCSTUnknown(self): + """Test that binman can sign an iMX8M Unknown image""" + self._DoTestFile('345_nxp_imx8m.dts') + + def testNxpImx8MCSTMkimageMissing(self): + """Test that binman can sign an iMX8M image""" + with test_util.capture_sys_output() as (_, stderr): + self._DoTestFile('343_nxp_imx8m.dts', + force_missing_bintools='mkimage') + err = stderr.getvalue() + self.assertRegex(err, "Image 'image'.*missing bintools.*: mkimage") + + def testNxpImx8MCSTtoolMissing(self): + """Test that binman can sign an iMX8M image""" + with test_util.capture_sys_output() as (_, stderr): + self._DoTestFile('343_nxp_imx8m.dts', + force_missing_bintools='cst') + err = stderr.getvalue() + self.assertRegex(err, "Image 'image'.*missing bintools.*: cst") def testFitSignSimple(self): """Test that image with FIT and signature nodes can be signed""" diff --git a/tools/binman/test/339_nxp_imx8.dts b/tools/binman/test/339_nxp_imx8m.dts similarity index 93% rename from tools/binman/test/339_nxp_imx8.dts rename to tools/binman/test/339_nxp_imx8m.dts index cb512ae9aa2..2c8f4bee5b7 100644 --- a/tools/binman/test/339_nxp_imx8.dts +++ b/tools/binman/test/339_nxp_imx8m.dts @@ -12,6 +12,9 @@ nxp,boot-from = "sd"; nxp,rom-version = <1>; nxp,loader-address = <0x10>; + + section { + }; }; }; }; diff --git a/tools/binman/test/343_nxp_imx8m.dts b/tools/binman/test/343_nxp_imx8m.dts new file mode 100644 index 00000000000..5e76a97641b --- /dev/null +++ b/tools/binman/test/343_nxp_imx8m.dts @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: GPL-2.0+ + +/dts-v1/; + +/ { + #address-cells = <1>; + #size-cells = <1>; + + binman { + nxp-imx8mcst { + args; /* TODO: Needed by mkimage etype superclass */ + nxp,loader-address = <0x12340000>; + nxp,unlock; + + nxp-imx8mimage { + args; /* TODO: Needed by mkimage etype superclass */ + nxp,boot-from = "sd"; + nxp,rom-version = <1>; + nxp,loader-address = <0x10>; + + section { + }; + }; + }; + }; +}; diff --git a/tools/binman/test/344_nxp_imx8m.dts b/tools/binman/test/344_nxp_imx8m.dts new file mode 100644 index 00000000000..c38267bb815 --- /dev/null +++ b/tools/binman/test/344_nxp_imx8m.dts @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: GPL-2.0+ + +/dts-v1/; + +/ { + #address-cells = <1>; + #size-cells = <1>; + + binman { + nxp-imx8mcst { + nxp,loader-address = <0x12340000>; + nxp,fast-auth; + offset = <0x58000>; + args; /* Needed by mkimage etype superclass */ + + fit { + description = "test desc"; + #address-cells = <1>; + + images { + }; + + configurations { + }; + }; + }; + }; +}; diff --git a/tools/binman/test/345_nxp_imx8m.dts b/tools/binman/test/345_nxp_imx8m.dts new file mode 100644 index 00000000000..0ed6e3ca9d0 --- /dev/null +++ b/tools/binman/test/345_nxp_imx8m.dts @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: GPL-2.0+ + +/dts-v1/; + +/ { + #address-cells = <1>; + #size-cells = <1>; + + binman { + nxp-imx8mcst { + nxp,loader-address = <0x12340000>; + offset = <0x58000>; + args; /* Needed by mkimage etype superclass */ + + u-boot { + }; + }; + }; +}; -- 2.45.2

