diff --git a/tests/drivers/spi/spi_loopback/overlay-mcux-dspi-dma.conf b/tests/drivers/spi/spi_loopback/overlay-mcux-dspi-dma.conf new file mode 100644 index 00000000000..333b269a9ae --- /dev/null +++ b/tests/drivers/spi/spi_loopback/overlay-mcux-dspi-dma.conf @@ -0,0 +1,5 @@ +# enable DMA mode +CONFIG_DMA=y +CONFIG_DSPI_MCUX_EDMA=y +CONFIG_MCUX_DSPI_BUFFER_SIZE=144 +CONFIG_SPI_LOOPBACK_FAST_FREQ=1000000 diff --git a/tests/drivers/spi/spi_loopback/src/spi.c b/tests/drivers/spi/spi_loopback/src/spi.c index db450f50f7d..d970090253e 100644 --- a/tests/drivers/spi/spi_loopback/src/spi.c +++ b/tests/drivers/spi/spi_loopback/src/spi.c @@ -430,6 +430,11 @@ static int spi_rx_every_4(const struct device *dev, return 0; } + if (IS_ENABLED(CONFIG_DSPI_MCUX_EDMA)) { + LOG_INF("Skip every 4"); + return 0; + } + LOG_INF("Start every 4"); (void)memset(buffer_rx, 0, BUF_SIZE); diff --git a/tests/drivers/spi/spi_loopback/testcase.yaml b/tests/drivers/spi/spi_loopback/testcase.yaml index ca2ea30f32a..08841e4637e 100644 --- a/tests/drivers/spi/spi_loopback/testcase.yaml +++ b/tests/drivers/spi/spi_loopback/testcase.yaml @@ -10,3 +10,10 @@ tests: fixture: spi_loopback driver.spi.loopback.internal: filter: CONFIG_SPI_LOOPBACK_MODE_LOOP + drivers.mcux_dspi_dma.loopback: + tags: dma + harness: ztest + extra_args: OVERLAY_CONFIG="overlay-mcux-dspi-dma.conf" + harness_config: + fixture: spi_loopback + platform_allow: frdm_k64f