[patch v4 2/5] build configuration for AST2500 DMA UART driver

sudheer.v open.sudheer at gmail.com
Fri Jul 26 23:27:17 AEST 2019

From: sudheer veliseti <sudheer.open at gmail.com>

build config for DMA based UART driver in AST2500.
Total Available  UARTs in AST2500 are 4

Signed-off-by: sudheer veliseti <sudheer.open at gmail.com>

Changes from v3->v4:
- config name changed to SERIAL_AST_DMA_UART  
- new config AST_UART_DMA_RX_INTERRUPT  introduced 
  for selectin between  DMA interrupt based RX vs timer based uart RX

Changes in v2->v3:
- change logs added

drivers/tty/serial/8250/Kconfig  | 43 ++++++++++++++++++++++++++++++++
 drivers/tty/serial/8250/Makefile |  1 +
 2 files changed, 44 insertions(+)

diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig
index 15c2c5463835..7052ab0f4894 100644
--- a/drivers/tty/serial/8250/Kconfig
+++ b/drivers/tty/serial/8250/Kconfig
@@ -189,6 +189,49 @@ config SERIAL_8250_RUNTIME_UARTS
 	  with the module parameter "nr_uarts", or boot-time parameter
+        tristate "AST UART driver with DMA"
+        select SERIAL_CORE
+        help
+          UART driver with DMA support for Aspeed BMC AST25XX.
+          this driver supports UARTs in AST2500. It uses
+          DMA channel of DMA engines present in these chips.
+          since this dma engine is used only by UARTs it is not
+          added as a separate DMA driver instead added as a layer
+          within UART driver.
+	bool "DMA interrupt of UART RX"
+	depends on SERIAL_AST_DMA_UART
+	default y
+	help
+	  This config  is Enabled by default,which means Rx part
+	  of UART is handled by DMA interrupt.
+	  if the version of chip AST2500 doesn't support
+	  DMA interrupt based RX,then Disable this option.Refer
+	  driver code to see how Rx is handled by timer,if Rx
+	  interrupt  is not available.
+        int "Maximum number of uart dma serial ports"
+        depends on SERIAL_AST_DMA_UART
+        default "4"
+        help
+          Set this to the number of serial ports you want the driver
+          to support.  This includes any ports discovered via ACPI or
+          PCI enumeration and any ports that may be added at run-time
+          via hot-plug, or any ISA multi-port serial cards.
+        int "Number of uart dma serial ports to register at runtime"
+        depends on SERIAL_AST_DMA_UART
+        range 0 AST_NR_DMA_UARTS
+        default "4"
+        help
+          Set this to the maximum number of serial ports you want
+          the kernel to register at boot time.
 config SERIAL_8250_EXTENDED
 	bool "Extended 8250/16550 serial driver options"
 	depends on SERIAL_8250
diff --git a/drivers/tty/serial/8250/Makefile b/drivers/tty/serial/8250/Makefile
index 18751bc63a84..251f2e85efa1 100644
--- a/drivers/tty/serial/8250/Makefile
+++ b/drivers/tty/serial/8250/Makefile
@@ -36,6 +36,7 @@ obj-$(CONFIG_SERIAL_8250_LPSS)		+= 8250_lpss.o
 obj-$(CONFIG_SERIAL_8250_MID)		+= 8250_mid.o
 obj-$(CONFIG_SERIAL_8250_MOXA)		+= 8250_moxa.o
 obj-$(CONFIG_SERIAL_8250_PXA)		+= 8250_pxa.o
+obj-$(CONFIG_SERIAL_AST_DMA_UART)	+= 8250_ast2500_uart_dma.o
 obj-$(CONFIG_SERIAL_OF_PLATFORM)	+= 8250_of.o
 CFLAGS_8250_ingenic.o += -I$(srctree)/scripts/dtc/libfdt

More information about the Linux-aspeed mailing list