.. | .. |
---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | # |
---|
2 | | -# Generic thermal sysfs drivers configuration |
---|
| 3 | +# Generic thermal drivers configuration |
---|
3 | 4 | # |
---|
4 | 5 | |
---|
5 | 6 | menuconfig THERMAL |
---|
6 | | - tristate "Generic Thermal sysfs driver" |
---|
| 7 | + bool "Thermal drivers" |
---|
7 | 8 | help |
---|
8 | | - Generic Thermal Sysfs driver offers a generic mechanism for |
---|
| 9 | + Thermal drivers offer a generic mechanism for |
---|
9 | 10 | thermal management. Usually it's made up of one or more thermal |
---|
10 | | - zone and cooling device. |
---|
| 11 | + zones and cooling devices. |
---|
11 | 12 | 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 or M here. |
---|
| 13 | + and cooling devices. |
---|
| 14 | + All platforms with ACPI or Open Firmware thermal support can use |
---|
| 15 | + this driver. |
---|
| 16 | + If you want this support, you should say Y here. |
---|
15 | 17 | |
---|
16 | 18 | if THERMAL |
---|
| 19 | + |
---|
| 20 | +config THERMAL_NETLINK |
---|
| 21 | + bool "Thermal netlink management" |
---|
| 22 | + depends on NET |
---|
| 23 | + help |
---|
| 24 | + The thermal framework has a netlink interface to do thermal |
---|
| 25 | + zones discovery, temperature readings and events such as |
---|
| 26 | + trip point crossed, cooling device update or governor |
---|
| 27 | + change. It is recommended to enable the feature. |
---|
17 | 28 | |
---|
18 | 29 | config THERMAL_STATISTICS |
---|
19 | 30 | bool "Thermal state transition statistics" |
---|
.. | .. |
---|
24 | 35 | |
---|
25 | 36 | config THERMAL_EMERGENCY_POWEROFF_DELAY_MS |
---|
26 | 37 | int "Emergency poweroff delay in milli-seconds" |
---|
27 | | - depends on THERMAL |
---|
28 | 38 | default 0 |
---|
29 | 39 | help |
---|
30 | 40 | Thermal subsystem will issue a graceful shutdown when |
---|
.. | .. |
---|
108 | 118 | |
---|
109 | 119 | config THERMAL_DEFAULT_GOV_POWER_ALLOCATOR |
---|
110 | 120 | bool "power_allocator" |
---|
111 | | - select THERMAL_GOV_POWER_ALLOCATOR |
---|
| 121 | + depends on THERMAL_GOV_POWER_ALLOCATOR |
---|
112 | 122 | help |
---|
113 | 123 | Select this if you want to control temperature based on |
---|
114 | 124 | system and device power allocation. This governor can only |
---|
.. | .. |
---|
144 | 154 | |
---|
145 | 155 | config THERMAL_GOV_POWER_ALLOCATOR |
---|
146 | 156 | bool "Power allocator thermal governor" |
---|
| 157 | + depends on ENERGY_MODEL |
---|
147 | 158 | help |
---|
148 | 159 | Enable this to manage platform thermals by dynamically |
---|
149 | 160 | allocating and limiting power to devices. |
---|
150 | 161 | |
---|
151 | 162 | config CPU_THERMAL |
---|
152 | | - bool "generic cpu cooling support" |
---|
153 | | - depends on CPU_FREQ |
---|
| 163 | + bool "Generic cpu cooling support" |
---|
154 | 164 | depends on THERMAL_OF |
---|
| 165 | + help |
---|
| 166 | + Enable the CPU cooling features. If the system has no active |
---|
| 167 | + cooling device available, this option allows to use the CPU |
---|
| 168 | + as a cooling device. |
---|
| 169 | + |
---|
| 170 | +if CPU_THERMAL |
---|
| 171 | + |
---|
| 172 | +config CPU_FREQ_THERMAL |
---|
| 173 | + bool "CPU frequency cooling device" |
---|
| 174 | + depends on CPU_FREQ |
---|
| 175 | + default y |
---|
155 | 176 | help |
---|
156 | 177 | This implements the generic cpu cooling mechanism through frequency |
---|
157 | 178 | reduction. An ACPI version of this already exists |
---|
.. | .. |
---|
159 | 180 | This will be useful for platforms using the generic thermal interface |
---|
160 | 181 | and not the ACPI interface. |
---|
161 | 182 | |
---|
162 | | - If you want this support, you should say Y here. |
---|
163 | | - |
---|
164 | | -config CLOCK_THERMAL |
---|
165 | | - bool "Generic clock cooling support" |
---|
166 | | - depends on COMMON_CLK |
---|
167 | | - depends on PM_OPP |
---|
| 183 | +config CPU_IDLE_THERMAL |
---|
| 184 | + bool "CPU idle cooling device" |
---|
| 185 | + depends on IDLE_INJECT |
---|
168 | 186 | help |
---|
169 | | - This entry implements the generic clock cooling mechanism through |
---|
170 | | - frequency clipping. Typically used to cool off co-processors. The |
---|
171 | | - device that is configured to use this cooling mechanism will be |
---|
172 | | - controlled to reduce clock frequency whenever temperature is high. |
---|
| 187 | + This implements the CPU cooling mechanism through |
---|
| 188 | + idle injection. This will throttle the CPU by injecting |
---|
| 189 | + idle cycle. |
---|
| 190 | +endif |
---|
173 | 191 | |
---|
174 | 192 | config DEVFREQ_THERMAL |
---|
175 | 193 | bool "Generic device cooling support" |
---|
.. | .. |
---|
199 | 217 | because userland can easily disable the thermal policy by simply |
---|
200 | 218 | flooding this sysfs node with low temperature values. |
---|
201 | 219 | |
---|
| 220 | +config THERMAL_MMIO |
---|
| 221 | + tristate "Generic Thermal MMIO driver" |
---|
| 222 | + depends on OF || COMPILE_TEST |
---|
| 223 | + depends on HAS_IOMEM |
---|
| 224 | + help |
---|
| 225 | + This option enables the generic thermal MMIO driver that will use |
---|
| 226 | + memory-mapped reads to get the temperature. Any HW/System that |
---|
| 227 | + allows temperature reading by a single memory-mapped reading, be it |
---|
| 228 | + register or shared memory, is a potential candidate to work with this |
---|
| 229 | + driver. |
---|
| 230 | + |
---|
202 | 231 | config HISI_THERMAL |
---|
203 | 232 | tristate "Hisilicon thermal driver" |
---|
204 | 233 | depends on ARCH_HISI || COMPILE_TEST |
---|
.. | .. |
---|
212 | 241 | |
---|
213 | 242 | config IMX_THERMAL |
---|
214 | 243 | tristate "Temperature sensor driver for Freescale i.MX SoCs" |
---|
215 | | - depends on (ARCH_MXC && CPU_THERMAL) || COMPILE_TEST |
---|
| 244 | + depends on ARCH_MXC || COMPILE_TEST |
---|
216 | 245 | depends on NVMEM || !NVMEM |
---|
217 | 246 | depends on MFD_SYSCON |
---|
218 | 247 | depends on OF |
---|
.. | .. |
---|
221 | 250 | It supports one critical trip point and one passive trip point. The |
---|
222 | 251 | cpufreq is used as the cooling device to throttle CPUs when the |
---|
223 | 252 | passive trip is crossed. |
---|
| 253 | + |
---|
| 254 | +config IMX_SC_THERMAL |
---|
| 255 | + tristate "Temperature sensor driver for NXP i.MX SoCs with System Controller" |
---|
| 256 | + depends on IMX_SCU |
---|
| 257 | + depends on OF |
---|
| 258 | + help |
---|
| 259 | + Support for Temperature Monitor (TEMPMON) found on NXP i.MX SoCs with |
---|
| 260 | + system controller inside, Linux kernel has to communicate with system |
---|
| 261 | + controller via MU (message unit) IPC to get temperature from thermal |
---|
| 262 | + sensor. It supports one critical trip point and one |
---|
| 263 | + passive trip point for each thermal sensor. |
---|
| 264 | + |
---|
| 265 | +config IMX8MM_THERMAL |
---|
| 266 | + tristate "Temperature sensor driver for Freescale i.MX8MM SoC" |
---|
| 267 | + depends on ARCH_MXC || COMPILE_TEST |
---|
| 268 | + depends on OF |
---|
| 269 | + help |
---|
| 270 | + Support for Thermal Monitoring Unit (TMU) found on Freescale i.MX8MM SoC. |
---|
| 271 | + It supports one critical trip point and one passive trip point. The |
---|
| 272 | + cpufreq is used as the cooling device to throttle CPUs when the passive |
---|
| 273 | + trip is crossed. |
---|
| 274 | + |
---|
| 275 | +config K3_THERMAL |
---|
| 276 | + tristate "Texas Instruments K3 thermal support" |
---|
| 277 | + depends on ARCH_K3 || COMPILE_TEST |
---|
| 278 | + help |
---|
| 279 | + If you say yes here you get thermal support for the Texas Instruments |
---|
| 280 | + K3 SoC family. The current chip supported is: |
---|
| 281 | + - AM654 |
---|
| 282 | + |
---|
| 283 | + This includes temperature reading functionality. |
---|
224 | 284 | |
---|
225 | 285 | config MAX77620_THERMAL |
---|
226 | 286 | tristate "Temperature sensor driver for Maxim MAX77620 PMIC" |
---|
.. | .. |
---|
234 | 294 | |
---|
235 | 295 | config QORIQ_THERMAL |
---|
236 | 296 | tristate "QorIQ Thermal Monitoring Unit" |
---|
237 | | - depends on THERMAL_OF |
---|
238 | | - depends on HAS_IOMEM |
---|
| 297 | + depends on THERMAL_OF && HAS_IOMEM |
---|
| 298 | + depends on PPC_E500MC || SOC_LS1021A || ARCH_LAYERSCAPE || (ARCH_MXC && ARM64) || COMPILE_TEST |
---|
| 299 | + select REGMAP_MMIO |
---|
239 | 300 | help |
---|
240 | 301 | Support for Thermal Monitoring Unit (TMU) found on QorIQ platforms. |
---|
241 | 302 | It supports one critical trip point and one passive trip point. The |
---|
.. | .. |
---|
250 | 311 | help |
---|
251 | 312 | Enable this to plug the SPEAr thermal sensor driver into the Linux |
---|
252 | 313 | thermal framework. |
---|
| 314 | + |
---|
| 315 | +config SUN8I_THERMAL |
---|
| 316 | + tristate "Allwinner sun8i thermal driver" |
---|
| 317 | + depends on ARCH_SUNXI || COMPILE_TEST |
---|
| 318 | + depends on HAS_IOMEM |
---|
| 319 | + depends on NVMEM |
---|
| 320 | + depends on OF |
---|
| 321 | + depends on RESET_CONTROLLER |
---|
| 322 | + help |
---|
| 323 | + Support for the sun8i thermal sensor driver into the Linux thermal |
---|
| 324 | + framework. |
---|
| 325 | + |
---|
| 326 | + To compile this driver as a module, choose M here: the |
---|
| 327 | + module will be called sun8i-thermal. |
---|
253 | 328 | |
---|
254 | 329 | config ROCKCHIP_THERMAL |
---|
255 | 330 | tristate "Rockchip thermal driver" |
---|
.. | .. |
---|
272 | 347 | Cpufreq is used as the cooling device and will throttle CPUs when |
---|
273 | 348 | the Temperature crosses the passive trip point. |
---|
274 | 349 | |
---|
275 | | -config RK3368_THERMAL |
---|
276 | | - tristate "rk3368 thermal driver legacy" |
---|
277 | | - depends on ROCKCHIP_THERMAL |
---|
278 | | - help |
---|
279 | | - Rk3368 thermal legacy driver provides support for Temperature sensor |
---|
280 | | - ADC (TS-ADC) for rk3368 soc only. It supports one critical |
---|
281 | | - trip point. Cpufreq is used as the cooling device and will throttle |
---|
282 | | - CPUs when the Temperature crosses the passive trip point. |
---|
283 | | - |
---|
284 | 350 | config RCAR_THERMAL |
---|
285 | 351 | tristate "Renesas R-Car thermal driver" |
---|
286 | 352 | depends on ARCH_RENESAS || COMPILE_TEST |
---|
.. | .. |
---|
290 | 356 | thermal framework. |
---|
291 | 357 | |
---|
292 | 358 | config RCAR_GEN3_THERMAL |
---|
293 | | - tristate "Renesas R-Car Gen3 thermal driver" |
---|
| 359 | + tristate "Renesas R-Car Gen3 and RZ/G2 thermal driver" |
---|
294 | 360 | depends on ARCH_RENESAS || COMPILE_TEST |
---|
295 | 361 | depends on HAS_IOMEM |
---|
296 | 362 | depends on OF |
---|
297 | 363 | help |
---|
298 | | - Enable this to plug the R-Car Gen3 thermal sensor driver into the Linux |
---|
299 | | - thermal framework. |
---|
| 364 | + Enable this to plug the R-Car Gen3 or RZ/G2 thermal sensor driver into |
---|
| 365 | + the Linux thermal framework. |
---|
300 | 366 | |
---|
301 | 367 | config KIRKWOOD_THERMAL |
---|
302 | 368 | tristate "Temperature sensor on Marvell Kirkwood SoCs" |
---|
.. | .. |
---|
318 | 384 | |
---|
319 | 385 | config DB8500_THERMAL |
---|
320 | 386 | tristate "DB8500 thermal management" |
---|
321 | | - depends on MFD_DB8500_PRCMU |
---|
| 387 | + depends on MFD_DB8500_PRCMU && OF |
---|
322 | 388 | default y |
---|
323 | 389 | help |
---|
324 | 390 | Adds DB8500 thermal management implementation according to the thermal |
---|
.. | .. |
---|
345 | 411 | zone. |
---|
346 | 412 | Compatible with the DA9062 and DA9061 PMICs. |
---|
347 | 413 | |
---|
348 | | -config INTEL_POWERCLAMP |
---|
349 | | - tristate "Intel PowerClamp idle injection driver" |
---|
350 | | - depends on THERMAL |
---|
351 | | - depends on X86 |
---|
352 | | - depends on CPU_SUP_INTEL |
---|
353 | | - help |
---|
354 | | - Enable this to enable Intel PowerClamp idle injection driver. This |
---|
355 | | - enforce idle time which results in more package C-state residency. The |
---|
356 | | - user interface is exposed via generic thermal framework. |
---|
357 | | - |
---|
358 | | -config X86_PKG_TEMP_THERMAL |
---|
359 | | - tristate "X86 package temperature thermal driver" |
---|
360 | | - depends on X86_THERMAL_VECTOR |
---|
361 | | - select THERMAL_GOV_USER_SPACE |
---|
362 | | - select THERMAL_WRITABLE_TRIPS |
---|
363 | | - default m |
---|
364 | | - help |
---|
365 | | - Enable this to register CPU digital sensor for package temperature as |
---|
366 | | - thermal zone. Each package will have its own thermal zone. There are |
---|
367 | | - two trip points which can be set by user to get notifications via thermal |
---|
368 | | - notification methods. |
---|
369 | | - |
---|
370 | | -config INTEL_SOC_DTS_IOSF_CORE |
---|
371 | | - tristate |
---|
372 | | - depends on X86 && PCI |
---|
373 | | - select IOSF_MBI |
---|
374 | | - help |
---|
375 | | - This is becoming a common feature for Intel SoCs to expose the additional |
---|
376 | | - digital temperature sensors (DTSs) using side band interface (IOSF). This |
---|
377 | | - implements the common set of helper functions to register, get temperature |
---|
378 | | - and get/set thresholds on DTSs. |
---|
379 | | - |
---|
380 | | -config INTEL_SOC_DTS_THERMAL |
---|
381 | | - tristate "Intel SoCs DTS thermal driver" |
---|
382 | | - depends on X86 && PCI && ACPI |
---|
383 | | - select INTEL_SOC_DTS_IOSF_CORE |
---|
384 | | - select THERMAL_WRITABLE_TRIPS |
---|
385 | | - help |
---|
386 | | - Enable this to register Intel SoCs (e.g. Bay Trail) platform digital |
---|
387 | | - temperature sensor (DTS). These SoCs have two additional DTSs in |
---|
388 | | - addition to DTSs on CPU cores. Each DTS will be registered as a |
---|
389 | | - thermal zone. There are two trip points. One of the trip point can |
---|
390 | | - be set by user mode programs to get notifications via Linux thermal |
---|
391 | | - notification methods.The other trip is a critical trip point, which |
---|
392 | | - was set by the driver based on the TJ MAX temperature. |
---|
393 | | - |
---|
394 | | -config INTEL_QUARK_DTS_THERMAL |
---|
395 | | - tristate "Intel Quark DTS thermal driver" |
---|
396 | | - depends on X86_INTEL_QUARK |
---|
397 | | - help |
---|
398 | | - Enable this to register Intel Quark SoC (e.g. X1000) platform digital |
---|
399 | | - temperature sensor (DTS). For X1000 SoC, it has one on-die DTS. |
---|
400 | | - The DTS will be registered as a thermal zone. There are two trip points: |
---|
401 | | - hot & critical. The critical trip point default value is set by |
---|
402 | | - underlying BIOS/Firmware. |
---|
403 | | - |
---|
404 | | -menu "ACPI INT340X thermal drivers" |
---|
405 | | -source drivers/thermal/int340x_thermal/Kconfig |
---|
406 | | -endmenu |
---|
407 | | - |
---|
408 | | -config INTEL_BXT_PMIC_THERMAL |
---|
409 | | - tristate "Intel Broxton PMIC thermal driver" |
---|
410 | | - depends on X86 && INTEL_SOC_PMIC_BXTWC && REGMAP |
---|
411 | | - help |
---|
412 | | - Select this driver for Intel Broxton PMIC with ADC channels monitoring |
---|
413 | | - system temperature measurements and alerts. |
---|
414 | | - This driver is used for monitoring the ADC channels of PMIC and handles |
---|
415 | | - the alert trip point interrupts and notifies the thermal framework with |
---|
416 | | - the trip point and temperature details of the zone. |
---|
417 | | - |
---|
418 | | -config INTEL_PCH_THERMAL |
---|
419 | | - tristate "Intel PCH Thermal Reporting Driver" |
---|
420 | | - depends on X86 && PCI |
---|
421 | | - help |
---|
422 | | - Enable this to support thermal reporting on certain intel PCHs. |
---|
423 | | - Thermal reporting device will provide temperature reading, |
---|
424 | | - programmable trip points and other information. |
---|
425 | | - |
---|
426 | 414 | config MTK_THERMAL |
---|
427 | 415 | tristate "Temperature sensor driver for mediatek SoCs" |
---|
428 | 416 | depends on ARCH_MEDIATEK || COMPILE_TEST |
---|
.. | .. |
---|
434 | 422 | Enable this option if you want to have support for thermal management |
---|
435 | 423 | controller present in Mediatek SoCs |
---|
436 | 424 | |
---|
| 425 | +config AMLOGIC_THERMAL |
---|
| 426 | + tristate "Amlogic Thermal Support" |
---|
| 427 | + default ARCH_MESON |
---|
| 428 | + depends on OF && ARCH_MESON |
---|
| 429 | + help |
---|
| 430 | + If you say yes here you get support for Amlogic Thermal |
---|
| 431 | + for G12 SoC Family. |
---|
| 432 | + |
---|
| 433 | + This driver can also be built as a module. If so, the module will |
---|
| 434 | + be called amlogic_thermal. |
---|
| 435 | + |
---|
| 436 | +menu "Intel thermal drivers" |
---|
| 437 | +depends on X86 || X86_INTEL_QUARK || COMPILE_TEST |
---|
| 438 | +source "drivers/thermal/intel/Kconfig" |
---|
| 439 | +endmenu |
---|
| 440 | + |
---|
437 | 441 | menu "Broadcom thermal drivers" |
---|
438 | | -depends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || COMPILE_TEST |
---|
| 442 | +depends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM_IPROC || \ |
---|
| 443 | + COMPILE_TEST |
---|
439 | 444 | source "drivers/thermal/broadcom/Kconfig" |
---|
440 | 445 | endmenu |
---|
441 | 446 | |
---|
.. | .. |
---|
451 | 456 | endmenu |
---|
452 | 457 | |
---|
453 | 458 | menu "STMicroelectronics thermal drivers" |
---|
454 | | -depends on ARCH_STI && OF |
---|
| 459 | +depends on (ARCH_STI || ARCH_STM32) && OF |
---|
455 | 460 | source "drivers/thermal/st/Kconfig" |
---|
456 | 461 | endmenu |
---|
457 | 462 | |
---|
.. | .. |
---|
465 | 470 | the die temperature exceeds a programmable threshold. |
---|
466 | 471 | |
---|
467 | 472 | source "drivers/thermal/tegra/Kconfig" |
---|
468 | | - |
---|
469 | | -config QCOM_SPMI_TEMP_ALARM |
---|
470 | | - tristate "Qualcomm SPMI PMIC Temperature Alarm" |
---|
471 | | - depends on OF && SPMI && IIO |
---|
472 | | - select REGMAP_SPMI |
---|
473 | | - help |
---|
474 | | - This enables a thermal sysfs driver for Qualcomm plug-and-play (QPNP) |
---|
475 | | - PMIC devices. It shows up in sysfs as a thermal sensor with multiple |
---|
476 | | - trip points. The temperature reported by the thermal sensor reflects the |
---|
477 | | - real time die temperature if an ADC is present or an estimate of the |
---|
478 | | - temperature based upon the over temperature stage value. |
---|
479 | 473 | |
---|
480 | 474 | config GENERIC_ADC_THERMAL |
---|
481 | 475 | tristate "Generic ADC based thermal sensor" |
---|
.. | .. |
---|
508 | 502 | Enable this to plug in UniPhier on-chip PVT thermal driver into the |
---|
509 | 503 | thermal framework. The driver supports CPU thermal zone temperature |
---|
510 | 504 | reporting and a couple of trip points. |
---|
| 505 | + |
---|
| 506 | +config SPRD_THERMAL |
---|
| 507 | + tristate "Temperature sensor on Spreadtrum SoCs" |
---|
| 508 | + depends on ARCH_SPRD || COMPILE_TEST |
---|
| 509 | + help |
---|
| 510 | + Support for the Spreadtrum thermal sensor driver in the Linux thermal |
---|
| 511 | + framework. |
---|
| 512 | + |
---|
| 513 | +config KHADAS_MCU_FAN_THERMAL |
---|
| 514 | + tristate "Khadas MCU controller FAN cooling support" |
---|
| 515 | + depends on OF || COMPILE_TEST |
---|
| 516 | + depends on MFD_KHADAS_MCU |
---|
| 517 | + select MFD_CORE |
---|
| 518 | + select REGMAP |
---|
| 519 | + help |
---|
| 520 | + If you say yes here you get support for the FAN controlled |
---|
| 521 | + by the Microcontroller found on the Khadas VIM boards. |
---|
| 522 | + |
---|
511 | 523 | endif |
---|