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 |
9a5238a9 | 181 | help |
182 | Enable this to plug hisilicon's thermal sensor driver into the Linux | |
183 | thermal framework. cpufreq is used as the cooling device to throttle | |
184 | CPUs when the passive trip is crossed. | |
185 | ||
ca3de46b SG |
186 | config IMX_THERMAL |
187 | tristate "Temperature sensor driver for Freescale i.MX SoCs" | |
188 | depends on CPU_THERMAL | |
189 | depends on MFD_SYSCON | |
190 | depends on OF | |
191 | help | |
192 | Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs. | |
193 | It supports one critical trip point and one passive trip point. The | |
194 | cpufreq is used as the cooling device to throttle CPUs when the | |
195 | passive trip is crossed. | |
196 | ||
6a92c366 VF |
197 | config SPEAR_THERMAL |
198 | bool "SPEAr thermal sensor driver" | |
aa2937b7 | 199 | depends on PLAT_SPEAR || COMPILE_TEST |
b9c7aff4 | 200 | depends on OF |
6a92c366 VF |
201 | help |
202 | Enable this to plug the SPEAr thermal sensor driver into the Linux | |
a8227948 | 203 | thermal framework. |
1e426ffd | 204 | |
cbac8f63 CW |
205 | config ROCKCHIP_THERMAL |
206 | tristate "Rockchip thermal driver" | |
444f9b00 | 207 | depends on ARCH_ROCKCHIP || COMPILE_TEST |
cbac8f63 CW |
208 | depends on RESET_CONTROLLER |
209 | help | |
210 | Rockchip thermal driver provides support for Temperature sensor | |
211 | ADC (TS-ADC) found on Rockchip SoCs. It supports one critical | |
212 | trip point. Cpufreq is used as the cooling device and will throttle | |
213 | CPUs when the Temperature crosses the passive trip point. | |
214 | ||
1e426ffd KM |
215 | config RCAR_THERMAL |
216 | tristate "Renesas R-Car thermal driver" | |
beeb5a1e | 217 | depends on ARCH_SHMOBILE || COMPILE_TEST |
d1c8b041 | 218 | depends on HAS_IOMEM |
1e426ffd KM |
219 | help |
220 | Enable this to plug the R-Car thermal sensor driver into the Linux | |
a8227948 | 221 | thermal framework. |
c48cbba6 | 222 | |
7060aa36 NI |
223 | config KIRKWOOD_THERMAL |
224 | tristate "Temperature sensor on Marvell Kirkwood SoCs" | |
9c8aa959 | 225 | depends on MACH_KIRKWOOD || COMPILE_TEST |
7060aa36 NI |
226 | depends on OF |
227 | help | |
228 | Support for the Kirkwood thermal sensor driver into the Linux thermal | |
229 | framework. Only kirkwood 88F6282 and 88F6283 have this sensor. | |
230 | ||
74ffa64c AL |
231 | config DOVE_THERMAL |
232 | tristate "Temperature sensor on Marvell Dove SoCs" | |
07fffd5c | 233 | depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST |
74ffa64c AL |
234 | depends on OF |
235 | help | |
236 | Support for the Dove thermal sensor driver in the Linux thermal | |
237 | framework. | |
238 | ||
aa1acb04 | 239 | config DB8500_THERMAL |
240 | bool "DB8500 thermal management" | |
241 | depends on ARCH_U8500 | |
242 | default y | |
243 | help | |
244 | Adds DB8500 thermal management implementation according to the thermal | |
245 | management framework. A thermal zone with several trip points will be | |
246 | created. Cooling devices can be bound to the trip points to cool this | |
247 | thermal zone if trip points reached. | |
248 | ||
fa0d654c EG |
249 | config ARMADA_THERMAL |
250 | tristate "Armada 370/XP thermal management" | |
1b158267 | 251 | depends on ARCH_MVEBU || COMPILE_TEST |
fa0d654c EG |
252 | depends on OF |
253 | help | |
254 | Enable this option if you want to have support for thermal management | |
255 | controller present in Armada 370 and Armada XP SoC. | |
256 | ||
66fb8480 MP |
257 | config TEGRA_SOCTHERM |
258 | tristate "Tegra SOCTHERM thermal management" | |
259 | depends on ARCH_TEGRA | |
260 | help | |
261 | Enable this option for integrated thermal management support on NVIDIA | |
262 | Tegra124 systems-on-chip. The driver supports four thermal zones | |
263 | (CPU, GPU, MEM, PLLX). Cooling devices can be bound to the thermal | |
264 | zones to manage temperatures. This option is also required for the | |
265 | emergency thermal reset (thermtrip) feature to function. | |
266 | ||
aa1acb04 | 267 | config DB8500_CPUFREQ_COOLING |
268 | tristate "DB8500 cpufreq cooling" | |
269 | depends on ARCH_U8500 | |
270 | depends on CPU_THERMAL | |
271 | default y | |
272 | help | |
273 | Adds DB8500 cpufreq cooling devices, and these cooling devices can be | |
274 | bound to thermal zone trip points. When a trip point reached, the | |
275 | bound cpufreq cooling device turns active to set CPU frequency low to | |
276 | cool down the CPU. | |
a56757af | 277 | |
d6d71ee4 JP |
278 | config INTEL_POWERCLAMP |
279 | tristate "Intel PowerClamp idle injection driver" | |
280 | depends on THERMAL | |
281 | depends on X86 | |
282 | depends on CPU_SUP_INTEL | |
283 | help | |
284 | Enable this to enable Intel PowerClamp idle injection driver. This | |
285 | enforce idle time which results in more package C-state residency. The | |
286 | user interface is exposed via generic thermal framework. | |
287 | ||
f1a18a10 SP |
288 | config X86_PKG_TEMP_THERMAL |
289 | tristate "X86 package temperature thermal driver" | |
b3ba0206 | 290 | depends on X86_THERMAL_VECTOR |
f1a18a10 | 291 | select THERMAL_GOV_USER_SPACE |
98cadf25 | 292 | select THERMAL_WRITABLE_TRIPS |
f1a18a10 SP |
293 | default m |
294 | help | |
295 | Enable this to register CPU digital sensor for package temperature as | |
296 | thermal zone. Each package will have its own thermal zone. There are | |
297 | two trip points which can be set by user to get notifications via thermal | |
298 | notification methods. | |
299 | ||
ee073604 SP |
300 | config INTEL_SOC_DTS_IOSF_CORE |
301 | tristate | |
302 | depends on X86 | |
303 | select IOSF_MBI | |
304 | help | |
305 | This is becoming a common feature for Intel SoCs to expose the additional | |
306 | digital temperature sensors (DTSs) using side band interface (IOSF). This | |
307 | implements the common set of helper functions to register, get temperature | |
308 | and get/set thresholds on DTSs. | |
309 | ||
bc40b5e3 SP |
310 | config INTEL_SOC_DTS_THERMAL |
311 | tristate "Intel SoCs DTS thermal driver" | |
3a2419f8 SP |
312 | depends on X86 |
313 | select INTEL_SOC_DTS_IOSF_CORE | |
98cadf25 | 314 | select THERMAL_WRITABLE_TRIPS |
bc40b5e3 SP |
315 | help |
316 | Enable this to register Intel SoCs (e.g. Bay Trail) platform digital | |
317 | temperature sensor (DTS). These SoCs have two additional DTSs in | |
318 | addition to DTSs on CPU cores. Each DTS will be registered as a | |
319 | thermal zone. There are two trip points. One of the trip point can | |
320 | be set by user mode programs to get notifications via Linux thermal | |
321 | notification methods.The other trip is a critical trip point, which | |
322 | was set by the driver based on the TJ MAX temperature. | |
323 | ||
8c187693 OBL |
324 | config INTEL_QUARK_DTS_THERMAL |
325 | tristate "Intel Quark DTS thermal driver" | |
326 | depends on X86_INTEL_QUARK | |
327 | help | |
328 | Enable this to register Intel Quark SoC (e.g. X1000) platform digital | |
329 | temperature sensor (DTS). For X1000 SoC, it has one on-die DTS. | |
330 | The DTS will be registered as a thermal zone. There are two trip points: | |
331 | hot & critical. The critical trip point default value is set by | |
332 | underlying BIOS/Firmware. | |
333 | ||
3230bbfc | 334 | config INT340X_THERMAL |
816cab93 | 335 | tristate "ACPI INT340X thermal drivers" |
3230bbfc | 336 | depends on X86 && ACPI |
0ab15365 | 337 | select THERMAL_GOV_USER_SPACE |
52b1c69d | 338 | select ACPI_THERMAL_REL |
d8054749 | 339 | select ACPI_FAN |
4d0dd6c1 | 340 | select INTEL_SOC_DTS_IOSF_CORE |
98cadf25 | 341 | select THERMAL_WRITABLE_TRIPS |
3230bbfc ZR |
342 | help |
343 | Newer laptops and tablets that use ACPI may have thermal sensors and | |
344 | other devices with thermal control capabilities outside the core | |
345 | CPU/SOC, for thermal safety reasons. | |
346 | They are exposed for the OS to use via the INT3400 ACPI device object | |
347 | as the master, and INT3401~INT340B ACPI device objects as the slaves. | |
348 | Enable this to expose the temperature information and cooling ability | |
349 | from these objects to userspace via the normal thermal framework. | |
350 | This means that a wide range of applications and GUI widgets can show | |
351 | the information to the user or use this information for making | |
352 | decisions. For example, the Intel Thermal Daemon can use this | |
353 | information to allow the user to select his laptop to run without | |
354 | turning on the fans. | |
355 | ||
52b1c69d JP |
356 | config ACPI_THERMAL_REL |
357 | tristate | |
358 | depends on ACPI | |
359 | ||
d0a12625 TD |
360 | config INTEL_PCH_THERMAL |
361 | tristate "Intel PCH Thermal Reporting Driver" | |
362 | depends on X86 && PCI | |
363 | help | |
364 | Enable this to support thermal reporting on certain intel PCHs. | |
365 | Thermal reporting device will provide temperature reading, | |
366 | programmable trip points and other information. | |
367 | ||
eb982001 | 368 | menu "Texas Instruments thermal drivers" |
ec2feb47 | 369 | depends on ARCH_HAS_BANDGAP || COMPILE_TEST |
eb982001 EV |
370 | source "drivers/thermal/ti-soc-thermal/Kconfig" |
371 | endmenu | |
f157f596 | 372 | |
c6821378 | 373 | menu "Samsung thermal drivers" |
2bf42735 | 374 | depends on ARCH_EXYNOS || COMPILE_TEST |
c6821378 ADK |
375 | source "drivers/thermal/samsung/Kconfig" |
376 | endmenu | |
377 | ||
60aef7ce LJ |
378 | menu "STMicroelectronics thermal drivers" |
379 | depends on ARCH_STI && OF | |
380 | source "drivers/thermal/st/Kconfig" | |
381 | endmenu | |
382 | ||
c610afaa II |
383 | config QCOM_SPMI_TEMP_ALARM |
384 | tristate "Qualcomm SPMI PMIC Temperature Alarm" | |
e4217468 | 385 | depends on OF && SPMI && IIO |
c610afaa II |
386 | select REGMAP_SPMI |
387 | help | |
388 | This enables a thermal sysfs driver for Qualcomm plug-and-play (QPNP) | |
389 | PMIC devices. It shows up in sysfs as a thermal sensor with multiple | |
390 | trip points. The temperature reported by the thermal sensor reflects the | |
391 | real time die temperature if an ADC is present or an estimate of the | |
392 | temperature based upon the over temperature stage value. | |
393 | ||
72e19897 | 394 | endif |