[PATCH] Revert "rockchip: Only call binman when TPL available"

Simon Glass sjg at chromium.org
Sat Feb 4 23:23:19 CET 2023


Hi Quentin,

On Tue, 31 Jan 2023 at 03:54, Quentin Schulz
<quentin.schulz at theobroma-systems.com> wrote:
>
> Hi Kever,
>
> On 1/31/23 03:53, Kever Yang wrote:
> > Hi
> >
> >      I think I do this modify for those soc not have TPL, or else it
> > will cause the CI build error.
> >
> >
> > TPL/ddr binary is mandatory in all rockchip SoCs now, but the mainline
> > U-Boot may not
> >
> > able to provide the the available TPL, will need ddr init binary from
> > rockchip rkbin repository
> >
> > instead.
> >
> > So the policy is clear, the binary output on mainline U-Boot rockchip
> > platform:
> >
> > - TPL available: u-boot-rockchip.bin with TPL, SPL, ATF, U-Boot proper;
> >
> > - TPL not available: u-boot.itb with ATF, U-Boot proper.
> >
> >                                          idbloader.bin generate by the
> > TPL(ddr init binary instead) and SPL via mkimage cmd;
> >
>
> If I understand correctly, the TPL might not be generated by U-Boot but
> externally provided by Rockchip in binary form? For those cases, the
> defconfig is expected to only request an SPL build I assume. However,
> idbloader.bin (from rockchip, U-Boot TPL replacement) shall still be
> passed with U-Boot SPL to mkimage?
>
> In that case, I guess we could have a Kconfig option like
> CONFIG_EXTERNAL_TPL dependent on !TPL and have the user pass a TPL
> external path environment variable (EXTERNAL_TPL) the same way we do for
> BL31 or TEE in cmd_binman.
>
> Then we should be able to adapt rockchip-u-boot.dtsi to manage this and
> still build a valid u-boot-rockchip.bin, e.g. replace
> https://source.denx.de/u-boot/u-boot/-/blob/master/arch/arm/dts/rockchip-u-boot.dtsi#L23
> #ifdef CONFIG_TPL
>                         multiple-data-files;
>
>                         u-boot-tpl {
>                         };
> #endif
> with
> #if defined(CONFIG_TPL) || defined(CONFIG_EXTERNAL_TPL)
>                         multiple-data-files;
> # ifdef CONFIG_TPL
>                         u-boot-tpl {
>                         };
> # else
>                          blob-ext {
>                              filename = "${EXTERNAL_TPL}"
>                          };
> # endif
> #endif
>
> or something more appropriate for binman, like adapting u-boot-tpl to
> handle external blobs for example.

That sounds right to me. But I would like a new entry type for this
(rockchip-tpl ?), as we do with BL31, etc.

Also, avoid the #idef around multiple-data-files - it is just easier
to always enable that.

Regards,
Simon


More information about the U-Boot mailing list