xref: /linux/drivers/thermal/Kconfig (revision 60675d4ca1ef0857e44eba5849b74a3a998d0c0f)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2203d3d4aSZhang Rui#
3eb850462SLinus Walleij# Generic thermal drivers configuration
4203d3d4aSZhang Rui#
5203d3d4aSZhang Rui
6203d3d4aSZhang Ruimenuconfig THERMAL
7eb850462SLinus Walleij	bool "Thermal drivers"
8203d3d4aSZhang Rui	help
9eb850462SLinus Walleij	  Thermal drivers offer a generic mechanism for
10203d3d4aSZhang Rui	  thermal management. Usually it's made up of one or more thermal
11eb850462SLinus Walleij	  zones and cooling devices.
12543a9561SLen Brown	  Each thermal zone contains its own temperature, trip points,
13eb850462SLinus Walleij	  and cooling devices.
14eb850462SLinus Walleij	  All platforms with ACPI or Open Firmware thermal support can use
15eb850462SLinus Walleij	  this driver.
16554b3529SDaniel Lezcano	  If you want this support, you should say Y here.
1716d75239SRene Herman
1872e19897SZhang Ruiif THERMAL
1972e19897SZhang Rui
205b8583d3SDaniel Lezcanoconfig THERMAL_NETLINK
215b8583d3SDaniel Lezcano	bool "Thermal netlink management"
225b8583d3SDaniel Lezcano	depends on NET
235b8583d3SDaniel Lezcano	help
245b8583d3SDaniel Lezcano	  The thermal framework has a netlink interface to do thermal
255b8583d3SDaniel Lezcano	  zones discovery, temperature readings and events such as
265b8583d3SDaniel Lezcano	  trip point crossed, cooling device update or governor
275b8583d3SDaniel Lezcano	  change. It is recommended to enable the feature.
285b8583d3SDaniel Lezcano
298ea22951SViresh Kumarconfig THERMAL_STATISTICS
308ea22951SViresh Kumar	bool "Thermal state transition statistics"
318ea22951SViresh Kumar	help
328ea22951SViresh Kumar	  Export thermal state transition statistics information through sysfs.
338ea22951SViresh Kumar
348ea22951SViresh Kumar	  If in doubt, say N.
358ea22951SViresh Kumar
36755113d7SDaniel Lezcanoconfig THERMAL_DEBUGFS
37755113d7SDaniel Lezcano	bool "Thermal subsystem debug support"
38755113d7SDaniel Lezcano	depends on DEBUG_FS
39755113d7SDaniel Lezcano	help
40755113d7SDaniel Lezcano	  Say Y to allow the thermal subsystem to collect diagnostic
41755113d7SDaniel Lezcano	  information that can be accessed via debugfs.
42755113d7SDaniel Lezcano
43f6a034f2SRafael J. Wysockiconfig THERMAL_CORE_TESTING
44f6a034f2SRafael J. Wysocki	tristate "Thermal core testing facility"
45f6a034f2SRafael J. Wysocki	depends on DEBUG_FS
46f6a034f2SRafael J. Wysocki	help
47f6a034f2SRafael J. Wysocki	  Say Y to add a debugfs-based thermal core testing facility.
48f6a034f2SRafael J. Wysocki	  It allows test thermal zones to be created and populated
49f6a034f2SRafael J. Wysocki	  with trip points in order to exercise the thermal core
50f6a034f2SRafael J. Wysocki	  functionality in a controlled way.
51f6a034f2SRafael J. Wysocki
52ef1d87e0SKeerthyconfig THERMAL_EMERGENCY_POWEROFF_DELAY_MS
53ef1d87e0SKeerthy	int "Emergency poweroff delay in milli-seconds"
54ef1d87e0SKeerthy	default 0
55ef1d87e0SKeerthy	help
56ef1d87e0SKeerthy	  Thermal subsystem will issue a graceful shutdown when
57ef1d87e0SKeerthy	  critical temperatures are reached using orderly_poweroff(). In
58ef1d87e0SKeerthy	  case of failure of an orderly_poweroff(), the thermal emergency
59ef1d87e0SKeerthy	  poweroff kicks in after a delay has elapsed and shuts down the system.
60ef1d87e0SKeerthy	  This config is number of milliseconds to delay before emergency
61ef1d87e0SKeerthy	  poweroff kicks in. Similarly to the critical trip point,
62ef1d87e0SKeerthy	  the delay should be carefully profiled so as to give adequate
63ef1d87e0SKeerthy	  time for orderly_poweroff() to finish on regular execution.
64ef1d87e0SKeerthy	  If set to 0 emergency poweroff will not be supported.
65ef1d87e0SKeerthy
66ef1d87e0SKeerthy	  In doubt, leave as 0.
67ef1d87e0SKeerthy
6816d75239SRene Hermanconfig THERMAL_HWMON
69ab92402aSJean Delvare	bool
700dd88793SEduardo Valentin	prompt "Expose thermal sensors as hwmon device"
7116d75239SRene Herman	depends on HWMON=y || HWMON=THERMAL
72ab92402aSJean Delvare	default y
730dd88793SEduardo Valentin	help
740dd88793SEduardo Valentin	  In case a sensor is registered with the thermal
750dd88793SEduardo Valentin	  framework, this option will also register it
760dd88793SEduardo Valentin	  as a hwmon. The sensor will then have the common
770dd88793SEduardo Valentin	  hwmon sysfs interface.
780dd88793SEduardo Valentin
790dd88793SEduardo Valentin	  Say 'Y' here if you want all thermal sensors to
800dd88793SEduardo Valentin	  have hwmon sysfs interface too.
816a92c366SVincenzo Frascino
824e5e4705SEduardo Valentinconfig THERMAL_OF
834e5e4705SEduardo Valentin	bool
844e5e4705SEduardo Valentin	prompt "APIs to parse thermal data out of device tree"
854e5e4705SEduardo Valentin	depends on OF
864e5e4705SEduardo Valentin	default y
874e5e4705SEduardo Valentin	help
884e5e4705SEduardo Valentin	  This options provides helpers to add the support to
894e5e4705SEduardo Valentin	  read and parse thermal data definitions out of the
904e5e4705SEduardo Valentin	  device tree blob.
914e5e4705SEduardo Valentin
924e5e4705SEduardo Valentin	  Say 'Y' here if you need to build thermal infrastructure
934e5e4705SEduardo Valentin	  based on device tree.
944e5e4705SEduardo Valentin
95a56757afSDurgadoss Rchoice
96a56757afSDurgadoss R	prompt "Default Thermal governor"
97a56757afSDurgadoss R	default THERMAL_DEFAULT_GOV_STEP_WISE
98a56757afSDurgadoss R	help
99a56757afSDurgadoss R	  This option sets which thermal governor shall be loaded at
100a56757afSDurgadoss R	  startup. If in doubt, select 'step_wise'.
101a56757afSDurgadoss R
102a56757afSDurgadoss Rconfig THERMAL_DEFAULT_GOV_STEP_WISE
103a56757afSDurgadoss R	bool "step_wise"
1049d185d04SZhang Rui	select THERMAL_GOV_STEP_WISE
105a56757afSDurgadoss R	help
106a56757afSDurgadoss R	  Use the step_wise governor as default. This throttles the
107a56757afSDurgadoss R	  devices one step at a time.
108a56757afSDurgadoss R
109a56757afSDurgadoss Rconfig THERMAL_DEFAULT_GOV_FAIR_SHARE
110a56757afSDurgadoss R	bool "fair_share"
1119d185d04SZhang Rui	select THERMAL_GOV_FAIR_SHARE
112a56757afSDurgadoss R	help
113a56757afSDurgadoss R	  Use the fair_share governor as default. This throttles the
114a56757afSDurgadoss R	  devices based on their 'contribution' to a zone. The
115a56757afSDurgadoss R	  contribution should be provided through platform data.
116a56757afSDurgadoss R
117a56757afSDurgadoss Rconfig THERMAL_DEFAULT_GOV_USER_SPACE
118a56757afSDurgadoss R	bool "user_space"
1199d185d04SZhang Rui	select THERMAL_GOV_USER_SPACE
120a56757afSDurgadoss R	help
121fa1ef24aSDaniel Lezcano	  The Userspace governor allows to get trip point crossed
122fa1ef24aSDaniel Lezcano	  notification from the kernel via uevents. It is recommended
123fa1ef24aSDaniel Lezcano	  to use the netlink interface instead which gives richer
124fa1ef24aSDaniel Lezcano	  information about the thermal framework events.
12572e19897SZhang Rui
1266b775e87SJavi Merinoconfig THERMAL_DEFAULT_GOV_POWER_ALLOCATOR
1276b775e87SJavi Merino	bool "power_allocator"
12850260614SYueHaibing	depends on THERMAL_GOV_POWER_ALLOCATOR
1296b775e87SJavi Merino	help
1306b775e87SJavi Merino	  Select this if you want to control temperature based on
1316b775e87SJavi Merino	  system and device power allocation. This governor can only
1326b775e87SJavi Merino	  operate on cooling devices that implement the power API.
1336b775e87SJavi Merino
13404bf1fe4SThierry Redingconfig THERMAL_DEFAULT_GOV_BANG_BANG
13504bf1fe4SThierry Reding	bool "bang_bang"
13604bf1fe4SThierry Reding	depends on THERMAL_GOV_BANG_BANG
13704bf1fe4SThierry Reding	help
13804bf1fe4SThierry Reding	  Use the bang_bang governor as default. This throttles the
13904bf1fe4SThierry Reding	  devices one step at the time, taking into account the trip
14004bf1fe4SThierry Reding	  point hysteresis.
14104bf1fe4SThierry Reding
142a56757afSDurgadoss Rendchoice
14372e19897SZhang Rui
1449d185d04SZhang Ruiconfig THERMAL_GOV_FAIR_SHARE
14572e19897SZhang Rui	bool "Fair-share thermal governor"
14672e19897SZhang Rui	help
14772e19897SZhang Rui	  Enable this to manage platform thermals using fair-share governor.
14872e19897SZhang Rui
1499d185d04SZhang Ruiconfig THERMAL_GOV_STEP_WISE
15072e19897SZhang Rui	bool "Step_wise thermal governor"
15172e19897SZhang Rui	help
15272e19897SZhang Rui	  Enable this to manage platform thermals using a simple linear
153a8227948SLuka Perkov	  governor.
15472e19897SZhang Rui
155e4dbf98fSPeter Feuererconfig THERMAL_GOV_BANG_BANG
156e4dbf98fSPeter Feuerer	bool "Bang Bang thermal governor"
157e4dbf98fSPeter Feuerer	default n
158e4dbf98fSPeter Feuerer	help
159e4dbf98fSPeter Feuerer	  Enable this to manage platform thermals using bang bang governor.
160e4dbf98fSPeter Feuerer
161e4dbf98fSPeter Feuerer	  Say 'Y' here if you want to use two point temperature regulation
162e4dbf98fSPeter Feuerer	  used for fans without throttling.  Some fan drivers depend on this
163e4dbf98fSPeter Feuerer	  governor to be enabled (e.g. acerhdf).
164e4dbf98fSPeter Feuerer
1659d185d04SZhang Ruiconfig THERMAL_GOV_USER_SPACE
16672e19897SZhang Rui	bool "User_space thermal governor"
16772e19897SZhang Rui	help
16872e19897SZhang Rui	  Enable this to let the user space manage the platform thermals.
16972e19897SZhang Rui
1706b775e87SJavi Merinoconfig THERMAL_GOV_POWER_ALLOCATOR
1716b775e87SJavi Merino	bool "Power allocator thermal governor"
172a4e893e8SQuentin Perret	depends on ENERGY_MODEL
1736b775e87SJavi Merino	help
1746b775e87SJavi Merino	  Enable this to manage platform thermals by dynamically
1756b775e87SJavi Merino	  allocating and limiting power to devices.
1766b775e87SJavi Merino
17772e19897SZhang Ruiconfig CPU_THERMAL
1782e31c856SDaniel Lezcano	bool "Generic cpu cooling support"
17939d99cffSEduardo Valentin	depends on THERMAL_OF
18072e19897SZhang Rui	help
1812b586feaSDaniel Lezcano	  Enable the CPU cooling features. If the system has no active
1822b586feaSDaniel Lezcano	  cooling device available, this option allows to use the CPU
1832b586feaSDaniel Lezcano	  as a cooling device.
1842b586feaSDaniel Lezcano
1852b586feaSDaniel Lezcanoif CPU_THERMAL
1862b586feaSDaniel Lezcano
1872b586feaSDaniel Lezcanoconfig CPU_FREQ_THERMAL
1882b586feaSDaniel Lezcano	bool "CPU frequency cooling device"
1892b586feaSDaniel Lezcano	depends on CPU_FREQ
1902b586feaSDaniel Lezcano	default y
1912b586feaSDaniel Lezcano	help
19272e19897SZhang Rui	  This implements the generic cpu cooling mechanism through frequency
193f7188b3dSEduardo Valentin	  reduction. An ACPI version of this already exists
194f7188b3dSEduardo Valentin	  (drivers/acpi/processor_thermal.c).
19572e19897SZhang Rui	  This will be useful for platforms using the generic thermal interface
19672e19897SZhang Rui	  and not the ACPI interface.
197f7188b3dSEduardo Valentin
198a4c428e5SDaniel Lezcanoconfig CPU_IDLE_THERMAL
199a4c428e5SDaniel Lezcano	bool "CPU idle cooling device"
200a4c428e5SDaniel Lezcano	depends on IDLE_INJECT
201a4c428e5SDaniel Lezcano	help
202a4c428e5SDaniel Lezcano	  This implements the CPU cooling mechanism through
203a4c428e5SDaniel Lezcano	  idle injection. This will throttle the CPU by injecting
204a4c428e5SDaniel Lezcano	  idle cycle.
2052b586feaSDaniel Lezcanoendif
20672e19897SZhang Rui
207a76caf55SØrjan Eideconfig DEVFREQ_THERMAL
208a76caf55SØrjan Eide	bool "Generic device cooling support"
209a76caf55SØrjan Eide	depends on PM_DEVFREQ
210a76caf55SØrjan Eide	depends on PM_OPP
211a76caf55SØrjan Eide	help
212a76caf55SØrjan Eide	  This implements the generic devfreq cooling mechanism through
213a76caf55SØrjan Eide	  frequency reduction for devices using devfreq.
214a76caf55SØrjan Eide
215a76caf55SØrjan Eide	  This will throttle the device by limiting the maximum allowed DVFS
216a76caf55SØrjan Eide	  frequency corresponding to the cooling level.
217a76caf55SØrjan Eide
218a76caf55SØrjan Eide	  In order to use the power extensions of the cooling device,
219a76caf55SØrjan Eide	  devfreq should use the simple_ondemand governor.
220a76caf55SØrjan Eide
221f9df89d8SEduardo Valentin	  If you want this support, you should say Y here.
222f9df89d8SEduardo Valentin
223*d278b098SIlpo Järvinenconfig PCIE_THERMAL
224*d278b098SIlpo Järvinen	bool "PCIe cooling support"
225*d278b098SIlpo Järvinen	depends on PCIEPORTBUS
226*d278b098SIlpo Järvinen	help
227*d278b098SIlpo Järvinen	  This implements PCIe cooling mechanism through bandwidth reduction
228*d278b098SIlpo Järvinen	  for PCIe devices.
229*d278b098SIlpo Järvinen
230*d278b098SIlpo Järvinen	  If you want this support, you should say Y here.
231*d278b098SIlpo Järvinen
232e6e238c3SAmit Daniel Kachhapconfig THERMAL_EMULATION
233e6e238c3SAmit Daniel Kachhap	bool "Thermal emulation mode support"
234e6e238c3SAmit Daniel Kachhap	help
235e6e238c3SAmit Daniel Kachhap	  Enable this option to make a emul_temp sysfs node in thermal zone
236e6e238c3SAmit Daniel Kachhap	  directory to support temperature emulation. With emulation sysfs node,
237e6e238c3SAmit Daniel Kachhap	  user can manually input temperature and test the different trip
238e6e238c3SAmit Daniel Kachhap	  threshold behaviour for simulation purpose.
239e6e238c3SAmit Daniel Kachhap
2408837295aSEduardo Valentin	  WARNING: Be careful while enabling this option on production systems,
2418837295aSEduardo Valentin	  because userland can easily disable the thermal policy by simply
2428837295aSEduardo Valentin	  flooding this sysfs node with low temperature values.
2438837295aSEduardo Valentin
24471aa3693STalel Shenharconfig THERMAL_MMIO
24571aa3693STalel Shenhar	tristate "Generic Thermal MMIO driver"
2468df4ef3eSJean Delvare	depends on OF
2476ec8070bSTalel Shenhar	depends on HAS_IOMEM
24871aa3693STalel Shenhar	help
24971aa3693STalel Shenhar	  This option enables the generic thermal MMIO driver that will use
25071aa3693STalel Shenhar	  memory-mapped reads to get the temperature.  Any HW/System that
25171aa3693STalel Shenhar	  allows temperature reading by a single memory-mapped reading, be it
25271aa3693STalel Shenhar	  register or shared memory, is a potential candidate to work with this
25371aa3693STalel Shenhar	  driver.
25471aa3693STalel Shenhar
2559a5238a9Skongxinweiconfig HISI_THERMAL
2569a5238a9Skongxinwei	tristate "Hisilicon thermal driver"
257f05f4821SLeo Yan	depends on ARCH_HISI || COMPILE_TEST
258bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
259f05f4821SLeo Yan	depends on OF
260f05f4821SLeo Yan	default y
2619a5238a9Skongxinwei	help
2629a5238a9Skongxinwei	  Enable this to plug hisilicon's thermal sensor driver into the Linux
2639a5238a9Skongxinwei	  thermal framework. cpufreq is used as the cooling device to throttle
2649a5238a9Skongxinwei	  CPUs when the passive trip is crossed.
2659a5238a9Skongxinwei
266ca3de46bSShawn Guoconfig IMX_THERMAL
267ca3de46bSShawn Guo	tristate "Temperature sensor driver for Freescale i.MX SoCs"
268c589c566SAnson Huang	depends on ARCH_MXC || COMPILE_TEST
269531fcdebSArnd Bergmann	depends on NVMEM || !NVMEM
270ca3de46bSShawn Guo	depends on MFD_SYSCON
271ca3de46bSShawn Guo	depends on OF
272ca3de46bSShawn Guo	help
273ca3de46bSShawn Guo	  Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
274ca3de46bSShawn Guo	  It supports one critical trip point and one passive trip point.  The
275ca3de46bSShawn Guo	  cpufreq is used as the cooling device to throttle CPUs when the
276ca3de46bSShawn Guo	  passive trip is crossed.
277ca3de46bSShawn Guo
278e20db70dSAnson Huangconfig IMX_SC_THERMAL
279e20db70dSAnson Huang	tristate "Temperature sensor driver for NXP i.MX SoCs with System Controller"
280ef502fc1SAnson Huang	depends on IMX_SCU
281e20db70dSAnson Huang	depends on OF
282e20db70dSAnson Huang	help
283e20db70dSAnson Huang	  Support for Temperature Monitor (TEMPMON) found on NXP i.MX SoCs with
284e20db70dSAnson Huang	  system controller inside, Linux kernel has to communicate with system
285e20db70dSAnson Huang	  controller via MU (message unit) IPC to get temperature from thermal
286e20db70dSAnson Huang	  sensor. It supports one critical trip point and one
287e20db70dSAnson Huang	  passive trip point for each thermal sensor.
288e20db70dSAnson Huang
2895eed800aSAnson Huangconfig IMX8MM_THERMAL
2905eed800aSAnson Huang	tristate "Temperature sensor driver for Freescale i.MX8MM SoC"
29152cbc58bSAnson Huang	depends on ARCH_MXC || COMPILE_TEST
2925eed800aSAnson Huang	depends on OF
2935eed800aSAnson Huang	help
2945eed800aSAnson Huang	  Support for Thermal Monitoring Unit (TMU) found on Freescale i.MX8MM SoC.
2955eed800aSAnson Huang	  It supports one critical trip point and one passive trip point. The
2965eed800aSAnson Huang	  cpufreq is used as the cooling device to throttle CPUs when the passive
2975eed800aSAnson Huang	  trip is crossed.
2985eed800aSAnson Huang
29948b2bce8SKeerthyconfig K3_THERMAL
30048b2bce8SKeerthy	tristate "Texas Instruments K3 thermal support"
30148b2bce8SKeerthy	depends on ARCH_K3 || COMPILE_TEST
30248b2bce8SKeerthy	help
30348b2bce8SKeerthy	  If you say yes here you get thermal support for the Texas Instruments
30448b2bce8SKeerthy	  K3 SoC family. The current chip supported is:
30548b2bce8SKeerthy	  - AM654
30648b2bce8SKeerthy
30748b2bce8SKeerthy	  This includes temperature reading functionality.
30848b2bce8SKeerthy
309ec4664b3SLaxman Dewanganconfig MAX77620_THERMAL
310ec4664b3SLaxman Dewangan	tristate "Temperature sensor driver for Maxim MAX77620 PMIC"
311ec4664b3SLaxman Dewangan	depends on MFD_MAX77620
312ec4664b3SLaxman Dewangan	depends on OF
313ec4664b3SLaxman Dewangan	help
314ec4664b3SLaxman Dewangan	  Support for die junction temperature warning alarm for Maxim
315ec4664b3SLaxman Dewangan	  Semiconductor PMIC MAX77620 device. Device generates two alarm
316ec4664b3SLaxman Dewangan	  interrupts when PMIC die temperature cross the threshold of
317ec4664b3SLaxman Dewangan	  120 degC and 140 degC.
318ec4664b3SLaxman Dewangan
31943528445SJia Hongtaoconfig QORIQ_THERMAL
32043528445SJia Hongtao	tristate "QorIQ Thermal Monitoring Unit"
3211ab20c0eSGeert Uytterhoeven	depends on THERMAL_OF && HAS_IOMEM
3221ab20c0eSGeert Uytterhoeven	depends on PPC_E500MC || SOC_LS1021A || ARCH_LAYERSCAPE || (ARCH_MXC && ARM64) || COMPILE_TEST
323cbe259fdSYuantian Tang	select REGMAP_MMIO
32443528445SJia Hongtao	help
32543528445SJia Hongtao	  Support for Thermal Monitoring Unit (TMU) found on QorIQ platforms.
32643528445SJia Hongtao	  It supports one critical trip point and one passive trip point. The
32743528445SJia Hongtao	  cpufreq is used as the cooling device to throttle CPUs when the
32843528445SJia Hongtao	  passive trip is crossed.
32943528445SJia Hongtao
33072e19897SZhang Ruiconfig SPEAR_THERMAL
3314d2f1794SArnd Bergmann	tristate "SPEAr thermal sensor driver"
332aa2937b7SEduardo Valentin	depends on PLAT_SPEAR || COMPILE_TEST
333bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
33472e19897SZhang Rui	depends on OF
33572e19897SZhang Rui	help
33672e19897SZhang Rui	  Enable this to plug the SPEAr thermal sensor driver into the Linux
337a8227948SLuka Perkov	  thermal framework.
33872e19897SZhang Rui
339dccc5c3bSYangtao Liconfig SUN8I_THERMAL
340dccc5c3bSYangtao Li	tristate "Allwinner sun8i thermal driver"
341dccc5c3bSYangtao Li	depends on ARCH_SUNXI || COMPILE_TEST
342dccc5c3bSYangtao Li	depends on HAS_IOMEM
343dccc5c3bSYangtao Li	depends on NVMEM
344dccc5c3bSYangtao Li	depends on OF
345dccc5c3bSYangtao Li	depends on RESET_CONTROLLER
346dccc5c3bSYangtao Li	help
347dccc5c3bSYangtao Li	  Support for the sun8i thermal sensor driver into the Linux thermal
348dccc5c3bSYangtao Li	  framework.
349dccc5c3bSYangtao Li
350dccc5c3bSYangtao Li	  To compile this driver as a module, choose M here: the
351dccc5c3bSYangtao Li	  module will be called sun8i-thermal.
352dccc5c3bSYangtao Li
353cbac8f63SCaesar Wangconfig ROCKCHIP_THERMAL
354cbac8f63SCaesar Wang	tristate "Rockchip thermal driver"
355444f9b00SEduardo Valentin	depends on ARCH_ROCKCHIP || COMPILE_TEST
356cbac8f63SCaesar Wang	depends on RESET_CONTROLLER
357bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
358cbac8f63SCaesar Wang	help
359cbac8f63SCaesar Wang	  Rockchip thermal driver provides support for Temperature sensor
360cbac8f63SCaesar Wang	  ADC (TS-ADC) found on Rockchip SoCs. It supports one critical
361cbac8f63SCaesar Wang	  trip point. Cpufreq is used as the cooling device and will throttle
362cbac8f63SCaesar Wang	  CPUs when the Temperature crosses the passive trip point.
363cbac8f63SCaesar Wang
3647060aa36SNobuhiro Iwamatsuconfig KIRKWOOD_THERMAL
3657060aa36SNobuhiro Iwamatsu	tristate "Temperature sensor on Marvell Kirkwood SoCs"
3669c8aa959SEduardo Valentin	depends on MACH_KIRKWOOD || COMPILE_TEST
367bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
3687060aa36SNobuhiro Iwamatsu	depends on OF
3697060aa36SNobuhiro Iwamatsu	help
3707060aa36SNobuhiro Iwamatsu	  Support for the Kirkwood thermal sensor driver into the Linux thermal
3717060aa36SNobuhiro Iwamatsu	  framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
3727060aa36SNobuhiro Iwamatsu
37374ffa64cSAndrew Lunnconfig DOVE_THERMAL
37474ffa64cSAndrew Lunn	tristate "Temperature sensor on Marvell Dove SoCs"
37507fffd5cSEduardo Valentin	depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST
376bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
37774ffa64cSAndrew Lunn	depends on OF
37874ffa64cSAndrew Lunn	help
37974ffa64cSAndrew Lunn	  Support for the Dove thermal sensor driver in the Linux thermal
38074ffa64cSAndrew Lunn	  framework.
38174ffa64cSAndrew Lunn
382aa1acb04Shongbo.zhangconfig DB8500_THERMAL
38326716ce1SArnd Bergmann	tristate "DB8500 thermal management"
384cb063a83SLinus Walleij	depends on MFD_DB8500_PRCMU && OF
385aa1acb04Shongbo.zhang	default y
386aa1acb04Shongbo.zhang	help
387aa1acb04Shongbo.zhang	  Adds DB8500 thermal management implementation according to the thermal
388aa1acb04Shongbo.zhang	  management framework. A thermal zone with several trip points will be
389aa1acb04Shongbo.zhang	  created. Cooling devices can be bound to the trip points to cool this
390aa1acb04Shongbo.zhang	  thermal zone if trip points reached.
391aa1acb04Shongbo.zhang
392fa0d654cSEzequiel Garciaconfig ARMADA_THERMAL
393a9d58a1aSMiquel Raynal	tristate "Marvell EBU Armada SoCs thermal management"
3941b158267SEduardo Valentin	depends on ARCH_MVEBU || COMPILE_TEST
395bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
396fa0d654cSEzequiel Garcia	depends on OF
397fa0d654cSEzequiel Garcia	help
398fa0d654cSEzequiel Garcia	  Enable this option if you want to have support for thermal management
399a9d58a1aSMiquel Raynal	  controller present in Marvell EBU Armada SoCs (370,375,XP,38x,7K,8K).
400fa0d654cSEzequiel Garcia
401608567aaSSteve Twissconfig DA9062_THERMAL
402608567aaSSteve Twiss	tristate "DA9062/DA9061 Dialog Semiconductor thermal driver"
403608567aaSSteve Twiss	depends on MFD_DA9062 || COMPILE_TEST
404608567aaSSteve Twiss	depends on OF
405608567aaSSteve Twiss	help
406608567aaSSteve Twiss	  Enable this for the Dialog Semiconductor thermal sensor driver.
407608567aaSSteve Twiss	  This will report PMIC junction over-temperature for one thermal trip
408608567aaSSteve Twiss	  zone.
409608567aaSSteve Twiss	  Compatible with the DA9062 and DA9061 PMICs.
410608567aaSSteve Twiss
411fad399ebSBalsam CHIHImenu "Mediatek thermal drivers"
412a92db1c8SSascha Hauerdepends on ARCH_MEDIATEK || COMPILE_TEST
413fad399ebSBalsam CHIHIsource "drivers/thermal/mediatek/Kconfig"
414fad399ebSBalsam CHIHIendmenu
415a92db1c8SSascha Hauer
416421eda10SGuillaume La Roqueconfig AMLOGIC_THERMAL
417421eda10SGuillaume La Roque	tristate "Amlogic Thermal Support"
418421eda10SGuillaume La Roque	default ARCH_MESON
419421eda10SGuillaume La Roque	depends on OF && ARCH_MESON
420421eda10SGuillaume La Roque	help
421421eda10SGuillaume La Roque	  If you say yes here you get support for Amlogic Thermal
422421eda10SGuillaume La Roque	  for G12 SoC Family.
423421eda10SGuillaume La Roque
424421eda10SGuillaume La Roque	  This driver can also be built as a module. If so, the module will
425421eda10SGuillaume La Roque	  be called amlogic_thermal.
426421eda10SGuillaume La Roque
4273e8c4d31SAmit Kucheriamenu "Intel thermal drivers"
4283e8c4d31SAmit Kucheriadepends on X86 || X86_INTEL_QUARK || COMPILE_TEST
4293e8c4d31SAmit Kucheriasource "drivers/thermal/intel/Kconfig"
4303e8c4d31SAmit Kucheriaendmenu
4313e8c4d31SAmit Kucheria
432a94cb7eeSRafał Miłeckimenu "Broadcom thermal drivers"
433250e2110SPramod Kumardepends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM_IPROC || \
434250e2110SPramod Kumar		COMPILE_TEST
435a94cb7eeSRafał Miłeckisource "drivers/thermal/broadcom/Kconfig"
436a94cb7eeSRafał Miłeckiendmenu
437a94cb7eeSRafał Miłecki
438eb982001SEduardo Valentinmenu "Texas Instruments thermal drivers"
439ec2feb47SEduardo Valentindepends on ARCH_HAS_BANDGAP || COMPILE_TEST
440bf82c350SKrzysztof Kozlowskidepends on HAS_IOMEM
441eb982001SEduardo Valentinsource "drivers/thermal/ti-soc-thermal/Kconfig"
442eb982001SEduardo Valentinendmenu
443f157f596SZhang Rui
444c6821378SAmit Daniel Kachhapmenu "Samsung thermal drivers"
4452bf42735SEduardo Valentindepends on ARCH_EXYNOS || COMPILE_TEST
446c6821378SAmit Daniel Kachhapsource "drivers/thermal/samsung/Kconfig"
447c6821378SAmit Daniel Kachhapendmenu
448c6821378SAmit Daniel Kachhap
44960aef7ceSLee Jonesmenu "STMicroelectronics thermal drivers"
4508e12f1f8SRaphael Gallais-Poudepends on (ARCH_STI || ARCH_STM32) && THERMAL_OF
45160aef7ceSLee Jonessource "drivers/thermal/st/Kconfig"
45260aef7ceSLee Jonesendmenu
45360aef7ceSLee Jones
4549d617949SNiklas Söderlundsource "drivers/thermal/renesas/Kconfig"
4559d617949SNiklas Söderlund
456a4dff94fSWei Nisource "drivers/thermal/tegra/Kconfig"
457a4dff94fSWei Ni
458b3aef78fSLaxman Dewanganconfig GENERIC_ADC_THERMAL
459b3aef78fSLaxman Dewangan	tristate "Generic ADC based thermal sensor"
460b3aef78fSLaxman Dewangan	depends on IIO
461b3aef78fSLaxman Dewangan	help
462b3aef78fSLaxman Dewangan	  This enabled a thermal sysfs driver for the temperature sensor
463b3aef78fSLaxman Dewangan	  which is connected to the General Purpose ADC. The ADC channel
464b3aef78fSLaxman Dewangan	  is read via IIO framework and the channel information is provided
465b3aef78fSLaxman Dewangan	  to this driver. This driver reports the temperature by reading ADC
466b3aef78fSLaxman Dewangan	  channel and converts it to temperature based on lookup table.
467b3aef78fSLaxman Dewangan
4689066073cSRajendra Nayakmenu "Qualcomm thermal drivers"
4699066073cSRajendra Nayakdepends on (ARCH_QCOM && OF) || COMPILE_TEST
4709066073cSRajendra Nayaksource "drivers/thermal/qcom/Kconfig"
4719066073cSRajendra Nayakendmenu
4729066073cSRajendra Nayak
47386da4391SKunihiko Hayashiconfig UNIPHIER_THERMAL
47486da4391SKunihiko Hayashi	tristate "Socionext UniPhier thermal driver"
47586da4391SKunihiko Hayashi	depends on ARCH_UNIPHIER || COMPILE_TEST
47686da4391SKunihiko Hayashi	depends on THERMAL_OF && MFD_SYSCON
47786da4391SKunihiko Hayashi	help
47886da4391SKunihiko Hayashi	  Enable this to plug in UniPhier on-chip PVT thermal driver into the
47986da4391SKunihiko Hayashi	  thermal framework. The driver supports CPU thermal zone temperature
48086da4391SKunihiko Hayashi	  reporting and a couple of trip points.
481554fdbafSFreeman Liu
482554fdbafSFreeman Liuconfig SPRD_THERMAL
483554fdbafSFreeman Liu	tristate "Temperature sensor on Spreadtrum SoCs"
484554fdbafSFreeman Liu	depends on ARCH_SPRD || COMPILE_TEST
485554fdbafSFreeman Liu	help
486554fdbafSFreeman Liu	  Support for the Spreadtrum thermal sensor driver in the Linux thermal
487554fdbafSFreeman Liu	  framework.
4885772717eSNeil Armstrong
4895772717eSNeil Armstrongconfig KHADAS_MCU_FAN_THERMAL
4905772717eSNeil Armstrong	tristate "Khadas MCU controller FAN cooling support"
4918df4ef3eSJean Delvare	depends on OF
4925772717eSNeil Armstrong	depends on MFD_KHADAS_MCU
4935772717eSNeil Armstrong	select MFD_CORE
4945772717eSNeil Armstrong	select REGMAP
4955772717eSNeil Armstrong	help
4965772717eSNeil Armstrong	  If you say yes here you get support for the FAN controlled
4975772717eSNeil Armstrong	  by the Microcontroller found on the Khadas VIM boards.
4985772717eSNeil Armstrong
499e7e3a7c3SYinbo Zhuconfig LOONGSON2_THERMAL
500e7e3a7c3SYinbo Zhu	tristate "Loongson-2 SoC series thermal driver"
501e7e3a7c3SYinbo Zhu	depends on LOONGARCH || COMPILE_TEST
502e7e3a7c3SYinbo Zhu	depends on OF
503e7e3a7c3SYinbo Zhu	help
504e7e3a7c3SYinbo Zhu	  Support for Thermal driver found on Loongson-2 SoC series platforms.
505e7e3a7c3SYinbo Zhu	  The thermal driver realizes get_temp and set_trips function, which
506e7e3a7c3SYinbo Zhu	  are used to obtain the temperature of the current node and set the
507e7e3a7c3SYinbo Zhu	  temperature range to trigger the interrupt. When the input temperature
508e7e3a7c3SYinbo Zhu	  is higher than the high temperature threshold or lower than the low
509e7e3a7c3SYinbo Zhu	  temperature threshold, the interrupt will occur.
510e7e3a7c3SYinbo Zhu
51172e19897SZhang Ruiendif
512