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 5E02DC433EF for ; Wed, 1 Jun 2022 09:23:22 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B868983E80; Wed, 1 Jun 2022 11:23:19 +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="gvwRos39"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4571383E81; Wed, 1 Jun 2022 11:23:18 +0200 (CEST) Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::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 82A9183DFE for ; Wed, 1 Jun 2022 11:23:13 +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 dfw.source.kernel.org (Postfix) with ESMTPS id 2A63D614E7; Wed, 1 Jun 2022 09:23:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 45720C385A5; Wed, 1 Jun 2022 09:23:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1654075390; bh=qwBxnrydp69bgXD4Vyu4rOFc1Mu8nlUGP+dkt0J2i6s=; h=Date:Subject:To:References:Cc:From:In-Reply-To:From; b=gvwRos39Hd2WA/JeBU2LvV2SARmw3gOF2u0Rnp6W6p2JxsgNkc4pBC1Arz9Q0dVvE UHpIsZl/qXlFEYWoeKI4RfEb5OAAxMZqWhaAUQcd1s2+N12IQoz2VMmYRslX5cjckh 0LIzPe520FerTE6lucsJV37Za26uUFwBv/NEYNqEEqHJfep3vxxrJnkuZh2DPrxi9B ASbncLuyYW2Di243pKbrjagKJEIauOGuMIR9ByUu7xDnUMsX97w0kxcB0tdZIIZU/8 jajsMGhKPdsq3WCNhb4NDvdhHdfY5EKajtRJqN36eMJzzpF/sBAdG/L/tfEpWiHyA0 jPKee8AZflI3A== Message-ID: Date: Wed, 1 Jun 2022 12:23:06 +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 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> Cc: Alper Nebi Yasak , "Andrew F. Davis" From: Roger Quadros In-Reply-To: <0523d0a0-de58-63ba-79a2-492276af8a84@ti.com> 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 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 > >>> 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 >