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