1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# The 8250/16550 serial drivers. You shouldn't be in this list unless 4*4882a593Smuzhiyun# you somehow have an implicit or explicit dependency on SERIAL_8250. 5*4882a593Smuzhiyun# 6*4882a593Smuzhiyun 7*4882a593Smuzhiyunconfig SERIAL_8250 8*4882a593Smuzhiyun tristate "8250/16550 and compatible serial support" 9*4882a593Smuzhiyun depends on !S390 10*4882a593Smuzhiyun select SERIAL_CORE 11*4882a593Smuzhiyun select SERIAL_MCTRL_GPIO if GPIOLIB 12*4882a593Smuzhiyun help 13*4882a593Smuzhiyun This selects whether you want to include the driver for the standard 14*4882a593Smuzhiyun serial ports. The standard answer is Y. People who might say N 15*4882a593Smuzhiyun here are those that are setting up dedicated Ethernet WWW/FTP 16*4882a593Smuzhiyun servers, or users that have one of the various bus mice instead of a 17*4882a593Smuzhiyun serial mouse and don't intend to use their machine's standard serial 18*4882a593Smuzhiyun port for anything. (Note that the Cyclades multi serial port driver 19*4882a593Smuzhiyun does not need this driver built in for it to work.) 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 22*4882a593Smuzhiyun module will be called 8250. 23*4882a593Smuzhiyun [WARNING: Do not compile this driver as a module if you are using 24*4882a593Smuzhiyun non-standard serial ports, since the configuration information will 25*4882a593Smuzhiyun be lost when the driver is unloaded. This limitation may be lifted 26*4882a593Smuzhiyun in the future.] 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun BTW1: If you have a mouseman serial mouse which is not recognized by 29*4882a593Smuzhiyun the X window system, try running gpm first. 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun BTW2: If you intend to use a software modem (also called Winmodem) 32*4882a593Smuzhiyun under Linux, forget it. These modems are crippled and require 33*4882a593Smuzhiyun proprietary drivers which are only available under Windows. 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun Most people will say Y or M here, so that they can use serial mice, 36*4882a593Smuzhiyun modems and similar devices connecting to the standard serial ports. 37*4882a593Smuzhiyun 38*4882a593Smuzhiyunconfig SERIAL_8250_DEPRECATED_OPTIONS 39*4882a593Smuzhiyun bool "Support 8250_core.* kernel options (DEPRECATED)" 40*4882a593Smuzhiyun depends on SERIAL_8250 41*4882a593Smuzhiyun default y 42*4882a593Smuzhiyun help 43*4882a593Smuzhiyun In 3.7 we renamed 8250 to 8250_core by mistake, so now we have to 44*4882a593Smuzhiyun accept kernel parameters in both forms like 8250_core.nr_uarts=4 and 45*4882a593Smuzhiyun 8250.nr_uarts=4. We now renamed the module back to 8250, but if 46*4882a593Smuzhiyun anybody noticed in 3.7 and changed their userspace we still have to 47*4882a593Smuzhiyun keep the 8250_core.* options around until they revert the changes 48*4882a593Smuzhiyun they already did. 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun If 8250 is built as a module, this adds 8250_core alias instead. 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun If you did not notice yet and/or you have userspace from pre-3.7, it 53*4882a593Smuzhiyun is safe (and recommended) to say N here. 54*4882a593Smuzhiyun 55*4882a593Smuzhiyunconfig SERIAL_8250_PNP 56*4882a593Smuzhiyun bool "8250/16550 PNP device support" if EXPERT 57*4882a593Smuzhiyun depends on SERIAL_8250 && PNP 58*4882a593Smuzhiyun default y 59*4882a593Smuzhiyun help 60*4882a593Smuzhiyun This builds standard PNP serial support. You may be able to 61*4882a593Smuzhiyun disable this feature if you only need legacy serial support. 62*4882a593Smuzhiyun 63*4882a593Smuzhiyunconfig SERIAL_8250_16550A_VARIANTS 64*4882a593Smuzhiyun bool "Support for variants of the 16550A serial port" 65*4882a593Smuzhiyun depends on SERIAL_8250 66*4882a593Smuzhiyun default !X86 67*4882a593Smuzhiyun help 68*4882a593Smuzhiyun The 8250 driver can probe for many variants of the venerable 16550A 69*4882a593Smuzhiyun serial port. Doing so takes additional time at boot. 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun On modern systems, especially those using serial only for a simple 72*4882a593Smuzhiyun console, you can say N here. 73*4882a593Smuzhiyun 74*4882a593Smuzhiyunconfig SERIAL_8250_FINTEK 75*4882a593Smuzhiyun bool "Support for Fintek F81216A LPC to 4 UART RS485 API" 76*4882a593Smuzhiyun depends on SERIAL_8250 77*4882a593Smuzhiyun help 78*4882a593Smuzhiyun Selecting this option will add support for the RS485 capabilities 79*4882a593Smuzhiyun of the Fintek F81216A LPC to 4 UART. 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun If this option is not selected the device will be configured as a 82*4882a593Smuzhiyun standard 16550A serial port. 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun If unsure, say N. 85*4882a593Smuzhiyun 86*4882a593Smuzhiyunconfig SERIAL_8250_CONSOLE 87*4882a593Smuzhiyun bool "Console on 8250/16550 and compatible serial port" 88*4882a593Smuzhiyun depends on SERIAL_8250=y 89*4882a593Smuzhiyun select SERIAL_CORE_CONSOLE 90*4882a593Smuzhiyun select SERIAL_EARLYCON 91*4882a593Smuzhiyun help 92*4882a593Smuzhiyun If you say Y here, it will be possible to use a serial port as the 93*4882a593Smuzhiyun system console (the system console is the device which receives all 94*4882a593Smuzhiyun kernel messages and warnings and which allows logins in single user 95*4882a593Smuzhiyun mode). This could be useful if some terminal or printer is connected 96*4882a593Smuzhiyun to that serial port. 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun Even if you say Y here, the currently visible virtual console 99*4882a593Smuzhiyun (/dev/tty0) will still be used as the system console by default, but 100*4882a593Smuzhiyun you can alter that using a kernel command line option such as 101*4882a593Smuzhiyun "console=ttyS1". (Try "man bootparam" or see the documentation of 102*4882a593Smuzhiyun your boot loader (grub or lilo or loadlin) about how to pass options 103*4882a593Smuzhiyun to the kernel at boot time.) 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun If you don't have a VGA card installed and you say Y here, the 106*4882a593Smuzhiyun kernel will automatically use the first serial line, /dev/ttyS0, as 107*4882a593Smuzhiyun system console. 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun You can set that using a kernel command line option such as 110*4882a593Smuzhiyun "console=uart8250,io,0x3f8,9600n8" 111*4882a593Smuzhiyun "console=uart8250,mmio,0xff5e0000,115200n8". 112*4882a593Smuzhiyun and it will switch to normal serial console when the corresponding 113*4882a593Smuzhiyun port is ready. 114*4882a593Smuzhiyun "earlycon=uart8250,io,0x3f8,9600n8" 115*4882a593Smuzhiyun "earlycon=uart8250,mmio,0xff5e0000,115200n8". 116*4882a593Smuzhiyun it will not only setup early console. 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun If unsure, say N. 119*4882a593Smuzhiyun 120*4882a593Smuzhiyunconfig SERIAL_8250_GSC 121*4882a593Smuzhiyun tristate 122*4882a593Smuzhiyun depends on SERIAL_8250 && PARISC 123*4882a593Smuzhiyun default SERIAL_8250 124*4882a593Smuzhiyun 125*4882a593Smuzhiyunconfig SERIAL_8250_DMA 126*4882a593Smuzhiyun bool "DMA support for 16550 compatible UART controllers" if EXPERT 127*4882a593Smuzhiyun depends on SERIAL_8250 && DMADEVICES=y 128*4882a593Smuzhiyun default SERIAL_8250 129*4882a593Smuzhiyun help 130*4882a593Smuzhiyun This builds DMA support that can be used with 8250/16650 131*4882a593Smuzhiyun compatible UART controllers that support DMA signaling. 132*4882a593Smuzhiyun 133*4882a593Smuzhiyunconfig SERIAL_8250_PCI 134*4882a593Smuzhiyun tristate "8250/16550 PCI device support" 135*4882a593Smuzhiyun depends on SERIAL_8250 && PCI 136*4882a593Smuzhiyun default SERIAL_8250 137*4882a593Smuzhiyun help 138*4882a593Smuzhiyun This builds standard PCI serial support. You may be able to 139*4882a593Smuzhiyun disable this feature if you only need legacy serial support. 140*4882a593Smuzhiyun Saves about 9K. 141*4882a593Smuzhiyun Note that serial ports on NetMos 9835 Multi-I/O cards are handled 142*4882a593Smuzhiyun by the parport_serial driver, enabled with CONFIG_PARPORT_SERIAL. 143*4882a593Smuzhiyun 144*4882a593Smuzhiyunconfig SERIAL_8250_EXAR 145*4882a593Smuzhiyun tristate "8250/16550 Exar/Commtech PCI/PCIe device support" 146*4882a593Smuzhiyun depends on SERIAL_8250_PCI 147*4882a593Smuzhiyun default SERIAL_8250 148*4882a593Smuzhiyun help 149*4882a593Smuzhiyun This builds support for XR17C1xx, XR17V3xx and some Commtech 150*4882a593Smuzhiyun 422x PCIe serial cards that are not covered by the more generic 151*4882a593Smuzhiyun SERIAL_8250_PCI option. 152*4882a593Smuzhiyun 153*4882a593Smuzhiyunconfig SERIAL_8250_HP300 154*4882a593Smuzhiyun tristate 155*4882a593Smuzhiyun depends on SERIAL_8250 && HP300 156*4882a593Smuzhiyun default SERIAL_8250 157*4882a593Smuzhiyun 158*4882a593Smuzhiyunconfig SERIAL_8250_CS 159*4882a593Smuzhiyun tristate "8250/16550 PCMCIA device support" 160*4882a593Smuzhiyun depends on PCMCIA && SERIAL_8250 161*4882a593Smuzhiyun help 162*4882a593Smuzhiyun Say Y here to enable support for 16-bit PCMCIA serial devices, 163*4882a593Smuzhiyun including serial port cards, modems, and the modem functions of 164*4882a593Smuzhiyun multi-function Ethernet/modem cards. (PCMCIA- or PC-cards are 165*4882a593Smuzhiyun credit-card size devices often used with laptops.) 166*4882a593Smuzhiyun 167*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 168*4882a593Smuzhiyun module will be called serial_cs. 169*4882a593Smuzhiyun 170*4882a593Smuzhiyun If unsure, say N. 171*4882a593Smuzhiyun 172*4882a593Smuzhiyunconfig SERIAL_8250_MEN_MCB 173*4882a593Smuzhiyun tristate "MEN MCB UART device support" 174*4882a593Smuzhiyun depends on MCB && SERIAL_8250 175*4882a593Smuzhiyun help 176*4882a593Smuzhiyun This enables support for FPGA based UARTs found on many MEN 177*4882a593Smuzhiyun boards. This driver enables support for the 16z025, 16z057 178*4882a593Smuzhiyun and 16z125 UARTs. 179*4882a593Smuzhiyun 180*4882a593Smuzhiyun To compile this driver as a module, chose M here: the 181*4882a593Smuzhiyun module will be called 8250_men_mcb. 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun 184*4882a593Smuzhiyunconfig SERIAL_8250_NR_UARTS 185*4882a593Smuzhiyun int "Maximum number of 8250/16550 serial ports" 186*4882a593Smuzhiyun depends on SERIAL_8250 187*4882a593Smuzhiyun default "4" 188*4882a593Smuzhiyun help 189*4882a593Smuzhiyun Set this to the number of serial ports you want the driver 190*4882a593Smuzhiyun to support. This includes any ports discovered via ACPI or 191*4882a593Smuzhiyun PCI enumeration and any ports that may be added at run-time 192*4882a593Smuzhiyun via hot-plug, or any ISA multi-port serial cards. 193*4882a593Smuzhiyun 194*4882a593Smuzhiyunconfig SERIAL_8250_RUNTIME_UARTS 195*4882a593Smuzhiyun int "Number of 8250/16550 serial ports to register at runtime" 196*4882a593Smuzhiyun depends on SERIAL_8250 197*4882a593Smuzhiyun range 0 SERIAL_8250_NR_UARTS 198*4882a593Smuzhiyun default "4" 199*4882a593Smuzhiyun help 200*4882a593Smuzhiyun Set this to the maximum number of serial ports you want 201*4882a593Smuzhiyun the kernel to register at boot time. This can be overridden 202*4882a593Smuzhiyun with the module parameter "nr_uarts", or boot-time parameter 203*4882a593Smuzhiyun 8250.nr_uarts 204*4882a593Smuzhiyun 205*4882a593Smuzhiyunconfig SERIAL_8250_EXTENDED 206*4882a593Smuzhiyun bool "Extended 8250/16550 serial driver options" 207*4882a593Smuzhiyun depends on SERIAL_8250 208*4882a593Smuzhiyun help 209*4882a593Smuzhiyun If you wish to use any non-standard features of the standard "dumb" 210*4882a593Smuzhiyun driver, say Y here. This includes HUB6 support, shared serial 211*4882a593Smuzhiyun interrupts, special multiport support, support for more than the 212*4882a593Smuzhiyun four COM 1/2/3/4 boards, etc. 213*4882a593Smuzhiyun 214*4882a593Smuzhiyun Note that the answer to this question won't directly affect the 215*4882a593Smuzhiyun kernel: saying N will just cause the configurator to skip all 216*4882a593Smuzhiyun the questions about serial driver options. If unsure, say N. 217*4882a593Smuzhiyun 218*4882a593Smuzhiyunconfig SERIAL_8250_MANY_PORTS 219*4882a593Smuzhiyun bool "Support more than 4 legacy serial ports" 220*4882a593Smuzhiyun depends on SERIAL_8250_EXTENDED && !IA64 221*4882a593Smuzhiyun help 222*4882a593Smuzhiyun Say Y here if you have dumb serial boards other than the four 223*4882a593Smuzhiyun standard COM 1/2/3/4 ports. This may happen if you have an AST 224*4882a593Smuzhiyun FourPort, Accent Async, Boca (read the Boca mini-HOWTO, available 225*4882a593Smuzhiyun from <https://www.tldp.org/docs.html#howto>), or other custom 226*4882a593Smuzhiyun serial port hardware which acts similar to standard serial port 227*4882a593Smuzhiyun hardware. If you only use the standard COM 1/2/3/4 ports, you can 228*4882a593Smuzhiyun say N here to save some memory. You can also say Y if you have an 229*4882a593Smuzhiyun "intelligent" multiport card such as Cyclades, Digiboards, etc. 230*4882a593Smuzhiyun 231*4882a593Smuzhiyun# 232*4882a593Smuzhiyun# Multi-port serial cards 233*4882a593Smuzhiyun# 234*4882a593Smuzhiyun 235*4882a593Smuzhiyunconfig SERIAL_8250_FOURPORT 236*4882a593Smuzhiyun tristate "Support Fourport cards" 237*4882a593Smuzhiyun depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS 238*4882a593Smuzhiyun help 239*4882a593Smuzhiyun Say Y here if you have an AST FourPort serial board. 240*4882a593Smuzhiyun 241*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 242*4882a593Smuzhiyun will be called 8250_fourport. 243*4882a593Smuzhiyun 244*4882a593Smuzhiyunconfig SERIAL_8250_ACCENT 245*4882a593Smuzhiyun tristate "Support Accent cards" 246*4882a593Smuzhiyun depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS 247*4882a593Smuzhiyun help 248*4882a593Smuzhiyun Say Y here if you have an Accent Async serial board. 249*4882a593Smuzhiyun 250*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 251*4882a593Smuzhiyun will be called 8250_accent. 252*4882a593Smuzhiyun 253*4882a593Smuzhiyunconfig SERIAL_8250_ASPEED_VUART 254*4882a593Smuzhiyun tristate "Aspeed Virtual UART" 255*4882a593Smuzhiyun depends on SERIAL_8250 256*4882a593Smuzhiyun depends on OF 257*4882a593Smuzhiyun depends on REGMAP && MFD_SYSCON 258*4882a593Smuzhiyun help 259*4882a593Smuzhiyun If you want to use the virtual UART (VUART) device on Aspeed 260*4882a593Smuzhiyun BMC platforms, enable this option. This enables the 16550A- 261*4882a593Smuzhiyun compatible device on the local LPC bus, giving a UART device 262*4882a593Smuzhiyun with no physical RS232 connections. 263*4882a593Smuzhiyun 264*4882a593Smuzhiyunconfig SERIAL_8250_BOCA 265*4882a593Smuzhiyun tristate "Support Boca cards" 266*4882a593Smuzhiyun depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS 267*4882a593Smuzhiyun help 268*4882a593Smuzhiyun Say Y here if you have a Boca serial board. Please read the Boca 269*4882a593Smuzhiyun mini-HOWTO, available from <https://www.tldp.org/docs.html#howto> 270*4882a593Smuzhiyun 271*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 272*4882a593Smuzhiyun will be called 8250_boca. 273*4882a593Smuzhiyun 274*4882a593Smuzhiyunconfig SERIAL_8250_EXAR_ST16C554 275*4882a593Smuzhiyun tristate "Support Exar ST16C554/554D Quad UART" 276*4882a593Smuzhiyun depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS 277*4882a593Smuzhiyun help 278*4882a593Smuzhiyun The Uplogix Envoy TU301 uses this Exar Quad UART. If you are 279*4882a593Smuzhiyun tinkering with your Envoy TU301, or have a machine with this UART, 280*4882a593Smuzhiyun say Y here. 281*4882a593Smuzhiyun 282*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 283*4882a593Smuzhiyun will be called 8250_exar_st16c554. 284*4882a593Smuzhiyun 285*4882a593Smuzhiyunconfig SERIAL_8250_HUB6 286*4882a593Smuzhiyun tristate "Support Hub6 cards" 287*4882a593Smuzhiyun depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS 288*4882a593Smuzhiyun help 289*4882a593Smuzhiyun Say Y here if you have a HUB6 serial board. 290*4882a593Smuzhiyun 291*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 292*4882a593Smuzhiyun will be called 8250_hub6. 293*4882a593Smuzhiyun 294*4882a593Smuzhiyun# 295*4882a593Smuzhiyun# Misc. options/drivers. 296*4882a593Smuzhiyun# 297*4882a593Smuzhiyun 298*4882a593Smuzhiyunconfig SERIAL_8250_SHARE_IRQ 299*4882a593Smuzhiyun bool "Support for sharing serial interrupts" 300*4882a593Smuzhiyun depends on SERIAL_8250_EXTENDED 301*4882a593Smuzhiyun help 302*4882a593Smuzhiyun Some serial boards have hardware support which allows multiple dumb 303*4882a593Smuzhiyun serial ports on the same board to share a single IRQ. To enable 304*4882a593Smuzhiyun support for this in the serial driver, say Y here. 305*4882a593Smuzhiyun 306*4882a593Smuzhiyunconfig SERIAL_8250_DETECT_IRQ 307*4882a593Smuzhiyun bool "Autodetect IRQ on standard ports (unsafe)" 308*4882a593Smuzhiyun depends on SERIAL_8250_EXTENDED 309*4882a593Smuzhiyun help 310*4882a593Smuzhiyun Say Y here if you want the kernel to try to guess which IRQ 311*4882a593Smuzhiyun to use for your serial port. 312*4882a593Smuzhiyun 313*4882a593Smuzhiyun This is considered unsafe; it is far better to configure the IRQ in 314*4882a593Smuzhiyun a boot script using the setserial command. 315*4882a593Smuzhiyun 316*4882a593Smuzhiyun If unsure, say N. 317*4882a593Smuzhiyun 318*4882a593Smuzhiyunconfig SERIAL_8250_RSA 319*4882a593Smuzhiyun bool "Support RSA serial ports" 320*4882a593Smuzhiyun depends on SERIAL_8250_EXTENDED 321*4882a593Smuzhiyun help 322*4882a593Smuzhiyun Say Y here if you have a IODATA RSA-DV II/S ISA card and 323*4882a593Smuzhiyun would like to use its >115kbps speeds. 324*4882a593Smuzhiyun You will need to provide module parameter "probe_rsa", or boot-time 325*4882a593Smuzhiyun parameter 8250.probe_rsa with I/O addresses of this card then. 326*4882a593Smuzhiyun 327*4882a593Smuzhiyun If you don't have such card, or if unsure, say N. 328*4882a593Smuzhiyun 329*4882a593Smuzhiyunconfig SERIAL_8250_DWLIB 330*4882a593Smuzhiyun bool 331*4882a593Smuzhiyun 332*4882a593Smuzhiyunconfig SERIAL_8250_ACORN 333*4882a593Smuzhiyun tristate "Acorn expansion card serial port support" 334*4882a593Smuzhiyun depends on ARCH_ACORN && SERIAL_8250 335*4882a593Smuzhiyun help 336*4882a593Smuzhiyun If you have an Atomwide Serial card or Serial Port card for an Acorn 337*4882a593Smuzhiyun system, say Y to this option. The driver can handle 1, 2, or 3 port 338*4882a593Smuzhiyun cards. If unsure, say N. 339*4882a593Smuzhiyun 340*4882a593Smuzhiyunconfig SERIAL_8250_BCM2835AUX 341*4882a593Smuzhiyun tristate "BCM2835 auxiliar mini UART support" 342*4882a593Smuzhiyun depends on ARCH_BCM2835 || COMPILE_TEST 343*4882a593Smuzhiyun depends on SERIAL_8250 && SERIAL_8250_SHARE_IRQ 344*4882a593Smuzhiyun help 345*4882a593Smuzhiyun Support for the BCM2835 auxiliar mini UART. 346*4882a593Smuzhiyun 347*4882a593Smuzhiyun Features and limitations of the UART are 348*4882a593Smuzhiyun Registers are similar to 16650 registers, 349*4882a593Smuzhiyun set bits in the control registers that are unsupported 350*4882a593Smuzhiyun are ignored and read back as 0 351*4882a593Smuzhiyun 7/8 bit operation with 1 start and 1 stop bit 352*4882a593Smuzhiyun 8 symbols deep fifo for rx and tx 353*4882a593Smuzhiyun SW controlled RTS and SW readable CTS 354*4882a593Smuzhiyun Clock rate derived from system clock 355*4882a593Smuzhiyun Uses 8 times oversampling (compared to 16 times for 16650) 356*4882a593Smuzhiyun Missing break detection (but break generation) 357*4882a593Smuzhiyun Missing framing error detection 358*4882a593Smuzhiyun Missing parity bit 359*4882a593Smuzhiyun Missing receive time-out interrupt 360*4882a593Smuzhiyun Missing DCD, DSR, DTR and RI signals 361*4882a593Smuzhiyun 362*4882a593Smuzhiyun If unsure, say N. 363*4882a593Smuzhiyun 364*4882a593Smuzhiyunconfig SERIAL_8250_FSL 365*4882a593Smuzhiyun bool 366*4882a593Smuzhiyun depends on SERIAL_8250_CONSOLE 367*4882a593Smuzhiyun default PPC || ARM || ARM64 368*4882a593Smuzhiyun 369*4882a593Smuzhiyunconfig SERIAL_8250_DW 370*4882a593Smuzhiyun tristate "Support for Synopsys DesignWare 8250 quirks" 371*4882a593Smuzhiyun depends on SERIAL_8250 372*4882a593Smuzhiyun select SERIAL_8250_DWLIB 373*4882a593Smuzhiyun help 374*4882a593Smuzhiyun Selecting this option will enable handling of the extra features 375*4882a593Smuzhiyun present in the Synopsys DesignWare APB UART. 376*4882a593Smuzhiyun 377*4882a593Smuzhiyunconfig SERIAL_8250_EM 378*4882a593Smuzhiyun tristate "Support for Emma Mobile integrated serial port" 379*4882a593Smuzhiyun depends on SERIAL_8250 && ARM && HAVE_CLK 380*4882a593Smuzhiyun help 381*4882a593Smuzhiyun Selecting this option will add support for the integrated serial 382*4882a593Smuzhiyun port hardware found on the Emma Mobile line of processors. 383*4882a593Smuzhiyun If unsure, say N. 384*4882a593Smuzhiyun 385*4882a593Smuzhiyunconfig SERIAL_8250_IOC3 386*4882a593Smuzhiyun tristate "SGI IOC3 8250 UART support" 387*4882a593Smuzhiyun depends on SGI_MFD_IOC3 && SERIAL_8250 388*4882a593Smuzhiyun select SERIAL_8250_EXTENDED 389*4882a593Smuzhiyun select SERIAL_8250_SHARE_IRQ 390*4882a593Smuzhiyun help 391*4882a593Smuzhiyun Enable this if you have a SGI Origin or Octane machine. This module 392*4882a593Smuzhiyun provides basic serial support by directly driving the UART chip 393*4882a593Smuzhiyun behind the IOC3 device on those systems. Maximum baud speed is 394*4882a593Smuzhiyun 38400bps using this driver. 395*4882a593Smuzhiyun 396*4882a593Smuzhiyunconfig SERIAL_8250_RT288X 397*4882a593Smuzhiyun bool "Ralink RT288x/RT305x/RT3662/RT3883 serial port support" 398*4882a593Smuzhiyun depends on SERIAL_8250 399*4882a593Smuzhiyun default y if MIPS_ALCHEMY || SOC_RT288X || SOC_RT305X || SOC_RT3883 || SOC_MT7620 400*4882a593Smuzhiyun help 401*4882a593Smuzhiyun Selecting this option will add support for the alternate register 402*4882a593Smuzhiyun layout used by Ralink RT288x/RT305x, Alchemy Au1xxx, and some others. 403*4882a593Smuzhiyun If unsure, say N. 404*4882a593Smuzhiyun 405*4882a593Smuzhiyunconfig SERIAL_8250_OMAP 406*4882a593Smuzhiyun tristate "Support for OMAP internal UART (8250 based driver)" 407*4882a593Smuzhiyun depends on SERIAL_8250 && (ARCH_OMAP2PLUS || ARCH_K3) 408*4882a593Smuzhiyun help 409*4882a593Smuzhiyun If you have a machine based on an Texas Instruments OMAP CPU you 410*4882a593Smuzhiyun can enable its onboard serial ports by enabling this option. 411*4882a593Smuzhiyun 412*4882a593Smuzhiyun This driver uses ttyS instead of ttyO. 413*4882a593Smuzhiyun 414*4882a593Smuzhiyunconfig SERIAL_8250_OMAP_TTYO_FIXUP 415*4882a593Smuzhiyun bool "Replace ttyO with ttyS" 416*4882a593Smuzhiyun depends on SERIAL_8250_OMAP=y && SERIAL_8250_CONSOLE 417*4882a593Smuzhiyun default y 418*4882a593Smuzhiyun help 419*4882a593Smuzhiyun This option replaces the "console=ttyO" argument with the matching 420*4882a593Smuzhiyun ttyS argument if the user did not specified it on the command line. 421*4882a593Smuzhiyun This ensures that the user can see the kernel output during boot 422*4882a593Smuzhiyun which he wouldn't see otherwise. The getty has still to be configured 423*4882a593Smuzhiyun for ttyS instead of ttyO regardless of this option. 424*4882a593Smuzhiyun This option is intended for people who "automatically" enable this 425*4882a593Smuzhiyun driver without knowing that this driver requires a different console= 426*4882a593Smuzhiyun argument. If you read this, please keep this option disabled and 427*4882a593Smuzhiyun instead update your kernel command line. If you prepare a kernel for a 428*4882a593Smuzhiyun distribution or other kind of larger user base then you probably want 429*4882a593Smuzhiyun to keep this option enabled. Otherwise people might complain about a 430*4882a593Smuzhiyun not booting kernel because the serial console remains silent in case 431*4882a593Smuzhiyun they forgot to update the command line. 432*4882a593Smuzhiyun 433*4882a593Smuzhiyunconfig SERIAL_8250_LPC18XX 434*4882a593Smuzhiyun tristate "NXP LPC18xx/43xx serial port support" 435*4882a593Smuzhiyun depends on SERIAL_8250 && OF && (ARCH_LPC18XX || COMPILE_TEST) 436*4882a593Smuzhiyun default ARCH_LPC18XX 437*4882a593Smuzhiyun help 438*4882a593Smuzhiyun If you have a LPC18xx/43xx based board and want to use the 439*4882a593Smuzhiyun serial port, say Y to this option. If unsure, say Y. 440*4882a593Smuzhiyun 441*4882a593Smuzhiyunconfig SERIAL_8250_MT6577 442*4882a593Smuzhiyun tristate "Mediatek serial port support" 443*4882a593Smuzhiyun depends on SERIAL_8250 && ARCH_MEDIATEK 444*4882a593Smuzhiyun help 445*4882a593Smuzhiyun If you have a Mediatek based board and want to use the 446*4882a593Smuzhiyun serial port, say Y to this option. If unsure, say N. 447*4882a593Smuzhiyun 448*4882a593Smuzhiyunconfig SERIAL_8250_UNIPHIER 449*4882a593Smuzhiyun tristate "Support for UniPhier on-chip UART" 450*4882a593Smuzhiyun depends on SERIAL_8250 451*4882a593Smuzhiyun depends on ARCH_UNIPHIER || COMPILE_TEST 452*4882a593Smuzhiyun help 453*4882a593Smuzhiyun If you have a UniPhier based board and want to use the on-chip 454*4882a593Smuzhiyun serial ports, say Y to this option. If unsure, say N. 455*4882a593Smuzhiyun 456*4882a593Smuzhiyunconfig SERIAL_8250_INGENIC 457*4882a593Smuzhiyun tristate "Support for Ingenic SoC serial ports" 458*4882a593Smuzhiyun depends on SERIAL_8250 459*4882a593Smuzhiyun depends on OF_FLATTREE 460*4882a593Smuzhiyun depends on MIPS || COMPILE_TEST 461*4882a593Smuzhiyun help 462*4882a593Smuzhiyun If you have a system using an Ingenic SoC and wish to make use of 463*4882a593Smuzhiyun its UARTs, say Y to this option. If unsure, say N. 464*4882a593Smuzhiyun 465*4882a593Smuzhiyunconfig SERIAL_8250_LPSS 466*4882a593Smuzhiyun tristate "Support for serial ports on Intel LPSS platforms" 467*4882a593Smuzhiyun default SERIAL_8250 468*4882a593Smuzhiyun depends on SERIAL_8250 && PCI 469*4882a593Smuzhiyun depends on X86 || COMPILE_TEST 470*4882a593Smuzhiyun select SERIAL_8250_DWLIB 471*4882a593Smuzhiyun select DW_DMAC_CORE if SERIAL_8250_DMA 472*4882a593Smuzhiyun select DW_DMAC_PCI if (SERIAL_8250_DMA && X86_INTEL_LPSS) 473*4882a593Smuzhiyun select RATIONAL 474*4882a593Smuzhiyun help 475*4882a593Smuzhiyun Selecting this option will enable handling of the extra features 476*4882a593Smuzhiyun present on the UART found on various Intel platforms such as: 477*4882a593Smuzhiyun - Intel Baytrail SoC 478*4882a593Smuzhiyun - Intel Braswell SoC 479*4882a593Smuzhiyun - Intel Quark X1000 SoC 480*4882a593Smuzhiyun 481*4882a593Smuzhiyunconfig SERIAL_8250_MID 482*4882a593Smuzhiyun tristate "Support for serial ports on Intel MID platforms" 483*4882a593Smuzhiyun default SERIAL_8250 484*4882a593Smuzhiyun depends on SERIAL_8250 && PCI 485*4882a593Smuzhiyun depends on X86 || COMPILE_TEST 486*4882a593Smuzhiyun select HSU_DMA if SERIAL_8250_DMA 487*4882a593Smuzhiyun select HSU_DMA_PCI if (HSU_DMA && X86_INTEL_MID) 488*4882a593Smuzhiyun select RATIONAL 489*4882a593Smuzhiyun help 490*4882a593Smuzhiyun Selecting this option will enable handling of the extra features 491*4882a593Smuzhiyun present on the UART found on Intel Medfield SOC and various other 492*4882a593Smuzhiyun Intel platforms. 493*4882a593Smuzhiyun 494*4882a593Smuzhiyunconfig SERIAL_8250_PXA 495*4882a593Smuzhiyun tristate "PXA serial port support" 496*4882a593Smuzhiyun depends on SERIAL_8250 497*4882a593Smuzhiyun depends on ARCH_PXA || ARCH_MMP 498*4882a593Smuzhiyun help 499*4882a593Smuzhiyun If you have a machine based on an Intel XScale PXA2xx CPU you can 500*4882a593Smuzhiyun enable its onboard serial ports by enabling this option. The option is 501*4882a593Smuzhiyun applicable to both devicetree and legacy boards, and early console is 502*4882a593Smuzhiyun part of its support. 503*4882a593Smuzhiyun 504*4882a593Smuzhiyunconfig SERIAL_8250_TEGRA 505*4882a593Smuzhiyun tristate "8250 support for Tegra serial ports" 506*4882a593Smuzhiyun default SERIAL_8250 507*4882a593Smuzhiyun depends on SERIAL_8250 508*4882a593Smuzhiyun depends on ARCH_TEGRA || COMPILE_TEST 509*4882a593Smuzhiyun help 510*4882a593Smuzhiyun Select this option if you have machine with an NVIDIA Tegra SoC and 511*4882a593Smuzhiyun wish to enable 8250 serial driver for the Tegra serial interfaces. 512*4882a593Smuzhiyun 513*4882a593Smuzhiyunconfig SERIAL_OF_PLATFORM 514*4882a593Smuzhiyun tristate "Devicetree based probing for 8250 ports" 515*4882a593Smuzhiyun depends on SERIAL_8250 && OF 516*4882a593Smuzhiyun help 517*4882a593Smuzhiyun This option is used for all 8250 compatible serial ports that 518*4882a593Smuzhiyun are probed through devicetree, including Open Firmware based 519*4882a593Smuzhiyun PowerPC systems and embedded systems on architectures using the 520*4882a593Smuzhiyun flattened device tree format. 521