162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# Input core configuration 462306a36Sopenharmony_ci# 562306a36Sopenharmony_ciconfig SERIO 662306a36Sopenharmony_ci tristate "Serial I/O support" 762306a36Sopenharmony_ci default y 862306a36Sopenharmony_ci help 962306a36Sopenharmony_ci Say Yes here if you have any input device that uses serial I/O to 1062306a36Sopenharmony_ci communicate with the system. This includes the 1162306a36Sopenharmony_ci * standard AT keyboard and PS/2 mouse * 1262306a36Sopenharmony_ci as well as serial mice, Sun keyboards, some joysticks and 6dof 1362306a36Sopenharmony_ci devices and more. 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci If unsure, say Y. 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 1862306a36Sopenharmony_ci module will be called serio. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciconfig ARCH_MIGHT_HAVE_PC_SERIO 2162306a36Sopenharmony_ci bool 2262306a36Sopenharmony_ci help 2362306a36Sopenharmony_ci Select this config option from the architecture Kconfig if 2462306a36Sopenharmony_ci the architecture might use a PC serio device (i8042) to 2562306a36Sopenharmony_ci communicate with keyboard, mouse, etc. 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ciif SERIO 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciconfig SERIO_I8042 3062306a36Sopenharmony_ci tristate "i8042 PC Keyboard controller" 3162306a36Sopenharmony_ci default y 3262306a36Sopenharmony_ci depends on ARCH_MIGHT_HAVE_PC_SERIO 3362306a36Sopenharmony_ci help 3462306a36Sopenharmony_ci i8042 is the chip over which the standard AT keyboard and PS/2 3562306a36Sopenharmony_ci mouse are connected to the computer. If you use these devices, 3662306a36Sopenharmony_ci you'll need to say Y here. 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci If unsure, say Y. 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 4162306a36Sopenharmony_ci module will be called i8042. 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ciconfig SERIO_SERPORT 4462306a36Sopenharmony_ci tristate "Serial port line discipline" 4562306a36Sopenharmony_ci default y 4662306a36Sopenharmony_ci depends on TTY 4762306a36Sopenharmony_ci help 4862306a36Sopenharmony_ci Say Y here if you plan to use an input device (mouse, joystick, 4962306a36Sopenharmony_ci tablet, 6dof) that communicates over the RS232 serial (COM) port. 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci More information is available: <file:Documentation/input/input.rst> 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci If unsure, say Y. 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 5662306a36Sopenharmony_ci module will be called serport. 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ciconfig SERIO_CT82C710 5962306a36Sopenharmony_ci tristate "ct82c710 Aux port controller" 6062306a36Sopenharmony_ci depends on X86 6162306a36Sopenharmony_ci help 6262306a36Sopenharmony_ci Say Y here if you have a Texas Instruments TravelMate notebook 6362306a36Sopenharmony_ci equipped with the ct82c710 chip and want to use a mouse connected 6462306a36Sopenharmony_ci to the "QuickPort". 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci If unsure, say N. 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 6962306a36Sopenharmony_ci module will be called ct82c710. 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ciconfig SERIO_Q40KBD 7262306a36Sopenharmony_ci tristate "Q40 keyboard controller" 7362306a36Sopenharmony_ci depends on Q40 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ciconfig SERIO_PARKBD 7662306a36Sopenharmony_ci tristate "Parallel port keyboard adapter" 7762306a36Sopenharmony_ci depends on PARPORT 7862306a36Sopenharmony_ci help 7962306a36Sopenharmony_ci Say Y here if you built a simple parallel port adapter to attach 8062306a36Sopenharmony_ci an additional AT keyboard, XT keyboard or PS/2 mouse. 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci More information is available: <file:Documentation/input/input.rst> 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci If unsure, say N. 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 8762306a36Sopenharmony_ci module will be called parkbd. 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ciconfig SERIO_RPCKBD 9062306a36Sopenharmony_ci tristate "Acorn RiscPC keyboard controller" 9162306a36Sopenharmony_ci depends on ARCH_ACORN 9262306a36Sopenharmony_ci default y 9362306a36Sopenharmony_ci help 9462306a36Sopenharmony_ci Say Y here if you have the Acorn RiscPC and want to use an AT 9562306a36Sopenharmony_ci keyboard connected to its keyboard controller. 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 9862306a36Sopenharmony_ci module will be called rpckbd. 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ciconfig SERIO_AMBAKMI 10162306a36Sopenharmony_ci tristate "AMBA KMI keyboard controller" 10262306a36Sopenharmony_ci depends on ARM_AMBA 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ciconfig SERIO_SA1111 10562306a36Sopenharmony_ci tristate "Intel SA1111 keyboard controller" 10662306a36Sopenharmony_ci depends on SA1111 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ciconfig SERIO_GSCPS2 10962306a36Sopenharmony_ci tristate "HP GSC PS/2 keyboard and PS/2 mouse controller" 11062306a36Sopenharmony_ci depends on GSC 11162306a36Sopenharmony_ci default y 11262306a36Sopenharmony_ci help 11362306a36Sopenharmony_ci This driver provides support for the PS/2 ports on PA-RISC machines 11462306a36Sopenharmony_ci over which HP PS/2 keyboards and PS/2 mice may be connected. 11562306a36Sopenharmony_ci If you use these devices, you'll need to say Y here. 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci It's safe to enable this driver, so if unsure, say Y. 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 12062306a36Sopenharmony_ci module will be called gscps2. 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ciconfig HP_SDC 12362306a36Sopenharmony_ci tristate "HP System Device Controller i8042 Support" 12462306a36Sopenharmony_ci depends on (GSC || HP300) && SERIO 12562306a36Sopenharmony_ci default y 12662306a36Sopenharmony_ci help 12762306a36Sopenharmony_ci This option enables support for the "System Device 12862306a36Sopenharmony_ci Controller", an i8042 carrying microcode to manage a 12962306a36Sopenharmony_ci few miscellaneous devices on some Hewlett Packard systems. 13062306a36Sopenharmony_ci The SDC itself contains a 10ms resolution timer/clock capable 13162306a36Sopenharmony_ci of delivering interrupts on a periodic and one-shot basis. 13262306a36Sopenharmony_ci The SDC may also be connected to a battery-backed real-time 13362306a36Sopenharmony_ci clock, a basic audio waveform generator, and an HP-HIL Master 13462306a36Sopenharmony_ci Link Controller serving up to seven input devices. 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci By itself this option is rather useless, but enabling it will 13762306a36Sopenharmony_ci enable selection of drivers for the abovementioned devices. 13862306a36Sopenharmony_ci It is, however, incompatible with the old, reliable HIL keyboard 13962306a36Sopenharmony_ci driver, and the new HIL driver is experimental, so if you plan 14062306a36Sopenharmony_ci to use a HIL keyboard as your primary keyboard, you may wish 14162306a36Sopenharmony_ci to keep using that driver until the new HIL drivers have had 14262306a36Sopenharmony_ci more testing. 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ciconfig HIL_MLC 14562306a36Sopenharmony_ci tristate "HIL MLC Support (needed for HIL input devices)" 14662306a36Sopenharmony_ci depends on HP_SDC 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ciconfig SERIO_PCIPS2 14962306a36Sopenharmony_ci tristate "PCI PS/2 keyboard and PS/2 mouse controller" 15062306a36Sopenharmony_ci depends on PCI 15162306a36Sopenharmony_ci depends on HAS_IOPORT 15262306a36Sopenharmony_ci help 15362306a36Sopenharmony_ci Say Y here if you have a Mobility Docking station with PS/2 15462306a36Sopenharmony_ci keyboard and mice ports. 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 15762306a36Sopenharmony_ci module will be called pcips2. 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ciconfig SERIO_MACEPS2 16062306a36Sopenharmony_ci tristate "SGI O2 MACE PS/2 controller" 16162306a36Sopenharmony_ci depends on SGI_IP32 16262306a36Sopenharmony_ci help 16362306a36Sopenharmony_ci Say Y here if you have SGI O2 workstation and want to use its 16462306a36Sopenharmony_ci PS/2 ports. 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 16762306a36Sopenharmony_ci module will be called maceps2. 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ciconfig SERIO_SGI_IOC3 17062306a36Sopenharmony_ci tristate "SGI IOC3 PS/2 controller" 17162306a36Sopenharmony_ci depends on SGI_MFD_IOC3 17262306a36Sopenharmony_ci help 17362306a36Sopenharmony_ci Say Y here if you have an SGI Onyx2, SGI Octane or IOC3 PCI card 17462306a36Sopenharmony_ci and you want to attach and use a keyboard, mouse, or both. 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 17762306a36Sopenharmony_ci module will be called ioc3kbd. 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ciconfig SERIO_LIBPS2 18062306a36Sopenharmony_ci tristate "PS/2 driver library" 18162306a36Sopenharmony_ci depends on SERIO_I8042 || SERIO_I8042=n 18262306a36Sopenharmony_ci help 18362306a36Sopenharmony_ci Say Y here if you are using a driver for device connected 18462306a36Sopenharmony_ci to a PS/2 port, such as PS/2 mouse or standard AT keyboard. 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 18762306a36Sopenharmony_ci module will be called libps2. 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ciconfig SERIO_RAW 19062306a36Sopenharmony_ci tristate "Raw access to serio ports" 19162306a36Sopenharmony_ci help 19262306a36Sopenharmony_ci Say Y here if you want to have raw access to serio ports, such as 19362306a36Sopenharmony_ci AUX ports on i8042 keyboard controller. Each serio port that is 19462306a36Sopenharmony_ci bound to this driver will be accessible via a char device with 19562306a36Sopenharmony_ci major 10 and dynamically allocated minor. The driver will try 19662306a36Sopenharmony_ci allocating minor 1 (that historically corresponds to /dev/psaux) 19762306a36Sopenharmony_ci first. To bind this driver to a serio port use sysfs interface: 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ci echo -n "serio_raw" > /sys/bus/serio/devices/serioX/drvctl 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 20262306a36Sopenharmony_ci module will be called serio_raw. 20362306a36Sopenharmony_ci 20462306a36Sopenharmony_ciconfig SERIO_XILINX_XPS_PS2 20562306a36Sopenharmony_ci tristate "Xilinx XPS PS/2 Controller Support" 20662306a36Sopenharmony_ci depends on PPC || MICROBLAZE 20762306a36Sopenharmony_ci help 20862306a36Sopenharmony_ci This driver supports XPS PS/2 IP from the Xilinx EDK on 20962306a36Sopenharmony_ci PowerPC platform. 21062306a36Sopenharmony_ci 21162306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 21262306a36Sopenharmony_ci module will be called xilinx_ps2. 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ciconfig SERIO_ALTERA_PS2 21562306a36Sopenharmony_ci tristate "Altera UP PS/2 controller" 21662306a36Sopenharmony_ci depends on HAS_IOMEM 21762306a36Sopenharmony_ci help 21862306a36Sopenharmony_ci Say Y here if you have Altera University Program PS/2 ports. 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 22162306a36Sopenharmony_ci module will be called altera_ps2. 22262306a36Sopenharmony_ci 22362306a36Sopenharmony_ciconfig SERIO_AMS_DELTA 22462306a36Sopenharmony_ci tristate "Amstrad Delta (E3) mailboard support" 22562306a36Sopenharmony_ci depends on MACH_AMS_DELTA 22662306a36Sopenharmony_ci default y 22762306a36Sopenharmony_ci help 22862306a36Sopenharmony_ci Say Y here if you have an E3 and want to use its mailboard, 22962306a36Sopenharmony_ci or any standard AT keyboard connected to the mailboard port. 23062306a36Sopenharmony_ci 23162306a36Sopenharmony_ci When used for the E3 mailboard, a non-standard key table 23262306a36Sopenharmony_ci must be loaded from userspace, possibly using udev extras 23362306a36Sopenharmony_ci provided keymap helper utility. 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_ci To compile this driver as a module, choose M here; 23662306a36Sopenharmony_ci the module will be called ams_delta_serio. 23762306a36Sopenharmony_ci 23862306a36Sopenharmony_ciconfig SERIO_PS2MULT 23962306a36Sopenharmony_ci tristate "TQC PS/2 multiplexer" 24062306a36Sopenharmony_ci help 24162306a36Sopenharmony_ci Say Y here if you have the PS/2 line multiplexer like the one 24262306a36Sopenharmony_ci present on TQC boards. 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 24562306a36Sopenharmony_ci module will be called ps2mult. 24662306a36Sopenharmony_ci 24762306a36Sopenharmony_ciconfig SERIO_ARC_PS2 24862306a36Sopenharmony_ci tristate "ARC PS/2 support" 24962306a36Sopenharmony_ci depends on HAS_IOMEM 25062306a36Sopenharmony_ci help 25162306a36Sopenharmony_ci Say Y here if you have an ARC FPGA platform with a PS/2 25262306a36Sopenharmony_ci controller in it. 25362306a36Sopenharmony_ci 25462306a36Sopenharmony_ci To compile this driver as a module, choose M here; the module 25562306a36Sopenharmony_ci will be called arc_ps2. 25662306a36Sopenharmony_ci 25762306a36Sopenharmony_ciconfig SERIO_APBPS2 25862306a36Sopenharmony_ci tristate "GRLIB APBPS2 PS/2 keyboard/mouse controller" 25962306a36Sopenharmony_ci depends on OF && HAS_IOMEM 26062306a36Sopenharmony_ci help 26162306a36Sopenharmony_ci Say Y here if you want support for GRLIB APBPS2 peripherals used 26262306a36Sopenharmony_ci to connect to PS/2 keyboard and/or mouse. 26362306a36Sopenharmony_ci 26462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module will 26562306a36Sopenharmony_ci be called apbps2. 26662306a36Sopenharmony_ci 26762306a36Sopenharmony_ciconfig SERIO_OLPC_APSP 26862306a36Sopenharmony_ci tristate "OLPC AP-SP input support" 26962306a36Sopenharmony_ci depends on ARCH_MMP || COMPILE_TEST 27062306a36Sopenharmony_ci help 27162306a36Sopenharmony_ci Say Y here if you want support for the keyboard and touchpad included 27262306a36Sopenharmony_ci in the OLPC XO-1.75 and XO-4 laptops. 27362306a36Sopenharmony_ci 27462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module will 27562306a36Sopenharmony_ci be called olpc_apsp. 27662306a36Sopenharmony_ci 27762306a36Sopenharmony_ciconfig HYPERV_KEYBOARD 27862306a36Sopenharmony_ci tristate "Microsoft Synthetic Keyboard driver" 27962306a36Sopenharmony_ci depends on HYPERV 28062306a36Sopenharmony_ci default HYPERV 28162306a36Sopenharmony_ci help 28262306a36Sopenharmony_ci Select this option to enable the Hyper-V Keyboard driver. 28362306a36Sopenharmony_ci 28462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module will 28562306a36Sopenharmony_ci be called hyperv_keyboard. 28662306a36Sopenharmony_ci 28762306a36Sopenharmony_ciconfig SERIO_SUN4I_PS2 28862306a36Sopenharmony_ci tristate "Allwinner A10 PS/2 controller support" 28962306a36Sopenharmony_ci depends on ARCH_SUNXI || COMPILE_TEST 29062306a36Sopenharmony_ci help 29162306a36Sopenharmony_ci This selects support for the PS/2 Host Controller on 29262306a36Sopenharmony_ci Allwinner A10. 29362306a36Sopenharmony_ci 29462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 29562306a36Sopenharmony_ci module will be called sun4i-ps2. 29662306a36Sopenharmony_ci 29762306a36Sopenharmony_ciconfig SERIO_GPIO_PS2 29862306a36Sopenharmony_ci tristate "GPIO PS/2 bit banging driver" 29962306a36Sopenharmony_ci depends on GPIOLIB 30062306a36Sopenharmony_ci help 30162306a36Sopenharmony_ci Say Y here if you want PS/2 bit banging support via GPIO. 30262306a36Sopenharmony_ci 30362306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 30462306a36Sopenharmony_ci module will be called ps2-gpio. 30562306a36Sopenharmony_ci 30662306a36Sopenharmony_ci If you are unsure, say N. 30762306a36Sopenharmony_ci 30862306a36Sopenharmony_ciconfig USERIO 30962306a36Sopenharmony_ci tristate "User space serio port driver support" 31062306a36Sopenharmony_ci help 31162306a36Sopenharmony_ci Say Y here if you want to support user level drivers for serio 31262306a36Sopenharmony_ci subsystem accessible under char device 10:240 - /dev/userio. Using 31362306a36Sopenharmony_ci this facility userspace programs can implement serio ports that 31462306a36Sopenharmony_ci will be used by the standard in-kernel serio consumer drivers, 31562306a36Sopenharmony_ci such as psmouse and atkbd. 31662306a36Sopenharmony_ci 31762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module will be 31862306a36Sopenharmony_ci called userio. 31962306a36Sopenharmony_ci 32062306a36Sopenharmony_ci If you are unsure, say N. 32162306a36Sopenharmony_ci 32262306a36Sopenharmony_ciendif 323