xref: /rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_common.c (revision 3b94189a921c0ea2a410c7730dc9636d95f5aa86)
17d37aa17SJuan Castillo /*
2*3b94189aSRoberto Vargas  * Copyright (c) 2015-2018, 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>
13*3b94189aSRoberto Vargas #include <mbedtls_common.h>
147d37aa17SJuan Castillo 
157d37aa17SJuan Castillo /*
167d37aa17SJuan Castillo  * mbed TLS heap
177d37aa17SJuan Castillo  */
18dcbf3932SQixiang Xu #if (TF_MBEDTLS_KEY_ALG_ID == TF_MBEDTLS_ECDSA) \
19dcbf3932SQixiang Xu 	|| (TF_MBEDTLS_KEY_ALG_ID == TF_MBEDTLS_RSA_AND_ECDSA)
209db9c65aSQixiang Xu #define MBEDTLS_HEAP_SIZE		(13*1024)
21b1883510SDavid Cunado #elif (TF_MBEDTLS_KEY_ALG_ID == TF_MBEDTLS_RSA)
2238aacad3SSoby Mathew #define MBEDTLS_HEAP_SIZE		(7*1024)
237d37aa17SJuan Castillo #endif
247d37aa17SJuan Castillo static unsigned char heap[MBEDTLS_HEAP_SIZE];
257d37aa17SJuan Castillo 
267d37aa17SJuan Castillo /*
277d37aa17SJuan Castillo  * mbed TLS initialization function
287d37aa17SJuan Castillo  */
297d37aa17SJuan Castillo void mbedtls_init(void)
307d37aa17SJuan Castillo {
317d37aa17SJuan Castillo 	static int ready;
327d37aa17SJuan Castillo 
337d37aa17SJuan Castillo 	if (!ready) {
347d37aa17SJuan Castillo 		/* Initialize the mbed TLS heap */
35649dbf6fSJuan Castillo 		mbedtls_memory_buffer_alloc_init(heap, MBEDTLS_HEAP_SIZE);
36ab1794f5SAntonio Nino Diaz 
37c46c18c5SAntonio Nino Diaz #ifdef MBEDTLS_PLATFORM_SNPRINTF_ALT
38ab1794f5SAntonio Nino Diaz 		/* Use reduced version of snprintf to save space. */
39ab1794f5SAntonio Nino Diaz 		mbedtls_platform_set_snprintf(tf_snprintf);
40c46c18c5SAntonio Nino Diaz #endif
41ab1794f5SAntonio Nino Diaz 
427d37aa17SJuan Castillo 		ready = 1;
437d37aa17SJuan Castillo 	}
447d37aa17SJuan Castillo }
45