# # 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 SS_THERMAL_CPU_WEAR_LEVEL bool "Monitor thermal state and limit CPU Frequency" depends on THERMAL default n help Controlling CPU status for heat mitigation. 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 DEBUG_THERMAL bool "Monitor thermal state and limit CPU Frequency" depends on THERMAL default n help Monitors TSENS temperature for Debugging purporse. 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