Lines Matching +full:sensor +full:- +full:node
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
18 The following node types are used to completely describe a thermal management
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
29 1. when passive cooling is activated (polling-delay-passive)
30 2. when the zone just needs to be monitored (polling-delay) or when
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
52 # Node name is limited in size due to Linux kernel requirements - 19
55 "^[a-zA-Z][a-zA-Z0-9\\-]{1,10}-thermal$":
58 Each thermal zone node contains information about how frequently it
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:
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:
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}$":
140 minimum: -273000
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
184 - temperature
185 - hysteresis
186 - type
191 cooling-maps:
195 This node describes the action to be taken when a thermal zone
197 node. The action takes the form of a mapping relation between a
201 "^map[-a-zA-Z0-9]*$":
208 A phandle of a trip point node within this thermal zone.
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 {
291 cpu0_alert1: trip-point1 {
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 {
345 gpu-top-thermal {
346 polling-delay-passive = <250>;
347 polling-delay = <1000>;
349 thermal-sensors = <&tsens0 11>;
352 gpu1_alert0: trip-point0 {