xref: /linux/drivers/platform/x86/intel/Kconfig (revision 500920fa76819b4909a32081e153bce80ce74824)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Intel x86 Platform Specific Drivers
4#
5
6source "drivers/platform/x86/intel/atomisp2/Kconfig"
7source "drivers/platform/x86/intel/ifs/Kconfig"
8source "drivers/platform/x86/intel/int1092/Kconfig"
9source "drivers/platform/x86/intel/int3472/Kconfig"
10source "drivers/platform/x86/intel/pmc/Kconfig"
11source "drivers/platform/x86/intel/pmt/Kconfig"
12source "drivers/platform/x86/intel/speed_select_if/Kconfig"
13source "drivers/platform/x86/intel/telemetry/Kconfig"
14source "drivers/platform/x86/intel/wmi/Kconfig"
15source "drivers/platform/x86/intel/uncore-frequency/Kconfig"
16
17
18config INTEL_HID_EVENT
19	tristate "Intel HID Event"
20	depends on ACPI
21	depends on INPUT
22	depends on I2C
23	select INPUT_SPARSEKMAP
24	help
25	  This driver provides support for the Intel HID Event hotkey interface.
26	  Some laptops require this driver for hotkey support.
27
28	  To compile this driver as a module, choose M here: the module will
29	  be called intel_hid.
30
31config INTEL_VBTN
32	tristate "Intel Virtual Button"
33	depends on ACPI
34	depends on INPUT
35	depends on I2C
36	select INPUT_SPARSEKMAP
37	help
38	  This driver provides support for the Intel Virtual Button interface.
39	  Some laptops require this driver for power button support.
40
41	  To compile this driver as a module, choose M here: the module will
42	  be called intel_vbtn.
43
44config INTEL_EHL_PSE_IO
45	tristate "Intel Elkhart Lake PSE I/O driver"
46	depends on PCI
47	select AUXILIARY_BUS
48	help
49	  Select this option to enable Intel Elkhart Lake PSE GPIO and Timed
50	  I/O support. This driver enumerates the PCI parent device and
51	  creates auxiliary child devices for these capabilities. The actual
52	  functionalities are provided by their respective auxiliary drivers.
53
54	  To compile this driver as a module, choose M here: the module will
55	  be called intel_ehl_pse_io.
56
57config INTEL_INT0002_VGPIO
58	tristate "Intel ACPI INT0002 Virtual GPIO driver"
59	depends on GPIOLIB && ACPI && PM_SLEEP
60	select GPIOLIB_IRQCHIP
61	help
62	  Some peripherals on Bay Trail and Cherry Trail platforms signal a
63	  Power Management Event (PME) to the Power Management Controller (PMC)
64	  to wakeup the system. When this happens software needs to explicitly
65	  clear the PME bus 0 status bit in the GPE0a_STS register to avoid an
66	  IRQ storm on IRQ 9.
67
68	  This is modelled in ACPI through the INT0002 ACPI device, which is
69	  called a "Virtual GPIO controller" in ACPI because it defines the
70	  event handler to call when the PME triggers through _AEI and _L02
71	  methods as would be done for a real GPIO interrupt in ACPI.
72
73	  To compile this driver as a module, choose M here: the module will
74	  be called intel_int0002_vgpio.
75
76config INTEL_OAKTRAIL
77	tristate "Intel Oaktrail Platform Extras"
78	depends on ACPI_EC
79	depends on ACPI_VIDEO || ACPI_VIDEO=n
80	depends on RFKILL && BACKLIGHT_CLASS_DEVICE && ACPI
81	help
82	  Intel Oaktrail platform need this driver to provide interfaces to
83	  enable/disable the Camera, WiFi, BT etc. devices. If in doubt, say Y
84	  here; it will only load on supported platforms.
85
86config INTEL_BXTWC_PMIC_TMU
87	tristate "Intel Broxton Whiskey Cove TMU Driver"
88	depends on INTEL_SOC_PMIC_BXTWC
89	depends on MFD_INTEL_PMC_BXT
90	select REGMAP
91	help
92	  Select this driver to use Intel Broxton Whiskey Cove PMIC TMU feature.
93	  This driver enables the alarm wakeup functionality in the TMU unit of
94	  Whiskey Cove PMIC.
95
96config INTEL_BYTCRC_PWRSRC
97	tristate "Intel Bay Trail Crystal Cove power source driver"
98	depends on INTEL_SOC_PMIC
99	depends on POWER_SUPPLY
100	help
101	  This option adds a power source driver for Crystal Cove PMICs
102	  on Intel Bay Trail devices.
103
104	  To compile this driver as a module, choose M here: the module
105	  will be called intel_bytcrc_pwrsrc.
106
107config INTEL_CHTDC_TI_PWRBTN
108	tristate "Intel Cherry Trail Dollar Cove TI power button driver"
109	depends on INTEL_SOC_PMIC_CHTDC_TI
110	depends on INPUT
111	help
112	  This option adds a power button driver for Dollar Cove TI
113	  PMIC on Intel Cherry Trail devices.
114
115	  To compile this driver as a module, choose M here: the module
116	  will be called intel_chtdc_ti_pwrbtn.
117
118config INTEL_CHTWC_INT33FE
119	tristate "Intel Cherry Trail Whiskey Cove ACPI INT33FE Driver"
120	depends on X86 && ACPI && I2C && REGULATOR
121	depends on CHARGER_BQ24190=y || (CHARGER_BQ24190=m && m)
122	depends on USB_ROLES_INTEL_XHCI=y || (USB_ROLES_INTEL_XHCI=m && m)
123	depends on TYPEC_MUX_PI3USB30532=y || (TYPEC_MUX_PI3USB30532=m && m)
124	help
125	  This driver add support for the Intel Cherry Trail Whiskey Cove
126	  INT33FE ACPI device found on the GPD win and the GPD pocket.
127
128	  The INT33FE ACPI device on these mini laptops contains I2cSerialBusV2
129	  resources for a MAX17042 Fuel Gauge, FUSB302 USB Type-C Controller
130	  and PI3USB30532 USB switch.
131	  This driver instantiates i2c-clients for these, so that standard
132	  i2c drivers for these chips can bind to the them.
133
134	  If you enable this driver it is advised to also select
135	  CONFIG_TYPEC_FUSB302=m, CONFIG_TYPEC_MUX_PI3USB30532=m and
136	  CONFIG_BATTERY_MAX17042=m.
137
138config INTEL_ISHTP_ECLITE
139	tristate "Intel ISHTP eclite controller Driver"
140	depends on INTEL_ISH_HID
141	depends on ACPI
142	help
143	  This driver is for accessing the PSE (Programmable Service Engine) -
144	  an Embedded Controller like IP - using ISHTP (Integrated Sensor Hub
145	  Transport Protocol) to get battery, thermal and UCSI (USB Type-C
146	  Connector System Software Interface) related data from the platform.
147	  Users who don't want to use discrete Embedded Controller on Intel's
148	  Elkhartlake platform can leverage this integrated solution of
149	  ECLite which is part of PSE subsystem.
150
151	  To compile this driver as a module, choose M here: the module
152	  will be called intel_ishtp_eclite.
153
154config INTEL_MRFLD_PWRBTN
155	tristate "Intel Merrifield Basin Cove power button driver"
156	depends on INTEL_SOC_PMIC_MRFLD
157	depends on INPUT
158	help
159	  This option adds a power button driver for Basin Cove PMIC
160	  on Intel Merrifield devices.
161
162	  To compile this driver as a module, choose M here: the module
163	  will be called intel_mrfld_pwrbtn.
164
165config INTEL_PUNIT_IPC
166	tristate "Intel P-Unit IPC Driver"
167	help
168	  This driver provides support for Intel P-Unit Mailbox IPC mechanism,
169	  which is used to bridge the communications between kernel and P-Unit.
170
171config INTEL_RST
172	tristate "Intel Rapid Start Technology Driver"
173	depends on ACPI
174	help
175	  This driver provides support for modifying parameters on systems
176	  equipped with Intel's Rapid Start Technology. When put in an ACPI
177	  sleep state, these devices will wake after either a configured
178	  timeout or when the system battery reaches a critical state,
179	  automatically copying memory contents to disk. On resume, the
180	  firmware will copy the memory contents back to RAM and resume the OS
181	  as usual.
182
183config INTEL_SDSI
184	tristate "Intel On Demand (Software Defined Silicon) Driver"
185	depends on INTEL_VSEC
186	depends on X86_64
187	help
188	  This driver enables access to the Intel On Demand (formerly Software
189	  Defined Silicon) interface used to provision silicon features with an
190	  authentication certificate and capability license.
191
192	  To compile this driver as a module, choose M here: the module will
193	  be called intel_sdsi.
194
195config INTEL_SMARTCONNECT
196	tristate "Intel Smart Connect disabling driver"
197	depends on ACPI
198	help
199	  Intel Smart Connect is a technology intended to permit devices to
200	  update state by resuming for a short period of time at regular
201	  intervals. If a user enables this functionality under Windows and
202	  then reboots into Linux, the system may remain configured to resume
203	  on suspend. In the absence of any userspace to support it, the system
204	  will then remain awake until something triggers another suspend.
205
206	  This driver checks to determine whether the device has Intel Smart
207	  Connect enabled, and if so disables it.
208
209config INTEL_TPMI_POWER_DOMAINS
210	tristate
211
212config INTEL_TPMI
213	tristate "Intel Topology Aware Register and PM Capsule Interface (TPMI)"
214	depends on INTEL_VSEC
215	depends on X86_64
216	select INTEL_TPMI_POWER_DOMAINS
217	help
218	  The Intel Topology Aware Register and PM Capsule Interface (TPMI),
219	  provides enumerable MMIO interface for power management features.
220	  This driver creates devices, so that other PM feature driver can
221	  be loaded for PM specific feature operation.
222
223	  To compile this driver as a module, choose M here: the module will
224	  be called intel_vsec_tpmi.
225
226config INTEL_PLR_TPMI
227        tristate "Intel SoC TPMI Power Limit Reasons driver"
228        depends on INTEL_TPMI
229        help
230          This driver provides the TPMI power limit reasons status information
231          via debugfs files.
232
233config INTEL_TURBO_MAX_3
234	bool "Intel Turbo Boost Max Technology 3.0 enumeration driver"
235	depends on X86_64 && SCHED_MC_PRIO
236	help
237	  This driver reads maximum performance ratio of each CPU and set up
238	  the scheduler priority metrics. In this way scheduler can prefer
239	  CPU with higher performance to schedule tasks.
240
241	  This driver is only required when the system is not using Hardware
242	  P-States (HWP). In HWP mode, priority can be read from ACPI tables.
243
244config INTEL_VSEC
245	tristate "Intel Vendor Specific Extended Capabilities Driver"
246	depends on PCI
247	select AUXILIARY_BUS
248	help
249	  Adds support for feature drivers exposed using Intel PCIe VSEC and
250	  DVSEC.
251
252	  To compile this driver as a module, choose M here: the module will
253	  be called intel_vsec.
254