RZG2L and DTB blob from TF-A

Biju Das biju.das.jz at bp.renesas.com
Tue Sep 16 16:02:36 CEST 2025



> -----Original Message-----
> From: Marek Vasut <marek.vasut at mailbox.org>
> Sent: 16 September 2025 14:29
> To: Mathieu Othacehe <othacehe at gnu.org>; paul at pbarker.dev; Biju Das <biju.das.jz at bp.renesas.com>; Chris
> Paterson <Chris.Paterson2 at renesas.com>
> Cc: u-boot at lists.denx.de; anton.reding at landisgyr.com
> Subject: Re: RZG2L and DTB blob from TF-A
> 
> On 9/16/25 2:49 PM, Mathieu Othacehe wrote:
> >
> > Hello,
> 
> +CC Biju, Chris
> 
> > I am working on the RZG2L devkit from Renesas and trying to get the
> > mainline U-Boot working there.
> >
> > I have noticed that in several locations, U-Boot is unconditionally
> > expecting the TF-A to pass a DTB blob:
> >
> > In board/renesas/rzg2l/rzg2l.c:
> >
> > --8<---------------cut here---------------start------------->8---
> > static void apply_atf_overlay(void *fdt_blob) {
> > 	void *atf_fdt_blob = (void *)(rcar_atf_boot_args[1]);
> >          ...
> > }
> > --8<---------------cut here---------------end--------------->8---
> >
> > In arch/arm/mach-renesas/cpu_info-rzg2l.c:
> >
> > --8<---------------cut here---------------start------------->8---
> > static const struct tfa_info *get_tfa_info(void) {
> > 	void *atf_fdt_blob = (void *)(rcar_atf_boot_args[1]);
> >          ...
> > }
> > --8<---------------cut here---------------end--------------->8---
> >
> > Now, the TF-A that I have compiled (v2.5/rzg2l-1.00-43-g950d6a6b9)
> > from https://github.com/renesas-rz/rzg_trusted-firmware-a.git is not
> > passing any DTB blob:
> >
> > --8<---------------cut here---------------start------------->8---
> > INFO:    BL31: Preparing for EL3 exit to normal world
> > INFO:    Entry point address = 0x50000000
> > INFO:    SPSR = 0x3c5
> > VERBOSE: Argument #0 = 0x0
> > VERBOSE: Argument #1 = 0x0
> > VERBOSE: Argument #2 = 0x0
> > VERBOSE: Argument #3 = 0x0
> > VERBOSE: Argument #4 = 0x0
> > VERBOSE: Argument #5 = 0x0
> > VERBOSE: Argument #6 = 0x0
> > VERBOSE: Argument #7 = 0x0
> > --8<---------------cut here---------------end--------------->8---
> >
> > That results in dereferencing a NULL pointer and failing to run U-Boot
> > on that platform. On the other hand, disabling the two pieces of code
> > mentioned below is enough to have a working U-Boot.
> >
> > It does not seem that the upstream TF-A has support for the RZG2L CPU.
> > So my question is, what is the expected TF-A branch / repository that
> > is meant to be used together with the renesas_rzg2l_smarc_defconfig
> > U-Boot configuration?
> >
> > Thanks in advance,
> 
> Software versions would be good to include, U-Boot version, TFA version.

Use the commit 72c86c0af01e007b5542f39823d9e6140937b439

plat: renesas: rz: Disable unused CRYPTO_SUPPORT

Also, you need a patch to identify the device and pass it as blob
to the mainline u-boot

On TF-A:
.ep_info.args.arg1 = (uintptr_t)fdt_blob,

Also you should fill the memory blob(fdt_blob).

Hope you can take over from here.

Cheers,
Biju 




More information about the U-Boot mailing list