1 # SPDX-License-Identifier: GPL-2.0-only
3 # Input core configuration
6 tristate "Serial I/O support"
9 Say Yes here if you have any input device that uses serial I/O to
10 communicate with the system. This includes the
11 * standard AT keyboard and PS/2 mouse *
12 as well as serial mice, Sun keyboards, some joysticks and 6dof
17 To compile this driver as a module, choose M here: the
18 module will be called serio.
20 config ARCH_MIGHT_HAVE_PC_SERIO
23 Select this config option from the architecture Kconfig if
24 the architecture might use a PC serio device (i8042) to
25 communicate with keyboard, mouse, etc.
30 tristate "i8042 PC Keyboard controller"
32 depends on ARCH_MIGHT_HAVE_PC_SERIO
34 i8042 is the chip over which the standard AT keyboard and PS/2
35 mouse are connected to the computer. If you use these devices,
36 you'll need to say Y here.
40 To compile this driver as a module, choose M here: the
41 module will be called i8042.
44 tristate "Serial port line discipline"
48 Say Y here if you plan to use an input device (mouse, joystick,
49 tablet, 6dof) that communicates over the RS232 serial (COM) port.
51 More information is available: <file:Documentation/input/input.rst>
55 To compile this driver as a module, choose M here: the
56 module will be called serport.
59 tristate "ct82c710 Aux port controller"
62 Say Y here if you have a Texas Instruments TravelMate notebook
63 equipped with the ct82c710 chip and want to use a mouse connected
68 To compile this driver as a module, choose M here: the
69 module will be called ct82c710.
72 tristate "Q40 keyboard controller"
76 tristate "Parallel port keyboard adapter"
79 Say Y here if you built a simple parallel port adapter to attach
80 an additional AT keyboard, XT keyboard or PS/2 mouse.
82 More information is available: <file:Documentation/input/input.rst>
86 To compile this driver as a module, choose M here: the
87 module will be called parkbd.
90 tristate "Acorn RiscPC keyboard controller"
94 Say Y here if you have the Acorn RiscPC and want to use an AT
95 keyboard connected to its keyboard controller.
97 To compile this driver as a module, choose M here: the
98 module will be called rpckbd.
101 tristate "AMBA KMI keyboard controller"
105 tristate "Intel SA1111 keyboard controller"
109 tristate "HP GSC PS/2 keyboard and PS/2 mouse controller"
113 This driver provides support for the PS/2 ports on PA-RISC machines
114 over which HP PS/2 keyboards and PS/2 mice may be connected.
115 If you use these devices, you'll need to say Y here.
117 It's safe to enable this driver, so if unsure, say Y.
119 To compile this driver as a module, choose M here: the
120 module will be called gscps2.
123 tristate "HP System Device Controller i8042 Support"
124 depends on (GSC || HP300) && SERIO
127 This option enables support for the "System Device
128 Controller", an i8042 carrying microcode to manage a
129 few miscellaneous devices on some Hewlett Packard systems.
130 The SDC itself contains a 10ms resolution timer/clock capable
131 of delivering interrupts on a periodic and one-shot basis.
132 The SDC may also be connected to a battery-backed real-time
133 clock, a basic audio waveform generator, and an HP-HIL Master
134 Link Controller serving up to seven input devices.
136 By itself this option is rather useless, but enabling it will
137 enable selection of drivers for the abovementioned devices.
138 It is, however, incompatible with the old, reliable HIL keyboard
139 driver, and the new HIL driver is experimental, so if you plan
140 to use a HIL keyboard as your primary keyboard, you may wish
141 to keep using that driver until the new HIL drivers have had
145 tristate "HIL MLC Support (needed for HIL input devices)"
149 tristate "PCI PS/2 keyboard and PS/2 mouse controller"
151 depends on HAS_IOPORT
153 Say Y here if you have a Mobility Docking station with PS/2
154 keyboard and mice ports.
156 To compile this driver as a module, choose M here: the
157 module will be called pcips2.
160 tristate "SGI O2 MACE PS/2 controller"
163 Say Y here if you have SGI O2 workstation and want to use its
166 To compile this driver as a module, choose M here: the
167 module will be called maceps2.
169 config SERIO_SGI_IOC3
170 tristate "SGI IOC3 PS/2 controller"
171 depends on SGI_MFD_IOC3
173 Say Y here if you have an SGI Onyx2, SGI Octane or IOC3 PCI card
174 and you want to attach and use a keyboard, mouse, or both.
176 To compile this driver as a module, choose M here: the
177 module will be called ioc3kbd.
180 tristate "PS/2 driver library"
181 depends on SERIO_I8042 || SERIO_I8042=n
183 Say Y here if you are using a driver for device connected
184 to a PS/2 port, such as PS/2 mouse or standard AT keyboard.
186 To compile this driver as a module, choose M here: the
187 module will be called libps2.
190 tristate "Raw access to serio ports"
192 Say Y here if you want to have raw access to serio ports, such as
193 AUX ports on i8042 keyboard controller. Each serio port that is
194 bound to this driver will be accessible via a char device with
195 major 10 and dynamically allocated minor. The driver will try
196 allocating minor 1 (that historically corresponds to /dev/psaux)
197 first. To bind this driver to a serio port use sysfs interface:
199 echo -n "serio_raw" > /sys/bus/serio/devices/serioX/drvctl
201 To compile this driver as a module, choose M here: the
202 module will be called serio_raw.
204 config SERIO_XILINX_XPS_PS2
205 tristate "Xilinx XPS PS/2 Controller Support"
206 depends on PPC || MICROBLAZE
208 This driver supports XPS PS/2 IP from the Xilinx EDK on
211 To compile this driver as a module, choose M here: the
212 module will be called xilinx_ps2.
214 config SERIO_ALTERA_PS2
215 tristate "Altera UP PS/2 controller"
218 Say Y here if you have Altera University Program PS/2 ports.
220 To compile this driver as a module, choose M here: the
221 module will be called altera_ps2.
223 config SERIO_AMS_DELTA
224 tristate "Amstrad Delta (E3) mailboard support"
225 depends on MACH_AMS_DELTA
228 Say Y here if you have an E3 and want to use its mailboard,
229 or any standard AT keyboard connected to the mailboard port.
231 When used for the E3 mailboard, a non-standard key table
232 must be loaded from userspace, possibly using udev extras
233 provided keymap helper utility.
235 To compile this driver as a module, choose M here;
236 the module will be called ams_delta_serio.
239 tristate "TQC PS/2 multiplexer"
241 Say Y here if you have the PS/2 line multiplexer like the one
242 present on TQC boards.
244 To compile this driver as a module, choose M here: the
245 module will be called ps2mult.
248 tristate "ARC PS/2 support"
251 Say Y here if you have an ARC FPGA platform with a PS/2
254 To compile this driver as a module, choose M here; the module
255 will be called arc_ps2.
258 tristate "GRLIB APBPS2 PS/2 keyboard/mouse controller"
259 depends on OF && HAS_IOMEM
261 Say Y here if you want support for GRLIB APBPS2 peripherals used
262 to connect to PS/2 keyboard and/or mouse.
264 To compile this driver as a module, choose M here: the module will
267 config SERIO_OLPC_APSP
268 tristate "OLPC AP-SP input support"
269 depends on ARCH_MMP || COMPILE_TEST
271 Say Y here if you want support for the keyboard and touchpad included
272 in the OLPC XO-1.75 and XO-4 laptops.
274 To compile this driver as a module, choose M here: the module will
277 config HYPERV_KEYBOARD
278 tristate "Microsoft Synthetic Keyboard driver"
282 Select this option to enable the Hyper-V Keyboard driver.
284 To compile this driver as a module, choose M here: the module will
285 be called hyperv_keyboard.
287 config SERIO_SUN4I_PS2
288 tristate "Allwinner A10 PS/2 controller support"
289 depends on ARCH_SUNXI || COMPILE_TEST
291 This selects support for the PS/2 Host Controller on
294 To compile this driver as a module, choose M here: the
295 module will be called sun4i-ps2.
297 config SERIO_GPIO_PS2
298 tristate "GPIO PS/2 bit banging driver"
301 Say Y here if you want PS/2 bit banging support via GPIO.
303 To compile this driver as a module, choose M here: the
304 module will be called ps2-gpio.
306 If you are unsure, say N.
309 tristate "User space serio port driver support"
311 Say Y here if you want to support user level drivers for serio
312 subsystem accessible under char device 10:240 - /dev/userio. Using
313 this facility userspace programs can implement serio ports that
314 will be used by the standard in-kernel serio consumer drivers,
315 such as psmouse and atkbd.
317 To compile this driver as a module, choose M here: the module will be
320 If you are unsure, say N.