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