# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/afe/temperature-transducer.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Temperature Transducer

maintainers:
  - Liam Beguin <liambeguin@gmail.com>

description: |
  A temperature transducer is a device that converts a thermal quantity
  into any other physical quantity. This binding applies to temperature to
  voltage (like the LTC2997), and temperature to current (like the AD590)
  linear transducers.
  In both cases these are assumed to be connected to a voltage ADC.

  When an io-channel measures the output voltage of a temperature analog front
  end such as a temperature transducer, the interesting measurement is almost
  always the corresponding temperature, not the voltage output. This binding
  describes such a circuit.

  The general transfer function here is (using SI units)
    V(T) = Rsense * Isense(T)
    T = (Isense(T) / alpha) + offset
    T = 1 / (Rsense * alpha) * (V + offset * Rsense * alpha)

  When using a temperature to voltage transducer, Rsense is set to 1.

  The following circuits show a temperature to current and a temperature to
  voltage transducer that can be used with this binding.

           VCC
          -----
            |
        +---+---+
        | AD590 |                               VCC
        +---+---+                              -----
            |                                    |
            V proportional to T             +----+----+
            |                          D+ --+         |
            +---- Vout                      | LTC2997 +--- Vout
            |                          D- --+         |
        +---+----+                          +---------+
        | Rsense |                               |
        +---+----+                             -----
            |                                   GND
          -----
           GND

properties:
  compatible:
    const: temperature-transducer

  io-channels:
    maxItems: 1
    description: |
      Channel node of a voltage io-channel.

  '#io-channel-cells':
    const: 0

  sense-offset-millicelsius:
    description: |
      Temperature offset.
      This offset is commonly used to convert from Kelvins to degrees Celsius.
      In that case, sense-offset-millicelsius would be set to <(-273150)>.
    default: 0

  sense-resistor-ohms:
    description: |
      The sense resistor.
      By default sense-resistor-ohms cancels out the resistor making the
      circuit behave like a temperature transducer.
    default: 1

  alpha-ppm-per-celsius:
    description: |
      Sometimes referred to as output gain, slope, or temperature coefficient.

      alpha is expressed in parts per million which can be micro-amps per
      degrees Celsius or micro-volts per degrees Celsius. The is the main
      characteristic of a temperature transducer and should be stated in the
      datasheet.

additionalProperties: false

required:
  - compatible
  - io-channels
  - alpha-ppm-per-celsius

examples:
  - |
    ad950: temperature-sensor-0 {
        compatible = "temperature-transducer";
        #io-channel-cells = <0>;
        io-channels = <&temp_adc 3>;

        sense-offset-millicelsius = <(-273150)>; /* Kelvin to degrees Celsius */
        sense-resistor-ohms = <8060>;
        alpha-ppm-per-celsius = <1>; /* 1 uA/K */
    };
  - |
    znq_tmp: temperature-sensor-1 {
        compatible = "temperature-transducer";
        #io-channel-cells = <0>;
        io-channels = <&temp_adc 2>;

        sense-offset-millicelsius = <(-273150)>; /* Kelvin to degrees Celsius */
        alpha-ppm-per-celsius = <4000>; /* 4 mV/K */
    };
...
