18bd836feSAndy Shevchenko# SPDX-License-Identifier: GPL-2.0-only 28bd836feSAndy Shevchenko# 38bd836feSAndy Shevchenko# Intel x86 Platform Specific Drivers 48bd836feSAndy Shevchenko# 58bd836feSAndy Shevchenko 676693f57SKate Hsuansource "drivers/platform/x86/intel/atomisp2/Kconfig" 767896ef1STony Lucksource "drivers/platform/x86/intel/ifs/Kconfig" 8dcfbd31eSShravan Ssource "drivers/platform/x86/intel/int1092/Kconfig" 98bd836feSAndy Shevchenkosource "drivers/platform/x86/intel/int3472/Kconfig" 10fa082a7cSKate Hsuansource "drivers/platform/x86/intel/pmc/Kconfig" 11e184b1e5SDavid E. Boxsource "drivers/platform/x86/intel/pmt/Kconfig" 126b1e4828SKate Hsuansource "drivers/platform/x86/intel/speed_select_if/Kconfig" 132b6cb8f2SKate Hsuansource "drivers/platform/x86/intel/telemetry/Kconfig" 14bd5b4fb4SKate Hsuansource "drivers/platform/x86/intel/wmi/Kconfig" 15ce2645c4SSrinivas Pandruvadasource "drivers/platform/x86/intel/uncore-frequency/Kconfig" 16ce2645c4SSrinivas Pandruvada 178bd836feSAndy Shevchenko 18c3d3586dSKate Hsuanconfig INTEL_HID_EVENT 19c3d3586dSKate Hsuan tristate "Intel HID Event" 20c3d3586dSKate Hsuan depends on ACPI 21c3d3586dSKate Hsuan depends on INPUT 22c3d3586dSKate Hsuan depends on I2C 23c3d3586dSKate Hsuan select INPUT_SPARSEKMAP 24c3d3586dSKate Hsuan help 25c3d3586dSKate Hsuan This driver provides support for the Intel HID Event hotkey interface. 26c3d3586dSKate Hsuan Some laptops require this driver for hotkey support. 27c3d3586dSKate Hsuan 28c3d3586dSKate Hsuan To compile this driver as a module, choose M here: the module will 29c3d3586dSKate Hsuan be called intel_hid. 30c3d3586dSKate Hsuan 313afeacfdSKate Hsuanconfig INTEL_VBTN 323afeacfdSKate Hsuan tristate "Intel Virtual Button" 333afeacfdSKate Hsuan depends on ACPI 343afeacfdSKate Hsuan depends on INPUT 353afeacfdSKate Hsuan depends on I2C 363afeacfdSKate Hsuan select INPUT_SPARSEKMAP 373afeacfdSKate Hsuan help 383afeacfdSKate Hsuan This driver provides support for the Intel Virtual Button interface. 393afeacfdSKate Hsuan Some laptops require this driver for power button support. 403afeacfdSKate Hsuan 413afeacfdSKate Hsuan To compile this driver as a module, choose M here: the module will 423afeacfdSKate Hsuan be called intel_vbtn. 433afeacfdSKate Hsuan 44daef4c5aSKate Hsuanconfig INTEL_INT0002_VGPIO 45daef4c5aSKate Hsuan tristate "Intel ACPI INT0002 Virtual GPIO driver" 46daef4c5aSKate Hsuan depends on GPIOLIB && ACPI && PM_SLEEP 47daef4c5aSKate Hsuan select GPIOLIB_IRQCHIP 48daef4c5aSKate Hsuan help 49daef4c5aSKate Hsuan Some peripherals on Bay Trail and Cherry Trail platforms signal a 50daef4c5aSKate Hsuan Power Management Event (PME) to the Power Management Controller (PMC) 51daef4c5aSKate Hsuan to wakeup the system. When this happens software needs to explicitly 52daef4c5aSKate Hsuan clear the PME bus 0 status bit in the GPE0a_STS register to avoid an 53daef4c5aSKate Hsuan IRQ storm on IRQ 9. 54daef4c5aSKate Hsuan 55daef4c5aSKate Hsuan This is modelled in ACPI through the INT0002 ACPI device, which is 56daef4c5aSKate Hsuan called a "Virtual GPIO controller" in ACPI because it defines the 57daef4c5aSKate Hsuan event handler to call when the PME triggers through _AEI and _L02 58daef4c5aSKate Hsuan methods as would be done for a real GPIO interrupt in ACPI. 59daef4c5aSKate Hsuan 60daef4c5aSKate Hsuan To compile this driver as a module, choose M here: the module will 61daef4c5aSKate Hsuan be called intel_int0002_vgpio. 62daef4c5aSKate Hsuan 63cdbb8f5eSKate Hsuanconfig INTEL_OAKTRAIL 64cdbb8f5eSKate Hsuan tristate "Intel Oaktrail Platform Extras" 65cdbb8f5eSKate Hsuan depends on ACPI 66cdbb8f5eSKate Hsuan depends on ACPI_VIDEO || ACPI_VIDEO=n 67cdbb8f5eSKate Hsuan depends on RFKILL && BACKLIGHT_CLASS_DEVICE && ACPI 68cdbb8f5eSKate Hsuan help 69cdbb8f5eSKate Hsuan Intel Oaktrail platform need this driver to provide interfaces to 70cdbb8f5eSKate Hsuan enable/disable the Camera, WiFi, BT etc. devices. If in doubt, say Y 71cdbb8f5eSKate Hsuan here; it will only load on supported platforms. 72cdbb8f5eSKate Hsuan 739ed10052SKate Hsuanconfig INTEL_BXTWC_PMIC_TMU 749ed10052SKate Hsuan tristate "Intel Broxton Whiskey Cove TMU Driver" 759ed10052SKate Hsuan depends on INTEL_SOC_PMIC_BXTWC 769ed10052SKate Hsuan depends on MFD_INTEL_PMC_BXT 779ed10052SKate Hsuan select REGMAP 789ed10052SKate Hsuan help 799ed10052SKate Hsuan Select this driver to use Intel Broxton Whiskey Cove PMIC TMU feature. 809ed10052SKate Hsuan This driver enables the alarm wakeup functionality in the TMU unit of 819ed10052SKate Hsuan Whiskey Cove PMIC. 829ed10052SKate Hsuan 83*94227b9cSHans de Goedeconfig INTEL_BYTCRC_PWRSRC 84*94227b9cSHans de Goede tristate "Intel Bay Trail Crystal Cove power source driver" 85*94227b9cSHans de Goede depends on INTEL_SOC_PMIC 86*94227b9cSHans de Goede help 87*94227b9cSHans de Goede This option adds a power source driver for Crystal Cove PMICs 88*94227b9cSHans de Goede on Intel Bay Trail devices. 89*94227b9cSHans de Goede 90*94227b9cSHans de Goede To compile this driver as a module, choose M here: the module 91*94227b9cSHans de Goede will be called intel_bytcrc_pwrsrc. 92*94227b9cSHans de Goede 932e4355e4SKate Hsuanconfig INTEL_CHTDC_TI_PWRBTN 942e4355e4SKate Hsuan tristate "Intel Cherry Trail Dollar Cove TI power button driver" 952e4355e4SKate Hsuan depends on INTEL_SOC_PMIC_CHTDC_TI 962e4355e4SKate Hsuan depends on INPUT 972e4355e4SKate Hsuan help 982e4355e4SKate Hsuan This option adds a power button driver for Dollar Cove TI 992e4355e4SKate Hsuan PMIC on Intel Cherry Trail devices. 1002e4355e4SKate Hsuan 1012e4355e4SKate Hsuan To compile this driver as a module, choose M here: the module 1022e4355e4SKate Hsuan will be called intel_chtdc_ti_pwrbtn. 1032e4355e4SKate Hsuan 104ae707d0eSHans de Goedeconfig INTEL_CHTWC_INT33FE 105ae707d0eSHans de Goede tristate "Intel Cherry Trail Whiskey Cove ACPI INT33FE Driver" 106ae707d0eSHans de Goede depends on X86 && ACPI && I2C && REGULATOR 107ae707d0eSHans de Goede depends on CHARGER_BQ24190=y || (CHARGER_BQ24190=m && m) 108ae707d0eSHans de Goede depends on USB_ROLES_INTEL_XHCI=y || (USB_ROLES_INTEL_XHCI=m && m) 109ae707d0eSHans de Goede depends on TYPEC_MUX_PI3USB30532=y || (TYPEC_MUX_PI3USB30532=m && m) 110ae707d0eSHans de Goede help 111ae707d0eSHans de Goede This driver add support for the Intel Cherry Trail Whiskey Cove 112ae707d0eSHans de Goede INT33FE ACPI device found on the GPD win and the GPD pocket. 113ae707d0eSHans de Goede 114ae707d0eSHans de Goede The INT33FE ACPI device on these mini laptops contains I2cSerialBusV2 115ae707d0eSHans de Goede resources for a MAX17042 Fuel Gauge, FUSB302 USB Type-C Controller 116ae707d0eSHans de Goede and PI3USB30532 USB switch. 117ae707d0eSHans de Goede This driver instantiates i2c-clients for these, so that standard 118ae707d0eSHans de Goede i2c drivers for these chips can bind to the them. 119ae707d0eSHans de Goede 120ae707d0eSHans de Goede If you enable this driver it is advised to also select 121ae707d0eSHans de Goede CONFIG_TYPEC_FUSB302=m, CONFIG_TYPEC_MUX_PI3USB30532=m and 122ae707d0eSHans de Goede CONFIG_BATTERY_MAX17042=m. 123ae707d0eSHans de Goede 1247b6bf51dSK Naduvalath, Sumeshconfig INTEL_ISHTP_ECLITE 1257b6bf51dSK Naduvalath, Sumesh tristate "Intel ISHTP eclite controller Driver" 1267b6bf51dSK Naduvalath, Sumesh depends on INTEL_ISH_HID 1277b6bf51dSK Naduvalath, Sumesh depends on ACPI 1287b6bf51dSK Naduvalath, Sumesh help 1297b6bf51dSK Naduvalath, Sumesh This driver is for accessing the PSE (Programmable Service Engine) - 1307b6bf51dSK Naduvalath, Sumesh an Embedded Controller like IP - using ISHTP (Integrated Sensor Hub 1317b6bf51dSK Naduvalath, Sumesh Transport Protocol) to get battery, thermal and UCSI (USB Type-C 1327b6bf51dSK Naduvalath, Sumesh Connector System Software Interface) related data from the platform. 1337b6bf51dSK Naduvalath, Sumesh Users who don't want to use discrete Embedded Controller on Intel's 1347b6bf51dSK Naduvalath, Sumesh Elkhartlake platform can leverage this integrated solution of 1357b6bf51dSK Naduvalath, Sumesh ECLite which is part of PSE subsystem. 1367b6bf51dSK Naduvalath, Sumesh 1377b6bf51dSK Naduvalath, Sumesh To compile this driver as a module, choose M here: the module 1387b6bf51dSK Naduvalath, Sumesh will be called intel_ishtp_eclite. 1397b6bf51dSK Naduvalath, Sumesh 140f51c108dSKate Hsuanconfig INTEL_MRFLD_PWRBTN 141f51c108dSKate Hsuan tristate "Intel Merrifield Basin Cove power button driver" 142f51c108dSKate Hsuan depends on INTEL_SOC_PMIC_MRFLD 143f51c108dSKate Hsuan depends on INPUT 144f51c108dSKate Hsuan help 145f51c108dSKate Hsuan This option adds a power button driver for Basin Cove PMIC 146f51c108dSKate Hsuan on Intel Merrifield devices. 147f51c108dSKate Hsuan 148f51c108dSKate Hsuan To compile this driver as a module, choose M here: the module 149f51c108dSKate Hsuan will be called intel_mrfld_pwrbtn. 150f51c108dSKate Hsuan 151386d17b2SKate Hsuanconfig INTEL_PUNIT_IPC 152386d17b2SKate Hsuan tristate "Intel P-Unit IPC Driver" 153386d17b2SKate Hsuan help 154386d17b2SKate Hsuan This driver provides support for Intel P-Unit Mailbox IPC mechanism, 155386d17b2SKate Hsuan which is used to bridge the communications between kernel and P-Unit. 156386d17b2SKate Hsuan 157e6596c22SKate Hsuanconfig INTEL_RST 158e6596c22SKate Hsuan tristate "Intel Rapid Start Technology Driver" 159e6596c22SKate Hsuan depends on ACPI 160e6596c22SKate Hsuan help 161e6596c22SKate Hsuan This driver provides support for modifying parameters on systems 162e6596c22SKate Hsuan equipped with Intel's Rapid Start Technology. When put in an ACPI 163e6596c22SKate Hsuan sleep state, these devices will wake after either a configured 164e6596c22SKate Hsuan timeout or when the system battery reaches a critical state, 165e6596c22SKate Hsuan automatically copying memory contents to disk. On resume, the 166e6596c22SKate Hsuan firmware will copy the memory contents back to RAM and resume the OS 167e6596c22SKate Hsuan as usual. 168e6596c22SKate Hsuan 1692546c600SDavid E. Boxconfig INTEL_SDSI 1704ea62915SDavid E. Box tristate "Intel On Demand (Software Defined Silicon) Driver" 1712546c600SDavid E. Box depends on INTEL_VSEC 1722546c600SDavid E. Box depends on X86_64 1732546c600SDavid E. Box help 1744ea62915SDavid E. Box This driver enables access to the Intel On Demand (formerly Software 1754ea62915SDavid E. Box Defined Silicon) interface used to provision silicon features with an 1764ea62915SDavid E. Box authentication certificate and capability license. 1772546c600SDavid E. Box 1782546c600SDavid E. Box To compile this driver as a module, choose M here: the module will 1792546c600SDavid E. Box be called intel_sdsi. 1802546c600SDavid E. Box 18147bbe03eSKate Hsuanconfig INTEL_SMARTCONNECT 18247bbe03eSKate Hsuan tristate "Intel Smart Connect disabling driver" 18347bbe03eSKate Hsuan depends on ACPI 18447bbe03eSKate Hsuan help 18547bbe03eSKate Hsuan Intel Smart Connect is a technology intended to permit devices to 18647bbe03eSKate Hsuan update state by resuming for a short period of time at regular 18747bbe03eSKate Hsuan intervals. If a user enables this functionality under Windows and 18847bbe03eSKate Hsuan then reboots into Linux, the system may remain configured to resume 18947bbe03eSKate Hsuan on suspend. In the absence of any userspace to support it, the system 19047bbe03eSKate Hsuan will then remain awake until something triggers another suspend. 19147bbe03eSKate Hsuan 19247bbe03eSKate Hsuan This driver checks to determine whether the device has Intel Smart 19347bbe03eSKate Hsuan Connect enabled, and if so disables it. 19447bbe03eSKate Hsuan 19547731fd2SSrinivas Pandruvadaconfig INTEL_TPMI 19647731fd2SSrinivas Pandruvada tristate "Intel Topology Aware Register and PM Capsule Interface (TPMI)" 19747731fd2SSrinivas Pandruvada depends on INTEL_VSEC 19847731fd2SSrinivas Pandruvada depends on X86_64 19947731fd2SSrinivas Pandruvada help 20047731fd2SSrinivas Pandruvada The Intel Topology Aware Register and PM Capsule Interface (TPMI), 20147731fd2SSrinivas Pandruvada provides enumerable MMIO interface for power management features. 20247731fd2SSrinivas Pandruvada This driver creates devices, so that other PM feature driver can 20347731fd2SSrinivas Pandruvada be loaded for PM specific feature operation. 20447731fd2SSrinivas Pandruvada 20547731fd2SSrinivas Pandruvada To compile this driver as a module, choose M here: the module will 20647731fd2SSrinivas Pandruvada be called intel_vsec_tpmi. 20747731fd2SSrinivas Pandruvada 2081fef1c04SKate Hsuanconfig INTEL_TURBO_MAX_3 2091fef1c04SKate Hsuan bool "Intel Turbo Boost Max Technology 3.0 enumeration driver" 2101fef1c04SKate Hsuan depends on X86_64 && SCHED_MC_PRIO 2111fef1c04SKate Hsuan help 2121fef1c04SKate Hsuan This driver reads maximum performance ratio of each CPU and set up 2131fef1c04SKate Hsuan the scheduler priority metrics. In this way scheduler can prefer 2141fef1c04SKate Hsuan CPU with higher performance to schedule tasks. 2151fef1c04SKate Hsuan 2161fef1c04SKate Hsuan This driver is only required when the system is not using Hardware 2171fef1c04SKate Hsuan P-States (HWP). In HWP mode, priority can be read from ACPI tables. 2181fef1c04SKate Hsuan 219a3c8f906SDavid E. Boxconfig INTEL_VSEC 220a3c8f906SDavid E. Box tristate "Intel Vendor Specific Extended Capabilities Driver" 221a3c8f906SDavid E. Box depends on PCI 222a3c8f906SDavid E. Box select AUXILIARY_BUS 223a3c8f906SDavid E. Box help 224a3c8f906SDavid E. Box Adds support for feature drivers exposed using Intel PCIe VSEC and 225a3c8f906SDavid E. Box DVSEC. 226a3c8f906SDavid E. Box 227a3c8f906SDavid E. Box To compile this driver as a module, choose M here: the module will 228a3c8f906SDavid E. Box be called intel_vsec. 229