1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# Generic thermal drivers configuration 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunmenuconfig THERMAL 7*4882a593Smuzhiyun bool "Thermal drivers" 8*4882a593Smuzhiyun help 9*4882a593Smuzhiyun Thermal drivers offer a generic mechanism for 10*4882a593Smuzhiyun thermal management. Usually it's made up of one or more thermal 11*4882a593Smuzhiyun zones and cooling devices. 12*4882a593Smuzhiyun Each thermal zone contains its own temperature, trip points, 13*4882a593Smuzhiyun and cooling devices. 14*4882a593Smuzhiyun All platforms with ACPI or Open Firmware thermal support can use 15*4882a593Smuzhiyun this driver. 16*4882a593Smuzhiyun If you want this support, you should say Y here. 17*4882a593Smuzhiyun 18*4882a593Smuzhiyunif THERMAL 19*4882a593Smuzhiyun 20*4882a593Smuzhiyunconfig THERMAL_NETLINK 21*4882a593Smuzhiyun bool "Thermal netlink management" 22*4882a593Smuzhiyun depends on NET 23*4882a593Smuzhiyun help 24*4882a593Smuzhiyun The thermal framework has a netlink interface to do thermal 25*4882a593Smuzhiyun zones discovery, temperature readings and events such as 26*4882a593Smuzhiyun trip point crossed, cooling device update or governor 27*4882a593Smuzhiyun change. It is recommended to enable the feature. 28*4882a593Smuzhiyun 29*4882a593Smuzhiyunconfig THERMAL_STATISTICS 30*4882a593Smuzhiyun bool "Thermal state transition statistics" 31*4882a593Smuzhiyun help 32*4882a593Smuzhiyun Export thermal state transition statistics information through sysfs. 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun If in doubt, say N. 35*4882a593Smuzhiyun 36*4882a593Smuzhiyunconfig THERMAL_EMERGENCY_POWEROFF_DELAY_MS 37*4882a593Smuzhiyun int "Emergency poweroff delay in milli-seconds" 38*4882a593Smuzhiyun default 0 39*4882a593Smuzhiyun help 40*4882a593Smuzhiyun Thermal subsystem will issue a graceful shutdown when 41*4882a593Smuzhiyun critical temperatures are reached using orderly_poweroff(). In 42*4882a593Smuzhiyun case of failure of an orderly_poweroff(), the thermal emergency 43*4882a593Smuzhiyun poweroff kicks in after a delay has elapsed and shuts down the system. 44*4882a593Smuzhiyun This config is number of milliseconds to delay before emergency 45*4882a593Smuzhiyun poweroff kicks in. Similarly to the critical trip point, 46*4882a593Smuzhiyun the delay should be carefully profiled so as to give adequate 47*4882a593Smuzhiyun time for orderly_poweroff() to finish on regular execution. 48*4882a593Smuzhiyun If set to 0 emergency poweroff will not be supported. 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun In doubt, leave as 0. 51*4882a593Smuzhiyun 52*4882a593Smuzhiyunconfig THERMAL_HWMON 53*4882a593Smuzhiyun bool 54*4882a593Smuzhiyun prompt "Expose thermal sensors as hwmon device" 55*4882a593Smuzhiyun depends on HWMON=y || HWMON=THERMAL 56*4882a593Smuzhiyun default y 57*4882a593Smuzhiyun help 58*4882a593Smuzhiyun In case a sensor is registered with the thermal 59*4882a593Smuzhiyun framework, this option will also register it 60*4882a593Smuzhiyun as a hwmon. The sensor will then have the common 61*4882a593Smuzhiyun hwmon sysfs interface. 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun Say 'Y' here if you want all thermal sensors to 64*4882a593Smuzhiyun have hwmon sysfs interface too. 65*4882a593Smuzhiyun 66*4882a593Smuzhiyunconfig THERMAL_OF 67*4882a593Smuzhiyun bool 68*4882a593Smuzhiyun prompt "APIs to parse thermal data out of device tree" 69*4882a593Smuzhiyun depends on OF 70*4882a593Smuzhiyun default y 71*4882a593Smuzhiyun help 72*4882a593Smuzhiyun This options provides helpers to add the support to 73*4882a593Smuzhiyun read and parse thermal data definitions out of the 74*4882a593Smuzhiyun device tree blob. 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun Say 'Y' here if you need to build thermal infrastructure 77*4882a593Smuzhiyun based on device tree. 78*4882a593Smuzhiyun 79*4882a593Smuzhiyunconfig THERMAL_WRITABLE_TRIPS 80*4882a593Smuzhiyun bool "Enable writable trip points" 81*4882a593Smuzhiyun help 82*4882a593Smuzhiyun This option allows the system integrator to choose whether 83*4882a593Smuzhiyun trip temperatures can be changed from userspace. The 84*4882a593Smuzhiyun writable trips need to be specified when setting up the 85*4882a593Smuzhiyun thermal zone but the choice here takes precedence. 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun Say 'Y' here if you would like to allow userspace tools to 88*4882a593Smuzhiyun change trip temperatures. 89*4882a593Smuzhiyun 90*4882a593Smuzhiyunchoice 91*4882a593Smuzhiyun prompt "Default Thermal governor" 92*4882a593Smuzhiyun default THERMAL_DEFAULT_GOV_STEP_WISE 93*4882a593Smuzhiyun help 94*4882a593Smuzhiyun This option sets which thermal governor shall be loaded at 95*4882a593Smuzhiyun startup. If in doubt, select 'step_wise'. 96*4882a593Smuzhiyun 97*4882a593Smuzhiyunconfig THERMAL_DEFAULT_GOV_STEP_WISE 98*4882a593Smuzhiyun bool "step_wise" 99*4882a593Smuzhiyun select THERMAL_GOV_STEP_WISE 100*4882a593Smuzhiyun help 101*4882a593Smuzhiyun Use the step_wise governor as default. This throttles the 102*4882a593Smuzhiyun devices one step at a time. 103*4882a593Smuzhiyun 104*4882a593Smuzhiyunconfig THERMAL_DEFAULT_GOV_FAIR_SHARE 105*4882a593Smuzhiyun bool "fair_share" 106*4882a593Smuzhiyun select THERMAL_GOV_FAIR_SHARE 107*4882a593Smuzhiyun help 108*4882a593Smuzhiyun Use the fair_share governor as default. This throttles the 109*4882a593Smuzhiyun devices based on their 'contribution' to a zone. The 110*4882a593Smuzhiyun contribution should be provided through platform data. 111*4882a593Smuzhiyun 112*4882a593Smuzhiyunconfig THERMAL_DEFAULT_GOV_USER_SPACE 113*4882a593Smuzhiyun bool "user_space" 114*4882a593Smuzhiyun select THERMAL_GOV_USER_SPACE 115*4882a593Smuzhiyun help 116*4882a593Smuzhiyun Select this if you want to let the user space manage the 117*4882a593Smuzhiyun platform thermals. 118*4882a593Smuzhiyun 119*4882a593Smuzhiyunconfig THERMAL_DEFAULT_GOV_POWER_ALLOCATOR 120*4882a593Smuzhiyun bool "power_allocator" 121*4882a593Smuzhiyun depends on THERMAL_GOV_POWER_ALLOCATOR 122*4882a593Smuzhiyun help 123*4882a593Smuzhiyun Select this if you want to control temperature based on 124*4882a593Smuzhiyun system and device power allocation. This governor can only 125*4882a593Smuzhiyun operate on cooling devices that implement the power API. 126*4882a593Smuzhiyun 127*4882a593Smuzhiyunendchoice 128*4882a593Smuzhiyun 129*4882a593Smuzhiyunconfig THERMAL_GOV_FAIR_SHARE 130*4882a593Smuzhiyun bool "Fair-share thermal governor" 131*4882a593Smuzhiyun help 132*4882a593Smuzhiyun Enable this to manage platform thermals using fair-share governor. 133*4882a593Smuzhiyun 134*4882a593Smuzhiyunconfig THERMAL_GOV_STEP_WISE 135*4882a593Smuzhiyun bool "Step_wise thermal governor" 136*4882a593Smuzhiyun help 137*4882a593Smuzhiyun Enable this to manage platform thermals using a simple linear 138*4882a593Smuzhiyun governor. 139*4882a593Smuzhiyun 140*4882a593Smuzhiyunconfig THERMAL_GOV_BANG_BANG 141*4882a593Smuzhiyun bool "Bang Bang thermal governor" 142*4882a593Smuzhiyun default n 143*4882a593Smuzhiyun help 144*4882a593Smuzhiyun Enable this to manage platform thermals using bang bang governor. 145*4882a593Smuzhiyun 146*4882a593Smuzhiyun Say 'Y' here if you want to use two point temperature regulation 147*4882a593Smuzhiyun used for fans without throttling. Some fan drivers depend on this 148*4882a593Smuzhiyun governor to be enabled (e.g. acerhdf). 149*4882a593Smuzhiyun 150*4882a593Smuzhiyunconfig THERMAL_GOV_USER_SPACE 151*4882a593Smuzhiyun bool "User_space thermal governor" 152*4882a593Smuzhiyun help 153*4882a593Smuzhiyun Enable this to let the user space manage the platform thermals. 154*4882a593Smuzhiyun 155*4882a593Smuzhiyunconfig THERMAL_GOV_POWER_ALLOCATOR 156*4882a593Smuzhiyun bool "Power allocator thermal governor" 157*4882a593Smuzhiyun depends on ENERGY_MODEL 158*4882a593Smuzhiyun help 159*4882a593Smuzhiyun Enable this to manage platform thermals by dynamically 160*4882a593Smuzhiyun allocating and limiting power to devices. 161*4882a593Smuzhiyun 162*4882a593Smuzhiyunconfig CPU_THERMAL 163*4882a593Smuzhiyun bool "Generic cpu cooling support" 164*4882a593Smuzhiyun depends on THERMAL_OF 165*4882a593Smuzhiyun help 166*4882a593Smuzhiyun Enable the CPU cooling features. If the system has no active 167*4882a593Smuzhiyun cooling device available, this option allows to use the CPU 168*4882a593Smuzhiyun as a cooling device. 169*4882a593Smuzhiyun 170*4882a593Smuzhiyunif CPU_THERMAL 171*4882a593Smuzhiyun 172*4882a593Smuzhiyunconfig CPU_FREQ_THERMAL 173*4882a593Smuzhiyun bool "CPU frequency cooling device" 174*4882a593Smuzhiyun depends on CPU_FREQ 175*4882a593Smuzhiyun default y 176*4882a593Smuzhiyun help 177*4882a593Smuzhiyun This implements the generic cpu cooling mechanism through frequency 178*4882a593Smuzhiyun reduction. An ACPI version of this already exists 179*4882a593Smuzhiyun (drivers/acpi/processor_thermal.c). 180*4882a593Smuzhiyun This will be useful for platforms using the generic thermal interface 181*4882a593Smuzhiyun and not the ACPI interface. 182*4882a593Smuzhiyun 183*4882a593Smuzhiyunconfig CPU_IDLE_THERMAL 184*4882a593Smuzhiyun bool "CPU idle cooling device" 185*4882a593Smuzhiyun depends on IDLE_INJECT 186*4882a593Smuzhiyun help 187*4882a593Smuzhiyun This implements the CPU cooling mechanism through 188*4882a593Smuzhiyun idle injection. This will throttle the CPU by injecting 189*4882a593Smuzhiyun idle cycle. 190*4882a593Smuzhiyunendif 191*4882a593Smuzhiyun 192*4882a593Smuzhiyunconfig DEVFREQ_THERMAL 193*4882a593Smuzhiyun bool "Generic device cooling support" 194*4882a593Smuzhiyun depends on PM_DEVFREQ 195*4882a593Smuzhiyun depends on PM_OPP 196*4882a593Smuzhiyun help 197*4882a593Smuzhiyun This implements the generic devfreq cooling mechanism through 198*4882a593Smuzhiyun frequency reduction for devices using devfreq. 199*4882a593Smuzhiyun 200*4882a593Smuzhiyun This will throttle the device by limiting the maximum allowed DVFS 201*4882a593Smuzhiyun frequency corresponding to the cooling level. 202*4882a593Smuzhiyun 203*4882a593Smuzhiyun In order to use the power extensions of the cooling device, 204*4882a593Smuzhiyun devfreq should use the simple_ondemand governor. 205*4882a593Smuzhiyun 206*4882a593Smuzhiyun If you want this support, you should say Y here. 207*4882a593Smuzhiyun 208*4882a593Smuzhiyunconfig THERMAL_EMULATION 209*4882a593Smuzhiyun bool "Thermal emulation mode support" 210*4882a593Smuzhiyun help 211*4882a593Smuzhiyun Enable this option to make a emul_temp sysfs node in thermal zone 212*4882a593Smuzhiyun directory to support temperature emulation. With emulation sysfs node, 213*4882a593Smuzhiyun user can manually input temperature and test the different trip 214*4882a593Smuzhiyun threshold behaviour for simulation purpose. 215*4882a593Smuzhiyun 216*4882a593Smuzhiyun WARNING: Be careful while enabling this option on production systems, 217*4882a593Smuzhiyun because userland can easily disable the thermal policy by simply 218*4882a593Smuzhiyun flooding this sysfs node with low temperature values. 219*4882a593Smuzhiyun 220*4882a593Smuzhiyunconfig THERMAL_MMIO 221*4882a593Smuzhiyun tristate "Generic Thermal MMIO driver" 222*4882a593Smuzhiyun depends on OF || COMPILE_TEST 223*4882a593Smuzhiyun depends on HAS_IOMEM 224*4882a593Smuzhiyun help 225*4882a593Smuzhiyun This option enables the generic thermal MMIO driver that will use 226*4882a593Smuzhiyun memory-mapped reads to get the temperature. Any HW/System that 227*4882a593Smuzhiyun allows temperature reading by a single memory-mapped reading, be it 228*4882a593Smuzhiyun register or shared memory, is a potential candidate to work with this 229*4882a593Smuzhiyun driver. 230*4882a593Smuzhiyun 231*4882a593Smuzhiyunconfig HISI_THERMAL 232*4882a593Smuzhiyun tristate "Hisilicon thermal driver" 233*4882a593Smuzhiyun depends on ARCH_HISI || COMPILE_TEST 234*4882a593Smuzhiyun depends on HAS_IOMEM 235*4882a593Smuzhiyun depends on OF 236*4882a593Smuzhiyun default y 237*4882a593Smuzhiyun help 238*4882a593Smuzhiyun Enable this to plug hisilicon's thermal sensor driver into the Linux 239*4882a593Smuzhiyun thermal framework. cpufreq is used as the cooling device to throttle 240*4882a593Smuzhiyun CPUs when the passive trip is crossed. 241*4882a593Smuzhiyun 242*4882a593Smuzhiyunconfig IMX_THERMAL 243*4882a593Smuzhiyun tristate "Temperature sensor driver for Freescale i.MX SoCs" 244*4882a593Smuzhiyun depends on ARCH_MXC || COMPILE_TEST 245*4882a593Smuzhiyun depends on NVMEM || !NVMEM 246*4882a593Smuzhiyun depends on MFD_SYSCON 247*4882a593Smuzhiyun depends on OF 248*4882a593Smuzhiyun help 249*4882a593Smuzhiyun Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs. 250*4882a593Smuzhiyun It supports one critical trip point and one passive trip point. The 251*4882a593Smuzhiyun cpufreq is used as the cooling device to throttle CPUs when the 252*4882a593Smuzhiyun passive trip is crossed. 253*4882a593Smuzhiyun 254*4882a593Smuzhiyunconfig IMX_SC_THERMAL 255*4882a593Smuzhiyun tristate "Temperature sensor driver for NXP i.MX SoCs with System Controller" 256*4882a593Smuzhiyun depends on IMX_SCU 257*4882a593Smuzhiyun depends on OF 258*4882a593Smuzhiyun help 259*4882a593Smuzhiyun Support for Temperature Monitor (TEMPMON) found on NXP i.MX SoCs with 260*4882a593Smuzhiyun system controller inside, Linux kernel has to communicate with system 261*4882a593Smuzhiyun controller via MU (message unit) IPC to get temperature from thermal 262*4882a593Smuzhiyun sensor. It supports one critical trip point and one 263*4882a593Smuzhiyun passive trip point for each thermal sensor. 264*4882a593Smuzhiyun 265*4882a593Smuzhiyunconfig IMX8MM_THERMAL 266*4882a593Smuzhiyun tristate "Temperature sensor driver for Freescale i.MX8MM SoC" 267*4882a593Smuzhiyun depends on ARCH_MXC || COMPILE_TEST 268*4882a593Smuzhiyun depends on OF 269*4882a593Smuzhiyun help 270*4882a593Smuzhiyun Support for Thermal Monitoring Unit (TMU) found on Freescale i.MX8MM SoC. 271*4882a593Smuzhiyun It supports one critical trip point and one passive trip point. The 272*4882a593Smuzhiyun cpufreq is used as the cooling device to throttle CPUs when the passive 273*4882a593Smuzhiyun trip is crossed. 274*4882a593Smuzhiyun 275*4882a593Smuzhiyunconfig K3_THERMAL 276*4882a593Smuzhiyun tristate "Texas Instruments K3 thermal support" 277*4882a593Smuzhiyun depends on ARCH_K3 || COMPILE_TEST 278*4882a593Smuzhiyun help 279*4882a593Smuzhiyun If you say yes here you get thermal support for the Texas Instruments 280*4882a593Smuzhiyun K3 SoC family. The current chip supported is: 281*4882a593Smuzhiyun - AM654 282*4882a593Smuzhiyun 283*4882a593Smuzhiyun This includes temperature reading functionality. 284*4882a593Smuzhiyun 285*4882a593Smuzhiyunconfig MAX77620_THERMAL 286*4882a593Smuzhiyun tristate "Temperature sensor driver for Maxim MAX77620 PMIC" 287*4882a593Smuzhiyun depends on MFD_MAX77620 288*4882a593Smuzhiyun depends on OF 289*4882a593Smuzhiyun help 290*4882a593Smuzhiyun Support for die junction temperature warning alarm for Maxim 291*4882a593Smuzhiyun Semiconductor PMIC MAX77620 device. Device generates two alarm 292*4882a593Smuzhiyun interrupts when PMIC die temperature cross the threshold of 293*4882a593Smuzhiyun 120 degC and 140 degC. 294*4882a593Smuzhiyun 295*4882a593Smuzhiyunconfig QORIQ_THERMAL 296*4882a593Smuzhiyun tristate "QorIQ Thermal Monitoring Unit" 297*4882a593Smuzhiyun depends on THERMAL_OF && HAS_IOMEM 298*4882a593Smuzhiyun depends on PPC_E500MC || SOC_LS1021A || ARCH_LAYERSCAPE || (ARCH_MXC && ARM64) || COMPILE_TEST 299*4882a593Smuzhiyun select REGMAP_MMIO 300*4882a593Smuzhiyun help 301*4882a593Smuzhiyun Support for Thermal Monitoring Unit (TMU) found on QorIQ platforms. 302*4882a593Smuzhiyun It supports one critical trip point and one passive trip point. The 303*4882a593Smuzhiyun cpufreq is used as the cooling device to throttle CPUs when the 304*4882a593Smuzhiyun passive trip is crossed. 305*4882a593Smuzhiyun 306*4882a593Smuzhiyunconfig SPEAR_THERMAL 307*4882a593Smuzhiyun tristate "SPEAr thermal sensor driver" 308*4882a593Smuzhiyun depends on PLAT_SPEAR || COMPILE_TEST 309*4882a593Smuzhiyun depends on HAS_IOMEM 310*4882a593Smuzhiyun depends on OF 311*4882a593Smuzhiyun help 312*4882a593Smuzhiyun Enable this to plug the SPEAr thermal sensor driver into the Linux 313*4882a593Smuzhiyun thermal framework. 314*4882a593Smuzhiyun 315*4882a593Smuzhiyunconfig SUN8I_THERMAL 316*4882a593Smuzhiyun tristate "Allwinner sun8i thermal driver" 317*4882a593Smuzhiyun depends on ARCH_SUNXI || COMPILE_TEST 318*4882a593Smuzhiyun depends on HAS_IOMEM 319*4882a593Smuzhiyun depends on NVMEM 320*4882a593Smuzhiyun depends on OF 321*4882a593Smuzhiyun depends on RESET_CONTROLLER 322*4882a593Smuzhiyun help 323*4882a593Smuzhiyun Support for the sun8i thermal sensor driver into the Linux thermal 324*4882a593Smuzhiyun framework. 325*4882a593Smuzhiyun 326*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 327*4882a593Smuzhiyun module will be called sun8i-thermal. 328*4882a593Smuzhiyun 329*4882a593Smuzhiyunconfig ROCKCHIP_THERMAL 330*4882a593Smuzhiyun tristate "Rockchip thermal driver" 331*4882a593Smuzhiyun depends on ARCH_ROCKCHIP || COMPILE_TEST 332*4882a593Smuzhiyun depends on RESET_CONTROLLER 333*4882a593Smuzhiyun depends on HAS_IOMEM 334*4882a593Smuzhiyun help 335*4882a593Smuzhiyun Rockchip thermal driver provides support for Temperature sensor 336*4882a593Smuzhiyun ADC (TS-ADC) found on Rockchip SoCs. It supports one critical 337*4882a593Smuzhiyun trip point. Cpufreq is used as the cooling device and will throttle 338*4882a593Smuzhiyun CPUs when the Temperature crosses the passive trip point. 339*4882a593Smuzhiyun 340*4882a593Smuzhiyunconfig RK_VIRTUAL_THERMAL 341*4882a593Smuzhiyun tristate "rk_virtual thermal driver" 342*4882a593Smuzhiyun depends on ROCKCHIP_THERMAL 343*4882a593Smuzhiyun select POWER_SUPPLY 344*4882a593Smuzhiyun help 345*4882a593Smuzhiyun Rk virtual thermal driver provides virtual temperature support for 346*4882a593Smuzhiyun SOCs without tsadc module. It supports one critical trip point. 347*4882a593Smuzhiyun Cpufreq is used as the cooling device and will throttle CPUs when 348*4882a593Smuzhiyun the Temperature crosses the passive trip point. 349*4882a593Smuzhiyun 350*4882a593Smuzhiyunconfig RCAR_THERMAL 351*4882a593Smuzhiyun tristate "Renesas R-Car thermal driver" 352*4882a593Smuzhiyun depends on ARCH_RENESAS || COMPILE_TEST 353*4882a593Smuzhiyun depends on HAS_IOMEM 354*4882a593Smuzhiyun help 355*4882a593Smuzhiyun Enable this to plug the R-Car thermal sensor driver into the Linux 356*4882a593Smuzhiyun thermal framework. 357*4882a593Smuzhiyun 358*4882a593Smuzhiyunconfig RCAR_GEN3_THERMAL 359*4882a593Smuzhiyun tristate "Renesas R-Car Gen3 and RZ/G2 thermal driver" 360*4882a593Smuzhiyun depends on ARCH_RENESAS || COMPILE_TEST 361*4882a593Smuzhiyun depends on HAS_IOMEM 362*4882a593Smuzhiyun depends on OF 363*4882a593Smuzhiyun help 364*4882a593Smuzhiyun Enable this to plug the R-Car Gen3 or RZ/G2 thermal sensor driver into 365*4882a593Smuzhiyun the Linux thermal framework. 366*4882a593Smuzhiyun 367*4882a593Smuzhiyunconfig KIRKWOOD_THERMAL 368*4882a593Smuzhiyun tristate "Temperature sensor on Marvell Kirkwood SoCs" 369*4882a593Smuzhiyun depends on MACH_KIRKWOOD || COMPILE_TEST 370*4882a593Smuzhiyun depends on HAS_IOMEM 371*4882a593Smuzhiyun depends on OF 372*4882a593Smuzhiyun help 373*4882a593Smuzhiyun Support for the Kirkwood thermal sensor driver into the Linux thermal 374*4882a593Smuzhiyun framework. Only kirkwood 88F6282 and 88F6283 have this sensor. 375*4882a593Smuzhiyun 376*4882a593Smuzhiyunconfig DOVE_THERMAL 377*4882a593Smuzhiyun tristate "Temperature sensor on Marvell Dove SoCs" 378*4882a593Smuzhiyun depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST 379*4882a593Smuzhiyun depends on HAS_IOMEM 380*4882a593Smuzhiyun depends on OF 381*4882a593Smuzhiyun help 382*4882a593Smuzhiyun Support for the Dove thermal sensor driver in the Linux thermal 383*4882a593Smuzhiyun framework. 384*4882a593Smuzhiyun 385*4882a593Smuzhiyunconfig DB8500_THERMAL 386*4882a593Smuzhiyun tristate "DB8500 thermal management" 387*4882a593Smuzhiyun depends on MFD_DB8500_PRCMU && OF 388*4882a593Smuzhiyun default y 389*4882a593Smuzhiyun help 390*4882a593Smuzhiyun Adds DB8500 thermal management implementation according to the thermal 391*4882a593Smuzhiyun management framework. A thermal zone with several trip points will be 392*4882a593Smuzhiyun created. Cooling devices can be bound to the trip points to cool this 393*4882a593Smuzhiyun thermal zone if trip points reached. 394*4882a593Smuzhiyun 395*4882a593Smuzhiyunconfig ARMADA_THERMAL 396*4882a593Smuzhiyun tristate "Marvell EBU Armada SoCs thermal management" 397*4882a593Smuzhiyun depends on ARCH_MVEBU || COMPILE_TEST 398*4882a593Smuzhiyun depends on HAS_IOMEM 399*4882a593Smuzhiyun depends on OF 400*4882a593Smuzhiyun help 401*4882a593Smuzhiyun Enable this option if you want to have support for thermal management 402*4882a593Smuzhiyun controller present in Marvell EBU Armada SoCs (370,375,XP,38x,7K,8K). 403*4882a593Smuzhiyun 404*4882a593Smuzhiyunconfig DA9062_THERMAL 405*4882a593Smuzhiyun tristate "DA9062/DA9061 Dialog Semiconductor thermal driver" 406*4882a593Smuzhiyun depends on MFD_DA9062 || COMPILE_TEST 407*4882a593Smuzhiyun depends on OF 408*4882a593Smuzhiyun help 409*4882a593Smuzhiyun Enable this for the Dialog Semiconductor thermal sensor driver. 410*4882a593Smuzhiyun This will report PMIC junction over-temperature for one thermal trip 411*4882a593Smuzhiyun zone. 412*4882a593Smuzhiyun Compatible with the DA9062 and DA9061 PMICs. 413*4882a593Smuzhiyun 414*4882a593Smuzhiyunconfig MTK_THERMAL 415*4882a593Smuzhiyun tristate "Temperature sensor driver for mediatek SoCs" 416*4882a593Smuzhiyun depends on ARCH_MEDIATEK || COMPILE_TEST 417*4882a593Smuzhiyun depends on HAS_IOMEM 418*4882a593Smuzhiyun depends on NVMEM || NVMEM=n 419*4882a593Smuzhiyun depends on RESET_CONTROLLER 420*4882a593Smuzhiyun default y 421*4882a593Smuzhiyun help 422*4882a593Smuzhiyun Enable this option if you want to have support for thermal management 423*4882a593Smuzhiyun controller present in Mediatek SoCs 424*4882a593Smuzhiyun 425*4882a593Smuzhiyunconfig AMLOGIC_THERMAL 426*4882a593Smuzhiyun tristate "Amlogic Thermal Support" 427*4882a593Smuzhiyun default ARCH_MESON 428*4882a593Smuzhiyun depends on OF && ARCH_MESON 429*4882a593Smuzhiyun help 430*4882a593Smuzhiyun If you say yes here you get support for Amlogic Thermal 431*4882a593Smuzhiyun for G12 SoC Family. 432*4882a593Smuzhiyun 433*4882a593Smuzhiyun This driver can also be built as a module. If so, the module will 434*4882a593Smuzhiyun be called amlogic_thermal. 435*4882a593Smuzhiyun 436*4882a593Smuzhiyunmenu "Intel thermal drivers" 437*4882a593Smuzhiyundepends on X86 || X86_INTEL_QUARK || COMPILE_TEST 438*4882a593Smuzhiyunsource "drivers/thermal/intel/Kconfig" 439*4882a593Smuzhiyunendmenu 440*4882a593Smuzhiyun 441*4882a593Smuzhiyunmenu "Broadcom thermal drivers" 442*4882a593Smuzhiyundepends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM_IPROC || \ 443*4882a593Smuzhiyun COMPILE_TEST 444*4882a593Smuzhiyunsource "drivers/thermal/broadcom/Kconfig" 445*4882a593Smuzhiyunendmenu 446*4882a593Smuzhiyun 447*4882a593Smuzhiyunmenu "Texas Instruments thermal drivers" 448*4882a593Smuzhiyundepends on ARCH_HAS_BANDGAP || COMPILE_TEST 449*4882a593Smuzhiyundepends on HAS_IOMEM 450*4882a593Smuzhiyunsource "drivers/thermal/ti-soc-thermal/Kconfig" 451*4882a593Smuzhiyunendmenu 452*4882a593Smuzhiyun 453*4882a593Smuzhiyunmenu "Samsung thermal drivers" 454*4882a593Smuzhiyundepends on ARCH_EXYNOS || COMPILE_TEST 455*4882a593Smuzhiyunsource "drivers/thermal/samsung/Kconfig" 456*4882a593Smuzhiyunendmenu 457*4882a593Smuzhiyun 458*4882a593Smuzhiyunmenu "STMicroelectronics thermal drivers" 459*4882a593Smuzhiyundepends on (ARCH_STI || ARCH_STM32) && OF 460*4882a593Smuzhiyunsource "drivers/thermal/st/Kconfig" 461*4882a593Smuzhiyunendmenu 462*4882a593Smuzhiyun 463*4882a593Smuzhiyunconfig TANGO_THERMAL 464*4882a593Smuzhiyun tristate "Tango thermal management" 465*4882a593Smuzhiyun depends on ARCH_TANGO || COMPILE_TEST 466*4882a593Smuzhiyun help 467*4882a593Smuzhiyun Enable the Tango thermal driver, which supports the primitive 468*4882a593Smuzhiyun temperature sensor embedded in Tango chips since the SMP8758. 469*4882a593Smuzhiyun This sensor only generates a 1-bit signal to indicate whether 470*4882a593Smuzhiyun the die temperature exceeds a programmable threshold. 471*4882a593Smuzhiyun 472*4882a593Smuzhiyunsource "drivers/thermal/tegra/Kconfig" 473*4882a593Smuzhiyun 474*4882a593Smuzhiyunconfig GENERIC_ADC_THERMAL 475*4882a593Smuzhiyun tristate "Generic ADC based thermal sensor" 476*4882a593Smuzhiyun depends on IIO 477*4882a593Smuzhiyun help 478*4882a593Smuzhiyun This enabled a thermal sysfs driver for the temperature sensor 479*4882a593Smuzhiyun which is connected to the General Purpose ADC. The ADC channel 480*4882a593Smuzhiyun is read via IIO framework and the channel information is provided 481*4882a593Smuzhiyun to this driver. This driver reports the temperature by reading ADC 482*4882a593Smuzhiyun channel and converts it to temperature based on lookup table. 483*4882a593Smuzhiyun 484*4882a593Smuzhiyunmenu "Qualcomm thermal drivers" 485*4882a593Smuzhiyundepends on (ARCH_QCOM && OF) || COMPILE_TEST 486*4882a593Smuzhiyunsource "drivers/thermal/qcom/Kconfig" 487*4882a593Smuzhiyunendmenu 488*4882a593Smuzhiyun 489*4882a593Smuzhiyunconfig ZX2967_THERMAL 490*4882a593Smuzhiyun tristate "Thermal sensors on zx2967 SoC" 491*4882a593Smuzhiyun depends on ARCH_ZX || COMPILE_TEST 492*4882a593Smuzhiyun help 493*4882a593Smuzhiyun Enable the zx2967 thermal sensors driver, which supports 494*4882a593Smuzhiyun the primitive temperature sensor embedded in zx2967 SoCs. 495*4882a593Smuzhiyun This sensor generates the real time die temperature. 496*4882a593Smuzhiyun 497*4882a593Smuzhiyunconfig UNIPHIER_THERMAL 498*4882a593Smuzhiyun tristate "Socionext UniPhier thermal driver" 499*4882a593Smuzhiyun depends on ARCH_UNIPHIER || COMPILE_TEST 500*4882a593Smuzhiyun depends on THERMAL_OF && MFD_SYSCON 501*4882a593Smuzhiyun help 502*4882a593Smuzhiyun Enable this to plug in UniPhier on-chip PVT thermal driver into the 503*4882a593Smuzhiyun thermal framework. The driver supports CPU thermal zone temperature 504*4882a593Smuzhiyun reporting and a couple of trip points. 505*4882a593Smuzhiyun 506*4882a593Smuzhiyunconfig SPRD_THERMAL 507*4882a593Smuzhiyun tristate "Temperature sensor on Spreadtrum SoCs" 508*4882a593Smuzhiyun depends on ARCH_SPRD || COMPILE_TEST 509*4882a593Smuzhiyun help 510*4882a593Smuzhiyun Support for the Spreadtrum thermal sensor driver in the Linux thermal 511*4882a593Smuzhiyun framework. 512*4882a593Smuzhiyun 513*4882a593Smuzhiyunconfig KHADAS_MCU_FAN_THERMAL 514*4882a593Smuzhiyun tristate "Khadas MCU controller FAN cooling support" 515*4882a593Smuzhiyun depends on OF || COMPILE_TEST 516*4882a593Smuzhiyun depends on MFD_KHADAS_MCU 517*4882a593Smuzhiyun select MFD_CORE 518*4882a593Smuzhiyun select REGMAP 519*4882a593Smuzhiyun help 520*4882a593Smuzhiyun If you say yes here you get support for the FAN controlled 521*4882a593Smuzhiyun by the Microcontroller found on the Khadas VIM boards. 522*4882a593Smuzhiyun 523*4882a593Smuzhiyunendif 524