Paul Gortmaker | 9bef3d4 | 2012-01-05 18:21:43 -0500 | [diff] [blame] | 1 | # |
| 2 | # The 8250/16550 serial drivers. You shouldn't be in this list unless |
| 3 | # you somehow have an implicit or explicit dependency on SERIAL_8250. |
| 4 | # |
| 5 | |
| 6 | config SERIAL_8250 |
| 7 | tristate "8250/16550 and compatible serial support" |
| 8 | select SERIAL_CORE |
| 9 | ---help--- |
| 10 | This selects whether you want to include the driver for the standard |
| 11 | serial ports. The standard answer is Y. People who might say N |
| 12 | here are those that are setting up dedicated Ethernet WWW/FTP |
| 13 | servers, or users that have one of the various bus mice instead of a |
| 14 | serial mouse and don't intend to use their machine's standard serial |
Paul Bolle | e943f58 | 2013-05-28 09:29:36 +0200 | [diff] [blame] | 15 | port for anything. (Note that the Cyclades multi serial port driver |
| 16 | does not need this driver built in for it to work.) |
Paul Gortmaker | 9bef3d4 | 2012-01-05 18:21:43 -0500 | [diff] [blame] | 17 | |
| 18 | To compile this driver as a module, choose M here: the |
| 19 | module will be called 8250. |
| 20 | [WARNING: Do not compile this driver as a module if you are using |
| 21 | non-standard serial ports, since the configuration information will |
| 22 | be lost when the driver is unloaded. This limitation may be lifted |
| 23 | in the future.] |
| 24 | |
| 25 | BTW1: If you have a mouseman serial mouse which is not recognized by |
| 26 | the X window system, try running gpm first. |
| 27 | |
| 28 | BTW2: If you intend to use a software modem (also called Winmodem) |
| 29 | under Linux, forget it. These modems are crippled and require |
| 30 | proprietary drivers which are only available under Windows. |
| 31 | |
| 32 | Most people will say Y or M here, so that they can use serial mice, |
| 33 | modems and similar devices connecting to the standard serial ports. |
| 34 | |
Jiri Slaby | 9326b04 | 2013-03-19 11:34:57 +0100 | [diff] [blame] | 35 | config SERIAL_8250_DEPRECATED_OPTIONS |
| 36 | bool "Support 8250_core.* kernel options (DEPRECATED)" |
| 37 | depends on SERIAL_8250 |
| 38 | default y |
| 39 | ---help--- |
| 40 | In 3.7 we renamed 8250 to 8250_core by mistake, so now we have to |
| 41 | accept kernel parameters in both forms like 8250_core.nr_uarts=4 and |
| 42 | 8250.nr_uarts=4. We now renamed the module back to 8250, but if |
| 43 | anybody noticed in 3.7 and changed their userspace we still have to |
Randy Dunlap | f301412 | 2013-11-07 09:58:14 -0800 | [diff] [blame] | 44 | keep the 8250_core.* options around until they revert the changes |
Jiri Slaby | 9326b04 | 2013-03-19 11:34:57 +0100 | [diff] [blame] | 45 | they already did. |
| 46 | |
| 47 | If 8250 is built as a module, this adds 8250_core alias instead. |
| 48 | |
| 49 | If you did not notice yet and/or you have userspace from pre-3.7, it |
| 50 | is safe (and recommended) to say N here. |
| 51 | |
Sean Young | 835d844 | 2012-09-07 19:06:23 +0100 | [diff] [blame] | 52 | config SERIAL_8250_PNP |
| 53 | bool "8250/16550 PNP device support" if EXPERT |
| 54 | depends on SERIAL_8250 && PNP |
| 55 | default y |
| 56 | ---help--- |
| 57 | This builds standard PNP serial support. You may be able to |
| 58 | disable this feature if you only need legacy serial support. |
| 59 | |
Paul Gortmaker | 9bef3d4 | 2012-01-05 18:21:43 -0500 | [diff] [blame] | 60 | config SERIAL_8250_CONSOLE |
| 61 | bool "Console on 8250/16550 and compatible serial port" |
| 62 | depends on SERIAL_8250=y |
| 63 | select SERIAL_CORE_CONSOLE |
Rob Herring | d2fd681 | 2014-04-18 17:19:56 -0500 | [diff] [blame] | 64 | select SERIAL_EARLYCON |
Paul Gortmaker | 9bef3d4 | 2012-01-05 18:21:43 -0500 | [diff] [blame] | 65 | ---help--- |
| 66 | If you say Y here, it will be possible to use a serial port as the |
| 67 | system console (the system console is the device which receives all |
| 68 | kernel messages and warnings and which allows logins in single user |
| 69 | mode). This could be useful if some terminal or printer is connected |
| 70 | to that serial port. |
| 71 | |
| 72 | Even if you say Y here, the currently visible virtual console |
| 73 | (/dev/tty0) will still be used as the system console by default, but |
| 74 | you can alter that using a kernel command line option such as |
| 75 | "console=ttyS1". (Try "man bootparam" or see the documentation of |
| 76 | your boot loader (grub or lilo or loadlin) about how to pass options |
| 77 | to the kernel at boot time.) |
| 78 | |
| 79 | If you don't have a VGA card installed and you say Y here, the |
| 80 | kernel will automatically use the first serial line, /dev/ttyS0, as |
| 81 | system console. |
| 82 | |
| 83 | You can set that using a kernel command line option such as |
| 84 | "console=uart8250,io,0x3f8,9600n8" |
| 85 | "console=uart8250,mmio,0xff5e0000,115200n8". |
| 86 | and it will switch to normal serial console when the corresponding |
| 87 | port is ready. |
| 88 | "earlycon=uart8250,io,0x3f8,9600n8" |
| 89 | "earlycon=uart8250,mmio,0xff5e0000,115200n8". |
| 90 | it will not only setup early console. |
| 91 | |
| 92 | If unsure, say N. |
| 93 | |
Paul Gortmaker | 9bef3d4 | 2012-01-05 18:21:43 -0500 | [diff] [blame] | 94 | config SERIAL_8250_GSC |
| 95 | tristate |
| 96 | depends on SERIAL_8250 && GSC |
| 97 | default SERIAL_8250 |
| 98 | |
Heikki Krogerus | 9ee4b83 | 2013-01-10 11:25:11 +0200 | [diff] [blame] | 99 | config SERIAL_8250_DMA |
| 100 | bool "DMA support for 16550 compatible UART controllers" if EXPERT |
| 101 | depends on SERIAL_8250 && DMADEVICES=y |
| 102 | default SERIAL_8250 |
| 103 | help |
| 104 | This builds DMA support that can be used with 8250/16650 |
| 105 | compatible UART controllers that support DMA signaling. |
| 106 | |
Paul Gortmaker | 9bef3d4 | 2012-01-05 18:21:43 -0500 | [diff] [blame] | 107 | config SERIAL_8250_PCI |
| 108 | tristate "8250/16550 PCI device support" if EXPERT |
| 109 | depends on SERIAL_8250 && PCI |
| 110 | default SERIAL_8250 |
Andy Shevchenko | 21947ba | 2015-03-13 18:51:12 +0200 | [diff] [blame] | 111 | select RATIONAL |
Paul Gortmaker | 9bef3d4 | 2012-01-05 18:21:43 -0500 | [diff] [blame] | 112 | help |
| 113 | This builds standard PCI serial support. You may be able to |
| 114 | disable this feature if you only need legacy serial support. |
| 115 | Saves about 9K. |
Stefan Seyfried | 972ce08 | 2013-07-01 09:14:21 +0200 | [diff] [blame] | 116 | Note that serial ports on NetMos 9835 Multi-I/O cards are handled |
| 117 | by the parport_serial driver, enabled with CONFIG_PARPORT_SERIAL. |
Paul Gortmaker | 9bef3d4 | 2012-01-05 18:21:43 -0500 | [diff] [blame] | 118 | |
Paul Gortmaker | 9bef3d4 | 2012-01-05 18:21:43 -0500 | [diff] [blame] | 119 | config SERIAL_8250_HP300 |
| 120 | tristate |
| 121 | depends on SERIAL_8250 && HP300 |
| 122 | default SERIAL_8250 |
| 123 | |
| 124 | config SERIAL_8250_CS |
| 125 | tristate "8250/16550 PCMCIA device support" |
| 126 | depends on PCMCIA && SERIAL_8250 |
| 127 | ---help--- |
| 128 | Say Y here to enable support for 16-bit PCMCIA serial devices, |
| 129 | including serial port cards, modems, and the modem functions of |
| 130 | multi-function Ethernet/modem cards. (PCMCIA- or PC-cards are |
| 131 | credit-card size devices often used with laptops.) |
| 132 | |
| 133 | To compile this driver as a module, choose M here: the |
| 134 | module will be called serial_cs. |
| 135 | |
| 136 | If unsure, say N. |
| 137 | |
| 138 | config SERIAL_8250_NR_UARTS |
| 139 | int "Maximum number of 8250/16550 serial ports" |
| 140 | depends on SERIAL_8250 |
| 141 | default "4" |
| 142 | help |
| 143 | Set this to the number of serial ports you want the driver |
| 144 | to support. This includes any ports discovered via ACPI or |
| 145 | PCI enumeration and any ports that may be added at run-time |
| 146 | via hot-plug, or any ISA multi-port serial cards. |
| 147 | |
| 148 | config SERIAL_8250_RUNTIME_UARTS |
| 149 | int "Number of 8250/16550 serial ports to register at runtime" |
| 150 | depends on SERIAL_8250 |
| 151 | range 0 SERIAL_8250_NR_UARTS |
| 152 | default "4" |
| 153 | help |
| 154 | Set this to the maximum number of serial ports you want |
| 155 | the kernel to register at boot time. This can be overridden |
| 156 | with the module parameter "nr_uarts", or boot-time parameter |
| 157 | 8250.nr_uarts |
| 158 | |
| 159 | config SERIAL_8250_EXTENDED |
| 160 | bool "Extended 8250/16550 serial driver options" |
| 161 | depends on SERIAL_8250 |
| 162 | help |
| 163 | If you wish to use any non-standard features of the standard "dumb" |
| 164 | driver, say Y here. This includes HUB6 support, shared serial |
| 165 | interrupts, special multiport support, support for more than the |
| 166 | four COM 1/2/3/4 boards, etc. |
| 167 | |
| 168 | Note that the answer to this question won't directly affect the |
| 169 | kernel: saying N will just cause the configurator to skip all |
| 170 | the questions about serial driver options. If unsure, say N. |
| 171 | |
| 172 | config SERIAL_8250_MANY_PORTS |
| 173 | bool "Support more than 4 legacy serial ports" |
| 174 | depends on SERIAL_8250_EXTENDED && !IA64 |
| 175 | help |
| 176 | Say Y here if you have dumb serial boards other than the four |
| 177 | standard COM 1/2/3/4 ports. This may happen if you have an AST |
| 178 | FourPort, Accent Async, Boca (read the Boca mini-HOWTO, available |
| 179 | from <http://www.tldp.org/docs.html#howto>), or other custom |
| 180 | serial port hardware which acts similar to standard serial port |
| 181 | hardware. If you only use the standard COM 1/2/3/4 ports, you can |
| 182 | say N here to save some memory. You can also say Y if you have an |
| 183 | "intelligent" multiport card such as Cyclades, Digiboards, etc. |
| 184 | |
| 185 | # |
| 186 | # Multi-port serial cards |
| 187 | # |
| 188 | |
| 189 | config SERIAL_8250_FOURPORT |
| 190 | tristate "Support Fourport cards" |
| 191 | depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS |
| 192 | help |
| 193 | Say Y here if you have an AST FourPort serial board. |
| 194 | |
| 195 | To compile this driver as a module, choose M here: the module |
| 196 | will be called 8250_fourport. |
| 197 | |
| 198 | config SERIAL_8250_ACCENT |
| 199 | tristate "Support Accent cards" |
| 200 | depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS |
| 201 | help |
| 202 | Say Y here if you have an Accent Async serial board. |
| 203 | |
| 204 | To compile this driver as a module, choose M here: the module |
| 205 | will be called 8250_accent. |
| 206 | |
| 207 | config SERIAL_8250_BOCA |
| 208 | tristate "Support Boca cards" |
| 209 | depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS |
| 210 | help |
| 211 | Say Y here if you have a Boca serial board. Please read the Boca |
| 212 | mini-HOWTO, available from <http://www.tldp.org/docs.html#howto> |
| 213 | |
| 214 | To compile this driver as a module, choose M here: the module |
| 215 | will be called 8250_boca. |
| 216 | |
| 217 | config SERIAL_8250_EXAR_ST16C554 |
| 218 | tristate "Support Exar ST16C554/554D Quad UART" |
| 219 | depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS |
| 220 | help |
| 221 | The Uplogix Envoy TU301 uses this Exar Quad UART. If you are |
| 222 | tinkering with your Envoy TU301, or have a machine with this UART, |
| 223 | say Y here. |
| 224 | |
| 225 | To compile this driver as a module, choose M here: the module |
| 226 | will be called 8250_exar_st16c554. |
| 227 | |
| 228 | config SERIAL_8250_HUB6 |
| 229 | tristate "Support Hub6 cards" |
| 230 | depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS |
| 231 | help |
| 232 | Say Y here if you have a HUB6 serial board. |
| 233 | |
| 234 | To compile this driver as a module, choose M here: the module |
| 235 | will be called 8250_hub6. |
| 236 | |
| 237 | # |
| 238 | # Misc. options/drivers. |
| 239 | # |
| 240 | |
| 241 | config SERIAL_8250_SHARE_IRQ |
| 242 | bool "Support for sharing serial interrupts" |
| 243 | depends on SERIAL_8250_EXTENDED |
| 244 | help |
| 245 | Some serial boards have hardware support which allows multiple dumb |
| 246 | serial ports on the same board to share a single IRQ. To enable |
| 247 | support for this in the serial driver, say Y here. |
| 248 | |
| 249 | config SERIAL_8250_DETECT_IRQ |
| 250 | bool "Autodetect IRQ on standard ports (unsafe)" |
| 251 | depends on SERIAL_8250_EXTENDED |
| 252 | help |
| 253 | Say Y here if you want the kernel to try to guess which IRQ |
| 254 | to use for your serial port. |
| 255 | |
| 256 | This is considered unsafe; it is far better to configure the IRQ in |
| 257 | a boot script using the setserial command. |
| 258 | |
| 259 | If unsure, say N. |
| 260 | |
| 261 | config SERIAL_8250_RSA |
| 262 | bool "Support RSA serial ports" |
| 263 | depends on SERIAL_8250_EXTENDED |
| 264 | help |
| 265 | ::: To be written ::: |
| 266 | |
Paul Gortmaker | 9bef3d4 | 2012-01-05 18:21:43 -0500 | [diff] [blame] | 267 | config SERIAL_8250_ACORN |
| 268 | tristate "Acorn expansion card serial port support" |
| 269 | depends on ARCH_ACORN && SERIAL_8250 |
| 270 | help |
| 271 | If you have an Atomwide Serial card or Serial Port card for an Acorn |
| 272 | system, say Y to this option. The driver can handle 1, 2, or 3 port |
| 273 | cards. If unsure, say N. |
| 274 | |
Paul Gortmaker | 9bef3d4 | 2012-01-05 18:21:43 -0500 | [diff] [blame] | 275 | config SERIAL_8250_FSL |
| 276 | bool |
Scott Wood | d43b54d | 2015-10-07 17:31:21 -0500 | [diff] [blame] | 277 | depends on SERIAL_8250_CONSOLE |
| 278 | default PPC || ARM || ARM64 |
Paul Gortmaker | 9bef3d4 | 2012-01-05 18:21:43 -0500 | [diff] [blame] | 279 | |
| 280 | config SERIAL_8250_DW |
| 281 | tristate "Support for Synopsys DesignWare 8250 quirks" |
Heikki Krogerus | 6a7320c | 2013-01-10 11:25:10 +0200 | [diff] [blame] | 282 | depends on SERIAL_8250 |
Paul Gortmaker | 9bef3d4 | 2012-01-05 18:21:43 -0500 | [diff] [blame] | 283 | help |
| 284 | Selecting this option will enable handling of the extra features |
| 285 | present in the Synopsys DesignWare APB UART. |
Magnus Damm | 22886ee | 2012-05-03 21:13:09 +0900 | [diff] [blame] | 286 | |
| 287 | config SERIAL_8250_EM |
Masanari Iida | 46e99c4 | 2012-10-24 23:29:41 +0900 | [diff] [blame] | 288 | tristate "Support for Emma Mobile integrated serial port" |
Magnus Damm | 22886ee | 2012-05-03 21:13:09 +0900 | [diff] [blame] | 289 | depends on SERIAL_8250 && ARM && HAVE_CLK |
| 290 | help |
| 291 | Selecting this option will add support for the integrated serial |
| 292 | port hardware found on the Emma Mobile line of processors. |
| 293 | If unsure, say N. |
John Crispin | c420811 | 2013-01-25 19:39:51 +0100 | [diff] [blame] | 294 | |
| 295 | config SERIAL_8250_RT288X |
| 296 | bool "Ralink RT288x/RT305x/RT3662/RT3883 serial port support" |
Mans Rullgard | 9b2256c | 2015-09-15 17:54:13 +0100 | [diff] [blame] | 297 | depends on SERIAL_8250 |
| 298 | default y if MIPS_ALCHEMY || SOC_RT288X || SOC_RT305X || SOC_RT3883 || SOC_MT7620 |
John Crispin | c420811 | 2013-01-25 19:39:51 +0100 | [diff] [blame] | 299 | help |
Mans Rullgard | 9b2256c | 2015-09-15 17:54:13 +0100 | [diff] [blame] | 300 | Selecting this option will add support for the alternate register |
| 301 | layout used by Ralink RT288x/RT305x, Alchemy Au1xxx, and some others. |
| 302 | If unsure, say N. |
Ricardo Ribalda Delgado | 28e3fb6 | 2014-07-31 21:22:26 +0200 | [diff] [blame] | 303 | |
Sebastian Andrzej Siewior | 61929cf | 2014-09-29 20:06:39 +0200 | [diff] [blame] | 304 | config SERIAL_8250_OMAP |
| 305 | tristate "Support for OMAP internal UART (8250 based driver)" |
| 306 | depends on SERIAL_8250 && ARCH_OMAP2PLUS |
| 307 | help |
| 308 | If you have a machine based on an Texas Instruments OMAP CPU you |
| 309 | can enable its onboard serial ports by enabling this option. |
| 310 | |
| 311 | This driver uses ttyS instead of ttyO. |
| 312 | |
Sebastian Andrzej Siewior | 00648d0 | 2014-12-18 18:47:12 +0100 | [diff] [blame] | 313 | config SERIAL_8250_OMAP_TTYO_FIXUP |
| 314 | bool "Replace ttyO with ttyS" |
| 315 | depends on SERIAL_8250_OMAP=y && SERIAL_8250_CONSOLE |
| 316 | default y |
| 317 | help |
| 318 | This option replaces the "console=ttyO" argument with the matching |
| 319 | ttyS argument if the user did not specified it on the command line. |
| 320 | This ensures that the user can see the kernel output during boot |
| 321 | which he wouldn't see otherwise. The getty has still to be configured |
| 322 | for ttyS instead of ttyO regardless of this option. |
| 323 | This option is intended for people who "automatically" enable this |
| 324 | driver without knowing that this driver requires a different console= |
| 325 | argument. If you read this, please keep this option disabled and |
| 326 | instead update your kernel command line. If you prepare a kernel for a |
| 327 | distribution or other kind of larger user base then you probably want |
| 328 | to keep this option enabled. Otherwise people might complain about a |
| 329 | not booting kernel because the serial console remains silent in case |
| 330 | they forgot to update the command line. |
| 331 | |
Ricardo Ribalda Delgado | 28e3fb6 | 2014-07-31 21:22:26 +0200 | [diff] [blame] | 332 | config SERIAL_8250_FINTEK |
| 333 | tristate "Support for Fintek F81216A LPC to 4 UART" |
| 334 | depends on SERIAL_8250 && PNP |
| 335 | help |
| 336 | Selecting this option will add support for the Fintek F81216A |
| 337 | LPC to 4 UART. This device has some RS485 functionality not available |
| 338 | through the PNP driver. If unsure, say N. |
| 339 | |
Joachim Eastwood | d2aef35 | 2015-05-30 23:14:44 +0200 | [diff] [blame] | 340 | config SERIAL_8250_LPC18XX |
Paul Gortmaker | 0b1dd99 | 2015-08-19 17:48:09 -0400 | [diff] [blame] | 341 | tristate "NXP LPC18xx/43xx serial port support" |
Joachim Eastwood | d2aef35 | 2015-05-30 23:14:44 +0200 | [diff] [blame] | 342 | depends on SERIAL_8250 && OF && (ARCH_LPC18XX || COMPILE_TEST) |
| 343 | default ARCH_LPC18XX |
| 344 | help |
| 345 | If you have a LPC18xx/43xx based board and want to use the |
| 346 | serial port, say Y to this option. If unsure, say Y. |
| 347 | |
Matthias Brugger | b4756f4 | 2014-09-09 17:31:42 +0200 | [diff] [blame] | 348 | config SERIAL_8250_MT6577 |
| 349 | bool "Mediatek serial port support" |
| 350 | depends on SERIAL_8250 && ARCH_MEDIATEK |
| 351 | help |
| 352 | If you have a Mediatek based board and want to use the |
| 353 | serial port, say Y to this option. If unsure, say N. |
Masahiro Yamada | 1a8d290 | 2015-05-29 15:04:31 +0900 | [diff] [blame] | 354 | |
| 355 | config SERIAL_8250_UNIPHIER |
| 356 | tristate "Support for UniPhier on-chip UART" |
| 357 | depends on SERIAL_8250 && ARCH_UNIPHIER |
| 358 | help |
| 359 | If you have a UniPhier based board and want to use the on-chip |
| 360 | serial ports, say Y to this option. If unsure, say N. |
Linus Torvalds | 78c10e5 | 2015-06-27 12:44:34 -0700 | [diff] [blame] | 361 | |
Paul Burton | 0cf985f | 2015-05-24 16:11:44 +0100 | [diff] [blame] | 362 | config SERIAL_8250_INGENIC |
| 363 | bool "Support for Ingenic SoC serial ports" |
| 364 | depends on SERIAL_8250_CONSOLE && OF_FLATTREE |
| 365 | select LIBFDT |
| 366 | select SERIAL_EARLYCON |
| 367 | help |
| 368 | If you have a system using an Ingenic SoC and wish to make use of |
| 369 | its UARTs, say Y to this option. If unsure, say N. |
Heikki Krogerus | d9eda9b | 2015-10-13 13:29:02 +0300 | [diff] [blame] | 370 | |
| 371 | config SERIAL_8250_MID |
| 372 | tristate "Support for serial ports on Intel MID platforms" |
| 373 | depends on SERIAL_8250 && PCI |
Heikki Krogerus | ec2f1b6 | 2015-10-13 13:29:03 +0300 | [diff] [blame] | 374 | select HSU_DMA if SERIAL_8250_DMA |
| 375 | select HSU_DMA_PCI if X86_INTEL_MID |
Heikki Krogerus | d9eda9b | 2015-10-13 13:29:02 +0300 | [diff] [blame] | 376 | help |
| 377 | Selecting this option will enable handling of the extra features |
| 378 | present on the UART found on Intel Medfield SOC and various other |
| 379 | Intel platforms. |