2 # Generic thermal sysfs drivers configuration
6 bool "Generic Thermal sysfs driver"
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,
13 All platforms with ACPI thermal support can use this driver.
14 If you want this support, you should say Y here.
18 config THERMAL_STATISTICS
19 bool "Thermal state transition statistics"
21 Export thermal state transition statistics information through sysfs.
25 config THERMAL_EMERGENCY_POWEROFF_DELAY_MS
26 int "Emergency poweroff delay in milli-seconds"
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.
43 prompt "Expose thermal sensors as hwmon device"
44 depends on HWMON=y || HWMON=THERMAL
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.
52 Say 'Y' here if you want all thermal sensors to
53 have hwmon sysfs interface too.
57 prompt "APIs to parse thermal data out of device tree"
61 This options provides helpers to add the support to
62 read and parse thermal data definitions out of the
65 Say 'Y' here if you need to build thermal infrastructure
68 config THERMAL_WRITABLE_TRIPS
69 bool "Enable writable trip points"
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.
76 Say 'Y' here if you would like to allow userspace tools to
77 change trip temperatures.
80 prompt "Default Thermal governor"
81 default THERMAL_DEFAULT_GOV_STEP_WISE
83 This option sets which thermal governor shall be loaded at
84 startup. If in doubt, select 'step_wise'.
86 config THERMAL_DEFAULT_GOV_STEP_WISE
88 select THERMAL_GOV_STEP_WISE
90 Use the step_wise governor as default. This throttles the
91 devices one step at a time.
93 config THERMAL_DEFAULT_GOV_FAIR_SHARE
95 select THERMAL_GOV_FAIR_SHARE
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.
101 config THERMAL_DEFAULT_GOV_USER_SPACE
103 select THERMAL_GOV_USER_SPACE
105 Select this if you want to let the user space manage the
108 config THERMAL_DEFAULT_GOV_POWER_ALLOCATOR
109 bool "power_allocator"
110 select THERMAL_GOV_POWER_ALLOCATOR
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.
118 config THERMAL_GOV_FAIR_SHARE
119 bool "Fair-share thermal governor"
121 Enable this to manage platform thermals using fair-share governor.
123 config THERMAL_GOV_STEP_WISE
124 bool "Step_wise thermal governor"
126 Enable this to manage platform thermals using a simple linear
129 config THERMAL_GOV_BANG_BANG
130 bool "Bang Bang thermal governor"
133 Enable this to manage platform thermals using bang bang governor.
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).
139 config THERMAL_GOV_USER_SPACE
140 bool "User_space thermal governor"
142 Enable this to let the user space manage the platform thermals.
144 config THERMAL_GOV_POWER_ALLOCATOR
145 bool "Power allocator thermal governor"
147 Enable this to manage platform thermals by dynamically
148 allocating and limiting power to devices.
151 bool "Generic cpu cooling support"
153 depends on THERMAL_OF
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.
161 If you want this support, you should say Y here.
164 bool "Generic clock cooling support"
165 depends on COMMON_CLK
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.
173 config DEVFREQ_THERMAL
174 bool "Generic device cooling support"
175 depends on PM_DEVFREQ
178 This implements the generic devfreq cooling mechanism through
179 frequency reduction for devices using devfreq.
181 This will throttle the device by limiting the maximum allowed DVFS
182 frequency corresponding to the cooling level.
184 In order to use the power extensions of the cooling device,
185 devfreq should use the simple_ondemand governor.
187 If you want this support, you should say Y here.
189 config THERMAL_EMULATION
190 bool "Thermal emulation mode support"
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.
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.
202 tristate "Generic Thermal MMIO driver"
203 depends on OF || COMPILE_TEST
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
213 tristate "Hisilicon thermal driver"
214 depends on ARCH_HISI || COMPILE_TEST
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.
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
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.
235 config MAX77620_THERMAL
236 tristate "Temperature sensor driver for Maxim MAX77620 PMIC"
237 depends on MFD_MAX77620
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.
246 tristate "QorIQ Thermal Monitoring Unit"
247 depends on THERMAL_OF
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.
256 tristate "SPEAr thermal sensor driver"
257 depends on PLAT_SPEAR || COMPILE_TEST
261 Enable this to plug the SPEAr thermal sensor driver into the Linux
264 config ROCKCHIP_THERMAL
265 tristate "Rockchip thermal driver"
266 depends on ARCH_ROCKCHIP || COMPILE_TEST
267 depends on RESET_CONTROLLER
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.
276 tristate "Renesas R-Car thermal driver"
277 depends on ARCH_RENESAS || COMPILE_TEST
280 Enable this to plug the R-Car thermal sensor driver into the Linux
283 config RCAR_GEN3_THERMAL
284 tristate "Renesas R-Car Gen3 thermal driver"
285 depends on ARCH_RENESAS || COMPILE_TEST
289 Enable this to plug the R-Car Gen3 thermal sensor driver into the Linux
292 config KIRKWOOD_THERMAL
293 tristate "Temperature sensor on Marvell Kirkwood SoCs"
294 depends on MACH_KIRKWOOD || COMPILE_TEST
298 Support for the Kirkwood thermal sensor driver into the Linux thermal
299 framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
302 tristate "Temperature sensor on Marvell Dove SoCs"
303 depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST
307 Support for the Dove thermal sensor driver in the Linux thermal
310 config DB8500_THERMAL
311 tristate "DB8500 thermal management"
312 depends on MFD_DB8500_PRCMU
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.
320 config ARMADA_THERMAL
321 tristate "Marvell EBU Armada SoCs thermal management"
322 depends on ARCH_MVEBU || COMPILE_TEST
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).
329 config DA9062_THERMAL
330 tristate "DA9062/DA9061 Dialog Semiconductor thermal driver"
331 depends on MFD_DA9062 || COMPILE_TEST
334 Enable this for the Dialog Semiconductor thermal sensor driver.
335 This will report PMIC junction over-temperature for one thermal trip
337 Compatible with the DA9062 and DA9061 PMICs.
340 tristate "Temperature sensor driver for mediatek SoCs"
341 depends on ARCH_MEDIATEK || COMPILE_TEST
343 depends on NVMEM || NVMEM=n
344 depends on RESET_CONTROLLER
347 Enable this option if you want to have support for thermal management
348 controller present in Mediatek SoCs
350 menu "Intel thermal drivers"
351 depends on X86 || X86_INTEL_QUARK || COMPILE_TEST
352 source "drivers/thermal/intel/Kconfig"
355 menu "Broadcom thermal drivers"
356 depends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM_IPROC || \
358 source "drivers/thermal/broadcom/Kconfig"
361 menu "Texas Instruments thermal drivers"
362 depends on ARCH_HAS_BANDGAP || COMPILE_TEST
364 source "drivers/thermal/ti-soc-thermal/Kconfig"
367 menu "Samsung thermal drivers"
368 depends on ARCH_EXYNOS || COMPILE_TEST
369 source "drivers/thermal/samsung/Kconfig"
372 menu "STMicroelectronics thermal drivers"
373 depends on (ARCH_STI || ARCH_STM32) && OF
374 source "drivers/thermal/st/Kconfig"
378 tristate "Tango thermal management"
379 depends on ARCH_TANGO || COMPILE_TEST
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.
386 source "drivers/thermal/tegra/Kconfig"
388 config GENERIC_ADC_THERMAL
389 tristate "Generic ADC based thermal sensor"
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.
398 menu "Qualcomm thermal drivers"
399 depends on (ARCH_QCOM && OF) || COMPILE_TEST
400 source "drivers/thermal/qcom/Kconfig"
403 config ZX2967_THERMAL
404 tristate "Thermal sensors on zx2967 SoC"
405 depends on ARCH_ZX || COMPILE_TEST
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.
411 config UNIPHIER_THERMAL
412 tristate "Socionext UniPhier thermal driver"
413 depends on ARCH_UNIPHIER || COMPILE_TEST
414 depends on THERMAL_OF && MFD_SYSCON
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.