| 1 | # SPDX-License-Identifier: GPL-2.0-only |
| 2 | # |
| 3 | # Input core configuration |
| 4 | # |
| 5 | config 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 | |
| 20 | config 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 | |
| 27 | if SERIO |
| 28 | |
| 29 | config 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 | |
| 43 | config 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 | |
| 58 | config SERIO_Q40KBD |
| 59 | tristate "Q40 keyboard controller" |
| 60 | depends on Q40 |
| 61 | |
| 62 | config 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 | |
| 76 | config 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 | |
| 87 | config SERIO_AMBAKMI |
| 88 | tristate "AMBA KMI keyboard controller" |
| 89 | depends on ARM_AMBA |
| 90 | |
| 91 | config SERIO_SA1111 |
| 92 | tristate "Intel SA1111 keyboard controller" |
| 93 | depends on SA1111 |
| 94 | |
| 95 | config 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 | |
| 109 | config SERIO_GSCPS2_RDI_KEYCODES |
| 110 | bool "Use PrecisionBook keyboard scancodes" |
| 111 | depends on SERIO_GSCPS2 |
| 112 | default n |
| 113 | help |
| 114 | If you have an RDI PrecisionBook, say Y here if you want to use its |
| 115 | built-in keyboard (as opposed to an external keyboard). |
| 116 | |
| 117 | The PrecisionBook has five keys that conflict with those used by most |
| 118 | AT and PS/2 keyboards. These are as follows: |
| 119 | |
| 120 | PrecisionBook Standard AT or PS/2 |
| 121 | |
| 122 | F1 F12 |
| 123 | Left Ctrl Left Alt |
| 124 | Caps Lock Left Ctrl |
| 125 | Right Ctrl Caps Lock |
| 126 | Left 102nd key (the key to the right of Left Shift) |
| 127 | |
| 128 | If you say N here, and use the PrecisionBook keyboard, then each key |
| 129 | in the left-hand column will be interpreted as the corresponding key |
| 130 | in the right-hand column. |
| 131 | |
| 132 | If you say Y here, and use an external keyboard, then each key in the |
| 133 | right-hand column will be interpreted as the key shown in the |
| 134 | left-hand column. |
| 135 | |
| 136 | config HP_SDC |
| 137 | tristate "HP System Device Controller i8042 Support" |
| 138 | depends on (GSC || HP300) && SERIO |
| 139 | default y |
| 140 | help |
| 141 | This option enables support for the "System Device |
| 142 | Controller", an i8042 carrying microcode to manage a |
| 143 | few miscellaneous devices on some Hewlett Packard systems. |
| 144 | The SDC itself contains a 10ms resolution timer/clock capable |
| 145 | of delivering interrupts on a periodic and one-shot basis. |
| 146 | The SDC may also be connected to a battery-backed real-time |
| 147 | clock, a basic audio waveform generator, and an HP-HIL Master |
| 148 | Link Controller serving up to seven input devices. |
| 149 | |
| 150 | By itself this option is rather useless, but enabling it will |
| 151 | enable selection of drivers for the abovementioned devices. |
| 152 | It is, however, incompatible with the old, reliable HIL keyboard |
| 153 | driver, and the new HIL driver is experimental, so if you plan |
| 154 | to use a HIL keyboard as your primary keyboard, you may wish |
| 155 | to keep using that driver until the new HIL drivers have had |
| 156 | more testing. |
| 157 | |
| 158 | config HIL_MLC |
| 159 | tristate "HIL MLC Support (needed for HIL input devices)" |
| 160 | depends on HP_SDC |
| 161 | |
| 162 | config SERIO_PCIPS2 |
| 163 | tristate "PCI PS/2 keyboard and PS/2 mouse controller" |
| 164 | depends on PCI |
| 165 | depends on HAS_IOPORT |
| 166 | help |
| 167 | Say Y here if you have a Mobility Docking station with PS/2 |
| 168 | keyboard and mice ports. |
| 169 | |
| 170 | To compile this driver as a module, choose M here: the |
| 171 | module will be called pcips2. |
| 172 | |
| 173 | config SERIO_MACEPS2 |
| 174 | tristate "SGI O2 MACE PS/2 controller" |
| 175 | depends on SGI_IP32 |
| 176 | help |
| 177 | Say Y here if you have SGI O2 workstation and want to use its |
| 178 | PS/2 ports. |
| 179 | |
| 180 | To compile this driver as a module, choose M here: the |
| 181 | module will be called maceps2. |
| 182 | |
| 183 | config SERIO_SGI_IOC3 |
| 184 | tristate "SGI IOC3 PS/2 controller" |
| 185 | depends on SGI_MFD_IOC3 |
| 186 | help |
| 187 | Say Y here if you have an SGI Onyx2, SGI Octane or IOC3 PCI card |
| 188 | and you want to attach and use a keyboard, mouse, or both. |
| 189 | |
| 190 | To compile this driver as a module, choose M here: the |
| 191 | module will be called ioc3kbd. |
| 192 | |
| 193 | config SERIO_LIBPS2 |
| 194 | tristate "PS/2 driver library" |
| 195 | depends on SERIO_I8042 || SERIO_I8042=n |
| 196 | help |
| 197 | Say Y here if you are using a driver for device connected |
| 198 | to a PS/2 port, such as PS/2 mouse or standard AT keyboard. |
| 199 | |
| 200 | To compile this driver as a module, choose M here: the |
| 201 | module will be called libps2. |
| 202 | |
| 203 | config SERIO_RAW |
| 204 | tristate "Raw access to serio ports" |
| 205 | help |
| 206 | Say Y here if you want to have raw access to serio ports, such as |
| 207 | AUX ports on i8042 keyboard controller. Each serio port that is |
| 208 | bound to this driver will be accessible via a char device with |
| 209 | major 10 and dynamically allocated minor. The driver will try |
| 210 | allocating minor 1 (that historically corresponds to /dev/psaux) |
| 211 | first. To bind this driver to a serio port use sysfs interface: |
| 212 | |
| 213 | echo -n "serio_raw" > /sys/bus/serio/devices/serioX/drvctl |
| 214 | |
| 215 | To compile this driver as a module, choose M here: the |
| 216 | module will be called serio_raw. |
| 217 | |
| 218 | config SERIO_ALTERA_PS2 |
| 219 | tristate "Altera UP PS/2 controller" |
| 220 | depends on HAS_IOMEM |
| 221 | help |
| 222 | Say Y here if you have Altera University Program PS/2 ports. |
| 223 | |
| 224 | To compile this driver as a module, choose M here: the |
| 225 | module will be called altera_ps2. |
| 226 | |
| 227 | config SERIO_AMS_DELTA |
| 228 | tristate "Amstrad Delta (E3) mailboard support" |
| 229 | depends on MACH_AMS_DELTA |
| 230 | default y |
| 231 | help |
| 232 | Say Y here if you have an E3 and want to use its mailboard, |
| 233 | or any standard AT keyboard connected to the mailboard port. |
| 234 | |
| 235 | When used for the E3 mailboard, a non-standard key table |
| 236 | must be loaded from userspace, possibly using udev extras |
| 237 | provided keymap helper utility. |
| 238 | |
| 239 | To compile this driver as a module, choose M here; |
| 240 | the module will be called ams_delta_serio. |
| 241 | |
| 242 | config SERIO_PS2MULT |
| 243 | tristate "TQC PS/2 multiplexer" |
| 244 | help |
| 245 | Say Y here if you have the PS/2 line multiplexer like the one |
| 246 | present on TQC boards. |
| 247 | |
| 248 | To compile this driver as a module, choose M here: the |
| 249 | module will be called ps2mult. |
| 250 | |
| 251 | config SERIO_ARC_PS2 |
| 252 | tristate "ARC PS/2 support" |
| 253 | depends on HAS_IOMEM |
| 254 | help |
| 255 | Say Y here if you have an ARC FPGA platform with a PS/2 |
| 256 | controller in it. |
| 257 | |
| 258 | To compile this driver as a module, choose M here; the module |
| 259 | will be called arc_ps2. |
| 260 | |
| 261 | config SERIO_APBPS2 |
| 262 | tristate "GRLIB APBPS2 PS/2 keyboard/mouse controller" |
| 263 | depends on OF && HAS_IOMEM |
| 264 | help |
| 265 | Say Y here if you want support for GRLIB APBPS2 peripherals used |
| 266 | to connect to PS/2 keyboard and/or mouse. |
| 267 | |
| 268 | To compile this driver as a module, choose M here: the module will |
| 269 | be called apbps2. |
| 270 | |
| 271 | config SERIO_OLPC_APSP |
| 272 | tristate "OLPC AP-SP input support" |
| 273 | depends on ARCH_MMP || COMPILE_TEST |
| 274 | help |
| 275 | Say Y here if you want support for the keyboard and touchpad included |
| 276 | in the OLPC XO-1.75 and XO-4 laptops. |
| 277 | |
| 278 | To compile this driver as a module, choose M here: the module will |
| 279 | be called olpc_apsp. |
| 280 | |
| 281 | config HYPERV_KEYBOARD |
| 282 | tristate "Microsoft Synthetic Keyboard driver" |
| 283 | depends on HYPERV_VMBUS |
| 284 | default HYPERV_VMBUS |
| 285 | help |
| 286 | Select this option to enable the Hyper-V Keyboard driver. |
| 287 | |
| 288 | To compile this driver as a module, choose M here: the module will |
| 289 | be called hyperv_keyboard. |
| 290 | |
| 291 | config SERIO_SUN4I_PS2 |
| 292 | tristate "Allwinner A10 PS/2 controller support" |
| 293 | depends on ARCH_SUNXI || COMPILE_TEST |
| 294 | help |
| 295 | This selects support for the PS/2 Host Controller on |
| 296 | Allwinner A10. |
| 297 | |
| 298 | To compile this driver as a module, choose M here: the |
| 299 | module will be called sun4i-ps2. |
| 300 | |
| 301 | config SERIO_GPIO_PS2 |
| 302 | tristate "GPIO PS/2 bit banging driver" |
| 303 | depends on GPIOLIB |
| 304 | help |
| 305 | Say Y here if you want PS/2 bit banging support via GPIO. |
| 306 | |
| 307 | To compile this driver as a module, choose M here: the |
| 308 | module will be called ps2-gpio. |
| 309 | |
| 310 | If you are unsure, say N. |
| 311 | |
| 312 | config USERIO |
| 313 | tristate "User space serio port driver support" |
| 314 | help |
| 315 | Say Y here if you want to support user level drivers for serio |
| 316 | subsystem accessible under char device 10:240 - /dev/userio. Using |
| 317 | this facility userspace programs can implement serio ports that |
| 318 | will be used by the standard in-kernel serio consumer drivers, |
| 319 | such as psmouse and atkbd. |
| 320 | |
| 321 | To compile this driver as a module, choose M here: the module will be |
| 322 | called userio. |
| 323 | |
| 324 | If you are unsure, say N. |
| 325 | |
| 326 | endif |