From ba462bbb7445d02a596e7e15bf2e310220657ef5 Mon Sep 17 00:00:00 2001 From: Daniel DeGrasse Date: Mon, 8 Nov 2021 11:25:37 -0600 Subject: [PATCH] boards: mimxrt1070_evk_cm7: Enable DMA controller on RT1170 EVK DMA controller is enabled and tested for cortex M7 core. The M7 core was tested on the loop and channel link transfer tests. Signed-off-by: Daniel DeGrasse --- boards/arm/mimxrt1170_evk/doc/index.rst | 2 ++ boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.dts | 4 ++++ boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.yaml | 1 + dts/arm/nxp/nxp_rt1170_cm4.dtsi | 10 +++++----- dts/arm/nxp/nxp_rt1170_cm7.dtsi | 4 ++-- tests/drivers/dma/chan_link_transfer/testcase.yaml | 4 ++-- 6 files changed, 16 insertions(+), 9 deletions(-) diff --git a/boards/arm/mimxrt1170_evk/doc/index.rst b/boards/arm/mimxrt1170_evk/doc/index.rst index 4fbe85407b..6f2f171c15 100644 --- a/boards/arm/mimxrt1170_evk/doc/index.rst +++ b/boards/arm/mimxrt1170_evk/doc/index.rst @@ -111,6 +111,8 @@ features: | UART | on-chip | serial port-polling; | | | | serial port-interrupt | +-----------+------------+-------------------------------------+ +| DMA | on-chip | dma | ++-----------+------------+-------------------------------------+ The default configuration can be found in the defconfig file: ``boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7_defconfig`` diff --git a/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.dts b/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.dts index 553853cce7..dd82ea6756 100644 --- a/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.dts +++ b/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.dts @@ -69,3 +69,7 @@ detect-dat3; pwr-gpios = <&gpio10 2 GPIO_ACTIVE_LOW>; }; + +&edma0 { + status = "okay"; +}; diff --git a/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.yaml b/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.yaml index 2f10ae55f0..f8971fd411 100644 --- a/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.yaml +++ b/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.yaml @@ -22,3 +22,4 @@ supported: - adc - i2c - pwm + - dma diff --git a/dts/arm/nxp/nxp_rt1170_cm4.dtsi b/dts/arm/nxp/nxp_rt1170_cm4.dtsi index 655725dd0a..46f25c2d78 100644 --- a/dts/arm/nxp/nxp_rt1170_cm4.dtsi +++ b/dts/arm/nxp/nxp_rt1170_cm4.dtsi @@ -52,18 +52,18 @@ #gpio-cells = <2>; }; - edma1: dma-controller@40c14000 { + edma_lpsr0: dma-controller@40c14000 { #dma-cells = <2>; compatible = "nxp,mcux-edma"; dma-channels = <32>; - dma-requests = <128>; + dma-requests = <208>; nxp,mem2mem; nxp,a_on; reg = <0x40c14000 0x4000>, - <0x400c1800 0x4000>; - clocks = <&ccm IMX_CCM_EDMA_CLK 0x7C 0x000000C0>; + <0x40c18000 0x4000>; + clocks = <&ccm IMX_CCM_EDMA_LPSR_CLK 0x7C 0x000000C0>; status = "disabled"; - label = "EDMA1"; + label = "DMA_0"; interrupts = <0 0>, <1 0>, <2 0>, <3 0>, <4 0>, <5 0>, <6 0>, <7 0>, <8 0>, <9 0>, <10 0>, <11 0>, diff --git a/dts/arm/nxp/nxp_rt1170_cm7.dtsi b/dts/arm/nxp/nxp_rt1170_cm7.dtsi index c235bba12e..d9ae10bc79 100644 --- a/dts/arm/nxp/nxp_rt1170_cm7.dtsi +++ b/dts/arm/nxp/nxp_rt1170_cm7.dtsi @@ -63,14 +63,14 @@ #dma-cells = <2>; compatible = "nxp,mcux-edma"; dma-channels = <32>; - dma-requests = <128>; + dma-requests = <208>; nxp,mem2mem; nxp,a_on; reg = <0x40070000 0x4000>, <0x40074000 0x4000>; clocks = <&ccm IMX_CCM_EDMA_CLK 0x7C 0x000000C0>; status = "disabled"; - label = "EDMA0"; + label = "DMA_0"; interrupts = <0 0>, <1 0>, <2 0>, <3 0>, <4 0>, <5 0>, <6 0>, <7 0>, <8 0>, <9 0>, <10 0>, <11 0>, diff --git a/tests/drivers/dma/chan_link_transfer/testcase.yaml b/tests/drivers/dma/chan_link_transfer/testcase.yaml index ff5f73d1d7..6e508cbe08 100644 --- a/tests/drivers/dma/chan_link_transfer/testcase.yaml +++ b/tests/drivers/dma/chan_link_transfer/testcase.yaml @@ -3,11 +3,11 @@ tests: min_ram: 16 depends_on: dma tags: drivers dma - platform_allow: frdm_k64f mimxrt1060_evk mimxrt1064_evk mimxrt1160_evk_cm7 + platform_allow: frdm_k64f mimxrt1060_evk mimxrt1064_evk mimxrt1160_evk_cm7 mimxrt1170_evk_cm7 drivers.dma.interactive: depends_on: dma extra_args: CONF_FILE=prj_shell.conf min_ram: 16 tags: drivers dma harness: keyboard - platform_allow: frdm_k64f mimxrt1060_evk mimxrt1064_evk mimxrt1160_evk_cm7 + platform_allow: frdm_k64f mimxrt1060_evk mimxrt1064_evk mimxrt1160_evk_cm7 mimxrt1170_evk_cm7