1*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/type
2*80da1b50SMauro Carvalho ChehabDescription:
3*80da1b50SMauro Carvalho Chehab		Strings which represent the thermal zone type.
4*80da1b50SMauro Carvalho Chehab		This is given by thermal zone driver as part of registration.
5*80da1b50SMauro Carvalho Chehab		E.g: "acpitz" indicates it's an ACPI thermal device.
6*80da1b50SMauro Carvalho Chehab		In order to keep it consistent with hwmon sys attribute; this
7*80da1b50SMauro Carvalho Chehab		shouldbe a short, lowercase string, not containing spaces nor
8*80da1b50SMauro Carvalho Chehab		dashes.
9*80da1b50SMauro Carvalho Chehab
10*80da1b50SMauro Carvalho Chehab		RO, Required
11*80da1b50SMauro Carvalho Chehab
12*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/temp
13*80da1b50SMauro Carvalho ChehabDescription:
14*80da1b50SMauro Carvalho Chehab		Current temperature as reported by thermal zone (sensor).
15*80da1b50SMauro Carvalho Chehab
16*80da1b50SMauro Carvalho Chehab		Unit: millidegree Celsius
17*80da1b50SMauro Carvalho Chehab
18*80da1b50SMauro Carvalho Chehab		RO, Required
19*80da1b50SMauro Carvalho Chehab
20*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/mode
21*80da1b50SMauro Carvalho ChehabDescription:
22*80da1b50SMauro Carvalho Chehab		One of the predefined values in [enabled, disabled].
23*80da1b50SMauro Carvalho Chehab		This file gives information about the algorithm that is
24*80da1b50SMauro Carvalho Chehab		currently managing the thermal zone. It can be either default
25*80da1b50SMauro Carvalho Chehab		kernel based algorithm or user space application.
26*80da1b50SMauro Carvalho Chehab
27*80da1b50SMauro Carvalho Chehab		enabled
28*80da1b50SMauro Carvalho Chehab				enable Kernel Thermal management.
29*80da1b50SMauro Carvalho Chehab		disabled
30*80da1b50SMauro Carvalho Chehab				Preventing kernel thermal zone driver actions upon
31*80da1b50SMauro Carvalho Chehab				trip points so that user application can take full
32*80da1b50SMauro Carvalho Chehab				charge of the thermal management.
33*80da1b50SMauro Carvalho Chehab
34*80da1b50SMauro Carvalho Chehab		RW, Optional
35*80da1b50SMauro Carvalho Chehab
36*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/policy
37*80da1b50SMauro Carvalho ChehabDescription:
38*80da1b50SMauro Carvalho Chehab		One of the various thermal governors used for a particular zone.
39*80da1b50SMauro Carvalho Chehab
40*80da1b50SMauro Carvalho Chehab		RW, Required
41*80da1b50SMauro Carvalho Chehab
42*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/available_policies
43*80da1b50SMauro Carvalho ChehabDescription:
44*80da1b50SMauro Carvalho Chehab		Available thermal governors which can be used for a
45*80da1b50SMauro Carvalho Chehab		particular zone.
46*80da1b50SMauro Carvalho Chehab
47*80da1b50SMauro Carvalho Chehab		RO, Required
48*80da1b50SMauro Carvalho Chehab
49*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/trip_point_Y_temp
50*80da1b50SMauro Carvalho ChehabDescription:
51*80da1b50SMauro Carvalho Chehab		The temperature above which trip point will be fired.
52*80da1b50SMauro Carvalho Chehab
53*80da1b50SMauro Carvalho Chehab		Unit: millidegree Celsius
54*80da1b50SMauro Carvalho Chehab
55*80da1b50SMauro Carvalho Chehab		RO, Optional
56*80da1b50SMauro Carvalho Chehab
57*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/trip_point_Y_type
58*80da1b50SMauro Carvalho ChehabDescription:
59*80da1b50SMauro Carvalho Chehab		Strings which indicate the type of the trip point.
60*80da1b50SMauro Carvalho Chehab
61*80da1b50SMauro Carvalho Chehab		E.g. it can be one of critical, hot, passive, `active[0-*]`
62*80da1b50SMauro Carvalho Chehab		for ACPI thermal zone.
63*80da1b50SMauro Carvalho Chehab
64*80da1b50SMauro Carvalho Chehab		RO, Optional
65*80da1b50SMauro Carvalho Chehab
66*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/trip_point_Y_hyst
67*80da1b50SMauro Carvalho ChehabDescription:
68*80da1b50SMauro Carvalho Chehab		The hysteresis value for a trip point, represented as an
69*80da1b50SMauro Carvalho Chehab		integer.
70*80da1b50SMauro Carvalho Chehab
71*80da1b50SMauro Carvalho Chehab		Unit: Celsius
72*80da1b50SMauro Carvalho Chehab
73*80da1b50SMauro Carvalho Chehab		RW, Optional
74*80da1b50SMauro Carvalho Chehab
75*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/cdevY
76*80da1b50SMauro Carvalho ChehabDescription:
77*80da1b50SMauro Carvalho Chehab	Sysfs link to the thermal cooling device node where the sys I/F
78*80da1b50SMauro Carvalho Chehab	for cooling device throttling control represents.
79*80da1b50SMauro Carvalho Chehab
80*80da1b50SMauro Carvalho Chehab	RO, Optional
81*80da1b50SMauro Carvalho Chehab
82*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/cdevY_trip_point
83*80da1b50SMauro Carvalho ChehabDescription:
84*80da1b50SMauro Carvalho Chehab		The trip point in this thermal zone which `cdev[0-*]` is
85*80da1b50SMauro Carvalho Chehab		associated with; -1 means the cooling device is not
86*80da1b50SMauro Carvalho Chehab		associated with any trip point.
87*80da1b50SMauro Carvalho Chehab
88*80da1b50SMauro Carvalho Chehab		RO, Optional
89*80da1b50SMauro Carvalho Chehab
90*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/cdevY_weight
91*80da1b50SMauro Carvalho ChehabDescription:
92*80da1b50SMauro Carvalho Chehab		The influence of `cdev[0-*]` in this thermal zone. This value
93*80da1b50SMauro Carvalho Chehab		is relative to the rest of cooling devices in the thermal
94*80da1b50SMauro Carvalho Chehab		zone. For example, if a cooling device has a weight double
95*80da1b50SMauro Carvalho Chehab		than that of other, it's twice as effective in cooling the
96*80da1b50SMauro Carvalho Chehab		thermal zone.
97*80da1b50SMauro Carvalho Chehab
98*80da1b50SMauro Carvalho Chehab		RW, Optional
99*80da1b50SMauro Carvalho Chehab
100*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/emul_temp
101*80da1b50SMauro Carvalho ChehabDescription:
102*80da1b50SMauro Carvalho Chehab		Interface to set the emulated temperature method in thermal zone
103*80da1b50SMauro Carvalho Chehab		(sensor). After setting this temperature, the thermal zone may
104*80da1b50SMauro Carvalho Chehab		pass this temperature to platform emulation function if
105*80da1b50SMauro Carvalho Chehab		registered or cache it locally. This is useful in debugging
106*80da1b50SMauro Carvalho Chehab		different temperature threshold and its associated cooling
107*80da1b50SMauro Carvalho Chehab		action. This is write only node and writing 0 on this node
108*80da1b50SMauro Carvalho Chehab		should disable emulation.
109*80da1b50SMauro Carvalho Chehab
110*80da1b50SMauro Carvalho Chehab		Unit: millidegree Celsius
111*80da1b50SMauro Carvalho Chehab
112*80da1b50SMauro Carvalho Chehab		WO, Optional
113*80da1b50SMauro Carvalho Chehab
114*80da1b50SMauro Carvalho Chehab		WARNING:
115*80da1b50SMauro Carvalho Chehab		    Be careful while enabling this option on production systems,
116*80da1b50SMauro Carvalho Chehab		    because userland can easily disable the thermal policy by simply
117*80da1b50SMauro Carvalho Chehab		    flooding this sysfs node with low temperature values.
118*80da1b50SMauro Carvalho Chehab
119*80da1b50SMauro Carvalho Chehab
120*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/k_d
121*80da1b50SMauro Carvalho ChehabDescription:
122*80da1b50SMauro Carvalho Chehab		The derivative term of the power allocator governor's PID
123*80da1b50SMauro Carvalho Chehab		controller. For more information see
124*80da1b50SMauro Carvalho Chehab		Documentation/driver-api/thermal/power_allocator.rst
125*80da1b50SMauro Carvalho Chehab
126*80da1b50SMauro Carvalho Chehab		RW, Optional
127*80da1b50SMauro Carvalho Chehab
128*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/k_i
129*80da1b50SMauro Carvalho ChehabDescription:
130*80da1b50SMauro Carvalho Chehab		The integral term of the power allocator governor's PID
131*80da1b50SMauro Carvalho Chehab		controller. This term allows the PID controller to compensate
132*80da1b50SMauro Carvalho Chehab		for long term drift. For more information see
133*80da1b50SMauro Carvalho Chehab		Documentation/driver-api/thermal/power_allocator.rst
134*80da1b50SMauro Carvalho Chehab
135*80da1b50SMauro Carvalho Chehab		RW, Optional
136*80da1b50SMauro Carvalho Chehab
137*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/k_po
138*80da1b50SMauro Carvalho ChehabDescription:
139*80da1b50SMauro Carvalho Chehab		The proportional term of the power allocator governor's PID
140*80da1b50SMauro Carvalho Chehab		controller during temperature overshoot. Temperature overshoot
141*80da1b50SMauro Carvalho Chehab		is when the current temperature is above the "desired
142*80da1b50SMauro Carvalho Chehab		temperature" trip point. For more information see
143*80da1b50SMauro Carvalho Chehab		Documentation/driver-api/thermal/power_allocator.rst
144*80da1b50SMauro Carvalho Chehab
145*80da1b50SMauro Carvalho Chehab		RW, Optional
146*80da1b50SMauro Carvalho Chehab
147*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/k_pu
148*80da1b50SMauro Carvalho ChehabDescription:
149*80da1b50SMauro Carvalho Chehab		The proportional term of the power allocator governor's PID
150*80da1b50SMauro Carvalho Chehab		controller during temperature undershoot. Temperature undershoot
151*80da1b50SMauro Carvalho Chehab		is when the current temperature is below the "desired
152*80da1b50SMauro Carvalho Chehab		temperature" trip point. For more information see
153*80da1b50SMauro Carvalho Chehab		Documentation/driver-api/thermal/power_allocator.rst
154*80da1b50SMauro Carvalho Chehab
155*80da1b50SMauro Carvalho Chehab		RW, Optional
156*80da1b50SMauro Carvalho Chehab
157*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/integral_cutoff
158*80da1b50SMauro Carvalho ChehabDescription:
159*80da1b50SMauro Carvalho Chehab		Temperature offset from the desired temperature trip point
160*80da1b50SMauro Carvalho Chehab		above which the integral term of the power allocator
161*80da1b50SMauro Carvalho Chehab		governor's PID controller starts accumulating errors. For
162*80da1b50SMauro Carvalho Chehab		example, if integral_cutoff is 0, then the integral term only
163*80da1b50SMauro Carvalho Chehab		accumulates error when temperature is above the desired
164*80da1b50SMauro Carvalho Chehab		temperature trip point. For more information see
165*80da1b50SMauro Carvalho Chehab		Documentation/driver-api/thermal/power_allocator.rst
166*80da1b50SMauro Carvalho Chehab
167*80da1b50SMauro Carvalho Chehab		Unit: millidegree Celsius
168*80da1b50SMauro Carvalho Chehab
169*80da1b50SMauro Carvalho Chehab		RW, Optional
170*80da1b50SMauro Carvalho Chehab
171*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/slope
172*80da1b50SMauro Carvalho ChehabDescription:
173*80da1b50SMauro Carvalho Chehab		The slope constant used in a linear extrapolation model
174*80da1b50SMauro Carvalho Chehab		to determine a hotspot temperature based off the sensor's
175*80da1b50SMauro Carvalho Chehab		raw readings. It is up to the device driver to determine
176*80da1b50SMauro Carvalho Chehab		the usage of these values.
177*80da1b50SMauro Carvalho Chehab
178*80da1b50SMauro Carvalho Chehab		RW, Optional
179*80da1b50SMauro Carvalho Chehab
180*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/offset
181*80da1b50SMauro Carvalho ChehabDescription:
182*80da1b50SMauro Carvalho Chehab		The offset constant used in a linear extrapolation model
183*80da1b50SMauro Carvalho Chehab		to determine a hotspot temperature based off the sensor's
184*80da1b50SMauro Carvalho Chehab		raw readings. It is up to the device driver to determine
185*80da1b50SMauro Carvalho Chehab		the usage of these values.
186*80da1b50SMauro Carvalho Chehab
187*80da1b50SMauro Carvalho Chehab		RW, Optional
188*80da1b50SMauro Carvalho Chehab
189*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/thermal_zoneX/sustainable_power
190*80da1b50SMauro Carvalho ChehabDescription:
191*80da1b50SMauro Carvalho Chehab		An estimate of the sustained power that can be dissipated by
192*80da1b50SMauro Carvalho Chehab		the thermal zone. Used by the power allocator governor. For
193*80da1b50SMauro Carvalho Chehab		more information see
194*80da1b50SMauro Carvalho Chehab		Documentation/driver-api/thermal/power_allocator.rst
195*80da1b50SMauro Carvalho Chehab
196*80da1b50SMauro Carvalho Chehab		Unit: milliwatts
197*80da1b50SMauro Carvalho Chehab
198*80da1b50SMauro Carvalho Chehab		RW, Optional
199*80da1b50SMauro Carvalho Chehab
200*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/cooling_deviceX/type
201*80da1b50SMauro Carvalho ChehabDescription:
202*80da1b50SMauro Carvalho Chehab		String which represents the type of device, e.g:
203*80da1b50SMauro Carvalho Chehab
204*80da1b50SMauro Carvalho Chehab		- for generic ACPI: should be "Fan", "Processor" or "LCD"
205*80da1b50SMauro Carvalho Chehab		- for memory controller device on intel_menlow platform:
206*80da1b50SMauro Carvalho Chehab		should be "Memory controller".
207*80da1b50SMauro Carvalho Chehab
208*80da1b50SMauro Carvalho Chehab		RO, Required
209*80da1b50SMauro Carvalho Chehab
210*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/cooling_deviceX/max_state
211*80da1b50SMauro Carvalho ChehabDescription:
212*80da1b50SMauro Carvalho Chehab		The maximum permissible cooling state of this cooling device.
213*80da1b50SMauro Carvalho Chehab
214*80da1b50SMauro Carvalho Chehab		RO, Required
215*80da1b50SMauro Carvalho Chehab
216*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/cooling_deviceX/cur_state
217*80da1b50SMauro Carvalho ChehabDescription:
218*80da1b50SMauro Carvalho Chehab		The current cooling state of this cooling device.
219*80da1b50SMauro Carvalho Chehab		The value can any integer numbers between 0 and max_state:
220*80da1b50SMauro Carvalho Chehab
221*80da1b50SMauro Carvalho Chehab		- cur_state == 0 means no cooling
222*80da1b50SMauro Carvalho Chehab		- cur_state == max_state means the maximum cooling.
223*80da1b50SMauro Carvalho Chehab
224*80da1b50SMauro Carvalho Chehab		RW, Required
225*80da1b50SMauro Carvalho Chehab
226*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/cooling_deviceX/stats/reset
227*80da1b50SMauro Carvalho ChehabDescription:
228*80da1b50SMauro Carvalho Chehab		Writing any value resets the cooling device's statistics.
229*80da1b50SMauro Carvalho Chehab
230*80da1b50SMauro Carvalho Chehab		WO, Required
231*80da1b50SMauro Carvalho Chehab
232*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/cooling_deviceX/stats/time_in_state_ms:
233*80da1b50SMauro Carvalho ChehabDescription:
234*80da1b50SMauro Carvalho Chehab		The amount of time spent by the cooling device in various
235*80da1b50SMauro Carvalho Chehab		cooling states. The output will have "<state> <time>" pair
236*80da1b50SMauro Carvalho Chehab		in each line, which will mean this cooling device spent <time>
237*80da1b50SMauro Carvalho Chehab		msec of time at <state>.
238*80da1b50SMauro Carvalho Chehab
239*80da1b50SMauro Carvalho Chehab		Output will have one line for each of the supported states.
240*80da1b50SMauro Carvalho Chehab
241*80da1b50SMauro Carvalho Chehab		RO, Required
242*80da1b50SMauro Carvalho Chehab
243*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/cooling_deviceX/stats/total_trans
244*80da1b50SMauro Carvalho ChehabDescription:
245*80da1b50SMauro Carvalho Chehab		A single positive value showing the total number of times
246*80da1b50SMauro Carvalho Chehab		the state of a cooling device is changed.
247*80da1b50SMauro Carvalho Chehab
248*80da1b50SMauro Carvalho Chehab		RO, Required
249*80da1b50SMauro Carvalho Chehab
250*80da1b50SMauro Carvalho ChehabWhat:		/sys/class/thermal/cooling_deviceX/stats/trans_table
251*80da1b50SMauro Carvalho ChehabDescription:
252*80da1b50SMauro Carvalho Chehab		This gives fine grained information about all the cooling state
253*80da1b50SMauro Carvalho Chehab		transitions. The cat output here is a two dimensional matrix,
254*80da1b50SMauro Carvalho Chehab		where an entry <i,j> (row i, column j) represents the number
255*80da1b50SMauro Carvalho Chehab		of transitions from State_i to State_j. If the transition
256*80da1b50SMauro Carvalho Chehab		table is bigger than PAGE_SIZE, reading this will return
257*80da1b50SMauro Carvalho Chehab		an -EFBIG error.
258*80da1b50SMauro Carvalho Chehab
259*80da1b50SMauro Carvalho Chehab		RO, Required
260