blob: cf2534c5df099d09339350ca60e5623cec9f66d2 [file] [log] [blame]
#
# 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
depends on HWMON=y || HWMON=THERMAL
default y
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
lpatform thermals.
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
config THERMAL_GOV_USER_SPACE
bool "User_space thermal governor"
help
Enable this to let the user space manage the platform thermals.
config CPU_THERMAL
bool "generic cpu cooling support"
depends on CPU_FREQ
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 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 THERMAL_TSENS8974
tristate "Qualcomm 8974 TSENS Temperature driver"
depends on THERMAL
help
This enables the thermal sysfs driver for the TSENS device. It shows
up in Sysfs as a thermal zone with multiple trip points. Also able
to set threshold temperature for both warm and cool and update
thermal userspace client when a threshold is reached. Warm/Cool
temperature thresholds can be set independently for each sensor.
config LIMITS_MONITOR
bool "LMH monitor driver"
depends on THERMAL
help
Enable this to manage the limits hardware for interrupts, throttling
intensities, and LMH device profiles. This driver also registers the
Limits hardware's monitoring entities as sensors with the thermal
framework.
config LIMITS_LITE_HW
bool "LMH Lite hardware driver"
depends on LIMITS_MONITOR
help
Enable this option for interacting with LMH Lite hardware. This
implements the APIs required for getting the details about sensors
supported by LMH Lite, their throttling intensity and the operating
profiles.
config THERMAL_MONITOR
bool "Monitor thermal state and limit CPU Frequency"
depends on THERMAL_TSENS8960 || THERMAL_TSENS8974
depends on CPU_FREQ || CPU_FREQ_MSM
default n
help
This enables thermal monitoring capability in the kernel in the
absence of a system wide thermal monitoring entity or until such an
entity starts running in the userspace. Monitors TSENS temperature
and limits the max frequency of the cores.
config SUPPLY_LM_MONITOR
bool "SUPPLY current monitor driver"
depends on THERMAL && PM_OPP && CPU_FREQ
help
This enables to monitor power states of different HW blocks
including cpu, gpu and modem, number of cores online and SoC
temperature. Based on these inputs, the driver throttles
apps subsystem.
config SPEAR_THERMAL
bool "SPEAr thermal sensor driver"
depends on PLAT_SPEAR
depends on OF
help
Enable this to plug the SPEAr thermal sensor driver into the Linux
thermal framework
config RCAR_THERMAL
tristate "Renesas R-Car thermal driver"
depends on ARCH_SHMOBILE
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 ARCH_KIRKWOOD
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 EXYNOS_THERMAL
tristate "Temperature sensor on Samsung EXYNOS"
depends on (ARCH_EXYNOS4 || ARCH_EXYNOS5)
depends on CPU_THERMAL
help
If you say yes here you get support for TMU (Thermal Management
Unit) on SAMSUNG EXYNOS series of SoC.
config DOVE_THERMAL
tristate "Temperature sensor on Marvell Dove SoCs"
depends on ARCH_DOVE
depends on OF
help
Support for the Dove thermal sensor driver in the Linux thermal
framework.
config DB8500_THERMAL
bool "DB8500 thermal management"
depends on ARCH_U8500
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
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
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 THERMAL_QPNP
tristate "Qualcomm Plug-and-Play PMIC Temperature Alarm"
depends on THERMAL
depends on OF
depends on SPMI
depends on OF_SPMI
help
This enables a thermal Sysfs driver for Qualcomm plug-and-play (QPNP)
PMIC devices. It shows up in Sysfs as a thermal zone with multiple
trip points. The temperature reported by the thermal zone reflects the
real time die temperature if an ADC is present or an estimate of the
temperature based upon the over temperature stage value if no ADC is
available. If allowed via compile time configuration; enabling the
thermal zone device via the mode file results in shifting PMIC over
temperature shutdown control from hardware to software.
config THERMAL_QPNP_ADC_TM
tristate "Qualcomm 8974 Thermal Monitor ADC Driver"
depends on THERMAL && SPMI
help
This enables the thermal Sysfs driver for the ADC thermal monitoring
device. It shows up in Sysfs as a thermal zone with multiple trip points.
Disabling the thermal zone device via the mode file results in disabling
the sensor. Also able to set threshold temperature for both hot and cold
and update when a threshold is reached.
endif