162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig INTEL_POWERCLAMP
362306a36Sopenharmony_ci	tristate "Intel PowerClamp idle injection driver"
462306a36Sopenharmony_ci	depends on X86
562306a36Sopenharmony_ci	depends on CPU_SUP_INTEL
662306a36Sopenharmony_ci	depends on CPU_IDLE
762306a36Sopenharmony_ci	select POWERCAP
862306a36Sopenharmony_ci	select IDLE_INJECT
962306a36Sopenharmony_ci	help
1062306a36Sopenharmony_ci	  Enable this to enable Intel PowerClamp idle injection driver. This
1162306a36Sopenharmony_ci	  enforce idle time which results in more package C-state residency. The
1262306a36Sopenharmony_ci	  user interface is exposed via generic thermal framework.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciconfig X86_THERMAL_VECTOR
1562306a36Sopenharmony_ci	def_bool y
1662306a36Sopenharmony_ci	depends on X86 && CPU_SUP_INTEL && X86_LOCAL_APIC
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciconfig INTEL_TCC
1962306a36Sopenharmony_ci	bool
2062306a36Sopenharmony_ci	depends on X86
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciconfig X86_PKG_TEMP_THERMAL
2362306a36Sopenharmony_ci	tristate "X86 package temperature thermal driver"
2462306a36Sopenharmony_ci	depends on X86_THERMAL_VECTOR
2562306a36Sopenharmony_ci	select THERMAL_GOV_USER_SPACE
2662306a36Sopenharmony_ci	select THERMAL_WRITABLE_TRIPS
2762306a36Sopenharmony_ci	select INTEL_TCC
2862306a36Sopenharmony_ci	default m
2962306a36Sopenharmony_ci	help
3062306a36Sopenharmony_ci	  Enable this to register CPU digital sensor for package temperature as
3162306a36Sopenharmony_ci	  thermal zone. Each package will have its own thermal zone. There are
3262306a36Sopenharmony_ci	  two trip points which can be set by user to get notifications via thermal
3362306a36Sopenharmony_ci	  notification methods.
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ciconfig INTEL_SOC_DTS_IOSF_CORE
3662306a36Sopenharmony_ci	tristate
3762306a36Sopenharmony_ci	depends on X86 && PCI
3862306a36Sopenharmony_ci	select IOSF_MBI
3962306a36Sopenharmony_ci	select INTEL_TCC
4062306a36Sopenharmony_ci	help
4162306a36Sopenharmony_ci	  This is becoming a common feature for Intel SoCs to expose the additional
4262306a36Sopenharmony_ci	  digital temperature sensors (DTSs) using side band interface (IOSF). This
4362306a36Sopenharmony_ci	  implements the common set of helper functions to register, get temperature
4462306a36Sopenharmony_ci	  and get/set thresholds on DTSs.
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ciconfig INTEL_SOC_DTS_THERMAL
4762306a36Sopenharmony_ci	tristate "Intel SoCs DTS thermal driver"
4862306a36Sopenharmony_ci	depends on X86 && PCI && ACPI
4962306a36Sopenharmony_ci	select INTEL_SOC_DTS_IOSF_CORE
5062306a36Sopenharmony_ci	select THERMAL_WRITABLE_TRIPS
5162306a36Sopenharmony_ci	help
5262306a36Sopenharmony_ci	  Enable this to register Intel SoCs (e.g. Bay Trail) platform digital
5362306a36Sopenharmony_ci	  temperature sensor (DTS). These SoCs have two additional DTSs in
5462306a36Sopenharmony_ci	  addition to DTSs on CPU cores. Each DTS will be registered as a
5562306a36Sopenharmony_ci	  thermal zone. There are two trip points. One of the trip point can
5662306a36Sopenharmony_ci	  be set by user mode programs to get notifications via Linux thermal
5762306a36Sopenharmony_ci	  notification methods.The other trip is a critical trip point, which
5862306a36Sopenharmony_ci	  was set by the driver based on the TJ MAX temperature.
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ciconfig INTEL_QUARK_DTS_THERMAL
6162306a36Sopenharmony_ci	tristate "Intel Quark DTS thermal driver"
6262306a36Sopenharmony_ci	depends on X86_INTEL_QUARK
6362306a36Sopenharmony_ci	help
6462306a36Sopenharmony_ci	  Enable this to register Intel Quark SoC (e.g. X1000) platform digital
6562306a36Sopenharmony_ci	  temperature sensor (DTS). For X1000 SoC, it has one on-die DTS.
6662306a36Sopenharmony_ci	  The DTS will be registered as a thermal zone. There are two trip points:
6762306a36Sopenharmony_ci	  hot & critical. The critical trip point default value is set by
6862306a36Sopenharmony_ci	  underlying BIOS/Firmware.
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_cimenu "ACPI INT340X thermal drivers"
7162306a36Sopenharmony_cisource "drivers/thermal/intel/int340x_thermal/Kconfig"
7262306a36Sopenharmony_ciendmenu
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ciconfig INTEL_BXT_PMIC_THERMAL
7562306a36Sopenharmony_ci	tristate "Intel Broxton PMIC thermal driver"
7662306a36Sopenharmony_ci	depends on X86 && INTEL_SOC_PMIC_BXTWC
7762306a36Sopenharmony_ci	select REGMAP
7862306a36Sopenharmony_ci	help
7962306a36Sopenharmony_ci	  Select this driver for Intel Broxton PMIC with ADC channels monitoring
8062306a36Sopenharmony_ci	  system temperature measurements and alerts.
8162306a36Sopenharmony_ci	  This driver is used for monitoring the ADC channels of PMIC and handles
8262306a36Sopenharmony_ci	  the alert trip point interrupts and notifies the thermal framework with
8362306a36Sopenharmony_ci	  the trip point and temperature details of the zone.
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ciconfig INTEL_PCH_THERMAL
8662306a36Sopenharmony_ci	tristate "Intel PCH Thermal Reporting Driver"
8762306a36Sopenharmony_ci	depends on X86 && PCI
8862306a36Sopenharmony_ci	select THERMAL_ACPI if ACPI
8962306a36Sopenharmony_ci	help
9062306a36Sopenharmony_ci	  Enable this to support thermal reporting on certain intel PCHs.
9162306a36Sopenharmony_ci	  Thermal reporting device will provide temperature reading,
9262306a36Sopenharmony_ci	  programmable trip points and other information.
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ciconfig INTEL_TCC_COOLING
9562306a36Sopenharmony_ci	tristate "Intel TCC offset cooling Driver"
9662306a36Sopenharmony_ci	depends on X86
9762306a36Sopenharmony_ci	select INTEL_TCC
9862306a36Sopenharmony_ci	help
9962306a36Sopenharmony_ci	  Enable this to support system cooling by adjusting the effective TCC
10062306a36Sopenharmony_ci	  activation temperature via the TCC Offset register, which is widely
10162306a36Sopenharmony_ci	  supported on modern Intel platforms.
10262306a36Sopenharmony_ci	  Note that, on different platforms, the behavior might be different
10362306a36Sopenharmony_ci	  on how fast the setting takes effect, and how much the CPU frequency
10462306a36Sopenharmony_ci	  is reduced.
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ciconfig INTEL_HFI_THERMAL
10762306a36Sopenharmony_ci	bool "Intel Hardware Feedback Interface"
10862306a36Sopenharmony_ci	depends on NET
10962306a36Sopenharmony_ci	depends on CPU_SUP_INTEL
11062306a36Sopenharmony_ci	depends on X86_THERMAL_VECTOR
11162306a36Sopenharmony_ci	select THERMAL_NETLINK
11262306a36Sopenharmony_ci	help
11362306a36Sopenharmony_ci	  Select this option to enable the Hardware Feedback Interface. If
11462306a36Sopenharmony_ci	  selected, hardware provides guidance to the operating system on
11562306a36Sopenharmony_ci	  the performance and energy efficiency capabilities of each CPU.
11662306a36Sopenharmony_ci	  These capabilities may change as a result of changes in the operating
11762306a36Sopenharmony_ci	  conditions of the system such power and thermal limits. If selected,
11862306a36Sopenharmony_ci	  the kernel relays updates in CPUs' capabilities to userspace.
119