From 3e9e69a135ed899d32563fc9fc6792a3126bd1f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20M=C3=BAdry?= Date: Thu, 13 Aug 2026 16:30:13 +0200 Subject: [PATCH] fix(storage): Re-enable SDMMC related tests for P4 --- examples/storage/.build-test-rules.yml | 4 ---- examples/storage/perf_benchmark/main/Kconfig.projbuild | 4 ++++ .../storage/perf_benchmark/pytest_perf_benchmark_example.py | 4 ++-- examples/storage/perf_benchmark/sdkconfig.ci.sdspi_1line | 4 ++++ 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/examples/storage/.build-test-rules.yml b/examples/storage/.build-test-rules.yml index 90da0c31f99..13f3f1cf3f9 100644 --- a/examples/storage/.build-test-rules.yml +++ b/examples/storage/.build-test-rules.yml @@ -65,10 +65,6 @@ examples/storage/perf_benchmark: - if: IDF_TARGET in ["esp32h21", "esp32h4"] temporary: true reason: not supported yet # TODO: [esp32h21] IDF-11609 [ESP32H4] IDF-12388 - disable_test: - - if: IDF_TARGET == "esp32p4" and CONFIG_NAME in ["sdmmc_1line", "sdmmc_4line", "sdspi_1line"] - temporary: true - reason: lack of runners, build only # TODO: IDF-8970 examples/storage/sd_card/sdmmc: depends_components: diff --git a/examples/storage/perf_benchmark/main/Kconfig.projbuild b/examples/storage/perf_benchmark/main/Kconfig.projbuild index 227d9309121..cf613093d67 100644 --- a/examples/storage/perf_benchmark/main/Kconfig.projbuild +++ b/examples/storage/perf_benchmark/main/Kconfig.projbuild @@ -250,6 +250,7 @@ menu "Performance Benchmark Example Configuration" default 35 if IDF_TARGET_ESP32S2 default 35 if IDF_TARGET_ESP32S3 default 5 if IDF_TARGET_ESP32H2 + default 36 if IDF_TARGET_ESP32P4 default 4 # C3 and others config EXAMPLE_PIN_MISO @@ -258,6 +259,7 @@ menu "Performance Benchmark Example Configuration" default 37 if IDF_TARGET_ESP32S2 default 37 if IDF_TARGET_ESP32S3 default 0 if IDF_TARGET_ESP32H2 + default 47 if IDF_TARGET_ESP32P4 default 6 # C3 and others config EXAMPLE_PIN_CLK @@ -266,6 +268,7 @@ menu "Performance Benchmark Example Configuration" default 36 if IDF_TARGET_ESP32S2 default 36 if IDF_TARGET_ESP32S3 default 4 if IDF_TARGET_ESP32H2 + default 53 if IDF_TARGET_ESP32P4 default 5 # C3 and others config EXAMPLE_PIN_CS @@ -273,6 +276,7 @@ menu "Performance Benchmark Example Configuration" default 13 if IDF_TARGET_ESP32 default 34 if IDF_TARGET_ESP32S2 default 34 if IDF_TARGET_ESP32S3 + default 33 if IDF_TARGET_ESP32P4 default 1 # C3 and others endif # EXAMPLE_USE_SDSPI diff --git a/examples/storage/perf_benchmark/pytest_perf_benchmark_example.py b/examples/storage/perf_benchmark/pytest_perf_benchmark_example.py index 0bc063c15a7..facff511f17 100644 --- a/examples/storage/perf_benchmark/pytest_perf_benchmark_example.py +++ b/examples/storage/perf_benchmark/pytest_perf_benchmark_example.py @@ -35,7 +35,7 @@ def test_examples_perf_benchmark_spiflash(dut: Dut) -> None: ], indirect=True, ) -@idf_parametrize('target', ['esp32'], indirect=['target']) +@idf_parametrize('target', ['esp32', 'esp32p4'], indirect=['target']) def test_examples_perf_benchmark_sdcard_sdmmc(dut: Dut) -> None: # SD card dut.expect('example: Mounting SD card - raw access', timeout=10) @@ -59,7 +59,7 @@ def test_examples_perf_benchmark_sdcard_sdmmc(dut: Dut) -> None: ], indirect=True, ) -@idf_parametrize('target', ['esp32', 'esp32c3', 'esp32s2', 'esp32c5'], indirect=['target']) +@idf_parametrize('target', ['esp32', 'esp32c3', 'esp32s2', 'esp32c5', 'esp32p4'], indirect=['target']) def test_examples_perf_benchmark_sdcard_spi(dut: Dut) -> None: # SD card dut.expect('example: Mounting SD card - raw access', timeout=10) diff --git a/examples/storage/perf_benchmark/sdkconfig.ci.sdspi_1line b/examples/storage/perf_benchmark/sdkconfig.ci.sdspi_1line index ac60b59671f..b0a094d509d 100644 --- a/examples/storage/perf_benchmark/sdkconfig.ci.sdspi_1line +++ b/examples/storage/perf_benchmark/sdkconfig.ci.sdspi_1line @@ -13,3 +13,7 @@ CONFIG_EXAMPLE_TEST_SPIFLASH=n CONFIG_EXAMPLE_TEST_SD_CARD=y CONFIG_EXAMPLE_USE_SDSPI=y CONFIG_EXAMPLE_USE_SDMMC=n + +# The SD slot used for SPI mode is wired to the board with jump wires and is +# powered externally, not from the on-chip LDO used by the SDMMC slot. +CONFIG_EXAMPLE_SD_PWR_CTRL_LDO_INTERNAL_IO=n