[PATCH v3 0/3] serial: mxs-auart: add DMA support for auart in mx28

Lauri Hintsala lauri.hintsala at bluegiga.com
Fri Nov 16 10:08:14 EST 2012

Hi Huang,

Thanks for new version. Now I don't get any errors and the CPU doesn't 
freeze any more but:

1) AUART corrupts data with baudrate over 1Mbits/s

2) We would need DMA support without flow control.

By the way, how do you test drivers? Is there any standard tools for 
uart data and throughput testing?


On 11/16/2012 10:03 AM, Huang Shijie wrote:
> This patch set adds the DMA support for auart in mx28.
> patch 1:
> 	In mx23, the DMA has a bug(see errata:2836). We can not add the
> 	DMA support in mx23, but we can add DMA support to auart in mx28.
> 	So in order to add the DMA support for the auart in mx28, we should add
> 	the platform_device_id to distinguish the distinguish SOCs.
> patch 2: add the DMA support for mx28
> 	Only we meet the following conditions, we can enable the DMA support
> 	for auart:
>          (1) We enable the DMA support in the dts file, such as
>              arch/arm/boot/dts/imx28.dtsi.
>          (2) We enable the hardware flow control.
>          (3) We use the mx28, not the mx23. Due to hardware bug(see errata: 2836),
>              we can not add the DMA support to mx23.
> patch 3: enable the DMA support in dts for mx28
> 	You can use the /ttyAPP0 to test this patch set.
> 	I tested this patch in mx28-evk board.
> To Lauri: Please try this patch set. thanks.
> v2 --> v3:
> 	[1] fix a multi-open issue found by Lauri.
> v1 --> v2:
> 	[1] use the inline function, not a macro, to distinguish the SOCs.
> 	[2] remove the "inline" for mxs_auart_tx_chars().
> 	[3] use the `pio`, not the `pio[1]` to fill the DMA descriptor.
> 	[4] use bit operation to serialize the DMA TX.
> 	[5] use the RX/TX DMA channel to enable the DMA support, remove the
> 	    "fsl,auart-enable-dma".
> Huang Shijie (3):
>    serial: mxs-auart: distinguish the different SOCs
>    serial: mxs-auart: add the DMA support for mx28
>    ARM: dts: enable dma support for auart0 in mx28
>   .../bindings/tty/serial/fsl-mxs-auart.txt          |    8 +
>   arch/arm/boot/dts/imx28.dtsi                       |    1 +
>   drivers/tty/serial/mxs-auart.c                     |  364 +++++++++++++++++++-
>   3 files changed, 362 insertions(+), 11 deletions(-)

More information about the linux-arm-kernel mailing list