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