• Paul Walmsley's avatar
    tty: serial: add driver for the SiFive UART · 45c054d0
    Paul Walmsley authored
    Add a serial driver for the SiFive UART, found on SiFive FU540 devices
    (among others).
    
    The underlying serial IP block is relatively basic, and currently does
    not support serial break detection.  Further information on the IP
    block can be found in the documentation and Chisel sources:
    
        https://static.dev.sifive.com/FU540-C000-v1.0.pdf
    
        https://github.com/sifive/sifive-blocks/tree/master/src/main/scala/devices/uart
    
    This driver was written in collaboration with Wesley Terpstra
    <wesley@sifive.com>.
    
    Tested on a SiFive HiFive Unleashed A00 board, using BBL and the open-
    source FSBL (using a DT file based on what's targeted for mainline).
    
    This revision incorporates changes based on comments by Julia Lawall
    <julia.lawall@lip6.fr>, Emil Renner Berthing <kernel@esmil.dk>, and
    Andreas Schwab <schwab@suse.de>.  Thanks also to Andreas for testing
    the driver with his userspace and reporting a bug with the
    set_termios implementation.
    Signed-off-by: default avatarPaul Walmsley <paul.walmsley@sifive.com>
    Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Jiri Slaby <jslaby@suse.com>
    Cc: Palmer Dabbelt <palmer@sifive.com>
    Cc: Wesley Terpstra <wesley@sifive.com>
    Cc: linux-serial@vger.kernel.org
    Cc: linux-riscv@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org
    Cc: Julia Lawall <julia.lawall@lip6.fr>
    Cc: Emil Renner Berthing <kernel@esmil.dk>
    Cc: Andreas Schwab <schwab@suse.de>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    45c054d0
sifive.c 28.6 KB