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