From 0aeb69ee8c87e6a8d16fd8e3d1172348b240e2fc Mon Sep 17 00:00:00 2001 From: Daniel DeGrasse Date: Mon, 1 Nov 2021 14:56:56 -0500 Subject: [PATCH] boards: mimxrt10xx: Added support for LPSPI DMA on RT10xx series Add support for LPSPI DMA mode on RT1064, RT1060, RT1050, RT1024, RT1020, RT1015, and RT1010 evaluation boards. Update tests to match. Signed-off-by: Daniel DeGrasse --- boards/arm/mimxrt1010_evk/mimxrt1010_evk.dts | 3 +++ boards/arm/mimxrt1015_evk/mimxrt1015_evk.dts | 3 +++ boards/arm/mimxrt1020_evk/mimxrt1020_evk.dts | 3 +++ boards/arm/mimxrt1024_evk/mimxrt1024_evk.dts | 3 +++ boards/arm/mimxrt1050_evk/mimxrt1050_evk.dts | 6 ++++++ boards/arm/mimxrt1060_evk/mimxrt1060_evk.dts | 6 ++++++ boards/arm/mimxrt1064_evk/mimxrt1064_evk.dts | 6 ++++++ tests/drivers/spi/spi_loopback/boards/mimxrt1010_evk.conf | 2 ++ tests/drivers/spi/spi_loopback/boards/mimxrt1015_evk.conf | 2 ++ tests/drivers/spi/spi_loopback/boards/mimxrt1020_evk.conf | 2 ++ tests/drivers/spi/spi_loopback/boards/mimxrt1024_evk.conf | 2 ++ tests/drivers/spi/spi_loopback/boards/mimxrt1050_evk.conf | 2 ++ tests/drivers/spi/spi_loopback/boards/mimxrt1060_evk.conf | 2 ++ tests/drivers/spi/spi_loopback/boards/mimxrt1064_evk.conf | 2 ++ 14 files changed, 44 insertions(+) diff --git a/boards/arm/mimxrt1010_evk/mimxrt1010_evk.dts b/boards/arm/mimxrt1010_evk/mimxrt1010_evk.dts index 3e443d7b55a..7d14c6062b8 100644 --- a/boards/arm/mimxrt1010_evk/mimxrt1010_evk.dts +++ b/boards/arm/mimxrt1010_evk/mimxrt1010_evk.dts @@ -67,6 +67,9 @@ arduino_serial: &lpuart1 {}; &lpspi1 { status = "okay"; + /* DMA channels 0 and 1, muxed to LPSPI1 RX and TX */ + dmas = <&edma0 0 13>, <&edma0 1 14>; + dma-names = "rx", "tx"; }; zephyr_udc0: &usb1 { diff --git a/boards/arm/mimxrt1015_evk/mimxrt1015_evk.dts b/boards/arm/mimxrt1015_evk/mimxrt1015_evk.dts index fe66b27d91a..1c6a30dc2bc 100644 --- a/boards/arm/mimxrt1015_evk/mimxrt1015_evk.dts +++ b/boards/arm/mimxrt1015_evk/mimxrt1015_evk.dts @@ -96,6 +96,9 @@ arduino_serial: &lpuart4 {}; &lpspi1 { status = "okay"; + /* DMA channels 0 and 1, muxed to LPSPI1 RX and TX */ + dmas = <&edma0 0 13>, <&edma0 1 14>; + dma-names = "rx", "tx"; }; zephyr_udc0: &usb1 { diff --git a/boards/arm/mimxrt1020_evk/mimxrt1020_evk.dts b/boards/arm/mimxrt1020_evk/mimxrt1020_evk.dts index ff8efcdfa24..434a0e92e4d 100644 --- a/boards/arm/mimxrt1020_evk/mimxrt1020_evk.dts +++ b/boards/arm/mimxrt1020_evk/mimxrt1020_evk.dts @@ -140,6 +140,9 @@ arduino_serial: &lpuart2 {}; &lpspi1 { status = "okay"; + /* DMA channels 0 and 1, muxed to LPSPI1 RX and TX */ + dmas = <&edma0 0 13>, <&edma0 1 14>; + dma-names = "rx", "tx"; }; &enet { diff --git a/boards/arm/mimxrt1024_evk/mimxrt1024_evk.dts b/boards/arm/mimxrt1024_evk/mimxrt1024_evk.dts index a9cd2a93ca6..8d07f1769f5 100644 --- a/boards/arm/mimxrt1024_evk/mimxrt1024_evk.dts +++ b/boards/arm/mimxrt1024_evk/mimxrt1024_evk.dts @@ -119,6 +119,9 @@ &lpspi1 { status = "okay"; + /* DMA channels 0 and 1, muxed to LPSPI1 RX and TX */ + dmas = <&edma0 0 13>, <&edma0 1 14>; + dma-names = "rx", "tx"; }; &adc1 { diff --git a/boards/arm/mimxrt1050_evk/mimxrt1050_evk.dts b/boards/arm/mimxrt1050_evk/mimxrt1050_evk.dts index 28f4db919f5..bede327827c 100644 --- a/boards/arm/mimxrt1050_evk/mimxrt1050_evk.dts +++ b/boards/arm/mimxrt1050_evk/mimxrt1050_evk.dts @@ -194,10 +194,16 @@ arduino_serial: &lpuart3 {}; &lpspi1 { status = "okay"; + /* DMA channels 0 and 1, muxed to LPSPI1 RX and TX */ + dmas = <&edma0 0 13>, <&edma0 1 14>; + dma-names = "rx", "tx"; }; &lpspi3 { status = "okay"; + /* DMA channels 2 and 3, muxed to LPSPI3 RX and TX */ + dmas = <&edma0 2 15>, <&edma0 3 16>; + dma-names = "rx", "tx"; }; &enet { diff --git a/boards/arm/mimxrt1060_evk/mimxrt1060_evk.dts b/boards/arm/mimxrt1060_evk/mimxrt1060_evk.dts index ea1bba63bb1..f7b90598732 100644 --- a/boards/arm/mimxrt1060_evk/mimxrt1060_evk.dts +++ b/boards/arm/mimxrt1060_evk/mimxrt1060_evk.dts @@ -203,8 +203,14 @@ zephyr_udc0: &usb1 { &lpspi1 { status = "okay"; + /* DMA channels 0 and 1, muxed to LPSPI1 RX and TX */ + dmas = <&edma0 0 13>, <&edma0 1 14>; + dma-names = "rx", "tx"; }; &lpspi3 { status = "okay"; + /* DMA channels 2 and 3, muxed to LPSPI3 RX and TX */ + dmas = <&edma0 2 15>, <&edma0 3 16>; + dma-names = "rx", "tx"; }; diff --git a/boards/arm/mimxrt1064_evk/mimxrt1064_evk.dts b/boards/arm/mimxrt1064_evk/mimxrt1064_evk.dts index ecfe0b8b7c4..39b0004bcaa 100644 --- a/boards/arm/mimxrt1064_evk/mimxrt1064_evk.dts +++ b/boards/arm/mimxrt1064_evk/mimxrt1064_evk.dts @@ -250,10 +250,16 @@ zephyr_udc0: &usb1 { &lpspi1 { status = "okay"; + /* DMA channels 0 and 1, muxed to LPSPI1 RX and TX */ + dmas = <&edma0 0 13>, <&edma0 1 14>; + dma-names = "rx", "tx"; }; &lpspi3 { status = "okay"; + /* DMA channels 2 and 3, muxed to LPSPI3 RX and TX */ + dmas = <&edma0 2 15>, <&edma0 3 16>; + dma-names = "rx", "tx"; }; &adc1 { diff --git a/tests/drivers/spi/spi_loopback/boards/mimxrt1010_evk.conf b/tests/drivers/spi/spi_loopback/boards/mimxrt1010_evk.conf index 8433ea85677..0d0d3c3776e 100644 --- a/tests/drivers/spi/spi_loopback/boards/mimxrt1010_evk.conf +++ b/tests/drivers/spi/spi_loopback/boards/mimxrt1010_evk.conf @@ -5,3 +5,5 @@ # CONFIG_SPI_LOOPBACK_DRV_NAME="SPI_1" +CONFIG_SPI_MCUX_LPSPI_DMA=y +CONFIG_SPI_ASYNC=n diff --git a/tests/drivers/spi/spi_loopback/boards/mimxrt1015_evk.conf b/tests/drivers/spi/spi_loopback/boards/mimxrt1015_evk.conf index 8433ea85677..0d0d3c3776e 100644 --- a/tests/drivers/spi/spi_loopback/boards/mimxrt1015_evk.conf +++ b/tests/drivers/spi/spi_loopback/boards/mimxrt1015_evk.conf @@ -5,3 +5,5 @@ # CONFIG_SPI_LOOPBACK_DRV_NAME="SPI_1" +CONFIG_SPI_MCUX_LPSPI_DMA=y +CONFIG_SPI_ASYNC=n diff --git a/tests/drivers/spi/spi_loopback/boards/mimxrt1020_evk.conf b/tests/drivers/spi/spi_loopback/boards/mimxrt1020_evk.conf index 8433ea85677..0d0d3c3776e 100644 --- a/tests/drivers/spi/spi_loopback/boards/mimxrt1020_evk.conf +++ b/tests/drivers/spi/spi_loopback/boards/mimxrt1020_evk.conf @@ -5,3 +5,5 @@ # CONFIG_SPI_LOOPBACK_DRV_NAME="SPI_1" +CONFIG_SPI_MCUX_LPSPI_DMA=y +CONFIG_SPI_ASYNC=n diff --git a/tests/drivers/spi/spi_loopback/boards/mimxrt1024_evk.conf b/tests/drivers/spi/spi_loopback/boards/mimxrt1024_evk.conf index 8433ea85677..0d0d3c3776e 100644 --- a/tests/drivers/spi/spi_loopback/boards/mimxrt1024_evk.conf +++ b/tests/drivers/spi/spi_loopback/boards/mimxrt1024_evk.conf @@ -5,3 +5,5 @@ # CONFIG_SPI_LOOPBACK_DRV_NAME="SPI_1" +CONFIG_SPI_MCUX_LPSPI_DMA=y +CONFIG_SPI_ASYNC=n diff --git a/tests/drivers/spi/spi_loopback/boards/mimxrt1050_evk.conf b/tests/drivers/spi/spi_loopback/boards/mimxrt1050_evk.conf index 2d0842cf844..e535f7d5762 100644 --- a/tests/drivers/spi/spi_loopback/boards/mimxrt1050_evk.conf +++ b/tests/drivers/spi/spi_loopback/boards/mimxrt1050_evk.conf @@ -5,3 +5,5 @@ # CONFIG_SPI_LOOPBACK_DRV_NAME="SPI_1" +CONFIG_SPI_MCUX_LPSPI_DMA=y +CONFIG_SPI_ASYNC=n diff --git a/tests/drivers/spi/spi_loopback/boards/mimxrt1060_evk.conf b/tests/drivers/spi/spi_loopback/boards/mimxrt1060_evk.conf index 8433ea85677..0d0d3c3776e 100644 --- a/tests/drivers/spi/spi_loopback/boards/mimxrt1060_evk.conf +++ b/tests/drivers/spi/spi_loopback/boards/mimxrt1060_evk.conf @@ -5,3 +5,5 @@ # CONFIG_SPI_LOOPBACK_DRV_NAME="SPI_1" +CONFIG_SPI_MCUX_LPSPI_DMA=y +CONFIG_SPI_ASYNC=n diff --git a/tests/drivers/spi/spi_loopback/boards/mimxrt1064_evk.conf b/tests/drivers/spi/spi_loopback/boards/mimxrt1064_evk.conf index 8433ea85677..0d0d3c3776e 100644 --- a/tests/drivers/spi/spi_loopback/boards/mimxrt1064_evk.conf +++ b/tests/drivers/spi/spi_loopback/boards/mimxrt1064_evk.conf @@ -5,3 +5,5 @@ # CONFIG_SPI_LOOPBACK_DRV_NAME="SPI_1" +CONFIG_SPI_MCUX_LPSPI_DMA=y +CONFIG_SPI_ASYNC=n