1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Dell X86 Platform Specific Drivers
4#
5
6menuconfig X86_PLATFORM_DRIVERS_DELL
7	bool "Dell X86 Platform Specific Device Drivers"
8	help
9	  Say Y here to get to see options for device drivers for various
10	  Dell x86 platforms, including vendor-specific laptop extension drivers.
11	  This option alone does not add any kernel code.
12
13	  If you say N, all options in this submenu will be skipped and disabled.
14
15if X86_PLATFORM_DRIVERS_DELL
16
17config ALIENWARE_WMI
18	tristate "Alienware Special feature control"
19	default m
20	depends on ACPI
21	depends on LEDS_CLASS
22	depends on NEW_LEDS
23	depends on ACPI_WMI
24	select ACPI_PLATFORM_PROFILE
25	help
26	 This is a driver for controlling Alienware BIOS driven
27	 features.  It exposes an interface for controlling the AlienFX
28	 zones on Alienware machines that don't contain a dedicated AlienFX
29	 USB MCU such as the X51 and X51-R2.
30
31config DCDBAS
32	tristate "Dell Systems Management Base Driver"
33	default m
34	depends on X86
35	help
36	  The Dell Systems Management Base Driver provides a sysfs interface
37	  for systems management software to perform System Management
38	  Interrupts (SMIs) and Host Control Actions (system power cycle or
39	  power off after OS shutdown) on certain Dell systems.
40
41	  See <file:Documentation/userspace-api/dcdbas.rst> for more details on the driver
42	  and the Dell systems on which Dell systems management software makes
43	  use of this driver.
44
45	  Say Y or M here to enable the driver for use by Dell systems
46	  management software such as Dell OpenManage.
47
48config DELL_LAPTOP
49	tristate "Dell Laptop Extras"
50	default m
51	depends on DMI
52	depends on BACKLIGHT_CLASS_DEVICE
53	depends on ACPI_BATTERY
54	depends on ACPI_VIDEO || ACPI_VIDEO = n
55	depends on RFKILL || RFKILL = n
56	depends on DELL_WMI || DELL_WMI = n
57	depends on SERIO_I8042
58	depends on DELL_SMBIOS
59	select POWER_SUPPLY
60	select LEDS_CLASS
61	select NEW_LEDS
62	help
63	This driver adds support for rfkill and backlight control to Dell
64	laptops (except for some models covered by the Compal driver).
65
66config DELL_RBU
67	tristate "BIOS update support for DELL systems via sysfs"
68	default m
69	depends on X86
70	select FW_LOADER
71	select FW_LOADER_USER_HELPER
72	help
73	 Say m if you want to have the option of updating the BIOS for your
74	 DELL system. Note you need a Dell OpenManage or Dell Update package (DUP)
75	 supporting application to communicate with the BIOS regarding the new
76	 image for the image update to take effect.
77	 See <file:Documentation/admin-guide/dell_rbu.rst> for more details on the driver.
78
79config DELL_RBTN
80	tristate "Dell Airplane Mode Switch driver"
81	default m
82	depends on ACPI
83	depends on INPUT
84	depends on RFKILL
85	help
86	  Say Y here if you want to support Dell Airplane Mode Switch ACPI
87	  device on Dell laptops. Sometimes it has names: DELLABCE or DELRBTN.
88	  This driver register rfkill device or input hotkey device depending
89	  on hardware type (hw switch slider or keyboard toggle button). For
90	  rfkill devices it receive HW switch events and set correct hard
91	  rfkill state.
92
93	  To compile this driver as a module, choose M here: the module will
94	  be called dell-rbtn.
95
96config DELL_PC
97	tristate "Dell PC Extras"
98	default m
99	depends on ACPI
100	depends on DMI
101	depends on DELL_SMBIOS
102	select ACPI_PLATFORM_PROFILE
103	help
104	This driver adds support for controlling the fan modes via platform_profile
105	on supported Dell systems regardless of formfactor.
106	Module will simply do nothing if thermal management commands are not
107	supported.
108
109#
110# The DELL_SMBIOS driver depends on ACPI_WMI and/or DCDBAS if those
111# backends are selected. The "depends" line prevents a configuration
112# where DELL_SMBIOS=y while either of those dependencies =m.
113#
114config DELL_SMBIOS
115	tristate "Dell SMBIOS driver"
116	default m
117	depends on DCDBAS || DCDBAS=n
118	depends on ACPI_WMI || ACPI_WMI=n
119	help
120	This provides support for the Dell SMBIOS calling interface.
121	If you have a Dell computer you should enable this option.
122
123	Be sure to select at least one backend for it to work properly.
124
125config DELL_SMBIOS_WMI
126	bool "Dell SMBIOS driver WMI backend"
127	default y
128	depends on ACPI_WMI
129	select DELL_WMI_DESCRIPTOR
130	depends on DELL_SMBIOS
131	help
132	This provides an implementation for the Dell SMBIOS calling interface
133	communicated over ACPI-WMI.
134
135	If you have a Dell computer from >2007 you should say Y here.
136	If you aren't sure and this module doesn't work for your computer
137	it just won't load.
138
139config DELL_SMBIOS_SMM
140	bool "Dell SMBIOS driver SMM backend"
141	default y
142	depends on DCDBAS
143	depends on DELL_SMBIOS
144	help
145	This provides an implementation for the Dell SMBIOS calling interface
146	communicated over SMI/SMM.
147
148	If you have a Dell computer from <=2017 you should say Y here.
149	If you aren't sure and this module doesn't work for your computer
150	it just won't load.
151
152config DELL_SMO8800
153	tristate "Dell Latitude freefall driver (ACPI SMO88XX)"
154	default m
155	depends on I2C
156	depends on ACPI || COMPILE_TEST
157	help
158	  Say Y here if you want to support SMO88XX freefall devices
159	  on Dell Latitude laptops.
160
161	  To compile this driver as a module, choose M here: the module will
162	  be called dell-smo8800.
163
164config DELL_UART_BACKLIGHT
165	tristate "Dell AIO UART Backlight driver"
166	depends on ACPI
167	depends on ACPI_VIDEO
168	depends on BACKLIGHT_CLASS_DEVICE
169	depends on SERIAL_DEV_BUS
170	help
171	  Say Y here if you want to support Dell AIO UART backlight interface.
172	  The Dell AIO machines released after 2017 come with a UART interface
173	  to communicate with the backlight scalar board. This driver creates
174	  a standard backlight interface and talks to the scalar board through
175	  UART to adjust the AIO screen brightness.
176
177	  To compile this driver as a module, choose M here: the module will
178	  be called dell_uart_backlight.
179
180config DELL_WMI
181	tristate "Dell WMI notifications"
182	default m
183	depends on ACPI_WMI
184	depends on DMI
185	depends on INPUT
186	depends on ACPI_VIDEO || ACPI_VIDEO = n
187	depends on DELL_SMBIOS
188	select DELL_WMI_DESCRIPTOR
189	select INPUT_SPARSEKMAP
190	help
191	  Say Y here if you want to support WMI-based hotkeys on Dell laptops.
192
193	  To compile this driver as a module, choose M here: the module will
194	  be called dell-wmi.
195
196config DELL_WMI_PRIVACY
197	bool "Dell WMI Hardware Privacy Support"
198	depends on DELL_WMI
199	depends on ACPI_EC
200	help
201	  This option adds integration with the "Dell Hardware Privacy"
202	  feature of Dell laptops to the dell-wmi driver.
203
204config DELL_WMI_AIO
205	tristate "WMI Hotkeys for Dell All-In-One series"
206	default m
207	depends on ACPI_WMI
208	depends on INPUT
209	select INPUT_SPARSEKMAP
210	help
211	  Say Y here if you want to support WMI-based hotkeys on Dell
212	  All-In-One machines.
213
214	  To compile this driver as a module, choose M here: the module will
215	  be called dell-wmi-aio.
216
217config DELL_WMI_DESCRIPTOR
218	tristate
219	default n
220	depends on ACPI_WMI
221
222config DELL_WMI_DDV
223	tristate "Dell WMI sensors Support"
224	default m
225	depends on ACPI_WMI
226	depends on ACPI_BATTERY || HWMON
227	help
228	  This option adds support for WMI-based fan and thermal sensors
229	  found on some Dell notebooks. It also supports various WMI-based battery
230	  extras like reading of the battery temperature and ePPID.
231
232	  To compile this drivers as a module, choose M here: the module will
233	  be called dell-wmi-ddv.
234
235config DELL_WMI_LED
236	tristate "External LED on Dell Business Netbooks"
237	default m
238	depends on LEDS_CLASS
239	depends on ACPI_WMI
240	help
241	  This adds support for the Latitude 2100 and similar
242	  notebooks that have an external LED.
243
244config DELL_WMI_SYSMAN
245	tristate "Dell WMI-based Systems management driver"
246	default m
247	depends on ACPI_WMI
248	depends on DMI
249	select NLS
250	select FW_ATTR_CLASS
251	help
252	  This driver allows changing BIOS settings on many Dell machines from
253	  2018 and newer without the use of any additional software.
254
255	  To compile this driver as a module, choose M here: the module will
256	  be called dell-wmi-sysman.
257
258endif # X86_PLATFORM_DRIVERS_DELL
259