In Mediatek SOCs, the uart can support DMA function. Base on DMA engine formwork, we add the DMA code to support uart. And put the code under drivers/dma. This series contains document bindings, Kconfig to control the function enable or not, device tree including interrupt and dma device node, the code of UART DM Changes compared to v5: -move 'requst irqs' to alloc channel -remove tasklet. Changes compared to v4: -modify Kconfig depends on. Changes compared to v3: -fix CONFIG_PM, will cause build fail Changes compared to v2: -remove unimportant parameters -instead of cookie, use APIs of virtual channel. -use of_dma_xlate_by_chan_id. Changes compared to v1: -mian revised file, 8250_mtk_dma.c --parameters renamed for standard --remove atomic operation Long Cheng (2): dmaengine: 8250_mtk_dma: add MediaTek uart DMA support arm: dts: mt2712: add uart APDMA to device tree arch/arm64/boot/dts/mediatek/mt2712e.dtsi | 50 +++ drivers/dma/mediatek/8250_mtk_dma.c | 694 +++++++++++++++++++++++++++++ drivers/dma/mediatek/Kconfig | 11 + drivers/dma/mediatek/Makefile | 1 + 4 files changed, 756 insertions(+) create mode 100644 drivers/dma/mediatek/8250_mtk_dma.c -- 1.7.9.5