xref: /linux/Documentation/devicetree/bindings/thermal/sprd-thermal.yaml (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/thermal/sprd-thermal.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Spreadtrum thermal sensor controller
8
9maintainers:
10  - Orson Zhai <orsonzhai@gmail.com>
11  - Baolin Wang <baolin.wang7@gmail.com>
12  - Chunyan Zhang <zhang.lyra@gmail.com>
13
14$ref: thermal-sensor.yaml#
15
16properties:
17  compatible:
18    const: sprd,ums512-thermal
19
20  reg:
21    maxItems: 1
22
23  clocks:
24    maxItems: 1
25
26  clock-names:
27    items:
28      - const: enable
29
30  nvmem-cells:
31    maxItems: 2
32    description:
33      Reference to nvmem nodes for the calibration data.
34
35  nvmem-cell-names:
36    items:
37      - const: thm_sign_cal
38      - const: thm_ratio_cal
39
40  "#thermal-sensor-cells":
41    const: 1
42
43  "#address-cells":
44    const: 1
45
46  "#size-cells":
47    const: 0
48
49patternProperties:
50  "^([a-z]*-)?sensor(-section)?@[0-9]+$":
51    type: object
52    description:
53      Represent one thermal sensor.
54
55    properties:
56      reg:
57        description: Specify the sensor id.
58        maxItems: 1
59
60      nvmem-cells:
61        maxItems: 1
62        description:
63          Reference to an nvmem node for the calibration data.
64
65      nvmem-cell-names:
66        const: sen_delta_cal
67
68    required:
69      - reg
70      - nvmem-cells
71      - nvmem-cell-names
72
73    additionalProperties: false
74
75required:
76  - compatible
77  - reg
78  - clocks
79  - clock-names
80  - nvmem-cells
81  - nvmem-cell-names
82  - "#address-cells"
83  - "#size-cells"
84
85unevaluatedProperties: false
86
87examples:
88  - |
89    thermal@32200000 {
90        compatible = "sprd,ums512-thermal";
91        reg = <0x32200000 0x10000>;
92        clock-names = "enable";
93        clocks = <&aonapb_gate 32>;
94        #thermal-sensor-cells = <1>;
95        nvmem-cells = <&thm0_sign>, <&thm0_ratio>;
96        nvmem-cell-names = "thm_sign_cal", "thm_ratio_cal";
97        #address-cells = <1>;
98        #size-cells = <0>;
99
100        prometheus-sensor@0 {
101            reg = <0>;
102            nvmem-cells = <&thm0_sen0>;
103            nvmem-cell-names = "sen_delta_cal";
104        };
105
106        ank-sensor@1 {
107            reg = <1>;
108            nvmem-cells = <&thm0_sen1>;
109            nvmem-cell-names = "sen_delta_cal";
110        };
111    };
112...
113