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