All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.