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