[PATCH 00/20] binman: Enhance FIT support for firmware

Simon Glass sjg at chromium.org
Sat Jul 20 12:49:30 CEST 2024


So far Binman's FIT support is designed for booting the OS. But FIT is
also used to hold firmware images.

One missing feature is the ability to produce the smaller FDTs used by
SPL builds.

This series adds this, running fdtgrep on each devicetree to create the
correct one for each model, for a particular boot phase. This allows,
for example, a particular SPL image + devicetree combination to be
selected during boot.


Simon Glass (20):
  fixdep: Support VPL
  binman: Correct an error in the FIT-template example
  binman: Tidy up bintool docs
  binman: Tidy up comment for Bintoolfdt_add_pubkey.run()
  binman: Move problem-checking code into a function
  binman: elf: Add more debugging to LookupAndWriteSymbols()
  binman: Write the compressed output to a file
  binman: Correct comment in blob_dtb GetFdtEtype()
  binman: Mention expanded entries in u-boot-vpl
  binman: Fix a comment typo in _DoReadFileDtb()
  binman: Correct indentation in testSplPubkeyDtb
  binman: Add a bintool for fdtgrep
  binman: Remove dependency on pylibfdt for entry-docs
  binman: Allow entry types to override FDT contents
  binman: Add support for alternative FDTs
  binman: fit: Allow providing FDT filenames in a directory
  binman: fit: Write the compatible string to configuration
  binman: fit: Allow running fdtgrep on devicetree blobs
  Makefile: Provide VPL devicetree and padding to binman
  Makefile: Pass OF_SPL_REMOVE_PROPS to binman

 Makefile                                     |   3 +
 doc/develop/spl.rst                          |   2 +
 scripts/basic/fixdep.c                       |   2 +
 tools/binman/binman.rst                      |   4 +-
 tools/binman/bintools.rst                    |  69 +++--
 tools/binman/btool/fdt_add_pubkey.py         |   4 +
 tools/binman/btool/fdtgrep.py                | 137 ++++++++++
 tools/binman/control.py                      |  77 +++---
 tools/binman/elf.py                          |   2 +-
 tools/binman/entries.rst                     |  94 ++++++-
 tools/binman/entry.py                        |  17 ++
 tools/binman/etype/alternates_fdt.py         | 132 ++++++++++
 tools/binman/etype/blob_dtb.py               |   8 +-
 tools/binman/etype/fit.py                    |  93 ++++++-
 tools/binman/etype/u_boot_spl_nodtb.py       |   2 -
 tools/binman/etype/u_boot_tpl_nodtb.py       |   2 -
 tools/binman/etype/u_boot_vpl.py             |   3 +
 tools/binman/etype/u_boot_vpl_nodtb.py       |   4 +-
 tools/binman/ftest.py                        | 255 +++++++++++++++++--
 tools/binman/image.py                        |  24 ++
 tools/binman/main.py                         |   2 +
 tools/binman/test/328_alternates_fdt.dts     |  28 ++
 tools/binman/test/329_alternates_fdtgrep.dts |  29 +++
 tools/binman/test/330_alternates_vpl.dts     |  29 +++
 tools/binman/test/331_alternates_spl.dts     |  29 +++
 tools/binman/test/332_alternates_inval.dts   |  29 +++
 tools/binman/test/333_fit_fdt_dir.dts        |  58 +++++
 tools/binman/test/334_fit_fdt_compat.dts     |  60 +++++
 tools/binman/test/335_fit_fdt_phase.dts      |  61 +++++
 tools/binman/test/alt_dts/model1.dts         |  24 ++
 tools/binman/test/alt_dts/model2.dts         |  24 ++
 31 files changed, 1208 insertions(+), 99 deletions(-)
 create mode 100644 tools/binman/btool/fdtgrep.py
 create mode 100644 tools/binman/etype/alternates_fdt.py
 create mode 100644 tools/binman/test/328_alternates_fdt.dts
 create mode 100644 tools/binman/test/329_alternates_fdtgrep.dts
 create mode 100644 tools/binman/test/330_alternates_vpl.dts
 create mode 100644 tools/binman/test/331_alternates_spl.dts
 create mode 100644 tools/binman/test/332_alternates_inval.dts
 create mode 100644 tools/binman/test/333_fit_fdt_dir.dts
 create mode 100644 tools/binman/test/334_fit_fdt_compat.dts
 create mode 100644 tools/binman/test/335_fit_fdt_phase.dts
 create mode 100644 tools/binman/test/alt_dts/model1.dts
 create mode 100644 tools/binman/test/alt_dts/model2.dts

-- 
2.34.1



More information about the U-Boot mailing list