xref: /linux/drivers/thermal/Kconfig (revision 8ea229511e06f9635ecc338dcbe0db41a73623f0)
1203d3d4aSZhang Rui#
2203d3d4aSZhang Rui# Generic thermal sysfs drivers configuration
3203d3d4aSZhang Rui#
4203d3d4aSZhang Rui
5203d3d4aSZhang Ruimenuconfig THERMAL
663c4ec90SZhang Rui	tristate "Generic Thermal sysfs driver"
7203d3d4aSZhang Rui	help
8203d3d4aSZhang Rui	  Generic Thermal Sysfs driver offers a generic mechanism for
9203d3d4aSZhang Rui	  thermal management. Usually it's made up of one or more thermal
10203d3d4aSZhang Rui	  zone and cooling device.
11543a9561SLen Brown	  Each thermal zone contains its own temperature, trip points,
12203d3d4aSZhang Rui	  cooling devices.
13203d3d4aSZhang Rui	  All platforms with ACPI thermal support can use this driver.
1463c4ec90SZhang Rui	  If you want this support, you should say Y or M here.
1516d75239SRene Herman
1672e19897SZhang Ruiif THERMAL
1772e19897SZhang Rui
18*8ea22951SViresh Kumarconfig THERMAL_STATISTICS
19*8ea22951SViresh Kumar	bool "Thermal state transition statistics"
20*8ea22951SViresh Kumar	help
21*8ea22951SViresh Kumar	  Export thermal state transition statistics information through sysfs.
22*8ea22951SViresh Kumar
23*8ea22951SViresh Kumar	  If in doubt, say N.
24*8ea22951SViresh Kumar
25ef1d87e0SKeerthyconfig THERMAL_EMERGENCY_POWEROFF_DELAY_MS
26ef1d87e0SKeerthy	int "Emergency poweroff delay in milli-seconds"
27ef1d87e0SKeerthy	depends on THERMAL
28ef1d87e0SKeerthy	default 0
29ef1d87e0SKeerthy	help
30ef1d87e0SKeerthy	  Thermal subsystem will issue a graceful shutdown when
31ef1d87e0SKeerthy	  critical temperatures are reached using orderly_poweroff(). In
32ef1d87e0SKeerthy	  case of failure of an orderly_poweroff(), the thermal emergency
33ef1d87e0SKeerthy	  poweroff kicks in after a delay has elapsed and shuts down the system.
34ef1d87e0SKeerthy	  This config is number of milliseconds to delay before emergency
35ef1d87e0SKeerthy	  poweroff kicks in. Similarly to the critical trip point,
36ef1d87e0SKeerthy	  the delay should be carefully profiled so as to give adequate
37ef1d87e0SKeerthy	  time for orderly_poweroff() to finish on regular execution.
38ef1d87e0SKeerthy	  If set to 0 emergency poweroff will not be supported.
39ef1d87e0SKeerthy
40ef1d87e0SKeerthy	  In doubt, leave as 0.
41ef1d87e0SKeerthy
4216d75239SRene Hermanconfig THERMAL_HWMON
43ab92402aSJean Delvare	bool
440dd88793SEduardo Valentin	prompt "Expose thermal sensors as hwmon device"
4516d75239SRene Herman	depends on HWMON=y || HWMON=THERMAL
46ab92402aSJean Delvare	default y
470dd88793SEduardo Valentin	help
480dd88793SEduardo Valentin	  In case a sensor is registered with the thermal
490dd88793SEduardo Valentin	  framework, this option will also register it
500dd88793SEduardo Valentin	  as a hwmon. The sensor will then have the common
510dd88793SEduardo Valentin	  hwmon sysfs interface.
520dd88793SEduardo Valentin
530dd88793SEduardo Valentin	  Say 'Y' here if you want all thermal sensors to
540dd88793SEduardo Valentin	  have hwmon sysfs interface too.
556a92c366SVincenzo Frascino
564e5e4705SEduardo Valentinconfig THERMAL_OF
574e5e4705SEduardo Valentin	bool
584e5e4705SEduardo Valentin	prompt "APIs to parse thermal data out of device tree"
594e5e4705SEduardo Valentin	depends on OF
604e5e4705SEduardo Valentin	default y
614e5e4705SEduardo Valentin	help
624e5e4705SEduardo Valentin	  This options provides helpers to add the support to
634e5e4705SEduardo Valentin	  read and parse thermal data definitions out of the
644e5e4705SEduardo Valentin	  device tree blob.
654e5e4705SEduardo Valentin
664e5e4705SEduardo Valentin	  Say 'Y' here if you need to build thermal infrastructure
674e5e4705SEduardo Valentin	  based on device tree.
684e5e4705SEduardo Valentin
6935e94644SPunit Agrawalconfig THERMAL_WRITABLE_TRIPS
7035e94644SPunit Agrawal	bool "Enable writable trip points"
7135e94644SPunit Agrawal	help
7235e94644SPunit Agrawal	  This option allows the system integrator to choose whether
7335e94644SPunit Agrawal	  trip temperatures can be changed from userspace. The
7435e94644SPunit Agrawal	  writable trips need to be specified when setting up the
7535e94644SPunit Agrawal	  thermal zone but the choice here takes precedence.
7635e94644SPunit Agrawal
7735e94644SPunit Agrawal	  Say 'Y' here if you would like to allow userspace tools to
7835e94644SPunit Agrawal	  change trip temperatures.
7935e94644SPunit Agrawal
80a56757afSDurgadoss Rchoice
81a56757afSDurgadoss R	prompt "Default Thermal governor"
82a56757afSDurgadoss R	default THERMAL_DEFAULT_GOV_STEP_WISE
83a56757afSDurgadoss R	help
84a56757afSDurgadoss R	  This option sets which thermal governor shall be loaded at
85a56757afSDurgadoss R	  startup. If in doubt, select 'step_wise'.
86a56757afSDurgadoss R
87a56757afSDurgadoss Rconfig THERMAL_DEFAULT_GOV_STEP_WISE
88a56757afSDurgadoss R	bool "step_wise"
899d185d04SZhang Rui	select THERMAL_GOV_STEP_WISE
90a56757afSDurgadoss R	help
91a56757afSDurgadoss R	  Use the step_wise governor as default. This throttles the
92a56757afSDurgadoss R	  devices one step at a time.
93a56757afSDurgadoss R
94a56757afSDurgadoss Rconfig THERMAL_DEFAULT_GOV_FAIR_SHARE
95a56757afSDurgadoss R	bool "fair_share"
969d185d04SZhang Rui	select THERMAL_GOV_FAIR_SHARE
97a56757afSDurgadoss R	help
98a56757afSDurgadoss R	  Use the fair_share governor as default. This throttles the
99a56757afSDurgadoss R	  devices based on their 'contribution' to a zone. The
100a56757afSDurgadoss R	  contribution should be provided through platform data.
101a56757afSDurgadoss R
102a56757afSDurgadoss Rconfig THERMAL_DEFAULT_GOV_USER_SPACE
103a56757afSDurgadoss R	bool "user_space"
1049d185d04SZhang Rui	select THERMAL_GOV_USER_SPACE
105a56757afSDurgadoss R	help
106a56757afSDurgadoss R	  Select this if you want to let the user space manage the
107ece238feSRegid Ichira	  platform thermals.
10872e19897SZhang Rui
1096b775e87SJavi Merinoconfig THERMAL_DEFAULT_GOV_POWER_ALLOCATOR
1106b775e87SJavi Merino	bool "power_allocator"
1116b775e87SJavi Merino	select THERMAL_GOV_POWER_ALLOCATOR
1126b775e87SJavi Merino	help
1136b775e87SJavi Merino	  Select this if you want to control temperature based on
1146b775e87SJavi Merino	  system and device power allocation. This governor can only
1156b775e87SJavi Merino	  operate on cooling devices that implement the power API.
1166b775e87SJavi Merino
117a56757afSDurgadoss Rendchoice
11872e19897SZhang Rui
1199d185d04SZhang Ruiconfig THERMAL_GOV_FAIR_SHARE
12072e19897SZhang Rui	bool "Fair-share thermal governor"
12172e19897SZhang Rui	help
12272e19897SZhang Rui	  Enable this to manage platform thermals using fair-share governor.
12372e19897SZhang Rui
1249d185d04SZhang Ruiconfig THERMAL_GOV_STEP_WISE
12572e19897SZhang Rui	bool "Step_wise thermal governor"
12672e19897SZhang Rui	help
12772e19897SZhang Rui	  Enable this to manage platform thermals using a simple linear
128a8227948SLuka Perkov	  governor.
12972e19897SZhang Rui
130e4dbf98fSPeter Feuererconfig THERMAL_GOV_BANG_BANG
131e4dbf98fSPeter Feuerer	bool "Bang Bang thermal governor"
132e4dbf98fSPeter Feuerer	default n
133e4dbf98fSPeter Feuerer	help
134e4dbf98fSPeter Feuerer	  Enable this to manage platform thermals using bang bang governor.
135e4dbf98fSPeter Feuerer
136e4dbf98fSPeter Feuerer	  Say 'Y' here if you want to use two point temperature regulation
137e4dbf98fSPeter Feuerer	  used for fans without throttling.  Some fan drivers depend on this
138e4dbf98fSPeter Feuerer	  governor to be enabled (e.g. acerhdf).
139e4dbf98fSPeter Feuerer
1409d185d04SZhang Ruiconfig THERMAL_GOV_USER_SPACE
14172e19897SZhang Rui	bool "User_space thermal governor"
14272e19897SZhang Rui	help
14372e19897SZhang Rui	  Enable this to let the user space manage the platform thermals.
14472e19897SZhang Rui
1456b775e87SJavi Merinoconfig THERMAL_GOV_POWER_ALLOCATOR
1466b775e87SJavi Merino	bool "Power allocator thermal governor"
1476b775e87SJavi Merino	help
1486b775e87SJavi Merino	  Enable this to manage platform thermals by dynamically
1496b775e87SJavi Merino	  allocating and limiting power to devices.
1506b775e87SJavi Merino
15172e19897SZhang Ruiconfig CPU_THERMAL
152bbf7fc88SZhang Rui	bool "generic cpu cooling support"
15372e19897SZhang Rui	depends on CPU_FREQ
15439d99cffSEduardo Valentin	depends on THERMAL_OF
15572e19897SZhang Rui	help
15672e19897SZhang Rui	  This implements the generic cpu cooling mechanism through frequency
157f7188b3dSEduardo Valentin	  reduction. An ACPI version of this already exists
158f7188b3dSEduardo Valentin	  (drivers/acpi/processor_thermal.c).
15972e19897SZhang Rui	  This will be useful for platforms using the generic thermal interface
16072e19897SZhang Rui	  and not the ACPI interface.
161f7188b3dSEduardo Valentin
16272e19897SZhang Rui	  If you want this support, you should say Y here.
16372e19897SZhang Rui
164f9df89d8SEduardo Valentinconfig CLOCK_THERMAL
165f9df89d8SEduardo Valentin	bool "Generic clock cooling support"
166f9df89d8SEduardo Valentin	depends on COMMON_CLK
167f9df89d8SEduardo Valentin	depends on PM_OPP
168f9df89d8SEduardo Valentin	help
169f9df89d8SEduardo Valentin	  This entry implements the generic clock cooling mechanism through
170f9df89d8SEduardo Valentin	  frequency clipping. Typically used to cool off co-processors. The
171f9df89d8SEduardo Valentin	  device that is configured to use this cooling mechanism will be
172f9df89d8SEduardo Valentin	  controlled to reduce clock frequency whenever temperature is high.
173f9df89d8SEduardo Valentin
174a76caf55SØrjan Eideconfig DEVFREQ_THERMAL
175a76caf55SØrjan Eide	bool "Generic device cooling support"
176a76caf55SØrjan Eide	depends on PM_DEVFREQ
177a76caf55SØrjan Eide	depends on PM_OPP
178a76caf55SØrjan Eide	help
179a76caf55SØrjan Eide	  This implements the generic devfreq cooling mechanism through
180a76caf55SØrjan Eide	  frequency reduction for devices using devfreq.
181a76caf55SØrjan Eide
182a76caf55SØrjan Eide	  This will throttle the device by limiting the maximum allowed DVFS
183a76caf55SØrjan Eide	  frequency corresponding to the cooling level.
184a76caf55SØrjan Eide
185a76caf55SØrjan Eide	  In order to use the power extensions of the cooling device,
186a76caf55SØrjan Eide	  devfreq should use the simple_ondemand governor.
187a76caf55SØrjan Eide
188f9df89d8SEduardo Valentin	  If you want this support, you should say Y here.
189f9df89d8SEduardo Valentin
190e6e238c3SAmit Daniel Kachhapconfig THERMAL_EMULATION
191e6e238c3SAmit Daniel Kachhap	bool "Thermal emulation mode support"
192e6e238c3SAmit Daniel Kachhap	help
193e6e238c3SAmit Daniel Kachhap	  Enable this option to make a emul_temp sysfs node in thermal zone
194e6e238c3SAmit Daniel Kachhap	  directory to support temperature emulation. With emulation sysfs node,
195e6e238c3SAmit Daniel Kachhap	  user can manually input temperature and test the different trip
196e6e238c3SAmit Daniel Kachhap	  threshold behaviour for simulation purpose.
197e6e238c3SAmit Daniel Kachhap
1988837295aSEduardo Valentin	  WARNING: Be careful while enabling this option on production systems,
1998837295aSEduardo Valentin	  because userland can easily disable the thermal policy by simply
2008837295aSEduardo Valentin	  flooding this sysfs node with low temperature values.
2018837295aSEduardo Valentin
2029a5238a9Skongxinweiconfig HISI_THERMAL
2039a5238a9Skongxinwei	tristate "Hisilicon thermal driver"
204f05f4821SLeo Yan	depends on ARCH_HISI || COMPILE_TEST
205bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
206f05f4821SLeo Yan	depends on OF
207f05f4821SLeo Yan	default y
2089a5238a9Skongxinwei	help
2099a5238a9Skongxinwei	  Enable this to plug hisilicon's thermal sensor driver into the Linux
2109a5238a9Skongxinwei	  thermal framework. cpufreq is used as the cooling device to throttle
2119a5238a9Skongxinwei	  CPUs when the passive trip is crossed.
2129a5238a9Skongxinwei
213ca3de46bSShawn Guoconfig IMX_THERMAL
214ca3de46bSShawn Guo	tristate "Temperature sensor driver for Freescale i.MX SoCs"
215eea6a364SPeter Robinson	depends on (ARCH_MXC && CPU_THERMAL) || COMPILE_TEST
216531fcdebSArnd Bergmann	depends on NVMEM || !NVMEM
217ca3de46bSShawn Guo	depends on MFD_SYSCON
218ca3de46bSShawn Guo	depends on OF
219ca3de46bSShawn Guo	help
220ca3de46bSShawn Guo	  Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
221ca3de46bSShawn Guo	  It supports one critical trip point and one passive trip point.  The
222ca3de46bSShawn Guo	  cpufreq is used as the cooling device to throttle CPUs when the
223ca3de46bSShawn Guo	  passive trip is crossed.
224ca3de46bSShawn Guo
225ec4664b3SLaxman Dewanganconfig MAX77620_THERMAL
226ec4664b3SLaxman Dewangan	tristate "Temperature sensor driver for Maxim MAX77620 PMIC"
227ec4664b3SLaxman Dewangan	depends on MFD_MAX77620
228ec4664b3SLaxman Dewangan	depends on OF
229ec4664b3SLaxman Dewangan	help
230ec4664b3SLaxman Dewangan	  Support for die junction temperature warning alarm for Maxim
231ec4664b3SLaxman Dewangan	  Semiconductor PMIC MAX77620 device. Device generates two alarm
232ec4664b3SLaxman Dewangan	  interrupts when PMIC die temperature cross the threshold of
233ec4664b3SLaxman Dewangan	  120 degC and 140 degC.
234ec4664b3SLaxman Dewangan
23543528445SJia Hongtaoconfig QORIQ_THERMAL
23643528445SJia Hongtao	tristate "QorIQ Thermal Monitoring Unit"
23743528445SJia Hongtao	depends on THERMAL_OF
23843528445SJia Hongtao	depends on HAS_IOMEM
23943528445SJia Hongtao	help
24043528445SJia Hongtao	  Support for Thermal Monitoring Unit (TMU) found on QorIQ platforms.
24143528445SJia Hongtao	  It supports one critical trip point and one passive trip point. The
24243528445SJia Hongtao	  cpufreq is used as the cooling device to throttle CPUs when the
24343528445SJia Hongtao	  passive trip is crossed.
24443528445SJia Hongtao
24572e19897SZhang Ruiconfig SPEAR_THERMAL
2464d2f1794SArnd Bergmann	tristate "SPEAr thermal sensor driver"
247aa2937b7SEduardo Valentin	depends on PLAT_SPEAR || COMPILE_TEST
248bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
24972e19897SZhang Rui	depends on OF
25072e19897SZhang Rui	help
25172e19897SZhang Rui	  Enable this to plug the SPEAr thermal sensor driver into the Linux
252a8227948SLuka Perkov	  thermal framework.
25372e19897SZhang Rui
254cbac8f63SCaesar Wangconfig ROCKCHIP_THERMAL
255cbac8f63SCaesar Wang	tristate "Rockchip thermal driver"
256444f9b00SEduardo Valentin	depends on ARCH_ROCKCHIP || COMPILE_TEST
257cbac8f63SCaesar Wang	depends on RESET_CONTROLLER
258bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
259cbac8f63SCaesar Wang	help
260cbac8f63SCaesar Wang	  Rockchip thermal driver provides support for Temperature sensor
261cbac8f63SCaesar Wang	  ADC (TS-ADC) found on Rockchip SoCs. It supports one critical
262cbac8f63SCaesar Wang	  trip point. Cpufreq is used as the cooling device and will throttle
263cbac8f63SCaesar Wang	  CPUs when the Temperature crosses the passive trip point.
264cbac8f63SCaesar Wang
26572e19897SZhang Ruiconfig RCAR_THERMAL
26672e19897SZhang Rui	tristate "Renesas R-Car thermal driver"
2678255e4e2SSimon Horman	depends on ARCH_RENESAS || COMPILE_TEST
268d1c8b041SRichard Weinberger	depends on HAS_IOMEM
26972e19897SZhang Rui	help
27072e19897SZhang Rui	  Enable this to plug the R-Car thermal sensor driver into the Linux
271a8227948SLuka Perkov	  thermal framework.
27272e19897SZhang Rui
273564e73d2SWolfram Sangconfig RCAR_GEN3_THERMAL
274564e73d2SWolfram Sang	tristate "Renesas R-Car Gen3 thermal driver"
275564e73d2SWolfram Sang	depends on ARCH_RENESAS || COMPILE_TEST
276564e73d2SWolfram Sang	depends on HAS_IOMEM
277564e73d2SWolfram Sang	depends on OF
278564e73d2SWolfram Sang	help
279564e73d2SWolfram Sang	  Enable this to plug the R-Car Gen3 thermal sensor driver into the Linux
280564e73d2SWolfram Sang	  thermal framework.
281564e73d2SWolfram Sang
2827060aa36SNobuhiro Iwamatsuconfig KIRKWOOD_THERMAL
2837060aa36SNobuhiro Iwamatsu	tristate "Temperature sensor on Marvell Kirkwood SoCs"
2849c8aa959SEduardo Valentin	depends on MACH_KIRKWOOD || COMPILE_TEST
285bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
2867060aa36SNobuhiro Iwamatsu	depends on OF
2877060aa36SNobuhiro Iwamatsu	help
2887060aa36SNobuhiro Iwamatsu	  Support for the Kirkwood thermal sensor driver into the Linux thermal
2897060aa36SNobuhiro Iwamatsu	  framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
2907060aa36SNobuhiro Iwamatsu
29174ffa64cSAndrew Lunnconfig DOVE_THERMAL
29274ffa64cSAndrew Lunn	tristate "Temperature sensor on Marvell Dove SoCs"
29307fffd5cSEduardo Valentin	depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST
294bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
29574ffa64cSAndrew Lunn	depends on OF
29674ffa64cSAndrew Lunn	help
29774ffa64cSAndrew Lunn	  Support for the Dove thermal sensor driver in the Linux thermal
29874ffa64cSAndrew Lunn	  framework.
29974ffa64cSAndrew Lunn
300aa1acb04Shongbo.zhangconfig DB8500_THERMAL
30126716ce1SArnd Bergmann	tristate "DB8500 thermal management"
30226716ce1SArnd Bergmann	depends on MFD_DB8500_PRCMU
303aa1acb04Shongbo.zhang	default y
304aa1acb04Shongbo.zhang	help
305aa1acb04Shongbo.zhang	  Adds DB8500 thermal management implementation according to the thermal
306aa1acb04Shongbo.zhang	  management framework. A thermal zone with several trip points will be
307aa1acb04Shongbo.zhang	  created. Cooling devices can be bound to the trip points to cool this
308aa1acb04Shongbo.zhang	  thermal zone if trip points reached.
309aa1acb04Shongbo.zhang
310fa0d654cSEzequiel Garciaconfig ARMADA_THERMAL
311a9d58a1aSMiquel Raynal	tristate "Marvell EBU Armada SoCs thermal management"
3121b158267SEduardo Valentin	depends on ARCH_MVEBU || COMPILE_TEST
313bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
314fa0d654cSEzequiel Garcia	depends on OF
315fa0d654cSEzequiel Garcia	help
316fa0d654cSEzequiel Garcia	  Enable this option if you want to have support for thermal management
317a9d58a1aSMiquel Raynal	  controller present in Marvell EBU Armada SoCs (370,375,XP,38x,7K,8K).
318fa0d654cSEzequiel Garcia
319608567aaSSteve Twissconfig DA9062_THERMAL
320608567aaSSteve Twiss	tristate "DA9062/DA9061 Dialog Semiconductor thermal driver"
321608567aaSSteve Twiss	depends on MFD_DA9062 || COMPILE_TEST
322608567aaSSteve Twiss	depends on OF
323608567aaSSteve Twiss	help
324608567aaSSteve Twiss	  Enable this for the Dialog Semiconductor thermal sensor driver.
325608567aaSSteve Twiss	  This will report PMIC junction over-temperature for one thermal trip
326608567aaSSteve Twiss	  zone.
327608567aaSSteve Twiss	  Compatible with the DA9062 and DA9061 PMICs.
328608567aaSSteve Twiss
329d6d71ee4SJacob Panconfig INTEL_POWERCLAMP
330d6d71ee4SJacob Pan	tristate "Intel PowerClamp idle injection driver"
331d6d71ee4SJacob Pan	depends on THERMAL
332d6d71ee4SJacob Pan	depends on X86
333d6d71ee4SJacob Pan	depends on CPU_SUP_INTEL
334d6d71ee4SJacob Pan	help
335d6d71ee4SJacob Pan	  Enable this to enable Intel PowerClamp idle injection driver. This
336d6d71ee4SJacob Pan	  enforce idle time which results in more package C-state residency. The
337d6d71ee4SJacob Pan	  user interface is exposed via generic thermal framework.
338d6d71ee4SJacob Pan
339f1a18a10SSrinivas Pandruvadaconfig X86_PKG_TEMP_THERMAL
340f1a18a10SSrinivas Pandruvada	tristate "X86 package temperature thermal driver"
341b3ba0206SRandy Dunlap	depends on X86_THERMAL_VECTOR
342f1a18a10SSrinivas Pandruvada	select THERMAL_GOV_USER_SPACE
34398cadf25SSrinivas Pandruvada	select THERMAL_WRITABLE_TRIPS
344f1a18a10SSrinivas Pandruvada	default m
345f1a18a10SSrinivas Pandruvada	help
346f1a18a10SSrinivas Pandruvada	  Enable this to register CPU digital sensor for package temperature as
347f1a18a10SSrinivas Pandruvada	  thermal zone. Each package will have its own thermal zone. There are
348f1a18a10SSrinivas Pandruvada	  two trip points which can be set by user to get notifications via thermal
349f1a18a10SSrinivas Pandruvada	  notification methods.
350f1a18a10SSrinivas Pandruvada
351ee073604SSrinivas Pandruvadaconfig INTEL_SOC_DTS_IOSF_CORE
352ee073604SSrinivas Pandruvada	tristate
35368fd77cfSArnd Bergmann	depends on X86 && PCI
354ee073604SSrinivas Pandruvada	select IOSF_MBI
355ee073604SSrinivas Pandruvada	help
356ee073604SSrinivas Pandruvada	  This is becoming a common feature for Intel SoCs to expose the additional
357ee073604SSrinivas Pandruvada	  digital temperature sensors (DTSs) using side band interface (IOSF). This
358ee073604SSrinivas Pandruvada	  implements the common set of helper functions to register, get temperature
359ee073604SSrinivas Pandruvada	  and get/set thresholds on DTSs.
360ee073604SSrinivas Pandruvada
361bc40b5e3SSrinivas Pandruvadaconfig INTEL_SOC_DTS_THERMAL
362bc40b5e3SSrinivas Pandruvada	tristate "Intel SoCs DTS thermal driver"
36368fd77cfSArnd Bergmann	depends on X86 && PCI
3643a2419f8SSrinivas Pandruvada	select INTEL_SOC_DTS_IOSF_CORE
36598cadf25SSrinivas Pandruvada	select THERMAL_WRITABLE_TRIPS
366bc40b5e3SSrinivas Pandruvada	help
367bc40b5e3SSrinivas Pandruvada	  Enable this to register Intel SoCs (e.g. Bay Trail) platform digital
368bc40b5e3SSrinivas Pandruvada	  temperature sensor (DTS). These SoCs have two additional DTSs in
369bc40b5e3SSrinivas Pandruvada	  addition to DTSs on CPU cores. Each DTS will be registered as a
370bc40b5e3SSrinivas Pandruvada	  thermal zone. There are two trip points. One of the trip point can
371bc40b5e3SSrinivas Pandruvada	  be set by user mode programs to get notifications via Linux thermal
372bc40b5e3SSrinivas Pandruvada	  notification methods.The other trip is a critical trip point, which
373bc40b5e3SSrinivas Pandruvada	  was set by the driver based on the TJ MAX temperature.
374bc40b5e3SSrinivas Pandruvada
3758c187693SOng, Boon Leongconfig INTEL_QUARK_DTS_THERMAL
3768c187693SOng, Boon Leong	tristate "Intel Quark DTS thermal driver"
3778c187693SOng, Boon Leong	depends on X86_INTEL_QUARK
3788c187693SOng, Boon Leong	help
3798c187693SOng, Boon Leong	  Enable this to register Intel Quark SoC (e.g. X1000) platform digital
3808c187693SOng, Boon Leong	  temperature sensor (DTS). For X1000 SoC, it has one on-die DTS.
3818c187693SOng, Boon Leong	  The DTS will be registered as a thermal zone. There are two trip points:
3828c187693SOng, Boon Leong	  hot & critical. The critical trip point default value is set by
3838c187693SOng, Boon Leong	  underlying BIOS/Firmware.
3848c187693SOng, Boon Leong
385a3c89334SAaron Lumenu "ACPI INT340X thermal drivers"
386a3c89334SAaron Lusource drivers/thermal/int340x_thermal/Kconfig
387a3c89334SAaron Luendmenu
38852b1c69dSJacob Pan
389b474303fSBin Gaoconfig INTEL_BXT_PMIC_THERMAL
390b474303fSBin Gao	tristate "Intel Broxton PMIC thermal driver"
391b5238b41SAndy Shevchenko	depends on X86 && INTEL_SOC_PMIC_BXTWC && REGMAP
392b474303fSBin Gao	help
393b474303fSBin Gao	  Select this driver for Intel Broxton PMIC with ADC channels monitoring
394b474303fSBin Gao	  system temperature measurements and alerts.
395b474303fSBin Gao	  This driver is used for monitoring the ADC channels of PMIC and handles
396b474303fSBin Gao	  the alert trip point interrupts and notifies the thermal framework with
397b474303fSBin Gao	  the trip point and temperature details of the zone.
398b474303fSBin Gao
399d0a12625STushar Daveconfig INTEL_PCH_THERMAL
400d0a12625STushar Dave	tristate "Intel PCH Thermal Reporting Driver"
401d0a12625STushar Dave	depends on X86 && PCI
402d0a12625STushar Dave	help
403d0a12625STushar Dave	  Enable this to support thermal reporting on certain intel PCHs.
404d0a12625STushar Dave	  Thermal reporting device will provide temperature reading,
405d0a12625STushar Dave	  programmable trip points and other information.
406d0a12625STushar Dave
407a92db1c8SSascha Hauerconfig MTK_THERMAL
408a92db1c8SSascha Hauer	tristate "Temperature sensor driver for mediatek SoCs"
409a92db1c8SSascha Hauer	depends on ARCH_MEDIATEK || COMPILE_TEST
41074e5053cSEduardo Valentin	depends on HAS_IOMEM
41162e14f6fSRandy Dunlap	depends on NVMEM || NVMEM=n
412a6f4850dSJohannes Berg	depends on RESET_CONTROLLER
413a92db1c8SSascha Hauer	default y
414a92db1c8SSascha Hauer	help
415a92db1c8SSascha Hauer	  Enable this option if you want to have support for thermal management
416a92db1c8SSascha Hauer	  controller present in Mediatek SoCs
417a92db1c8SSascha Hauer
418a94cb7eeSRafał Miłeckimenu "Broadcom thermal drivers"
4199e03cf1bSBrian Norrisdepends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || COMPILE_TEST
420a94cb7eeSRafał Miłeckisource "drivers/thermal/broadcom/Kconfig"
421a94cb7eeSRafał Miłeckiendmenu
422a94cb7eeSRafał Miłecki
423eb982001SEduardo Valentinmenu "Texas Instruments thermal drivers"
424ec2feb47SEduardo Valentindepends on ARCH_HAS_BANDGAP || COMPILE_TEST
425bf82c350SKrzysztof Kozlowskidepends on HAS_IOMEM
426eb982001SEduardo Valentinsource "drivers/thermal/ti-soc-thermal/Kconfig"
427eb982001SEduardo Valentinendmenu
428f157f596SZhang Rui
429c6821378SAmit Daniel Kachhapmenu "Samsung thermal drivers"
4302bf42735SEduardo Valentindepends on ARCH_EXYNOS || COMPILE_TEST
431c6821378SAmit Daniel Kachhapsource "drivers/thermal/samsung/Kconfig"
432c6821378SAmit Daniel Kachhapendmenu
433c6821378SAmit Daniel Kachhap
43460aef7ceSLee Jonesmenu "STMicroelectronics thermal drivers"
43560aef7ceSLee Jonesdepends on ARCH_STI && OF
43660aef7ceSLee Jonessource "drivers/thermal/st/Kconfig"
43760aef7ceSLee Jonesendmenu
43860aef7ceSLee Jones
4390b58c08bSMarc Gonzalezconfig TANGO_THERMAL
4400b58c08bSMarc Gonzalez	tristate "Tango thermal management"
4410b58c08bSMarc Gonzalez	depends on ARCH_TANGO || COMPILE_TEST
4420b58c08bSMarc Gonzalez	help
4430b58c08bSMarc Gonzalez	  Enable the Tango thermal driver, which supports the primitive
4440b58c08bSMarc Gonzalez	  temperature sensor embedded in Tango chips since the SMP8758.
4450b58c08bSMarc Gonzalez	  This sensor only generates a 1-bit signal to indicate whether
4460b58c08bSMarc Gonzalez	  the die temperature exceeds a programmable threshold.
4470b58c08bSMarc Gonzalez
448a4dff94fSWei Nisource "drivers/thermal/tegra/Kconfig"
449a4dff94fSWei Ni
450c610afaaSIvan T. Ivanovconfig QCOM_SPMI_TEMP_ALARM
451c610afaaSIvan T. Ivanov	tristate "Qualcomm SPMI PMIC Temperature Alarm"
452e4217468SArnd Bergmann	depends on OF && SPMI && IIO
453c610afaaSIvan T. Ivanov	select REGMAP_SPMI
454c610afaaSIvan T. Ivanov	help
455c610afaaSIvan T. Ivanov	  This enables a thermal sysfs driver for Qualcomm plug-and-play (QPNP)
456c610afaaSIvan T. Ivanov	  PMIC devices. It shows up in sysfs as a thermal sensor with multiple
457c610afaaSIvan T. Ivanov	  trip points. The temperature reported by the thermal sensor reflects the
458c610afaaSIvan T. Ivanov	  real time die temperature if an ADC is present or an estimate of the
459c610afaaSIvan T. Ivanov	  temperature based upon the over temperature stage value.
460c610afaaSIvan T. Ivanov
461b3aef78fSLaxman Dewanganconfig GENERIC_ADC_THERMAL
462b3aef78fSLaxman Dewangan	tristate "Generic ADC based thermal sensor"
463b3aef78fSLaxman Dewangan	depends on IIO
464b3aef78fSLaxman Dewangan	help
465b3aef78fSLaxman Dewangan	  This enabled a thermal sysfs driver for the temperature sensor
466b3aef78fSLaxman Dewangan	  which is connected to the General Purpose ADC. The ADC channel
467b3aef78fSLaxman Dewangan	  is read via IIO framework and the channel information is provided
468b3aef78fSLaxman Dewangan	  to this driver. This driver reports the temperature by reading ADC
469b3aef78fSLaxman Dewangan	  channel and converts it to temperature based on lookup table.
470b3aef78fSLaxman Dewangan
4719066073cSRajendra Nayakmenu "Qualcomm thermal drivers"
4729066073cSRajendra Nayakdepends on (ARCH_QCOM && OF) || COMPILE_TEST
4739066073cSRajendra Nayaksource "drivers/thermal/qcom/Kconfig"
4749066073cSRajendra Nayakendmenu
4759066073cSRajendra Nayak
47650fdd36fSBaoyou Xieconfig ZX2967_THERMAL
47750fdd36fSBaoyou Xie	tristate "Thermal sensors on zx2967 SoC"
47850fdd36fSBaoyou Xie	depends on ARCH_ZX || COMPILE_TEST
47950fdd36fSBaoyou Xie	help
48050fdd36fSBaoyou Xie	  Enable the zx2967 thermal sensors driver, which supports
48150fdd36fSBaoyou Xie	  the primitive temperature sensor embedded in zx2967 SoCs.
48250fdd36fSBaoyou Xie	  This sensor generates the real time die temperature.
48350fdd36fSBaoyou Xie
48486da4391SKunihiko Hayashiconfig UNIPHIER_THERMAL
48586da4391SKunihiko Hayashi	tristate "Socionext UniPhier thermal driver"
48686da4391SKunihiko Hayashi	depends on ARCH_UNIPHIER || COMPILE_TEST
48786da4391SKunihiko Hayashi	depends on THERMAL_OF && MFD_SYSCON
48886da4391SKunihiko Hayashi	help
48986da4391SKunihiko Hayashi	  Enable this to plug in UniPhier on-chip PVT thermal driver into the
49086da4391SKunihiko Hayashi	  thermal framework. The driver supports CPU thermal zone temperature
49186da4391SKunihiko Hayashi	  reporting and a couple of trip points.
49272e19897SZhang Ruiendif
493