Linux-libre 5.4.48-gnu
[librecmc/linux-libre.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         help
152           Say Y here if you have a Mobility Docking station with PS/2
153           keyboard and mice ports.
154
155           To compile this driver as a module, choose M here: the
156           module will be called pcips2.
157
158 config SERIO_MACEPS2
159         tristate "SGI O2 MACE PS/2 controller"
160         depends on SGI_IP32
161         help
162           Say Y here if you have SGI O2 workstation and want to use its
163           PS/2 ports.
164
165           To compile this driver as a module, choose M here: the
166           module will be called maceps2.
167
168 config SERIO_LIBPS2
169         tristate "PS/2 driver library"
170         depends on SERIO_I8042 || SERIO_I8042=n
171         help
172           Say Y here if you are using a driver for device connected
173           to a PS/2 port, such as PS/2 mouse or standard AT keyboard.
174
175           To compile this driver as a module, choose M here: the
176           module will be called libps2.
177
178 config SERIO_RAW
179         tristate "Raw access to serio ports"
180         help
181           Say Y here if you want to have raw access to serio ports, such as
182           AUX ports on i8042 keyboard controller. Each serio port that is
183           bound to this driver will be accessible via a char device with
184           major 10 and dynamically allocated minor. The driver will try
185           allocating minor 1 (that historically corresponds to /dev/psaux)
186           first. To bind this driver to a serio port use sysfs interface:
187
188               echo -n "serio_raw" > /sys/bus/serio/devices/serioX/drvctl
189
190           To compile this driver as a module, choose M here: the
191           module will be called serio_raw.
192
193 config SERIO_XILINX_XPS_PS2
194         tristate "Xilinx XPS PS/2 Controller Support"
195         depends on PPC || MICROBLAZE
196         help
197           This driver supports XPS PS/2 IP from the Xilinx EDK on
198           PowerPC platform.
199
200           To compile this driver as a module, choose M here: the
201           module will be called xilinx_ps2.
202
203 config SERIO_ALTERA_PS2
204         tristate "Altera UP PS/2 controller"
205         depends on HAS_IOMEM
206         help
207           Say Y here if you have Altera University Program PS/2 ports.
208
209           To compile this driver as a module, choose M here: the
210           module will be called altera_ps2.
211
212 config SERIO_AMS_DELTA
213         tristate "Amstrad Delta (E3) mailboard support"
214         depends on MACH_AMS_DELTA
215         default y
216         ---help---
217           Say Y here if you have an E3 and want to use its mailboard,
218           or any standard AT keyboard connected to the mailboard port.
219
220           When used for the E3 mailboard, a non-standard key table
221           must be loaded from userspace, possibly using udev extras
222           provided keymap helper utility.
223
224           To compile this driver as a module, choose M here;
225           the module will be called ams_delta_serio.
226
227 config SERIO_PS2MULT
228         tristate "TQC PS/2 multiplexer"
229         help
230           Say Y here if you have the PS/2 line multiplexer like the one
231           present on TQC boards.
232
233           To compile this driver as a module, choose M here: the
234           module will be called ps2mult.
235
236 config SERIO_ARC_PS2
237         tristate "ARC PS/2 support"
238         depends on HAS_IOMEM
239         help
240           Say Y here if you have an ARC FPGA platform with a PS/2
241           controller in it.
242
243           To compile this driver as a module, choose M here; the module
244           will be called arc_ps2.
245
246 config SERIO_APBPS2
247         tristate "GRLIB APBPS2 PS/2 keyboard/mouse controller"
248         depends on OF
249         help
250           Say Y here if you want support for GRLIB APBPS2 peripherals used
251           to connect to PS/2 keyboard and/or mouse.
252
253           To compile this driver as a module, choose M here: the module will
254           be called apbps2.
255
256 config SERIO_OLPC_APSP
257         tristate "OLPC AP-SP input support"
258         depends on ARCH_MMP || COMPILE_TEST
259         help
260           Say Y here if you want support for the keyboard and touchpad included
261           in the OLPC XO-1.75 and XO-4 laptops.
262
263           To compile this driver as a module, choose M here: the module will
264           be called olpc_apsp.
265
266 config HYPERV_KEYBOARD
267         tristate "Microsoft Synthetic Keyboard driver"
268         depends on HYPERV
269         default HYPERV
270         help
271           Select this option to enable the Hyper-V Keyboard driver.
272
273           To compile this driver as a module, choose M here: the module will
274           be called hyperv_keyboard.
275
276 config SERIO_SUN4I_PS2
277         tristate "Allwinner A10 PS/2 controller support"
278         depends on ARCH_SUNXI || COMPILE_TEST
279         help
280           This selects support for the PS/2 Host Controller on
281           Allwinner A10.
282
283           To compile this driver as a module, choose M here: the
284           module will be called sun4i-ps2.
285
286 config SERIO_GPIO_PS2
287         tristate "GPIO PS/2 bit banging driver"
288         depends on GPIOLIB
289         help
290           Say Y here if you want PS/2 bit banging support via GPIO.
291
292           To compile this driver as a module, choose M here: the
293           module will be called ps2-gpio.
294
295           If you are unsure, say N.
296
297 config USERIO
298         tristate "User space serio port driver support"
299         help
300           Say Y here if you want to support user level drivers for serio
301           subsystem accessible under char device 10:240 - /dev/userio. Using
302           this facility userspace programs can implement serio ports that
303           will be used by the standard in-kernel serio consumer drivers,
304           such as psmouse and atkbd.
305
306           To compile this driver as a module, choose M here: the module will be
307           called userio.
308
309           If you are unsure, say N.
310
311 endif