1# SPDX-License-Identifier: GPL-2.0
2#
3# Makefile for the kernel serial device drivers.
4#
5
6obj-$(CONFIG_SERIAL_CORE) += serial_core.o
7
8obj-$(CONFIG_SERIAL_EARLYCON) += earlycon.o
9obj-$(CONFIG_SERIAL_EARLYCON_SEMIHOST) += earlycon-semihost.o
10obj-$(CONFIG_SERIAL_EARLYCON_RISCV_SBI) += earlycon-riscv-sbi.o
11
12# These Sparc drivers have to appear before others such as 8250
13# which share ttySx minor node space.  Otherwise console device
14# names change and other unplesantries.
15obj-$(CONFIG_SERIAL_SUNCORE) += suncore.o
16obj-$(CONFIG_SERIAL_SUNHV) += sunhv.o
17obj-$(CONFIG_SERIAL_SUNZILOG) += sunzilog.o
18obj-$(CONFIG_SERIAL_SUNSU) += sunsu.o
19obj-$(CONFIG_SERIAL_SUNSAB) += sunsab.o
20
21obj-$(CONFIG_SERIAL_21285) += 21285.o
22
23# Now bring in any enabled 8250/16450/16550 type drivers.
24obj-$(CONFIG_SERIAL_8250) += 8250/
25
26obj-$(CONFIG_SERIAL_AMBA_PL010) += amba-pl010.o
27obj-$(CONFIG_SERIAL_AMBA_PL011) += amba-pl011.o
28obj-$(CONFIG_SERIAL_CLPS711X) += clps711x.o
29obj-$(CONFIG_SERIAL_PXA_NON8250) += pxa.o
30obj-$(CONFIG_SERIAL_SA1100) += sa1100.o
31obj-$(CONFIG_SERIAL_BCM63XX) += bcm63xx_uart.o
32obj-$(CONFIG_SERIAL_SAMSUNG) += samsung_tty.o
33obj-$(CONFIG_SERIAL_MAX3100) += max3100.o
34obj-$(CONFIG_SERIAL_MAX310X) += max310x.o
35obj-$(CONFIG_SERIAL_IP22_ZILOG) += ip22zilog.o
36obj-$(CONFIG_SERIAL_MUX) += mux.o
37obj-$(CONFIG_SERIAL_MCF) += mcf.o
38obj-$(CONFIG_SERIAL_PMACZILOG) += pmac_zilog.o
39obj-$(CONFIG_SERIAL_HS_LPC32XX) += lpc32xx_hs.o
40obj-$(CONFIG_SERIAL_DZ) += dz.o
41obj-$(CONFIG_SERIAL_ZS) += zs.o
42obj-$(CONFIG_SERIAL_SH_SCI) += sh-sci.o
43obj-$(CONFIG_SERIAL_CPM) += cpm_uart/
44obj-$(CONFIG_SERIAL_IMX) += imx.o
45obj-$(CONFIG_SERIAL_IMX_EARLYCON) += imx_earlycon.o
46obj-$(CONFIG_SERIAL_MPC52xx) += mpc52xx_uart.o
47obj-$(CONFIG_SERIAL_ICOM) += icom.o
48obj-$(CONFIG_SERIAL_MESON) += meson_uart.o
49obj-$(CONFIG_SERIAL_SB1250_DUART) += sb1250-duart.o
50obj-$(CONFIG_SERIAL_SCCNXP) += sccnxp.o
51obj-$(CONFIG_SERIAL_SC16IS7XX_CORE) += sc16is7xx.o
52obj-$(CONFIG_SERIAL_JSM) += jsm/
53obj-$(CONFIG_SERIAL_TXX9) += serial_txx9.o
54obj-$(CONFIG_SERIAL_ATMEL) += atmel_serial.o
55obj-$(CONFIG_SERIAL_UARTLITE) += uartlite.o
56obj-$(CONFIG_SERIAL_MSM) += msm_serial.o
57obj-$(CONFIG_SERIAL_QCOM_GENI) += qcom_geni_serial.o
58obj-$(CONFIG_SERIAL_OMAP) += omap-serial.o
59obj-$(CONFIG_SERIAL_ALTERA_UART) += altera_uart.o
60obj-$(CONFIG_SERIAL_ST_ASC) += st-asc.o
61obj-$(CONFIG_SERIAL_QE) += ucc_uart.o
62obj-$(CONFIG_SERIAL_TIMBERDALE)	+= timbuart.o
63obj-$(CONFIG_SERIAL_GRLIB_GAISLER_APBUART) += apbuart.o
64obj-$(CONFIG_SERIAL_ALTERA_JTAGUART) += altera_jtaguart.o
65obj-$(CONFIG_SERIAL_VT8500) += vt8500_serial.o
66obj-$(CONFIG_SERIAL_PCH_UART)	+= pch_uart.o
67obj-$(CONFIG_SERIAL_MXS_AUART) += mxs-auart.o
68obj-$(CONFIG_SERIAL_LANTIQ)	+= lantiq.o
69obj-$(CONFIG_SERIAL_XILINX_PS_UART) += xilinx_uartps.o
70obj-$(CONFIG_SERIAL_TEGRA) += serial-tegra.o
71obj-$(CONFIG_SERIAL_TEGRA_TCU) += tegra-tcu.o
72obj-$(CONFIG_SERIAL_AR933X)   += ar933x_uart.o
73obj-$(CONFIG_SERIAL_ARC)	+= arc_uart.o
74obj-$(CONFIG_SERIAL_RP2)	+= rp2.o
75obj-$(CONFIG_SERIAL_FSL_LPUART)	+= fsl_lpuart.o
76obj-$(CONFIG_SERIAL_FSL_LINFLEXUART)	+= fsl_linflexuart.o
77obj-$(CONFIG_SERIAL_CONEXANT_DIGICOLOR)	+= digicolor-usart.o
78obj-$(CONFIG_SERIAL_MEN_Z135)	+= men_z135_uart.o
79obj-$(CONFIG_SERIAL_SPRD) += sprd_serial.o
80obj-$(CONFIG_SERIAL_STM32)	+= stm32-usart.o
81obj-$(CONFIG_SERIAL_MVEBU_UART)	+= mvebu-uart.o
82obj-$(CONFIG_SERIAL_PIC32)	+= pic32_uart.o
83obj-$(CONFIG_SERIAL_MPS2_UART)	+= mps2-uart.o
84obj-$(CONFIG_SERIAL_OWL)	+= owl-uart.o
85obj-$(CONFIG_SERIAL_RDA)	+= rda-uart.o
86obj-$(CONFIG_SERIAL_MILBEAUT_USIO) += milbeaut_usio.o
87obj-$(CONFIG_SERIAL_SIFIVE)	+= sifive.o
88obj-$(CONFIG_SERIAL_LITEUART) += liteuart.o
89obj-$(CONFIG_SERIAL_SUNPLUS)	+= sunplus-uart.o
90
91# GPIOLIB helpers for modem control lines
92obj-$(CONFIG_SERIAL_MCTRL_GPIO)	+= serial_mctrl_gpio.o
93
94obj-$(CONFIG_SERIAL_KGDB_NMI) += kgdb_nmi.o
95obj-$(CONFIG_KGDB_SERIAL_CONSOLE) += kgdboc.o
96