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