From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A6E02C25B50 for ; Fri, 20 Jan 2023 19:46:58 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 70F8A85667; Fri, 20 Jan 2023 20:46:37 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="itO+y+Q5"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 65D2085203; Fri, 20 Jan 2023 20:46:25 +0100 (CET) Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com [IPv6:2a00:1450:4864:20::529]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id C0B3385509 for ; Fri, 20 Jan 2023 20:46:20 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sjg@google.com Received: by mail-ed1-x529.google.com with SMTP id x10so7977921edd.10 for ; Fri, 20 Jan 2023 11:46:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=kvDDXW0zwHvaY9ikwvGg7TIlFwerGcD/h1fffslFCKk=; b=itO+y+Q5V256beBttmLF3AobXLE0caqqyz+NFepPe4oLiBIYLE5OLQm/4VcMJPl3wc om6B9hRJ5Ur5LyKFJyHGqkCZz0QMtTGClpjwj2ss0AyJi0C8I2E6OkLwdNHLrbZlhH1b sroGp0i+ywm3u3lQWIgKbvGugwo37sXtNayS8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=kvDDXW0zwHvaY9ikwvGg7TIlFwerGcD/h1fffslFCKk=; b=QZKB1PuIKEgMQHNJy1psgIOC6i6FOp2SZZVcH5jm+V2IraFgNbXpg3SRKFW/416VgA lguc22pdRupsO+G7WWhOezIBh88MEqXa2pNWoCWIHsS7Sjk20OWcobd9ke3dIE3Y0Pj+ MUsPJjpxDSPVo9nsGTIHSY+1b9UNNt0uUCnUx0ZguIC4H4vqADQoXGJUmH9xW719w6l6 RnPx0FOghU7+7qQyodXvluChfsMVVPO4xnWFy/BJ6t9d+cgRVN4yOoVaJGy1uV8ezCtV YiicUzO3DfF7FwA2Bj+Zl6vYLwoE4apXoCt+KVeHL40QyDJRPUAsqcDw6gEpsqT6WlKP jjTg== X-Gm-Message-State: AFqh2kphgS7C/lWUk40omXRP7dYVnHcFK6LvknElJH5cWrsuBANWS6kp j8gNTKsOkBXGMEOXIfWQhbSoM1z8bmr8uUZH7a5bTQ== X-Google-Smtp-Source: AMrXdXv+thY3LdlQs1Z3gv+lRucqVotjYQqNeTthZqxM+bVIHHFKwm9UMsD683D4VM7mfnx9xniQTTa28A40BaLyhDo= X-Received: by 2002:a05:6402:3814:b0:49e:6501:57a2 with SMTP id es20-20020a056402381400b0049e650157a2mr1055281edb.43.1674243979876; Fri, 20 Jan 2023 11:46:19 -0800 (PST) MIME-Version: 1.0 References: <20230120101903.179959-1-n-francis@ti.com> In-Reply-To: <20230120101903.179959-1-n-francis@ti.com> From: Simon Glass Date: Fri, 20 Jan 2023 12:46:06 -0700 Message-ID: Subject: Re: [PATCH 00/21] Migration to using binman to generate bootloader To: Neha Malcom Francis Cc: u-boot@lists.denx.de, trini@konsulko.com, afd@ti.com, vigneshr@ti.com, rogerq@kernel.org, alpernebiyasak@gmail.com, nm@ti.com, bb@ti.com Content-Type: text/plain; charset="UTF-8" X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean Hi Neha, On Fri, 20 Jan 2023 at 03:19, Neha Malcom Francis 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