[PATCH v4 4/7] rockchip: Support building the all output files in binman

Jerome Forissier jerome.forissier at linaro.org
Mon Nov 7 15:17:31 CET 2022


On 11/6/22 23:40, Simon Glass wrote:
> Add the required binman images to replace the Makefile rules which are
> currently used. This includes subsuming:
> 
>    - tpl/u-boot-tpl-rockchip.bin if TPL is enabled
>    - idbloader.img if either or both of SPL and TPL are enabled
>    - u-boot.itb if SPL_FIT is enabled
>    - u-boot-rockchip.bin if SPL is used, either using u-boot.itb when
>      SPL_FIT is enabled or u-boot.img when it isn't
> 
> Note that the intermediate files are dropped with binman, since it
> producing everything in one pass. This means that
> tpl/u-boot-tpl-rockchip.bin is not created, for example.
> 
> Note that for some 32-bit rk3288 boards, rockchip-optee.dtsi is included.
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> 
> (no changes since v3)
> 
> Changes in v3:
> - Add an offset to the FIT description
> 
> Changes in v2:
> - Rename op-tee to tee-os
> - Drop use of .itb2
> 
>  arch/arm/dts/rockchip-u-boot.dtsi | 73 ++++++++++++++++++++++++++++---
>  1 file changed, 68 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm/dts/rockchip-u-boot.dtsi b/arch/arm/dts/rockchip-u-boot.dtsi
> index 584f21eb5bf..084f72b0bd4 100644
> --- a/arch/arm/dts/rockchip-u-boot.dtsi
> +++ b/arch/arm/dts/rockchip-u-boot.dtsi
> @@ -30,14 +30,77 @@
>  			};
>  		};
>  
> -#ifdef CONFIG_ARM64
> -		blob {
> +#if defined(CONFIG_SPL_FIT) && defined(CONFIG_ARM64)
> +		fit: fit {
> +			description = "FIT image for U-Boot with bl31 (TF-A)";
> +			#address-cells = <1>;
> +			fit,fdt-list = "of-list";
>  			filename = "u-boot.itb";
> +			fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
> +			offset = <CONFIG_SPL_PAD_TO>;
> +			images {
> +				u-boot {
> +					description = "U-Boot (64-bit)";
> +					type = "standalone";
> +					os = "U-Boot";
> +					arch = "arm64";
> +					compression = "none";
> +					load = <CONFIG_TEXT_BASE>;
> +					u-boot-nodtb {
> +					};
> +				};
> +
> +				@atf-SEQ {
> +					fit,operation = "split-elf";
> +					description = "ARM Trusted Firmware";
> +					type = "firmware";
> +					arch = "arm64";
> +					os = "arm-trusted-firmware";
> +					compression = "none";
> +					fit,load;
> +					fit,entry;
> +					fit,data;
> +
> +					atf-bl31 {
> +					};
> +				};
> +				@tee-SEQ {
> +					fit,operation = "split-elf";

Does this imply that the TEE image shall be supplied as an ELF file? That won't
work with OP-TEE, see commit 348310233dac ("mach-rockchip: make_fit_atf.py:
support OP-TEE tee.bin v1 format").

> +					description = "TEE";
> +					type = "tee";
> +					arch = "arm64";
> +					os = "tee";
> +					compression = "none";
> +					fit,load;
> +					fit,entry;
> +					fit,data;
> +
> +					tee-os {
> +					};
> +				};

Thanks,
-- 
Jerome


More information about the U-Boot mailing list