xref: /linux/drivers/input/keyboard/Kconfig (revision ec2e0fb07d789976c601bec19ecced7a501c3705)
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
796