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