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