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