mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-13 15:06:52 +07:00
45c054d081
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: Paul Walmsley <paul.walmsley@sifive.com> Signed-off-by: Paul 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
103 lines
4.0 KiB
Makefile
103 lines
4.0 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for the kernel serial device drivers.
|
|
#
|
|
|
|
obj-$(CONFIG_SERIAL_CORE) += serial_core.o
|
|
|
|
obj-$(CONFIG_SERIAL_EARLYCON) += earlycon.o
|
|
obj-$(CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST) += earlycon-arm-semihost.o
|
|
obj-$(CONFIG_SERIAL_EARLYCON_RISCV_SBI) += earlycon-riscv-sbi.o
|
|
|
|
# These Sparc drivers have to appear before others such as 8250
|
|
# which share ttySx minor node space. Otherwise console device
|
|
# names change and other unplesantries.
|
|
obj-$(CONFIG_SERIAL_SUNCORE) += suncore.o
|
|
obj-$(CONFIG_SERIAL_SUNHV) += sunhv.o
|
|
obj-$(CONFIG_SERIAL_SUNZILOG) += sunzilog.o
|
|
obj-$(CONFIG_SERIAL_SUNSU) += sunsu.o
|
|
obj-$(CONFIG_SERIAL_SUNSAB) += sunsab.o
|
|
|
|
obj-$(CONFIG_SERIAL_21285) += 21285.o
|
|
|
|
# Now bring in any enabled 8250/16450/16550 type drivers.
|
|
obj-$(CONFIG_SERIAL_8250) += 8250/
|
|
|
|
obj-$(CONFIG_SERIAL_AMBA_PL010) += amba-pl010.o
|
|
obj-$(CONFIG_SERIAL_AMBA_PL011) += amba-pl011.o
|
|
obj-$(CONFIG_SERIAL_CLPS711X) += clps711x.o
|
|
obj-$(CONFIG_SERIAL_PXA_NON8250) += pxa.o
|
|
obj-$(CONFIG_SERIAL_PNX8XXX) += pnx8xxx_uart.o
|
|
obj-$(CONFIG_SERIAL_SA1100) += sa1100.o
|
|
obj-$(CONFIG_SERIAL_BCM63XX) += bcm63xx_uart.o
|
|
obj-$(CONFIG_SERIAL_SAMSUNG) += samsung.o
|
|
obj-$(CONFIG_SERIAL_MAX3100) += max3100.o
|
|
obj-$(CONFIG_SERIAL_MAX310X) += max310x.o
|
|
obj-$(CONFIG_SERIAL_IP22_ZILOG) += ip22zilog.o
|
|
obj-$(CONFIG_SERIAL_MUX) += mux.o
|
|
obj-$(CONFIG_SERIAL_MCF) += mcf.o
|
|
obj-$(CONFIG_SERIAL_PMACZILOG) += pmac_zilog.o
|
|
obj-$(CONFIG_SERIAL_HS_LPC32XX) += lpc32xx_hs.o
|
|
obj-$(CONFIG_SERIAL_DZ) += dz.o
|
|
obj-$(CONFIG_SERIAL_ZS) += zs.o
|
|
obj-$(CONFIG_SERIAL_SH_SCI) += sh-sci.o
|
|
obj-$(CONFIG_SERIAL_SGI_L1_CONSOLE) += sn_console.o
|
|
obj-$(CONFIG_SERIAL_CPM) += cpm_uart/
|
|
obj-$(CONFIG_SERIAL_IMX) += imx.o
|
|
obj-$(CONFIG_SERIAL_MPC52xx) += mpc52xx_uart.o
|
|
obj-$(CONFIG_SERIAL_ICOM) += icom.o
|
|
obj-$(CONFIG_SERIAL_MPSC) += mpsc.o
|
|
obj-$(CONFIG_SERIAL_MESON) += meson_uart.o
|
|
obj-$(CONFIG_SERIAL_SB1250_DUART) += sb1250-duart.o
|
|
obj-$(CONFIG_SERIAL_SCCNXP) += sccnxp.o
|
|
obj-$(CONFIG_SERIAL_SC16IS7XX_CORE) += sc16is7xx.o
|
|
obj-$(CONFIG_SERIAL_JSM) += jsm/
|
|
obj-$(CONFIG_SERIAL_TXX9) += serial_txx9.o
|
|
obj-$(CONFIG_SERIAL_VR41XX) += vr41xx_siu.o
|
|
obj-$(CONFIG_SERIAL_SGI_IOC4) += ioc4_serial.o
|
|
obj-$(CONFIG_SERIAL_SGI_IOC3) += ioc3_serial.o
|
|
obj-$(CONFIG_SERIAL_ATMEL) += atmel_serial.o
|
|
obj-$(CONFIG_SERIAL_UARTLITE) += uartlite.o
|
|
obj-$(CONFIG_SERIAL_MSM) += msm_serial.o
|
|
obj-$(CONFIG_SERIAL_QCOM_GENI) += qcom_geni_serial.o
|
|
obj-$(CONFIG_SERIAL_NETX) += netx-serial.o
|
|
obj-$(CONFIG_SERIAL_KS8695) += serial_ks8695.o
|
|
obj-$(CONFIG_SERIAL_OMAP) += omap-serial.o
|
|
obj-$(CONFIG_SERIAL_ALTERA_UART) += altera_uart.o
|
|
obj-$(CONFIG_SERIAL_ST_ASC) += st-asc.o
|
|
obj-$(CONFIG_SERIAL_QE) += ucc_uart.o
|
|
obj-$(CONFIG_SERIAL_TIMBERDALE) += timbuart.o
|
|
obj-$(CONFIG_SERIAL_GRLIB_GAISLER_APBUART) += apbuart.o
|
|
obj-$(CONFIG_SERIAL_ALTERA_JTAGUART) += altera_jtaguart.o
|
|
obj-$(CONFIG_SERIAL_VT8500) += vt8500_serial.o
|
|
obj-$(CONFIG_SERIAL_IFX6X60) += ifx6x60.o
|
|
obj-$(CONFIG_SERIAL_PCH_UART) += pch_uart.o
|
|
obj-$(CONFIG_SERIAL_MXS_AUART) += mxs-auart.o
|
|
obj-$(CONFIG_SERIAL_LANTIQ) += lantiq.o
|
|
obj-$(CONFIG_SERIAL_XILINX_PS_UART) += xilinx_uartps.o
|
|
obj-$(CONFIG_SERIAL_SIRFSOC) += sirfsoc_uart.o
|
|
obj-$(CONFIG_SERIAL_TEGRA) += serial-tegra.o
|
|
obj-$(CONFIG_SERIAL_TEGRA_TCU) += tegra-tcu.o
|
|
obj-$(CONFIG_SERIAL_AR933X) += ar933x_uart.o
|
|
obj-$(CONFIG_SERIAL_EFM32_UART) += efm32-uart.o
|
|
obj-$(CONFIG_SERIAL_ARC) += arc_uart.o
|
|
obj-$(CONFIG_SERIAL_RP2) += rp2.o
|
|
obj-$(CONFIG_SERIAL_FSL_LPUART) += fsl_lpuart.o
|
|
obj-$(CONFIG_SERIAL_CONEXANT_DIGICOLOR) += digicolor-usart.o
|
|
obj-$(CONFIG_SERIAL_MEN_Z135) += men_z135_uart.o
|
|
obj-$(CONFIG_SERIAL_SPRD) += sprd_serial.o
|
|
obj-$(CONFIG_SERIAL_STM32) += stm32-usart.o
|
|
obj-$(CONFIG_SERIAL_MVEBU_UART) += mvebu-uart.o
|
|
obj-$(CONFIG_SERIAL_PIC32) += pic32_uart.o
|
|
obj-$(CONFIG_SERIAL_MPS2_UART) += mps2-uart.o
|
|
obj-$(CONFIG_SERIAL_OWL) += owl-uart.o
|
|
obj-$(CONFIG_SERIAL_RDA) += rda-uart.o
|
|
obj-$(CONFIG_SERIAL_MILBEAUT_USIO) += milbeaut_usio.o
|
|
obj-$(CONFIG_SERIAL_SIFIVE) += sifive.o
|
|
|
|
# GPIOLIB helpers for modem control lines
|
|
obj-$(CONFIG_SERIAL_MCTRL_GPIO) += serial_mctrl_gpio.o
|
|
|
|
obj-$(CONFIG_SERIAL_KGDB_NMI) += kgdb_nmi.o
|
|
obj-$(CONFIG_KGDB_SERIAL_CONSOLE) += kgdboc.o
|