xref: /openbmc/linux/drivers/thermal/Kconfig (revision 94c7b6fc)
1#
2# Generic thermal sysfs drivers configuration
3#
4
5menuconfig THERMAL
6	tristate "Generic Thermal sysfs driver"
7	help
8	  Generic Thermal Sysfs driver offers a generic mechanism for
9	  thermal management. Usually it's made up of one or more thermal
10	  zone and cooling device.
11	  Each thermal zone contains its own temperature, trip points,
12	  cooling devices.
13	  All platforms with ACPI thermal support can use this driver.
14	  If you want this support, you should say Y or M here.
15
16if THERMAL
17
18config THERMAL_HWMON
19	bool
20	prompt "Expose thermal sensors as hwmon device"
21	depends on HWMON=y || HWMON=THERMAL
22	default y
23	help
24	  In case a sensor is registered with the thermal
25	  framework, this option will also register it
26	  as a hwmon. The sensor will then have the common
27	  hwmon sysfs interface.
28
29	  Say 'Y' here if you want all thermal sensors to
30	  have hwmon sysfs interface too.
31
32config THERMAL_OF
33	bool
34	prompt "APIs to parse thermal data out of device tree"
35	depends on OF
36	default y
37	help
38	  This options provides helpers to add the support to
39	  read and parse thermal data definitions out of the
40	  device tree blob.
41
42	  Say 'Y' here if you need to build thermal infrastructure
43	  based on device tree.
44
45choice
46	prompt "Default Thermal governor"
47	default THERMAL_DEFAULT_GOV_STEP_WISE
48	help
49	  This option sets which thermal governor shall be loaded at
50	  startup. If in doubt, select 'step_wise'.
51
52config THERMAL_DEFAULT_GOV_STEP_WISE
53	bool "step_wise"
54	select THERMAL_GOV_STEP_WISE
55	help
56	  Use the step_wise governor as default. This throttles the
57	  devices one step at a time.
58
59config THERMAL_DEFAULT_GOV_FAIR_SHARE
60	bool "fair_share"
61	select THERMAL_GOV_FAIR_SHARE
62	help
63	  Use the fair_share governor as default. This throttles the
64	  devices based on their 'contribution' to a zone. The
65	  contribution should be provided through platform data.
66
67config THERMAL_DEFAULT_GOV_USER_SPACE
68	bool "user_space"
69	select THERMAL_GOV_USER_SPACE
70	help
71	  Select this if you want to let the user space manage the
72	  platform thermals.
73
74endchoice
75
76config THERMAL_GOV_FAIR_SHARE
77	bool "Fair-share thermal governor"
78	help
79	  Enable this to manage platform thermals using fair-share governor.
80
81config THERMAL_GOV_STEP_WISE
82	bool "Step_wise thermal governor"
83	help
84	  Enable this to manage platform thermals using a simple linear
85	  governor.
86
87config THERMAL_GOV_USER_SPACE
88	bool "User_space thermal governor"
89	help
90	  Enable this to let the user space manage the platform thermals.
91
92config CPU_THERMAL
93	bool "generic cpu cooling support"
94	depends on CPU_FREQ
95	depends on THERMAL_OF
96	help
97	  This implements the generic cpu cooling mechanism through frequency
98	  reduction. An ACPI version of this already exists
99	  (drivers/acpi/processor_thermal.c).
100	  This will be useful for platforms using the generic thermal interface
101	  and not the ACPI interface.
102
103	  If you want this support, you should say Y here.
104
105config THERMAL_EMULATION
106	bool "Thermal emulation mode support"
107	help
108	  Enable this option to make a emul_temp sysfs node in thermal zone
109	  directory to support temperature emulation. With emulation sysfs node,
110	  user can manually input temperature and test the different trip
111	  threshold behaviour for simulation purpose.
112
113	  WARNING: Be careful while enabling this option on production systems,
114	  because userland can easily disable the thermal policy by simply
115	  flooding this sysfs node with low temperature values.
116
117config IMX_THERMAL
118	tristate "Temperature sensor driver for Freescale i.MX SoCs"
119	depends on CPU_THERMAL
120	depends on MFD_SYSCON
121	depends on OF
122	help
123	  Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
124	  It supports one critical trip point and one passive trip point.  The
125	  cpufreq is used as the cooling device to throttle CPUs when the
126	  passive trip is crossed.
127
128config SPEAR_THERMAL
129	bool "SPEAr thermal sensor driver"
130	depends on PLAT_SPEAR
131	depends on OF
132	help
133	  Enable this to plug the SPEAr thermal sensor driver into the Linux
134	  thermal framework.
135
136config RCAR_THERMAL
137	tristate "Renesas R-Car thermal driver"
138	depends on ARCH_SHMOBILE || COMPILE_TEST
139	depends on HAS_IOMEM
140	help
141	  Enable this to plug the R-Car thermal sensor driver into the Linux
142	  thermal framework.
143
144config KIRKWOOD_THERMAL
145	tristate "Temperature sensor on Marvell Kirkwood SoCs"
146	depends on ARCH_KIRKWOOD || MACH_KIRKWOOD
147	depends on OF
148	help
149	  Support for the Kirkwood thermal sensor driver into the Linux thermal
150	  framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
151
152config DOVE_THERMAL
153	tristate "Temperature sensor on Marvell Dove SoCs"
154	depends on ARCH_DOVE
155	depends on OF
156	help
157	  Support for the Dove thermal sensor driver in the Linux thermal
158	  framework.
159
160config DB8500_THERMAL
161	bool "DB8500 thermal management"
162	depends on ARCH_U8500
163	default y
164	help
165	  Adds DB8500 thermal management implementation according to the thermal
166	  management framework. A thermal zone with several trip points will be
167	  created. Cooling devices can be bound to the trip points to cool this
168	  thermal zone if trip points reached.
169
170config ARMADA_THERMAL
171	tristate "Armada 370/XP thermal management"
172	depends on ARCH_MVEBU
173	depends on OF
174	help
175	  Enable this option if you want to have support for thermal management
176	  controller present in Armada 370 and Armada XP SoC.
177
178config DB8500_CPUFREQ_COOLING
179	tristate "DB8500 cpufreq cooling"
180	depends on ARCH_U8500
181	depends on CPU_THERMAL
182	default y
183	help
184	  Adds DB8500 cpufreq cooling devices, and these cooling devices can be
185	  bound to thermal zone trip points. When a trip point reached, the
186	  bound cpufreq cooling device turns active to set CPU frequency low to
187	  cool down the CPU.
188
189config INTEL_POWERCLAMP
190	tristate "Intel PowerClamp idle injection driver"
191	depends on THERMAL
192	depends on X86
193	depends on CPU_SUP_INTEL
194	help
195	  Enable this to enable Intel PowerClamp idle injection driver. This
196	  enforce idle time which results in more package C-state residency. The
197	  user interface is exposed via generic thermal framework.
198
199config X86_PKG_TEMP_THERMAL
200	tristate "X86 package temperature thermal driver"
201	depends on X86_THERMAL_VECTOR
202	select THERMAL_GOV_USER_SPACE
203	default m
204	help
205	  Enable this to register CPU digital sensor for package temperature as
206	  thermal zone. Each package will have its own thermal zone. There are
207	  two trip points which can be set by user to get notifications via thermal
208	  notification methods.
209
210config ACPI_INT3403_THERMAL
211	tristate "ACPI INT3403 thermal driver"
212	depends on X86 && ACPI
213	help
214	  Newer laptops and tablets that use ACPI may have thermal sensors
215	  outside the core CPU/SOC for thermal safety reasons. These
216	  temperature sensors are also exposed for the OS to use via the so
217	  called INT3403 ACPI object. This driver will, on devices that have
218	  such sensors, expose the temperature information from these sensors
219	  to userspace via the normal thermal framework. This means that a wide
220	  range of applications and GUI widgets can show this information to
221	  the user or use this information for making decisions. For example,
222	  the Intel Thermal Daemon can use this information to allow the user
223	  to select his laptop to run without turning on the fans.
224
225config INTEL_SOC_DTS_THERMAL
226	tristate "Intel SoCs DTS thermal driver"
227	depends on X86 && IOSF_MBI
228	help
229	  Enable this to register Intel SoCs (e.g. Bay Trail) platform digital
230	  temperature sensor (DTS). These SoCs have two additional DTSs in
231	  addition to DTSs on CPU cores. Each DTS will be registered as a
232	  thermal zone. There are two trip points. One of the trip point can
233	  be set by user mode programs to get notifications via Linux thermal
234	  notification methods.The other trip is a critical trip point, which
235	  was set by the driver based on the TJ MAX temperature.
236
237menu "Texas Instruments thermal drivers"
238source "drivers/thermal/ti-soc-thermal/Kconfig"
239endmenu
240
241menu "Samsung thermal drivers"
242depends on ARCH_EXYNOS
243source "drivers/thermal/samsung/Kconfig"
244endmenu
245
246endif
247