Hi Simon,

On 2025-02-05 02:55, Simon Glass wrote:
> The TPL image must be built for each board we need to support. It is the
> only part of the image which is board-specific.

Is this building for multiple targets required for A, B or recovery?,
the main topic for this series? If not it should be added later in the
series or possible in a follow-up series.

> 
> This helps to save space and reduce the size of TPL, so that it can fit
> within the internal 192K IRAM.

This should probably mention something about RK3399 here, Rockchip SoCs
have different amount of usable SRAM.

Regards,
Jonas

> 
> As with other phases, the TPL devicetree is run through fdtgrep to
> remove unwanted nodes and properties and reduce its size.
> 
> Signed-off-by: Simon Glass <s...@chromium.org>
> ---
> 
>  arch/arm/dts/rockchip-u-boot.dtsi | 42 +++++++++++++++++++++----------
>  1 file changed, 29 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/arm/dts/rockchip-u-boot.dtsi 
> b/arch/arm/dts/rockchip-u-boot.dtsi
> index 0611533a310..f6348c532a4 100644
> --- a/arch/arm/dts/rockchip-u-boot.dtsi
> +++ b/arch/arm/dts/rockchip-u-boot.dtsi
> @@ -254,23 +254,23 @@
>               pad-byte = <0xff>;
>               skip-at-start = <0x8000>;
>  
> -             mkimage {
> -                     filename = "idbloader.img";
> -                     args = "-n", CONFIG_SYS_SOC, "-T", "rksd";
> -                     multiple-data-files;
> +#ifdef CONFIG_VPL
> +             alternates-fdt {
> +                     fdt-list-dir = "dts/upstream/src/arm64/rockchip";
> +                     filename-pattern = "alt-NAME.bin";
> +                     fdt-phase = "tpl";
>  
> -#ifdef CONFIG_ROCKCHIP_EXTERNAL_TPL
> -                     rockchip-tpl {
> -                     };
> -#elif defined(CONFIG_TPL)
> -                     u-boot-tpl {
> -                     };
> -#endif
> -                     u-boot-spl {
> +                     mkimage {
> +                             filename = "idbloader.img";
> +                             args = "-n", CONFIG_SYS_SOC, "-T", "rksd";
> +                             multiple-data-files;
> +
> +                             u-boot-tpl {
> +                                     symbols-base = <0>;
> +                             };
>                       };
>               };
>  
> -#ifdef CONFIG_VPL
>               vpl {
>                       type = "fit";
>                       offset = <(CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 
> 0x200 + 0x8000)>;
> @@ -361,6 +361,22 @@
>  # endif /* VBE method */
>  #else /* !VPL */
>  
> +             mkimage {
> +                     filename = "idbloader.img";
> +                     args = "-n", CONFIG_SYS_SOC, "-T", "rksd";
> +                     multiple-data-files;
> +
> +#ifdef CONFIG_ROCKCHIP_EXTERNAL_TPL
> +                     rockchip-tpl {
> +                     };
> +#elif defined(CONFIG_TPL)
> +                     u-boot-tpl {
> +                     };
> +#endif
> +                     u-boot-spl {
> +                     };
> +             };
> +
>  #ifdef HAS_FIT
>               fit {
>                       offset = <CONFIG_SPL_PAD_TO>;

Reply via email to