]>
Commit | Line | Data |
---|---|---|
9bef3d41 PG |
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 | |
e943f58e PB |
15 | port for anything. (Note that the Cyclades multi serial port driver |
16 | does not need this driver built in for it to work.) | |
9bef3d41 PG |
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 | ||
9326b047 JS |
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 | |
f3014127 | 44 | keep the 8250_core.* options around until they revert the changes |
9326b047 JS |
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 | ||
835d844d SY |
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 | ||
fa01e2ca RRD |
60 | config SERIAL_8250_FINTEK |
61 | bool "Support for Fintek F81216A LPC to 4 UART RS485 API" | |
62 | depends on SERIAL_8250 | |
63 | ---help--- | |
64 | Selecting this option will add support for the RS485 capabilities | |
65 | of the Fintek F81216A LPC to 4 UART. | |
66 | ||
67 | If this option is not selected the device will be configured as a | |
68 | standard 16550A serial port. | |
69 | ||
70 | If unsure, say N. | |
71 | ||
9bef3d41 PG |
72 | config SERIAL_8250_CONSOLE |
73 | bool "Console on 8250/16550 and compatible serial port" | |
74 | depends on SERIAL_8250=y | |
75 | select SERIAL_CORE_CONSOLE | |
d2fd6810 | 76 | select SERIAL_EARLYCON |
9bef3d41 PG |
77 | ---help--- |
78 | If you say Y here, it will be possible to use a serial port as the | |
79 | system console (the system console is the device which receives all | |
80 | kernel messages and warnings and which allows logins in single user | |
81 | mode). This could be useful if some terminal or printer is connected | |
82 | to that serial port. | |
83 | ||
84 | Even if you say Y here, the currently visible virtual console | |
85 | (/dev/tty0) will still be used as the system console by default, but | |
86 | you can alter that using a kernel command line option such as | |
87 | "console=ttyS1". (Try "man bootparam" or see the documentation of | |
88 | your boot loader (grub or lilo or loadlin) about how to pass options | |
89 | to the kernel at boot time.) | |
90 | ||
91 | If you don't have a VGA card installed and you say Y here, the | |
92 | kernel will automatically use the first serial line, /dev/ttyS0, as | |
93 | system console. | |
94 | ||
95 | You can set that using a kernel command line option such as | |
96 | "console=uart8250,io,0x3f8,9600n8" | |
97 | "console=uart8250,mmio,0xff5e0000,115200n8". | |
98 | and it will switch to normal serial console when the corresponding | |
99 | port is ready. | |
100 | "earlycon=uart8250,io,0x3f8,9600n8" | |
101 | "earlycon=uart8250,mmio,0xff5e0000,115200n8". | |
102 | it will not only setup early console. | |
103 | ||
104 | If unsure, say N. | |
105 | ||
9bef3d41 PG |
106 | config SERIAL_8250_GSC |
107 | tristate | |
108 | depends on SERIAL_8250 && GSC | |
109 | default SERIAL_8250 | |
110 | ||
9ee4b83e HK |
111 | config SERIAL_8250_DMA |
112 | bool "DMA support for 16550 compatible UART controllers" if EXPERT | |
113 | depends on SERIAL_8250 && DMADEVICES=y | |
114 | default SERIAL_8250 | |
115 | help | |
116 | This builds DMA support that can be used with 8250/16650 | |
117 | compatible UART controllers that support DMA signaling. | |
118 | ||
9bef3d41 | 119 | config SERIAL_8250_PCI |
f1e8c710 | 120 | tristate "8250/16550 PCI device support" |
9bef3d41 PG |
121 | depends on SERIAL_8250 && PCI |
122 | default SERIAL_8250 | |
123 | help | |
124 | This builds standard PCI serial support. You may be able to | |
125 | disable this feature if you only need legacy serial support. | |
126 | Saves about 9K. | |
972ce085 SS |
127 | Note that serial ports on NetMos 9835 Multi-I/O cards are handled |
128 | by the parport_serial driver, enabled with CONFIG_PARPORT_SERIAL. | |
9bef3d41 | 129 | |
d0aeaa83 | 130 | config SERIAL_8250_EXAR |
49e1590c PG |
131 | tristate "8250/16550 Exar/Commtech PCI/PCIe device support" |
132 | depends on SERIAL_8250_PCI | |
5d1a2388 | 133 | default SERIAL_8250 |
49e1590c PG |
134 | help |
135 | This builds support for XR17C1xx, XR17V3xx and some Commtech | |
136 | 422x PCIe serial cards that are not covered by the more generic | |
137 | SERIAL_8250_PCI option. | |
d0aeaa83 | 138 | |
9bef3d41 PG |
139 | config SERIAL_8250_HP300 |
140 | tristate | |
141 | depends on SERIAL_8250 && HP300 | |
142 | default SERIAL_8250 | |
143 | ||
144 | config SERIAL_8250_CS | |
145 | tristate "8250/16550 PCMCIA device support" | |
146 | depends on PCMCIA && SERIAL_8250 | |
147 | ---help--- | |
148 | Say Y here to enable support for 16-bit PCMCIA serial devices, | |
149 | including serial port cards, modems, and the modem functions of | |
150 | multi-function Ethernet/modem cards. (PCMCIA- or PC-cards are | |
151 | credit-card size devices often used with laptops.) | |
152 | ||
153 | To compile this driver as a module, choose M here: the | |
154 | module will be called serial_cs. | |
155 | ||
156 | If unsure, say N. | |
157 | ||
158 | config SERIAL_8250_NR_UARTS | |
159 | int "Maximum number of 8250/16550 serial ports" | |
160 | depends on SERIAL_8250 | |
161 | default "4" | |
162 | help | |
163 | Set this to the number of serial ports you want the driver | |
164 | to support. This includes any ports discovered via ACPI or | |
165 | PCI enumeration and any ports that may be added at run-time | |
166 | via hot-plug, or any ISA multi-port serial cards. | |
167 | ||
168 | config SERIAL_8250_RUNTIME_UARTS | |
169 | int "Number of 8250/16550 serial ports to register at runtime" | |
170 | depends on SERIAL_8250 | |
171 | range 0 SERIAL_8250_NR_UARTS | |
172 | default "4" | |
173 | help | |
174 | Set this to the maximum number of serial ports you want | |
175 | the kernel to register at boot time. This can be overridden | |
176 | with the module parameter "nr_uarts", or boot-time parameter | |
177 | 8250.nr_uarts | |
178 | ||
179 | config SERIAL_8250_EXTENDED | |
180 | bool "Extended 8250/16550 serial driver options" | |
181 | depends on SERIAL_8250 | |
182 | help | |
183 | If you wish to use any non-standard features of the standard "dumb" | |
184 | driver, say Y here. This includes HUB6 support, shared serial | |
185 | interrupts, special multiport support, support for more than the | |
186 | four COM 1/2/3/4 boards, etc. | |
187 | ||
188 | Note that the answer to this question won't directly affect the | |
189 | kernel: saying N will just cause the configurator to skip all | |
190 | the questions about serial driver options. If unsure, say N. | |
191 | ||
192 | config SERIAL_8250_MANY_PORTS | |
193 | bool "Support more than 4 legacy serial ports" | |
194 | depends on SERIAL_8250_EXTENDED && !IA64 | |
195 | help | |
196 | Say Y here if you have dumb serial boards other than the four | |
197 | standard COM 1/2/3/4 ports. This may happen if you have an AST | |
198 | FourPort, Accent Async, Boca (read the Boca mini-HOWTO, available | |
199 | from <http://www.tldp.org/docs.html#howto>), or other custom | |
200 | serial port hardware which acts similar to standard serial port | |
201 | hardware. If you only use the standard COM 1/2/3/4 ports, you can | |
202 | say N here to save some memory. You can also say Y if you have an | |
203 | "intelligent" multiport card such as Cyclades, Digiboards, etc. | |
204 | ||
205 | # | |
206 | # Multi-port serial cards | |
207 | # | |
208 | ||
209 | config SERIAL_8250_FOURPORT | |
210 | tristate "Support Fourport cards" | |
211 | depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS | |
212 | help | |
213 | Say Y here if you have an AST FourPort serial board. | |
214 | ||
215 | To compile this driver as a module, choose M here: the module | |
216 | will be called 8250_fourport. | |
217 | ||
218 | config SERIAL_8250_ACCENT | |
219 | tristate "Support Accent cards" | |
220 | depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS | |
221 | help | |
222 | Say Y here if you have an Accent Async serial board. | |
223 | ||
224 | To compile this driver as a module, choose M here: the module | |
225 | will be called 8250_accent. | |
226 | ||
227 | config SERIAL_8250_BOCA | |
228 | tristate "Support Boca cards" | |
229 | depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS | |
230 | help | |
231 | Say Y here if you have a Boca serial board. Please read the Boca | |
232 | mini-HOWTO, available from <http://www.tldp.org/docs.html#howto> | |
233 | ||
234 | To compile this driver as a module, choose M here: the module | |
235 | will be called 8250_boca. | |
236 | ||
237 | config SERIAL_8250_EXAR_ST16C554 | |
238 | tristate "Support Exar ST16C554/554D Quad UART" | |
239 | depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS | |
240 | help | |
241 | The Uplogix Envoy TU301 uses this Exar Quad UART. If you are | |
242 | tinkering with your Envoy TU301, or have a machine with this UART, | |
243 | say Y here. | |
244 | ||
245 | To compile this driver as a module, choose M here: the module | |
246 | will be called 8250_exar_st16c554. | |
247 | ||
248 | config SERIAL_8250_HUB6 | |
249 | tristate "Support Hub6 cards" | |
250 | depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS | |
251 | help | |
252 | Say Y here if you have a HUB6 serial board. | |
253 | ||
254 | To compile this driver as a module, choose M here: the module | |
255 | will be called 8250_hub6. | |
256 | ||
257 | # | |
258 | # Misc. options/drivers. | |
259 | # | |
260 | ||
261 | config SERIAL_8250_SHARE_IRQ | |
262 | bool "Support for sharing serial interrupts" | |
263 | depends on SERIAL_8250_EXTENDED | |
264 | help | |
265 | Some serial boards have hardware support which allows multiple dumb | |
266 | serial ports on the same board to share a single IRQ. To enable | |
267 | support for this in the serial driver, say Y here. | |
268 | ||
269 | config SERIAL_8250_DETECT_IRQ | |
270 | bool "Autodetect IRQ on standard ports (unsafe)" | |
271 | depends on SERIAL_8250_EXTENDED | |
272 | help | |
273 | Say Y here if you want the kernel to try to guess which IRQ | |
274 | to use for your serial port. | |
275 | ||
276 | This is considered unsafe; it is far better to configure the IRQ in | |
277 | a boot script using the setserial command. | |
278 | ||
279 | If unsure, say N. | |
280 | ||
281 | config SERIAL_8250_RSA | |
282 | bool "Support RSA serial ports" | |
283 | depends on SERIAL_8250_EXTENDED | |
284 | help | |
a95fc9c8 MS |
285 | Say Y here if you have a IODATA RSA-DV II/S ISA card and |
286 | would like to use its >115kbps speeds. | |
287 | You will need to provide module parameter "probe_rsa", or boot-time | |
288 | parameter 8250.probe_rsa with I/O addresses of this card then. | |
289 | ||
290 | If you don't have such card, or if unsure, say N. | |
9bef3d41 | 291 | |
9bef3d41 PG |
292 | config SERIAL_8250_ACORN |
293 | tristate "Acorn expansion card serial port support" | |
294 | depends on ARCH_ACORN && SERIAL_8250 | |
295 | help | |
296 | If you have an Atomwide Serial card or Serial Port card for an Acorn | |
297 | system, say Y to this option. The driver can handle 1, 2, or 3 port | |
298 | cards. If unsure, say N. | |
299 | ||
bdc5f300 MS |
300 | config SERIAL_8250_BCM2835AUX |
301 | tristate "BCM2835 auxiliar mini UART support" | |
302 | depends on ARCH_BCM2835 || COMPILE_TEST | |
303 | depends on SERIAL_8250 && SERIAL_8250_SHARE_IRQ | |
304 | help | |
305 | Support for the BCM2835 auxiliar mini UART. | |
306 | ||
307 | Features and limitations of the UART are | |
308 | Registers are similar to 16650 registers, | |
309 | set bits in the control registers that are unsupported | |
310 | are ignored and read back as 0 | |
311 | 7/8 bit operation with 1 start and 1 stop bit | |
312 | 8 symbols deep fifo for rx and tx | |
313 | SW controlled RTS and SW readable CTS | |
314 | Clock rate derived from system clock | |
315 | Uses 8 times oversampling (compared to 16 times for 16650) | |
316 | Missing break detection (but break generation) | |
317 | Missing framing error detection | |
318 | Missing parity bit | |
319 | Missing receive time-out interrupt | |
320 | Missing DCD, DSR, DTR and RI signals | |
321 | ||
322 | If unsure, say N. | |
323 | ||
9bef3d41 PG |
324 | config SERIAL_8250_FSL |
325 | bool | |
d43b54d2 SW |
326 | depends on SERIAL_8250_CONSOLE |
327 | default PPC || ARM || ARM64 | |
9bef3d41 PG |
328 | |
329 | config SERIAL_8250_DW | |
330 | tristate "Support for Synopsys DesignWare 8250 quirks" | |
6a7320c4 | 331 | depends on SERIAL_8250 |
9bef3d41 PG |
332 | help |
333 | Selecting this option will enable handling of the extra features | |
334 | present in the Synopsys DesignWare APB UART. | |
22886ee9 MD |
335 | |
336 | config SERIAL_8250_EM | |
46e99c4a | 337 | tristate "Support for Emma Mobile integrated serial port" |
22886ee9 MD |
338 | depends on SERIAL_8250 && ARM && HAVE_CLK |
339 | help | |
340 | Selecting this option will add support for the integrated serial | |
341 | port hardware found on the Emma Mobile line of processors. | |
342 | If unsure, say N. | |
c420811f JC |
343 | |
344 | config SERIAL_8250_RT288X | |
345 | bool "Ralink RT288x/RT305x/RT3662/RT3883 serial port support" | |
9b2256c8 MR |
346 | depends on SERIAL_8250 |
347 | default y if MIPS_ALCHEMY || SOC_RT288X || SOC_RT305X || SOC_RT3883 || SOC_MT7620 | |
c420811f | 348 | help |
9b2256c8 MR |
349 | Selecting this option will add support for the alternate register |
350 | layout used by Ralink RT288x/RT305x, Alchemy Au1xxx, and some others. | |
351 | If unsure, say N. | |
28e3fb6c | 352 | |
61929cf0 SAS |
353 | config SERIAL_8250_OMAP |
354 | tristate "Support for OMAP internal UART (8250 based driver)" | |
355 | depends on SERIAL_8250 && ARCH_OMAP2PLUS | |
356 | help | |
357 | If you have a machine based on an Texas Instruments OMAP CPU you | |
358 | can enable its onboard serial ports by enabling this option. | |
359 | ||
360 | This driver uses ttyS instead of ttyO. | |
361 | ||
00648d02 SAS |
362 | config SERIAL_8250_OMAP_TTYO_FIXUP |
363 | bool "Replace ttyO with ttyS" | |
364 | depends on SERIAL_8250_OMAP=y && SERIAL_8250_CONSOLE | |
365 | default y | |
366 | help | |
367 | This option replaces the "console=ttyO" argument with the matching | |
368 | ttyS argument if the user did not specified it on the command line. | |
369 | This ensures that the user can see the kernel output during boot | |
370 | which he wouldn't see otherwise. The getty has still to be configured | |
371 | for ttyS instead of ttyO regardless of this option. | |
372 | This option is intended for people who "automatically" enable this | |
373 | driver without knowing that this driver requires a different console= | |
374 | argument. If you read this, please keep this option disabled and | |
375 | instead update your kernel command line. If you prepare a kernel for a | |
376 | distribution or other kind of larger user base then you probably want | |
377 | to keep this option enabled. Otherwise people might complain about a | |
378 | not booting kernel because the serial console remains silent in case | |
379 | they forgot to update the command line. | |
380 | ||
d2aef35a | 381 | config SERIAL_8250_LPC18XX |
0b1dd999 | 382 | tristate "NXP LPC18xx/43xx serial port support" |
d2aef35a JE |
383 | depends on SERIAL_8250 && OF && (ARCH_LPC18XX || COMPILE_TEST) |
384 | default ARCH_LPC18XX | |
385 | help | |
386 | If you have a LPC18xx/43xx based board and want to use the | |
387 | serial port, say Y to this option. If unsure, say Y. | |
388 | ||
b4756f4f | 389 | config SERIAL_8250_MT6577 |
3f5921a6 | 390 | tristate "Mediatek serial port support" |
b4756f4f MB |
391 | depends on SERIAL_8250 && ARCH_MEDIATEK |
392 | help | |
393 | If you have a Mediatek based board and want to use the | |
394 | serial port, say Y to this option. If unsure, say N. | |
1a8d2903 MY |
395 | |
396 | config SERIAL_8250_UNIPHIER | |
397 | tristate "Support for UniPhier on-chip UART" | |
8d6d544c MY |
398 | depends on SERIAL_8250 |
399 | depends on ARCH_UNIPHIER || COMPILE_TEST | |
1a8d2903 MY |
400 | help |
401 | If you have a UniPhier based board and want to use the on-chip | |
402 | serial ports, say Y to this option. If unsure, say N. | |
78c10e55 | 403 | |
0cf985f4 | 404 | config SERIAL_8250_INGENIC |
7d774fb8 AB |
405 | tristate "Support for Ingenic SoC serial ports" |
406 | depends on SERIAL_8250 | |
755dd8aa | 407 | depends on OF_FLATTREE |
7d774fb8 | 408 | depends on MIPS || COMPILE_TEST |
0cf985f4 PB |
409 | help |
410 | If you have a system using an Ingenic SoC and wish to make use of | |
411 | its UARTs, say Y to this option. If unsure, say N. | |
d9eda9ba | 412 | |
a13e19cf | 413 | config SERIAL_8250_LPSS |
dce22df1 | 414 | tristate "Support for serial ports on Intel LPSS platforms" |
a13e19cf AS |
415 | default SERIAL_8250 |
416 | depends on SERIAL_8250 && PCI | |
417 | depends on X86 || COMPILE_TEST | |
418 | select DW_DMAC_CORE if SERIAL_8250_DMA | |
419 | select DW_DMAC_PCI if (SERIAL_8250_DMA && X86_INTEL_LPSS) | |
420 | select RATIONAL | |
421 | help | |
422 | Selecting this option will enable handling of the extra features | |
423 | present on the UART found on various Intel platforms such as: | |
424 | - Intel Baytrail SoC | |
425 | - Intel Braswell SoC | |
6bb5d75e | 426 | - Intel Quark X1000 SoC |
a13e19cf | 427 | |
d9eda9ba | 428 | config SERIAL_8250_MID |
19458893 | 429 | tristate "Support for serial ports on Intel MID platforms" |
1fc969c7 | 430 | default SERIAL_8250 |
d9eda9ba | 431 | depends on SERIAL_8250 && PCI |
1fc969c7 | 432 | depends on X86 || COMPILE_TEST |
ec2f1b67 | 433 | select HSU_DMA if SERIAL_8250_DMA |
0ff42305 | 434 | select HSU_DMA_PCI if (HSU_DMA && X86_INTEL_MID) |
fa70045e | 435 | select RATIONAL |
d9eda9ba HK |
436 | help |
437 | Selecting this option will enable handling of the extra features | |
438 | present on the UART found on Intel Medfield SOC and various other | |
439 | Intel platforms. | |
afd7f88f | 440 | |
c216c4ad MO |
441 | config SERIAL_8250_MOXA |
442 | tristate "MOXA SmartIO MUE support" | |
443 | depends on SERIAL_8250 && PCI | |
444 | help | |
445 | Say Y here if you have a Moxa SmartIO MUE multiport serial card. | |
446 | If unsure, say N. | |
447 | ||
448 | This driver can also be built as a module. The module will be called | |
449 | 8250_moxa. If you want to do that, say M here. | |
450 | ||
ab28f51c SY |
451 | config SERIAL_8250_PXA |
452 | tristate "PXA serial port support" | |
453 | depends on SERIAL_8250 | |
454 | depends on ARCH_PXA || ARCH_MMP | |
455 | help | |
456 | If you have a machine based on an Intel XScale PXA2xx CPU you can | |
457 | enable its onboard serial ports by enabling this option. The option is | |
458 | applicable to both devicetree and legacy boards, and early console is | |
459 | part of its support. | |
460 | ||
afd7f88f AB |
461 | config SERIAL_OF_PLATFORM |
462 | tristate "Devicetree based probing for 8250 ports" | |
463 | depends on SERIAL_8250 && OF | |
464 | help | |
465 | This option is used for all 8250 compatible serial ports that | |
466 | are probed through devicetree, including Open Firmware based | |
467 | PowerPC systems and embedded systems on architectures using the | |
468 | flattened device tree format. |