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 5DD0BC433F5 for ; Wed, 1 Jun 2022 10:55:17 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 66280840D8; Wed, 1 Jun 2022 12:55:15 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="qCncF689"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A261B8427D; Wed, 1 Jun 2022 12:55:13 +0200 (CEST) Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id E023A8421F for ; Wed, 1 Jun 2022 12:55:08 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rogerq@kernel.org Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 617C4B81923; Wed, 1 Jun 2022 10:55:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0F5F5C385A5; Wed, 1 Jun 2022 10:55:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1654080907; bh=h0f8REhqW4qFEI2Dh6tJ1wUW7YkB+w0Fehz1sIOZhTo=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=qCncF689LBBE4UghoJbSVF7ANF7WELUK7ZSor/GY5Pzx3VNt/vlDfS+461AUe6q3P rsNjL7Rfhl1H5EBtSKyPPyHyUbJ0pW6q+pI0p4/hP7JFteJGB5jNVb+8PnW3FxJsXc BOdnaRr7dPpcjtfWQip0x9cIOPMDyju2/oIbqm/FUcrOfzoFo8v1KrElhWHZ1RkANT hGcIFsyItsWehQzK70X5vfWm+cQMoHOcnYSptsYpamZuRk5UvtREkvP5x5Sg1NxUk8 o18fvTZ1zNikGX4VMj0KgKwSdrn6JY/RMjlHaAO3NAENpV01FKeCh+rjHHNGoLTzgp Is55wan7EwwDQ== Message-ID: <38c25cbb-5f5d-9a20-a5c9-af4be81c31c0@kernel.org> Date: Wed, 1 Jun 2022 13:55:03 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Subject: Re: [PATCH RFC v2 11/11] ti: dtsi: j721e: Use binman to package tispl.bin Content-Language: en-US To: Neha Malcom Francis , u-boot@lists.denx.de Cc: Alper Nebi Yasak , "Andrew F. Davis" References: <20220506043759.8193-1-n-francis@ti.com> <20220506043759.8193-12-n-francis@ti.com> <8c30d625-c7eb-b55d-e0d6-3b43b15f5627@kernel.org> <0523d0a0-de58-63ba-79a2-492276af8a84@ti.com> From: Roger Quadros In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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.5 at phobos.denx.de X-Virus-Status: Clean On 01/06/2022 13:42, Neha Malcom Francis wrote: > Hi Roger, > > On 01/06/22 14:53, Roger Quadros wrote: >> Hi, >> >> On 01/06/2022 09:08, Neha Malcom Francis wrote: >>> Hi Roger, >>> >>> On 31/05/22 16:32, Roger Quadros wrote: >>>> >>>> >>>> On 06/05/2022 07:37, Neha Malcom Francis wrote: >>>>> Explicit make commands were earlier used to generate tispl.bin image, >>>>> now it is replaced using binman. >>>>> >>>>> Binman picks up and packages entries according to the description of >>>>> entries given in the binman node in the device tree. The make commands >>>>> that were earlier responsible for generating tispl.bin has been removed. >>>>> >>>>> k3-j721e-a72-binman.dtsi has been introduced for A72 specific binman node. >>>>> It can be included in files that require it like >>>>> k3-j721e-common-proc-board-u-boot.dtsi. >>>>> >>>>> Note that make commands for secure devices has also been removed as >>>>> focus is on general purpose devices at present time. >>>>> >>>>> Signed-off-by: Tarun Sahu >>>>> [n-francis@ti.com: prepared patch for upstreaming] >>>>> Signed-off-by: Neha Malcom Francis >>>>> --- >>>>>    arch/arm/dts/k3-j721e-a72-binman.dtsi         | 86 +++++++++++++++++++ >>>>>    .../k3-j721e-common-proc-board-u-boot.dtsi    |  1 + >>>>>    arch/arm/mach-k3/config.mk                    | 33 ------- >>>>>    board/ti/j721e/Kconfig                        |  1 + >>>>>    scripts/Makefile.spl                          |  4 - >>>>>    5 files changed, 88 insertions(+), 37 deletions(-) >>>>>    create mode 100644 arch/arm/dts/k3-j721e-a72-binman.dtsi >>>>> >>>>> diff --git a/arch/arm/dts/k3-j721e-a72-binman.dtsi b/arch/arm/dts/k3-j721e-a72-binman.dtsi >>>>> new file mode 100644 >>>>> index 0000000000..beb3424bb9 >>>>> --- /dev/null >>>>> +++ b/arch/arm/dts/k3-j721e-a72-binman.dtsi >>>>> @@ -0,0 +1,86 @@ >>>>> +// SPDX-License-Identifier: GPL-2.0+ >>>>> +// Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/ >>>>> + >>>>> +#include >>>>> + >>>>> +#ifdef CONFIG_ARM64 >>>>> +/ { >>>>> +    binman: binman { >>>>> +        multiple-images; >>>>> +    }; >>>>> +}; >>>>> + >>>>> +&binman { >>>>> +    tispl { >>>>> +        filename = "tispl.bin"; >>>>> +        fit { >>>>> +            description = "FIT IMAGE"; >>>>> +            #address-cells = <1>; >>>>> +            images { >>>>> +                atf { >>>>> +                    description = "ARM Trusted Firmware"; >>>>> +                    type = "firmware"; >>>>> +                    arch = "arm64"; >>>>> +                    compression = "none"; >>>>> +                    os = "arm-trusted-firmware"; >>>>> +                    load = ; >>>>> +                    entry = ; >>>>> +                    atf-bl31 { >>>>> +                    }; >>>>> +                }; >>>>> +                tee { >>>>> +                    description = "OPTEE"; >>>>> +                    type = "tee"; >>>>> +                    arch = "arm64"; >>>>> +                    compression = "none"; >>>>> +                    os = "tee"; >>>>> +                    load = <0x9e800000>; >>>>> +                    entry = <0x9e800000>; >>>>> +                    tee-os { >>>>> +                    }; >>>>> +                }; >>>>> +                dm { >>>>> +                    description = "DM binary"; >>>>> +                    type = "firmware"; >>>>> +                    arch = "arm32"; >>>>> +                    compression = "none"; >>>>> +                    os = "DM"; >>>>> +                    load = <0x89000000>; >>>>> +                    entry = <0x89000000>; >>>>> +                    ti-dm { >>>>> +                    }; >>>>> +                }; >>>>> +                spl { >>>>> +                    description = "SPL (64-bit)"; >>>>> +                    type = "standalone"; >>>>> +                    os = "U-Boot"; >>>>> +                    arch = "arm64"; >>>>> +                    compression = "none"; >>>>> +                    load = ; >>>>> +                    entry = ; >>>>> +                    u-boot-spl-nodtb { >>>>> +                    }; >>>>> +                }; >>>>> +                k3-j721e-common-proc-board.dtb { >>>>> +                    description = "k3-j721e-common-proc-board"; >>>>> +                    type = "flat_dt"; >>>>> +                    arch = "arm"; >>>>> +                    compression = "none"; >>>>> +                    blob-ext { >>>>> +                    filename = "spl/dts/k3-j721e-common-proc-board.dtb"; >>>>> +                    }; >>>>> +                }; >>>>> +            }; >>>>> +            configurations { >>>>> +                default = "conf"; >>>>> +                conf { >>>>> +                    description = "k3-j721e-common-proc-board"; >>>>> +                    firmware = "atf"; >>>>> +                    loadables = "tee", "dm", "spl"; >>>>> +                    fdt = "k3-j721e-common-proc-board.dtb"; >>>>> +                }; >>>>> +            }; >>>>> +        }; >>>>> +    }; >>>>> +}; >>>>> +#endif >>>>> diff --git a/arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi b/arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi >>>>> index 677a72d2a2..6490d71f7e 100644 >>>>> --- a/arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi >>>>> +++ b/arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi >>>>> @@ -4,6 +4,7 @@ >>>>>     */ >>>>>      #include >>>>> +#include "k3-j721e-a72-binman.dtsi" >>>>>      / { >>>>>        chosen { >>>>> diff --git a/arch/arm/mach-k3/config.mk b/arch/arm/mach-k3/config.mk >>>>> index 49f80ae79b..e0d9ea97c9 100644 >>>>> --- a/arch/arm/mach-k3/config.mk >>>>> +++ b/arch/arm/mach-k3/config.mk >>>>> @@ -52,38 +52,5 @@ ifeq ($(CONFIG_SOC_K3_J721E),) >>>>>    export DM := /dev/null >>>>>    endif >>>>>    -ifeq ($(CONFIG_TI_SECURE_DEVICE),y) >>>>> -SPL_ITS := u-boot-spl-k3_HS.its >>>>> -$(SPL_ITS): export IS_HS=1 >>>>> -INPUTS-y    += tispl.bin_HS >>>>> -else >>>>> -SPL_ITS := u-boot-spl-k3.its >>>>> -INPUTS-y    += tispl.bin >>>>> -endif >>>>> - >>>>> -ifeq ($(CONFIG_SPL_OF_LIST),) >>>>> -LIST_OF_DTB := $(CONFIG_DEFAULT_DEVICE_TREE) >>>>> -else >>>>> -LIST_OF_DTB := $(CONFIG_SPL_OF_LIST) >>>>>    endif >>>>> - >>>>> -quiet_cmd_k3_mkits = MKITS   $@ >>>>> -cmd_k3_mkits = \ >>>>> -    $(srctree)/tools/k3_fit_atf.sh \ >>>>> -    $(CONFIG_K3_ATF_LOAD_ADDR) \ >>>>> -    $(patsubst %,$(obj)/dts/%.dtb,$(subst ",,$(LIST_OF_DTB))) > $@ >>>>> - >>>>> -$(SPL_ITS): FORCE >>>>> -    $(call cmd,k3_mkits) >>>>>    endif >>>>> - >>>>> -else >>>>> - >>>>> -ifeq ($(CONFIG_TI_SECURE_DEVICE),y) >>>>> -INPUTS-y    += u-boot.img_HS >>>>> -else >>>>> -INPUTS-y    += u-boot.img >>>>> -endif >>>>> -endif >>>>> - >>>>> -include $(srctree)/arch/arm/mach-k3/config_secure.mk >>>> >>>> You can't yet remove these as all K3 platforms are not converted to use binman. >>>> Please include them under #ifndef CONFIG_BINMAN...#endif >>>> >>>> One more question I have is that how are _HS binaries being created with binman? >>>> >>> >>> I will make the changes accordingly that do not affect any of the other builds. _HS binaries are not being created with binman in this series. >>> >>> But there is a patch series that does create HS images (tispl.bin and u-boot.img) using binman for AM64x: https://patchwork.ozlabs.org/project/uboot/patch/20220509072936.12899-4-rogerq@kernel.org/ >> >> That series still depends on "TI_SECURE_DEV_PKG//scripts/secure-binary-image.sh" >> to sign the image. >> >> Funny thing is that I'm no longer able to download the above package from ti.com >> to see what it is doing. Any pointers on how to get it? >> >> cheers, >> -roger >> > > Did you try to access using the browser using https link? > > I am able to access the script by cloning git://git.ti.com/security-development-tools/core-secdev-k3.git > Aha! sure I can access that. But according to doc/README.ti-secure I should be getting it from http://www.ti.com/mysecuresoftware And I couldn't get anything there. Looks like we need to update the doc to point to the git repo instead? >>> >>>>> diff --git a/board/ti/j721e/Kconfig b/board/ti/j721e/Kconfig >>>>> index a3a9d504ae..3cf05f0d3b 100644 >>>>> --- a/board/ti/j721e/Kconfig >>>>> +++ b/board/ti/j721e/Kconfig >>>>> @@ -14,6 +14,7 @@ config TARGET_J721E_A72_EVM >>>>>        select BOARD_LATE_INIT >>>>>        imply TI_I2C_BOARD_DETECT >>>>>        select SYS_DISABLE_DCACHE_OPS >>>>> +    select BINMAN >>>>>      config TARGET_J721E_R5_EVM >>>>>        bool "TI K3 based J721E EVM running on R5" >>>>> diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl >>>>> index 6ad82cecfb..5f8a8487c5 100644 >>>>> --- a/scripts/Makefile.spl >>>>> +++ b/scripts/Makefile.spl >>>>> @@ -577,7 +577,3 @@ $(obj)/$(SPL_BIN).multidtb.fit.gz: $(obj)/$(SPL_BIN).multidtb.fit >>>>>    $(obj)/$(SPL_BIN).multidtb.fit.lzo: $(obj)/$(SPL_BIN).multidtb.fit >>>>>        @lzop -f9 $< > $@ >>>>>    -ifdef CONFIG_ARCH_K3 >>>>> -tispl.bin: $(obj)/u-boot-spl-nodtb.bin $(SHRUNK_ARCH_DTB) $(SPL_ITS) FORCE >>>>> -    $(call if_changed,mkfitimage) >>>>> -endif >>>> >>>> Please don't remove this but include it under #ifndef CONFIG_BINMAN...#endif >>>> >>>> cheers, >>>> -roger >>> > cheers, -roger