
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@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.