xref: /openbmc/linux/drivers/tty/Kconfig (revision 25985edc)
1config VT
2	bool "Virtual terminal" if EXPERT
3	depends on !S390
4	select INPUT
5	default y
6	---help---
7	  If you say Y here, you will get support for terminal devices with
8	  display and keyboard devices. These are called "virtual" because you
9	  can run several virtual terminals (also called virtual consoles) on
10	  one physical terminal. This is rather useful, for example one
11	  virtual terminal can collect system messages and warnings, another
12	  one can be used for a text-mode user session, and a third could run
13	  an X session, all in parallel. Switching between virtual terminals
14	  is done with certain key combinations, usually Alt-<function key>.
15
16	  The setterm command ("man setterm") can be used to change the
17	  properties (such as colors or beeping) of a virtual terminal. The
18	  man page console_codes(4) ("man console_codes") contains the special
19	  character sequences that can be used to change those properties
20	  directly. The fonts used on virtual terminals can be changed with
21	  the setfont ("man setfont") command and the key bindings are defined
22	  with the loadkeys ("man loadkeys") command.
23
24	  You need at least one virtual terminal device in order to make use
25	  of your keyboard and monitor. Therefore, only people configuring an
26	  embedded system would want to say N here in order to save some
27	  memory; the only way to log into such a system is then via a serial
28	  or network connection.
29
30	  If unsure, say Y, or else you won't be able to do much with your new
31	  shiny Linux system :-)
32
33config CONSOLE_TRANSLATIONS
34	depends on VT
35	default y
36	bool "Enable character translations in console" if EXPERT
37	---help---
38	  This enables support for font mapping and Unicode translation
39	  on virtual consoles.
40
41config VT_CONSOLE
42	bool "Support for console on virtual terminal" if EXPERT
43	depends on VT
44	default y
45	---help---
46	  The system console is the device which receives all kernel messages
47	  and warnings and which allows logins in single user mode. If you
48	  answer Y here, a virtual terminal (the device used to interact with
49	  a physical terminal) can be used as system console. This is the most
50	  common mode of operations, so you should say Y here unless you want
51	  the kernel messages be output only to a serial port (in which case
52	  you should say Y to "Console on serial port", below).
53
54	  If you do say Y here, by default the currently visible virtual
55	  terminal (/dev/tty0) will be used as system console. You can change
56	  that with a kernel command line option such as "console=tty3" which
57	  would use the third virtual terminal as system console. (Try "man
58	  bootparam" or see the documentation of your boot loader (lilo or
59	  loadlin) about how to pass options to the kernel at boot time.)
60
61	  If unsure, say Y.
62
63config HW_CONSOLE
64	bool
65	depends on VT && !S390 && !UML
66	default y
67
68config VT_HW_CONSOLE_BINDING
69       bool "Support for binding and unbinding console drivers"
70       depends on HW_CONSOLE
71       default n
72       ---help---
73         The virtual terminal is the device that interacts with the physical
74         terminal through console drivers. On these systems, at least one
75         console driver is loaded. In other configurations, additional console
76         drivers may be enabled, such as the framebuffer console. If more than
77         1 console driver is enabled, setting this to 'y' will allow you to
78         select the console driver that will serve as the backend for the
79         virtual terminals.
80
81	 See <file:Documentation/console/console.txt> for more
82	 information. For framebuffer console users, please refer to
83	 <file:Documentation/fb/fbcon.txt>.
84
85config UNIX98_PTYS
86	bool "Unix98 PTY support" if EXPERT
87	default y
88	---help---
89	  A pseudo terminal (PTY) is a software device consisting of two
90	  halves: a master and a slave. The slave device behaves identical to
91	  a physical terminal; the master device is used by a process to
92	  read data from and write data to the slave, thereby emulating a
93	  terminal. Typical programs for the master side are telnet servers
94	  and xterms.
95
96	  Linux has traditionally used the BSD-like names /dev/ptyxx for
97	  masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
98	  has a number of problems. The GNU C library glibc 2.1 and later,
99	  however, supports the Unix98 naming standard: in order to acquire a
100	  pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
101	  terminal is then made available to the process and the pseudo
102	  terminal slave can be accessed as /dev/pts/<number>. What was
103	  traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
104
105	  All modern Linux systems use the Unix98 ptys.  Say Y unless
106	  you're on an embedded system and want to conserve memory.
107
108config DEVPTS_MULTIPLE_INSTANCES
109	bool "Support multiple instances of devpts"
110	depends on UNIX98_PTYS
111	default n
112	---help---
113	  Enable support for multiple instances of devpts filesystem.
114	  If you want to have isolated PTY namespaces (eg: in containers),
115	  say Y here.  Otherwise, say N. If enabled, each mount of devpts
116	  filesystem with the '-o newinstance' option will create an
117	  independent PTY namespace.
118
119config LEGACY_PTYS
120	bool "Legacy (BSD) PTY support"
121	default y
122	---help---
123	  A pseudo terminal (PTY) is a software device consisting of two
124	  halves: a master and a slave. The slave device behaves identical to
125	  a physical terminal; the master device is used by a process to
126	  read data from and write data to the slave, thereby emulating a
127	  terminal. Typical programs for the master side are telnet servers
128	  and xterms.
129
130	  Linux has traditionally used the BSD-like names /dev/ptyxx
131	  for masters and /dev/ttyxx for slaves of pseudo
132	  terminals. This scheme has a number of problems, including
133	  security.  This option enables these legacy devices; on most
134	  systems, it is safe to say N.
135
136
137config LEGACY_PTY_COUNT
138	int "Maximum number of legacy PTY in use"
139	depends on LEGACY_PTYS
140	range 0 256
141	default "256"
142	---help---
143	  The maximum number of legacy PTYs that can be used at any one time.
144	  The default is 256, and should be more than enough.  Embedded
145	  systems may want to reduce this to save memory.
146
147	  When not in use, each legacy PTY occupies 12 bytes on 32-bit
148	  architectures and 24 bytes on 64-bit architectures.
149
150config BFIN_JTAG_COMM
151	tristate "Blackfin JTAG Communication"
152	depends on BLACKFIN
153	help
154	  Add support for emulating a TTY device over the Blackfin JTAG.
155
156	  To compile this driver as a module, choose M here: the
157	  module will be called bfin_jtag_comm.
158
159config BFIN_JTAG_COMM_CONSOLE
160	bool "Console on Blackfin JTAG"
161	depends on BFIN_JTAG_COMM=y
162
163config SERIAL_NONSTANDARD
164	bool "Non-standard serial port support"
165	depends on HAS_IOMEM
166	---help---
167	  Say Y here if you have any non-standard serial boards -- boards
168	  which aren't supported using the standard "dumb" serial driver.
169	  This includes intelligent serial boards such as Cyclades,
170	  Digiboards, etc. These are usually used for systems that need many
171	  serial ports because they serve many terminals or dial-in
172	  connections.
173
174	  Note that the answer to this question won't directly affect the
175	  kernel: saying N will just cause the configurator to skip all
176	  the questions about non-standard serial boards.
177
178	  Most people can say N here.
179
180config ROCKETPORT
181	tristate "Comtrol RocketPort support"
182	depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
183	help
184	  This driver supports Comtrol RocketPort and RocketModem PCI boards.
185          These boards provide 2, 4, 8, 16, or 32 high-speed serial ports or
186          modems.  For information about the RocketPort/RocketModem  boards
187          and this driver read <file:Documentation/serial/rocket.txt>.
188
189	  To compile this driver as a module, choose M here: the
190	  module will be called rocket.
191
192	  If you want to compile this driver into the kernel, say Y here.  If
193          you don't have a Comtrol RocketPort/RocketModem card installed, say N.
194
195config CYCLADES
196	tristate "Cyclades async mux support"
197	depends on SERIAL_NONSTANDARD && (PCI || ISA)
198	select FW_LOADER
199	---help---
200	  This driver supports Cyclades Z and Y multiserial boards.
201	  You would need something like this to connect more than two modems to
202	  your Linux box, for instance in order to become a dial-in server.
203
204	  For information about the Cyclades-Z card, read
205	  <file:Documentation/serial/README.cycladesZ>.
206
207	  To compile this driver as a module, choose M here: the
208	  module will be called cyclades.
209
210	  If you haven't heard about it, it's safe to say N.
211
212config CYZ_INTR
213	bool "Cyclades-Z interrupt mode operation (EXPERIMENTAL)"
214	depends on EXPERIMENTAL && CYCLADES
215	help
216	  The Cyclades-Z family of multiport cards allows 2 (two) driver op
217	  modes: polling and interrupt. In polling mode, the driver will check
218	  the status of the Cyclades-Z ports every certain amount of time
219	  (which is called polling cycle and is configurable). In interrupt
220	  mode, it will use an interrupt line (IRQ) in order to check the
221	  status of the Cyclades-Z ports. The default op mode is polling. If
222	  unsure, say N.
223
224config MOXA_INTELLIO
225	tristate "Moxa Intellio support"
226	depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
227	select FW_LOADER
228	help
229	  Say Y here if you have a Moxa Intellio multiport serial card.
230
231	  To compile this driver as a module, choose M here: the
232	  module will be called moxa.
233
234config MOXA_SMARTIO
235	tristate "Moxa SmartIO support v. 2.0"
236	depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA)
237	help
238	  Say Y here if you have a Moxa SmartIO multiport serial card and/or
239	  want to help develop a new version of this driver.
240
241	  This is upgraded (1.9.1) driver from original Moxa drivers with
242	  changes finally resulting in PCI probing.
243
244	  This driver can also be built as a module. The module will be called
245	  mxser. If you want to do that, say M here.
246
247config SYNCLINK
248	tristate "Microgate SyncLink card support"
249	depends on SERIAL_NONSTANDARD && PCI && ISA_DMA_API
250	help
251	  Provides support for the SyncLink ISA and PCI multiprotocol serial
252	  adapters. These adapters support asynchronous and HDLC bit
253	  synchronous communication up to 10Mbps (PCI adapter).
254
255	  This driver can only be built as a module ( = code which can be
256	  inserted in and removed from the running kernel whenever you want).
257	  The module will be called synclink.  If you want to do that, say M
258	  here.
259
260config SYNCLINKMP
261	tristate "SyncLink Multiport support"
262	depends on SERIAL_NONSTANDARD && PCI
263	help
264	  Enable support for the SyncLink Multiport (2 or 4 ports)
265	  serial adapter, running asynchronous and HDLC communications up
266	  to 2.048Mbps. Each ports is independently selectable for
267	  RS-232, V.35, RS-449, RS-530, and X.21
268
269	  This driver may be built as a module ( = code which can be
270	  inserted in and removed from the running kernel whenever you want).
271	  The module will be called synclinkmp.  If you want to do that, say M
272	  here.
273
274config SYNCLINK_GT
275	tristate "SyncLink GT/AC support"
276	depends on SERIAL_NONSTANDARD && PCI
277	help
278	  Support for SyncLink GT and SyncLink AC families of
279	  synchronous and asynchronous serial adapters
280	  manufactured by Microgate Systems, Ltd. (www.microgate.com)
281
282config NOZOMI
283	tristate "HSDPA Broadband Wireless Data Card - Globe Trotter"
284	depends on PCI && EXPERIMENTAL
285	help
286	  If you have a HSDPA driver Broadband Wireless Data Card -
287	  Globe Trotter PCMCIA card, say Y here.
288
289	  To compile this driver as a module, choose M here, the module
290	  will be called nozomi.
291
292config ISI
293	tristate "Multi-Tech multiport card support (EXPERIMENTAL)"
294	depends on SERIAL_NONSTANDARD && PCI
295	select FW_LOADER
296	help
297	  This is a driver for the Multi-Tech cards which provide several
298	  serial ports.  The driver is experimental and can currently only be
299	  built as a module. The module will be called isicom.
300	  If you want to do that, choose M here.
301
302config N_HDLC
303	tristate "HDLC line discipline support"
304	depends on SERIAL_NONSTANDARD
305	help
306	  Allows synchronous HDLC communications with tty device drivers that
307	  support synchronous HDLC such as the Microgate SyncLink adapter.
308
309	  This driver can be built as a module ( = code which can be
310	  inserted in and removed from the running kernel whenever you want).
311	  The module will be called n_hdlc. If you want to do that, say M
312	  here.
313
314config N_GSM
315	tristate "GSM MUX line discipline support (EXPERIMENTAL)"
316	depends on EXPERIMENTAL
317	depends on NET
318	help
319	  This line discipline provides support for the GSM MUX protocol and
320	  presents the mux as a set of 61 individual tty devices.
321
322