18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# Generic thermal drivers configuration 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_cimenuconfig THERMAL 78c2ecf20Sopenharmony_ci bool "Thermal drivers" 88c2ecf20Sopenharmony_ci help 98c2ecf20Sopenharmony_ci Thermal drivers offer a generic mechanism for 108c2ecf20Sopenharmony_ci thermal management. Usually it's made up of one or more thermal 118c2ecf20Sopenharmony_ci zones and cooling devices. 128c2ecf20Sopenharmony_ci Each thermal zone contains its own temperature, trip points, 138c2ecf20Sopenharmony_ci and cooling devices. 148c2ecf20Sopenharmony_ci All platforms with ACPI or Open Firmware thermal support can use 158c2ecf20Sopenharmony_ci this driver. 168c2ecf20Sopenharmony_ci If you want this support, you should say Y here. 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciif THERMAL 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ciconfig THERMAL_NETLINK 218c2ecf20Sopenharmony_ci bool "Thermal netlink management" 228c2ecf20Sopenharmony_ci depends on NET 238c2ecf20Sopenharmony_ci help 248c2ecf20Sopenharmony_ci The thermal framework has a netlink interface to do thermal 258c2ecf20Sopenharmony_ci zones discovery, temperature readings and events such as 268c2ecf20Sopenharmony_ci trip point crossed, cooling device update or governor 278c2ecf20Sopenharmony_ci change. It is recommended to enable the feature. 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ciconfig THERMAL_STATISTICS 308c2ecf20Sopenharmony_ci bool "Thermal state transition statistics" 318c2ecf20Sopenharmony_ci help 328c2ecf20Sopenharmony_ci Export thermal state transition statistics information through sysfs. 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci If in doubt, say N. 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ciconfig THERMAL_EMERGENCY_POWEROFF_DELAY_MS 378c2ecf20Sopenharmony_ci int "Emergency poweroff delay in milli-seconds" 388c2ecf20Sopenharmony_ci default 0 398c2ecf20Sopenharmony_ci help 408c2ecf20Sopenharmony_ci Thermal subsystem will issue a graceful shutdown when 418c2ecf20Sopenharmony_ci critical temperatures are reached using orderly_poweroff(). In 428c2ecf20Sopenharmony_ci case of failure of an orderly_poweroff(), the thermal emergency 438c2ecf20Sopenharmony_ci poweroff kicks in after a delay has elapsed and shuts down the system. 448c2ecf20Sopenharmony_ci This config is number of milliseconds to delay before emergency 458c2ecf20Sopenharmony_ci poweroff kicks in. Similarly to the critical trip point, 468c2ecf20Sopenharmony_ci the delay should be carefully profiled so as to give adequate 478c2ecf20Sopenharmony_ci time for orderly_poweroff() to finish on regular execution. 488c2ecf20Sopenharmony_ci If set to 0 emergency poweroff will not be supported. 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci In doubt, leave as 0. 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ciconfig THERMAL_HWMON 538c2ecf20Sopenharmony_ci bool 548c2ecf20Sopenharmony_ci prompt "Expose thermal sensors as hwmon device" 558c2ecf20Sopenharmony_ci depends on HWMON=y || HWMON=THERMAL 568c2ecf20Sopenharmony_ci default y 578c2ecf20Sopenharmony_ci help 588c2ecf20Sopenharmony_ci In case a sensor is registered with the thermal 598c2ecf20Sopenharmony_ci framework, this option will also register it 608c2ecf20Sopenharmony_ci as a hwmon. The sensor will then have the common 618c2ecf20Sopenharmony_ci hwmon sysfs interface. 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci Say 'Y' here if you want all thermal sensors to 648c2ecf20Sopenharmony_ci have hwmon sysfs interface too. 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ciconfig THERMAL_OF 678c2ecf20Sopenharmony_ci bool 688c2ecf20Sopenharmony_ci prompt "APIs to parse thermal data out of device tree" 698c2ecf20Sopenharmony_ci depends on OF 708c2ecf20Sopenharmony_ci default y 718c2ecf20Sopenharmony_ci help 728c2ecf20Sopenharmony_ci This options provides helpers to add the support to 738c2ecf20Sopenharmony_ci read and parse thermal data definitions out of the 748c2ecf20Sopenharmony_ci device tree blob. 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ci Say 'Y' here if you need to build thermal infrastructure 778c2ecf20Sopenharmony_ci based on device tree. 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ciconfig THERMAL_WRITABLE_TRIPS 808c2ecf20Sopenharmony_ci bool "Enable writable trip points" 818c2ecf20Sopenharmony_ci help 828c2ecf20Sopenharmony_ci This option allows the system integrator to choose whether 838c2ecf20Sopenharmony_ci trip temperatures can be changed from userspace. The 848c2ecf20Sopenharmony_ci writable trips need to be specified when setting up the 858c2ecf20Sopenharmony_ci thermal zone but the choice here takes precedence. 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci Say 'Y' here if you would like to allow userspace tools to 888c2ecf20Sopenharmony_ci change trip temperatures. 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_cichoice 918c2ecf20Sopenharmony_ci prompt "Default Thermal governor" 928c2ecf20Sopenharmony_ci default THERMAL_DEFAULT_GOV_STEP_WISE 938c2ecf20Sopenharmony_ci help 948c2ecf20Sopenharmony_ci This option sets which thermal governor shall be loaded at 958c2ecf20Sopenharmony_ci startup. If in doubt, select 'step_wise'. 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ciconfig THERMAL_DEFAULT_GOV_STEP_WISE 988c2ecf20Sopenharmony_ci bool "step_wise" 998c2ecf20Sopenharmony_ci select THERMAL_GOV_STEP_WISE 1008c2ecf20Sopenharmony_ci help 1018c2ecf20Sopenharmony_ci Use the step_wise governor as default. This throttles the 1028c2ecf20Sopenharmony_ci devices one step at a time. 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ciconfig THERMAL_DEFAULT_GOV_FAIR_SHARE 1058c2ecf20Sopenharmony_ci bool "fair_share" 1068c2ecf20Sopenharmony_ci select THERMAL_GOV_FAIR_SHARE 1078c2ecf20Sopenharmony_ci help 1088c2ecf20Sopenharmony_ci Use the fair_share governor as default. This throttles the 1098c2ecf20Sopenharmony_ci devices based on their 'contribution' to a zone. The 1108c2ecf20Sopenharmony_ci contribution should be provided through platform data. 1118c2ecf20Sopenharmony_ci 1128c2ecf20Sopenharmony_ciconfig THERMAL_DEFAULT_GOV_USER_SPACE 1138c2ecf20Sopenharmony_ci bool "user_space" 1148c2ecf20Sopenharmony_ci select THERMAL_GOV_USER_SPACE 1158c2ecf20Sopenharmony_ci help 1168c2ecf20Sopenharmony_ci Select this if you want to let the user space manage the 1178c2ecf20Sopenharmony_ci platform thermals. 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ciconfig THERMAL_DEFAULT_GOV_POWER_ALLOCATOR 1208c2ecf20Sopenharmony_ci bool "power_allocator" 1218c2ecf20Sopenharmony_ci depends on THERMAL_GOV_POWER_ALLOCATOR 1228c2ecf20Sopenharmony_ci help 1238c2ecf20Sopenharmony_ci Select this if you want to control temperature based on 1248c2ecf20Sopenharmony_ci system and device power allocation. This governor can only 1258c2ecf20Sopenharmony_ci operate on cooling devices that implement the power API. 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ciendchoice 1288c2ecf20Sopenharmony_ci 1298c2ecf20Sopenharmony_ciconfig THERMAL_GOV_FAIR_SHARE 1308c2ecf20Sopenharmony_ci bool "Fair-share thermal governor" 1318c2ecf20Sopenharmony_ci help 1328c2ecf20Sopenharmony_ci Enable this to manage platform thermals using fair-share governor. 1338c2ecf20Sopenharmony_ci 1348c2ecf20Sopenharmony_ciconfig THERMAL_GOV_STEP_WISE 1358c2ecf20Sopenharmony_ci bool "Step_wise thermal governor" 1368c2ecf20Sopenharmony_ci help 1378c2ecf20Sopenharmony_ci Enable this to manage platform thermals using a simple linear 1388c2ecf20Sopenharmony_ci governor. 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_ciconfig THERMAL_GOV_BANG_BANG 1418c2ecf20Sopenharmony_ci bool "Bang Bang thermal governor" 1428c2ecf20Sopenharmony_ci default n 1438c2ecf20Sopenharmony_ci help 1448c2ecf20Sopenharmony_ci Enable this to manage platform thermals using bang bang governor. 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_ci Say 'Y' here if you want to use two point temperature regulation 1478c2ecf20Sopenharmony_ci used for fans without throttling. Some fan drivers depend on this 1488c2ecf20Sopenharmony_ci governor to be enabled (e.g. acerhdf). 1498c2ecf20Sopenharmony_ci 1508c2ecf20Sopenharmony_ciconfig THERMAL_GOV_USER_SPACE 1518c2ecf20Sopenharmony_ci bool "User_space thermal governor" 1528c2ecf20Sopenharmony_ci help 1538c2ecf20Sopenharmony_ci Enable this to let the user space manage the platform thermals. 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_ciconfig THERMAL_GOV_POWER_ALLOCATOR 1568c2ecf20Sopenharmony_ci bool "Power allocator thermal governor" 1578c2ecf20Sopenharmony_ci depends on ENERGY_MODEL 1588c2ecf20Sopenharmony_ci help 1598c2ecf20Sopenharmony_ci Enable this to manage platform thermals by dynamically 1608c2ecf20Sopenharmony_ci allocating and limiting power to devices. 1618c2ecf20Sopenharmony_ci 1628c2ecf20Sopenharmony_ciconfig CPU_THERMAL 1638c2ecf20Sopenharmony_ci bool "Generic cpu cooling support" 1648c2ecf20Sopenharmony_ci depends on THERMAL_OF 1658c2ecf20Sopenharmony_ci help 1668c2ecf20Sopenharmony_ci Enable the CPU cooling features. If the system has no active 1678c2ecf20Sopenharmony_ci cooling device available, this option allows to use the CPU 1688c2ecf20Sopenharmony_ci as a cooling device. 1698c2ecf20Sopenharmony_ci 1708c2ecf20Sopenharmony_ciif CPU_THERMAL 1718c2ecf20Sopenharmony_ci 1728c2ecf20Sopenharmony_ciconfig CPU_FREQ_THERMAL 1738c2ecf20Sopenharmony_ci bool "CPU frequency cooling device" 1748c2ecf20Sopenharmony_ci depends on CPU_FREQ 1758c2ecf20Sopenharmony_ci default y 1768c2ecf20Sopenharmony_ci help 1778c2ecf20Sopenharmony_ci This implements the generic cpu cooling mechanism through frequency 1788c2ecf20Sopenharmony_ci reduction. An ACPI version of this already exists 1798c2ecf20Sopenharmony_ci (drivers/acpi/processor_thermal.c). 1808c2ecf20Sopenharmony_ci This will be useful for platforms using the generic thermal interface 1818c2ecf20Sopenharmony_ci and not the ACPI interface. 1828c2ecf20Sopenharmony_ci 1838c2ecf20Sopenharmony_ciconfig CPU_IDLE_THERMAL 1848c2ecf20Sopenharmony_ci bool "CPU idle cooling device" 1858c2ecf20Sopenharmony_ci depends on IDLE_INJECT 1868c2ecf20Sopenharmony_ci help 1878c2ecf20Sopenharmony_ci This implements the CPU cooling mechanism through 1888c2ecf20Sopenharmony_ci idle injection. This will throttle the CPU by injecting 1898c2ecf20Sopenharmony_ci idle cycle. 1908c2ecf20Sopenharmony_ciendif 1918c2ecf20Sopenharmony_ci 1928c2ecf20Sopenharmony_ciconfig DEVFREQ_THERMAL 1938c2ecf20Sopenharmony_ci bool "Generic device cooling support" 1948c2ecf20Sopenharmony_ci depends on PM_DEVFREQ 1958c2ecf20Sopenharmony_ci depends on PM_OPP 1968c2ecf20Sopenharmony_ci help 1978c2ecf20Sopenharmony_ci This implements the generic devfreq cooling mechanism through 1988c2ecf20Sopenharmony_ci frequency reduction for devices using devfreq. 1998c2ecf20Sopenharmony_ci 2008c2ecf20Sopenharmony_ci This will throttle the device by limiting the maximum allowed DVFS 2018c2ecf20Sopenharmony_ci frequency corresponding to the cooling level. 2028c2ecf20Sopenharmony_ci 2038c2ecf20Sopenharmony_ci In order to use the power extensions of the cooling device, 2048c2ecf20Sopenharmony_ci devfreq should use the simple_ondemand governor. 2058c2ecf20Sopenharmony_ci 2068c2ecf20Sopenharmony_ci If you want this support, you should say Y here. 2078c2ecf20Sopenharmony_ci 2088c2ecf20Sopenharmony_ciconfig THERMAL_EMULATION 2098c2ecf20Sopenharmony_ci bool "Thermal emulation mode support" 2108c2ecf20Sopenharmony_ci help 2118c2ecf20Sopenharmony_ci Enable this option to make a emul_temp sysfs node in thermal zone 2128c2ecf20Sopenharmony_ci directory to support temperature emulation. With emulation sysfs node, 2138c2ecf20Sopenharmony_ci user can manually input temperature and test the different trip 2148c2ecf20Sopenharmony_ci threshold behaviour for simulation purpose. 2158c2ecf20Sopenharmony_ci 2168c2ecf20Sopenharmony_ci WARNING: Be careful while enabling this option on production systems, 2178c2ecf20Sopenharmony_ci because userland can easily disable the thermal policy by simply 2188c2ecf20Sopenharmony_ci flooding this sysfs node with low temperature values. 2198c2ecf20Sopenharmony_ci 2208c2ecf20Sopenharmony_ciconfig THERMAL_MMIO 2218c2ecf20Sopenharmony_ci tristate "Generic Thermal MMIO driver" 2228c2ecf20Sopenharmony_ci depends on OF || COMPILE_TEST 2238c2ecf20Sopenharmony_ci depends on HAS_IOMEM 2248c2ecf20Sopenharmony_ci help 2258c2ecf20Sopenharmony_ci This option enables the generic thermal MMIO driver that will use 2268c2ecf20Sopenharmony_ci memory-mapped reads to get the temperature. Any HW/System that 2278c2ecf20Sopenharmony_ci allows temperature reading by a single memory-mapped reading, be it 2288c2ecf20Sopenharmony_ci register or shared memory, is a potential candidate to work with this 2298c2ecf20Sopenharmony_ci driver. 2308c2ecf20Sopenharmony_ci 2318c2ecf20Sopenharmony_ciconfig HISI_THERMAL 2328c2ecf20Sopenharmony_ci tristate "Hisilicon thermal driver" 2338c2ecf20Sopenharmony_ci depends on ARCH_HISI || COMPILE_TEST 2348c2ecf20Sopenharmony_ci depends on HAS_IOMEM 2358c2ecf20Sopenharmony_ci depends on OF 2368c2ecf20Sopenharmony_ci default y 2378c2ecf20Sopenharmony_ci help 2388c2ecf20Sopenharmony_ci Enable this to plug hisilicon's thermal sensor driver into the Linux 2398c2ecf20Sopenharmony_ci thermal framework. cpufreq is used as the cooling device to throttle 2408c2ecf20Sopenharmony_ci CPUs when the passive trip is crossed. 2418c2ecf20Sopenharmony_ci 2428c2ecf20Sopenharmony_ciconfig IMX_THERMAL 2438c2ecf20Sopenharmony_ci tristate "Temperature sensor driver for Freescale i.MX SoCs" 2448c2ecf20Sopenharmony_ci depends on ARCH_MXC || COMPILE_TEST 2458c2ecf20Sopenharmony_ci depends on NVMEM || !NVMEM 2468c2ecf20Sopenharmony_ci depends on MFD_SYSCON 2478c2ecf20Sopenharmony_ci depends on OF 2488c2ecf20Sopenharmony_ci help 2498c2ecf20Sopenharmony_ci Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs. 2508c2ecf20Sopenharmony_ci It supports one critical trip point and one passive trip point. The 2518c2ecf20Sopenharmony_ci cpufreq is used as the cooling device to throttle CPUs when the 2528c2ecf20Sopenharmony_ci passive trip is crossed. 2538c2ecf20Sopenharmony_ci 2548c2ecf20Sopenharmony_ciconfig IMX_SC_THERMAL 2558c2ecf20Sopenharmony_ci tristate "Temperature sensor driver for NXP i.MX SoCs with System Controller" 2568c2ecf20Sopenharmony_ci depends on IMX_SCU 2578c2ecf20Sopenharmony_ci depends on OF 2588c2ecf20Sopenharmony_ci help 2598c2ecf20Sopenharmony_ci Support for Temperature Monitor (TEMPMON) found on NXP i.MX SoCs with 2608c2ecf20Sopenharmony_ci system controller inside, Linux kernel has to communicate with system 2618c2ecf20Sopenharmony_ci controller via MU (message unit) IPC to get temperature from thermal 2628c2ecf20Sopenharmony_ci sensor. It supports one critical trip point and one 2638c2ecf20Sopenharmony_ci passive trip point for each thermal sensor. 2648c2ecf20Sopenharmony_ci 2658c2ecf20Sopenharmony_ciconfig IMX8MM_THERMAL 2668c2ecf20Sopenharmony_ci tristate "Temperature sensor driver for Freescale i.MX8MM SoC" 2678c2ecf20Sopenharmony_ci depends on ARCH_MXC || COMPILE_TEST 2688c2ecf20Sopenharmony_ci depends on OF 2698c2ecf20Sopenharmony_ci help 2708c2ecf20Sopenharmony_ci Support for Thermal Monitoring Unit (TMU) found on Freescale i.MX8MM SoC. 2718c2ecf20Sopenharmony_ci It supports one critical trip point and one passive trip point. The 2728c2ecf20Sopenharmony_ci cpufreq is used as the cooling device to throttle CPUs when the passive 2738c2ecf20Sopenharmony_ci trip is crossed. 2748c2ecf20Sopenharmony_ci 2758c2ecf20Sopenharmony_ciconfig K3_THERMAL 2768c2ecf20Sopenharmony_ci tristate "Texas Instruments K3 thermal support" 2778c2ecf20Sopenharmony_ci depends on ARCH_K3 || COMPILE_TEST 2788c2ecf20Sopenharmony_ci help 2798c2ecf20Sopenharmony_ci If you say yes here you get thermal support for the Texas Instruments 2808c2ecf20Sopenharmony_ci K3 SoC family. The current chip supported is: 2818c2ecf20Sopenharmony_ci - AM654 2828c2ecf20Sopenharmony_ci 2838c2ecf20Sopenharmony_ci This includes temperature reading functionality. 2848c2ecf20Sopenharmony_ci 2858c2ecf20Sopenharmony_ciconfig MAX77620_THERMAL 2868c2ecf20Sopenharmony_ci tristate "Temperature sensor driver for Maxim MAX77620 PMIC" 2878c2ecf20Sopenharmony_ci depends on MFD_MAX77620 2888c2ecf20Sopenharmony_ci depends on OF 2898c2ecf20Sopenharmony_ci help 2908c2ecf20Sopenharmony_ci Support for die junction temperature warning alarm for Maxim 2918c2ecf20Sopenharmony_ci Semiconductor PMIC MAX77620 device. Device generates two alarm 2928c2ecf20Sopenharmony_ci interrupts when PMIC die temperature cross the threshold of 2938c2ecf20Sopenharmony_ci 120 degC and 140 degC. 2948c2ecf20Sopenharmony_ci 2958c2ecf20Sopenharmony_ciconfig QORIQ_THERMAL 2968c2ecf20Sopenharmony_ci tristate "QorIQ Thermal Monitoring Unit" 2978c2ecf20Sopenharmony_ci depends on THERMAL_OF && HAS_IOMEM 2988c2ecf20Sopenharmony_ci depends on PPC_E500MC || SOC_LS1021A || ARCH_LAYERSCAPE || (ARCH_MXC && ARM64) || COMPILE_TEST 2998c2ecf20Sopenharmony_ci select REGMAP_MMIO 3008c2ecf20Sopenharmony_ci help 3018c2ecf20Sopenharmony_ci Support for Thermal Monitoring Unit (TMU) found on QorIQ platforms. 3028c2ecf20Sopenharmony_ci It supports one critical trip point and one passive trip point. The 3038c2ecf20Sopenharmony_ci cpufreq is used as the cooling device to throttle CPUs when the 3048c2ecf20Sopenharmony_ci passive trip is crossed. 3058c2ecf20Sopenharmony_ci 3068c2ecf20Sopenharmony_ciconfig SPEAR_THERMAL 3078c2ecf20Sopenharmony_ci tristate "SPEAr thermal sensor driver" 3088c2ecf20Sopenharmony_ci depends on PLAT_SPEAR || COMPILE_TEST 3098c2ecf20Sopenharmony_ci depends on HAS_IOMEM 3108c2ecf20Sopenharmony_ci depends on OF 3118c2ecf20Sopenharmony_ci help 3128c2ecf20Sopenharmony_ci Enable this to plug the SPEAr thermal sensor driver into the Linux 3138c2ecf20Sopenharmony_ci thermal framework. 3148c2ecf20Sopenharmony_ci 3158c2ecf20Sopenharmony_ciconfig SUN8I_THERMAL 3168c2ecf20Sopenharmony_ci tristate "Allwinner sun8i thermal driver" 3178c2ecf20Sopenharmony_ci depends on ARCH_SUNXI || COMPILE_TEST 3188c2ecf20Sopenharmony_ci depends on HAS_IOMEM 3198c2ecf20Sopenharmony_ci depends on NVMEM 3208c2ecf20Sopenharmony_ci depends on OF 3218c2ecf20Sopenharmony_ci depends on RESET_CONTROLLER 3228c2ecf20Sopenharmony_ci help 3238c2ecf20Sopenharmony_ci Support for the sun8i thermal sensor driver into the Linux thermal 3248c2ecf20Sopenharmony_ci framework. 3258c2ecf20Sopenharmony_ci 3268c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 3278c2ecf20Sopenharmony_ci module will be called sun8i-thermal. 3288c2ecf20Sopenharmony_ci 3298c2ecf20Sopenharmony_ciconfig ROCKCHIP_THERMAL 3308c2ecf20Sopenharmony_ci tristate "Rockchip thermal driver" 3318c2ecf20Sopenharmony_ci depends on ARCH_ROCKCHIP || COMPILE_TEST 3328c2ecf20Sopenharmony_ci depends on RESET_CONTROLLER 3338c2ecf20Sopenharmony_ci depends on HAS_IOMEM 3348c2ecf20Sopenharmony_ci help 3358c2ecf20Sopenharmony_ci Rockchip thermal driver provides support for Temperature sensor 3368c2ecf20Sopenharmony_ci ADC (TS-ADC) found on Rockchip SoCs. It supports one critical 3378c2ecf20Sopenharmony_ci trip point. Cpufreq is used as the cooling device and will throttle 3388c2ecf20Sopenharmony_ci CPUs when the Temperature crosses the passive trip point. 3398c2ecf20Sopenharmony_ci 3408c2ecf20Sopenharmony_ciconfig RCAR_THERMAL 3418c2ecf20Sopenharmony_ci tristate "Renesas R-Car thermal driver" 3428c2ecf20Sopenharmony_ci depends on ARCH_RENESAS || COMPILE_TEST 3438c2ecf20Sopenharmony_ci depends on HAS_IOMEM 3448c2ecf20Sopenharmony_ci help 3458c2ecf20Sopenharmony_ci Enable this to plug the R-Car thermal sensor driver into the Linux 3468c2ecf20Sopenharmony_ci thermal framework. 3478c2ecf20Sopenharmony_ci 3488c2ecf20Sopenharmony_ciconfig RCAR_GEN3_THERMAL 3498c2ecf20Sopenharmony_ci tristate "Renesas R-Car Gen3 and RZ/G2 thermal driver" 3508c2ecf20Sopenharmony_ci depends on ARCH_RENESAS || COMPILE_TEST 3518c2ecf20Sopenharmony_ci depends on HAS_IOMEM 3528c2ecf20Sopenharmony_ci depends on OF 3538c2ecf20Sopenharmony_ci help 3548c2ecf20Sopenharmony_ci Enable this to plug the R-Car Gen3 or RZ/G2 thermal sensor driver into 3558c2ecf20Sopenharmony_ci the Linux thermal framework. 3568c2ecf20Sopenharmony_ci 3578c2ecf20Sopenharmony_ciconfig KIRKWOOD_THERMAL 3588c2ecf20Sopenharmony_ci tristate "Temperature sensor on Marvell Kirkwood SoCs" 3598c2ecf20Sopenharmony_ci depends on MACH_KIRKWOOD || COMPILE_TEST 3608c2ecf20Sopenharmony_ci depends on HAS_IOMEM 3618c2ecf20Sopenharmony_ci depends on OF 3628c2ecf20Sopenharmony_ci help 3638c2ecf20Sopenharmony_ci Support for the Kirkwood thermal sensor driver into the Linux thermal 3648c2ecf20Sopenharmony_ci framework. Only kirkwood 88F6282 and 88F6283 have this sensor. 3658c2ecf20Sopenharmony_ci 3668c2ecf20Sopenharmony_ciconfig DOVE_THERMAL 3678c2ecf20Sopenharmony_ci tristate "Temperature sensor on Marvell Dove SoCs" 3688c2ecf20Sopenharmony_ci depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST 3698c2ecf20Sopenharmony_ci depends on HAS_IOMEM 3708c2ecf20Sopenharmony_ci depends on OF 3718c2ecf20Sopenharmony_ci help 3728c2ecf20Sopenharmony_ci Support for the Dove thermal sensor driver in the Linux thermal 3738c2ecf20Sopenharmony_ci framework. 3748c2ecf20Sopenharmony_ci 3758c2ecf20Sopenharmony_ciconfig DB8500_THERMAL 3768c2ecf20Sopenharmony_ci tristate "DB8500 thermal management" 3778c2ecf20Sopenharmony_ci depends on MFD_DB8500_PRCMU && OF 3788c2ecf20Sopenharmony_ci default y 3798c2ecf20Sopenharmony_ci help 3808c2ecf20Sopenharmony_ci Adds DB8500 thermal management implementation according to the thermal 3818c2ecf20Sopenharmony_ci management framework. A thermal zone with several trip points will be 3828c2ecf20Sopenharmony_ci created. Cooling devices can be bound to the trip points to cool this 3838c2ecf20Sopenharmony_ci thermal zone if trip points reached. 3848c2ecf20Sopenharmony_ci 3858c2ecf20Sopenharmony_ciconfig ARMADA_THERMAL 3868c2ecf20Sopenharmony_ci tristate "Marvell EBU Armada SoCs thermal management" 3878c2ecf20Sopenharmony_ci depends on ARCH_MVEBU || COMPILE_TEST 3888c2ecf20Sopenharmony_ci depends on HAS_IOMEM 3898c2ecf20Sopenharmony_ci depends on OF 3908c2ecf20Sopenharmony_ci help 3918c2ecf20Sopenharmony_ci Enable this option if you want to have support for thermal management 3928c2ecf20Sopenharmony_ci controller present in Marvell EBU Armada SoCs (370,375,XP,38x,7K,8K). 3938c2ecf20Sopenharmony_ci 3948c2ecf20Sopenharmony_ciconfig DA9062_THERMAL 3958c2ecf20Sopenharmony_ci tristate "DA9062/DA9061 Dialog Semiconductor thermal driver" 3968c2ecf20Sopenharmony_ci depends on MFD_DA9062 || COMPILE_TEST 3978c2ecf20Sopenharmony_ci depends on OF 3988c2ecf20Sopenharmony_ci help 3998c2ecf20Sopenharmony_ci Enable this for the Dialog Semiconductor thermal sensor driver. 4008c2ecf20Sopenharmony_ci This will report PMIC junction over-temperature for one thermal trip 4018c2ecf20Sopenharmony_ci zone. 4028c2ecf20Sopenharmony_ci Compatible with the DA9062 and DA9061 PMICs. 4038c2ecf20Sopenharmony_ci 4048c2ecf20Sopenharmony_ciconfig MTK_THERMAL 4058c2ecf20Sopenharmony_ci tristate "Temperature sensor driver for mediatek SoCs" 4068c2ecf20Sopenharmony_ci depends on ARCH_MEDIATEK || COMPILE_TEST 4078c2ecf20Sopenharmony_ci depends on HAS_IOMEM 4088c2ecf20Sopenharmony_ci depends on NVMEM || NVMEM=n 4098c2ecf20Sopenharmony_ci depends on RESET_CONTROLLER 4108c2ecf20Sopenharmony_ci default y 4118c2ecf20Sopenharmony_ci help 4128c2ecf20Sopenharmony_ci Enable this option if you want to have support for thermal management 4138c2ecf20Sopenharmony_ci controller present in Mediatek SoCs 4148c2ecf20Sopenharmony_ci 4158c2ecf20Sopenharmony_ciconfig AMLOGIC_THERMAL 4168c2ecf20Sopenharmony_ci tristate "Amlogic Thermal Support" 4178c2ecf20Sopenharmony_ci default ARCH_MESON 4188c2ecf20Sopenharmony_ci depends on OF && ARCH_MESON 4198c2ecf20Sopenharmony_ci help 4208c2ecf20Sopenharmony_ci If you say yes here you get support for Amlogic Thermal 4218c2ecf20Sopenharmony_ci for G12 SoC Family. 4228c2ecf20Sopenharmony_ci 4238c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module will 4248c2ecf20Sopenharmony_ci be called amlogic_thermal. 4258c2ecf20Sopenharmony_ci 4268c2ecf20Sopenharmony_cimenu "Intel thermal drivers" 4278c2ecf20Sopenharmony_cidepends on X86 || X86_INTEL_QUARK || COMPILE_TEST 4288c2ecf20Sopenharmony_cisource "drivers/thermal/intel/Kconfig" 4298c2ecf20Sopenharmony_ciendmenu 4308c2ecf20Sopenharmony_ci 4318c2ecf20Sopenharmony_cimenu "Broadcom thermal drivers" 4328c2ecf20Sopenharmony_cidepends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM_IPROC || \ 4338c2ecf20Sopenharmony_ci COMPILE_TEST 4348c2ecf20Sopenharmony_cisource "drivers/thermal/broadcom/Kconfig" 4358c2ecf20Sopenharmony_ciendmenu 4368c2ecf20Sopenharmony_ci 4378c2ecf20Sopenharmony_cimenu "Texas Instruments thermal drivers" 4388c2ecf20Sopenharmony_cidepends on ARCH_HAS_BANDGAP || COMPILE_TEST 4398c2ecf20Sopenharmony_cidepends on HAS_IOMEM 4408c2ecf20Sopenharmony_cisource "drivers/thermal/ti-soc-thermal/Kconfig" 4418c2ecf20Sopenharmony_ciendmenu 4428c2ecf20Sopenharmony_ci 4438c2ecf20Sopenharmony_cimenu "Samsung thermal drivers" 4448c2ecf20Sopenharmony_cidepends on ARCH_EXYNOS || COMPILE_TEST 4458c2ecf20Sopenharmony_cisource "drivers/thermal/samsung/Kconfig" 4468c2ecf20Sopenharmony_ciendmenu 4478c2ecf20Sopenharmony_ci 4488c2ecf20Sopenharmony_cimenu "STMicroelectronics thermal drivers" 4498c2ecf20Sopenharmony_cidepends on (ARCH_STI || ARCH_STM32) && OF 4508c2ecf20Sopenharmony_cisource "drivers/thermal/st/Kconfig" 4518c2ecf20Sopenharmony_ciendmenu 4528c2ecf20Sopenharmony_ci 4538c2ecf20Sopenharmony_ciconfig TANGO_THERMAL 4548c2ecf20Sopenharmony_ci tristate "Tango thermal management" 4558c2ecf20Sopenharmony_ci depends on ARCH_TANGO || COMPILE_TEST 4568c2ecf20Sopenharmony_ci help 4578c2ecf20Sopenharmony_ci Enable the Tango thermal driver, which supports the primitive 4588c2ecf20Sopenharmony_ci temperature sensor embedded in Tango chips since the SMP8758. 4598c2ecf20Sopenharmony_ci This sensor only generates a 1-bit signal to indicate whether 4608c2ecf20Sopenharmony_ci the die temperature exceeds a programmable threshold. 4618c2ecf20Sopenharmony_ci 4628c2ecf20Sopenharmony_cisource "drivers/thermal/tegra/Kconfig" 4638c2ecf20Sopenharmony_ci 4648c2ecf20Sopenharmony_ciconfig GENERIC_ADC_THERMAL 4658c2ecf20Sopenharmony_ci tristate "Generic ADC based thermal sensor" 4668c2ecf20Sopenharmony_ci depends on IIO 4678c2ecf20Sopenharmony_ci help 4688c2ecf20Sopenharmony_ci This enabled a thermal sysfs driver for the temperature sensor 4698c2ecf20Sopenharmony_ci which is connected to the General Purpose ADC. The ADC channel 4708c2ecf20Sopenharmony_ci is read via IIO framework and the channel information is provided 4718c2ecf20Sopenharmony_ci to this driver. This driver reports the temperature by reading ADC 4728c2ecf20Sopenharmony_ci channel and converts it to temperature based on lookup table. 4738c2ecf20Sopenharmony_ci 4748c2ecf20Sopenharmony_cimenu "Qualcomm thermal drivers" 4758c2ecf20Sopenharmony_cidepends on (ARCH_QCOM && OF) || COMPILE_TEST 4768c2ecf20Sopenharmony_cisource "drivers/thermal/qcom/Kconfig" 4778c2ecf20Sopenharmony_ciendmenu 4788c2ecf20Sopenharmony_ci 4798c2ecf20Sopenharmony_ciconfig ZX2967_THERMAL 4808c2ecf20Sopenharmony_ci tristate "Thermal sensors on zx2967 SoC" 4818c2ecf20Sopenharmony_ci depends on ARCH_ZX || COMPILE_TEST 4828c2ecf20Sopenharmony_ci help 4838c2ecf20Sopenharmony_ci Enable the zx2967 thermal sensors driver, which supports 4848c2ecf20Sopenharmony_ci the primitive temperature sensor embedded in zx2967 SoCs. 4858c2ecf20Sopenharmony_ci This sensor generates the real time die temperature. 4868c2ecf20Sopenharmony_ci 4878c2ecf20Sopenharmony_ciconfig UNIPHIER_THERMAL 4888c2ecf20Sopenharmony_ci tristate "Socionext UniPhier thermal driver" 4898c2ecf20Sopenharmony_ci depends on ARCH_UNIPHIER || COMPILE_TEST 4908c2ecf20Sopenharmony_ci depends on THERMAL_OF && MFD_SYSCON 4918c2ecf20Sopenharmony_ci help 4928c2ecf20Sopenharmony_ci Enable this to plug in UniPhier on-chip PVT thermal driver into the 4938c2ecf20Sopenharmony_ci thermal framework. The driver supports CPU thermal zone temperature 4948c2ecf20Sopenharmony_ci reporting and a couple of trip points. 4958c2ecf20Sopenharmony_ci 4968c2ecf20Sopenharmony_ciconfig SPRD_THERMAL 4978c2ecf20Sopenharmony_ci tristate "Temperature sensor on Spreadtrum SoCs" 4988c2ecf20Sopenharmony_ci depends on ARCH_SPRD || COMPILE_TEST 4998c2ecf20Sopenharmony_ci help 5008c2ecf20Sopenharmony_ci Support for the Spreadtrum thermal sensor driver in the Linux thermal 5018c2ecf20Sopenharmony_ci framework. 5028c2ecf20Sopenharmony_ci 5038c2ecf20Sopenharmony_ciconfig KHADAS_MCU_FAN_THERMAL 5048c2ecf20Sopenharmony_ci tristate "Khadas MCU controller FAN cooling support" 5058c2ecf20Sopenharmony_ci depends on OF || COMPILE_TEST 5068c2ecf20Sopenharmony_ci depends on MFD_KHADAS_MCU 5078c2ecf20Sopenharmony_ci select MFD_CORE 5088c2ecf20Sopenharmony_ci select REGMAP 5098c2ecf20Sopenharmony_ci help 5108c2ecf20Sopenharmony_ci If you say yes here you get support for the FAN controlled 5118c2ecf20Sopenharmony_ci by the Microcontroller found on the Khadas VIM boards. 5128c2ecf20Sopenharmony_ci 5138c2ecf20Sopenharmony_ciendif 514