We depend on #include <soc/soc_caps.h> to get SOC_SHA_SUPPORT_PARALLEL_ENG (which wasn't available to wally before!!!) and we depend on `#include to get CONFIG_MBEDTLS_HARDWARE_SHA which is necessary to distinguish between mbedtls with or without hw acceleration.
instead of including sdkconfig.h (and or soc_caps.h) we could have other flags like HAVE_MBEDTLS_SHA256_H and HAVE_MBEDTLS_SHA512_H
Tested on:
esp32:
esp32s3:
should also work on esp32s2, esp32c3, esp32c6, esp32p4, etc
Please note:
There's 4 implementations: software, parallel engine, block engine, dma
SOC_SHA_SUPPORT_PARALLEL_ENG is only defined for esp32. esp32s3 uses DMA
SOC_SHA_ENDIANNESS_BE is not available in release branches, only in master and only for esp32 AFAIK
example of how idf checks for things https://github.com/espressif/esp-idf/blob/master/components/mbedtls/port/sha/esp_sha.c#L19
We depend on to get CONFIG_MBEDTLS_HARDWARE_SHA which is necessary to distinguish between mbedtls with or without hw acceleration.
#include <soc/soc_caps.h>
to get SOC_SHA_SUPPORT_PARALLEL_ENG (which wasn't available to wally before!!!) and we depend on `#includeinstead of including sdkconfig.h (and or soc_caps.h) we could have other flags like
HAVE_MBEDTLS_SHA256_H
andHAVE_MBEDTLS_SHA512_H