xref: /linux/drivers/input/serio/Kconfig (revision b7019ac550eb3916f34d79db583e9b7ea2524afa)
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_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
71config SERIO_Q40KBD
72	tristate "Q40 keyboard controller"
73	depends on Q40
74
75config 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
89config 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
100config SERIO_AMBAKMI
101	tristate "AMBA KMI keyboard controller"
102	depends on ARM_AMBA
103
104config SERIO_SA1111
105	tristate "Intel SA1111 keyboard controller"
106	depends on SA1111
107
108config 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
122config 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
144config HIL_MLC
145	tristate "HIL MLC Support (needed for HIL input devices)"
146	depends on HP_SDC
147
148config 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
158config 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
168config 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
178config 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
193config 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
203config 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
212config 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
227config 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
236config 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
246config 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
256config 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
266config 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
276config 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
286config 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
297config 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
311endif
312