drivers: crypto: Add initial SiM3U1xx support

This driver makes use of the hardware AES acceleration, using DMA
transfers.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
This commit is contained in:
Reto Schneider 2024-09-16 01:31:46 +02:00 committed by Carles Cufí
parent de04a0e7cd
commit 1790eda851
4 changed files with 1224 additions and 0 deletions

View file

@ -13,4 +13,5 @@ zephyr_library_sources_ifdef(CONFIG_CRYPTO_MCHP_XEC_SYMCR crypto_mchp_xec_symcr.
zephyr_library_sources_ifdef(CONFIG_CRYPTO_IT8XXX2_SHA crypto_it8xxx2_sha.c)
zephyr_library_sources_ifdef(CONFIG_CRYPTO_IT8XXX2_SHA_V2 crypto_it8xxx2_sha_v2.c)
zephyr_library_sources_ifdef(CONFIG_CRYPTO_MCUX_DCP crypto_mcux_dcp.c)
zephyr_library_sources_ifdef(CONFIG_CRYPTO_SI32 crypto_si32.c)
zephyr_library_link_libraries_ifdef(CONFIG_MBEDTLS mbedTLS)

View file

@ -82,6 +82,7 @@ source "drivers/crypto/Kconfig.npcx"
source "drivers/crypto/Kconfig.xec"
source "drivers/crypto/Kconfig.it8xxx2"
source "drivers/crypto/Kconfig.mcux_dcp"
source "drivers/crypto/Kconfig.si32"
source "drivers/crypto/Kconfig.smartbond"
endif # CRYPTO

View file

@ -0,0 +1,18 @@
# Copyright (c) 2024 GARDENA GmbH
# SPDX-License-Identifier: Apache-2.0
config CRYPTO_SI32
bool "Si32 AES driver"
default y
depends on DT_HAS_SILABS_SI32_AES_ENABLED
select DMA
help
Enable hardware accelerated AES driver.
config CRYPTO_SI32_MAX_SESSION
int "Maximum of sessions the Si32 driver can handle"
default 2
depends on CRYPTO_SI32
help
This can be used to tweak the amount of sessions the driver
can handle in parallel.

1204
drivers/crypto/crypto_si32.c Normal file

File diff suppressed because it is too large Load diff