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