0001 # SPDX-License-Identifier: GPL-2.0-only
0002 #
0003 # Intel x86 Platform Specific Drivers
0004 #
0005
0006 source "drivers/platform/x86/intel/atomisp2/Kconfig"
0007 source "drivers/platform/x86/intel/ifs/Kconfig"
0008 source "drivers/platform/x86/intel/int1092/Kconfig"
0009 source "drivers/platform/x86/intel/int3472/Kconfig"
0010 source "drivers/platform/x86/intel/pmc/Kconfig"
0011 source "drivers/platform/x86/intel/pmt/Kconfig"
0012 source "drivers/platform/x86/intel/speed_select_if/Kconfig"
0013 source "drivers/platform/x86/intel/telemetry/Kconfig"
0014 source "drivers/platform/x86/intel/wmi/Kconfig"
0015 source "drivers/platform/x86/intel/uncore-frequency/Kconfig"
0016
0017
0018 config INTEL_HID_EVENT
0019 tristate "Intel HID Event"
0020 depends on ACPI
0021 depends on INPUT
0022 depends on I2C
0023 select INPUT_SPARSEKMAP
0024 help
0025 This driver provides support for the Intel HID Event hotkey interface.
0026 Some laptops require this driver for hotkey support.
0027
0028 To compile this driver as a module, choose M here: the module will
0029 be called intel_hid.
0030
0031 config INTEL_VBTN
0032 tristate "Intel Virtual Button"
0033 depends on ACPI
0034 depends on INPUT
0035 depends on I2C
0036 select INPUT_SPARSEKMAP
0037 help
0038 This driver provides support for the Intel Virtual Button interface.
0039 Some laptops require this driver for power button support.
0040
0041 To compile this driver as a module, choose M here: the module will
0042 be called intel_vbtn.
0043
0044 config INTEL_INT0002_VGPIO
0045 tristate "Intel ACPI INT0002 Virtual GPIO driver"
0046 depends on GPIOLIB && ACPI && PM_SLEEP
0047 select GPIOLIB_IRQCHIP
0048 help
0049 Some peripherals on Bay Trail and Cherry Trail platforms signal a
0050 Power Management Event (PME) to the Power Management Controller (PMC)
0051 to wakeup the system. When this happens software needs to explicitly
0052 clear the PME bus 0 status bit in the GPE0a_STS register to avoid an
0053 IRQ storm on IRQ 9.
0054
0055 This is modelled in ACPI through the INT0002 ACPI device, which is
0056 called a "Virtual GPIO controller" in ACPI because it defines the
0057 event handler to call when the PME triggers through _AEI and _L02
0058 methods as would be done for a real GPIO interrupt in ACPI.
0059
0060 To compile this driver as a module, choose M here: the module will
0061 be called intel_int0002_vgpio.
0062
0063 config INTEL_OAKTRAIL
0064 tristate "Intel Oaktrail Platform Extras"
0065 depends on ACPI
0066 depends on ACPI_VIDEO || ACPI_VIDEO=n
0067 depends on RFKILL && BACKLIGHT_CLASS_DEVICE && ACPI
0068 help
0069 Intel Oaktrail platform need this driver to provide interfaces to
0070 enable/disable the Camera, WiFi, BT etc. devices. If in doubt, say Y
0071 here; it will only load on supported platforms.
0072
0073 config INTEL_BXTWC_PMIC_TMU
0074 tristate "Intel Broxton Whiskey Cove TMU Driver"
0075 depends on INTEL_SOC_PMIC_BXTWC
0076 depends on MFD_INTEL_PMC_BXT
0077 select REGMAP
0078 help
0079 Select this driver to use Intel Broxton Whiskey Cove PMIC TMU feature.
0080 This driver enables the alarm wakeup functionality in the TMU unit of
0081 Whiskey Cove PMIC.
0082
0083 config INTEL_CHTDC_TI_PWRBTN
0084 tristate "Intel Cherry Trail Dollar Cove TI power button driver"
0085 depends on INTEL_SOC_PMIC_CHTDC_TI
0086 depends on INPUT
0087 help
0088 This option adds a power button driver for Dollar Cove TI
0089 PMIC on Intel Cherry Trail devices.
0090
0091 To compile this driver as a module, choose M here: the module
0092 will be called intel_chtdc_ti_pwrbtn.
0093
0094 config INTEL_CHTWC_INT33FE
0095 tristate "Intel Cherry Trail Whiskey Cove ACPI INT33FE Driver"
0096 depends on X86 && ACPI && I2C && REGULATOR
0097 depends on CHARGER_BQ24190=y || (CHARGER_BQ24190=m && m)
0098 depends on USB_ROLES_INTEL_XHCI=y || (USB_ROLES_INTEL_XHCI=m && m)
0099 depends on TYPEC_MUX_PI3USB30532=y || (TYPEC_MUX_PI3USB30532=m && m)
0100 help
0101 This driver add support for the Intel Cherry Trail Whiskey Cove
0102 INT33FE ACPI device found on the GPD win and the GPD pocket.
0103
0104 The INT33FE ACPI device on these mini laptops contains I2cSerialBusV2
0105 resources for a MAX17042 Fuel Gauge, FUSB302 USB Type-C Controller
0106 and PI3USB30532 USB switch.
0107 This driver instantiates i2c-clients for these, so that standard
0108 i2c drivers for these chips can bind to the them.
0109
0110 If you enable this driver it is advised to also select
0111 CONFIG_TYPEC_FUSB302=m, CONFIG_TYPEC_MUX_PI3USB30532=m and
0112 CONFIG_BATTERY_MAX17042=m.
0113
0114 config INTEL_ISHTP_ECLITE
0115 tristate "Intel ISHTP eclite controller Driver"
0116 depends on INTEL_ISH_HID
0117 depends on ACPI
0118 help
0119 This driver is for accessing the PSE (Programmable Service Engine) -
0120 an Embedded Controller like IP - using ISHTP (Integrated Sensor Hub
0121 Transport Protocol) to get battery, thermal and UCSI (USB Type-C
0122 Connector System Software Interface) related data from the platform.
0123 Users who don't want to use discrete Embedded Controller on Intel's
0124 Elkhartlake platform can leverage this integrated solution of
0125 ECLite which is part of PSE subsystem.
0126
0127 To compile this driver as a module, choose M here: the module
0128 will be called intel_ishtp_eclite.
0129
0130 config INTEL_MRFLD_PWRBTN
0131 tristate "Intel Merrifield Basin Cove power button driver"
0132 depends on INTEL_SOC_PMIC_MRFLD
0133 depends on INPUT
0134 help
0135 This option adds a power button driver for Basin Cove PMIC
0136 on Intel Merrifield devices.
0137
0138 To compile this driver as a module, choose M here: the module
0139 will be called intel_mrfld_pwrbtn.
0140
0141 config INTEL_PUNIT_IPC
0142 tristate "Intel P-Unit IPC Driver"
0143 help
0144 This driver provides support for Intel P-Unit Mailbox IPC mechanism,
0145 which is used to bridge the communications between kernel and P-Unit.
0146
0147 config INTEL_RST
0148 tristate "Intel Rapid Start Technology Driver"
0149 depends on ACPI
0150 help
0151 This driver provides support for modifying parameters on systems
0152 equipped with Intel's Rapid Start Technology. When put in an ACPI
0153 sleep state, these devices will wake after either a configured
0154 timeout or when the system battery reaches a critical state,
0155 automatically copying memory contents to disk. On resume, the
0156 firmware will copy the memory contents back to RAM and resume the OS
0157 as usual.
0158
0159 config INTEL_SDSI
0160 tristate "Intel Software Defined Silicon Driver"
0161 depends on INTEL_VSEC
0162 depends on X86_64
0163 help
0164 This driver enables access to the Intel Software Defined Silicon
0165 interface used to provision silicon features with an authentication
0166 certificate and capability license.
0167
0168 To compile this driver as a module, choose M here: the module will
0169 be called intel_sdsi.
0170
0171 config INTEL_SMARTCONNECT
0172 tristate "Intel Smart Connect disabling driver"
0173 depends on ACPI
0174 help
0175 Intel Smart Connect is a technology intended to permit devices to
0176 update state by resuming for a short period of time at regular
0177 intervals. If a user enables this functionality under Windows and
0178 then reboots into Linux, the system may remain configured to resume
0179 on suspend. In the absence of any userspace to support it, the system
0180 will then remain awake until something triggers another suspend.
0181
0182 This driver checks to determine whether the device has Intel Smart
0183 Connect enabled, and if so disables it.
0184
0185 config INTEL_TURBO_MAX_3
0186 bool "Intel Turbo Boost Max Technology 3.0 enumeration driver"
0187 depends on X86_64 && SCHED_MC_PRIO
0188 help
0189 This driver reads maximum performance ratio of each CPU and set up
0190 the scheduler priority metrics. In this way scheduler can prefer
0191 CPU with higher performance to schedule tasks.
0192
0193 This driver is only required when the system is not using Hardware
0194 P-States (HWP). In HWP mode, priority can be read from ACPI tables.
0195
0196 config INTEL_VSEC
0197 tristate "Intel Vendor Specific Extended Capabilities Driver"
0198 depends on PCI
0199 select AUXILIARY_BUS
0200 help
0201 Adds support for feature drivers exposed using Intel PCIe VSEC and
0202 DVSEC.
0203
0204 To compile this driver as a module, choose M here: the module will
0205 be called intel_vsec.