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