xref: /linux/drivers/thermal/Kconfig (revision 4e5e4705bf69ea450f58fc709ac5888f321a9299)
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
1816d75239SRene Hermanconfig THERMAL_HWMON
19ab92402aSJean Delvare	bool
200dd88793SEduardo Valentin	prompt "Expose thermal sensors as hwmon device"
2116d75239SRene Herman	depends on HWMON=y || HWMON=THERMAL
22ab92402aSJean Delvare	default y
230dd88793SEduardo Valentin	help
240dd88793SEduardo Valentin	  In case a sensor is registered with the thermal
250dd88793SEduardo Valentin	  framework, this option will also register it
260dd88793SEduardo Valentin	  as a hwmon. The sensor will then have the common
270dd88793SEduardo Valentin	  hwmon sysfs interface.
280dd88793SEduardo Valentin
290dd88793SEduardo Valentin	  Say 'Y' here if you want all thermal sensors to
300dd88793SEduardo Valentin	  have hwmon sysfs interface too.
316a92c366SVincenzo Frascino
32*4e5e4705SEduardo Valentinconfig THERMAL_OF
33*4e5e4705SEduardo Valentin	bool
34*4e5e4705SEduardo Valentin	prompt "APIs to parse thermal data out of device tree"
35*4e5e4705SEduardo Valentin	depends on OF
36*4e5e4705SEduardo Valentin	default y
37*4e5e4705SEduardo Valentin	help
38*4e5e4705SEduardo Valentin	  This options provides helpers to add the support to
39*4e5e4705SEduardo Valentin	  read and parse thermal data definitions out of the
40*4e5e4705SEduardo Valentin	  device tree blob.
41*4e5e4705SEduardo Valentin
42*4e5e4705SEduardo Valentin	  Say 'Y' here if you need to build thermal infrastructure
43*4e5e4705SEduardo Valentin	  based on device tree.
44*4e5e4705SEduardo Valentin
45a56757afSDurgadoss Rchoice
46a56757afSDurgadoss R	prompt "Default Thermal governor"
47a56757afSDurgadoss R	default THERMAL_DEFAULT_GOV_STEP_WISE
48a56757afSDurgadoss R	help
49a56757afSDurgadoss R	  This option sets which thermal governor shall be loaded at
50a56757afSDurgadoss R	  startup. If in doubt, select 'step_wise'.
51a56757afSDurgadoss R
52a56757afSDurgadoss Rconfig THERMAL_DEFAULT_GOV_STEP_WISE
53a56757afSDurgadoss R	bool "step_wise"
549d185d04SZhang Rui	select THERMAL_GOV_STEP_WISE
55a56757afSDurgadoss R	help
56a56757afSDurgadoss R	  Use the step_wise governor as default. This throttles the
57a56757afSDurgadoss R	  devices one step at a time.
58a56757afSDurgadoss R
59a56757afSDurgadoss Rconfig THERMAL_DEFAULT_GOV_FAIR_SHARE
60a56757afSDurgadoss R	bool "fair_share"
619d185d04SZhang Rui	select THERMAL_GOV_FAIR_SHARE
62a56757afSDurgadoss R	help
63a56757afSDurgadoss R	  Use the fair_share governor as default. This throttles the
64a56757afSDurgadoss R	  devices based on their 'contribution' to a zone. The
65a56757afSDurgadoss R	  contribution should be provided through platform data.
66a56757afSDurgadoss R
67a56757afSDurgadoss Rconfig THERMAL_DEFAULT_GOV_USER_SPACE
68a56757afSDurgadoss R	bool "user_space"
699d185d04SZhang Rui	select THERMAL_GOV_USER_SPACE
70a56757afSDurgadoss R	help
71a56757afSDurgadoss R	  Select this if you want to let the user space manage the
72ece238feSRegid Ichira	  platform thermals.
7372e19897SZhang Rui
74a56757afSDurgadoss Rendchoice
7572e19897SZhang Rui
769d185d04SZhang Ruiconfig THERMAL_GOV_FAIR_SHARE
7772e19897SZhang Rui	bool "Fair-share thermal governor"
7872e19897SZhang Rui	help
7972e19897SZhang Rui	  Enable this to manage platform thermals using fair-share governor.
8072e19897SZhang Rui
819d185d04SZhang Ruiconfig THERMAL_GOV_STEP_WISE
8272e19897SZhang Rui	bool "Step_wise thermal governor"
8372e19897SZhang Rui	help
8472e19897SZhang Rui	  Enable this to manage platform thermals using a simple linear
85a8227948SLuka Perkov	  governor.
8672e19897SZhang Rui
879d185d04SZhang Ruiconfig THERMAL_GOV_USER_SPACE
8872e19897SZhang Rui	bool "User_space thermal governor"
8972e19897SZhang Rui	help
9072e19897SZhang Rui	  Enable this to let the user space manage the platform thermals.
9172e19897SZhang Rui
9272e19897SZhang Ruiconfig CPU_THERMAL
93bbf7fc88SZhang Rui	bool "generic cpu cooling support"
9472e19897SZhang Rui	depends on CPU_FREQ
9572e19897SZhang Rui	help
9672e19897SZhang Rui	  This implements the generic cpu cooling mechanism through frequency
97f7188b3dSEduardo Valentin	  reduction. An ACPI version of this already exists
98f7188b3dSEduardo Valentin	  (drivers/acpi/processor_thermal.c).
9972e19897SZhang Rui	  This will be useful for platforms using the generic thermal interface
10072e19897SZhang Rui	  and not the ACPI interface.
101f7188b3dSEduardo Valentin
10272e19897SZhang Rui	  If you want this support, you should say Y here.
10372e19897SZhang Rui
104e6e238c3SAmit Daniel Kachhapconfig THERMAL_EMULATION
105e6e238c3SAmit Daniel Kachhap	bool "Thermal emulation mode support"
106e6e238c3SAmit Daniel Kachhap	help
107e6e238c3SAmit Daniel Kachhap	  Enable this option to make a emul_temp sysfs node in thermal zone
108e6e238c3SAmit Daniel Kachhap	  directory to support temperature emulation. With emulation sysfs node,
109e6e238c3SAmit Daniel Kachhap	  user can manually input temperature and test the different trip
110e6e238c3SAmit Daniel Kachhap	  threshold behaviour for simulation purpose.
111e6e238c3SAmit Daniel Kachhap
1128837295aSEduardo Valentin	  WARNING: Be careful while enabling this option on production systems,
1138837295aSEduardo Valentin	  because userland can easily disable the thermal policy by simply
1148837295aSEduardo Valentin	  flooding this sysfs node with low temperature values.
1158837295aSEduardo Valentin
116ca3de46bSShawn Guoconfig IMX_THERMAL
117ca3de46bSShawn Guo	tristate "Temperature sensor driver for Freescale i.MX SoCs"
118ca3de46bSShawn Guo	depends on CPU_THERMAL
119ca3de46bSShawn Guo	depends on MFD_SYSCON
120ca3de46bSShawn Guo	depends on OF
121ca3de46bSShawn Guo	help
122ca3de46bSShawn Guo	  Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
123ca3de46bSShawn Guo	  It supports one critical trip point and one passive trip point.  The
124ca3de46bSShawn Guo	  cpufreq is used as the cooling device to throttle CPUs when the
125ca3de46bSShawn Guo	  passive trip is crossed.
126ca3de46bSShawn Guo
12772e19897SZhang Ruiconfig SPEAR_THERMAL
12872e19897SZhang Rui	bool "SPEAr thermal sensor driver"
12972e19897SZhang Rui	depends on PLAT_SPEAR
13072e19897SZhang Rui	depends on OF
13172e19897SZhang Rui	help
13272e19897SZhang Rui	  Enable this to plug the SPEAr thermal sensor driver into the Linux
133a8227948SLuka Perkov	  thermal framework.
13472e19897SZhang Rui
13572e19897SZhang Ruiconfig RCAR_THERMAL
13672e19897SZhang Rui	tristate "Renesas R-Car thermal driver"
13772e19897SZhang Rui	depends on ARCH_SHMOBILE
13872e19897SZhang Rui	help
13972e19897SZhang Rui	  Enable this to plug the R-Car thermal sensor driver into the Linux
140a8227948SLuka Perkov	  thermal framework.
14172e19897SZhang Rui
1427060aa36SNobuhiro Iwamatsuconfig KIRKWOOD_THERMAL
1437060aa36SNobuhiro Iwamatsu	tristate "Temperature sensor on Marvell Kirkwood SoCs"
1447060aa36SNobuhiro Iwamatsu	depends on ARCH_KIRKWOOD
1457060aa36SNobuhiro Iwamatsu	depends on OF
1467060aa36SNobuhiro Iwamatsu	help
1477060aa36SNobuhiro Iwamatsu	  Support for the Kirkwood thermal sensor driver into the Linux thermal
1487060aa36SNobuhiro Iwamatsu	  framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
1497060aa36SNobuhiro Iwamatsu
15074ffa64cSAndrew Lunnconfig DOVE_THERMAL
15174ffa64cSAndrew Lunn	tristate "Temperature sensor on Marvell Dove SoCs"
15274ffa64cSAndrew Lunn	depends on ARCH_DOVE
15374ffa64cSAndrew Lunn	depends on OF
15474ffa64cSAndrew Lunn	help
15574ffa64cSAndrew Lunn	  Support for the Dove thermal sensor driver in the Linux thermal
15674ffa64cSAndrew Lunn	  framework.
15774ffa64cSAndrew Lunn
158aa1acb04Shongbo.zhangconfig DB8500_THERMAL
159aa1acb04Shongbo.zhang	bool "DB8500 thermal management"
160aa1acb04Shongbo.zhang	depends on ARCH_U8500
161aa1acb04Shongbo.zhang	default y
162aa1acb04Shongbo.zhang	help
163aa1acb04Shongbo.zhang	  Adds DB8500 thermal management implementation according to the thermal
164aa1acb04Shongbo.zhang	  management framework. A thermal zone with several trip points will be
165aa1acb04Shongbo.zhang	  created. Cooling devices can be bound to the trip points to cool this
166aa1acb04Shongbo.zhang	  thermal zone if trip points reached.
167aa1acb04Shongbo.zhang
168fa0d654cSEzequiel Garciaconfig ARMADA_THERMAL
169fa0d654cSEzequiel Garcia	tristate "Armada 370/XP thermal management"
170fa0d654cSEzequiel Garcia	depends on ARCH_MVEBU
171fa0d654cSEzequiel Garcia	depends on OF
172fa0d654cSEzequiel Garcia	help
173fa0d654cSEzequiel Garcia	  Enable this option if you want to have support for thermal management
174fa0d654cSEzequiel Garcia	  controller present in Armada 370 and Armada XP SoC.
175fa0d654cSEzequiel Garcia
176aa1acb04Shongbo.zhangconfig DB8500_CPUFREQ_COOLING
177aa1acb04Shongbo.zhang	tristate "DB8500 cpufreq cooling"
178aa1acb04Shongbo.zhang	depends on ARCH_U8500
179aa1acb04Shongbo.zhang	depends on CPU_THERMAL
180aa1acb04Shongbo.zhang	default y
181aa1acb04Shongbo.zhang	help
182aa1acb04Shongbo.zhang	  Adds DB8500 cpufreq cooling devices, and these cooling devices can be
183aa1acb04Shongbo.zhang	  bound to thermal zone trip points. When a trip point reached, the
184aa1acb04Shongbo.zhang	  bound cpufreq cooling device turns active to set CPU frequency low to
185aa1acb04Shongbo.zhang	  cool down the CPU.
18672e19897SZhang Rui
187d6d71ee4SJacob Panconfig INTEL_POWERCLAMP
188d6d71ee4SJacob Pan	tristate "Intel PowerClamp idle injection driver"
189d6d71ee4SJacob Pan	depends on THERMAL
190d6d71ee4SJacob Pan	depends on X86
191d6d71ee4SJacob Pan	depends on CPU_SUP_INTEL
192d6d71ee4SJacob Pan	help
193d6d71ee4SJacob Pan	  Enable this to enable Intel PowerClamp idle injection driver. This
194d6d71ee4SJacob Pan	  enforce idle time which results in more package C-state residency. The
195d6d71ee4SJacob Pan	  user interface is exposed via generic thermal framework.
196d6d71ee4SJacob Pan
197f1a18a10SSrinivas Pandruvadaconfig X86_PKG_TEMP_THERMAL
198f1a18a10SSrinivas Pandruvada	tristate "X86 package temperature thermal driver"
199b3ba0206SRandy Dunlap	depends on X86_THERMAL_VECTOR
200f1a18a10SSrinivas Pandruvada	select THERMAL_GOV_USER_SPACE
201f1a18a10SSrinivas Pandruvada	default m
202f1a18a10SSrinivas Pandruvada	help
203f1a18a10SSrinivas Pandruvada	  Enable this to register CPU digital sensor for package temperature as
204f1a18a10SSrinivas Pandruvada	  thermal zone. Each package will have its own thermal zone. There are
205f1a18a10SSrinivas Pandruvada	  two trip points which can be set by user to get notifications via thermal
206f1a18a10SSrinivas Pandruvada	  notification methods.
207f1a18a10SSrinivas Pandruvada
208eb982001SEduardo Valentinmenu "Texas Instruments thermal drivers"
209eb982001SEduardo Valentinsource "drivers/thermal/ti-soc-thermal/Kconfig"
210eb982001SEduardo Valentinendmenu
211f157f596SZhang Rui
212c6821378SAmit Daniel Kachhapmenu "Samsung thermal drivers"
213c6821378SAmit Daniel Kachhapdepends on PLAT_SAMSUNG
214c6821378SAmit Daniel Kachhapsource "drivers/thermal/samsung/Kconfig"
215c6821378SAmit Daniel Kachhapendmenu
216c6821378SAmit Daniel Kachhap
21772e19897SZhang Ruiendif
218