blob: ad50bbabec615c2efa4f93c962986957926590d3 [file] [log] [blame]
Andy Shevchenko8bd836f2021-06-18 15:55:15 +03001# SPDX-License-Identifier: GPL-2.0-only
2#
3# Intel x86 Platform Specific Drivers
4#
5
Kate Hsuan76693f52021-08-20 14:04:52 +03006source "drivers/platform/x86/intel/atomisp2/Kconfig"
Tony Luck67896ef2022-05-06 15:54:02 -07007source "drivers/platform/x86/intel/ifs/Kconfig"
Shravan Sdcfbd312021-07-24 02:44:52 +05308source "drivers/platform/x86/intel/int1092/Kconfig"
Andy Shevchenko8bd836f2021-06-18 15:55:15 +03009source "drivers/platform/x86/intel/int3472/Kconfig"
Kate Hsuanfa082a72021-08-20 14:04:44 +030010source "drivers/platform/x86/intel/pmc/Kconfig"
David E. Boxe184b1e2021-07-27 09:49:28 -070011source "drivers/platform/x86/intel/pmt/Kconfig"
Kate Hsuan6b1e48282021-08-20 14:04:51 +030012source "drivers/platform/x86/intel/speed_select_if/Kconfig"
Kate Hsuan2b6cb8f2021-08-20 14:04:46 +030013source "drivers/platform/x86/intel/telemetry/Kconfig"
Kate Hsuanbd5b4fb2021-08-20 14:04:57 +030014source "drivers/platform/x86/intel/wmi/Kconfig"
Srinivas Pandruvadace2645c2022-02-03 16:03:03 -080015source "drivers/platform/x86/intel/uncore-frequency/Kconfig"
16
Andy Shevchenko8bd836f2021-06-18 15:55:15 +030017
Kate Hsuanc3d35862021-08-20 14:04:53 +030018config 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
Kate Hsuan3afeacf2021-08-20 14:04:56 +030031config 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
Kate Hsuandaef4c52021-08-20 14:04:54 +030044config 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
Kate Hsuancdbb8f52021-08-20 14:04:55 +030063config 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
Kate Hsuan9ed10052021-08-20 14:04:40 +030073config 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
Hans de Goede94227b92023-03-03 23:19:28 +010083config 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
Kate Hsuan2e4355e2021-08-20 14:04:41 +030093config 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
Hans de Goedeae707d02022-02-06 23:02:20 +0100104config 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
K Naduvalath, Sumesh7b6bf512021-09-13 10:40:56 +0530124config 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
Kate Hsuanf51c1082021-08-20 14:04:42 +0300140config 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
Kate Hsuan386d17b2021-08-20 14:04:43 +0300151config 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
Kate Hsuane6596c22021-08-20 14:04:47 +0300157config 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
David E. Box2546c602022-02-11 17:32:50 -0800169config INTEL_SDSI
David E. Box4ea62912022-11-18 16:23:35 -0800170 tristate "Intel On Demand (Software Defined Silicon) Driver"
David E. Box2546c602022-02-11 17:32:50 -0800171 depends on INTEL_VSEC
172 depends on X86_64
173 help
David E. Box4ea62912022-11-18 16:23:35 -0800174 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.
David E. Box2546c602022-02-11 17:32:50 -0800177
178 To compile this driver as a module, choose M here: the module will
179 be called intel_sdsi.
180
Kate Hsuan47bbe032021-08-20 14:04:48 +0300181config 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
Srinivas Pandruvada17ca2782024-05-28 10:34:57 +0300195config INTEL_TPMI_POWER_DOMAINS
196 tristate
197
Srinivas Pandruvada47731fd2023-02-01 17:07:35 -0800198config INTEL_TPMI
199 tristate "Intel Topology Aware Register and PM Capsule Interface (TPMI)"
200 depends on INTEL_VSEC
201 depends on X86_64
Srinivas Pandruvada17ca2782024-05-28 10:34:57 +0300202 select INTEL_TPMI_POWER_DOMAINS
Srinivas Pandruvada47731fd2023-02-01 17:07:35 -0800203 help
204 The Intel Topology Aware Register and PM Capsule Interface (TPMI),
205 provides enumerable MMIO interface for power management features.
206 This driver creates devices, so that other PM feature driver can
207 be loaded for PM specific feature operation.
208
209 To compile this driver as a module, choose M here: the module will
210 be called intel_vsec_tpmi.
211
Tero Kristo811f67c52024-05-27 16:29:36 +0300212config INTEL_PLR_TPMI
213 tristate "Intel SoC TPMI Power Limit Reasons driver"
214 depends on INTEL_TPMI
215 help
216 This driver provides the TPMI power limit reasons status information
217 via debugfs files.
218
Kate Hsuan1fef1c02021-08-20 14:04:49 +0300219config INTEL_TURBO_MAX_3
220 bool "Intel Turbo Boost Max Technology 3.0 enumeration driver"
221 depends on X86_64 && SCHED_MC_PRIO
222 help
223 This driver reads maximum performance ratio of each CPU and set up
224 the scheduler priority metrics. In this way scheduler can prefer
225 CPU with higher performance to schedule tasks.
226
227 This driver is only required when the system is not using Hardware
228 P-States (HWP). In HWP mode, priority can be read from ACPI tables.
229
David E. Boxa3c8f902021-12-07 17:50:12 -0800230config INTEL_VSEC
231 tristate "Intel Vendor Specific Extended Capabilities Driver"
232 depends on PCI
233 select AUXILIARY_BUS
234 help
235 Adds support for feature drivers exposed using Intel PCIe VSEC and
236 DVSEC.
237
238 To compile this driver as a module, choose M here: the module will
239 be called intel_vsec.