[PATCH 0/8 V3] serial: at91: make usart and uart support dma transfer

Elen Song elen.song at atmel.com
Mon Jul 22 04:30:23 EDT 2013

After at91sam9g45 socs, the usart only support dma transfer.
This patch serial focus on:
1) distinguish pdc and dma transfer
2) support usart dma rx and tx transfer
3) distinguish usart and uart
4) support uart dma rx and tx transfer

For those only support PDC transfer socs, we use "atmel,use-dma-rx/tx" to establish a PDC transfer.
For those only support DMA transfer socs, we not only use "atmel,use-dma-rx/tx", but also describe dma binding to establish a DMA transfer.
We switch the name from "use-dma" to "use-pdc" in serial driver to state more clearly.
We also distinguish usart and uart by read ip name, the dbgu is regard as a uart.
Because uart lack timeout function, we use software timer to trigger rx.

Compare to v1, this patch serials improve:
1) use function pointer instead of if/else
2) "atmel,use-dma-rx/tx" represent a PDC transfer,
   but when add the dma bindings, it is a dma transfer
3) do not use strncmp in get ip name
4) remove modification in documentation part

Compare to v2, this patch serials improve:
1) change type from short to bool in use_pdc_rx/tx
2) merge uart and dbgu patch
3) add document 

Elen Song (8):
  serial: at91: correct definition from DMA to PDC
  serial: at91: use function pointer to choose pdc or pio
  serial: at91: add tx dma support
  serial: at91: add rx dma support
  serial: at91: support run time switch transfer mode
  serial: at91: distinguish usart and uart
  serial: at91: make UART support dma and pdc transfers
  serial: at91: add dma support in usart binding descriptions

 .../devicetree/bindings/tty/serial/atmel-usart.txt |   18 +-
 drivers/tty/serial/atmel_serial.c                  |  842 ++++++++++++++++----
 include/linux/atmel_serial.h                       |    2 +
 3 files changed, 725 insertions(+), 137 deletions(-)


More information about the linux-arm-kernel mailing list