| # |
| # 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_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 IMX8M_THERMAL |
| tristate "i.MX8M Thermal Monitoring Unit" |
| depends on THERMAL_OF |
| depends on HAS_IOMEM |
| help |
| Support for Thermal Monitoring Unit (TMU) found on i.MX8M 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 IMX_SC_THERMAL |
| tristate "thermal sensor driver for NXP i.MX8 SoCs" |
| depends on THERMAL_OF && ARCH_MXC_ARM64 |
| help |
| Support for Temperature Monitor (TEMPMON) found on NXP i.MX SOCs |
| with system controller. |
| 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 DEVICE_THERMAL |
| tristate "generic device cooling support" |
| help |
| Support for device cooling. |
| It supports notification of crossing passive trip for devices, |
| devices need to do their own actions to cool down the SOC. |
| |
| 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 |