drm/tests: hdmi: Fix memory leaks in drm_display_mode_from_cea_vic()
[drm/drm-misc.git] / drivers / input / keyboard / Kconfig
blob721ab69e84ac6586f4f19102890a15ca3fcf1910
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         select GPIOLIB
44         select GPIOLIB_IRQCHIP
45         select INPUT_MATRIXKMAP
46         help
47           Say Y here if you want to use a ADP5588/87 attached to your
48           system I2C bus.
50           To compile this driver as a module, choose M here: the
51           module will be called adp5588-keys.
53 config KEYBOARD_ADP5589
54         tristate "ADP5585/ADP5589 I2C QWERTY Keypad and IO Expander"
55         depends on I2C
56         help
57           Say Y here if you want to use a ADP5585/ADP5589 attached to your
58           system I2C bus.
60           To compile this driver as a module, choose M here: the
61           module will be called adp5589-keys.
63 config KEYBOARD_AMIGA
64         tristate "Amiga keyboard"
65         depends on AMIGA
66         help
67           Say Y here if you are running Linux on any AMIGA and have a keyboard
68           attached.
70           To compile this driver as a module, choose M here: the
71           module will be called amikbd.
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         select INPUT_VIVALDIFMAP
110         help
111           Say Y here if you want to use a standard AT or PS/2 keyboard. Usually
112           you'll need this, unless you have a different type keyboard (USB, ADB
113           or other). This also works for AT and PS/2 keyboards connected over a
114           PS/2 to serial converter.
116           If unsure, say Y.
118           To compile this driver as a module, choose M here: the
119           module will be called atkbd.
121 config KEYBOARD_ATKBD_HP_KEYCODES
122         bool "Use HP keyboard scancodes"
123         depends on PARISC && KEYBOARD_ATKBD
124         default y
125         help
126           Say Y here if you have a PA-RISC machine and want to use an AT or
127           PS/2 keyboard, and your keyboard uses keycodes that are specific to
128           PA-RISC keyboards.
130           Say N if you use a standard keyboard.
132 config KEYBOARD_ATKBD_RDI_KEYCODES
133         bool "Use PrecisionBook keyboard scancodes"
134         depends on KEYBOARD_ATKBD_HP_KEYCODES
135         default n
136         help
137           If you have an RDI PrecisionBook, say Y here if you want to use its
138           built-in keyboard (as opposed to an external keyboard).
140           The PrecisionBook has five keys that conflict with those used by most
141           AT and PS/2 keyboards. These are as follows:
143             PrecisionBook    Standard AT or PS/2
145             F1               F12
146             Left Ctrl        Left Alt
147             Caps Lock        Left Ctrl
148             Right Ctrl       Caps Lock
149             Left             102nd key (the key to the right of Left Shift)
151           If you say N here, and use the PrecisionBook keyboard, then each key
152           in the left-hand column will be interpreted as the corresponding key
153           in the right-hand column.
155           If you say Y here, and use an external keyboard, then each key in the
156           right-hand column will be interpreted as the key shown in the
157           left-hand column.
159 config KEYBOARD_QT1050
160         tristate "Microchip AT42QT1050 Touch Sensor Chip"
161         depends on I2C
162         select REGMAP_I2C
163         help
164           Say Y here if you want to use Microchip AT42QT1050 QTouch
165           Sensor chip as input device.
167           To compile this driver as a module, choose M here:
168           the module will be called qt1050
170 config KEYBOARD_QT1070
171         tristate "Atmel AT42QT1070 Touch Sensor Chip"
172         depends on I2C
173         help
174           Say Y here if you want to use Atmel AT42QT1070 QTouch
175           Sensor chip as input device.
177           To compile this driver as a module, choose M here:
178           the module will be called qt1070
180 config KEYBOARD_QT2160
181         tristate "Atmel AT42QT2160 Touch Sensor Chip"
182         depends on I2C
183         help
184           If you say yes here you get support for Atmel AT42QT2160 Touch
185           Sensor chip as a keyboard input.
187           This driver can also be built as a module. If so, the module
188           will be called qt2160.
190 config KEYBOARD_CLPS711X
191         tristate "CLPS711X Keypad support"
192         depends on ARCH_CLPS711X || COMPILE_TEST
193         select INPUT_MATRIXKMAP
194         help
195           Say Y here to enable the matrix keypad on the Cirrus Logic
196           CLPS711X CPUs.
198           To compile this driver as a module, choose M here: the
199           module will be called clps711x-keypad.
201 config KEYBOARD_DLINK_DIR685
202         tristate "D-Link DIR-685 touchkeys support"
203         depends on I2C
204         default ARCH_GEMINI
205         help
206           If you say yes here you get support for the D-Link DIR-685
207           touchkeys.
209           To compile this driver as a module, choose M here: the
210           module will be called dlink-dir685-touchkeys.
212 config KEYBOARD_LKKBD
213         tristate "DECstation/VAXstation LK201/LK401 keyboard"
214         select SERIO
215         help
216           Say Y here if you want to use a LK201 or LK401 style serial
217           keyboard. This keyboard is also usable on PCs if you attach
218           it with the inputattach program. The connector pinout is
219           described within lkkbd.c.
221           To compile this driver as a module, choose M here: the
222           module will be called lkkbd.
224 config KEYBOARD_EP93XX
225         tristate "EP93xx Matrix Keypad support"
226         depends on ARCH_EP93XX || COMPILE_TEST
227         select INPUT_MATRIXKMAP
228         help
229           Say Y here to enable the matrix keypad on the Cirrus EP93XX.
231           To compile this driver as a module, choose M here: the
232           module will be called ep93xx_keypad.
234 config KEYBOARD_GPIO
235         tristate "GPIO Buttons"
236         depends on GPIOLIB || COMPILE_TEST
237         help
238           This driver implements support for buttons connected
239           to GPIO pins of various CPUs (and some other chips).
241           Say Y here if your device has buttons connected
242           directly to such GPIO pins.  Your board-specific
243           setup logic must also provide a platform device,
244           with configuration data saying which GPIOs are used.
246           To compile this driver as a module, choose M here: the
247           module will be called gpio_keys.
249 config KEYBOARD_GPIO_POLLED
250         tristate "Polled GPIO buttons"
251         depends on GPIOLIB
252         help
253           This driver implements support for buttons connected
254           to GPIO pins that are not capable of generating interrupts.
256           Say Y here if your device has buttons connected
257           directly to such GPIO pins.  Your board-specific
258           setup logic must also provide a platform device,
259           with configuration data saying which GPIOs are used.
261           To compile this driver as a module, choose M here: the
262           module will be called gpio_keys_polled.
264 config KEYBOARD_TCA6416
265         tristate "TCA6416/TCA6408A Keypad Support"
266         depends on I2C
267         help
268           This driver implements basic keypad functionality
269           for keys connected through TCA6416/TCA6408A IO expanders.
271           Say Y here if your device has keys connected to
272           TCA6416/TCA6408A IO expander. Your board-specific setup logic
273           must also provide pin-mask details(of which TCA6416 pins
274           are used for keypad).
276           If enabled the entire TCA6416 device will be managed through
277           this driver.
279           To compile this driver as a module, choose M here: the
280           module will be called tca6416_keypad.
282 config KEYBOARD_TCA8418
283         tristate "TCA8418 Keypad Support"
284         depends on I2C
285         select INPUT_MATRIXKMAP
286         help
287           This driver implements basic keypad functionality
288           for keys connected through TCA8418 keypad decoder.
290           Say Y here if your device has keys connected to
291           TCA8418 keypad decoder.
293           If enabled the complete TCA8418 device will be managed through
294           this driver.
296           To compile this driver as a module, choose M here: the
297           module will be called tca8418_keypad.
299 config KEYBOARD_MATRIX
300         tristate "GPIO driven matrix keypad support"
301         depends on GPIOLIB || COMPILE_TEST
302         select INPUT_MATRIXKMAP
303         help
304           Enable support for GPIO driven matrix keypad.
306           To compile this driver as a module, choose M here: the
307           module will be called matrix_keypad.
309 config KEYBOARD_HIL_OLD
310         tristate "HP HIL keyboard support (simple driver)"
311         depends on GSC || HP300
312         default y
313         help
314           The "Human Interface Loop" is a older, 8-channel USB-like
315           controller used in several Hewlett Packard models. This driver
316           was adapted from the one written for m68k/hp300, and implements
317           support for a keyboard attached to the HIL port, but not for
318           any other types of HIL input devices like mice or tablets.
319           However, it has been thoroughly tested and is stable.
321           If you want full HIL support including support for multiple
322           keyboards, mice, and tablets, you have to enable the
323           "HP System Device Controller i8042 Support" in the input/serio
324           submenu.
326 config KEYBOARD_HIL
327         tristate "HP HIL keyboard/pointer support"
328         depends on GSC || HP300
329         default y
330         select HP_SDC
331         select HIL_MLC
332         select SERIO
333         help
334           The "Human Interface Loop" is a older, 8-channel USB-like
335           controller used in several Hewlett Packard models.
336           This driver implements support for HIL-keyboards and pointing
337           devices (mice, tablets, touchscreens) attached
338           to your machine, so normally you should say Y here.
340 config KEYBOARD_HP6XX
341         tristate "HP Jornada 6xx keyboard"
342         depends on SH_HP6XX
343         help
344           Say Y here if you have a HP Jornada 620/660/680/690 and want to
345           support the built-in keyboard.
347           To compile this driver as a module, choose M here: the
348           module will be called jornada680_kbd.
350 config KEYBOARD_HP7XX
351         tristate "HP Jornada 7xx keyboard"
352         depends on SA1100_JORNADA720_SSP && SA1100_SSP
353         help
354           Say Y here if you have a HP Jornada 710/720/728 and want to
355           support the built-in keyboard.
357           To compile this driver as a module, choose M here: the
358           module will be called jornada720_kbd.
360 config KEYBOARD_LM8323
361         tristate "LM8323 keypad chip"
362         depends on I2C
363         depends on LEDS_CLASS
364         help
365           If you say yes here you get support for the National Semiconductor
366           LM8323 keypad controller.
368           To compile this driver as a module, choose M here: the
369           module will be called lm8323.
371 config KEYBOARD_LM8333
372         tristate "LM8333 keypad chip"
373         depends on I2C
374         select INPUT_MATRIXKMAP
375         help
376           If you say yes here you get support for the National Semiconductor
377           LM8333 keypad controller.
379           To compile this driver as a module, choose M here: the
380           module will be called lm8333.
382 config KEYBOARD_LOCOMO
383         tristate "LoCoMo Keyboard Support"
384         depends on SHARP_LOCOMO
385         help
386           Say Y here if you are running Linux on a Sharp Zaurus Collie or Poodle based PDA
388           To compile this driver as a module, choose M here: the
389           module will be called locomokbd.
391 config KEYBOARD_LPC32XX
392         tristate "LPC32XX matrix key scanner support"
393         depends on (ARCH_LPC32XX && OF) || COMPILE_TEST
394         select INPUT_MATRIXKMAP
395         help
396           Say Y here if you want to use NXP LPC32XX SoC key scanner interface,
397           connected to a key matrix.
399           To compile this driver as a module, choose M here: the
400           module will be called lpc32xx-keys.
402 config KEYBOARD_MAPLE
403         tristate "Maple bus keyboard"
404         depends on SH_DREAMCAST && MAPLE
405         help
406           Say Y here if you have a Dreamcast console running Linux and have
407           a keyboard attached to its Maple bus.
409           To compile this driver as a module, choose M here: the
410           module will be called maple_keyb.
412 config KEYBOARD_MAX7359
413         tristate "Maxim MAX7359 Key Switch Controller"
414         select INPUT_MATRIXKMAP
415         depends on I2C
416         help
417           If you say yes here you get support for the Maxim MAX7359 Key
418           Switch Controller chip. This providers microprocessors with
419           management of up to 64 key switches
421           To compile this driver as a module, choose M here: the
422           module will be called max7359_keypad.
424 config KEYBOARD_MPR121
425         tristate "Freescale MPR121 Touchkey"
426         depends on I2C
427         help
428           Say Y here if you have Freescale MPR121 touchkey controller
429           chip in your system.
431           If unsure, say N.
433           To compile this driver as a module, choose M here: the
434           module will be called mpr121_touchkey.
436 config KEYBOARD_SNVS_PWRKEY
437         tristate "IMX SNVS Power Key Driver"
438         depends on ARCH_MXC || (COMPILE_TEST && HAS_IOMEM)
439         depends on OF
440         help
441           This is the snvs powerkey driver for the Freescale i.MX application
442           processors.
444           To compile this driver as a module, choose M here; the
445           module will be called snvs_pwrkey.
447 config KEYBOARD_IMX
448         tristate "IMX keypad support"
449         depends on ARCH_MXC || COMPILE_TEST
450         select INPUT_MATRIXKMAP
451         help
452           Enable support for IMX keypad port.
454           To compile this driver as a module, choose M here: the
455           module will be called imx_keypad.
457 config KEYBOARD_IMX_BBM_SCMI
458         tristate "IMX BBM SCMI Key Driver"
459         depends on IMX_SCMI_BBM_EXT || COMPILE_TEST
460         default y if ARCH_MXC
461         help
462           This is the BBM key driver for NXP i.MX SoCs managed through
463           SCMI protocol.
465           To compile this driver as a module, choose M here: the
466           module will be called scmi-imx-bbm-key.
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_NSPIRE
488         tristate "TI-NSPIRE built-in keyboard"
489         depends on ARCH_NSPIRE && OF
490         select INPUT_MATRIXKMAP
491         help
492           Say Y here if you want to use the built-in keypad on TI-NSPIRE.
494           To compile this driver as a module, choose M here: the
495           module will be called nspire-keypad.
497 config KEYBOARD_TEGRA
498         tristate "NVIDIA Tegra internal matrix keyboard controller support"
499         depends on (ARCH_TEGRA && OF) || COMPILE_TEST
500         select INPUT_MATRIXKMAP
501         help
502           Say Y here if you want to use a matrix keyboard connected directly
503           to the internal keyboard controller on Tegra SoCs.
505           To compile this driver as a module, choose M here: the
506           module will be called tegra-kbc.
508 config KEYBOARD_OPENCORES
509         tristate "OpenCores Keyboard Controller"
510         depends on HAS_IOMEM
511         help
512           Say Y here if you want to use the OpenCores Keyboard Controller
513           http://www.opencores.org/project,keyboardcontroller
515           To compile this driver as a module, choose M here; the
516           module will be called opencores-kbd.
518 config KEYBOARD_PINEPHONE
519         tristate "Pine64 PinePhone Keyboard"
520         depends on I2C && REGULATOR
521         select CRC8
522         select INPUT_MATRIXKMAP
523         help
524           Say Y here to enable support for the keyboard in the Pine64 PinePhone
525           keyboard case. This driver supports the FLOSS firmware available at
526           https://megous.com/git/pinephone-keyboard/
528           To compile this driver as a module, choose M here; the
529           module will be called pinephone-keyboard.
531 config KEYBOARD_PXA27x
532         tristate "PXA27x/PXA3xx keypad support"
533         depends on PXA27x || PXA3xx || ARCH_MMP || COMPILE_TEST
534         select INPUT_MATRIXKMAP
535         help
536           Enable support for PXA27x/PXA3xx keypad controller.
538           To compile this driver as a module, choose M here: the
539           module will be called pxa27x_keypad.
541 config KEYBOARD_PMIC8XXX
542         tristate "Qualcomm PMIC8XXX keypad support"
543         depends on MFD_PM8XXX
544         select INPUT_MATRIXKMAP
545         help
546           Say Y here if you want to enable the driver for the PMIC8XXX
547           keypad provided as a reference design from Qualcomm. This is intended
548           to support up to 18x8 matrix-based keypad design.
550           To compile this driver as a module, choose M here: the module will
551           be called pmic8xxx-keypad.
553 config KEYBOARD_SAMSUNG
554         tristate "Samsung keypad support"
555         depends on HAS_IOMEM && HAVE_CLK
556         select INPUT_MATRIXKMAP
557         help
558           Say Y here if you want to use the keypad on your Samsung mobile
559           device.
561           To compile this driver as a module, choose M here: the
562           module will be called samsung-keypad.
564 config KEYBOARD_GOLDFISH_EVENTS
565         depends on GOLDFISH || COMPILE_TEST
566         tristate "Generic Input Event device for Goldfish"
567         help
568           Say Y here to get an input event device for the Goldfish virtual
569           device emulator.
571           To compile this driver as a module, choose M here: the
572           module will be called goldfish-events.
574 config KEYBOARD_STOWAWAY
575         tristate "Stowaway keyboard"
576         select SERIO
577         help
578           Say Y here if you have a Stowaway keyboard on a serial port.
579           Stowaway compatible keyboards like Dicota Input-PDA keyboard
580           are also supported by this driver.
582           To compile this driver as a module, choose M here: the
583           module will be called stowaway.
585 config KEYBOARD_ST_KEYSCAN
586         tristate "STMicroelectronics keyscan support"
587         depends on ARCH_STI || COMPILE_TEST
588         select INPUT_MATRIXKMAP
589         help
590           Say Y here if you want to use a keypad attached to the keyscan block
591           on some STMicroelectronics SoC devices.
593           To compile this driver as a module, choose M here: the
594           module will be called st-keyscan.
596 config KEYBOARD_SUNKBD
597         tristate "Sun Type 4 and Type 5 keyboard"
598         select SERIO
599         help
600           Say Y here if you want to use a Sun Type 4 or Type 5 keyboard,
601           connected either to the Sun keyboard connector or to an serial
602           (RS-232) port via a simple adapter.
604           To compile this driver as a module, choose M here: the
605           module will be called sunkbd.
607 config KEYBOARD_SH_KEYSC
608         tristate "SuperH KEYSC keypad support"
609         depends on ARCH_SHMOBILE || COMPILE_TEST
610         help
611           Say Y here if you want to use a keypad attached to the KEYSC block
612           on SuperH processors such as sh7722 and sh7343.
614           To compile this driver as a module, choose M here: the
615           module will be called sh_keysc.
617 config KEYBOARD_STMPE
618         tristate "STMPE keypad support"
619         depends on MFD_STMPE
620         depends on OF
621         select INPUT_MATRIXKMAP
622         help
623           Say Y here if you want to use the keypad controller on STMPE I/O
624           expanders.
626           To compile this driver as a module, choose M here: the module will be
627           called stmpe-keypad.
629 config KEYBOARD_SUN4I_LRADC
630         tristate "Allwinner sun4i low res adc attached tablet keys support"
631         depends on ARCH_SUNXI
632         help
633           This selects support for the Allwinner low res adc attached tablet
634           keys found on Allwinner sunxi SoCs.
636           To compile this driver as a module, choose M here: the
637           module will be called sun4i-lradc-keys.
639 config KEYBOARD_IPAQ_MICRO
640         tristate "Buttons on Micro SoC (iPaq h3100,h3600,h3700)"
641         depends on MFD_IPAQ_MICRO
642         help
643           Say Y to enable support for the buttons attached to
644           Micro peripheral controller on iPAQ h3100/h3600/h3700
646           To compile this driver as a module, choose M here: the
647           module will be called ipaq-micro-keys.
649 config KEYBOARD_IQS62X
650         tristate "Azoteq IQS620A/621/622/624/625 keys and switches"
651         depends on MFD_IQS62X
652         help
653           Say Y here to enable key and switch support for the Azoteq IQS620A,
654           IQS621, IQS622, IQS624 and IQS625 multi-function sensors.
656           To compile this driver as a module, choose M here: the module will
657           be called iqs62x-keys.
659 config KEYBOARD_OMAP
660         tristate "TI OMAP keypad support"
661         depends on ARCH_OMAP1
662         select INPUT_MATRIXKMAP
663         help
664           Say Y here if you want to use the OMAP keypad.
666           To compile this driver as a module, choose M here: the
667           module will be called omap-keypad.
669 config KEYBOARD_OMAP4
670         tristate "TI OMAP4+ keypad support"
671         depends on (OF && HAS_IOMEM) || ARCH_OMAP2PLUS
672         select INPUT_MATRIXKMAP
673         help
674           Say Y here if you want to use the OMAP4+ keypad.
676           To compile this driver as a module, choose M here: the
677           module will be called omap4-keypad.
679 config KEYBOARD_SPEAR
680         tristate "ST SPEAR keyboard support"
681         depends on PLAT_SPEAR || COMPILE_TEST
682         select INPUT_MATRIXKMAP
683         help
684           Say Y here if you want to use the SPEAR keyboard.
686           To compile this driver as a module, choose M here: the
687           module will be called spear-keyboard.
689 config KEYBOARD_TC3589X
690         tristate "TC3589X Keypad support"
691         depends on MFD_TC3589X
692         select INPUT_MATRIXKMAP
693         help
694           Say Y here if you want to use the keypad controller on
695           TC35892/3 I/O expander.
697           To compile this driver as a module, choose M here: the
698           module will be called tc3589x-keypad.
700 config KEYBOARD_TM2_TOUCHKEY
701         tristate "TM2 touchkey support"
702         depends on I2C
703         depends on LEDS_CLASS
704         help
705           Say Y here to enable device driver for tm2-touchkey with
706           LED control for the Exynos5433 TM2 board.
708           To compile this driver as a module, choose M here.
709           module will be called tm2-touchkey.
711 config KEYBOARD_TWL4030
712         tristate "TI TWL4030/TWL5030/TPS659x0 keypad support"
713         depends on TWL4030_CORE
714         select INPUT_MATRIXKMAP
715         help
716           Say Y here if your board use the keypad controller on
717           TWL4030 family chips.  It's safe to say enable this
718           even on boards that don't use the keypad controller.
720           To compile this driver as a module, choose M here: the
721           module will be called twl4030_keypad.
723 config KEYBOARD_XTKBD
724         tristate "XT keyboard"
725         select SERIO
726         help
727           Say Y here if you want to use the old IBM PC/XT keyboard (or
728           compatible) on your system. This is only possible with a
729           parallel port keyboard adapter, you cannot connect it to the
730           keyboard port on a PC that runs Linux.
732           To compile this driver as a module, choose M here: the
733           module will be called xtkbd.
735 config KEYBOARD_CROS_EC
736         tristate "ChromeOS EC keyboard"
737         select INPUT_MATRIXKMAP
738         select INPUT_VIVALDIFMAP
739         depends on CROS_EC
740         help
741           Say Y here to enable the matrix keyboard used by ChromeOS devices
742           and implemented on the ChromeOS EC. You must enable one bus option
743           (CROS_EC_I2C or CROS_EC_SPI) to use this.
745           To compile this driver as a module, choose M here: the
746           module will be called cros_ec_keyb.
748 config KEYBOARD_CAP11XX
749         tristate "Microchip CAP11XX based touch sensors"
750         depends on OF && I2C
751         select REGMAP_I2C
752         help
753           Say Y here to enable the CAP11XX touch sensor driver.
755           To compile this driver as a module, choose M here: the
756           module will be called cap11xx.
758 config KEYBOARD_BCM
759         tristate "Broadcom keypad driver"
760         depends on OF && HAVE_CLK && HAS_IOMEM
761         select INPUT_MATRIXKMAP
762         default ARCH_BCM_CYGNUS
763         help
764           Say Y here if you want to use Broadcom keypad.
766           To compile this driver as a module, choose M here: the
767           module will be called bcm-keypad.
769 config KEYBOARD_MT6779
770         tristate "MediaTek Keypad Support"
771         depends on ARCH_MEDIATEK || COMPILE_TEST
772         select REGMAP_MMIO
773         select INPUT_MATRIXKMAP
774         help
775           Say Y here if you want to use the keypad on MediaTek SoCs.
776           If unsure, say N.
778           To compile this driver as a module, choose M here: the
779           module will be called mt6779-keypad.
781 config KEYBOARD_MTK_PMIC
782         tristate "MediaTek PMIC keys support"
783         depends on MFD_MT6397 || COMPILE_TEST
784         help
785           Say Y here if you want to use the pmic keys (powerkey/homekey).
787           To compile this driver as a module, choose M here: the
788           module will be called pmic-keys.
790 config KEYBOARD_CYPRESS_SF
791         tristate "Cypress StreetFighter touchkey support"
792         depends on I2C
793         help
794           Say Y here if you want to enable support for Cypress StreetFighter
795           touchkeys.
797           To compile this driver as a module, choose M here: the
798           module will be called cypress-sf.
800 endif