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