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