xref: /linux/drivers/thermal/Kconfig (revision ef1d87e06ab4d3f9a95f02517ecc50902dc233a7)
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*ef1d87e0SKeerthyconfig THERMAL_EMERGENCY_POWEROFF_DELAY_MS
19*ef1d87e0SKeerthy	int "Emergency poweroff delay in milli-seconds"
20*ef1d87e0SKeerthy	depends on THERMAL
21*ef1d87e0SKeerthy	default 0
22*ef1d87e0SKeerthy	help
23*ef1d87e0SKeerthy	  Thermal subsystem will issue a graceful shutdown when
24*ef1d87e0SKeerthy	  critical temperatures are reached using orderly_poweroff(). In
25*ef1d87e0SKeerthy	  case of failure of an orderly_poweroff(), the thermal emergency
26*ef1d87e0SKeerthy	  poweroff kicks in after a delay has elapsed and shuts down the system.
27*ef1d87e0SKeerthy	  This config is number of milliseconds to delay before emergency
28*ef1d87e0SKeerthy	  poweroff kicks in. Similarly to the critical trip point,
29*ef1d87e0SKeerthy	  the delay should be carefully profiled so as to give adequate
30*ef1d87e0SKeerthy	  time for orderly_poweroff() to finish on regular execution.
31*ef1d87e0SKeerthy	  If set to 0 emergency poweroff will not be supported.
32*ef1d87e0SKeerthy
33*ef1d87e0SKeerthy	  In doubt, leave as 0.
34*ef1d87e0SKeerthy
3516d75239SRene Hermanconfig THERMAL_HWMON
36ab92402aSJean Delvare	bool
370dd88793SEduardo Valentin	prompt "Expose thermal sensors as hwmon device"
3816d75239SRene Herman	depends on HWMON=y || HWMON=THERMAL
39ab92402aSJean Delvare	default y
400dd88793SEduardo Valentin	help
410dd88793SEduardo Valentin	  In case a sensor is registered with the thermal
420dd88793SEduardo Valentin	  framework, this option will also register it
430dd88793SEduardo Valentin	  as a hwmon. The sensor will then have the common
440dd88793SEduardo Valentin	  hwmon sysfs interface.
450dd88793SEduardo Valentin
460dd88793SEduardo Valentin	  Say 'Y' here if you want all thermal sensors to
470dd88793SEduardo Valentin	  have hwmon sysfs interface too.
486a92c366SVincenzo Frascino
494e5e4705SEduardo Valentinconfig THERMAL_OF
504e5e4705SEduardo Valentin	bool
514e5e4705SEduardo Valentin	prompt "APIs to parse thermal data out of device tree"
524e5e4705SEduardo Valentin	depends on OF
534e5e4705SEduardo Valentin	default y
544e5e4705SEduardo Valentin	help
554e5e4705SEduardo Valentin	  This options provides helpers to add the support to
564e5e4705SEduardo Valentin	  read and parse thermal data definitions out of the
574e5e4705SEduardo Valentin	  device tree blob.
584e5e4705SEduardo Valentin
594e5e4705SEduardo Valentin	  Say 'Y' here if you need to build thermal infrastructure
604e5e4705SEduardo Valentin	  based on device tree.
614e5e4705SEduardo Valentin
6235e94644SPunit Agrawalconfig THERMAL_WRITABLE_TRIPS
6335e94644SPunit Agrawal	bool "Enable writable trip points"
6435e94644SPunit Agrawal	help
6535e94644SPunit Agrawal	  This option allows the system integrator to choose whether
6635e94644SPunit Agrawal	  trip temperatures can be changed from userspace. The
6735e94644SPunit Agrawal	  writable trips need to be specified when setting up the
6835e94644SPunit Agrawal	  thermal zone but the choice here takes precedence.
6935e94644SPunit Agrawal
7035e94644SPunit Agrawal	  Say 'Y' here if you would like to allow userspace tools to
7135e94644SPunit Agrawal	  change trip temperatures.
7235e94644SPunit Agrawal
73a56757afSDurgadoss Rchoice
74a56757afSDurgadoss R	prompt "Default Thermal governor"
75a56757afSDurgadoss R	default THERMAL_DEFAULT_GOV_STEP_WISE
76a56757afSDurgadoss R	help
77a56757afSDurgadoss R	  This option sets which thermal governor shall be loaded at
78a56757afSDurgadoss R	  startup. If in doubt, select 'step_wise'.
79a56757afSDurgadoss R
80a56757afSDurgadoss Rconfig THERMAL_DEFAULT_GOV_STEP_WISE
81a56757afSDurgadoss R	bool "step_wise"
829d185d04SZhang Rui	select THERMAL_GOV_STEP_WISE
83a56757afSDurgadoss R	help
84a56757afSDurgadoss R	  Use the step_wise governor as default. This throttles the
85a56757afSDurgadoss R	  devices one step at a time.
86a56757afSDurgadoss R
87a56757afSDurgadoss Rconfig THERMAL_DEFAULT_GOV_FAIR_SHARE
88a56757afSDurgadoss R	bool "fair_share"
899d185d04SZhang Rui	select THERMAL_GOV_FAIR_SHARE
90a56757afSDurgadoss R	help
91a56757afSDurgadoss R	  Use the fair_share governor as default. This throttles the
92a56757afSDurgadoss R	  devices based on their 'contribution' to a zone. The
93a56757afSDurgadoss R	  contribution should be provided through platform data.
94a56757afSDurgadoss R
95a56757afSDurgadoss Rconfig THERMAL_DEFAULT_GOV_USER_SPACE
96a56757afSDurgadoss R	bool "user_space"
979d185d04SZhang Rui	select THERMAL_GOV_USER_SPACE
98a56757afSDurgadoss R	help
99a56757afSDurgadoss R	  Select this if you want to let the user space manage the
100ece238feSRegid Ichira	  platform thermals.
10172e19897SZhang Rui
1026b775e87SJavi Merinoconfig THERMAL_DEFAULT_GOV_POWER_ALLOCATOR
1036b775e87SJavi Merino	bool "power_allocator"
1046b775e87SJavi Merino	select THERMAL_GOV_POWER_ALLOCATOR
1056b775e87SJavi Merino	help
1066b775e87SJavi Merino	  Select this if you want to control temperature based on
1076b775e87SJavi Merino	  system and device power allocation. This governor can only
1086b775e87SJavi Merino	  operate on cooling devices that implement the power API.
1096b775e87SJavi Merino
110a56757afSDurgadoss Rendchoice
11172e19897SZhang Rui
1129d185d04SZhang Ruiconfig THERMAL_GOV_FAIR_SHARE
11372e19897SZhang Rui	bool "Fair-share thermal governor"
11472e19897SZhang Rui	help
11572e19897SZhang Rui	  Enable this to manage platform thermals using fair-share governor.
11672e19897SZhang Rui
1179d185d04SZhang Ruiconfig THERMAL_GOV_STEP_WISE
11872e19897SZhang Rui	bool "Step_wise thermal governor"
11972e19897SZhang Rui	help
12072e19897SZhang Rui	  Enable this to manage platform thermals using a simple linear
121a8227948SLuka Perkov	  governor.
12272e19897SZhang Rui
123e4dbf98fSPeter Feuererconfig THERMAL_GOV_BANG_BANG
124e4dbf98fSPeter Feuerer	bool "Bang Bang thermal governor"
125e4dbf98fSPeter Feuerer	default n
126e4dbf98fSPeter Feuerer	help
127e4dbf98fSPeter Feuerer	  Enable this to manage platform thermals using bang bang governor.
128e4dbf98fSPeter Feuerer
129e4dbf98fSPeter Feuerer	  Say 'Y' here if you want to use two point temperature regulation
130e4dbf98fSPeter Feuerer	  used for fans without throttling.  Some fan drivers depend on this
131e4dbf98fSPeter Feuerer	  governor to be enabled (e.g. acerhdf).
132e4dbf98fSPeter Feuerer
1339d185d04SZhang Ruiconfig THERMAL_GOV_USER_SPACE
13472e19897SZhang Rui	bool "User_space thermal governor"
13572e19897SZhang Rui	help
13672e19897SZhang Rui	  Enable this to let the user space manage the platform thermals.
13772e19897SZhang Rui
1386b775e87SJavi Merinoconfig THERMAL_GOV_POWER_ALLOCATOR
1396b775e87SJavi Merino	bool "Power allocator thermal governor"
1406b775e87SJavi Merino	help
1416b775e87SJavi Merino	  Enable this to manage platform thermals by dynamically
1426b775e87SJavi Merino	  allocating and limiting power to devices.
1436b775e87SJavi Merino
14472e19897SZhang Ruiconfig CPU_THERMAL
145bbf7fc88SZhang Rui	bool "generic cpu cooling support"
14672e19897SZhang Rui	depends on CPU_FREQ
14739d99cffSEduardo Valentin	depends on THERMAL_OF
14872e19897SZhang Rui	help
14972e19897SZhang Rui	  This implements the generic cpu cooling mechanism through frequency
150f7188b3dSEduardo Valentin	  reduction. An ACPI version of this already exists
151f7188b3dSEduardo Valentin	  (drivers/acpi/processor_thermal.c).
15272e19897SZhang Rui	  This will be useful for platforms using the generic thermal interface
15372e19897SZhang Rui	  and not the ACPI interface.
154f7188b3dSEduardo Valentin
15572e19897SZhang Rui	  If you want this support, you should say Y here.
15672e19897SZhang Rui
157f9df89d8SEduardo Valentinconfig CLOCK_THERMAL
158f9df89d8SEduardo Valentin	bool "Generic clock cooling support"
159f9df89d8SEduardo Valentin	depends on COMMON_CLK
160f9df89d8SEduardo Valentin	depends on PM_OPP
161f9df89d8SEduardo Valentin	help
162f9df89d8SEduardo Valentin	  This entry implements the generic clock cooling mechanism through
163f9df89d8SEduardo Valentin	  frequency clipping. Typically used to cool off co-processors. The
164f9df89d8SEduardo Valentin	  device that is configured to use this cooling mechanism will be
165f9df89d8SEduardo Valentin	  controlled to reduce clock frequency whenever temperature is high.
166f9df89d8SEduardo Valentin
167a76caf55SØrjan Eideconfig DEVFREQ_THERMAL
168a76caf55SØrjan Eide	bool "Generic device cooling support"
169a76caf55SØrjan Eide	depends on PM_DEVFREQ
170a76caf55SØrjan Eide	depends on PM_OPP
171a76caf55SØrjan Eide	help
172a76caf55SØrjan Eide	  This implements the generic devfreq cooling mechanism through
173a76caf55SØrjan Eide	  frequency reduction for devices using devfreq.
174a76caf55SØrjan Eide
175a76caf55SØrjan Eide	  This will throttle the device by limiting the maximum allowed DVFS
176a76caf55SØrjan Eide	  frequency corresponding to the cooling level.
177a76caf55SØrjan Eide
178a76caf55SØrjan Eide	  In order to use the power extensions of the cooling device,
179a76caf55SØrjan Eide	  devfreq should use the simple_ondemand governor.
180a76caf55SØrjan Eide
181f9df89d8SEduardo Valentin	  If you want this support, you should say Y here.
182f9df89d8SEduardo Valentin
183e6e238c3SAmit Daniel Kachhapconfig THERMAL_EMULATION
184e6e238c3SAmit Daniel Kachhap	bool "Thermal emulation mode support"
185e6e238c3SAmit Daniel Kachhap	help
186e6e238c3SAmit Daniel Kachhap	  Enable this option to make a emul_temp sysfs node in thermal zone
187e6e238c3SAmit Daniel Kachhap	  directory to support temperature emulation. With emulation sysfs node,
188e6e238c3SAmit Daniel Kachhap	  user can manually input temperature and test the different trip
189e6e238c3SAmit Daniel Kachhap	  threshold behaviour for simulation purpose.
190e6e238c3SAmit Daniel Kachhap
1918837295aSEduardo Valentin	  WARNING: Be careful while enabling this option on production systems,
1928837295aSEduardo Valentin	  because userland can easily disable the thermal policy by simply
1938837295aSEduardo Valentin	  flooding this sysfs node with low temperature values.
1948837295aSEduardo Valentin
1959a5238a9Skongxinweiconfig HISI_THERMAL
1969a5238a9Skongxinwei	tristate "Hisilicon thermal driver"
197f05f4821SLeo Yan	depends on ARCH_HISI || COMPILE_TEST
198bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
199f05f4821SLeo Yan	depends on OF
200f05f4821SLeo Yan	default y
2019a5238a9Skongxinwei	help
2029a5238a9Skongxinwei	  Enable this to plug hisilicon's thermal sensor driver into the Linux
2039a5238a9Skongxinwei	  thermal framework. cpufreq is used as the cooling device to throttle
2049a5238a9Skongxinwei	  CPUs when the passive trip is crossed.
2059a5238a9Skongxinwei
206ca3de46bSShawn Guoconfig IMX_THERMAL
207ca3de46bSShawn Guo	tristate "Temperature sensor driver for Freescale i.MX SoCs"
208eea6a364SPeter Robinson	depends on (ARCH_MXC && CPU_THERMAL) || COMPILE_TEST
209ca3de46bSShawn Guo	depends on MFD_SYSCON
210ca3de46bSShawn Guo	depends on OF
211ca3de46bSShawn Guo	help
212ca3de46bSShawn Guo	  Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
213ca3de46bSShawn Guo	  It supports one critical trip point and one passive trip point.  The
214ca3de46bSShawn Guo	  cpufreq is used as the cooling device to throttle CPUs when the
215ca3de46bSShawn Guo	  passive trip is crossed.
216ca3de46bSShawn Guo
217ec4664b3SLaxman Dewanganconfig MAX77620_THERMAL
218ec4664b3SLaxman Dewangan	tristate "Temperature sensor driver for Maxim MAX77620 PMIC"
219ec4664b3SLaxman Dewangan	depends on MFD_MAX77620
220ec4664b3SLaxman Dewangan	depends on OF
221ec4664b3SLaxman Dewangan	help
222ec4664b3SLaxman Dewangan	  Support for die junction temperature warning alarm for Maxim
223ec4664b3SLaxman Dewangan	  Semiconductor PMIC MAX77620 device. Device generates two alarm
224ec4664b3SLaxman Dewangan	  interrupts when PMIC die temperature cross the threshold of
225ec4664b3SLaxman Dewangan	  120 degC and 140 degC.
226ec4664b3SLaxman Dewangan
22743528445SJia Hongtaoconfig QORIQ_THERMAL
22843528445SJia Hongtao	tristate "QorIQ Thermal Monitoring Unit"
22943528445SJia Hongtao	depends on THERMAL_OF
23043528445SJia Hongtao	depends on HAS_IOMEM
23143528445SJia Hongtao	help
23243528445SJia Hongtao	  Support for Thermal Monitoring Unit (TMU) found on QorIQ platforms.
23343528445SJia Hongtao	  It supports one critical trip point and one passive trip point. The
23443528445SJia Hongtao	  cpufreq is used as the cooling device to throttle CPUs when the
23543528445SJia Hongtao	  passive trip is crossed.
23643528445SJia Hongtao
23772e19897SZhang Ruiconfig SPEAR_THERMAL
2384d2f1794SArnd Bergmann	tristate "SPEAr thermal sensor driver"
239aa2937b7SEduardo Valentin	depends on PLAT_SPEAR || COMPILE_TEST
240bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
24172e19897SZhang Rui	depends on OF
24272e19897SZhang Rui	help
24372e19897SZhang Rui	  Enable this to plug the SPEAr thermal sensor driver into the Linux
244a8227948SLuka Perkov	  thermal framework.
24572e19897SZhang Rui
246cbac8f63SCaesar Wangconfig ROCKCHIP_THERMAL
247cbac8f63SCaesar Wang	tristate "Rockchip thermal driver"
248444f9b00SEduardo Valentin	depends on ARCH_ROCKCHIP || COMPILE_TEST
249cbac8f63SCaesar Wang	depends on RESET_CONTROLLER
250bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
251cbac8f63SCaesar Wang	help
252cbac8f63SCaesar Wang	  Rockchip thermal driver provides support for Temperature sensor
253cbac8f63SCaesar Wang	  ADC (TS-ADC) found on Rockchip SoCs. It supports one critical
254cbac8f63SCaesar Wang	  trip point. Cpufreq is used as the cooling device and will throttle
255cbac8f63SCaesar Wang	  CPUs when the Temperature crosses the passive trip point.
256cbac8f63SCaesar Wang
25772e19897SZhang Ruiconfig RCAR_THERMAL
25872e19897SZhang Rui	tristate "Renesas R-Car thermal driver"
2598255e4e2SSimon Horman	depends on ARCH_RENESAS || COMPILE_TEST
260d1c8b041SRichard Weinberger	depends on HAS_IOMEM
26172e19897SZhang Rui	help
26272e19897SZhang Rui	  Enable this to plug the R-Car thermal sensor driver into the Linux
263a8227948SLuka Perkov	  thermal framework.
26472e19897SZhang Rui
265564e73d2SWolfram Sangconfig RCAR_GEN3_THERMAL
266564e73d2SWolfram Sang	tristate "Renesas R-Car Gen3 thermal driver"
267564e73d2SWolfram Sang	depends on ARCH_RENESAS || COMPILE_TEST
268564e73d2SWolfram Sang	depends on HAS_IOMEM
269564e73d2SWolfram Sang	depends on OF
270564e73d2SWolfram Sang	help
271564e73d2SWolfram Sang	  Enable this to plug the R-Car Gen3 thermal sensor driver into the Linux
272564e73d2SWolfram Sang	  thermal framework.
273564e73d2SWolfram Sang
2747060aa36SNobuhiro Iwamatsuconfig KIRKWOOD_THERMAL
2757060aa36SNobuhiro Iwamatsu	tristate "Temperature sensor on Marvell Kirkwood SoCs"
2769c8aa959SEduardo Valentin	depends on MACH_KIRKWOOD || COMPILE_TEST
277bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
2787060aa36SNobuhiro Iwamatsu	depends on OF
2797060aa36SNobuhiro Iwamatsu	help
2807060aa36SNobuhiro Iwamatsu	  Support for the Kirkwood thermal sensor driver into the Linux thermal
2817060aa36SNobuhiro Iwamatsu	  framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
2827060aa36SNobuhiro Iwamatsu
28374ffa64cSAndrew Lunnconfig DOVE_THERMAL
28474ffa64cSAndrew Lunn	tristate "Temperature sensor on Marvell Dove SoCs"
28507fffd5cSEduardo Valentin	depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST
286bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
28774ffa64cSAndrew Lunn	depends on OF
28874ffa64cSAndrew Lunn	help
28974ffa64cSAndrew Lunn	  Support for the Dove thermal sensor driver in the Linux thermal
29074ffa64cSAndrew Lunn	  framework.
29174ffa64cSAndrew Lunn
292aa1acb04Shongbo.zhangconfig DB8500_THERMAL
29326716ce1SArnd Bergmann	tristate "DB8500 thermal management"
29426716ce1SArnd Bergmann	depends on MFD_DB8500_PRCMU
295aa1acb04Shongbo.zhang	default y
296aa1acb04Shongbo.zhang	help
297aa1acb04Shongbo.zhang	  Adds DB8500 thermal management implementation according to the thermal
298aa1acb04Shongbo.zhang	  management framework. A thermal zone with several trip points will be
299aa1acb04Shongbo.zhang	  created. Cooling devices can be bound to the trip points to cool this
300aa1acb04Shongbo.zhang	  thermal zone if trip points reached.
301aa1acb04Shongbo.zhang
302fa0d654cSEzequiel Garciaconfig ARMADA_THERMAL
303fa0d654cSEzequiel Garcia	tristate "Armada 370/XP thermal management"
3041b158267SEduardo Valentin	depends on ARCH_MVEBU || COMPILE_TEST
305bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
306fa0d654cSEzequiel Garcia	depends on OF
307fa0d654cSEzequiel Garcia	help
308fa0d654cSEzequiel Garcia	  Enable this option if you want to have support for thermal management
309fa0d654cSEzequiel Garcia	  controller present in Armada 370 and Armada XP SoC.
310fa0d654cSEzequiel Garcia
311aa1acb04Shongbo.zhangconfig DB8500_CPUFREQ_COOLING
312aa1acb04Shongbo.zhang	tristate "DB8500 cpufreq cooling"
313527860feSLuis de Bethencourt	depends on ARCH_U8500 || COMPILE_TEST
314bf82c350SKrzysztof Kozlowski	depends on HAS_IOMEM
315aa1acb04Shongbo.zhang	depends on CPU_THERMAL
316aa1acb04Shongbo.zhang	default y
317aa1acb04Shongbo.zhang	help
318aa1acb04Shongbo.zhang	  Adds DB8500 cpufreq cooling devices, and these cooling devices can be
319aa1acb04Shongbo.zhang	  bound to thermal zone trip points. When a trip point reached, the
320aa1acb04Shongbo.zhang	  bound cpufreq cooling device turns active to set CPU frequency low to
321aa1acb04Shongbo.zhang	  cool down the CPU.
32272e19897SZhang Rui
323d6d71ee4SJacob Panconfig INTEL_POWERCLAMP
324d6d71ee4SJacob Pan	tristate "Intel PowerClamp idle injection driver"
325d6d71ee4SJacob Pan	depends on THERMAL
326d6d71ee4SJacob Pan	depends on X86
327d6d71ee4SJacob Pan	depends on CPU_SUP_INTEL
328d6d71ee4SJacob Pan	help
329d6d71ee4SJacob Pan	  Enable this to enable Intel PowerClamp idle injection driver. This
330d6d71ee4SJacob Pan	  enforce idle time which results in more package C-state residency. The
331d6d71ee4SJacob Pan	  user interface is exposed via generic thermal framework.
332d6d71ee4SJacob Pan
333f1a18a10SSrinivas Pandruvadaconfig X86_PKG_TEMP_THERMAL
334f1a18a10SSrinivas Pandruvada	tristate "X86 package temperature thermal driver"
335b3ba0206SRandy Dunlap	depends on X86_THERMAL_VECTOR
336f1a18a10SSrinivas Pandruvada	select THERMAL_GOV_USER_SPACE
33798cadf25SSrinivas Pandruvada	select THERMAL_WRITABLE_TRIPS
338f1a18a10SSrinivas Pandruvada	default m
339f1a18a10SSrinivas Pandruvada	help
340f1a18a10SSrinivas Pandruvada	  Enable this to register CPU digital sensor for package temperature as
341f1a18a10SSrinivas Pandruvada	  thermal zone. Each package will have its own thermal zone. There are
342f1a18a10SSrinivas Pandruvada	  two trip points which can be set by user to get notifications via thermal
343f1a18a10SSrinivas Pandruvada	  notification methods.
344f1a18a10SSrinivas Pandruvada
345ee073604SSrinivas Pandruvadaconfig INTEL_SOC_DTS_IOSF_CORE
346ee073604SSrinivas Pandruvada	tristate
347ee073604SSrinivas Pandruvada	depends on X86
348ee073604SSrinivas Pandruvada	select IOSF_MBI
349ee073604SSrinivas Pandruvada	help
350ee073604SSrinivas Pandruvada	  This is becoming a common feature for Intel SoCs to expose the additional
351ee073604SSrinivas Pandruvada	  digital temperature sensors (DTSs) using side band interface (IOSF). This
352ee073604SSrinivas Pandruvada	  implements the common set of helper functions to register, get temperature
353ee073604SSrinivas Pandruvada	  and get/set thresholds on DTSs.
354ee073604SSrinivas Pandruvada
355bc40b5e3SSrinivas Pandruvadaconfig INTEL_SOC_DTS_THERMAL
356bc40b5e3SSrinivas Pandruvada	tristate "Intel SoCs DTS thermal driver"
3573a2419f8SSrinivas Pandruvada	depends on X86
3583a2419f8SSrinivas Pandruvada	select INTEL_SOC_DTS_IOSF_CORE
35998cadf25SSrinivas Pandruvada	select THERMAL_WRITABLE_TRIPS
360bc40b5e3SSrinivas Pandruvada	help
361bc40b5e3SSrinivas Pandruvada	  Enable this to register Intel SoCs (e.g. Bay Trail) platform digital
362bc40b5e3SSrinivas Pandruvada	  temperature sensor (DTS). These SoCs have two additional DTSs in
363bc40b5e3SSrinivas Pandruvada	  addition to DTSs on CPU cores. Each DTS will be registered as a
364bc40b5e3SSrinivas Pandruvada	  thermal zone. There are two trip points. One of the trip point can
365bc40b5e3SSrinivas Pandruvada	  be set by user mode programs to get notifications via Linux thermal
366bc40b5e3SSrinivas Pandruvada	  notification methods.The other trip is a critical trip point, which
367bc40b5e3SSrinivas Pandruvada	  was set by the driver based on the TJ MAX temperature.
368bc40b5e3SSrinivas Pandruvada
3698c187693SOng, Boon Leongconfig INTEL_QUARK_DTS_THERMAL
3708c187693SOng, Boon Leong	tristate "Intel Quark DTS thermal driver"
3718c187693SOng, Boon Leong	depends on X86_INTEL_QUARK
3728c187693SOng, Boon Leong	help
3738c187693SOng, Boon Leong	  Enable this to register Intel Quark SoC (e.g. X1000) platform digital
3748c187693SOng, Boon Leong	  temperature sensor (DTS). For X1000 SoC, it has one on-die DTS.
3758c187693SOng, Boon Leong	  The DTS will be registered as a thermal zone. There are two trip points:
3768c187693SOng, Boon Leong	  hot & critical. The critical trip point default value is set by
3778c187693SOng, Boon Leong	  underlying BIOS/Firmware.
3788c187693SOng, Boon Leong
379a3c89334SAaron Lumenu "ACPI INT340X thermal drivers"
380a3c89334SAaron Lusource drivers/thermal/int340x_thermal/Kconfig
381a3c89334SAaron Luendmenu
38252b1c69dSJacob Pan
383b474303fSBin Gaoconfig INTEL_BXT_PMIC_THERMAL
384b474303fSBin Gao	tristate "Intel Broxton PMIC thermal driver"
385b474303fSBin Gao	depends on X86 && INTEL_SOC_PMIC && REGMAP
386b474303fSBin Gao	help
387b474303fSBin Gao	  Select this driver for Intel Broxton PMIC with ADC channels monitoring
388b474303fSBin Gao	  system temperature measurements and alerts.
389b474303fSBin Gao	  This driver is used for monitoring the ADC channels of PMIC and handles
390b474303fSBin Gao	  the alert trip point interrupts and notifies the thermal framework with
391b474303fSBin Gao	  the trip point and temperature details of the zone.
392b474303fSBin Gao
393d0a12625STushar Daveconfig INTEL_PCH_THERMAL
394d0a12625STushar Dave	tristate "Intel PCH Thermal Reporting Driver"
395d0a12625STushar Dave	depends on X86 && PCI
396d0a12625STushar Dave	help
397d0a12625STushar Dave	  Enable this to support thermal reporting on certain intel PCHs.
398d0a12625STushar Dave	  Thermal reporting device will provide temperature reading,
399d0a12625STushar Dave	  programmable trip points and other information.
400d0a12625STushar Dave
401a92db1c8SSascha Hauerconfig MTK_THERMAL
402a92db1c8SSascha Hauer	tristate "Temperature sensor driver for mediatek SoCs"
403a92db1c8SSascha Hauer	depends on ARCH_MEDIATEK || COMPILE_TEST
40474e5053cSEduardo Valentin	depends on HAS_IOMEM
40562e14f6fSRandy Dunlap	depends on NVMEM || NVMEM=n
406a6f4850dSJohannes Berg	depends on RESET_CONTROLLER
407a92db1c8SSascha Hauer	default y
408a92db1c8SSascha Hauer	help
409a92db1c8SSascha Hauer	  Enable this option if you want to have support for thermal management
410a92db1c8SSascha Hauer	  controller present in Mediatek SoCs
411a92db1c8SSascha Hauer
412eb982001SEduardo Valentinmenu "Texas Instruments thermal drivers"
413ec2feb47SEduardo Valentindepends on ARCH_HAS_BANDGAP || COMPILE_TEST
414bf82c350SKrzysztof Kozlowskidepends on HAS_IOMEM
415eb982001SEduardo Valentinsource "drivers/thermal/ti-soc-thermal/Kconfig"
416eb982001SEduardo Valentinendmenu
417f157f596SZhang Rui
418c6821378SAmit Daniel Kachhapmenu "Samsung thermal drivers"
4192bf42735SEduardo Valentindepends on ARCH_EXYNOS || COMPILE_TEST
420c6821378SAmit Daniel Kachhapsource "drivers/thermal/samsung/Kconfig"
421c6821378SAmit Daniel Kachhapendmenu
422c6821378SAmit Daniel Kachhap
42360aef7ceSLee Jonesmenu "STMicroelectronics thermal drivers"
42460aef7ceSLee Jonesdepends on ARCH_STI && OF
42560aef7ceSLee Jonessource "drivers/thermal/st/Kconfig"
42660aef7ceSLee Jonesendmenu
42760aef7ceSLee Jones
4280b58c08bSMarc Gonzalezconfig TANGO_THERMAL
4290b58c08bSMarc Gonzalez	tristate "Tango thermal management"
4300b58c08bSMarc Gonzalez	depends on ARCH_TANGO || COMPILE_TEST
4310b58c08bSMarc Gonzalez	help
4320b58c08bSMarc Gonzalez	  Enable the Tango thermal driver, which supports the primitive
4330b58c08bSMarc Gonzalez	  temperature sensor embedded in Tango chips since the SMP8758.
4340b58c08bSMarc Gonzalez	  This sensor only generates a 1-bit signal to indicate whether
4350b58c08bSMarc Gonzalez	  the die temperature exceeds a programmable threshold.
4360b58c08bSMarc Gonzalez
437a4dff94fSWei Nisource "drivers/thermal/tegra/Kconfig"
438a4dff94fSWei Ni
439c610afaaSIvan T. Ivanovconfig QCOM_SPMI_TEMP_ALARM
440c610afaaSIvan T. Ivanov	tristate "Qualcomm SPMI PMIC Temperature Alarm"
441e4217468SArnd Bergmann	depends on OF && SPMI && IIO
442c610afaaSIvan T. Ivanov	select REGMAP_SPMI
443c610afaaSIvan T. Ivanov	help
444c610afaaSIvan T. Ivanov	  This enables a thermal sysfs driver for Qualcomm plug-and-play (QPNP)
445c610afaaSIvan T. Ivanov	  PMIC devices. It shows up in sysfs as a thermal sensor with multiple
446c610afaaSIvan T. Ivanov	  trip points. The temperature reported by the thermal sensor reflects the
447c610afaaSIvan T. Ivanov	  real time die temperature if an ADC is present or an estimate of the
448c610afaaSIvan T. Ivanov	  temperature based upon the over temperature stage value.
449c610afaaSIvan T. Ivanov
450b3aef78fSLaxman Dewanganconfig GENERIC_ADC_THERMAL
451b3aef78fSLaxman Dewangan	tristate "Generic ADC based thermal sensor"
452b3aef78fSLaxman Dewangan	depends on IIO
453b3aef78fSLaxman Dewangan	help
454b3aef78fSLaxman Dewangan	  This enabled a thermal sysfs driver for the temperature sensor
455b3aef78fSLaxman Dewangan	  which is connected to the General Purpose ADC. The ADC channel
456b3aef78fSLaxman Dewangan	  is read via IIO framework and the channel information is provided
457b3aef78fSLaxman Dewangan	  to this driver. This driver reports the temperature by reading ADC
458b3aef78fSLaxman Dewangan	  channel and converts it to temperature based on lookup table.
459b3aef78fSLaxman Dewangan
4609066073cSRajendra Nayakmenu "Qualcomm thermal drivers"
4619066073cSRajendra Nayakdepends on (ARCH_QCOM && OF) || COMPILE_TEST
4629066073cSRajendra Nayaksource "drivers/thermal/qcom/Kconfig"
4639066073cSRajendra Nayakendmenu
4649066073cSRajendra Nayak
46550fdd36fSBaoyou Xieconfig ZX2967_THERMAL
46650fdd36fSBaoyou Xie	tristate "Thermal sensors on zx2967 SoC"
46750fdd36fSBaoyou Xie	depends on ARCH_ZX || COMPILE_TEST
46850fdd36fSBaoyou Xie	help
46950fdd36fSBaoyou Xie	  Enable the zx2967 thermal sensors driver, which supports
47050fdd36fSBaoyou Xie	  the primitive temperature sensor embedded in zx2967 SoCs.
47150fdd36fSBaoyou Xie	  This sensor generates the real time die temperature.
47250fdd36fSBaoyou Xie
47372e19897SZhang Ruiendif
474