From 6e4ae5292af9f3b2239c87fddf233b3ef8794a7a Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 6 May 2024 10:45:15 -0300 Subject: [PATCH 01/12] Adds full support to ULP Adds ULP FSM Macro Defs "ulp.h" file --- configs/defconfig.esp32s2 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configs/defconfig.esp32s2 b/configs/defconfig.esp32s2 index 2324f79f3..c96bddc7e 100644 --- a/configs/defconfig.esp32s2 +++ b/configs/defconfig.esp32s2 @@ -7,6 +7,7 @@ CONFIG_ESP32S2_KEEP_USB_ALIVE=y # CONFIG_USE_MULTINET is not set CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=n +CONFIG_ULP_COPROC_ENABLED=y CONFIG_ULP_COPROC_TYPE_FSM=y CONFIG_ULP_COPROC_TYPE_RISCV=y -CONFIG_ULP_COPROC_RESERVE_MEM=4096 \ No newline at end of file +CONFIG_ULP_COPROC_RESERVE_MEM=4096 From 88e9f55a2d4dab4d0df5aa62436cd0c4400d6a8d Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 6 May 2024 10:47:28 -0300 Subject: [PATCH 02/12] Adds Full ULP support to S3 Adds ULP FSM Macro Defs "ulp.h" file --- configs/defconfig.esp32s3 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configs/defconfig.esp32s3 b/configs/defconfig.esp32s3 index 0ff71d4de..c50a1fabb 100644 --- a/configs/defconfig.esp32s3 +++ b/configs/defconfig.esp32s3 @@ -9,6 +9,7 @@ CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO=y CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=3120 CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=n +CONFIG_ESP32S3_ULP_COPROC_ENABLED=y CONFIG_ULP_COPROC_TYPE_FSM=y CONFIG_ULP_COPROC_TYPE_RISCV=y -CONFIG_ULP_COPROC_RESERVE_MEM=4096 \ No newline at end of file +CONFIG_ULP_COPROC_RESERVE_MEM=4096 From c651c171e80372fdc1786eed7b5e7a6e53373072 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 6 May 2024 10:48:46 -0300 Subject: [PATCH 03/12] Fix ULP defconfig.esp32s2 Fix the Setting option for S2 --- configs/defconfig.esp32s2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/defconfig.esp32s2 b/configs/defconfig.esp32s2 index c96bddc7e..aa18a8fd9 100644 --- a/configs/defconfig.esp32s2 +++ b/configs/defconfig.esp32s2 @@ -7,7 +7,7 @@ CONFIG_ESP32S2_KEEP_USB_ALIVE=y # CONFIG_USE_MULTINET is not set CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=n -CONFIG_ULP_COPROC_ENABLED=y +CONFIG_ESP32S2_ULP_COPROC_ENABLED=y CONFIG_ULP_COPROC_TYPE_FSM=y CONFIG_ULP_COPROC_TYPE_RISCV=y CONFIG_ULP_COPROC_RESERVE_MEM=4096 From 95dc1d06eeba21d7d982cb7c3bdd7e5f5ce376c5 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 6 May 2024 10:53:48 -0300 Subject: [PATCH 04/12] Update ULP for IDF 4.x and 5.x --- configs/defconfig.esp32s2 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/configs/defconfig.esp32s2 b/configs/defconfig.esp32s2 index aa18a8fd9..780d5c3f3 100644 --- a/configs/defconfig.esp32s2 +++ b/configs/defconfig.esp32s2 @@ -7,7 +7,11 @@ CONFIG_ESP32S2_KEEP_USB_ALIVE=y # CONFIG_USE_MULTINET is not set CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=n +# ULP Setting for IDF 4.x CONFIG_ESP32S2_ULP_COPROC_ENABLED=y +# ULP Setting for IDF 5.x +CONFIG_ULP_COPROC_ENABLED=y +# end of ULP COPROC_ENABLE CONFIG_ULP_COPROC_TYPE_FSM=y CONFIG_ULP_COPROC_TYPE_RISCV=y CONFIG_ULP_COPROC_RESERVE_MEM=4096 From c0b4cba56714ece54b02b6f7f8e17a23fb8e2a04 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 6 May 2024 10:54:25 -0300 Subject: [PATCH 05/12] Update ULP for IDF 4.x and 5.x --- configs/defconfig.esp32s3 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/configs/defconfig.esp32s3 b/configs/defconfig.esp32s3 index c50a1fabb..87b42bba0 100644 --- a/configs/defconfig.esp32s3 +++ b/configs/defconfig.esp32s3 @@ -9,7 +9,11 @@ CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO=y CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=3120 CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=n +# ULP Setting for IDF 4.x CONFIG_ESP32S3_ULP_COPROC_ENABLED=y +# ULP Setting for IDF 5.x +CONFIG_ULP_COPROC_ENABLED=y +# end of ULP COPROC_ENABLE CONFIG_ULP_COPROC_TYPE_FSM=y CONFIG_ULP_COPROC_TYPE_RISCV=y CONFIG_ULP_COPROC_RESERVE_MEM=4096 From 0082e5dcd342303a417b9f02523830ad03c356f6 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 6 May 2024 10:56:37 -0300 Subject: [PATCH 06/12] Enables C6 ULP --- configs/defconfig.esp32c6 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/configs/defconfig.esp32c6 b/configs/defconfig.esp32c6 index cd361b4ea..370b6ee38 100644 --- a/configs/defconfig.esp32c6 +++ b/configs/defconfig.esp32c6 @@ -2,4 +2,6 @@ CONFIG_BT_ENABLED=y CONFIG_BT_BLE_BLUFI_ENABLE=y CONFIG_RTC_CLK_CAL_CYCLES=576 # CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set -CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304 \ No newline at end of file +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304 +# Enables ULP for C6 +CONFIG_ULP_COPROC_ENABLED=y From 1a6b192bf2e0b4d6b0a39b17075c798299bcb8ac Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 6 May 2024 11:26:37 -0300 Subject: [PATCH 07/12] Full ULP support for C6 --- configs/defconfig.esp32c6 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configs/defconfig.esp32c6 b/configs/defconfig.esp32c6 index 370b6ee38..f334a0970 100644 --- a/configs/defconfig.esp32c6 +++ b/configs/defconfig.esp32c6 @@ -5,3 +5,5 @@ CONFIG_RTC_CLK_CAL_CYCLES=576 CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304 # Enables ULP for C6 CONFIG_ULP_COPROC_ENABLED=y +CONFIG_ULP_COPROC_LP_CORE=y +CONFIG_ULP_COPROC_RESERVE_MEM=4096 From 8686048f2a8748412a559eebeed48ad1ce8d0ac2 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 6 May 2024 14:23:46 -0300 Subject: [PATCH 08/12] Pick FSM instead of RISKV ULP --- configs/defconfig.esp32s2 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/configs/defconfig.esp32s2 b/configs/defconfig.esp32s2 index 780d5c3f3..e9ff7c4ee 100644 --- a/configs/defconfig.esp32s2 +++ b/configs/defconfig.esp32s2 @@ -11,7 +11,8 @@ CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=n CONFIG_ESP32S2_ULP_COPROC_ENABLED=y # ULP Setting for IDF 5.x CONFIG_ULP_COPROC_ENABLED=y -# end of ULP COPROC_ENABLE +# end of ULP COPROC_ENABLE +# Is it FSM or RISCV exclusively? CONFIG_ULP_COPROC_TYPE_FSM=y -CONFIG_ULP_COPROC_TYPE_RISCV=y +# CONFIG_ULP_COPROC_TYPE_RISCV=y CONFIG_ULP_COPROC_RESERVE_MEM=4096 From 26621a761d4e140df1433c7db33bf6ebd5c32b83 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 6 May 2024 14:24:30 -0300 Subject: [PATCH 09/12] Pick FSM instead of RISCV ULP --- configs/defconfig.esp32s3 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configs/defconfig.esp32s3 b/configs/defconfig.esp32s3 index 87b42bba0..e102eabe6 100644 --- a/configs/defconfig.esp32s3 +++ b/configs/defconfig.esp32s3 @@ -14,6 +14,7 @@ CONFIG_ESP32S3_ULP_COPROC_ENABLED=y # ULP Setting for IDF 5.x CONFIG_ULP_COPROC_ENABLED=y # end of ULP COPROC_ENABLE +# Is it FSM or RISCV exclusively? CONFIG_ULP_COPROC_TYPE_FSM=y -CONFIG_ULP_COPROC_TYPE_RISCV=y +# CONFIG_ULP_COPROC_TYPE_RISCV=y CONFIG_ULP_COPROC_RESERVE_MEM=4096 From 2a5c1074819acc4729a4997d2120a32f8c062ea7 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 6 May 2024 15:51:43 -0300 Subject: [PATCH 10/12] Disable C6 RV LP - No way to use it in Arduino --- configs/defconfig.esp32c6 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/configs/defconfig.esp32c6 b/configs/defconfig.esp32c6 index f334a0970..e99ac9c37 100644 --- a/configs/defconfig.esp32c6 +++ b/configs/defconfig.esp32c6 @@ -3,7 +3,7 @@ CONFIG_BT_BLE_BLUFI_ENABLE=y CONFIG_RTC_CLK_CAL_CYCLES=576 # CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304 -# Enables ULP for C6 -CONFIG_ULP_COPROC_ENABLED=y -CONFIG_ULP_COPROC_LP_CORE=y -CONFIG_ULP_COPROC_RESERVE_MEM=4096 +# This Enables RISCV LP for C6 - but it can't be used within Arduino at this time. +#CONFIG_ULP_COPROC_ENABLED=y +#CONFIG_ULP_COPROC_LP_CORE=y +#CONFIG_ULP_COPROC_RESERVE_MEM=4096 From bfe54508151071e563189bdc53f4d9a9202623a7 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 6 May 2024 15:52:46 -0300 Subject: [PATCH 11/12] Pick FSM ULP for Arduino. --- configs/defconfig.esp32s2 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/configs/defconfig.esp32s2 b/configs/defconfig.esp32s2 index e9ff7c4ee..9b25bfafe 100644 --- a/configs/defconfig.esp32s2 +++ b/configs/defconfig.esp32s2 @@ -7,12 +7,11 @@ CONFIG_ESP32S2_KEEP_USB_ALIVE=y # CONFIG_USE_MULTINET is not set CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=n -# ULP Setting for IDF 4.x -CONFIG_ESP32S2_ULP_COPROC_ENABLED=y + # ULP Setting for IDF 5.x CONFIG_ULP_COPROC_ENABLED=y # end of ULP COPROC_ENABLE -# Is it FSM or RISCV exclusively? +# Choose FSM or RISCV exclusively! Never both. CONFIG_ULP_COPROC_TYPE_FSM=y # CONFIG_ULP_COPROC_TYPE_RISCV=y CONFIG_ULP_COPROC_RESERVE_MEM=4096 From c0924e2c61341db5ac00af24a38f8eb133861c54 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 6 May 2024 15:53:15 -0300 Subject: [PATCH 12/12] Pick FSM ULP for Arduino --- configs/defconfig.esp32s3 | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/configs/defconfig.esp32s3 b/configs/defconfig.esp32s3 index e102eabe6..463e145b3 100644 --- a/configs/defconfig.esp32s3 +++ b/configs/defconfig.esp32s3 @@ -9,12 +9,11 @@ CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO=y CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=3120 CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=n -# ULP Setting for IDF 4.x -CONFIG_ESP32S3_ULP_COPROC_ENABLED=y + # ULP Setting for IDF 5.x CONFIG_ULP_COPROC_ENABLED=y -# end of ULP COPROC_ENABLE -# Is it FSM or RISCV exclusively? +# end of ULP COPROC_ENABLE +# Choose FSM or RISCV exclusively! Never both. CONFIG_ULP_COPROC_TYPE_FSM=y # CONFIG_ULP_COPROC_TYPE_RISCV=y CONFIG_ULP_COPROC_RESERVE_MEM=4096