I.MX6S Serial DMA Enable/Disable

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

I.MX6S Serial DMA Enable/Disable

跳至解决方案
6,878 次查看
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;
};


标签 (3)
0 项奖励
回复
1 解答
4,067 次查看
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 项奖励
回复
3 回复数
4,067 次查看
grim
Contributor III

Thank you Yuri!

0 项奖励
回复
4,068 次查看
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 项奖励
回复
4,068 次查看
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 项奖励
回复