162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# Generic thermal drivers configuration 462306a36Sopenharmony_ci# 562306a36Sopenharmony_ci 662306a36Sopenharmony_cimenuconfig THERMAL 762306a36Sopenharmony_ci bool "Thermal drivers" 862306a36Sopenharmony_ci help 962306a36Sopenharmony_ci Thermal drivers offer a generic mechanism for 1062306a36Sopenharmony_ci thermal management. Usually it's made up of one or more thermal 1162306a36Sopenharmony_ci zones and cooling devices. 1262306a36Sopenharmony_ci Each thermal zone contains its own temperature, trip points, 1362306a36Sopenharmony_ci and cooling devices. 1462306a36Sopenharmony_ci All platforms with ACPI or Open Firmware thermal support can use 1562306a36Sopenharmony_ci this driver. 1662306a36Sopenharmony_ci If you want this support, you should say Y here. 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciif THERMAL 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciconfig THERMAL_NETLINK 2162306a36Sopenharmony_ci bool "Thermal netlink management" 2262306a36Sopenharmony_ci depends on NET 2362306a36Sopenharmony_ci help 2462306a36Sopenharmony_ci The thermal framework has a netlink interface to do thermal 2562306a36Sopenharmony_ci zones discovery, temperature readings and events such as 2662306a36Sopenharmony_ci trip point crossed, cooling device update or governor 2762306a36Sopenharmony_ci change. It is recommended to enable the feature. 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciconfig THERMAL_STATISTICS 3062306a36Sopenharmony_ci bool "Thermal state transition statistics" 3162306a36Sopenharmony_ci help 3262306a36Sopenharmony_ci Export thermal state transition statistics information through sysfs. 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci If in doubt, say N. 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ciconfig THERMAL_EMERGENCY_POWEROFF_DELAY_MS 3762306a36Sopenharmony_ci int "Emergency poweroff delay in milli-seconds" 3862306a36Sopenharmony_ci default 0 3962306a36Sopenharmony_ci help 4062306a36Sopenharmony_ci Thermal subsystem will issue a graceful shutdown when 4162306a36Sopenharmony_ci critical temperatures are reached using orderly_poweroff(). In 4262306a36Sopenharmony_ci case of failure of an orderly_poweroff(), the thermal emergency 4362306a36Sopenharmony_ci poweroff kicks in after a delay has elapsed and shuts down the system. 4462306a36Sopenharmony_ci This config is number of milliseconds to delay before emergency 4562306a36Sopenharmony_ci poweroff kicks in. Similarly to the critical trip point, 4662306a36Sopenharmony_ci the delay should be carefully profiled so as to give adequate 4762306a36Sopenharmony_ci time for orderly_poweroff() to finish on regular execution. 4862306a36Sopenharmony_ci If set to 0 emergency poweroff will not be supported. 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci In doubt, leave as 0. 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ciconfig THERMAL_HWMON 5362306a36Sopenharmony_ci bool 5462306a36Sopenharmony_ci prompt "Expose thermal sensors as hwmon device" 5562306a36Sopenharmony_ci depends on HWMON=y || HWMON=THERMAL 5662306a36Sopenharmony_ci default y 5762306a36Sopenharmony_ci help 5862306a36Sopenharmony_ci In case a sensor is registered with the thermal 5962306a36Sopenharmony_ci framework, this option will also register it 6062306a36Sopenharmony_ci as a hwmon. The sensor will then have the common 6162306a36Sopenharmony_ci hwmon sysfs interface. 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci Say 'Y' here if you want all thermal sensors to 6462306a36Sopenharmony_ci have hwmon sysfs interface too. 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ciconfig THERMAL_OF 6762306a36Sopenharmony_ci bool 6862306a36Sopenharmony_ci prompt "APIs to parse thermal data out of device tree" 6962306a36Sopenharmony_ci depends on OF 7062306a36Sopenharmony_ci default y 7162306a36Sopenharmony_ci help 7262306a36Sopenharmony_ci This options provides helpers to add the support to 7362306a36Sopenharmony_ci read and parse thermal data definitions out of the 7462306a36Sopenharmony_ci device tree blob. 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci Say 'Y' here if you need to build thermal infrastructure 7762306a36Sopenharmony_ci based on device tree. 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ciconfig THERMAL_ACPI 8062306a36Sopenharmony_ci depends on ACPI 8162306a36Sopenharmony_ci bool 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ciconfig THERMAL_WRITABLE_TRIPS 8462306a36Sopenharmony_ci bool "Enable writable trip points" 8562306a36Sopenharmony_ci help 8662306a36Sopenharmony_ci This option allows the system integrator to choose whether 8762306a36Sopenharmony_ci trip temperatures can be changed from userspace. The 8862306a36Sopenharmony_ci writable trips need to be specified when setting up the 8962306a36Sopenharmony_ci thermal zone but the choice here takes precedence. 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci Say 'Y' here if you would like to allow userspace tools to 9262306a36Sopenharmony_ci change trip temperatures. 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_cichoice 9562306a36Sopenharmony_ci prompt "Default Thermal governor" 9662306a36Sopenharmony_ci default THERMAL_DEFAULT_GOV_STEP_WISE 9762306a36Sopenharmony_ci help 9862306a36Sopenharmony_ci This option sets which thermal governor shall be loaded at 9962306a36Sopenharmony_ci startup. If in doubt, select 'step_wise'. 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ciconfig THERMAL_DEFAULT_GOV_STEP_WISE 10262306a36Sopenharmony_ci bool "step_wise" 10362306a36Sopenharmony_ci select THERMAL_GOV_STEP_WISE 10462306a36Sopenharmony_ci help 10562306a36Sopenharmony_ci Use the step_wise governor as default. This throttles the 10662306a36Sopenharmony_ci devices one step at a time. 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ciconfig THERMAL_DEFAULT_GOV_FAIR_SHARE 10962306a36Sopenharmony_ci bool "fair_share" 11062306a36Sopenharmony_ci select THERMAL_GOV_FAIR_SHARE 11162306a36Sopenharmony_ci help 11262306a36Sopenharmony_ci Use the fair_share governor as default. This throttles the 11362306a36Sopenharmony_ci devices based on their 'contribution' to a zone. The 11462306a36Sopenharmony_ci contribution should be provided through platform data. 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ciconfig THERMAL_DEFAULT_GOV_USER_SPACE 11762306a36Sopenharmony_ci bool "user_space" 11862306a36Sopenharmony_ci select THERMAL_GOV_USER_SPACE 11962306a36Sopenharmony_ci help 12062306a36Sopenharmony_ci The Userspace governor allows to get trip point crossed 12162306a36Sopenharmony_ci notification from the kernel via uevents. It is recommended 12262306a36Sopenharmony_ci to use the netlink interface instead which gives richer 12362306a36Sopenharmony_ci information about the thermal framework events. 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ciconfig THERMAL_DEFAULT_GOV_POWER_ALLOCATOR 12662306a36Sopenharmony_ci bool "power_allocator" 12762306a36Sopenharmony_ci depends on THERMAL_GOV_POWER_ALLOCATOR 12862306a36Sopenharmony_ci help 12962306a36Sopenharmony_ci Select this if you want to control temperature based on 13062306a36Sopenharmony_ci system and device power allocation. This governor can only 13162306a36Sopenharmony_ci operate on cooling devices that implement the power API. 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ciconfig THERMAL_DEFAULT_GOV_BANG_BANG 13462306a36Sopenharmony_ci bool "bang_bang" 13562306a36Sopenharmony_ci depends on THERMAL_GOV_BANG_BANG 13662306a36Sopenharmony_ci help 13762306a36Sopenharmony_ci Use the bang_bang governor as default. This throttles the 13862306a36Sopenharmony_ci devices one step at the time, taking into account the trip 13962306a36Sopenharmony_ci point hysteresis. 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ciendchoice 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ciconfig THERMAL_GOV_FAIR_SHARE 14462306a36Sopenharmony_ci bool "Fair-share thermal governor" 14562306a36Sopenharmony_ci help 14662306a36Sopenharmony_ci Enable this to manage platform thermals using fair-share governor. 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ciconfig THERMAL_GOV_STEP_WISE 14962306a36Sopenharmony_ci bool "Step_wise thermal governor" 15062306a36Sopenharmony_ci help 15162306a36Sopenharmony_ci Enable this to manage platform thermals using a simple linear 15262306a36Sopenharmony_ci governor. 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ciconfig THERMAL_GOV_BANG_BANG 15562306a36Sopenharmony_ci bool "Bang Bang thermal governor" 15662306a36Sopenharmony_ci default n 15762306a36Sopenharmony_ci help 15862306a36Sopenharmony_ci Enable this to manage platform thermals using bang bang governor. 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ci Say 'Y' here if you want to use two point temperature regulation 16162306a36Sopenharmony_ci used for fans without throttling. Some fan drivers depend on this 16262306a36Sopenharmony_ci governor to be enabled (e.g. acerhdf). 16362306a36Sopenharmony_ci 16462306a36Sopenharmony_ciconfig THERMAL_GOV_USER_SPACE 16562306a36Sopenharmony_ci bool "User_space thermal governor" 16662306a36Sopenharmony_ci help 16762306a36Sopenharmony_ci Enable this to let the user space manage the platform thermals. 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ciconfig THERMAL_GOV_POWER_ALLOCATOR 17062306a36Sopenharmony_ci bool "Power allocator thermal governor" 17162306a36Sopenharmony_ci depends on ENERGY_MODEL 17262306a36Sopenharmony_ci help 17362306a36Sopenharmony_ci Enable this to manage platform thermals by dynamically 17462306a36Sopenharmony_ci allocating and limiting power to devices. 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ciconfig CPU_THERMAL 17762306a36Sopenharmony_ci bool "Generic cpu cooling support" 17862306a36Sopenharmony_ci depends on THERMAL_OF 17962306a36Sopenharmony_ci help 18062306a36Sopenharmony_ci Enable the CPU cooling features. If the system has no active 18162306a36Sopenharmony_ci cooling device available, this option allows to use the CPU 18262306a36Sopenharmony_ci as a cooling device. 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ciif CPU_THERMAL 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ciconfig CPU_FREQ_THERMAL 18762306a36Sopenharmony_ci bool "CPU frequency cooling device" 18862306a36Sopenharmony_ci depends on CPU_FREQ 18962306a36Sopenharmony_ci default y 19062306a36Sopenharmony_ci help 19162306a36Sopenharmony_ci This implements the generic cpu cooling mechanism through frequency 19262306a36Sopenharmony_ci reduction. An ACPI version of this already exists 19362306a36Sopenharmony_ci (drivers/acpi/processor_thermal.c). 19462306a36Sopenharmony_ci This will be useful for platforms using the generic thermal interface 19562306a36Sopenharmony_ci and not the ACPI interface. 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ciconfig CPU_IDLE_THERMAL 19862306a36Sopenharmony_ci bool "CPU idle cooling device" 19962306a36Sopenharmony_ci depends on IDLE_INJECT 20062306a36Sopenharmony_ci help 20162306a36Sopenharmony_ci This implements the CPU cooling mechanism through 20262306a36Sopenharmony_ci idle injection. This will throttle the CPU by injecting 20362306a36Sopenharmony_ci idle cycle. 20462306a36Sopenharmony_ciendif 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ciconfig DEVFREQ_THERMAL 20762306a36Sopenharmony_ci bool "Generic device cooling support" 20862306a36Sopenharmony_ci depends on PM_DEVFREQ 20962306a36Sopenharmony_ci depends on PM_OPP 21062306a36Sopenharmony_ci help 21162306a36Sopenharmony_ci This implements the generic devfreq cooling mechanism through 21262306a36Sopenharmony_ci frequency reduction for devices using devfreq. 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ci This will throttle the device by limiting the maximum allowed DVFS 21562306a36Sopenharmony_ci frequency corresponding to the cooling level. 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_ci In order to use the power extensions of the cooling device, 21862306a36Sopenharmony_ci devfreq should use the simple_ondemand governor. 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci If you want this support, you should say Y here. 22162306a36Sopenharmony_ci 22262306a36Sopenharmony_ciconfig THERMAL_EMULATION 22362306a36Sopenharmony_ci bool "Thermal emulation mode support" 22462306a36Sopenharmony_ci help 22562306a36Sopenharmony_ci Enable this option to make a emul_temp sysfs node in thermal zone 22662306a36Sopenharmony_ci directory to support temperature emulation. With emulation sysfs node, 22762306a36Sopenharmony_ci user can manually input temperature and test the different trip 22862306a36Sopenharmony_ci threshold behaviour for simulation purpose. 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_ci WARNING: Be careful while enabling this option on production systems, 23162306a36Sopenharmony_ci because userland can easily disable the thermal policy by simply 23262306a36Sopenharmony_ci flooding this sysfs node with low temperature values. 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_ciconfig THERMAL_MMIO 23562306a36Sopenharmony_ci tristate "Generic Thermal MMIO driver" 23662306a36Sopenharmony_ci depends on OF 23762306a36Sopenharmony_ci depends on HAS_IOMEM 23862306a36Sopenharmony_ci help 23962306a36Sopenharmony_ci This option enables the generic thermal MMIO driver that will use 24062306a36Sopenharmony_ci memory-mapped reads to get the temperature. Any HW/System that 24162306a36Sopenharmony_ci allows temperature reading by a single memory-mapped reading, be it 24262306a36Sopenharmony_ci register or shared memory, is a potential candidate to work with this 24362306a36Sopenharmony_ci driver. 24462306a36Sopenharmony_ci 24562306a36Sopenharmony_ciconfig HISI_THERMAL 24662306a36Sopenharmony_ci tristate "Hisilicon thermal driver" 24762306a36Sopenharmony_ci depends on ARCH_HISI || COMPILE_TEST 24862306a36Sopenharmony_ci depends on HAS_IOMEM 24962306a36Sopenharmony_ci depends on OF 25062306a36Sopenharmony_ci default y 25162306a36Sopenharmony_ci help 25262306a36Sopenharmony_ci Enable this to plug hisilicon's thermal sensor driver into the Linux 25362306a36Sopenharmony_ci thermal framework. cpufreq is used as the cooling device to throttle 25462306a36Sopenharmony_ci CPUs when the passive trip is crossed. 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ciconfig IMX_THERMAL 25762306a36Sopenharmony_ci tristate "Temperature sensor driver for Freescale i.MX SoCs" 25862306a36Sopenharmony_ci depends on ARCH_MXC || COMPILE_TEST 25962306a36Sopenharmony_ci depends on NVMEM || !NVMEM 26062306a36Sopenharmony_ci depends on MFD_SYSCON 26162306a36Sopenharmony_ci depends on OF 26262306a36Sopenharmony_ci help 26362306a36Sopenharmony_ci Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs. 26462306a36Sopenharmony_ci It supports one critical trip point and one passive trip point. The 26562306a36Sopenharmony_ci cpufreq is used as the cooling device to throttle CPUs when the 26662306a36Sopenharmony_ci passive trip is crossed. 26762306a36Sopenharmony_ci 26862306a36Sopenharmony_ciconfig IMX_SC_THERMAL 26962306a36Sopenharmony_ci tristate "Temperature sensor driver for NXP i.MX SoCs with System Controller" 27062306a36Sopenharmony_ci depends on IMX_SCU 27162306a36Sopenharmony_ci depends on OF 27262306a36Sopenharmony_ci help 27362306a36Sopenharmony_ci Support for Temperature Monitor (TEMPMON) found on NXP i.MX SoCs with 27462306a36Sopenharmony_ci system controller inside, Linux kernel has to communicate with system 27562306a36Sopenharmony_ci controller via MU (message unit) IPC to get temperature from thermal 27662306a36Sopenharmony_ci sensor. It supports one critical trip point and one 27762306a36Sopenharmony_ci passive trip point for each thermal sensor. 27862306a36Sopenharmony_ci 27962306a36Sopenharmony_ciconfig IMX8MM_THERMAL 28062306a36Sopenharmony_ci tristate "Temperature sensor driver for Freescale i.MX8MM SoC" 28162306a36Sopenharmony_ci depends on ARCH_MXC || COMPILE_TEST 28262306a36Sopenharmony_ci depends on OF 28362306a36Sopenharmony_ci help 28462306a36Sopenharmony_ci Support for Thermal Monitoring Unit (TMU) found on Freescale i.MX8MM SoC. 28562306a36Sopenharmony_ci It supports one critical trip point and one passive trip point. The 28662306a36Sopenharmony_ci cpufreq is used as the cooling device to throttle CPUs when the passive 28762306a36Sopenharmony_ci trip is crossed. 28862306a36Sopenharmony_ci 28962306a36Sopenharmony_ciconfig K3_THERMAL 29062306a36Sopenharmony_ci tristate "Texas Instruments K3 thermal support" 29162306a36Sopenharmony_ci depends on ARCH_K3 || COMPILE_TEST 29262306a36Sopenharmony_ci help 29362306a36Sopenharmony_ci If you say yes here you get thermal support for the Texas Instruments 29462306a36Sopenharmony_ci K3 SoC family. The current chip supported is: 29562306a36Sopenharmony_ci - AM654 29662306a36Sopenharmony_ci 29762306a36Sopenharmony_ci This includes temperature reading functionality. 29862306a36Sopenharmony_ci 29962306a36Sopenharmony_ciconfig MAX77620_THERMAL 30062306a36Sopenharmony_ci tristate "Temperature sensor driver for Maxim MAX77620 PMIC" 30162306a36Sopenharmony_ci depends on MFD_MAX77620 30262306a36Sopenharmony_ci depends on OF 30362306a36Sopenharmony_ci help 30462306a36Sopenharmony_ci Support for die junction temperature warning alarm for Maxim 30562306a36Sopenharmony_ci Semiconductor PMIC MAX77620 device. Device generates two alarm 30662306a36Sopenharmony_ci interrupts when PMIC die temperature cross the threshold of 30762306a36Sopenharmony_ci 120 degC and 140 degC. 30862306a36Sopenharmony_ci 30962306a36Sopenharmony_ciconfig QORIQ_THERMAL 31062306a36Sopenharmony_ci tristate "QorIQ Thermal Monitoring Unit" 31162306a36Sopenharmony_ci depends on THERMAL_OF && HAS_IOMEM 31262306a36Sopenharmony_ci depends on PPC_E500MC || SOC_LS1021A || ARCH_LAYERSCAPE || (ARCH_MXC && ARM64) || COMPILE_TEST 31362306a36Sopenharmony_ci select REGMAP_MMIO 31462306a36Sopenharmony_ci help 31562306a36Sopenharmony_ci Support for Thermal Monitoring Unit (TMU) found on QorIQ platforms. 31662306a36Sopenharmony_ci It supports one critical trip point and one passive trip point. The 31762306a36Sopenharmony_ci cpufreq is used as the cooling device to throttle CPUs when the 31862306a36Sopenharmony_ci passive trip is crossed. 31962306a36Sopenharmony_ci 32062306a36Sopenharmony_ciconfig SPEAR_THERMAL 32162306a36Sopenharmony_ci tristate "SPEAr thermal sensor driver" 32262306a36Sopenharmony_ci depends on PLAT_SPEAR || COMPILE_TEST 32362306a36Sopenharmony_ci depends on HAS_IOMEM 32462306a36Sopenharmony_ci depends on OF 32562306a36Sopenharmony_ci help 32662306a36Sopenharmony_ci Enable this to plug the SPEAr thermal sensor driver into the Linux 32762306a36Sopenharmony_ci thermal framework. 32862306a36Sopenharmony_ci 32962306a36Sopenharmony_ciconfig SUN8I_THERMAL 33062306a36Sopenharmony_ci tristate "Allwinner sun8i thermal driver" 33162306a36Sopenharmony_ci depends on ARCH_SUNXI || COMPILE_TEST 33262306a36Sopenharmony_ci depends on HAS_IOMEM 33362306a36Sopenharmony_ci depends on NVMEM 33462306a36Sopenharmony_ci depends on OF 33562306a36Sopenharmony_ci depends on RESET_CONTROLLER 33662306a36Sopenharmony_ci help 33762306a36Sopenharmony_ci Support for the sun8i thermal sensor driver into the Linux thermal 33862306a36Sopenharmony_ci framework. 33962306a36Sopenharmony_ci 34062306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 34162306a36Sopenharmony_ci module will be called sun8i-thermal. 34262306a36Sopenharmony_ci 34362306a36Sopenharmony_ciconfig ROCKCHIP_THERMAL 34462306a36Sopenharmony_ci tristate "Rockchip thermal driver" 34562306a36Sopenharmony_ci depends on ARCH_ROCKCHIP || COMPILE_TEST 34662306a36Sopenharmony_ci depends on RESET_CONTROLLER 34762306a36Sopenharmony_ci depends on HAS_IOMEM 34862306a36Sopenharmony_ci help 34962306a36Sopenharmony_ci Rockchip thermal driver provides support for Temperature sensor 35062306a36Sopenharmony_ci ADC (TS-ADC) found on Rockchip SoCs. It supports one critical 35162306a36Sopenharmony_ci trip point. Cpufreq is used as the cooling device and will throttle 35262306a36Sopenharmony_ci CPUs when the Temperature crosses the passive trip point. 35362306a36Sopenharmony_ci 35462306a36Sopenharmony_ciconfig RCAR_THERMAL 35562306a36Sopenharmony_ci tristate "Renesas R-Car thermal driver" 35662306a36Sopenharmony_ci depends on ARCH_RENESAS || COMPILE_TEST 35762306a36Sopenharmony_ci depends on HAS_IOMEM 35862306a36Sopenharmony_ci help 35962306a36Sopenharmony_ci Enable this to plug the R-Car thermal sensor driver into the Linux 36062306a36Sopenharmony_ci thermal framework. 36162306a36Sopenharmony_ci 36262306a36Sopenharmony_ciconfig RCAR_GEN3_THERMAL 36362306a36Sopenharmony_ci tristate "Renesas R-Car Gen3 and RZ/G2 thermal driver" 36462306a36Sopenharmony_ci depends on ARCH_RENESAS || COMPILE_TEST 36562306a36Sopenharmony_ci depends on HAS_IOMEM 36662306a36Sopenharmony_ci depends on OF 36762306a36Sopenharmony_ci help 36862306a36Sopenharmony_ci Enable this to plug the R-Car Gen3 or RZ/G2 thermal sensor driver into 36962306a36Sopenharmony_ci the Linux thermal framework. 37062306a36Sopenharmony_ci 37162306a36Sopenharmony_ciconfig RZG2L_THERMAL 37262306a36Sopenharmony_ci tristate "Renesas RZ/G2L thermal driver" 37362306a36Sopenharmony_ci depends on ARCH_RENESAS || COMPILE_TEST 37462306a36Sopenharmony_ci depends on HAS_IOMEM 37562306a36Sopenharmony_ci depends on OF 37662306a36Sopenharmony_ci help 37762306a36Sopenharmony_ci Enable this to plug the RZ/G2L thermal sensor driver into the Linux 37862306a36Sopenharmony_ci thermal framework. 37962306a36Sopenharmony_ci 38062306a36Sopenharmony_ciconfig KIRKWOOD_THERMAL 38162306a36Sopenharmony_ci tristate "Temperature sensor on Marvell Kirkwood SoCs" 38262306a36Sopenharmony_ci depends on MACH_KIRKWOOD || COMPILE_TEST 38362306a36Sopenharmony_ci depends on HAS_IOMEM 38462306a36Sopenharmony_ci depends on OF 38562306a36Sopenharmony_ci help 38662306a36Sopenharmony_ci Support for the Kirkwood thermal sensor driver into the Linux thermal 38762306a36Sopenharmony_ci framework. Only kirkwood 88F6282 and 88F6283 have this sensor. 38862306a36Sopenharmony_ci 38962306a36Sopenharmony_ciconfig DOVE_THERMAL 39062306a36Sopenharmony_ci tristate "Temperature sensor on Marvell Dove SoCs" 39162306a36Sopenharmony_ci depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST 39262306a36Sopenharmony_ci depends on HAS_IOMEM 39362306a36Sopenharmony_ci depends on OF 39462306a36Sopenharmony_ci help 39562306a36Sopenharmony_ci Support for the Dove thermal sensor driver in the Linux thermal 39662306a36Sopenharmony_ci framework. 39762306a36Sopenharmony_ci 39862306a36Sopenharmony_ciconfig DB8500_THERMAL 39962306a36Sopenharmony_ci tristate "DB8500 thermal management" 40062306a36Sopenharmony_ci depends on MFD_DB8500_PRCMU && OF 40162306a36Sopenharmony_ci default y 40262306a36Sopenharmony_ci help 40362306a36Sopenharmony_ci Adds DB8500 thermal management implementation according to the thermal 40462306a36Sopenharmony_ci management framework. A thermal zone with several trip points will be 40562306a36Sopenharmony_ci created. Cooling devices can be bound to the trip points to cool this 40662306a36Sopenharmony_ci thermal zone if trip points reached. 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ciconfig ARMADA_THERMAL 40962306a36Sopenharmony_ci tristate "Marvell EBU Armada SoCs thermal management" 41062306a36Sopenharmony_ci depends on ARCH_MVEBU || COMPILE_TEST 41162306a36Sopenharmony_ci depends on HAS_IOMEM 41262306a36Sopenharmony_ci depends on OF 41362306a36Sopenharmony_ci help 41462306a36Sopenharmony_ci Enable this option if you want to have support for thermal management 41562306a36Sopenharmony_ci controller present in Marvell EBU Armada SoCs (370,375,XP,38x,7K,8K). 41662306a36Sopenharmony_ci 41762306a36Sopenharmony_ciconfig DA9062_THERMAL 41862306a36Sopenharmony_ci tristate "DA9062/DA9061 Dialog Semiconductor thermal driver" 41962306a36Sopenharmony_ci depends on MFD_DA9062 || COMPILE_TEST 42062306a36Sopenharmony_ci depends on OF 42162306a36Sopenharmony_ci help 42262306a36Sopenharmony_ci Enable this for the Dialog Semiconductor thermal sensor driver. 42362306a36Sopenharmony_ci This will report PMIC junction over-temperature for one thermal trip 42462306a36Sopenharmony_ci zone. 42562306a36Sopenharmony_ci Compatible with the DA9062 and DA9061 PMICs. 42662306a36Sopenharmony_ci 42762306a36Sopenharmony_cimenu "Mediatek thermal drivers" 42862306a36Sopenharmony_cidepends on ARCH_MEDIATEK || COMPILE_TEST 42962306a36Sopenharmony_cisource "drivers/thermal/mediatek/Kconfig" 43062306a36Sopenharmony_ciendmenu 43162306a36Sopenharmony_ci 43262306a36Sopenharmony_ciconfig AMLOGIC_THERMAL 43362306a36Sopenharmony_ci tristate "Amlogic Thermal Support" 43462306a36Sopenharmony_ci default ARCH_MESON 43562306a36Sopenharmony_ci depends on OF && ARCH_MESON 43662306a36Sopenharmony_ci help 43762306a36Sopenharmony_ci If you say yes here you get support for Amlogic Thermal 43862306a36Sopenharmony_ci for G12 SoC Family. 43962306a36Sopenharmony_ci 44062306a36Sopenharmony_ci This driver can also be built as a module. If so, the module will 44162306a36Sopenharmony_ci be called amlogic_thermal. 44262306a36Sopenharmony_ci 44362306a36Sopenharmony_cimenu "Intel thermal drivers" 44462306a36Sopenharmony_cidepends on X86 || X86_INTEL_QUARK || COMPILE_TEST 44562306a36Sopenharmony_cisource "drivers/thermal/intel/Kconfig" 44662306a36Sopenharmony_ciendmenu 44762306a36Sopenharmony_ci 44862306a36Sopenharmony_cimenu "Broadcom thermal drivers" 44962306a36Sopenharmony_cidepends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM_IPROC || \ 45062306a36Sopenharmony_ci COMPILE_TEST 45162306a36Sopenharmony_cisource "drivers/thermal/broadcom/Kconfig" 45262306a36Sopenharmony_ciendmenu 45362306a36Sopenharmony_ci 45462306a36Sopenharmony_cimenu "Texas Instruments thermal drivers" 45562306a36Sopenharmony_cidepends on ARCH_HAS_BANDGAP || COMPILE_TEST 45662306a36Sopenharmony_cidepends on HAS_IOMEM 45762306a36Sopenharmony_cisource "drivers/thermal/ti-soc-thermal/Kconfig" 45862306a36Sopenharmony_ciendmenu 45962306a36Sopenharmony_ci 46062306a36Sopenharmony_cimenu "Samsung thermal drivers" 46162306a36Sopenharmony_cidepends on ARCH_EXYNOS || COMPILE_TEST 46262306a36Sopenharmony_cisource "drivers/thermal/samsung/Kconfig" 46362306a36Sopenharmony_ciendmenu 46462306a36Sopenharmony_ci 46562306a36Sopenharmony_cimenu "STMicroelectronics thermal drivers" 46662306a36Sopenharmony_cidepends on (ARCH_STI || ARCH_STM32) && OF 46762306a36Sopenharmony_cisource "drivers/thermal/st/Kconfig" 46862306a36Sopenharmony_ciendmenu 46962306a36Sopenharmony_ci 47062306a36Sopenharmony_cisource "drivers/thermal/tegra/Kconfig" 47162306a36Sopenharmony_ci 47262306a36Sopenharmony_ciconfig GENERIC_ADC_THERMAL 47362306a36Sopenharmony_ci tristate "Generic ADC based thermal sensor" 47462306a36Sopenharmony_ci depends on IIO 47562306a36Sopenharmony_ci help 47662306a36Sopenharmony_ci This enabled a thermal sysfs driver for the temperature sensor 47762306a36Sopenharmony_ci which is connected to the General Purpose ADC. The ADC channel 47862306a36Sopenharmony_ci is read via IIO framework and the channel information is provided 47962306a36Sopenharmony_ci to this driver. This driver reports the temperature by reading ADC 48062306a36Sopenharmony_ci channel and converts it to temperature based on lookup table. 48162306a36Sopenharmony_ci 48262306a36Sopenharmony_cimenu "Qualcomm thermal drivers" 48362306a36Sopenharmony_cidepends on (ARCH_QCOM && OF) || COMPILE_TEST 48462306a36Sopenharmony_cisource "drivers/thermal/qcom/Kconfig" 48562306a36Sopenharmony_ciendmenu 48662306a36Sopenharmony_ci 48762306a36Sopenharmony_ciconfig UNIPHIER_THERMAL 48862306a36Sopenharmony_ci tristate "Socionext UniPhier thermal driver" 48962306a36Sopenharmony_ci depends on ARCH_UNIPHIER || COMPILE_TEST 49062306a36Sopenharmony_ci depends on THERMAL_OF && MFD_SYSCON 49162306a36Sopenharmony_ci help 49262306a36Sopenharmony_ci Enable this to plug in UniPhier on-chip PVT thermal driver into the 49362306a36Sopenharmony_ci thermal framework. The driver supports CPU thermal zone temperature 49462306a36Sopenharmony_ci reporting and a couple of trip points. 49562306a36Sopenharmony_ci 49662306a36Sopenharmony_ciconfig SPRD_THERMAL 49762306a36Sopenharmony_ci tristate "Temperature sensor on Spreadtrum SoCs" 49862306a36Sopenharmony_ci depends on ARCH_SPRD || COMPILE_TEST 49962306a36Sopenharmony_ci help 50062306a36Sopenharmony_ci Support for the Spreadtrum thermal sensor driver in the Linux thermal 50162306a36Sopenharmony_ci framework. 50262306a36Sopenharmony_ci 50362306a36Sopenharmony_ciconfig KHADAS_MCU_FAN_THERMAL 50462306a36Sopenharmony_ci tristate "Khadas MCU controller FAN cooling support" 50562306a36Sopenharmony_ci depends on OF 50662306a36Sopenharmony_ci depends on MFD_KHADAS_MCU 50762306a36Sopenharmony_ci select MFD_CORE 50862306a36Sopenharmony_ci select REGMAP 50962306a36Sopenharmony_ci help 51062306a36Sopenharmony_ci If you say yes here you get support for the FAN controlled 51162306a36Sopenharmony_ci by the Microcontroller found on the Khadas VIM boards. 51262306a36Sopenharmony_ci 51362306a36Sopenharmony_ciconfig LOONGSON2_THERMAL 51462306a36Sopenharmony_ci tristate "Loongson-2 SoC series thermal driver" 51562306a36Sopenharmony_ci depends on LOONGARCH || COMPILE_TEST 51662306a36Sopenharmony_ci depends on OF 51762306a36Sopenharmony_ci help 51862306a36Sopenharmony_ci Support for Thermal driver found on Loongson-2 SoC series platforms. 51962306a36Sopenharmony_ci The thermal driver realizes get_temp and set_trips function, which 52062306a36Sopenharmony_ci are used to obtain the temperature of the current node and set the 52162306a36Sopenharmony_ci temperature range to trigger the interrupt. When the input temperature 52262306a36Sopenharmony_ci is higher than the high temperature threshold or lower than the low 52362306a36Sopenharmony_ci temperature threshold, the interrupt will occur. 52462306a36Sopenharmony_ci 52562306a36Sopenharmony_ciendif 526