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_TCA6416
266 tristate "TCA6416/TCA6408A Keypad Support"
267 depends on I2C
268 help
269 This driver implements basic keypad functionality
270 for keys connected through TCA6416/TCA6408A IO expanders.
271
272 Say Y here if your device has keys connected to
273 TCA6416/TCA6408A IO expander. Your board-specific setup logic
274 must also provide pin-mask details(of which TCA6416 pins
275 are used for keypad).
276
277 If enabled the entire TCA6416 device will be managed through
278 this driver.
279
280 To compile this driver as a module, choose M here: the
281 module will be called tca6416_keypad.
282
283config KEYBOARD_TCA8418
284 tristate "TCA8418 Keypad Support"
285 depends on I2C
286 select INPUT_MATRIXKMAP
287 help
288 This driver implements basic keypad functionality
289 for keys connected through TCA8418 keypad decoder.
290
291 Say Y here if your device has keys connected to
292 TCA8418 keypad decoder.
293
294 If enabled the complete TCA8418 device will be managed through
295 this driver.
296
297 To compile this driver as a module, choose M here: the
298 module will be called tca8418_keypad.
299
300config KEYBOARD_MATRIX
301 tristate "GPIO driven matrix keypad support"
302 depends on GPIOLIB || COMPILE_TEST
303 select INPUT_MATRIXKMAP
304 help
305 Enable support for GPIO driven matrix keypad.
306
307 To compile this driver as a module, choose M here: the
308 module will be called matrix_keypad.
309
310config KEYBOARD_HIL_OLD
311 tristate "HP HIL keyboard support (simple driver)"
312 depends on GSC || HP300
313 default y
314 help
315 The "Human Interface Loop" is a older, 8-channel USB-like
316 controller used in several Hewlett Packard models. This driver
317 was adapted from the one written for m68k/hp300, and implements
318 support for a keyboard attached to the HIL port, but not for
319 any other types of HIL input devices like mice or tablets.
320 However, it has been thoroughly tested and is stable.
321
322 If you want full HIL support including support for multiple
323 keyboards, mice, and tablets, you have to enable the
324 "HP System Device Controller i8042 Support" in the input/serio
325 submenu.
326
327config KEYBOARD_HIL
328 tristate "HP HIL keyboard/pointer support"
329 depends on GSC || HP300
330 default y
331 select HP_SDC
332 select HIL_MLC
333 select SERIO
334 help
335 The "Human Interface Loop" is a older, 8-channel USB-like
336 controller used in several Hewlett Packard models.
337 This driver implements support for HIL-keyboards and pointing
338 devices (mice, tablets, touchscreens) attached
339 to your machine, so normally you should say Y here.
340
341config KEYBOARD_HP6XX
342 tristate "HP Jornada 6xx keyboard"
343 depends on SH_HP6XX
344 help
345 Say Y here if you have a HP Jornada 620/660/680/690 and want to
346 support the built-in keyboard.
347
348 To compile this driver as a module, choose M here: the
349 module will be called jornada680_kbd.
350
351config KEYBOARD_HP7XX
352 tristate "HP Jornada 7xx keyboard"
353 depends on SA1100_JORNADA720_SSP && SA1100_SSP
354 help
355 Say Y here if you have a HP Jornada 710/720/728 and want to
356 support the built-in keyboard.
357
358 To compile this driver as a module, choose M here: the
359 module will be called jornada720_kbd.
360
361config KEYBOARD_LM8323
362 tristate "LM8323 keypad chip"
363 depends on I2C
364 depends on LEDS_CLASS
365 help
366 If you say yes here you get support for the National Semiconductor
367 LM8323 keypad controller.
368
369 To compile this driver as a module, choose M here: the
370 module will be called lm8323.
371
372config KEYBOARD_LM8333
373 tristate "LM8333 keypad chip"
374 depends on I2C
375 select INPUT_MATRIXKMAP
376 help
377 If you say yes here you get support for the National Semiconductor
378 LM8333 keypad controller.
379
380 To compile this driver as a module, choose M here: the
381 module will be called lm8333.
382
383config KEYBOARD_LOCOMO
384 tristate "LoCoMo Keyboard Support"
385 depends on SHARP_LOCOMO
386 help
387 Say Y here if you are running Linux on a Sharp Zaurus Collie or Poodle based PDA
388
389 To compile this driver as a module, choose M here: the
390 module will be called locomokbd.
391
392config KEYBOARD_LPC32XX
393 tristate "LPC32XX matrix key scanner support"
394 depends on (ARCH_LPC32XX && OF) || COMPILE_TEST
395 select INPUT_MATRIXKMAP
396 help
397 Say Y here if you want to use NXP LPC32XX SoC key scanner interface,
398 connected to a key matrix.
399
400 To compile this driver as a module, choose M here: the
401 module will be called lpc32xx-keys.
402
403config KEYBOARD_MAPLE
404 tristate "Maple bus keyboard"
405 depends on SH_DREAMCAST && MAPLE
406 help
407 Say Y here if you have a Dreamcast console running Linux and have
408 a keyboard attached to its Maple bus.
409
410 To compile this driver as a module, choose M here: the
411 module will be called maple_keyb.
412
413config KEYBOARD_MAX7359
414 tristate "Maxim MAX7359 Key Switch Controller"
415 select INPUT_MATRIXKMAP
416 depends on I2C
417 help
418 If you say yes here you get support for the Maxim MAX7359 Key
419 Switch Controller chip. This providers microprocessors with
420 management of up to 64 key switches
421
422 To compile this driver as a module, choose M here: the
423 module will be called max7359_keypad.
424
425config KEYBOARD_MPR121
426 tristate "Freescale MPR121 Touchkey"
427 depends on I2C
428 help
429 Say Y here if you have Freescale MPR121 touchkey controller
430 chip in your system.
431
432 If unsure, say N.
433
434 To compile this driver as a module, choose M here: the
435 module will be called mpr121_touchkey.
436
437config KEYBOARD_SNVS_PWRKEY
438 tristate "IMX SNVS Power Key Driver"
439 depends on ARCH_MXC || (COMPILE_TEST && HAS_IOMEM)
440 depends on OF
441 help
442 This is the snvs powerkey driver for the Freescale i.MX application
443 processors.
444
445 To compile this driver as a module, choose M here; the
446 module will be called snvs_pwrkey.
447
448config KEYBOARD_IMX
449 tristate "IMX keypad support"
450 depends on ARCH_MXC || COMPILE_TEST
451 select INPUT_MATRIXKMAP
452 help
453 Enable support for IMX keypad port.
454
455 To compile this driver as a module, choose M here: the
456 module will be called imx_keypad.
457
458config KEYBOARD_IMX_BBM_SCMI
459 tristate "IMX BBM SCMI Key Driver"
460 depends on IMX_SCMI_BBM_EXT || COMPILE_TEST
461 default y if ARCH_MXC
462 help
463 This is the BBM key driver for NXP i.MX SoCs managed through
464 SCMI protocol.
465
466 To compile this driver as a module, choose M here: the
467 module will be called scmi-imx-bbm-key.
468
469config KEYBOARD_IMX_SC_KEY
470 tristate "IMX SCU Key Driver"
471 depends on IMX_SCU
472 help
473 This is the system controller key driver for NXP i.MX SoCs with
474 system controller inside.
475
476 To compile this driver as a module, choose M here: the
477 module will be called imx_sc_key.
478
479config KEYBOARD_NEWTON
480 tristate "Newton keyboard"
481 select SERIO
482 help
483 Say Y here if you have a Newton keyboard on a serial port.
484
485 To compile this driver as a module, choose M here: the
486 module will be called newtonkbd.
487
488config KEYBOARD_NSPIRE
489 tristate "TI-NSPIRE built-in keyboard"
490 depends on ARCH_NSPIRE && OF
491 select INPUT_MATRIXKMAP
492 help
493 Say Y here if you want to use the built-in keypad on TI-NSPIRE.
494
495 To compile this driver as a module, choose M here: the
496 module will be called nspire-keypad.
497
498config KEYBOARD_TEGRA
499 tristate "NVIDIA Tegra internal matrix keyboard controller support"
500 depends on (ARCH_TEGRA && OF) || COMPILE_TEST
501 select INPUT_MATRIXKMAP
502 help
503 Say Y here if you want to use a matrix keyboard connected directly
504 to the internal keyboard controller on Tegra SoCs.
505
506 To compile this driver as a module, choose M here: the
507 module will be called tegra-kbc.
508
509config KEYBOARD_OPENCORES
510 tristate "OpenCores Keyboard Controller"
511 depends on HAS_IOMEM
512 help
513 Say Y here if you want to use the OpenCores Keyboard Controller
514 http://www.opencores.org/project,keyboardcontroller
515
516 To compile this driver as a module, choose M here; the
517 module will be called opencores-kbd.
518
519config KEYBOARD_PINEPHONE
520 tristate "Pine64 PinePhone Keyboard"
521 depends on I2C && REGULATOR
522 select CRC8
523 select INPUT_MATRIXKMAP
524 help
525 Say Y here to enable support for the keyboard in the Pine64 PinePhone
526 keyboard case. This driver supports the FLOSS firmware available at
527 https://megous.com/git/pinephone-keyboard/
528
529 To compile this driver as a module, choose M here; the
530 module will be called pinephone-keyboard.
531
532config KEYBOARD_PXA27x
533 tristate "PXA27x/PXA3xx keypad support"
534 depends on PXA27x || PXA3xx || ARCH_MMP || COMPILE_TEST
535 select INPUT_MATRIXKMAP
536 help
537 Enable support for PXA27x/PXA3xx keypad controller.
538
539 To compile this driver as a module, choose M here: the
540 module will be called pxa27x_keypad.
541
542config KEYBOARD_PMIC8XXX
543 tristate "Qualcomm PMIC8XXX keypad support"
544 depends on MFD_PM8XXX
545 select INPUT_MATRIXKMAP
546 help
547 Say Y here if you want to enable the driver for the PMIC8XXX
548 keypad provided as a reference design from Qualcomm. This is intended
549 to support up to 18x8 matrix-based keypad design.
550
551 To compile this driver as a module, choose M here: the module will
552 be called pmic8xxx-keypad.
553
554config KEYBOARD_SAMSUNG
555 tristate "Samsung keypad support"
556 depends on HAS_IOMEM && HAVE_CLK
557 select INPUT_MATRIXKMAP
558 help
559 Say Y here if you want to use the keypad on your Samsung mobile
560 device.
561
562 To compile this driver as a module, choose M here: the
563 module will be called samsung-keypad.
564
565config KEYBOARD_GOLDFISH_EVENTS
566 depends on GOLDFISH || COMPILE_TEST
567 tristate "Generic Input Event device for Goldfish"
568 help
569 Say Y here to get an input event device for the Goldfish virtual
570 device emulator.
571
572 To compile this driver as a module, choose M here: the
573 module will be called goldfish-events.
574
575config KEYBOARD_STOWAWAY
576 tristate "Stowaway keyboard"
577 select SERIO
578 help
579 Say Y here if you have a Stowaway keyboard on a serial port.
580 Stowaway compatible keyboards like Dicota Input-PDA keyboard
581 are also supported by this driver.
582
583 To compile this driver as a module, choose M here: the
584 module will be called stowaway.
585
586config KEYBOARD_ST_KEYSCAN
587 tristate "STMicroelectronics keyscan support"
588 depends on ARCH_STI || COMPILE_TEST
589 select INPUT_MATRIXKMAP
590 help
591 Say Y here if you want to use a keypad attached to the keyscan block
592 on some STMicroelectronics SoC devices.
593
594 To compile this driver as a module, choose M here: the
595 module will be called st-keyscan.
596
597config KEYBOARD_SUNKBD
598 tristate "Sun Type 4 and Type 5 keyboard"
599 select SERIO
600 help
601 Say Y here if you want to use a Sun Type 4 or Type 5 keyboard,
602 connected either to the Sun keyboard connector or to an serial
603 (RS-232) port via a simple adapter.
604
605 To compile this driver as a module, choose M here: the
606 module will be called sunkbd.
607
608config KEYBOARD_SH_KEYSC
609 tristate "SuperH KEYSC keypad support"
610 depends on ARCH_SHMOBILE || COMPILE_TEST
611 help
612 Say Y here if you want to use a keypad attached to the KEYSC block
613 on SuperH processors such as sh7722 and sh7343.
614
615 To compile this driver as a module, choose M here: the
616 module will be called sh_keysc.
617
618config KEYBOARD_STMPE
619 tristate "STMPE keypad support"
620 depends on MFD_STMPE
621 depends on OF
622 select INPUT_MATRIXKMAP
623 help
624 Say Y here if you want to use the keypad controller on STMPE I/O
625 expanders.
626
627 To compile this driver as a module, choose M here: the module will be
628 called stmpe-keypad.
629
630config KEYBOARD_SUN4I_LRADC
631 tristate "Allwinner sun4i low res adc attached tablet keys support"
632 depends on ARCH_SUNXI
633 help
634 This selects support for the Allwinner low res adc attached tablet
635 keys found on Allwinner sunxi SoCs.
636
637 To compile this driver as a module, choose M here: the
638 module will be called sun4i-lradc-keys.
639
640config KEYBOARD_IPAQ_MICRO
641 tristate "Buttons on Micro SoC (iPaq h3100,h3600,h3700)"
642 depends on MFD_IPAQ_MICRO
643 help
644 Say Y to enable support for the buttons attached to
645 Micro peripheral controller on iPAQ h3100/h3600/h3700
646
647 To compile this driver as a module, choose M here: the
648 module will be called ipaq-micro-keys.
649
650config KEYBOARD_IQS62X
651 tristate "Azoteq IQS620A/621/622/624/625 keys and switches"
652 depends on MFD_IQS62X
653 help
654 Say Y here to enable key and switch support for the Azoteq IQS620A,
655 IQS621, IQS622, IQS624 and IQS625 multi-function sensors.
656
657 To compile this driver as a module, choose M here: the module will
658 be called iqs62x-keys.
659
660config KEYBOARD_OMAP
661 tristate "TI OMAP keypad support"
662 depends on ARCH_OMAP1
663 select INPUT_MATRIXKMAP
664 help
665 Say Y here if you want to use the OMAP keypad.
666
667 To compile this driver as a module, choose M here: the
668 module will be called omap-keypad.
669
670config KEYBOARD_OMAP4
671 tristate "TI OMAP4+ keypad support"
672 depends on (OF && HAS_IOMEM) || ARCH_OMAP2PLUS
673 select INPUT_MATRIXKMAP
674 help
675 Say Y here if you want to use the OMAP4+ keypad.
676
677 To compile this driver as a module, choose M here: the
678 module will be called omap4-keypad.
679
680config KEYBOARD_SPEAR
681 tristate "ST SPEAR keyboard support"
682 depends on PLAT_SPEAR || COMPILE_TEST
683 select INPUT_MATRIXKMAP
684 help
685 Say Y here if you want to use the SPEAR keyboard.
686
687 To compile this driver as a module, choose M here: the
688 module will be called spear-keyboard.
689
690config KEYBOARD_TC3589X
691 tristate "TC3589X Keypad support"
692 depends on MFD_TC3589X
693 select INPUT_MATRIXKMAP
694 help
695 Say Y here if you want to use the keypad controller on
696 TC35892/3 I/O expander.
697
698 To compile this driver as a module, choose M here: the
699 module will be called tc3589x-keypad.
700
701config KEYBOARD_TM2_TOUCHKEY
702 tristate "TM2 touchkey support"
703 depends on I2C
704 depends on LEDS_CLASS
705 help
706 Say Y here to enable device driver for tm2-touchkey with
707 LED control for the Exynos5433 TM2 board.
708
709 To compile this driver as a module, choose M here.
710 module will be called tm2-touchkey.
711
712config KEYBOARD_TWL4030
713 tristate "TI TWL4030/TWL5030/TPS659x0 keypad support"
714 depends on TWL4030_CORE
715 select INPUT_MATRIXKMAP
716 help
717 Say Y here if your board use the keypad controller on
718 TWL4030 family chips. It's safe to say enable this
719 even on boards that don't use the keypad controller.
720
721 To compile this driver as a module, choose M here: the
722 module will be called twl4030_keypad.
723
724config KEYBOARD_XTKBD
725 tristate "XT keyboard"
726 select SERIO
727 help
728 Say Y here if you want to use the old IBM PC/XT keyboard (or
729 compatible) on your system. This is only possible with a
730 parallel port keyboard adapter, you cannot connect it to the
731 keyboard port on a PC that runs Linux.
732
733 To compile this driver as a module, choose M here: the
734 module will be called xtkbd.
735
736config KEYBOARD_CROS_EC
737 tristate "ChromeOS EC keyboard"
738 select INPUT_MATRIXKMAP
739 select INPUT_VIVALDIFMAP
740 depends on CROS_EC
741 help
742 Say Y here to enable the matrix keyboard used by ChromeOS devices
743 and implemented on the ChromeOS EC. You must enable one bus option
744 (CROS_EC_I2C or CROS_EC_SPI) to use this.
745
746 To compile this driver as a module, choose M here: the
747 module will be called cros_ec_keyb.
748
749config KEYBOARD_CAP11XX
750 tristate "Microchip CAP11XX based touch sensors"
751 depends on OF && I2C
752 select REGMAP_I2C
753 help
754 Say Y here to enable the CAP11XX touch sensor driver.
755
756 To compile this driver as a module, choose M here: the
757 module will be called cap11xx.
758
759config KEYBOARD_BCM
760 tristate "Broadcom keypad driver"
761 depends on OF && HAVE_CLK && HAS_IOMEM
762 select INPUT_MATRIXKMAP
763 default ARCH_BCM_CYGNUS
764 help
765 Say Y here if you want to use Broadcom keypad.
766
767 To compile this driver as a module, choose M here: the
768 module will be called bcm-keypad.
769
770config KEYBOARD_MT6779
771 tristate "MediaTek Keypad Support"
772 depends on ARCH_MEDIATEK || COMPILE_TEST
773 select REGMAP_MMIO
774 select INPUT_MATRIXKMAP
775 help
776 Say Y here if you want to use the keypad on MediaTek SoCs.
777 If unsure, say N.
778
779 To compile this driver as a module, choose M here: the
780 module will be called mt6779-keypad.
781
782config KEYBOARD_MTK_PMIC
783 tristate "MediaTek PMIC keys support"
784 depends on MFD_MT6397 || COMPILE_TEST
785 help
786 Say Y here if you want to use the pmic keys (powerkey/homekey).
787
788 To compile this driver as a module, choose M here: the
789 module will be called pmic-keys.
790
791config KEYBOARD_CYPRESS_SF
792 tristate "Cypress StreetFighter touchkey support"
793 depends on I2C
794 help
795 Say Y here if you want to enable support for Cypress StreetFighter
796 touchkeys.
797
798 To compile this driver as a module, choose M here: the
799 module will be called cypress-sf.
800
801endif