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

Huang Shijie shijie8 at gmail.com
Fri Nov 16 22:37:54 EST 2012


On Fri, Nov 16, 2012 at 11:08 PM, Lauri Hintsala
<lauri.hintsala at bluegiga.com> wrote:
> 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
The tranceivers, such as MAX3380E, will limit the speed.
i ever removed it, and tested the AUART in 3M bits/s.

>
> 2) We would need DMA support without flow control.
:)
I really think it's not wise to support the DMA withou flow control.
it will losts the data in some case.
Even use the FREESCALE's bsp code, I also recomand to use the flow control.


>
> By the way, how do you test drivers? Is there any standard tools for uart
> data and throughput testing?
I tested the driver with our own small tool.
If you want to test it too, I can send you the resource next monday.
You can use it to test if you have received the right data.

thanks
Huang Shijie


>
> Lauri
>
>
> 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(-)
>>
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-serial" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



More information about the linux-arm-kernel mailing list