linux/drivers/tty/serial
Andre Przywara 0dd1e247fd drivers: PL011: add support for the ARM SBSA generic UART
The ARM Server Base System Architecture[1] document describes a
generic UART which is a subset of the PL011 UART.
It lacks DMA support, baud rate control and modem status line
control, among other things.
The idea is to move the UART initialization and setup into the
firmware (which does this job today already) and let the kernel just
use the UART for sending and receiving characters.

We use the recent refactoring to build a new struct uart_ops
variable which points to some new functions avoiding access to the
missing registers. We reuse as much existing PL011 code as possible.

In contrast to the PL011 the SBSA UART does not define any AMBA or
PrimeCell relations, so we go with a pretty generic probe function
which only uses platform device functions.
A DT binding is provided with this patch, ACPI support is added in a
separate one.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Tested-by: Mark Langsdorf <mlangsdo@redhat.com>
Tested-by: Naresh Bhat <nbhat@cavium.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-24 13:08:51 -07:00
..
8250 tty: serial/8250: remove console dependency for mediatek 2015-05-24 13:06:09 -07:00
cpm_uart tty: cpm_uart: replace CONFIG_8xx by CONFIG_CPM1 2015-03-26 23:00:36 +01:00
jsm serial: jsm: some off by one bugs 2015-03-26 23:00:36 +01:00
21285.c
68328serial.c tty: 68328serial.c: move assignment out of if () block 2015-05-10 19:04:16 +02:00
altera_jtaguart.c drivers/tty/serial: altera: fix typos in #endif comments 2015-05-06 22:26:58 +02:00
altera_uart.c drivers/tty/serial: altera: fix typos in #endif comments 2015-05-06 22:26:58 +02:00
amba-pl010.c serial: Test/disable MSIs if switching from N_PPS 2014-11-06 14:57:27 -08:00
amba-pl011.c drivers: PL011: add support for the ARM SBSA generic UART 2015-05-24 13:08:51 -07:00
apbuart.c tty: constify of_device_id array 2015-03-26 22:49:10 +01:00
apbuart.h
ar933x_uart.c serial: ar933x_uart: Fix off-by-one for checking valid alias id 2015-03-07 03:20:25 +01:00
arc_uart.c
atmel_serial.c tty/serial: at91: RS485 mode: 0 is valid for delay_rts_after_send 2015-05-24 12:49:16 -07:00
bcm63xx_uart.c tty: serial/bcm63xx_uart: fix sparse warning 2015-03-07 03:13:07 +01:00
bfin_sport_uart.c tty: pr_warning->pr_warn and logging neatening 2014-11-25 17:06:38 -08:00
bfin_sport_uart.h
bfin_uart.c serial: bfin: ctsrts: enfore Kconfig naming convention 2015-05-06 22:26:59 +02:00
clps711x.c serial: clps711x: fail if mctrl_gpio_init fails 2015-03-07 03:15:03 +01:00
crisv10.c tty: crisv10.c: move assignment out of if () block 2015-05-10 19:04:17 +02:00
crisv10.h cris: Remove obsolete ASYNC_SPLIT_TERMIOS behavior 2014-11-05 20:18:30 -08:00
digicolor-usart.c tty/serial: digicolor: remove sysrq reference 2015-02-02 10:11:25 -08:00
dz.c
dz.h
earlycon-arm-semihost.c
earlycon.c earlycon: Revert log warnings 2015-05-08 14:20:50 +02:00
efm32-uart.c
etraxfs-uart.c serial: driver for ETRAX FS UART 2015-02-07 18:43:16 +08:00
fsl_lpuart.c Merge 4.0-rc7 into tty-next 2015-04-07 11:07:20 +02:00
icom.c tty: icom.c: move assignment out of if () block 2015-05-10 19:04:17 +02:00
icom.h
ifx6x60.c serial: ifx6x60: Remove superfluous casts when calling request_irq() 2015-05-06 22:27:01 +02:00
ifx6x60.h
imx.c serial: imx: Constify platform_device_id 2015-05-10 19:08:16 +02:00
ioc3_serial.c tty: ioc3_serial.c: move assignment out of if () block 2015-05-10 19:04:17 +02:00
ioc4_serial.c tty: ioc4_serial.c: move assignment out of if () block 2015-05-10 19:04:17 +02:00
ip22zilog.c serial: use container_of to resolve uart_ip22zilog_port from uart_port 2014-11-05 19:20:52 -08:00
ip22zilog.h
Kconfig serial: samsung: only use earlycon for console 2015-05-24 13:06:08 -07:00
kgdb_nmi.c serial: kgdb_nmi: Use bool function return values of true/false not 1/0 2015-05-06 22:26:57 +02:00
kgdboc.c
lantiq.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
lpc32xx_hs.c
m32r_sio_reg.h
m32r_sio.c serial: use container_of to resolve uart_sio_port from uart_port 2014-11-05 19:20:52 -08:00
m32r_sio.h
Makefile TTY: msm_smd_tty: Remove unused driver 2015-05-10 19:19:06 +02:00
max310x.c drivers/max310: Use the rs485 functions on serial_core 2014-11-06 15:00:15 -08:00
max3100.c tty: max3100: use msecs_to_jiffies for time conversion 2015-03-07 03:13:08 +01:00
mcf.c drivers/tty/serial/mcf.c: fix typo on SERIAL_MCF_CONSOLE 2015-05-06 22:26:59 +02:00
men_z135_uart.c tty: serial: men_z135_uart: Fix driver for changes in hardware 2015-02-02 10:11:27 -08:00
meson_uart.c ARM: meson: serial: convert iounmap to devm_iounmap 2015-05-06 22:27:02 +02:00
mpc52xx_uart.c drivers/tty/serial/mpc52xx_uart.c: fix typo in C comment 2015-05-06 22:26:59 +02:00
mpsc.c tty: mpsc.c: move assignment out of if () block 2015-05-10 19:04:17 +02:00
msm_serial.c tty: serial: msm_serial: Remove console unregistration from driver exit. 2015-02-02 10:11:25 -08:00
msm_serial.h tty: serial: msm_serial: Remove dead code 2015-03-26 22:31:09 +01:00
mux.c
mxs-auart.c serial: mxs: Constify platform_device_id 2015-05-10 19:08:16 +02:00
netx-serial.c
nwpserial.c
of_serial.c serial: of_serial: do not set port.type twice 2015-05-10 19:10:08 +02:00
omap-serial.c serial: omap: Fix error handling in probe 2015-05-08 14:20:50 +02:00
pch_uart.c
pmac_zilog.c tty: constify of_device_id array 2015-03-26 22:49:10 +01:00
pmac_zilog.h
pnx8xxx_uart.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
pxa.c tty: constify of_device_id array 2015-03-26 22:49:10 +01:00
rp2.c
sa1100.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
samsung.c serial: samsung: Constify platform_device_id 2015-05-10 19:08:16 +02:00
samsung.h serial: samsung: add DMA support for RX 2015-01-09 14:25:39 -08:00
sb1250-duart.c
sc16is7xx.c sc16is7xx: expose RTS inversion in RS-485 mode 2015-04-10 14:43:48 +02:00
sccnxp.c
serial_core.c tty: remove buf parameter from tty_name() 2015-05-06 22:26:57 +02:00
serial_ks8695.c
serial_mctrl_gpio.c serial: mctrl-gpio: drop usages of IS_ERR_OR_NULL 2015-05-24 13:06:08 -07:00
serial_mctrl_gpio.h
serial_txx9.c
serial-tegra.c serial: tegra: Fix memory leak on DMA setup failure 2015-05-24 12:53:44 -07:00
sh-sci.c serial: sh-sci: Remove obsolete comment about overrun detection 2015-05-10 19:06:39 +02:00
sh-sci.h serial: sh-sci: Replace hardcoded overrun bit values 2015-05-10 19:06:39 +02:00
sirfsoc_uart.c serial: sirf: assign console default index if users not set a valid one 2015-05-24 12:50:41 -07:00
sirfsoc_uart.h serial: sirf: add serial loopback function support 2015-05-24 12:50:41 -07:00
sn_console.c
sprd_serial.c Merge 4.0-rc3 into tty-testing 2015-03-09 07:08:37 +01:00
st-asc.c tty: constify of_device_id array 2015-03-26 22:49:10 +01:00
suncore.c
sunhv.c
sunsab.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sunsab.h
sunsu.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sunzilog.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sunzilog.h
tilegx.c
timbuart.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
timbuart.h
uartlite.c serial: xilinx: Use platform_get_irq to get irq description structure 2015-04-28 14:26:21 +02:00
ucc_uart.c tty: constify of_device_id array 2015-03-26 22:49:10 +01:00
vr41xx_siu.c
vt8500_serial.c
xilinx_uartps.c serial: xuartps: add __init to earlycon write method 2015-05-10 19:10:08 +02:00
zs.c
zs.h