Linux 6.10-rc3
[sfrench/cifs-2.6.git] / drivers / input / serio / Kconfig
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_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
71 config SERIO_Q40KBD
72         tristate "Q40 keyboard controller"
73         depends on Q40
74
75 config 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
89 config 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
100 config SERIO_AMBAKMI
101         tristate "AMBA KMI keyboard controller"
102         depends on ARM_AMBA
103
104 config SERIO_SA1111
105         tristate "Intel SA1111 keyboard controller"
106         depends on SA1111
107
108 config 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
122 config 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
144 config HIL_MLC
145         tristate "HIL MLC Support (needed for HIL input devices)"
146         depends on HP_SDC
147
148 config 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
159 config 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
169 config 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
179 config 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
189 config 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
204 config 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
214 config 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
223 config 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
238 config 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
247 config 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
257 config 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
267 config 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
277 config 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
287 config 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
297 config 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
308 config 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
322 endif