Hi jingyang,
For the SDMA usage of Linux UART driver, you can refer to chapter 47 of i.MX Linux RM. I paste some paragraphs as below.
Each UART can be configured to use DMA for the data transfer by enabling the DMA
channel in the DTS file.
The driver requests two DMA channels for the UARTs that need DMA transfer. On a
receive transaction, the driver copies the data from the DMA receive buffer to the TTY
Flip Buffer
While using DMA to transmit, the driver copies the data from the UART transmit buffer
to the DMA transmit buffer and sends this buffer to the DMA system. For more
information, see the Linux documentation on the serial driver in the kernel source tree.
Also you can check the driver <Yocto_BuildDir>/linux/drivers/tty/serial/imx.c and the related dts file, Thank you!
Best Regards,
Frank