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;
};
已解决! 转到解答。
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!
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!
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.