]>
Commit | Line | Data |
---|---|---|
203d3d4a ZR |
1 | # |
2 | # Generic thermal sysfs drivers configuration | |
3 | # | |
4 | ||
5 | menuconfig THERMAL | |
63c4ec90 | 6 | tristate "Generic Thermal sysfs driver" |
203d3d4a ZR |
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. | |
543a9561 | 11 | Each thermal zone contains its own temperature, trip points, |
203d3d4a ZR |
12 | cooling devices. |
13 | All platforms with ACPI thermal support can use this driver. | |
63c4ec90 | 14 | If you want this support, you should say Y or M here. |
16d75239 | 15 | |
72e19897 ZR |
16 | if THERMAL |
17 | ||
ef1d87e0 K |
18 | config THERMAL_EMERGENCY_POWEROFF_DELAY_MS |
19 | int "Emergency poweroff delay in milli-seconds" | |
20 | depends on THERMAL | |
21 | default 0 | |
22 | help | |
23 | Thermal subsystem will issue a graceful shutdown when | |
24 | critical temperatures are reached using orderly_poweroff(). In | |
25 | case of failure of an orderly_poweroff(), the thermal emergency | |
26 | poweroff kicks in after a delay has elapsed and shuts down the system. | |
27 | This config is number of milliseconds to delay before emergency | |
28 | poweroff kicks in. Similarly to the critical trip point, | |
29 | the delay should be carefully profiled so as to give adequate | |
30 | time for orderly_poweroff() to finish on regular execution. | |
31 | If set to 0 emergency poweroff will not be supported. | |
32 | ||
33 | In doubt, leave as 0. | |
34 | ||
16d75239 | 35 | config THERMAL_HWMON |
ab92402a | 36 | bool |
0dd88793 | 37 | prompt "Expose thermal sensors as hwmon device" |
16d75239 | 38 | depends on HWMON=y || HWMON=THERMAL |
ab92402a | 39 | default y |
0dd88793 EV |
40 | help |
41 | In case a sensor is registered with the thermal | |
42 | framework, this option will also register it | |
43 | as a hwmon. The sensor will then have the common | |
44 | hwmon sysfs interface. | |
45 | ||
46 | Say 'Y' here if you want all thermal sensors to | |
47 | have hwmon sysfs interface too. | |
6a92c366 | 48 | |
4e5e4705 EV |
49 | config THERMAL_OF |
50 | bool | |
51 | prompt "APIs to parse thermal data out of device tree" | |
52 | depends on OF | |
53 | default y | |
54 | help | |
55 | This options provides helpers to add the support to | |
56 | read and parse thermal data definitions out of the | |
57 | device tree blob. | |
58 | ||
59 | Say 'Y' here if you need to build thermal infrastructure | |
60 | based on device tree. | |
61 | ||
35e94644 PA |
62 | config THERMAL_WRITABLE_TRIPS |
63 | bool "Enable writable trip points" | |
64 | help | |
65 | This option allows the system integrator to choose whether | |
66 | trip temperatures can be changed from userspace. The | |
67 | writable trips need to be specified when setting up the | |
68 | thermal zone but the choice here takes precedence. | |
69 | ||
70 | Say 'Y' here if you would like to allow userspace tools to | |
71 | change trip temperatures. | |
72 | ||
72e19897 ZR |
73 | choice |
74 | prompt "Default Thermal governor" | |
75 | default THERMAL_DEFAULT_GOV_STEP_WISE | |
76 | help | |
77 | This option sets which thermal governor shall be loaded at | |
78 | startup. If in doubt, select 'step_wise'. | |
79 | ||
80 | config THERMAL_DEFAULT_GOV_STEP_WISE | |
81 | bool "step_wise" | |
9d185d04 | 82 | select THERMAL_GOV_STEP_WISE |
72e19897 ZR |
83 | help |
84 | Use the step_wise governor as default. This throttles the | |
85 | devices one step at a time. | |
86 | ||
87 | config THERMAL_DEFAULT_GOV_FAIR_SHARE | |
88 | bool "fair_share" | |
9d185d04 | 89 | select THERMAL_GOV_FAIR_SHARE |
72e19897 ZR |
90 | help |
91 | Use the fair_share governor as default. This throttles the | |
92 | devices based on their 'contribution' to a zone. The | |
93 | contribution should be provided through platform data. | |
94 | ||
95 | config THERMAL_DEFAULT_GOV_USER_SPACE | |
96 | bool "user_space" | |
9d185d04 | 97 | select THERMAL_GOV_USER_SPACE |
72e19897 ZR |
98 | help |
99 | Select this if you want to let the user space manage the | |
ece238fe | 100 | platform thermals. |
72e19897 | 101 | |
6b775e87 JM |
102 | config THERMAL_DEFAULT_GOV_POWER_ALLOCATOR |
103 | bool "power_allocator" | |
104 | select THERMAL_GOV_POWER_ALLOCATOR | |
105 | help | |
106 | Select this if you want to control temperature based on | |
107 | system and device power allocation. This governor can only | |
108 | operate on cooling devices that implement the power API. | |
109 | ||
72e19897 ZR |
110 | endchoice |
111 | ||
9d185d04 | 112 | config THERMAL_GOV_FAIR_SHARE |
72e19897 ZR |
113 | bool "Fair-share thermal governor" |
114 | help | |
115 | Enable this to manage platform thermals using fair-share governor. | |
116 | ||
9d185d04 | 117 | config THERMAL_GOV_STEP_WISE |
72e19897 ZR |
118 | bool "Step_wise thermal governor" |
119 | help | |
120 | Enable this to manage platform thermals using a simple linear | |
a8227948 | 121 | governor. |
72e19897 | 122 | |
e4dbf98f PF |
123 | config THERMAL_GOV_BANG_BANG |
124 | bool "Bang Bang thermal governor" | |
125 | default n | |
126 | help | |
127 | Enable this to manage platform thermals using bang bang governor. | |
128 | ||
129 | Say 'Y' here if you want to use two point temperature regulation | |
130 | used for fans without throttling. Some fan drivers depend on this | |
131 | governor to be enabled (e.g. acerhdf). | |
132 | ||
9d185d04 | 133 | config THERMAL_GOV_USER_SPACE |
72e19897 ZR |
134 | bool "User_space thermal governor" |
135 | help | |
136 | Enable this to let the user space manage the platform thermals. | |
137 | ||
6b775e87 JM |
138 | config THERMAL_GOV_POWER_ALLOCATOR |
139 | bool "Power allocator thermal governor" | |
6b775e87 JM |
140 | help |
141 | Enable this to manage platform thermals by dynamically | |
142 | allocating and limiting power to devices. | |
143 | ||
02361418 | 144 | config CPU_THERMAL |
bbf7fc88 | 145 | bool "generic cpu cooling support" |
72e19897 | 146 | depends on CPU_FREQ |
39d99cff | 147 | depends on THERMAL_OF |
02361418 ADK |
148 | help |
149 | This implements the generic cpu cooling mechanism through frequency | |
f7188b3d EV |
150 | reduction. An ACPI version of this already exists |
151 | (drivers/acpi/processor_thermal.c). | |
02361418 ADK |
152 | This will be useful for platforms using the generic thermal interface |
153 | and not the ACPI interface. | |
f7188b3d | 154 | |
02361418 ADK |
155 | If you want this support, you should say Y here. |
156 | ||
f9df89d8 EV |
157 | config CLOCK_THERMAL |
158 | bool "Generic clock cooling support" | |
159 | depends on COMMON_CLK | |
160 | depends on PM_OPP | |
161 | help | |
162 | This entry implements the generic clock cooling mechanism through | |
163 | frequency clipping. Typically used to cool off co-processors. The | |
164 | device that is configured to use this cooling mechanism will be | |
165 | controlled to reduce clock frequency whenever temperature is high. | |
166 | ||
a76caf55 ØE |
167 | config DEVFREQ_THERMAL |
168 | bool "Generic device cooling support" | |
169 | depends on PM_DEVFREQ | |
170 | depends on PM_OPP | |
171 | help | |
172 | This implements the generic devfreq cooling mechanism through | |
173 | frequency reduction for devices using devfreq. | |
174 | ||
175 | This will throttle the device by limiting the maximum allowed DVFS | |
176 | frequency corresponding to the cooling level. | |
177 | ||
178 | In order to use the power extensions of the cooling device, | |
179 | devfreq should use the simple_ondemand governor. | |
180 | ||
f9df89d8 EV |
181 | If you want this support, you should say Y here. |
182 | ||
e6e238c3 ADK |
183 | config THERMAL_EMULATION |
184 | bool "Thermal emulation mode support" | |
185 | help | |
186 | Enable this option to make a emul_temp sysfs node in thermal zone | |
187 | directory to support temperature emulation. With emulation sysfs node, | |
188 | user can manually input temperature and test the different trip | |
189 | threshold behaviour for simulation purpose. | |
190 | ||
8837295a EV |
191 | WARNING: Be careful while enabling this option on production systems, |
192 | because userland can easily disable the thermal policy by simply | |
193 | flooding this sysfs node with low temperature values. | |
194 | ||
9a5238a9 | 195 | config HISI_THERMAL |
196 | tristate "Hisilicon thermal driver" | |
f05f4821 | 197 | depends on ARCH_HISI || COMPILE_TEST |
bf82c350 | 198 | depends on HAS_IOMEM |
f05f4821 LY |
199 | depends on OF |
200 | default y | |
9a5238a9 | 201 | help |
202 | Enable this to plug hisilicon's thermal sensor driver into the Linux | |
203 | thermal framework. cpufreq is used as the cooling device to throttle | |
204 | CPUs when the passive trip is crossed. | |
205 | ||
ca3de46b SG |
206 | config IMX_THERMAL |
207 | tristate "Temperature sensor driver for Freescale i.MX SoCs" | |
eea6a364 | 208 | depends on (ARCH_MXC && CPU_THERMAL) || COMPILE_TEST |
ca3de46b SG |
209 | depends on MFD_SYSCON |
210 | depends on OF | |
211 | help | |
212 | Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs. | |
213 | It supports one critical trip point and one passive trip point. The | |
214 | cpufreq is used as the cooling device to throttle CPUs when the | |
215 | passive trip is crossed. | |
216 | ||
ec4664b3 LD |
217 | config MAX77620_THERMAL |
218 | tristate "Temperature sensor driver for Maxim MAX77620 PMIC" | |
219 | depends on MFD_MAX77620 | |
220 | depends on OF | |
221 | help | |
222 | Support for die junction temperature warning alarm for Maxim | |
223 | Semiconductor PMIC MAX77620 device. Device generates two alarm | |
224 | interrupts when PMIC die temperature cross the threshold of | |
225 | 120 degC and 140 degC. | |
226 | ||
43528445 JH |
227 | config QORIQ_THERMAL |
228 | tristate "QorIQ Thermal Monitoring Unit" | |
229 | depends on THERMAL_OF | |
230 | depends on HAS_IOMEM | |
231 | help | |
232 | Support for Thermal Monitoring Unit (TMU) found on QorIQ platforms. | |
233 | It supports one critical trip point and one passive trip point. The | |
234 | cpufreq is used as the cooling device to throttle CPUs when the | |
235 | passive trip is crossed. | |
236 | ||
6a92c366 | 237 | config SPEAR_THERMAL |
4d2f1794 | 238 | tristate "SPEAr thermal sensor driver" |
aa2937b7 | 239 | depends on PLAT_SPEAR || COMPILE_TEST |
bf82c350 | 240 | depends on HAS_IOMEM |
b9c7aff4 | 241 | depends on OF |
6a92c366 VF |
242 | help |
243 | Enable this to plug the SPEAr thermal sensor driver into the Linux | |
a8227948 | 244 | thermal framework. |
1e426ffd | 245 | |
cbac8f63 CW |
246 | config ROCKCHIP_THERMAL |
247 | tristate "Rockchip thermal driver" | |
444f9b00 | 248 | depends on ARCH_ROCKCHIP || COMPILE_TEST |
cbac8f63 | 249 | depends on RESET_CONTROLLER |
bf82c350 | 250 | depends on HAS_IOMEM |
cbac8f63 CW |
251 | help |
252 | Rockchip thermal driver provides support for Temperature sensor | |
253 | ADC (TS-ADC) found on Rockchip SoCs. It supports one critical | |
254 | trip point. Cpufreq is used as the cooling device and will throttle | |
255 | CPUs when the Temperature crosses the passive trip point. | |
256 | ||
1e426ffd KM |
257 | config RCAR_THERMAL |
258 | tristate "Renesas R-Car thermal driver" | |
8255e4e2 | 259 | depends on ARCH_RENESAS || COMPILE_TEST |
d1c8b041 | 260 | depends on HAS_IOMEM |
1e426ffd KM |
261 | help |
262 | Enable this to plug the R-Car thermal sensor driver into the Linux | |
a8227948 | 263 | thermal framework. |
c48cbba6 | 264 | |
564e73d2 WS |
265 | config RCAR_GEN3_THERMAL |
266 | tristate "Renesas R-Car Gen3 thermal driver" | |
267 | depends on ARCH_RENESAS || COMPILE_TEST | |
268 | depends on HAS_IOMEM | |
269 | depends on OF | |
270 | help | |
271 | Enable this to plug the R-Car Gen3 thermal sensor driver into the Linux | |
272 | thermal framework. | |
273 | ||
7060aa36 NI |
274 | config KIRKWOOD_THERMAL |
275 | tristate "Temperature sensor on Marvell Kirkwood SoCs" | |
9c8aa959 | 276 | depends on MACH_KIRKWOOD || COMPILE_TEST |
bf82c350 | 277 | depends on HAS_IOMEM |
7060aa36 NI |
278 | depends on OF |
279 | help | |
280 | Support for the Kirkwood thermal sensor driver into the Linux thermal | |
281 | framework. Only kirkwood 88F6282 and 88F6283 have this sensor. | |
282 | ||
74ffa64c AL |
283 | config DOVE_THERMAL |
284 | tristate "Temperature sensor on Marvell Dove SoCs" | |
07fffd5c | 285 | depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST |
bf82c350 | 286 | depends on HAS_IOMEM |
74ffa64c AL |
287 | depends on OF |
288 | help | |
289 | Support for the Dove thermal sensor driver in the Linux thermal | |
290 | framework. | |
291 | ||
aa1acb04 | 292 | config DB8500_THERMAL |
26716ce1 AB |
293 | tristate "DB8500 thermal management" |
294 | depends on MFD_DB8500_PRCMU | |
aa1acb04 | 295 | default y |
296 | help | |
297 | Adds DB8500 thermal management implementation according to the thermal | |
298 | management framework. A thermal zone with several trip points will be | |
299 | created. Cooling devices can be bound to the trip points to cool this | |
300 | thermal zone if trip points reached. | |
301 | ||
fa0d654c EG |
302 | config ARMADA_THERMAL |
303 | tristate "Armada 370/XP thermal management" | |
1b158267 | 304 | depends on ARCH_MVEBU || COMPILE_TEST |
bf82c350 | 305 | depends on HAS_IOMEM |
fa0d654c EG |
306 | depends on OF |
307 | help | |
308 | Enable this option if you want to have support for thermal management | |
309 | controller present in Armada 370 and Armada XP SoC. | |
310 | ||
608567aa ST |
311 | config DA9062_THERMAL |
312 | tristate "DA9062/DA9061 Dialog Semiconductor thermal driver" | |
313 | depends on MFD_DA9062 || COMPILE_TEST | |
314 | depends on OF | |
315 | help | |
316 | Enable this for the Dialog Semiconductor thermal sensor driver. | |
317 | This will report PMIC junction over-temperature for one thermal trip | |
318 | zone. | |
319 | Compatible with the DA9062 and DA9061 PMICs. | |
320 | ||
d6d71ee4 JP |
321 | config INTEL_POWERCLAMP |
322 | tristate "Intel PowerClamp idle injection driver" | |
323 | depends on THERMAL | |
324 | depends on X86 | |
325 | depends on CPU_SUP_INTEL | |
326 | help | |
327 | Enable this to enable Intel PowerClamp idle injection driver. This | |
328 | enforce idle time which results in more package C-state residency. The | |
329 | user interface is exposed via generic thermal framework. | |
330 | ||
f1a18a10 SP |
331 | config X86_PKG_TEMP_THERMAL |
332 | tristate "X86 package temperature thermal driver" | |
b3ba0206 | 333 | depends on X86_THERMAL_VECTOR |
f1a18a10 | 334 | select THERMAL_GOV_USER_SPACE |
98cadf25 | 335 | select THERMAL_WRITABLE_TRIPS |
f1a18a10 SP |
336 | default m |
337 | help | |
338 | Enable this to register CPU digital sensor for package temperature as | |
339 | thermal zone. Each package will have its own thermal zone. There are | |
340 | two trip points which can be set by user to get notifications via thermal | |
341 | notification methods. | |
342 | ||
ee073604 SP |
343 | config INTEL_SOC_DTS_IOSF_CORE |
344 | tristate | |
68fd77cf | 345 | depends on X86 && PCI |
ee073604 SP |
346 | select IOSF_MBI |
347 | help | |
348 | This is becoming a common feature for Intel SoCs to expose the additional | |
349 | digital temperature sensors (DTSs) using side band interface (IOSF). This | |
350 | implements the common set of helper functions to register, get temperature | |
351 | and get/set thresholds on DTSs. | |
352 | ||
bc40b5e3 SP |
353 | config INTEL_SOC_DTS_THERMAL |
354 | tristate "Intel SoCs DTS thermal driver" | |
68fd77cf | 355 | depends on X86 && PCI |
3a2419f8 | 356 | select INTEL_SOC_DTS_IOSF_CORE |
98cadf25 | 357 | select THERMAL_WRITABLE_TRIPS |
bc40b5e3 SP |
358 | help |
359 | Enable this to register Intel SoCs (e.g. Bay Trail) platform digital | |
360 | temperature sensor (DTS). These SoCs have two additional DTSs in | |
361 | addition to DTSs on CPU cores. Each DTS will be registered as a | |
362 | thermal zone. There are two trip points. One of the trip point can | |
363 | be set by user mode programs to get notifications via Linux thermal | |
364 | notification methods.The other trip is a critical trip point, which | |
365 | was set by the driver based on the TJ MAX temperature. | |
366 | ||
8c187693 OBL |
367 | config INTEL_QUARK_DTS_THERMAL |
368 | tristate "Intel Quark DTS thermal driver" | |
369 | depends on X86_INTEL_QUARK | |
370 | help | |
371 | Enable this to register Intel Quark SoC (e.g. X1000) platform digital | |
372 | temperature sensor (DTS). For X1000 SoC, it has one on-die DTS. | |
373 | The DTS will be registered as a thermal zone. There are two trip points: | |
374 | hot & critical. The critical trip point default value is set by | |
375 | underlying BIOS/Firmware. | |
376 | ||
a3c89334 AL |
377 | menu "ACPI INT340X thermal drivers" |
378 | source drivers/thermal/int340x_thermal/Kconfig | |
379 | endmenu | |
52b1c69d | 380 | |
b474303f BG |
381 | config INTEL_BXT_PMIC_THERMAL |
382 | tristate "Intel Broxton PMIC thermal driver" | |
b5238b41 | 383 | depends on X86 && INTEL_SOC_PMIC_BXTWC && REGMAP |
b474303f BG |
384 | help |
385 | Select this driver for Intel Broxton PMIC with ADC channels monitoring | |
386 | system temperature measurements and alerts. | |
387 | This driver is used for monitoring the ADC channels of PMIC and handles | |
388 | the alert trip point interrupts and notifies the thermal framework with | |
389 | the trip point and temperature details of the zone. | |
390 | ||
d0a12625 TD |
391 | config INTEL_PCH_THERMAL |
392 | tristate "Intel PCH Thermal Reporting Driver" | |
393 | depends on X86 && PCI | |
394 | help | |
395 | Enable this to support thermal reporting on certain intel PCHs. | |
396 | Thermal reporting device will provide temperature reading, | |
397 | programmable trip points and other information. | |
398 | ||
a92db1c8 SH |
399 | config MTK_THERMAL |
400 | tristate "Temperature sensor driver for mediatek SoCs" | |
401 | depends on ARCH_MEDIATEK || COMPILE_TEST | |
74e5053c | 402 | depends on HAS_IOMEM |
62e14f6f | 403 | depends on NVMEM || NVMEM=n |
a6f4850d | 404 | depends on RESET_CONTROLLER |
a92db1c8 SH |
405 | default y |
406 | help | |
407 | Enable this option if you want to have support for thermal management | |
408 | controller present in Mediatek SoCs | |
409 | ||
a94cb7ee RM |
410 | menu "Broadcom thermal drivers" |
411 | depends on ARCH_BCM || COMPILE_TEST | |
412 | source "drivers/thermal/broadcom/Kconfig" | |
413 | endmenu | |
414 | ||
eb982001 | 415 | menu "Texas Instruments thermal drivers" |
ec2feb47 | 416 | depends on ARCH_HAS_BANDGAP || COMPILE_TEST |
bf82c350 | 417 | depends on HAS_IOMEM |
eb982001 EV |
418 | source "drivers/thermal/ti-soc-thermal/Kconfig" |
419 | endmenu | |
f157f596 | 420 | |
c6821378 | 421 | menu "Samsung thermal drivers" |
2bf42735 | 422 | depends on ARCH_EXYNOS || COMPILE_TEST |
c6821378 ADK |
423 | source "drivers/thermal/samsung/Kconfig" |
424 | endmenu | |
425 | ||
60aef7ce LJ |
426 | menu "STMicroelectronics thermal drivers" |
427 | depends on ARCH_STI && OF | |
428 | source "drivers/thermal/st/Kconfig" | |
429 | endmenu | |
430 | ||
0b58c08b MG |
431 | config TANGO_THERMAL |
432 | tristate "Tango thermal management" | |
433 | depends on ARCH_TANGO || COMPILE_TEST | |
434 | help | |
435 | Enable the Tango thermal driver, which supports the primitive | |
436 | temperature sensor embedded in Tango chips since the SMP8758. | |
437 | This sensor only generates a 1-bit signal to indicate whether | |
438 | the die temperature exceeds a programmable threshold. | |
439 | ||
a4dff94f WN |
440 | source "drivers/thermal/tegra/Kconfig" |
441 | ||
c610afaa II |
442 | config QCOM_SPMI_TEMP_ALARM |
443 | tristate "Qualcomm SPMI PMIC Temperature Alarm" | |
e4217468 | 444 | depends on OF && SPMI && IIO |
c610afaa II |
445 | select REGMAP_SPMI |
446 | help | |
447 | This enables a thermal sysfs driver for Qualcomm plug-and-play (QPNP) | |
448 | PMIC devices. It shows up in sysfs as a thermal sensor with multiple | |
449 | trip points. The temperature reported by the thermal sensor reflects the | |
450 | real time die temperature if an ADC is present or an estimate of the | |
451 | temperature based upon the over temperature stage value. | |
452 | ||
b3aef78f LD |
453 | config GENERIC_ADC_THERMAL |
454 | tristate "Generic ADC based thermal sensor" | |
455 | depends on IIO | |
456 | help | |
457 | This enabled a thermal sysfs driver for the temperature sensor | |
458 | which is connected to the General Purpose ADC. The ADC channel | |
459 | is read via IIO framework and the channel information is provided | |
460 | to this driver. This driver reports the temperature by reading ADC | |
461 | channel and converts it to temperature based on lookup table. | |
462 | ||
9066073c RN |
463 | menu "Qualcomm thermal drivers" |
464 | depends on (ARCH_QCOM && OF) || COMPILE_TEST | |
465 | source "drivers/thermal/qcom/Kconfig" | |
466 | endmenu | |
467 | ||
50fdd36f BX |
468 | config ZX2967_THERMAL |
469 | tristate "Thermal sensors on zx2967 SoC" | |
470 | depends on ARCH_ZX || COMPILE_TEST | |
471 | help | |
472 | Enable the zx2967 thermal sensors driver, which supports | |
473 | the primitive temperature sensor embedded in zx2967 SoCs. | |
474 | This sensor generates the real time die temperature. | |
475 | ||
86da4391 KH |
476 | config UNIPHIER_THERMAL |
477 | tristate "Socionext UniPhier thermal driver" | |
478 | depends on ARCH_UNIPHIER || COMPILE_TEST | |
479 | depends on THERMAL_OF && MFD_SYSCON | |
480 | help | |
481 | Enable this to plug in UniPhier on-chip PVT thermal driver into the | |
482 | thermal framework. The driver supports CPU thermal zone temperature | |
483 | reporting and a couple of trip points. | |
72e19897 | 484 | endif |