From e1e02cae0c6ae0cbc4dc005ef75e2becc61b5c1d Mon Sep 17 00:00:00 2001 From: Marius Vikhammer Date: Wed, 4 Sep 2024 11:24:35 +0800 Subject: [PATCH 1/3] feat(system): enable WDT support on esp32c61 --- components/esp_rom/test_apps/rom_impl_components/README.md | 4 ++-- components/hal/esp32c61/include/hal/mwdt_ll.h | 2 -- components/soc/esp32c5/include/soc/soc_caps.h | 2 +- components/soc/esp32c61/include/soc/Kconfig.soc_caps.in | 4 ++++ components/soc/esp32c61/include/soc/soc_caps.h | 4 ++-- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/components/esp_rom/test_apps/rom_impl_components/README.md b/components/esp_rom/test_apps/rom_impl_components/README.md index 3a502b1f86..7b96141437 100644 --- a/components/esp_rom/test_apps/rom_impl_components/README.md +++ b/components/esp_rom/test_apps/rom_impl_components/README.md @@ -1,2 +1,2 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | -------- | -------- | diff --git a/components/hal/esp32c61/include/hal/mwdt_ll.h b/components/hal/esp32c61/include/hal/mwdt_ll.h index 39431442ee..706f23bdf9 100644 --- a/components/hal/esp32c61/include/hal/mwdt_ll.h +++ b/components/hal/esp32c61/include/hal/mwdt_ll.h @@ -24,8 +24,6 @@ extern "C" { #include "esp_assert.h" #include "hal/misc.h" -// TODO: [ESP32C61] IDF-9257, inherit from c6 - /* Pre-calculated prescaler to achieve 500 ticks/us (MWDT1_TICKS_PER_US) when using default clock (MWDT_CLK_SRC_DEFAULT ) */ #define MWDT_LL_DEFAULT_CLK_PRESCALER 20000 diff --git a/components/soc/esp32c5/include/soc/soc_caps.h b/components/soc/esp32c5/include/soc/soc_caps.h index 0471d82bf1..2086ab896d 100644 --- a/components/soc/esp32c5/include/soc/soc_caps.h +++ b/components/soc/esp32c5/include/soc/soc_caps.h @@ -67,7 +67,7 @@ #define SOC_LP_I2C_SUPPORTED 1 #define SOC_ULP_LP_UART_SUPPORTED 1 #define SOC_CLK_TREE_SUPPORTED 1 -// #define SOC_ASSIST_DEBUG_SUPPORTED 1 // TODO: [ESP32C5] IDF-8663 +// #define SOC_ASSIST_DEBUG_SUPPORTED 1 // TODO: [ESP32C5] IDF-8662 #define SOC_WDT_SUPPORTED 1 #define SOC_SPI_FLASH_SUPPORTED 1 // TODO: [ESP32C5] IDF-8715 // #define SOC_BITSCRAMBLER_SUPPORTED 1 // TODO: [ESP32C5] IDF-8711 diff --git a/components/soc/esp32c61/include/soc/Kconfig.soc_caps.in b/components/soc/esp32c61/include/soc/Kconfig.soc_caps.in index ea4d47d64f..3dfb234872 100644 --- a/components/soc/esp32c61/include/soc/Kconfig.soc_caps.in +++ b/components/soc/esp32c61/include/soc/Kconfig.soc_caps.in @@ -103,6 +103,10 @@ config SOC_CLK_TREE_SUPPORTED bool default y +config SOC_WDT_SUPPORTED + bool + default y + config SOC_SPI_FLASH_SUPPORTED bool default y diff --git a/components/soc/esp32c61/include/soc/soc_caps.h b/components/soc/esp32c61/include/soc/soc_caps.h index 3980dedbcb..09a250f08e 100644 --- a/components/soc/esp32c61/include/soc/soc_caps.h +++ b/components/soc/esp32c61/include/soc/soc_caps.h @@ -53,8 +53,8 @@ // \#define SOC_LP_AON_SUPPORTED 1 // \#define SOC_LP_PERIPHERALS_SUPPORTED 1 #define SOC_CLK_TREE_SUPPORTED 1 -// \#define SOC_ASSIST_DEBUG_SUPPORTED 1 //TODO: [ESP32C61] IDF-9270 -// \#define SOC_WDT_SUPPORTED 1 //TODO: [ESP32C61] IDF-9257 +// \#define SOC_ASSIST_DEBUG_SUPPORTED 1 //TODO: [ESP32C61] IDF-9269 +#define SOC_WDT_SUPPORTED 1 #define SOC_SPI_FLASH_SUPPORTED 1 //TODO: [ESP32C61] IDF-9314 // \#define SOC_RNG_SUPPORTED 1 //TODO: [ESP32C61] IDF-9236 #define SOC_MODEM_CLOCK_SUPPORTED 1 From b93e2a6915dda4017415014b2177462231793dab Mon Sep 17 00:00:00 2001 From: Marius Vikhammer Date: Wed, 4 Sep 2024 11:42:32 +0800 Subject: [PATCH 2/3] test(intr): fix intr dump test for C61 and re-enable it --- tools/test_apps/system/.build-test-rules.yml | 4 --- .../expected_output/esp32c61.txt | 36 +++++++++++++++++++ .../esp_intr_dump/pytest_esp_intr_dump.py | 1 - 3 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 tools/test_apps/system/esp_intr_dump/expected_output/esp32c61.txt diff --git a/tools/test_apps/system/.build-test-rules.yml b/tools/test_apps/system/.build-test-rules.yml index 2ba0ae1788..00bd70230e 100644 --- a/tools/test_apps/system/.build-test-rules.yml +++ b/tools/test_apps/system/.build-test-rules.yml @@ -29,10 +29,6 @@ tools/test_apps/system/eh_frame: reason: Only relevant for riscv targets tools/test_apps/system/esp_intr_dump: - disable_test: - - if: IDF_TARGET in ["esp32c61"] - temporary: true - reason: test failed # TODO: IDF-10957 tools/test_apps/system/g0_components: enable: diff --git a/tools/test_apps/system/esp_intr_dump/expected_output/esp32c61.txt b/tools/test_apps/system/esp_intr_dump/expected_output/esp32c61.txt new file mode 100644 index 0000000000..d53d681211 --- /dev/null +++ b/tools/test_apps/system/esp_intr_dump/expected_output/esp32c61.txt @@ -0,0 +1,36 @@ +CPU 0 interrupt status: + Int Level Type Status + 0 1 Level Shared: LP_RTC_TIMER + 1 * * Reserved + 2 1 Level Used: CPU_FROM_CPU_0 + 3 1 Level Used: SYSTIMER_TARGET0 + 4 1 Level Used: TG0_WDT + 5 1 Level Used: UART0 + 6 * * Reserved + 7 * * Free + 8 * * Free + 9 * * Free + 10 * * Free + 11 * * Free + 12 * * Free + 13 * * Free + 14 * * Free + 15 * * Free + 16 * * Free + 17 * * Free + 18 * * Free + 19 * * Free + 20 * * Free + 21 * * Free + 22 * * Free + 23 * * Free + 24 * * Reserved + 25 * * Reserved + 26 * * Free + 27 * * Free + 28 * * Free + 29 * * Free + 30 * * Free + 31 * * Free +Interrupts available for general use: 23 +Shared interrupts: 1 diff --git a/tools/test_apps/system/esp_intr_dump/pytest_esp_intr_dump.py b/tools/test_apps/system/esp_intr_dump/pytest_esp_intr_dump.py index 846f903011..9beab78984 100644 --- a/tools/test_apps/system/esp_intr_dump/pytest_esp_intr_dump.py +++ b/tools/test_apps/system/esp_intr_dump/pytest_esp_intr_dump.py @@ -48,7 +48,6 @@ def test_esp_intr_dump_shared(dut: Dut) -> None: # TODO: IDF-9512, Update the expected output of dual core RISC-V chips when the issue is resolved @pytest.mark.supported_targets -@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='test case fail') # TODO: IDF-10957 @pytest.mark.generic def test_esp_intr_dump_expected_output(dut: Dut) -> None: dut.expect_exact(PROMPT, timeout=30) From 40352943e3d4cf4554952bf9413c5099c9170252 Mon Sep 17 00:00:00 2001 From: Marius Vikhammer Date: Wed, 4 Sep 2024 11:48:06 +0800 Subject: [PATCH 3/3] ci(system): re-enable system test app for C61 --- .../rom_impl_components/pytest_esp_rom_impl_components.py | 1 - .../esp_system_unity_tests/pytest_esp_system_unity_tests.py | 1 - components/newlib/test_apps/.build-test-rules.yml | 4 ---- components/newlib/test_apps/newlib/README.md | 4 ++-- components/newlib/test_apps/newlib/pytest_newlib.py | 1 - 5 files changed, 2 insertions(+), 9 deletions(-) diff --git a/components/esp_rom/test_apps/rom_impl_components/pytest_esp_rom_impl_components.py b/components/esp_rom/test_apps/rom_impl_components/pytest_esp_rom_impl_components.py index 275b2b7447..a400d9e69b 100644 --- a/components/esp_rom/test_apps/rom_impl_components/pytest_esp_rom_impl_components.py +++ b/components/esp_rom/test_apps/rom_impl_components/pytest_esp_rom_impl_components.py @@ -5,7 +5,6 @@ from pytest_embedded import Dut @pytest.mark.supported_targets -@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='support TBD') # TODO [ESP32C61] IDF-9257 IDF10986 @pytest.mark.generic @pytest.mark.parametrize( 'config', diff --git a/components/esp_system/test_apps/esp_system_unity_tests/pytest_esp_system_unity_tests.py b/components/esp_system/test_apps/esp_system_unity_tests/pytest_esp_system_unity_tests.py index 866d57f0af..03c3ba980b 100644 --- a/components/esp_system/test_apps/esp_system_unity_tests/pytest_esp_system_unity_tests.py +++ b/components/esp_system/test_apps/esp_system_unity_tests/pytest_esp_system_unity_tests.py @@ -5,7 +5,6 @@ from pytest_embedded import Dut @pytest.mark.generic -@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='test case fail') # TODO: IDF-10954 @pytest.mark.parametrize( 'config', [ diff --git a/components/newlib/test_apps/.build-test-rules.yml b/components/newlib/test_apps/.build-test-rules.yml index bbd175f8a1..8383b02ebc 100644 --- a/components/newlib/test_apps/.build-test-rules.yml +++ b/components/newlib/test_apps/.build-test-rules.yml @@ -1,7 +1,3 @@ # Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps components/newlib/test_apps/newlib: - disable: - - if: IDF_TARGET in ["esp32c61"] - temporary: true - reason: not supported yet # TODO: [esp32c61] IDF-9284 diff --git a/components/newlib/test_apps/newlib/README.md b/components/newlib/test_apps/newlib/README.md index 3a502b1f86..7b96141437 100644 --- a/components/newlib/test_apps/newlib/README.md +++ b/components/newlib/test_apps/newlib/README.md @@ -1,2 +1,2 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | -------- | -------- | diff --git a/components/newlib/test_apps/newlib/pytest_newlib.py b/components/newlib/test_apps/newlib/pytest_newlib.py index 615ec1589a..78c01517d5 100644 --- a/components/newlib/test_apps/newlib/pytest_newlib.py +++ b/components/newlib/test_apps/newlib/pytest_newlib.py @@ -31,7 +31,6 @@ def validate_sbom(dut: Dut) -> None: @pytest.mark.generic -@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='support TBD') # TODO [esp32c61] IDF-9284 IDF-10990 @pytest.mark.parametrize( 'config', [