I.MX6S Serial DMA Enable/Disable

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

I.MX6S Serial DMA Enable/Disable

ソリューションへジャンプ
6,877件の閲覧回数
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,066件の閲覧回数
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,066件の閲覧回数
grim
Contributor III

Thank you Yuri!

0 件の賞賛
返信
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 件の賞賛
返信
4,067件の閲覧回数
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 件の賞賛
返信