Lines Matching +full:power +full:- +full:on +full:- +full:delay

15 - thermal sensors: devices which may be used to take temperature
17 - cooling devices: devices which may be used to dissipate heat.
18 - trip points: describe key temperatures at which cooling is recommended. The
19 set of points should be chosen based on hardware limits.
20 - cooling maps: used to describe links between trip points and cooling devices;
21 - thermal zones: used to describe thermal data within the hardware;
27 Thermal sensor devices are nodes providing temperature sensing capabilities on
33 - #thermal-sensor-cells: Used to provide sensor device specific information
34 Type: unsigned while referring to it. Typically 0 on thermal sensor
35 Size: one cell nodes with only one sensor, and at least 1 on nodes
39 on how consumers refer to sensor devices.
43 Cooling devices are nodes providing control on power dissipation. There
44 are essentially two ways to provide control on power dissipation. First
62 - #cooling-cells: Used to provide cooling device specific information
69 on how consumers refer to cooling devices.
78 - temperature: An integer indicating the trip temperature level,
82 - hysteresis: A low hysteresis value on temperature property (above).
86 - type: a string containing the trip type. Expected values are:
100 - cooling-device: A list of phandles of cooling devices with their specifiers,
105 - trip: A phandle of a trip point node within the same thermal
110 - contribution: The cooling contribution to the thermal zone of the
115 Note: Using the THERMAL_NO_LIMIT (-1UL) constant in the cooling-device phandle
117 (i) - minimum state allowed for minimum cooling state used in the reference.
118 (ii) - maximum state allowed for maximum cooling state used in the reference.
119 Refer to include/dt-bindings/thermal/thermal.h for definition of this constant.
125 thermal zone node must contain, apart from its own properties, one sub-node
126 containing trip nodes and one sub-node containing all the zone cooling maps.
129 - polling-delay: The maximum number of milliseconds to wait between polls
133 - polling-delay-passive: The maximum number of milliseconds to wait
137 - thermal-sensors: A list of thermal sensor phandles and sensor specifier
142 - trips: A sub-node which is a container of only trip point nodes
143 Type: sub-node required to describe the thermal zone.
146 - cooling-maps: A sub-node which is a container of only cooling device
147 Type: sub-node map nodes, used to describe the relation between trips
150 - coefficients: An array of integers (one signed cell) containing
152 Elem size: one cell the sensors listed in the thermal-sensors property.
155 Z = c0 * x0 + c1 * x1 + ... + c(n-1) * x(n-1) + cn.
161 - sustainable-power: An estimate of the sustainable power (in mW) that the
164 sustainable power of a 4'' phone is typically
165 2000mW, while on a 10'' tablet is around
168 Note: The delay properties are bound to the maximum dT/dt (temperature
170 (i) - when passive cooling is activated (polling-delay-passive); and
171 (ii) - when the zone just needs to be monitored (polling-delay) or
174 The maximum dT/dt is highly bound to hardware power consumption and dissipation
181 * The thermal-zones node
183 The "thermal-zones" node is a container for all thermal zone nodes. It shall
184 contain only sub-nodes describing thermal zones as in the section
185 "Thermal zone nodes". The "thermal-zones" node appears under "/".
189 Below are several examples on how to use thermal data descriptors
192 (a) - CPU thermal zone
196 power dissipation control sources.
198 #include <dt-bindings/thermal/thermal.h>
212 operating-points = <
219 #cooling-cells = <2>; /* min followed by max */
228 * (represented as 0-9).
232 #cooling-cells = <2>; /* min followed by max */
243 #thermal-sensor-cells = <0>;
247 thermal-zones {
248 cpu_thermal: cpu-thermal {
249 polling-delay-passive = <250>; /* milliseconds */
250 polling-delay = <1000>; /* milliseconds */
252 thermal-sensors = <&bandgap0>;
255 cpu_alert0: cpu-alert0 {
260 cpu_alert1: cpu-alert1 {
265 cpu_crit: cpu-crit {
272 cooling-maps {
275 cooling-device = <&fan0 THERMAL_NO_LIMIT 4>;
279 cooling-device = <&fan0 5 THERMAL_NO_LIMIT>, <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
286 used to monitor the zone 'cpu-thermal' using its sole sensor. A fan
288 different cooling states 0-9. It is used to remove the heat out of
289 the thermal zone 'cpu-thermal' using its cooling states
293 linked to the same thermal zone, 'cpu-thermal', as a passive cooling device,
295 which is a trip point at 100C. On the thermal zone 'cpu-thermal', at the
299 (b) - IC with several internal sensors
303 case on SoC designs with several internal IPs that may need different thermal
307 #include <dt-bindings/thermal/thermal.h>
316 #thermal-sensor-cells = <1>;
320 thermal-zones {
321 cpu_thermal: cpu-thermal {
322 polling-delay-passive = <250>; /* milliseconds */
323 polling-delay = <1000>; /* milliseconds */
326 thermal-sensors = <&bandgap0 0>;
330 cpu_alert: cpu-alert {
335 cpu_crit: cpu-crit {
342 cooling-maps {
348 gpu_thermal: gpu-thermal {
349 polling-delay-passive = <120>; /* milliseconds */
350 polling-delay = <1000>; /* milliseconds */
353 thermal-sensors = <&bandgap0 1>;
357 gpu_alert: gpu-alert {
362 gpu_crit: gpu-crit {
369 cooling-maps {
375 dsp_thermal: dsp-thermal {
376 polling-delay-passive = <50>; /* milliseconds */
377 polling-delay = <1000>; /* milliseconds */
380 thermal-sensors = <&bandgap0 2>;
384 dsp_alert: dsp-alert {
389 dsp_crit: gpu-crit {
396 cooling-maps {
405 placed on different places in the DIE to monitor different temperature
411 #thermal-sensor-cells property and using the first cell of the sensor
419 (c) - Several sensors within one single thermal zone
424 #include <dt-bindings/thermal/thermal.h>
433 #thermal-sensor-cells = <0>;
444 #thermal-sensor-cells = <0>;
448 thermal-zones {
449 cpu_thermal: cpu-thermal {
450 polling-delay-passive = <250>; /* milliseconds */
451 polling-delay = <1000>; /* milliseconds */
453 thermal-sensors = <&bandgap0>, /* cpu */
456 /* hotspot = 100 * bandgap - 120 * adc + 484 */
457 coefficients = <100 -120 484>;
463 cooling-maps {
475 hotspot = 100 * bandgap - 120 * adc + 484
483 thermal-sensors = <&adc>;
488 (d) - Board thermal
493 #include <dt-bindings/thermal/thermal.h>
502 #thermal-sensor-cells = <1>; /* sensor internal ID */
506 thermal-zones {
507 batt-thermal {
508 polling-delay-passive = <500>; /* milliseconds */
509 polling-delay = <2500>; /* milliseconds */
512 thermal-sensors = <&adc_dummy 4>;
518 cooling-maps {
523 board_thermal: board-thermal {
524 polling-delay-passive = <1000>; /* milliseconds */
525 polling-delay = <2500>; /* milliseconds */
528 thermal-sensors = <&adc_dummy 0>, /* pcb top edge */
536 coefficients = <1200 -345 890>;
538 sustainable-power = <2500>;
541 /* Trips are based on resulting linear equation */
542 cpu_trip: cpu-trip {
547 gpu_trip: gpu-trip {
552 lcd_trip: lcp-trip {
557 crit_trip: crit-trip {
564 cooling-maps {
567 cooling-device = <&cpu0 0 2>;
572 cooling-device = <&gpu0 0 2>;
577 cooling-device = <&lcd0 5 10>;