mbedtls: add digest shim layer for MbedTLS
Implement digest shim layer on top of MbedTLS crypto library.
Introduce <alg>_MBEDTLS kconfig for MbedTLS crypto implementations.
Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
diff --git a/lib/mbedtls/Kconfig b/lib/mbedtls/Kconfig
index 8a7b3a3..262abb2 100644
--- a/lib/mbedtls/Kconfig
+++ b/lib/mbedtls/Kconfig
@@ -134,10 +134,100 @@
config MBEDTLS_LIB_CRYPTO
bool "MbedTLS crypto libraries"
+ select MD5_MBEDTLS if MD5
+ select SHA1_MBEDTLS if SHA1
+ select SHA256_MBEDTLS if SHA256
+ select SHA512_MBEDTLS if SHA512
+ select SHA384_MBEDTLS if SHA384
+ select SPL_MD5_MBEDTLS if SPL_MD5
+ select SPL_SHA1_MBEDTLS if SPL_SHA1
+ select SPL_SHA256_MBEDTLS if SPL_SHA256
+ select SPL_SHA512_MBEDTLS if SPL_SHA512
+ select SPL_SHA384_MBEDTLS if SPL_SHA384
help
Enable MbedTLS crypto libraries.
Mutually incompatible with MBEDTLS_LIB_CRYPTO_ALT.
+if MBEDTLS_LIB_CRYPTO
+
+config SHA1_MBEDTLS
+ bool "Enable SHA1 support with MbedTLS crypto library"
+ depends on MBEDTLS_LIB_CRYPTO && SHA1
+ help
+ This option enables support of hashing using SHA1 algorithm
+ with MbedTLS crypto library.
+
+config SHA256_MBEDTLS
+ bool "Enable SHA256 support with MbedTLS crypto library"
+ depends on MBEDTLS_LIB_CRYPTO && SHA256
+ help
+ This option enables support of hashing using SHA256 algorithm
+ with MbedTLS crypto library.
+
+config SHA512_MBEDTLS
+ bool "Enable SHA512 support with MbedTLS crypto library"
+ depends on MBEDTLS_LIB_CRYPTO && SHA512
+ default y if TI_SECURE_DEVICE && FIT_SIGNATURE
+ help
+ This option enables support of hashing using SHA512 algorithm
+ with MbedTLS crypto library.
+
+config SHA384_MBEDTLS
+ bool "Enable SHA384 support with MbedTLS crypto library"
+ depends on MBEDTLS_LIB_CRYPTO && SHA384
+ select SHA512_MBEDTLS
+ help
+ This option enables support of hashing using SHA384 algorithm
+ with MbedTLS crypto library.
+
+config MD5_MBEDTLS
+ bool "Enable MD5 support with MbedTLS crypto library"
+ depends on MBEDTLS_LIB_CRYPTO && MD5
+ help
+ This option enables support of hashing using MD5 algorithm
+ with MbedTLS crypto library.
+
+if SPL
+
+config SPL_SHA1_MBEDTLS
+ bool "Enable SHA1 support in SPL with MbedTLS crypto library"
+ depends on MBEDTLS_LIB_CRYPTO && SPL_SHA1
+ help
+ This option enables support of hashing using SHA1 algorithm
+ with MbedTLS crypto library.
+
+config SPL_SHA256_MBEDTLS
+ bool "Enable SHA256 support in SPL with MbedTLS crypto library"
+ depends on MBEDTLS_LIB_CRYPTO && SPL_SHA256
+ help
+ This option enables support of hashing using SHA256 algorithm
+ with MbedTLS crypto library.
+
+config SPL_SHA512_MBEDTLS
+ bool "Enable SHA512 support in SPL with MbedTLS crypto library"
+ depends on MBEDTLS_LIB_CRYPTO && SPL_SHA512
+ help
+ This option enables support of hashing using SHA512 algorithm
+ with MbedTLS crypto library.
+
+config SPL_SHA384_MBEDTLS
+ bool "Enable SHA384 support in SPL with MbedTLS crypto library"
+ depends on MBEDTLS_LIB_CRYPTO && SPL_SHA384
+ select SPL_SHA512
+ help
+ This option enables support of hashing using SHA384 algorithm
+ with MbedTLS crypto library.
+
+config SPL_MD5_MBEDTLS
+ bool "Enable MD5 support in SPL with MbedTLS crypto library"
+ depends on MBEDTLS_LIB_CRYPTO && SPL_MD5
+ help
+ This option enables support of hashing using MD5 algorithm
+ with MbedTLS crypto library.
+
+endif # SPL
+
+endif # MBEDTLS_LIB_CRYPTO
config MBEDTLS_LIB_X509
bool "MbedTLS certificate libraries"