Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml
26309 views
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, LTC2986, LTM2985 Multi-sensor Temperature system
8
9
maintainers:
10
- Nuno Sá <nuno.sa@analog.com>
11
12
description: |
13
Analog Devices LTC2983, LTC2984, LTC2986, LTM2985 Multi-Sensor Digital
14
Temperature Measurement Systems
15
16
https://www.analog.com/media/en/technical-documentation/data-sheets/2983fc.pdf
17
https://www.analog.com/media/en/technical-documentation/data-sheets/2984fb.pdf
18
https://www.analog.com/media/en/technical-documentation/data-sheets/29861fa.pdf
19
https://www.analog.com/media/en/technical-documentation/data-sheets/ltm2985.pdf
20
21
$defs:
22
sensor-node:
23
type: object
24
description: Sensor node common constraints
25
26
properties:
27
reg:
28
description:
29
Channel number. Connects the sensor to the channel with this number
30
of the device.
31
minimum: 1
32
maximum: 20
33
34
adi,sensor-type:
35
description: Type of sensor connected to the device.
36
$ref: /schemas/types.yaml#/definitions/uint32
37
38
required:
39
- reg
40
- adi,sensor-type
41
42
43
properties:
44
compatible:
45
oneOf:
46
- enum:
47
- adi,ltc2983
48
- adi,ltc2986
49
- adi,ltm2985
50
- items:
51
- const: adi,ltc2984
52
- const: adi,ltc2983
53
54
reg:
55
maxItems: 1
56
57
interrupts:
58
maxItems: 1
59
60
vdd-supply: true
61
62
adi,mux-delay-config-us:
63
description: |
64
Extra delay prior to each conversion, in addition to the internal 1ms
65
delay, for the multiplexer to switch input configurations and
66
excitation values.
67
68
This property is supposed to be in microseconds, but to maintain
69
compatibility, this value will be multiplied by 100 before usage.
70
maximum: 255
71
default: 0
72
73
adi,filter-notch-freq:
74
description:
75
Notch frequency of the digital filter.
76
0 - 50/60Hz rejection
77
1 - 60Hz rejection
78
2 - 50Hz rejection
79
$ref: /schemas/types.yaml#/definitions/uint32
80
minimum: 0
81
maximum: 2
82
default: 0
83
84
'#address-cells':
85
const: 1
86
87
'#size-cells':
88
const: 0
89
90
patternProperties:
91
"^thermocouple@":
92
$ref: '#/$defs/sensor-node'
93
unevaluatedProperties: false
94
95
description: Thermocouple sensor.
96
97
properties:
98
adi,sensor-type:
99
description: |
100
1 - Type J Thermocouple
101
2 - Type K Thermocouple
102
3 - Type E Thermocouple
103
4 - Type N Thermocouple
104
5 - Type R Thermocouple
105
6 - Type S Thermocouple
106
7 - Type T Thermocouple
107
8 - Type B Thermocouple
108
9 - Custom Thermocouple
109
$ref: /schemas/types.yaml#/definitions/uint32
110
minimum: 1
111
maximum: 9
112
113
adi,single-ended:
114
description: Whether the sensor is single-ended.
115
type: boolean
116
117
adi,sensor-oc-current-microamp:
118
description: Pulsed current value applied during open-circuit detect.
119
enum: [10, 100, 500, 1000]
120
default: 10
121
122
adi,cold-junction-handle:
123
description:
124
Sensor responsible for measuring the thermocouple cold junction
125
temperature.
126
$ref: /schemas/types.yaml#/definitions/phandle
127
128
adi,custom-thermocouple:
129
description:
130
Used for digitizing custom thermocouples.
131
See Page 59 of the datasheet.
132
$ref: /schemas/types.yaml#/definitions/int64-matrix
133
minItems: 3
134
maxItems: 64
135
items:
136
items:
137
- description: Voltage point in nV, signed.
138
- description: Temperature point in uK.
139
140
allOf:
141
- if:
142
properties:
143
adi,sensor-type:
144
const: 9
145
then:
146
required:
147
- adi,custom-thermocouple
148
149
"^diode@":
150
$ref: '#/$defs/sensor-node'
151
unevaluatedProperties: false
152
153
description: Diode sensor.
154
155
properties:
156
adi,sensor-type:
157
description: Sensor type for diodes.
158
$ref: /schemas/types.yaml#/definitions/uint32
159
const: 28
160
161
adi,single-ended:
162
description: Whether the sensor is single-ended.
163
type: boolean
164
165
adi,three-conversion-cycles:
166
description:
167
Whether to use three conversion cycles to remove parasitic
168
resistance between the device and the diode.
169
type: boolean
170
171
adi,average-on:
172
description:
173
Whether to use a running average of the diode temperature
174
reading to reduce the noise when the diode is used as a cold
175
junction temperature element on an isothermal block where
176
temperatures change slowly.
177
type: boolean
178
179
adi,excitation-current-microamp:
180
description:
181
Magnitude of the 1l excitation current applied to the diode.
182
4l excitation current will be 4 times this value, and 8l
183
excitation current will be 8 times value.
184
enum: [10, 20, 40, 80]
185
default: 10
186
187
adi,ideal-factor-value:
188
description:
189
Diode ideality factor.
190
Set this property to 1000000 times the real value.
191
$ref: /schemas/types.yaml#/definitions/uint32
192
default: 0
193
194
"^rtd@":
195
$ref: '#/$defs/sensor-node'
196
unevaluatedProperties: false
197
description: RTD sensor.
198
199
properties:
200
reg:
201
minimum: 2
202
maximum: 20
203
204
adi,sensor-type:
205
description: |
206
10 - RTD PT-10
207
11 - RTD PT-50
208
12 - RTD PT-100
209
13 - RTD PT-200
210
14 - RTD PT-500
211
15 - RTD PT-1000
212
16 - RTD PT-1000 (0.00375)
213
17 - RTD NI-120
214
18 - RTD Custom
215
$ref: /schemas/types.yaml#/definitions/uint32
216
minimum: 10
217
maximum: 18
218
219
adi,rsense-handle:
220
description: Associated sense resistor sensor.
221
$ref: /schemas/types.yaml#/definitions/phandle
222
223
adi,number-of-wires:
224
description:
225
Number of wires used by the RTD.
226
5 means 4 wires with Kelvin sense resistor.
227
$ref: /schemas/types.yaml#/definitions/uint32
228
enum: [2, 3, 4, 5]
229
default: 2
230
231
adi,rsense-share:
232
description:
233
Whether to enable sense resistor sharing, where one sense
234
resistor is used by multiple sensors.
235
type: boolean
236
237
adi,excitation-current-microamp:
238
description: Excitation current applied to the RTD.
239
enum: [5, 10, 25, 50, 100, 250, 500, 1000]
240
default: 5
241
242
adi,rtd-curve:
243
description: |
244
RTD curve and the corresponding Callendar-VanDusen constants.
245
0 - European
246
1 - American
247
2 - Japanese
248
3 - ITS-90
249
$ref: /schemas/types.yaml#/definitions/uint32
250
minimum: 0
251
maximum: 3
252
default: 0
253
254
adi,custom-rtd:
255
description:
256
Used for digitizing custom RTDs.
257
See Page 62 of the datasheet.
258
$ref: /schemas/types.yaml#/definitions/uint64-matrix
259
minItems: 3
260
maxItems: 64
261
items:
262
items:
263
- description: Resistance point in uOhms.
264
- description: Temperature point in uK.
265
266
required:
267
- adi,rsense-handle
268
269
allOf:
270
- if:
271
properties:
272
adi,number-of-wires:
273
const: 4
274
then:
275
properties:
276
adi,current-rotate:
277
description:
278
Whether to enable excitation current rotation to automatically
279
remove parasitic thermocouple effects.
280
type: boolean
281
282
dependencies:
283
adi,current-rotate: [ "adi,rsense-share" ]
284
285
- if:
286
properties:
287
adi,sensor-type:
288
const: 18
289
then:
290
required:
291
- adi,custom-rtd
292
293
"^thermistor@":
294
$ref: '#/$defs/sensor-node'
295
unevaluatedProperties: false
296
description: Thermistor sensor.
297
298
properties:
299
adi,sensor-type:
300
description:
301
19 - Thermistor 44004/44033 2.252kohm at 25°C
302
20 - Thermistor 44005/44030 3kohm at 25°C
303
21 - Thermistor 44007/44034 5kohm at 25°C
304
22 - Thermistor 44006/44031 10kohm at 25°C
305
23 - Thermistor 44008/44032 30kohm at 25°C
306
24 - Thermistor YSI 400 2.252kohm at 25°C
307
25 - Thermistor Spectrum 1003k 1kohm
308
26 - Thermistor Custom Steinhart-Hart
309
27 - Custom Thermistor
310
$ref: /schemas/types.yaml#/definitions/uint32
311
minimum: 19
312
maximum: 27
313
314
adi,rsense-handle:
315
description: Associated sense resistor sensor.
316
$ref: /schemas/types.yaml#/definitions/phandle
317
318
adi,single-ended:
319
description: Whether the sensor is single-ended.
320
type: boolean
321
322
adi,rsense-share:
323
description:
324
Whether to enable sense resistor sharing, where one sense
325
resistor is used by multiple sensors.
326
type: boolean
327
328
adi,current-rotate:
329
description:
330
Whether to enable excitation current rotation to automatically
331
remove parasitic thermocouple effects.
332
type: boolean
333
334
adi,excitation-current-nanoamp:
335
description:
336
Excitation current applied to the thermistor.
337
0 sets the sensor in auto-range mode.
338
enum: [0, 250, 500, 1000, 5000, 10000, 25000, 50000, 100000, 250000,
339
500000, 1000000]
340
default: 0
341
342
adi,custom-thermistor:
343
description:
344
Used for digitizing custom thermistors.
345
See Page 65 of the datasheet.
346
$ref: /schemas/types.yaml#/definitions/uint64-matrix
347
minItems: 3
348
maxItems: 64
349
items:
350
items:
351
- description: Resistance point in uOhms.
352
- description: Temperature point in uK.
353
354
adi,custom-steinhart:
355
description:
356
Steinhart-Hart coefficients in raw format, used for digitizing
357
custom thermistors.
358
See Page 68 of the datasheet.
359
$ref: /schemas/types.yaml#/definitions/uint32-array
360
minItems: 6
361
maxItems: 6
362
363
required:
364
- adi,rsense-handle
365
366
dependencies:
367
adi,current-rotate: [ "adi,rsense-share" ]
368
369
allOf:
370
- if:
371
properties:
372
adi,sensor-type:
373
const: 26
374
then:
375
properties:
376
adi,excitation-current-nanoamp:
377
enum: [250, 500, 1000, 5000, 10000, 25000, 50000, 100000,
378
250000, 500000, 1000000]
379
default: 1000
380
required:
381
- adi,custom-steinhart
382
- if:
383
properties:
384
adi,sensor-type:
385
const: 27
386
then:
387
properties:
388
adi,excitation-current-nanoamp:
389
enum: [250, 500, 1000, 5000, 10000, 25000, 50000, 100000,
390
250000, 500000, 1000000]
391
default: 1000
392
required:
393
- adi,custom-thermistor
394
395
"^adc@":
396
$ref: '#/$defs/sensor-node'
397
unevaluatedProperties: false
398
description: Direct ADC sensor.
399
400
properties:
401
adi,sensor-type:
402
description: Sensor type for direct ADC sensors.
403
$ref: /schemas/types.yaml#/definitions/uint32
404
const: 30
405
406
adi,single-ended:
407
description: Whether the sensor is single-ended.
408
type: boolean
409
410
"^temp@":
411
$ref: '#/$defs/sensor-node'
412
unevaluatedProperties: false
413
description: Active analog temperature sensor.
414
415
properties:
416
adi,sensor-type:
417
description: Sensor type for active analog temperature sensors.
418
$ref: /schemas/types.yaml#/definitions/uint32
419
const: 31
420
421
adi,single-ended:
422
description: Whether the sensor is single-ended.
423
type: boolean
424
425
adi,custom-temp:
426
description:
427
Used for digitizing active analog temperature sensors.
428
See Page 67 of the LTM2985 datasheet.
429
$ref: /schemas/types.yaml#/definitions/uint64-matrix
430
minItems: 3
431
maxItems: 64
432
items:
433
items:
434
- description: Voltage point in nV, signed.
435
- description: Temperature point in uK.
436
437
required:
438
- adi,custom-temp
439
440
"^rsense@":
441
$ref: '#/$defs/sensor-node'
442
unevaluatedProperties: false
443
description: Sense resistor sensor.
444
445
properties:
446
reg:
447
minimum: 2
448
maximum: 20
449
450
adi,sensor-type:
451
description: Sensor type sense resistor sensors.
452
$ref: /schemas/types.yaml#/definitions/uint32
453
const: 29
454
455
adi,rsense-val-milli-ohms:
456
description: Value of the sense resistor.
457
458
required:
459
- adi,rsense-val-milli-ohms
460
461
required:
462
- compatible
463
- reg
464
- interrupts
465
- vdd-supply
466
467
additionalProperties: false
468
469
allOf:
470
- if:
471
properties:
472
compatible:
473
contains:
474
enum:
475
- adi,ltc2983
476
- adi,ltc2984
477
then:
478
patternProperties:
479
"^temp@": false
480
481
examples:
482
- |
483
#include <dt-bindings/interrupt-controller/irq.h>
484
spi {
485
#address-cells = <1>;
486
#size-cells = <0>;
487
488
temperature-sensor@0 {
489
compatible = "adi,ltc2983";
490
reg = <0>;
491
492
#address-cells = <1>;
493
#size-cells = <0>;
494
495
vdd-supply = <&supply>;
496
interrupts = <20 IRQ_TYPE_EDGE_RISING>;
497
interrupt-parent = <&gpio>;
498
499
thermocouple@18 {
500
reg = <18>;
501
adi,sensor-type = <8>; //Type B
502
adi,sensor-oc-current-microamp = <10>;
503
adi,cold-junction-handle = <&diode5>;
504
};
505
506
diode5: diode@5 {
507
reg = <5>;
508
adi,sensor-type = <28>;
509
};
510
511
rsense2: rsense@2 {
512
reg = <2>;
513
adi,sensor-type = <29>;
514
adi,rsense-val-milli-ohms = <1200000>; //1.2Kohms
515
};
516
517
rtd@14 {
518
reg = <14>;
519
adi,sensor-type = <15>; //PT1000
520
/*2-wire, internal gnd, no current rotation*/
521
adi,number-of-wires = <2>;
522
adi,rsense-share;
523
adi,excitation-current-microamp = <500>;
524
adi,rsense-handle = <&rsense2>;
525
};
526
527
adc@10 {
528
reg = <10>;
529
adi,sensor-type = <30>;
530
adi,single-ended;
531
};
532
533
thermistor@12 {
534
reg = <12>;
535
adi,sensor-type = <26>; //Steinhart
536
adi,rsense-handle = <&rsense2>;
537
adi,custom-steinhart = <0x00f371ec 0x12345678
538
0x2c0f8733 0x10018c66 0xa0feaccd
539
0x90021d99>; //6 entries
540
};
541
542
thermocouple@20 {
543
reg = <20>;
544
adi,sensor-type = <9>; //custom thermocouple
545
adi,single-ended;
546
adi,custom-thermocouple =
547
/bits/ 64 <(-50220000) 0>,
548
/bits/ 64 <(-30200000) 99100000>,
549
/bits/ 64 <(-5300000) 135400000>,
550
/bits/ 64 <0 273150000>,
551
/bits/ 64 <40200000 361200000>,
552
/bits/ 64 <55300000 522100000>,
553
/bits/ 64 <88300000 720300000>,
554
/bits/ 64 <132200000 811200000>,
555
/bits/ 64 <188700000 922500000>,
556
/bits/ 64 <460400000 1000000000>; //10 pairs
557
};
558
};
559
};
560
...
561
562