This is an automated email from the ASF dual-hosted git repository. acassis pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 7951410bc77a78d21f4ffc38d3b5bdf247bf052c Author: Eren Terzioglu <[email protected]> AuthorDate: Mon Jan 19 12:05:18 2026 +0100 boards/risc-v/espressif: Add AES accelerator board support Add AES accelerator board support for esp32[-c3|-c6|-h2|-p4] Signed-off-by: Eren Terzioglu <[email protected]> --- .../risc-v/esp32c3/esp32-c3-zero/src/esp32c3_bringup.c | 4 ++++ .../esp32c3/esp32c3-devkit/configs/crypto/defconfig | 4 ++-- .../risc-v/esp32c3/esp32c3-devkit/src/esp32c3_bringup.c | 17 +++++++++++++++-- .../esp32c6/esp32c6-devkitc/configs/crypto/defconfig | 4 ++-- .../esp32c6/esp32c6-devkitc/src/esp32c6_bringup.c | 17 +++++++++++++++-- .../esp32h2/esp32h2-devkit/configs/crypto/defconfig | 4 ++-- .../risc-v/esp32h2/esp32h2-devkit/src/esp32h2_bringup.c | 17 +++++++++++++++-- .../esp32p4-function-ev-board/configs/crypto/defconfig | 9 +++++++-- 8 files changed, 62 insertions(+), 14 deletions(-) diff --git a/boards/risc-v/esp32c3/esp32-c3-zero/src/esp32c3_bringup.c b/boards/risc-v/esp32c3/esp32-c3-zero/src/esp32c3_bringup.c index a4f3f310865..5d837e27c55 100644 --- a/boards/risc-v/esp32c3/esp32-c3-zero/src/esp32c3_bringup.c +++ b/boards/risc-v/esp32c3/esp32-c3-zero/src/esp32c3_bringup.c @@ -129,6 +129,10 @@ # include "espressif/esp_sha.h" #endif +#ifdef CONFIG_ESPRESSIF_AES_ACCELERATOR +# include "espressif/esp_aes.h" +#endif + #ifdef CONFIG_MMCSD_SPI # include "esp_board_mmcsd.h" #endif diff --git a/boards/risc-v/esp32c3/esp32c3-devkit/configs/crypto/defconfig b/boards/risc-v/esp32c3/esp32c3-devkit/configs/crypto/defconfig index 5ed4c25f2c0..cf12dd42469 100644 --- a/boards/risc-v/esp32c3/esp32c3-devkit/configs/crypto/defconfig +++ b/boards/risc-v/esp32c3/esp32c3-devkit/configs/crypto/defconfig @@ -8,8 +8,6 @@ # CONFIG_NSH_ARGCAT is not set # CONFIG_NSH_CMDOPT_HEXDUMP is not set # CONFIG_TESTING_CRYPTO_3DES_CBC is not set -# CONFIG_TESTING_CRYPTO_AES_CBC is not set -# CONFIG_TESTING_CRYPTO_AES_CTR is not set # CONFIG_TESTING_CRYPTO_AES_XTS is not set # CONFIG_TESTING_CRYPTO_HASH_HUGE_BLOCK is not set CONFIG_ALLOW_BSD_COMPONENTS=y @@ -29,9 +27,11 @@ CONFIG_BOARDCTL_RESET=y CONFIG_BOARD_LOOPSPERMSEC=15000 CONFIG_BUILTIN=y CONFIG_CRYPTO=y +CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_CRYPTODEV=y CONFIG_CRYPTO_CRYPTODEV_HARDWARE=y CONFIG_CRYPTO_RANDOM_POOL=y +CONFIG_ESPRESSIF_AES_ACCELERATOR=y CONFIG_ESPRESSIF_SHA_ACCELERATOR=y CONFIG_FS_PROCFS=y CONFIG_IDLETHREAD_STACKSIZE=2048 diff --git a/boards/risc-v/esp32c3/esp32c3-devkit/src/esp32c3_bringup.c b/boards/risc-v/esp32c3/esp32c3-devkit/src/esp32c3_bringup.c index d586caab418..3d3a5fa09f8 100644 --- a/boards/risc-v/esp32c3/esp32c3-devkit/src/esp32c3_bringup.c +++ b/boards/risc-v/esp32c3/esp32c3-devkit/src/esp32c3_bringup.c @@ -124,6 +124,10 @@ # include "espressif/esp_sha.h" #endif +#ifdef CONFIG_ESPRESSIF_AES_ACCELERATOR +# include "espressif/esp_aes.h" +#endif + #ifdef CONFIG_MMCSD_SPI # include "esp_board_mmcsd.h" #endif @@ -191,14 +195,23 @@ int esp_bringup(void) } #endif -#if defined(CONFIG_ESPRESSIF_SHA_ACCELERATOR) && \ - !defined(CONFIG_CRYPTO_CRYPTODEV_HARDWARE) +#if !defined(CONFIG_CRYPTO_CRYPTODEV_HARDWARE) +# if defined(CONFIG_ESPRESSIF_SHA_ACCELERATOR) ret = esp_sha_init(); if (ret < 0) { syslog(LOG_ERR, "ERROR: Failed to initialize SHA: %d\n", ret); } +# endif + +# if defined(CONFIG_ESPRESSIF_AES_ACCELERATOR) + ret = esp_aes_init(); + if (ret < 0) + { + syslog(LOG_ERR, "ERROR: Failed to initialize AES: %d\n", ret); + } +# endif #endif #ifdef CONFIG_ESPRESSIF_MWDT0 diff --git a/boards/risc-v/esp32c6/esp32c6-devkitc/configs/crypto/defconfig b/boards/risc-v/esp32c6/esp32c6-devkitc/configs/crypto/defconfig index c08d741ca03..997c4b73f67 100644 --- a/boards/risc-v/esp32c6/esp32c6-devkitc/configs/crypto/defconfig +++ b/boards/risc-v/esp32c6/esp32c6-devkitc/configs/crypto/defconfig @@ -8,8 +8,6 @@ # CONFIG_NSH_ARGCAT is not set # CONFIG_NSH_CMDOPT_HEXDUMP is not set # CONFIG_TESTING_CRYPTO_3DES_CBC is not set -# CONFIG_TESTING_CRYPTO_AES_CBC is not set -# CONFIG_TESTING_CRYPTO_AES_CTR is not set # CONFIG_TESTING_CRYPTO_AES_XTS is not set # CONFIG_TESTING_CRYPTO_HASH_HUGE_BLOCK is not set CONFIG_ALLOW_BSD_COMPONENTS=y @@ -30,9 +28,11 @@ CONFIG_BOARDCTL_RESET=y CONFIG_BOARD_LOOPSPERMSEC=15000 CONFIG_BUILTIN=y CONFIG_CRYPTO=y +CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_CRYPTODEV=y CONFIG_CRYPTO_CRYPTODEV_HARDWARE=y CONFIG_CRYPTO_RANDOM_POOL=y +CONFIG_ESPRESSIF_AES_ACCELERATOR=y CONFIG_ESPRESSIF_SHA_ACCELERATOR=y CONFIG_FS_PROCFS=y CONFIG_IDLETHREAD_STACKSIZE=2048 diff --git a/boards/risc-v/esp32c6/esp32c6-devkitc/src/esp32c6_bringup.c b/boards/risc-v/esp32c6/esp32c6-devkitc/src/esp32c6_bringup.c index c5ef8206937..79e34a11ac7 100644 --- a/boards/risc-v/esp32c6/esp32c6-devkitc/src/esp32c6_bringup.c +++ b/boards/risc-v/esp32c6/esp32c6-devkitc/src/esp32c6_bringup.c @@ -131,6 +131,10 @@ # include "espressif/esp_sha.h" #endif +#ifdef CONFIG_ESPRESSIF_AES_ACCELERATOR +# include "espressif/esp_aes.h" +#endif + #ifdef CONFIG_NET_OA_TC6 # include "esp_board_oa_tc6.h" #endif @@ -209,14 +213,23 @@ int esp_bringup(void) } #endif -#if defined(CONFIG_ESPRESSIF_SHA_ACCELERATOR) && \ - !defined(CONFIG_CRYPTO_CRYPTODEV_HARDWARE) +#if !defined(CONFIG_CRYPTO_CRYPTODEV_HARDWARE) +# if defined(CONFIG_ESPRESSIF_SHA_ACCELERATOR) ret = esp_sha_init(); if (ret < 0) { syslog(LOG_ERR, "ERROR: Failed to initialize SHA: %d\n", ret); } +# endif + +# if defined(CONFIG_ESPRESSIF_AES_ACCELERATOR) + ret = esp_aes_init(); + if (ret < 0) + { + syslog(LOG_ERR, "ERROR: Failed to initialize AES: %d\n", ret); + } +# endif #endif #ifdef CONFIG_ESPRESSIF_MWDT0 diff --git a/boards/risc-v/esp32h2/esp32h2-devkit/configs/crypto/defconfig b/boards/risc-v/esp32h2/esp32h2-devkit/configs/crypto/defconfig index 2aba6c7dc1e..0b41c4401f4 100644 --- a/boards/risc-v/esp32h2/esp32h2-devkit/configs/crypto/defconfig +++ b/boards/risc-v/esp32h2/esp32h2-devkit/configs/crypto/defconfig @@ -8,8 +8,6 @@ # CONFIG_NSH_ARGCAT is not set # CONFIG_NSH_CMDOPT_HEXDUMP is not set # CONFIG_TESTING_CRYPTO_3DES_CBC is not set -# CONFIG_TESTING_CRYPTO_AES_CBC is not set -# CONFIG_TESTING_CRYPTO_AES_CTR is not set # CONFIG_TESTING_CRYPTO_AES_XTS is not set # CONFIG_TESTING_CRYPTO_HASH_HUGE_BLOCK is not set CONFIG_ALLOW_BSD_COMPONENTS=y @@ -29,9 +27,11 @@ CONFIG_BOARDCTL_RESET=y CONFIG_BOARD_LOOPSPERMSEC=15000 CONFIG_BUILTIN=y CONFIG_CRYPTO=y +CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_CRYPTODEV=y CONFIG_CRYPTO_CRYPTODEV_HARDWARE=y CONFIG_CRYPTO_RANDOM_POOL=y +CONFIG_ESPRESSIF_AES_ACCELERATOR=y CONFIG_ESPRESSIF_SHA_ACCELERATOR=y CONFIG_FS_PROCFS=y CONFIG_IDLETHREAD_STACKSIZE=2048 diff --git a/boards/risc-v/esp32h2/esp32h2-devkit/src/esp32h2_bringup.c b/boards/risc-v/esp32h2/esp32h2-devkit/src/esp32h2_bringup.c index 8dae31d1fb4..efba1214cf8 100644 --- a/boards/risc-v/esp32h2/esp32h2-devkit/src/esp32h2_bringup.c +++ b/boards/risc-v/esp32h2/esp32h2-devkit/src/esp32h2_bringup.c @@ -121,6 +121,10 @@ # include "espressif/esp_sha.h" #endif +#ifdef CONFIG_ESPRESSIF_AES_ACCELERATOR +# include "espressif/esp_aes.h" +#endif + #ifdef CONFIG_MMCSD_SPI # include "esp_board_mmcsd.h" #endif @@ -188,14 +192,23 @@ int esp_bringup(void) } #endif -#if defined(CONFIG_ESPRESSIF_SHA_ACCELERATOR) && \ - !defined(CONFIG_CRYPTO_CRYPTODEV_HARDWARE) +#if !defined(CONFIG_CRYPTO_CRYPTODEV_HARDWARE) +# if defined(CONFIG_ESPRESSIF_SHA_ACCELERATOR) ret = esp_sha_init(); if (ret < 0) { syslog(LOG_ERR, "ERROR: Failed to initialize SHA: %d\n", ret); } +# endif + +# if defined(CONFIG_ESPRESSIF_AES_ACCELERATOR) + ret = esp_aes_init(); + if (ret < 0) + { + syslog(LOG_ERR, "ERROR: Failed to initialize AES: %d\n", ret); + } +# endif #endif #ifdef CONFIG_ESPRESSIF_MWDT0 diff --git a/boards/risc-v/esp32p4/esp32p4-function-ev-board/configs/crypto/defconfig b/boards/risc-v/esp32p4/esp32p4-function-ev-board/configs/crypto/defconfig index 75fc2372767..9474a7a6c0d 100644 --- a/boards/risc-v/esp32p4/esp32p4-function-ev-board/configs/crypto/defconfig +++ b/boards/risc-v/esp32p4/esp32p4-function-ev-board/configs/crypto/defconfig @@ -8,9 +8,8 @@ # CONFIG_NSH_ARGCAT is not set # CONFIG_NSH_CMDOPT_HEXDUMP is not set # CONFIG_TESTING_CRYPTO_3DES_CBC is not set -# CONFIG_TESTING_CRYPTO_AES_CBC is not set -# CONFIG_TESTING_CRYPTO_AES_CTR is not set # CONFIG_TESTING_CRYPTO_AES_XTS is not set +# CONFIG_TESTING_CRYPTO_HASH_HUGE_BLOCK is not set CONFIG_ALLOW_BSD_COMPONENTS=y CONFIG_ARCH="risc-v" CONFIG_ARCH_BOARD="esp32p4-function-ev-board" @@ -27,9 +26,11 @@ CONFIG_BOARDCTL_RESET=y CONFIG_BOARD_LOOPSPERMSEC=15000 CONFIG_BUILTIN=y CONFIG_CRYPTO=y +CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_CRYPTODEV=y CONFIG_CRYPTO_CRYPTODEV_HARDWARE=y CONFIG_CRYPTO_RANDOM_POOL=y +CONFIG_ESPRESSIF_AES_ACCELERATOR=y CONFIG_ESPRESSIF_SHA_ACCELERATOR=y CONFIG_EXPERIMENTAL=y CONFIG_FS_PROCFS=y @@ -54,6 +55,10 @@ CONFIG_START_YEAR=2019 CONFIG_SYSTEM_DUMPSTACK=y CONFIG_SYSTEM_NSH=y CONFIG_TESTING_CRYPTO=y +CONFIG_TESTING_CRYPTO_HASH=y +CONFIG_TESTING_CRYPTO_HASH_DISABLE_MD5=y +CONFIG_TESTING_CRYPTO_HASH_DISABLE_SHA512=y +CONFIG_TESTING_CRYPTO_STACKSIZE=4096 CONFIG_TESTING_GETPRIME=y CONFIG_TESTING_OSTEST=y CONFIG_UART0_SERIAL_CONSOLE=y
