Linux 6.11-rc1
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / thermal / sprd-thermal.yaml
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
7 title: Spreadtrum thermal sensor controller
8
9 maintainers:
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
16 properties:
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
49 patternProperties:
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
75 required:
76   - compatible
77   - reg
78   - clocks
79   - clock-names
80   - nvmem-cells
81   - nvmem-cell-names
82   - "#address-cells"
83   - "#size-cells"
84
85 unevaluatedProperties: false
86
87 examples:
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 ...