[PATCH v2 3/5] dmaengine: aspeed: Add AST2600 UART DMA driver

ChiaWei Wang chiawei_wang at aspeedtech.com
Sun Mar 19 19:58:42 PDT 2023


> From: Rob Herring <robh at kernel.org>
> Sent: Saturday, March 18, 2023 5:01 AM
> 
> On Tue, Mar 14, 2023 at 10:18:15AM +0800, Chia-Wei Wang wrote:
> > Aspeed AST2600 UART DMA (UDMA) includes 14 channels for the DMA
> > transmission and recevie of each UART devices.
> >
> > Signed-off-by: Chia-Wei Wang <chiawei_wang at aspeedtech.com>
> > ---
> >  drivers/dma/Kconfig        |   9 +
> >  drivers/dma/Makefile       |   1 +
> >  drivers/dma/ast2600-udma.c | 528
> > +++++++++++++++++++++++++++++++++++++
> >  3 files changed, 538 insertions(+)
> >  create mode 100644 drivers/dma/ast2600-udma.c
> >
> > diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig index
> > fb7073fc034f..c35f87dbafd9 100644
> > --- a/drivers/dma/Kconfig
> > +++ b/drivers/dma/Kconfig
> > @@ -748,6 +748,15 @@ config XILINX_ZYNQMP_DPDMA
> >  	  driver provides the dmaengine required by the DisplayPort subsystem
> >  	  display driver.
> >
> > +config ASPEED_AST2600_UDMA
> > +	bool "Aspeed AST2600 UDMA support"
> > +	depends on ARCH_ASPEED
> 
> || COMPILE_TEST

Will add it in v3 revision.

> 
> > +	help
> > +	  Enable support for Aspeed AST2600 UART DMA. Select this option if
> you
> > +	  have a AST2600 SoC integrated system. The driver provides the UART
> DMA
> > +	  support with the dmaengine subsystem, which can be leveraged by
> generic
> > +	  8250 serial drivers.
> > +
> >  # driver files
> >  source "drivers/dma/bestcomm/Kconfig"
> >
> > diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile index
> > a4fd1ce29510..6cbacebcdcab 100644
> > --- a/drivers/dma/Makefile
> > +++ b/drivers/dma/Makefile
> > @@ -81,6 +81,7 @@ obj-$(CONFIG_XGENE_DMA) += xgene-dma.o
> >  obj-$(CONFIG_ST_FDMA) += st_fdma.o
> >  obj-$(CONFIG_FSL_DPAA2_QDMA) += fsl-dpaa2-qdma/
> >  obj-$(CONFIG_INTEL_LDMA) += lgm/
> > +obj-$(CONFIG_ASPEED_AST2600_UDMA) += ast2600-udma.o
> >
> >  obj-y += mediatek/
> >  obj-y += qcom/
> > diff --git a/drivers/dma/ast2600-udma.c b/drivers/dma/ast2600-udma.c
> > new file mode 100644 index 000000000000..ff678724f9d9
> > --- /dev/null
> > +++ b/drivers/dma/ast2600-udma.c
> > @@ -0,0 +1,528 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Copyright (C) ASPEED Technology Inc.
> > + */
> > +#include <linux/delay.h>
> > +#include <linux/bitfield.h>
> > +#include <linux/interrupt.h>
> > +#include <linux/dmaengine.h>
> > +#include <linux/dma-mapping.h>
> > +#include <linux/platform_device.h>
> > +#include <linux/module.h>
> > +#include <linux/of.h>
> > +#include <linux/of_dma.h>
> 
> > +#include <linux/of_irq.h>
> > +#include <linux/of_address.h>
> 
> You probably don't need these as you should use platform APIs instead.

Will try re-compilation without these inclusion.

Thanks,
Chiawei



More information about the linux-arm-kernel mailing list