1# 2# Generic thermal sysfs drivers configuration 3# 4 5menuconfig THERMAL 6 bool "Generic Thermal sysfs driver" 7 help 8 Generic Thermal Sysfs driver offers a generic mechanism for 9 thermal management. Usually it's made up of one or more thermal 10 zone and cooling device. 11 Each thermal zone contains its own temperature, trip points, 12 cooling devices. 13 All platforms with ACPI thermal support can use this driver. 14 If you want this support, you should say Y here. 15 16if THERMAL 17 18config THERMAL_STATISTICS 19 bool "Thermal state transition statistics" 20 help 21 Export thermal state transition statistics information through sysfs. 22 23 If in doubt, say N. 24 25config THERMAL_EMERGENCY_POWEROFF_DELAY_MS 26 int "Emergency poweroff delay in milli-seconds" 27 default 0 28 help 29 Thermal subsystem will issue a graceful shutdown when 30 critical temperatures are reached using orderly_poweroff(). In 31 case of failure of an orderly_poweroff(), the thermal emergency 32 poweroff kicks in after a delay has elapsed and shuts down the system. 33 This config is number of milliseconds to delay before emergency 34 poweroff kicks in. Similarly to the critical trip point, 35 the delay should be carefully profiled so as to give adequate 36 time for orderly_poweroff() to finish on regular execution. 37 If set to 0 emergency poweroff will not be supported. 38 39 In doubt, leave as 0. 40 41config THERMAL_HWMON 42 bool 43 prompt "Expose thermal sensors as hwmon device" 44 depends on HWMON=y || HWMON=THERMAL 45 default y 46 help 47 In case a sensor is registered with the thermal 48 framework, this option will also register it 49 as a hwmon. The sensor will then have the common 50 hwmon sysfs interface. 51 52 Say 'Y' here if you want all thermal sensors to 53 have hwmon sysfs interface too. 54 55config THERMAL_OF 56 bool 57 prompt "APIs to parse thermal data out of device tree" 58 depends on OF 59 default y 60 help 61 This options provides helpers to add the support to 62 read and parse thermal data definitions out of the 63 device tree blob. 64 65 Say 'Y' here if you need to build thermal infrastructure 66 based on device tree. 67 68config THERMAL_WRITABLE_TRIPS 69 bool "Enable writable trip points" 70 help 71 This option allows the system integrator to choose whether 72 trip temperatures can be changed from userspace. The 73 writable trips need to be specified when setting up the 74 thermal zone but the choice here takes precedence. 75 76 Say 'Y' here if you would like to allow userspace tools to 77 change trip temperatures. 78 79choice 80 prompt "Default Thermal governor" 81 default THERMAL_DEFAULT_GOV_STEP_WISE 82 help 83 This option sets which thermal governor shall be loaded at 84 startup. If in doubt, select 'step_wise'. 85 86config THERMAL_DEFAULT_GOV_STEP_WISE 87 bool "step_wise" 88 select THERMAL_GOV_STEP_WISE 89 help 90 Use the step_wise governor as default. This throttles the 91 devices one step at a time. 92 93config THERMAL_DEFAULT_GOV_FAIR_SHARE 94 bool "fair_share" 95 select THERMAL_GOV_FAIR_SHARE 96 help 97 Use the fair_share governor as default. This throttles the 98 devices based on their 'contribution' to a zone. The 99 contribution should be provided through platform data. 100 101config THERMAL_DEFAULT_GOV_USER_SPACE 102 bool "user_space" 103 select THERMAL_GOV_USER_SPACE 104 help 105 Select this if you want to let the user space manage the 106 platform thermals. 107 108config THERMAL_DEFAULT_GOV_POWER_ALLOCATOR 109 bool "power_allocator" 110 select THERMAL_GOV_POWER_ALLOCATOR 111 help 112 Select this if you want to control temperature based on 113 system and device power allocation. This governor can only 114 operate on cooling devices that implement the power API. 115 116endchoice 117 118config THERMAL_GOV_FAIR_SHARE 119 bool "Fair-share thermal governor" 120 help 121 Enable this to manage platform thermals using fair-share governor. 122 123config THERMAL_GOV_STEP_WISE 124 bool "Step_wise thermal governor" 125 help 126 Enable this to manage platform thermals using a simple linear 127 governor. 128 129config THERMAL_GOV_BANG_BANG 130 bool "Bang Bang thermal governor" 131 default n 132 help 133 Enable this to manage platform thermals using bang bang governor. 134 135 Say 'Y' here if you want to use two point temperature regulation 136 used for fans without throttling. Some fan drivers depend on this 137 governor to be enabled (e.g. acerhdf). 138 139config THERMAL_GOV_USER_SPACE 140 bool "User_space thermal governor" 141 help 142 Enable this to let the user space manage the platform thermals. 143 144config THERMAL_GOV_POWER_ALLOCATOR 145 bool "Power allocator thermal governor" 146 help 147 Enable this to manage platform thermals by dynamically 148 allocating and limiting power to devices. 149 150config CPU_THERMAL 151 bool "Generic cpu cooling support" 152 depends on CPU_FREQ 153 depends on THERMAL_OF 154 help 155 This implements the generic cpu cooling mechanism through frequency 156 reduction. An ACPI version of this already exists 157 (drivers/acpi/processor_thermal.c). 158 This will be useful for platforms using the generic thermal interface 159 and not the ACPI interface. 160 161 If you want this support, you should say Y here. 162 163config CLOCK_THERMAL 164 bool "Generic clock cooling support" 165 depends on COMMON_CLK 166 depends on PM_OPP 167 help 168 This entry implements the generic clock cooling mechanism through 169 frequency clipping. Typically used to cool off co-processors. The 170 device that is configured to use this cooling mechanism will be 171 controlled to reduce clock frequency whenever temperature is high. 172 173config DEVFREQ_THERMAL 174 bool "Generic device cooling support" 175 depends on PM_DEVFREQ 176 depends on PM_OPP 177 help 178 This implements the generic devfreq cooling mechanism through 179 frequency reduction for devices using devfreq. 180 181 This will throttle the device by limiting the maximum allowed DVFS 182 frequency corresponding to the cooling level. 183 184 In order to use the power extensions of the cooling device, 185 devfreq should use the simple_ondemand governor. 186 187 If you want this support, you should say Y here. 188 189config THERMAL_EMULATION 190 bool "Thermal emulation mode support" 191 help 192 Enable this option to make a emul_temp sysfs node in thermal zone 193 directory to support temperature emulation. With emulation sysfs node, 194 user can manually input temperature and test the different trip 195 threshold behaviour for simulation purpose. 196 197 WARNING: Be careful while enabling this option on production systems, 198 because userland can easily disable the thermal policy by simply 199 flooding this sysfs node with low temperature values. 200 201config THERMAL_MMIO 202 tristate "Generic Thermal MMIO driver" 203 depends on OF || COMPILE_TEST 204 depends on HAS_IOMEM 205 help 206 This option enables the generic thermal MMIO driver that will use 207 memory-mapped reads to get the temperature. Any HW/System that 208 allows temperature reading by a single memory-mapped reading, be it 209 register or shared memory, is a potential candidate to work with this 210 driver. 211 212config HISI_THERMAL 213 tristate "Hisilicon thermal driver" 214 depends on ARCH_HISI || COMPILE_TEST 215 depends on HAS_IOMEM 216 depends on OF 217 default y 218 help 219 Enable this to plug hisilicon's thermal sensor driver into the Linux 220 thermal framework. cpufreq is used as the cooling device to throttle 221 CPUs when the passive trip is crossed. 222 223config IMX_THERMAL 224 tristate "Temperature sensor driver for Freescale i.MX SoCs" 225 depends on ARCH_MXC || COMPILE_TEST 226 depends on NVMEM || !NVMEM 227 depends on MFD_SYSCON 228 depends on OF 229 help 230 Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs. 231 It supports one critical trip point and one passive trip point. The 232 cpufreq is used as the cooling device to throttle CPUs when the 233 passive trip is crossed. 234 235config MAX77620_THERMAL 236 tristate "Temperature sensor driver for Maxim MAX77620 PMIC" 237 depends on MFD_MAX77620 238 depends on OF 239 help 240 Support for die junction temperature warning alarm for Maxim 241 Semiconductor PMIC MAX77620 device. Device generates two alarm 242 interrupts when PMIC die temperature cross the threshold of 243 120 degC and 140 degC. 244 245config QORIQ_THERMAL 246 tristate "QorIQ Thermal Monitoring Unit" 247 depends on THERMAL_OF 248 depends on HAS_IOMEM 249 help 250 Support for Thermal Monitoring Unit (TMU) found on QorIQ platforms. 251 It supports one critical trip point and one passive trip point. The 252 cpufreq is used as the cooling device to throttle CPUs when the 253 passive trip is crossed. 254 255config SPEAR_THERMAL 256 tristate "SPEAr thermal sensor driver" 257 depends on PLAT_SPEAR || COMPILE_TEST 258 depends on HAS_IOMEM 259 depends on OF 260 help 261 Enable this to plug the SPEAr thermal sensor driver into the Linux 262 thermal framework. 263 264config ROCKCHIP_THERMAL 265 tristate "Rockchip thermal driver" 266 depends on ARCH_ROCKCHIP || COMPILE_TEST 267 depends on RESET_CONTROLLER 268 depends on HAS_IOMEM 269 help 270 Rockchip thermal driver provides support for Temperature sensor 271 ADC (TS-ADC) found on Rockchip SoCs. It supports one critical 272 trip point. Cpufreq is used as the cooling device and will throttle 273 CPUs when the Temperature crosses the passive trip point. 274 275config RCAR_THERMAL 276 tristate "Renesas R-Car thermal driver" 277 depends on ARCH_RENESAS || COMPILE_TEST 278 depends on HAS_IOMEM 279 help 280 Enable this to plug the R-Car thermal sensor driver into the Linux 281 thermal framework. 282 283config RCAR_GEN3_THERMAL 284 tristate "Renesas R-Car Gen3 thermal driver" 285 depends on ARCH_RENESAS || COMPILE_TEST 286 depends on HAS_IOMEM 287 depends on OF 288 help 289 Enable this to plug the R-Car Gen3 thermal sensor driver into the Linux 290 thermal framework. 291 292config KIRKWOOD_THERMAL 293 tristate "Temperature sensor on Marvell Kirkwood SoCs" 294 depends on MACH_KIRKWOOD || COMPILE_TEST 295 depends on HAS_IOMEM 296 depends on OF 297 help 298 Support for the Kirkwood thermal sensor driver into the Linux thermal 299 framework. Only kirkwood 88F6282 and 88F6283 have this sensor. 300 301config DOVE_THERMAL 302 tristate "Temperature sensor on Marvell Dove SoCs" 303 depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST 304 depends on HAS_IOMEM 305 depends on OF 306 help 307 Support for the Dove thermal sensor driver in the Linux thermal 308 framework. 309 310config DB8500_THERMAL 311 tristate "DB8500 thermal management" 312 depends on MFD_DB8500_PRCMU 313 default y 314 help 315 Adds DB8500 thermal management implementation according to the thermal 316 management framework. A thermal zone with several trip points will be 317 created. Cooling devices can be bound to the trip points to cool this 318 thermal zone if trip points reached. 319 320config ARMADA_THERMAL 321 tristate "Marvell EBU Armada SoCs thermal management" 322 depends on ARCH_MVEBU || COMPILE_TEST 323 depends on HAS_IOMEM 324 depends on OF 325 help 326 Enable this option if you want to have support for thermal management 327 controller present in Marvell EBU Armada SoCs (370,375,XP,38x,7K,8K). 328 329config DA9062_THERMAL 330 tristate "DA9062/DA9061 Dialog Semiconductor thermal driver" 331 depends on MFD_DA9062 || COMPILE_TEST 332 depends on OF 333 help 334 Enable this for the Dialog Semiconductor thermal sensor driver. 335 This will report PMIC junction over-temperature for one thermal trip 336 zone. 337 Compatible with the DA9062 and DA9061 PMICs. 338 339config MTK_THERMAL 340 tristate "Temperature sensor driver for mediatek SoCs" 341 depends on ARCH_MEDIATEK || COMPILE_TEST 342 depends on HAS_IOMEM 343 depends on NVMEM || NVMEM=n 344 depends on RESET_CONTROLLER 345 default y 346 help 347 Enable this option if you want to have support for thermal management 348 controller present in Mediatek SoCs 349 350menu "Intel thermal drivers" 351depends on X86 || X86_INTEL_QUARK || COMPILE_TEST 352source "drivers/thermal/intel/Kconfig" 353endmenu 354 355menu "Broadcom thermal drivers" 356depends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM_IPROC || \ 357 COMPILE_TEST 358source "drivers/thermal/broadcom/Kconfig" 359endmenu 360 361menu "Texas Instruments thermal drivers" 362depends on ARCH_HAS_BANDGAP || COMPILE_TEST 363depends on HAS_IOMEM 364source "drivers/thermal/ti-soc-thermal/Kconfig" 365endmenu 366 367menu "Samsung thermal drivers" 368depends on ARCH_EXYNOS || COMPILE_TEST 369source "drivers/thermal/samsung/Kconfig" 370endmenu 371 372menu "STMicroelectronics thermal drivers" 373depends on (ARCH_STI || ARCH_STM32) && OF 374source "drivers/thermal/st/Kconfig" 375endmenu 376 377config TANGO_THERMAL 378 tristate "Tango thermal management" 379 depends on ARCH_TANGO || COMPILE_TEST 380 help 381 Enable the Tango thermal driver, which supports the primitive 382 temperature sensor embedded in Tango chips since the SMP8758. 383 This sensor only generates a 1-bit signal to indicate whether 384 the die temperature exceeds a programmable threshold. 385 386source "drivers/thermal/tegra/Kconfig" 387 388config GENERIC_ADC_THERMAL 389 tristate "Generic ADC based thermal sensor" 390 depends on IIO 391 help 392 This enabled a thermal sysfs driver for the temperature sensor 393 which is connected to the General Purpose ADC. The ADC channel 394 is read via IIO framework and the channel information is provided 395 to this driver. This driver reports the temperature by reading ADC 396 channel and converts it to temperature based on lookup table. 397 398menu "Qualcomm thermal drivers" 399depends on (ARCH_QCOM && OF) || COMPILE_TEST 400source "drivers/thermal/qcom/Kconfig" 401endmenu 402 403config ZX2967_THERMAL 404 tristate "Thermal sensors on zx2967 SoC" 405 depends on ARCH_ZX || COMPILE_TEST 406 help 407 Enable the zx2967 thermal sensors driver, which supports 408 the primitive temperature sensor embedded in zx2967 SoCs. 409 This sensor generates the real time die temperature. 410 411config UNIPHIER_THERMAL 412 tristate "Socionext UniPhier thermal driver" 413 depends on ARCH_UNIPHIER || COMPILE_TEST 414 depends on THERMAL_OF && MFD_SYSCON 415 help 416 Enable this to plug in UniPhier on-chip PVT thermal driver into the 417 thermal framework. The driver supports CPU thermal zone temperature 418 reporting and a couple of trip points. 419endif 420