arm: stm32mp: add config for STM32IMAGE support

By default for trusted boot with TF-A, U-Boot (u-boot-nodtb)
is located in FIP container with its device tree and with
the secure monitor (provided by TF-A or OP-TEE).
The FIP file is loaded by TF-A BL2 and each components is
extracted at the final location.

This patch add CONFIG_STM32MP15x_STM32IMAGE to request the
STM32 image generation for SOC STM32MP15x
when FIP container is not used (u-boot.stm32 is loaded by TF-A
as done previously to keep the backward compatibility).

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
This commit is contained in:
Patrick Delaunay 2021-07-26 11:21:34 +02:00 committed by Patrice Chotard
parent 28e5acef72
commit 6de57b41dd
4 changed files with 16 additions and 4 deletions

View file

@ -56,6 +56,13 @@ config STM32MP15x
dual core A7 for STM32MP157/3, monocore for STM32MP151 dual core A7 for STM32MP157/3, monocore for STM32MP151
target all the STMicroelectronics board with SOC STM32MP1 family target all the STMicroelectronics board with SOC STM32MP1 family
config STM32MP15x_STM32IMAGE
bool "Support STM32 image for generated U-Boot image"
depends on STM32MP15x && TFABOOT
help
Support of STM32 image generation for SOC STM32MP15x
for TF-A boot when FIP container is not used
choice choice
prompt "STM32MP15x board select" prompt "STM32MP15x board select"
optional optional

View file

@ -4,7 +4,7 @@
# #
ifndef CONFIG_SPL ifndef CONFIG_SPL
INPUTS-y += u-boot.stm32 INPUTS-$(CONFIG_STM32MP15x_STM32IMAGE) += u-boot.stm32
else else
ifdef CONFIG_SPL_BUILD ifdef CONFIG_SPL_BUILD
INPUTS-y += u-boot-spl.stm32 INPUTS-y += u-boot-spl.stm32

View file

@ -105,10 +105,14 @@ int checkboard(void)
const char *fdt_compat; const char *fdt_compat;
int fdt_compat_len; int fdt_compat_len;
if (IS_ENABLED(CONFIG_TFABOOT)) if (IS_ENABLED(CONFIG_TFABOOT)) {
mode = "trusted"; if (IS_ENABLED(CONFIG_STM32MP15x_STM32IMAGE))
else mode = "trusted - stm32image";
else
mode = "trusted";
} else {
mode = "basic"; mode = "basic";
}
fdt_compat = fdt_getprop(gd->fdt_blob, 0, "compatible", fdt_compat = fdt_getprop(gd->fdt_blob, 0, "compatible",
&fdt_compat_len); &fdt_compat_len);

View file

@ -7,6 +7,7 @@ CONFIG_SYS_MEMTEST_END=0xc4000000
CONFIG_ENV_OFFSET=0x280000 CONFIG_ENV_OFFSET=0x280000
CONFIG_ENV_SECT_SIZE=0x40000 CONFIG_ENV_SECT_SIZE=0x40000
CONFIG_DEFAULT_DEVICE_TREE="stm32mp157c-ev1" CONFIG_DEFAULT_DEVICE_TREE="stm32mp157c-ev1"
CONFIG_STM32MP15x_STM32IMAGE=y
CONFIG_TARGET_ST_STM32MP15x=y CONFIG_TARGET_ST_STM32MP15x=y
CONFIG_CMD_STM32KEY=y CONFIG_CMD_STM32KEY=y
CONFIG_CMD_STM32PROG=y CONFIG_CMD_STM32PROG=y