
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@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"