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