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