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