linux/drivers/input/keyboard/Kconfig
<<
>>
Prefs
   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
 791endif
 792