I.MX6S Serial DMA Enable/Disable

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

I.MX6S Serial DMA Enable/Disable

Jump to solution
6,377 Views
grim
Contributor III

I'm currently fighting an issue in our i.MX6 system.

Our application seems to be losing or missing some expected serial data.

When I read the documentation provided by NXP (i.MX_Linux_Reference_Manual.pdf), it says that the UART can be configured for DMA or Interrupt access. It says "Each UART can be configured to use DMA for the data transfer by enabling the DMA channel in the DTS file."

When I examine the text file "/linux-2.6-imx/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt", it gives NO information about how to accomplish this.

As far as I can tell, the serial port is using DMA and there's no way to disable it (according to documentation).

I'm currently working with BSP version 3.14.28.

Has anybody been able to enable/disable DMA transfers for any serial ports on the i.MX6?

If so, care to share how?

Any other documentation I should be looking at?

Thank you.

* Freescale i.MX Universal Asynchronous Receiver/Transmitter (UART)

Required properties:
- compatible : Should be "fsl,<soc>-uart"
- reg : Address and length of the register set for the device
- interrupts : Should contain uart interrupt

Optional properties:
- fsl,uart-has-rtscts : Indicate the uart has rts and cts
- fsl,irda-mode : Indicate the uart supports irda mode
- fsl,dte-mode : Indicate the uart works in DTE mode. The uart works
                  is DCE mode by default.

Note: Each uart controller should have an alias correctly numbered
in "aliases" node.

Example:

aliases {
    serial0 = &uart1;
};

uart1: serial@73fbc000 {
    compatible = "fsl,imx51-uart", "fsl,imx21-uart";
    reg = <0x73fbc000 0x4000>;
    interrupts = <31>;
    fsl,uart-has-rtscts;
    fsl,dte-mode;
};


Labels (3)
0 Kudos
1 Solution
3,566 Views
Yuri
NXP Employee
NXP Employee

Hello,

  You may use dmas and dma-names options as shown in the following :

imx6ul: which are the dma values for the uart1? 

https://community.nxp.com/message/865701

Have a great day,

Yuri

 

------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer

button. Thank you!

View solution in original post

0 Kudos
3 Replies
3,566 Views
grim
Contributor III

Thank you Yuri!

0 Kudos
3,567 Views
Yuri
NXP Employee
NXP Employee

Hello,

  You may use dmas and dma-names options as shown in the following :

imx6ul: which are the dma values for the uart1? 

https://community.nxp.com/message/865701

Have a great day,

Yuri

 

------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer

button. Thank you!

0 Kudos
3,567 Views
grim
Contributor III

After reviewing the driver source, it appears that the Linux Reference manual is incorrect.

I'm not seeing anything in "serial/imx.c" or "dma/imx-sdma.c" that enables/disables serial DMA transfer.

0 Kudos