1# SPDX-License-Identifier: GPL-2.0-only 2# 3# X86 Platform Specific Drivers 4# 5 6menuconfig X86_PLATFORM_DEVICES 7 bool "X86 Platform Specific Device Drivers" 8 default y 9 depends on X86 10 help 11 Say Y here to get to see options for device drivers for various 12 x86 platforms, including vendor-specific laptop extension drivers. 13 This option alone does not add any kernel code. 14 15 If you say N, all options in this submenu will be skipped and disabled. 16 17if X86_PLATFORM_DEVICES 18 19config ACPI_WMI 20 tristate "WMI" 21 depends on ACPI 22 help 23 This driver adds support for the ACPI-WMI (Windows Management 24 Instrumentation) mapper device (PNP0C14) found on some systems. 25 26 ACPI-WMI is a proprietary extension to ACPI to expose parts of the 27 ACPI firmware to userspace - this is done through various vendor 28 defined methods and data blocks in a PNP0C14 device, which are then 29 made available for userspace to call. 30 31 The implementation of this in Linux currently only exposes this to 32 other kernel space drivers. 33 34 This driver is a required dependency to build the firmware specific 35 drivers needed on many machines, including Acer and HP laptops. 36 37 It is safe to enable this driver even if your DSDT doesn't define 38 any ACPI-WMI devices. 39 40config WMI_BMOF 41 tristate "WMI embedded Binary MOF driver" 42 depends on ACPI_WMI 43 default ACPI_WMI 44 help 45 Say Y here if you want to be able to read a firmware-embedded 46 WMI Binary MOF data. Using this requires userspace tools and may be 47 rather tedious. 48 49 To compile this driver as a module, choose M here: the module will 50 be called wmi-bmof. 51 52config HUAWEI_WMI 53 tristate "Huawei WMI laptop extras driver" 54 depends on ACPI_BATTERY 55 depends on ACPI_WMI 56 depends on INPUT 57 select INPUT_SPARSEKMAP 58 select LEDS_CLASS 59 select LEDS_TRIGGERS 60 select LEDS_TRIGGER_AUDIO 61 select NEW_LEDS 62 help 63 This driver provides support for Huawei WMI hotkeys, battery charge 64 control, fn-lock, mic-mute LED, and other extra features. 65 66 To compile this driver as a module, choose M here: the module 67 will be called huawei-wmi. 68 69config UV_SYSFS 70 tristate "Sysfs structure for UV systems" 71 depends on X86_UV 72 depends on SYSFS 73 help 74 This driver supports a sysfs tree describing information about 75 UV systems at /sys/firmware/sgi_uv/. 76 77 To compile this driver as a module, choose M here: the module will 78 be called uv_sysfs. 79 80config MXM_WMI 81 tristate "WMI support for MXM Laptop Graphics" 82 depends on ACPI_WMI 83 help 84 MXM is a standard for laptop graphics cards, the WMI interface 85 is required for switchable nvidia graphics machines 86 87config PEAQ_WMI 88 tristate "PEAQ 2-in-1 WMI hotkey driver" 89 depends on ACPI_WMI 90 depends on INPUT 91 help 92 Say Y here if you want to support WMI-based hotkeys on PEAQ 2-in-1s. 93 94config NVIDIA_WMI_EC_BACKLIGHT 95 tristate "EC Backlight Driver for Hybrid Graphics Notebook Systems" 96 depends on ACPI_WMI 97 depends on BACKLIGHT_CLASS_DEVICE 98 help 99 This driver provides a sysfs backlight interface for notebook systems 100 which are equipped with NVIDIA hybrid graphics and drive LCD backlight 101 levels through the Embedded Controller (EC). 102 103 Say Y or M here if you want to control the backlight on a notebook 104 system with an EC-driven backlight. 105 106 If you choose to compile this driver as a module the module will be 107 called nvidia-wmi-ec-backlight. 108 109config XIAOMI_WMI 110 tristate "Xiaomi WMI key driver" 111 depends on ACPI_WMI 112 depends on INPUT 113 help 114 Say Y here if you want to support WMI-based keys on Xiaomi notebooks. 115 116 To compile this driver as a module, choose M here: the module will 117 be called xiaomi-wmi. 118 119config GIGABYTE_WMI 120 tristate "Gigabyte WMI temperature driver" 121 depends on ACPI_WMI 122 depends on HWMON 123 help 124 Say Y here if you want to support WMI-based temperature reporting on 125 Gigabyte mainboards. 126 127 To compile this driver as a module, choose M here: the module will 128 be called gigabyte-wmi. 129 130config YOGABOOK_WMI 131 tristate "Lenovo Yoga Book tablet WMI key driver" 132 depends on ACPI_WMI 133 depends on INPUT 134 select LEDS_CLASS 135 select NEW_LEDS 136 help 137 Say Y here if you want to support the 'Pen' key and keyboard backlight 138 control on the Lenovo Yoga Book tablets. 139 140 To compile this driver as a module, choose M here: the module will 141 be called lenovo-yogabook-wmi. 142 143config ACERHDF 144 tristate "Acer Aspire One temperature and fan driver" 145 depends on ACPI && THERMAL 146 select THERMAL_GOV_BANG_BANG 147 help 148 This is a driver for Acer Aspire One netbooks. It allows to access 149 the temperature sensor and to control the fan. 150 151 After loading this driver the BIOS is still in control of the fan. 152 To let the kernel handle the fan, do: 153 echo -n enabled > /sys/class/thermal/thermal_zoneN/mode 154 where N=0,1,2... depending on the number of thermal nodes and the 155 detection order of your particular system. The "type" parameter 156 in the same node directory will tell you if it is "acerhdf". 157 158 For more information about this driver see 159 <https://piie.net/files/acerhdf_README.txt> 160 161 If you have an Acer Aspire One netbook, say Y or M 162 here. 163 164config ACER_WIRELESS 165 tristate "Acer Wireless Radio Control Driver" 166 depends on ACPI 167 depends on INPUT 168 help 169 The Acer Wireless Radio Control handles the airplane mode hotkey 170 present on new Acer laptops. 171 172 Say Y or M here if you have an Acer notebook with an airplane mode 173 hotkey. 174 175 If you choose to compile this driver as a module the module will be 176 called acer-wireless. 177 178config ACER_WMI 179 tristate "Acer WMI Laptop Extras" 180 depends on BACKLIGHT_CLASS_DEVICE 181 depends on SERIO_I8042 182 depends on INPUT 183 depends on RFKILL || RFKILL = n 184 depends on ACPI_WMI 185 select ACPI_VIDEO 186 select INPUT_SPARSEKMAP 187 select LEDS_CLASS 188 select NEW_LEDS 189 help 190 This is a driver for newer Acer (and Wistron) laptops. It adds 191 wireless radio and bluetooth control, and on some laptops, 192 exposes the mail LED and LCD backlight. 193 194 If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M 195 here. 196 197source "drivers/platform/x86/amd/Kconfig" 198 199config ADV_SWBUTTON 200 tristate "Advantech ACPI Software Button Driver" 201 depends on ACPI && INPUT 202 help 203 Say Y here to enable support for Advantech software defined 204 button feature. More information can be found at 205 <http://www.advantech.com.tw/products/> 206 207 To compile this driver as a module, choose M here. The module will 208 be called adv_swbutton. 209 210config APPLE_GMUX 211 tristate "Apple Gmux Driver" 212 depends on ACPI && PCI 213 depends on PNP 214 depends on BACKLIGHT_CLASS_DEVICE 215 depends on BACKLIGHT_APPLE=n || BACKLIGHT_APPLE 216 depends on ACPI_VIDEO=n || ACPI_VIDEO 217 help 218 This driver provides support for the gmux device found on many 219 Apple laptops, which controls the display mux for the hybrid 220 graphics as well as the backlight. Currently only backlight 221 control is supported by the driver. 222 223config ASUS_LAPTOP 224 tristate "Asus Laptop Extras" 225 depends on ACPI 226 select LEDS_CLASS 227 select NEW_LEDS 228 depends on BACKLIGHT_CLASS_DEVICE 229 depends on INPUT 230 depends on RFKILL || RFKILL = n 231 depends on ACPI_VIDEO || ACPI_VIDEO = n 232 select INPUT_SPARSEKMAP 233 help 234 This is a driver for Asus laptops, Lenovo SL and the Pegatron 235 Lucid tablet. It may also support some MEDION, JVC or VICTOR 236 laptops. It makes all the extra buttons generate standard 237 ACPI events and input events, and on the Lucid the built-in 238 accelerometer appears as an input device. It also adds 239 support for video output switching, LCD backlight control, 240 Bluetooth and Wlan control, and most importantly, allows you 241 to blink those fancy LEDs. 242 243 For more information see <http://acpi4asus.sf.net>. 244 245 If you have an ACPI-compatible ASUS laptop, say Y or M here. 246 247config ASUS_WIRELESS 248 tristate "Asus Wireless Radio Control Driver" 249 depends on ACPI 250 depends on INPUT 251 select NEW_LEDS 252 select LEDS_CLASS 253 help 254 The Asus Wireless Radio Control handles the airplane mode hotkey 255 present on some Asus laptops. 256 257 Say Y or M here if you have an ASUS notebook with an airplane mode 258 hotkey. 259 260 If you choose to compile this driver as a module the module will be 261 called asus-wireless. 262 263config ASUS_WMI 264 tristate "ASUS WMI Driver" 265 depends on ACPI_WMI 266 depends on ACPI_BATTERY 267 depends on INPUT 268 depends on HWMON 269 depends on BACKLIGHT_CLASS_DEVICE 270 depends on RFKILL || RFKILL = n 271 depends on HOTPLUG_PCI 272 depends on ACPI_VIDEO || ACPI_VIDEO = n 273 select INPUT_SPARSEKMAP 274 select LEDS_CLASS 275 select NEW_LEDS 276 select LEDS_TRIGGERS 277 select LEDS_TRIGGER_AUDIO 278 select ACPI_PLATFORM_PROFILE 279 help 280 Say Y here if you have a WMI aware Asus laptop (like Eee PCs or new 281 Asus Notebooks). 282 283 To compile this driver as a module, choose M here: the module will 284 be called asus-wmi. 285 286config ASUS_NB_WMI 287 tristate "Asus Notebook WMI Driver" 288 depends on ASUS_WMI 289 depends on SERIO_I8042 || SERIO_I8042 = n 290 help 291 This is a driver for newer Asus notebooks. It adds extra features 292 like wireless radio and bluetooth control, leds, hotkeys, backlight... 293 294 For more information, see 295 <file:Documentation/ABI/testing/sysfs-platform-asus-wmi> 296 297 If you have an ACPI-WMI compatible Asus Notebook, say Y or M 298 here. 299 300config ASUS_TF103C_DOCK 301 tristate "Asus TF103C 2-in-1 keyboard dock" 302 depends on ACPI 303 depends on I2C 304 depends on INPUT 305 depends on HID 306 depends on GPIOLIB 307 help 308 This is a driver for the keyboard, touchpad and USB port of the 309 keyboard dock for the Asus TF103C 2-in-1 tablet. 310 311 This keyboard dock has its own I2C attached embedded controller 312 and the keyboard and touchpad are also connected over I2C, 313 instead of using the usual USB connection. This means that the 314 keyboard dock requires this special driver to function. 315 316 If you have an Asus TF103C tablet say Y or M here, for a generic x86 317 distro config say M here. 318 319config MERAKI_MX100 320 tristate "Cisco Meraki MX100 Platform Driver" 321 depends on GPIOLIB 322 depends on GPIO_ICH 323 depends on LEDS_CLASS 324 select LEDS_GPIO 325 help 326 This driver provides support for the front button and LEDs on 327 the Cisco Meraki MX100 (Tinkerbell) 1U appliance. 328 329 To compile this driver as a module, choose M here: the module 330 will be called meraki-mx100. 331 332config EEEPC_LAPTOP 333 tristate "Eee PC Hotkey Driver" 334 depends on ACPI 335 depends on INPUT 336 depends on RFKILL || RFKILL = n 337 depends on ACPI_VIDEO || ACPI_VIDEO = n 338 depends on HOTPLUG_PCI 339 depends on BACKLIGHT_CLASS_DEVICE 340 select HWMON 341 select LEDS_CLASS 342 select NEW_LEDS 343 select INPUT_SPARSEKMAP 344 help 345 This driver supports the Fn-Fx keys on Eee PC laptops. 346 347 It also gives access to some extra laptop functionalities like 348 Bluetooth, backlight and allows powering on/off some other 349 devices. 350 351 If you have an Eee PC laptop, say Y or M here. If this driver 352 doesn't work on your Eee PC, try eeepc-wmi instead. 353 354config EEEPC_WMI 355 tristate "Eee PC WMI Driver" 356 depends on ASUS_WMI 357 help 358 This is a driver for newer Eee PC laptops. It adds extra features 359 like wireless radio and bluetooth control, leds, hotkeys, backlight... 360 361 For more information, see 362 <file:Documentation/ABI/testing/sysfs-platform-asus-wmi> 363 364 If you have an ACPI-WMI compatible Eee PC laptop (>= 1000), say Y or M 365 here. 366 367source "drivers/platform/x86/dell/Kconfig" 368 369config AMILO_RFKILL 370 tristate "Fujitsu-Siemens Amilo rfkill support" 371 depends on RFKILL 372 depends on SERIO_I8042 373 help 374 This is a driver for enabling wifi on some Fujitsu-Siemens Amilo 375 laptops. 376 377config FUJITSU_LAPTOP 378 tristate "Fujitsu Laptop Extras" 379 depends on ACPI 380 depends on INPUT 381 depends on BACKLIGHT_CLASS_DEVICE 382 depends on ACPI_VIDEO || ACPI_VIDEO = n 383 select INPUT_SPARSEKMAP 384 select NEW_LEDS 385 select LEDS_CLASS 386 help 387 This is a driver for laptops built by Fujitsu: 388 389 * P2xxx/P5xxx/S6xxx/S7xxx series Lifebooks 390 * Possibly other Fujitsu laptop models 391 * Tested with S6410 and S7020 392 393 It adds support for LCD brightness control and some hotkeys. 394 395 If you have a Fujitsu laptop, say Y or M here. 396 397config FUJITSU_TABLET 398 tristate "Fujitsu Tablet Extras" 399 depends on ACPI 400 depends on INPUT 401 help 402 This is a driver for tablets built by Fujitsu: 403 404 * Lifebook P1510/P1610/P1620/Txxxx 405 * Stylistic ST5xxx 406 * Possibly other Fujitsu tablet models 407 408 It adds support for the panel buttons, docking station detection, 409 tablet/notebook mode detection for convertible and 410 orientation detection for docked slates. 411 412 If you have a Fujitsu convertible or slate, say Y or M here. 413 414config GPD_POCKET_FAN 415 tristate "GPD Pocket Fan Controller support" 416 depends on ACPI 417 depends on THERMAL 418 help 419 Driver for the GPD Pocket vendor specific FAN02501 ACPI device 420 which controls the fan speed on the GPD Pocket. 421 422 Without this driver the fan on the Pocket will stay off independent 423 of the CPU temperature. Say Y or M if the kernel may be used on a 424 GPD pocket. 425 426config HP_ACCEL 427 tristate "HP laptop accelerometer" 428 depends on INPUT && ACPI 429 depends on SERIO_I8042 430 select SENSORS_LIS3LV02D 431 select NEW_LEDS 432 select LEDS_CLASS 433 help 434 This driver provides support for the "Mobile Data Protection System 3D" 435 or "3D DriveGuard" feature of HP laptops. On such systems the driver 436 should load automatically (via ACPI alias). 437 438 Support for a led indicating disk protection will be provided as 439 hp::hddprotect. For more information on the feature, refer to 440 Documentation/misc-devices/lis3lv02d.rst. 441 442 To compile this driver as a module, choose M here: the module will 443 be called hp_accel. 444 445config WIRELESS_HOTKEY 446 tristate "Wireless hotkey button" 447 depends on ACPI 448 depends on INPUT 449 help 450 This driver provides supports for the wireless buttons found on some AMD, 451 HP, & Xioami laptops. 452 On such systems the driver should load automatically (via ACPI alias). 453 454 To compile this driver as a module, choose M here: the module will 455 be called wireless-hotkey. 456 457config HP_WMI 458 tristate "HP WMI extras" 459 depends on ACPI_WMI 460 depends on INPUT 461 depends on RFKILL || RFKILL = n 462 select INPUT_SPARSEKMAP 463 select ACPI_PLATFORM_PROFILE 464 select HWMON 465 help 466 Say Y here if you want to support WMI-based hotkeys on HP laptops and 467 to read data from WMI such as docking or ambient light sensor state. 468 469 To compile this driver as a module, choose M here: the module will 470 be called hp-wmi. 471 472config TC1100_WMI 473 tristate "HP Compaq TC1100 Tablet WMI Extras" 474 depends on !X86_64 475 depends on ACPI 476 depends on ACPI_WMI 477 help 478 This is a driver for the WMI extensions (wireless and bluetooth power 479 control) of the HP Compaq TC1100 tablet. 480 481config IBM_RTL 482 tristate "Device driver to enable PRTL support" 483 depends on PCI 484 help 485 Enable support for IBM Premium Real Time Mode (PRTM). 486 This module will allow you the enter and exit PRTM in the BIOS via 487 sysfs on platforms that support this feature. System in PRTM will 488 not receive CPU-generated SMIs for recoverable errors. Use of this 489 feature without proper support may void your hardware warranty. 490 491 If the proper BIOS support is found the driver will load and create 492 /sys/devices/system/ibm_rtl/. The "state" variable will indicate 493 whether or not the BIOS is in PRTM. 494 state = 0 (BIOS SMIs on) 495 state = 1 (BIOS SMIs off) 496 497config IDEAPAD_LAPTOP 498 tristate "Lenovo IdeaPad Laptop Extras" 499 depends on ACPI 500 depends on RFKILL && INPUT 501 depends on SERIO_I8042 502 depends on BACKLIGHT_CLASS_DEVICE 503 depends on ACPI_VIDEO || ACPI_VIDEO = n 504 depends on ACPI_WMI || ACPI_WMI = n 505 select ACPI_PLATFORM_PROFILE 506 select INPUT_SPARSEKMAP 507 select NEW_LEDS 508 select LEDS_CLASS 509 help 510 This is a driver for Lenovo IdeaPad netbooks contains drivers for 511 rfkill switch, hotkey, fan control and backlight control. 512 513config SENSORS_HDAPS 514 tristate "Thinkpad Hard Drive Active Protection System (hdaps)" 515 depends on INPUT 516 help 517 This driver provides support for the IBM Hard Drive Active Protection 518 System (hdaps), which provides an accelerometer and other misc. data. 519 ThinkPads starting with the R50, T41, and X40 are supported. The 520 accelerometer data is readable via sysfs. 521 522 This driver also provides an absolute input class device, allowing 523 the laptop to act as a pinball machine-esque joystick. 524 525 If your ThinkPad is not recognized by the driver, please update to latest 526 BIOS. This is especially the case for some R52 ThinkPads. 527 528 Say Y here if you have an applicable laptop and want to experience 529 the awesome power of hdaps. 530 531config THINKPAD_ACPI 532 tristate "ThinkPad ACPI Laptop Extras" 533 depends on ACPI 534 depends on ACPI_BATTERY 535 depends on INPUT 536 depends on RFKILL || RFKILL = n 537 depends on ACPI_VIDEO || ACPI_VIDEO = n 538 depends on BACKLIGHT_CLASS_DEVICE 539 depends on I2C 540 depends on DRM 541 select ACPI_PLATFORM_PROFILE 542 select DRM_PRIVACY_SCREEN 543 select HWMON 544 select NVRAM 545 select NEW_LEDS 546 select LEDS_CLASS 547 select LEDS_TRIGGERS 548 select LEDS_TRIGGER_AUDIO 549 help 550 This is a driver for the IBM and Lenovo ThinkPad laptops. It adds 551 support for Fn-Fx key combinations, Bluetooth control, video 552 output switching, ThinkLight control, UltraBay eject and more. 553 For more information about this driver see 554 <file:Documentation/admin-guide/laptops/thinkpad-acpi.rst> and 555 <http://ibm-acpi.sf.net/> . 556 557 This driver was formerly known as ibm-acpi. 558 559 Extra functionality will be available if the rfkill (CONFIG_RFKILL) 560 and/or ALSA (CONFIG_SND) subsystems are available in the kernel. 561 Note that if you want ThinkPad-ACPI to be built-in instead of 562 modular, ALSA and rfkill will also have to be built-in. 563 564 If you have an IBM or Lenovo ThinkPad laptop, say Y or M here. 565 566config THINKPAD_ACPI_ALSA_SUPPORT 567 bool "Console audio control ALSA interface" 568 depends on THINKPAD_ACPI 569 depends on SND 570 depends on SND = y || THINKPAD_ACPI = SND 571 default y 572 help 573 Enables monitoring of the built-in console audio output control 574 (headphone and speakers), which is operated by the mute and (in 575 some ThinkPad models) volume hotkeys. 576 577 If this option is enabled, ThinkPad-ACPI will export an ALSA card 578 with a single read-only mixer control, which should be used for 579 on-screen-display feedback purposes by the Desktop Environment. 580 581 Optionally, the driver will also allow software control (the 582 ALSA mixer will be made read-write). Please refer to the driver 583 documentation for details. 584 585 All IBM models have both volume and mute control. Newer Lenovo 586 models only have mute control (the volume hotkeys are just normal 587 keys and volume control is done through the main HDA mixer). 588 589config THINKPAD_ACPI_DEBUGFACILITIES 590 bool "Maintainer debug facilities" 591 depends on THINKPAD_ACPI 592 help 593 Enables extra stuff in the thinkpad-acpi which is completely useless 594 for normal use. Read the driver source to find out what it does. 595 596 Say N here, unless you were told by a kernel maintainer to do 597 otherwise. 598 599config THINKPAD_ACPI_DEBUG 600 bool "Verbose debug mode" 601 depends on THINKPAD_ACPI 602 help 603 Enables extra debugging information, at the expense of a slightly 604 increase in driver size. 605 606 If you are not sure, say N here. 607 608config THINKPAD_ACPI_UNSAFE_LEDS 609 bool "Allow control of important LEDs (unsafe)" 610 depends on THINKPAD_ACPI 611 help 612 Overriding LED state on ThinkPads can mask important 613 firmware alerts (like critical battery condition), or misled 614 the user into damaging the hardware (undocking or ejecting 615 the bay while buses are still active), etc. 616 617 LED control on the ThinkPad is write-only (with very few 618 exceptions on very ancient models), which makes it 619 impossible to know beforehand if important information will 620 be lost when one changes LED state. 621 622 Users that know what they are doing can enable this option 623 and the driver will allow control of every LED, including 624 the ones on the dock stations. 625 626 Never enable this option on a distribution kernel. 627 628 Say N here, unless you are building a kernel for your own 629 use, and need to control the important firmware LEDs. 630 631config THINKPAD_ACPI_VIDEO 632 bool "Video output control support" 633 depends on THINKPAD_ACPI 634 default y 635 help 636 Allows the thinkpad_acpi driver to provide an interface to control 637 the various video output ports. 638 639 This feature often won't work well, depending on ThinkPad model, 640 display state, video output devices in use, whether there is a X 641 server running, phase of the moon, and the current mood of 642 Schroedinger's cat. If you can use X.org's RandR to control 643 your ThinkPad's video output ports instead of this feature, 644 don't think twice: do it and say N here to save memory and avoid 645 bad interactions with X.org. 646 647 NOTE: access to this feature is limited to processes with the 648 CAP_SYS_ADMIN capability, to avoid local DoS issues in platforms 649 where it interacts badly with X.org. 650 651 If you are not sure, say Y here but do try to check if you could 652 be using X.org RandR instead. 653 654config THINKPAD_ACPI_HOTKEY_POLL 655 bool "Support NVRAM polling for hot keys" 656 depends on THINKPAD_ACPI 657 default y 658 help 659 Some thinkpad models benefit from NVRAM polling to detect a few of 660 the hot key press events. If you know your ThinkPad model does not 661 need to do NVRAM polling to support any of the hot keys you use, 662 unselecting this option will save about 1kB of memory. 663 664 ThinkPads T40 and newer, R52 and newer, and X31 and newer are 665 unlikely to need NVRAM polling in their latest BIOS versions. 666 667 NVRAM polling can detect at most the following keys: ThinkPad/Access 668 IBM, Zoom, Switch Display (fn+F7), ThinkLight, Volume up/down/mute, 669 Brightness up/down, Display Expand (fn+F8), Hibernate (fn+F12). 670 671 If you are not sure, say Y here. The driver enables polling only if 672 it is strictly necessary to do so. 673 674config THINKPAD_LMI 675 tristate "Lenovo WMI-based systems management driver" 676 depends on ACPI_WMI 677 select FW_ATTR_CLASS 678 help 679 This driver allows changing BIOS settings on Lenovo machines whose 680 BIOS support the WMI interface. 681 682 To compile this driver as a module, choose M here: the module will 683 be called think-lmi. 684 685source "drivers/platform/x86/intel/Kconfig" 686 687config MSI_LAPTOP 688 tristate "MSI Laptop Extras" 689 depends on ACPI 690 depends on BACKLIGHT_CLASS_DEVICE 691 depends on ACPI_VIDEO || ACPI_VIDEO = n 692 depends on RFKILL 693 depends on INPUT && SERIO_I8042 694 select INPUT_SPARSEKMAP 695 help 696 This is a driver for laptops built by MSI (MICRO-STAR 697 INTERNATIONAL): 698 699 MSI MegaBook S270 (MS-1013) 700 Cytron/TCM/Medion/Tchibo MD96100/SAM2000 701 702 It adds support for Bluetooth, WLAN and LCD brightness control. 703 704 More information about this driver is available at 705 <http://0pointer.de/lennart/tchibo.html>. 706 707 If you have an MSI S270 laptop, say Y or M here. 708 709config MSI_WMI 710 tristate "MSI WMI extras" 711 depends on ACPI_WMI 712 depends on INPUT 713 depends on BACKLIGHT_CLASS_DEVICE 714 depends on ACPI_VIDEO || ACPI_VIDEO = n 715 select INPUT_SPARSEKMAP 716 help 717 Say Y here if you want to support WMI-based hotkeys on MSI laptops. 718 719 To compile this driver as a module, choose M here: the module will 720 be called msi-wmi. 721 722config XO15_EBOOK 723 tristate "OLPC XO-1.5 ebook switch" 724 depends on OLPC || COMPILE_TEST 725 depends on ACPI && INPUT 726 help 727 Support for the ebook switch on the OLPC XO-1.5 laptop. 728 729 This switch is triggered as the screen is rotated and folded down to 730 convert the device into ebook form. 731 732config XO1_RFKILL 733 tristate "OLPC XO-1 software RF kill switch" 734 depends on OLPC || COMPILE_TEST 735 depends on RFKILL 736 help 737 Support for enabling/disabling the WLAN interface on the OLPC XO-1 738 laptop. 739 740config PCENGINES_APU2 741 tristate "PC Engines APUv2/3 front button and LEDs driver" 742 depends on INPUT && INPUT_KEYBOARD && GPIOLIB 743 depends on LEDS_CLASS 744 select GPIO_AMD_FCH 745 select KEYBOARD_GPIO_POLLED 746 select LEDS_GPIO 747 help 748 This driver provides support for the front button and LEDs on 749 PC Engines APUv2/APUv3 board. 750 751 To compile this driver as a module, choose M here: the module 752 will be called pcengines-apuv2. 753 754config BARCO_P50_GPIO 755 tristate "Barco P50 GPIO driver for identify LED/button" 756 depends on GPIOLIB 757 help 758 This driver provides access to the GPIOs for the identify button 759 and led present on Barco P50 board. 760 761 To compile this driver as a module, choose M here: the module 762 will be called barco-p50-gpio. 763 764config SAMSUNG_LAPTOP 765 tristate "Samsung Laptop driver" 766 depends on RFKILL || RFKILL = n 767 depends on ACPI_VIDEO || ACPI_VIDEO = n 768 depends on BACKLIGHT_CLASS_DEVICE 769 select LEDS_CLASS 770 select NEW_LEDS 771 help 772 This module implements a driver for a wide range of different 773 Samsung laptops. It offers control over the different 774 function keys, wireless LED, LCD backlight level. 775 776 It may also provide some sysfs files described in 777 <file:Documentation/ABI/testing/sysfs-driver-samsung-laptop> 778 779 To compile this driver as a module, choose M here: the module 780 will be called samsung-laptop. 781 782config SAMSUNG_Q10 783 tristate "Samsung Q10 Extras" 784 depends on ACPI 785 select BACKLIGHT_CLASS_DEVICE 786 help 787 This driver provides support for backlight control on Samsung Q10 788 and related laptops, including Dell Latitude X200. 789 790config ACPI_TOSHIBA 791 tristate "Toshiba Laptop Extras" 792 depends on ACPI 793 depends on ACPI_WMI 794 select LEDS_CLASS 795 select NEW_LEDS 796 depends on BACKLIGHT_CLASS_DEVICE 797 depends on INPUT 798 depends on SERIO_I8042 || SERIO_I8042 = n 799 depends on ACPI_VIDEO || ACPI_VIDEO = n 800 depends on RFKILL || RFKILL = n 801 depends on IIO 802 select INPUT_SPARSEKMAP 803 help 804 This driver adds support for access to certain system settings 805 on "legacy free" Toshiba laptops. These laptops can be recognized by 806 their lack of a BIOS setup menu and APM support. 807 808 On these machines, all system configuration is handled through the 809 ACPI. This driver is required for access to controls not covered 810 by the general ACPI drivers, such as LCD brightness, video output, 811 etc. 812 813 This driver differs from the non-ACPI Toshiba laptop driver (located 814 under "Processor type and features") in several aspects. 815 Configuration is accessed by reading and writing text files in the 816 /proc tree instead of by program interface to /dev. Furthermore, no 817 power management functions are exposed, as those are handled by the 818 general ACPI drivers. 819 820 More information about this driver is available at 821 <http://memebeam.org/toys/ToshibaAcpiDriver>. 822 823 If you have a legacy free Toshiba laptop (such as the Libretto L1 824 series), say Y. 825 826config TOSHIBA_BT_RFKILL 827 tristate "Toshiba Bluetooth RFKill switch support" 828 depends on ACPI 829 depends on RFKILL || RFKILL = n 830 help 831 This driver adds support for Bluetooth events for the RFKill 832 switch on modern Toshiba laptops with full ACPI support and 833 an RFKill switch. 834 835 This driver handles RFKill events for the TOS6205 Bluetooth, 836 and re-enables it when the switch is set back to the 'on' 837 position. 838 839 If you have a modern Toshiba laptop with a Bluetooth and an 840 RFKill switch (such as the Portege R500), say Y. 841 842config TOSHIBA_HAPS 843 tristate "Toshiba HDD Active Protection Sensor" 844 depends on ACPI 845 help 846 This driver adds support for the built-in accelerometer 847 found on recent Toshiba laptops equipped with HID TOS620A 848 device. 849 850 This driver receives ACPI notify events 0x80 when the sensor 851 detects a sudden move or a harsh vibration, as well as an 852 ACPI notify event 0x81 whenever the movement or vibration has 853 been stabilized. 854 855 Also provides sysfs entries to get/set the desired protection 856 level and resetting the HDD protection interface. 857 858 If you have a recent Toshiba laptop with a built-in accelerometer 859 device, say Y. 860 861config TOSHIBA_WMI 862 tristate "Toshiba WMI Hotkeys Driver (EXPERIMENTAL)" 863 depends on ACPI_WMI 864 depends on INPUT 865 select INPUT_SPARSEKMAP 866 help 867 This driver adds hotkey monitoring support to some Toshiba models 868 that manage the hotkeys via WMI events. 869 870 WARNING: This driver is incomplete as it lacks a proper keymap and the 871 *notify function only prints the ACPI event type value. Be warned that 872 you will need to provide some information if you have a Toshiba model 873 with WMI event hotkeys and want to help with the development of this 874 driver. 875 876 If you have a WMI-based hotkeys Toshiba laptop, say Y or M here. 877 878config ACPI_CMPC 879 tristate "CMPC Laptop Extras" 880 depends on ACPI && INPUT 881 depends on RFKILL || RFKILL=n 882 select BACKLIGHT_CLASS_DEVICE 883 help 884 Support for Intel Classmate PC ACPI devices, including some 885 keys as input device, backlight device, tablet and accelerometer 886 devices. 887 888config COMPAL_LAPTOP 889 tristate "Compal (and others) Laptop Extras" 890 depends on ACPI 891 depends on BACKLIGHT_CLASS_DEVICE 892 depends on ACPI_VIDEO || ACPI_VIDEO = n 893 depends on RFKILL 894 depends on HWMON 895 depends on POWER_SUPPLY 896 help 897 This is a driver for laptops built by Compal, and some models by 898 other brands (e.g. Dell, Toshiba). 899 900 It adds support for rfkill, Bluetooth, WLAN, LCD brightness, hwmon 901 and battery charging level control. 902 903config LG_LAPTOP 904 tristate "LG Laptop Extras" 905 depends on ACPI 906 depends on ACPI_BATTERY 907 depends on ACPI_WMI 908 depends on INPUT 909 select INPUT_SPARSEKMAP 910 select NEW_LEDS 911 select LEDS_CLASS 912 help 913 This driver adds support for hotkeys as well as control of keyboard 914 backlight, battery maximum charge level and various other ACPI 915 features. 916 917 If you have an LG Gram laptop, say Y or M here. 918 919config PANASONIC_LAPTOP 920 tristate "Panasonic Laptop Extras" 921 depends on INPUT && ACPI 922 depends on BACKLIGHT_CLASS_DEVICE 923 depends on ACPI_VIDEO=n || ACPI_VIDEO 924 depends on SERIO_I8042 || SERIO_I8042 = n 925 select INPUT_SPARSEKMAP 926 help 927 This driver adds support for access to backlight control and hotkeys 928 on Panasonic Let's Note laptops. 929 930 If you have a Panasonic Let's note laptop (such as the R1(N variant), 931 R2, R3, R5, T2, W2 and Y2 series), say Y. 932 933config SONY_LAPTOP 934 tristate "Sony Laptop Extras" 935 depends on ACPI 936 depends on ACPI_VIDEO || ACPI_VIDEO = n 937 depends on BACKLIGHT_CLASS_DEVICE 938 depends on INPUT 939 depends on RFKILL 940 help 941 This mini-driver drives the SNC and SPIC devices present in the ACPI 942 BIOS of the Sony Vaio laptops. 943 944 It gives access to some extra laptop functionalities like Bluetooth, 945 screen brightness control, Fn keys and allows powering on/off some 946 devices. 947 948 Read <file:Documentation/admin-guide/laptops/sony-laptop.rst> for more information. 949 950config SONYPI_COMPAT 951 bool "Sonypi compatibility" 952 depends on SONY_LAPTOP 953 help 954 Build the sonypi driver compatibility code into the sony-laptop driver. 955 956config SYSTEM76_ACPI 957 tristate "System76 ACPI Driver" 958 depends on ACPI 959 depends on ACPI_BATTERY 960 depends on HWMON 961 depends on INPUT 962 select NEW_LEDS 963 select LEDS_CLASS 964 select LEDS_TRIGGERS 965 help 966 This is a driver for System76 laptops running open firmware. It adds 967 support for Fn-Fx key combinations, keyboard backlight, and airplane mode 968 LEDs. 969 970 If you have a System76 laptop running open firmware, say Y or M here. 971 972config TOPSTAR_LAPTOP 973 tristate "Topstar Laptop Extras" 974 depends on ACPI 975 depends on INPUT 976 select INPUT_SPARSEKMAP 977 select LEDS_CLASS 978 select NEW_LEDS 979 help 980 This driver adds support for hotkeys found on Topstar laptops. 981 982 If you have a Topstar laptop, say Y or M here. 983 984config SERIAL_MULTI_INSTANTIATE 985 tristate "Serial bus multi instantiate pseudo device driver" 986 depends on I2C && SPI && ACPI 987 help 988 Some ACPI-based systems list multiple devices in a single ACPI 989 firmware-node. This driver will instantiate separate clients 990 for each device in the firmware-node. 991 992 To compile this driver as a module, choose M here: the module 993 will be called serial-multi-instantiate. 994 995config MLX_PLATFORM 996 tristate "Mellanox Technologies platform support" 997 depends on I2C && REGMAP 998 help 999 This option enables system support for the Mellanox Technologies 1000 platform. The Mellanox systems provide data center networking 1001 solutions based on Virtual Protocol Interconnect (VPI) technology 1002 enable seamless connectivity to 56/100Gb/s InfiniBand or 10/40/56GbE 1003 connection. 1004 1005 If you have a Mellanox system, say Y or M here. 1006 1007config TOUCHSCREEN_DMI 1008 bool "DMI based touchscreen configuration info" 1009 depends on ACPI && DMI && I2C=y && TOUCHSCREEN_SILEAD 1010 select EFI_EMBEDDED_FIRMWARE if EFI 1011 help 1012 Certain ACPI based tablets with e.g. Silead or Chipone touchscreens 1013 do not have enough data in ACPI tables for the touchscreen driver to 1014 handle the touchscreen properly, as OEMs expect the data to be baked 1015 into the tablet model specific version of the driver shipped with the 1016 the OS-image for the device. This option supplies the missing info. 1017 Enable this for x86 tablets with Silead or Chipone touchscreens. 1018 1019config X86_ANDROID_TABLETS 1020 tristate "X86 Android tablet support" 1021 depends on I2C && SPI && SERIAL_DEV_BUS && ACPI && EFI && GPIOLIB 1022 help 1023 X86 tablets which ship with Android as (part of) the factory image 1024 typically have various problems with their DSDTs. The factory kernels 1025 shipped on these devices typically have device addresses and GPIOs 1026 hardcoded in the kernel, rather than specified in their DSDT. 1027 1028 With the DSDT containing a random collection of devices which may or 1029 may not actually be present. This driver contains various fixes for 1030 such tablets, including instantiating kernel devices for devices which 1031 are missing from the DSDT. 1032 1033 If you have a x86 Android tablet say Y or M here, for a generic x86 1034 distro config say M here. 1035 1036config FW_ATTR_CLASS 1037 tristate 1038 1039config INTEL_IMR 1040 bool "Intel Isolated Memory Region support" 1041 depends on X86_INTEL_QUARK && IOSF_MBI 1042 help 1043 This option provides a means to manipulate Isolated Memory Regions. 1044 IMRs are a set of registers that define read and write access masks 1045 to prohibit certain system agents from accessing memory with 1 KiB 1046 granularity. 1047 1048 IMRs make it possible to control read/write access to an address 1049 by hardware agents inside the SoC. Read and write masks can be 1050 defined for: 1051 - eSRAM flush 1052 - Dirty CPU snoop (write only) 1053 - RMU access 1054 - PCI Virtual Channel 0/Virtual Channel 1 1055 - SMM mode 1056 - Non SMM mode 1057 1058 Quark contains a set of eight IMR registers and makes use of those 1059 registers during its bootup process. 1060 1061 If you are running on a Galileo/Quark say Y here. 1062 1063config INTEL_IPS 1064 tristate "Intel Intelligent Power Sharing" 1065 depends on ACPI && PCI 1066 help 1067 Intel Calpella platforms support dynamic power sharing between the 1068 CPU and GPU, maximizing performance in a given TDP. This driver, 1069 along with the CPU frequency and i915 drivers, provides that 1070 functionality. If in doubt, say Y here; it will only load on 1071 supported platforms. 1072 1073config INTEL_SCU_IPC 1074 bool 1075 1076config INTEL_SCU 1077 bool 1078 select INTEL_SCU_IPC 1079 1080config INTEL_SCU_PCI 1081 bool "Intel SCU PCI driver" 1082 depends on PCI 1083 select INTEL_SCU 1084 help 1085 This driver is used to bridge the communications between kernel 1086 and SCU on some embedded Intel x86 platforms. It also creates 1087 devices that are connected to the SoC through the SCU. 1088 Platforms supported: 1089 Medfield 1090 Clovertrail 1091 Merrifield 1092 Broxton 1093 Apollo Lake 1094 1095config INTEL_SCU_PLATFORM 1096 tristate "Intel SCU platform driver" 1097 depends on ACPI 1098 select INTEL_SCU 1099 help 1100 This driver is used to bridge the communications between kernel 1101 and SCU (sometimes called PMC as well). The driver currently 1102 supports Intel Elkhart Lake and compatible platforms. 1103 1104config INTEL_SCU_WDT 1105 bool 1106 default INTEL_SCU_PCI 1107 depends on INTEL_MID_WATCHDOG 1108 help 1109 This is a specific platform code to instantiate watchdog device 1110 on ACPI-based Intel MID platforms. 1111 1112config INTEL_SCU_IPC_UTIL 1113 tristate "Intel SCU IPC utility driver" 1114 depends on INTEL_SCU 1115 help 1116 The IPC Util driver provides an interface with the SCU enabling 1117 low level access for debug work and updating the firmware. Say 1118 N unless you will be doing this on an Intel MID platform. 1119 1120config SIEMENS_SIMATIC_IPC 1121 tristate "Siemens Simatic IPC Class driver" 1122 depends on PCI 1123 help 1124 This Simatic IPC class driver is the central of several drivers. It 1125 is mainly used for system identification, after which drivers in other 1126 classes will take care of driving specifics of those machines. 1127 i.e. LEDs and watchdog. 1128 1129 To compile this driver as a module, choose M here: the module 1130 will be called simatic-ipc. 1131 1132config WINMATE_FM07_KEYS 1133 tristate "Winmate FM07/FM07P front-panel keys driver" 1134 depends on INPUT 1135 help 1136 Winmate FM07 and FM07P in-vehicle computers have a row of five 1137 buttons below the display. This module adds an input device 1138 that delivers key events when these buttons are pressed. 1139 1140endif # X86_PLATFORM_DEVICES 1141 1142config P2SB 1143 bool "Primary to Sideband (P2SB) bridge access support" 1144 depends on PCI && X86 1145 help 1146 The Primary to Sideband (P2SB) bridge is an interface to some 1147 PCI devices connected through it. In particular, SPI NOR controller 1148 in Intel Apollo Lake SoC is one of such devices. 1149 1150 The main purpose of this library is to unhide P2SB device in case 1151 firmware kept it hidden on some platforms in order to access devices 1152 behind it. 1153