GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / hwmon / national,lm90.yaml
1 # SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/hwmon/national,lm90.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: LM90 series thermometer
8
9 maintainers:
10   - Jean Delvare <jdelvare@suse.com>
11   - Guenter Roeck <linux@roeck-us.net>
12
13 properties:
14   compatible:
15     enum:
16       - adi,adm1032
17       - adi,adt7461
18       - adi,adt7461a
19       - adi,adt7481
20       - dallas,max6646
21       - dallas,max6647
22       - dallas,max6649
23       - dallas,max6657
24       - dallas,max6658
25       - dallas,max6659
26       - dallas,max6680
27       - dallas,max6681
28       - dallas,max6695
29       - dallas,max6696
30       - gmt,g781
31       - national,lm86
32       - national,lm89
33       - national,lm90
34       - national,lm99
35       - nxp,sa56004
36       - onnn,nct1008
37       - ti,tmp451
38       - ti,tmp461
39       - winbond,w83l771
40
41
42   interrupts:
43     items:
44       - description: |
45           Single interrupt specifier which describes the LM90 "-ALERT" pin
46           output.
47
48   reg:
49     maxItems: 1
50
51   "#thermal-sensor-cells":
52     const: 1
53
54   '#address-cells':
55     const: 1
56
57   '#size-cells':
58     const: 0
59
60   vcc-supply:
61     description: phandle to the regulator that provides the +VCC supply
62
63   ti,extended-range-enable:
64     description: Set to enable extended range temperature.
65     type: boolean
66
67 required:
68   - compatible
69   - reg
70
71 patternProperties:
72   "^channel@([0-2])$":
73     type: object
74     description: Represents channels of the device and their specific configuration.
75
76     properties:
77       reg:
78         description: The channel number. 0 is local channel, 1-2 are remote channels.
79         items:
80           minimum: 0
81           maximum: 2
82
83       label:
84         description: A descriptive name for this channel, like "ambient" or "psu".
85
86       temperature-offset-millicelsius:
87         description: Temperature offset to be added to or subtracted from remote temperature measurements.
88
89     required:
90       - reg
91
92     additionalProperties: false
93
94 allOf:
95   - if:
96       not:
97         properties:
98           compatible:
99             contains:
100               enum:
101                 - adi,adt7461
102                 - adi,adt7461a
103                 - adi,adt7481
104                 - ti,tmp451
105                 - ti,tmp461
106     then:
107       properties:
108         ti,extended-range-enable: false
109
110   - if:
111       properties:
112         compatible:
113           contains:
114             enum:
115               - dallas,max6646
116               - dallas,max6647
117               - dallas,max6649
118               - dallas,max6657
119               - dallas,max6658
120               - dallas,max6659
121               - dallas,max6695
122               - dallas,max6696
123     then:
124       patternProperties:
125         "^channel@([0-2])$":
126           properties:
127             temperature-offset-millicelsius: false
128
129   - if:
130       properties:
131         compatible:
132           contains:
133             enum:
134               - adi,adt7461
135               - adi,adt7461a
136               - adi,adt7481
137               - onnn,nct1008
138     then:
139       patternProperties:
140         "^channel@([0-2])$":
141           properties:
142             temperature-offset-millicelsius:
143               maximum: 127750
144
145   - if:
146       properties:
147         compatible:
148           contains:
149             enum:
150               - adi,adm1032
151               - dallas,max6680
152               - dallas,max6681
153               - gmt,g781
154               - national,lm86
155               - national,lm89
156               - national,lm90
157               - national,lm99
158               - nxp,sa56004
159               - winbond,w83l771
160     then:
161       patternProperties:
162         "^channel@([0-2])$":
163           properties:
164             temperature-offset-millicelsius:
165               maximum: 127875
166
167   - if:
168       properties:
169         compatible:
170           contains:
171             enum:
172               - ti,tmp451
173               - ti,tmp461
174     then:
175       patternProperties:
176         "^channel@([0-2])$":
177           properties:
178             temperature-offset-millicelsius:
179               maximum: 127937
180
181 additionalProperties: false
182
183 examples:
184   - |
185     #include <dt-bindings/interrupt-controller/irq.h>
186
187     i2c {
188         #address-cells = <1>;
189         #size-cells = <0>;
190
191         sensor@4c {
192             compatible = "onnn,nct1008";
193             reg = <0x4c>;
194             vcc-supply = <&palmas_ldo6_reg>;
195             interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
196             #thermal-sensor-cells = <1>;
197         };
198     };
199   - |
200     i2c {
201       #address-cells = <1>;
202       #size-cells = <0>;
203
204       sensor@4c {
205         compatible = "adi,adt7481";
206         reg = <0x4c>;
207         #address-cells = <1>;
208         #size-cells = <0>;
209
210         channel@0 {
211           reg = <0x0>;
212           label = "local";
213         };
214
215         channel@1 {
216           reg = <0x1>;
217           label = "front";
218           temperature-offset-millicelsius = <4000>;
219         };
220
221         channel@2 {
222           reg = <0x2>;
223           label = "back";
224           temperature-offset-millicelsius = <750>;
225         };
226       };
227     };