This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[AM335x Linux] The DMA supported UART driver

Hi all,

 Here, my customer needs the DMA support in the UART driver in the Linux. And it is very important for us to win the case? So could you help to share me whether there is the driver patch support for it.

   Thanks!

    Yaoming

  • Yaoming,

    Looking at the AM335x device tree (arch/arm/boot/dts/am33xx.dtsi) in the Linux Processor SDK v2.0.1.7 there are DMAs associated with uart0, uart1, and uart2. Also looking at the UART driver (drivers/tty/serial/8250/8250_omap.c) there is a CONFIG_SERIAL_8250_DMA option to enable the DMAs. This configuration can be found in menuconfig under 'Device Drivers->Character devices->Serial drivers->DMA support for 16550 compatible UART controllers'.

    I am currently ramping up on supporting UART on the Sitara devices so I am also checking with the UART Linux developers on this question. I will let you know what I find out from those discussions.

    Jason Reeder

  • Yaoming,

    I have discussed this with our Linux developers. Currently the UART DMA support is disabled by default in our Processor SDK because of a pending issue where H/W flow control signals are ignored while in DMA mode.

    This issue should be fixed and UART DMA support should be enabled by default in the next release of the Processor SDK that is currently scheduled for a 2Q16 release.

    Jason Reeder
  • Jason,

       The customer has no requirement on the h/w flow control, so is it still OK to enable the DMA there?

        The date for the next release is too late to win this case. I hope we can fix the issue with in 2 weeks.

    Thanks!

    Yaoming

  • Yaoming,

    If the customer does not require h/w flow control then yes, they should be OK to enable UART DMA using the config option I mentioned above (Device Drivers->Character devices->Serial drivers->DMA support for 16550 compatible UART controllers).

    However, the developers cautioned that UART DMA has not undergone system testing yet. So, it is fine to evaluate UART DMA support based on the 2.0.1.7 Linux SDK release, but for production, the customer should wait until system testing is performed and passed in the next SDK release.

    Jason Reeder
  • Did the problem solved ? I mean could we use Uart in linux with DMA and H/W flow control enabled ?
  • Did the problem solved ?