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