xref: /linux/drivers/thermal/Kconfig (revision fa1ef24ae251f7916e70b6fac94c7db3bb837426)
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
36ef1d87e0SKeerthyconfig THERMAL_EMERGENCY_POWEROFF_DELAY_MS
37ef1d87e0SKeerthy	int "Emergency poweroff delay in milli-seconds"
38ef1d87e0SKeerthy	default 0
39ef1d87e0SKeerthy	help
40ef1d87e0SKeerthy	  Thermal subsystem will issue a graceful shutdown when
41ef1d87e0SKeerthy	  critical temperatures are reached using orderly_poweroff(). In
42ef1d87e0SKeerthy	  case of failure of an orderly_poweroff(), the thermal emergency
43ef1d87e0SKeerthy	  poweroff kicks in after a delay has elapsed and shuts down the system.
44ef1d87e0SKeerthy	  This config is number of milliseconds to delay before emergency
45ef1d87e0SKeerthy	  poweroff kicks in. Similarly to the critical trip point,
46ef1d87e0SKeerthy	  the delay should be carefully profiled so as to give adequate
47ef1d87e0SKeerthy	  time for orderly_poweroff() to finish on regular execution.
48ef1d87e0SKeerthy	  If set to 0 emergency poweroff will not be supported.
49ef1d87e0SKeerthy
50ef1d87e0SKeerthy	  In doubt, leave as 0.
51ef1d87e0SKeerthy
5216d75239SRene Hermanconfig THERMAL_HWMON
53ab92402aSJean Delvare	bool
540dd88793SEduardo Valentin	prompt "Expose thermal sensors as hwmon device"
5516d75239SRene Herman	depends on HWMON=y || HWMON=THERMAL
56ab92402aSJean Delvare	default y
570dd88793SEduardo Valentin	help
580dd88793SEduardo Valentin	  In case a sensor is registered with the thermal
590dd88793SEduardo Valentin	  framework, this option will also register it
600dd88793SEduardo Valentin	  as a hwmon. The sensor will then have the common
610dd88793SEduardo Valentin	  hwmon sysfs interface.
620dd88793SEduardo Valentin
630dd88793SEduardo Valentin	  Say 'Y' here if you want all thermal sensors to
640dd88793SEduardo Valentin	  have hwmon sysfs interface too.
656a92c366SVincenzo Frascino
664e5e4705SEduardo Valentinconfig THERMAL_OF
674e5e4705SEduardo Valentin	bool
684e5e4705SEduardo Valentin	prompt "APIs to parse thermal data out of device tree"
694e5e4705SEduardo Valentin	depends on OF
704e5e4705SEduardo Valentin	default y
714e5e4705SEduardo Valentin	help
724e5e4705SEduardo Valentin	  This options provides helpers to add the support to
734e5e4705SEduardo Valentin	  read and parse thermal data definitions out of the
744e5e4705SEduardo Valentin	  device tree blob.
754e5e4705SEduardo Valentin
764e5e4705SEduardo Valentin	  Say 'Y' here if you need to build thermal infrastructure
774e5e4705SEduardo Valentin	  based on device tree.
784e5e4705SEduardo Valentin
7935e94644SPunit Agrawalconfig THERMAL_WRITABLE_TRIPS
8035e94644SPunit Agrawal	bool "Enable writable trip points"
8135e94644SPunit Agrawal	help
8235e94644SPunit Agrawal	  This option allows the system integrator to choose whether
8335e94644SPunit Agrawal	  trip temperatures can be changed from userspace. The
8435e94644SPunit Agrawal	  writable trips need to be specified when setting up the
8535e94644SPunit Agrawal	  thermal zone but the choice here takes precedence.
8635e94644SPunit Agrawal
8735e94644SPunit Agrawal	  Say 'Y' here if you would like to allow userspace tools to
8835e94644SPunit Agrawal	  change trip temperatures.
8935e94644SPunit Agrawal
90a56757afSDurgadoss Rchoice
91a56757afSDurgadoss R	prompt "Default Thermal governor"
92a56757afSDurgadoss R	default THERMAL_DEFAULT_GOV_STEP_WISE
93a56757afSDurgadoss R	help
94a56757afSDurgadoss R	  This option sets which thermal governor shall be loaded at
95a56757afSDurgadoss R	  startup. If in doubt, select 'step_wise'.
96a56757afSDurgadoss R
97a56757afSDurgadoss Rconfig THERMAL_DEFAULT_GOV_STEP_WISE
98a56757afSDurgadoss R	bool "step_wise"
999d185d04SZhang Rui	select THERMAL_GOV_STEP_WISE
100a56757afSDurgadoss R	help
101a56757afSDurgadoss R	  Use the step_wise governor as default. This throttles the
102a56757afSDurgadoss R	  devices one step at a time.
103a56757afSDurgadoss R
104a56757afSDurgadoss Rconfig THERMAL_DEFAULT_GOV_FAIR_SHARE
105a56757afSDurgadoss R	bool "fair_share"
1069d185d04SZhang Rui	select THERMAL_GOV_FAIR_SHARE
107a56757afSDurgadoss R	help
108a56757afSDurgadoss R	  Use the fair_share governor as default. This throttles the
109a56757afSDurgadoss R	  devices based on their 'contribution' to a zone. The
110a56757afSDurgadoss R	  contribution should be provided through platform data.
111a56757afSDurgadoss R
112a56757afSDurgadoss Rconfig THERMAL_DEFAULT_GOV_USER_SPACE
113a56757afSDurgadoss R	bool "user_space"
1149d185d04SZhang Rui	select THERMAL_GOV_USER_SPACE
115a56757afSDurgadoss R	help
116*fa1ef24aSDaniel Lezcano	  The Userspace governor allows to get trip point crossed
117*fa1ef24aSDaniel Lezcano	  notification from the kernel via uevents. It is recommended
118*fa1ef24aSDaniel Lezcano	  to use the netlink interface instead which gives richer
119*fa1ef24aSDaniel Lezcano	  information about the thermal framework events.
12072e19897SZhang Rui
1216b775e87SJavi Merinoconfig THERMAL_DEFAULT_GOV_POWER_ALLOCATOR
1226b775e87SJavi Merino	bool "power_allocator"
12350260614SYueHaibing	depends on THERMAL_GOV_POWER_ALLOCATOR
1246b775e87SJavi Merino	help
1256b775e87SJavi Merino	  Select this if you want to control temperature based on
1266b775e87SJavi Merino	  system and device power allocation. This governor can only
1276b775e87SJavi Merino	  operate on cooling devices that implement the power API.
1286b775e87SJavi Merino
129a56757afSDurgadoss Rendchoice
13072e19897SZhang Rui
1319d185d04SZhang Ruiconfig THERMAL_GOV_FAIR_SHARE
13272e19897SZhang Rui	bool "Fair-share thermal governor"
13372e19897SZhang Rui	help
13472e19897SZhang Rui	  Enable this to manage platform thermals using fair-share governor.
13572e19897SZhang Rui
1369d185d04SZhang Ruiconfig THERMAL_GOV_STEP_WISE
13772e19897SZhang Rui	bool "Step_wise thermal governor"
13872e19897SZhang Rui	help
13972e19897SZhang Rui	  Enable this to manage platform thermals using a simple linear
140a8227948SLuka Perkov	  governor.
14172e19897SZhang Rui
142e4dbf98fSPeter Feuererconfig THERMAL_GOV_BANG_BANG
143e4dbf98fSPeter Feuerer	bool "Bang Bang thermal governor"
144e4dbf98fSPeter Feuerer	default n
145e4dbf98fSPeter Feuerer	help
146e4dbf98fSPeter Feuerer	  Enable this to manage platform thermals using bang bang governor.
147e4dbf98fSPeter Feuerer
148e4dbf98fSPeter Feuerer	  Say 'Y' here if you want to use two point temperature regulation
149e4dbf98fSPeter Feuerer	  used for fans without throttling.  Some fan drivers depend on this
150e4dbf98fSPeter Feuerer	  governor to be enabled (e.g. acerhdf).
151e4dbf98fSPeter Feuerer
1529d185d04SZhang Ruiconfig THERMAL_GOV_USER_SPACE
15372e19897SZhang Rui	bool "User_space thermal governor"
15472e19897SZhang Rui	help
15572e19897SZhang Rui	  Enable this to let the user space manage the platform thermals.
15672e19897SZhang Rui
1576b775e87SJavi Merinoconfig THERMAL_GOV_POWER_ALLOCATOR
1586b775e87SJavi Merino	bool "Power allocator thermal governor"
159a4e893e8SQuentin Perret	depends on ENERGY_MODEL
1606b775e87SJavi Merino	help
1616b775e87SJavi Merino	  Enable this to manage platform thermals by dynamically
1626b775e87SJavi Merino	  allocating and limiting power to devices.
1636b775e87SJavi Merino
16472e19897SZhang Ruiconfig CPU_THERMAL
1652e31c856SDaniel Lezcano	bool "Generic cpu cooling support"
16639d99cffSEduardo Valentin	depends on THERMAL_OF
16772e19897SZhang Rui	help
1682b586feaSDaniel Lezcano	  Enable the CPU cooling features. If the system has no active
1692b586feaSDaniel Lezcano	  cooling device available, this option allows to use the CPU
1702b586feaSDaniel Lezcano	  as a cooling device.
1712b586feaSDaniel Lezcano
1722b586feaSDaniel Lezcanoif CPU_THERMAL
1732b586feaSDaniel Lezcano
1742b586feaSDaniel Lezcanoconfig CPU_FREQ_THERMAL
1752b586feaSDaniel Lezcano	bool "CPU frequency cooling device"
1762b586feaSDaniel Lezcano	depends on CPU_FREQ
1772b586feaSDaniel Lezcano	default y
1782b586feaSDaniel Lezcano	help
17972e19897SZhang Rui	  This implements the generic cpu cooling mechanism through frequency
180f7188b3dSEduardo Valentin	  reduction. An ACPI version of this already exists
181f7188b3dSEduardo Valentin	  (drivers/acpi/processor_thermal.c).
18272e19897SZhang Rui	  This will be useful for platforms using the generic thermal interface
18372e19897SZhang Rui	  and not the ACPI interface.
184f7188b3dSEduardo Valentin
185a4c428e5SDaniel Lezcanoconfig CPU_IDLE_THERMAL
186a4c428e5SDaniel Lezcano	bool "CPU idle cooling device"
187a4c428e5SDaniel Lezcano	depends on IDLE_INJECT
188a4c428e5SDaniel Lezcano	help
189a4c428e5SDaniel Lezcano	  This implements the CPU cooling mechanism through
190a4c428e5SDaniel Lezcano	  idle injection. This will throttle the CPU by injecting
191a4c428e5SDaniel Lezcano	  idle cycle.
1922b586feaSDaniel Lezcanoendif
19372e19897SZhang Rui
194a76caf55SØrjan Eideconfig DEVFREQ_THERMAL
195a76caf55SØrjan Eide	bool "Generic device cooling support"
196a76caf55SØrjan Eide	depends on PM_DEVFREQ
197a76caf55SØrjan Eide	depends on PM_OPP
198a76caf55SØrjan Eide	help
199a76caf55SØrjan Eide	  This implements the generic devfreq cooling mechanism through
200a76caf55SØrjan Eide	  frequency reduction for devices using devfreq.
201a76caf55SØrjan Eide
202a76caf55SØrjan Eide	  This will throttle the device by limiting the maximum allowed DVFS
203a76caf55SØrjan Eide	  frequency corresponding to the cooling level.
204a76caf55SØrjan Eide
205a76caf55SØrjan Eide	  In order to use the power extensions of the cooling device,
206a76caf55SØrjan Eide	  devfreq should use the simple_ondemand governor.
207a76caf55SØrjan Eide
208f9df89d8SEduardo Valentin	  If you want this support, you should say Y here.
209f9df89d8SEduardo Valentin
210e6e238c3SAmit Daniel Kachhapconfig THERMAL_EMULATION
211e6e238c3SAmit Daniel Kachhap	bool "Thermal emulation mode support"
212e6e238c3SAmit Daniel Kachhap	help
213e6e238c3SAmit Daniel Kachhap	  Enable this option to make a emul_temp sysfs node in thermal zone
214e6e238c3SAmit Daniel Kachhap	  directory to support temperature emulation. With emulation sysfs node,
215e6e238c3SAmit Daniel Kachhap	  user can manually input temperature and test the different trip
216e6e238c3SAmit Daniel Kachhap	  threshold behaviour for simulation purpose.
217e6e238c3SAmit Daniel Kachhap
2188837295aSEduardo Valentin	  WARNING: Be careful while enabling this option on production systems,
2198837295aSEduardo Valentin	  because userland can easily disable the thermal policy by simply
2208837295aSEduardo Valentin	  flooding this sysfs node with low temperature values.
2218837295aSEduardo Valentin
22271aa3693STalel Shenharconfig THERMAL_MMIO
22371aa3693STalel Shenhar	tristate "Generic Thermal MMIO driver"
22471aa3693STalel Shenhar	depends on OF || COMPILE_TEST
2256ec8070bSTalel Shenhar	depends on HAS_IOMEM
22671aa3693STalel Shenhar	help
22771aa3693STalel Shenhar	  This option enables the generic thermal MMIO driver that will use
22871aa3693STalel Shenhar	  memory-mapped reads to get the temperature.  Any HW/System that
22971aa3693STalel Shenhar	  allows temperature reading by a single memory-mapped reading, be it
23071aa3693STalel Shenhar	  register or shared memory, is a potential candidate to work with this
23171aa3693STalel Shenhar	  driver.
23271aa3693STalel Shenhar
2339a5238a9Skongxinweiconfig HISI_THERMAL
2349a5238a9Skongxinwei	tristate "Hisilicon thermal driver"
235f05f4821SLeo Yan	depends on ARCH_HISI || COMPILE_TEST
236bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
237f05f4821SLeo Yan	depends on OF
238f05f4821SLeo Yan	default y
2399a5238a9Skongxinwei	help
2409a5238a9Skongxinwei	  Enable this to plug hisilicon's thermal sensor driver into the Linux
2419a5238a9Skongxinwei	  thermal framework. cpufreq is used as the cooling device to throttle
2429a5238a9Skongxinwei	  CPUs when the passive trip is crossed.
2439a5238a9Skongxinwei
244ca3de46bSShawn Guoconfig IMX_THERMAL
245ca3de46bSShawn Guo	tristate "Temperature sensor driver for Freescale i.MX SoCs"
246c589c566SAnson Huang	depends on ARCH_MXC || COMPILE_TEST
247531fcdebSArnd Bergmann	depends on NVMEM || !NVMEM
248ca3de46bSShawn Guo	depends on MFD_SYSCON
249ca3de46bSShawn Guo	depends on OF
250ca3de46bSShawn Guo	help
251ca3de46bSShawn Guo	  Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
252ca3de46bSShawn Guo	  It supports one critical trip point and one passive trip point.  The
253ca3de46bSShawn Guo	  cpufreq is used as the cooling device to throttle CPUs when the
254ca3de46bSShawn Guo	  passive trip is crossed.
255ca3de46bSShawn Guo
256e20db70dSAnson Huangconfig IMX_SC_THERMAL
257e20db70dSAnson Huang	tristate "Temperature sensor driver for NXP i.MX SoCs with System Controller"
258ef502fc1SAnson Huang	depends on IMX_SCU
259e20db70dSAnson Huang	depends on OF
260e20db70dSAnson Huang	help
261e20db70dSAnson Huang	  Support for Temperature Monitor (TEMPMON) found on NXP i.MX SoCs with
262e20db70dSAnson Huang	  system controller inside, Linux kernel has to communicate with system
263e20db70dSAnson Huang	  controller via MU (message unit) IPC to get temperature from thermal
264e20db70dSAnson Huang	  sensor. It supports one critical trip point and one
265e20db70dSAnson Huang	  passive trip point for each thermal sensor.
266e20db70dSAnson Huang
2675eed800aSAnson Huangconfig IMX8MM_THERMAL
2685eed800aSAnson Huang	tristate "Temperature sensor driver for Freescale i.MX8MM SoC"
26952cbc58bSAnson Huang	depends on ARCH_MXC || COMPILE_TEST
2705eed800aSAnson Huang	depends on OF
2715eed800aSAnson Huang	help
2725eed800aSAnson Huang	  Support for Thermal Monitoring Unit (TMU) found on Freescale i.MX8MM SoC.
2735eed800aSAnson Huang	  It supports one critical trip point and one passive trip point. The
2745eed800aSAnson Huang	  cpufreq is used as the cooling device to throttle CPUs when the passive
2755eed800aSAnson Huang	  trip is crossed.
2765eed800aSAnson Huang
27748b2bce8SKeerthyconfig K3_THERMAL
27848b2bce8SKeerthy	tristate "Texas Instruments K3 thermal support"
27948b2bce8SKeerthy	depends on ARCH_K3 || COMPILE_TEST
28048b2bce8SKeerthy	help
28148b2bce8SKeerthy	  If you say yes here you get thermal support for the Texas Instruments
28248b2bce8SKeerthy	  K3 SoC family. The current chip supported is:
28348b2bce8SKeerthy	  - AM654
28448b2bce8SKeerthy
28548b2bce8SKeerthy	  This includes temperature reading functionality.
28648b2bce8SKeerthy
287ec4664b3SLaxman Dewanganconfig MAX77620_THERMAL
288ec4664b3SLaxman Dewangan	tristate "Temperature sensor driver for Maxim MAX77620 PMIC"
289ec4664b3SLaxman Dewangan	depends on MFD_MAX77620
290ec4664b3SLaxman Dewangan	depends on OF
291ec4664b3SLaxman Dewangan	help
292ec4664b3SLaxman Dewangan	  Support for die junction temperature warning alarm for Maxim
293ec4664b3SLaxman Dewangan	  Semiconductor PMIC MAX77620 device. Device generates two alarm
294ec4664b3SLaxman Dewangan	  interrupts when PMIC die temperature cross the threshold of
295ec4664b3SLaxman Dewangan	  120 degC and 140 degC.
296ec4664b3SLaxman Dewangan
29743528445SJia Hongtaoconfig QORIQ_THERMAL
29843528445SJia Hongtao	tristate "QorIQ Thermal Monitoring Unit"
2991ab20c0eSGeert Uytterhoeven	depends on THERMAL_OF && HAS_IOMEM
3001ab20c0eSGeert Uytterhoeven	depends on PPC_E500MC || SOC_LS1021A || ARCH_LAYERSCAPE || (ARCH_MXC && ARM64) || COMPILE_TEST
301cbe259fdSYuantian Tang	select REGMAP_MMIO
30243528445SJia Hongtao	help
30343528445SJia Hongtao	  Support for Thermal Monitoring Unit (TMU) found on QorIQ platforms.
30443528445SJia Hongtao	  It supports one critical trip point and one passive trip point. The
30543528445SJia Hongtao	  cpufreq is used as the cooling device to throttle CPUs when the
30643528445SJia Hongtao	  passive trip is crossed.
30743528445SJia Hongtao
30872e19897SZhang Ruiconfig SPEAR_THERMAL
3094d2f1794SArnd Bergmann	tristate "SPEAr thermal sensor driver"
310aa2937b7SEduardo Valentin	depends on PLAT_SPEAR || COMPILE_TEST
311bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
31272e19897SZhang Rui	depends on OF
31372e19897SZhang Rui	help
31472e19897SZhang Rui	  Enable this to plug the SPEAr thermal sensor driver into the Linux
315a8227948SLuka Perkov	  thermal framework.
31672e19897SZhang Rui
317dccc5c3bSYangtao Liconfig SUN8I_THERMAL
318dccc5c3bSYangtao Li	tristate "Allwinner sun8i thermal driver"
319dccc5c3bSYangtao Li	depends on ARCH_SUNXI || COMPILE_TEST
320dccc5c3bSYangtao Li	depends on HAS_IOMEM
321dccc5c3bSYangtao Li	depends on NVMEM
322dccc5c3bSYangtao Li	depends on OF
323dccc5c3bSYangtao Li	depends on RESET_CONTROLLER
324dccc5c3bSYangtao Li	help
325dccc5c3bSYangtao Li	  Support for the sun8i thermal sensor driver into the Linux thermal
326dccc5c3bSYangtao Li	  framework.
327dccc5c3bSYangtao Li
328dccc5c3bSYangtao Li	  To compile this driver as a module, choose M here: the
329dccc5c3bSYangtao Li	  module will be called sun8i-thermal.
330dccc5c3bSYangtao Li
331cbac8f63SCaesar Wangconfig ROCKCHIP_THERMAL
332cbac8f63SCaesar Wang	tristate "Rockchip thermal driver"
333444f9b00SEduardo Valentin	depends on ARCH_ROCKCHIP || COMPILE_TEST
334cbac8f63SCaesar Wang	depends on RESET_CONTROLLER
335bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
336cbac8f63SCaesar Wang	help
337cbac8f63SCaesar Wang	  Rockchip thermal driver provides support for Temperature sensor
338cbac8f63SCaesar Wang	  ADC (TS-ADC) found on Rockchip SoCs. It supports one critical
339cbac8f63SCaesar Wang	  trip point. Cpufreq is used as the cooling device and will throttle
340cbac8f63SCaesar Wang	  CPUs when the Temperature crosses the passive trip point.
341cbac8f63SCaesar Wang
34272e19897SZhang Ruiconfig RCAR_THERMAL
34372e19897SZhang Rui	tristate "Renesas R-Car thermal driver"
3448255e4e2SSimon Horman	depends on ARCH_RENESAS || COMPILE_TEST
345d1c8b041SRichard Weinberger	depends on HAS_IOMEM
34672e19897SZhang Rui	help
34772e19897SZhang Rui	  Enable this to plug the R-Car thermal sensor driver into the Linux
348a8227948SLuka Perkov	  thermal framework.
34972e19897SZhang Rui
350564e73d2SWolfram Sangconfig RCAR_GEN3_THERMAL
351bc501418SLad Prabhakar	tristate "Renesas R-Car Gen3 and RZ/G2 thermal driver"
352564e73d2SWolfram Sang	depends on ARCH_RENESAS || COMPILE_TEST
353564e73d2SWolfram Sang	depends on HAS_IOMEM
354564e73d2SWolfram Sang	depends on OF
355564e73d2SWolfram Sang	help
356bc501418SLad Prabhakar	  Enable this to plug the R-Car Gen3 or RZ/G2 thermal sensor driver into
357bc501418SLad Prabhakar	  the Linux thermal framework.
358564e73d2SWolfram Sang
359673c68bdSBiju Dasconfig RZG2L_THERMAL
360673c68bdSBiju Das	tristate "Renesas RZ/G2L thermal driver"
361673c68bdSBiju Das	depends on ARCH_RENESAS || COMPILE_TEST
362673c68bdSBiju Das	depends on HAS_IOMEM
363673c68bdSBiju Das	depends on OF
364673c68bdSBiju Das	help
365673c68bdSBiju Das	  Enable this to plug the RZ/G2L thermal sensor driver into the Linux
366673c68bdSBiju Das	  thermal framework.
367673c68bdSBiju Das
3687060aa36SNobuhiro Iwamatsuconfig KIRKWOOD_THERMAL
3697060aa36SNobuhiro Iwamatsu	tristate "Temperature sensor on Marvell Kirkwood SoCs"
3709c8aa959SEduardo Valentin	depends on MACH_KIRKWOOD || COMPILE_TEST
371bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
3727060aa36SNobuhiro Iwamatsu	depends on OF
3737060aa36SNobuhiro Iwamatsu	help
3747060aa36SNobuhiro Iwamatsu	  Support for the Kirkwood thermal sensor driver into the Linux thermal
3757060aa36SNobuhiro Iwamatsu	  framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
3767060aa36SNobuhiro Iwamatsu
37774ffa64cSAndrew Lunnconfig DOVE_THERMAL
37874ffa64cSAndrew Lunn	tristate "Temperature sensor on Marvell Dove SoCs"
37907fffd5cSEduardo Valentin	depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST
380bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
38174ffa64cSAndrew Lunn	depends on OF
38274ffa64cSAndrew Lunn	help
38374ffa64cSAndrew Lunn	  Support for the Dove thermal sensor driver in the Linux thermal
38474ffa64cSAndrew Lunn	  framework.
38574ffa64cSAndrew Lunn
386aa1acb04Shongbo.zhangconfig DB8500_THERMAL
38726716ce1SArnd Bergmann	tristate "DB8500 thermal management"
388cb063a83SLinus Walleij	depends on MFD_DB8500_PRCMU && OF
389aa1acb04Shongbo.zhang	default y
390aa1acb04Shongbo.zhang	help
391aa1acb04Shongbo.zhang	  Adds DB8500 thermal management implementation according to the thermal
392aa1acb04Shongbo.zhang	  management framework. A thermal zone with several trip points will be
393aa1acb04Shongbo.zhang	  created. Cooling devices can be bound to the trip points to cool this
394aa1acb04Shongbo.zhang	  thermal zone if trip points reached.
395aa1acb04Shongbo.zhang
396fa0d654cSEzequiel Garciaconfig ARMADA_THERMAL
397a9d58a1aSMiquel Raynal	tristate "Marvell EBU Armada SoCs thermal management"
3981b158267SEduardo Valentin	depends on ARCH_MVEBU || COMPILE_TEST
399bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
400fa0d654cSEzequiel Garcia	depends on OF
401fa0d654cSEzequiel Garcia	help
402fa0d654cSEzequiel Garcia	  Enable this option if you want to have support for thermal management
403a9d58a1aSMiquel Raynal	  controller present in Marvell EBU Armada SoCs (370,375,XP,38x,7K,8K).
404fa0d654cSEzequiel Garcia
405608567aaSSteve Twissconfig DA9062_THERMAL
406608567aaSSteve Twiss	tristate "DA9062/DA9061 Dialog Semiconductor thermal driver"
407608567aaSSteve Twiss	depends on MFD_DA9062 || COMPILE_TEST
408608567aaSSteve Twiss	depends on OF
409608567aaSSteve Twiss	help
410608567aaSSteve Twiss	  Enable this for the Dialog Semiconductor thermal sensor driver.
411608567aaSSteve Twiss	  This will report PMIC junction over-temperature for one thermal trip
412608567aaSSteve Twiss	  zone.
413608567aaSSteve Twiss	  Compatible with the DA9062 and DA9061 PMICs.
414608567aaSSteve Twiss
415a92db1c8SSascha Hauerconfig MTK_THERMAL
416a92db1c8SSascha Hauer	tristate "Temperature sensor driver for mediatek SoCs"
417a92db1c8SSascha Hauer	depends on ARCH_MEDIATEK || COMPILE_TEST
41874e5053cSEduardo Valentin	depends on HAS_IOMEM
41962e14f6fSRandy Dunlap	depends on NVMEM || NVMEM=n
420a6f4850dSJohannes Berg	depends on RESET_CONTROLLER
421a92db1c8SSascha Hauer	default y
422a92db1c8SSascha Hauer	help
423a92db1c8SSascha Hauer	  Enable this option if you want to have support for thermal management
424a92db1c8SSascha Hauer	  controller present in Mediatek SoCs
425a92db1c8SSascha Hauer
426421eda10SGuillaume La Roqueconfig AMLOGIC_THERMAL
427421eda10SGuillaume La Roque	tristate "Amlogic Thermal Support"
428421eda10SGuillaume La Roque	default ARCH_MESON
429421eda10SGuillaume La Roque	depends on OF && ARCH_MESON
430421eda10SGuillaume La Roque	help
431421eda10SGuillaume La Roque	  If you say yes here you get support for Amlogic Thermal
432421eda10SGuillaume La Roque	  for G12 SoC Family.
433421eda10SGuillaume La Roque
434421eda10SGuillaume La Roque	  This driver can also be built as a module. If so, the module will
435421eda10SGuillaume La Roque	  be called amlogic_thermal.
436421eda10SGuillaume La Roque
4373e8c4d31SAmit Kucheriamenu "Intel thermal drivers"
4383e8c4d31SAmit Kucheriadepends on X86 || X86_INTEL_QUARK || COMPILE_TEST
4393e8c4d31SAmit Kucheriasource "drivers/thermal/intel/Kconfig"
4403e8c4d31SAmit Kucheriaendmenu
4413e8c4d31SAmit Kucheria
442a94cb7eeSRafał Miłeckimenu "Broadcom thermal drivers"
443250e2110SPramod Kumardepends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM_IPROC || \
444250e2110SPramod Kumar		COMPILE_TEST
445a94cb7eeSRafał Miłeckisource "drivers/thermal/broadcom/Kconfig"
446a94cb7eeSRafał Miłeckiendmenu
447a94cb7eeSRafał Miłecki
448eb982001SEduardo Valentinmenu "Texas Instruments thermal drivers"
449ec2feb47SEduardo Valentindepends on ARCH_HAS_BANDGAP || COMPILE_TEST
450bf82c350SKrzysztof Kozlowskidepends on HAS_IOMEM
451eb982001SEduardo Valentinsource "drivers/thermal/ti-soc-thermal/Kconfig"
452eb982001SEduardo Valentinendmenu
453f157f596SZhang Rui
454c6821378SAmit Daniel Kachhapmenu "Samsung thermal drivers"
4552bf42735SEduardo Valentindepends on ARCH_EXYNOS || COMPILE_TEST
456c6821378SAmit Daniel Kachhapsource "drivers/thermal/samsung/Kconfig"
457c6821378SAmit Daniel Kachhapendmenu
458c6821378SAmit Daniel Kachhap
45960aef7ceSLee Jonesmenu "STMicroelectronics thermal drivers"
4601d693155SDavid HERNANDEZ SANCHEZdepends on (ARCH_STI || ARCH_STM32) && OF
46160aef7ceSLee Jonessource "drivers/thermal/st/Kconfig"
46260aef7ceSLee Jonesendmenu
46360aef7ceSLee Jones
464a4dff94fSWei Nisource "drivers/thermal/tegra/Kconfig"
465a4dff94fSWei Ni
466b3aef78fSLaxman Dewanganconfig GENERIC_ADC_THERMAL
467b3aef78fSLaxman Dewangan	tristate "Generic ADC based thermal sensor"
468b3aef78fSLaxman Dewangan	depends on IIO
469b3aef78fSLaxman Dewangan	help
470b3aef78fSLaxman Dewangan	  This enabled a thermal sysfs driver for the temperature sensor
471b3aef78fSLaxman Dewangan	  which is connected to the General Purpose ADC. The ADC channel
472b3aef78fSLaxman Dewangan	  is read via IIO framework and the channel information is provided
473b3aef78fSLaxman Dewangan	  to this driver. This driver reports the temperature by reading ADC
474b3aef78fSLaxman Dewangan	  channel and converts it to temperature based on lookup table.
475b3aef78fSLaxman Dewangan
4769066073cSRajendra Nayakmenu "Qualcomm thermal drivers"
4779066073cSRajendra Nayakdepends on (ARCH_QCOM && OF) || COMPILE_TEST
4789066073cSRajendra Nayaksource "drivers/thermal/qcom/Kconfig"
4799066073cSRajendra Nayakendmenu
4809066073cSRajendra Nayak
48186da4391SKunihiko Hayashiconfig UNIPHIER_THERMAL
48286da4391SKunihiko Hayashi	tristate "Socionext UniPhier thermal driver"
48386da4391SKunihiko Hayashi	depends on ARCH_UNIPHIER || COMPILE_TEST
48486da4391SKunihiko Hayashi	depends on THERMAL_OF && MFD_SYSCON
48586da4391SKunihiko Hayashi	help
48686da4391SKunihiko Hayashi	  Enable this to plug in UniPhier on-chip PVT thermal driver into the
48786da4391SKunihiko Hayashi	  thermal framework. The driver supports CPU thermal zone temperature
48886da4391SKunihiko Hayashi	  reporting and a couple of trip points.
489554fdbafSFreeman Liu
490554fdbafSFreeman Liuconfig SPRD_THERMAL
491554fdbafSFreeman Liu	tristate "Temperature sensor on Spreadtrum SoCs"
492554fdbafSFreeman Liu	depends on ARCH_SPRD || COMPILE_TEST
493554fdbafSFreeman Liu	help
494554fdbafSFreeman Liu	  Support for the Spreadtrum thermal sensor driver in the Linux thermal
495554fdbafSFreeman Liu	  framework.
4965772717eSNeil Armstrong
4975772717eSNeil Armstrongconfig KHADAS_MCU_FAN_THERMAL
4985772717eSNeil Armstrong	tristate "Khadas MCU controller FAN cooling support"
4995772717eSNeil Armstrong	depends on OF || COMPILE_TEST
5005772717eSNeil Armstrong	depends on MFD_KHADAS_MCU
5015772717eSNeil Armstrong	select MFD_CORE
5025772717eSNeil Armstrong	select REGMAP
5035772717eSNeil Armstrong	help
5045772717eSNeil Armstrong	  If you say yes here you get support for the FAN controlled
5055772717eSNeil Armstrong	  by the Microcontroller found on the Khadas VIM boards.
5065772717eSNeil Armstrong
50772e19897SZhang Ruiendif
508