xref: /openbmc/linux/drivers/thermal/Kconfig (revision 12eb4683)
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
32choice
33	prompt "Default Thermal governor"
34	default THERMAL_DEFAULT_GOV_STEP_WISE
35	help
36	  This option sets which thermal governor shall be loaded at
37	  startup. If in doubt, select 'step_wise'.
38
39config THERMAL_DEFAULT_GOV_STEP_WISE
40	bool "step_wise"
41	select THERMAL_GOV_STEP_WISE
42	help
43	  Use the step_wise governor as default. This throttles the
44	  devices one step at a time.
45
46config THERMAL_DEFAULT_GOV_FAIR_SHARE
47	bool "fair_share"
48	select THERMAL_GOV_FAIR_SHARE
49	help
50	  Use the fair_share governor as default. This throttles the
51	  devices based on their 'contribution' to a zone. The
52	  contribution should be provided through platform data.
53
54config THERMAL_DEFAULT_GOV_USER_SPACE
55	bool "user_space"
56	select THERMAL_GOV_USER_SPACE
57	help
58	  Select this if you want to let the user space manage the
59	  platform thermals.
60
61endchoice
62
63config THERMAL_GOV_FAIR_SHARE
64	bool "Fair-share thermal governor"
65	help
66	  Enable this to manage platform thermals using fair-share governor.
67
68config THERMAL_GOV_STEP_WISE
69	bool "Step_wise thermal governor"
70	help
71	  Enable this to manage platform thermals using a simple linear
72	  governor.
73
74config THERMAL_GOV_USER_SPACE
75	bool "User_space thermal governor"
76	help
77	  Enable this to let the user space manage the platform thermals.
78
79config CPU_THERMAL
80	bool "generic cpu cooling support"
81	depends on CPU_FREQ
82	help
83	  This implements the generic cpu cooling mechanism through frequency
84	  reduction. An ACPI version of this already exists
85	  (drivers/acpi/processor_thermal.c).
86	  This will be useful for platforms using the generic thermal interface
87	  and not the ACPI interface.
88
89	  If you want this support, you should say Y here.
90
91config THERMAL_EMULATION
92	bool "Thermal emulation mode support"
93	help
94	  Enable this option to make a emul_temp sysfs node in thermal zone
95	  directory to support temperature emulation. With emulation sysfs node,
96	  user can manually input temperature and test the different trip
97	  threshold behaviour for simulation purpose.
98
99	  WARNING: Be careful while enabling this option on production systems,
100	  because userland can easily disable the thermal policy by simply
101	  flooding this sysfs node with low temperature values.
102
103config IMX_THERMAL
104	tristate "Temperature sensor driver for Freescale i.MX SoCs"
105	depends on CPU_THERMAL
106	depends on MFD_SYSCON
107	depends on OF
108	help
109	  Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
110	  It supports one critical trip point and one passive trip point.  The
111	  cpufreq is used as the cooling device to throttle CPUs when the
112	  passive trip is crossed.
113
114config SPEAR_THERMAL
115	bool "SPEAr thermal sensor driver"
116	depends on PLAT_SPEAR
117	depends on OF
118	help
119	  Enable this to plug the SPEAr thermal sensor driver into the Linux
120	  thermal framework.
121
122config RCAR_THERMAL
123	tristate "Renesas R-Car thermal driver"
124	depends on ARCH_SHMOBILE
125	help
126	  Enable this to plug the R-Car thermal sensor driver into the Linux
127	  thermal framework.
128
129config KIRKWOOD_THERMAL
130	tristate "Temperature sensor on Marvell Kirkwood SoCs"
131	depends on ARCH_KIRKWOOD
132	depends on OF
133	help
134	  Support for the Kirkwood thermal sensor driver into the Linux thermal
135	  framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
136
137config DOVE_THERMAL
138	tristate "Temperature sensor on Marvell Dove SoCs"
139	depends on ARCH_DOVE
140	depends on OF
141	help
142	  Support for the Dove thermal sensor driver in the Linux thermal
143	  framework.
144
145config DB8500_THERMAL
146	bool "DB8500 thermal management"
147	depends on ARCH_U8500
148	default y
149	help
150	  Adds DB8500 thermal management implementation according to the thermal
151	  management framework. A thermal zone with several trip points will be
152	  created. Cooling devices can be bound to the trip points to cool this
153	  thermal zone if trip points reached.
154
155config ARMADA_THERMAL
156	tristate "Armada 370/XP thermal management"
157	depends on ARCH_MVEBU
158	depends on OF
159	help
160	  Enable this option if you want to have support for thermal management
161	  controller present in Armada 370 and Armada XP SoC.
162
163config DB8500_CPUFREQ_COOLING
164	tristate "DB8500 cpufreq cooling"
165	depends on ARCH_U8500
166	depends on CPU_THERMAL
167	default y
168	help
169	  Adds DB8500 cpufreq cooling devices, and these cooling devices can be
170	  bound to thermal zone trip points. When a trip point reached, the
171	  bound cpufreq cooling device turns active to set CPU frequency low to
172	  cool down the CPU.
173
174config INTEL_POWERCLAMP
175	tristate "Intel PowerClamp idle injection driver"
176	depends on THERMAL
177	depends on X86
178	depends on CPU_SUP_INTEL
179	help
180	  Enable this to enable Intel PowerClamp idle injection driver. This
181	  enforce idle time which results in more package C-state residency. The
182	  user interface is exposed via generic thermal framework.
183
184config X86_PKG_TEMP_THERMAL
185	tristate "X86 package temperature thermal driver"
186	depends on X86_THERMAL_VECTOR
187	select THERMAL_GOV_USER_SPACE
188	default m
189	help
190	  Enable this to register CPU digital sensor for package temperature as
191	  thermal zone. Each package will have its own thermal zone. There are
192	  two trip points which can be set by user to get notifications via thermal
193	  notification methods.
194
195menu "Texas Instruments thermal drivers"
196source "drivers/thermal/ti-soc-thermal/Kconfig"
197endmenu
198
199menu "Samsung thermal drivers"
200depends on PLAT_SAMSUNG
201source "drivers/thermal/samsung/Kconfig"
202endmenu
203
204endif
205