You've already forked linux-rockchip
mirror of
https://github.com/armbian/linux-rockchip.git
synced 2026-01-06 11:08:10 -08:00
serial: mvebu-uart: initial support for Armada-3700 serial port
Armada-3700's uart is a simple serial port, which doesn't support. Configuring the modem control lines. The uart port has a 32 bytes Tx FIFO and a 64 bytes Rx FIFO The uart driver implements the uart core operations. It also support the system (early) console based on Armada-3700's serial port. Known Issue: The uart driver currently doesn't support clock programming, which means the baud-rate stays with the default value configured by the bootloader at boot time [gregory.clement@free-electrons.com: Rewrite many part which are too long to enumerate] Signed-off-by: Wilson Ding <dingwei@marvell.com> Signed-off-by: Nadav Haklai <nadavh@marvell.com> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
82a3f87f6e
commit
30530791a7
13
Documentation/devicetree/bindings/tty/serial/mvebu-uart.txt
Normal file
13
Documentation/devicetree/bindings/tty/serial/mvebu-uart.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
* Marvell UART : Non standard UART used in some of Marvell EBU SoCs (e.g., Armada-3700)
|
||||
|
||||
Required properties:
|
||||
- compatible: "marvell,armada-3700-uart"
|
||||
- reg: offset and length of the register set for the device.
|
||||
- interrupts: device interrupt
|
||||
|
||||
Example:
|
||||
serial@12000 {
|
||||
compatible = "marvell,armada-3700-uart";
|
||||
reg = <0x12000 0x400>;
|
||||
interrupts = <43>;
|
||||
};
|
||||
@@ -1058,6 +1058,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
|
||||
A valid base address must be provided, and the serial
|
||||
port must already be setup and configured.
|
||||
|
||||
armada3700_uart,<addr>
|
||||
Start an early, polled-mode console on the
|
||||
Armada 3700 serial port at the specified
|
||||
address. The serial port must already be setup
|
||||
and configured. Options are not yet supported.
|
||||
|
||||
earlyprintk= [X86,SH,BLACKFIN,ARM,M68k]
|
||||
earlyprintk=vga
|
||||
earlyprintk=efi
|
||||
|
||||
@@ -1602,6 +1602,28 @@ config SERIAL_STM32_CONSOLE
|
||||
depends on SERIAL_STM32=y
|
||||
select SERIAL_CORE_CONSOLE
|
||||
|
||||
config SERIAL_MVEBU_UART
|
||||
bool "Marvell EBU serial port support"
|
||||
select SERIAL_CORE
|
||||
help
|
||||
This driver is for Marvell EBU SoC's UART. If you have a machine
|
||||
based on the Armada-3700 SoC and wish to use the on-board serial
|
||||
port,
|
||||
say 'Y' here.
|
||||
Otherwise, say 'N'.
|
||||
|
||||
config SERIAL_MVEBU_CONSOLE
|
||||
bool "Console on Marvell EBU serial port"
|
||||
depends on SERIAL_MVEBU_UART
|
||||
select SERIAL_CORE_CONSOLE
|
||||
select SERIAL_EARLYCON
|
||||
default y
|
||||
help
|
||||
Say 'Y' here if you wish to use Armada-3700 UART as the system console.
|
||||
(the system console is the device which receives all kernel messages
|
||||
and warnings and which allows logins in single user mode)
|
||||
Otherwise, say 'N'.
|
||||
|
||||
endmenu
|
||||
|
||||
config SERIAL_MCTRL_GPIO
|
||||
|
||||
@@ -90,6 +90,7 @@ obj-$(CONFIG_SERIAL_CONEXANT_DIGICOLOR) += digicolor-usart.o
|
||||
obj-$(CONFIG_SERIAL_MEN_Z135) += men_z135_uart.o
|
||||
obj-$(CONFIG_SERIAL_SPRD) += sprd_serial.o
|
||||
obj-$(CONFIG_SERIAL_STM32) += stm32-usart.o
|
||||
obj-$(CONFIG_SERIAL_MVEBU_UART) += mvebu-uart.o
|
||||
|
||||
# GPIOLIB helpers for modem control lines
|
||||
obj-$(CONFIG_SERIAL_MCTRL_GPIO) += serial_mctrl_gpio.o
|
||||
|
||||
650
drivers/tty/serial/mvebu-uart.c
Normal file
650
drivers/tty/serial/mvebu-uart.c
Normal file
File diff suppressed because it is too large
Load Diff
@@ -261,4 +261,7 @@
|
||||
/* STM32 USART */
|
||||
#define PORT_STM32 113
|
||||
|
||||
/* MVEBU UART */
|
||||
#define PORT_MVEBU 114
|
||||
|
||||
#endif /* _UAPILINUX_SERIAL_CORE_H */
|
||||
|
||||
Reference in New Issue
Block a user