1# 2# Input core configuration 3# 4menuconfig INPUT_KEYBOARD 5 bool "Keyboards" if EXPERT || !X86 6 default y 7 help 8 Say Y here, and a list of supported keyboards will be displayed. 9 This option doesn't affect the kernel. 10 11 If unsure, say Y. 12 13if INPUT_KEYBOARD 14 15config KEYBOARD_ADP5520 16 tristate "Keypad Support for ADP5520 PMIC" 17 depends on PMIC_ADP5520 18 help 19 This option enables support for the keypad scan matrix 20 on Analog Devices ADP5520 PMICs. 21 22 To compile this driver as a module, choose M here: the module will 23 be called adp5520-keys. 24 25config KEYBOARD_ADP5588 26 tristate "ADP5588/87 I2C QWERTY Keypad and IO Expander" 27 depends on I2C 28 help 29 Say Y here if you want to use a ADP5588/87 attached to your 30 system I2C bus. 31 32 To compile this driver as a module, choose M here: the 33 module will be called adp5588-keys. 34 35config KEYBOARD_ADP5589 36 tristate "ADP5585/ADP5589 I2C QWERTY Keypad and IO Expander" 37 depends on I2C 38 help 39 Say Y here if you want to use a ADP5585/ADP5589 attached to your 40 system I2C bus. 41 42 To compile this driver as a module, choose M here: the 43 module will be called adp5589-keys. 44 45config KEYBOARD_AMIGA 46 tristate "Amiga keyboard" 47 depends on AMIGA 48 help 49 Say Y here if you are running Linux on any AMIGA and have a keyboard 50 attached. 51 52 To compile this driver as a module, choose M here: the 53 module will be called amikbd. 54 55config ATARI_KBD_CORE 56 bool 57 58config KEYBOARD_ATARI 59 tristate "Atari keyboard" 60 depends on ATARI 61 select ATARI_KBD_CORE 62 help 63 Say Y here if you are running Linux on any Atari and have a keyboard 64 attached. 65 66 To compile this driver as a module, choose M here: the 67 module will be called atakbd. 68 69config KEYBOARD_ATKBD 70 tristate "AT keyboard" if EXPERT || !X86 71 default y 72 depends on TTY 73 select SERIO 74 select SERIO_LIBPS2 75 select SERIO_I8042 if X86 76 select SERIO_GSCPS2 if GSC 77 help 78 Say Y here if you want to use a standard AT or PS/2 keyboard. Usually 79 you'll need this, unless you have a different type keyboard (USB, ADB 80 or other). This also works for AT and PS/2 keyboards connected over a 81 PS/2 to serial converter. 82 83 If unsure, say Y. 84 85 To compile this driver as a module, choose M here: the 86 module will be called atkbd. 87 88config KEYBOARD_ATKBD_HP_KEYCODES 89 bool "Use HP keyboard scancodes" 90 depends on PARISC && KEYBOARD_ATKBD 91 default y 92 help 93 Say Y here if you have a PA-RISC machine and want to use an AT or 94 PS/2 keyboard, and your keyboard uses keycodes that are specific to 95 PA-RISC keyboards. 96 97 Say N if you use a standard keyboard. 98 99config KEYBOARD_ATKBD_RDI_KEYCODES 100 bool "Use PrecisionBook keyboard scancodes" 101 depends on KEYBOARD_ATKBD_HP_KEYCODES 102 default n 103 help 104 If you have an RDI PrecisionBook, say Y here if you want to use its 105 built-in keyboard (as opposed to an external keyboard). 106 107 The PrecisionBook has five keys that conflict with those used by most 108 AT and PS/2 keyboards. These are as follows: 109 110 PrecisionBook Standard AT or PS/2 111 112 F1 F12 113 Left Ctrl Left Alt 114 Caps Lock Left Ctrl 115 Right Ctrl Caps Lock 116 Left 102nd key (the key to the right of Left Shift) 117 118 If you say N here, and use the PrecisionBook keyboard, then each key 119 in the left-hand column will be interpreted as the corresponding key 120 in the right-hand column. 121 122 If you say Y here, and use an external keyboard, then each key in the 123 right-hand column will be interpreted as the key shown in the 124 left-hand column. 125 126config KEYBOARD_QT1070 127 tristate "Atmel AT42QT1070 Touch Sensor Chip" 128 depends on I2C 129 help 130 Say Y here if you want to use Atmel AT42QT1070 QTouch 131 Sensor chip as input device. 132 133 To compile this driver as a module, choose M here: 134 the module will be called qt1070 135 136config KEYBOARD_QT2160 137 tristate "Atmel AT42QT2160 Touch Sensor Chip" 138 depends on I2C 139 help 140 If you say yes here you get support for Atmel AT42QT2160 Touch 141 Sensor chip as a keyboard input. 142 143 This driver can also be built as a module. If so, the module 144 will be called qt2160. 145 146config KEYBOARD_BFIN 147 tristate "Blackfin BF54x keypad support" 148 depends on (BF54x && !BF544) 149 help 150 Say Y here if you want to use the BF54x keypad. 151 152 To compile this driver as a module, choose M here: the 153 module will be called bf54x-keys. 154 155config KEYBOARD_LKKBD 156 tristate "DECstation/VAXstation LK201/LK401 keyboard" 157 depends on TTY 158 select SERIO 159 help 160 Say Y here if you want to use a LK201 or LK401 style serial 161 keyboard. This keyboard is also useable on PCs if you attach 162 it with the inputattach program. The connector pinout is 163 described within lkkbd.c. 164 165 To compile this driver as a module, choose M here: the 166 module will be called lkkbd. 167 168config KEYBOARD_EP93XX 169 tristate "EP93xx Matrix Keypad support" 170 depends on ARCH_EP93XX 171 select INPUT_MATRIXKMAP 172 help 173 Say Y here to enable the matrix keypad on the Cirrus EP93XX. 174 175 To compile this driver as a module, choose M here: the 176 module will be called ep93xx_keypad. 177 178config KEYBOARD_GPIO 179 tristate "GPIO Buttons" 180 depends on GENERIC_GPIO 181 help 182 This driver implements support for buttons connected 183 to GPIO pins of various CPUs (and some other chips). 184 185 Say Y here if your device has buttons connected 186 directly to such GPIO pins. Your board-specific 187 setup logic must also provide a platform device, 188 with configuration data saying which GPIOs are used. 189 190 To compile this driver as a module, choose M here: the 191 module will be called gpio_keys. 192 193config KEYBOARD_GPIO_POLLED 194 tristate "Polled GPIO buttons" 195 depends on GENERIC_GPIO 196 select INPUT_POLLDEV 197 help 198 This driver implements support for buttons connected 199 to GPIO pins that are not capable of generating interrupts. 200 201 Say Y here if your device has buttons connected 202 directly to such GPIO pins. Your board-specific 203 setup logic must also provide a platform device, 204 with configuration data saying which GPIOs are used. 205 206 To compile this driver as a module, choose M here: the 207 module will be called gpio_keys_polled. 208 209config KEYBOARD_TCA6416 210 tristate "TCA6416/TCA6408A Keypad Support" 211 depends on I2C 212 help 213 This driver implements basic keypad functionality 214 for keys connected through TCA6416/TCA6408A IO expanders. 215 216 Say Y here if your device has keys connected to 217 TCA6416/TCA6408A IO expander. Your board-specific setup logic 218 must also provide pin-mask details(of which TCA6416 pins 219 are used for keypad). 220 221 If enabled the entire TCA6416 device will be managed through 222 this driver. 223 224 To compile this driver as a module, choose M here: the 225 module will be called tca6416_keypad. 226 227config KEYBOARD_TCA8418 228 tristate "TCA8418 Keypad Support" 229 depends on I2C 230 select INPUT_MATRIXKMAP 231 help 232 This driver implements basic keypad functionality 233 for keys connected through TCA8418 keypad decoder. 234 235 Say Y here if your device has keys connected to 236 TCA8418 keypad decoder. 237 238 If enabled the complete TCA8418 device will be managed through 239 this driver. 240 241 To compile this driver as a module, choose M here: the 242 module will be called tca8418_keypad. 243 244config KEYBOARD_MATRIX 245 tristate "GPIO driven matrix keypad support" 246 depends on GENERIC_GPIO 247 select INPUT_MATRIXKMAP 248 help 249 Enable support for GPIO driven matrix keypad. 250 251 To compile this driver as a module, choose M here: the 252 module will be called matrix_keypad. 253 254config KEYBOARD_HIL_OLD 255 tristate "HP HIL keyboard support (simple driver)" 256 depends on GSC || HP300 257 default y 258 help 259 The "Human Interface Loop" is a older, 8-channel USB-like 260 controller used in several Hewlett Packard models. This driver 261 was adapted from the one written for m68k/hp300, and implements 262 support for a keyboard attached to the HIL port, but not for 263 any other types of HIL input devices like mice or tablets. 264 However, it has been thoroughly tested and is stable. 265 266 If you want full HIL support including support for multiple 267 keyboards, mice, and tablets, you have to enable the 268 "HP System Device Controller i8042 Support" in the input/serio 269 submenu. 270 271config KEYBOARD_HIL 272 tristate "HP HIL keyboard/pointer support" 273 depends on (GSC || HP300) && TTY 274 default y 275 select HP_SDC 276 select HIL_MLC 277 select SERIO 278 help 279 The "Human Interface Loop" is a older, 8-channel USB-like 280 controller used in several Hewlett Packard models. 281 This driver implements support for HIL-keyboards and pointing 282 devices (mice, tablets, touchscreens) attached 283 to your machine, so normally you should say Y here. 284 285config KEYBOARD_HP6XX 286 tristate "HP Jornada 6xx keyboard" 287 depends on SH_HP6XX 288 select INPUT_POLLDEV 289 help 290 Say Y here if you have a HP Jornada 620/660/680/690 and want to 291 support the built-in keyboard. 292 293 To compile this driver as a module, choose M here: the 294 module will be called jornada680_kbd. 295 296config KEYBOARD_HP7XX 297 tristate "HP Jornada 7xx keyboard" 298 depends on SA1100_JORNADA720_SSP && SA1100_SSP 299 help 300 Say Y here if you have a HP Jornada 710/720/728 and want to 301 support the built-in keyboard. 302 303 To compile this driver as a module, choose M here: the 304 module will be called jornada720_kbd. 305 306config KEYBOARD_LM8323 307 tristate "LM8323 keypad chip" 308 depends on I2C 309 depends on LEDS_CLASS 310 help 311 If you say yes here you get support for the National Semiconductor 312 LM8323 keypad controller. 313 314 To compile this driver as a module, choose M here: the 315 module will be called lm8323. 316 317config KEYBOARD_LM8333 318 tristate "LM8333 keypad chip" 319 depends on I2C 320 select INPUT_MATRIXKMAP 321 help 322 If you say yes here you get support for the National Semiconductor 323 LM8333 keypad controller. 324 325 To compile this driver as a module, choose M here: the 326 module will be called lm8333. 327 328config KEYBOARD_LOCOMO 329 tristate "LoCoMo Keyboard Support" 330 depends on SHARP_LOCOMO 331 help 332 Say Y here if you are running Linux on a Sharp Zaurus Collie or Poodle based PDA 333 334 To compile this driver as a module, choose M here: the 335 module will be called locomokbd. 336 337config KEYBOARD_LPC32XX 338 tristate "LPC32XX matrix key scanner support" 339 depends on ARCH_LPC32XX && OF 340 select INPUT_MATRIXKMAP 341 help 342 Say Y here if you want to use NXP LPC32XX SoC key scanner interface, 343 connected to a key matrix. 344 345 To compile this driver as a module, choose M here: the 346 module will be called lpc32xx-keys. 347 348config KEYBOARD_MAPLE 349 tristate "Maple bus keyboard" 350 depends on SH_DREAMCAST && MAPLE 351 help 352 Say Y here if you have a Dreamcast console running Linux and have 353 a keyboard attached to its Maple bus. 354 355 To compile this driver as a module, choose M here: the 356 module will be called maple_keyb. 357 358config KEYBOARD_MAX7359 359 tristate "Maxim MAX7359 Key Switch Controller" 360 depends on I2C 361 help 362 If you say yes here you get support for the Maxim MAX7359 Key 363 Switch Controller chip. This providers microprocessors with 364 management of up to 64 key switches 365 366 To compile this driver as a module, choose M here: the 367 module will be called max7359_keypad. 368 369config KEYBOARD_MCS 370 tristate "MELFAS MCS Touchkey" 371 depends on I2C 372 help 373 Say Y here if you have the MELFAS MCS5000/5080 touchkey controller 374 chip in your system. 375 376 If unsure, say N. 377 378 To compile this driver as a module, choose M here: the 379 module will be called mcs_touchkey. 380 381config KEYBOARD_MPR121 382 tristate "Freescale MPR121 Touchkey" 383 depends on I2C 384 help 385 Say Y here if you have Freescale MPR121 touchkey controller 386 chip in your system. 387 388 If unsure, say N. 389 390 To compile this driver as a module, choose M here: the 391 module will be called mpr121_touchkey. 392 393config KEYBOARD_IMX 394 tristate "IMX keypad support" 395 depends on ARCH_MXC 396 select INPUT_MATRIXKMAP 397 help 398 Enable support for IMX keypad port. 399 400 To compile this driver as a module, choose M here: the 401 module will be called imx_keypad. 402 403config KEYBOARD_NEWTON 404 tristate "Newton keyboard" 405 depends on TTY 406 select SERIO 407 help 408 Say Y here if you have a Newton keyboard on a serial port. 409 410 To compile this driver as a module, choose M here: the 411 module will be called newtonkbd. 412 413config KEYBOARD_NOMADIK 414 tristate "ST-Ericsson Nomadik SKE keyboard" 415 depends on (ARCH_NOMADIK || ARCH_U8500) 416 select INPUT_MATRIXKMAP 417 help 418 Say Y here if you want to use a keypad provided on the SKE controller 419 used on the Ux500 and Nomadik platforms 420 421 To compile this driver as a module, choose M here: the 422 module will be called nmk-ske-keypad. 423 424config KEYBOARD_TEGRA 425 tristate "NVIDIA Tegra internal matrix keyboard controller support" 426 depends on ARCH_TEGRA 427 select INPUT_MATRIXKMAP 428 help 429 Say Y here if you want to use a matrix keyboard connected directly 430 to the internal keyboard controller on Tegra SoCs. 431 432 To compile this driver as a module, choose M here: the 433 module will be called tegra-kbc. 434 435config KEYBOARD_OPENCORES 436 tristate "OpenCores Keyboard Controller" 437 help 438 Say Y here if you want to use the OpenCores Keyboard Controller 439 http://www.opencores.org/project,keyboardcontroller 440 441 To compile this driver as a module, choose M here; the 442 module will be called opencores-kbd. 443 444config KEYBOARD_PXA27x 445 tristate "PXA27x/PXA3xx keypad support" 446 depends on PXA27x || PXA3xx || ARCH_MMP 447 help 448 Enable support for PXA27x/PXA3xx keypad controller. 449 450 To compile this driver as a module, choose M here: the 451 module will be called pxa27x_keypad. 452 453config KEYBOARD_PXA930_ROTARY 454 tristate "PXA930/PXA935 Enhanced Rotary Controller Support" 455 depends on CPU_PXA930 || CPU_PXA935 456 help 457 Enable support for PXA930/PXA935 Enhanced Rotary Controller. 458 459 To compile this driver as a module, choose M here: the 460 module will be called pxa930_rotary. 461 462config KEYBOARD_PMIC8XXX 463 tristate "Qualcomm PMIC8XXX keypad support" 464 depends on MFD_PM8XXX 465 select INPUT_MATRIXKMAP 466 help 467 Say Y here if you want to enable the driver for the PMIC8XXX 468 keypad provided as a reference design from Qualcomm. This is intended 469 to support upto 18x8 matrix based keypad design. 470 471 To compile this driver as a module, choose M here: the module will 472 be called pmic8xxx-keypad. 473 474config KEYBOARD_SAMSUNG 475 tristate "Samsung keypad support" 476 depends on HAVE_CLK 477 select INPUT_MATRIXKMAP 478 help 479 Say Y here if you want to use the keypad on your Samsung mobile 480 device. 481 482 To compile this driver as a module, choose M here: the 483 module will be called samsung-keypad. 484 485if TTY 486 487config KEYBOARD_STOWAWAY 488 tristate "Stowaway keyboard" 489 select SERIO 490 help 491 Say Y here if you have a Stowaway keyboard on a serial port. 492 Stowaway compatible keyboards like Dicota Input-PDA keyboard 493 are also supported by this driver. 494 495 To compile this driver as a module, choose M here: the 496 module will be called stowaway. 497 498config KEYBOARD_SUNKBD 499 tristate "Sun Type 4 and Type 5 keyboard" 500 select SERIO 501 help 502 Say Y here if you want to use a Sun Type 4 or Type 5 keyboard, 503 connected either to the Sun keyboard connector or to an serial 504 (RS-232) port via a simple adapter. 505 506 To compile this driver as a module, choose M here: the 507 module will be called sunkbd. 508 509endif # TTY 510 511config KEYBOARD_SH_KEYSC 512 tristate "SuperH KEYSC keypad support" 513 depends on SUPERH || ARCH_SHMOBILE 514 help 515 Say Y here if you want to use a keypad attached to the KEYSC block 516 on SuperH processors such as sh7722 and sh7343. 517 518 To compile this driver as a module, choose M here: the 519 module will be called sh_keysc. 520 521config KEYBOARD_STMPE 522 tristate "STMPE keypad support" 523 depends on MFD_STMPE 524 select INPUT_MATRIXKMAP 525 help 526 Say Y here if you want to use the keypad controller on STMPE I/O 527 expanders. 528 529 To compile this driver as a module, choose M here: the module will be 530 called stmpe-keypad. 531 532config KEYBOARD_DAVINCI 533 tristate "TI DaVinci Key Scan" 534 depends on ARCH_DAVINCI_DM365 535 help 536 Say Y to enable keypad module support for the TI DaVinci 537 platforms (DM365). 538 539 To compile this driver as a module, choose M here: the 540 module will be called davinci_keyscan. 541 542config KEYBOARD_OMAP 543 tristate "TI OMAP keypad support" 544 depends on ARCH_OMAP1 545 select INPUT_MATRIXKMAP 546 help 547 Say Y here if you want to use the OMAP keypad. 548 549 To compile this driver as a module, choose M here: the 550 module will be called omap-keypad. 551 552config KEYBOARD_OMAP4 553 tristate "TI OMAP4+ keypad support" 554 depends on ARCH_OMAP2PLUS 555 select INPUT_MATRIXKMAP 556 help 557 Say Y here if you want to use the OMAP4+ keypad. 558 559 To compile this driver as a module, choose M here: the 560 module will be called omap4-keypad. 561 562config KEYBOARD_SPEAR 563 tristate "ST SPEAR keyboard support" 564 depends on PLAT_SPEAR 565 select INPUT_MATRIXKMAP 566 help 567 Say Y here if you want to use the SPEAR keyboard. 568 569 To compile this driver as a module, choose M here: the 570 module will be called spear-keboard. 571 572config KEYBOARD_TC3589X 573 tristate "TC3589X Keypad support" 574 depends on MFD_TC3589X 575 select INPUT_MATRIXKMAP 576 help 577 Say Y here if you want to use the keypad controller on 578 TC35892/3 I/O expander. 579 580 To compile this driver as a module, choose M here: the 581 module will be called tc3589x-keypad. 582 583config KEYBOARD_TNETV107X 584 tristate "TI TNETV107X keypad support" 585 depends on ARCH_DAVINCI_TNETV107X 586 select INPUT_MATRIXKMAP 587 help 588 Say Y here if you want to use the TNETV107X keypad. 589 590 To compile this driver as a module, choose M here: the 591 module will be called tnetv107x-keypad. 592 593config KEYBOARD_TWL4030 594 tristate "TI TWL4030/TWL5030/TPS659x0 keypad support" 595 depends on TWL4030_CORE 596 select INPUT_MATRIXKMAP 597 help 598 Say Y here if your board use the keypad controller on 599 TWL4030 family chips. It's safe to say enable this 600 even on boards that don't use the keypad controller. 601 602 To compile this driver as a module, choose M here: the 603 module will be called twl4030_keypad. 604 605config KEYBOARD_XTKBD 606 tristate "XT keyboard" 607 depends on TTY 608 select SERIO 609 help 610 Say Y here if you want to use the old IBM PC/XT keyboard (or 611 compatible) on your system. This is only possible with a 612 parallel port keyboard adapter, you cannot connect it to the 613 keyboard port on a PC that runs Linux. 614 615 To compile this driver as a module, choose M here: the 616 module will be called xtkbd. 617 618config KEYBOARD_W90P910 619 tristate "W90P910 Matrix Keypad support" 620 depends on ARCH_W90X900 621 select INPUT_MATRIXKMAP 622 help 623 Say Y here to enable the matrix keypad on evaluation board 624 based on W90P910. 625 626 To compile this driver as a module, choose M here: the 627 module will be called w90p910_keypad. 628 629endif 630