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 30CBFC433F5 for ; Mon, 28 Feb 2022 20:43:53 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 650A983C32; Mon, 28 Feb 2022 21:43:42 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=denix.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id CE46283C3C; Mon, 28 Feb 2022 21:38:23 +0100 (CET) Received: from mailout4.zoneedit.com (mailout4.zoneedit.com [64.68.198.64]) (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 EE1BD83868 for ; Mon, 28 Feb 2022 21:38:19 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=denix.org Authentication-Results: phobos.denx.de; spf=none smtp.mailfrom=denis@denix.org Received: from localhost (localhost [127.0.0.1]) by mailout4.zoneedit.com (Postfix) with ESMTP id B71BE40C61; Mon, 28 Feb 2022 20:38:18 +0000 (UTC) Received: from mailout4.zoneedit.com ([127.0.0.1]) by localhost (zmo14-pco.easydns.vpn [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id I2JVFMyzCpZA; Mon, 28 Feb 2022 20:38:18 +0000 (UTC) Received: from mail.denix.org (pool-100-15-86-127.washdc.fios.verizon.net [100.15.86.127]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mailout4.zoneedit.com (Postfix) with ESMTPSA id 9419140429; Mon, 28 Feb 2022 20:38:16 +0000 (UTC) Received: by mail.denix.org (Postfix, from userid 1000) id C023C1747BA; Mon, 28 Feb 2022 15:38:15 -0500 (EST) Date: Mon, 28 Feb 2022 15:38:15 -0500 From: Denys Dmytriyenko To: Romain Naour Cc: u-boot@lists.denx.de, Tom Rini Subject: Re: [PATCH] configs: ti: use standard configuration nodes naming Message-ID: <20220228203815.GA1766@denix.org> References: <20220210221336.1263949-1-romain.naour@smile.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220210221336.1263949-1-romain.naour@smile.fr> User-Agent: Mutt/1.5.20 (2009-06-14) X-Mailman-Approved-At: Mon, 28 Feb 2022 21:43:37 +0100 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 Thu, Feb 10, 2022 at 11:13:36PM +0100, Romain Naour wrote: > Currently, any u-boot bootloader for ti armv7 platforms using > DEFAULT_FIT_TI_ARGS to boot with a fitimage (boot_fit = 1) > doesn't boot when built with Yocto Poky (openembedded-core). > > ## Loading kernel from FIT Image at 90000000 ... > Could not find configuration node > ERROR: can't get kernel image! > > Arago forked the kernel-fitimage class [1] and altered the > configuration nodes naming while adding the OPTEE support by > using FITIMAGE_CONF_BY_NAME by default [2]. > > The "upstream" kernel-fitimage class from openembedded-core still > add the "conf-" prefix for each configuration nodes [3]. > > The ITS file format (from doc/uImage.FIT/source_file_format.txt) > is not really accurate with the expected naming of these nodes. > But in practice the "conf-" prefix is widely used. > > When the FIT image support has been added for ti armv7 platforms > the naming from Arago has been used [3]. Fix this issue by adding > the prefix expected by the ITS file generated by kernel-fitimage > class from openembedded-core. Well, this is a bit more complicated and convoluted, than what you explained here... [with my Arago/downstream hat on] Arago forked kernel-fitimage class long time ago to add support for TI ARMv7 HS (High Secure) devices, which used some custom ways of signing and handling images. Unfortunately, kernel-fitimage class in OE-Core was and is not that flexible or easily extendable, hence the fork. Back then OE-Core was using numbered nodes "fdt@" in the FIT image, while Arago switched to using named nodes. As you correctly mentioned, there's actually no defined standard on naming those nodes in ITS. Moreover, OE-Core changed its way few times, until coming to the current naming scheme with "conf-" prefix. Since Arago fork of kernel-fitimage class was heavily customized, it fell behind and wasn't updated with more recent changes in OE-Core. Unlike "legacy" TI HS devices of ARMv7 architecture, TI K3 HS devices of Aarch64 architecture are fully standard with open tooling. To that extent, I made a recent change to use upstream kernel-fitimage class from OE-Core: https://git.yoctoproject.org/meta-arago/commit/?id=ae07d01dc54f84a88c479d0aaad8c5fa110182eb [with my OpenEmbedded/upstream hat on] I support this change in U-boot, which means Arago/TI-SDK will have to adjust once it catches up with the latest version of U-boot. > [1] http://arago-project.org/git/meta-arago.git?p=meta-arago.git;a=commitdiff;h=719ab1b2098bcdc59c249e3529fa82cb1b9130e6 > [2] http://arago-project.org/git/meta-arago.git?p=meta-arago.git;a=commitdiff;h=f23f2876a0cda89241d031bb7ba0b4256ed90035 > [3] https://git.openembedded.org/openembedded-core/tree/meta/classes/kernel-fitimage.bbclass?h=yocto-3.1.13#n290 > [3] 1e93cc8473e4fe018aececc8ed3bf8fc2b3ff561 > > Signed-off-by: Romain Naour > Cc: Tom Rini Reviewed-by: Denys Dmytriyenko > --- > include/configs/ti_armv7_common.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h > index 9733707009..7483bc821d 100644 > --- a/include/configs/ti_armv7_common.h > +++ b/include/configs/ti_armv7_common.h > @@ -55,7 +55,7 @@ > "do;" \ > "setenv overlaystring ${overlaystring}'#'${overlay};" \ > "done;\0" \ > - "run_fit=bootm ${addr_fit}#${fdtfile}${overlaystring}\0" \ > + "run_fit=bootm ${addr_fit}#conf-${fdtfile}${overlaystring}\0" \ > > /* > * DDR information. If the CONFIG_NR_DRAM_BANKS is not defined, -- Regards, Denys Dmytriyenko PGP: 0x420902729A92C964 - https://denix.org/0x420902729A92C964 Fingerprint: 25FC E4A5 8A72 2F69 1186 6D76 4209 0272 9A92 C964