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