aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGilad Ben-Yossef <gilad.benyossef@arm.com>2019-05-14 14:47:36 +0300
committerGilad Ben-Yossef <gilad.benyossef@arm.com>2019-07-25 13:38:07 +0300
commit76f3c7dc8b7c78f5f73d1b6487fac5cc5f320ed4 (patch)
treee769f1b312eb3dfca1735d45d6a86bbb14b2eaff
parent36ec2bb0bcb43b012c1211d73665eebc6012fb48 (diff)
downloadplatform_external_arm-trusted-firmware-76f3c7dc8b7c78f5f73d1b6487fac5cc5f320ed4.tar.gz
platform_external_arm-trusted-firmware-76f3c7dc8b7c78f5f73d1b6487fac5cc5f320ed4.tar.bz2
platform_external_arm-trusted-firmware-76f3c7dc8b7c78f5f73d1b6487fac5cc5f320ed4.zip
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.mk17
-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 6bf27a95e..395c55085 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 1bd9c6bc7..53d77dbe1 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 27c1e8525..d42a2e7e1 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 2cb8938d2..2cb8938d2 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 212a710be..212a710be 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 8c09b23cc..8c09b23cc 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 84100245b..84100245b 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 d41921855..d41921855 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 18104dd7d..18104dd7d 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 a70289fb8..a70289fb8 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 390d62bc1..390d62bc1 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 cd9925b32..cd9925b32 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 de835461f..de835461f 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 6db596e0d..6db596e0d 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 68b9ef8ae..68b9ef8ae 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 18fb5999d..18fb5999d 100644
--- a/include/drivers/arm/cryptocell/util.h
+++ b/include/drivers/arm/cryptocell/712/util.h