From 347a3f71a6d98a61ba646ccab171fb575c35324c Mon Sep 17 00:00:00 2001 From: morris Date: Mon, 25 May 2026 23:50:58 +0800 Subject: [PATCH] test(dma): reenable unit test for esp32p4 rev1 targets --- .../test_apps/dma/main/test_gdma_crc.c | 10 ++++----- .../test_apps/dma/pytest_dma.py | 22 +++++++++++++++---- .../test_apps/dma/sdkconfig.ci.esp32p4_rev1 | 6 +++++ .../test_apps/dma2d/pytest_dma2d.py | 14 ++++++++++++ .../test_apps/dma2d/sdkconfig.ci.esp32p4_rev1 | 6 +++++ 5 files changed, 49 insertions(+), 9 deletions(-) create mode 100644 components/esp_hw_support/test_apps/dma/sdkconfig.ci.esp32p4_rev1 create mode 100644 components/esp_hw_support/test_apps/dma2d/sdkconfig.ci.esp32p4_rev1 diff --git a/components/esp_hw_support/test_apps/dma/main/test_gdma_crc.c b/components/esp_hw_support/test_apps/dma/main/test_gdma_crc.c index eaf2b278536..bdc55e421bd 100644 --- a/components/esp_hw_support/test_apps/dma/main/test_gdma_crc.c +++ b/components/esp_hw_support/test_apps/dma/main/test_gdma_crc.c @@ -33,28 +33,28 @@ static test_crc_case_t crc_test_cases[] = { .crc_bit_width = 8, .init_value = 0x00, .poly_hex = 0x07, - .expected_result = 0xB8, + .expected_result = 0x1C, }, [1] = { .crc_bit_width = 8, .init_value = 0x00, .poly_hex = 0x07, .reverse_data_mask = true, // refin = true - .expected_result = 0xF0, + .expected_result = 0xB9, }, // CRC16, x^16+x^12+x^5+1 [2] = { .crc_bit_width = 16, .init_value = 0xFFFF, .poly_hex = 0x1021, - .expected_result = 0xA9B2, + .expected_result = 0x7563, }, // CRC32, x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1 [3] = { .crc_bit_width = 32, .init_value = 0xFFFFFFFF, .poly_hex = 0x04C11DB7, - .expected_result = 0x692F6C7E, + .expected_result = 0x069A43E6, } }; @@ -70,7 +70,7 @@ static void test_gdma_crc_calculation(gdma_channel_handle_t tx_chan, int test_nu uint32_t crc_result = 0; - static const char test_input_string[] __attribute__((aligned(SOC_MEMSPI_ENCRYPTION_ALIGNMENT))) = "GDMACRC Share::Connect::Innovate"; + static const char test_input_string[] __attribute__((aligned(SOC_MEMSPI_ENCRYPTION_ALIGNMENT))) = "GDMACRC::TEST::X"; size_t input_data_size = strlen(test_input_string); TEST_ASSERT_EQUAL((uintptr_t)test_input_string % SOC_MEMSPI_ENCRYPTION_ALIGNMENT, 0); diff --git a/components/esp_hw_support/test_apps/dma/pytest_dma.py b/components/esp_hw_support/test_apps/dma/pytest_dma.py index 40f8b86c972..56d68cc45f3 100644 --- a/components/esp_hw_support/test_apps/dma/pytest_dma.py +++ b/components/esp_hw_support/test_apps/dma/pytest_dma.py @@ -19,7 +19,21 @@ from pytest_embedded_idf.utils import idf_parametrize indirect=['target'], ) def test_dma(dut: Dut) -> None: - dut.run_all_single_board_cases(reset=True) + dut.run_all_single_board_cases() + + +@pytest.mark.generic +@pytest.mark.esp32p4_rev1 +@pytest.mark.parametrize( + 'config', + [ + 'esp32p4_rev1', + ], + indirect=True, +) +@idf_parametrize('target', ['esp32p4'], indirect=['target']) +def test_dma_esp32p4_rev1(dut: Dut) -> None: + dut.run_all_single_board_cases() @pytest.mark.octal_psram @@ -32,7 +46,7 @@ def test_dma(dut: Dut) -> None: ) @idf_parametrize('target', ['esp32s3'], indirect=['target']) def test_dma_psram(dut: Dut) -> None: - dut.run_all_single_board_cases(reset=True) + dut.run_all_single_board_cases() @pytest.mark.flash_encryption @@ -45,7 +59,7 @@ def test_dma_psram(dut: Dut) -> None: ) @idf_parametrize('target', ['esp32p4', 'esp32c5'], indirect=['target']) def test_dma_flash_encryption(dut: Dut) -> None: - dut.run_all_single_board_cases(reset=True) + dut.run_all_single_board_cases() @pytest.mark.flash_encryption_f4r8 @@ -58,4 +72,4 @@ def test_dma_flash_encryption(dut: Dut) -> None: ) @idf_parametrize('target', ['esp32s3'], indirect=['target']) def test_dma_flash_encryption_s3_f4r8(dut: Dut) -> None: - dut.run_all_single_board_cases(reset=True) + dut.run_all_single_board_cases() diff --git a/components/esp_hw_support/test_apps/dma/sdkconfig.ci.esp32p4_rev1 b/components/esp_hw_support/test_apps/dma/sdkconfig.ci.esp32p4_rev1 new file mode 100644 index 00000000000..d0fb3a327e7 --- /dev/null +++ b/components/esp_hw_support/test_apps/dma/sdkconfig.ci.esp32p4_rev1 @@ -0,0 +1,6 @@ +CONFIG_IDF_TARGET="esp32p4" +CONFIG_ESP32P4_SELECTS_REV_LESS_V3=y + +CONFIG_SPIRAM=y +CONFIG_SPIRAM_MODE_HEX=y +CONFIG_SPIRAM_SPEED_200M=y diff --git a/components/esp_hw_support/test_apps/dma2d/pytest_dma2d.py b/components/esp_hw_support/test_apps/dma2d/pytest_dma2d.py index abafb1133a0..7f8701e5e4d 100644 --- a/components/esp_hw_support/test_apps/dma2d/pytest_dma2d.py +++ b/components/esp_hw_support/test_apps/dma2d/pytest_dma2d.py @@ -18,6 +18,20 @@ def test_dma2d(dut: Dut) -> None: dut.run_all_single_board_cases() +@pytest.mark.generic +@pytest.mark.esp32p4_rev1 +@pytest.mark.parametrize( + 'config', + [ + 'esp32p4_rev1', + ], + indirect=True, +) +@idf_parametrize('target', ['esp32p4'], indirect=['target']) +def test_dma2d_esp32p4_rev1(dut: Dut) -> None: + dut.run_all_single_board_cases() + + @pytest.mark.flash_encryption @pytest.mark.parametrize( 'config', diff --git a/components/esp_hw_support/test_apps/dma2d/sdkconfig.ci.esp32p4_rev1 b/components/esp_hw_support/test_apps/dma2d/sdkconfig.ci.esp32p4_rev1 new file mode 100644 index 00000000000..d0fb3a327e7 --- /dev/null +++ b/components/esp_hw_support/test_apps/dma2d/sdkconfig.ci.esp32p4_rev1 @@ -0,0 +1,6 @@ +CONFIG_IDF_TARGET="esp32p4" +CONFIG_ESP32P4_SELECTS_REV_LESS_V3=y + +CONFIG_SPIRAM=y +CONFIG_SPIRAM_MODE_HEX=y +CONFIG_SPIRAM_SPEED_200M=y