# Crypto configuration options

# Copyright (c) 2017 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

#
# CRYPTO options
#
menuconfig CRYPTO
	bool "Crypto drivers"

if CRYPTO

config CRYPTO_INIT_PRIORITY
	int "Crypto devices init priority"
	default 90
	help
	  Crypto devices initialization priority.

module = CRYPTO
module-str = CRYPTO
source "subsys/logging/Kconfig.template.log_config"

config CRYPTO_MBEDTLS_SHIM
	bool "Mbed TLS shim driver [EXPERIMENTAL]"
	select PSA_CRYPTO
	select MBEDTLS_ENABLE_HEAP
	imply PSA_WANT_ALG_SHA_224
	imply PSA_WANT_ALG_SHA_256
	imply PSA_WANT_ALG_SHA_384
	imply PSA_WANT_ALG_SHA_512
	imply PSA_WANT_KEY_TYPE_AES
	imply PSA_WANT_ALG_ECB_NO_PADDING
	imply PSA_WANT_ALG_CBC_NO_PADDING
	imply PSA_WANT_ALG_CCM
	imply PSA_WANT_ALG_GCM
	select EXPERIMENTAL
	help
	  Enable Mbed TLS shim layer compliant with crypto APIs. You will need
	  to fill in a relevant value to CONFIG_MBEDTLS_HEAP_SIZE.

config CRYPTO_MBEDTLS_SHIM_DRV_NAME
	string "Device name for mbedTLS Pseudo device"
	default "CRYPTO_MTLS"
	depends on CRYPTO_MBEDTLS_SHIM
	help
	  Device name for mbedTLS Pseudo device.

config CRYPTO_MBEDTLS_SHIM_MAX_SESSION
	int "Maximum of sessions mbedTLS shim driver can handle"
	default 2
	depends on CRYPTO_MBEDTLS_SHIM
	help
	  This can be used to tweak the amount of sessions the driver
	  can handle in parallel.

# zephyr-keep-sorted-start
source "drivers/crypto/Kconfig.ataes132a"
source "drivers/crypto/Kconfig.cc23x0"
source "drivers/crypto/Kconfig.esp32"
source "drivers/crypto/Kconfig.intel"
source "drivers/crypto/Kconfig.it51xxx"
source "drivers/crypto/Kconfig.it8xxx2"
source "drivers/crypto/Kconfig.mchp"
source "drivers/crypto/Kconfig.mcux_dcp"
source "drivers/crypto/Kconfig.npcx"
source "drivers/crypto/Kconfig.nrf_ecb"
source "drivers/crypto/Kconfig.nxp_s32_hse"
source "drivers/crypto/Kconfig.rts5912"
source "drivers/crypto/Kconfig.si32"
source "drivers/crypto/Kconfig.smartbond"
source "drivers/crypto/Kconfig.stm32"
# zephyr-keep-sorted-stop

endif # CRYPTO
