summaryrefslogtreecommitdiff
path: root/drivers/auth
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 /drivers/auth
parent36ec2bb0bcb43b012c1211d73665eebc6012fb48 (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
Diffstat (limited to 'drivers/auth')
-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
3 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}