1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# Input core configuration 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyunconfig SERIO 6*4882a593Smuzhiyun tristate "Serial I/O support" 7*4882a593Smuzhiyun default y 8*4882a593Smuzhiyun help 9*4882a593Smuzhiyun Say Yes here if you have any input device that uses serial I/O to 10*4882a593Smuzhiyun communicate with the system. This includes the 11*4882a593Smuzhiyun * standard AT keyboard and PS/2 mouse * 12*4882a593Smuzhiyun as well as serial mice, Sun keyboards, some joysticks and 6dof 13*4882a593Smuzhiyun devices and more. 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun If unsure, say Y. 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 18*4882a593Smuzhiyun module will be called serio. 19*4882a593Smuzhiyun 20*4882a593Smuzhiyunconfig ARCH_MIGHT_HAVE_PC_SERIO 21*4882a593Smuzhiyun bool 22*4882a593Smuzhiyun help 23*4882a593Smuzhiyun Select this config option from the architecture Kconfig if 24*4882a593Smuzhiyun the architecture might use a PC serio device (i8042) to 25*4882a593Smuzhiyun communicate with keyboard, mouse, etc. 26*4882a593Smuzhiyun 27*4882a593Smuzhiyunif SERIO 28*4882a593Smuzhiyun 29*4882a593Smuzhiyunconfig SERIO_I8042 30*4882a593Smuzhiyun tristate "i8042 PC Keyboard controller" 31*4882a593Smuzhiyun default y 32*4882a593Smuzhiyun depends on ARCH_MIGHT_HAVE_PC_SERIO 33*4882a593Smuzhiyun help 34*4882a593Smuzhiyun i8042 is the chip over which the standard AT keyboard and PS/2 35*4882a593Smuzhiyun mouse are connected to the computer. If you use these devices, 36*4882a593Smuzhiyun you'll need to say Y here. 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun If unsure, say Y. 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 41*4882a593Smuzhiyun module will be called i8042. 42*4882a593Smuzhiyun 43*4882a593Smuzhiyunconfig SERIO_SERPORT 44*4882a593Smuzhiyun tristate "Serial port line discipline" 45*4882a593Smuzhiyun default y 46*4882a593Smuzhiyun depends on TTY 47*4882a593Smuzhiyun help 48*4882a593Smuzhiyun Say Y here if you plan to use an input device (mouse, joystick, 49*4882a593Smuzhiyun tablet, 6dof) that communicates over the RS232 serial (COM) port. 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun More information is available: <file:Documentation/input/input.rst> 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun If unsure, say Y. 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 56*4882a593Smuzhiyun module will be called serport. 57*4882a593Smuzhiyun 58*4882a593Smuzhiyunconfig SERIO_CT82C710 59*4882a593Smuzhiyun tristate "ct82c710 Aux port controller" 60*4882a593Smuzhiyun depends on X86 61*4882a593Smuzhiyun help 62*4882a593Smuzhiyun Say Y here if you have a Texas Instruments TravelMate notebook 63*4882a593Smuzhiyun equipped with the ct82c710 chip and want to use a mouse connected 64*4882a593Smuzhiyun to the "QuickPort". 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun If unsure, say N. 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 69*4882a593Smuzhiyun module will be called ct82c710. 70*4882a593Smuzhiyun 71*4882a593Smuzhiyunconfig SERIO_Q40KBD 72*4882a593Smuzhiyun tristate "Q40 keyboard controller" 73*4882a593Smuzhiyun depends on Q40 74*4882a593Smuzhiyun 75*4882a593Smuzhiyunconfig SERIO_PARKBD 76*4882a593Smuzhiyun tristate "Parallel port keyboard adapter" 77*4882a593Smuzhiyun depends on PARPORT 78*4882a593Smuzhiyun help 79*4882a593Smuzhiyun Say Y here if you built a simple parallel port adapter to attach 80*4882a593Smuzhiyun an additional AT keyboard, XT keyboard or PS/2 mouse. 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun More information is available: <file:Documentation/input/input.rst> 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun If unsure, say N. 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 87*4882a593Smuzhiyun module will be called parkbd. 88*4882a593Smuzhiyun 89*4882a593Smuzhiyunconfig SERIO_RPCKBD 90*4882a593Smuzhiyun tristate "Acorn RiscPC keyboard controller" 91*4882a593Smuzhiyun depends on ARCH_ACORN 92*4882a593Smuzhiyun default y 93*4882a593Smuzhiyun help 94*4882a593Smuzhiyun Say Y here if you have the Acorn RiscPC and want to use an AT 95*4882a593Smuzhiyun keyboard connected to its keyboard controller. 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 98*4882a593Smuzhiyun module will be called rpckbd. 99*4882a593Smuzhiyun 100*4882a593Smuzhiyunconfig SERIO_AMBAKMI 101*4882a593Smuzhiyun tristate "AMBA KMI keyboard controller" 102*4882a593Smuzhiyun depends on ARM_AMBA 103*4882a593Smuzhiyun 104*4882a593Smuzhiyunconfig SERIO_SA1111 105*4882a593Smuzhiyun tristate "Intel SA1111 keyboard controller" 106*4882a593Smuzhiyun depends on SA1111 107*4882a593Smuzhiyun 108*4882a593Smuzhiyunconfig SERIO_GSCPS2 109*4882a593Smuzhiyun tristate "HP GSC PS/2 keyboard and PS/2 mouse controller" 110*4882a593Smuzhiyun depends on GSC 111*4882a593Smuzhiyun default y 112*4882a593Smuzhiyun help 113*4882a593Smuzhiyun This driver provides support for the PS/2 ports on PA-RISC machines 114*4882a593Smuzhiyun over which HP PS/2 keyboards and PS/2 mice may be connected. 115*4882a593Smuzhiyun If you use these devices, you'll need to say Y here. 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun It's safe to enable this driver, so if unsure, say Y. 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 120*4882a593Smuzhiyun module will be called gscps2. 121*4882a593Smuzhiyun 122*4882a593Smuzhiyunconfig HP_SDC 123*4882a593Smuzhiyun tristate "HP System Device Controller i8042 Support" 124*4882a593Smuzhiyun depends on (GSC || HP300) && SERIO 125*4882a593Smuzhiyun default y 126*4882a593Smuzhiyun help 127*4882a593Smuzhiyun This option enables support for the "System Device 128*4882a593Smuzhiyun Controller", an i8042 carrying microcode to manage a 129*4882a593Smuzhiyun few miscellaneous devices on some Hewlett Packard systems. 130*4882a593Smuzhiyun The SDC itself contains a 10ms resolution timer/clock capable 131*4882a593Smuzhiyun of delivering interrupts on a periodic and one-shot basis. 132*4882a593Smuzhiyun The SDC may also be connected to a battery-backed real-time 133*4882a593Smuzhiyun clock, a basic audio waveform generator, and an HP-HIL Master 134*4882a593Smuzhiyun Link Controller serving up to seven input devices. 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun By itself this option is rather useless, but enabling it will 137*4882a593Smuzhiyun enable selection of drivers for the abovementioned devices. 138*4882a593Smuzhiyun It is, however, incompatible with the old, reliable HIL keyboard 139*4882a593Smuzhiyun driver, and the new HIL driver is experimental, so if you plan 140*4882a593Smuzhiyun to use a HIL keyboard as your primary keyboard, you may wish 141*4882a593Smuzhiyun to keep using that driver until the new HIL drivers have had 142*4882a593Smuzhiyun more testing. 143*4882a593Smuzhiyun 144*4882a593Smuzhiyunconfig HIL_MLC 145*4882a593Smuzhiyun tristate "HIL MLC Support (needed for HIL input devices)" 146*4882a593Smuzhiyun depends on HP_SDC 147*4882a593Smuzhiyun 148*4882a593Smuzhiyunconfig SERIO_PCIPS2 149*4882a593Smuzhiyun tristate "PCI PS/2 keyboard and PS/2 mouse controller" 150*4882a593Smuzhiyun depends on PCI 151*4882a593Smuzhiyun help 152*4882a593Smuzhiyun Say Y here if you have a Mobility Docking station with PS/2 153*4882a593Smuzhiyun keyboard and mice ports. 154*4882a593Smuzhiyun 155*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 156*4882a593Smuzhiyun module will be called pcips2. 157*4882a593Smuzhiyun 158*4882a593Smuzhiyunconfig SERIO_MACEPS2 159*4882a593Smuzhiyun tristate "SGI O2 MACE PS/2 controller" 160*4882a593Smuzhiyun depends on SGI_IP32 161*4882a593Smuzhiyun help 162*4882a593Smuzhiyun Say Y here if you have SGI O2 workstation and want to use its 163*4882a593Smuzhiyun PS/2 ports. 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 166*4882a593Smuzhiyun module will be called maceps2. 167*4882a593Smuzhiyun 168*4882a593Smuzhiyunconfig SERIO_SGI_IOC3 169*4882a593Smuzhiyun tristate "SGI IOC3 PS/2 controller" 170*4882a593Smuzhiyun depends on SGI_MFD_IOC3 171*4882a593Smuzhiyun help 172*4882a593Smuzhiyun Say Y here if you have an SGI Onyx2, SGI Octane or IOC3 PCI card 173*4882a593Smuzhiyun and you want to attach and use a keyboard, mouse, or both. 174*4882a593Smuzhiyun 175*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 176*4882a593Smuzhiyun module will be called ioc3kbd. 177*4882a593Smuzhiyun 178*4882a593Smuzhiyunconfig SERIO_LIBPS2 179*4882a593Smuzhiyun tristate "PS/2 driver library" 180*4882a593Smuzhiyun depends on SERIO_I8042 || SERIO_I8042=n 181*4882a593Smuzhiyun help 182*4882a593Smuzhiyun Say Y here if you are using a driver for device connected 183*4882a593Smuzhiyun to a PS/2 port, such as PS/2 mouse or standard AT keyboard. 184*4882a593Smuzhiyun 185*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 186*4882a593Smuzhiyun module will be called libps2. 187*4882a593Smuzhiyun 188*4882a593Smuzhiyunconfig SERIO_RAW 189*4882a593Smuzhiyun tristate "Raw access to serio ports" 190*4882a593Smuzhiyun help 191*4882a593Smuzhiyun Say Y here if you want to have raw access to serio ports, such as 192*4882a593Smuzhiyun AUX ports on i8042 keyboard controller. Each serio port that is 193*4882a593Smuzhiyun bound to this driver will be accessible via a char device with 194*4882a593Smuzhiyun major 10 and dynamically allocated minor. The driver will try 195*4882a593Smuzhiyun allocating minor 1 (that historically corresponds to /dev/psaux) 196*4882a593Smuzhiyun first. To bind this driver to a serio port use sysfs interface: 197*4882a593Smuzhiyun 198*4882a593Smuzhiyun echo -n "serio_raw" > /sys/bus/serio/devices/serioX/drvctl 199*4882a593Smuzhiyun 200*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 201*4882a593Smuzhiyun module will be called serio_raw. 202*4882a593Smuzhiyun 203*4882a593Smuzhiyunconfig SERIO_XILINX_XPS_PS2 204*4882a593Smuzhiyun tristate "Xilinx XPS PS/2 Controller Support" 205*4882a593Smuzhiyun depends on PPC || MICROBLAZE 206*4882a593Smuzhiyun help 207*4882a593Smuzhiyun This driver supports XPS PS/2 IP from the Xilinx EDK on 208*4882a593Smuzhiyun PowerPC platform. 209*4882a593Smuzhiyun 210*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 211*4882a593Smuzhiyun module will be called xilinx_ps2. 212*4882a593Smuzhiyun 213*4882a593Smuzhiyunconfig SERIO_ALTERA_PS2 214*4882a593Smuzhiyun tristate "Altera UP PS/2 controller" 215*4882a593Smuzhiyun depends on HAS_IOMEM 216*4882a593Smuzhiyun help 217*4882a593Smuzhiyun Say Y here if you have Altera University Program PS/2 ports. 218*4882a593Smuzhiyun 219*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 220*4882a593Smuzhiyun module will be called altera_ps2. 221*4882a593Smuzhiyun 222*4882a593Smuzhiyunconfig SERIO_AMS_DELTA 223*4882a593Smuzhiyun tristate "Amstrad Delta (E3) mailboard support" 224*4882a593Smuzhiyun depends on MACH_AMS_DELTA 225*4882a593Smuzhiyun default y 226*4882a593Smuzhiyun help 227*4882a593Smuzhiyun Say Y here if you have an E3 and want to use its mailboard, 228*4882a593Smuzhiyun or any standard AT keyboard connected to the mailboard port. 229*4882a593Smuzhiyun 230*4882a593Smuzhiyun When used for the E3 mailboard, a non-standard key table 231*4882a593Smuzhiyun must be loaded from userspace, possibly using udev extras 232*4882a593Smuzhiyun provided keymap helper utility. 233*4882a593Smuzhiyun 234*4882a593Smuzhiyun To compile this driver as a module, choose M here; 235*4882a593Smuzhiyun the module will be called ams_delta_serio. 236*4882a593Smuzhiyun 237*4882a593Smuzhiyunconfig SERIO_PS2MULT 238*4882a593Smuzhiyun tristate "TQC PS/2 multiplexer" 239*4882a593Smuzhiyun help 240*4882a593Smuzhiyun Say Y here if you have the PS/2 line multiplexer like the one 241*4882a593Smuzhiyun present on TQC boards. 242*4882a593Smuzhiyun 243*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 244*4882a593Smuzhiyun module will be called ps2mult. 245*4882a593Smuzhiyun 246*4882a593Smuzhiyunconfig SERIO_ARC_PS2 247*4882a593Smuzhiyun tristate "ARC PS/2 support" 248*4882a593Smuzhiyun depends on HAS_IOMEM 249*4882a593Smuzhiyun help 250*4882a593Smuzhiyun Say Y here if you have an ARC FPGA platform with a PS/2 251*4882a593Smuzhiyun controller in it. 252*4882a593Smuzhiyun 253*4882a593Smuzhiyun To compile this driver as a module, choose M here; the module 254*4882a593Smuzhiyun will be called arc_ps2. 255*4882a593Smuzhiyun 256*4882a593Smuzhiyunconfig SERIO_APBPS2 257*4882a593Smuzhiyun tristate "GRLIB APBPS2 PS/2 keyboard/mouse controller" 258*4882a593Smuzhiyun depends on OF 259*4882a593Smuzhiyun help 260*4882a593Smuzhiyun Say Y here if you want support for GRLIB APBPS2 peripherals used 261*4882a593Smuzhiyun to connect to PS/2 keyboard and/or mouse. 262*4882a593Smuzhiyun 263*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module will 264*4882a593Smuzhiyun be called apbps2. 265*4882a593Smuzhiyun 266*4882a593Smuzhiyunconfig SERIO_OLPC_APSP 267*4882a593Smuzhiyun tristate "OLPC AP-SP input support" 268*4882a593Smuzhiyun depends on ARCH_MMP || COMPILE_TEST 269*4882a593Smuzhiyun help 270*4882a593Smuzhiyun Say Y here if you want support for the keyboard and touchpad included 271*4882a593Smuzhiyun in the OLPC XO-1.75 and XO-4 laptops. 272*4882a593Smuzhiyun 273*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module will 274*4882a593Smuzhiyun be called olpc_apsp. 275*4882a593Smuzhiyun 276*4882a593Smuzhiyunconfig HYPERV_KEYBOARD 277*4882a593Smuzhiyun tristate "Microsoft Synthetic Keyboard driver" 278*4882a593Smuzhiyun depends on HYPERV 279*4882a593Smuzhiyun default HYPERV 280*4882a593Smuzhiyun help 281*4882a593Smuzhiyun Select this option to enable the Hyper-V Keyboard driver. 282*4882a593Smuzhiyun 283*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module will 284*4882a593Smuzhiyun be called hyperv_keyboard. 285*4882a593Smuzhiyun 286*4882a593Smuzhiyunconfig SERIO_SUN4I_PS2 287*4882a593Smuzhiyun tristate "Allwinner A10 PS/2 controller support" 288*4882a593Smuzhiyun depends on ARCH_SUNXI || COMPILE_TEST 289*4882a593Smuzhiyun help 290*4882a593Smuzhiyun This selects support for the PS/2 Host Controller on 291*4882a593Smuzhiyun Allwinner A10. 292*4882a593Smuzhiyun 293*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 294*4882a593Smuzhiyun module will be called sun4i-ps2. 295*4882a593Smuzhiyun 296*4882a593Smuzhiyunconfig SERIO_GPIO_PS2 297*4882a593Smuzhiyun tristate "GPIO PS/2 bit banging driver" 298*4882a593Smuzhiyun depends on GPIOLIB 299*4882a593Smuzhiyun help 300*4882a593Smuzhiyun Say Y here if you want PS/2 bit banging support via GPIO. 301*4882a593Smuzhiyun 302*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 303*4882a593Smuzhiyun module will be called ps2-gpio. 304*4882a593Smuzhiyun 305*4882a593Smuzhiyun If you are unsure, say N. 306*4882a593Smuzhiyun 307*4882a593Smuzhiyunconfig USERIO 308*4882a593Smuzhiyun tristate "User space serio port driver support" 309*4882a593Smuzhiyun help 310*4882a593Smuzhiyun Say Y here if you want to support user level drivers for serio 311*4882a593Smuzhiyun subsystem accessible under char device 10:240 - /dev/userio. Using 312*4882a593Smuzhiyun this facility userspace programs can implement serio ports that 313*4882a593Smuzhiyun will be used by the standard in-kernel serio consumer drivers, 314*4882a593Smuzhiyun such as psmouse and atkbd. 315*4882a593Smuzhiyun 316*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module will be 317*4882a593Smuzhiyun called userio. 318*4882a593Smuzhiyun 319*4882a593Smuzhiyun If you are unsure, say N. 320*4882a593Smuzhiyun 321*4882a593Smuzhiyunendif 322