xref: /linux/drivers/input/serio/Kconfig (revision 841cb0f3e4ee06a86c0bafd79e3e8396db6e93f9)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# Input core configuration
31da177e4SLinus Torvalds#
41da177e4SLinus Torvaldsconfig SERIO
5bcd26230STom Gundersen	tristate "Serial I/O support"
61da177e4SLinus Torvalds	default y
7fed94549SDmitry Torokhov	help
81da177e4SLinus Torvalds	  Say Yes here if you have any input device that uses serial I/O to
91da177e4SLinus Torvalds	  communicate with the system. This includes the
101da177e4SLinus Torvalds	  		* standard AT keyboard and PS/2 mouse *
111da177e4SLinus Torvalds	  as well as serial mice, Sun keyboards, some joysticks and 6dof
121da177e4SLinus Torvalds	  devices and more.
131da177e4SLinus Torvalds
141da177e4SLinus Torvalds	  If unsure, say Y.
151da177e4SLinus Torvalds
161da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
171da177e4SLinus Torvalds	  module will be called serio.
181da177e4SLinus Torvalds
195cd3f8f8SMark Salterconfig ARCH_MIGHT_HAVE_PC_SERIO
205cd3f8f8SMark Salter	bool
215cd3f8f8SMark Salter	help
225cd3f8f8SMark Salter	  Select this config option from the architecture Kconfig if
235cd3f8f8SMark Salter	  the architecture might use a PC serio device (i8042) to
245cd3f8f8SMark Salter	  communicate with keyboard, mouse, etc.
255cd3f8f8SMark Salter
261da177e4SLinus Torvaldsif SERIO
271da177e4SLinus Torvalds
281da177e4SLinus Torvaldsconfig SERIO_I8042
29bcd26230STom Gundersen	tristate "i8042 PC Keyboard controller"
301da177e4SLinus Torvalds	default y
315cd3f8f8SMark Salter	depends on ARCH_MIGHT_HAVE_PC_SERIO
32fed94549SDmitry Torokhov	help
331da177e4SLinus Torvalds	  i8042 is the chip over which the standard AT keyboard and PS/2
341da177e4SLinus Torvalds	  mouse are connected to the computer. If you use these devices,
351da177e4SLinus Torvalds	  you'll need to say Y here.
361da177e4SLinus Torvalds
371da177e4SLinus Torvalds	  If unsure, say Y.
381da177e4SLinus Torvalds
391da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
401da177e4SLinus Torvalds	  module will be called i8042.
411da177e4SLinus Torvalds
421da177e4SLinus Torvaldsconfig SERIO_SERPORT
431da177e4SLinus Torvalds	tristate "Serial port line discipline"
441da177e4SLinus Torvalds	default y
45238d9f6eSJoe Millenbach	depends on TTY
46fed94549SDmitry Torokhov	help
471da177e4SLinus Torvalds	  Say Y here if you plan to use an input device (mouse, joystick,
481da177e4SLinus Torvalds	  tablet, 6dof) that communicates over the RS232 serial (COM) port.
491da177e4SLinus Torvalds
50ec15872dSMauro Carvalho Chehab	  More information is available: <file:Documentation/input/input.rst>
511da177e4SLinus Torvalds
521da177e4SLinus Torvalds	  If unsure, say Y.
531da177e4SLinus Torvalds
541da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
551da177e4SLinus Torvalds	  module will be called serport.
561da177e4SLinus Torvalds
571da177e4SLinus Torvaldsconfig SERIO_CT82C710
581da177e4SLinus Torvalds	tristate "ct82c710 Aux port controller"
591da177e4SLinus Torvalds	depends on X86
60fed94549SDmitry Torokhov	help
611da177e4SLinus Torvalds	  Say Y here if you have a Texas Instruments TravelMate notebook
621da177e4SLinus Torvalds	  equipped with the ct82c710 chip and want to use a mouse connected
631da177e4SLinus Torvalds	  to the "QuickPort".
641da177e4SLinus Torvalds
651da177e4SLinus Torvalds	  If unsure, say N.
661da177e4SLinus Torvalds
671da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
681da177e4SLinus Torvalds	  module will be called ct82c710.
691da177e4SLinus Torvalds
701da177e4SLinus Torvaldsconfig SERIO_Q40KBD
711da177e4SLinus Torvalds	tristate "Q40 keyboard controller"
721da177e4SLinus Torvalds	depends on Q40
731da177e4SLinus Torvalds
741da177e4SLinus Torvaldsconfig SERIO_PARKBD
751da177e4SLinus Torvalds	tristate "Parallel port keyboard adapter"
761da177e4SLinus Torvalds	depends on PARPORT
77fed94549SDmitry Torokhov	help
781da177e4SLinus Torvalds	  Say Y here if you built a simple parallel port adapter to attach
791da177e4SLinus Torvalds	  an additional AT keyboard, XT keyboard or PS/2 mouse.
801da177e4SLinus Torvalds
81ec15872dSMauro Carvalho Chehab	  More information is available: <file:Documentation/input/input.rst>
821da177e4SLinus Torvalds
831da177e4SLinus Torvalds	  If unsure, say N.
841da177e4SLinus Torvalds
851da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
861da177e4SLinus Torvalds	  module will be called parkbd.
871da177e4SLinus Torvalds
881da177e4SLinus Torvaldsconfig SERIO_RPCKBD
891da177e4SLinus Torvalds	tristate "Acorn RiscPC keyboard controller"
90635f0258SRussell King	depends on ARCH_ACORN
911da177e4SLinus Torvalds	default y
921da177e4SLinus Torvalds	help
931da177e4SLinus Torvalds	  Say Y here if you have the Acorn RiscPC and want to use an AT
941da177e4SLinus Torvalds	  keyboard connected to its keyboard controller.
951da177e4SLinus Torvalds
961da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
971da177e4SLinus Torvalds	  module will be called rpckbd.
981da177e4SLinus Torvalds
991da177e4SLinus Torvaldsconfig SERIO_AMBAKMI
1001da177e4SLinus Torvalds	tristate "AMBA KMI keyboard controller"
1011da177e4SLinus Torvalds	depends on ARM_AMBA
1021da177e4SLinus Torvalds
1031da177e4SLinus Torvaldsconfig SERIO_SA1111
1041da177e4SLinus Torvalds	tristate "Intel SA1111 keyboard controller"
1051da177e4SLinus Torvalds	depends on SA1111
1061da177e4SLinus Torvalds
1071da177e4SLinus Torvaldsconfig SERIO_GSCPS2
1081da177e4SLinus Torvalds	tristate "HP GSC PS/2 keyboard and PS/2 mouse controller"
1091da177e4SLinus Torvalds	depends on GSC
1101da177e4SLinus Torvalds	default y
1111da177e4SLinus Torvalds	help
1121da177e4SLinus Torvalds	  This driver provides support for the PS/2 ports on PA-RISC machines
1131da177e4SLinus Torvalds	  over which HP PS/2 keyboards and PS/2 mice may be connected.
1141da177e4SLinus Torvalds	  If you use these devices, you'll need to say Y here.
1151da177e4SLinus Torvalds
1161da177e4SLinus Torvalds	  It's safe to enable this driver, so if unsure, say Y.
1171da177e4SLinus Torvalds
1181da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
1191da177e4SLinus Torvalds	  module will be called gscps2.
1201da177e4SLinus Torvalds
1211da177e4SLinus Torvaldsconfig HP_SDC
1221da177e4SLinus Torvalds	tristate "HP System Device Controller i8042 Support"
123da96d0b5SGeert Uytterhoeven	depends on (GSC || HP300) && SERIO
1241da177e4SLinus Torvalds	default y
125fed94549SDmitry Torokhov	help
12609509603SMatt LaPlante	  This option enables support for the "System Device
1271da177e4SLinus Torvalds	  Controller", an i8042 carrying microcode to manage a
12809509603SMatt LaPlante	  few miscellaneous devices on some Hewlett Packard systems.
1291da177e4SLinus Torvalds	  The SDC itself contains a 10ms resolution timer/clock capable
1301da177e4SLinus Torvalds	  of delivering interrupts on a periodic and one-shot basis.
1311da177e4SLinus Torvalds	  The SDC may also be connected to a battery-backed real-time
1321da177e4SLinus Torvalds	  clock, a basic audio waveform generator, and an HP-HIL Master
1331da177e4SLinus Torvalds	  Link Controller serving up to seven input devices.
1341da177e4SLinus Torvalds
1351da177e4SLinus Torvalds	  By itself this option is rather useless, but enabling it will
1361da177e4SLinus Torvalds	  enable selection of drivers for the abovementioned devices.
1371da177e4SLinus Torvalds	  It is, however, incompatible with the old, reliable HIL keyboard
1381da177e4SLinus Torvalds	  driver, and the new HIL driver is experimental, so if you plan
1391da177e4SLinus Torvalds	  to use a HIL keyboard as your primary keyboard, you may wish
1401da177e4SLinus Torvalds	  to keep using that driver until the new HIL drivers have had
1411da177e4SLinus Torvalds	  more testing.
1421da177e4SLinus Torvalds
1431da177e4SLinus Torvaldsconfig HIL_MLC
1441da177e4SLinus Torvalds	tristate "HIL MLC Support (needed for HIL input devices)"
1451da177e4SLinus Torvalds	depends on HP_SDC
1461da177e4SLinus Torvalds
1471da177e4SLinus Torvaldsconfig SERIO_PCIPS2
1481da177e4SLinus Torvalds	tristate "PCI PS/2 keyboard and PS/2 mouse controller"
1491da177e4SLinus Torvalds	depends on PCI
1501da177e4SLinus Torvalds	help
1511da177e4SLinus Torvalds	  Say Y here if you have a Mobility Docking station with PS/2
1521da177e4SLinus Torvalds	  keyboard and mice ports.
1531da177e4SLinus Torvalds
1541da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
1551da177e4SLinus Torvalds	  module will be called pcips2.
1561da177e4SLinus Torvalds
1571da177e4SLinus Torvaldsconfig SERIO_MACEPS2
1581da177e4SLinus Torvalds	tristate "SGI O2 MACE PS/2 controller"
1591da177e4SLinus Torvalds	depends on SGI_IP32
1601da177e4SLinus Torvalds	help
1611da177e4SLinus Torvalds	  Say Y here if you have SGI O2 workstation and want to use its
1621da177e4SLinus Torvalds	  PS/2 ports.
1631da177e4SLinus Torvalds
1641da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
1651da177e4SLinus Torvalds	  module will be called maceps2.
1661da177e4SLinus Torvalds
1671da177e4SLinus Torvaldsconfig SERIO_LIBPS2
168bcd26230STom Gundersen	tristate "PS/2 driver library"
169fed94549SDmitry Torokhov	depends on SERIO_I8042 || SERIO_I8042=n
1701da177e4SLinus Torvalds	help
1711da177e4SLinus Torvalds	  Say Y here if you are using a driver for device connected
1721da177e4SLinus Torvalds	  to a PS/2 port, such as PS/2 mouse or standard AT keyboard.
1731da177e4SLinus Torvalds
1741da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
1751da177e4SLinus Torvalds	  module will be called libps2.
1761da177e4SLinus Torvalds
1771da177e4SLinus Torvaldsconfig SERIO_RAW
1781da177e4SLinus Torvalds	tristate "Raw access to serio ports"
1791da177e4SLinus Torvalds	help
1801da177e4SLinus Torvalds	  Say Y here if you want to have raw access to serio ports, such as
1811da177e4SLinus Torvalds	  AUX ports on i8042 keyboard controller. Each serio port that is
1821da177e4SLinus Torvalds	  bound to this driver will be accessible via a char device with
1831da177e4SLinus Torvalds	  major 10 and dynamically allocated minor. The driver will try
1841da177e4SLinus Torvalds	  allocating minor 1 (that historically corresponds to /dev/psaux)
1851da177e4SLinus Torvalds	  first. To bind this driver to a serio port use sysfs interface:
1861da177e4SLinus Torvalds
187bef5a66fSNeil Brown	      echo -n "serio_raw" > /sys/bus/serio/devices/serioX/drvctl
1881da177e4SLinus Torvalds
1891da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
1901da177e4SLinus Torvalds	  module will be called serio_raw.
1911da177e4SLinus Torvalds
1921191828fSJohn Linnconfig SERIO_XILINX_XPS_PS2
1931191828fSJohn Linn	tristate "Xilinx XPS PS/2 Controller Support"
1946fa612b5SMichal Simek	depends on PPC || MICROBLAZE
1951191828fSJohn Linn	help
1961191828fSJohn Linn	  This driver supports XPS PS/2 IP from the Xilinx EDK on
1971191828fSJohn Linn	  PowerPC platform.
1981191828fSJohn Linn
1991191828fSJohn Linn	  To compile this driver as a module, choose M here: the
2001191828fSJohn Linn	  module will be called xilinx_ps2.
2011191828fSJohn Linn
202fb5bbee0SThomas Chouconfig SERIO_ALTERA_PS2
203fb5bbee0SThomas Chou	tristate "Altera UP PS/2 controller"
204150e5928SBen Hutchings	depends on HAS_IOMEM
205fb5bbee0SThomas Chou	help
206fb5bbee0SThomas Chou	  Say Y here if you have Altera University Program PS/2 ports.
207fb5bbee0SThomas Chou
208fb5bbee0SThomas Chou	  To compile this driver as a module, choose M here: the
209fb5bbee0SThomas Chou	  module will be called altera_ps2.
210fb5bbee0SThomas Chou
21129453932SJanusz Krzysztofikconfig SERIO_AMS_DELTA
21229453932SJanusz Krzysztofik	tristate "Amstrad Delta (E3) mailboard support"
21329453932SJanusz Krzysztofik	depends on MACH_AMS_DELTA
21429453932SJanusz Krzysztofik	default y
21529453932SJanusz Krzysztofik	---help---
21629453932SJanusz Krzysztofik	  Say Y here if you have an E3 and want to use its mailboard,
21729453932SJanusz Krzysztofik	  or any standard AT keyboard connected to the mailboard port.
21829453932SJanusz Krzysztofik
21929453932SJanusz Krzysztofik	  When used for the E3 mailboard, a non-standard key table
22029453932SJanusz Krzysztofik	  must be loaded from userspace, possibly using udev extras
22129453932SJanusz Krzysztofik	  provided keymap helper utility.
22229453932SJanusz Krzysztofik
22329453932SJanusz Krzysztofik	  To compile this driver as a module, choose M here;
22429453932SJanusz Krzysztofik	  the module will be called ams_delta_serio.
22529453932SJanusz Krzysztofik
226fc58d12bSDmitry Eremin-Solenikovconfig SERIO_PS2MULT
227fc58d12bSDmitry Eremin-Solenikov	tristate "TQC PS/2 multiplexer"
228fc58d12bSDmitry Eremin-Solenikov	help
229fc58d12bSDmitry Eremin-Solenikov	  Say Y here if you have the PS/2 line multiplexer like the one
230de7fd0fcSMichael Witten	  present on TQC boards.
231fc58d12bSDmitry Eremin-Solenikov
232fc58d12bSDmitry Eremin-Solenikov	  To compile this driver as a module, choose M here: the
233fc58d12bSDmitry Eremin-Solenikov	  module will be called ps2mult.
234fc58d12bSDmitry Eremin-Solenikov
235e4b29009SMischa Jonkerconfig SERIO_ARC_PS2
236e4b29009SMischa Jonker	tristate "ARC PS/2 support"
237580a64bfSSebastian Ott	depends on HAS_IOMEM
238e4b29009SMischa Jonker	help
239e4b29009SMischa Jonker	  Say Y here if you have an ARC FPGA platform with a PS/2
240e4b29009SMischa Jonker	  controller in it.
241e4b29009SMischa Jonker
242e4b29009SMischa Jonker	  To compile this driver as a module, choose M here; the module
243e4b29009SMischa Jonker	  will be called arc_ps2.
244e4b29009SMischa Jonker
245b4a034daSDaniel Hellstromconfig SERIO_APBPS2
246b4a034daSDaniel Hellstrom	tristate "GRLIB APBPS2 PS/2 keyboard/mouse controller"
247b4a034daSDaniel Hellstrom	depends on OF
248b4a034daSDaniel Hellstrom	help
249b4a034daSDaniel Hellstrom	  Say Y here if you want support for GRLIB APBPS2 peripherals used
250b4a034daSDaniel Hellstrom	  to connect to PS/2 keyboard and/or mouse.
251b4a034daSDaniel Hellstrom
252b4a034daSDaniel Hellstrom	  To compile this driver as a module, choose M here: the module will
253b4a034daSDaniel Hellstrom	  be called apbps2.
254b4a034daSDaniel Hellstrom
255b56ece9aSDaniel Drakeconfig SERIO_OLPC_APSP
256b56ece9aSDaniel Drake	tristate "OLPC AP-SP input support"
257*841cb0f3SJean Delvare	depends on ARCH_MMP || COMPILE_TEST
258b56ece9aSDaniel Drake	help
259b56ece9aSDaniel Drake	  Say Y here if you want support for the keyboard and touchpad included
260b56ece9aSDaniel Drake	  in the OLPC XO-1.75 and XO-4 laptops.
261b56ece9aSDaniel Drake
262b56ece9aSDaniel Drake	  To compile this driver as a module, choose M here: the module will
263b56ece9aSDaniel Drake	  be called olpc_apsp.
264b56ece9aSDaniel Drake
265aed06b9cSK. Y. Srinivasanconfig HYPERV_KEYBOARD
266aed06b9cSK. Y. Srinivasan	tristate "Microsoft Synthetic Keyboard driver"
267aed06b9cSK. Y. Srinivasan	depends on HYPERV
268aed06b9cSK. Y. Srinivasan	default HYPERV
269aed06b9cSK. Y. Srinivasan	help
270aed06b9cSK. Y. Srinivasan	  Select this option to enable the Hyper-V Keyboard driver.
271aed06b9cSK. Y. Srinivasan
272aed06b9cSK. Y. Srinivasan	  To compile this driver as a module, choose M here: the module will
273aed06b9cSK. Y. Srinivasan	  be called hyperv_keyboard.
274aed06b9cSK. Y. Srinivasan
275e443631dSVishnu Patekarconfig SERIO_SUN4I_PS2
276e443631dSVishnu Patekar	tristate "Allwinner A10 PS/2 controller support"
277e443631dSVishnu Patekar	depends on ARCH_SUNXI || COMPILE_TEST
278e443631dSVishnu Patekar	help
279e443631dSVishnu Patekar	  This selects support for the PS/2 Host Controller on
280e443631dSVishnu Patekar	  Allwinner A10.
281e443631dSVishnu Patekar
282e443631dSVishnu Patekar	  To compile this driver as a module, choose M here: the
283e443631dSVishnu Patekar	  module will be called sun4i-ps2.
284e443631dSVishnu Patekar
2859ee0a055SDanilo Krummrichconfig SERIO_GPIO_PS2
2869ee0a055SDanilo Krummrich	tristate "GPIO PS/2 bit banging driver"
2879ee0a055SDanilo Krummrich	depends on GPIOLIB
2889ee0a055SDanilo Krummrich	help
2899ee0a055SDanilo Krummrich	  Say Y here if you want PS/2 bit banging support via GPIO.
2909ee0a055SDanilo Krummrich
2919ee0a055SDanilo Krummrich	  To compile this driver as a module, choose M here: the
2929ee0a055SDanilo Krummrich	  module will be called ps2-gpio.
2939ee0a055SDanilo Krummrich
2949ee0a055SDanilo Krummrich	  If you are unsure, say N.
2959ee0a055SDanilo Krummrich
2965523662eSStephen Chandler Paulconfig USERIO
2975523662eSStephen Chandler Paul	tristate "User space serio port driver support"
2985523662eSStephen Chandler Paul	help
2995523662eSStephen Chandler Paul	  Say Y here if you want to support user level drivers for serio
3005523662eSStephen Chandler Paul	  subsystem accessible under char device 10:240 - /dev/userio. Using
3015523662eSStephen Chandler Paul	  this facility userspace programs can implement serio ports that
3025523662eSStephen Chandler Paul	  will be used by the standard in-kernel serio consumer drivers,
3035523662eSStephen Chandler Paul	  such as psmouse and atkbd.
3045523662eSStephen Chandler Paul
3055523662eSStephen Chandler Paul	  To compile this driver as a module, choose M here: the module will be
3065523662eSStephen Chandler Paul	  called userio.
3075523662eSStephen Chandler Paul
3085523662eSStephen Chandler Paul	  If you are unsure, say N.
3095523662eSStephen Chandler Paul
3101da177e4SLinus Torvaldsendif
311