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 3AA75C433F5 for ; Tue, 24 May 2022 22:03:40 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7EF7181E79; Wed, 25 May 2022 00:03:38 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=ti.com 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=ti.com header.i=@ti.com header.b="il/iWjPT"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id AC53883345; Wed, 25 May 2022 00:03:36 +0200 (CEST) Received: from lelv0143.ext.ti.com (lelv0143.ext.ti.com [198.47.23.248]) (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 687F280585 for ; Wed, 25 May 2022 00:03:32 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=ti.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=afd@ti.com Received: from fllv0034.itg.ti.com ([10.64.40.246]) by lelv0143.ext.ti.com (8.15.2/8.15.2) with ESMTP id 24OM3MFq019296; Tue, 24 May 2022 17:03:22 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1653429802; bh=VYSilWrEOxNPLN6j2TvT7WP0fAWTM6xMWerhXp68EaQ=; h=Date:Subject:To:CC:References:From:In-Reply-To; b=il/iWjPT8Gsc6ta6hlRtDDI90WePdff0dpfuKZJOAMr2aFZsNQ5JjJLPFJ6w2+htE 7sB+S8MtESU/85WyDFlYX24dXN5neaGnsGCpAJUy/0T2NtTxzzQvIuC0RcwtyG2/8q Uj6iaUhhz/nKJA4FnZn0aDHgjFUe0LDMMIZVXAGA= Received: from DLEE112.ent.ti.com (dlee112.ent.ti.com [157.170.170.23]) by fllv0034.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 24OM3MSv055571 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 24 May 2022 17:03:22 -0500 Received: from DLEE102.ent.ti.com (157.170.170.32) by DLEE112.ent.ti.com (157.170.170.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Tue, 24 May 2022 17:03:22 -0500 Received: from lelv0326.itg.ti.com (10.180.67.84) by DLEE102.ent.ti.com (157.170.170.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14 via Frontend Transport; Tue, 24 May 2022 17:03:22 -0500 Received: from [128.247.81.234] (ileax41-snat.itg.ti.com [10.172.224.153]) by lelv0326.itg.ti.com (8.15.2/8.15.2) with ESMTP id 24OM3MGk031363; Tue, 24 May 2022 17:03:22 -0500 Message-ID: <3dec7c74-e486-79da-e4e7-cad6205471a5@ti.com> Date: Tue, 24 May 2022 17:03:22 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 Subject: Re: [u-boot PATCH 3/3] k3-am642-evm-u-boot: Use binman to generate u-boot.img and tispl.bin Content-Language: en-US To: Roger Quadros , , , CC: , , References: <20220509072936.12899-1-rogerq@kernel.org> <20220509072936.12899-4-rogerq@kernel.org> From: Andrew Davis In-Reply-To: <20220509072936.12899-4-rogerq@kernel.org> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 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 5/9/22 2:29 AM, Roger Quadros wrote: > Introduce k3-am642-evm-binman.dtsi to provide binman configuration. > > R5 build is still not converted to use binman so restrict binman.dtsi > to A53 builds only. > > This patch also take care of building Secure (HS) images using > binman instead of tools/k3_fit_atf.sh if CONFIG_BINMAN is set. > > Signed-off-by: Roger Quadros > --- > arch/arm/dts/k3-am642-evm-binman.dtsi | 230 ++++++++++++++++++++++++++ > arch/arm/dts/k3-am642-evm-u-boot.dtsi | 3 + > arch/arm/mach-k3/Kconfig | 1 + > arch/arm/mach-k3/config.mk | 7 + > 4 files changed, 241 insertions(+) > create mode 100644 arch/arm/dts/k3-am642-evm-binman.dtsi > > diff --git a/arch/arm/dts/k3-am642-evm-binman.dtsi b/arch/arm/dts/k3-am642-evm-binman.dtsi > new file mode 100644 > index 0000000000..9e85ef41b0 > --- /dev/null > +++ b/arch/arm/dts/k3-am642-evm-binman.dtsi > @@ -0,0 +1,230 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * Copyright (C) 2021 Texas Instruments Incorporated - https://www.ti.com/ > + */ > + > +/ { > + binman: binman { > + multiple-images; > + }; > +}; > + > +#ifdef CONFIG_TARGET_AM642_A53_EVM > + > +#ifdef CONFIG_TI_SECURE_DEVICE > +#define TISPL "tispl.bin_HS" > +#define UBOOT_IMG "u-boot.img_HS" > +#else > +#define TISPL "tispl.bin" > +#define UBOOT_IMG "u-boot.img" > +#endif > + > +#define SPL_NODTB "spl/u-boot-spl-nodtb.bin" > +#define SPL_AM642_EVM_DTB "spl/dts/k3-am642-evm.dtb" > +#define SPL_AM642_SK_DTB "spl/dts/k3-am642-sk.dtb" > + > +#define UBOOT_NODTB "u-boot-nodtb.bin" > +#define AM642_EVM_DTB "arch/arm/dts/k3-am642-evm.dtb" > +#define AM642_SK_DTB "arch/arm/dts/k3-am642-sk.dtb" > + > +&binman { > + ti-spl { > + filename = TISPL; > + pad-byte = <0xff>; > + > + fit { > + description = "Configuration to load ATF and SPL"; > + #address-cells = <1>; > + > + images { > + > + atf { > + description = "ARM Trusted Firmware"; > + type = "firmware"; > + arch = "arm64"; > + compression = "none"; > + os = "arm-trusted-firmware"; > + load = ; > + entry = ; > + atf-bl31 { > + filename = "bl31.bin"; > + }; On HS, bl31.bin and the below TEE and DM images must also be signed before being packaged into tispl.bin. Can we add signing here? Andrew > + }; > + > + tee { > + description = "OPTEE"; > + type = "tee"; > + arch = "arm64"; > + compression = "none"; > + os = "tee"; > + load = <0x9e800000>; > + entry = <0x9e800000>; > + tee-os { > + filename = "tee-pager_v2.bin"; > + }; > + }; > + > + dm { > + description = "DM binary"; > + type = "firmware"; > + arch = "arm32"; > + compression = "none"; > + os = "DM"; > + load = <0x89000000>; > + entry = <0x89000000>; > + blob-ext { > + filename = "/dev/null"; > + }; > + }; > + > + spl { > + description = "SPL (64-bit)"; > + type = "standalone"; > + os = "U-Boot"; > + arch = "arm64"; > + compression = "none"; > + load = <0x80080000>; > + entry = <0x80080000>; > +#ifdef CONFIG_TI_SECURE_DEVICE > + ti-secure { > +#else > + blob { > +#endif > + filename = SPL_NODTB; > + }; > + }; > + > + fdt-1 { > + description = "k3-am642-evm"; > + type = "flat_dt"; > + arch = "arm"; > + compression = "none"; > +#ifdef CONFIG_TI_SECURE_DEVICE > + ti-secure { > +#else > + blob { > +#endif > + filename = SPL_AM642_EVM_DTB; > + }; > + }; > + > + fdt-2 { > + description = "k3-am642-sk"; > + type = "flat_dt"; > + arch = "arm"; > + compression = "none"; > +#ifdef CONFIG_TI_SECURE_DEVICE > + ti-secure { > +#else > + blob { > +#endif > + filename = SPL_AM642_SK_DTB; > + }; > + }; > + }; > + > + configurations { > + default = "conf-1"; > + > + conf-1 { > + description = "k3-am642-evm"; > + firmware = "atf"; > + loadables = "tee", "dm", "spl"; > + fdt = "fdt-1"; > + }; > + > + conf-2 { > + description = "k3-am642-sk"; > + firmware = "atf"; > + loadables = "tee", "dm", "spl"; > + fdt = "fdt-2"; > + }; > + }; > + }; > + }; > +}; > + > +&binman { > + u-boot { > + filename = UBOOT_IMG; > + pad-byte = <0xff>; > + > + fit { > + description = "FIT image with multiple configurations"; > + > + images { > + uboot { > + description = "U-Boot for am64x board"; > + type = "firmware"; > + os = "u-boot"; > + arch = "arm"; > + compression = "none"; > + load = ; > +#ifdef CONFIG_TI_SECURE_DEVICE > + ti-secure { > +#else > + blob { > +#endif > + filename = UBOOT_NODTB; > + }; > + hash { > + algo = "crc32"; > + }; > + }; > + > + fdt-1 { > + description = "k3-am642-evm"; > + type = "flat_dt"; > + arch = "arm"; > + compression = "none"; > +#ifdef CONFIG_TI_SECURE_DEVICE > + ti-secure { > +#else > + blob { > +#endif > + filename = AM642_EVM_DTB; > + }; > + hash { > + algo = "crc32"; > + }; > + }; > + > + fdt-2 { > + description = "k3-am642-sk"; > + type = "flat_dt"; > + arch = "arm"; > + compression = "none"; > +#ifdef CONFIG_TI_SECURE_DEVICE > + ti-secure { > +#else > + blob { > +#endif > + filename = AM642_SK_DTB; > + }; > + hash { > + algo = "crc32"; > + }; > + }; > + }; > + > + configurations { > + default = "conf-1"; > + > + conf-1 { > + description = "k3-am642-evm"; > + firmware = "uboot"; > + loadables = "uboot"; > + fdt = "fdt-1"; > + }; > + > + conf-2 { > + description = "k3-am642-sk"; > + firmware = "uboot"; > + loadables = "uboot"; > + fdt = "fdt-2"; > + }; > + }; > + }; > + }; > +}; > +#endif > diff --git a/arch/arm/dts/k3-am642-evm-u-boot.dtsi b/arch/arm/dts/k3-am642-evm-u-boot.dtsi > index 03688a51a3..db0a529f0f 100644 > --- a/arch/arm/dts/k3-am642-evm-u-boot.dtsi > +++ b/arch/arm/dts/k3-am642-evm-u-boot.dtsi > @@ -2,6 +2,9 @@ > /* > * Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/ > */ > +#include > + > +#include "k3-am642-evm-binman.dtsi" > > / { > chosen { > diff --git a/arch/arm/mach-k3/Kconfig b/arch/arm/mach-k3/Kconfig > index a01bf23514..a4c561254d 100644 > --- a/arch/arm/mach-k3/Kconfig > +++ b/arch/arm/mach-k3/Kconfig > @@ -15,6 +15,7 @@ config SOC_K3_J721S2 > > config SOC_K3_AM642 > bool "TI's K3 based AM642 SoC Family Support" > + select BINMAN if TARGET_AM642_A53_EVM > > endchoice > > diff --git a/arch/arm/mach-k3/config.mk b/arch/arm/mach-k3/config.mk > index da458bcfb2..d2c490818a 100644 > --- a/arch/arm/mach-k3/config.mk > +++ b/arch/arm/mach-k3/config.mk > @@ -47,6 +47,7 @@ tiboot3.bin: image_check FORCE > INPUTS-y += tiboot3.bin > endif > > +ifndef CONFIG_BINMAN > ifdef CONFIG_ARM64 > > ifeq ($(CONFIG_SOC_K3_J721E),) > @@ -77,9 +78,11 @@ cmd_k3_mkits = \ > $(SPL_ITS): FORCE > $(call cmd,k3_mkits) > endif > +endif > > else > > +ifndef CONFIG_BINMAN > ifeq ($(CONFIG_TI_SECURE_DEVICE),y) > INPUTS-y += u-boot.img_HS > else > @@ -87,4 +90,8 @@ INPUTS-y += u-boot.img > endif > endif > > +endif > + > +ifndef CONFIG_BINMAN > include $(srctree)/arch/arm/mach-k3/config_secure.mk > +endif