[PATCH 00/24] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script

Simon Glass sjg at chromium.org
Tue Feb 8 19:49:44 CET 2022


At present rockchip 64-bit boards make use of a FIT-generator script
written in Python. The script supports splitting an ELF file into several
'loadable' nodes in the FIT. Binman does not current support this feature.

This series adds binman support for ELF splitting. This works by adding a
new 'fit,operation' property to the FIT subnodes, allowing this new way of
generating nodes.

Some other fixes and improvements are needed along the way.

A new, common binman description is added for 64-bit boards which includes
the required u-boot.itb file.

The existing script is removed, so that only a few zynq boards are now
using a SPL_FIT_GENERATOR script:

   avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0
   xilinx_zynqmp_virt

Migration of those is hopefully in progress.

Note however that tools/k3_fit_atf.sh remains, used by a few boards that
enable CONFIG_TI_SECURE_DEVICE so this series is copied there too:

    am335x_hs_evm
    am335x_hs_evm_uart
    am43xx_hs_evm
    am57xx_hs_evm
    am57xx_hs_evm_usb
    am65x_hs_evm_a53
    am65x_hs_evm_r5
    dra7xx_hs_evm
    dra7xx_hs_evm_usb
    j721e_hs_evm_a72
    j721e_hs_evm_r5
    k2e_hs_evm
    k2g_hs_evm
    k2hk_hs_evm
    k2l_hs_evm

Ivan Mikhaylov has sent a patch to help with these, but I need to take a
look at the testing side. In any case they should really be using binman
for the image generation.

This series also includes some moveconfig improvements that were used to
create board lists in this cover letter.


Simon Glass (24):
  moveconfig: Show the config name rather than the defconfig
  moveconfig: Allow regex matches when finding combinations
  spl: x86: Correct the binman symbols for SPL
  spl: Allow disabling binman symbols in SPL
  rockchip: evb-rk3288: Drop raw-image support
  dtoc: Support adding a string list to a device tree
  dtoc: Support deleting a node
  dtoc: Allow deleting nodes and adding them in the same sync
  dtoc: Support reading a list of arguments
  binman: Update docs to indicate mkimage is supported
  elf: Add a way to read segment information from an ELF file
  WIP: binman: Add support for OP-TEE
  binman: Add to the TODO
  binman: Support a list of strings with the mkimage etype
  binman: Add a ELF test file with disjoint text sections
  binman: Move entry-data collection into a Entry method
  binman: fit: Refactor to reduce function size
  binman: Tidy up the docs a little with fit
  binman: Allow different operations in FIT generator nodes
  binman: Support splitting an ELF file into multiple nodes
  rockchip: Include binman script in 64-bit boards
  rockchip: Support building the all output files in binman
  rockchip: Convert all boards to use binman
  rockchip: Drop the FIT generator script

 Makefile                                     |  43 +-
 arch/arm/dts/px30-u-boot.dtsi                |   2 +
 arch/arm/dts/rk3308-u-boot.dtsi              |   2 +
 arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi   |   2 +
 arch/arm/dts/rk3328-u-boot.dtsi              |   2 +
 arch/arm/dts/rk3368-u-boot.dtsi              |   1 +
 arch/arm/dts/rk3399-u-boot.dtsi              |   5 +-
 arch/arm/dts/rk3568-u-boot.dtsi              |   2 +
 arch/arm/dts/rockchip-u-boot.dtsi            |  84 +++-
 arch/arm/mach-rockchip/Kconfig               |   6 +
 arch/arm/mach-rockchip/make_fit_atf.py       | 240 ---------
 arch/x86/dts/u-boot.dtsi                     |   2 +-
 boot/Kconfig                                 |   3 +-
 common/spl/Kconfig                           |  24 +
 common/spl/spl.c                             |  12 +-
 configs/evb-rk3288_defconfig                 |   1 +
 include/spl.h                                |   4 +-
 tools/binman/binman.rst                      |  98 +++-
 tools/binman/elf.py                          |  37 ++
 tools/binman/elf_test.py                     |  31 +-
 tools/binman/entries.rst                     | 260 +++++++++-
 tools/binman/entry.py                        |  28 ++
 tools/binman/etype/fit.py                    | 490 ++++++++++++++++---
 tools/binman/etype/mkimage.py                |  27 +-
 tools/binman/etype/op_tee.py                 |  23 +
 tools/binman/ftest.py                        | 123 +++++
 tools/binman/missing-blob-help               |   4 +
 tools/binman/test/220_fit_bad_oper.dts       |  27 +
 tools/binman/test/221_fit_split_elf.dts      |  67 +++
 tools/binman/test/222_fit_bad_dir.dts        |   9 +
 tools/binman/test/223_fit_bad_dir_config.dts |   9 +
 tools/binman/test/Makefile                   |   6 +-
 tools/binman/test/elf_sections.c             |  20 +
 tools/binman/test/elf_sections.lds           |  31 ++
 tools/dtoc/fdt.py                            |  37 ++
 tools/dtoc/fdt_util.py                       |  12 +
 tools/dtoc/test/dtoc_test_simple.dts         |   1 +
 tools/dtoc/test_fdt.py                       |  43 ++
 tools/moveconfig.py                          |  39 +-
 39 files changed, 1450 insertions(+), 407 deletions(-)
 delete mode 100755 arch/arm/mach-rockchip/make_fit_atf.py
 create mode 100644 tools/binman/etype/op_tee.py
 create mode 100644 tools/binman/test/220_fit_bad_oper.dts
 create mode 100644 tools/binman/test/221_fit_split_elf.dts
 create mode 100644 tools/binman/test/222_fit_bad_dir.dts
 create mode 100644 tools/binman/test/223_fit_bad_dir_config.dts
 create mode 100644 tools/binman/test/elf_sections.c
 create mode 100644 tools/binman/test/elf_sections.lds

-- 
2.35.0.263.gb82422642f-goog



More information about the U-Boot mailing list