This series adds a serial driver, with console support, for the UART IP block present on the SiFive FU540 SoC. The programming model is straightforward, but unique. Boot-tested on a SiFive FU540 HiFive-U board (with appropriate patches to the DT data). The patches in this series can also be found at: https://github.com/sifive/riscv-linux/tree/dev/paulw/serial-v4.19-rc7 This third version updates the DT binding documentation per discussion with Rob Herring and fixes one additional issue identified by the 0-day build system related to MODULE_DEVICE_TABLE. Paul Walmsley (2): dt-bindings: serial: add documentation for the SiFive UART driver tty: serial: add driver for the SiFive UART .../bindings/serial/sifive-serial.txt | 33 + drivers/tty/serial/Kconfig | 24 + drivers/tty/serial/Makefile | 1 + drivers/tty/serial/sifive.c | 1067 +++++++++++++++++ include/uapi/linux/serial_core.h | 3 + 5 files changed, 1128 insertions(+) create mode 100644 Documentation/devicetree/bindings/serial/sifive-serial.txt create mode 100644 drivers/tty/serial/sifive.c Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: Palmer Dabbelt <palmer@xxxxxxxxxx> Cc: Wesley Terpstra <wesley@xxxxxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Cc: linux-riscv@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx -- 2.19.1