Message ID | d32a7bd0-0f25-b35f-9ef8-be88fd25a4f4@siemens.com |
---|---|
State | Accepted |
Commit | b210661c8661ac843127a01fd0100ffceffb81d7 |
Delegated to: | Simon Glass |
Headers | show |
Series | [v3] binman: Include also subnodes in generator nodes | expand |
On Mon, 28 Feb 2022 at 09:06, Jan Kiszka <jan.kiszka@siemens.com> wrote: > > From: Jan Kiszka <jan.kiszka@siemens.com> > > This allows to prefill fdt and config nodes with hash and signature > subnodes. It's just important to place the child nodes last so that > hashes do not come before the data - would be disliked by mkimage. > > Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> > --- > > Rebased over "binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR > script" > > tools/binman/etype/fit.py | 4 ++++ > tools/binman/ftest.py | 1 + > tools/binman/test/170_fit_fdt.dts | 3 +++ > 3 files changed, 8 insertions(+) > Reviewed-by: Simon Glass <sjg@chromium.org>
diff --git a/tools/binman/etype/fit.py b/tools/binman/etype/fit.py index 63d552ed192..a31498d5847 100644 --- a/tools/binman/etype/fit.py +++ b/tools/binman/etype/fit.py @@ -532,6 +532,10 @@ class Entry_fit(Entry_section): # Add data for 'images' nodes (but not 'config') if depth == 1 and in_images: fsw.property('data', tools.read_file(fname)) + + for subnode in node.subnodes: + with fsw.add_node(subnode.name): + _add_node(node, depth + 1, subnode) else: if self._fdts is None: if self._fit_list_prop: diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index ec8e3d4d91b..d296bf1a137 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -4037,6 +4037,7 @@ class TestFunctional(unittest.TestCase): self.assertEqual(expected_data, fnode.props['data'].bytes) self.assertEqual('fdt-test-fdt%d.dtb' % seq, fnode.props['description'].value) + self.assertEqual(fnode.subnodes[0].name, 'hash') def _CheckConfig(seq, expected_data): """Check the configuration nodes diff --git a/tools/binman/test/170_fit_fdt.dts b/tools/binman/test/170_fit_fdt.dts index 99d710c57e9..0197ffd1597 100644 --- a/tools/binman/test/170_fit_fdt.dts +++ b/tools/binman/test/170_fit_fdt.dts @@ -36,6 +36,9 @@ description = "fdt-NAME.dtb"; type = "flat_dt"; compression = "none"; + hash { + algo = "sha256"; + }; }; };