Merge branch 'srmao/esp_driver_dma_esp32p4_rev1_tests_v6.0' into 'release/v6.0'

test(esp_driver_dma): add esp32p4 rev1 test apps (v6.0)

See merge request espressif/esp-idf!48942
This commit is contained in:
morris
2026-06-29 10:07:35 +08:00
5 changed files with 50 additions and 10 deletions
@@ -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);
@@ -20,7 +20,21 @@ from pytest_embedded_idf.utils import soc_filtered_targets
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
@@ -33,7 +47,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.generic
@@ -46,7 +60,7 @@ def test_dma_psram(dut: Dut) -> None:
)
@idf_parametrize('target', soc_filtered_targets('SOC_GDMA_SUPPORT_WEIGHTED_ARBITRATION == 1'), indirect=['target'])
def test_dma_weighted_arbitration(dut: Dut) -> None:
dut.run_all_single_board_cases(reset=True)
dut.run_all_single_board_cases()
@pytest.mark.flash_encryption
@@ -59,7 +73,7 @@ def test_dma_weighted_arbitration(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
@@ -72,4 +86,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()
@@ -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
@@ -19,6 +19,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',
@@ -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