xref: /linux/drivers/input/keyboard/Kconfig (revision f4cdf7ca9a1fdcca413157df19753f388a5a224e)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Input core configuration
4#
5menuconfig INPUT_KEYBOARD
6	bool "Keyboards"
7	default y
8	help
9	  Say Y here, and a list of supported keyboards will be displayed.
10	  This option doesn't affect the kernel.
11
12	  If unsure, say Y.
13
14if INPUT_KEYBOARD
15
16config KEYBOARD_ADC
17	tristate "ADC Ladder Buttons"
18	depends on IIO
19	help
20	  This driver implements support for buttons connected
21	  to an ADC using a resistor ladder.
22
23	  Say Y here if your device has such buttons connected to an ADC.  Your
24	  board-specific setup logic must also provide a configuration data
25	  for mapping voltages to buttons.
26
27	  To compile this driver as a module, choose M here: the
28	  module will be called adc_keys.
29
30config KEYBOARD_ADP5520
31	tristate "Keypad Support for ADP5520 PMIC"
32	depends on PMIC_ADP5520
33	help
34	  This option enables support for the keypad scan matrix
35	  on Analog Devices ADP5520 PMICs.
36
37	  To compile this driver as a module, choose M here: the module will
38	  be called adp5520-keys.
39
40config KEYBOARD_ADP5585
41	tristate "ADP558x keypad support"
42	depends on MFD_ADP5585
43	select INPUT_MATRIXKMAP
44	help
45	  This option enables support for the KEYPAD function found in the Analog
46	  Devices ADP5585 and similar devices.
47
48	  To compile this driver as a module, choose M here: the
49	  module will be called adp5585-keys.
50
51config KEYBOARD_ADP5588
52	tristate "ADP5588/87 I2C QWERTY Keypad and IO Expander"
53	depends on I2C
54	select GPIOLIB
55	select GPIOLIB_IRQCHIP
56	select INPUT_MATRIXKMAP
57	help
58	  Say Y here if you want to use a ADP5588/87 attached to your
59	  system I2C bus.
60
61	  To compile this driver as a module, choose M here: the
62	  module will be called adp5588-keys.
63
64config KEYBOARD_AMIGA
65	tristate "Amiga keyboard"
66	depends on AMIGA
67	help
68	  Say Y here if you are running Linux on any AMIGA and have a keyboard
69	  attached.
70
71	  To compile this driver as a module, choose M here: the
72	  module will be called amikbd.
73
74config KEYBOARD_APPLESPI
75	tristate "Apple SPI keyboard and trackpad"
76	depends on ACPI && EFI
77	depends on SPI
78	depends on X86 || COMPILE_TEST
79	depends on LEDS_CLASS
80	select CRC16
81	help
82	  Say Y here if you are running Linux on any Apple MacBook8,1 or later,
83	  or any MacBookPro13,* or MacBookPro14,*.
84
85	  You will also need to enable appropriate SPI master controllers:
86	  spi_pxa2xx_platform and spi_pxa2xx_pci for MacBook8,1, and
87	  spi_pxa2xx_platform and intel_lpss_pci for the rest.
88
89	  To compile this driver as a module, choose M here: the
90	  module will be called applespi.
91
92config KEYBOARD_ATARI
93	tristate "Atari keyboard"
94	depends on ATARI
95	select ATARI_KBD_CORE
96	help
97	  Say Y here if you are running Linux on any Atari and have a keyboard
98	  attached.
99
100	  To compile this driver as a module, choose M here: the
101	  module will be called atakbd.
102
103config KEYBOARD_ATKBD
104	tristate "AT keyboard"
105	default y
106	select SERIO
107	select SERIO_LIBPS2
108	select SERIO_I8042 if ARCH_MIGHT_HAVE_PC_SERIO
109	select SERIO_GSCPS2 if GSC
110	select INPUT_VIVALDIFMAP
111	help
112	  Say Y here if you want to use a standard AT or PS/2 keyboard. Usually
113	  you'll need this, unless you have a different type keyboard (USB, ADB
114	  or other). This also works for AT and PS/2 keyboards connected over a
115	  PS/2 to serial converter.
116
117	  If unsure, say Y.
118
119	  To compile this driver as a module, choose M here: the
120	  module will be called atkbd.
121
122config KEYBOARD_QT1050
123	tristate "Microchip AT42QT1050 Touch Sensor Chip"
124	depends on I2C
125	select REGMAP_I2C
126	help
127	  Say Y here if you want to use Microchip AT42QT1050 QTouch
128	  Sensor chip as input device.
129
130	  To compile this driver as a module, choose M here:
131	  the module will be called qt1050
132
133config KEYBOARD_QT1070
134	tristate "Atmel AT42QT1070 Touch Sensor Chip"
135	depends on I2C
136	help
137	  Say Y here if you want to use Atmel AT42QT1070 QTouch
138	  Sensor chip as input device.
139
140	  To compile this driver as a module, choose M here:
141	  the module will be called qt1070
142
143config KEYBOARD_QT2160
144	tristate "Atmel AT42QT2160 Touch Sensor Chip"
145	depends on I2C
146	help
147	  If you say yes here you get support for Atmel AT42QT2160 Touch
148	  Sensor chip as a keyboard input.
149
150	  This driver can also be built as a module. If so, the module
151	  will be called qt2160.
152
153config KEYBOARD_CLPS711X
154	tristate "CLPS711X Keypad support"
155	depends on ARCH_CLPS711X || COMPILE_TEST
156	select INPUT_MATRIXKMAP
157	help
158	  Say Y here to enable the matrix keypad on the Cirrus Logic
159	  CLPS711X CPUs.
160
161	  To compile this driver as a module, choose M here: the
162	  module will be called clps711x-keypad.
163
164config KEYBOARD_DLINK_DIR685
165	tristate "D-Link DIR-685 touchkeys support"
166	depends on I2C
167	default ARCH_GEMINI
168	help
169	  If you say yes here you get support for the D-Link DIR-685
170	  touchkeys.
171
172	  To compile this driver as a module, choose M here: the
173	  module will be called dlink-dir685-touchkeys.
174
175config KEYBOARD_LKKBD
176	tristate "DECstation/VAXstation LK201/LK401 keyboard"
177	select SERIO
178	help
179	  Say Y here if you want to use a LK201 or LK401 style serial
180	  keyboard. This keyboard is also usable on PCs if you attach
181	  it with the inputattach program. The connector pinout is
182	  described within lkkbd.c.
183
184	  To compile this driver as a module, choose M here: the
185	  module will be called lkkbd.
186
187config KEYBOARD_EP93XX
188	tristate "EP93xx Matrix Keypad support"
189	depends on ARCH_EP93XX || COMPILE_TEST
190	select INPUT_MATRIXKMAP
191	help
192	  Say Y here to enable the matrix keypad on the Cirrus EP93XX.
193
194	  To compile this driver as a module, choose M here: the
195	  module will be called ep93xx_keypad.
196
197config KEYBOARD_GPIO
198	tristate "GPIO Buttons"
199	depends on GPIOLIB || COMPILE_TEST
200	help
201	  This driver implements support for buttons connected
202	  to GPIO pins of various CPUs (and some other chips).
203
204	  Say Y here if your device has buttons connected
205	  directly to such GPIO pins.  Your board-specific
206	  setup logic must also provide a platform device,
207	  with configuration data saying which GPIOs are used.
208
209	  To compile this driver as a module, choose M here: the
210	  module will be called gpio_keys.
211
212config KEYBOARD_GPIO_POLLED
213	tristate "Polled GPIO buttons"
214	depends on GPIOLIB
215	help
216	  This driver implements support for buttons connected
217	  to GPIO pins that are not capable of generating interrupts.
218
219	  Say Y here if your device has buttons connected
220	  directly to such GPIO pins.  Your board-specific
221	  setup logic must also provide a platform device,
222	  with configuration data saying which GPIOs are used.
223
224	  To compile this driver as a module, choose M here: the
225	  module will be called gpio_keys_polled.
226
227config KEYBOARD_TCA8418
228	tristate "TCA8418 Keypad Support"
229	depends on I2C
230	select INPUT_MATRIXKMAP
231	help
232	  This driver implements basic keypad functionality
233	  for keys connected through TCA8418 keypad decoder.
234
235	  Say Y here if your device has keys connected to
236	  TCA8418 keypad decoder.
237
238	  If enabled the complete TCA8418 device will be managed through
239	  this driver.
240
241	  To compile this driver as a module, choose M here: the
242	  module will be called tca8418_keypad.
243
244config KEYBOARD_MATRIX
245	tristate "GPIO driven matrix keypad support"
246	depends on GPIOLIB || COMPILE_TEST
247	select INPUT_MATRIXKMAP
248	help
249	  Enable support for GPIO driven matrix keypad.
250
251	  To compile this driver as a module, choose M here: the
252	  module will be called matrix_keypad.
253
254config KEYBOARD_CHARLIEPLEX
255	tristate "GPIO driven charlieplex keypad support"
256	depends on GPIOLIB || COMPILE_TEST
257	select INPUT_MATRIXKMAP
258	help
259	  Enable support for GPIO driven charlieplex keypad. A charlieplex
260	  keypad allows to use fewer GPIO lines to interface to key switches.
261	  For example, an N lines charlieplex keypad can be used to interface
262	  to N^2-N different key switches. However, this type of keypad
263	  cannot detect more than one key press at a time.
264
265	  To compile this driver as a module, choose M here: the
266	  module will be called charlieplex_keypad.
267
268config KEYBOARD_HIL_OLD
269	tristate "HP HIL keyboard support (simple driver)"
270	depends on GSC || HP300
271	default y
272	help
273	  The "Human Interface Loop" is a older, 8-channel USB-like
274	  controller used in several Hewlett Packard models. This driver
275	  was adapted from the one written for m68k/hp300, and implements
276	  support for a keyboard attached to the HIL port, but not for
277	  any other types of HIL input devices like mice or tablets.
278	  However, it has been thoroughly tested and is stable.
279
280	  If you want full HIL support including support for multiple
281	  keyboards, mice, and tablets, you have to enable the
282	  "HP System Device Controller i8042 Support" in the input/serio
283	  submenu.
284
285config KEYBOARD_HIL
286	tristate "HP HIL keyboard/pointer support"
287	depends on GSC || HP300
288	default y
289	select HP_SDC
290	select HIL_MLC
291	select SERIO
292	help
293	  The "Human Interface Loop" is a older, 8-channel USB-like
294	  controller used in several Hewlett Packard models.
295	  This driver implements support for HIL-keyboards and pointing
296	  devices (mice, tablets, touchscreens) attached
297	  to your machine, so normally you should say Y here.
298
299config KEYBOARD_HP6XX
300	tristate "HP Jornada 6xx keyboard"
301	depends on SH_HP6XX
302	help
303	  Say Y here if you have a HP Jornada 620/660/680/690 and want to
304	  support the built-in keyboard.
305
306	  To compile this driver as a module, choose M here: the
307	  module will be called jornada680_kbd.
308
309config KEYBOARD_HP7XX
310	tristate "HP Jornada 7xx keyboard"
311	depends on SA1100_JORNADA720_SSP && SA1100_SSP
312	help
313	  Say Y here if you have a HP Jornada 710/720/728 and want to
314	  support the built-in keyboard.
315
316	  To compile this driver as a module, choose M here: the
317	  module will be called jornada720_kbd.
318
319config KEYBOARD_LM8323
320	tristate "LM8323 keypad chip"
321	depends on I2C
322	depends on LEDS_CLASS
323	help
324	  If you say yes here you get support for the National Semiconductor
325	  LM8323 keypad controller.
326
327	  To compile this driver as a module, choose M here: the
328	  module will be called lm8323.
329
330config KEYBOARD_LM8333
331	tristate "LM8333 keypad chip"
332	depends on I2C
333	select INPUT_MATRIXKMAP
334	help
335	  If you say yes here you get support for the National Semiconductor
336	  LM8333 keypad controller.
337
338	  To compile this driver as a module, choose M here: the
339	  module will be called lm8333.
340
341config KEYBOARD_LOCOMO
342	tristate "LoCoMo Keyboard Support"
343	depends on SHARP_LOCOMO
344	help
345	  Say Y here if you are running Linux on a Sharp Zaurus Collie or Poodle based PDA
346
347	  To compile this driver as a module, choose M here: the
348	  module will be called locomokbd.
349
350config KEYBOARD_LPC32XX
351	tristate "LPC32XX matrix key scanner support"
352	depends on (ARCH_LPC32XX && OF) || COMPILE_TEST
353	select INPUT_MATRIXKMAP
354	help
355	  Say Y here if you want to use NXP LPC32XX SoC key scanner interface,
356	  connected to a key matrix.
357
358	  To compile this driver as a module, choose M here: the
359	  module will be called lpc32xx-keys.
360
361config KEYBOARD_MAPLE
362	tristate "Maple bus keyboard"
363	depends on SH_DREAMCAST && MAPLE
364	help
365	  Say Y here if you have a Dreamcast console running Linux and have
366	  a keyboard attached to its Maple bus.
367
368	  To compile this driver as a module, choose M here: the
369	  module will be called maple_keyb.
370
371config KEYBOARD_MAX7359
372	tristate "Maxim MAX7359 Key Switch Controller"
373	select INPUT_MATRIXKMAP
374	depends on I2C
375	help
376	  If you say yes here you get support for the Maxim MAX7359 Key
377	  Switch Controller chip. This providers microprocessors with
378	  management of up to 64 key switches
379
380	  To compile this driver as a module, choose M here: the
381	  module will be called max7359_keypad.
382
383config KEYBOARD_MAX7360
384	tristate "Maxim MAX7360 Key Switch Controller"
385	select INPUT_MATRIXKMAP
386	depends on I2C
387	depends on MFD_MAX7360
388	help
389	  If you say yes here you get support for the keypad controller on the
390	  Maxim MAX7360 I/O Expander.
391
392	  To compile this driver as a module, choose M here: the module will be
393	  called max7360_keypad.
394
395config KEYBOARD_MPR121
396	tristate "Freescale MPR121 Touchkey"
397	depends on I2C
398	help
399	  Say Y here if you have Freescale MPR121 touchkey controller
400	  chip in your system.
401
402	  If unsure, say N.
403
404	  To compile this driver as a module, choose M here: the
405	  module will be called mpr121_touchkey.
406
407config KEYBOARD_SNVS_PWRKEY
408	tristate "IMX SNVS Power Key Driver"
409	depends on ARCH_MXC || (COMPILE_TEST && HAS_IOMEM)
410	depends on OF
411	help
412	  This is the snvs powerkey driver for the Freescale i.MX application
413	  processors.
414
415	  To compile this driver as a module, choose M here; the
416	  module will be called snvs_pwrkey.
417
418config KEYBOARD_IMX
419	tristate "IMX keypad support"
420	depends on ARCH_MXC || COMPILE_TEST
421	select INPUT_MATRIXKMAP
422	help
423	  Enable support for IMX keypad port.
424
425	  To compile this driver as a module, choose M here: the
426	  module will be called imx_keypad.
427
428config KEYBOARD_IMX_BBM_SCMI
429	tristate "IMX BBM SCMI Key Driver"
430	depends on IMX_SCMI_BBM_EXT || COMPILE_TEST
431	default y if ARCH_MXC
432	help
433	  This is the BBM key driver for NXP i.MX SoCs managed through
434	  SCMI protocol.
435
436	  To compile this driver as a module, choose M here: the
437	  module will be called scmi-imx-bbm-key.
438
439config KEYBOARD_IMX_SC_KEY
440	tristate "IMX SCU Key Driver"
441	depends on IMX_SCU
442	help
443	  This is the system controller key driver for NXP i.MX SoCs with
444	  system controller inside.
445
446	  To compile this driver as a module, choose M here: the
447	  module will be called imx_sc_key.
448
449config KEYBOARD_NEWTON
450	tristate "Newton keyboard"
451	select SERIO
452	help
453	  Say Y here if you have a Newton keyboard on a serial port.
454
455	  To compile this driver as a module, choose M here: the
456	  module will be called newtonkbd.
457
458config KEYBOARD_NSPIRE
459	tristate "TI-NSPIRE built-in keyboard"
460	depends on ARCH_NSPIRE && OF
461	select INPUT_MATRIXKMAP
462	help
463	  Say Y here if you want to use the built-in keypad on TI-NSPIRE.
464
465	  To compile this driver as a module, choose M here: the
466	  module will be called nspire-keypad.
467
468config KEYBOARD_TEGRA
469	tristate "NVIDIA Tegra internal matrix keyboard controller support"
470	depends on (ARCH_TEGRA && OF) || COMPILE_TEST
471	select INPUT_MATRIXKMAP
472	help
473	  Say Y here if you want to use a matrix keyboard connected directly
474	  to the internal keyboard controller on Tegra SoCs.
475
476	  To compile this driver as a module, choose M here: the
477	  module will be called tegra-kbc.
478
479config KEYBOARD_OPENCORES
480	tristate "OpenCores Keyboard Controller"
481	depends on HAS_IOMEM
482	help
483	  Say Y here if you want to use the OpenCores Keyboard Controller
484	  http://www.opencores.org/project,keyboardcontroller
485
486	  To compile this driver as a module, choose M here; the
487	  module will be called opencores-kbd.
488
489config KEYBOARD_PINEPHONE
490	tristate "Pine64 PinePhone Keyboard"
491	depends on I2C && REGULATOR
492	select CRC8
493	select INPUT_MATRIXKMAP
494	help
495	  Say Y here to enable support for the keyboard in the Pine64 PinePhone
496	  keyboard case. This driver supports the FLOSS firmware available at
497	  https://megous.com/git/pinephone-keyboard/
498
499	  To compile this driver as a module, choose M here; the
500	  module will be called pinephone-keyboard.
501
502config KEYBOARD_PXA27x
503	tristate "PXA27x/PXA3xx keypad support"
504	depends on PXA27x || PXA3xx || ARCH_MMP || COMPILE_TEST
505	select INPUT_MATRIXKMAP
506	help
507	  Enable support for PXA27x/PXA3xx keypad controller.
508
509	  To compile this driver as a module, choose M here: the
510	  module will be called pxa27x_keypad.
511
512config KEYBOARD_PMIC8XXX
513	tristate "Qualcomm PMIC8XXX keypad support"
514	depends on MFD_PM8XXX
515	select INPUT_MATRIXKMAP
516	help
517	  Say Y here if you want to enable the driver for the PMIC8XXX
518	  keypad provided as a reference design from Qualcomm. This is intended
519	  to support up to 18x8 matrix-based keypad design.
520
521	  To compile this driver as a module, choose M here: the module will
522	  be called pmic8xxx-keypad.
523
524config KEYBOARD_SAMSUNG
525	tristate "Samsung keypad support"
526	depends on HAS_IOMEM && HAVE_CLK
527	select INPUT_MATRIXKMAP
528	help
529	  Say Y here if you want to use the keypad on your Samsung mobile
530	  device.
531
532	  To compile this driver as a module, choose M here: the
533	  module will be called samsung-keypad.
534
535config KEYBOARD_GOLDFISH_EVENTS
536	depends on GOLDFISH || COMPILE_TEST
537	tristate "Generic Input Event device for Goldfish"
538	help
539	  Say Y here to get an input event device for the Goldfish virtual
540	  device emulator.
541
542	  To compile this driver as a module, choose M here: the
543	  module will be called goldfish-events.
544
545config KEYBOARD_STOWAWAY
546	tristate "Stowaway keyboard"
547	select SERIO
548	help
549	  Say Y here if you have a Stowaway keyboard on a serial port.
550	  Stowaway compatible keyboards like Dicota Input-PDA keyboard
551	  are also supported by this driver.
552
553	  To compile this driver as a module, choose M here: the
554	  module will be called stowaway.
555
556config KEYBOARD_ST_KEYSCAN
557	tristate "STMicroelectronics keyscan support"
558	depends on ARCH_STI || COMPILE_TEST
559	select INPUT_MATRIXKMAP
560	help
561	  Say Y here if you want to use a keypad attached to the keyscan block
562	  on some STMicroelectronics SoC devices.
563
564	  To compile this driver as a module, choose M here: the
565	  module will be called st-keyscan.
566
567config KEYBOARD_SUNKBD
568	tristate "Sun Type 4 and Type 5 keyboard"
569	select SERIO
570	help
571	  Say Y here if you want to use a Sun Type 4 or Type 5 keyboard,
572	  connected either to the Sun keyboard connector or to an serial
573	  (RS-232) port via a simple adapter.
574
575	  To compile this driver as a module, choose M here: the
576	  module will be called sunkbd.
577
578config KEYBOARD_SH_KEYSC
579	tristate "SuperH KEYSC keypad support"
580	depends on ARCH_SHMOBILE || COMPILE_TEST
581	help
582	  Say Y here if you want to use a keypad attached to the KEYSC block
583	  on SuperH processors such as sh7722 and sh7343.
584
585	  To compile this driver as a module, choose M here: the
586	  module will be called sh_keysc.
587
588config KEYBOARD_STMPE
589	tristate "STMPE keypad support"
590	depends on MFD_STMPE
591	depends on OF
592	select INPUT_MATRIXKMAP
593	help
594	  Say Y here if you want to use the keypad controller on STMPE I/O
595	  expanders.
596
597	  To compile this driver as a module, choose M here: the module will be
598	  called stmpe-keypad.
599
600config KEYBOARD_SUN4I_LRADC
601	tristate "Allwinner sun4i low res adc attached tablet keys support"
602	depends on ARCH_SUNXI
603	help
604	  This selects support for the Allwinner low res adc attached tablet
605	  keys found on Allwinner sunxi SoCs.
606
607	  To compile this driver as a module, choose M here: the
608	  module will be called sun4i-lradc-keys.
609
610config KEYBOARD_IPAQ_MICRO
611	tristate "Buttons on Micro SoC (iPaq h3100,h3600,h3700)"
612	depends on MFD_IPAQ_MICRO
613	help
614	  Say Y to enable support for the buttons attached to
615	  Micro peripheral controller on iPAQ h3100/h3600/h3700
616
617	  To compile this driver as a module, choose M here: the
618	  module will be called ipaq-micro-keys.
619
620config KEYBOARD_IQS62X
621	tristate "Azoteq IQS620A/621/622/624/625 keys and switches"
622	depends on MFD_IQS62X
623	help
624	  Say Y here to enable key and switch support for the Azoteq IQS620A,
625	  IQS621, IQS622, IQS624 and IQS625 multi-function sensors.
626
627	  To compile this driver as a module, choose M here: the module will
628	  be called iqs62x-keys.
629
630config KEYBOARD_OMAP
631	tristate "TI OMAP keypad support"
632	depends on ARCH_OMAP1
633	select INPUT_MATRIXKMAP
634	help
635	  Say Y here if you want to use the OMAP keypad.
636
637	  To compile this driver as a module, choose M here: the
638	  module will be called omap-keypad.
639
640config KEYBOARD_OMAP4
641	tristate "TI OMAP4+ keypad support"
642	depends on (OF && HAS_IOMEM) || ARCH_OMAP2PLUS
643	select INPUT_MATRIXKMAP
644	help
645	  Say Y here if you want to use the OMAP4+ keypad.
646
647	  To compile this driver as a module, choose M here: the
648	  module will be called omap4-keypad.
649
650config KEYBOARD_SPEAR
651	tristate "ST SPEAR keyboard support"
652	depends on PLAT_SPEAR || COMPILE_TEST
653	select INPUT_MATRIXKMAP
654	help
655	  Say Y here if you want to use the SPEAR keyboard.
656
657	  To compile this driver as a module, choose M here: the
658	  module will be called spear-keyboard.
659
660config KEYBOARD_TC3589X
661	tristate "TC3589X Keypad support"
662	depends on MFD_TC3589X
663	select INPUT_MATRIXKMAP
664	help
665	  Say Y here if you want to use the keypad controller on
666	  TC35892/3 I/O expander.
667
668	  To compile this driver as a module, choose M here: the
669	  module will be called tc3589x-keypad.
670
671config KEYBOARD_TM2_TOUCHKEY
672	tristate "TM2 touchkey support"
673	depends on I2C
674	depends on LEDS_CLASS
675	help
676	  Say Y here to enable device driver for tm2-touchkey with
677	  LED control for the Exynos5433 TM2 board.
678
679	  To compile this driver as a module, choose M here.
680	  module will be called tm2-touchkey.
681
682config KEYBOARD_TWL4030
683	tristate "TI TWL4030/TWL5030/TPS659x0 keypad support"
684	depends on TWL4030_CORE
685	select INPUT_MATRIXKMAP
686	help
687	  Say Y here if your board use the keypad controller on
688	  TWL4030 family chips.  It's safe to say enable this
689	  even on boards that don't use the keypad controller.
690
691	  To compile this driver as a module, choose M here: the
692	  module will be called twl4030_keypad.
693
694config KEYBOARD_XTKBD
695	tristate "XT keyboard"
696	select SERIO
697	help
698	  Say Y here if you want to use the old IBM PC/XT keyboard (or
699	  compatible) on your system. This is only possible with a
700	  parallel port keyboard adapter, you cannot connect it to the
701	  keyboard port on a PC that runs Linux.
702
703	  To compile this driver as a module, choose M here: the
704	  module will be called xtkbd.
705
706config KEYBOARD_CROS_EC
707	tristate "ChromeOS EC keyboard"
708	select INPUT_MATRIXKMAP
709	select INPUT_VIVALDIFMAP
710	depends on CROS_EC
711	help
712	  Say Y here to enable the matrix keyboard used by ChromeOS devices
713	  and implemented on the ChromeOS EC. You must enable one bus option
714	  (CROS_EC_I2C or CROS_EC_SPI) to use this.
715
716	  To compile this driver as a module, choose M here: the
717	  module will be called cros_ec_keyb.
718
719config KEYBOARD_CAP11XX
720	tristate "Microchip CAP11XX based touch sensors"
721	depends on OF && I2C
722	select REGMAP_I2C
723	help
724	  Say Y here to enable the CAP11XX touch sensor driver.
725
726	  To compile this driver as a module, choose M here: the
727	  module will be called cap11xx.
728
729config KEYBOARD_BCM
730	tristate "Broadcom keypad driver"
731	depends on OF && HAVE_CLK && HAS_IOMEM
732	select INPUT_MATRIXKMAP
733	default ARCH_BCM_CYGNUS
734	help
735	  Say Y here if you want to use Broadcom keypad.
736
737	  To compile this driver as a module, choose M here: the
738	  module will be called bcm-keypad.
739
740config KEYBOARD_MT6779
741	tristate "MediaTek Keypad Support"
742	depends on ARCH_MEDIATEK || COMPILE_TEST
743	select REGMAP_MMIO
744	select INPUT_MATRIXKMAP
745	help
746	  Say Y here if you want to use the keypad on MediaTek SoCs.
747	  If unsure, say N.
748
749	  To compile this driver as a module, choose M here: the
750	  module will be called mt6779-keypad.
751
752config KEYBOARD_MTK_PMIC
753	tristate "MediaTek PMIC keys support"
754	depends on MFD_MT6397 || COMPILE_TEST
755	help
756	  Say Y here if you want to use the pmic keys (powerkey/homekey).
757
758	  To compile this driver as a module, choose M here: the
759	  module will be called pmic-keys.
760
761config KEYBOARD_CYPRESS_SF
762	tristate "Cypress StreetFighter touchkey support"
763	depends on I2C
764	help
765	  Say Y here if you want to enable support for Cypress StreetFighter
766	  touchkeys.
767
768	  To compile this driver as a module, choose M here: the
769	  module will be called cypress-sf.
770
771endif
772