xref: /rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_crypto.mk (revision 7d37aa171158422b5ee7ee6c3cdad58f6aa066b4)
1*7d37aa17SJuan Castillo#
2*7d37aa17SJuan Castillo# Copyright (c) 2015, ARM Limited and Contributors. All rights reserved.
3*7d37aa17SJuan Castillo#
4*7d37aa17SJuan Castillo# Redistribution and use in source and binary forms, with or without
5*7d37aa17SJuan Castillo# modification, are permitted provided that the following conditions are met:
6*7d37aa17SJuan Castillo#
7*7d37aa17SJuan Castillo# Redistributions of source code must retain the above copyright notice, this
8*7d37aa17SJuan Castillo# list of conditions and the following disclaimer.
9*7d37aa17SJuan Castillo#
10*7d37aa17SJuan Castillo# Redistributions in binary form must reproduce the above copyright notice,
11*7d37aa17SJuan Castillo# this list of conditions and the following disclaimer in the documentation
12*7d37aa17SJuan Castillo# and/or other materials provided with the distribution.
13*7d37aa17SJuan Castillo#
14*7d37aa17SJuan Castillo# Neither the name of ARM nor the names of its contributors may be used
15*7d37aa17SJuan Castillo# to endorse or promote products derived from this software without specific
16*7d37aa17SJuan Castillo# prior written permission.
17*7d37aa17SJuan Castillo#
18*7d37aa17SJuan Castillo# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19*7d37aa17SJuan Castillo# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20*7d37aa17SJuan Castillo# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21*7d37aa17SJuan Castillo# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22*7d37aa17SJuan Castillo# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23*7d37aa17SJuan Castillo# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24*7d37aa17SJuan Castillo# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25*7d37aa17SJuan Castillo# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26*7d37aa17SJuan Castillo# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27*7d37aa17SJuan Castillo# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28*7d37aa17SJuan Castillo# POSSIBILITY OF SUCH DAMAGE.
29*7d37aa17SJuan Castillo#
30*7d37aa17SJuan Castillo
31*7d37aa17SJuan Castilloinclude drivers/auth/mbedtls/mbedtls_common.mk
32*7d37aa17SJuan Castillo
33*7d37aa17SJuan Castillo# The platform may define the variable 'MBEDTLS_KEY_ALG' to select the key
34*7d37aa17SJuan Castillo# algorithm to use. Default algorithm is ECDSA.
35*7d37aa17SJuan Castilloifeq (${MBEDTLS_KEY_ALG},)
36*7d37aa17SJuan Castillo    MBEDTLS_KEY_ALG		:=	rsa
37*7d37aa17SJuan Castilloendif
38*7d37aa17SJuan Castillo
39*7d37aa17SJuan CastilloMBEDTLS_CRYPTO_SOURCES		:=	drivers/auth/mbedtls/mbedtls_crypto.c	\
40*7d37aa17SJuan Castillo					$(addprefix ${MBEDTLS_DIR}/library/,	\
41*7d37aa17SJuan Castillo					bignum.c				\
42*7d37aa17SJuan Castillo					md.c					\
43*7d37aa17SJuan Castillo					md_wrap.c				\
44*7d37aa17SJuan Castillo					pk.c 					\
45*7d37aa17SJuan Castillo					pk_wrap.c 				\
46*7d37aa17SJuan Castillo					pkparse.c 				\
47*7d37aa17SJuan Castillo					pkwrite.c 				\
48*7d37aa17SJuan Castillo					sha256.c				\
49*7d37aa17SJuan Castillo					)
50*7d37aa17SJuan Castillo
51*7d37aa17SJuan Castillo# Key algorithm specific files
52*7d37aa17SJuan Castilloifeq (${MBEDTLS_KEY_ALG},ecdsa)
53*7d37aa17SJuan Castillo    MBEDTLS_CRYPTO_SOURCES	+=	$(addprefix ${MBEDTLS_DIR}/library/,	\
54*7d37aa17SJuan Castillo    					ecdsa.c					\
55*7d37aa17SJuan Castillo    					ecp_curves.c				\
56*7d37aa17SJuan Castillo    					ecp.c					\
57*7d37aa17SJuan Castillo    					)
58*7d37aa17SJuan Castillo    MBEDTLS_KEY_ALG_ID		:=	MBEDTLS_ECDSA
59*7d37aa17SJuan Castilloelse ifeq (${MBEDTLS_KEY_ALG},rsa)
60*7d37aa17SJuan Castillo    MBEDTLS_CRYPTO_SOURCES	+=	$(addprefix ${MBEDTLS_DIR}/library/,	\
61*7d37aa17SJuan Castillo    					rsa.c					\
62*7d37aa17SJuan Castillo    					)
63*7d37aa17SJuan Castillo    MBEDTLS_KEY_ALG_ID		:=	MBEDTLS_RSA
64*7d37aa17SJuan Castilloelse
65*7d37aa17SJuan Castillo    $(error "MBEDTLS_KEY_ALG=${MBEDTLS_KEY_ALG} not supported on mbedTLS")
66*7d37aa17SJuan Castilloendif
67*7d37aa17SJuan Castillo
68*7d37aa17SJuan Castillo# mbedTLS libraries rely on this define to build correctly
69*7d37aa17SJuan Castillo$(eval $(call add_define,MBEDTLS_KEY_ALG_ID))
70*7d37aa17SJuan Castillo
71*7d37aa17SJuan CastilloBL1_SOURCES			+=	${MBEDTLS_CRYPTO_SOURCES}
72*7d37aa17SJuan CastilloBL2_SOURCES			+=	${MBEDTLS_CRYPTO_SOURCES}
73