xref: /rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_common.c (revision dcbf3932fd58537695dfcd8ccacb1a76fd193b48)
17d37aa17SJuan Castillo /*
266b4c166Sdp-arm  * Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved.
37d37aa17SJuan Castillo  *
482cb2c1aSdp-arm  * SPDX-License-Identifier: BSD-3-Clause
57d37aa17SJuan Castillo  */
67d37aa17SJuan Castillo 
7ab1794f5SAntonio Nino Diaz #include <debug.h>
87d37aa17SJuan Castillo 
97d37aa17SJuan Castillo /* mbed TLS headers */
10649dbf6fSJuan Castillo #include <mbedtls/memory_buffer_alloc.h>
11ab1794f5SAntonio Nino Diaz #include <mbedtls/platform.h>
12c46c18c5SAntonio Nino Diaz #include <mbedtls_config.h>
137d37aa17SJuan Castillo 
147d37aa17SJuan Castillo /*
157d37aa17SJuan Castillo  * mbed TLS heap
167d37aa17SJuan Castillo  */
17*dcbf3932SQixiang Xu #if (TF_MBEDTLS_KEY_ALG_ID == TF_MBEDTLS_ECDSA) \
18*dcbf3932SQixiang Xu 	|| (TF_MBEDTLS_KEY_ALG_ID == TF_MBEDTLS_RSA_AND_ECDSA)
199db9c65aSQixiang Xu #define MBEDTLS_HEAP_SIZE		(13*1024)
20b1883510SDavid Cunado #elif (TF_MBEDTLS_KEY_ALG_ID == TF_MBEDTLS_RSA)
2138aacad3SSoby Mathew #define MBEDTLS_HEAP_SIZE		(7*1024)
227d37aa17SJuan Castillo #endif
237d37aa17SJuan Castillo static unsigned char heap[MBEDTLS_HEAP_SIZE];
247d37aa17SJuan Castillo 
257d37aa17SJuan Castillo /*
267d37aa17SJuan Castillo  * mbed TLS initialization function
277d37aa17SJuan Castillo  */
287d37aa17SJuan Castillo void mbedtls_init(void)
297d37aa17SJuan Castillo {
307d37aa17SJuan Castillo 	static int ready;
317d37aa17SJuan Castillo 
327d37aa17SJuan Castillo 	if (!ready) {
337d37aa17SJuan Castillo 		/* Initialize the mbed TLS heap */
34649dbf6fSJuan Castillo 		mbedtls_memory_buffer_alloc_init(heap, MBEDTLS_HEAP_SIZE);
35ab1794f5SAntonio Nino Diaz 
36c46c18c5SAntonio Nino Diaz #ifdef MBEDTLS_PLATFORM_SNPRINTF_ALT
37ab1794f5SAntonio Nino Diaz 		/* Use reduced version of snprintf to save space. */
38ab1794f5SAntonio Nino Diaz 		mbedtls_platform_set_snprintf(tf_snprintf);
39c46c18c5SAntonio Nino Diaz #endif
40ab1794f5SAntonio Nino Diaz 
417d37aa17SJuan Castillo 		ready = 1;
427d37aa17SJuan Castillo 	}
437d37aa17SJuan Castillo }
44