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