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_Q40KBD 59 tristate "Q40 keyboard controller" 60 depends on Q40 61 62config SERIO_PARKBD 63 tristate "Parallel port keyboard adapter" 64 depends on PARPORT 65 help 66 Say Y here if you built a simple parallel port adapter to attach 67 an additional AT keyboard, XT keyboard or PS/2 mouse. 68 69 More information is available: <file:Documentation/input/input.rst> 70 71 If unsure, say N. 72 73 To compile this driver as a module, choose M here: the 74 module will be called parkbd. 75 76config SERIO_RPCKBD 77 tristate "Acorn RiscPC keyboard controller" 78 depends on ARCH_ACORN 79 default y 80 help 81 Say Y here if you have the Acorn RiscPC and want to use an AT 82 keyboard connected to its keyboard controller. 83 84 To compile this driver as a module, choose M here: the 85 module will be called rpckbd. 86 87config SERIO_AMBAKMI 88 tristate "AMBA KMI keyboard controller" 89 depends on ARM_AMBA 90 91config SERIO_SA1111 92 tristate "Intel SA1111 keyboard controller" 93 depends on SA1111 94 95config SERIO_GSCPS2 96 tristate "HP GSC PS/2 keyboard and PS/2 mouse controller" 97 depends on GSC 98 default y 99 help 100 This driver provides support for the PS/2 ports on PA-RISC machines 101 over which HP PS/2 keyboards and PS/2 mice may be connected. 102 If you use these devices, you'll need to say Y here. 103 104 It's safe to enable this driver, so if unsure, say Y. 105 106 To compile this driver as a module, choose M here: the 107 module will be called gscps2. 108 109config HP_SDC 110 tristate "HP System Device Controller i8042 Support" 111 depends on (GSC || HP300) && SERIO 112 default y 113 help 114 This option enables support for the "System Device 115 Controller", an i8042 carrying microcode to manage a 116 few miscellaneous devices on some Hewlett Packard systems. 117 The SDC itself contains a 10ms resolution timer/clock capable 118 of delivering interrupts on a periodic and one-shot basis. 119 The SDC may also be connected to a battery-backed real-time 120 clock, a basic audio waveform generator, and an HP-HIL Master 121 Link Controller serving up to seven input devices. 122 123 By itself this option is rather useless, but enabling it will 124 enable selection of drivers for the abovementioned devices. 125 It is, however, incompatible with the old, reliable HIL keyboard 126 driver, and the new HIL driver is experimental, so if you plan 127 to use a HIL keyboard as your primary keyboard, you may wish 128 to keep using that driver until the new HIL drivers have had 129 more testing. 130 131config HIL_MLC 132 tristate "HIL MLC Support (needed for HIL input devices)" 133 depends on HP_SDC 134 135config SERIO_PCIPS2 136 tristate "PCI PS/2 keyboard and PS/2 mouse controller" 137 depends on PCI 138 depends on HAS_IOPORT 139 help 140 Say Y here if you have a Mobility Docking station with PS/2 141 keyboard and mice ports. 142 143 To compile this driver as a module, choose M here: the 144 module will be called pcips2. 145 146config SERIO_MACEPS2 147 tristate "SGI O2 MACE PS/2 controller" 148 depends on SGI_IP32 149 help 150 Say Y here if you have SGI O2 workstation and want to use its 151 PS/2 ports. 152 153 To compile this driver as a module, choose M here: the 154 module will be called maceps2. 155 156config SERIO_SGI_IOC3 157 tristate "SGI IOC3 PS/2 controller" 158 depends on SGI_MFD_IOC3 159 help 160 Say Y here if you have an SGI Onyx2, SGI Octane or IOC3 PCI card 161 and you want to attach and use a keyboard, mouse, or both. 162 163 To compile this driver as a module, choose M here: the 164 module will be called ioc3kbd. 165 166config SERIO_LIBPS2 167 tristate "PS/2 driver library" 168 depends on SERIO_I8042 || SERIO_I8042=n 169 help 170 Say Y here if you are using a driver for device connected 171 to a PS/2 port, such as PS/2 mouse or standard AT keyboard. 172 173 To compile this driver as a module, choose M here: the 174 module will be called libps2. 175 176config SERIO_RAW 177 tristate "Raw access to serio ports" 178 help 179 Say Y here if you want to have raw access to serio ports, such as 180 AUX ports on i8042 keyboard controller. Each serio port that is 181 bound to this driver will be accessible via a char device with 182 major 10 and dynamically allocated minor. The driver will try 183 allocating minor 1 (that historically corresponds to /dev/psaux) 184 first. To bind this driver to a serio port use sysfs interface: 185 186 echo -n "serio_raw" > /sys/bus/serio/devices/serioX/drvctl 187 188 To compile this driver as a module, choose M here: the 189 module will be called serio_raw. 190 191config SERIO_XILINX_XPS_PS2 192 tristate "Xilinx XPS PS/2 Controller Support" 193 depends on PPC || MICROBLAZE 194 help 195 This driver supports XPS PS/2 IP from the Xilinx EDK on 196 PowerPC platform. 197 198 To compile this driver as a module, choose M here: the 199 module will be called xilinx_ps2. 200 201config SERIO_ALTERA_PS2 202 tristate "Altera UP PS/2 controller" 203 depends on HAS_IOMEM 204 help 205 Say Y here if you have Altera University Program PS/2 ports. 206 207 To compile this driver as a module, choose M here: the 208 module will be called altera_ps2. 209 210config SERIO_AMS_DELTA 211 tristate "Amstrad Delta (E3) mailboard support" 212 depends on MACH_AMS_DELTA 213 default y 214 help 215 Say Y here if you have an E3 and want to use its mailboard, 216 or any standard AT keyboard connected to the mailboard port. 217 218 When used for the E3 mailboard, a non-standard key table 219 must be loaded from userspace, possibly using udev extras 220 provided keymap helper utility. 221 222 To compile this driver as a module, choose M here; 223 the module will be called ams_delta_serio. 224 225config SERIO_PS2MULT 226 tristate "TQC PS/2 multiplexer" 227 help 228 Say Y here if you have the PS/2 line multiplexer like the one 229 present on TQC boards. 230 231 To compile this driver as a module, choose M here: the 232 module will be called ps2mult. 233 234config SERIO_ARC_PS2 235 tristate "ARC PS/2 support" 236 depends on HAS_IOMEM 237 help 238 Say Y here if you have an ARC FPGA platform with a PS/2 239 controller in it. 240 241 To compile this driver as a module, choose M here; the module 242 will be called arc_ps2. 243 244config SERIO_APBPS2 245 tristate "GRLIB APBPS2 PS/2 keyboard/mouse controller" 246 depends on OF && HAS_IOMEM 247 help 248 Say Y here if you want support for GRLIB APBPS2 peripherals used 249 to connect to PS/2 keyboard and/or mouse. 250 251 To compile this driver as a module, choose M here: the module will 252 be called apbps2. 253 254config SERIO_OLPC_APSP 255 tristate "OLPC AP-SP input support" 256 depends on ARCH_MMP || COMPILE_TEST 257 help 258 Say Y here if you want support for the keyboard and touchpad included 259 in the OLPC XO-1.75 and XO-4 laptops. 260 261 To compile this driver as a module, choose M here: the module will 262 be called olpc_apsp. 263 264config HYPERV_KEYBOARD 265 tristate "Microsoft Synthetic Keyboard driver" 266 depends on HYPERV_VMBUS 267 default HYPERV_VMBUS 268 help 269 Select this option to enable the Hyper-V Keyboard driver. 270 271 To compile this driver as a module, choose M here: the module will 272 be called hyperv_keyboard. 273 274config SERIO_SUN4I_PS2 275 tristate "Allwinner A10 PS/2 controller support" 276 depends on ARCH_SUNXI || COMPILE_TEST 277 help 278 This selects support for the PS/2 Host Controller on 279 Allwinner A10. 280 281 To compile this driver as a module, choose M here: the 282 module will be called sun4i-ps2. 283 284config SERIO_GPIO_PS2 285 tristate "GPIO PS/2 bit banging driver" 286 depends on GPIOLIB 287 help 288 Say Y here if you want PS/2 bit banging support via GPIO. 289 290 To compile this driver as a module, choose M here: the 291 module will be called ps2-gpio. 292 293 If you are unsure, say N. 294 295config USERIO 296 tristate "User space serio port driver support" 297 help 298 Say Y here if you want to support user level drivers for serio 299 subsystem accessible under char device 10:240 - /dev/userio. Using 300 this facility userspace programs can implement serio ports that 301 will be used by the standard in-kernel serio consumer drivers, 302 such as psmouse and atkbd. 303 304 To compile this driver as a module, choose M here: the module will be 305 called userio. 306 307 If you are unsure, say N. 308 309endif 310