1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 21da177e4SLinus Torvalds# 31da177e4SLinus Torvalds# Input core configuration 41da177e4SLinus Torvalds# 51da177e4SLinus Torvaldsconfig SERIO 6bcd26230STom Gundersen tristate "Serial I/O support" 71da177e4SLinus Torvalds default y 8fed94549SDmitry Torokhov help 91da177e4SLinus Torvalds Say Yes here if you have any input device that uses serial I/O to 101da177e4SLinus Torvalds communicate with the system. This includes the 111da177e4SLinus Torvalds * standard AT keyboard and PS/2 mouse * 121da177e4SLinus Torvalds as well as serial mice, Sun keyboards, some joysticks and 6dof 131da177e4SLinus Torvalds devices and more. 141da177e4SLinus Torvalds 151da177e4SLinus Torvalds If unsure, say Y. 161da177e4SLinus Torvalds 171da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 181da177e4SLinus Torvalds module will be called serio. 191da177e4SLinus Torvalds 205cd3f8f8SMark Salterconfig ARCH_MIGHT_HAVE_PC_SERIO 215cd3f8f8SMark Salter bool 225cd3f8f8SMark Salter help 235cd3f8f8SMark Salter Select this config option from the architecture Kconfig if 245cd3f8f8SMark Salter the architecture might use a PC serio device (i8042) to 255cd3f8f8SMark Salter communicate with keyboard, mouse, etc. 265cd3f8f8SMark Salter 271da177e4SLinus Torvaldsif SERIO 281da177e4SLinus Torvalds 291da177e4SLinus Torvaldsconfig SERIO_I8042 30bcd26230STom Gundersen tristate "i8042 PC Keyboard controller" 311da177e4SLinus Torvalds default y 325cd3f8f8SMark Salter depends on ARCH_MIGHT_HAVE_PC_SERIO 33fed94549SDmitry Torokhov help 341da177e4SLinus Torvalds i8042 is the chip over which the standard AT keyboard and PS/2 351da177e4SLinus Torvalds mouse are connected to the computer. If you use these devices, 361da177e4SLinus Torvalds you'll need to say Y here. 371da177e4SLinus Torvalds 381da177e4SLinus Torvalds If unsure, say Y. 391da177e4SLinus Torvalds 401da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 411da177e4SLinus Torvalds module will be called i8042. 421da177e4SLinus Torvalds 431da177e4SLinus Torvaldsconfig SERIO_SERPORT 441da177e4SLinus Torvalds tristate "Serial port line discipline" 451da177e4SLinus Torvalds default y 46238d9f6eSJoe Millenbach depends on TTY 47fed94549SDmitry Torokhov help 481da177e4SLinus Torvalds Say Y here if you plan to use an input device (mouse, joystick, 491da177e4SLinus Torvalds tablet, 6dof) that communicates over the RS232 serial (COM) port. 501da177e4SLinus Torvalds 51ec15872dSMauro Carvalho Chehab More information is available: <file:Documentation/input/input.rst> 521da177e4SLinus Torvalds 531da177e4SLinus Torvalds If unsure, say Y. 541da177e4SLinus Torvalds 551da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 561da177e4SLinus Torvalds module will be called serport. 571da177e4SLinus Torvalds 581da177e4SLinus Torvaldsconfig SERIO_CT82C710 591da177e4SLinus Torvalds tristate "ct82c710 Aux port controller" 601da177e4SLinus Torvalds depends on X86 61fed94549SDmitry Torokhov help 621da177e4SLinus Torvalds Say Y here if you have a Texas Instruments TravelMate notebook 631da177e4SLinus Torvalds equipped with the ct82c710 chip and want to use a mouse connected 641da177e4SLinus Torvalds to the "QuickPort". 651da177e4SLinus Torvalds 661da177e4SLinus Torvalds If unsure, say N. 671da177e4SLinus Torvalds 681da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 691da177e4SLinus Torvalds module will be called ct82c710. 701da177e4SLinus Torvalds 711da177e4SLinus Torvaldsconfig SERIO_Q40KBD 721da177e4SLinus Torvalds tristate "Q40 keyboard controller" 731da177e4SLinus Torvalds depends on Q40 741da177e4SLinus Torvalds 751da177e4SLinus Torvaldsconfig SERIO_PARKBD 761da177e4SLinus Torvalds tristate "Parallel port keyboard adapter" 771da177e4SLinus Torvalds depends on PARPORT 78fed94549SDmitry Torokhov help 791da177e4SLinus Torvalds Say Y here if you built a simple parallel port adapter to attach 801da177e4SLinus Torvalds an additional AT keyboard, XT keyboard or PS/2 mouse. 811da177e4SLinus Torvalds 82ec15872dSMauro Carvalho Chehab More information is available: <file:Documentation/input/input.rst> 831da177e4SLinus Torvalds 841da177e4SLinus Torvalds If unsure, say N. 851da177e4SLinus Torvalds 861da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 871da177e4SLinus Torvalds module will be called parkbd. 881da177e4SLinus Torvalds 891da177e4SLinus Torvaldsconfig SERIO_RPCKBD 901da177e4SLinus Torvalds tristate "Acorn RiscPC keyboard controller" 91635f0258SRussell King depends on ARCH_ACORN 921da177e4SLinus Torvalds default y 931da177e4SLinus Torvalds help 941da177e4SLinus Torvalds Say Y here if you have the Acorn RiscPC and want to use an AT 951da177e4SLinus Torvalds keyboard connected to its keyboard controller. 961da177e4SLinus Torvalds 971da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 981da177e4SLinus Torvalds module will be called rpckbd. 991da177e4SLinus Torvalds 1001da177e4SLinus Torvaldsconfig SERIO_AMBAKMI 1011da177e4SLinus Torvalds tristate "AMBA KMI keyboard controller" 1021da177e4SLinus Torvalds depends on ARM_AMBA 1031da177e4SLinus Torvalds 1041da177e4SLinus Torvaldsconfig SERIO_SA1111 1051da177e4SLinus Torvalds tristate "Intel SA1111 keyboard controller" 1061da177e4SLinus Torvalds depends on SA1111 1071da177e4SLinus Torvalds 1081da177e4SLinus Torvaldsconfig SERIO_GSCPS2 1091da177e4SLinus Torvalds tristate "HP GSC PS/2 keyboard and PS/2 mouse controller" 1101da177e4SLinus Torvalds depends on GSC 1111da177e4SLinus Torvalds default y 1121da177e4SLinus Torvalds help 1131da177e4SLinus Torvalds This driver provides support for the PS/2 ports on PA-RISC machines 1141da177e4SLinus Torvalds over which HP PS/2 keyboards and PS/2 mice may be connected. 1151da177e4SLinus Torvalds If you use these devices, you'll need to say Y here. 1161da177e4SLinus Torvalds 1171da177e4SLinus Torvalds It's safe to enable this driver, so if unsure, say Y. 1181da177e4SLinus Torvalds 1191da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 1201da177e4SLinus Torvalds module will be called gscps2. 1211da177e4SLinus Torvalds 1221da177e4SLinus Torvaldsconfig HP_SDC 1231da177e4SLinus Torvalds tristate "HP System Device Controller i8042 Support" 124da96d0b5SGeert Uytterhoeven depends on (GSC || HP300) && SERIO 1251da177e4SLinus Torvalds default y 126fed94549SDmitry Torokhov help 12709509603SMatt LaPlante This option enables support for the "System Device 1281da177e4SLinus Torvalds Controller", an i8042 carrying microcode to manage a 12909509603SMatt LaPlante few miscellaneous devices on some Hewlett Packard systems. 1301da177e4SLinus Torvalds The SDC itself contains a 10ms resolution timer/clock capable 1311da177e4SLinus Torvalds of delivering interrupts on a periodic and one-shot basis. 1321da177e4SLinus Torvalds The SDC may also be connected to a battery-backed real-time 1331da177e4SLinus Torvalds clock, a basic audio waveform generator, and an HP-HIL Master 1341da177e4SLinus Torvalds Link Controller serving up to seven input devices. 1351da177e4SLinus Torvalds 1361da177e4SLinus Torvalds By itself this option is rather useless, but enabling it will 1371da177e4SLinus Torvalds enable selection of drivers for the abovementioned devices. 1381da177e4SLinus Torvalds It is, however, incompatible with the old, reliable HIL keyboard 1391da177e4SLinus Torvalds driver, and the new HIL driver is experimental, so if you plan 1401da177e4SLinus Torvalds to use a HIL keyboard as your primary keyboard, you may wish 1411da177e4SLinus Torvalds to keep using that driver until the new HIL drivers have had 1421da177e4SLinus Torvalds more testing. 1431da177e4SLinus Torvalds 1441da177e4SLinus Torvaldsconfig HIL_MLC 1451da177e4SLinus Torvalds tristate "HIL MLC Support (needed for HIL input devices)" 1461da177e4SLinus Torvalds depends on HP_SDC 1471da177e4SLinus Torvalds 1481da177e4SLinus Torvaldsconfig SERIO_PCIPS2 1491da177e4SLinus Torvalds tristate "PCI PS/2 keyboard and PS/2 mouse controller" 1501da177e4SLinus Torvalds depends on PCI 151*50cd8714SNiklas Schnelle depends on HAS_IOPORT 1521da177e4SLinus Torvalds help 1531da177e4SLinus Torvalds Say Y here if you have a Mobility Docking station with PS/2 1541da177e4SLinus Torvalds keyboard and mice ports. 1551da177e4SLinus Torvalds 1561da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 1571da177e4SLinus Torvalds module will be called pcips2. 1581da177e4SLinus Torvalds 1591da177e4SLinus Torvaldsconfig SERIO_MACEPS2 1601da177e4SLinus Torvalds tristate "SGI O2 MACE PS/2 controller" 1611da177e4SLinus Torvalds depends on SGI_IP32 1621da177e4SLinus Torvalds help 1631da177e4SLinus Torvalds Say Y here if you have SGI O2 workstation and want to use its 1641da177e4SLinus Torvalds PS/2 ports. 1651da177e4SLinus Torvalds 1661da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 1671da177e4SLinus Torvalds module will be called maceps2. 1681da177e4SLinus Torvalds 169273db8f0SThomas Bogendoerferconfig SERIO_SGI_IOC3 170273db8f0SThomas Bogendoerfer tristate "SGI IOC3 PS/2 controller" 171273db8f0SThomas Bogendoerfer depends on SGI_MFD_IOC3 172273db8f0SThomas Bogendoerfer help 173273db8f0SThomas Bogendoerfer Say Y here if you have an SGI Onyx2, SGI Octane or IOC3 PCI card 174273db8f0SThomas Bogendoerfer and you want to attach and use a keyboard, mouse, or both. 175273db8f0SThomas Bogendoerfer 176273db8f0SThomas Bogendoerfer To compile this driver as a module, choose M here: the 177273db8f0SThomas Bogendoerfer module will be called ioc3kbd. 178273db8f0SThomas Bogendoerfer 1791da177e4SLinus Torvaldsconfig SERIO_LIBPS2 180bcd26230STom Gundersen tristate "PS/2 driver library" 181fed94549SDmitry Torokhov depends on SERIO_I8042 || SERIO_I8042=n 1821da177e4SLinus Torvalds help 1831da177e4SLinus Torvalds Say Y here if you are using a driver for device connected 1841da177e4SLinus Torvalds to a PS/2 port, such as PS/2 mouse or standard AT keyboard. 1851da177e4SLinus Torvalds 1861da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 1871da177e4SLinus Torvalds module will be called libps2. 1881da177e4SLinus Torvalds 1891da177e4SLinus Torvaldsconfig SERIO_RAW 1901da177e4SLinus Torvalds tristate "Raw access to serio ports" 1911da177e4SLinus Torvalds help 1921da177e4SLinus Torvalds Say Y here if you want to have raw access to serio ports, such as 1931da177e4SLinus Torvalds AUX ports on i8042 keyboard controller. Each serio port that is 1941da177e4SLinus Torvalds bound to this driver will be accessible via a char device with 1951da177e4SLinus Torvalds major 10 and dynamically allocated minor. The driver will try 1961da177e4SLinus Torvalds allocating minor 1 (that historically corresponds to /dev/psaux) 1971da177e4SLinus Torvalds first. To bind this driver to a serio port use sysfs interface: 1981da177e4SLinus Torvalds 199bef5a66fSNeil Brown echo -n "serio_raw" > /sys/bus/serio/devices/serioX/drvctl 2001da177e4SLinus Torvalds 2011da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 2021da177e4SLinus Torvalds module will be called serio_raw. 2031da177e4SLinus Torvalds 2041191828fSJohn Linnconfig SERIO_XILINX_XPS_PS2 2051191828fSJohn Linn tristate "Xilinx XPS PS/2 Controller Support" 2066fa612b5SMichal Simek depends on PPC || MICROBLAZE 2071191828fSJohn Linn help 2081191828fSJohn Linn This driver supports XPS PS/2 IP from the Xilinx EDK on 2091191828fSJohn Linn PowerPC platform. 2101191828fSJohn Linn 2111191828fSJohn Linn To compile this driver as a module, choose M here: the 2121191828fSJohn Linn module will be called xilinx_ps2. 2131191828fSJohn Linn 214fb5bbee0SThomas Chouconfig SERIO_ALTERA_PS2 215fb5bbee0SThomas Chou tristate "Altera UP PS/2 controller" 216150e5928SBen Hutchings depends on HAS_IOMEM 217fb5bbee0SThomas Chou help 218fb5bbee0SThomas Chou Say Y here if you have Altera University Program PS/2 ports. 219fb5bbee0SThomas Chou 220fb5bbee0SThomas Chou To compile this driver as a module, choose M here: the 221fb5bbee0SThomas Chou module will be called altera_ps2. 222fb5bbee0SThomas Chou 22329453932SJanusz Krzysztofikconfig SERIO_AMS_DELTA 22429453932SJanusz Krzysztofik tristate "Amstrad Delta (E3) mailboard support" 22529453932SJanusz Krzysztofik depends on MACH_AMS_DELTA 22629453932SJanusz Krzysztofik default y 227a7f7f624SMasahiro Yamada help 22829453932SJanusz Krzysztofik Say Y here if you have an E3 and want to use its mailboard, 22929453932SJanusz Krzysztofik or any standard AT keyboard connected to the mailboard port. 23029453932SJanusz Krzysztofik 23129453932SJanusz Krzysztofik When used for the E3 mailboard, a non-standard key table 23229453932SJanusz Krzysztofik must be loaded from userspace, possibly using udev extras 23329453932SJanusz Krzysztofik provided keymap helper utility. 23429453932SJanusz Krzysztofik 23529453932SJanusz Krzysztofik To compile this driver as a module, choose M here; 23629453932SJanusz Krzysztofik the module will be called ams_delta_serio. 23729453932SJanusz Krzysztofik 238fc58d12bSDmitry Eremin-Solenikovconfig SERIO_PS2MULT 239fc58d12bSDmitry Eremin-Solenikov tristate "TQC PS/2 multiplexer" 240fc58d12bSDmitry Eremin-Solenikov help 241fc58d12bSDmitry Eremin-Solenikov Say Y here if you have the PS/2 line multiplexer like the one 242de7fd0fcSMichael Witten present on TQC boards. 243fc58d12bSDmitry Eremin-Solenikov 244fc58d12bSDmitry Eremin-Solenikov To compile this driver as a module, choose M here: the 245fc58d12bSDmitry Eremin-Solenikov module will be called ps2mult. 246fc58d12bSDmitry Eremin-Solenikov 247e4b29009SMischa Jonkerconfig SERIO_ARC_PS2 248e4b29009SMischa Jonker tristate "ARC PS/2 support" 249580a64bfSSebastian Ott depends on HAS_IOMEM 250e4b29009SMischa Jonker help 251e4b29009SMischa Jonker Say Y here if you have an ARC FPGA platform with a PS/2 252e4b29009SMischa Jonker controller in it. 253e4b29009SMischa Jonker 254e4b29009SMischa Jonker To compile this driver as a module, choose M here; the module 255e4b29009SMischa Jonker will be called arc_ps2. 256e4b29009SMischa Jonker 257b4a034daSDaniel Hellstromconfig SERIO_APBPS2 258b4a034daSDaniel Hellstrom tristate "GRLIB APBPS2 PS/2 keyboard/mouse controller" 259b2e3543bSDmitry Torokhov depends on OF && HAS_IOMEM 260b4a034daSDaniel Hellstrom help 261b4a034daSDaniel Hellstrom Say Y here if you want support for GRLIB APBPS2 peripherals used 262b4a034daSDaniel Hellstrom to connect to PS/2 keyboard and/or mouse. 263b4a034daSDaniel Hellstrom 264b4a034daSDaniel Hellstrom To compile this driver as a module, choose M here: the module will 265b4a034daSDaniel Hellstrom be called apbps2. 266b4a034daSDaniel Hellstrom 267b56ece9aSDaniel Drakeconfig SERIO_OLPC_APSP 268b56ece9aSDaniel Drake tristate "OLPC AP-SP input support" 269841cb0f3SJean Delvare depends on ARCH_MMP || COMPILE_TEST 270b56ece9aSDaniel Drake help 271b56ece9aSDaniel Drake Say Y here if you want support for the keyboard and touchpad included 272b56ece9aSDaniel Drake in the OLPC XO-1.75 and XO-4 laptops. 273b56ece9aSDaniel Drake 274b56ece9aSDaniel Drake To compile this driver as a module, choose M here: the module will 275b56ece9aSDaniel Drake be called olpc_apsp. 276b56ece9aSDaniel Drake 277aed06b9cSK. Y. Srinivasanconfig HYPERV_KEYBOARD 278aed06b9cSK. Y. Srinivasan tristate "Microsoft Synthetic Keyboard driver" 279aed06b9cSK. Y. Srinivasan depends on HYPERV 280aed06b9cSK. Y. Srinivasan default HYPERV 281aed06b9cSK. Y. Srinivasan help 282aed06b9cSK. Y. Srinivasan Select this option to enable the Hyper-V Keyboard driver. 283aed06b9cSK. Y. Srinivasan 284aed06b9cSK. Y. Srinivasan To compile this driver as a module, choose M here: the module will 285aed06b9cSK. Y. Srinivasan be called hyperv_keyboard. 286aed06b9cSK. Y. Srinivasan 287e443631dSVishnu Patekarconfig SERIO_SUN4I_PS2 288e443631dSVishnu Patekar tristate "Allwinner A10 PS/2 controller support" 289e443631dSVishnu Patekar depends on ARCH_SUNXI || COMPILE_TEST 290e443631dSVishnu Patekar help 291e443631dSVishnu Patekar This selects support for the PS/2 Host Controller on 292e443631dSVishnu Patekar Allwinner A10. 293e443631dSVishnu Patekar 294e443631dSVishnu Patekar To compile this driver as a module, choose M here: the 295e443631dSVishnu Patekar module will be called sun4i-ps2. 296e443631dSVishnu Patekar 2979ee0a055SDanilo Krummrichconfig SERIO_GPIO_PS2 2989ee0a055SDanilo Krummrich tristate "GPIO PS/2 bit banging driver" 2999ee0a055SDanilo Krummrich depends on GPIOLIB 3009ee0a055SDanilo Krummrich help 3019ee0a055SDanilo Krummrich Say Y here if you want PS/2 bit banging support via GPIO. 3029ee0a055SDanilo Krummrich 3039ee0a055SDanilo Krummrich To compile this driver as a module, choose M here: the 3049ee0a055SDanilo Krummrich module will be called ps2-gpio. 3059ee0a055SDanilo Krummrich 3069ee0a055SDanilo Krummrich If you are unsure, say N. 3079ee0a055SDanilo Krummrich 3085523662eSStephen Chandler Paulconfig USERIO 3095523662eSStephen Chandler Paul tristate "User space serio port driver support" 3105523662eSStephen Chandler Paul help 3115523662eSStephen Chandler Paul Say Y here if you want to support user level drivers for serio 3125523662eSStephen Chandler Paul subsystem accessible under char device 10:240 - /dev/userio. Using 3135523662eSStephen Chandler Paul this facility userspace programs can implement serio ports that 3145523662eSStephen Chandler Paul will be used by the standard in-kernel serio consumer drivers, 3155523662eSStephen Chandler Paul such as psmouse and atkbd. 3165523662eSStephen Chandler Paul 3175523662eSStephen Chandler Paul To compile this driver as a module, choose M here: the module will be 3185523662eSStephen Chandler Paul called userio. 3195523662eSStephen Chandler Paul 3205523662eSStephen Chandler Paul If you are unsure, say N. 3215523662eSStephen Chandler Paul 3221da177e4SLinus Torvaldsendif 323