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