18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ciconfig TTY
38c2ecf20Sopenharmony_ci	bool "Enable TTY" if EXPERT
48c2ecf20Sopenharmony_ci	default y
58c2ecf20Sopenharmony_ci	help
68c2ecf20Sopenharmony_ci	  Allows you to remove TTY support which can save space, and
78c2ecf20Sopenharmony_ci	  blocks features that require TTY from inclusion in the kernel.
88c2ecf20Sopenharmony_ci	  TTY is required for any text terminals or serial port
98c2ecf20Sopenharmony_ci	  communication. Most users should leave this enabled.
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciif TTY
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciconfig VT
148c2ecf20Sopenharmony_ci	bool "Virtual terminal" if EXPERT
158c2ecf20Sopenharmony_ci	depends on !UML
168c2ecf20Sopenharmony_ci	select INPUT
178c2ecf20Sopenharmony_ci	default y
188c2ecf20Sopenharmony_ci	help
198c2ecf20Sopenharmony_ci	  If you say Y here, you will get support for terminal devices with
208c2ecf20Sopenharmony_ci	  display and keyboard devices. These are called "virtual" because you
218c2ecf20Sopenharmony_ci	  can run several virtual terminals (also called virtual consoles) on
228c2ecf20Sopenharmony_ci	  one physical terminal. This is rather useful, for example one
238c2ecf20Sopenharmony_ci	  virtual terminal can collect system messages and warnings, another
248c2ecf20Sopenharmony_ci	  one can be used for a text-mode user session, and a third could run
258c2ecf20Sopenharmony_ci	  an X session, all in parallel. Switching between virtual terminals
268c2ecf20Sopenharmony_ci	  is done with certain key combinations, usually Alt-<function key>.
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci	  The setterm command ("man setterm") can be used to change the
298c2ecf20Sopenharmony_ci	  properties (such as colors or beeping) of a virtual terminal. The
308c2ecf20Sopenharmony_ci	  man page console_codes(4) ("man console_codes") contains the special
318c2ecf20Sopenharmony_ci	  character sequences that can be used to change those properties
328c2ecf20Sopenharmony_ci	  directly. The fonts used on virtual terminals can be changed with
338c2ecf20Sopenharmony_ci	  the setfont ("man setfont") command and the key bindings are defined
348c2ecf20Sopenharmony_ci	  with the loadkeys ("man loadkeys") command.
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci	  You need at least one virtual terminal device in order to make use
378c2ecf20Sopenharmony_ci	  of your keyboard and monitor. Therefore, only people configuring an
388c2ecf20Sopenharmony_ci	  embedded system would want to say N here in order to save some
398c2ecf20Sopenharmony_ci	  memory; the only way to log into such a system is then via a serial
408c2ecf20Sopenharmony_ci	  or network connection.
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci	  If unsure, say Y, or else you won't be able to do much with your new
438c2ecf20Sopenharmony_ci	  shiny Linux system :-)
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ciconfig CONSOLE_TRANSLATIONS
468c2ecf20Sopenharmony_ci	depends on VT
478c2ecf20Sopenharmony_ci	default y
488c2ecf20Sopenharmony_ci	bool "Enable character translations in console" if EXPERT
498c2ecf20Sopenharmony_ci	help
508c2ecf20Sopenharmony_ci	  This enables support for font mapping and Unicode translation
518c2ecf20Sopenharmony_ci	  on virtual consoles.
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ciconfig VT_CONSOLE
548c2ecf20Sopenharmony_ci	bool "Support for console on virtual terminal" if EXPERT
558c2ecf20Sopenharmony_ci	depends on VT
568c2ecf20Sopenharmony_ci	default y
578c2ecf20Sopenharmony_ci	help
588c2ecf20Sopenharmony_ci	  The system console is the device which receives all kernel messages
598c2ecf20Sopenharmony_ci	  and warnings and which allows logins in single user mode. If you
608c2ecf20Sopenharmony_ci	  answer Y here, a virtual terminal (the device used to interact with
618c2ecf20Sopenharmony_ci	  a physical terminal) can be used as system console. This is the most
628c2ecf20Sopenharmony_ci	  common mode of operations, so you should say Y here unless you want
638c2ecf20Sopenharmony_ci	  the kernel messages be output only to a serial port (in which case
648c2ecf20Sopenharmony_ci	  you should say Y to "Console on serial port", below).
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci	  If you do say Y here, by default the currently visible virtual
678c2ecf20Sopenharmony_ci	  terminal (/dev/tty0) will be used as system console. You can change
688c2ecf20Sopenharmony_ci	  that with a kernel command line option such as "console=tty3" which
698c2ecf20Sopenharmony_ci	  would use the third virtual terminal as system console. (Try "man
708c2ecf20Sopenharmony_ci	  bootparam" or see the documentation of your boot loader (lilo or
718c2ecf20Sopenharmony_ci	  loadlin) about how to pass options to the kernel at boot time.)
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci	  If unsure, say Y.
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ciconfig VT_CONSOLE_SLEEP
768c2ecf20Sopenharmony_ci	def_bool y
778c2ecf20Sopenharmony_ci	depends on VT_CONSOLE && PM_SLEEP
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ciconfig HW_CONSOLE
808c2ecf20Sopenharmony_ci	bool
818c2ecf20Sopenharmony_ci	depends on VT && !UML
828c2ecf20Sopenharmony_ci	default y
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ciconfig VT_HW_CONSOLE_BINDING
858c2ecf20Sopenharmony_ci	bool "Support for binding and unbinding console drivers"
868c2ecf20Sopenharmony_ci	depends on HW_CONSOLE
878c2ecf20Sopenharmony_ci	help
888c2ecf20Sopenharmony_ci	  The virtual terminal is the device that interacts with the physical
898c2ecf20Sopenharmony_ci	  terminal through console drivers. On these systems, at least one
908c2ecf20Sopenharmony_ci	  console driver is loaded. In other configurations, additional console
918c2ecf20Sopenharmony_ci	  drivers may be enabled, such as the framebuffer console. If more than
928c2ecf20Sopenharmony_ci	  1 console driver is enabled, setting this to 'y' will allow you to
938c2ecf20Sopenharmony_ci	  select the console driver that will serve as the backend for the
948c2ecf20Sopenharmony_ci	  virtual terminals.
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ci	  See <file:Documentation/driver-api/console.rst> for more
978c2ecf20Sopenharmony_ci	  information. For framebuffer console users, please refer to
988c2ecf20Sopenharmony_ci	  <file:Documentation/fb/fbcon.rst>.
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ciconfig UNIX98_PTYS
1018c2ecf20Sopenharmony_ci	bool "Unix98 PTY support" if EXPERT
1028c2ecf20Sopenharmony_ci	default y
1038c2ecf20Sopenharmony_ci	help
1048c2ecf20Sopenharmony_ci	  A pseudo terminal (PTY) is a software device consisting of two
1058c2ecf20Sopenharmony_ci	  halves: a master and a slave. The slave device behaves identical to
1068c2ecf20Sopenharmony_ci	  a physical terminal; the master device is used by a process to
1078c2ecf20Sopenharmony_ci	  read data from and write data to the slave, thereby emulating a
1088c2ecf20Sopenharmony_ci	  terminal. Typical programs for the master side are telnet servers
1098c2ecf20Sopenharmony_ci	  and xterms.
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci	  Linux has traditionally used the BSD-like names /dev/ptyxx for
1128c2ecf20Sopenharmony_ci	  masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
1138c2ecf20Sopenharmony_ci	  has a number of problems. The GNU C library glibc 2.1 and later,
1148c2ecf20Sopenharmony_ci	  however, supports the Unix98 naming standard: in order to acquire a
1158c2ecf20Sopenharmony_ci	  pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
1168c2ecf20Sopenharmony_ci	  terminal is then made available to the process and the pseudo
1178c2ecf20Sopenharmony_ci	  terminal slave can be accessed as /dev/pts/<number>. What was
1188c2ecf20Sopenharmony_ci	  traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_ci	  All modern Linux systems use the Unix98 ptys.  Say Y unless
1218c2ecf20Sopenharmony_ci	  you're on an embedded system and want to conserve memory.
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ciconfig LEGACY_PTYS
1248c2ecf20Sopenharmony_ci	bool "Legacy (BSD) PTY support"
1258c2ecf20Sopenharmony_ci	default y
1268c2ecf20Sopenharmony_ci	help
1278c2ecf20Sopenharmony_ci	  A pseudo terminal (PTY) is a software device consisting of two
1288c2ecf20Sopenharmony_ci	  halves: a master and a slave. The slave device behaves identical to
1298c2ecf20Sopenharmony_ci	  a physical terminal; the master device is used by a process to
1308c2ecf20Sopenharmony_ci	  read data from and write data to the slave, thereby emulating a
1318c2ecf20Sopenharmony_ci	  terminal. Typical programs for the master side are telnet servers
1328c2ecf20Sopenharmony_ci	  and xterms.
1338c2ecf20Sopenharmony_ci
1348c2ecf20Sopenharmony_ci	  Linux has traditionally used the BSD-like names /dev/ptyxx
1358c2ecf20Sopenharmony_ci	  for masters and /dev/ttyxx for slaves of pseudo
1368c2ecf20Sopenharmony_ci	  terminals. This scheme has a number of problems, including
1378c2ecf20Sopenharmony_ci	  security.  This option enables these legacy devices; on most
1388c2ecf20Sopenharmony_ci	  systems, it is safe to say N.
1398c2ecf20Sopenharmony_ci
1408c2ecf20Sopenharmony_ciconfig LEGACY_PTY_COUNT
1418c2ecf20Sopenharmony_ci	int "Maximum number of legacy PTY in use"
1428c2ecf20Sopenharmony_ci	depends on LEGACY_PTYS
1438c2ecf20Sopenharmony_ci	range 0 256
1448c2ecf20Sopenharmony_ci	default "256"
1458c2ecf20Sopenharmony_ci	help
1468c2ecf20Sopenharmony_ci	  The maximum number of legacy PTYs that can be used at any one time.
1478c2ecf20Sopenharmony_ci	  The default is 256, and should be more than enough.  Embedded
1488c2ecf20Sopenharmony_ci	  systems may want to reduce this to save memory.
1498c2ecf20Sopenharmony_ci
1508c2ecf20Sopenharmony_ci	  When not in use, each legacy PTY occupies 12 bytes on 32-bit
1518c2ecf20Sopenharmony_ci	  architectures and 24 bytes on 64-bit architectures.
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ciconfig LDISC_AUTOLOAD
1548c2ecf20Sopenharmony_ci	bool "Automatically load TTY Line Disciplines"
1558c2ecf20Sopenharmony_ci	default y
1568c2ecf20Sopenharmony_ci	help
1578c2ecf20Sopenharmony_ci	  Historically the kernel has always automatically loaded any
1588c2ecf20Sopenharmony_ci	  line discipline that is in a kernel module when a user asks
1598c2ecf20Sopenharmony_ci	  for it to be loaded with the TIOCSETD ioctl, or through other
1608c2ecf20Sopenharmony_ci	  means.  This is not always the best thing to do on systems
1618c2ecf20Sopenharmony_ci	  where you know you will not be using some of the more
1628c2ecf20Sopenharmony_ci	  "ancient" line disciplines, so prevent the kernel from doing
1638c2ecf20Sopenharmony_ci	  this unless the request is coming from a process with the
1648c2ecf20Sopenharmony_ci	  CAP_SYS_MODULE permissions.
1658c2ecf20Sopenharmony_ci
1668c2ecf20Sopenharmony_ci	  Say 'Y' here if you trust your userspace users to do the right
1678c2ecf20Sopenharmony_ci	  thing, or if you have only provided the line disciplines that
1688c2ecf20Sopenharmony_ci	  you know you will be using, or if you wish to continue to use
1698c2ecf20Sopenharmony_ci	  the traditional method of on-demand loading of these modules
1708c2ecf20Sopenharmony_ci	  by any user.
1718c2ecf20Sopenharmony_ci
1728c2ecf20Sopenharmony_ci	  This functionality can be changed at runtime with the
1738c2ecf20Sopenharmony_ci	  dev.tty.ldisc_autoload sysctl, this configuration option will
1748c2ecf20Sopenharmony_ci	  only set the default value of this functionality.
1758c2ecf20Sopenharmony_ci
1768c2ecf20Sopenharmony_cisource "drivers/tty/serial/Kconfig"
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ciconfig SERIAL_NONSTANDARD
1798c2ecf20Sopenharmony_ci	bool "Non-standard serial port support"
1808c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
1818c2ecf20Sopenharmony_ci	help
1828c2ecf20Sopenharmony_ci	  Say Y here if you have any non-standard serial boards -- boards
1838c2ecf20Sopenharmony_ci	  which aren't supported using the standard "dumb" serial driver.
1848c2ecf20Sopenharmony_ci	  This includes intelligent serial boards such as Cyclades,
1858c2ecf20Sopenharmony_ci	  Digiboards, etc. These are usually used for systems that need many
1868c2ecf20Sopenharmony_ci	  serial ports because they serve many terminals or dial-in
1878c2ecf20Sopenharmony_ci	  connections.
1888c2ecf20Sopenharmony_ci
1898c2ecf20Sopenharmony_ci	  Note that the answer to this question won't directly affect the
1908c2ecf20Sopenharmony_ci	  kernel: saying N will just cause the configurator to skip all
1918c2ecf20Sopenharmony_ci	  the questions about non-standard serial boards.
1928c2ecf20Sopenharmony_ci
1938c2ecf20Sopenharmony_ci	  Most people can say N here.
1948c2ecf20Sopenharmony_ci
1958c2ecf20Sopenharmony_ciconfig ROCKETPORT
1968c2ecf20Sopenharmony_ci	tristate "Comtrol RocketPort support"
1978c2ecf20Sopenharmony_ci	depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
1988c2ecf20Sopenharmony_ci	help
1998c2ecf20Sopenharmony_ci	  This driver supports Comtrol RocketPort and RocketModem PCI boards.   
2008c2ecf20Sopenharmony_ci	  These boards provide 2, 4, 8, 16, or 32 high-speed serial ports or
2018c2ecf20Sopenharmony_ci	  modems.  For information about the RocketPort/RocketModem  boards
2028c2ecf20Sopenharmony_ci	  and this driver read <file:Documentation/driver-api/serial/rocket.rst>.
2038c2ecf20Sopenharmony_ci
2048c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2058c2ecf20Sopenharmony_ci	  module will be called rocket.
2068c2ecf20Sopenharmony_ci
2078c2ecf20Sopenharmony_ci	  If you want to compile this driver into the kernel, say Y here.  If
2088c2ecf20Sopenharmony_ci	  you don't have a Comtrol RocketPort/RocketModem card installed, say N.
2098c2ecf20Sopenharmony_ci
2108c2ecf20Sopenharmony_ciconfig CYCLADES
2118c2ecf20Sopenharmony_ci	tristate "Cyclades async mux support"
2128c2ecf20Sopenharmony_ci	depends on SERIAL_NONSTANDARD && (PCI || ISA)
2138c2ecf20Sopenharmony_ci	select FW_LOADER
2148c2ecf20Sopenharmony_ci	help
2158c2ecf20Sopenharmony_ci	  This driver supports Cyclades Z and Y multiserial boards.
2168c2ecf20Sopenharmony_ci	  You would need something like this to connect more than two modems to
2178c2ecf20Sopenharmony_ci	  your Linux box, for instance in order to become a dial-in server.
2188c2ecf20Sopenharmony_ci
2198c2ecf20Sopenharmony_ci	  For information about the Cyclades-Z card, read
2208c2ecf20Sopenharmony_ci	  <file:Documentation/driver-api/serial/cyclades_z.rst>.
2218c2ecf20Sopenharmony_ci
2228c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2238c2ecf20Sopenharmony_ci	  module will be called cyclades.
2248c2ecf20Sopenharmony_ci
2258c2ecf20Sopenharmony_ci	  If you haven't heard about it, it's safe to say N.
2268c2ecf20Sopenharmony_ci
2278c2ecf20Sopenharmony_ciconfig CYZ_INTR
2288c2ecf20Sopenharmony_ci	bool "Cyclades-Z interrupt mode operation"
2298c2ecf20Sopenharmony_ci	depends on CYCLADES && PCI
2308c2ecf20Sopenharmony_ci	help
2318c2ecf20Sopenharmony_ci	  The Cyclades-Z family of multiport cards allows 2 (two) driver op
2328c2ecf20Sopenharmony_ci	  modes: polling and interrupt. In polling mode, the driver will check
2338c2ecf20Sopenharmony_ci	  the status of the Cyclades-Z ports every certain amount of time
2348c2ecf20Sopenharmony_ci	  (which is called polling cycle and is configurable). In interrupt
2358c2ecf20Sopenharmony_ci	  mode, it will use an interrupt line (IRQ) in order to check the
2368c2ecf20Sopenharmony_ci	  status of the Cyclades-Z ports. The default op mode is polling. If
2378c2ecf20Sopenharmony_ci	  unsure, say N.
2388c2ecf20Sopenharmony_ci
2398c2ecf20Sopenharmony_ciconfig MOXA_INTELLIO
2408c2ecf20Sopenharmony_ci	tristate "Moxa Intellio support"
2418c2ecf20Sopenharmony_ci	depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
2428c2ecf20Sopenharmony_ci	select FW_LOADER
2438c2ecf20Sopenharmony_ci	help
2448c2ecf20Sopenharmony_ci	  Say Y here if you have a Moxa Intellio multiport serial card.
2458c2ecf20Sopenharmony_ci
2468c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2478c2ecf20Sopenharmony_ci	  module will be called moxa.
2488c2ecf20Sopenharmony_ci
2498c2ecf20Sopenharmony_ciconfig MOXA_SMARTIO
2508c2ecf20Sopenharmony_ci	tristate "Moxa SmartIO support v. 2.0"
2518c2ecf20Sopenharmony_ci	depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA)
2528c2ecf20Sopenharmony_ci	help
2538c2ecf20Sopenharmony_ci	  Say Y here if you have a Moxa SmartIO multiport serial card and/or
2548c2ecf20Sopenharmony_ci	  want to help develop a new version of this driver.
2558c2ecf20Sopenharmony_ci
2568c2ecf20Sopenharmony_ci	  This is upgraded (1.9.1) driver from original Moxa drivers with
2578c2ecf20Sopenharmony_ci	  changes finally resulting in PCI probing.
2588c2ecf20Sopenharmony_ci
2598c2ecf20Sopenharmony_ci	  This driver can also be built as a module. The module will be called
2608c2ecf20Sopenharmony_ci	  mxser. If you want to do that, say M here.
2618c2ecf20Sopenharmony_ci
2628c2ecf20Sopenharmony_ciconfig SYNCLINK
2638c2ecf20Sopenharmony_ci	tristate "Microgate SyncLink card support"
2648c2ecf20Sopenharmony_ci	depends on SERIAL_NONSTANDARD && PCI && ISA_DMA_API
2658c2ecf20Sopenharmony_ci	help
2668c2ecf20Sopenharmony_ci	  Provides support for the SyncLink ISA and PCI multiprotocol serial
2678c2ecf20Sopenharmony_ci	  adapters. These adapters support asynchronous and HDLC bit
2688c2ecf20Sopenharmony_ci	  synchronous communication up to 10Mbps (PCI adapter).
2698c2ecf20Sopenharmony_ci
2708c2ecf20Sopenharmony_ci	  This driver can only be built as a module ( = code which can be
2718c2ecf20Sopenharmony_ci	  inserted in and removed from the running kernel whenever you want).
2728c2ecf20Sopenharmony_ci	  The module will be called synclink.  If you want to do that, say M
2738c2ecf20Sopenharmony_ci	  here.
2748c2ecf20Sopenharmony_ci
2758c2ecf20Sopenharmony_ciconfig SYNCLINKMP
2768c2ecf20Sopenharmony_ci	tristate "SyncLink Multiport support"
2778c2ecf20Sopenharmony_ci	depends on SERIAL_NONSTANDARD && PCI
2788c2ecf20Sopenharmony_ci	help
2798c2ecf20Sopenharmony_ci	  Enable support for the SyncLink Multiport (2 or 4 ports)
2808c2ecf20Sopenharmony_ci	  serial adapter, running asynchronous and HDLC communications up
2818c2ecf20Sopenharmony_ci	  to 2.048Mbps. Each ports is independently selectable for
2828c2ecf20Sopenharmony_ci	  RS-232, V.35, RS-449, RS-530, and X.21
2838c2ecf20Sopenharmony_ci
2848c2ecf20Sopenharmony_ci	  This driver may be built as a module ( = code which can be
2858c2ecf20Sopenharmony_ci	  inserted in and removed from the running kernel whenever you want).
2868c2ecf20Sopenharmony_ci	  The module will be called synclinkmp.  If you want to do that, say M
2878c2ecf20Sopenharmony_ci	  here.
2888c2ecf20Sopenharmony_ci
2898c2ecf20Sopenharmony_ciconfig SYNCLINK_GT
2908c2ecf20Sopenharmony_ci	tristate "SyncLink GT/AC support"
2918c2ecf20Sopenharmony_ci	depends on SERIAL_NONSTANDARD && PCI
2928c2ecf20Sopenharmony_ci	help
2938c2ecf20Sopenharmony_ci	  Support for SyncLink GT and SyncLink AC families of
2948c2ecf20Sopenharmony_ci	  synchronous and asynchronous serial adapters
2958c2ecf20Sopenharmony_ci	  manufactured by Microgate Systems, Ltd. (www.microgate.com)
2968c2ecf20Sopenharmony_ci
2978c2ecf20Sopenharmony_ciconfig ISI
2988c2ecf20Sopenharmony_ci	tristate "Multi-Tech multiport card support"
2998c2ecf20Sopenharmony_ci	depends on SERIAL_NONSTANDARD && PCI
3008c2ecf20Sopenharmony_ci	select FW_LOADER
3018c2ecf20Sopenharmony_ci	help
3028c2ecf20Sopenharmony_ci	  This is a driver for the Multi-Tech cards which provide several
3038c2ecf20Sopenharmony_ci	  serial ports.  The driver is experimental and can currently only be
3048c2ecf20Sopenharmony_ci	  built as a module. The module will be called isicom.
3058c2ecf20Sopenharmony_ci	  If you want to do that, choose M here.
3068c2ecf20Sopenharmony_ci
3078c2ecf20Sopenharmony_ciconfig N_HDLC
3088c2ecf20Sopenharmony_ci	tristate "HDLC line discipline support"
3098c2ecf20Sopenharmony_ci	depends on SERIAL_NONSTANDARD
3108c2ecf20Sopenharmony_ci	help
3118c2ecf20Sopenharmony_ci	  Allows synchronous HDLC communications with tty device drivers that
3128c2ecf20Sopenharmony_ci	  support synchronous HDLC such as the Microgate SyncLink adapter.
3138c2ecf20Sopenharmony_ci
3148c2ecf20Sopenharmony_ci	  This driver can be built as a module ( = code which can be
3158c2ecf20Sopenharmony_ci	  inserted in and removed from the running kernel whenever you want).
3168c2ecf20Sopenharmony_ci	  The module will be called n_hdlc. If you want to do that, say M
3178c2ecf20Sopenharmony_ci	  here.
3188c2ecf20Sopenharmony_ci
3198c2ecf20Sopenharmony_ciconfig PPC_EPAPR_HV_BYTECHAN
3208c2ecf20Sopenharmony_ci	bool "ePAPR hypervisor byte channel driver"
3218c2ecf20Sopenharmony_ci	depends on PPC
3228c2ecf20Sopenharmony_ci	select EPAPR_PARAVIRT
3238c2ecf20Sopenharmony_ci	help
3248c2ecf20Sopenharmony_ci	  This driver creates /dev entries for each ePAPR hypervisor byte
3258c2ecf20Sopenharmony_ci	  channel, thereby allowing applications to communicate with byte
3268c2ecf20Sopenharmony_ci	  channels as if they were serial ports.
3278c2ecf20Sopenharmony_ci
3288c2ecf20Sopenharmony_ciconfig PPC_EARLY_DEBUG_EHV_BC
3298c2ecf20Sopenharmony_ci	bool "Early console (udbg) support for ePAPR hypervisors"
3308c2ecf20Sopenharmony_ci	depends on PPC_EPAPR_HV_BYTECHAN=y
3318c2ecf20Sopenharmony_ci	help
3328c2ecf20Sopenharmony_ci	  Select this option to enable early console (a.k.a. "udbg") support
3338c2ecf20Sopenharmony_ci	  via an ePAPR byte channel.  You also need to choose the byte channel
3348c2ecf20Sopenharmony_ci	  handle below.
3358c2ecf20Sopenharmony_ci
3368c2ecf20Sopenharmony_ciconfig PPC_EARLY_DEBUG_EHV_BC_HANDLE
3378c2ecf20Sopenharmony_ci	int "Byte channel handle for early console (udbg)"
3388c2ecf20Sopenharmony_ci	depends on PPC_EARLY_DEBUG_EHV_BC
3398c2ecf20Sopenharmony_ci	default 0
3408c2ecf20Sopenharmony_ci	help
3418c2ecf20Sopenharmony_ci	  If you want early console (udbg) output through a byte channel,
3428c2ecf20Sopenharmony_ci	  specify the handle of the byte channel to use.
3438c2ecf20Sopenharmony_ci
3448c2ecf20Sopenharmony_ci	  For this to work, the byte channel driver must be compiled
3458c2ecf20Sopenharmony_ci	  in-kernel, not as a module.
3468c2ecf20Sopenharmony_ci
3478c2ecf20Sopenharmony_ci	  Note that only one early console driver can be enabled, so don't
3488c2ecf20Sopenharmony_ci	  enable any others if you enable this one.
3498c2ecf20Sopenharmony_ci
3508c2ecf20Sopenharmony_ci	  If the number you specify is not a valid byte channel handle, then
3518c2ecf20Sopenharmony_ci	  there simply will be no early console output.  This is true also
3528c2ecf20Sopenharmony_ci	  if you don't boot under a hypervisor at all.
3538c2ecf20Sopenharmony_ci
3548c2ecf20Sopenharmony_ciconfig GOLDFISH_TTY
3558c2ecf20Sopenharmony_ci	tristate "Goldfish TTY Driver"
3568c2ecf20Sopenharmony_ci	depends on GOLDFISH
3578c2ecf20Sopenharmony_ci	select SERIAL_CORE
3588c2ecf20Sopenharmony_ci	select SERIAL_CORE_CONSOLE
3598c2ecf20Sopenharmony_ci	help
3608c2ecf20Sopenharmony_ci	  Console and system TTY driver for the Goldfish virtual platform.
3618c2ecf20Sopenharmony_ci
3628c2ecf20Sopenharmony_ciconfig GOLDFISH_TTY_EARLY_CONSOLE
3638c2ecf20Sopenharmony_ci	bool
3648c2ecf20Sopenharmony_ci	default y if GOLDFISH_TTY=y
3658c2ecf20Sopenharmony_ci	select SERIAL_EARLYCON
3668c2ecf20Sopenharmony_ci
3678c2ecf20Sopenharmony_ciconfig N_GSM
3688c2ecf20Sopenharmony_ci	tristate "GSM MUX line discipline support (EXPERIMENTAL)"
3698c2ecf20Sopenharmony_ci	depends on NET
3708c2ecf20Sopenharmony_ci	help
3718c2ecf20Sopenharmony_ci	  This line discipline provides support for the GSM MUX protocol and
3728c2ecf20Sopenharmony_ci	  presents the mux as a set of 61 individual tty devices.
3738c2ecf20Sopenharmony_ci
3748c2ecf20Sopenharmony_ciconfig NOZOMI
3758c2ecf20Sopenharmony_ci	tristate "HSDPA Broadband Wireless Data Card - Globe Trotter"
3768c2ecf20Sopenharmony_ci	depends on PCI
3778c2ecf20Sopenharmony_ci	help
3788c2ecf20Sopenharmony_ci	  If you have a HSDPA driver Broadband Wireless Data Card -
3798c2ecf20Sopenharmony_ci	  Globe Trotter PCMCIA card, say Y here.
3808c2ecf20Sopenharmony_ci
3818c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here, the module
3828c2ecf20Sopenharmony_ci	  will be called nozomi.
3838c2ecf20Sopenharmony_ci
3848c2ecf20Sopenharmony_ciconfig MIPS_EJTAG_FDC_TTY
3858c2ecf20Sopenharmony_ci	bool "MIPS EJTAG Fast Debug Channel TTY"
3868c2ecf20Sopenharmony_ci	depends on MIPS_CDMM
3878c2ecf20Sopenharmony_ci	help
3888c2ecf20Sopenharmony_ci	  This enables a TTY and console on the MIPS EJTAG Fast Debug Channels,
3898c2ecf20Sopenharmony_ci	  if they are present. This can be useful when working with an EJTAG
3908c2ecf20Sopenharmony_ci	  probe which supports it, to get console output and a login prompt via
3918c2ecf20Sopenharmony_ci	  EJTAG without needing to connect a serial cable.
3928c2ecf20Sopenharmony_ci
3938c2ecf20Sopenharmony_ci	  TTY devices are named e.g. ttyFDC3c2 (for FDC channel 2 of the FDC on
3948c2ecf20Sopenharmony_ci	  CPU3).
3958c2ecf20Sopenharmony_ci
3968c2ecf20Sopenharmony_ci	  The console can be enabled with console=fdc1 (for FDC channel 1 on all
3978c2ecf20Sopenharmony_ci	  CPUs). Do not use the console unless there is a debug probe attached
3988c2ecf20Sopenharmony_ci	  to drain the FDC TX FIFO.
3998c2ecf20Sopenharmony_ci
4008c2ecf20Sopenharmony_ci	  If unsure, say N.
4018c2ecf20Sopenharmony_ci
4028c2ecf20Sopenharmony_ciconfig MIPS_EJTAG_FDC_EARLYCON
4038c2ecf20Sopenharmony_ci	bool "Early FDC console"
4048c2ecf20Sopenharmony_ci	depends on MIPS_EJTAG_FDC_TTY
4058c2ecf20Sopenharmony_ci	help
4068c2ecf20Sopenharmony_ci	  This registers a console on FDC channel 1 very early during boot (from
4078c2ecf20Sopenharmony_ci	  MIPS arch code). This is useful for bring-up and debugging early boot
4088c2ecf20Sopenharmony_ci	  issues.
4098c2ecf20Sopenharmony_ci
4108c2ecf20Sopenharmony_ci	  Do not enable unless there is a debug probe attached to drain the FDC
4118c2ecf20Sopenharmony_ci	  TX FIFO.
4128c2ecf20Sopenharmony_ci
4138c2ecf20Sopenharmony_ci	  If unsure, say N.
4148c2ecf20Sopenharmony_ci
4158c2ecf20Sopenharmony_ciconfig MIPS_EJTAG_FDC_KGDB
4168c2ecf20Sopenharmony_ci	bool "Use KGDB over an FDC channel"
4178c2ecf20Sopenharmony_ci	depends on MIPS_EJTAG_FDC_TTY && KGDB
4188c2ecf20Sopenharmony_ci	default y
4198c2ecf20Sopenharmony_ci	help
4208c2ecf20Sopenharmony_ci	  This enables the use of KGDB over an FDC channel, allowing KGDB to be
4218c2ecf20Sopenharmony_ci	  used remotely or when a serial port isn't available.
4228c2ecf20Sopenharmony_ci
4238c2ecf20Sopenharmony_ciconfig MIPS_EJTAG_FDC_KGDB_CHAN
4248c2ecf20Sopenharmony_ci	int "KGDB FDC channel"
4258c2ecf20Sopenharmony_ci	depends on MIPS_EJTAG_FDC_KGDB
4268c2ecf20Sopenharmony_ci	range 2 15
4278c2ecf20Sopenharmony_ci	default 3
4288c2ecf20Sopenharmony_ci	help
4298c2ecf20Sopenharmony_ci	  FDC channel number to use for KGDB.
4308c2ecf20Sopenharmony_ci
4318c2ecf20Sopenharmony_ciconfig NULL_TTY
4328c2ecf20Sopenharmony_ci	tristate "NULL TTY driver"
4338c2ecf20Sopenharmony_ci	help
4348c2ecf20Sopenharmony_ci	  Say Y here if you want a NULL TTY which simply discards messages.
4358c2ecf20Sopenharmony_ci
4368c2ecf20Sopenharmony_ci	  This is useful to allow userspace applications which expect a console
4378c2ecf20Sopenharmony_ci	  device to work without modifications even when no console is
4388c2ecf20Sopenharmony_ci	  available or desired.
4398c2ecf20Sopenharmony_ci
4408c2ecf20Sopenharmony_ci	  In order to use this driver, you should redirect the console to this
4418c2ecf20Sopenharmony_ci	  TTY, or boot the kernel with console=ttynull.
4428c2ecf20Sopenharmony_ci
4438c2ecf20Sopenharmony_ci	  If unsure, say N.
4448c2ecf20Sopenharmony_ci
4458c2ecf20Sopenharmony_ciconfig TRACE_ROUTER
4468c2ecf20Sopenharmony_ci	tristate "Trace data router for MIPI P1149.7 cJTAG standard"
4478c2ecf20Sopenharmony_ci	depends on TRACE_SINK
4488c2ecf20Sopenharmony_ci	help
4498c2ecf20Sopenharmony_ci	  The trace router uses the Linux tty line discipline framework to
4508c2ecf20Sopenharmony_ci	  route trace data coming from a tty port (say UART for example) to
4518c2ecf20Sopenharmony_ci	  the trace sink line discipline driver and to another tty port (say
4528c2ecf20Sopenharmony_ci	  USB). This is part of a solution for the MIPI P1149.7, compact JTAG,
4538c2ecf20Sopenharmony_ci	  standard, which is for debugging mobile devices. The PTI driver in
4548c2ecf20Sopenharmony_ci	  drivers/misc/pti.c defines the majority of this MIPI solution.
4558c2ecf20Sopenharmony_ci
4568c2ecf20Sopenharmony_ci	  You should select this driver if the target kernel is meant for
4578c2ecf20Sopenharmony_ci	  a mobile device containing a modem.  Then you will need to select
4588c2ecf20Sopenharmony_ci	  "Trace data sink for MIPI P1149.7 cJTAG standard" line discipline
4598c2ecf20Sopenharmony_ci	  driver.
4608c2ecf20Sopenharmony_ci
4618c2ecf20Sopenharmony_ciconfig TRACE_SINK
4628c2ecf20Sopenharmony_ci	tristate "Trace data sink for MIPI P1149.7 cJTAG standard"
4638c2ecf20Sopenharmony_ci	help
4648c2ecf20Sopenharmony_ci	  The trace sink uses the Linux line discipline framework to receive
4658c2ecf20Sopenharmony_ci	  trace data coming from the trace router line discipline driver
4668c2ecf20Sopenharmony_ci	  to a user-defined tty port target, like USB.
4678c2ecf20Sopenharmony_ci	  This is to provide a way to extract modem trace data on
4688c2ecf20Sopenharmony_ci	  devices that do not have a PTI HW module, or just need modem
4698c2ecf20Sopenharmony_ci	  trace data to come out of a different HW output port.
4708c2ecf20Sopenharmony_ci	  This is part of a solution for the P1149.7, compact JTAG, standard.
4718c2ecf20Sopenharmony_ci
4728c2ecf20Sopenharmony_ci	  If you select this option, you need to select
4738c2ecf20Sopenharmony_ci	  "Trace data router for MIPI P1149.7 cJTAG standard".
4748c2ecf20Sopenharmony_ci
4758c2ecf20Sopenharmony_ciconfig VCC
4768c2ecf20Sopenharmony_ci	tristate "Sun Virtual Console Concentrator"
4778c2ecf20Sopenharmony_ci	depends on SUN_LDOMS
4788c2ecf20Sopenharmony_ci	help
4798c2ecf20Sopenharmony_ci	  Support for Sun logical domain consoles.
4808c2ecf20Sopenharmony_ci
4818c2ecf20Sopenharmony_cisource "drivers/tty/hvc/Kconfig"
4828c2ecf20Sopenharmony_ci
4838c2ecf20Sopenharmony_ciendif # TTY
4848c2ecf20Sopenharmony_ci
4858c2ecf20Sopenharmony_cisource "drivers/tty/serdev/Kconfig"
486