lib: optee: remove the duplicate CONFIG_OPTEE

The configuration CONFIG_OPTEE is defined 2 times:
1- in lib/optee/Kconfig for support of OPTEE images loaded by bootm command
2- in drivers/tee/optee/Kconfig for support of OP-TEE driver.

It is abnormal to have the same CONFIG define for 2 purpose;
and it is difficult to managed correctly their dependencies.

Moreover CONFIG_SPL_OPTEE is defined in common/spl/Kconfig
to manage OPTEE image load in SPL.

This definition causes an issue with the macro CONFIG_IS_ENABLED(OPTEE)
to test the availability of the OP-TEE driver.

This patch cleans the configuration dependency with:
- CONFIG_OPTEE_IMAGE (renamed) => support of OP-TEE image in U-Boot
- CONFIG_SPL_OPTEE_IMAGE (renamed) => support of OP-TEE image in SPL
- CONFIG_OPTEE (same) => support of OP-TEE driver in U-Boot
- CONFIG_OPTEE_LIB (new) => support of OP-TEE library

After this patch, the macro have the correct behavior:
- CONFIG_IS_ENABLED(OPTEE_IMAGE) => Load of OP-TEE image is supported
- CONFIG_IS_ENABLED(OPTEE) => OP-TEE driver is supported

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
This commit is contained in:
Patrick Delaunay
2021-09-02 11:56:16 +02:00
committed by Tom Rini
parent fd921d2037
commit 51827f9a8b
12 changed files with 30 additions and 24 deletions

View File

@@ -1,23 +1,27 @@
config OPTEE
config OPTEE_LIB
bool "Support OPTEE library"
default y if OPTEE || OPTEE_IMAGE
help
Selecting this option will enable the shared OPTEE library code.
config OPTEE_IMAGE
bool "Support OPTEE images"
help
U-Boot can be configured to boot OPTEE images.
Selecting this option will enable shared OPTEE library code and
enable an OPTEE specific bootm command that will perform additional
OPTEE specific checks before booting an OPTEE image created with
mkimage.
Selecting this option to boot OPTEE images.
This option enable the OPTEE specific checks done before booting
an OPTEE image created with mkimage
config OPTEE_LOAD_ADDR
hex "OPTEE load address"
default 0x00000000
depends on OPTEE
depends on OPTEE_LIB
help
The load address of the bootable OPTEE binary.
config OPTEE_TZDRAM_SIZE
hex "Amount of Trust-Zone RAM for the OPTEE image"
default 0x0000000
depends on OPTEE
depends on OPTEE_LIB
help
The size of pre-allocated Trust Zone DRAM to allocate for the OPTEE
runtime.
@@ -25,7 +29,7 @@ config OPTEE_TZDRAM_SIZE
config OPTEE_TZDRAM_BASE
hex "Base address of Trust-Zone RAM for the OPTEE image"
default 0x00000000
depends on OPTEE
depends on OPTEE_LIB
help
The base address of pre-allocated Trust Zone DRAM for
the OPTEE runtime.
@@ -33,7 +37,7 @@ config OPTEE_TZDRAM_BASE
config BOOTM_OPTEE
bool "Support OPTEE bootm command"
select BOOTM_LINUX
depends on OPTEE
select OPTEE_IMAGE
help
Select this command to enable chain-loading of a Linux kernel
via an OPTEE firmware.

View File

@@ -2,4 +2,4 @@
#
# (C) Copyright 2017 Linaro
obj-$(CONFIG_OPTEE) += optee.o
obj-y += optee.o

View File

@@ -20,6 +20,7 @@
"\n\theader lo=0x%08x hi=0x%08x size=0x%08lx arch=0x%08x" \
"\n\tuimage params 0x%08lx-0x%08lx\n"
#if defined(CONFIG_OPTEE_IMAGE)
int optee_verify_image(struct optee_header *hdr, unsigned long tzdram_start,
unsigned long tzdram_len, unsigned long image_len)
{
@@ -70,6 +71,7 @@ error:
return ret;
}
#endif
#if defined(CONFIG_OF_LIBFDT)
static int optee_copy_firmware_node(ofnode node, void *fdt_blob)