]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - drivers/platform/x86/Kconfig
usb: typec: ucsi: Better fix for missing unplug events issue
[mirror_ubuntu-jammy-kernel.git] / drivers / platform / x86 / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
41b16dce
LB
2#
3# X86 Platform Specific Drivers
4#
5
6menuconfig X86_PLATFORM_DEVICES
7 bool "X86 Platform Specific Device Drivers"
8 default y
a00cd11b 9 depends on X86
a7f7f624 10 help
41b16dce
LB
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
45a3d578
AS
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
a7f7f624 44 help
45a3d578
AS
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
45a3d578
AS
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
0c51a4d8 58 select LEDS_CLASS
45a3d578
AS
59 select LEDS_TRIGGERS
60 select LEDS_TRIGGER_AUDIO
0c51a4d8 61 select NEW_LEDS
45a3d578
AS
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
4fc2cf1f
JE
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
45a3d578
AS
80config MXM_WMI
81 tristate "WMI support for MXM Laptop Graphics"
82 depends on ACPI_WMI
a7f7f624 83 help
45a3d578
AS
84 MXM is a standard for laptop graphics cards, the WMI interface
85 is required for switchable nvidia graphics machines
75971feb 86
45a3d578
AS
87config PEAQ_WMI
88 tristate "PEAQ 2-in-1 WMI hotkey driver"
89 depends on ACPI_WMI
90 depends on INPUT
91 help
92 Say Y here if you want to support WMI-based hotkeys on PEAQ 2-in-1s.
75971feb 93
45a3d578
AS
94config XIAOMI_WMI
95 tristate "Xiaomi WMI key driver"
96 depends on ACPI_WMI
97 depends on INPUT
98 help
99 Say Y here if you want to support WMI-based keys on Xiaomi notebooks.
100
101 To compile this driver as a module, choose M here: the module will
102 be called xiaomi-wmi.
75971feb 103
57293197
TW
104config GIGABYTE_WMI
105 tristate "Gigabyte WMI temperature driver"
106 depends on ACPI_WMI
107 depends on HWMON
108 help
109 Say Y here if you want to support WMI-based temperature reporting on
110 Gigabyte mainboards.
111
112 To compile this driver as a module, choose M here: the module will
113 be called gigabyte-wmi.
114
e86435eb
PF
115config ACERHDF
116 tristate "Acer Aspire One temperature and fan driver"
200db647 117 depends on ACPI && THERMAL
48c8dd64 118 select THERMAL_GOV_BANG_BANG
a7f7f624 119 help
e86435eb
PF
120 This is a driver for Acer Aspire One netbooks. It allows to access
121 the temperature sensor and to control the fan.
122
123 After loading this driver the BIOS is still in control of the fan.
124 To let the kernel handle the fan, do:
14c20688
PG
125 echo -n enabled > /sys/class/thermal/thermal_zoneN/mode
126 where N=0,1,2... depending on the number of thermal nodes and the
127 detection order of your particular system. The "type" parameter
128 in the same node directory will tell you if it is "acerhdf".
e86435eb
PF
129
130 For more information about this driver see
78d15eea 131 <https://piie.net/files/acerhdf_README.txt>
e86435eb
PF
132
133 If you have an Acer Aspire One netbook, say Y or M
134 here.
135
45a3d578
AS
136config ACER_WIRELESS
137 tristate "Acer Wireless Radio Control Driver"
138 depends on ACPI
139 depends on INPUT
a7f7f624 140 help
45a3d578
AS
141 The Acer Wireless Radio Control handles the airplane mode hotkey
142 present on new Acer laptops.
143
144 Say Y or M here if you have an Acer notebook with an airplane mode
145 hotkey.
146
147 If you choose to compile this driver as a module the module will be
148 called acer-wireless.
149
150config ACER_WMI
151 tristate "Acer WMI Laptop Extras"
a46ad0f1 152 depends on ACPI
45a3d578
AS
153 select LEDS_CLASS
154 select NEW_LEDS
155 depends on BACKLIGHT_CLASS_DEVICE
156 depends on SERIO_I8042
157 depends on INPUT
158 depends on RFKILL || RFKILL = n
a46ad0f1 159 depends on ACPI_WMI
45a3d578
AS
160 select INPUT_SPARSEKMAP
161 # Acer WMI depends on ACPI_VIDEO when ACPI is enabled
162 select ACPI_VIDEO if ACPI
a7f7f624 163 help
45a3d578
AS
164 This is a driver for newer Acer (and Wistron) laptops. It adds
165 wireless radio and bluetooth control, and on some laptops,
166 exposes the mail LED and LCD backlight.
167
168 If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M
169 here.
170
156ec473
SS
171config AMD_PMC
172 tristate "AMD SoC PMC driver"
173 depends on ACPI && PCI
174 help
175 The driver provides support for AMD Power Management Controller
176 primarily responsible for S2Idle transactions that are driven from
177 a platform firmware running on SMU. This driver also provides a debug
178 mechanism to investigate the S2Idle transactions and failures.
179
180 Say Y or M here if you have a notebook powered by AMD RYZEN CPU/APU.
181
182 If you choose to compile this driver as a module the module will be
183 called amd-pmc.
184
3d904005
AH
185config ADV_SWBUTTON
186 tristate "Advantech ACPI Software Button Driver"
187 depends on ACPI && INPUT
188 help
189 Say Y here to enable support for Advantech software defined
190 button feature. More information can be found at
191 <http://www.advantech.com.tw/products/>
192
193 To compile this driver as a module, choose M here. The module will
194 be called adv_swbutton.
195
45a3d578
AS
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
a7f7f624 203 help
45a3d578
AS
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.
a46ad0f1 208
41b16dce 209config ASUS_LAPTOP
6122af37 210 tristate "Asus Laptop Extras"
41b16dce 211 depends on ACPI
e73e2c62
CC
212 select LEDS_CLASS
213 select NEW_LEDS
14ca7a47 214 depends on BACKLIGHT_CLASS_DEVICE
12d6f35b 215 depends on INPUT
18e1311e 216 depends on RFKILL || RFKILL = n
14ca7a47 217 depends on ACPI_VIDEO || ACPI_VIDEO = n
66a71dd1 218 select INPUT_SPARSEKMAP
a7f7f624 219 help
8819de7f
AR
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
b23910c2
AR
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.
41b16dce 228
8819de7f 229 For more information see <http://acpi4asus.sf.net>.
41b16dce
LB
230
231 If you have an ACPI-compatible ASUS laptop, say Y or M here.
232
45a3d578
AS
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
a7f7f624 239 help
45a3d578
AS
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
c63d44ae 262 select ACPI_PLATFORM_PROFILE
a7f7f624 263 help
45a3d578
AS
264 Say Y here if you have a WMI aware Asus laptop (like Eee PCs or new
265 Asus Notebooks).
266
267 To compile this driver as a module, choose M here: the module will
268 be called asus-wmi.
269
270config ASUS_NB_WMI
271 tristate "Asus Notebook WMI Driver"
272 depends on ASUS_WMI
273 depends on SERIO_I8042 || SERIO_I8042 = n
a7f7f624 274 help
45a3d578
AS
275 This is a driver for newer Asus notebooks. It adds extra features
276 like wireless radio and bluetooth control, leds, hotkeys, backlight...
277
278 For more information, see
279 <file:Documentation/ABI/testing/sysfs-platform-asus-wmi>
280
281 If you have an ACPI-WMI compatible Asus Notebook, say Y or M
282 here.
283
636a1e69
CB
284config MERAKI_MX100
285 tristate "Cisco Meraki MX100 Platform Driver"
286 depends on GPIOLIB
287 depends on GPIO_ICH
288 depends on LEDS_CLASS
289 select LEDS_GPIO
290 help
291 This driver provides support for the front button and LEDs on
292 the Cisco Meraki MX100 (Tinkerbell) 1U appliance.
293
294 To compile this driver as a module, choose M here: the module
295 will be called meraki-mx100.
296
45a3d578
AS
297config EEEPC_LAPTOP
298 tristate "Eee PC Hotkey Driver"
299 depends on ACPI
300 depends on INPUT
301 depends on RFKILL || RFKILL = n
302 depends on ACPI_VIDEO || ACPI_VIDEO = n
303 depends on HOTPLUG_PCI
304 depends on BACKLIGHT_CLASS_DEVICE
305 select HWMON
306 select LEDS_CLASS
307 select NEW_LEDS
308 select INPUT_SPARSEKMAP
a7f7f624 309 help
45a3d578
AS
310 This driver supports the Fn-Fx keys on Eee PC laptops.
311
312 It also gives access to some extra laptop functionalities like
313 Bluetooth, backlight and allows powering on/off some other
314 devices.
315
316 If you have an Eee PC laptop, say Y or M here. If this driver
317 doesn't work on your Eee PC, try eeepc-wmi instead.
318
319config EEEPC_WMI
320 tristate "Eee PC WMI Driver"
321 depends on ASUS_WMI
a7f7f624 322 help
45a3d578
AS
323 This is a driver for newer Eee PC laptops. It adds extra features
324 like wireless radio and bluetooth control, leds, hotkeys, backlight...
325
326 For more information, see
327 <file:Documentation/ABI/testing/sysfs-platform-asus-wmi>
328
329 If you have an ACPI-WMI compatible Eee PC laptop (>= 1000), say Y or M
330 here.
331
f1e1ea51 332source "drivers/platform/x86/dell/Kconfig"
7a3319c1 333
45a3d578
AS
334config AMILO_RFKILL
335 tristate "Fujitsu-Siemens Amilo rfkill support"
817a5cdb 336 depends on RFKILL
45a3d578 337 depends on SERIO_I8042
a7f7f624 338 help
45a3d578
AS
339 This is a driver for enabling wifi on some Fujitsu-Siemens Amilo
340 laptops.
820787fc 341
cada7cd8
AK
342config DELL_UART_BACKLIGHT
343 tristate "Dell AIO UART Backlight driver"
344 depends on SERIAL_8250
345 depends on ACPI
346 help
347 Say Y here if you want to support Dell AIO UART backlight interface.
348 The Dell AIO machines released after 2017 come with a UART interface
349 to communicate with the backlight scalar board. This driver creates
350 a standard backlight interface and talks to the scalar board through
351 UART to adjust the AIO screen brightness.
352
353 To compile this driver as a module, choose M here: the module will
354 be called dell_uart_backlight.
355
41b16dce
LB
356config FUJITSU_LAPTOP
357 tristate "Fujitsu Laptop Extras"
358 depends on ACPI
359 depends on INPUT
360 depends on BACKLIGHT_CLASS_DEVICE
14ca7a47 361 depends on ACPI_VIDEO || ACPI_VIDEO = n
f2252672 362 select INPUT_SPARSEKMAP
afdd1ebb 363 select NEW_LEDS
d89bcc83 364 select LEDS_CLASS
a7f7f624 365 help
41b16dce
LB
366 This is a driver for laptops built by Fujitsu:
367
368 * P2xxx/P5xxx/S6xxx/S7xxx series Lifebooks
369 * Possibly other Fujitsu laptop models
370 * Tested with S6410 and S7020
371
372 It adds support for LCD brightness control and some hotkeys.
373
374 If you have a Fujitsu laptop, say Y or M here.
375
2d24c490
RG
376config FUJITSU_TABLET
377 tristate "Fujitsu Tablet Extras"
378 depends on ACPI
379 depends on INPUT
a7f7f624 380 help
2d24c490
RG
381 This is a driver for tablets built by Fujitsu:
382
383 * Lifebook P1510/P1610/P1620/Txxxx
384 * Stylistic ST5xxx
385 * Possibly other Fujitsu tablet models
386
387 It adds support for the panel buttons, docking station detection,
388 tablet/notebook mode detection for convertible and
389 orientation detection for docked slates.
390
391 If you have a Fujitsu convertible or slate, say Y or M here.
392
1b46f17d
HG
393config GPD_POCKET_FAN
394 tristate "GPD Pocket Fan Controller support"
395 depends on ACPI
396 depends on THERMAL
a7f7f624 397 help
1b46f17d
HG
398 Driver for the GPD Pocket vendor specific FAN02501 ACPI device
399 which controls the fan speed on the GPD Pocket.
400
401 Without this driver the fan on the Pocket will stay off independent
402 of the CPU temperature. Say Y or M if the kernel may be used on a
403 GPD pocket.
404
efcfed9b
JD
405config HP_ACCEL
406 tristate "HP laptop accelerometer"
407 depends on INPUT && ACPI
0cdbcd6d 408 depends on SERIO_I8042
efcfed9b
JD
409 select SENSORS_LIS3LV02D
410 select NEW_LEDS
411 select LEDS_CLASS
412 help
413 This driver provides support for the "Mobile Data Protection System 3D"
414 or "3D DriveGuard" feature of HP laptops. On such systems the driver
415 should load automatically (via ACPI alias).
416
417 Support for a led indicating disk protection will be provided as
418 hp::hddprotect. For more information on the feature, refer to
9b5db89e 419 Documentation/misc-devices/lis3lv02d.rst.
efcfed9b
JD
420
421 To compile this driver as a module, choose M here: the module will
422 be called hp_accel.
423
a558ea42
ML
424config WIRELESS_HOTKEY
425 tristate "Wireless hotkey button"
54290fa6
AH
426 depends on ACPI
427 depends on INPUT
428 help
a558ea42
ML
429 This driver provides supports for the wireless buttons found on some AMD,
430 HP, & Xioami laptops.
54290fa6
AH
431 On such systems the driver should load automatically (via ACPI alias).
432
433 To compile this driver as a module, choose M here: the module will
a558ea42 434 be called wireless-hotkey.
54290fa6 435
41b16dce
LB
436config HP_WMI
437 tristate "HP WMI extras"
438 depends on ACPI_WMI
439 depends on INPUT
19d337df 440 depends on RFKILL || RFKILL = n
4d291ed7 441 select INPUT_SPARSEKMAP
4296f679 442 select ACPI_PLATFORM_PROFILE
41b16dce
LB
443 help
444 Say Y here if you want to support WMI-based hotkeys on HP laptops and
445 to read data from WMI such as docking or ambient light sensor state.
446
447 To compile this driver as a module, choose M here: the module will
448 be called hp-wmi.
449
45a3d578
AS
450config TC1100_WMI
451 tristate "HP Compaq TC1100 Tablet WMI Extras"
452 depends on !X86_64
dbf0c5a6
MZA
453 depends on ACPI
454 depends on ACPI_WMI
a7f7f624 455 help
45a3d578
AS
456 This is a driver for the WMI extensions (wireless and bluetooth power
457 control) of the HP Compaq TC1100 tablet.
41b16dce 458
45a3d578
AS
459config IBM_RTL
460 tristate "Device driver to enable PRTL support"
461 depends on PCI
a7f7f624 462 help
45a3d578
AS
463 Enable support for IBM Premium Real Time Mode (PRTM).
464 This module will allow you the enter and exit PRTM in the BIOS via
465 sysfs on platforms that support this feature. System in PRTM will
466 not receive CPU-generated SMIs for recoverable errors. Use of this
467 feature without proper support may void your hardware warranty.
41b16dce 468
45a3d578
AS
469 If the proper BIOS support is found the driver will load and create
470 /sys/devices/system/ibm_rtl/. The "state" variable will indicate
471 whether or not the BIOS is in PRTM.
472 state = 0 (BIOS SMIs on)
473 state = 1 (BIOS SMIs off)
41b16dce 474
57ac3b05
IP
475config IDEAPAD_LAPTOP
476 tristate "Lenovo IdeaPad Laptop Extras"
58ac7aa0 477 depends on ACPI
ad0f4306 478 depends on RFKILL && INPUT
07a4a4fc 479 depends on SERIO_I8042
445e8d00 480 depends on BACKLIGHT_CLASS_DEVICE
14ca7a47 481 depends on ACPI_VIDEO || ACPI_VIDEO = n
74caab99 482 depends on ACPI_WMI || ACPI_WMI = n
21f05a43 483 select ACPI_PLATFORM_PROFILE
f63409ae 484 select INPUT_SPARSEKMAP
d8f5c5ea
BP
485 select NEW_LEDS
486 select LEDS_CLASS
58ac7aa0 487 help
16fd91e0
IP
488 This is a driver for Lenovo IdeaPad netbooks contains drivers for
489 rfkill switch, hotkey, fan control and backlight control.
58ac7aa0 490
45a3d578
AS
491config SENSORS_HDAPS
492 tristate "Thinkpad Hard Drive Active Protection System (hdaps)"
3dda3b37 493 depends on INPUT
45a3d578
AS
494 help
495 This driver provides support for the IBM Hard Drive Active Protection
496 System (hdaps), which provides an accelerometer and other misc. data.
497 ThinkPads starting with the R50, T41, and X40 are supported. The
498 accelerometer data is readable via sysfs.
3dda3b37 499
45a3d578
AS
500 This driver also provides an absolute input class device, allowing
501 the laptop to act as a pinball machine-esque joystick.
502
503 If your ThinkPad is not recognized by the driver, please update to latest
504 BIOS. This is especially the case for some R52 ThinkPads.
505
506 Say Y here if you have an applicable laptop and want to experience
507 the awesome power of hdaps.
3dda3b37 508
41b16dce
LB
509config THINKPAD_ACPI
510 tristate "ThinkPad ACPI Laptop Extras"
511 depends on ACPI
2801b968 512 depends on ACPI_BATTERY
d263da31 513 depends on INPUT
19d337df 514 depends on RFKILL || RFKILL = n
14ca7a47
HG
515 depends on ACPI_VIDEO || ACPI_VIDEO = n
516 depends on BACKLIGHT_CLASS_DEVICE
153cca9c 517 depends on I2C
21f05a43 518 select ACPI_PLATFORM_PROFILE
41b16dce
LB
519 select HWMON
520 select NVRAM
41b16dce
LB
521 select NEW_LEDS
522 select LEDS_CLASS
4e1d0924
TI
523 select LEDS_TRIGGERS
524 select LEDS_TRIGGER_AUDIO
a7f7f624 525 help
41b16dce
LB
526 This is a driver for the IBM and Lenovo ThinkPad laptops. It adds
527 support for Fn-Fx key combinations, Bluetooth control, video
528 output switching, ThinkLight control, UltraBay eject and more.
529 For more information about this driver see
9e1cbede 530 <file:Documentation/admin-guide/laptops/thinkpad-acpi.rst> and
41b16dce
LB
531 <http://ibm-acpi.sf.net/> .
532
533 This driver was formerly known as ibm-acpi.
534
6e5b08ee
HMH
535 Extra functionality will be available if the rfkill (CONFIG_RFKILL)
536 and/or ALSA (CONFIG_SND) subsystems are available in the kernel.
537 Note that if you want ThinkPad-ACPI to be built-in instead of
538 modular, ALSA and rfkill will also have to be built-in.
539
41b16dce
LB
540 If you have an IBM or Lenovo ThinkPad laptop, say Y or M here.
541
ff850c33
HMH
542config THINKPAD_ACPI_ALSA_SUPPORT
543 bool "Console audio control ALSA interface"
544 depends on THINKPAD_ACPI
545 depends on SND
546 depends on SND = y || THINKPAD_ACPI = SND
547 default y
a7f7f624 548 help
ff850c33
HMH
549 Enables monitoring of the built-in console audio output control
550 (headphone and speakers), which is operated by the mute and (in
551 some ThinkPad models) volume hotkeys.
552
553 If this option is enabled, ThinkPad-ACPI will export an ALSA card
554 with a single read-only mixer control, which should be used for
555 on-screen-display feedback purposes by the Desktop Environment.
556
557 Optionally, the driver will also allow software control (the
558 ALSA mixer will be made read-write). Please refer to the driver
559 documentation for details.
560
561 All IBM models have both volume and mute control. Newer Lenovo
562 models only have mute control (the volume hotkeys are just normal
563 keys and volume control is done through the main HDA mixer).
564
a73f3091
HMH
565config THINKPAD_ACPI_DEBUGFACILITIES
566 bool "Maintainer debug facilities"
567 depends on THINKPAD_ACPI
a7f7f624 568 help
a73f3091
HMH
569 Enables extra stuff in the thinkpad-acpi which is completely useless
570 for normal use. Read the driver source to find out what it does.
571
572 Say N here, unless you were told by a kernel maintainer to do
573 otherwise.
574
41b16dce
LB
575config THINKPAD_ACPI_DEBUG
576 bool "Verbose debug mode"
577 depends on THINKPAD_ACPI
a7f7f624 578 help
41b16dce
LB
579 Enables extra debugging information, at the expense of a slightly
580 increase in driver size.
581
582 If you are not sure, say N here.
583
a4d5effc
HMH
584config THINKPAD_ACPI_UNSAFE_LEDS
585 bool "Allow control of important LEDs (unsafe)"
586 depends on THINKPAD_ACPI
a7f7f624 587 help
a4d5effc
HMH
588 Overriding LED state on ThinkPads can mask important
589 firmware alerts (like critical battery condition), or misled
590 the user into damaging the hardware (undocking or ejecting
591 the bay while buses are still active), etc.
592
593 LED control on the ThinkPad is write-only (with very few
594 exceptions on very ancient models), which makes it
595 impossible to know beforehand if important information will
596 be lost when one changes LED state.
597
598 Users that know what they are doing can enable this option
599 and the driver will allow control of every LED, including
600 the ones on the dock stations.
601
602 Never enable this option on a distribution kernel.
603
604 Say N here, unless you are building a kernel for your own
605 use, and need to control the important firmware LEDs.
606
41b16dce
LB
607config THINKPAD_ACPI_VIDEO
608 bool "Video output control support"
609 depends on THINKPAD_ACPI
610 default y
a7f7f624 611 help
41b16dce
LB
612 Allows the thinkpad_acpi driver to provide an interface to control
613 the various video output ports.
614
615 This feature often won't work well, depending on ThinkPad model,
616 display state, video output devices in use, whether there is a X
617 server running, phase of the moon, and the current mood of
618 Schroedinger's cat. If you can use X.org's RandR to control
619 your ThinkPad's video output ports instead of this feature,
b525c06c
HMH
620 don't think twice: do it and say N here to save memory and avoid
621 bad interactions with X.org.
41b16dce 622
b525c06c
HMH
623 NOTE: access to this feature is limited to processes with the
624 CAP_SYS_ADMIN capability, to avoid local DoS issues in platforms
625 where it interacts badly with X.org.
626
627 If you are not sure, say Y here but do try to check if you could
628 be using X.org RandR instead.
41b16dce
LB
629
630config THINKPAD_ACPI_HOTKEY_POLL
631 bool "Support NVRAM polling for hot keys"
632 depends on THINKPAD_ACPI
633 default y
a7f7f624 634 help
41b16dce
LB
635 Some thinkpad models benefit from NVRAM polling to detect a few of
636 the hot key press events. If you know your ThinkPad model does not
637 need to do NVRAM polling to support any of the hot keys you use,
638 unselecting this option will save about 1kB of memory.
639
640 ThinkPads T40 and newer, R52 and newer, and X31 and newer are
641 unlikely to need NVRAM polling in their latest BIOS versions.
642
643 NVRAM polling can detect at most the following keys: ThinkPad/Access
644 IBM, Zoom, Switch Display (fn+F7), ThinkLight, Volume up/down/mute,
645 Brightness up/down, Display Expand (fn+F8), Hibernate (fn+F12).
646
647 If you are not sure, say Y here. The driver enables polling only if
648 it is strictly necessary to do so.
649
a40cd7ef
MP
650config THINKPAD_LMI
651 tristate "Lenovo WMI-based systems management driver"
652 depends on ACPI_WMI
653 select FW_ATTR_CLASS
654 help
655 This driver allows changing BIOS settings on Lenovo machines whose
656 BIOS support the WMI interface.
657
658 To compile this driver as a module, choose M here: the module will
659 be called think-lmi.
660
8bd836fe
AS
661source "drivers/platform/x86/intel/Kconfig"
662
45a3d578
AS
663config MSI_LAPTOP
664 tristate "MSI Laptop Extras"
665 depends on ACPI
666 depends on BACKLIGHT_CLASS_DEVICE
667 depends on ACPI_VIDEO || ACPI_VIDEO = n
668 depends on RFKILL
669 depends on INPUT && SERIO_I8042
670 select INPUT_SPARSEKMAP
a7f7f624 671 help
45a3d578
AS
672 This is a driver for laptops built by MSI (MICRO-STAR
673 INTERNATIONAL):
edb73f4f 674
45a3d578
AS
675 MSI MegaBook S270 (MS-1013)
676 Cytron/TCM/Medion/Tchibo MD96100/SAM2000
677
678 It adds support for Bluetooth, WLAN and LCD brightness control.
679
680 More information about this driver is available at
681 <http://0pointer.de/lennart/tchibo.html>.
682
683 If you have an MSI S270 laptop, say Y or M here.
edb73f4f 684
d12d8baf
TR
685config MSI_WMI
686 tristate "MSI WMI extras"
687 depends on ACPI_WMI
688 depends on INPUT
de078e57 689 depends on BACKLIGHT_CLASS_DEVICE
14ca7a47 690 depends on ACPI_VIDEO || ACPI_VIDEO = n
c30116c6 691 select INPUT_SPARSEKMAP
d12d8baf
TR
692 help
693 Say Y here if you want to support WMI-based hotkeys on MSI laptops.
694
695 To compile this driver as a module, choose M here: the module will
696 be called msi-wmi.
697
45a3d578
AS
698config XO15_EBOOK
699 tristate "OLPC XO-1.5 ebook switch"
700 depends on OLPC || COMPILE_TEST
701 depends on ACPI && INPUT
a7f7f624 702 help
45a3d578
AS
703 Support for the ebook switch on the OLPC XO-1.5 laptop.
704
705 This switch is triggered as the screen is rotated and folded down to
706 convert the device into ebook form.
707
708config XO1_RFKILL
709 tristate "OLPC XO-1 software RF kill switch"
710 depends on OLPC || COMPILE_TEST
711 depends on RFKILL
a7f7f624 712 help
45a3d578
AS
713 Support for enabling/disabling the WLAN interface on the OLPC XO-1
714 laptop.
715
716config PCENGINES_APU2
717 tristate "PC Engines APUv2/3 front button and LEDs driver"
718 depends on INPUT && INPUT_KEYBOARD && GPIOLIB
719 depends on LEDS_CLASS
720 select GPIO_AMD_FCH
721 select KEYBOARD_GPIO_POLLED
722 select LEDS_GPIO
13bb0fd5 723 help
45a3d578
AS
724 This driver provides support for the front button and LEDs on
725 PC Engines APUv2/APUv3 board.
13bb0fd5 726
45a3d578
AS
727 To compile this driver as a module, choose M here: the module
728 will be called pcengines-apuv2.
729
730config SAMSUNG_LAPTOP
731 tristate "Samsung Laptop driver"
732 depends on RFKILL || RFKILL = n
733 depends on ACPI_VIDEO || ACPI_VIDEO = n
734 depends on BACKLIGHT_CLASS_DEVICE
bf8f65da
GDG
735 select LEDS_CLASS
736 select NEW_LEDS
a7f7f624 737 help
45a3d578
AS
738 This module implements a driver for a wide range of different
739 Samsung laptops. It offers control over the different
740 function keys, wireless LED, LCD backlight level.
9caeb532 741
45a3d578
AS
742 It may also provide some sysfs files described in
743 <file:Documentation/ABI/testing/sysfs-driver-samsung-laptop>
9caeb532 744
45a3d578
AS
745 To compile this driver as a module, choose M here: the module
746 will be called samsung-laptop.
747
748config SAMSUNG_Q10
749 tristate "Samsung Q10 Extras"
b4f9fe12 750 depends on ACPI
45a3d578 751 select BACKLIGHT_CLASS_DEVICE
a7f7f624 752 help
45a3d578
AS
753 This driver provides support for backlight control on Samsung Q10
754 and related laptops, including Dell Latitude X200.
755
756config ACPI_TOSHIBA
757 tristate "Toshiba Laptop Extras"
b4f9fe12 758 depends on ACPI
f11f999e 759 depends on ACPI_WMI
0c51a4d8
MB
760 select LEDS_CLASS
761 select NEW_LEDS
c76a3e1d 762 depends on BACKLIGHT_CLASS_DEVICE
b4f9fe12 763 depends on INPUT
283672e4 764 depends on SERIO_I8042 || SERIO_I8042 = n
358d6a2c 765 depends on ACPI_VIDEO || ACPI_VIDEO = n
dc4522be 766 depends on RFKILL || RFKILL = n
98010f1e 767 depends on IIO
384a7cd9 768 select INPUT_SPARSEKMAP
a7f7f624 769 help
b4f9fe12
LB
770 This driver adds support for access to certain system settings
771 on "legacy free" Toshiba laptops. These laptops can be recognized by
772 their lack of a BIOS setup menu and APM support.
773
774 On these machines, all system configuration is handled through the
775 ACPI. This driver is required for access to controls not covered
776 by the general ACPI drivers, such as LCD brightness, video output,
777 etc.
778
779 This driver differs from the non-ACPI Toshiba laptop driver (located
780 under "Processor type and features") in several aspects.
781 Configuration is accessed by reading and writing text files in the
782 /proc tree instead of by program interface to /dev. Furthermore, no
783 power management functions are exposed, as those are handled by the
784 general ACPI drivers.
785
786 More information about this driver is available at
787 <http://memebeam.org/toys/ToshibaAcpiDriver>.
788
789 If you have a legacy free Toshiba laptop (such as the Libretto L1
790 series), say Y.
42b4e9ee
JS
791
792config TOSHIBA_BT_RFKILL
793 tristate "Toshiba Bluetooth RFKill switch support"
794 depends on ACPI
7ee8cd33 795 depends on RFKILL || RFKILL = n
a7f7f624 796 help
42b4e9ee
JS
797 This driver adds support for Bluetooth events for the RFKill
798 switch on modern Toshiba laptops with full ACPI support and
799 an RFKill switch.
800
801 This driver handles RFKill events for the TOS6205 Bluetooth,
802 and re-enables it when the switch is set back to the 'on'
803 position.
804
805 If you have a modern Toshiba laptop with a Bluetooth and an
806 RFKill switch (such as the Portege R500), say Y.
529aa8cb 807
186e4e89
AA
808config TOSHIBA_HAPS
809 tristate "Toshiba HDD Active Protection Sensor"
810 depends on ACPI
a7f7f624 811 help
186e4e89 812 This driver adds support for the built-in accelerometer
769a12a9 813 found on recent Toshiba laptops equipped with HID TOS620A
186e4e89
AA
814 device.
815
816 This driver receives ACPI notify events 0x80 when the sensor
817 detects a sudden move or a harsh vibration, as well as an
818 ACPI notify event 0x81 whenever the movement or vibration has
819 been stabilized.
820
821 Also provides sysfs entries to get/set the desired protection
769a12a9 822 level and resetting the HDD protection interface.
186e4e89
AA
823
824 If you have a recent Toshiba laptop with a built-in accelerometer
825 device, say Y.
826
14991fc7
AA
827config TOSHIBA_WMI
828 tristate "Toshiba WMI Hotkeys Driver (EXPERIMENTAL)"
14991fc7
AA
829 depends on ACPI_WMI
830 depends on INPUT
831 select INPUT_SPARSEKMAP
a7f7f624 832 help
14991fc7
AA
833 This driver adds hotkey monitoring support to some Toshiba models
834 that manage the hotkeys via WMI events.
835
836 WARNING: This driver is incomplete as it lacks a proper keymap and the
837 *notify function only prints the ACPI event type value. Be warned that
838 you will need to provide some information if you have a Toshiba model
83fc61a5 839 with WMI event hotkeys and want to help with the development of this
14991fc7
AA
840 driver.
841
842 If you have a WMI-based hotkeys Toshiba laptop, say Y or M here.
843
529aa8cb
TLSC
844config ACPI_CMPC
845 tristate "CMPC Laptop Extras"
4f258cf4 846 depends on ACPI && INPUT
f35843ed 847 depends on RFKILL || RFKILL=n
529aa8cb 848 select BACKLIGHT_CLASS_DEVICE
529aa8cb
TLSC
849 help
850 Support for Intel Classmate PC ACPI devices, including some
851 keys as input device, backlight device, tablet and accelerometer
852 devices.
853
45a3d578
AS
854config COMPAL_LAPTOP
855 tristate "Compal (and others) Laptop Extras"
856 depends on ACPI
857 depends on BACKLIGHT_CLASS_DEVICE
858 depends on ACPI_VIDEO || ACPI_VIDEO = n
859 depends on RFKILL
860 depends on HWMON
861 depends on POWER_SUPPLY
a7f7f624 862 help
45a3d578
AS
863 This is a driver for laptops built by Compal, and some models by
864 other brands (e.g. Dell, Toshiba).
1cd706df 865
45a3d578
AS
866 It adds support for rfkill, Bluetooth, WLAN, LCD brightness, hwmon
867 and battery charging level control.
d740795d 868
45a3d578
AS
869config LG_LAPTOP
870 tristate "LG Laptop Extras"
871 depends on ACPI
872 depends on ACPI_WMI
873 depends on INPUT
874 select INPUT_SPARSEKMAP
8f0c01e6 875 select NEW_LEDS
45a3d578
AS
876 select LEDS_CLASS
877 help
878 This driver adds support for hotkeys as well as control of keyboard
879 backlight, battery maximum charge level and various other ACPI
880 features.
1cd706df 881
45a3d578
AS
882 If you have an LG Gram laptop, say Y or M here.
883
884config PANASONIC_LAPTOP
885 tristate "Panasonic Laptop Extras"
886 depends on INPUT && ACPI
887 depends on BACKLIGHT_CLASS_DEVICE
888 select INPUT_SPARSEKMAP
a7f7f624 889 help
45a3d578
AS
890 This driver adds support for access to backlight control and hotkeys
891 on Panasonic Let's Note laptops.
d740795d 892
45a3d578
AS
893 If you have a Panasonic Let's note laptop (such as the R1(N variant),
894 R2, R3, R5, T2, W2 and Y2 series), say Y.
455e027f 895
45a3d578
AS
896config SONY_LAPTOP
897 tristate "Sony Laptop Extras"
898 depends on ACPI
899 depends on ACPI_VIDEO || ACPI_VIDEO = n
900 depends on BACKLIGHT_CLASS_DEVICE
901 depends on INPUT
902 depends on RFKILL
a7f7f624 903 help
45a3d578
AS
904 This mini-driver drives the SNC and SPIC devices present in the ACPI
905 BIOS of the Sony Vaio laptops.
63dada87 906
45a3d578
AS
907 It gives access to some extra laptop functionalities like Bluetooth,
908 screen brightness control, Fn keys and allows powering on/off some
909 devices.
63dada87 910
45a3d578 911 Read <file:Documentation/admin-guide/laptops/sony-laptop.rst> for more information.
63dada87 912
45a3d578
AS
913config SONYPI_COMPAT
914 bool "Sonypi compatibility"
915 depends on SONY_LAPTOP
a7f7f624 916 help
45a3d578
AS
917 Build the sonypi driver compatibility code into the sony-laptop driver.
918
919config SYSTEM76_ACPI
920 tristate "System76 ACPI Driver"
ecc83e52 921 depends on ACPI
45a3d578
AS
922 select NEW_LEDS
923 select LEDS_CLASS
924 select LEDS_TRIGGERS
ecc83e52 925 help
45a3d578
AS
926 This is a driver for System76 laptops running open firmware. It adds
927 support for Fn-Fx key combinations, keyboard backlight, and airplane mode
928 LEDs.
ecc83e52 929
45a3d578 930 If you have a System76 laptop running open firmware, say Y or M here.
ecc83e52 931
45a3d578
AS
932config TOPSTAR_LAPTOP
933 tristate "Topstar Laptop Extras"
332e0812
AK
934 depends on ACPI
935 depends on INPUT
936 select INPUT_SPARSEKMAP
45a3d578
AS
937 select LEDS_CLASS
938 select NEW_LEDS
a7f7f624 939 help
45a3d578 940 This driver adds support for hotkeys found on Topstar laptops.
9a58a333 941
45a3d578 942 If you have a Topstar laptop, say Y or M here.
5369c02d 943
45a3d578
AS
944config I2C_MULTI_INSTANTIATE
945 tristate "I2C multi instantiate pseudo device driver"
946 depends on I2C && ACPI
8eec8a11 947 help
45a3d578
AS
948 Some ACPI-based systems list multiple i2c-devices in a single ACPI
949 firmware-node. This driver will instantiate separate i2c-clients
950 for each device in the firmware-node.
8eec8a11 951
45a3d578
AS
952 To compile this driver as a module, choose M here: the module
953 will be called i2c-multi-instantiate.
8eec8a11 954
45a3d578
AS
955config MLX_PLATFORM
956 tristate "Mellanox Technologies platform support"
957 depends on I2C && REGMAP
a7f7f624 958 help
45a3d578
AS
959 This option enables system support for the Mellanox Technologies
960 platform. The Mellanox systems provide data center networking
961 solutions based on Virtual Protocol Interconnect (VPI) technology
962 enable seamless connectivity to 56/100Gb/s InfiniBand or 10/40/56GbE
963 connection.
f017fbe7 964
45a3d578
AS
965 If you have a Mellanox system, say Y or M here.
966
967config TOUCHSCREEN_DMI
968 bool "DMI based touchscreen configuration info"
969 depends on ACPI && DMI && I2C=y && TOUCHSCREEN_SILEAD
dba43fc4 970 select EFI_EMBEDDED_FIRMWARE if EFI
a7f7f624 971 help
45a3d578
AS
972 Certain ACPI based tablets with e.g. Silead or Chipone touchscreens
973 do not have enough data in ACPI tables for the touchscreen driver to
974 handle the touchscreen properly, as OEMs expect the data to be baked
975 into the tablet model specific version of the driver shipped with the
976 the OS-image for the device. This option supplies the missing info.
977 Enable this for x86 tablets with Silead or Chipone touchscreens.
aa7ffc01 978
17b707fe
MP
979config FW_ATTR_CLASS
980 tristate
17b707fe 981
28a375df
BD
982config INTEL_IMR
983 bool "Intel Isolated Memory Region support"
28a375df 984 depends on X86_INTEL_QUARK && IOSF_MBI
a7f7f624 985 help
28a375df
BD
986 This option provides a means to manipulate Isolated Memory Regions.
987 IMRs are a set of registers that define read and write access masks
988 to prohibit certain system agents from accessing memory with 1 KiB
989 granularity.
990
991 IMRs make it possible to control read/write access to an address
992 by hardware agents inside the SoC. Read and write masks can be
993 defined for:
45a3d578
AS
994 - eSRAM flush
995 - Dirty CPU snoop (write only)
996 - RMU access
997 - PCI Virtual Channel 0/Virtual Channel 1
998 - SMM mode
999 - Non SMM mode
bb3ce202 1000
45a3d578
AS
1001 Quark contains a set of eight IMR registers and makes use of those
1002 registers during its bootup process.
78542e18 1003
45a3d578
AS
1004 If you are running on a Galileo/Quark say Y here.
1005
1006config INTEL_IPS
1007 tristate "Intel Intelligent Power Sharing"
7934d76c 1008 depends on ACPI && PCI
a7f7f624 1009 help
45a3d578
AS
1010 Intel Calpella platforms support dynamic power sharing between the
1011 CPU and GPU, maximizing performance in a given TDP. This driver,
1012 along with the CPU frequency and i915 drivers, provides that
1013 functionality. If in doubt, say Y here; it will only load on
1014 supported platforms.
917ee75a 1015
45a3d578 1016config INTEL_SCU_IPC
54b34aa0
MW
1017 bool
1018
1019config INTEL_SCU
1020 bool
1021 select INTEL_SCU_IPC
1022
1023config INTEL_SCU_PCI
1024 bool "Intel SCU PCI driver"
b8da68f4 1025 depends on PCI
54b34aa0
MW
1026 select INTEL_SCU
1027 help
1028 This driver is used to bridge the communications between kernel
1029 and SCU on some embedded Intel x86 platforms. It also creates
b8da68f4
MW
1030 devices that are connected to the SoC through the SCU.
1031 Platforms supported:
1032 Medfield
1033 Clovertrail
1034 Merrifield
1035 Broxton
1036 Apollo Lake
35f2c14d 1037
7a61f05e
MW
1038config INTEL_SCU_PLATFORM
1039 tristate "Intel SCU platform driver"
1040 depends on ACPI
1041 select INTEL_SCU
1042 help
1043 This driver is used to bridge the communications between kernel
1044 and SCU (sometimes called PMC as well). The driver currently
1045 supports Intel Elkhart Lake and compatible platforms.
1046
18365d68
AS
1047config INTEL_SCU_WDT
1048 bool
1049 default INTEL_SCU_PCI
1050 depends on INTEL_MID_WATCHDOG
1051 help
1052 This is a specific platform code to instantiate watchdog device
1053 on ACPI-based Intel MID platforms.
1054
45a3d578
AS
1055config INTEL_SCU_IPC_UTIL
1056 tristate "Intel SCU IPC utility driver"
54b34aa0 1057 depends on INTEL_SCU
a7f7f624 1058 help
45a3d578
AS
1059 The IPC Util driver provides an interface with the SCU enabling
1060 low level access for debug work and updating the firmware. Say
1061 N unless you will be doing this on an Intel MID platform.
fd13c862 1062
41b16dce 1063endif # X86_PLATFORM_DEVICES
80a7581f
IT
1064
1065config PMC_ATOM
1066 def_bool y
1067 depends on PCI
282a4e4c 1068 select COMMON_CLK