162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# The 8250/16550 serial drivers. You shouldn't be in this list unless 462306a36Sopenharmony_ci# you somehow have an implicit or explicit dependency on SERIAL_8250. 562306a36Sopenharmony_ci# 662306a36Sopenharmony_ci 762306a36Sopenharmony_ciconfig SERIAL_8250 862306a36Sopenharmony_ci tristate "8250/16550 and compatible serial support" 962306a36Sopenharmony_ci depends on !S390 1062306a36Sopenharmony_ci select SERIAL_CORE 1162306a36Sopenharmony_ci select SERIAL_MCTRL_GPIO if GPIOLIB 1262306a36Sopenharmony_ci help 1362306a36Sopenharmony_ci This selects whether you want to include the driver for the standard 1462306a36Sopenharmony_ci serial ports. The standard answer is Y. People who might say N 1562306a36Sopenharmony_ci here are those that are setting up dedicated Ethernet WWW/FTP 1662306a36Sopenharmony_ci servers, or users that have one of the various bus mice instead of a 1762306a36Sopenharmony_ci serial mouse and don't intend to use their machine's standard serial 1862306a36Sopenharmony_ci port for anything. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 2162306a36Sopenharmony_ci module will be called 8250. 2262306a36Sopenharmony_ci [WARNING: Do not compile this driver as a module if you are using 2362306a36Sopenharmony_ci non-standard serial ports, since the configuration information will 2462306a36Sopenharmony_ci be lost when the driver is unloaded. This limitation may be lifted 2562306a36Sopenharmony_ci in the future.] 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci BTW1: If you have a mouseman serial mouse which is not recognized by 2862306a36Sopenharmony_ci the X window system, try running gpm first. 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci BTW2: If you intend to use a software modem (also called Winmodem) 3162306a36Sopenharmony_ci under Linux, forget it. These modems are crippled and require 3262306a36Sopenharmony_ci proprietary drivers which are only available under Windows. 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci Most people will say Y or M here, so that they can use serial mice, 3562306a36Sopenharmony_ci modems and similar devices connecting to the standard serial ports. 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ciconfig SERIAL_8250_DEPRECATED_OPTIONS 3862306a36Sopenharmony_ci bool "Support 8250_core.* kernel options (DEPRECATED)" 3962306a36Sopenharmony_ci depends on SERIAL_8250 4062306a36Sopenharmony_ci default y 4162306a36Sopenharmony_ci help 4262306a36Sopenharmony_ci In 3.7 we renamed 8250 to 8250_core by mistake, so now we have to 4362306a36Sopenharmony_ci accept kernel parameters in both forms like 8250_core.nr_uarts=4 and 4462306a36Sopenharmony_ci 8250.nr_uarts=4. We now renamed the module back to 8250, but if 4562306a36Sopenharmony_ci anybody noticed in 3.7 and changed their userspace we still have to 4662306a36Sopenharmony_ci keep the 8250_core.* options around until they revert the changes 4762306a36Sopenharmony_ci they already did. 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci If 8250 is built as a module, this adds 8250_core alias instead. 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci If you did not notice yet and/or you have userspace from pre-3.7, it 5262306a36Sopenharmony_ci is safe (and recommended) to say N here. 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciconfig SERIAL_8250_PNP 5562306a36Sopenharmony_ci bool "8250/16550 PNP device support" if EXPERT 5662306a36Sopenharmony_ci depends on SERIAL_8250 && PNP 5762306a36Sopenharmony_ci default y 5862306a36Sopenharmony_ci help 5962306a36Sopenharmony_ci This builds standard PNP serial support. You may be able to 6062306a36Sopenharmony_ci disable this feature if you only need legacy serial support. 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ciconfig SERIAL_8250_16550A_VARIANTS 6362306a36Sopenharmony_ci bool "Support for variants of the 16550A serial port" 6462306a36Sopenharmony_ci depends on SERIAL_8250 6562306a36Sopenharmony_ci default !X86 6662306a36Sopenharmony_ci help 6762306a36Sopenharmony_ci The 8250 driver can probe for many variants of the venerable 16550A 6862306a36Sopenharmony_ci serial port. Doing so takes additional time at boot. 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci On modern systems, especially those using serial only for a simple 7162306a36Sopenharmony_ci console, you can say N here. 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ciconfig SERIAL_8250_FINTEK 7462306a36Sopenharmony_ci bool "Support for Fintek variants" 7562306a36Sopenharmony_ci depends on SERIAL_8250 7662306a36Sopenharmony_ci help 7762306a36Sopenharmony_ci Selecting this option will add support for the RS232 and RS485 7862306a36Sopenharmony_ci capabilities of the Fintek F81216A LPC to 4 UART as well similar 7962306a36Sopenharmony_ci variants. 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci If this option is not selected the device will be configured as a 8262306a36Sopenharmony_ci standard 16550A serial port, however the device may not function 8362306a36Sopenharmony_ci correctly without this option enabled. 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci If unsure, say N. 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ciconfig SERIAL_8250_CONSOLE 8862306a36Sopenharmony_ci bool "Console on 8250/16550 and compatible serial port" 8962306a36Sopenharmony_ci depends on SERIAL_8250=y 9062306a36Sopenharmony_ci select SERIAL_CORE_CONSOLE 9162306a36Sopenharmony_ci select SERIAL_EARLYCON 9262306a36Sopenharmony_ci help 9362306a36Sopenharmony_ci If you say Y here, it will be possible to use a serial port as the 9462306a36Sopenharmony_ci system console (the system console is the device which receives all 9562306a36Sopenharmony_ci kernel messages and warnings and which allows logins in single user 9662306a36Sopenharmony_ci mode). This could be useful if some terminal or printer is connected 9762306a36Sopenharmony_ci to that serial port. 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci Even if you say Y here, the currently visible virtual console 10062306a36Sopenharmony_ci (/dev/tty0) will still be used as the system console by default, but 10162306a36Sopenharmony_ci you can alter that using a kernel command line option such as 10262306a36Sopenharmony_ci "console=ttyS1". (Try "man bootparam" or see the documentation of 10362306a36Sopenharmony_ci your boot loader (grub or lilo or loadlin) about how to pass options 10462306a36Sopenharmony_ci to the kernel at boot time.) 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci If you don't have a VGA card installed and you say Y here, the 10762306a36Sopenharmony_ci kernel will automatically use the first serial line, /dev/ttyS0, as 10862306a36Sopenharmony_ci system console. 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci You can set that using a kernel command line option such as 11162306a36Sopenharmony_ci "console=uart8250,io,0x3f8,9600n8" 11262306a36Sopenharmony_ci "console=uart8250,mmio,0xff5e0000,115200n8". 11362306a36Sopenharmony_ci and it will switch to normal serial console when the corresponding 11462306a36Sopenharmony_ci port is ready. 11562306a36Sopenharmony_ci "earlycon=uart8250,io,0x3f8,9600n8" 11662306a36Sopenharmony_ci "earlycon=uart8250,mmio,0xff5e0000,115200n8". 11762306a36Sopenharmony_ci it will not only setup early console. 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci If unsure, say N. 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ciconfig SERIAL_8250_PARISC 12262306a36Sopenharmony_ci tristate 12362306a36Sopenharmony_ci depends on SERIAL_8250 && PARISC 12462306a36Sopenharmony_ci default SERIAL_8250 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_ciconfig SERIAL_8250_DMA 12762306a36Sopenharmony_ci bool "DMA support for 16550 compatible UART controllers" if EXPERT 12862306a36Sopenharmony_ci depends on SERIAL_8250 && DMADEVICES=y 12962306a36Sopenharmony_ci default SERIAL_8250 13062306a36Sopenharmony_ci help 13162306a36Sopenharmony_ci This builds DMA support that can be used with 8250/16650 13262306a36Sopenharmony_ci compatible UART controllers that support DMA signaling. 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ciconfig SERIAL_8250_PCILIB 13562306a36Sopenharmony_ci bool 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ciconfig SERIAL_8250_PCI 13862306a36Sopenharmony_ci tristate "8250/16550 PCI device support" 13962306a36Sopenharmony_ci depends on SERIAL_8250 && PCI 14062306a36Sopenharmony_ci select SERIAL_8250_PCILIB 14162306a36Sopenharmony_ci default SERIAL_8250 14262306a36Sopenharmony_ci help 14362306a36Sopenharmony_ci This builds standard PCI serial support. You may be able to 14462306a36Sopenharmony_ci disable this feature if you only need legacy serial support. 14562306a36Sopenharmony_ci Saves about 9K. 14662306a36Sopenharmony_ci Note that serial ports on NetMos 9835 Multi-I/O cards are handled 14762306a36Sopenharmony_ci by the parport_serial driver, enabled with CONFIG_PARPORT_SERIAL. 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ciconfig SERIAL_8250_EXAR 15062306a36Sopenharmony_ci tristate "8250/16550 Exar/Commtech PCI/PCIe device support" 15162306a36Sopenharmony_ci depends on SERIAL_8250_PCI 15262306a36Sopenharmony_ci default SERIAL_8250 15362306a36Sopenharmony_ci help 15462306a36Sopenharmony_ci This builds support for XR17C1xx, XR17V3xx and some Commtech 15562306a36Sopenharmony_ci 422x PCIe serial cards that are not covered by the more generic 15662306a36Sopenharmony_ci SERIAL_8250_PCI option. 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ciconfig SERIAL_8250_HP300 15962306a36Sopenharmony_ci tristate 16062306a36Sopenharmony_ci depends on SERIAL_8250 && HP300 16162306a36Sopenharmony_ci default SERIAL_8250 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ciconfig SERIAL_8250_CS 16462306a36Sopenharmony_ci tristate "8250/16550 PCMCIA device support" 16562306a36Sopenharmony_ci depends on PCMCIA && SERIAL_8250 16662306a36Sopenharmony_ci help 16762306a36Sopenharmony_ci Say Y here to enable support for 16-bit PCMCIA serial devices, 16862306a36Sopenharmony_ci including serial port cards, modems, and the modem functions of 16962306a36Sopenharmony_ci multi-function Ethernet/modem cards. (PCMCIA- or PC-cards are 17062306a36Sopenharmony_ci credit-card size devices often used with laptops.) 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 17362306a36Sopenharmony_ci module will be called serial_cs. 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ci If unsure, say N. 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ciconfig SERIAL_8250_MEN_MCB 17862306a36Sopenharmony_ci tristate "MEN MCB UART device support" 17962306a36Sopenharmony_ci depends on MCB && SERIAL_8250 18062306a36Sopenharmony_ci help 18162306a36Sopenharmony_ci This enables support for FPGA based UARTs found on many MEN 18262306a36Sopenharmony_ci boards. This driver enables support for the 16z025, 16z057 18362306a36Sopenharmony_ci and 16z125 UARTs. 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci To compile this driver as a module, chose M here: the 18662306a36Sopenharmony_ci module will be called 8250_men_mcb. 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ciconfig SERIAL_8250_NR_UARTS 19062306a36Sopenharmony_ci int "Maximum number of 8250/16550 serial ports" 19162306a36Sopenharmony_ci depends on SERIAL_8250 19262306a36Sopenharmony_ci default "4" 19362306a36Sopenharmony_ci help 19462306a36Sopenharmony_ci Set this to the number of serial ports you want the driver 19562306a36Sopenharmony_ci to support. This includes any ports discovered via ACPI or 19662306a36Sopenharmony_ci PCI enumeration and any ports that may be added at run-time 19762306a36Sopenharmony_ci via hot-plug, or any ISA multi-port serial cards. 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ciconfig SERIAL_8250_RUNTIME_UARTS 20062306a36Sopenharmony_ci int "Number of 8250/16550 serial ports to register at runtime" 20162306a36Sopenharmony_ci depends on SERIAL_8250 20262306a36Sopenharmony_ci range 0 SERIAL_8250_NR_UARTS 20362306a36Sopenharmony_ci default "4" 20462306a36Sopenharmony_ci help 20562306a36Sopenharmony_ci Set this to the maximum number of serial ports you want 20662306a36Sopenharmony_ci the kernel to register at boot time. This can be overridden 20762306a36Sopenharmony_ci with the module parameter "nr_uarts", or boot-time parameter 20862306a36Sopenharmony_ci 8250.nr_uarts 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_ciconfig SERIAL_8250_EXTENDED 21162306a36Sopenharmony_ci bool "Extended 8250/16550 serial driver options" 21262306a36Sopenharmony_ci depends on SERIAL_8250 21362306a36Sopenharmony_ci help 21462306a36Sopenharmony_ci If you wish to use any non-standard features of the standard "dumb" 21562306a36Sopenharmony_ci driver, say Y here. This includes HUB6 support, shared serial 21662306a36Sopenharmony_ci interrupts, special multiport support, support for more than the 21762306a36Sopenharmony_ci four COM 1/2/3/4 boards, etc. 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ci Note that the answer to this question won't directly affect the 22062306a36Sopenharmony_ci kernel: saying N will just cause the configurator to skip all 22162306a36Sopenharmony_ci the questions about serial driver options. If unsure, say N. 22262306a36Sopenharmony_ci 22362306a36Sopenharmony_ciconfig SERIAL_8250_MANY_PORTS 22462306a36Sopenharmony_ci bool "Support more than 4 legacy serial ports" 22562306a36Sopenharmony_ci depends on SERIAL_8250_EXTENDED && !IA64 22662306a36Sopenharmony_ci help 22762306a36Sopenharmony_ci Say Y here if you have dumb serial boards other than the four 22862306a36Sopenharmony_ci standard COM 1/2/3/4 ports. This may happen if you have an AST 22962306a36Sopenharmony_ci FourPort, Accent Async, Boca (read the Boca mini-HOWTO, available 23062306a36Sopenharmony_ci from <https://www.tldp.org/docs.html#howto>), or other custom 23162306a36Sopenharmony_ci serial port hardware which acts similar to standard serial port 23262306a36Sopenharmony_ci hardware. If you only use the standard COM 1/2/3/4 ports, you can 23362306a36Sopenharmony_ci say N here to save some memory. You can also say Y if you have an 23462306a36Sopenharmony_ci "intelligent" multiport card such as Digiboards, etc. 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_ci# 23762306a36Sopenharmony_ci# Multi-port serial cards 23862306a36Sopenharmony_ci# 23962306a36Sopenharmony_ci 24062306a36Sopenharmony_ciconfig SERIAL_8250_FOURPORT 24162306a36Sopenharmony_ci tristate "Support Fourport cards" 24262306a36Sopenharmony_ci depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS 24362306a36Sopenharmony_ci help 24462306a36Sopenharmony_ci Say Y here if you have an AST FourPort serial board. 24562306a36Sopenharmony_ci 24662306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 24762306a36Sopenharmony_ci will be called 8250_fourport. 24862306a36Sopenharmony_ci 24962306a36Sopenharmony_ciconfig SERIAL_8250_ACCENT 25062306a36Sopenharmony_ci tristate "Support Accent cards" 25162306a36Sopenharmony_ci depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS 25262306a36Sopenharmony_ci help 25362306a36Sopenharmony_ci Say Y here if you have an Accent Async serial board. 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 25662306a36Sopenharmony_ci will be called 8250_accent. 25762306a36Sopenharmony_ci 25862306a36Sopenharmony_ciconfig SERIAL_8250_ASPEED_VUART 25962306a36Sopenharmony_ci tristate "Aspeed Virtual UART" 26062306a36Sopenharmony_ci depends on SERIAL_8250 26162306a36Sopenharmony_ci depends on OF 26262306a36Sopenharmony_ci depends on MFD_SYSCON 26362306a36Sopenharmony_ci depends on ARCH_ASPEED || COMPILE_TEST 26462306a36Sopenharmony_ci select REGMAP 26562306a36Sopenharmony_ci help 26662306a36Sopenharmony_ci If you want to use the virtual UART (VUART) device on Aspeed 26762306a36Sopenharmony_ci BMC platforms, enable this option. This enables the 16550A- 26862306a36Sopenharmony_ci compatible device on the local LPC bus, giving a UART device 26962306a36Sopenharmony_ci with no physical RS232 connections. 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ciconfig SERIAL_8250_BOCA 27262306a36Sopenharmony_ci tristate "Support Boca cards" 27362306a36Sopenharmony_ci depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS 27462306a36Sopenharmony_ci help 27562306a36Sopenharmony_ci Say Y here if you have a Boca serial board. Please read the Boca 27662306a36Sopenharmony_ci mini-HOWTO, available from <https://www.tldp.org/docs.html#howto> 27762306a36Sopenharmony_ci 27862306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 27962306a36Sopenharmony_ci will be called 8250_boca. 28062306a36Sopenharmony_ci 28162306a36Sopenharmony_ciconfig SERIAL_8250_EXAR_ST16C554 28262306a36Sopenharmony_ci tristate "Support Exar ST16C554/554D Quad UART" 28362306a36Sopenharmony_ci depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS 28462306a36Sopenharmony_ci help 28562306a36Sopenharmony_ci The Uplogix Envoy TU301 uses this Exar Quad UART. If you are 28662306a36Sopenharmony_ci tinkering with your Envoy TU301, or have a machine with this UART, 28762306a36Sopenharmony_ci say Y here. 28862306a36Sopenharmony_ci 28962306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 29062306a36Sopenharmony_ci will be called 8250_exar_st16c554. 29162306a36Sopenharmony_ci 29262306a36Sopenharmony_ciconfig SERIAL_8250_HUB6 29362306a36Sopenharmony_ci tristate "Support Hub6 cards" 29462306a36Sopenharmony_ci depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS 29562306a36Sopenharmony_ci help 29662306a36Sopenharmony_ci Say Y here if you have a HUB6 serial board. 29762306a36Sopenharmony_ci 29862306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 29962306a36Sopenharmony_ci will be called 8250_hub6. 30062306a36Sopenharmony_ci 30162306a36Sopenharmony_ciconfig SERIAL_8250_PCI1XXXX 30262306a36Sopenharmony_ci tristate "Microchip 8250 based serial port" 30362306a36Sopenharmony_ci depends on SERIAL_8250 && PCI 30462306a36Sopenharmony_ci select SERIAL_8250_PCILIB 30562306a36Sopenharmony_ci help 30662306a36Sopenharmony_ci Select this option if you have a setup with Microchip PCIe 30762306a36Sopenharmony_ci Switch with serial port enabled and wish to enable 8250 30862306a36Sopenharmony_ci serial driver for the serial interface. This driver support 30962306a36Sopenharmony_ci will ensure to support baud rates upto 1.5Mpbs. 31062306a36Sopenharmony_ci 31162306a36Sopenharmony_ci# 31262306a36Sopenharmony_ci# Misc. options/drivers. 31362306a36Sopenharmony_ci# 31462306a36Sopenharmony_ci 31562306a36Sopenharmony_ciconfig SERIAL_8250_SHARE_IRQ 31662306a36Sopenharmony_ci bool "Support for sharing serial interrupts" 31762306a36Sopenharmony_ci depends on SERIAL_8250_EXTENDED 31862306a36Sopenharmony_ci help 31962306a36Sopenharmony_ci Some serial boards have hardware support which allows multiple dumb 32062306a36Sopenharmony_ci serial ports on the same board to share a single IRQ. To enable 32162306a36Sopenharmony_ci support for this in the serial driver, say Y here. 32262306a36Sopenharmony_ci 32362306a36Sopenharmony_ciconfig SERIAL_8250_DETECT_IRQ 32462306a36Sopenharmony_ci bool "Autodetect IRQ on standard ports (unsafe)" 32562306a36Sopenharmony_ci depends on SERIAL_8250_EXTENDED 32662306a36Sopenharmony_ci help 32762306a36Sopenharmony_ci Say Y here if you want the kernel to try to guess which IRQ 32862306a36Sopenharmony_ci to use for your serial port. 32962306a36Sopenharmony_ci 33062306a36Sopenharmony_ci This is considered unsafe; it is far better to configure the IRQ in 33162306a36Sopenharmony_ci a boot script using the setserial command. 33262306a36Sopenharmony_ci 33362306a36Sopenharmony_ci If unsure, say N. 33462306a36Sopenharmony_ci 33562306a36Sopenharmony_ciconfig SERIAL_8250_RSA 33662306a36Sopenharmony_ci bool "Support RSA serial ports" 33762306a36Sopenharmony_ci depends on SERIAL_8250_EXTENDED 33862306a36Sopenharmony_ci help 33962306a36Sopenharmony_ci Say Y here if you have a IODATA RSA-DV II/S ISA card and 34062306a36Sopenharmony_ci would like to use its >115kbps speeds. 34162306a36Sopenharmony_ci You will need to provide module parameter "probe_rsa", or boot-time 34262306a36Sopenharmony_ci parameter 8250.probe_rsa with I/O addresses of this card then. 34362306a36Sopenharmony_ci 34462306a36Sopenharmony_ci If you don't have such card, or if unsure, say N. 34562306a36Sopenharmony_ci 34662306a36Sopenharmony_ciconfig SERIAL_8250_DWLIB 34762306a36Sopenharmony_ci bool 34862306a36Sopenharmony_ci 34962306a36Sopenharmony_ciconfig SERIAL_8250_ACORN 35062306a36Sopenharmony_ci tristate "Acorn expansion card serial port support" 35162306a36Sopenharmony_ci depends on ARCH_ACORN && SERIAL_8250 35262306a36Sopenharmony_ci help 35362306a36Sopenharmony_ci If you have an Atomwide Serial card or Serial Port card for an Acorn 35462306a36Sopenharmony_ci system, say Y to this option. The driver can handle 1, 2, or 3 port 35562306a36Sopenharmony_ci cards. If unsure, say N. 35662306a36Sopenharmony_ci 35762306a36Sopenharmony_ciconfig SERIAL_8250_BCM2835AUX 35862306a36Sopenharmony_ci tristate "BCM2835 auxiliar mini UART support" 35962306a36Sopenharmony_ci depends on ARCH_BCM2835 || COMPILE_TEST 36062306a36Sopenharmony_ci depends on SERIAL_8250 && SERIAL_8250_SHARE_IRQ 36162306a36Sopenharmony_ci help 36262306a36Sopenharmony_ci Support for the BCM2835 auxiliar mini UART. 36362306a36Sopenharmony_ci 36462306a36Sopenharmony_ci Features and limitations of the UART are 36562306a36Sopenharmony_ci Registers are similar to 16650 registers, 36662306a36Sopenharmony_ci set bits in the control registers that are unsupported 36762306a36Sopenharmony_ci are ignored and read back as 0 36862306a36Sopenharmony_ci 7/8 bit operation with 1 start and 1 stop bit 36962306a36Sopenharmony_ci 8 symbols deep fifo for rx and tx 37062306a36Sopenharmony_ci SW controlled RTS and SW readable CTS 37162306a36Sopenharmony_ci Clock rate derived from system clock 37262306a36Sopenharmony_ci Uses 8 times oversampling (compared to 16 times for 16650) 37362306a36Sopenharmony_ci Missing break detection (but break generation) 37462306a36Sopenharmony_ci Missing framing error detection 37562306a36Sopenharmony_ci Missing parity bit 37662306a36Sopenharmony_ci Missing receive time-out interrupt 37762306a36Sopenharmony_ci Missing DCD, DSR, DTR and RI signals 37862306a36Sopenharmony_ci 37962306a36Sopenharmony_ci If unsure, say N. 38062306a36Sopenharmony_ci 38162306a36Sopenharmony_ciconfig SERIAL_8250_FSL 38262306a36Sopenharmony_ci tristate "Freescale 16550 UART support" if COMPILE_TEST && !(PPC || ARM || ARM64) 38362306a36Sopenharmony_ci depends on SERIAL_8250 38462306a36Sopenharmony_ci default SERIAL_8250 if PPC || ARM || ARM64 38562306a36Sopenharmony_ci help 38662306a36Sopenharmony_ci Selecting this option enables a workaround for a break-detection 38762306a36Sopenharmony_ci erratum for Freescale 16550 UARTs in the 8250 driver. It also 38862306a36Sopenharmony_ci enables support for ACPI enumeration. 38962306a36Sopenharmony_ci 39062306a36Sopenharmony_ciconfig SERIAL_8250_DFL 39162306a36Sopenharmony_ci tristate "DFL bus driver for Altera 16550 UART" 39262306a36Sopenharmony_ci depends on SERIAL_8250 && FPGA_DFL 39362306a36Sopenharmony_ci help 39462306a36Sopenharmony_ci This option enables support for a Device Feature List (DFL) bus 39562306a36Sopenharmony_ci driver for the Altera 16550 UART. One or more Altera 16550 UARTs 39662306a36Sopenharmony_ci can be instantiated in a FPGA and then be discovered during 39762306a36Sopenharmony_ci enumeration of the DFL bus. 39862306a36Sopenharmony_ci 39962306a36Sopenharmony_ci To compile this driver as a module, chose M here: the 40062306a36Sopenharmony_ci module will be called 8250_dfl. 40162306a36Sopenharmony_ci 40262306a36Sopenharmony_ciconfig SERIAL_8250_DW 40362306a36Sopenharmony_ci tristate "Support for Synopsys DesignWare 8250 quirks" 40462306a36Sopenharmony_ci depends on SERIAL_8250 40562306a36Sopenharmony_ci select SERIAL_8250_DWLIB 40662306a36Sopenharmony_ci help 40762306a36Sopenharmony_ci Selecting this option will enable handling of the extra features 40862306a36Sopenharmony_ci present in the Synopsys DesignWare APB UART. 40962306a36Sopenharmony_ci 41062306a36Sopenharmony_ciconfig SERIAL_8250_EM 41162306a36Sopenharmony_ci tristate "Support for Emma Mobile integrated serial port" 41262306a36Sopenharmony_ci depends on SERIAL_8250 && HAVE_CLK 41362306a36Sopenharmony_ci depends on ARCH_RENESAS || COMPILE_TEST 41462306a36Sopenharmony_ci help 41562306a36Sopenharmony_ci Selecting this option will add support for the integrated serial 41662306a36Sopenharmony_ci port hardware found on the Emma Mobile line of processors. 41762306a36Sopenharmony_ci If unsure, say N. 41862306a36Sopenharmony_ci 41962306a36Sopenharmony_ciconfig SERIAL_8250_IOC3 42062306a36Sopenharmony_ci tristate "SGI IOC3 8250 UART support" 42162306a36Sopenharmony_ci depends on SERIAL_8250 42262306a36Sopenharmony_ci depends on SGI_MFD_IOC3 || COMPILE_TEST 42362306a36Sopenharmony_ci select SERIAL_8250_EXTENDED 42462306a36Sopenharmony_ci select SERIAL_8250_SHARE_IRQ 42562306a36Sopenharmony_ci help 42662306a36Sopenharmony_ci Enable this if you have a SGI Origin or Octane machine. This module 42762306a36Sopenharmony_ci provides basic serial support by directly driving the UART chip 42862306a36Sopenharmony_ci behind the IOC3 device on those systems. Maximum baud speed is 42962306a36Sopenharmony_ci 38400bps using this driver. 43062306a36Sopenharmony_ci 43162306a36Sopenharmony_ciconfig SERIAL_8250_RT288X 43262306a36Sopenharmony_ci bool "Ralink RT288x/RT305x/RT3662/RT3883 serial port support" 43362306a36Sopenharmony_ci depends on SERIAL_8250 43462306a36Sopenharmony_ci default y if MIPS_ALCHEMY || SOC_RT288X || SOC_RT305X || SOC_RT3883 || SOC_MT7620 43562306a36Sopenharmony_ci help 43662306a36Sopenharmony_ci Selecting this option will add support for the alternate register 43762306a36Sopenharmony_ci layout used by Ralink RT288x/RT305x, Alchemy Au1xxx, and some others. 43862306a36Sopenharmony_ci If unsure, say N. 43962306a36Sopenharmony_ci 44062306a36Sopenharmony_ciconfig SERIAL_8250_OMAP 44162306a36Sopenharmony_ci tristate "Support for OMAP internal UART (8250 based driver)" 44262306a36Sopenharmony_ci depends on SERIAL_8250 44362306a36Sopenharmony_ci depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST 44462306a36Sopenharmony_ci help 44562306a36Sopenharmony_ci If you have a machine based on an Texas Instruments OMAP CPU you 44662306a36Sopenharmony_ci can enable its onboard serial ports by enabling this option. 44762306a36Sopenharmony_ci 44862306a36Sopenharmony_ci This driver uses ttyS instead of ttyO. 44962306a36Sopenharmony_ci 45062306a36Sopenharmony_ciconfig SERIAL_8250_OMAP_TTYO_FIXUP 45162306a36Sopenharmony_ci bool "Replace ttyO with ttyS" 45262306a36Sopenharmony_ci depends on SERIAL_8250_OMAP=y && SERIAL_8250_CONSOLE 45362306a36Sopenharmony_ci default y 45462306a36Sopenharmony_ci help 45562306a36Sopenharmony_ci This option replaces the "console=ttyO" argument with the matching 45662306a36Sopenharmony_ci ttyS argument if the user did not specified it on the command line. 45762306a36Sopenharmony_ci This ensures that the user can see the kernel output during boot 45862306a36Sopenharmony_ci which he wouldn't see otherwise. The getty has still to be configured 45962306a36Sopenharmony_ci for ttyS instead of ttyO regardless of this option. 46062306a36Sopenharmony_ci This option is intended for people who "automatically" enable this 46162306a36Sopenharmony_ci driver without knowing that this driver requires a different console= 46262306a36Sopenharmony_ci argument. If you read this, please keep this option disabled and 46362306a36Sopenharmony_ci instead update your kernel command line. If you prepare a kernel for a 46462306a36Sopenharmony_ci distribution or other kind of larger user base then you probably want 46562306a36Sopenharmony_ci to keep this option enabled. Otherwise people might complain about a 46662306a36Sopenharmony_ci not booting kernel because the serial console remains silent in case 46762306a36Sopenharmony_ci they forgot to update the command line. 46862306a36Sopenharmony_ci 46962306a36Sopenharmony_ciconfig SERIAL_8250_LPC18XX 47062306a36Sopenharmony_ci tristate "NXP LPC18xx/43xx serial port support" 47162306a36Sopenharmony_ci depends on SERIAL_8250 && OF && (ARCH_LPC18XX || COMPILE_TEST) 47262306a36Sopenharmony_ci default ARCH_LPC18XX 47362306a36Sopenharmony_ci help 47462306a36Sopenharmony_ci If you have a LPC18xx/43xx based board and want to use the 47562306a36Sopenharmony_ci serial port, say Y to this option. If unsure, say Y. 47662306a36Sopenharmony_ci 47762306a36Sopenharmony_ciconfig SERIAL_8250_MT6577 47862306a36Sopenharmony_ci tristate "Mediatek serial port support" 47962306a36Sopenharmony_ci depends on SERIAL_8250 48062306a36Sopenharmony_ci depends on ARCH_MEDIATEK || COMPILE_TEST 48162306a36Sopenharmony_ci help 48262306a36Sopenharmony_ci If you have a Mediatek based board and want to use the 48362306a36Sopenharmony_ci serial port, say Y to this option. If unsure, say N. 48462306a36Sopenharmony_ci 48562306a36Sopenharmony_ciconfig SERIAL_8250_UNIPHIER 48662306a36Sopenharmony_ci tristate "Support for UniPhier on-chip UART" 48762306a36Sopenharmony_ci depends on SERIAL_8250 48862306a36Sopenharmony_ci depends on ARCH_UNIPHIER || COMPILE_TEST 48962306a36Sopenharmony_ci help 49062306a36Sopenharmony_ci If you have a UniPhier based board and want to use the on-chip 49162306a36Sopenharmony_ci serial ports, say Y to this option. If unsure, say N. 49262306a36Sopenharmony_ci 49362306a36Sopenharmony_ciconfig SERIAL_8250_INGENIC 49462306a36Sopenharmony_ci tristate "Support for Ingenic SoC serial ports" 49562306a36Sopenharmony_ci depends on SERIAL_8250 49662306a36Sopenharmony_ci depends on OF_FLATTREE 49762306a36Sopenharmony_ci depends on MIPS || COMPILE_TEST 49862306a36Sopenharmony_ci help 49962306a36Sopenharmony_ci If you have a system using an Ingenic SoC and wish to make use of 50062306a36Sopenharmony_ci its UARTs, say Y to this option. If unsure, say N. 50162306a36Sopenharmony_ci 50262306a36Sopenharmony_ciconfig SERIAL_8250_LPSS 50362306a36Sopenharmony_ci tristate "Support for serial ports on Intel LPSS platforms" 50462306a36Sopenharmony_ci default SERIAL_8250 50562306a36Sopenharmony_ci depends on SERIAL_8250 && PCI 50662306a36Sopenharmony_ci depends on X86 || COMPILE_TEST 50762306a36Sopenharmony_ci select SERIAL_8250_DWLIB 50862306a36Sopenharmony_ci select DW_DMAC_CORE if SERIAL_8250_DMA 50962306a36Sopenharmony_ci select DW_DMAC_PCI if (SERIAL_8250_DMA && X86_INTEL_LPSS) 51062306a36Sopenharmony_ci select RATIONAL 51162306a36Sopenharmony_ci help 51262306a36Sopenharmony_ci Selecting this option will enable handling of the UART found on 51362306a36Sopenharmony_ci various Intel platforms such as: 51462306a36Sopenharmony_ci - Intel Baytrail SoC 51562306a36Sopenharmony_ci - Intel Braswell SoC 51662306a36Sopenharmony_ci - Intel Quark X1000 SoC 51762306a36Sopenharmony_ci that are not covered by the more generic SERIAL_8250_PCI option. 51862306a36Sopenharmony_ci 51962306a36Sopenharmony_ciconfig SERIAL_8250_MID 52062306a36Sopenharmony_ci tristate "Support for serial ports on Intel MID platforms" 52162306a36Sopenharmony_ci default SERIAL_8250 52262306a36Sopenharmony_ci depends on SERIAL_8250 && PCI 52362306a36Sopenharmony_ci depends on X86 || COMPILE_TEST 52462306a36Sopenharmony_ci select HSU_DMA if SERIAL_8250_DMA 52562306a36Sopenharmony_ci select HSU_DMA_PCI if (HSU_DMA && X86_INTEL_MID) 52662306a36Sopenharmony_ci select RATIONAL 52762306a36Sopenharmony_ci help 52862306a36Sopenharmony_ci Selecting this option will enable handling of the UART found on 52962306a36Sopenharmony_ci Intel Medfield SOC and various other Intel platforms that is not 53062306a36Sopenharmony_ci covered by the more generic SERIAL_8250_PCI option. 53162306a36Sopenharmony_ci 53262306a36Sopenharmony_ciconfig SERIAL_8250_PERICOM 53362306a36Sopenharmony_ci tristate "Support for Pericom and Acces I/O serial ports" 53462306a36Sopenharmony_ci default SERIAL_8250 53562306a36Sopenharmony_ci depends on SERIAL_8250 && PCI 53662306a36Sopenharmony_ci help 53762306a36Sopenharmony_ci Selecting this option will enable handling of the Pericom and Acces 53862306a36Sopenharmony_ci I/O UARTs that are not covered by the more generic SERIAL_8250_PCI 53962306a36Sopenharmony_ci option. 54062306a36Sopenharmony_ci 54162306a36Sopenharmony_ciconfig SERIAL_8250_PXA 54262306a36Sopenharmony_ci tristate "PXA serial port support" 54362306a36Sopenharmony_ci depends on SERIAL_8250 54462306a36Sopenharmony_ci depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST 54562306a36Sopenharmony_ci help 54662306a36Sopenharmony_ci If you have a machine based on an Intel XScale PXA2xx CPU you can 54762306a36Sopenharmony_ci enable its onboard serial ports by enabling this option. The option is 54862306a36Sopenharmony_ci applicable to both devicetree and legacy boards, and early console is 54962306a36Sopenharmony_ci part of its support. 55062306a36Sopenharmony_ci 55162306a36Sopenharmony_ciconfig SERIAL_8250_TEGRA 55262306a36Sopenharmony_ci tristate "8250 support for Tegra serial ports" 55362306a36Sopenharmony_ci default SERIAL_8250 55462306a36Sopenharmony_ci depends on SERIAL_8250 55562306a36Sopenharmony_ci depends on ARCH_TEGRA || COMPILE_TEST 55662306a36Sopenharmony_ci help 55762306a36Sopenharmony_ci Select this option if you have machine with an NVIDIA Tegra SoC and 55862306a36Sopenharmony_ci wish to enable 8250 serial driver for the Tegra serial interfaces. 55962306a36Sopenharmony_ci 56062306a36Sopenharmony_ciconfig SERIAL_8250_BCM7271 56162306a36Sopenharmony_ci tristate "Broadcom 8250 based serial port" 56262306a36Sopenharmony_ci depends on SERIAL_8250 && (ARCH_BRCMSTB || COMPILE_TEST) 56362306a36Sopenharmony_ci default ARCH_BRCMSTB 56462306a36Sopenharmony_ci help 56562306a36Sopenharmony_ci If you have a Broadcom STB based board and want to use the 56662306a36Sopenharmony_ci enhanced features of the Broadcom 8250 based serial port, 56762306a36Sopenharmony_ci including DMA support and high accuracy BAUD rates, say 56862306a36Sopenharmony_ci Y to this option. If unsure, say N. 56962306a36Sopenharmony_ci 57062306a36Sopenharmony_ciconfig SERIAL_OF_PLATFORM 57162306a36Sopenharmony_ci tristate "Devicetree based probing for 8250 ports" 57262306a36Sopenharmony_ci depends on SERIAL_8250 && OF 57362306a36Sopenharmony_ci help 57462306a36Sopenharmony_ci This option is used for all 8250 compatible serial ports that 57562306a36Sopenharmony_ci are probed through devicetree, including Open Firmware based 57662306a36Sopenharmony_ci PowerPC systems and embedded systems on architectures using the 57762306a36Sopenharmony_ci flattened device tree format. 578