serial: bcm2835: add driver for bcm2835-aux-uart
authorMartin Sperl <kernel@martin.sperl.org>
Sun, 17 Jan 2016 12:15:30 +0000 (12:15 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 7 Feb 2016 07:13:30 +0000 (23:13 -0800)
commitbdc5f300958062a766518b81d5378f837149d5c1
tree1ee51fc232c44c27788afbafdd1801e5a4b43dea
parent45d7e9a51c995b4732eeecc121f40798e2220bea
serial: bcm2835: add driver for bcm2835-aux-uart

The bcm2835 SOC contains an auxiliary uart, which is very close
to the ns16550 with some differences.

The big difference is that the uart HW is not using an internal divider
of 16 but 8, which results in an effictive baud-rate being twice
the requested baud-rate.

This driver handles this device correctly and handles the difference in
the HW divider by scaling up the clock by a factor of 2.

The approach to write a separate (wrapper) driver instead of using a
multiplying clock and "ns16550" as compatibility in the device-tree
has been recommended by Stephen Warren.

Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
Acked-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_bcm2835aux.c [new file with mode: 0644]
drivers/tty/serial/8250/Kconfig
drivers/tty/serial/8250/Makefile