123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489 |
- # SPDX-License-Identifier: GPL-2.0
- #
- # The 8250/16550 serial drivers. You shouldn't be in this list unless
- # you somehow have an implicit or explicit dependency on SERIAL_8250.
- #
- config SERIAL_8250
- tristate "8250/16550 and compatible serial support"
- depends on !S390
- select SERIAL_CORE
- select SERIAL_MCTRL_GPIO if GPIOLIB
- ---help---
- This selects whether you want to include the driver for the standard
- serial ports. The standard answer is Y. People who might say N
- here are those that are setting up dedicated Ethernet WWW/FTP
- servers, or users that have one of the various bus mice instead of a
- serial mouse and don't intend to use their machine's standard serial
- port for anything. (Note that the Cyclades multi serial port driver
- does not need this driver built in for it to work.)
- To compile this driver as a module, choose M here: the
- module will be called 8250.
- [WARNING: Do not compile this driver as a module if you are using
- non-standard serial ports, since the configuration information will
- be lost when the driver is unloaded. This limitation may be lifted
- in the future.]
- BTW1: If you have a mouseman serial mouse which is not recognized by
- the X window system, try running gpm first.
- BTW2: If you intend to use a software modem (also called Winmodem)
- under Linux, forget it. These modems are crippled and require
- proprietary drivers which are only available under Windows.
- Most people will say Y or M here, so that they can use serial mice,
- modems and similar devices connecting to the standard serial ports.
- config SERIAL_8250_DEPRECATED_OPTIONS
- bool "Support 8250_core.* kernel options (DEPRECATED)"
- depends on SERIAL_8250
- default y
- ---help---
- In 3.7 we renamed 8250 to 8250_core by mistake, so now we have to
- accept kernel parameters in both forms like 8250_core.nr_uarts=4 and
- 8250.nr_uarts=4. We now renamed the module back to 8250, but if
- anybody noticed in 3.7 and changed their userspace we still have to
- keep the 8250_core.* options around until they revert the changes
- they already did.
- If 8250 is built as a module, this adds 8250_core alias instead.
- If you did not notice yet and/or you have userspace from pre-3.7, it
- is safe (and recommended) to say N here.
- config SERIAL_8250_PNP
- bool "8250/16550 PNP device support" if EXPERT
- depends on SERIAL_8250 && PNP
- default y
- ---help---
- This builds standard PNP serial support. You may be able to
- disable this feature if you only need legacy serial support.
- config SERIAL_8250_FINTEK
- bool "Support for Fintek F81216A LPC to 4 UART RS485 API"
- depends on SERIAL_8250
- ---help---
- Selecting this option will add support for the RS485 capabilities
- of the Fintek F81216A LPC to 4 UART.
- If this option is not selected the device will be configured as a
- standard 16550A serial port.
- If unsure, say N.
- config SERIAL_8250_CONSOLE
- bool "Console on 8250/16550 and compatible serial port"
- depends on SERIAL_8250=y
- select SERIAL_CORE_CONSOLE
- select SERIAL_EARLYCON
- ---help---
- If you say Y here, it will be possible to use a serial port as the
- system console (the system console is the device which receives all
- kernel messages and warnings and which allows logins in single user
- mode). This could be useful if some terminal or printer is connected
- to that serial port.
- Even if you say Y here, the currently visible virtual console
- (/dev/tty0) will still be used as the system console by default, but
- you can alter that using a kernel command line option such as
- "console=ttyS1". (Try "man bootparam" or see the documentation of
- your boot loader (grub or lilo or loadlin) about how to pass options
- to the kernel at boot time.)
- If you don't have a VGA card installed and you say Y here, the
- kernel will automatically use the first serial line, /dev/ttyS0, as
- system console.
- You can set that using a kernel command line option such as
- "console=uart8250,io,0x3f8,9600n8"
- "console=uart8250,mmio,0xff5e0000,115200n8".
- and it will switch to normal serial console when the corresponding
- port is ready.
- "earlycon=uart8250,io,0x3f8,9600n8"
- "earlycon=uart8250,mmio,0xff5e0000,115200n8".
- it will not only setup early console.
- If unsure, say N.
- config SERIAL_8250_GSC
- tristate
- depends on SERIAL_8250 && GSC
- default SERIAL_8250
- config SERIAL_8250_DMA
- bool "DMA support for 16550 compatible UART controllers" if EXPERT
- depends on SERIAL_8250 && DMADEVICES=y
- default SERIAL_8250
- help
- This builds DMA support that can be used with 8250/16650
- compatible UART controllers that support DMA signaling.
- config SERIAL_8250_PCI
- tristate "8250/16550 PCI device support"
- depends on SERIAL_8250 && PCI
- default SERIAL_8250
- help
- This builds standard PCI serial support. You may be able to
- disable this feature if you only need legacy serial support.
- Saves about 9K.
- Note that serial ports on NetMos 9835 Multi-I/O cards are handled
- by the parport_serial driver, enabled with CONFIG_PARPORT_SERIAL.
- config SERIAL_8250_EXAR
- tristate "8250/16550 Exar/Commtech PCI/PCIe device support"
- depends on SERIAL_8250_PCI
- default SERIAL_8250
- help
- This builds support for XR17C1xx, XR17V3xx and some Commtech
- 422x PCIe serial cards that are not covered by the more generic
- SERIAL_8250_PCI option.
- config SERIAL_8250_HP300
- tristate
- depends on SERIAL_8250 && HP300
- default SERIAL_8250
- config SERIAL_8250_CS
- tristate "8250/16550 PCMCIA device support"
- depends on PCMCIA && SERIAL_8250
- ---help---
- Say Y here to enable support for 16-bit PCMCIA serial devices,
- including serial port cards, modems, and the modem functions of
- multi-function Ethernet/modem cards. (PCMCIA- or PC-cards are
- credit-card size devices often used with laptops.)
- To compile this driver as a module, choose M here: the
- module will be called serial_cs.
- If unsure, say N.
- config SERIAL_8250_MEN_MCB
- tristate "MEN MCB UART device support"
- depends on MCB && SERIAL_8250
- help
- This enables support for FPGA based UARTs found on many MEN
- boards. This driver enables support for the 16z025, 16z057
- and 16z125 UARTs.
- To compile this driver as a module, chose M here: the
- module will be called 8250_men_mcb.
- config SERIAL_8250_NR_UARTS
- int "Maximum number of 8250/16550 serial ports"
- depends on SERIAL_8250
- default "4"
- help
- Set this to the number of serial ports you want the driver
- to support. This includes any ports discovered via ACPI or
- PCI enumeration and any ports that may be added at run-time
- via hot-plug, or any ISA multi-port serial cards.
- config SERIAL_8250_RUNTIME_UARTS
- int "Number of 8250/16550 serial ports to register at runtime"
- depends on SERIAL_8250
- range 0 SERIAL_8250_NR_UARTS
- default "4"
- help
- Set this to the maximum number of serial ports you want
- the kernel to register at boot time. This can be overridden
- with the module parameter "nr_uarts", or boot-time parameter
- 8250.nr_uarts
- config SERIAL_8250_EXTENDED
- bool "Extended 8250/16550 serial driver options"
- depends on SERIAL_8250
- help
- If you wish to use any non-standard features of the standard "dumb"
- driver, say Y here. This includes HUB6 support, shared serial
- interrupts, special multiport support, support for more than the
- four COM 1/2/3/4 boards, etc.
- Note that the answer to this question won't directly affect the
- kernel: saying N will just cause the configurator to skip all
- the questions about serial driver options. If unsure, say N.
- config SERIAL_8250_MANY_PORTS
- bool "Support more than 4 legacy serial ports"
- depends on SERIAL_8250_EXTENDED && !IA64
- help
- Say Y here if you have dumb serial boards other than the four
- standard COM 1/2/3/4 ports. This may happen if you have an AST
- FourPort, Accent Async, Boca (read the Boca mini-HOWTO, available
- from <http://www.tldp.org/docs.html#howto>), or other custom
- serial port hardware which acts similar to standard serial port
- hardware. If you only use the standard COM 1/2/3/4 ports, you can
- say N here to save some memory. You can also say Y if you have an
- "intelligent" multiport card such as Cyclades, Digiboards, etc.
- #
- # Multi-port serial cards
- #
- config SERIAL_8250_FOURPORT
- tristate "Support Fourport cards"
- depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
- help
- Say Y here if you have an AST FourPort serial board.
- To compile this driver as a module, choose M here: the module
- will be called 8250_fourport.
- config SERIAL_8250_ACCENT
- tristate "Support Accent cards"
- depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
- help
- Say Y here if you have an Accent Async serial board.
- To compile this driver as a module, choose M here: the module
- will be called 8250_accent.
- config SERIAL_8250_ASPEED_VUART
- tristate "Aspeed Virtual UART"
- depends on SERIAL_8250
- depends on OF
- help
- If you want to use the virtual UART (VUART) device on Aspeed
- BMC platforms, enable this option. This enables the 16550A-
- compatible device on the local LPC bus, giving a UART device
- with no physical RS232 connections.
- config SERIAL_8250_BOCA
- tristate "Support Boca cards"
- depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
- help
- Say Y here if you have a Boca serial board. Please read the Boca
- mini-HOWTO, available from <http://www.tldp.org/docs.html#howto>
- To compile this driver as a module, choose M here: the module
- will be called 8250_boca.
- config SERIAL_8250_EXAR_ST16C554
- tristate "Support Exar ST16C554/554D Quad UART"
- depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
- help
- The Uplogix Envoy TU301 uses this Exar Quad UART. If you are
- tinkering with your Envoy TU301, or have a machine with this UART,
- say Y here.
- To compile this driver as a module, choose M here: the module
- will be called 8250_exar_st16c554.
- config SERIAL_8250_HUB6
- tristate "Support Hub6 cards"
- depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
- help
- Say Y here if you have a HUB6 serial board.
- To compile this driver as a module, choose M here: the module
- will be called 8250_hub6.
- #
- # Misc. options/drivers.
- #
- config SERIAL_8250_SHARE_IRQ
- bool "Support for sharing serial interrupts"
- depends on SERIAL_8250_EXTENDED
- help
- Some serial boards have hardware support which allows multiple dumb
- serial ports on the same board to share a single IRQ. To enable
- support for this in the serial driver, say Y here.
- config SERIAL_8250_DETECT_IRQ
- bool "Autodetect IRQ on standard ports (unsafe)"
- depends on SERIAL_8250_EXTENDED
- help
- Say Y here if you want the kernel to try to guess which IRQ
- to use for your serial port.
- This is considered unsafe; it is far better to configure the IRQ in
- a boot script using the setserial command.
- If unsure, say N.
- config SERIAL_8250_RSA
- bool "Support RSA serial ports"
- depends on SERIAL_8250_EXTENDED
- help
- Say Y here if you have a IODATA RSA-DV II/S ISA card and
- would like to use its >115kbps speeds.
- You will need to provide module parameter "probe_rsa", or boot-time
- parameter 8250.probe_rsa with I/O addresses of this card then.
- If you don't have such card, or if unsure, say N.
- config SERIAL_8250_DWLIB
- bool
- config SERIAL_8250_ACORN
- tristate "Acorn expansion card serial port support"
- depends on ARCH_ACORN && SERIAL_8250
- help
- If you have an Atomwide Serial card or Serial Port card for an Acorn
- system, say Y to this option. The driver can handle 1, 2, or 3 port
- cards. If unsure, say N.
- config SERIAL_8250_BCM2835AUX
- tristate "BCM2835 auxiliar mini UART support"
- depends on ARCH_BCM2835 || COMPILE_TEST
- depends on SERIAL_8250 && SERIAL_8250_SHARE_IRQ
- help
- Support for the BCM2835 auxiliar mini UART.
- Features and limitations of the UART are
- Registers are similar to 16650 registers,
- set bits in the control registers that are unsupported
- are ignored and read back as 0
- 7/8 bit operation with 1 start and 1 stop bit
- 8 symbols deep fifo for rx and tx
- SW controlled RTS and SW readable CTS
- Clock rate derived from system clock
- Uses 8 times oversampling (compared to 16 times for 16650)
- Missing break detection (but break generation)
- Missing framing error detection
- Missing parity bit
- Missing receive time-out interrupt
- Missing DCD, DSR, DTR and RI signals
- If unsure, say N.
- config SERIAL_8250_FSL
- bool
- depends on SERIAL_8250_CONSOLE
- default PPC || ARM || ARM64
- config SERIAL_8250_DW
- tristate "Support for Synopsys DesignWare 8250 quirks"
- depends on SERIAL_8250
- select SERIAL_8250_DWLIB
- help
- Selecting this option will enable handling of the extra features
- present in the Synopsys DesignWare APB UART.
- config SERIAL_8250_EM
- tristate "Support for Emma Mobile integrated serial port"
- depends on SERIAL_8250 && ARM && HAVE_CLK
- help
- Selecting this option will add support for the integrated serial
- port hardware found on the Emma Mobile line of processors.
- If unsure, say N.
- config SERIAL_8250_RT288X
- bool "Ralink RT288x/RT305x/RT3662/RT3883 serial port support"
- depends on SERIAL_8250
- default y if MIPS_ALCHEMY || SOC_RT288X || SOC_RT305X || SOC_RT3883 || SOC_MT7620
- help
- Selecting this option will add support for the alternate register
- layout used by Ralink RT288x/RT305x, Alchemy Au1xxx, and some others.
- If unsure, say N.
- config SERIAL_8250_OMAP
- tristate "Support for OMAP internal UART (8250 based driver)"
- depends on SERIAL_8250 && (ARCH_OMAP2PLUS || ARCH_K3)
- help
- If you have a machine based on an Texas Instruments OMAP CPU you
- can enable its onboard serial ports by enabling this option.
- This driver uses ttyS instead of ttyO.
- config SERIAL_8250_OMAP_TTYO_FIXUP
- bool "Replace ttyO with ttyS"
- depends on SERIAL_8250_OMAP=y && SERIAL_8250_CONSOLE
- default y
- help
- This option replaces the "console=ttyO" argument with the matching
- ttyS argument if the user did not specified it on the command line.
- This ensures that the user can see the kernel output during boot
- which he wouldn't see otherwise. The getty has still to be configured
- for ttyS instead of ttyO regardless of this option.
- This option is intended for people who "automatically" enable this
- driver without knowing that this driver requires a different console=
- argument. If you read this, please keep this option disabled and
- instead update your kernel command line. If you prepare a kernel for a
- distribution or other kind of larger user base then you probably want
- to keep this option enabled. Otherwise people might complain about a
- not booting kernel because the serial console remains silent in case
- they forgot to update the command line.
- config SERIAL_8250_LPC18XX
- tristate "NXP LPC18xx/43xx serial port support"
- depends on SERIAL_8250 && OF && (ARCH_LPC18XX || COMPILE_TEST)
- default ARCH_LPC18XX
- help
- If you have a LPC18xx/43xx based board and want to use the
- serial port, say Y to this option. If unsure, say Y.
- config SERIAL_8250_MT6577
- tristate "Mediatek serial port support"
- depends on SERIAL_8250 && ARCH_MEDIATEK
- help
- If you have a Mediatek based board and want to use the
- serial port, say Y to this option. If unsure, say N.
- config SERIAL_8250_UNIPHIER
- tristate "Support for UniPhier on-chip UART"
- depends on SERIAL_8250
- depends on ARCH_UNIPHIER || COMPILE_TEST
- help
- If you have a UniPhier based board and want to use the on-chip
- serial ports, say Y to this option. If unsure, say N.
- config SERIAL_8250_INGENIC
- tristate "Support for Ingenic SoC serial ports"
- depends on SERIAL_8250
- depends on OF_FLATTREE
- depends on MIPS || COMPILE_TEST
- help
- If you have a system using an Ingenic SoC and wish to make use of
- its UARTs, say Y to this option. If unsure, say N.
- config SERIAL_8250_LPSS
- tristate "Support for serial ports on Intel LPSS platforms"
- default SERIAL_8250
- depends on SERIAL_8250 && PCI
- depends on X86 || COMPILE_TEST
- select SERIAL_8250_DWLIB
- select DW_DMAC_CORE if SERIAL_8250_DMA
- select DW_DMAC_PCI if (SERIAL_8250_DMA && X86_INTEL_LPSS)
- select RATIONAL
- help
- Selecting this option will enable handling of the extra features
- present on the UART found on various Intel platforms such as:
- - Intel Baytrail SoC
- - Intel Braswell SoC
- - Intel Quark X1000 SoC
- config SERIAL_8250_MID
- tristate "Support for serial ports on Intel MID platforms"
- default SERIAL_8250
- depends on SERIAL_8250 && PCI
- depends on X86 || COMPILE_TEST
- select HSU_DMA if SERIAL_8250_DMA
- select HSU_DMA_PCI if (HSU_DMA && X86_INTEL_MID)
- select RATIONAL
- help
- Selecting this option will enable handling of the extra features
- present on the UART found on Intel Medfield SOC and various other
- Intel platforms.
- config SERIAL_8250_PXA
- tristate "PXA serial port support"
- depends on SERIAL_8250
- depends on ARCH_PXA || ARCH_MMP
- help
- If you have a machine based on an Intel XScale PXA2xx CPU you can
- enable its onboard serial ports by enabling this option. The option is
- applicable to both devicetree and legacy boards, and early console is
- part of its support.
- config SERIAL_OF_PLATFORM
- tristate "Devicetree based probing for 8250 ports"
- depends on SERIAL_8250 && OF
- help
- This option is used for all 8250 compatible serial ports that
- are probed through devicetree, including Open Firmware based
- PowerPC systems and embedded systems on architectures using the
- flattened device tree format.
|