~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php