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