# # Generic thermal sysfs drivers configuration # menuconfig THERMAL tristate "Generic Thermal sysfs driver" help Generic Thermal Sysfs driver offers a generic mechanism for thermal management. Usually it's made up of one or more thermal zone and cooling device. Each thermal zone contains its own temperature, trip points, cooling devices. All platforms with ACPI thermal support can use this driver. If you want this support, you should say Y or M here. if THERMAL config THERMAL_HWMON bool prompt "Expose thermal sensors as hwmon device" depends on HWMON=y || HWMON=THERMAL default y help In case a sensor is registered with the thermal framework, this option will also register it as a hwmon. The sensor will then have the common hwmon sysfs interface. Say 'Y' here if you want all thermal sensors to have hwmon sysfs interface too. config THERMAL_OF bool prompt "APIs to parse thermal data out of device tree" depends on OF default y help This options provides helpers to add the support to read and parse thermal data definitions out of the device tree blob. Say 'Y' here if you need to build thermal infrastructure based on device tree. config THERMAL_WRITABLE_TRIPS bool "Enable writable trip points" help This option allows the system integrator to choose whether trip temperatures can be changed from userspace. The writable trips need to be specified when setting up the thermal zone but the choice here takes precedence. Say 'Y' here if you would like to allow userspace tools to change trip temperatures. choice prompt "Default Thermal governor" default THERMAL_DEFAULT_GOV_STEP_WISE help This option sets which thermal governor shall be loaded at startup. If in doubt, select 'step_wise'. config THERMAL_DEFAULT_GOV_STEP_WISE bool "step_wise" select THERMAL_GOV_STEP_WISE help Use the step_wise governor as default. This throttles the devices one step at a time. config THERMAL_DEFAULT_GOV_FAIR_SHARE bool "fair_share" select THERMAL_GOV_FAIR_SHARE help Use the fair_share governor as default. This throttles the devices based on their 'contribution' to a zone. The contribution should be provided through platform data. config THERMAL_DEFAULT_GOV_PID bool prompt "pid_thermal_gov" select THERMAL_GOV_PID help Use the PID thermal governor as default. This throttles the devices based on output values of PID controller. config THERMAL_DEFAULT_GOV_USER_SPACE bool "user_space" select THERMAL_GOV_USER_SPACE help Select this if you want to let the user space manage the platform thermals. config THERMAL_DEFAULT_GOV_POWER_ALLOCATOR bool "power_allocator" select THERMAL_GOV_POWER_ALLOCATOR help Select this if you want to control temperature based on system and device power allocation. This governor can only operate on cooling devices that implement the power API. endchoice config THERMAL_GOV_FAIR_SHARE bool "Fair-share thermal governor" help Enable this to manage platform thermals using fair-share governor. config THERMAL_GOV_STEP_WISE bool "Step_wise thermal governor" help Enable this to manage platform thermals using a simple linear governor. config THERMAL_GOV_BANG_BANG bool "Bang Bang thermal governor" default n help Enable this to manage platform thermals using bang bang governor. Say 'Y' here if you want to use two point temperature regulation used for fans without throttling. Some fan drivers depend on this governor to be enabled (e.g. acerhdf). config THERMAL_GOV_USER_SPACE bool "User_space thermal governor" help Enable this to let the user space manage the platform thermals. config THERMAL_GOV_POWER_ALLOCATOR bool "Power allocator thermal governor" help Enable this to manage platform thermals by dynamically allocating and limiting power to devices. config CPU_THERMAL bool "generic cpu cooling support" depends on CPU_FREQ depends on THERMAL_OF help This implements the generic cpu cooling mechanism through frequency reduction. An ACPI version of this already exists (drivers/acpi/processor_thermal.c). This will be useful for platforms using the generic thermal interface and not the ACPI interface. If you want this support, you should say Y here. config CLOCK_THERMAL bool "Generic clock cooling support" depends on COMMON_CLK depends on PM_OPP help This entry implements the generic clock cooling mechanism through frequency clipping. Typically used to cool off co-processors. The device that is configured to use this cooling mechanism will be controlled to reduce clock frequency whenever temperature is high. config DEVFREQ_THERMAL bool "Generic device cooling support" depends on PM_DEVFREQ depends on PM_OPP help This implements the generic devfreq cooling mechanism through frequency reduction for devices using devfreq. This will throttle the device by limiting the maximum allowed DVFS frequency corresponding to the cooling level. In order to use the power extensions of the cooling device, devfreq should use the simple_ondemand governor. If you want this support, you should say Y here. config THERMAL_EMULATION bool "Thermal emulation mode support" help Enable this option to make a emul_temp sysfs node in thermal zone directory to support temperature emulation. With emulation sysfs node, user can manually input temperature and test the different trip threshold behaviour for simulation purpose. WARNING: Be careful while enabling this option on production systems, because userland can easily disable the thermal policy by simply flooding this sysfs node with low temperature values. config HISI_THERMAL tristate "Hisilicon thermal driver" depends on (ARCH_HISI && CPU_THERMAL && OF) || COMPILE_TEST depends on HAS_IOMEM help Enable this to plug hisilicon's thermal sensor driver into the Linux thermal framework. cpufreq is used as the cooling device to throttle CPUs when the passive trip is crossed. config IMX_THERMAL tristate "Temperature sensor driver for Freescale i.MX SoCs" depends on (ARCH_MXC && CPU_THERMAL) || COMPILE_TEST depends on MFD_SYSCON depends on OF help Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs. It supports one critical trip point and one passive trip point. The cpufreq is used as the cooling device to throttle CPUs when the passive trip is crossed. config MAX77620_THERMAL tristate "Temperature sensor driver for Maxim MAX77620 PMIC" depends on MFD_MAX77620 depends on OF help Support for die junction temperature warning alarm for Maxim Semiconductor PMIC MAX77620 device. Device generates two alarm interrupts when PMIC die temperature cross the threshold of 120 degC and 140 degC. config QORIQ_THERMAL tristate "QorIQ Thermal Monitoring Unit" depends on THERMAL_OF depends on HAS_IOMEM help Support for Thermal Monitoring Unit (TMU) found on QorIQ platforms. It supports one critical trip point and one passive trip point. The cpufreq is used as the cooling device to throttle CPUs when the passive trip is crossed. config SPEAR_THERMAL tristate "SPEAr thermal sensor driver" depends on PLAT_SPEAR || COMPILE_TEST depends on HAS_IOMEM depends on OF help Enable this to plug the SPEAr thermal sensor driver into the Linux thermal framework. config ROCKCHIP_THERMAL tristate "Rockchip thermal driver" depends on ARCH_ROCKCHIP || COMPILE_TEST depends on RESET_CONTROLLER depends on HAS_IOMEM help Rockchip thermal driver provides support for Temperature sensor ADC (TS-ADC) found on Rockchip SoCs. It supports one critical trip point. Cpufreq is used as the cooling device and will throttle CPUs when the Temperature crosses the passive trip point. config RCAR_THERMAL tristate "Renesas R-Car thermal driver" depends on ARCH_RENESAS || COMPILE_TEST depends on HAS_IOMEM help Enable this to plug the R-Car thermal sensor driver into the Linux thermal framework. config KIRKWOOD_THERMAL tristate "Temperature sensor on Marvell Kirkwood SoCs" depends on MACH_KIRKWOOD || COMPILE_TEST depends on HAS_IOMEM depends on OF help Support for the Kirkwood thermal sensor driver into the Linux thermal framework. Only kirkwood 88F6282 and 88F6283 have this sensor. config DOVE_THERMAL tristate "Temperature sensor on Marvell Dove SoCs" depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST depends on HAS_IOMEM depends on OF help Support for the Dove thermal sensor driver in the Linux thermal framework. config DB8500_THERMAL tristate "DB8500 thermal management" depends on MFD_DB8500_PRCMU default y help Adds DB8500 thermal management implementation according to the thermal management framework. A thermal zone with several trip points will be created. Cooling devices can be bound to the trip points to cool this thermal zone if trip points reached. config ARMADA_THERMAL tristate "Armada 370/XP thermal management" depends on ARCH_MVEBU || COMPILE_TEST depends on HAS_IOMEM depends on OF help Enable this option if you want to have support for thermal management controller present in Armada 370 and Armada XP SoC. config DB8500_CPUFREQ_COOLING tristate "DB8500 cpufreq cooling" depends on ARCH_U8500 || COMPILE_TEST depends on HAS_IOMEM depends on CPU_THERMAL default y help Adds DB8500 cpufreq cooling devices, and these cooling devices can be bound to thermal zone trip points. When a trip point reached, the bound cpufreq cooling device turns active to set CPU frequency low to cool down the CPU. config INTEL_POWERCLAMP tristate "Intel PowerClamp idle injection driver" depends on THERMAL depends on X86 depends on CPU_SUP_INTEL help Enable this to enable Intel PowerClamp idle injection driver. This enforce idle time which results in more package C-state residency. The user interface is exposed via generic thermal framework. config X86_PKG_TEMP_THERMAL tristate "X86 package temperature thermal driver" depends on X86_THERMAL_VECTOR select THERMAL_GOV_USER_SPACE select THERMAL_WRITABLE_TRIPS default m help Enable this to register CPU digital sensor for package temperature as thermal zone. Each package will have its own thermal zone. There are two trip points which can be set by user to get notifications via thermal notification methods. config INTEL_SOC_DTS_IOSF_CORE tristate depends on X86 && PCI select IOSF_MBI help This is becoming a common feature for Intel SoCs to expose the additional digital temperature sensors (DTSs) using side band interface (IOSF). This implements the common set of helper functions to register, get temperature and get/set thresholds on DTSs. config INTEL_SOC_DTS_THERMAL tristate "Intel SoCs DTS thermal driver" depends on X86 && PCI select INTEL_SOC_DTS_IOSF_CORE select THERMAL_WRITABLE_TRIPS help Enable this to register Intel SoCs (e.g. Bay Trail) platform digital temperature sensor (DTS). These SoCs have two additional DTSs in addition to DTSs on CPU cores. Each DTS will be registered as a thermal zone. There are two trip points. One of the trip point can be set by user mode programs to get notifications via Linux thermal notification methods.The other trip is a critical trip point, which was set by the driver based on the TJ MAX temperature. config INTEL_QUARK_DTS_THERMAL tristate "Intel Quark DTS thermal driver" depends on X86_INTEL_QUARK help Enable this to register Intel Quark SoC (e.g. X1000) platform digital temperature sensor (DTS). For X1000 SoC, it has one on-die DTS. The DTS will be registered as a thermal zone. There are two trip points: hot & critical. The critical trip point default value is set by underlying BIOS/Firmware. menu "ACPI INT340X thermal drivers" source drivers/thermal/int340x_thermal/Kconfig endmenu config INTEL_BXT_PMIC_THERMAL tristate "Intel Broxton PMIC thermal driver" depends on X86 && INTEL_SOC_PMIC && REGMAP help Select this driver for Intel Broxton PMIC with ADC channels monitoring system temperature measurements and alerts. This driver is used for monitoring the ADC channels of PMIC and handles the alert trip point interrupts and notifies the thermal framework with the trip point and temperature details of the zone. config INTEL_PCH_THERMAL tristate "Intel PCH Thermal Reporting Driver" depends on X86 && PCI help Enable this to support thermal reporting on certain intel PCHs. Thermal reporting device will provide temperature reading, programmable trip points and other information. config MTK_THERMAL tristate "Temperature sensor driver for mediatek SoCs" depends on ARCH_MEDIATEK || COMPILE_TEST depends on HAS_IOMEM depends on NVMEM || NVMEM=n depends on RESET_CONTROLLER default y help Enable this option if you want to have support for thermal management controller present in Mediatek SoCs menu "Texas Instruments thermal drivers" depends on ARCH_HAS_BANDGAP || COMPILE_TEST depends on HAS_IOMEM source "drivers/thermal/ti-soc-thermal/Kconfig" endmenu menu "Samsung thermal drivers" depends on ARCH_EXYNOS || COMPILE_TEST source "drivers/thermal/samsung/Kconfig" endmenu menu "STMicroelectronics thermal drivers" depends on ARCH_STI && OF source "drivers/thermal/st/Kconfig" endmenu config TANGO_THERMAL tristate "Tango thermal management" depends on ARCH_TANGO || COMPILE_TEST help Enable the Tango thermal driver, which supports the primitive temperature sensor embedded in Tango chips since the SMP8758. This sensor only generates a 1-bit signal to indicate whether the die temperature exceeds a programmable threshold. source "drivers/thermal/tegra/Kconfig" config QCOM_SPMI_TEMP_ALARM tristate "Qualcomm SPMI PMIC Temperature Alarm" depends on OF && SPMI && IIO select REGMAP_SPMI help This enables a thermal sysfs driver for Qualcomm plug-and-play (QPNP) PMIC devices. It shows up in sysfs as a thermal sensor with multiple trip points. The temperature reported by the thermal sensor reflects the real time die temperature if an ADC is present or an estimate of the temperature based upon the over temperature stage value. config GENERIC_ADC_THERMAL tristate "Generic ADC based thermal sensor" depends on IIO help This enabled a thermal sysfs driver for the temperature sensor which is connected to the General Purpose ADC. The ADC channel is read via IIO framework and the channel information is provided to this driver. This driver reports the temperature by reading ADC channel and converts it to temperature based on lookup table. menu "Qualcomm thermal drivers" depends on (ARCH_QCOM && OF) || COMPILE_TEST source "drivers/thermal/qcom/Kconfig" endmenu endif