diff options
author | Gilad Ben-Yossef <gilad.benyossef@arm.com> | 2019-05-14 14:47:36 +0300 |
---|---|---|
committer | Gilad Ben-Yossef <gilad.benyossef@arm.com> | 2019-07-25 13:38:07 +0300 |
commit | 76f3c7dc8b7c78f5f73d1b6487fac5cc5f320ed4 (patch) | |
tree | e769f1b312eb3dfca1735d45d6a86bbb14b2eaff | |
parent | 36ec2bb0bcb43b012c1211d73665eebc6012fb48 (diff) |
cryptocell: add product version awareness support
Add support for multiple Cryptocell revisions which
use different APIs.
This commit only refactors the existing code in preperation to the addition
of another Cryptocell revisions later on.
Signed-off-by: Gilad Ben-Yossef <gilad.benyossef@arm.com>
Change-Id: I16d80b31afb6edd56dc645fee5ea619cc74f09b6
-rw-r--r-- | drivers/auth/cryptocell/712/cryptocell_crypto.c (renamed from drivers/auth/cryptocell/cryptocell_crypto.c) | 14 | ||||
-rw-r--r-- | drivers/auth/cryptocell/712/cryptocell_plat_helpers.c (renamed from drivers/auth/cryptocell/cryptocell_plat_helpers.c) | 6 | ||||
-rw-r--r-- | drivers/auth/cryptocell/cryptocell_crypto.mk | 17 | ||||
-rw-r--r-- | include/drivers/arm/cryptocell/712/cc_crypto_boot_defs.h (renamed from include/drivers/arm/cryptocell/cc_crypto_boot_defs.h) | 0 | ||||
-rw-r--r-- | include/drivers/arm/cryptocell/712/cc_pal_sb_plat.h (renamed from include/drivers/arm/cryptocell/cc_pal_sb_plat.h) | 0 | ||||
-rw-r--r-- | include/drivers/arm/cryptocell/712/cc_pal_types.h (renamed from include/drivers/arm/cryptocell/cc_pal_types.h) | 0 | ||||
-rw-r--r-- | include/drivers/arm/cryptocell/712/cc_pal_types_plat.h (renamed from include/drivers/arm/cryptocell/cc_pal_types_plat.h) | 0 | ||||
-rw-r--r-- | include/drivers/arm/cryptocell/712/cc_sec_defs.h (renamed from include/drivers/arm/cryptocell/cc_sec_defs.h) | 0 | ||||
-rw-r--r-- | include/drivers/arm/cryptocell/712/crypto_driver.h (renamed from include/drivers/arm/cryptocell/crypto_driver.h) | 0 | ||||
-rw-r--r-- | include/drivers/arm/cryptocell/712/nvm.h (renamed from include/drivers/arm/cryptocell/nvm.h) | 0 | ||||
-rw-r--r-- | include/drivers/arm/cryptocell/712/nvm_otp.h (renamed from include/drivers/arm/cryptocell/nvm_otp.h) | 0 | ||||
-rw-r--r-- | include/drivers/arm/cryptocell/712/rsa.h (renamed from include/drivers/arm/cryptocell/rsa.h) | 0 | ||||
-rw-r--r-- | include/drivers/arm/cryptocell/712/sbrom_bsv_api.h (renamed from include/drivers/arm/cryptocell/sbrom_bsv_api.h) | 0 | ||||
-rw-r--r-- | include/drivers/arm/cryptocell/712/secureboot_base_func.h (renamed from include/drivers/arm/cryptocell/secureboot_base_func.h) | 0 | ||||
-rw-r--r-- | include/drivers/arm/cryptocell/712/secureboot_gen_defs.h (renamed from include/drivers/arm/cryptocell/secureboot_gen_defs.h) | 0 | ||||
-rw-r--r-- | include/drivers/arm/cryptocell/712/util.h (renamed from include/drivers/arm/cryptocell/util.h) | 0 |
16 files changed, 23 insertions, 14 deletions
diff --git a/drivers/auth/cryptocell/cryptocell_crypto.c b/drivers/auth/cryptocell/712/cryptocell_crypto.c index 6bf27a95..395c5508 100644 --- a/drivers/auth/cryptocell/cryptocell_crypto.c +++ b/drivers/auth/cryptocell/712/cryptocell_crypto.c @@ -11,19 +11,19 @@ #include <arch_helpers.h> #include <common/debug.h> -#include <drivers/arm/cryptocell/crypto_driver.h> -#include <drivers/arm/cryptocell/rsa.h> -#include <drivers/arm/cryptocell/sbrom_bsv_api.h> -#include <drivers/arm/cryptocell/secureboot_base_func.h> -#include <drivers/arm/cryptocell/secureboot_gen_defs.h> -#include <drivers/arm/cryptocell/util.h> +#include <drivers/arm/cryptocell/712/crypto_driver.h> +#include <drivers/arm/cryptocell/712/rsa.h> +#include <drivers/arm/cryptocell/712/sbrom_bsv_api.h> +#include <drivers/arm/cryptocell/712/secureboot_base_func.h> +#include <drivers/arm/cryptocell/712/secureboot_gen_defs.h> +#include <drivers/arm/cryptocell/712/util.h> #include <drivers/auth/crypto_mod.h> #include <drivers/auth/mbedtls/mbedtls_common.h> #include <lib/utils.h> #include <mbedtls/oid.h> -#define LIB_NAME "CryptoCell SBROM" +#define LIB_NAME "CryptoCell 712 SBROM" #define RSA_SALT_LEN 32 #define RSA_EXPONENT 65537 diff --git a/drivers/auth/cryptocell/cryptocell_plat_helpers.c b/drivers/auth/cryptocell/712/cryptocell_plat_helpers.c index 1bd9c6bc..53d77dbe 100644 --- a/drivers/auth/cryptocell/cryptocell_plat_helpers.c +++ b/drivers/auth/cryptocell/712/cryptocell_plat_helpers.c @@ -14,9 +14,9 @@ #include <tools_share/tbbr_oid.h> #include <common/debug.h> -#include <drivers/arm/cryptocell/sbrom_bsv_api.h> -#include <drivers/arm/cryptocell/nvm.h> -#include <drivers/arm/cryptocell/nvm_otp.h> +#include <drivers/arm/cryptocell/712/sbrom_bsv_api.h> +#include <drivers/arm/cryptocell/712/nvm.h> +#include <drivers/arm/cryptocell/712/nvm_otp.h> /* * Return the ROTPK hash diff --git a/drivers/auth/cryptocell/cryptocell_crypto.mk b/drivers/auth/cryptocell/cryptocell_crypto.mk index 27c1e852..d42a2e7e 100644 --- a/drivers/auth/cryptocell/cryptocell_crypto.mk +++ b/drivers/auth/cryptocell/cryptocell_crypto.mk @@ -17,11 +17,20 @@ ifeq (${CCSBROM_LIB_PATH},) $(error Error: CCSBROM_LIB_PATH not set) endif -TF_LDFLAGS += -L$(CCSBROM_LIB_PATH) -LDLIBS += -lcc_712sbromx509 +CRYPTOCELL_VERSION ?= 712 +ifeq (${CRYPTOCELL_VERSION},712) + CCSBROM_LIB_FILENAME := cc_712sbromx509 +else + $(error Error: CRYPTOCELL_VERSION set to invalid version) +endif + +CRYPTOCELL_SRC_DIR := drivers/auth/cryptocell/${CRYPTOCELL_VERSION}/ -CRYPTOCELL_SOURCES := drivers/auth/cryptocell/cryptocell_crypto.c \ - drivers/auth/cryptocell/cryptocell_plat_helpers.c +CRYPTOCELL_SOURCES := ${CRYPTOCELL_SRC_DIR}/cryptocell_crypto.c \ + ${CRYPTOCELL_SRC_DIR}/cryptocell_plat_helpers.c + +TF_LDFLAGS += -L$(CCSBROM_LIB_PATH) +LDLIBS += -l$(CCSBROM_LIB_FILENAME) BL1_SOURCES += ${CRYPTOCELL_SOURCES} BL2_SOURCES += ${CRYPTOCELL_SOURCES} diff --git a/include/drivers/arm/cryptocell/cc_crypto_boot_defs.h b/include/drivers/arm/cryptocell/712/cc_crypto_boot_defs.h index 2cb8938d..2cb8938d 100644 --- a/include/drivers/arm/cryptocell/cc_crypto_boot_defs.h +++ b/include/drivers/arm/cryptocell/712/cc_crypto_boot_defs.h diff --git a/include/drivers/arm/cryptocell/cc_pal_sb_plat.h b/include/drivers/arm/cryptocell/712/cc_pal_sb_plat.h index 212a710b..212a710b 100644 --- a/include/drivers/arm/cryptocell/cc_pal_sb_plat.h +++ b/include/drivers/arm/cryptocell/712/cc_pal_sb_plat.h diff --git a/include/drivers/arm/cryptocell/cc_pal_types.h b/include/drivers/arm/cryptocell/712/cc_pal_types.h index 8c09b23c..8c09b23c 100644 --- a/include/drivers/arm/cryptocell/cc_pal_types.h +++ b/include/drivers/arm/cryptocell/712/cc_pal_types.h diff --git a/include/drivers/arm/cryptocell/cc_pal_types_plat.h b/include/drivers/arm/cryptocell/712/cc_pal_types_plat.h index 84100245..84100245 100644 --- a/include/drivers/arm/cryptocell/cc_pal_types_plat.h +++ b/include/drivers/arm/cryptocell/712/cc_pal_types_plat.h diff --git a/include/drivers/arm/cryptocell/cc_sec_defs.h b/include/drivers/arm/cryptocell/712/cc_sec_defs.h index d4192185..d4192185 100644 --- a/include/drivers/arm/cryptocell/cc_sec_defs.h +++ b/include/drivers/arm/cryptocell/712/cc_sec_defs.h diff --git a/include/drivers/arm/cryptocell/crypto_driver.h b/include/drivers/arm/cryptocell/712/crypto_driver.h index 18104dd7..18104dd7 100644 --- a/include/drivers/arm/cryptocell/crypto_driver.h +++ b/include/drivers/arm/cryptocell/712/crypto_driver.h diff --git a/include/drivers/arm/cryptocell/nvm.h b/include/drivers/arm/cryptocell/712/nvm.h index a70289fb..a70289fb 100644 --- a/include/drivers/arm/cryptocell/nvm.h +++ b/include/drivers/arm/cryptocell/712/nvm.h diff --git a/include/drivers/arm/cryptocell/nvm_otp.h b/include/drivers/arm/cryptocell/712/nvm_otp.h index 390d62bc..390d62bc 100644 --- a/include/drivers/arm/cryptocell/nvm_otp.h +++ b/include/drivers/arm/cryptocell/712/nvm_otp.h diff --git a/include/drivers/arm/cryptocell/rsa.h b/include/drivers/arm/cryptocell/712/rsa.h index cd9925b3..cd9925b3 100644 --- a/include/drivers/arm/cryptocell/rsa.h +++ b/include/drivers/arm/cryptocell/712/rsa.h diff --git a/include/drivers/arm/cryptocell/sbrom_bsv_api.h b/include/drivers/arm/cryptocell/712/sbrom_bsv_api.h index de835461..de835461 100644 --- a/include/drivers/arm/cryptocell/sbrom_bsv_api.h +++ b/include/drivers/arm/cryptocell/712/sbrom_bsv_api.h diff --git a/include/drivers/arm/cryptocell/secureboot_base_func.h b/include/drivers/arm/cryptocell/712/secureboot_base_func.h index 6db596e0..6db596e0 100644 --- a/include/drivers/arm/cryptocell/secureboot_base_func.h +++ b/include/drivers/arm/cryptocell/712/secureboot_base_func.h diff --git a/include/drivers/arm/cryptocell/secureboot_gen_defs.h b/include/drivers/arm/cryptocell/712/secureboot_gen_defs.h index 68b9ef8a..68b9ef8a 100644 --- a/include/drivers/arm/cryptocell/secureboot_gen_defs.h +++ b/include/drivers/arm/cryptocell/712/secureboot_gen_defs.h diff --git a/include/drivers/arm/cryptocell/util.h b/include/drivers/arm/cryptocell/712/util.h index 18fb5999..18fb5999 100644 --- a/include/drivers/arm/cryptocell/util.h +++ b/include/drivers/arm/cryptocell/712/util.h |