From 034502bc72e8d1b6371ce2970fdba4b7f4f41710 Mon Sep 17 00:00:00 2001 From: Wilko Nienhaus Date: Sun, 4 Jun 2023 15:42:13 +0300 Subject: [PATCH] esp32/esp32_ulp: Fix ULP (FSM) support for S2 and S3. This change enables the ULP (FSM) for all ESP32 variants rather than requiring it to be enabled for each board specifically. It also ensures the correct header file is included for each variant. Lastly, it updates the IDF version we're builing against to v4.4.2, as that version contains important fixes to make the ULP actually work on S2/S3 chips. See: https://github.com/espressif/esp-idf/commit/a0e3d48 Signed-off-by: Wilko Nienhaus --- ports/esp32/boards/sdkconfig.base | 4 ++++ ports/esp32/esp32_ulp.c | 9 +++++++-- tools/ci.sh | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ports/esp32/boards/sdkconfig.base b/ports/esp32/boards/sdkconfig.base index 6b891aa006..138de095b4 100644 --- a/ports/esp32/boards/sdkconfig.base +++ b/ports/esp32/boards/sdkconfig.base @@ -50,6 +50,10 @@ CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y # ULP coprocessor support CONFIG_ESP32_ULP_COPROC_ENABLED=y CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=2040 +CONFIG_ESP32S2_ULP_COPROC_ENABLED=y +CONFIG_ESP32S2_ULP_COPROC_RESERVE_MEM=2040 +CONFIG_ESP32S3_ULP_COPROC_ENABLED=y +CONFIG_ESP32S3_ULP_COPROC_RESERVE_MEM=2040 # For cmake build CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y diff --git a/ports/esp32/esp32_ulp.c b/ports/esp32/esp32_ulp.c index e7962ce1ac..439ee32836 100644 --- a/ports/esp32/esp32_ulp.c +++ b/ports/esp32/esp32_ulp.c @@ -26,10 +26,15 @@ #include "py/runtime.h" - #if CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 +#if CONFIG_IDF_TARGET_ESP32 #include "esp32/ulp.h" +#elif CONFIG_IDF_TARGET_ESP32S2 +#include "esp32s2/ulp.h" +#elif CONFIG_IDF_TARGET_ESP32S3 +#include "esp32s3/ulp.h" +#endif #include "esp_err.h" typedef struct _esp32_ulp_obj_t { @@ -106,4 +111,4 @@ MP_DEFINE_CONST_OBJ_TYPE( locals_dict, &esp32_ulp_locals_dict ); -#endif // CONFIG_IDF_TARGET_ESP32 +#endif // CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 diff --git a/tools/ci.sh b/tools/ci.sh index 2f96a5b51d..e69558a83b 100755 --- a/tools/ci.sh +++ b/tools/ci.sh @@ -141,7 +141,7 @@ function ci_esp32_idf402_setup { } function ci_esp32_idf44_setup { - ci_esp32_setup_helper v4.4 + ci_esp32_setup_helper v4.4.2 } function ci_esp32_build {