Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions boards/espressif/esp32_devkitc/esp32_devkitc_procpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,5 @@ supported:
- counter
- entropy
- input
- crypto
vendor: espressif
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,5 @@ supported:
- nvs
- pwm
- i2s
- crypto
vendor: espressif
1 change: 1 addition & 0 deletions boards/espressif/esp32c3_devkitc/esp32c3_devkitc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,5 @@ supported:
- spi
- counter
- entropy
- crypto
vendor: espressif
1 change: 1 addition & 0 deletions boards/espressif/esp32c3_devkitm/esp32c3_devkitm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,5 @@ supported:
- spi
- counter
- entropy
- crypto
vendor: espressif
1 change: 1 addition & 0 deletions boards/espressif/esp32c3_rust/esp32c3_rust.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,5 @@ supported:
- spi
- counter
- entropy
- crypto
vendor: espressif
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ supported:
- i2c
- i2s
- netif:openthread

- crypto
testing:
ignore_tags:
- bluetooth
1 change: 1 addition & 0 deletions boards/espressif/esp32h2_devkitm/esp32h2_devkitm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@ supported:
- i2c
- i2s
- netif:openthread
- crypto
1 change: 1 addition & 0 deletions boards/espressif/esp32s2_devkitc/esp32s2_devkitc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ supported:
- input
- can
- dma
- crypto
testing:
ignore_tags:
- bluetooth
Expand Down
1 change: 1 addition & 0 deletions boards/espressif/esp32s2_saola/esp32s2_saola.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ supported:
- counter
- entropy
- input
- crypto
testing:
ignore_tags:
- bluetooth
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,5 @@ supported:
- pwm
- dma
- input
- crypto
vendor: espressif
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,5 @@ supported:
- dma
- input
- video
- crypto
vendor: espressif
1 change: 1 addition & 0 deletions boards/espressif/esp32s3_eye/esp32s3_eye_procpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,5 @@ supported:
- dma
- input
- video
- crypto
vendor: espressif
1 change: 1 addition & 0 deletions boards/espressif/esp_wrover_kit/esp_wrover_kit_procpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,5 @@ supported:
- spi
- counter
- entropy
- crypto
vendor: espressif
2 changes: 2 additions & 0 deletions drivers/crypto/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,6 @@ zephyr_library_sources_ifdef(CONFIG_CRYPTO_MCUX_DCP crypto_mcux_dcp.c)
zephyr_library_sources_ifdef(CONFIG_CRYPTO_SI32 crypto_si32.c)
zephyr_library_sources_ifdef(CONFIG_CRYPTO_CC23X0 crypto_cc23x0.c)
zephyr_library_sources_ifdef(CONFIG_CRYPTO_RTS5912_SHA crypto_rts5912_sha.c)
zephyr_library_sources_ifdef(CONFIG_CRYPTO_ESP32_SHA crypto_esp32_sha.c)
zephyr_library_sources_ifdef(CONFIG_CRYPTO_ESP32_AES crypto_esp32_aes.c)
zephyr_library_link_libraries_ifdef(CONFIG_MBEDTLS mbedTLS)
1 change: 1 addition & 0 deletions drivers/crypto/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -60,5 +60,6 @@ source "drivers/crypto/Kconfig.si32"
source "drivers/crypto/Kconfig.smartbond"
source "drivers/crypto/Kconfig.cc23x0"
source "drivers/crypto/Kconfig.rts5912"
source "drivers/crypto/Kconfig.esp32"

endif # CRYPTO
52 changes: 52 additions & 0 deletions drivers/crypto/Kconfig.esp32
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Copyright (c) 2025 Espressif Systems
# SPDX-License-Identifier: Apache-2.0

config CRYPTO_ESP32
bool "Espressif Crypto driver"
depends on DT_HAS_ESPRESSIF_ESP32_AES_ENABLED || DT_HAS_ESPRESSIF_ESP32_SHA_ENABLED
default y
help
Enable the Espressif hardware crypto drivers for AES and SHA
accelerators.

if CRYPTO_ESP32

config CRYPTO_ESP32_AES
bool "ESP32 AES Hardware Accelerator"
depends on DT_HAS_ESPRESSIF_ESP32_AES_ENABLED
default y
help
Enable support for the Espressif AES hardware accelerator.
This driver implements AES-ECB, AES-CBC, and AES-CTR modes
using the hardware AES engine through the HAL.

config CRYPTO_ESP32_SHA
bool "ESP32 SHA Hardware Accelerator"
depends on DT_HAS_ESPRESSIF_ESP32_SHA_ENABLED
default y
help
Enable support for the Espressif SHA hardware accelerator.
This driver implements SHA-224, SHA-256, SHA-384, and SHA-512
using the Espressif HAL SHA engine.

config CRYPTO_ESP32_SHA_SESSIONS_MAX
int "Max ESP32 SHA sessions"
depends on CRYPTO_ESP32_SHA
range 1 32
default 2
help
Maximum number of concurrent SHA hash sessions.
Each session uses approximately 300-400 bytes of RAM
(more for SHA-384/512 due to larger state).

config ESP32_CRYPTO_AES_SESSIONS_MAX
int "Max ESP32 AES sessions"
depends on CRYPTO_ESP32_AES
range 1 32
default 4
help
Maximum number of concurrent AES sessions.
Each session uses approximately 300-400 bytes of RAM
(more for AES-256 due to larger state).

endif # CRYPTO_ESP32
Loading