162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Dell X86 Platform Specific Drivers
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_cimenuconfig X86_PLATFORM_DRIVERS_DELL
762306a36Sopenharmony_ci	bool "Dell X86 Platform Specific Device Drivers"
862306a36Sopenharmony_ci	help
962306a36Sopenharmony_ci	  Say Y here to get to see options for device drivers for various
1062306a36Sopenharmony_ci	  Dell x86 platforms, including vendor-specific laptop extension drivers.
1162306a36Sopenharmony_ci	  This option alone does not add any kernel code.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	  If you say N, all options in this submenu will be skipped and disabled.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciif X86_PLATFORM_DRIVERS_DELL
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciconfig ALIENWARE_WMI
1862306a36Sopenharmony_ci	tristate "Alienware Special feature control"
1962306a36Sopenharmony_ci	default m
2062306a36Sopenharmony_ci	depends on ACPI
2162306a36Sopenharmony_ci	depends on LEDS_CLASS
2262306a36Sopenharmony_ci	depends on NEW_LEDS
2362306a36Sopenharmony_ci	depends on ACPI_WMI
2462306a36Sopenharmony_ci	help
2562306a36Sopenharmony_ci	 This is a driver for controlling Alienware BIOS driven
2662306a36Sopenharmony_ci	 features.  It exposes an interface for controlling the AlienFX
2762306a36Sopenharmony_ci	 zones on Alienware machines that don't contain a dedicated AlienFX
2862306a36Sopenharmony_ci	 USB MCU such as the X51 and X51-R2.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciconfig DCDBAS
3162306a36Sopenharmony_ci	tristate "Dell Systems Management Base Driver"
3262306a36Sopenharmony_ci	default m
3362306a36Sopenharmony_ci	depends on X86
3462306a36Sopenharmony_ci	help
3562306a36Sopenharmony_ci	  The Dell Systems Management Base Driver provides a sysfs interface
3662306a36Sopenharmony_ci	  for systems management software to perform System Management
3762306a36Sopenharmony_ci	  Interrupts (SMIs) and Host Control Actions (system power cycle or
3862306a36Sopenharmony_ci	  power off after OS shutdown) on certain Dell systems.
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci	  See <file:Documentation/driver-api/dcdbas.rst> for more details on the driver
4162306a36Sopenharmony_ci	  and the Dell systems on which Dell systems management software makes
4262306a36Sopenharmony_ci	  use of this driver.
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci	  Say Y or M here to enable the driver for use by Dell systems
4562306a36Sopenharmony_ci	  management software such as Dell OpenManage.
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ciconfig DELL_LAPTOP
4862306a36Sopenharmony_ci	tristate "Dell Laptop Extras"
4962306a36Sopenharmony_ci	default m
5062306a36Sopenharmony_ci	depends on DMI
5162306a36Sopenharmony_ci	depends on BACKLIGHT_CLASS_DEVICE
5262306a36Sopenharmony_ci	depends on ACPI_VIDEO || ACPI_VIDEO = n
5362306a36Sopenharmony_ci	depends on RFKILL || RFKILL = n
5462306a36Sopenharmony_ci	depends on DELL_WMI || DELL_WMI = n
5562306a36Sopenharmony_ci	depends on SERIO_I8042
5662306a36Sopenharmony_ci	depends on DELL_SMBIOS
5762306a36Sopenharmony_ci	select POWER_SUPPLY
5862306a36Sopenharmony_ci	select LEDS_CLASS
5962306a36Sopenharmony_ci	select NEW_LEDS
6062306a36Sopenharmony_ci	select LEDS_TRIGGERS
6162306a36Sopenharmony_ci	select LEDS_TRIGGER_AUDIO
6262306a36Sopenharmony_ci	help
6362306a36Sopenharmony_ci	This driver adds support for rfkill and backlight control to Dell
6462306a36Sopenharmony_ci	laptops (except for some models covered by the Compal driver).
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ciconfig DELL_RBU
6762306a36Sopenharmony_ci	tristate "BIOS update support for DELL systems via sysfs"
6862306a36Sopenharmony_ci	default m
6962306a36Sopenharmony_ci	depends on X86
7062306a36Sopenharmony_ci	select FW_LOADER
7162306a36Sopenharmony_ci	select FW_LOADER_USER_HELPER
7262306a36Sopenharmony_ci	help
7362306a36Sopenharmony_ci	 Say m if you want to have the option of updating the BIOS for your
7462306a36Sopenharmony_ci	 DELL system. Note you need a Dell OpenManage or Dell Update package (DUP)
7562306a36Sopenharmony_ci	 supporting application to communicate with the BIOS regarding the new
7662306a36Sopenharmony_ci	 image for the image update to take effect.
7762306a36Sopenharmony_ci	 See <file:Documentation/admin-guide/dell_rbu.rst> for more details on the driver.
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ciconfig DELL_RBTN
8062306a36Sopenharmony_ci	tristate "Dell Airplane Mode Switch driver"
8162306a36Sopenharmony_ci	default m
8262306a36Sopenharmony_ci	depends on ACPI
8362306a36Sopenharmony_ci	depends on INPUT
8462306a36Sopenharmony_ci	depends on RFKILL
8562306a36Sopenharmony_ci	help
8662306a36Sopenharmony_ci	  Say Y here if you want to support Dell Airplane Mode Switch ACPI
8762306a36Sopenharmony_ci	  device on Dell laptops. Sometimes it has names: DELLABCE or DELRBTN.
8862306a36Sopenharmony_ci	  This driver register rfkill device or input hotkey device depending
8962306a36Sopenharmony_ci	  on hardware type (hw switch slider or keyboard toggle button). For
9062306a36Sopenharmony_ci	  rfkill devices it receive HW switch events and set correct hard
9162306a36Sopenharmony_ci	  rfkill state.
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will
9462306a36Sopenharmony_ci	  be called dell-rbtn.
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci#
9762306a36Sopenharmony_ci# The DELL_SMBIOS driver depends on ACPI_WMI and/or DCDBAS if those
9862306a36Sopenharmony_ci# backends are selected. The "depends" line prevents a configuration
9962306a36Sopenharmony_ci# where DELL_SMBIOS=y while either of those dependencies =m.
10062306a36Sopenharmony_ci#
10162306a36Sopenharmony_ciconfig DELL_SMBIOS
10262306a36Sopenharmony_ci	tristate "Dell SMBIOS driver"
10362306a36Sopenharmony_ci	default m
10462306a36Sopenharmony_ci	depends on DCDBAS || DCDBAS=n
10562306a36Sopenharmony_ci	depends on ACPI_WMI || ACPI_WMI=n
10662306a36Sopenharmony_ci	help
10762306a36Sopenharmony_ci	This provides support for the Dell SMBIOS calling interface.
10862306a36Sopenharmony_ci	If you have a Dell computer you should enable this option.
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ci	Be sure to select at least one backend for it to work properly.
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ciconfig DELL_SMBIOS_WMI
11362306a36Sopenharmony_ci	bool "Dell SMBIOS driver WMI backend"
11462306a36Sopenharmony_ci	default y
11562306a36Sopenharmony_ci	depends on ACPI_WMI
11662306a36Sopenharmony_ci	select DELL_WMI_DESCRIPTOR
11762306a36Sopenharmony_ci	depends on DELL_SMBIOS
11862306a36Sopenharmony_ci	help
11962306a36Sopenharmony_ci	This provides an implementation for the Dell SMBIOS calling interface
12062306a36Sopenharmony_ci	communicated over ACPI-WMI.
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci	If you have a Dell computer from >2007 you should say Y here.
12362306a36Sopenharmony_ci	If you aren't sure and this module doesn't work for your computer
12462306a36Sopenharmony_ci	it just won't load.
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ciconfig DELL_SMBIOS_SMM
12762306a36Sopenharmony_ci	bool "Dell SMBIOS driver SMM backend"
12862306a36Sopenharmony_ci	default y
12962306a36Sopenharmony_ci	depends on DCDBAS
13062306a36Sopenharmony_ci	depends on DELL_SMBIOS
13162306a36Sopenharmony_ci	help
13262306a36Sopenharmony_ci	This provides an implementation for the Dell SMBIOS calling interface
13362306a36Sopenharmony_ci	communicated over SMI/SMM.
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci	If you have a Dell computer from <=2017 you should say Y here.
13662306a36Sopenharmony_ci	If you aren't sure and this module doesn't work for your computer
13762306a36Sopenharmony_ci	it just won't load.
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ciconfig DELL_SMO8800
14062306a36Sopenharmony_ci	tristate "Dell Latitude freefall driver (ACPI SMO88XX)"
14162306a36Sopenharmony_ci	default m
14262306a36Sopenharmony_ci	depends on ACPI || COMPILE_TEST
14362306a36Sopenharmony_ci	help
14462306a36Sopenharmony_ci	  Say Y here if you want to support SMO88XX freefall devices
14562306a36Sopenharmony_ci	  on Dell Latitude laptops.
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will
14862306a36Sopenharmony_ci	  be called dell-smo8800.
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ciconfig DELL_WMI
15162306a36Sopenharmony_ci	tristate "Dell WMI notifications"
15262306a36Sopenharmony_ci	default m
15362306a36Sopenharmony_ci	depends on ACPI_WMI
15462306a36Sopenharmony_ci	depends on DMI
15562306a36Sopenharmony_ci	depends on INPUT
15662306a36Sopenharmony_ci	depends on ACPI_VIDEO || ACPI_VIDEO = n
15762306a36Sopenharmony_ci	depends on DELL_SMBIOS
15862306a36Sopenharmony_ci	select DELL_WMI_DESCRIPTOR
15962306a36Sopenharmony_ci	select INPUT_SPARSEKMAP
16062306a36Sopenharmony_ci	help
16162306a36Sopenharmony_ci	  Say Y here if you want to support WMI-based hotkeys on Dell laptops.
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will
16462306a36Sopenharmony_ci	  be called dell-wmi.
16562306a36Sopenharmony_ci
16662306a36Sopenharmony_ciconfig DELL_WMI_PRIVACY
16762306a36Sopenharmony_ci	bool "Dell WMI Hardware Privacy Support"
16862306a36Sopenharmony_ci	depends on LEDS_TRIGGER_AUDIO = y || DELL_WMI = LEDS_TRIGGER_AUDIO
16962306a36Sopenharmony_ci	depends on DELL_WMI
17062306a36Sopenharmony_ci	help
17162306a36Sopenharmony_ci	  This option adds integration with the "Dell Hardware Privacy"
17262306a36Sopenharmony_ci	  feature of Dell laptops to the dell-wmi driver.
17362306a36Sopenharmony_ci
17462306a36Sopenharmony_ciconfig DELL_WMI_AIO
17562306a36Sopenharmony_ci	tristate "WMI Hotkeys for Dell All-In-One series"
17662306a36Sopenharmony_ci	default m
17762306a36Sopenharmony_ci	depends on ACPI_WMI
17862306a36Sopenharmony_ci	depends on INPUT
17962306a36Sopenharmony_ci	select INPUT_SPARSEKMAP
18062306a36Sopenharmony_ci	help
18162306a36Sopenharmony_ci	  Say Y here if you want to support WMI-based hotkeys on Dell
18262306a36Sopenharmony_ci	  All-In-One machines.
18362306a36Sopenharmony_ci
18462306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will
18562306a36Sopenharmony_ci	  be called dell-wmi-aio.
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_ciconfig DELL_WMI_DESCRIPTOR
18862306a36Sopenharmony_ci	tristate
18962306a36Sopenharmony_ci	default n
19062306a36Sopenharmony_ci	depends on ACPI_WMI
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_ciconfig DELL_WMI_DDV
19362306a36Sopenharmony_ci	tristate "Dell WMI sensors Support"
19462306a36Sopenharmony_ci	default m
19562306a36Sopenharmony_ci	depends on ACPI_WMI
19662306a36Sopenharmony_ci	depends on ACPI_BATTERY || HWMON
19762306a36Sopenharmony_ci	help
19862306a36Sopenharmony_ci	  This option adds support for WMI-based fan and thermal sensors
19962306a36Sopenharmony_ci	  found on some Dell notebooks. It also supports various WMI-based battery
20062306a36Sopenharmony_ci	  extras like reading of the battery temperature and ePPID.
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ci	  To compile this drivers as a module, choose M here: the module will
20362306a36Sopenharmony_ci	  be called dell-wmi-ddv.
20462306a36Sopenharmony_ci
20562306a36Sopenharmony_ciconfig DELL_WMI_LED
20662306a36Sopenharmony_ci	tristate "External LED on Dell Business Netbooks"
20762306a36Sopenharmony_ci	default m
20862306a36Sopenharmony_ci	depends on LEDS_CLASS
20962306a36Sopenharmony_ci	depends on ACPI_WMI
21062306a36Sopenharmony_ci	help
21162306a36Sopenharmony_ci	  This adds support for the Latitude 2100 and similar
21262306a36Sopenharmony_ci	  notebooks that have an external LED.
21362306a36Sopenharmony_ci
21462306a36Sopenharmony_ciconfig DELL_WMI_SYSMAN
21562306a36Sopenharmony_ci	tristate "Dell WMI-based Systems management driver"
21662306a36Sopenharmony_ci	default m
21762306a36Sopenharmony_ci	depends on ACPI_WMI
21862306a36Sopenharmony_ci	depends on DMI
21962306a36Sopenharmony_ci	select NLS
22062306a36Sopenharmony_ci	select FW_ATTR_CLASS
22162306a36Sopenharmony_ci	help
22262306a36Sopenharmony_ci	  This driver allows changing BIOS settings on many Dell machines from
22362306a36Sopenharmony_ci	  2018 and newer without the use of any additional software.
22462306a36Sopenharmony_ci
22562306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will
22662306a36Sopenharmony_ci	  be called dell-wmi-sysman.
22762306a36Sopenharmony_ci
22862306a36Sopenharmony_ciendif # X86_PLATFORM_DRIVERS_DELL
229