1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/iio/temperature/adi,ltc2983.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Analog Devices LTC2983 Multi-sensor Temperature system
8
9 maintainers:
10 - Nuno Sá <nuno.sa@analog.com>
11
12 description: |
13 Analog Devices LTC2983 Multi-Sensor Digital Temperature Measurement System
14 https://www.analog.com/media/en/technical-documentation/data-sheets/2983fc.pdf
15
16 properties:
17 compatible:
18 enum:
19 - adi,ltc2983
20
21 reg:
22 maxItems: 1
23
24 interrupts:
25 maxItems: 1
26
27 adi,mux-delay-config-us:
28 description:
29 The LTC2983 performs 2 or 3 internal conversion cycles per temperature
30 result. Each conversion cycle is performed with different excitation and
31 input multiplexer configurations. Prior to each conversion, these
32 excitation circuits and input switch configurations are changed and an
33 internal 1ms delay ensures settling prior to the conversion cycle in most
34 cases. An extra delay can be configured using this property. The value is
35 rounded to nearest 100us.
36 maximum: 255
37
38 adi,filter-notch-freq:
39 description:
40 Set's the default setting of the digital filter. The default is
41 simultaneous 50/60Hz rejection.
42 0 - 50/60Hz rejection
43 1 - 60Hz rejection
44 2 - 50Hz rejection
45 $ref: /schemas/types.yaml#/definitions/uint32
46 minimum: 0
47 maximum: 2
48
49 '#address-cells':
50 const: 1
51
52 '#size-cells':
53 const: 0
54
55 patternProperties:
56 "@([1-9]|1[0-9]|20)$":
57 type: object
58
59 properties:
60 reg:
61 description:
62 The channel number. It can be connected to one of the 20 channels of
63 the device.
64 minimum: 1
65 maximum: 20
66
67 adi,sensor-type:
68 description: Identifies the type of sensor connected to the device.
69 $ref: /schemas/types.yaml#/definitions/uint32
70
71 required:
72 - reg
73 - adi,sensor-type
74
75 "^thermocouple@":
76 type: object
77 description:
78 Represents a thermocouple sensor which is connected to one of the device
79 channels.
80
81 properties:
82 adi,sensor-type:
83 description: |
84 1 - Type J Thermocouple
85 2 - Type K Thermocouple
86 3 - Type E Thermocouple
87 4 - Type N Thermocouple
88 5 - Type R Thermocouple
89 6 - Type S Thermocouple
90 7 - Type T Thermocouple
91 8 - Type B Thermocouple
92 9 - Custom Thermocouple
93 $ref: /schemas/types.yaml#/definitions/uint32
94 minimum: 1
95 maximum: 9
96
97 adi,single-ended:
98 description:
99 Boolean property which set's the thermocouple as single-ended.
100 type: boolean
101
102 adi,sensor-oc-current-microamp:
103 description:
104 This property set's the pulsed current value applied during
105 open-circuit detect.
106 enum: [10, 100, 500, 1000]
107
108 adi,cold-junction-handle:
109 description:
110 Phandle which points to a sensor object responsible for measuring
111 the thermocouple cold junction temperature.
112 $ref: "/schemas/types.yaml#/definitions/phandle"
113
114 adi,custom-thermocouple:
115 description:
116 This is a table, where each entry should be a pair of
117 voltage(mv)-temperature(K). The entries must be given in nv and uK
118 so that, the original values must be multiplied by 1000000. For
119 more details look at table 69 and 70.
120 Note should be signed, but dtc doesn't currently maintain the
121 sign.
122 $ref: /schemas/types.yaml#/definitions/uint64-matrix
123 minItems: 3
124 maxItems: 64
125 items:
126 minItems: 2
127 maxItems: 2
128
129 "^diode@":
130 type: object
131 description:
132 Represents a diode sensor which is connected to one of the device
133 channels.
134
135 properties:
136 adi,sensor-type:
137 description: Identifies the sensor as a diode.
138 $ref: /schemas/types.yaml#/definitions/uint32
139 const: 28
140
141 adi,single-ended:
142 description: Boolean property which set's the diode as single-ended.
143 type: boolean
144
145 adi,three-conversion-cycles:
146 description:
147 Boolean property which set's three conversion cycles removing
148 parasitic resistance effects between the LTC2983 and the diode.
149 type: boolean
150
151 adi,average-on:
152 description:
153 Boolean property which enables a running average of the diode
154 temperature reading. This reduces the noise when the diode is used
155 as a cold junction temperature element on an isothermal block
156 where temperatures change slowly.
157 type: boolean
158
159 adi,excitation-current-microamp:
160 description:
161 This property controls the magnitude of the excitation current
162 applied to the diode. Depending on the number of conversions
163 cycles, this property will assume different predefined values on
164 each cycle. Just set the value of the first cycle (1l).
165 enum: [10, 20, 40, 80]
166
167 adi,ideal-factor-value:
168 description:
169 This property sets the diode ideality factor. The real value must
170 be multiplied by 1000000 to remove the fractional part. For more
171 information look at table 20 of the datasheet.
172 $ref: /schemas/types.yaml#/definitions/uint32
173
174 "^rtd@":
175 type: object
176 description:
177 Represents a rtd sensor which is connected to one of the device channels.
178
179 properties:
180 reg:
181 minimum: 2
182 maximum: 20
183
184 adi,sensor-type:
185 description: |
186 10 - RTD PT-10
187 11 - RTD PT-50
188 12 - RTD PT-100
189 13 - RTD PT-200
190 14 - RTD PT-500
191 15 - RTD PT-1000
192 16 - RTD PT-1000 (0.00375)
193 17 - RTD NI-120
194 18 - RTD Custom
195 $ref: /schemas/types.yaml#/definitions/uint32
196 minimum: 10
197 maximum: 18
198
199 adi,rsense-handle:
200 description:
201 Phandle pointing to a rsense object associated with this RTD.
202 $ref: "/schemas/types.yaml#/definitions/phandle"
203
204 adi,number-of-wires:
205 description:
206 Identifies the number of wires used by the RTD. Setting this
207 property to 5 means 4 wires with Kelvin Rsense.
208 $ref: /schemas/types.yaml#/definitions/uint32
209 enum: [2, 3, 4, 5]
210
211 adi,rsense-share:
212 description:
213 Boolean property which enables Rsense sharing, where one sense
214 resistor is used for multiple 2-, 3-, and/or 4-wire RTDs.
215 type: boolean
216
217 adi,current-rotate:
218 description:
219 Boolean property which enables excitation current rotation to
220 automatically remove parasitic thermocouple effects. Note that
221 this property is not allowed for 2- and 3-wire RTDs.
222 type: boolean
223
224 adi,excitation-current-microamp:
225 description:
226 This property controls the magnitude of the excitation current
227 applied to the RTD.
228 enum: [5, 10, 25, 50, 100, 250, 500, 1000]
229
230 adi,rtd-curve:
231 description:
232 This property set the RTD curve used and the corresponding
233 Callendar-VanDusen constants. Look at table 30 of the datasheet.
234 $ref: /schemas/types.yaml#/definitions/uint32
235 minimum: 0
236 maximum: 3
237
238 adi,custom-rtd:
239 description:
240 This is a table, where each entry should be a pair of
241 resistance(ohm)-temperature(K). The entries added here are in uohm
242 and uK. For more details values look at table 74 and 75.
243 $ref: /schemas/types.yaml#/definitions/uint64-matrix
244 items:
245 minItems: 3
246 maxItems: 64
247 items:
248 minItems: 2
249 maxItems: 2
250
251 required:
252 - adi,rsense-handle
253
254 dependencies:
255 adi,current-rotate: [ "adi,rsense-share" ]
256
257 "^thermistor@":
258 type: object
259 description:
260 Represents a thermistor sensor which is connected to one of the device
261 channels.
262
263 properties:
264 adi,sensor-type:
265 description:
266 19 - Thermistor 44004/44033 2.252kohm at 25°C
267 20 - Thermistor 44005/44030 3kohm at 25°C
268 21 - Thermistor 44007/44034 5kohm at 25°C
269 22 - Thermistor 44006/44031 10kohm at 25°C
270 23 - Thermistor 44008/44032 30kohm at 25°C
271 24 - Thermistor YSI 400 2.252kohm at 25°C
272 25 - Thermistor Spectrum 1003k 1kohm
273 26 - Thermistor Custom Steinhart-Hart
274 27 - Custom Thermistor
275 $ref: /schemas/types.yaml#/definitions/uint32
276 minimum: 19
277 maximum: 27
278
279 adi,rsense-handle:
280 description:
281 Phandle pointing to a rsense object associated with this
282 thermistor.
283 $ref: "/schemas/types.yaml#/definitions/phandle"
284
285 adi,single-ended:
286 description:
287 Boolean property which set's the thermistor as single-ended.
288 type: boolean
289
290 adi,rsense-share:
291 description:
292 Boolean property which enables Rsense sharing, where one sense
293 resistor is used for multiple thermistors. Note that this property
294 is ignored if adi,single-ended is set.
295 type: boolean
296
297 adi,current-rotate:
298 description:
299 Boolean property which enables excitation current rotation to
300 automatically remove parasitic thermocouple effects.
301 type: boolean
302
303 adi,excitation-current-nanoamp:
304 description:
305 This property controls the magnitude of the excitation current
306 applied to the thermistor. Value 0 set's the sensor in auto-range
307 mode.
308 $ref: /schemas/types.yaml#/definitions/uint32
309 enum: [0, 250, 500, 1000, 5000, 10000, 25000, 50000, 100000, 250000,
310 500000, 1000000]
311
312 adi,custom-thermistor:
313 description:
314 This is a table, where each entry should be a pair of
315 resistance(ohm)-temperature(K). The entries added here are in uohm
316 and uK only for custom thermistors. For more details look at table
317 78 and 79.
318 $ref: /schemas/types.yaml#/definitions/uint64-matrix
319 minItems: 3
320 maxItems: 64
321 items:
322 minItems: 2
323 maxItems: 2
324
325 adi,custom-steinhart:
326 description:
327 Steinhart-Hart coefficients are also supported and can
328 be programmed into the device memory using this property. For
329 Steinhart sensors the coefficients are given in the raw
330 format. Look at table 82 for more information.
331 $ref: /schemas/types.yaml#/definitions/uint32-array
332 items:
333 minItems: 6
334 maxItems: 6
335
336 required:
337 - adi,rsense-handle
338
339 dependencies:
340 adi,current-rotate: [ "adi,rsense-share" ]
341
342 "^adc@":
343 type: object
344 description: Represents a channel which is being used as a direct adc.
345
346 properties:
347 adi,sensor-type:
348 description: Identifies the sensor as a direct adc.
349 $ref: /schemas/types.yaml#/definitions/uint32
350 const: 30
351
352 adi,single-ended:
353 description: Boolean property which set's the adc as single-ended.
354 type: boolean
355
356 "^rsense@":
357 type: object
358 description:
359 Represents a rsense which is connected to one of the device channels.
360 Rsense are used by thermistors and RTD's.
361
362 properties:
363 reg:
364 minimum: 2
365 maximum: 20
366
367 adi,sensor-type:
368 description: Identifies the sensor as a rsense.
369 $ref: /schemas/types.yaml#/definitions/uint32
370 const: 29
371
372 adi,rsense-val-milli-ohms:
373 description:
374 Sets the value of the sense resistor. Look at table 20 of the
375 datasheet for information.
376
377 required:
378 - adi,rsense-val-milli-ohms
379
380 required:
381 - compatible
382 - reg
383 - interrupts
384
385 additionalProperties: false
386
387 examples:
388 - |
389 #include <dt-bindings/interrupt-controller/irq.h>
390 spi {
391 #address-cells = <1>;
392 #size-cells = <0>;
393
394 sensor_ltc2983: ltc2983@0 {
395 compatible = "adi,ltc2983";
396 reg = <0>;
397
398 #address-cells = <1>;
399 #size-cells = <0>;
400
401 interrupts = <20 IRQ_TYPE_EDGE_RISING>;
402 interrupt-parent = <&gpio>;
403
404 thermocouple@18 {
405 reg = <18>;
406 adi,sensor-type = <8>; //Type B
407 adi,sensor-oc-current-microamp = <10>;
408 adi,cold-junction-handle = <&diode5>;
409 };
410
411 diode5: diode@5 {
412 reg = <5>;
413 adi,sensor-type = <28>;
414 };
415
416 rsense2: rsense@2 {
417 reg = <2>;
418 adi,sensor-type = <29>;
419 adi,rsense-val-milli-ohms = <1200000>; //1.2Kohms
420 };
421
422 rtd@14 {
423 reg = <14>;
424 adi,sensor-type = <15>; //PT1000
425 /*2-wire, internal gnd, no current rotation*/
426 adi,number-of-wires = <2>;
427 adi,rsense-share;
428 adi,excitation-current-microamp = <500>;
429 adi,rsense-handle = <&rsense2>;
430 };
431
432 adc@10 {
433 reg = <10>;
434 adi,sensor-type = <30>;
435 adi,single-ended;
436 };
437
438 thermistor@12 {
439 reg = <12>;
440 adi,sensor-type = <26>; //Steinhart
441 adi,rsense-handle = <&rsense2>;
442 adi,custom-steinhart = <0x00F371EC 0x12345678
443 0x2C0F8733 0x10018C66 0xA0FEACCD
444 0x90021D99>; //6 entries
445 };
446
447 thermocouple@20 {
448 reg = <20>;
449 adi,sensor-type = <9>; //custom thermocouple
450 adi,single-ended;
451 adi,custom-thermocouple =
452 /bits/ 64 <(-50220000) 0>,
453 /bits/ 64 <(-30200000) 99100000>,
454 /bits/ 64 <(-5300000) 135400000>,
455 /bits/ 64 <0 273150000>,
456 /bits/ 64 <40200000 361200000>,
457 /bits/ 64 <55300000 522100000>,
458 /bits/ 64 <88300000 720300000>,
459 /bits/ 64 <132200000 811200000>,
460 /bits/ 64 <188700000 922500000>,
461 /bits/ 64 <460400000 1000000000>; //10 pairs
462 };
463
464 };
465 };
466 ...
Cache object: 4f0ecf07321b0097519a8fac93e16d59
|