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

Neha Malcom Francis n-francis at ti.com
Mon Jan 23 13:31:27 CET 2023


Hi Simon

On 21/01/23 01:16, Simon Glass wrote:
> Hi Neha,
> 
> On Fri, 20 Jan 2023 at 03:19, Neha Malcom Francis <n-francis at ti.com> wrote:
>>
>> 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 +-
> 
> Please move all of that into a separate patch. The binman changes
> should be in their own 'binman:' patch, with tests and docs related
> just to binman.
> 
>>   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
>>
> 
> It is great to see this and thank you for working on it.
> 
> My general comments are:
> 
> - we need to avoid adding new scripts (they should go into binman) so
> please let me know what is needed there and how we can adjust it
> - needs some work in testing - e.g. 'binman test' and 'binman test -T'
> need to pass without errors
> 
> Regards,
> Simon

Thanks for the review comments! I am working on it and will reach out if 
I need any help.

-- 
Thanking You
Neha Malcom Francis


More information about the U-Boot mailing list