18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# Input core configuration 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_ciconfig SERIO 68c2ecf20Sopenharmony_ci tristate "Serial I/O support" 78c2ecf20Sopenharmony_ci default y 88c2ecf20Sopenharmony_ci help 98c2ecf20Sopenharmony_ci Say Yes here if you have any input device that uses serial I/O to 108c2ecf20Sopenharmony_ci communicate with the system. This includes the 118c2ecf20Sopenharmony_ci * standard AT keyboard and PS/2 mouse * 128c2ecf20Sopenharmony_ci as well as serial mice, Sun keyboards, some joysticks and 6dof 138c2ecf20Sopenharmony_ci devices and more. 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci If unsure, say Y. 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 188c2ecf20Sopenharmony_ci module will be called serio. 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ciconfig ARCH_MIGHT_HAVE_PC_SERIO 218c2ecf20Sopenharmony_ci bool 228c2ecf20Sopenharmony_ci help 238c2ecf20Sopenharmony_ci Select this config option from the architecture Kconfig if 248c2ecf20Sopenharmony_ci the architecture might use a PC serio device (i8042) to 258c2ecf20Sopenharmony_ci communicate with keyboard, mouse, etc. 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ciif SERIO 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ciconfig SERIO_I8042 308c2ecf20Sopenharmony_ci tristate "i8042 PC Keyboard controller" 318c2ecf20Sopenharmony_ci default y 328c2ecf20Sopenharmony_ci depends on ARCH_MIGHT_HAVE_PC_SERIO 338c2ecf20Sopenharmony_ci help 348c2ecf20Sopenharmony_ci i8042 is the chip over which the standard AT keyboard and PS/2 358c2ecf20Sopenharmony_ci mouse are connected to the computer. If you use these devices, 368c2ecf20Sopenharmony_ci you'll need to say Y here. 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci If unsure, say Y. 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 418c2ecf20Sopenharmony_ci module will be called i8042. 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ciconfig SERIO_SERPORT 448c2ecf20Sopenharmony_ci tristate "Serial port line discipline" 458c2ecf20Sopenharmony_ci default y 468c2ecf20Sopenharmony_ci depends on TTY 478c2ecf20Sopenharmony_ci help 488c2ecf20Sopenharmony_ci Say Y here if you plan to use an input device (mouse, joystick, 498c2ecf20Sopenharmony_ci tablet, 6dof) that communicates over the RS232 serial (COM) port. 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci More information is available: <file:Documentation/input/input.rst> 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci If unsure, say Y. 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 568c2ecf20Sopenharmony_ci module will be called serport. 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ciconfig SERIO_CT82C710 598c2ecf20Sopenharmony_ci tristate "ct82c710 Aux port controller" 608c2ecf20Sopenharmony_ci depends on X86 618c2ecf20Sopenharmony_ci help 628c2ecf20Sopenharmony_ci Say Y here if you have a Texas Instruments TravelMate notebook 638c2ecf20Sopenharmony_ci equipped with the ct82c710 chip and want to use a mouse connected 648c2ecf20Sopenharmony_ci to the "QuickPort". 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci If unsure, say N. 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 698c2ecf20Sopenharmony_ci module will be called ct82c710. 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ciconfig SERIO_Q40KBD 728c2ecf20Sopenharmony_ci tristate "Q40 keyboard controller" 738c2ecf20Sopenharmony_ci depends on Q40 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ciconfig SERIO_PARKBD 768c2ecf20Sopenharmony_ci tristate "Parallel port keyboard adapter" 778c2ecf20Sopenharmony_ci depends on PARPORT 788c2ecf20Sopenharmony_ci help 798c2ecf20Sopenharmony_ci Say Y here if you built a simple parallel port adapter to attach 808c2ecf20Sopenharmony_ci an additional AT keyboard, XT keyboard or PS/2 mouse. 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ci More information is available: <file:Documentation/input/input.rst> 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci If unsure, say N. 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 878c2ecf20Sopenharmony_ci module will be called parkbd. 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ciconfig SERIO_RPCKBD 908c2ecf20Sopenharmony_ci tristate "Acorn RiscPC keyboard controller" 918c2ecf20Sopenharmony_ci depends on ARCH_ACORN 928c2ecf20Sopenharmony_ci default y 938c2ecf20Sopenharmony_ci help 948c2ecf20Sopenharmony_ci Say Y here if you have the Acorn RiscPC and want to use an AT 958c2ecf20Sopenharmony_ci keyboard connected to its keyboard controller. 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 988c2ecf20Sopenharmony_ci module will be called rpckbd. 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ciconfig SERIO_AMBAKMI 1018c2ecf20Sopenharmony_ci tristate "AMBA KMI keyboard controller" 1028c2ecf20Sopenharmony_ci depends on ARM_AMBA 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ciconfig SERIO_SA1111 1058c2ecf20Sopenharmony_ci tristate "Intel SA1111 keyboard controller" 1068c2ecf20Sopenharmony_ci depends on SA1111 1078c2ecf20Sopenharmony_ci 1088c2ecf20Sopenharmony_ciconfig SERIO_GSCPS2 1098c2ecf20Sopenharmony_ci tristate "HP GSC PS/2 keyboard and PS/2 mouse controller" 1108c2ecf20Sopenharmony_ci depends on GSC 1118c2ecf20Sopenharmony_ci default y 1128c2ecf20Sopenharmony_ci help 1138c2ecf20Sopenharmony_ci This driver provides support for the PS/2 ports on PA-RISC machines 1148c2ecf20Sopenharmony_ci over which HP PS/2 keyboards and PS/2 mice may be connected. 1158c2ecf20Sopenharmony_ci If you use these devices, you'll need to say Y here. 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ci It's safe to enable this driver, so if unsure, say Y. 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 1208c2ecf20Sopenharmony_ci module will be called gscps2. 1218c2ecf20Sopenharmony_ci 1228c2ecf20Sopenharmony_ciconfig HP_SDC 1238c2ecf20Sopenharmony_ci tristate "HP System Device Controller i8042 Support" 1248c2ecf20Sopenharmony_ci depends on (GSC || HP300) && SERIO 1258c2ecf20Sopenharmony_ci default y 1268c2ecf20Sopenharmony_ci help 1278c2ecf20Sopenharmony_ci This option enables support for the "System Device 1288c2ecf20Sopenharmony_ci Controller", an i8042 carrying microcode to manage a 1298c2ecf20Sopenharmony_ci few miscellaneous devices on some Hewlett Packard systems. 1308c2ecf20Sopenharmony_ci The SDC itself contains a 10ms resolution timer/clock capable 1318c2ecf20Sopenharmony_ci of delivering interrupts on a periodic and one-shot basis. 1328c2ecf20Sopenharmony_ci The SDC may also be connected to a battery-backed real-time 1338c2ecf20Sopenharmony_ci clock, a basic audio waveform generator, and an HP-HIL Master 1348c2ecf20Sopenharmony_ci Link Controller serving up to seven input devices. 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ci By itself this option is rather useless, but enabling it will 1378c2ecf20Sopenharmony_ci enable selection of drivers for the abovementioned devices. 1388c2ecf20Sopenharmony_ci It is, however, incompatible with the old, reliable HIL keyboard 1398c2ecf20Sopenharmony_ci driver, and the new HIL driver is experimental, so if you plan 1408c2ecf20Sopenharmony_ci to use a HIL keyboard as your primary keyboard, you may wish 1418c2ecf20Sopenharmony_ci to keep using that driver until the new HIL drivers have had 1428c2ecf20Sopenharmony_ci more testing. 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ciconfig HIL_MLC 1458c2ecf20Sopenharmony_ci tristate "HIL MLC Support (needed for HIL input devices)" 1468c2ecf20Sopenharmony_ci depends on HP_SDC 1478c2ecf20Sopenharmony_ci 1488c2ecf20Sopenharmony_ciconfig SERIO_PCIPS2 1498c2ecf20Sopenharmony_ci tristate "PCI PS/2 keyboard and PS/2 mouse controller" 1508c2ecf20Sopenharmony_ci depends on PCI 1518c2ecf20Sopenharmony_ci help 1528c2ecf20Sopenharmony_ci Say Y here if you have a Mobility Docking station with PS/2 1538c2ecf20Sopenharmony_ci keyboard and mice ports. 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 1568c2ecf20Sopenharmony_ci module will be called pcips2. 1578c2ecf20Sopenharmony_ci 1588c2ecf20Sopenharmony_ciconfig SERIO_MACEPS2 1598c2ecf20Sopenharmony_ci tristate "SGI O2 MACE PS/2 controller" 1608c2ecf20Sopenharmony_ci depends on SGI_IP32 1618c2ecf20Sopenharmony_ci help 1628c2ecf20Sopenharmony_ci Say Y here if you have SGI O2 workstation and want to use its 1638c2ecf20Sopenharmony_ci PS/2 ports. 1648c2ecf20Sopenharmony_ci 1658c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 1668c2ecf20Sopenharmony_ci module will be called maceps2. 1678c2ecf20Sopenharmony_ci 1688c2ecf20Sopenharmony_ciconfig SERIO_SGI_IOC3 1698c2ecf20Sopenharmony_ci tristate "SGI IOC3 PS/2 controller" 1708c2ecf20Sopenharmony_ci depends on SGI_MFD_IOC3 1718c2ecf20Sopenharmony_ci help 1728c2ecf20Sopenharmony_ci Say Y here if you have an SGI Onyx2, SGI Octane or IOC3 PCI card 1738c2ecf20Sopenharmony_ci and you want to attach and use a keyboard, mouse, or both. 1748c2ecf20Sopenharmony_ci 1758c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 1768c2ecf20Sopenharmony_ci module will be called ioc3kbd. 1778c2ecf20Sopenharmony_ci 1788c2ecf20Sopenharmony_ciconfig SERIO_LIBPS2 1798c2ecf20Sopenharmony_ci tristate "PS/2 driver library" 1808c2ecf20Sopenharmony_ci depends on SERIO_I8042 || SERIO_I8042=n 1818c2ecf20Sopenharmony_ci help 1828c2ecf20Sopenharmony_ci Say Y here if you are using a driver for device connected 1838c2ecf20Sopenharmony_ci to a PS/2 port, such as PS/2 mouse or standard AT keyboard. 1848c2ecf20Sopenharmony_ci 1858c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 1868c2ecf20Sopenharmony_ci module will be called libps2. 1878c2ecf20Sopenharmony_ci 1888c2ecf20Sopenharmony_ciconfig SERIO_RAW 1898c2ecf20Sopenharmony_ci tristate "Raw access to serio ports" 1908c2ecf20Sopenharmony_ci help 1918c2ecf20Sopenharmony_ci Say Y here if you want to have raw access to serio ports, such as 1928c2ecf20Sopenharmony_ci AUX ports on i8042 keyboard controller. Each serio port that is 1938c2ecf20Sopenharmony_ci bound to this driver will be accessible via a char device with 1948c2ecf20Sopenharmony_ci major 10 and dynamically allocated minor. The driver will try 1958c2ecf20Sopenharmony_ci allocating minor 1 (that historically corresponds to /dev/psaux) 1968c2ecf20Sopenharmony_ci first. To bind this driver to a serio port use sysfs interface: 1978c2ecf20Sopenharmony_ci 1988c2ecf20Sopenharmony_ci echo -n "serio_raw" > /sys/bus/serio/devices/serioX/drvctl 1998c2ecf20Sopenharmony_ci 2008c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 2018c2ecf20Sopenharmony_ci module will be called serio_raw. 2028c2ecf20Sopenharmony_ci 2038c2ecf20Sopenharmony_ciconfig SERIO_XILINX_XPS_PS2 2048c2ecf20Sopenharmony_ci tristate "Xilinx XPS PS/2 Controller Support" 2058c2ecf20Sopenharmony_ci depends on PPC || MICROBLAZE 2068c2ecf20Sopenharmony_ci help 2078c2ecf20Sopenharmony_ci This driver supports XPS PS/2 IP from the Xilinx EDK on 2088c2ecf20Sopenharmony_ci PowerPC platform. 2098c2ecf20Sopenharmony_ci 2108c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 2118c2ecf20Sopenharmony_ci module will be called xilinx_ps2. 2128c2ecf20Sopenharmony_ci 2138c2ecf20Sopenharmony_ciconfig SERIO_ALTERA_PS2 2148c2ecf20Sopenharmony_ci tristate "Altera UP PS/2 controller" 2158c2ecf20Sopenharmony_ci depends on HAS_IOMEM 2168c2ecf20Sopenharmony_ci help 2178c2ecf20Sopenharmony_ci Say Y here if you have Altera University Program PS/2 ports. 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 2208c2ecf20Sopenharmony_ci module will be called altera_ps2. 2218c2ecf20Sopenharmony_ci 2228c2ecf20Sopenharmony_ciconfig SERIO_AMS_DELTA 2238c2ecf20Sopenharmony_ci tristate "Amstrad Delta (E3) mailboard support" 2248c2ecf20Sopenharmony_ci depends on MACH_AMS_DELTA 2258c2ecf20Sopenharmony_ci default y 2268c2ecf20Sopenharmony_ci help 2278c2ecf20Sopenharmony_ci Say Y here if you have an E3 and want to use its mailboard, 2288c2ecf20Sopenharmony_ci or any standard AT keyboard connected to the mailboard port. 2298c2ecf20Sopenharmony_ci 2308c2ecf20Sopenharmony_ci When used for the E3 mailboard, a non-standard key table 2318c2ecf20Sopenharmony_ci must be loaded from userspace, possibly using udev extras 2328c2ecf20Sopenharmony_ci provided keymap helper utility. 2338c2ecf20Sopenharmony_ci 2348c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here; 2358c2ecf20Sopenharmony_ci the module will be called ams_delta_serio. 2368c2ecf20Sopenharmony_ci 2378c2ecf20Sopenharmony_ciconfig SERIO_PS2MULT 2388c2ecf20Sopenharmony_ci tristate "TQC PS/2 multiplexer" 2398c2ecf20Sopenharmony_ci help 2408c2ecf20Sopenharmony_ci Say Y here if you have the PS/2 line multiplexer like the one 2418c2ecf20Sopenharmony_ci present on TQC boards. 2428c2ecf20Sopenharmony_ci 2438c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 2448c2ecf20Sopenharmony_ci module will be called ps2mult. 2458c2ecf20Sopenharmony_ci 2468c2ecf20Sopenharmony_ciconfig SERIO_ARC_PS2 2478c2ecf20Sopenharmony_ci tristate "ARC PS/2 support" 2488c2ecf20Sopenharmony_ci depends on HAS_IOMEM 2498c2ecf20Sopenharmony_ci help 2508c2ecf20Sopenharmony_ci Say Y here if you have an ARC FPGA platform with a PS/2 2518c2ecf20Sopenharmony_ci controller in it. 2528c2ecf20Sopenharmony_ci 2538c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here; the module 2548c2ecf20Sopenharmony_ci will be called arc_ps2. 2558c2ecf20Sopenharmony_ci 2568c2ecf20Sopenharmony_ciconfig SERIO_APBPS2 2578c2ecf20Sopenharmony_ci tristate "GRLIB APBPS2 PS/2 keyboard/mouse controller" 2588c2ecf20Sopenharmony_ci depends on OF 2598c2ecf20Sopenharmony_ci help 2608c2ecf20Sopenharmony_ci Say Y here if you want support for GRLIB APBPS2 peripherals used 2618c2ecf20Sopenharmony_ci to connect to PS/2 keyboard and/or mouse. 2628c2ecf20Sopenharmony_ci 2638c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module will 2648c2ecf20Sopenharmony_ci be called apbps2. 2658c2ecf20Sopenharmony_ci 2668c2ecf20Sopenharmony_ciconfig SERIO_OLPC_APSP 2678c2ecf20Sopenharmony_ci tristate "OLPC AP-SP input support" 2688c2ecf20Sopenharmony_ci depends on ARCH_MMP || COMPILE_TEST 2698c2ecf20Sopenharmony_ci help 2708c2ecf20Sopenharmony_ci Say Y here if you want support for the keyboard and touchpad included 2718c2ecf20Sopenharmony_ci in the OLPC XO-1.75 and XO-4 laptops. 2728c2ecf20Sopenharmony_ci 2738c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module will 2748c2ecf20Sopenharmony_ci be called olpc_apsp. 2758c2ecf20Sopenharmony_ci 2768c2ecf20Sopenharmony_ciconfig HYPERV_KEYBOARD 2778c2ecf20Sopenharmony_ci tristate "Microsoft Synthetic Keyboard driver" 2788c2ecf20Sopenharmony_ci depends on HYPERV 2798c2ecf20Sopenharmony_ci default HYPERV 2808c2ecf20Sopenharmony_ci help 2818c2ecf20Sopenharmony_ci Select this option to enable the Hyper-V Keyboard driver. 2828c2ecf20Sopenharmony_ci 2838c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module will 2848c2ecf20Sopenharmony_ci be called hyperv_keyboard. 2858c2ecf20Sopenharmony_ci 2868c2ecf20Sopenharmony_ciconfig SERIO_SUN4I_PS2 2878c2ecf20Sopenharmony_ci tristate "Allwinner A10 PS/2 controller support" 2888c2ecf20Sopenharmony_ci depends on ARCH_SUNXI || COMPILE_TEST 2898c2ecf20Sopenharmony_ci help 2908c2ecf20Sopenharmony_ci This selects support for the PS/2 Host Controller on 2918c2ecf20Sopenharmony_ci Allwinner A10. 2928c2ecf20Sopenharmony_ci 2938c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 2948c2ecf20Sopenharmony_ci module will be called sun4i-ps2. 2958c2ecf20Sopenharmony_ci 2968c2ecf20Sopenharmony_ciconfig SERIO_GPIO_PS2 2978c2ecf20Sopenharmony_ci tristate "GPIO PS/2 bit banging driver" 2988c2ecf20Sopenharmony_ci depends on GPIOLIB 2998c2ecf20Sopenharmony_ci help 3008c2ecf20Sopenharmony_ci Say Y here if you want PS/2 bit banging support via GPIO. 3018c2ecf20Sopenharmony_ci 3028c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 3038c2ecf20Sopenharmony_ci module will be called ps2-gpio. 3048c2ecf20Sopenharmony_ci 3058c2ecf20Sopenharmony_ci If you are unsure, say N. 3068c2ecf20Sopenharmony_ci 3078c2ecf20Sopenharmony_ciconfig USERIO 3088c2ecf20Sopenharmony_ci tristate "User space serio port driver support" 3098c2ecf20Sopenharmony_ci help 3108c2ecf20Sopenharmony_ci Say Y here if you want to support user level drivers for serio 3118c2ecf20Sopenharmony_ci subsystem accessible under char device 10:240 - /dev/userio. Using 3128c2ecf20Sopenharmony_ci this facility userspace programs can implement serio ports that 3138c2ecf20Sopenharmony_ci will be used by the standard in-kernel serio consumer drivers, 3148c2ecf20Sopenharmony_ci such as psmouse and atkbd. 3158c2ecf20Sopenharmony_ci 3168c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module will be 3178c2ecf20Sopenharmony_ci called userio. 3188c2ecf20Sopenharmony_ci 3198c2ecf20Sopenharmony_ci If you are unsure, say N. 3208c2ecf20Sopenharmony_ci 3218c2ecf20Sopenharmony_ciendif 322