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