xref: /openbmc/linux/drivers/input/serio/Kconfig (revision 50cd8714)
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