[PATCH 00/21] Migration to using binman to generate bootloader

Neha Malcom Francis n-francis at ti.com
Fri Jan 20 11:18:42 CET 2023


This series aims to eliminate the use of additional custom repositories
such as k3-image-gen (K3 Image Generation) repo that was plumbed into
the U-Boot build flow to generate boot images for TI K3 platform devices.
And instead, we move towards using binman that aligns better with the
community standard build flow.

This series uses binman for all K3 platforms supported on U-Boot currently;
both HS (High Security) and GP (General Purpose) devices.

Background on using k3-image-gen:
	* TI K3 devices require a SYSFW (System Firmware) image consisting
	of a signed system firmware image and board configuration binaries,
	this is needed to bring up system firmware during U-Boot R5 SPL
	startup.
	* Board configuration data contain board-specific information
	such as resource management, power management and security.

Series intends to use binman to take over the packaging and signing for
the R5 bootloader images tiboot3.bin (and sysfw.itb, for non-combined
boot flow) instead of k3-image-gen.

Series also packages the A72/A53 bootloader images (tispl.bin and
u-boot.img) using ATF, OPTEE and DM (Device Manager)

Neha Malcom Francis (21):
  ti: tools: config: Add board config class to generate config binaries
  tools: sysfw: Add script for generating configuration blobs
  tools: binman: add ti-secure entry type
  ti: sysfw: tiboot3: Add support for packaging sysfw.itb and
    tiboot3.bin
  j721e: schema: yaml: Add general schema and J721E board config files
  j721e: dts: binman: Package tiboot3.bin, sysfw.itb, tispl.bin,
    u-boot.img
  j7200: yaml: Add J7200 board config files
  j7200: dts: binman: Package tiboot3.bin, tispl.bin, u-boot.img
  am65x: yaml: Add AM65x board config files
  am65: dts: binman: Package tiboot3.bin, sysfw.itb, tispl.bin,
    u-boot.img
  config: am64x: Add board config for AM64x
  am64x: dts: binman: Package tiboot3.bin, tispl.bin u-boot.img
  Makefile: Add DM, SYSFW_PATH, SYSFW_HS_INNER_CERT_PATH to
    BINMAN_INDIRS
  j721s2: yaml: Add board config for J721S2
  j721s2: dts: binman: Package tiboot3.bin, tispl.bin and u-boot.img
  am62: yaml: Add board config for AM62
  am625: dts: binman: Package tiboot3.bin, tispl.bin and u-boot.img
  am62a: yaml: Add board config for AM62ax
  am62a: dts: binman: Package tiboot3.bin, tispl.bin, u-boot.img
  k3: tools: config.mk: Update makefile and remove scripts
  doc: board: ti: Update documentation for binman flow

 Makefile                                      |   17 +
 arch/arm/dts/k3-am625-r5-sk.dts               |    1 +
 arch/arm/dts/k3-am625-sk-binman.dtsi          |  377 ++
 arch/arm/dts/k3-am625-sk-u-boot.dtsi          |    2 +
 arch/arm/dts/k3-am62a-sk-binman.dtsi          |  377 ++
 arch/arm/dts/k3-am62a7-r5-sk.dts              |    1 +
 arch/arm/dts/k3-am62a7-sk.dts                 |    1 +
 arch/arm/dts/k3-am642-evm-u-boot.dtsi         |    2 +
 arch/arm/dts/k3-am642-r5-evm.dts              |    1 +
 arch/arm/dts/k3-am64x-binman.dtsi             |  440 +++
 arch/arm/dts/k3-am654-base-board-u-boot.dtsi  |    1 +
 .../dts/k3-am654-r5-base-board-u-boot.dtsi    |    1 +
 arch/arm/dts/k3-am65x-binman.dtsi             |  482 +++
 arch/arm/dts/k3-j7200-binman.dtsi             |  377 ++
 .../k3-j7200-common-proc-board-u-boot.dtsi    |    2 +
 arch/arm/dts/k3-j721e-binman.dtsi             |  605 +++
 .../k3-j721e-common-proc-board-u-boot.dtsi    |    1 +
 .../arm/dts/k3-j721e-r5-common-proc-board.dts |    1 +
 arch/arm/dts/k3-j721s2-binman.dtsi            |  377 ++
 .../k3-j721s2-common-proc-board-u-boot.dtsi   |    2 +
 .../dts/k3-j721s2-r5-common-proc-board.dts    |    1 +
 arch/arm/mach-k3/config.mk                    |  102 +-
 board/ti/am62ax/Kconfig                       |    2 +
 board/ti/am62ax/config.yaml                   | 1553 ++++++++
 board/ti/am62x/Kconfig                        |    2 +
 board/ti/am62x/config.yaml                    | 1490 ++++++++
 board/ti/am64x/Kconfig                        |    2 +
 board/ti/am64x/config.yaml                    | 1805 +++++++++
 board/ti/am65x/Kconfig                        |    2 +
 board/ti/am65x/config.yaml                    | 2469 ++++++++++++
 board/ti/common/schema.yaml                   |  355 ++
 board/ti/j721e/Kconfig                        |    4 +
 board/ti/j721e/config.yaml                    | 3162 ++++++++++++++++
 board/ti/j721e/config_j7200.yaml              | 2467 ++++++++++++
 board/ti/j721s2/Kconfig                       |    2 +
 board/ti/j721s2/config.yaml                   | 3303 +++++++++++++++++
 doc/board/ti/am62x_sk.rst                     |   22 +-
 doc/board/ti/j721e_evm.rst                    |   35 +-
 doc/board/ti/k3.rst                           |   50 +-
 include/binman_sym.h                          |    2 +
 scripts/Makefile.spl                          |    2 +
 test/py/requirements.txt                      |    1 +
 tools/binman/entries.rst                      |   15 +
 tools/binman/etype/ti_secure.py               |  133 +
 tools/binman/ftest.py                         |    8 +
 tools/k3_fit_atf.sh                           |  123 -
 tools/k3_gen_x509_cert.sh                     |  262 --
 tools/k3_sysfw_boardcfg_blob_creator.py       |  116 +
 tools/tibcfg_gen.py                           |  117 +
 49 files changed, 20146 insertions(+), 529 deletions(-)
 create mode 100644 arch/arm/dts/k3-am625-sk-binman.dtsi
 create mode 100644 arch/arm/dts/k3-am62a-sk-binman.dtsi
 create mode 100644 arch/arm/dts/k3-am64x-binman.dtsi
 create mode 100644 arch/arm/dts/k3-am65x-binman.dtsi
 create mode 100644 arch/arm/dts/k3-j7200-binman.dtsi
 create mode 100644 arch/arm/dts/k3-j721e-binman.dtsi
 create mode 100644 arch/arm/dts/k3-j721s2-binman.dtsi
 create mode 100644 board/ti/am62ax/config.yaml
 create mode 100644 board/ti/am62x/config.yaml
 create mode 100644 board/ti/am64x/config.yaml
 create mode 100644 board/ti/am65x/config.yaml
 create mode 100644 board/ti/common/schema.yaml
 create mode 100644 board/ti/j721e/config.yaml
 create mode 100644 board/ti/j721e/config_j7200.yaml
 create mode 100644 board/ti/j721s2/config.yaml
 create mode 100644 tools/binman/etype/ti_secure.py
 delete mode 100755 tools/k3_fit_atf.sh
 delete mode 100755 tools/k3_gen_x509_cert.sh
 create mode 100755 tools/k3_sysfw_boardcfg_blob_creator.py
 create mode 100644 tools/tibcfg_gen.py

-- 
2.34.1



More information about the U-Boot mailing list