This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 1512e1e3d24b3183d0c82c32605ee64041b2fa61 Author: Eren Terzioglu <eren.terzio...@espressif.com> AuthorDate: Tue May 20 17:09:18 2025 +0200 boards/xtensa: Add board layer SHA accelerator support for esp32[-s2|-s3] Add board layer SHA accelerator support for Xtensa based Espressif devices Signed-off-by: Eren Terzioglu <eren.terzio...@espressif.com> --- .../esp32s2-saola-1/configs/crypto/defconfig | 56 +++++++++++++++++++++ .../esp32s2/esp32s2-saola-1/src/esp32s2_bringup.c | 14 ++++++ .../esp32s3-devkit/configs/crypto/defconfig | 57 ++++++++++++++++++++++ .../esp32s3/esp32s3-devkit/src/esp32s3_bringup.c | 14 ++++++ 4 files changed, 141 insertions(+) diff --git a/boards/xtensa/esp32s2/esp32s2-saola-1/configs/crypto/defconfig b/boards/xtensa/esp32s2/esp32s2-saola-1/configs/crypto/defconfig new file mode 100644 index 00000000000..22b5a735688 --- /dev/null +++ b/boards/xtensa/esp32s2/esp32s2-saola-1/configs/crypto/defconfig @@ -0,0 +1,56 @@ +# +# This file is autogenerated: PLEASE DO NOT EDIT IT. +# +# You can use "make menuconfig" to make any modifications to the installed .config file. +# You can then do "make savedefconfig" to generate a new defconfig file that includes your +# modifications. +# +# CONFIG_ARCH_LEDS is not set +# 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_ALLOW_BSD_COMPONENTS=y +CONFIG_ARCH="xtensa" +CONFIG_ARCH_BOARD="esp32s2-saola-1" +CONFIG_ARCH_BOARD_COMMON=y +CONFIG_ARCH_BOARD_ESP32S2_SAOLA_1=y +CONFIG_ARCH_CHIP="esp32s2" +CONFIG_ARCH_CHIP_ESP32S2=y +CONFIG_ARCH_CHIP_ESP32S2WROVER=y +CONFIG_ARCH_STACKDUMP=y +CONFIG_ARCH_XTENSA=y +CONFIG_BOARD_LOOPSPERMSEC=16717 +CONFIG_BUILTIN=y +CONFIG_CRYPTO=y +CONFIG_CRYPTO_CRYPTODEV=y +CONFIG_CRYPTO_CRYPTODEV_HARDWARE=y +CONFIG_CRYPTO_RANDOM_POOL=y +CONFIG_ESP32S2_UART0=y +CONFIG_ESPRESSIF_SHA_ACCELERATOR=y +CONFIG_FS_PROCFS=y +CONFIG_HAVE_CXX=y +CONFIG_HAVE_CXXINITIALIZE=y +CONFIG_IDLETHREAD_STACKSIZE=3072 +CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_STACKSIZE=3072 +CONFIG_INTELHEX_BINARY=y +CONFIG_LINE_MAX=64 +CONFIG_NSH_ARCHINIT=y +CONFIG_NSH_BUILTIN_APPS=y +CONFIG_NSH_FILEIOSIZE=512 +CONFIG_NSH_READLINE=y +CONFIG_PREALLOC_TIMERS=4 +CONFIG_RAM_SIZE=114688 +CONFIG_RAM_START=0x20000000 +CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_WAITPID=y +CONFIG_START_DAY=6 +CONFIG_START_MONTH=12 +CONFIG_START_YEAR=2011 +CONFIG_SYSLOG_BUFFER=y +CONFIG_SYSTEM_NSH=y +CONFIG_TESTING_CRYPTO=y +CONFIG_UART0_SERIAL_CONSOLE=y diff --git a/boards/xtensa/esp32s2/esp32s2-saola-1/src/esp32s2_bringup.c b/boards/xtensa/esp32s2/esp32s2-saola-1/src/esp32s2_bringup.c index f6cd43178ac..b77255e9b05 100644 --- a/boards/xtensa/esp32s2/esp32s2-saola-1/src/esp32s2_bringup.c +++ b/boards/xtensa/esp32s2/esp32s2-saola-1/src/esp32s2_bringup.c @@ -117,6 +117,10 @@ # include "espressif/esp_sdm.h" #endif +#ifdef CONFIG_ESPRESSIF_SHA_ACCELERATOR +# include "espressif/esp_sha.h" +#endif + #ifdef CONFIG_MMCSD_SPI # include "esp32s2_board_sdmmc.h" #endif @@ -174,6 +178,16 @@ int esp32s2_bringup(void) } #endif +#if defined(CONFIG_ESPRESSIF_SHA_ACCELERATOR) && \ + !defined(CONFIG_CRYPTO_CRYPTODEV_HARDWARE) + ret = esp_sha_init(); + if (ret < 0) + { + syslog(LOG_ERR, + "ERROR: Failed to initialize SHA: %d\n", ret); + } +#endif + #ifdef CONFIG_WATCHDOG /* Configure watchdog timer */ diff --git a/boards/xtensa/esp32s3/esp32s3-devkit/configs/crypto/defconfig b/boards/xtensa/esp32s3/esp32s3-devkit/configs/crypto/defconfig new file mode 100644 index 00000000000..91d93698d1e --- /dev/null +++ b/boards/xtensa/esp32s3/esp32s3-devkit/configs/crypto/defconfig @@ -0,0 +1,57 @@ +# +# This file is autogenerated: PLEASE DO NOT EDIT IT. +# +# You can use "make menuconfig" to make any modifications to the installed .config file. +# You can then do "make savedefconfig" to generate a new defconfig file that includes your +# modifications. +# +# CONFIG_ARCH_LEDS is not set +# 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_ALLOW_BSD_COMPONENTS=y +CONFIG_ARCH="xtensa" +CONFIG_ARCH_BOARD="esp32s3-devkit" +CONFIG_ARCH_BOARD_COMMON=y +CONFIG_ARCH_BOARD_ESP32S3_DEVKIT=y +CONFIG_ARCH_CHIP="esp32s3" +CONFIG_ARCH_CHIP_ESP32S3=y +CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y +CONFIG_ARCH_INTERRUPTSTACK=2048 +CONFIG_ARCH_STACKDUMP=y +CONFIG_ARCH_XTENSA=y +CONFIG_BOARD_LOOPSPERMSEC=16717 +CONFIG_BUILTIN=y +CONFIG_CRYPTO=y +CONFIG_CRYPTO_CRYPTODEV=y +CONFIG_CRYPTO_CRYPTODEV_HARDWARE=y +CONFIG_CRYPTO_RANDOM_POOL=y +CONFIG_ESP32S3_UART0=y +CONFIG_ESPRESSIF_SHA_ACCELERATOR=y +CONFIG_FS_PROCFS=y +CONFIG_HAVE_CXX=y +CONFIG_HAVE_CXXINITIALIZE=y +CONFIG_IDLETHREAD_STACKSIZE=3072 +CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_STACKSIZE=3072 +CONFIG_INTELHEX_BINARY=y +CONFIG_LINE_MAX=64 +CONFIG_NSH_ARCHINIT=y +CONFIG_NSH_BUILTIN_APPS=y +CONFIG_NSH_FILEIOSIZE=512 +CONFIG_NSH_READLINE=y +CONFIG_PREALLOC_TIMERS=4 +CONFIG_RAM_SIZE=114688 +CONFIG_RAM_START=0x20000000 +CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_WAITPID=y +CONFIG_START_DAY=6 +CONFIG_START_MONTH=12 +CONFIG_START_YEAR=2011 +CONFIG_SYSLOG_BUFFER=y +CONFIG_SYSTEM_NSH=y +CONFIG_TESTING_CRYPTO=y +CONFIG_UART0_SERIAL_CONSOLE=y diff --git a/boards/xtensa/esp32s3/esp32s3-devkit/src/esp32s3_bringup.c b/boards/xtensa/esp32s3/esp32s3-devkit/src/esp32s3_bringup.c index 2e5021f39c3..56d12896519 100644 --- a/boards/xtensa/esp32s3/esp32s3-devkit/src/esp32s3_bringup.c +++ b/boards/xtensa/esp32s3/esp32s3-devkit/src/esp32s3_bringup.c @@ -145,6 +145,10 @@ # include "espressif/esp_sdm.h" #endif +#ifdef CONFIG_ESPRESSIF_SHA_ACCELERATOR +# include "espressif/esp_sha.h" +#endif + #include "esp32s3-devkit.h" /**************************************************************************** @@ -217,6 +221,16 @@ int esp32s3_bringup(void) } #endif +#if defined(CONFIG_ESPRESSIF_SHA_ACCELERATOR) && \ + !defined(CONFIG_CRYPTO_CRYPTODEV_HARDWARE) + ret = esp_sha_init(); + if (ret < 0) + { + syslog(LOG_ERR, + "ERROR: Failed to initialize SHA: %d\n", ret); + } +#endif + #ifdef CONFIG_FS_PROCFS /* Mount the procfs file system */