1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Intel x86 Platform Specific Drivers
4 #
5 
6 source "drivers/platform/x86/intel/atomisp2/Kconfig"
7 source "drivers/platform/x86/intel/ifs/Kconfig"
8 source "drivers/platform/x86/intel/int1092/Kconfig"
9 source "drivers/platform/x86/intel/int3472/Kconfig"
10 source "drivers/platform/x86/intel/pmc/Kconfig"
11 source "drivers/platform/x86/intel/pmt/Kconfig"
12 source "drivers/platform/x86/intel/speed_select_if/Kconfig"
13 source "drivers/platform/x86/intel/telemetry/Kconfig"
14 source "drivers/platform/x86/intel/wmi/Kconfig"
15 source "drivers/platform/x86/intel/uncore-frequency/Kconfig"
16 
17 
18 config 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 
31 config 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 
44 config 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 
63 config 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 
73 config 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 
83 config 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 
93 config 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 
104 config 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 
124 config 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 
140 config 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 
151 config 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 
157 config 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 
169 config 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 
181 config 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 
195 config INTEL_TPMI_POWER_DOMAINS
196 	tristate
197 
198 config INTEL_TPMI
199 	tristate "Intel Topology Aware Register and PM Capsule Interface (TPMI)"
200 	depends on INTEL_VSEC
201 	depends on X86_64
202 	select INTEL_TPMI_POWER_DOMAINS
203 	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 
212 config 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 
219 config 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 
230 config 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.
240