serial: 8250: Add CAP_MINI, set for bcm2835aux
authorPhil Elwell <phil@raspberrypi.org>
Fri, 19 May 2017 14:07:27 +0000 (15:07 +0100)
committerRaspbian kernel package updater <root@raspbian.org>
Sun, 8 Oct 2017 01:08:07 +0000 (01:08 +0000)
commit6d2aa3189f388747791fc2871812d134d6f1730f
tree3b6745648c428f178a1ac49fc02690be48abe936
parent302c39be348631801ff600a33e232fa0760d3d59
serial: 8250: Add CAP_MINI, set for bcm2835aux

The AUX/mini-UART in the BCM2835 family of procesors is a cut-down
8250 clone. In particular it is lacking support for the following
features: CSTOPB PARENB PARODD CMSPAR CS5 CS6

Add a new capability (UART_CAP_MINI) that exposes the restrictions to
the user of the termios API by turning off the unsupported features in
the request.

N.B. It is almost possible to automatically discover the missing
features by reading back the LCR register, but the CSIZE bits don't
cooperate (contrary to the documentation, both bits are significant,
but CS5 and CS6 are mapped to CS7) and the code is much longer.

See: https://github.com/raspberrypi/linux/issues/1561

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
drivers/tty/serial/8250/8250.h
drivers/tty/serial/8250/8250_bcm2835aux.c
drivers/tty/serial/8250/8250_port.c