Boot: Enable CC312 runtime library
Enable in cmake. Update mbedtls config to use hardware functions. Add
init function.
Change-Id: Ic704ee6327a1a2566ffa1f88acb5db297b73582e
Signed-off-by: Raef Coles <raef.coles@arm.com>
diff --git a/bl2/ext/mcuboot/bl2_main.c b/bl2/ext/mcuboot/bl2_main.c
index 6ff4197..26461c1 100644
--- a/bl2/ext/mcuboot/bl2_main.c
+++ b/bl2/ext/mcuboot/bl2_main.c
@@ -31,6 +31,9 @@
#if BOOT_LOG_LEVEL > BOOT_LOG_LEVEL_OFF
#include "uart_stdout.h"
#endif
+#ifdef CRYPTO_HW_ACCELERATOR
+#include "crypto_hw.h"
+#endif /* CRYPTO_HW_ACCELERATOR */
/* Avoids the semihosting issue */
#if defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
@@ -173,6 +176,14 @@
*/
mbedtls_memory_buffer_alloc_init(mbedtls_mem_buf, BL2_MBEDTLS_MEM_BUF_LEN);
+#ifdef CRYPTO_HW_ACCELERATOR
+ rc = crypto_hw_accelerator_init();
+ if (rc) {
+ BOOT_LOG_ERR("Error while initializing cryptographic accelerator.");
+ while (1);
+ }
+#endif /* CRYPTO_HW_ACCELERATOR */
+
rc = FLASH_DEV_NAME.Initialize(NULL);
if(rc != ARM_DRIVER_OK) {
BOOT_LOG_ERR("Error while initializing Flash Interface");
@@ -194,6 +205,14 @@
;
}
+#ifdef CRYPTO_HW_ACCELERATOR
+ rc = crypto_hw_accelerator_finish();
+ if (rc) {
+ BOOT_LOG_ERR("Error while uninitializing cryptographic accelerator.");
+ while (1);
+ }
+#endif /* CRYPTO_HW_ACCELERATOR */
+
BOOT_LOG_INF("Bootloader chainload address offset: 0x%x",
rsp.br_image_off);
flash_area_warn_on_open();