summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilko Nienhaus <wilko.nienhaus@gmail.com>2023-06-04 15:42:13 +0300
committerDamien George <damien@micropython.org>2023-06-14 16:41:03 +1000
commit034502bc72e8d1b6371ce2970fdba4b7f4f41710 (patch)
tree2efb2fc3757cbc789e33a071fc2842ac3e80cfd9
parentea8f0fd8965f24e5c9978a4078e377d2a0480908 (diff)
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 <wilko.nienhaus@gmail.com>
-rw-r--r--ports/esp32/boards/sdkconfig.base4
-rw-r--r--ports/esp32/esp32_ulp.c9
-rwxr-xr-xtools/ci.sh2
3 files changed, 12 insertions, 3 deletions
diff --git a/ports/esp32/boards/sdkconfig.base b/ports/esp32/boards/sdkconfig.base
index 6b891aa00..138de095b 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 e7962ce1a..439ee3283 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 2f96a5b51..e69558a83 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 {