From: Neha Malcom Francis <n-francis@ti.com>
To: <u-boot@lists.denx.de>, <trini@konsulko.com>, <sjg@chromium.org>,
<afd@ti.com>, <vigneshr@ti.com>, <rogerq@kernel.org>
Cc: <n-francis@ti.com>, <alpernebiyasak@gmail.com>, <nm@ti.com>,
<bb@ti.com>, <u-kumar1@ti.com>
Subject: [PATCH v3 00/19] Migration to using binman for bootloader
Date: Fri, 21 Apr 2023 18:01:44 +0530 [thread overview]
Message-ID: <20230421123203.1315330-1-n-francis@ti.com> (raw)
This series aims to eliminate the use of additional custom repositories
such as k3-image-gen (K3 Image Generation) repo and core-secdev-k3 (K3
Security Development Tools) 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, both SE and FS) 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.
Background on using core-secdev-k3:
* Contains resources to sign x509 certificates for HS devices
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)
Changes in v3:
- added support for HS-FS devices
- added support for AM68-sk
- added back dropped documentation patch
- changed prefix for SYSFW and DM files to expected directory
name
- extended test coverage to 100%
- documentation fixes
- corrected formatting changes
Changes in v2:
- removed all external scripts
- created ti-board-config etype to support generation of board
config binaries
- created ti-secure and ti-secure-rom etypes to handle signing
instead of using external TI_SECURE_DEV_PKG
- updated openssl btool to support x509 certificate generation
- dropped Makefile changes to obtain external binary components,
moving to using BINMAN_INDIRS to achieve the same
v1: https://patchwork.ozlabs.org/project/uboot/cover/20230120101903.179959-1-n-francis@ti.com/
v2: https://patchwork.ozlabs.org/project/uboot/cover/20230404121342.446935-1-n-francis@ti.com/
Neha Malcom Francis (19):
binman: ti-board-config: Add support for TI board config binaries
binman: ti-secure: Add support for TI signing
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
am64x: yaml: Add board configs for AM64x
am64x: dts: binman: Package tiboot3.bin, tispl.bin u-boot.img
j721s2: yaml: Add board configs for J721S2
j721s2: dts: binman: Package tiboot3.bin, tispl.bin and u-boot.img
am62: yaml: Add board configs for AM62
am625: dts: binman: Package tiboot3.bin, tispl.bin and u-boot.img
am62a: yaml: Add board configs 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
arch/arm/dts/k3-am625-r5-sk.dts | 1 +
arch/arm/dts/k3-am625-sk-binman.dtsi | 529 +++
arch/arm/dts/k3-am625-sk-u-boot.dtsi | 2 +
arch/arm/dts/k3-am62a-sk-binman.dtsi | 528 +++
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 | 569 ++++
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 | 551 ++++
arch/arm/dts/k3-j7200-binman.dtsi | 529 +++
.../k3-j7200-common-proc-board-u-boot.dtsi | 2 +
arch/arm/dts/k3-j721e-binman.dtsi | 732 +++++
.../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 | 613 ++++
.../k3-j721s2-common-proc-board-u-boot.dtsi | 2 +
.../dts/k3-j721s2-r5-common-proc-board.dts | 1 +
arch/arm/mach-k3/config.mk | 126 +-
board/ti/am62ax/Kconfig | 2 +
board/ti/am62ax/board-cfg.yaml | 36 +
board/ti/am62ax/pm-cfg.yaml | 12 +
board/ti/am62ax/rm-cfg.yaml | 1151 +++++++
board/ti/am62ax/sec-cfg.yaml | 375 +++
board/ti/am62x/Kconfig | 2 +
board/ti/am62x/board-cfg.yaml | 36 +
board/ti/am62x/pm-cfg.yaml | 12 +
board/ti/am62x/rm-cfg.yaml | 1088 +++++++
board/ti/am62x/sec-cfg.yaml | 375 +++
board/ti/am64x/Kconfig | 2 +
board/ti/am64x/board-cfg.yaml | 37 +
board/ti/am64x/pm-cfg.yaml | 12 +
board/ti/am64x/rm-cfg.yaml | 1400 ++++++++
board/ti/am64x/sec-cfg.yaml | 378 +++
board/ti/am65x/Kconfig | 2 +
board/ti/am65x/board-cfg.yaml | 36 +
board/ti/am65x/pm-cfg.yaml | 12 +
board/ti/am65x/rm-cfg.yaml | 2068 ++++++++++++
board/ti/am65x/sec-cfg.yaml | 375 +++
board/ti/common/schema.yaml | 355 ++
board/ti/j721e/Kconfig | 4 +
board/ti/j721e/board-cfg.yaml | 37 +
board/ti/j721e/board-cfg_j7200.yaml | 36 +
board/ti/j721e/pm-cfg.yaml | 13 +
board/ti/j721e/pm-cfg_j7200.yaml | 12 +
board/ti/j721e/rm-cfg.yaml | 2757 ++++++++++++++++
board/ti/j721e/rm-cfg_j7200.yaml | 2065 ++++++++++++
board/ti/j721e/sec-cfg.yaml | 379 +++
board/ti/j721e/sec-cfg_j7200.yaml | 378 +++
board/ti/j721s2/Kconfig | 2 +
board/ti/j721s2/board-cfg.yaml | 37 +
board/ti/j721s2/pm-cfg.yaml | 12 +
board/ti/j721s2/rm-cfg.yaml | 2901 +++++++++++++++++
board/ti/j721s2/sec-cfg.yaml | 375 +++
board/ti/keys/custMpk.pem | 51 +
board/ti/keys/ti-degenerate-key.pem | 10 +
doc/board/ti/am62x_sk.rst | 20 +-
doc/board/ti/j721e_evm.rst | 37 +-
doc/board/ti/k3.rst | 67 +-
scripts/Makefile.spl | 2 +
tools/binman/btool/openssl.py | 244 ++
tools/binman/entries.rst | 113 +
tools/binman/etype/ti_board_config.py | 269 ++
tools/binman/etype/ti_secure.py | 82 +
tools/binman/etype/ti_secure_rom.py | 250 ++
tools/binman/etype/x509_cert.py | 87 +-
tools/binman/ftest.py | 84 +
tools/binman/pyproject.toml | 2 +-
tools/binman/test/277_ti_board_cfg.dts | 11 +
.../binman/test/278_ti_board_cfg_combined.dts | 25 +
.../binman/test/279_ti_board_cfg_no_type.dts | 11 +
tools/binman/test/279_ti_secure.dts | 17 +
.../binman/test/280_ti_board_cfg_no_file.dts | 11 +
tools/binman/test/280_ti_secure_rom.dts | 17 +
.../281_ti_board_cfg_combined_no_file.dts | 13 +
.../test/281_ti_secure_rom_combined.dts | 25 +
.../test/282_ti_secure_rom_combined_a.dts | 24 +
.../test/283_ti_secure_rom_combined_b.dts | 24 +
.../test/284_ti_secure_rom_combined_c.dts | 21 +
tools/binman/test/285_ti_secure_a.dts | 17 +
tools/binman/test/286_ti_secure_b.dts | 18 +
tools/binman/test/288_ti_secure_rom_a.dts | 19 +
tools/binman/test/289_ti_secure_rom_b.dts | 18 +
tools/binman/test/yaml/config.yaml | 19 +
tools/binman/test/yaml/schema.yaml | 51 +
tools/binman/test/yaml/schema_notype.yaml | 40 +
tools/k3_fit_atf.sh | 123 -
tools/k3_gen_x509_cert.sh | 262 --
90 files changed, 22488 insertions(+), 564 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/board-cfg.yaml
create mode 100644 board/ti/am62ax/pm-cfg.yaml
create mode 100644 board/ti/am62ax/rm-cfg.yaml
create mode 100644 board/ti/am62ax/sec-cfg.yaml
create mode 100644 board/ti/am62x/board-cfg.yaml
create mode 100644 board/ti/am62x/pm-cfg.yaml
create mode 100644 board/ti/am62x/rm-cfg.yaml
create mode 100644 board/ti/am62x/sec-cfg.yaml
create mode 100644 board/ti/am64x/board-cfg.yaml
create mode 100644 board/ti/am64x/pm-cfg.yaml
create mode 100644 board/ti/am64x/rm-cfg.yaml
create mode 100644 board/ti/am64x/sec-cfg.yaml
create mode 100644 board/ti/am65x/board-cfg.yaml
create mode 100644 board/ti/am65x/pm-cfg.yaml
create mode 100644 board/ti/am65x/rm-cfg.yaml
create mode 100644 board/ti/am65x/sec-cfg.yaml
create mode 100644 board/ti/common/schema.yaml
create mode 100644 board/ti/j721e/board-cfg.yaml
create mode 100644 board/ti/j721e/board-cfg_j7200.yaml
create mode 100644 board/ti/j721e/pm-cfg.yaml
create mode 100644 board/ti/j721e/pm-cfg_j7200.yaml
create mode 100644 board/ti/j721e/rm-cfg.yaml
create mode 100644 board/ti/j721e/rm-cfg_j7200.yaml
create mode 100644 board/ti/j721e/sec-cfg.yaml
create mode 100644 board/ti/j721e/sec-cfg_j7200.yaml
create mode 100644 board/ti/j721s2/board-cfg.yaml
create mode 100644 board/ti/j721s2/pm-cfg.yaml
create mode 100644 board/ti/j721s2/rm-cfg.yaml
create mode 100644 board/ti/j721s2/sec-cfg.yaml
create mode 100644 board/ti/keys/custMpk.pem
create mode 100644 board/ti/keys/ti-degenerate-key.pem
create mode 100644 tools/binman/etype/ti_board_config.py
create mode 100644 tools/binman/etype/ti_secure.py
create mode 100644 tools/binman/etype/ti_secure_rom.py
create mode 100644 tools/binman/test/277_ti_board_cfg.dts
create mode 100644 tools/binman/test/278_ti_board_cfg_combined.dts
create mode 100644 tools/binman/test/279_ti_board_cfg_no_type.dts
create mode 100644 tools/binman/test/279_ti_secure.dts
create mode 100644 tools/binman/test/280_ti_board_cfg_no_file.dts
create mode 100644 tools/binman/test/280_ti_secure_rom.dts
create mode 100644 tools/binman/test/281_ti_board_cfg_combined_no_file.dts
create mode 100644 tools/binman/test/281_ti_secure_rom_combined.dts
create mode 100644 tools/binman/test/282_ti_secure_rom_combined_a.dts
create mode 100644 tools/binman/test/283_ti_secure_rom_combined_b.dts
create mode 100644 tools/binman/test/284_ti_secure_rom_combined_c.dts
create mode 100644 tools/binman/test/285_ti_secure_a.dts
create mode 100644 tools/binman/test/286_ti_secure_b.dts
create mode 100644 tools/binman/test/288_ti_secure_rom_a.dts
create mode 100644 tools/binman/test/289_ti_secure_rom_b.dts
create mode 100644 tools/binman/test/yaml/config.yaml
create mode 100644 tools/binman/test/yaml/schema.yaml
create mode 100644 tools/binman/test/yaml/schema_notype.yaml
delete mode 100755 tools/k3_fit_atf.sh
delete mode 100755 tools/k3_gen_x509_cert.sh
--
2.34.1
next reply other threads:[~2023-04-21 12:32 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-21 12:31 Neha Malcom Francis [this message]
2023-04-21 12:31 ` [PATCH v3 01/19] binman: ti-board-config: Add support for TI board config binaries Neha Malcom Francis
2023-04-24 19:42 ` Simon Glass
2023-04-25 6:24 ` Neha Malcom Francis
2023-04-25 18:01 ` Simon Glass
2023-04-26 19:44 ` [PATCH 1/2] buildman: Create a requirements.txt file Tom Rini
2023-04-26 19:44 ` [PATCH 2/2] CI: Make use of buildman requirements.txt Tom Rini
2023-04-27 16:25 ` Simon Glass
2023-05-03 5:57 ` Neha Malcom Francis
2023-05-03 13:04 ` Tom Rini
2023-05-04 4:12 ` Neha Malcom Francis
2023-05-04 13:02 ` Tom Rini
2023-05-05 5:02 ` Neha Malcom Francis
2023-04-27 16:25 ` [PATCH 1/2] buildman: Create a requirements.txt file Simon Glass
2023-04-21 12:31 ` [PATCH v3 02/19] binman: ti-secure: Add support for TI signing Neha Malcom Francis
2023-04-24 19:42 ` Simon Glass
2023-04-21 12:31 ` [PATCH v3 03/19] ti: sysfw: tiboot3: Add support for packaging sysfw.itb and tiboot3.bin Neha Malcom Francis
2023-04-24 19:42 ` Simon Glass
2023-04-25 7:20 ` Neha Malcom Francis
2023-04-21 12:31 ` [PATCH v3 04/19] j721e: schema: yaml: Add general schema and J721E board config files Neha Malcom Francis
2023-04-21 12:31 ` [PATCH v3 05/19] j721e: dts: binman: Package tiboot3.bin, sysfw.itb, tispl.bin, u-boot.img Neha Malcom Francis
2023-04-24 19:42 ` Simon Glass
2023-04-21 12:31 ` [PATCH v3 06/19] j7200: yaml: Add J7200 board config files Neha Malcom Francis
2023-04-21 12:31 ` [PATCH v3 07/19] j7200: dts: binman: Package tiboot3.bin, tispl.bin, u-boot.img Neha Malcom Francis
2023-04-24 19:42 ` Simon Glass
2023-04-21 12:31 ` [PATCH v3 08/19] am65x: yaml: Add AM65x board config files Neha Malcom Francis
2023-04-21 12:31 ` [PATCH v3 09/19] am65: dts: binman: Package tiboot3.bin, sysfw.itb, tispl.bin, u-boot.img Neha Malcom Francis
2023-04-24 19:42 ` Simon Glass
2023-04-25 7:26 ` Neha Malcom Francis
2023-04-25 18:01 ` Simon Glass
2023-04-21 12:31 ` [PATCH v3 10/19] am64x: yaml: Add board configs for AM64x Neha Malcom Francis
2023-04-21 12:31 ` [PATCH v3 11/19] am64x: dts: binman: Package tiboot3.bin, tispl.bin u-boot.img Neha Malcom Francis
2023-04-24 19:42 ` Simon Glass
2023-04-25 7:31 ` Neha Malcom Francis
2023-04-25 18:46 ` Andrew Davis
2023-04-25 19:23 ` Simon Glass
2023-04-21 12:31 ` [PATCH v3 12/19] j721s2: yaml: Add board configs for J721S2 Neha Malcom Francis
2023-04-21 12:31 ` [PATCH v3 13/19] j721s2: dts: binman: Package tiboot3.bin, tispl.bin and u-boot.img Neha Malcom Francis
2023-04-24 19:42 ` Simon Glass
2023-04-21 12:31 ` [PATCH v3 14/19] am62: yaml: Add board configs for AM62 Neha Malcom Francis
2023-04-21 12:31 ` [PATCH v3 15/19] am625: dts: binman: Package tiboot3.bin, tispl.bin and u-boot.img Neha Malcom Francis
2023-04-24 19:42 ` Simon Glass
2023-04-21 12:32 ` [PATCH v3 16/19] am62a: yaml: Add board configs for AM62ax Neha Malcom Francis
2023-04-21 12:32 ` [PATCH v3 17/19] am62a: dts: binman: Package tiboot3.bin, tispl.bin, u-boot.img Neha Malcom Francis
2023-04-24 19:42 ` Simon Glass
2023-04-21 12:32 ` [PATCH v3 18/19] k3: tools: config.mk: Update makefile and remove scripts Neha Malcom Francis
2023-04-24 19:42 ` Simon Glass
2023-04-21 12:32 ` [PATCH v3 19/19] doc: board: ti: Update documentation for binman flow Neha Malcom Francis
2023-04-24 19:42 ` Simon Glass
2023-04-24 20:49 ` Tom Rini
2023-04-25 5:38 ` Heinrich Schuchardt
2023-04-25 7:36 ` Neha Malcom Francis
2023-04-25 6:23 ` Neha Malcom Francis
2023-04-26 22:37 ` [PATCH v3 00/19] Migration to using binman for bootloader Tom Rini
2023-05-03 7:27 ` Neha Malcom Francis
2023-05-03 12:56 ` Neha Malcom Francis
2023-05-03 16:34 ` Jan Kiszka
2023-05-04 4:43 ` Neha Malcom Francis
2023-05-04 6:13 ` Neha Malcom Francis
2023-05-04 7:45 ` Jan Kiszka
2023-05-07 12:11 ` Jan Kiszka
2023-05-08 5:05 ` Neha Malcom Francis
2023-05-09 8:58 ` Jan Kiszka
2023-05-03 13:57 ` Tom Rini
2023-05-04 5:40 ` Manorit Chawdhry
2023-05-16 4:59 ` Neha Malcom Francis
2023-05-04 8:38 ` Christian Gmeiner
2023-05-04 9:37 ` Neha Malcom Francis
2023-05-05 18:29 ` Christian Gmeiner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230421123203.1315330-1-n-francis@ti.com \
--to=n-francis@ti.com \
--cc=afd@ti.com \
--cc=alpernebiyasak@gmail.com \
--cc=bb@ti.com \
--cc=nm@ti.com \
--cc=rogerq@kernel.org \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=u-kumar1@ti.com \
--cc=vigneshr@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.