1# SPDX-License-Identifier: GPL-2.0-only 2# 3# Input core configuration 4# 5config SERIO 6 tristate "Serial I/O support" 7 default y 8 help 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 13 devices and more. 14 15 If unsure, say Y. 16 17 To compile this driver as a module, choose M here: the 18 module will be called serio. 19 20config ARCH_MIGHT_HAVE_PC_SERIO 21 bool 22 help 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. 26 27if SERIO 28 29config SERIO_I8042 30 tristate "i8042 PC Keyboard controller" 31 default y 32 depends on ARCH_MIGHT_HAVE_PC_SERIO 33 help 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. 37 38 If unsure, say Y. 39 40 To compile this driver as a module, choose M here: the 41 module will be called i8042. 42 43config SERIO_SERPORT 44 tristate "Serial port line discipline" 45 default y 46 depends on TTY 47 help 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. 50 51 More information is available: <file:Documentation/input/input.rst> 52 53 If unsure, say Y. 54 55 To compile this driver as a module, choose M here: the 56 module will be called serport. 57 58config SERIO_CT82C710 59 tristate "ct82c710 Aux port controller" 60 depends on X86 61 help 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 64 to the "QuickPort". 65 66 If unsure, say N. 67 68 To compile this driver as a module, choose M here: the 69 module will be called ct82c710. 70 71config SERIO_Q40KBD 72 tristate "Q40 keyboard controller" 73 depends on Q40 74 75config SERIO_PARKBD 76 tristate "Parallel port keyboard adapter" 77 depends on PARPORT 78 help 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. 81 82 More information is available: <file:Documentation/input/input.rst> 83 84 If unsure, say N. 85 86 To compile this driver as a module, choose M here: the 87 module will be called parkbd. 88 89config SERIO_RPCKBD 90 tristate "Acorn RiscPC keyboard controller" 91 depends on ARCH_ACORN 92 default y 93 help 94 Say Y here if you have the Acorn RiscPC and want to use an AT 95 keyboard connected to its keyboard controller. 96 97 To compile this driver as a module, choose M here: the 98 module will be called rpckbd. 99 100config SERIO_AMBAKMI 101 tristate "AMBA KMI keyboard controller" 102 depends on ARM_AMBA 103 104config SERIO_SA1111 105 tristate "Intel SA1111 keyboard controller" 106 depends on SA1111 107 108config SERIO_GSCPS2 109 tristate "HP GSC PS/2 keyboard and PS/2 mouse controller" 110 depends on GSC 111 default y 112 help 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. 116 117 It's safe to enable this driver, so if unsure, say Y. 118 119 To compile this driver as a module, choose M here: the 120 module will be called gscps2. 121 122config HP_SDC 123 tristate "HP System Device Controller i8042 Support" 124 depends on (GSC || HP300) && SERIO 125 default y 126 help 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. 135 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 142 more testing. 143 144config HIL_MLC 145 tristate "HIL MLC Support (needed for HIL input devices)" 146 depends on HP_SDC 147 148config SERIO_PCIPS2 149 tristate "PCI PS/2 keyboard and PS/2 mouse controller" 150 depends on PCI 151 depends on HAS_IOPORT 152 help 153 Say Y here if you have a Mobility Docking station with PS/2 154 keyboard and mice ports. 155 156 To compile this driver as a module, choose M here: the 157 module will be called pcips2. 158 159config SERIO_MACEPS2 160 tristate "SGI O2 MACE PS/2 controller" 161 depends on SGI_IP32 162 help 163 Say Y here if you have SGI O2 workstation and want to use its 164 PS/2 ports. 165 166 To compile this driver as a module, choose M here: the 167 module will be called maceps2. 168 169config SERIO_SGI_IOC3 170 tristate "SGI IOC3 PS/2 controller" 171 depends on SGI_MFD_IOC3 172 help 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. 175 176 To compile this driver as a module, choose M here: the 177 module will be called ioc3kbd. 178 179config SERIO_LIBPS2 180 tristate "PS/2 driver library" 181 depends on SERIO_I8042 || SERIO_I8042=n 182 help 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. 185 186 To compile this driver as a module, choose M here: the 187 module will be called libps2. 188 189config SERIO_RAW 190 tristate "Raw access to serio ports" 191 help 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: 198 199 echo -n "serio_raw" > /sys/bus/serio/devices/serioX/drvctl 200 201 To compile this driver as a module, choose M here: the 202 module will be called serio_raw. 203 204config SERIO_XILINX_XPS_PS2 205 tristate "Xilinx XPS PS/2 Controller Support" 206 depends on PPC || MICROBLAZE 207 help 208 This driver supports XPS PS/2 IP from the Xilinx EDK on 209 PowerPC platform. 210 211 To compile this driver as a module, choose M here: the 212 module will be called xilinx_ps2. 213 214config SERIO_ALTERA_PS2 215 tristate "Altera UP PS/2 controller" 216 depends on HAS_IOMEM 217 help 218 Say Y here if you have Altera University Program PS/2 ports. 219 220 To compile this driver as a module, choose M here: the 221 module will be called altera_ps2. 222 223config SERIO_AMS_DELTA 224 tristate "Amstrad Delta (E3) mailboard support" 225 depends on MACH_AMS_DELTA 226 default y 227 help 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. 230 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. 234 235 To compile this driver as a module, choose M here; 236 the module will be called ams_delta_serio. 237 238config SERIO_PS2MULT 239 tristate "TQC PS/2 multiplexer" 240 help 241 Say Y here if you have the PS/2 line multiplexer like the one 242 present on TQC boards. 243 244 To compile this driver as a module, choose M here: the 245 module will be called ps2mult. 246 247config SERIO_ARC_PS2 248 tristate "ARC PS/2 support" 249 depends on HAS_IOMEM 250 help 251 Say Y here if you have an ARC FPGA platform with a PS/2 252 controller in it. 253 254 To compile this driver as a module, choose M here; the module 255 will be called arc_ps2. 256 257config SERIO_APBPS2 258 tristate "GRLIB APBPS2 PS/2 keyboard/mouse controller" 259 depends on OF && HAS_IOMEM 260 help 261 Say Y here if you want support for GRLIB APBPS2 peripherals used 262 to connect to PS/2 keyboard and/or mouse. 263 264 To compile this driver as a module, choose M here: the module will 265 be called apbps2. 266 267config SERIO_OLPC_APSP 268 tristate "OLPC AP-SP input support" 269 depends on ARCH_MMP || COMPILE_TEST 270 help 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. 273 274 To compile this driver as a module, choose M here: the module will 275 be called olpc_apsp. 276 277config HYPERV_KEYBOARD 278 tristate "Microsoft Synthetic Keyboard driver" 279 depends on HYPERV 280 default HYPERV 281 help 282 Select this option to enable the Hyper-V Keyboard driver. 283 284 To compile this driver as a module, choose M here: the module will 285 be called hyperv_keyboard. 286 287config SERIO_SUN4I_PS2 288 tristate "Allwinner A10 PS/2 controller support" 289 depends on ARCH_SUNXI || COMPILE_TEST 290 help 291 This selects support for the PS/2 Host Controller on 292 Allwinner A10. 293 294 To compile this driver as a module, choose M here: the 295 module will be called sun4i-ps2. 296 297config SERIO_GPIO_PS2 298 tristate "GPIO PS/2 bit banging driver" 299 depends on GPIOLIB 300 help 301 Say Y here if you want PS/2 bit banging support via GPIO. 302 303 To compile this driver as a module, choose M here: the 304 module will be called ps2-gpio. 305 306 If you are unsure, say N. 307 308config USERIO 309 tristate "User space serio port driver support" 310 help 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. 316 317 To compile this driver as a module, choose M here: the module will be 318 called userio. 319 320 If you are unsure, say N. 321 322endif 323