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 | ||
9bef3d41 PG |
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 | |
d2fd6810 | 64 | select SERIAL_EARLYCON |
9bef3d41 PG |
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 | ||
9bef3d41 PG |
94 | config SERIAL_8250_GSC |
95 | tristate | |
96 | depends on SERIAL_8250 && GSC | |
97 | default SERIAL_8250 | |
98 | ||
9ee4b83e HK |
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 | ||
9bef3d41 PG |
107 | config SERIAL_8250_PCI |
108 | tristate "8250/16550 PCI device support" if EXPERT | |
109 | depends on SERIAL_8250 && PCI | |
110 | default SERIAL_8250 | |
21947ba6 | 111 | select RATIONAL |
9bef3d41 PG |
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. | |
972ce085 SS |
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. | |
9bef3d41 | 118 | |
9bef3d41 PG |
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 | ||
9bef3d41 PG |
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 | ||
bdc5f300 MS |
275 | config SERIAL_8250_BCM2835AUX |
276 | tristate "BCM2835 auxiliar mini UART support" | |
277 | depends on ARCH_BCM2835 || COMPILE_TEST | |
278 | depends on SERIAL_8250 && SERIAL_8250_SHARE_IRQ | |
279 | help | |
280 | Support for the BCM2835 auxiliar mini UART. | |
281 | ||
282 | Features and limitations of the UART are | |
283 | Registers are similar to 16650 registers, | |
284 | set bits in the control registers that are unsupported | |
285 | are ignored and read back as 0 | |
286 | 7/8 bit operation with 1 start and 1 stop bit | |
287 | 8 symbols deep fifo for rx and tx | |
288 | SW controlled RTS and SW readable CTS | |
289 | Clock rate derived from system clock | |
290 | Uses 8 times oversampling (compared to 16 times for 16650) | |
291 | Missing break detection (but break generation) | |
292 | Missing framing error detection | |
293 | Missing parity bit | |
294 | Missing receive time-out interrupt | |
295 | Missing DCD, DSR, DTR and RI signals | |
296 | ||
297 | If unsure, say N. | |
298 | ||
9bef3d41 PG |
299 | config SERIAL_8250_FSL |
300 | bool | |
d43b54d2 SW |
301 | depends on SERIAL_8250_CONSOLE |
302 | default PPC || ARM || ARM64 | |
9bef3d41 PG |
303 | |
304 | config SERIAL_8250_DW | |
305 | tristate "Support for Synopsys DesignWare 8250 quirks" | |
6a7320c4 | 306 | depends on SERIAL_8250 |
9bef3d41 PG |
307 | help |
308 | Selecting this option will enable handling of the extra features | |
309 | present in the Synopsys DesignWare APB UART. | |
22886ee9 MD |
310 | |
311 | config SERIAL_8250_EM | |
46e99c4a | 312 | tristate "Support for Emma Mobile integrated serial port" |
22886ee9 MD |
313 | depends on SERIAL_8250 && ARM && HAVE_CLK |
314 | help | |
315 | Selecting this option will add support for the integrated serial | |
316 | port hardware found on the Emma Mobile line of processors. | |
317 | If unsure, say N. | |
c420811f JC |
318 | |
319 | config SERIAL_8250_RT288X | |
320 | bool "Ralink RT288x/RT305x/RT3662/RT3883 serial port support" | |
9b2256c8 | 321 | depends on SERIAL_8250 |
8d2acdb9 | 322 | depends on MIPS || COMPILE_TEST |
9b2256c8 | 323 | default y if MIPS_ALCHEMY || SOC_RT288X || SOC_RT305X || SOC_RT3883 || SOC_MT7620 |
c420811f | 324 | help |
9b2256c8 MR |
325 | Selecting this option will add support for the alternate register |
326 | layout used by Ralink RT288x/RT305x, Alchemy Au1xxx, and some others. | |
327 | If unsure, say N. | |
28e3fb6c | 328 | |
61929cf0 SAS |
329 | config SERIAL_8250_OMAP |
330 | tristate "Support for OMAP internal UART (8250 based driver)" | |
331 | depends on SERIAL_8250 && ARCH_OMAP2PLUS | |
332 | help | |
333 | If you have a machine based on an Texas Instruments OMAP CPU you | |
334 | can enable its onboard serial ports by enabling this option. | |
335 | ||
336 | This driver uses ttyS instead of ttyO. | |
337 | ||
00648d02 SAS |
338 | config SERIAL_8250_OMAP_TTYO_FIXUP |
339 | bool "Replace ttyO with ttyS" | |
340 | depends on SERIAL_8250_OMAP=y && SERIAL_8250_CONSOLE | |
341 | default y | |
342 | help | |
343 | This option replaces the "console=ttyO" argument with the matching | |
344 | ttyS argument if the user did not specified it on the command line. | |
345 | This ensures that the user can see the kernel output during boot | |
346 | which he wouldn't see otherwise. The getty has still to be configured | |
347 | for ttyS instead of ttyO regardless of this option. | |
348 | This option is intended for people who "automatically" enable this | |
349 | driver without knowing that this driver requires a different console= | |
350 | argument. If you read this, please keep this option disabled and | |
351 | instead update your kernel command line. If you prepare a kernel for a | |
352 | distribution or other kind of larger user base then you probably want | |
353 | to keep this option enabled. Otherwise people might complain about a | |
354 | not booting kernel because the serial console remains silent in case | |
355 | they forgot to update the command line. | |
356 | ||
28e3fb6c RRD |
357 | config SERIAL_8250_FINTEK |
358 | tristate "Support for Fintek F81216A LPC to 4 UART" | |
359 | depends on SERIAL_8250 && PNP | |
360 | help | |
361 | Selecting this option will add support for the Fintek F81216A | |
362 | LPC to 4 UART. This device has some RS485 functionality not available | |
363 | through the PNP driver. If unsure, say N. | |
364 | ||
d2aef35a | 365 | config SERIAL_8250_LPC18XX |
0b1dd999 | 366 | tristate "NXP LPC18xx/43xx serial port support" |
d2aef35a JE |
367 | depends on SERIAL_8250 && OF && (ARCH_LPC18XX || COMPILE_TEST) |
368 | default ARCH_LPC18XX | |
369 | help | |
370 | If you have a LPC18xx/43xx based board and want to use the | |
371 | serial port, say Y to this option. If unsure, say Y. | |
372 | ||
b4756f4f | 373 | config SERIAL_8250_MT6577 |
3f5921a6 | 374 | tristate "Mediatek serial port support" |
b4756f4f MB |
375 | depends on SERIAL_8250 && ARCH_MEDIATEK |
376 | help | |
377 | If you have a Mediatek based board and want to use the | |
378 | serial port, say Y to this option. If unsure, say N. | |
1a8d2903 MY |
379 | |
380 | config SERIAL_8250_UNIPHIER | |
381 | tristate "Support for UniPhier on-chip UART" | |
382 | depends on SERIAL_8250 && ARCH_UNIPHIER | |
383 | help | |
384 | If you have a UniPhier based board and want to use the on-chip | |
385 | serial ports, say Y to this option. If unsure, say N. | |
78c10e55 | 386 | |
0cf985f4 | 387 | config SERIAL_8250_INGENIC |
7d774fb8 AB |
388 | tristate "Support for Ingenic SoC serial ports" |
389 | depends on SERIAL_8250 | |
390 | depends on (OF_FLATTREE && SERIAL_8250_CONSOLE) || !SERIAL_EARLYCON | |
391 | depends on MIPS || COMPILE_TEST | |
0cf985f4 PB |
392 | help |
393 | If you have a system using an Ingenic SoC and wish to make use of | |
394 | its UARTs, say Y to this option. If unsure, say N. | |
d9eda9ba HK |
395 | |
396 | config SERIAL_8250_MID | |
397 | tristate "Support for serial ports on Intel MID platforms" | |
398 | depends on SERIAL_8250 && PCI | |
ec2f1b67 | 399 | select HSU_DMA if SERIAL_8250_DMA |
0ff42305 | 400 | select HSU_DMA_PCI if (HSU_DMA && X86_INTEL_MID) |
fa70045e | 401 | select RATIONAL |
d9eda9ba HK |
402 | help |
403 | Selecting this option will enable handling of the extra features | |
404 | present on the UART found on Intel Medfield SOC and various other | |
405 | Intel platforms. | |
afd7f88f AB |
406 | |
407 | config SERIAL_OF_PLATFORM | |
408 | tristate "Devicetree based probing for 8250 ports" | |
409 | depends on SERIAL_8250 && OF | |
410 | help | |
411 | This option is used for all 8250 compatible serial ports that | |
412 | are probed through devicetree, including Open Firmware based | |
413 | PowerPC systems and embedded systems on architectures using the | |
414 | flattened device tree format. |