[PATCH v2 43/49] rockchip: Convert evb-rk3288 over to use binman

Kever Yang kever.yang at rock-chips.com
Tue Jul 7 13:56:45 CEST 2020


Hi Simon,

     Thanks for this patch.

On 2020/6/14 上午10:57, Simon Glass wrote:
> At present this board uses a custom script to produce the .its file.
> Update it to use binman instead. Binman can create all the images that
> are needed.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> (no changes since v1)
>
>   Kconfig                         |  2 +-
>   arch/arm/dts/rk322x-u-boot.dtsi | 72 +++++++++++++++++++++++++++++++++
>   arch/arm/dts/rk322x.dtsi        |  1 +
>   arch/arm/dts/rk3288-u-boot.dtsi |  1 +
>   configs/evb-rk3288_defconfig    |  2 +-
>   5 files changed, 76 insertions(+), 2 deletions(-)
>   create mode 100644 arch/arm/dts/rk322x-u-boot.dtsi
>
> diff --git a/Kconfig b/Kconfig
> index a548de43fb..6e874709a6 100644
> --- a/Kconfig
> +++ b/Kconfig
> @@ -285,7 +285,7 @@ config BUILD_TARGET
>   	default "u-boot-with-spl.sfp" if TARGET_SOCFPGA_GEN5
>   	default "u-boot-spl.kwb" if ARCH_MVEBU && SPL
>   	default "u-boot-elf.srec" if RCAR_GEN3
> -	default "u-boot.itb" if SPL_LOAD_FIT && (ARCH_ROCKCHIP || \
> +	default "u-boot.itb" if !BINMAN && SPL_LOAD_FIT && (ARCH_ROCKCHIP || \
>   				ARCH_SUNXI || RISCV || ARCH_ZYNQMP)
>   	default "u-boot.kwb" if ARCH_KIRKWOOD
>   	default "u-boot-with-spl.bin" if ARCH_AT91 && SPL_NAND_SUPPORT
> diff --git a/arch/arm/dts/rk322x-u-boot.dtsi b/arch/arm/dts/rk322x-u-boot.dtsi
> new file mode 100644
> index 0000000000..5a18816d5e
> --- /dev/null
> +++ b/arch/arm/dts/rk322x-u-boot.dtsi

This suppose to be available for all 32bit soc on rockchip who want to 
support optee, maybe we

can use a more readable name for this and used for different SoCs?

> @@ -0,0 +1,72 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Copyright 2020 Google LLC
> + */
> +
> +#ifdef CONFIG_SPL_OPTEE
> +
> +/ {
> +	binman: binman {
> +		multiple-images;
> +	};
> +};
> +
> +#include <config.h>
> +
> +&binman {
> +	itb {
> +		filename = "u-boot.itb";
> +		fit {
> +			fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
> +			description = "FIT image with OP-TEE support";
> +			#address-cells = <1>;
> +
> +			images {
> +				uboot {
> +					description = "U-Boot";
> +					type = "standalone";
> +					os = "U-Boot";
> +					arch = "arm";
> +					compression = "none";
> +					load = <CONFIG_SYS_TEXT_BASE>;
> +
> +					u-boot-nodtb {
> +					};
> +				};
> +				optee {
> +					description = "OP-TEE";
> +					type = "firmware";
> +					arch = "arm";
> +					os = "tee";
> +					compression = "none";
> +					load = <(CONFIG_SYS_SDRAM_BASE + 0x8400000)>;
> +					entry = <(CONFIG_SYS_SDRAM_BASE + 0x8400000)>;
> +
> +					blob-ext {
> +						filename = "tee.bin";
> +					};
> +				};
> +				fdt {
> +					description = CONFIG_SYS_BOARD;
> +					type = "flat_dt";
> +					compression = "none";
> +
> +					u-boot-dtb {
> +					};
> +				};
> +			};
> +
> +			configurations {
> +				default = "conf";
> +				conf {
> +					description = CONFIG_SYS_BOARD;
> +					firmware = "optee";
> +					loadables = "uboot";
> +					fdt = "fdt";
> +				};
> +			};
> +		};
> +	};
> +};
> +
> +#endif
> diff --git a/arch/arm/dts/rk322x.dtsi b/arch/arm/dts/rk322x.dtsi
> index 4a8be5dabb..1a2e8d1b99 100644
> --- a/arch/arm/dts/rk322x.dtsi
> +++ b/arch/arm/dts/rk322x.dtsi
> @@ -9,6 +9,7 @@
>   #include <dt-bindings/pinctrl/rockchip.h>
>   #include <dt-bindings/clock/rk3228-cru.h>
>   #include <dt-bindings/thermal/thermal.h>
> +#include "rk322x-u-boot.dtsi"
>   
>   / {
>   	#address-cells = <1>;
> diff --git a/arch/arm/dts/rk3288-u-boot.dtsi b/arch/arm/dts/rk3288-u-boot.dtsi
> index 104a5392bf..903bee1bcc 100644
> --- a/arch/arm/dts/rk3288-u-boot.dtsi
> +++ b/arch/arm/dts/rk3288-u-boot.dtsi
> @@ -4,6 +4,7 @@
>    */
>   
>   #include "rockchip-u-boot.dtsi"
> +#include "rk322x-u-boot.dtsi"

rk322x is for rk3228 and rk3229, so it's not a good idea to add a 
rk322x- dtsi here.


Thanks,

- Kever

>   
>   / {
>   	chosen {
> diff --git a/configs/evb-rk3288_defconfig b/configs/evb-rk3288_defconfig
> index 350189fc63..cd03767bd5 100644
> --- a/configs/evb-rk3288_defconfig
> +++ b/configs/evb-rk3288_defconfig
> @@ -14,7 +14,7 @@ CONFIG_DEBUG_UART=y
>   CONFIG_FIT=y
>   CONFIG_FIT_VERBOSE=y
>   CONFIG_SPL_LOAD_FIT=y
> -CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-rockchip/fit_spl_optee.sh"
> +# CONFIG_USE_SPL_FIT_GENERATOR is not set
>   CONFIG_USE_PREBOOT=y
>   CONFIG_SILENT_CONSOLE=y
>   CONFIG_DEFAULT_FDT_FILE="rk3288-evb-rk808.dtb"




More information about the U-Boot mailing list