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