forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
496 lines
16 KiB
496 lines
16 KiB
# SPDX-License-Identifier: GPL-2.0-only |
|
# |
|
# Generic thermal drivers configuration |
|
# |
|
|
|
menuconfig THERMAL |
|
bool "Thermal drivers" |
|
help |
|
Thermal drivers offer a generic mechanism for |
|
thermal management. Usually it's made up of one or more thermal |
|
zones and cooling devices. |
|
Each thermal zone contains its own temperature, trip points, |
|
and cooling devices. |
|
All platforms with ACPI or Open Firmware thermal support can use |
|
this driver. |
|
If you want this support, you should say Y here. |
|
|
|
if THERMAL |
|
|
|
config THERMAL_NETLINK |
|
bool "Thermal netlink management" |
|
depends on NET |
|
help |
|
The thermal framework has a netlink interface to do thermal |
|
zones discovery, temperature readings and events such as |
|
trip point crossed, cooling device update or governor |
|
change. It is recommended to enable the feature. |
|
|
|
config THERMAL_STATISTICS |
|
bool "Thermal state transition statistics" |
|
help |
|
Export thermal state transition statistics information through sysfs. |
|
|
|
If in doubt, say N. |
|
|
|
config THERMAL_EMERGENCY_POWEROFF_DELAY_MS |
|
int "Emergency poweroff delay in milli-seconds" |
|
default 0 |
|
help |
|
Thermal subsystem will issue a graceful shutdown when |
|
critical temperatures are reached using orderly_poweroff(). In |
|
case of failure of an orderly_poweroff(), the thermal emergency |
|
poweroff kicks in after a delay has elapsed and shuts down the system. |
|
This config is number of milliseconds to delay before emergency |
|
poweroff kicks in. Similarly to the critical trip point, |
|
the delay should be carefully profiled so as to give adequate |
|
time for orderly_poweroff() to finish on regular execution. |
|
If set to 0 emergency poweroff will not be supported. |
|
|
|
In doubt, leave as 0. |
|
|
|
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" |
|
depends on 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" |
|
depends on ENERGY_MODEL |
|
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 THERMAL_OF |
|
help |
|
Enable the CPU cooling features. If the system has no active |
|
cooling device available, this option allows to use the CPU |
|
as a cooling device. |
|
|
|
if CPU_THERMAL |
|
|
|
config CPU_FREQ_THERMAL |
|
bool "CPU frequency cooling device" |
|
depends on CPU_FREQ |
|
default y |
|
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. |
|
|
|
config CPU_IDLE_THERMAL |
|
bool "CPU idle cooling device" |
|
depends on IDLE_INJECT |
|
help |
|
This implements the CPU cooling mechanism through |
|
idle injection. This will throttle the CPU by injecting |
|
idle cycle. |
|
endif |
|
|
|
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 THERMAL_MMIO |
|
tristate "Generic Thermal MMIO driver" |
|
depends on OF || COMPILE_TEST |
|
depends on HAS_IOMEM |
|
help |
|
This option enables the generic thermal MMIO driver that will use |
|
memory-mapped reads to get the temperature. Any HW/System that |
|
allows temperature reading by a single memory-mapped reading, be it |
|
register or shared memory, is a potential candidate to work with this |
|
driver. |
|
|
|
config HISI_THERMAL |
|
tristate "Hisilicon thermal driver" |
|
depends on ARCH_HISI || COMPILE_TEST |
|
depends on HAS_IOMEM |
|
depends on OF |
|
default y |
|
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 || COMPILE_TEST |
|
depends on NVMEM || !NVMEM |
|
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 IMX_SC_THERMAL |
|
tristate "Temperature sensor driver for NXP i.MX SoCs with System Controller" |
|
depends on IMX_SCU |
|
depends on OF |
|
help |
|
Support for Temperature Monitor (TEMPMON) found on NXP i.MX SoCs with |
|
system controller inside, Linux kernel has to communicate with system |
|
controller via MU (message unit) IPC to get temperature from thermal |
|
sensor. It supports one critical trip point and one |
|
passive trip point for each thermal sensor. |
|
|
|
config IMX8MM_THERMAL |
|
tristate "Temperature sensor driver for Freescale i.MX8MM SoC" |
|
depends on ARCH_MXC || COMPILE_TEST |
|
depends on OF |
|
help |
|
Support for Thermal Monitoring Unit (TMU) found on Freescale i.MX8MM SoC. |
|
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 K3_THERMAL |
|
tristate "Texas Instruments K3 thermal support" |
|
depends on ARCH_K3 || COMPILE_TEST |
|
help |
|
If you say yes here you get thermal support for the Texas Instruments |
|
K3 SoC family. The current chip supported is: |
|
- AM654 |
|
|
|
This includes temperature reading functionality. |
|
|
|
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 && HAS_IOMEM |
|
depends on PPC_E500MC || SOC_LS1021A || ARCH_LAYERSCAPE || (ARCH_MXC && ARM64) || COMPILE_TEST |
|
select REGMAP_MMIO |
|
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 SUN8I_THERMAL |
|
tristate "Allwinner sun8i thermal driver" |
|
depends on ARCH_SUNXI || COMPILE_TEST |
|
depends on HAS_IOMEM |
|
depends on NVMEM |
|
depends on OF |
|
depends on RESET_CONTROLLER |
|
help |
|
Support for the sun8i thermal sensor driver into the Linux thermal |
|
framework. |
|
|
|
To compile this driver as a module, choose M here: the |
|
module will be called sun8i-thermal. |
|
|
|
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 RCAR_GEN3_THERMAL |
|
tristate "Renesas R-Car Gen3 and RZ/G2 thermal driver" |
|
depends on ARCH_RENESAS || COMPILE_TEST |
|
depends on HAS_IOMEM |
|
depends on OF |
|
help |
|
Enable this to plug the R-Car Gen3 or RZ/G2 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 && OF |
|
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 "Marvell EBU Armada SoCs 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 Marvell EBU Armada SoCs (370,375,XP,38x,7K,8K). |
|
|
|
config DA9062_THERMAL |
|
tristate "DA9062/DA9061 Dialog Semiconductor thermal driver" |
|
depends on MFD_DA9062 || COMPILE_TEST |
|
depends on OF |
|
help |
|
Enable this for the Dialog Semiconductor thermal sensor driver. |
|
This will report PMIC junction over-temperature for one thermal trip |
|
zone. |
|
Compatible with the DA9062 and DA9061 PMICs. |
|
|
|
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 |
|
|
|
config AMLOGIC_THERMAL |
|
tristate "Amlogic Thermal Support" |
|
default ARCH_MESON |
|
depends on OF && ARCH_MESON |
|
help |
|
If you say yes here you get support for Amlogic Thermal |
|
for G12 SoC Family. |
|
|
|
This driver can also be built as a module. If so, the module will |
|
be called amlogic_thermal. |
|
|
|
menu "Intel thermal drivers" |
|
depends on X86 || X86_INTEL_QUARK || COMPILE_TEST |
|
source "drivers/thermal/intel/Kconfig" |
|
endmenu |
|
|
|
menu "Broadcom thermal drivers" |
|
depends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM_IPROC || \ |
|
COMPILE_TEST |
|
source "drivers/thermal/broadcom/Kconfig" |
|
endmenu |
|
|
|
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 || ARCH_STM32) && OF |
|
source "drivers/thermal/st/Kconfig" |
|
endmenu |
|
|
|
source "drivers/thermal/tegra/Kconfig" |
|
|
|
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 |
|
|
|
config UNIPHIER_THERMAL |
|
tristate "Socionext UniPhier thermal driver" |
|
depends on ARCH_UNIPHIER || COMPILE_TEST |
|
depends on THERMAL_OF && MFD_SYSCON |
|
help |
|
Enable this to plug in UniPhier on-chip PVT thermal driver into the |
|
thermal framework. The driver supports CPU thermal zone temperature |
|
reporting and a couple of trip points. |
|
|
|
config SPRD_THERMAL |
|
tristate "Temperature sensor on Spreadtrum SoCs" |
|
depends on ARCH_SPRD || COMPILE_TEST |
|
help |
|
Support for the Spreadtrum thermal sensor driver in the Linux thermal |
|
framework. |
|
|
|
config KHADAS_MCU_FAN_THERMAL |
|
tristate "Khadas MCU controller FAN cooling support" |
|
depends on OF || COMPILE_TEST |
|
depends on MFD_KHADAS_MCU |
|
select MFD_CORE |
|
select REGMAP |
|
help |
|
If you say yes here you get support for the FAN controlled |
|
by the Microcontroller found on the Khadas VIM boards. |
|
|
|
endif
|
|
|