xref: /linux/drivers/input/serio/Kconfig (revision be709d48329a500621d2a05835283150ae137b45)
1#
2# Input core configuration
3#
4config SERIO
5	tristate "Serial I/O support"
6	default y
7	help
8	  Say Yes here if you have any input device that uses serial I/O to
9	  communicate with the system. This includes the
10	  		* standard AT keyboard and PS/2 mouse *
11	  as well as serial mice, Sun keyboards, some joysticks and 6dof
12	  devices and more.
13
14	  If unsure, say Y.
15
16	  To compile this driver as a module, choose M here: the
17	  module will be called serio.
18
19config ARCH_MIGHT_HAVE_PC_SERIO
20	bool
21	help
22	  Select this config option from the architecture Kconfig if
23	  the architecture might use a PC serio device (i8042) to
24	  communicate with keyboard, mouse, etc.
25
26if SERIO
27
28config SERIO_I8042
29	tristate "i8042 PC Keyboard controller"
30	default y
31	depends on ARCH_MIGHT_HAVE_PC_SERIO
32	help
33	  i8042 is the chip over which the standard AT keyboard and PS/2
34	  mouse are connected to the computer. If you use these devices,
35	  you'll need to say Y here.
36
37	  If unsure, say Y.
38
39	  To compile this driver as a module, choose M here: the
40	  module will be called i8042.
41
42config SERIO_SERPORT
43	tristate "Serial port line discipline"
44	default y
45	depends on TTY
46	help
47	  Say Y here if you plan to use an input device (mouse, joystick,
48	  tablet, 6dof) that communicates over the RS232 serial (COM) port.
49
50	  More information is available: <file:Documentation/input/input.rst>
51
52	  If unsure, say Y.
53
54	  To compile this driver as a module, choose M here: the
55	  module will be called serport.
56
57config SERIO_CT82C710
58	tristate "ct82c710 Aux port controller"
59	depends on X86
60	help
61	  Say Y here if you have a Texas Instruments TravelMate notebook
62	  equipped with the ct82c710 chip and want to use a mouse connected
63	  to the "QuickPort".
64
65	  If unsure, say N.
66
67	  To compile this driver as a module, choose M here: the
68	  module will be called ct82c710.
69
70config SERIO_Q40KBD
71	tristate "Q40 keyboard controller"
72	depends on Q40
73
74config SERIO_PARKBD
75	tristate "Parallel port keyboard adapter"
76	depends on PARPORT
77	help
78	  Say Y here if you built a simple parallel port adapter to attach
79	  an additional AT keyboard, XT keyboard or PS/2 mouse.
80
81	  More information is available: <file:Documentation/input/input.rst>
82
83	  If unsure, say N.
84
85	  To compile this driver as a module, choose M here: the
86	  module will be called parkbd.
87
88config SERIO_RPCKBD
89	tristate "Acorn RiscPC keyboard controller"
90	depends on ARCH_ACORN
91	default y
92	help
93	  Say Y here if you have the Acorn RiscPC and want to use an AT
94	  keyboard connected to its keyboard controller.
95
96	  To compile this driver as a module, choose M here: the
97	  module will be called rpckbd.
98
99config SERIO_AMBAKMI
100	tristate "AMBA KMI keyboard controller"
101	depends on ARM_AMBA
102
103config SERIO_SA1111
104	tristate "Intel SA1111 keyboard controller"
105	depends on SA1111
106
107config SERIO_GSCPS2
108	tristate "HP GSC PS/2 keyboard and PS/2 mouse controller"
109	depends on GSC
110	default y
111	help
112	  This driver provides support for the PS/2 ports on PA-RISC machines
113	  over which HP PS/2 keyboards and PS/2 mice may be connected.
114	  If you use these devices, you'll need to say Y here.
115
116	  It's safe to enable this driver, so if unsure, say Y.
117
118	  To compile this driver as a module, choose M here: the
119	  module will be called gscps2.
120
121config HP_SDC
122	tristate "HP System Device Controller i8042 Support"
123	depends on (GSC || HP300) && SERIO
124	default y
125	help
126	  This option enables support for the "System Device
127	  Controller", an i8042 carrying microcode to manage a
128	  few miscellaneous devices on some Hewlett Packard systems.
129	  The SDC itself contains a 10ms resolution timer/clock capable
130	  of delivering interrupts on a periodic and one-shot basis.
131	  The SDC may also be connected to a battery-backed real-time
132	  clock, a basic audio waveform generator, and an HP-HIL Master
133	  Link Controller serving up to seven input devices.
134
135	  By itself this option is rather useless, but enabling it will
136	  enable selection of drivers for the abovementioned devices.
137	  It is, however, incompatible with the old, reliable HIL keyboard
138	  driver, and the new HIL driver is experimental, so if you plan
139	  to use a HIL keyboard as your primary keyboard, you may wish
140	  to keep using that driver until the new HIL drivers have had
141	  more testing.
142
143config HIL_MLC
144	tristate "HIL MLC Support (needed for HIL input devices)"
145	depends on HP_SDC
146
147config SERIO_PCIPS2
148	tristate "PCI PS/2 keyboard and PS/2 mouse controller"
149	depends on PCI
150	help
151	  Say Y here if you have a Mobility Docking station with PS/2
152	  keyboard and mice ports.
153
154	  To compile this driver as a module, choose M here: the
155	  module will be called pcips2.
156
157config SERIO_MACEPS2
158	tristate "SGI O2 MACE PS/2 controller"
159	depends on SGI_IP32
160	help
161	  Say Y here if you have SGI O2 workstation and want to use its
162	  PS/2 ports.
163
164	  To compile this driver as a module, choose M here: the
165	  module will be called maceps2.
166
167config SERIO_LIBPS2
168	tristate "PS/2 driver library"
169	depends on SERIO_I8042 || SERIO_I8042=n
170	help
171	  Say Y here if you are using a driver for device connected
172	  to a PS/2 port, such as PS/2 mouse or standard AT keyboard.
173
174	  To compile this driver as a module, choose M here: the
175	  module will be called libps2.
176
177config SERIO_RAW
178	tristate "Raw access to serio ports"
179	help
180	  Say Y here if you want to have raw access to serio ports, such as
181	  AUX ports on i8042 keyboard controller. Each serio port that is
182	  bound to this driver will be accessible via a char device with
183	  major 10 and dynamically allocated minor. The driver will try
184	  allocating minor 1 (that historically corresponds to /dev/psaux)
185	  first. To bind this driver to a serio port use sysfs interface:
186
187	      echo -n "serio_raw" > /sys/bus/serio/devices/serioX/drvctl
188
189	  To compile this driver as a module, choose M here: the
190	  module will be called serio_raw.
191
192config SERIO_XILINX_XPS_PS2
193	tristate "Xilinx XPS PS/2 Controller Support"
194	depends on PPC || MICROBLAZE
195	help
196	  This driver supports XPS PS/2 IP from the Xilinx EDK on
197	  PowerPC platform.
198
199	  To compile this driver as a module, choose M here: the
200	  module will be called xilinx_ps2.
201
202config SERIO_ALTERA_PS2
203	tristate "Altera UP PS/2 controller"
204	depends on HAS_IOMEM
205	help
206	  Say Y here if you have Altera University Program PS/2 ports.
207
208	  To compile this driver as a module, choose M here: the
209	  module will be called altera_ps2.
210
211config SERIO_AMS_DELTA
212	tristate "Amstrad Delta (E3) mailboard support"
213	depends on MACH_AMS_DELTA
214	default y
215	---help---
216	  Say Y here if you have an E3 and want to use its mailboard,
217	  or any standard AT keyboard connected to the mailboard port.
218
219	  When used for the E3 mailboard, a non-standard key table
220	  must be loaded from userspace, possibly using udev extras
221	  provided keymap helper utility.
222
223	  To compile this driver as a module, choose M here;
224	  the module will be called ams_delta_serio.
225
226config SERIO_PS2MULT
227	tristate "TQC PS/2 multiplexer"
228	help
229	  Say Y here if you have the PS/2 line multiplexer like the one
230	  present on TQC boards.
231
232	  To compile this driver as a module, choose M here: the
233	  module will be called ps2mult.
234
235config SERIO_ARC_PS2
236	tristate "ARC PS/2 support"
237	depends on HAS_IOMEM
238	help
239	  Say Y here if you have an ARC FPGA platform with a PS/2
240	  controller in it.
241
242	  To compile this driver as a module, choose M here; the module
243	  will be called arc_ps2.
244
245config SERIO_APBPS2
246	tristate "GRLIB APBPS2 PS/2 keyboard/mouse controller"
247	depends on OF
248	help
249	  Say Y here if you want support for GRLIB APBPS2 peripherals used
250	  to connect to PS/2 keyboard and/or mouse.
251
252	  To compile this driver as a module, choose M here: the module will
253	  be called apbps2.
254
255config SERIO_OLPC_APSP
256	tristate "OLPC AP-SP input support"
257	help
258	  Say Y here if you want support for the keyboard and touchpad included
259	  in the OLPC XO-1.75 and XO-4 laptops.
260
261	  To compile this driver as a module, choose M here: the module will
262	  be called olpc_apsp.
263
264config HYPERV_KEYBOARD
265	tristate "Microsoft Synthetic Keyboard driver"
266	depends on HYPERV
267	default HYPERV
268	help
269	  Select this option to enable the Hyper-V Keyboard driver.
270
271	  To compile this driver as a module, choose M here: the module will
272	  be called hyperv_keyboard.
273
274config SERIO_SUN4I_PS2
275	tristate "Allwinner A10 PS/2 controller support"
276	depends on ARCH_SUNXI || COMPILE_TEST
277	help
278	  This selects support for the PS/2 Host Controller on
279	  Allwinner A10.
280
281	  To compile this driver as a module, choose M here: the
282	  module will be called sun4i-ps2.
283
284config SERIO_GPIO_PS2
285	tristate "GPIO PS/2 bit banging driver"
286	depends on GPIOLIB
287	help
288	  Say Y here if you want PS/2 bit banging support via GPIO.
289
290	  To compile this driver as a module, choose M here: the
291	  module will be called ps2-gpio.
292
293	  If you are unsure, say N.
294
295config USERIO
296	tristate "User space serio port driver support"
297	help
298	  Say Y here if you want to support user level drivers for serio
299	  subsystem accessible under char device 10:240 - /dev/userio. Using
300	  this facility userspace programs can implement serio ports that
301	  will be used by the standard in-kernel serio consumer drivers,
302	  such as psmouse and atkbd.
303
304	  To compile this driver as a module, choose M here: the module will be
305	  called userio.
306
307	  If you are unsure, say N.
308
309endif
310