tty: serial: Add Nuvoton ma35d1 serial driver support

This adds UART and console driver for Nuvoton ma35d1 Soc.
It supports full-duplex communication, FIFO control, and
hardware flow control.
Command line set "console=ttyNVT0,115200", NVT means
Nuvoton MA35 UART port. The UART driver probe will
create path named "/dev/ttyNVTx".

Signed-off-by: Jacky Huang <ychuang3@nuvoton.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20230619032330.233796-2-ychuang570808@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Jacky Huang
2023-06-19 03:23:29 +00:00
committed by Greg Kroah-Hartman
parent e0edfdc158
commit 930cbf92db
3 changed files with 845 additions and 0 deletions

View File

@@ -1555,6 +1555,29 @@ config SERIAL_SUNPLUS_CONSOLE
you can alter that using a kernel command line option such as
"console=ttySUPx".
config SERIAL_NUVOTON_MA35D1
tristate "Nuvoton MA35D1 family UART support"
depends on ARCH_MA35 || COMPILE_TEST
select SERIAL_CORE
help
This driver supports Nuvoton MA35D1 family UART ports. If you would
like to use them, you must answer Y or M to this option. Note that
for use as console, it must be included in kernel and not as a
module. If you enable this option, Ma35D1 serial ports in the system
will be registered as ttyNVTx.
config SERIAL_NUVOTON_MA35D1_CONSOLE
bool "Console on a Nuvotn MA35D1 family UART port"
depends on SERIAL_NUVOTON_MA35D1=y
select SERIAL_CORE_CONSOLE
help
Select this options if you'd like to use the UART port0 of the
Nuvoton MA35D1 family as a console.
Even if you say Y here, the currently visible virtual console
(/dev/tty0) will still be used as the system console by default,
but you can alter that using a kernel command line option such as
"console=ttyNVTx".
endmenu
config SERIAL_MCTRL_GPIO

View File

@@ -94,3 +94,4 @@ obj-$(CONFIG_SERIAL_MCTRL_GPIO) += serial_mctrl_gpio.o
obj-$(CONFIG_SERIAL_KGDB_NMI) += kgdb_nmi.o
obj-$(CONFIG_KGDB_SERIAL_CONSOLE) += kgdboc.o
obj-$(CONFIG_SERIAL_NUVOTON_MA35D1) += ma35d1_serial.o

File diff suppressed because it is too large Load Diff