Lines Matching +full:cooling +full:- +full:device
14 devices (sensors) and thermal cooling devices (fan, processor...) to register
17 This how-to focuses on enabling new thermal zone and cooling devices to
20 and cooling devices should be able to make use of the infrastructure.
23 as well as cooling device attributes to the user space.
28 - `[0-*]` denotes any positive number starting from 0
29 - `[1-*]` denotes any positive number starting from 1
34 1.1 thermal zone device interface
35 ---------------------------------
48 This interface function adds a new thermal zone device (sensor) to the
49 /sys/class/thermal folder as `thermal_zone[0-*]`. It tries to bind all the
50 thermal cooling devices registered to it at the same time.
57 device private data
59 thermal zone device call-backs.
62 check whether or not a given cooling device should be bound to
89 cooling.
98 This interface function removes the thermal zone device.
100 unbinds all the thermal cooling devices it uses.
105 *thermal_zone_of_sensor_register(struct device *dev, int sensor_id,
111 device tree and look for the zone that refer to the sensor device
112 pointed by dev->of_node as temperature providers. For the zone
114 thermal zone device.
119 Device node of sensor containing valid node pointer in
120 dev->of_node.
148 It returns error pointer if fails otherwise valid thermal zone device
154 void thermal_zone_of_sensor_unregister(struct device *dev,
160 thermal zone device registered with thermal_zone_of_sensor_register()
162 get_trend() thermal zone device callbacks.
167 *devm_thermal_zone_of_sensor_register(struct device *dev,
185 void devm_thermal_zone_of_sensor_unregister(struct device *dev,
200 for the thermal zone device, which might be useful for platform
208 for the thermal zone device, which might be useful for platform
211 1.2 thermal cooling device interface
212 ------------------------------------
221 This interface function adds a new thermal cooling device (fan/processor/...)
222 to /sys/class/thermal/ folder as `cooling_device[0-*]`. It tries to bind itself
226 the cooling device name.
228 device private data.
230 thermal cooling devices call-backs.
233 get the Maximum throttle state of the cooling device.
236 cooling device.
238 set the Current throttle state of the cooling device.
244 This interface function removes the thermal cooling device.
249 ---------------------------
282 Thermal zone device sys I/F, created once it's registered::
284 /sys/class/thermal/thermal_zone[0-*]:
285 |---type: Type of the thermal zone
286 |---temp: Current temperature
287 |---mode: Working mode of the thermal zone
288 |---policy: Thermal governor used for this zone
289 |---available_policies: Available thermal governors for this zone
290 |---trip_point_[0-*]_temp: Trip point temperature
291 |---trip_point_[0-*]_type: Trip point type
292 |---trip_point_[0-*]_hyst: Hysteresis value for this trip point
293 |---emul_temp: Emulated temperature set node
294 |---sustainable_power: Sustainable dissipatable power
295 |---k_po: Proportional term during temperature overshoot
296 |---k_pu: Proportional term during temperature undershoot
297 |---k_i: PID's integral term in the power allocator gov
298 |---k_d: PID's derivative term in the power allocator
299 |---integral_cutoff: Offset above which errors are accumulated
300 |---slope: Slope constant applied as linear extrapolation
301 |---offset: Offset constant applied as linear extrapolation
303 Thermal cooling device sys I/F, created once it's registered::
305 /sys/class/thermal/cooling_device[0-*]:
306 |---type: Type of the cooling device(processor/fan/...)
307 |---max_state: Maximum cooling state of the cooling device
308 |---cur_state: Current cooling state of the cooling device
309 |---stats: Directory containing cooling device's statistics
310 |---stats/reset: Writing any value resets the statistics
311 |---stats/time_in_state_ms: Time (msec) spent in various cooling states
312 |---stats/total_trans: Total number of times cooling state is changed
313 |---stats/trans_table: Cooling state transition table
317 the relationship between a thermal zone and its associated cooling device.
321 /sys/class/thermal/thermal_zone[0-*]:
322 |---cdev[0-*]: [0-*]th cooling device in current thermal zone
323 |---cdev[0-*]_trip_point: Trip point that cdev[0-*] is associated with
324 |---cdev[0-*]_weight: Influence of the cooling device in
327 Besides the thermal zone device sysfs I/F and cooling device sysfs I/F,
329 of thermal zone device. E.g. the generic thermal driver registers one hwmon
330 class device and build the associated hwmon sysfs I/F for all the registered
333 Please read Documentation/ABI/testing/sysfs-class-thermal for thermal
334 zone and cooling device attribute details.
338 /sys/class/hwmon/hwmon[0-*]:
339 |---name: The type of the thermal zone devices
340 |---temp[1-*]_input: The current temperature of thermal zone [1-*]
341 |---temp[1-*]_critical: The critical trip point of thermal zone [1-*]
343 Please read Documentation/hwmon/sysfs-interface.rst for additional information.
354 effectiveness in cooling the thermal zone.
361 |---type: acpitz
362 |---temp: 37000
363 |---mode: enabled
364 |---policy: step_wise
365 |---available_policies: step_wise fair_share
366 |---trip_point_0_temp: 100000
367 |---trip_point_0_type: critical
368 |---trip_point_1_temp: 80000
369 |---trip_point_1_type: passive
370 |---trip_point_2_temp: 70000
371 |---trip_point_2_type: active0
372 |---trip_point_3_temp: 60000
373 |---trip_point_3_type: active1
374 |---cdev0: --->/sys/class/thermal/cooling_device0
375 |---cdev0_trip_point: 1 /* cdev0 can be used for passive */
376 |---cdev0_weight: 1024
377 |---cdev1: --->/sys/class/thermal/cooling_device3
378 |---cdev1_trip_point: 2 /* cdev1 can be used for active[0]*/
379 |---cdev1_weight: 1024
382 |---type: Processor
383 |---max_state: 8
384 |---cur_state: 0
387 |---type: Fan
388 |---max_state: 2
389 |---cur_state: 0
393 |---name: acpitz
394 |---temp1_input: 37000
395 |---temp1_crit: 100000
401 -----------------
410 ------------------------
412 This function serves as an arbitrator to set the state of a cooling
413 device. It sets the cooling device to the deepest cooling state if
422 but accepts a delay after which it proceeds doing a forced power-off
429 carefully profiled non-zero positive value is a must for emergency