public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Denys Dmytriyenko <denis@denix.org>
To: Romain Naour <romain.naour@smile.fr>
Cc: u-boot@lists.denx.de, Tom Rini <trini@konsulko.com>
Subject: Re: [PATCH] configs: ti: use standard configuration nodes naming
Date: Mon, 28 Feb 2022 15:38:15 -0500	[thread overview]
Message-ID: <20220228203815.GA1766@denix.org> (raw)
In-Reply-To: <20220210221336.1263949-1-romain.naour@smile.fr>

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@<num>" 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 <romain.naour@smile.fr>
> Cc: Tom Rini <trini@konsulko.com>

Reviewed-by: Denys Dmytriyenko <denys@konsulko.com>


> ---
>  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 <denis@denix.org>
PGP: 0x420902729A92C964 - https://denix.org/0x420902729A92C964
Fingerprint: 25FC E4A5 8A72 2F69 1186  6D76 4209 0272 9A92 C964

  reply	other threads:[~2022-02-28 20:43 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-10 22:13 [PATCH] configs: ti: use standard configuration nodes naming Romain Naour
2022-02-28 20:38 ` Denys Dmytriyenko [this message]
2022-03-03 10:40   ` Romain Naour
2022-03-05 16:35 ` Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220228203815.GA1766@denix.org \
    --to=denis@denix.org \
    --cc=romain.naour@smile.fr \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox