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/int1092/Kconfig"
8source "drivers/platform/x86/intel/int33fe/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"
15
16config INTEL_HID_EVENT
17	tristate "Intel HID Event"
18	depends on ACPI
19	depends on INPUT
20	depends on I2C
21	select INPUT_SPARSEKMAP
22	help
23	  This driver provides support for the Intel HID Event hotkey interface.
24	  Some laptops require this driver for hotkey support.
25
26	  To compile this driver as a module, choose M here: the module will
27	  be called intel_hid.
28
29config INTEL_VBTN
30	tristate "Intel Virtual Button"
31	depends on ACPI
32	depends on INPUT
33	depends on I2C
34	select INPUT_SPARSEKMAP
35	help
36	  This driver provides support for the Intel Virtual Button interface.
37	  Some laptops require this driver for power button support.
38
39	  To compile this driver as a module, choose M here: the module will
40	  be called intel_vbtn.
41
42config INTEL_INT0002_VGPIO
43	tristate "Intel ACPI INT0002 Virtual GPIO driver"
44	depends on GPIOLIB && ACPI && PM_SLEEP
45	select GPIOLIB_IRQCHIP
46	help
47	  Some peripherals on Bay Trail and Cherry Trail platforms signal a
48	  Power Management Event (PME) to the Power Management Controller (PMC)
49	  to wakeup the system. When this happens software needs to explicitly
50	  clear the PME bus 0 status bit in the GPE0a_STS register to avoid an
51	  IRQ storm on IRQ 9.
52
53	  This is modelled in ACPI through the INT0002 ACPI device, which is
54	  called a "Virtual GPIO controller" in ACPI because it defines the
55	  event handler to call when the PME triggers through _AEI and _L02
56	  methods as would be done for a real GPIO interrupt in ACPI.
57
58	  To compile this driver as a module, choose M here: the module will
59	  be called intel_int0002_vgpio.
60
61config INTEL_OAKTRAIL
62	tristate "Intel Oaktrail Platform Extras"
63	depends on ACPI
64	depends on ACPI_VIDEO || ACPI_VIDEO=n
65	depends on RFKILL && BACKLIGHT_CLASS_DEVICE && ACPI
66	help
67	  Intel Oaktrail platform need this driver to provide interfaces to
68	  enable/disable the Camera, WiFi, BT etc. devices. If in doubt, say Y
69	  here; it will only load on supported platforms.
70
71config INTEL_BXTWC_PMIC_TMU
72	tristate "Intel Broxton Whiskey Cove TMU Driver"
73	depends on INTEL_SOC_PMIC_BXTWC
74	depends on MFD_INTEL_PMC_BXT
75	select REGMAP
76	help
77	  Select this driver to use Intel Broxton Whiskey Cove PMIC TMU feature.
78	  This driver enables the alarm wakeup functionality in the TMU unit of
79	  Whiskey Cove PMIC.
80
81config INTEL_CHTDC_TI_PWRBTN
82	tristate "Intel Cherry Trail Dollar Cove TI power button driver"
83	depends on INTEL_SOC_PMIC_CHTDC_TI
84	depends on INPUT
85	help
86	  This option adds a power button driver for Dollar Cove TI
87	  PMIC on Intel Cherry Trail devices.
88
89	  To compile this driver as a module, choose M here: the module
90	  will be called intel_chtdc_ti_pwrbtn.
91
92config INTEL_ISHTP_ECLITE
93	tristate "Intel ISHTP eclite controller Driver"
94	depends on INTEL_ISH_HID
95	depends on ACPI
96	help
97	  This driver is for accessing the PSE (Programmable Service Engine) -
98	  an Embedded Controller like IP - using ISHTP (Integrated Sensor Hub
99	  Transport Protocol) to get battery, thermal and UCSI (USB Type-C
100	  Connector System Software Interface) related data from the platform.
101	  Users who don't want to use discrete Embedded Controller on Intel's
102	  Elkhartlake platform can leverage this integrated solution of
103	  ECLite which is part of PSE subsystem.
104
105	  To compile this driver as a module, choose M here: the module
106	  will be called intel_ishtp_eclite.
107
108config INTEL_MRFLD_PWRBTN
109	tristate "Intel Merrifield Basin Cove power button driver"
110	depends on INTEL_SOC_PMIC_MRFLD
111	depends on INPUT
112	help
113	  This option adds a power button driver for Basin Cove PMIC
114	  on Intel Merrifield devices.
115
116	  To compile this driver as a module, choose M here: the module
117	  will be called intel_mrfld_pwrbtn.
118
119config INTEL_PUNIT_IPC
120	tristate "Intel P-Unit IPC Driver"
121	help
122	  This driver provides support for Intel P-Unit Mailbox IPC mechanism,
123	  which is used to bridge the communications between kernel and P-Unit.
124
125config INTEL_RST
126	tristate "Intel Rapid Start Technology Driver"
127	depends on ACPI
128	help
129	  This driver provides support for modifying parameters on systems
130	  equipped with Intel's Rapid Start Technology. When put in an ACPI
131	  sleep state, these devices will wake after either a configured
132	  timeout or when the system battery reaches a critical state,
133	  automatically copying memory contents to disk. On resume, the
134	  firmware will copy the memory contents back to RAM and resume the OS
135	  as usual.
136
137config INTEL_SMARTCONNECT
138	tristate "Intel Smart Connect disabling driver"
139	depends on ACPI
140	help
141	  Intel Smart Connect is a technology intended to permit devices to
142	  update state by resuming for a short period of time at regular
143	  intervals. If a user enables this functionality under Windows and
144	  then reboots into Linux, the system may remain configured to resume
145	  on suspend. In the absence of any userspace to support it, the system
146	  will then remain awake until something triggers another suspend.
147
148	  This driver checks to determine whether the device has Intel Smart
149	  Connect enabled, and if so disables it.
150
151config INTEL_TURBO_MAX_3
152	bool "Intel Turbo Boost Max Technology 3.0 enumeration driver"
153	depends on X86_64 && SCHED_MC_PRIO
154	help
155	  This driver reads maximum performance ratio of each CPU and set up
156	  the scheduler priority metrics. In this way scheduler can prefer
157	  CPU with higher performance to schedule tasks.
158
159	  This driver is only required when the system is not using Hardware
160	  P-States (HWP). In HWP mode, priority can be read from ACPI tables.
161
162config INTEL_UNCORE_FREQ_CONTROL
163	tristate "Intel Uncore frequency control driver"
164	depends on X86_64
165	help
166	  This driver allows control of Uncore frequency limits on
167	  supported server platforms.
168
169	  Uncore frequency controls RING/LLC (last-level cache) clocks.
170
171	  To compile this driver as a module, choose M here: the module
172	  will be called intel-uncore-frequency.
173