]>
Commit | Line | Data |
---|---|---|
38c91d1d | 1 | # SPDX-License-Identifier: GPL-2.0 |
4f73bc4d JM |
2 | config TTY |
3 | bool "Enable TTY" if EXPERT | |
4 | default y | |
a7f7f624 | 5 | help |
4f73bc4d JM |
6 | Allows you to remove TTY support which can save space, and |
7 | blocks features that require TTY from inclusion in the kernel. | |
8 | TTY is required for any text terminals or serial port | |
9 | communication. Most users should leave this enabled. | |
10 | ||
11 | if TTY | |
12 | ||
bdcffc5a GKH |
13 | config VT |
14 | bool "Virtual terminal" if EXPERT | |
579f1a28 | 15 | depends on !UML |
bdcffc5a GKH |
16 | select INPUT |
17 | default y | |
a7f7f624 | 18 | help |
bdcffc5a GKH |
19 | If you say Y here, you will get support for terminal devices with |
20 | display and keyboard devices. These are called "virtual" because you | |
21 | can run several virtual terminals (also called virtual consoles) on | |
22 | one physical terminal. This is rather useful, for example one | |
23 | virtual terminal can collect system messages and warnings, another | |
24 | one can be used for a text-mode user session, and a third could run | |
25 | an X session, all in parallel. Switching between virtual terminals | |
26 | is done with certain key combinations, usually Alt-<function key>. | |
27 | ||
28 | The setterm command ("man setterm") can be used to change the | |
29 | properties (such as colors or beeping) of a virtual terminal. The | |
30 | man page console_codes(4) ("man console_codes") contains the special | |
31 | character sequences that can be used to change those properties | |
32 | directly. The fonts used on virtual terminals can be changed with | |
33 | the setfont ("man setfont") command and the key bindings are defined | |
34 | with the loadkeys ("man loadkeys") command. | |
35 | ||
36 | You need at least one virtual terminal device in order to make use | |
37 | of your keyboard and monitor. Therefore, only people configuring an | |
38 | embedded system would want to say N here in order to save some | |
39 | memory; the only way to log into such a system is then via a serial | |
40 | or network connection. | |
41 | ||
42 | If unsure, say Y, or else you won't be able to do much with your new | |
43 | shiny Linux system :-) | |
44 | ||
45 | config CONSOLE_TRANSLATIONS | |
46 | depends on VT | |
47 | default y | |
48 | bool "Enable character translations in console" if EXPERT | |
a7f7f624 | 49 | help |
bdcffc5a GKH |
50 | This enables support for font mapping and Unicode translation |
51 | on virtual consoles. | |
52 | ||
53 | config VT_CONSOLE | |
54 | bool "Support for console on virtual terminal" if EXPERT | |
55 | depends on VT | |
56 | default y | |
a7f7f624 | 57 | help |
bdcffc5a GKH |
58 | The system console is the device which receives all kernel messages |
59 | and warnings and which allows logins in single user mode. If you | |
60 | answer Y here, a virtual terminal (the device used to interact with | |
61 | a physical terminal) can be used as system console. This is the most | |
62 | common mode of operations, so you should say Y here unless you want | |
63 | the kernel messages be output only to a serial port (in which case | |
64 | you should say Y to "Console on serial port", below). | |
65 | ||
66 | If you do say Y here, by default the currently visible virtual | |
67 | terminal (/dev/tty0) will be used as system console. You can change | |
68 | that with a kernel command line option such as "console=tty3" which | |
69 | would use the third virtual terminal as system console. (Try "man | |
70 | bootparam" or see the documentation of your boot loader (lilo or | |
71 | loadlin) about how to pass options to the kernel at boot time.) | |
72 | ||
73 | If unsure, say Y. | |
74 | ||
37cce26b HS |
75 | config VT_CONSOLE_SLEEP |
76 | def_bool y | |
77 | depends on VT_CONSOLE && PM_SLEEP | |
78 | ||
bdcffc5a GKH |
79 | config HW_CONSOLE |
80 | bool | |
24b59223 | 81 | depends on VT && !UML |
bdcffc5a GKH |
82 | default y |
83 | ||
84 | config VT_HW_CONSOLE_BINDING | |
da88ac0b KK |
85 | bool "Support for binding and unbinding console drivers" |
86 | depends on HW_CONSOLE | |
a7f7f624 | 87 | help |
da88ac0b KK |
88 | The virtual terminal is the device that interacts with the physical |
89 | terminal through console drivers. On these systems, at least one | |
90 | console driver is loaded. In other configurations, additional console | |
91 | drivers may be enabled, such as the framebuffer console. If more than | |
92 | 1 console driver is enabled, setting this to 'y' will allow you to | |
93 | select the console driver that will serve as the backend for the | |
94 | virtual terminals. | |
bdcffc5a | 95 | |
da88ac0b KK |
96 | See <file:Documentation/driver-api/console.rst> for more |
97 | information. For framebuffer console users, please refer to | |
98 | <file:Documentation/fb/fbcon.rst>. | |
bdcffc5a GKH |
99 | |
100 | config UNIX98_PTYS | |
101 | bool "Unix98 PTY support" if EXPERT | |
102 | default y | |
a7f7f624 | 103 | help |
bdcffc5a GKH |
104 | A pseudo terminal (PTY) is a software device consisting of two |
105 | halves: a master and a slave. The slave device behaves identical to | |
106 | a physical terminal; the master device is used by a process to | |
107 | read data from and write data to the slave, thereby emulating a | |
108 | terminal. Typical programs for the master side are telnet servers | |
109 | and xterms. | |
110 | ||
111 | Linux has traditionally used the BSD-like names /dev/ptyxx for | |
112 | masters and /dev/ttyxx for slaves of pseudo terminals. This scheme | |
113 | has a number of problems. The GNU C library glibc 2.1 and later, | |
114 | however, supports the Unix98 naming standard: in order to acquire a | |
115 | pseudo terminal, a process opens /dev/ptmx; the number of the pseudo | |
116 | terminal is then made available to the process and the pseudo | |
117 | terminal slave can be accessed as /dev/pts/<number>. What was | |
118 | traditionally /dev/ttyp2 will then be /dev/pts/2, for example. | |
119 | ||
120 | All modern Linux systems use the Unix98 ptys. Say Y unless | |
121 | you're on an embedded system and want to conserve memory. | |
122 | ||
bdcffc5a GKH |
123 | config LEGACY_PTYS |
124 | bool "Legacy (BSD) PTY support" | |
125 | default y | |
a7f7f624 | 126 | help |
bdcffc5a GKH |
127 | A pseudo terminal (PTY) is a software device consisting of two |
128 | halves: a master and a slave. The slave device behaves identical to | |
129 | a physical terminal; the master device is used by a process to | |
130 | read data from and write data to the slave, thereby emulating a | |
131 | terminal. Typical programs for the master side are telnet servers | |
132 | and xterms. | |
133 | ||
134 | Linux has traditionally used the BSD-like names /dev/ptyxx | |
135 | for masters and /dev/ttyxx for slaves of pseudo | |
136 | terminals. This scheme has a number of problems, including | |
137 | security. This option enables these legacy devices; on most | |
138 | systems, it is safe to say N. | |
139 | ||
bdcffc5a GKH |
140 | config LEGACY_PTY_COUNT |
141 | int "Maximum number of legacy PTY in use" | |
142 | depends on LEGACY_PTYS | |
143 | range 0 256 | |
144 | default "256" | |
a7f7f624 | 145 | help |
bdcffc5a GKH |
146 | The maximum number of legacy PTYs that can be used at any one time. |
147 | The default is 256, and should be more than enough. Embedded | |
148 | systems may want to reduce this to save memory. | |
149 | ||
150 | When not in use, each legacy PTY occupies 12 bytes on 32-bit | |
151 | architectures and 24 bytes on 64-bit architectures. | |
152 | ||
2cca608a RD |
153 | config LDISC_AUTOLOAD |
154 | bool "Automatically load TTY Line Disciplines" | |
155 | default y | |
156 | help | |
157 | Historically the kernel has always automatically loaded any | |
158 | line discipline that is in a kernel module when a user asks | |
159 | for it to be loaded with the TIOCSETD ioctl, or through other | |
160 | means. This is not always the best thing to do on systems | |
161 | where you know you will not be using some of the more | |
162 | "ancient" line disciplines, so prevent the kernel from doing | |
163 | this unless the request is coming from a process with the | |
164 | CAP_SYS_MODULE permissions. | |
165 | ||
166 | Say 'Y' here if you trust your userspace users to do the right | |
167 | thing, or if you have only provided the line disciplines that | |
168 | you know you will be using, or if you wish to continue to use | |
169 | the traditional method of on-demand loading of these modules | |
170 | by any user. | |
171 | ||
172 | This functionality can be changed at runtime with the | |
173 | dev.tty.ldisc_autoload sysctl, this configuration option will | |
174 | only set the default value of this functionality. | |
175 | ||
176 | source "drivers/tty/serial/Kconfig" | |
177 | ||
a6afd9f3 GKH |
178 | config SERIAL_NONSTANDARD |
179 | bool "Non-standard serial port support" | |
180 | depends on HAS_IOMEM | |
a7f7f624 | 181 | help |
a6afd9f3 GKH |
182 | Say Y here if you have any non-standard serial boards -- boards |
183 | which aren't supported using the standard "dumb" serial driver. | |
184 | This includes intelligent serial boards such as Cyclades, | |
185 | Digiboards, etc. These are usually used for systems that need many | |
186 | serial ports because they serve many terminals or dial-in | |
187 | connections. | |
188 | ||
189 | Note that the answer to this question won't directly affect the | |
190 | kernel: saying N will just cause the configurator to skip all | |
191 | the questions about non-standard serial boards. | |
192 | ||
193 | Most people can say N here. | |
194 | ||
195 | config ROCKETPORT | |
196 | tristate "Comtrol RocketPort support" | |
197 | depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI) | |
198 | help | |
199 | This driver supports Comtrol RocketPort and RocketModem PCI boards. | |
4500914d KK |
200 | These boards provide 2, 4, 8, 16, or 32 high-speed serial ports or |
201 | modems. For information about the RocketPort/RocketModem boards | |
202 | and this driver read <file:Documentation/driver-api/serial/rocket.rst>. | |
a6afd9f3 GKH |
203 | |
204 | To compile this driver as a module, choose M here: the | |
205 | module will be called rocket. | |
206 | ||
207 | If you want to compile this driver into the kernel, say Y here. If | |
4500914d | 208 | you don't have a Comtrol RocketPort/RocketModem card installed, say N. |
a6afd9f3 GKH |
209 | |
210 | config CYCLADES | |
211 | tristate "Cyclades async mux support" | |
212 | depends on SERIAL_NONSTANDARD && (PCI || ISA) | |
213 | select FW_LOADER | |
a7f7f624 | 214 | help |
a6afd9f3 GKH |
215 | This driver supports Cyclades Z and Y multiserial boards. |
216 | You would need something like this to connect more than two modems to | |
217 | your Linux box, for instance in order to become a dial-in server. | |
218 | ||
219 | For information about the Cyclades-Z card, read | |
65388dad | 220 | <file:Documentation/driver-api/serial/cyclades_z.rst>. |
a6afd9f3 GKH |
221 | |
222 | To compile this driver as a module, choose M here: the | |
223 | module will be called cyclades. | |
224 | ||
225 | If you haven't heard about it, it's safe to say N. | |
226 | ||
227 | config CYZ_INTR | |
8b77562b | 228 | bool "Cyclades-Z interrupt mode operation" |
05ead496 | 229 | depends on CYCLADES && PCI |
a6afd9f3 GKH |
230 | help |
231 | The Cyclades-Z family of multiport cards allows 2 (two) driver op | |
232 | modes: polling and interrupt. In polling mode, the driver will check | |
233 | the status of the Cyclades-Z ports every certain amount of time | |
234 | (which is called polling cycle and is configurable). In interrupt | |
235 | mode, it will use an interrupt line (IRQ) in order to check the | |
236 | status of the Cyclades-Z ports. The default op mode is polling. If | |
237 | unsure, say N. | |
238 | ||
239 | config MOXA_INTELLIO | |
240 | tristate "Moxa Intellio support" | |
241 | depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI) | |
242 | select FW_LOADER | |
243 | help | |
244 | Say Y here if you have a Moxa Intellio multiport serial card. | |
245 | ||
246 | To compile this driver as a module, choose M here: the | |
247 | module will be called moxa. | |
248 | ||
249 | config MOXA_SMARTIO | |
250 | tristate "Moxa SmartIO support v. 2.0" | |
251 | depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA) | |
252 | help | |
253 | Say Y here if you have a Moxa SmartIO multiport serial card and/or | |
254 | want to help develop a new version of this driver. | |
255 | ||
256 | This is upgraded (1.9.1) driver from original Moxa drivers with | |
257 | changes finally resulting in PCI probing. | |
258 | ||
259 | This driver can also be built as a module. The module will be called | |
260 | mxser. If you want to do that, say M here. | |
261 | ||
262 | config SYNCLINK | |
263 | tristate "Microgate SyncLink card support" | |
264 | depends on SERIAL_NONSTANDARD && PCI && ISA_DMA_API | |
265 | help | |
266 | Provides support for the SyncLink ISA and PCI multiprotocol serial | |
267 | adapters. These adapters support asynchronous and HDLC bit | |
268 | synchronous communication up to 10Mbps (PCI adapter). | |
269 | ||
270 | This driver can only be built as a module ( = code which can be | |
271 | inserted in and removed from the running kernel whenever you want). | |
272 | The module will be called synclink. If you want to do that, say M | |
273 | here. | |
274 | ||
275 | config SYNCLINKMP | |
276 | tristate "SyncLink Multiport support" | |
277 | depends on SERIAL_NONSTANDARD && PCI | |
278 | help | |
279 | Enable support for the SyncLink Multiport (2 or 4 ports) | |
280 | serial adapter, running asynchronous and HDLC communications up | |
281 | to 2.048Mbps. Each ports is independently selectable for | |
282 | RS-232, V.35, RS-449, RS-530, and X.21 | |
283 | ||
284 | This driver may be built as a module ( = code which can be | |
285 | inserted in and removed from the running kernel whenever you want). | |
286 | The module will be called synclinkmp. If you want to do that, say M | |
287 | here. | |
288 | ||
289 | config SYNCLINK_GT | |
290 | tristate "SyncLink GT/AC support" | |
291 | depends on SERIAL_NONSTANDARD && PCI | |
292 | help | |
293 | Support for SyncLink GT and SyncLink AC families of | |
294 | synchronous and asynchronous serial adapters | |
295 | manufactured by Microgate Systems, Ltd. (www.microgate.com) | |
296 | ||
a6afd9f3 | 297 | config ISI |
8b77562b | 298 | tristate "Multi-Tech multiport card support" |
a6afd9f3 GKH |
299 | depends on SERIAL_NONSTANDARD && PCI |
300 | select FW_LOADER | |
301 | help | |
302 | This is a driver for the Multi-Tech cards which provide several | |
303 | serial ports. The driver is experimental and can currently only be | |
304 | built as a module. The module will be called isicom. | |
305 | If you want to do that, choose M here. | |
306 | ||
307 | config N_HDLC | |
308 | tristate "HDLC line discipline support" | |
309 | depends on SERIAL_NONSTANDARD | |
310 | help | |
311 | Allows synchronous HDLC communications with tty device drivers that | |
312 | support synchronous HDLC such as the Microgate SyncLink adapter. | |
313 | ||
314 | This driver can be built as a module ( = code which can be | |
315 | inserted in and removed from the running kernel whenever you want). | |
316 | The module will be called n_hdlc. If you want to do that, say M | |
317 | here. | |
318 | ||
dcd83aaf | 319 | config PPC_EPAPR_HV_BYTECHAN |
a183d3ae | 320 | bool "ePAPR hypervisor byte channel driver" |
dcd83aaf | 321 | depends on PPC |
40656397 | 322 | select EPAPR_PARAVIRT |
dcd83aaf TT |
323 | help |
324 | This driver creates /dev entries for each ePAPR hypervisor byte | |
325 | channel, thereby allowing applications to communicate with byte | |
326 | channels as if they were serial ports. | |
327 | ||
328 | config PPC_EARLY_DEBUG_EHV_BC | |
329 | bool "Early console (udbg) support for ePAPR hypervisors" | |
f21c6d4a | 330 | depends on PPC_EPAPR_HV_BYTECHAN=y |
dcd83aaf TT |
331 | help |
332 | Select this option to enable early console (a.k.a. "udbg") support | |
333 | via an ePAPR byte channel. You also need to choose the byte channel | |
334 | handle below. | |
335 | ||
336 | config PPC_EARLY_DEBUG_EHV_BC_HANDLE | |
337 | int "Byte channel handle for early console (udbg)" | |
338 | depends on PPC_EARLY_DEBUG_EHV_BC | |
339 | default 0 | |
340 | help | |
341 | If you want early console (udbg) output through a byte channel, | |
342 | specify the handle of the byte channel to use. | |
343 | ||
344 | For this to work, the byte channel driver must be compiled | |
345 | in-kernel, not as a module. | |
346 | ||
347 | Note that only one early console driver can be enabled, so don't | |
348 | enable any others if you enable this one. | |
349 | ||
350 | If the number you specify is not a valid byte channel handle, then | |
351 | there simply will be no early console output. This is true also | |
352 | if you don't boot under a hypervisor at all. | |
4f73bc4d | 353 | |
666b7793 AH |
354 | config GOLDFISH_TTY |
355 | tristate "Goldfish TTY Driver" | |
356 | depends on GOLDFISH | |
3840ed95 MD |
357 | select SERIAL_CORE |
358 | select SERIAL_CORE_CONSOLE | |
666b7793 AH |
359 | help |
360 | Console and system TTY driver for the Goldfish virtual platform. | |
361 | ||
6a28fd2b SAS |
362 | config GOLDFISH_TTY_EARLY_CONSOLE |
363 | bool | |
364 | default y if GOLDFISH_TTY=y | |
365 | select SERIAL_EARLYCON | |
366 | ||
2cca608a RD |
367 | config N_GSM |
368 | tristate "GSM MUX line discipline support (EXPERIMENTAL)" | |
369 | depends on NET | |
370 | help | |
371 | This line discipline provides support for the GSM MUX protocol and | |
372 | presents the mux as a set of 61 individual tty devices. | |
373 | ||
374 | config NOZOMI | |
375 | tristate "HSDPA Broadband Wireless Data Card - Globe Trotter" | |
376 | depends on PCI | |
377 | help | |
378 | If you have a HSDPA driver Broadband Wireless Data Card - | |
379 | Globe Trotter PCMCIA card, say Y here. | |
380 | ||
381 | To compile this driver as a module, choose M here, the module | |
382 | will be called nozomi. | |
383 | ||
4cebec60 JH |
384 | config MIPS_EJTAG_FDC_TTY |
385 | bool "MIPS EJTAG Fast Debug Channel TTY" | |
386 | depends on MIPS_CDMM | |
387 | help | |
388 | This enables a TTY and console on the MIPS EJTAG Fast Debug Channels, | |
389 | if they are present. This can be useful when working with an EJTAG | |
390 | probe which supports it, to get console output and a login prompt via | |
391 | EJTAG without needing to connect a serial cable. | |
392 | ||
393 | TTY devices are named e.g. ttyFDC3c2 (for FDC channel 2 of the FDC on | |
394 | CPU3). | |
395 | ||
396 | The console can be enabled with console=fdc1 (for FDC channel 1 on all | |
397 | CPUs). Do not use the console unless there is a debug probe attached | |
398 | to drain the FDC TX FIFO. | |
399 | ||
400 | If unsure, say N. | |
401 | ||
e934945d JH |
402 | config MIPS_EJTAG_FDC_EARLYCON |
403 | bool "Early FDC console" | |
404 | depends on MIPS_EJTAG_FDC_TTY | |
405 | help | |
406 | This registers a console on FDC channel 1 very early during boot (from | |
407 | MIPS arch code). This is useful for bring-up and debugging early boot | |
408 | issues. | |
409 | ||
410 | Do not enable unless there is a debug probe attached to drain the FDC | |
411 | TX FIFO. | |
412 | ||
413 | If unsure, say N. | |
414 | ||
c2d7ef51 JH |
415 | config MIPS_EJTAG_FDC_KGDB |
416 | bool "Use KGDB over an FDC channel" | |
417 | depends on MIPS_EJTAG_FDC_TTY && KGDB | |
418 | default y | |
419 | help | |
4500914d KK |
420 | This enables the use of KGDB over an FDC channel, allowing KGDB to be |
421 | used remotely or when a serial port isn't available. | |
c2d7ef51 JH |
422 | |
423 | config MIPS_EJTAG_FDC_KGDB_CHAN | |
424 | int "KGDB FDC channel" | |
425 | depends on MIPS_EJTAG_FDC_KGDB | |
426 | range 2 15 | |
427 | default 3 | |
428 | help | |
429 | FDC channel number to use for KGDB. | |
430 | ||
2cca608a RD |
431 | config NULL_TTY |
432 | tristate "NULL TTY driver" | |
55bd2133 | 433 | help |
2cca608a | 434 | Say Y here if you want a NULL TTY which simply discards messages. |
7c0cca7c | 435 | |
2cca608a RD |
436 | This is useful to allow userspace applications which expect a console |
437 | device to work without modifications even when no console is | |
438 | available or desired. | |
439 | ||
440 | In order to use this driver, you should redirect the console to this | |
441 | TTY, or boot the kernel with console=ttynull. | |
442 | ||
443 | If unsure, say N. | |
444 | ||
445 | config TRACE_ROUTER | |
446 | tristate "Trace data router for MIPI P1149.7 cJTAG standard" | |
447 | depends on TRACE_SINK | |
7c0cca7c | 448 | help |
2cca608a RD |
449 | The trace router uses the Linux tty line discipline framework to |
450 | route trace data coming from a tty port (say UART for example) to | |
451 | the trace sink line discipline driver and to another tty port (say | |
452 | USB). This is part of a solution for the MIPI P1149.7, compact JTAG, | |
453 | standard, which is for debugging mobile devices. The PTI driver in | |
454 | drivers/misc/pti.c defines the majority of this MIPI solution. | |
7c0cca7c | 455 | |
2cca608a RD |
456 | You should select this driver if the target kernel is meant for |
457 | a mobile device containing a modem. Then you will need to select | |
458 | "Trace data sink for MIPI P1149.7 cJTAG standard" line discipline | |
459 | driver. | |
7c0cca7c | 460 | |
2cca608a RD |
461 | config TRACE_SINK |
462 | tristate "Trace data sink for MIPI P1149.7 cJTAG standard" | |
463 | help | |
464 | The trace sink uses the Linux line discipline framework to receive | |
465 | trace data coming from the trace router line discipline driver | |
466 | to a user-defined tty port target, like USB. | |
467 | This is to provide a way to extract modem trace data on | |
468 | devices that do not have a PTI HW module, or just need modem | |
469 | trace data to come out of a different HW output port. | |
470 | This is part of a solution for the P1149.7, compact JTAG, standard. | |
7c0cca7c | 471 | |
2cca608a RD |
472 | If you select this option, you need to select |
473 | "Trace data router for MIPI P1149.7 cJTAG standard". | |
00e37543 | 474 | |
2cca608a RD |
475 | config VCC |
476 | tristate "Sun Virtual Console Concentrator" | |
477 | depends on SUN_LDOMS | |
478 | help | |
479 | Support for Sun logical domain consoles. | |
480 | ||
481 | source "drivers/tty/hvc/Kconfig" | |
00e37543 | 482 | |
4f73bc4d | 483 | endif # TTY |
00e37543 RD |
484 | |
485 | source "drivers/tty/serdev/Kconfig" |