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