Lines Matching +full:temperature +full:- +full:sensor
1 # SPDX-License-Identifier: (GPL-2.0)
4 ---
5 $id: http://devicetree.org/schemas/thermal/thermal-zones.yaml#
6 $schema: http://devicetree.org/meta-schemas/base.yaml#
11 - Daniel Lezcano <daniel.lezcano@linaro.org>
14 Thermal management is achieved in devicetree by describing the sensor hardware
20 - thermal-sensor: device that measures temperature, has SoC-specific bindings
21 - cooling-device: device used to dissipate heat either passively or actively
22 - thermal-zones: a container of the following node types used to describe all
25 This binding describes the thermal-zones.
27 The polling-delay properties of a thermal-zone are bound to the maximum dT/dt
28 (temperature derivative over time) in two situations for a thermal zone:
29 1. when passive cooling is activated (polling-delay-passive)
30 2. when the zone just needs to be monitored (polling-delay) or when
37 having the device in temperature ranges that may damage the silicon structures
42 const: thermal-zones
44 A /thermal-zones node is required in order to use the thermal framework to
47 in the system, but acts as a container to link a thermal sensor device,
48 platform-data regarding temperature thresholds and the mitigation actions
49 to take when the temperature crosses those thresholds.
52 # Node name is limited in size due to Linux kernel requirements - 19
55 "^[a-zA-Z][a-zA-Z0-9\\-]{1,10}-thermal$":
59 must be checked, the sensor responsible for reporting temperature for
60 this zone, one sub-node containing the various trip points for this
61 zone and one sub-node containing all the zone cooling-maps.
64 polling-delay:
72 polling-delay-passive:
81 critical-action:
84 The action the OS should perform after the critical temperature is reached.
94 - shutdown
95 - reboot
97 thermal-sensors:
98 $ref: /schemas/types.yaml#/definitions/phandle-array
101 The thermal sensor phandle and sensor specifier used to monitor this
105 $ref: /schemas/types.yaml#/definitions/uint32-array
111 z = c0 * x0 + c1 * x1 + ... + c(n-1) * x(n-1) + cn
116 sensor ID. Additional coefficients are interpreted as constant offset.
118 sustainable-power:
122 can dissipate at the desired control temperature. For reference, the
123 sustainable power of a 4-inch phone is typically 2000mW, while on a
124 10-inch tablet is around 4500mW.
129 This node describes a set of points in the temperature domain at
131 be taken are defined in another node called cooling-maps.
134 "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$":
138 temperature:
140 minimum: -273000
143 An integer expressing the trip temperature in millicelsius.
149 respect to the trip temperature property above, also in
151 maintained until the temperature falls below
152 (trip temperature - hysteresis). This potentially prevents a
159 - active # enable active cooling e.g. fans
160 - passive # enable passive cooling e.g. throttling cpu
161 - hot # send notification to driver
162 - critical # send notification to driver, trigger shutdown
168 temperature threshold above which the HW becomes
184 - temperature
185 - hysteresis
186 - type
191 cooling-maps:
196 crosses one of the temperature thresholds described in the trips
201 "^map[-a-zA-Z0-9]*$":
210 cooling-device:
211 $ref: /schemas/types.yaml#/definitions/phandle-array
215 device. Using the THERMAL_NO_LIMIT (-1UL) constant in the
216 cooling-device phandle limit specifier lets the framework
229 - trip
230 - cooling-device
234 - thermal-sensors
241 - |
242 #include <dt-bindings/interrupt-controller/arm-gic.h>
243 #include <dt-bindings/thermal/thermal.h>
247 #address-cells = <2>;
248 #size-cells = <2>;
252 tsens0: thermal-sensor@c263000 {
253 compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
259 interrupt-names = "uplow", "critical";
260 #thermal-sensor-cells = <1>;
263 tsens1: thermal-sensor@c265000 {
264 compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
270 interrupt-names = "uplow", "critical";
271 #thermal-sensor-cells = <1>;
277 thermal-zones {
278 cpu0-thermal {
279 polling-delay-passive = <250>;
280 polling-delay = <1000>;
282 thermal-sensors = <&tsens0 1>;
285 cpu0_alert0: trip-point0 {
286 temperature = <90000>;
291 cpu0_alert1: trip-point1 {
292 temperature = <95000>;
298 temperature = <110000>;
304 cooling-maps {
308 cooling-device = <&CPU0 3 3>, <&CPU1 3 3>,
315 cooling-device = <&CPU0 5 5>, <&CPU1 5 5>,
323 cluster0-thermal {
324 polling-delay-passive = <250>;
325 polling-delay = <1000>;
327 thermal-sensors = <&tsens0 5>;
330 cluster0_alert0: trip-point0 {
331 temperature = <90000>;
336 temperature = <110000>;
345 gpu-top-thermal {
346 polling-delay-passive = <250>;
347 polling-delay = <1000>;
349 thermal-sensors = <&tsens0 11>;
352 gpu1_alert0: trip-point0 {
353 temperature = <90000>;