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