[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