162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/iio/temperature/adi,ltc2983.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Analog Devices LTC2983, LTC2986, LTM2985 Multi-sensor Temperature system
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Nuno Sá <nuno.sa@analog.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  Analog Devices LTC2983, LTC2984, LTC2986, LTM2985 Multi-Sensor Digital
1462306a36Sopenharmony_ci  Temperature Measurement Systems
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci  https://www.analog.com/media/en/technical-documentation/data-sheets/2983fc.pdf
1762306a36Sopenharmony_ci  https://www.analog.com/media/en/technical-documentation/data-sheets/2984fb.pdf
1862306a36Sopenharmony_ci  https://www.analog.com/media/en/technical-documentation/data-sheets/29861fa.pdf
1962306a36Sopenharmony_ci  https://www.analog.com/media/en/technical-documentation/data-sheets/ltm2985.pdf
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci$defs:
2262306a36Sopenharmony_ci  sensor-node:
2362306a36Sopenharmony_ci    type: object
2462306a36Sopenharmony_ci    description: Sensor node common constraints
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci    properties:
2762306a36Sopenharmony_ci      reg:
2862306a36Sopenharmony_ci        description:
2962306a36Sopenharmony_ci          Channel number. Connects the sensor to the channel with this number
3062306a36Sopenharmony_ci          of the device.
3162306a36Sopenharmony_ci        minimum: 1
3262306a36Sopenharmony_ci        maximum: 20
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci      adi,sensor-type:
3562306a36Sopenharmony_ci        description: Type of sensor connected to the device.
3662306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci    required:
3962306a36Sopenharmony_ci      - reg
4062306a36Sopenharmony_ci      - adi,sensor-type
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciproperties:
4462306a36Sopenharmony_ci  compatible:
4562306a36Sopenharmony_ci    oneOf:
4662306a36Sopenharmony_ci      - enum:
4762306a36Sopenharmony_ci          - adi,ltc2983
4862306a36Sopenharmony_ci          - adi,ltc2986
4962306a36Sopenharmony_ci          - adi,ltm2985
5062306a36Sopenharmony_ci      - items:
5162306a36Sopenharmony_ci          - const: adi,ltc2984
5262306a36Sopenharmony_ci          - const: adi,ltc2983
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci  reg:
5562306a36Sopenharmony_ci    maxItems: 1
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci  interrupts:
5862306a36Sopenharmony_ci    maxItems: 1
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci  adi,mux-delay-config-us:
6162306a36Sopenharmony_ci    description: |
6262306a36Sopenharmony_ci      Extra delay prior to each conversion, in addition to the internal 1ms
6362306a36Sopenharmony_ci      delay, for the multiplexer to switch input configurations and
6462306a36Sopenharmony_ci      excitation values.
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci      This property is supposed to be in microseconds, but to maintain
6762306a36Sopenharmony_ci      compatibility, this value will be multiplied by 100 before usage.
6862306a36Sopenharmony_ci    maximum: 255
6962306a36Sopenharmony_ci    default: 0
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci  adi,filter-notch-freq:
7262306a36Sopenharmony_ci    description:
7362306a36Sopenharmony_ci      Notch frequency of the digital filter.
7462306a36Sopenharmony_ci      0 - 50/60Hz rejection
7562306a36Sopenharmony_ci      1 - 60Hz rejection
7662306a36Sopenharmony_ci      2 - 50Hz rejection
7762306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
7862306a36Sopenharmony_ci    minimum: 0
7962306a36Sopenharmony_ci    maximum: 2
8062306a36Sopenharmony_ci    default: 0
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci  '#address-cells':
8362306a36Sopenharmony_ci    const: 1
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci  '#size-cells':
8662306a36Sopenharmony_ci    const: 0
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_cipatternProperties:
8962306a36Sopenharmony_ci  "^thermocouple@":
9062306a36Sopenharmony_ci    $ref: '#/$defs/sensor-node'
9162306a36Sopenharmony_ci    unevaluatedProperties: false
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci    description: Thermocouple sensor.
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci    properties:
9662306a36Sopenharmony_ci      adi,sensor-type:
9762306a36Sopenharmony_ci        description: |
9862306a36Sopenharmony_ci          1 - Type J Thermocouple
9962306a36Sopenharmony_ci          2 - Type K Thermocouple
10062306a36Sopenharmony_ci          3 - Type E Thermocouple
10162306a36Sopenharmony_ci          4 - Type N Thermocouple
10262306a36Sopenharmony_ci          5 - Type R Thermocouple
10362306a36Sopenharmony_ci          6 - Type S Thermocouple
10462306a36Sopenharmony_ci          7 - Type T Thermocouple
10562306a36Sopenharmony_ci          8 - Type B Thermocouple
10662306a36Sopenharmony_ci          9 - Custom Thermocouple
10762306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
10862306a36Sopenharmony_ci        minimum: 1
10962306a36Sopenharmony_ci        maximum: 9
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci      adi,single-ended:
11262306a36Sopenharmony_ci        description: Whether the sensor is single-ended.
11362306a36Sopenharmony_ci        type: boolean
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci      adi,sensor-oc-current-microamp:
11662306a36Sopenharmony_ci        description: Pulsed current value applied during open-circuit detect.
11762306a36Sopenharmony_ci        enum: [10, 100, 500, 1000]
11862306a36Sopenharmony_ci        default: 10
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ci      adi,cold-junction-handle:
12162306a36Sopenharmony_ci        description:
12262306a36Sopenharmony_ci          Sensor responsible for measuring the thermocouple cold junction
12362306a36Sopenharmony_ci          temperature.
12462306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/phandle
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ci      adi,custom-thermocouple:
12762306a36Sopenharmony_ci        description:
12862306a36Sopenharmony_ci          Used for digitizing custom thermocouples.
12962306a36Sopenharmony_ci          See Page 59 of the datasheet.
13062306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/int64-matrix
13162306a36Sopenharmony_ci        minItems: 3
13262306a36Sopenharmony_ci        maxItems: 64
13362306a36Sopenharmony_ci        items:
13462306a36Sopenharmony_ci          items:
13562306a36Sopenharmony_ci            - description: Voltage point in nV, signed.
13662306a36Sopenharmony_ci            - description: Temperature point in uK.
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ci    allOf:
13962306a36Sopenharmony_ci      - if:
14062306a36Sopenharmony_ci          properties:
14162306a36Sopenharmony_ci            adi,sensor-type:
14262306a36Sopenharmony_ci              const: 9
14362306a36Sopenharmony_ci        then:
14462306a36Sopenharmony_ci          required:
14562306a36Sopenharmony_ci            - adi,custom-thermocouple
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci  "^diode@":
14862306a36Sopenharmony_ci    $ref: '#/$defs/sensor-node'
14962306a36Sopenharmony_ci    unevaluatedProperties: false
15062306a36Sopenharmony_ci
15162306a36Sopenharmony_ci    description: Diode sensor.
15262306a36Sopenharmony_ci
15362306a36Sopenharmony_ci    properties:
15462306a36Sopenharmony_ci      adi,sensor-type:
15562306a36Sopenharmony_ci        description: Sensor type for diodes.
15662306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
15762306a36Sopenharmony_ci        const: 28
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ci      adi,single-ended:
16062306a36Sopenharmony_ci        description: Whether the sensor is single-ended.
16162306a36Sopenharmony_ci        type: boolean
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ci      adi,three-conversion-cycles:
16462306a36Sopenharmony_ci        description:
16562306a36Sopenharmony_ci          Whether to use three conversion cycles to remove parasitic
16662306a36Sopenharmony_ci          resistance between the device and the diode.
16762306a36Sopenharmony_ci        type: boolean
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci      adi,average-on:
17062306a36Sopenharmony_ci        description:
17162306a36Sopenharmony_ci          Whether to use a running average of the diode temperature
17262306a36Sopenharmony_ci          reading to reduce the noise when the diode is used as a cold
17362306a36Sopenharmony_ci          junction temperature element on an isothermal block where
17462306a36Sopenharmony_ci          temperatures change slowly.
17562306a36Sopenharmony_ci        type: boolean
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_ci      adi,excitation-current-microamp:
17862306a36Sopenharmony_ci        description:
17962306a36Sopenharmony_ci          Magnitude of the 1l excitation current applied to the diode.
18062306a36Sopenharmony_ci          4l excitation current will be 4 times this value, and 8l
18162306a36Sopenharmony_ci          excitation current will be 8 times value.
18262306a36Sopenharmony_ci        enum: [10, 20, 40, 80]
18362306a36Sopenharmony_ci        default: 10
18462306a36Sopenharmony_ci
18562306a36Sopenharmony_ci      adi,ideal-factor-value:
18662306a36Sopenharmony_ci        description:
18762306a36Sopenharmony_ci          Diode ideality factor.
18862306a36Sopenharmony_ci          Set this property to 1000000 times the real value.
18962306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
19062306a36Sopenharmony_ci        default: 0
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_ci  "^rtd@":
19362306a36Sopenharmony_ci    $ref: '#/$defs/sensor-node'
19462306a36Sopenharmony_ci    unevaluatedProperties: false
19562306a36Sopenharmony_ci    description: RTD sensor.
19662306a36Sopenharmony_ci
19762306a36Sopenharmony_ci    properties:
19862306a36Sopenharmony_ci      reg:
19962306a36Sopenharmony_ci        minimum: 2
20062306a36Sopenharmony_ci        maximum: 20
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ci      adi,sensor-type:
20362306a36Sopenharmony_ci        description: |
20462306a36Sopenharmony_ci          10 - RTD PT-10
20562306a36Sopenharmony_ci          11 - RTD PT-50
20662306a36Sopenharmony_ci          12 - RTD PT-100
20762306a36Sopenharmony_ci          13 - RTD PT-200
20862306a36Sopenharmony_ci          14 - RTD PT-500
20962306a36Sopenharmony_ci          15 - RTD PT-1000
21062306a36Sopenharmony_ci          16 - RTD PT-1000 (0.00375)
21162306a36Sopenharmony_ci          17 - RTD NI-120
21262306a36Sopenharmony_ci          18 - RTD Custom
21362306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
21462306a36Sopenharmony_ci        minimum: 10
21562306a36Sopenharmony_ci        maximum: 18
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ci      adi,rsense-handle:
21862306a36Sopenharmony_ci        description: Associated sense resistor sensor.
21962306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/phandle
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ci      adi,number-of-wires:
22262306a36Sopenharmony_ci        description:
22362306a36Sopenharmony_ci          Number of wires used by the RTD.
22462306a36Sopenharmony_ci          5 means 4 wires with Kelvin sense resistor.
22562306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
22662306a36Sopenharmony_ci        enum: [2, 3, 4, 5]
22762306a36Sopenharmony_ci        default: 2
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ci      adi,rsense-share:
23062306a36Sopenharmony_ci        description:
23162306a36Sopenharmony_ci          Whether to enable sense resistor sharing, where one sense
23262306a36Sopenharmony_ci          resistor is used by multiple sensors.
23362306a36Sopenharmony_ci        type: boolean
23462306a36Sopenharmony_ci
23562306a36Sopenharmony_ci      adi,excitation-current-microamp:
23662306a36Sopenharmony_ci        description: Excitation current applied to the RTD.
23762306a36Sopenharmony_ci        enum: [5, 10, 25, 50, 100, 250, 500, 1000]
23862306a36Sopenharmony_ci        default: 5
23962306a36Sopenharmony_ci
24062306a36Sopenharmony_ci      adi,rtd-curve:
24162306a36Sopenharmony_ci        description: |
24262306a36Sopenharmony_ci          RTD curve and the corresponding Callendar-VanDusen constants.
24362306a36Sopenharmony_ci          0 - European
24462306a36Sopenharmony_ci          1 - American
24562306a36Sopenharmony_ci          2 - Japanese
24662306a36Sopenharmony_ci          3 - ITS-90
24762306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
24862306a36Sopenharmony_ci        minimum: 0
24962306a36Sopenharmony_ci        maximum: 3
25062306a36Sopenharmony_ci        default: 0
25162306a36Sopenharmony_ci
25262306a36Sopenharmony_ci      adi,custom-rtd:
25362306a36Sopenharmony_ci        description:
25462306a36Sopenharmony_ci          Used for digitizing custom RTDs.
25562306a36Sopenharmony_ci          See Page 62 of the datasheet.
25662306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint64-matrix
25762306a36Sopenharmony_ci        minItems: 3
25862306a36Sopenharmony_ci        maxItems: 64
25962306a36Sopenharmony_ci        items:
26062306a36Sopenharmony_ci          items:
26162306a36Sopenharmony_ci            - description: Resistance point in uOhms.
26262306a36Sopenharmony_ci            - description: Temperature point in uK.
26362306a36Sopenharmony_ci
26462306a36Sopenharmony_ci    required:
26562306a36Sopenharmony_ci      - adi,rsense-handle
26662306a36Sopenharmony_ci
26762306a36Sopenharmony_ci    allOf:
26862306a36Sopenharmony_ci      - if:
26962306a36Sopenharmony_ci          properties:
27062306a36Sopenharmony_ci            adi,number-of-wires:
27162306a36Sopenharmony_ci              const: 4
27262306a36Sopenharmony_ci        then:
27362306a36Sopenharmony_ci          properties:
27462306a36Sopenharmony_ci            adi,current-rotate:
27562306a36Sopenharmony_ci              description:
27662306a36Sopenharmony_ci                Whether to enable excitation current rotation to automatically
27762306a36Sopenharmony_ci                remove parasitic thermocouple effects.
27862306a36Sopenharmony_ci              type: boolean
27962306a36Sopenharmony_ci
28062306a36Sopenharmony_ci          dependencies:
28162306a36Sopenharmony_ci            adi,current-rotate: [ "adi,rsense-share" ]
28262306a36Sopenharmony_ci
28362306a36Sopenharmony_ci      - if:
28462306a36Sopenharmony_ci          properties:
28562306a36Sopenharmony_ci            adi,sensor-type:
28662306a36Sopenharmony_ci              const: 18
28762306a36Sopenharmony_ci        then:
28862306a36Sopenharmony_ci          required:
28962306a36Sopenharmony_ci            - adi,custom-rtd
29062306a36Sopenharmony_ci
29162306a36Sopenharmony_ci  "^thermistor@":
29262306a36Sopenharmony_ci    $ref: '#/$defs/sensor-node'
29362306a36Sopenharmony_ci    unevaluatedProperties: false
29462306a36Sopenharmony_ci    description: Thermistor sensor.
29562306a36Sopenharmony_ci
29662306a36Sopenharmony_ci    properties:
29762306a36Sopenharmony_ci      adi,sensor-type:
29862306a36Sopenharmony_ci        description:
29962306a36Sopenharmony_ci          19 - Thermistor 44004/44033 2.252kohm at 25°C
30062306a36Sopenharmony_ci          20 - Thermistor 44005/44030 3kohm at 25°C
30162306a36Sopenharmony_ci          21 - Thermistor 44007/44034 5kohm at 25°C
30262306a36Sopenharmony_ci          22 - Thermistor 44006/44031 10kohm at 25°C
30362306a36Sopenharmony_ci          23 - Thermistor 44008/44032 30kohm at 25°C
30462306a36Sopenharmony_ci          24 - Thermistor YSI 400 2.252kohm at 25°C
30562306a36Sopenharmony_ci          25 - Thermistor Spectrum 1003k 1kohm
30662306a36Sopenharmony_ci          26 - Thermistor Custom Steinhart-Hart
30762306a36Sopenharmony_ci          27 - Custom Thermistor
30862306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
30962306a36Sopenharmony_ci        minimum: 19
31062306a36Sopenharmony_ci        maximum: 27
31162306a36Sopenharmony_ci
31262306a36Sopenharmony_ci      adi,rsense-handle:
31362306a36Sopenharmony_ci        description: Associated sense resistor sensor.
31462306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/phandle
31562306a36Sopenharmony_ci
31662306a36Sopenharmony_ci      adi,single-ended:
31762306a36Sopenharmony_ci        description: Whether the sensor is single-ended.
31862306a36Sopenharmony_ci        type: boolean
31962306a36Sopenharmony_ci
32062306a36Sopenharmony_ci      adi,rsense-share:
32162306a36Sopenharmony_ci        description:
32262306a36Sopenharmony_ci          Whether to enable sense resistor sharing, where one sense
32362306a36Sopenharmony_ci          resistor is used by multiple sensors.
32462306a36Sopenharmony_ci        type: boolean
32562306a36Sopenharmony_ci
32662306a36Sopenharmony_ci      adi,current-rotate:
32762306a36Sopenharmony_ci        description:
32862306a36Sopenharmony_ci          Whether to enable excitation current rotation to automatically
32962306a36Sopenharmony_ci          remove parasitic thermocouple effects.
33062306a36Sopenharmony_ci        type: boolean
33162306a36Sopenharmony_ci
33262306a36Sopenharmony_ci      adi,excitation-current-nanoamp:
33362306a36Sopenharmony_ci        description:
33462306a36Sopenharmony_ci          Excitation current applied to the thermistor.
33562306a36Sopenharmony_ci          0 sets the sensor in auto-range mode.
33662306a36Sopenharmony_ci        enum: [0, 250, 500, 1000, 5000, 10000, 25000, 50000, 100000, 250000,
33762306a36Sopenharmony_ci               500000, 1000000]
33862306a36Sopenharmony_ci        default: 0
33962306a36Sopenharmony_ci
34062306a36Sopenharmony_ci      adi,custom-thermistor:
34162306a36Sopenharmony_ci        description:
34262306a36Sopenharmony_ci          Used for digitizing custom thermistors.
34362306a36Sopenharmony_ci          See Page 65 of the datasheet.
34462306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint64-matrix
34562306a36Sopenharmony_ci        minItems: 3
34662306a36Sopenharmony_ci        maxItems: 64
34762306a36Sopenharmony_ci        items:
34862306a36Sopenharmony_ci          items:
34962306a36Sopenharmony_ci            - description: Resistance point in uOhms.
35062306a36Sopenharmony_ci            - description: Temperature point in uK.
35162306a36Sopenharmony_ci
35262306a36Sopenharmony_ci      adi,custom-steinhart:
35362306a36Sopenharmony_ci        description:
35462306a36Sopenharmony_ci          Steinhart-Hart coefficients in raw format, used for digitizing
35562306a36Sopenharmony_ci          custom thermistors.
35662306a36Sopenharmony_ci          See Page 68 of the datasheet.
35762306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32-array
35862306a36Sopenharmony_ci        minItems: 6
35962306a36Sopenharmony_ci        maxItems: 6
36062306a36Sopenharmony_ci
36162306a36Sopenharmony_ci    required:
36262306a36Sopenharmony_ci      - adi,rsense-handle
36362306a36Sopenharmony_ci
36462306a36Sopenharmony_ci    dependencies:
36562306a36Sopenharmony_ci      adi,current-rotate: [ "adi,rsense-share" ]
36662306a36Sopenharmony_ci
36762306a36Sopenharmony_ci    allOf:
36862306a36Sopenharmony_ci      - if:
36962306a36Sopenharmony_ci          properties:
37062306a36Sopenharmony_ci            adi,sensor-type:
37162306a36Sopenharmony_ci              const: 26
37262306a36Sopenharmony_ci        then:
37362306a36Sopenharmony_ci          properties:
37462306a36Sopenharmony_ci            adi,excitation-current-nanoamp:
37562306a36Sopenharmony_ci              enum: [250, 500, 1000, 5000, 10000, 25000, 50000, 100000,
37662306a36Sopenharmony_ci                     250000, 500000, 1000000]
37762306a36Sopenharmony_ci              default: 1000
37862306a36Sopenharmony_ci          required:
37962306a36Sopenharmony_ci            - adi,custom-steinhart
38062306a36Sopenharmony_ci      - if:
38162306a36Sopenharmony_ci          properties:
38262306a36Sopenharmony_ci            adi,sensor-type:
38362306a36Sopenharmony_ci              const: 27
38462306a36Sopenharmony_ci        then:
38562306a36Sopenharmony_ci          properties:
38662306a36Sopenharmony_ci            adi,excitation-current-nanoamp:
38762306a36Sopenharmony_ci              enum: [250, 500, 1000, 5000, 10000, 25000, 50000, 100000,
38862306a36Sopenharmony_ci                     250000, 500000, 1000000]
38962306a36Sopenharmony_ci              default: 1000
39062306a36Sopenharmony_ci          required:
39162306a36Sopenharmony_ci            - adi,custom-thermistor
39262306a36Sopenharmony_ci
39362306a36Sopenharmony_ci  "^adc@":
39462306a36Sopenharmony_ci    $ref: '#/$defs/sensor-node'
39562306a36Sopenharmony_ci    unevaluatedProperties: false
39662306a36Sopenharmony_ci    description: Direct ADC sensor.
39762306a36Sopenharmony_ci
39862306a36Sopenharmony_ci    properties:
39962306a36Sopenharmony_ci      adi,sensor-type:
40062306a36Sopenharmony_ci        description: Sensor type for direct ADC sensors.
40162306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
40262306a36Sopenharmony_ci        const: 30
40362306a36Sopenharmony_ci
40462306a36Sopenharmony_ci      adi,single-ended:
40562306a36Sopenharmony_ci        description: Whether the sensor is single-ended.
40662306a36Sopenharmony_ci        type: boolean
40762306a36Sopenharmony_ci
40862306a36Sopenharmony_ci  "^temp@":
40962306a36Sopenharmony_ci    $ref: '#/$defs/sensor-node'
41062306a36Sopenharmony_ci    unevaluatedProperties: false
41162306a36Sopenharmony_ci    description: Active analog temperature sensor.
41262306a36Sopenharmony_ci
41362306a36Sopenharmony_ci    properties:
41462306a36Sopenharmony_ci      adi,sensor-type:
41562306a36Sopenharmony_ci        description: Sensor type for active analog temperature sensors.
41662306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
41762306a36Sopenharmony_ci        const: 31
41862306a36Sopenharmony_ci
41962306a36Sopenharmony_ci      adi,single-ended:
42062306a36Sopenharmony_ci        description: Whether the sensor is single-ended.
42162306a36Sopenharmony_ci        type: boolean
42262306a36Sopenharmony_ci
42362306a36Sopenharmony_ci      adi,custom-temp:
42462306a36Sopenharmony_ci        description:
42562306a36Sopenharmony_ci          Used for digitizing active analog temperature sensors.
42662306a36Sopenharmony_ci          See Page 67 of the LTM2985 datasheet.
42762306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint64-matrix
42862306a36Sopenharmony_ci        minItems: 3
42962306a36Sopenharmony_ci        maxItems: 64
43062306a36Sopenharmony_ci        items:
43162306a36Sopenharmony_ci          items:
43262306a36Sopenharmony_ci            - description: Voltage point in nV, signed.
43362306a36Sopenharmony_ci            - description: Temperature point in uK.
43462306a36Sopenharmony_ci
43562306a36Sopenharmony_ci    required:
43662306a36Sopenharmony_ci      - adi,custom-temp
43762306a36Sopenharmony_ci
43862306a36Sopenharmony_ci  "^rsense@":
43962306a36Sopenharmony_ci    $ref: '#/$defs/sensor-node'
44062306a36Sopenharmony_ci    unevaluatedProperties: false
44162306a36Sopenharmony_ci    description: Sense resistor sensor.
44262306a36Sopenharmony_ci
44362306a36Sopenharmony_ci    properties:
44462306a36Sopenharmony_ci      reg:
44562306a36Sopenharmony_ci        minimum: 2
44662306a36Sopenharmony_ci        maximum: 20
44762306a36Sopenharmony_ci
44862306a36Sopenharmony_ci      adi,sensor-type:
44962306a36Sopenharmony_ci        description: Sensor type sense resistor sensors.
45062306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
45162306a36Sopenharmony_ci        const: 29
45262306a36Sopenharmony_ci
45362306a36Sopenharmony_ci      adi,rsense-val-milli-ohms:
45462306a36Sopenharmony_ci        description: Value of the sense resistor.
45562306a36Sopenharmony_ci
45662306a36Sopenharmony_ci    required:
45762306a36Sopenharmony_ci      - adi,rsense-val-milli-ohms
45862306a36Sopenharmony_ci
45962306a36Sopenharmony_cirequired:
46062306a36Sopenharmony_ci  - compatible
46162306a36Sopenharmony_ci  - reg
46262306a36Sopenharmony_ci  - interrupts
46362306a36Sopenharmony_ci
46462306a36Sopenharmony_ciadditionalProperties: false
46562306a36Sopenharmony_ci
46662306a36Sopenharmony_ciallOf:
46762306a36Sopenharmony_ci  - if:
46862306a36Sopenharmony_ci      properties:
46962306a36Sopenharmony_ci        compatible:
47062306a36Sopenharmony_ci          contains:
47162306a36Sopenharmony_ci            enum:
47262306a36Sopenharmony_ci              - adi,ltc2983
47362306a36Sopenharmony_ci              - adi,ltc2984
47462306a36Sopenharmony_ci    then:
47562306a36Sopenharmony_ci      patternProperties:
47662306a36Sopenharmony_ci        "^temp@": false
47762306a36Sopenharmony_ci
47862306a36Sopenharmony_ciexamples:
47962306a36Sopenharmony_ci  - |
48062306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
48162306a36Sopenharmony_ci    spi {
48262306a36Sopenharmony_ci        #address-cells = <1>;
48362306a36Sopenharmony_ci        #size-cells = <0>;
48462306a36Sopenharmony_ci
48562306a36Sopenharmony_ci        temperature-sensor@0 {
48662306a36Sopenharmony_ci            compatible = "adi,ltc2983";
48762306a36Sopenharmony_ci            reg = <0>;
48862306a36Sopenharmony_ci
48962306a36Sopenharmony_ci            #address-cells = <1>;
49062306a36Sopenharmony_ci            #size-cells = <0>;
49162306a36Sopenharmony_ci
49262306a36Sopenharmony_ci            interrupts = <20 IRQ_TYPE_EDGE_RISING>;
49362306a36Sopenharmony_ci            interrupt-parent = <&gpio>;
49462306a36Sopenharmony_ci
49562306a36Sopenharmony_ci            thermocouple@18 {
49662306a36Sopenharmony_ci                reg = <18>;
49762306a36Sopenharmony_ci                adi,sensor-type = <8>; //Type B
49862306a36Sopenharmony_ci                adi,sensor-oc-current-microamp = <10>;
49962306a36Sopenharmony_ci                adi,cold-junction-handle = <&diode5>;
50062306a36Sopenharmony_ci            };
50162306a36Sopenharmony_ci
50262306a36Sopenharmony_ci            diode5: diode@5 {
50362306a36Sopenharmony_ci                reg = <5>;
50462306a36Sopenharmony_ci                adi,sensor-type = <28>;
50562306a36Sopenharmony_ci            };
50662306a36Sopenharmony_ci
50762306a36Sopenharmony_ci            rsense2: rsense@2 {
50862306a36Sopenharmony_ci                reg = <2>;
50962306a36Sopenharmony_ci                adi,sensor-type = <29>;
51062306a36Sopenharmony_ci                adi,rsense-val-milli-ohms = <1200000>; //1.2Kohms
51162306a36Sopenharmony_ci            };
51262306a36Sopenharmony_ci
51362306a36Sopenharmony_ci            rtd@14 {
51462306a36Sopenharmony_ci                reg = <14>;
51562306a36Sopenharmony_ci                adi,sensor-type = <15>; //PT1000
51662306a36Sopenharmony_ci                /*2-wire, internal gnd, no current rotation*/
51762306a36Sopenharmony_ci                adi,number-of-wires = <2>;
51862306a36Sopenharmony_ci                adi,rsense-share;
51962306a36Sopenharmony_ci                adi,excitation-current-microamp = <500>;
52062306a36Sopenharmony_ci                adi,rsense-handle = <&rsense2>;
52162306a36Sopenharmony_ci            };
52262306a36Sopenharmony_ci
52362306a36Sopenharmony_ci            adc@10 {
52462306a36Sopenharmony_ci                reg = <10>;
52562306a36Sopenharmony_ci                adi,sensor-type = <30>;
52662306a36Sopenharmony_ci                adi,single-ended;
52762306a36Sopenharmony_ci            };
52862306a36Sopenharmony_ci
52962306a36Sopenharmony_ci            thermistor@12 {
53062306a36Sopenharmony_ci                reg = <12>;
53162306a36Sopenharmony_ci                adi,sensor-type = <26>; //Steinhart
53262306a36Sopenharmony_ci                adi,rsense-handle = <&rsense2>;
53362306a36Sopenharmony_ci                adi,custom-steinhart = <0x00f371ec 0x12345678
53462306a36Sopenharmony_ci                                0x2c0f8733 0x10018c66 0xa0feaccd
53562306a36Sopenharmony_ci                                0x90021d99>; //6 entries
53662306a36Sopenharmony_ci            };
53762306a36Sopenharmony_ci
53862306a36Sopenharmony_ci            thermocouple@20 {
53962306a36Sopenharmony_ci                reg = <20>;
54062306a36Sopenharmony_ci                adi,sensor-type = <9>; //custom thermocouple
54162306a36Sopenharmony_ci                adi,single-ended;
54262306a36Sopenharmony_ci                adi,custom-thermocouple =
54362306a36Sopenharmony_ci                         /bits/ 64 <(-50220000) 0>,
54462306a36Sopenharmony_ci                         /bits/ 64 <(-30200000) 99100000>,
54562306a36Sopenharmony_ci                         /bits/ 64 <(-5300000) 135400000>,
54662306a36Sopenharmony_ci                         /bits/ 64 <0 273150000>,
54762306a36Sopenharmony_ci                         /bits/ 64 <40200000 361200000>,
54862306a36Sopenharmony_ci                         /bits/ 64 <55300000 522100000>,
54962306a36Sopenharmony_ci                         /bits/ 64 <88300000 720300000>,
55062306a36Sopenharmony_ci                         /bits/ 64 <132200000 811200000>,
55162306a36Sopenharmony_ci                         /bits/ 64 <188700000 922500000>,
55262306a36Sopenharmony_ci                         /bits/ 64 <460400000 1000000000>; //10 pairs
55362306a36Sopenharmony_ci            };
55462306a36Sopenharmony_ci        };
55562306a36Sopenharmony_ci    };
55662306a36Sopenharmony_ci...
557