[PATCH v3 0/3] serial: mxs-auart: add DMA support for auart in mx28
lauri.hintsala at bluegiga.com
Fri Nov 16 10:08:14 EST 2012
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
> (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:
>  fix a multi-open issue found by Lauri.
> v1 --> v2:
>  use the inline function, not a macro, to distinguish the SOCs.
>  remove the "inline" for mxs_auart_tx_chars().
>  use the `pio`, not the `pio` to fill the DMA descriptor.
>  use bit operation to serialize the DMA TX.
>  use the RX/TX DMA channel to enable the DMA support, remove the
> 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