fcd25a0af38c93fed51926389cf419b56ab9eb93
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / thermal / thermal-sensor.yaml
1 # SPDX-License-Identifier: (GPL-2.0)
2 # Copyright 2020 Linaro Ltd.
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/thermal/thermal-sensor.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: Thermal sensor binding
9
10 maintainers:
11   - Amit Kucheria <amitk@kernel.org>
12
13 description: |
14   Thermal management is achieved in devicetree by describing the sensor hardware
15   and the software abstraction of thermal zones required to take appropriate
16   action to mitigate thermal overloads.
17
18   The following node types are used to completely describe a thermal management
19   system in devicetree:
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
23      thermal data for the platform
24
25   This binding describes the thermal-sensor.
26
27   Thermal sensor devices provide temperature sensing capabilities on thermal
28   zones. Typical devices are I2C ADC converters and bandgaps. Thermal sensor
29   devices may control one or more internal sensors.
30
31 properties:
32   "#thermal-sensor-cells":
33     description:
34       Used to uniquely identify a thermal sensor instance within an IC. Will be
35       0 on sensor nodes with only a single sensor and at least 1 on nodes
36       containing several internal sensors.
37     enum: [0, 1]
38
39 examples:
40   - |
41     #include <dt-bindings/interrupt-controller/arm-gic.h>
42
43     // Example 1: SDM845 TSENS
44     soc: soc@0 {
45             #address-cells = <2>;
46             #size-cells = <2>;
47
48             /* ... */
49
50             tsens0: thermal-sensor@c263000 {
51                     compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
52                     reg = <0 0x0c263000 0 0x1ff>, /* TM */
53                           <0 0x0c222000 0 0x1ff>; /* SROT */
54                     #qcom,sensors = <13>;
55                     interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>,
56                                  <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>;
57                     interrupt-names = "uplow", "critical";
58                     #thermal-sensor-cells = <1>;
59             };
60
61             tsens1: thermal-sensor@c265000 {
62                     compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
63                     reg = <0 0x0c265000 0 0x1ff>, /* TM */
64                           <0 0x0c223000 0 0x1ff>; /* SROT */
65                     #qcom,sensors = <8>;
66                     interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>,
67                                  <GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>;
68                     interrupt-names = "uplow", "critical";
69                     #thermal-sensor-cells = <1>;
70             };
71     };
72 ...